npm init命令自定义模板

在windows当前用户的目录下创建 .npm-init.js文件

文件内容是:

const fs = require('fs');

const content = `{ 
  "extends": "semistandard"
}`
fs.writeFileSync('.eslintrc.json', content);
fs.mkdirSync('test');

module.exports = {
  name: prompt('name', basename || package.name),
  version: '0.0.1',
  description: prompt(s => s),
  main: prompt('entry point', 'index.js', ep => fs.writeFileSync(ep, '')),
  author: 'Red Hat, Inc.',
  license: 'Apache-2.0',
  scripts: {
    test: 'tape test/*.js | tap-spec',
    lint: 'eslint test/*.js index.js',
    prepublish: 'nsp check',
    coverage: 'istanbul cover tape test/*.js'
  },
  repository: {
    type: 'git',
    url: 'git://github.com/USER/' + basename + '.git'
  },
  files: [
    'package.json',
    'README.md',
    'LICENSE',
    'index.js'
  ],
  bugs: {url: 'https://github.com/USER/' + basename + '/issues'},
  homepage: 'https://github.com/USER/' + basename,
  keywords: prompt(s => s.split(/s+/)),
  devDependencies: {
    eslint: '*',
    'eslint-config-semistandard': '*',
    'eslint-config-standard': '*',
    'eslint-plugin-promise': '*',
    'eslint-plugin-react': '*',
    'eslint-plugin-standard': '*',
    istanbul: '*',
    nsp: '*',
    'tap-spec': '*',
    tape: '*'
  },
  cleanup: function (cb) {
    cb(null, undefined);
  }
};

  执行:

$ npm config set init-module ~/.npm-init.js

  这样既可。

这个文件必须是在当前windows用户的文件夹根目录下,测试了下载其他文件夹要每次执行这个命令才行。

参考:https://github.com/bucharest-gold/entente/issues/28

如果有出入,请留下评论。

原文地址:https://www.cnblogs.com/saving/p/9626319.html