:boom: Careful: This package is no longer maintained and is only here for historic reasons. This means you should very likely not use it. You have been warned. :boom:
abc-environment
Get started with modern JavaScript development as simple as the ABC
Features
- Next generation JavaScript language syntax
- Unit tests with code coverage of your original code
- Linting for consistent style
- Continuous integration
Install
This module only works with Node v6+ and npm v3+ (or yarn), which are the current LTS versions. Please make sure you are running the right versions via node -v && npm -v
and update if needed.
npm install --save-dev abc-environment
node_modules/.bin/abc setup
git add ...
git commit ...
node_modules/.bin/abc test
npm test
echo "alias abc='node_modules/.bin/abc'" >> ~/.bashrc && source ~/.bashrc
abc test
Commands
abc setup
Creates the directories and files for the whole project to run. This will modify files, so only run it on empty or version-controlled projects.
⚠️ When updating this module to the next higher minor version number, it is recommended to run the setup
command again to get the newest files! When updating to the next major number, running setup
is required.
The created directories and files are:
src/
- Directory for your source codesrc/index.js
- Demo module file (if src/
is empty)tests/
- Directory for your teststests/index.spec.js
- Demo test file (if tests/
is empty).babelrc
- Manages the Babel configuration throughout the whole project 1.gitignore
- Makes sure that you don't commit dependency files into version control.npmignore
- Makes sure that you only release the built files into npm.travis.yml
- Handles continuous integration with Travispackage.json
- Adds three npm scripts:
npm test
- Runs the test
and lint
commandsnpm run build
- Runs the build
commandnpm run version
- Runs the build
command when you publish a new version of your package to npm (e.g. using np
or npm-release
)
abc build
Compiles the source files from src/
into a build/
directory. Thanks to this, you can use the latest language features of JavaScript and compile them into JavaScript that runs in older browsers or older versions of Node. You can find an overview of all the new language features here and here.
abc test
Runs the test files in the tests/
directory. Using unit tests, you can check if your module always works in the way you expect it to. You can also see which parts of your code are covered by your tests by opening the generated coverage/lcov-report/index.html
in your browser.
abc lint [--fix]
Checks if your code is consistent and follows best practices (and optionally fix issues). By using a linter you can ensure that all your code looks the same, even if it was written by different developers. Linting also helps to catch common errors. This module uses the standard style guide.
abc run src/file.js
Runs a specified file. Because we are using compiled code, it can get tedious if you have to run build
before you can run your code. Using the run
command, you can just specify the file and get it compiled and executed in one single step. This is used for development purposes, in production you should always use the compiled files generated using the build
command!
Internals
- Compiling
- Testing
- Linting
snazzy
- One JavaScript Style Guide to Rule Them Allbabel-eslint
- Lint all valid Babel code, including stage-0
- Continuous Integration (optional, but recommended)
- Travis - Continuous integration service
codecov
- Code coverage badges in your repository- GreenKeeper - Automatic PRs for npm dependencies
np
- A better npm publish
Licence
MIT
[1]: Sadly this is required, because Mocha provides no way to configure Babel