Skip to content
This repository has been archived by the owner on Jun 5, 2021. It is now read-only.

Latest commit

 

History

History
53 lines (38 loc) · 1.99 KB

DEVELOPING.md

File metadata and controls

53 lines (38 loc) · 1.99 KB

For Developers

We strongly encourage you to review the project's scope described in the README.md file before working on new features. For large changes, consider writing a design document using this template.

Testing locally

This repository contains nested workspaces. To test all targets locally in the main workspace and in all nested workspaces run:

yarn test_all

To do a full clean run:

yarn clean_all

Other scripts allow you to test all or individual packages, e2e tests and examples. For example,

yarn test_packages_all
yarn test_packages typescript karma
yarn test_e2e_all
yarn test_e2e karma
yarn test_examples_all
yarn test_examples webapp

Releasing

Start from a clean checkout at master/HEAD.

Note: if you are using a new clone, you'll need to configure git-clang-format to be able to commit the release:

  1. git config clangFormat.binary node_modules/.bin/clang-format
  2. git config clangFormat.style file

Check if there are any breaking changes since the last tag - if so, this will be a minor, if not it's a patch. (This may not sound like semver, but since our major version is a zero, the rule is that minors are breaking changes and patches are new features.)

  1. yarn install
  2. Re-generate the API docs: yarn skydoc
  3. git add docs/ (in case new files were created)
  4. git commit -a -m 'Update docs for release'
  5. npm config set tag-version-prefix '' (we don't put a "v" prefix on our tags)
  6. npm version minor -m 'rel: %s' (replace minor with patch if no breaking changes)
  7. Build npm packages and publish them: ./scripts/publish_release.sh
  8. git push upstream && git push upstream --tags
  9. (Manual for now): go to the releases page, edit the release with rough changelog (especially note any breaking changes!) and upload the release artifact from rules_nodejs-[version].tar.gz
  10. Announce the release on Angular slack in #tools-abc-discuss