builder-support
v0.5.0
Published
Builder support libraries
Downloads
26
Maintainers
Keywords
Readme
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 andscripts
entry that has tasks for both production and development. Must havename
,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
withARCHETYPE-dev/package.json:dependencies
- Updates things like the
name
field to representARCHETYPE-dev
- Copies the root
Copies
README.md
toARCHETYPE-dev/README.md
Copies
.gitignore
toARCHETYPE-dev/.gitignore
This supports a workflow as follows:
$ vim HISTORY.md # Version notes
$ vim package.json # Bump version
$ builder-support gen-dev # Generate `ARCHETYPE-dev` files
$ npm run builder:check # Last check!
$ git add .
$ git commit -m "Version bump"
$ git tag -a "vNUMBER" -m "Version NUMBER"
$ git push && git push --tags
$ npm publish # Publish main project
# Publish dev project in same repo
$ cd dev && npm publish
# (OR) Publish dev project in different, parallel repo
$ cd ../ARCHETYPE-dev
$ git commit -m "Version bump"
$ git tag -a "vNUMBER" -m "Version NUMBER"
$ git push && git push --tags
$ npm publish # Publish dev project
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.