🐐 GOAT Shell
Current path:
lib
/
node_modules
/
npm
/
lib
/
👤 Create WP Admin
⬆️
Go up: npm
✏️ Editing: build.js
// npm build command // everything about the installation after the creation of // the .npm/{name}/{version}/package folder. // linking the modules into the npm.root, // resolving dependencies, etc. // This runs AFTER install or link are completed. var npm = require('./npm.js') var log = require('npmlog') var chain = require('slide').chain var path = require('path') var fs = require('graceful-fs') var lifecycle = require('./utils/lifecycle.js') var readJson = require('read-package-json') var binLinks = require('bin-links') var binLinksConfig = require('./config/bin-links.js') var ini = require('ini') var writeFile = require('write-file-atomic') module.exports = build build.usage = 'npm build [<folder>]' build._didBuild = {} build._noLC = {} function build (args, global, didPre, didRB, cb) { if (typeof cb !== 'function') { cb = didRB didRB = false } if (typeof cb !== 'function') { cb = didPre didPre = false } if (typeof cb !== 'function') { cb = global global = npm.config.get('global') } if (!args.length) { readJson(path.resolve(npm.localPrefix, 'package.json'), function (er, pkg) { if (!args.length && pkg && pkg.scripts && pkg.scripts.build) { log.warn('build', '`npm build` called with no arguments. Did you mean to `npm run-script build`?') } cb() }) } else { // it'd be nice to asyncMap these, but actually, doing them // in parallel generally munges up the output from node-waf var builder = build_(global, didPre, didRB) chain(args.map(function (arg) { return function (cb) { builder(arg, cb) } }), cb) } } function build_ (global, didPre, didRB) { return function (folder, cb) { folder = path.resolve(folder) if (build._didBuild[folder]) log.info('build', 'already built', folder) build._didBuild[folder] = true log.info('build', folder) readJson(path.resolve(folder, 'package.json'), function (er, pkg) { if (er) return cb(er) chain([ !didPre && [lifecycle, pkg, 'preinstall', folder], [linkStuff, pkg, folder, global], !didRB && [rebuildBundles, pkg, folder], [writeBuiltinConf, pkg, folder], didPre !== build._noLC && [lifecycle, pkg, 'install', folder], didPre !== build._noLC && [lifecycle, pkg, 'postinstall', folder] ], cb) }) } } var writeBuiltinConf = build.writeBuiltinConf = function (pkg, folder, cb) { // the builtin config is "sticky". Any time npm installs // itself globally, it puts its builtin config file there var parent = path.dirname(folder) var dir = npm.globalDir // Make this count for canary, too if ((pkg.name !== 'npm' && pkg.name !== 'npmc') || !npm.config.get('global') || !npm.config.usingBuiltin || dir !== parent) { return cb() } var data = ini.stringify(npm.config.sources.builtin.data) writeFile(path.resolve(folder, 'npmrc'), data, cb) } var linkStuff = build.linkStuff = function (pkg, folder, global, cb) { // allow to opt out of linking binaries. if (npm.config.get('bin-links') === false) return cb() return binLinks(pkg, folder, global, binLinksConfig(pkg), cb) } function rebuildBundles (pkg, folder, cb) { if (!npm.config.get('rebuild-bundle')) return cb() var deps = Object.keys(pkg.dependencies || {}) .concat(Object.keys(pkg.devDependencies || {})) var bundles = pkg.bundleDependencies || pkg.bundledDependencies || [] fs.readdir(path.resolve(folder, 'node_modules'), function (er, files) { // error means no bundles if (er) return cb() log.verbose('rebuildBundles', files) // don't asyncMap these, because otherwise build script output // gets interleaved and is impossible to read chain(files.filter(function (file) { // rebuild if: // not a .folder, like .bin or .hooks return !file.match(/^[._-]/) && // not some old 0.x style bundle file.indexOf('@') === -1 && // either not a dep, or explicitly bundled (deps.indexOf(file) === -1 || bundles.indexOf(file) !== -1) }).map(function (file) { file = path.resolve(folder, 'node_modules', file) return function (cb) { if (build._didBuild[file]) return cb() log.verbose('rebuild bundle', file) // if file is not a package dir, then don't do it. fs.lstat(path.resolve(file, 'package.json'), function (er) { if (er) return cb() build_(false)(file, cb) }) } }), cb) }) }
Save
📁
auth
|
✏️ Rename
|
🗑️ Delete
📁
config
|
✏️ Rename
|
🗑️ Delete
📁
doctor
|
✏️ Rename
|
🗑️ Delete
📁
install
|
✏️ Rename
|
🗑️ Delete
📁
search
|
✏️ Rename
|
🗑️ Delete
📁
utils
|
✏️ Rename
|
🗑️ Delete
📄
access.js
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
adduser.js
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
audit.js
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
bin.js
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
bugs.js
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
build.js
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
cache.js
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
ci.js
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
completion.js
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
config.js
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
dedupe.js
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
deprecate.js
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
dist-tag.js
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
docs.js
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
doctor.js
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
edit.js
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
explore.js
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
fetch-package-metadata.js
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
fetch-package-metadata.md
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
fund.js
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
get.js
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
help-search.js
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
help.js
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
hook.js
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
init.js
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
install-ci-test.js
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
install-test.js
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
install.js
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
link.js
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
logout.js
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
ls.js
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
npm.js
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
org.js
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
outdated.js
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
owner.js
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
pack.js
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
ping.js
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
prefix.js
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
profile.js
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
prune.js
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
publish.js
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
rebuild.js
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
repo.js
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
restart.js
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
root.js
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
run-script.js
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
search.js
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
set.js
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
shrinkwrap.js
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
star.js
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
stars.js
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
start.js
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
stop.js
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
substack.js
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
team.js
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
test.js
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
token.js
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
unbuild.js
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
uninstall.js
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
unpublish.js
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
update.js
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
version.js
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
view.js
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
visnup.js
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
whoami.js
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
xmas.js
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📤 Upload File
Upload
📁 Create Folder
Create Folder