git clone git@github.com:$GITHUB_USER/web-animations-js.git
git submodule update --init --recursive
(Necessary for running tests.)npm
is in your $PATHnpm install
in the respository to pull in development dependencies.npm install -g grunt-cli
to get the build tools for the command line.Note that development should occur against the dev
branch, not master
. This is the default target for pull requests.
git checkout dev
or create a new branch whose parent is dev.grunt
to build the polyfill.grunt test
to run polyfill and web-platform-tests tests.You can run the tests in an interactive mode with grunt debug
. This starts the Karma server once for each polyfill target for each test framework. Navigate to http://localhost:9876/debug.html
to open the test runner in your browser of choice, all test results appear in the Javascript console. Test failures can be accessed via window.failures
and window.formattedFailures
once the tests have completed.
The polyfill target and tests can be specified as arguments to the debug
task. Example: grunt debug:web-animations-next:test/web-platform-tests/web-animations/animation/pause.html
Multiple test files may be listed with comma separation. Specifying files will output their URL in the command line. Example: http://localhost:9876/base/test/web-platform-tests/web-animations/animation/pause.html
Determine the version number for the release
Add versioned release notes to History.md
, for example:
### 3.13.37 — *November 1, 2001* * Fixed a bug where nothing worked
Use the following to generate a summary of commits, but edit the list to contain only relevant information.
git log --first-parent `git describe --tags --abbrev=0 master`..dev --pretty=format:" * %s"
Specify the new version inside package.json
(for NPM), for example:
"version": "3.13.37",
Build the polyfill with npm install && grunt
then update docs/experimental.md
's Build Target Comparison with the current gzipped sizes.
Commit the above changes to web-animations-js/dev and merge to web-animations-js/master.
git checkout master git merge dev --no-edit --quiet
Build and commit minified JavaScript files.
npm install grunt # Optional "grunt test" to make sure everything still passes. git add -f *.min.js{,.map} git rm .gitignore git commit -m 'Add build artifacts from '`cat .git/refs/heads/dev` git push HEAD:refs/heads/master
Draft a new release at the commit pushed to web-animations-js in step #4. Copy the release notes from History.md
added in step #2.
Once you've pushed to web-animations-js, run npm publish
from that checked-out folder
To do this, you'll need to be a collaborator on the NPM project, or have a collaborator help you.
If there are any breaking changes to the API in this release you must notify web-animations-changes@googlegroups.com.
Only owners of the group may post to it so you may need to request ownership or ask someone to post it for you.
This is an overview of what happens when grunt test
is run.