builder-docs-archetype
v6.0.1
Published
An archetype for building static landing/documentation pages for our projects.
Downloads
77
Maintainers
Keywords
Readme
Builder Docs Archetype
A Builder archetype for Formidable static React landers.
Landers
Integration
- In the root, you need to create a
./static-routes.js
file that exports an array of all the routes your heart desires.
module.exports = [
"/",
"/about",
"/pineapples"
];
Lander Release
To release a project controlled by this archetype (e.g., victory-docs
),
use the following guide:
IMPORTANT - NPM: To correctly run preversion
your first step is to make
sure that you have a very modern npm
binary:
$ npm install -g npm
Built files in build/
should not be committed during development or PRs.
Instead we only build and commit them for published, tagged releases. So
the basic workflow is:
# Make sure you have a clean, up-to-date `master`
$ git pull
$ git status # (should be no changes)
# Choose a semantic update for the new version.
# If you're unsure, read about semantic versioning at http://semver.org/
$ npm version major|minor|patch -m "Version %s - INSERT_REASONS"
# Push the `build/` directory, version commits, and tag:
$ git push --follow-tags
# And finally publish to `npm`!
$ npm publish
And you've published!
For a reliable systems of releases, the landers should aim for versioning along these lines:
- Patch: Typos, missing assets, broken styles, very minor copyedits.
- Minor: Add a new blog post, change styles.
- Major: Rearchitect how the lander works, remove pages, or something else huge.
For additional information on the underlying NPM technologies and approaches, please review:
npm version
: Runs verification, buildsbuild/
viascripts
commands.npm publish
: Uploads to NPM.
Archetype
This section applies to the archetype itself (builder-docs-archetype
).
Builder Dependencies
You can read the Builder docs for the full story. Here is an overview of the Builder three-way dependency scheme:
package.json:dependencies
: Production dependencies for the archetype installed in a project.dev/package.json:dependencies
: Development dependencies for the archetype installed in a project.package.json:devDependencies
: The development dependencies used internally for the this archetype during development (self tests, checks, etc.) that are not part of the overall archetype outside workflow.
Checks, Tests
Run npm run builder:check
Archetype Release
For tagged official releases only of the archetype, make sure to:
- Bump
package.json
version - Generate a new
ARCHETYPE-dev
package.json
- Add to git, tag, and publish
$ vim package.json # Bump version
$ vim CHANGELOG.md # Add version notes
$ builder-support gen-dev # Generate `dev/*` files
$ npm run builder:check # Last check!
$ git add package.json dev
$ git commit -m "Version bump"
$ git tag -a "vNUMBER" -m "vNUMBER - INSERT_REASONS" # Create tag
$ git push --follow-tags
$ npm publish # Publish main project
$ cd dev && npm publish # Publish dev project