builder-support
v0.5.0
Published
Builder support libraries
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-supportUsage
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 andscriptsentry that has tasks for both production and development. Must havename,descriptionfields.- 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.jsonas follows:- Copies the root
package.json - Removes
package.json:devDependencies - Replaces
package.json:dependencieswithARCHETYPE-dev/package.json:dependencies - Updates things like the
namefield to representARCHETYPE-dev
- Copies the root
Copies
README.mdtoARCHETYPE-dev/README.mdCopies
.gitignoretoARCHETYPE-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 projectIf 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.
