boundation
Automatic scaffolding and upgrading of your JavaScript ecosystem projects using Bevry's best practices
Usage
Install the package globally on Node.js v12 or higher using npm install --global boundation
then run boundation
on your project or in an empty directory.
It will ask you several questions about your project, then initialise or upgrade the project with the latest Bevry best-practices.
If you have the secret env
command available, you can preload boundation
with the following usage:
secret env GITHUB_CLIENT_ID GITHUB_CLIENT_SECRET NPM_AUTHTOKEN TRAVIS_NOTIFICATION_EMAIL SURGE_LOGIN SURGE_TOKEN VERCEL_TOKEN -- boundation
Features
- Supports JavaScript, TypeScript, CoffeeScript, and Website projects
- Automatic Editions setup and upgrades for automatic selection of the best edition for the environment, allowing you to develop for the latest environment with the latest technology, then automatically test on and support older environments
- Uses Projectz to automatically generate and maintain your readme, license, badges, and the contributing file
- Uses Bevry's Base Files which provides linting configurations that automatically detect the features of your projects, and adjusts the linting accordingly, as well as pulling down files like
.gitignore
and.npmignore
with respect for custom sections - ESLint for JavaScript and TypeScript projects, and CoffeeLint for CoffeeScript projects
- Powerful NPM Scripts
npm run our:setup
for setting up the project for development- automatic addition of your
my:setup:*
scripts
- automatic addition of your
npm run our:compile
for compiling the project- automatic addition of your
my:compile:*
scripts
- automatic addition of your
npm run our:deploy
for linting- automatic addition of your
my:deploy:*
scripts
- automatic addition of your
npm run our:meta
for compiling the meta files- automatic addition of your
my:meta:*
scripts
- automatic addition of your
npm run our:verify
for linting and tests- automatic addition of your
my:verify:*
scripts
- automatic addition of your
npm run our:release
for for releasing your project- on code projects, it will run verify, check for uncommitted changes, a changelog entry, performing the git tag automatically, and the git push
- on website projects, it will run verify and git push
- automatic addition of your
my:release:*
scripts
- Optional automatic Travis CI setup to release your project to npm when tests pass, and to test on older environments
- Powered by Awesome Travis
- Optional JSDoc for JavaScript projects
- Automatic TypeDoc for TypeScript projects
- Optional YUIDoc for new CoffeeScript projects, and Biscotto for old
- Optional Flow Type for type checking of JavaScript projects
- Optional ES6 Import module support
- Automatic Babel support when needing to support browsers and older targets
- Optional DocPad Plugin support
- Automatic package dependency upgrades
Install
Install Globally
- Install:
npm install --global boundation
- Executable:
boundation
Install Locally
- Install:
npm install --save boundation
- Executable:
npx boundation
- Import:
import pkg from ('boundation')
- Require:
const pkg = require('boundation').default
Editions
This package is published with the following editions:
boundation
aliasesboundation/source/index.js
boundation/source/index.js
is ESNext source code for Node.js with Import for modules
History
Discover the release history by heading on over to the HISTORY.md
file.
Contribute
Discover how you can contribute by heading on over to the CONTRIBUTING.md
file.
Backers
Maintainers
These amazing people are maintaining this project:
Sponsors
No sponsors yet! Will you be the first?
Contributors
These amazing people have contributed code to this project:
Discover how you can contribute by heading on over to the CONTRIBUTING.md
file.
License
Unless stated otherwise all works are:
- Copyright © 2017+ Bevry
and licensed under: