Builder Support Tools
Support tools for authoring builder archetypes.
Installation
To use the production and development workflows, install both this package
and the development module:
$ npm install --save-dev builder-support
Usage
builder-support gen-dev
Use this tool to create an ARCHETYPE-dev
module for publishing alongside
ARCHETYPE
with the same version numbers, details, etc.
This tools assumes an archetype structure of:
package.json
- Dependencies needed for production tasks and scripts
entry
that has tasks for both production and development. Must have name
,
description
fields.- A development sub-directory or independent repository containing dependencies
for development tasks only.
dev/package.json
../ARCHETYPE-dev/package.json
Assuming those exist, then the tool:
-
Modifies ARCHETYPE-dev/package.json
as follows:
- Copies the root
package.json
- Removes
package.json:devDependencies
- Replaces
package.json:dependencies
with
ARCHETYPE-dev/package.json:dependencies
- Updates things like the
name
field to represent ARCHETYPE-dev
-
Copies README.md
to ARCHETYPE-dev/README.md
-
Copies .gitignore
to ARCHETYPE-dev/.gitignore
This supports a workflow as follows:
$ vim HISTORY.md
$ vim package.json
$ builder-support gen-dev
$ npm run builder:check
$ git add .
$ git commit -m "Version bump"
$ git tag -a "vNUMBER" -m "Version NUMBER"
$ git push && git push --tags
$ npm publish
$ cd dev && npm publish
$ cd ../ARCHETYPE-dev
$ git commit -m "Version bump"
$ git tag -a "vNUMBER" -m "Version NUMBER"
$ git push && git push --tags
$ npm publish
If you are bootstrapping a new archetype you will need to ensure either that
a ARCHETYPE/dev
or ../ARCHETYPE-dev
directory exists. The rest of the files
when then be properly generated into the dev project.
And you should be good to run builder-support gen-dev
in the project root.