JSPM

aegir

3.1.1
  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 8134
  • Score
    100M100P100Q124752F
  • License MIT

JavaScript project management

Package Exports

  • aegir/gulp

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (aegir) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

AEgir

Dependency Status Travis CI

Automated JavaScript project management.

Project Structure

The project structure when using this is quite strict, to ease replication and configuration overhead.

All source code should be placed under src, with the main entry point being src/index.js.

All test files should be placed under test. Individual test files should end in .spec.js and setup files for the node and the browser should be test/node.js and test/browser.js respectively.

Your package.json should have the following entries.

"main": "lib/index.js",
"jsnext:main": "src/index.js",
"scripts": {
  "lint": "aegir-lint",
  "release": "aegir-release",
  "build": "aegir-build",
  "test": "aegir-test",
  "test:node": "aegir-test node",
  "test:browser": "aegir-test browser",
  "coverage": "aegir-coverage",
  "coverage-publish": "aegir-coverage publish"
}

You should also add babel-runtime to your dependencies as it is required by the babelified version in lib.

Tasks

Linting

Linting uses eslint and standard with some custom rules to enforce some more strictness.

You can run it using

$ aegir-lint
# or as gulp task
$ gulp lint

Testing

You can run it using

$ aegir-test
# or as gulp task
$ gulp test

There are also browser and node specific tasks

$ aegir-test node
$ gulp test:node
$ aegir-test browser
$ gulp test:browser

Coverage

You can run it using

$ aegir-coverage
# or as gulp task
$ gulp coverage

To auto publish coverage reports from Travis to Coveralls add this to your .travis.yml file. For more details see node-coveralls.

script:
  - npm run coverage

after_success:
  - npm run coverage-publish

Building

This will build a browser ready version into dist, so after publishing the results will be available under

https://npmcdn.com/<module-name>/dist/index.js
https://npmcdn.com/<module-name>/dist/index.min.js

There is also an ES5 build that will be placed in lib that will be required by default from consumers using require.

You can run it using

$ aegir-build
# or as gulp task
$ gulp build

Releasing

  1. Run linting
  2. Run tests
  3. Build everything
  4. Bump the version in package.json
  5. Commit the version change
  6. Create a git tag
  7. Run git push to upstream/master
# Major release
$ gulp release --type major
$ aegir-release --type major
# Minor relase
$ gulp release --type minor
$ aegir-release --type minor
# Patch release
$ gulp release
$ aegir-release

You can also specify a --env for a release, which can be either 'node', 'browser' or 'no-build'.

$ aegir-release --env node
$ gulp release --env node

Other Notes

There is a badge.

[![aegir](https://img.shields.io/badge/follows-aegir-blue.svg?style=flat-square)](https://github.com/dignifiedquire/aegir)

License

MIT