2011-11-22 01:48:45 +08:00
|
|
|
|
|
|
|
// initialize a package.json file
|
|
|
|
|
|
|
|
module.exports = init
|
|
|
|
|
2012-06-18 03:04:35 +08:00
|
|
|
var log = require("npmlog")
|
2011-11-22 01:48:45 +08:00
|
|
|
, npm = require("./npm.js")
|
2012-06-18 03:04:35 +08:00
|
|
|
, initJson = require("init-package-json")
|
2011-11-22 01:48:45 +08:00
|
|
|
|
2014-11-05 07:08:12 +08:00
|
|
|
init.usage = "npm init [--force/-f]"
|
2011-11-22 01:48:45 +08:00
|
|
|
|
|
|
|
function init (args, cb) {
|
2012-06-18 03:04:35 +08:00
|
|
|
var dir = process.cwd()
|
2012-06-11 12:29:47 +08:00
|
|
|
log.pause()
|
2014-06-06 06:18:15 +08:00
|
|
|
npm.spinner.stop()
|
2014-11-05 07:08:12 +08:00
|
|
|
var initFile = npm.config.get("init-module")
|
|
|
|
if (!initJson.yes(npm.config)) {
|
|
|
|
console.log(
|
|
|
|
["This utility will walk you through creating a package.json file."
|
|
|
|
,"It only covers the most common items, and tries to guess sane defaults."
|
|
|
|
,""
|
|
|
|
,"See `npm help json` for definitive documentation on these fields"
|
|
|
|
,"and exactly what they do."
|
|
|
|
,""
|
|
|
|
,"Use `npm install <pkg> --save` afterwards to install a package and"
|
|
|
|
,"save it as a dependency in the package.json file."
|
|
|
|
,""
|
|
|
|
,"Press ^C at any time to quit."
|
|
|
|
].join("\n"))
|
|
|
|
}
|
2013-05-15 05:37:59 +08:00
|
|
|
initJson(dir, initFile, npm.config, function (er, data) {
|
2012-06-18 03:04:35 +08:00
|
|
|
log.resume()
|
2014-11-05 07:08:12 +08:00
|
|
|
log.silly("package data", data)
|
|
|
|
if (er && er.message === "canceled") {
|
|
|
|
log.warn("init", "canceled")
|
2014-06-06 06:18:15 +08:00
|
|
|
return cb(null, data)
|
|
|
|
}
|
2015-01-09 06:37:26 +08:00
|
|
|
log.info("init", "written successfully")
|
2012-06-18 03:04:35 +08:00
|
|
|
cb(er, data)
|
2011-11-22 01:48:45 +08:00
|
|
|
})
|
|
|
|
}
|