svgedit/docs/ReleaseInstructions.md

2.9 KiB

Creating a new svg-edit release

Prepare

  1. npm test - Ensure build steps occur and tests are passing
  2. npm run build-doc - Ensure JSDoc can build and is available for site build
  3. npm run grep-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 use PlainObject or GenericArray to indicate the simple base type was intentional. * should also be checked. The script reports all failing matches within editor. There should be none.
  4. Preview which files will be included once published (taking into account .npmignore), by using npm pack (taking care to remove the .tgz tarball file that it creates).

Update the main project

  1. Update version in package.json (and package-lock.json (via npm i)).
  2. Update the CHANGES file with a summary of all changes.
  3. Add new release info to Recent news section in README
  4. Commit these changes
.
  1. 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

  1. Ensure you are on the master branch with git checkout master.
  2. Switch to the gh-pages branch with git checkout gh-pages.
  3. Run the build.js executable (npm run build if within the project root directory).
  4. Commit these changes with git commit -m "Updating files for release X.Y.Z".
  5. Switch back to the master branch with git checkout master.
  6. 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

  1. Go to https://github.com/SVG-Edit/svgedit/releases and select Draft a new release.
  2. Make the release target point at the commit where the changes were updated.
  3. Write a short description of the release and include a link to the live version: https://svg-edit.github.io/svgedit/releases/svg-edit-X.Y.Z/editor/svg-editor.html. See the previous releases for the format.
  4. Create the release!

You will need to be a member of the SVG-Edit GitHub group to do this step.

Publish to npm

  1. npm publish