`call`, `copyElem`, `findDefs`, `getElem`, `getId`, `getIntersectionList`, `getMouseTarget`, `getNextId`, `getUrlFromAttr`, `hasMatrixTransform`, `matrixMultiply`, `recalculateAllSelectedDimensions`, `recalculateDimensions`, `remapElement`, `removeUnusedDefElems`, `round`, `runExtensions`, `sanitizeSvg`, `setGradient` `transformListToTransform` (and mistaken `toString` export) to `getPrivateMethods` (passed to extensions) as available as public ones - Build: Update ext-xdomain-messaging - Fix (extension): ForeignObject editor - Docs: Avoid reporting deliberate "Any" type - Docs: Further docs (`logMatrix`, `getPrivateMethods`) - Docs: Suggest `npm pack`
3.3 KiB
3.3 KiB
Creating a new svg-edit release
Prepare
npm test- Ensure tests are passingnpm run build-doc- Ensure JSDoc can build and is available for site buildnpm 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 usePlainObjectorGenericArrayto indicate the simple base type was intentional.*should also be checked. The script reports all failing matches withineditor. There should be none.
Update the main project
- Update
versioninpackage.json(andpackage-lock.json(vianpm i)). - Update the CHANGES file with a summary of all changes.
- Update the README references to
svg-edit.github.ioto point to the current version (note that it will not be available until the steps below). - 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
- Ensure you are on the
masterbranch withgit checkout master. - Switch to the
gh-pagesbranch withgit checkout gh-pages. - Copy the
svg-edit-X.Ydirectory toreleases/svg-edit-X.Yand tolatest/(minus.gitand.gitignoreand including the working builtsvgedit-config-es.jsandsvgedit-config-iife.jsfiles). - Commit these changes with
git commit -m "Updating files for release X.Y". - Switch back to the
masterbranch withgit checkout master. - Ensure this step worked by visiting https://svgedit.github.io/svgedit/releases/svg-edit-X.Y/svg-editor.html (and in an ES6-Module-compliant browser, https://svgedit.github.io/svgedit/releases/svg-edit-X.Y/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 commit where the changes were updated.
- Write a short description of the release and include a link to the live version: https://svgedit.github.io/svgedit/releases/svg-edit-X.Y/svg-editor.html. See the previous releases for the format.
- Create the release!
You will need to be a member of the SVG-Edit GitHub group to do this step.
Publish to npm
- To preview which files will be included once published (taking into
account
.npmignore), you may usenpm pack(taking care to remove the.tgztarball file that it creates). npm publish
Update the project docs
Ensure README.md has references and links to the shiny new release.
This will probably not be needed if the latest directory continues to
be preferred over hard-coding links to particular releases.