cartridge-javascript
v1.1.0
Published
JavaScript module for the cartridge project
Downloads
7
Maintainers
Readme
Cartridge JavaScript
JavaScript expansion pack for Cartridge
To use this module, you will need cartridge-cli installed and have a cartridge project setup.
npm install cartridge-javascript --save-dev
This module adds the following to a project:
- JavaScript concatenation and minification
- JavaScript transpiling using Babel (allowing use ES2015 etc features)
- JavaScript sourcemaps
- JavaScript linting using gulp-jshint
- JavaScript documentation generation using gulp-jsdoc3
Maintainers
| Name |
| ------------- |
| Daniel Furze
| Tristan Ashley
Config
Once installed, the config file task.scripts.js
is created and stored in the _config
directory in the root of your cartridge project.
Multiple files can be independently managed using the files
object, allowing separate files to be compiled e.g. vendor.js
and bundle.js
.
Each key represents the name of the output file (a key of bundle
will make the output file of bundle.js
) with the src
array specifying what files are to be included.
Options
The following options can be set for each file set to change functionality
generateDocs
boolean can be changed to turn off generating documentation if this is not needed e.g working with 3rd party libraries. This option is on by default.lintFiles
boolean can be changed to turn off linting for certain files, if this is not needed e.g working with 3rd party libraries. This option is on by default.
Any example of a two file setup is included in the base config file when the module is installed.
Enabling babel
Babel support is opt-in by default - setting config.useBabel
to true
will set all source files to be transpiled using Babel before concatination.
Setting the above option to true
may also require the JSHint option esversion to be set to version 6
in the config file.
Usage
This module provides the following gulp tasks, which are generated based on the config.
gulp scripts
- Task that runs all of the tasks mentioned below.gulp scripts:bundle:<filename>
- Concatenates all JS files into one file. When the--prod
is provided the concatenated file is also minified. Sourcemaps are generated by default if no--prod
flag is provided.gulp scripts:lint:<filename>
- Lints all JS files. Ignored if--prod
is provided. If this config keylintFiles
is set to false, this task is not set.gulp scripts:docs:<filename>
- Generates JS docs, for when JSDocs are used in source file. If this config keygenerateDocs
is set to false, this task is not set.
For the examples above, replace <filename>
with the key in the files
objects in the config file e.g. With the name of main
you would run gulp scripts:bundle:main
Development
Commit message standards
Try and adhere as closely as possible to the Angular commit messages guidelines.
Commitizen is a command line tool which can help with this:
npm install -g commitizen
Now, simply use git cz
instead of git commit
when committing.