Init egg app helper tools.
$ npm i egg-init -g
$ egg-init -h
$ egg-init --type simple [dest]
$ egg-init dest
? Please select a boilerplate type (Use arrow keys)
❯ simple - Simple egg app
plugin - egg plugin
Usage: egg-init [dir] --type=simple
Options:
--type boilerplate type [string]
--dir target directory [string]
--force, -f force to override directory [boolean]
--template local path to boilerplate [string]
--package boilerplate package name [string]
--registry, -r npm registry, support china/npm/custom, default to auto detect [string]
--silent don't ask, just use default value [boolean]
--version Show version number [boolean]
-h, --help Show help [boolean]
We use npm package to manager boilerplate, you can follow this steps:
-
Create a new repo like egg-boilerplate-plugin
-
Put all files under
boilerplate
dir -
Use
egg-init --template=PATH
to check -
index.js
can define variables which can be useed on template, like{{name}}
, but\{{name}}
will ignore.module.exports = { name: { desc: 'package-name', }, pluginName: { desc: 'plugin-name', default(vars) { return vars.name; }, filter(v) { return 'egg-' + v; }, }, description: { desc: 'my best plugin', }, author: { desc: 'author', default: 'eggjs team' }, };
-
Write unit test, see
npm scripts
at egg-boilerplate-simple -
Add your package name to egg-init-config's package.json
config.boilerplate
property -
Publish your package to npm