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-pages
steps and used innpm publish
step).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@interface
s,@typdef
s, or@callback
. Deriving types can usePlainObject
orGenericArray
to 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 pack
to preview which files will be included once published and taking into account.npmignore
. Take care to remove the.tgz
tarball file that it creates so it is not itself included during the publishing step.
Update the main project
- Update
version
inpackage.json
(andpackage-lock.json
(vianpm i
)). - Update the CHANGES file with a summary of all changes.
- Add new release info to
Recent news
section in README - Commit these changes
- Tag the version, prefixed by "v", e.g.,
v4.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-pages
branch withgit checkout gh-pages
. - Run the
build.js
executable (npm run build
if within the project root directory); Please note: this script is only available ongh-pages
and currently assumes that one has thegh-pages
branch checked out within a folder that is in a sibling directory to a folder namedsvgedit
that is on themaster
branch and whose files and version info will be copied over togh-pages
in 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
master
branch 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
You will need to be a member of the npm group to do this step.