- Docs: Mention potentially more frequent release schedule - Docs (ReleaseInstructions): Update per new testing; update `grep-doc` -> `types-doc` and indicate current failing status; indicate when `build-doc` will be used; clarify `npm pack` - npm: Add newly renamed `jsdoc-check-overly-generic-types.js` to ignore - npm: Bump to 3.1.1
3.6 KiB
3.6 KiB
Creating a new svg-edit release
Prepare
npm run browser-test- Ensure build steps occur and tests are passingnpm test- This should also be run, though currently accessibility tests are failingnpm run build-doc- Ensure JSDoc can build and is available for site build (though not added tomaster, will be copied over ingh-pagessteps and used innpm publishstep).npm run types-doc- For JSDoc, we ensure that a minimum of generic types have been added (e.g., "number" should instead be "Float" or "Array", and "object", "function", or "array" should be replaced by more specific@interfaces,@typdefs, or@callback. Deriving types can usePlainObjectorGenericArrayto indicate the simple base type was intentional.*should also be checked. The script reports all failing matches withineditor. There should be none (there is currently one due to our needing to move the file to its own module).npm packto preview which files will be included once published and taking into account.npmignore. Take care to remove the.tgztarball file that it creates so it is not itself included during the publishing step.
Update the main project
- Update
versioninpackage.json(andpackage-lock.json(vianpm i)). - Update the CHANGES file with a summary of all changes.
- Add new release info to
Recent newssection in README - Commit these changes
- Tag the version, prefixed by "v", e.g.,
v3.0.1.
The above steps can be done on a fork and committed via a pull request.
Create the release on gh-pages
- Switch to the
gh-pagesbranch withgit checkout gh-pages. - Run the
build.jsexecutable (npm run buildif within the project root directory); Please note: this script is only available ongh-pagesand currently assumes that one has thegh-pagesbranch checked out within a folder that is in a sibling directory to a folder namedsvgeditthat is on themasterbranch and whose files and version info will be copied over togh-pagesin making the "latest" and specific version builds - Commit these changes with
git commit -m "Updating files for release X.Y.Z". - Switch back to the
masterbranch withgit checkout master. - Ensure this step worked by visiting https://svg-edit.github.io/svgedit/releases/svg-edit-X.Y.Z/editor/svg-editor.html (and in an ES6-Module-compliant browser, https://svg-edit.github.io/svgedit/releases/svg-edit-X.Y.Z/editor/svg-editor-es.html).
The above steps can be done on a fork and committed via a pull request.
Create the release on GitHub
- Go to https://github.com/SVG-Edit/svgedit/releases and select
Draft a new release. - Make the release target point at the tag where the changes were updated.
- Write a short description of the release and include a link to the live version (in another tab, you may wish to see the source for a previous release): https://svg-edit.github.io/svgedit/releases/svg-edit-X.Y.Z/editor/svg-editor.html.
- Create the release!
You will need to be a member of the SVG-Edit GitHub group to do this step.
Publish to npm
npm publish