- Linting: Lint hidden `ncurc.js` file
- Docs: Add 6.0.0.md migration file - Docs: Update Contributing, Testing (renamed to Development), Linting and ReleaseInstructions - Docs: Info on submodules - npm: Add scripts for updating submodules - npm: Add `license-badges`, `build-docs`, and `copy` scripts to `prepublishOnly` script - npm: Bump to 6.0.0master
parent
105037ef79
commit
7c6f512512
|
@ -33,3 +33,4 @@ editor/external/dom-polyfill/*
|
||||||
mochawesome-report
|
mochawesome-report
|
||||||
releases
|
releases
|
||||||
!.eslintrc.js
|
!.eslintrc.js
|
||||||
|
!.ncurc.js
|
||||||
|
|
|
@ -69,7 +69,7 @@ module.exports = {
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
files: '.eslintrc.js',
|
files: ['.eslintrc.js', '.ncurc.js'],
|
||||||
extends: [
|
extends: [
|
||||||
'plugin:node/recommended-script'
|
'plugin:node/recommended-script'
|
||||||
],
|
],
|
||||||
|
|
|
@ -1,6 +1,8 @@
|
||||||
|
'use strict';
|
||||||
|
|
||||||
module.exports = {
|
module.exports = {
|
||||||
"reject": [
|
reject: [
|
||||||
// Old copy with jspdf which needs updating: https://github.com/SVG-Edit/svgedit/issues/51
|
// Todo: Old copy with jspdf which needs updating: https://github.com/SVG-Edit/svgedit/issues/51
|
||||||
"underscore"
|
'underscore'
|
||||||
]
|
]
|
||||||
};
|
};
|
||||||
|
|
12
CHANGES.md
12
CHANGES.md
|
@ -1,6 +1,6 @@
|
||||||
# SVG-Edit CHANGES
|
# SVG-Edit CHANGES
|
||||||
|
|
||||||
## 6.0.0 (unreleased)
|
## 6.0.0
|
||||||
|
|
||||||
- License: Reflect actual license of library in `package.json` based
|
- License: Reflect actual license of library in `package.json` based
|
||||||
not only on licenses of repository as a whole (i.e., "MIT") but
|
not only on licenses of repository as a whole (i.e., "MIT") but
|
||||||
|
@ -21,6 +21,8 @@
|
||||||
- BREAKING CHANGE: `putLocale` (a function called automatically by
|
- BREAKING CHANGE: `putLocale` (a function called automatically by
|
||||||
`svg-editor.js`) no longer checks `pref`. Should not impact
|
`svg-editor.js`) no longer checks `pref`. Should not impact
|
||||||
average consumers.
|
average consumers.
|
||||||
|
- BREAKING CHANGE: Move clipboard from `localStorage` to `sessionStorage`
|
||||||
|
(@NeilFraser)
|
||||||
- Fix: main menu style and text #371
|
- Fix: main menu style and text #371
|
||||||
- Fix (Accessibility): Avoid duplicate IDs
|
- Fix (Accessibility): Avoid duplicate IDs
|
||||||
- Fix (openclipart browser): Redirect on lacking browser support
|
- Fix (openclipart browser): Redirect on lacking browser support
|
||||||
|
@ -44,7 +46,6 @@
|
||||||
- Localization: Add 'SVG-Edit Home Page' to locale files
|
- Localization: Add 'SVG-Edit Home Page' to locale files
|
||||||
- Docs: Remove outdated info on jsdoc linting (now just part of eslint config)
|
- Docs: Remove outdated info on jsdoc linting (now just part of eslint config)
|
||||||
- Docs: Add testing badge
|
- Docs: Add testing badge
|
||||||
- Docs: Expand `Testing.md`.
|
|
||||||
- Docs: Add license badges and `licenseInfo.json` (has a
|
- Docs: Add license badges and `licenseInfo.json` (has a
|
||||||
`filesByLicense` map of files to licenses (not yet used programmatically)
|
`filesByLicense` map of files to licenses (not yet used programmatically)
|
||||||
and `bundledRootPackages` which is used by `license-badger` to know which
|
and `bundledRootPackages` which is used by `license-badger` to know which
|
||||||
|
@ -52,6 +53,8 @@
|
||||||
summary of all licenses including bundled).
|
summary of all licenses including bundled).
|
||||||
- Docs: Reprioritize `docs` in commit lists (prioritize user-facing)
|
- Docs: Reprioritize `docs` in commit lists (prioritize user-facing)
|
||||||
- Docs: Update Pavol's email address (@prusnak)
|
- Docs: Update Pavol's email address (@prusnak)
|
||||||
|
- Docs: Update Contributing, Testing (renamed to Development),
|
||||||
|
Linting and ReleaseInstructions
|
||||||
- Refactoring: Switch from `$.param.querystring` to `URL`
|
- Refactoring: Switch from `$.param.querystring` to `URL`
|
||||||
- Refactoring: Ensure file-global jsdoc tags are at beginning of file
|
- Refactoring: Ensure file-global jsdoc tags are at beginning of file
|
||||||
- Refactoring: Move `build-html` to `build` directory
|
- Refactoring: Move `build-html` to `build` directory
|
||||||
|
@ -61,6 +64,9 @@
|
||||||
- Linting (ESLint): Replace `innerHTML` with `textContent` from old demo
|
- Linting (ESLint): Replace `innerHTML` with `textContent` from old demo
|
||||||
- Linting (ESLint): Update as per latest ash-nazg
|
- Linting (ESLint): Update as per latest ash-nazg
|
||||||
- Linting (ESLint): Add rules to check for file-level tags
|
- Linting (ESLint): Add rules to check for file-level tags
|
||||||
|
- Linting (ESLint): Check hidden rc files
|
||||||
|
- Linting (ESLint): Add linting plugins (mocha, chai-expect, chai-friendly,
|
||||||
|
cypress)
|
||||||
- Testing: Switch to Cypress with code coverage for UI testing;
|
- Testing: Switch to Cypress with code coverage for UI testing;
|
||||||
use ESM version for faster debugging
|
use ESM version for faster debugging
|
||||||
- Testing: Add map file for underscore
|
- Testing: Add map file for underscore
|
||||||
|
@ -81,6 +87,8 @@
|
||||||
building docs and instrumenting)
|
building docs and instrumenting)
|
||||||
- npm: Update scripts to reflect removal of `all_tests.html`;
|
- npm: Update scripts to reflect removal of `all_tests.html`;
|
||||||
remove `browser-test` script
|
remove `browser-test` script
|
||||||
|
- npm: Add `add-release` script
|
||||||
|
- npm: Add `license-badges`, `build-docs`, and `copy` scripts to `prepublishOnly` script
|
||||||
- npm: Rename `test-prep` to `prep` and other misc. script naming changes
|
- npm: Rename `test-prep` to `prep` and other misc. script naming changes
|
||||||
- npm: Update `package-lock.json`
|
- npm: Update `package-lock.json`
|
||||||
- npm: Update devDeps, peerDeps
|
- npm: Update devDeps, peerDeps
|
||||||
|
|
|
@ -25,7 +25,6 @@ works in any modern browser.
|
||||||
|
|
||||||
![screenshot](docs/screenshot.png)
|
![screenshot](docs/screenshot.png)
|
||||||
|
|
||||||
|
|
||||||
## Help wanted
|
## Help wanted
|
||||||
|
|
||||||
While we have made some recent releases to SVG-edit for bug fixes,
|
While we have made some recent releases to SVG-edit for bug fixes,
|
||||||
|
@ -148,6 +147,8 @@ incorporating SVGEdit. You will need to have Node.js/npm installed.
|
||||||
|
|
||||||
## Recent news
|
## Recent news
|
||||||
|
|
||||||
|
- 2020-02-22 Published 6.0.0 License clarifications/updates, PDF export
|
||||||
|
improvements, clipboard `sessionStorage`, and other changes.
|
||||||
- 2019-11-16 Published 5.1.0 Misc. fixes and refactoring
|
- 2019-11-16 Published 5.1.0 Misc. fixes and refactoring
|
||||||
- 2019-05-07 Published 5.0.0 Change from `@babel/polyfill`
|
- 2019-05-07 Published 5.0.0 Change from `@babel/polyfill`
|
||||||
- 2019-04-03 Published 4.3.0 Fix for double click on gradient
|
- 2019-04-03 Published 4.3.0 Fix for double click on gradient
|
||||||
|
|
|
@ -18,7 +18,7 @@
|
||||||
dependency's updated new API
|
dependency's updated new API
|
||||||
- `Refactoring: `
|
- `Refactoring: `
|
||||||
- `Linting (<type>):` - Linting by type, e.g., "ESLint"
|
- `Linting (<type>):` - Linting by type, e.g., "ESLint"
|
||||||
- `Testing:`
|
- `Testing (<UI|Unit>):`
|
||||||
- `Build: `
|
- `Build: `
|
||||||
- `npm` - Updates to dependencies, npm version, etc.
|
- `npm` - Updates to dependencies, npm version, etc.
|
||||||
1. See [`Testing.md`](./Testing.md) for other information helpful for contributing.
|
1. See [`Testing.md`](./Testing.md) for other information helpful for contributing.
|
||||||
|
|
|
@ -1,8 +1,31 @@
|
||||||
# Testing
|
# Development
|
||||||
|
|
||||||
|
Note that this document goes roughly in order of increasing importance. This
|
||||||
|
is done so you can see what is available and also see what scripts may be
|
||||||
|
automatically run as part of the later-mentioned items.
|
||||||
|
|
||||||
|
## Installing/Updating releases
|
||||||
|
|
||||||
|
In order to allow old versions to be available along with the `master` version
|
||||||
|
on our Github Pages-hosted repository, we have added old versions as submodules.
|
||||||
|
|
||||||
|
Most users will therefore not want to clone recursively, but for developing,
|
||||||
|
at least publishing, this may be necessary.
|
||||||
|
|
||||||
|
- `npm run submodules`
|
||||||
|
- `npm run submodules-init`- This is a *non-recursive* init as we don't
|
||||||
|
want the submodules themselves to have their own releases!
|
||||||
|
(They will have `releases` with subfolders for versions, but
|
||||||
|
no contents.)
|
||||||
|
- `npm run submodules-update` - Fetches and merges *non-recursively* and
|
||||||
|
merges any changes into `master` (e.g., if an unreleased version branch
|
||||||
|
was first added but needed more added to it).
|
||||||
|
|
||||||
## Building docs
|
## Building docs
|
||||||
|
|
||||||
This may be useful during testing. Build through `npm run build-docs`.
|
Though the building of docs is automatically run before publishing,
|
||||||
|
this may also be useful for reference during testing. Build through
|
||||||
|
`npm run build-docs`.
|
||||||
|
|
||||||
To start a server and open already built docs, use `npm run open-docs` (or
|
To start a server and open already built docs, use `npm run open-docs` (or
|
||||||
`npm run open-docs-no-start` if you already have a `start` process
|
`npm run open-docs-no-start` if you already have a `start` process
|
||||||
|
@ -32,9 +55,14 @@ running in another terminal tab).
|
||||||
unless a project is restrictive in terms of usage--i.e., if a
|
unless a project is restrictive in terms of usage--i.e., if a
|
||||||
dependency is not what is typically considered "open" source.)
|
dependency is not what is typically considered "open" source.)
|
||||||
|
|
||||||
|
The above are run before publishing, but they should be checked whenever
|
||||||
|
updating dependencies ([`npm-check-updates`](https://github.com/tjunnone/npm-check-updates)
|
||||||
|
is recommended, especially as our repo is configured to ignore updating
|
||||||
|
those packages which shouldn't be updated (see `.ncurc.js`)).
|
||||||
|
|
||||||
(Note that the test and coverage badges are generated automatically during
|
(Note that the test and coverage badges are generated automatically during
|
||||||
testing to ensure they are up to date, so you should not need to call those
|
testing to ensure they are up to date, so you should not need to call those
|
||||||
scripts directly.)
|
scripts directly, and the license badges are updated before publishing.)
|
||||||
|
|
||||||
## Miscellaneous scripts
|
## Miscellaneous scripts
|
||||||
|
|
||||||
|
@ -97,9 +125,9 @@ line, even when automated tests already exist for a type of editor.
|
||||||
|
|
||||||
## Reading/Opening test coverage reports
|
## Reading/Opening test coverage reports
|
||||||
|
|
||||||
For testing coverage reports (see "Testing"), you can open the HTML-based
|
For testing coverage reports (see "Testing and coverage"), you can open
|
||||||
reports that are generated during the testing process (or when running
|
the HTML-based reports that are generated during the testing process (or
|
||||||
`npm run instrument` directly) from the command line into your
|
when running `npm run instrument` directly) from the command line into your
|
||||||
browser by the following commands:
|
browser by the following commands:
|
||||||
|
|
||||||
1. Reading reports from the command line
|
1. Reading reports from the command line
|
|
@ -5,7 +5,8 @@ npm run eslint
|
||||||
```
|
```
|
||||||
|
|
||||||
This will query both JavaScript files and will query JavaScript within
|
This will query both JavaScript files and will query JavaScript within
|
||||||
Markdown files. It will also check for some JSDoc issues.
|
Markdown and HTML files. It will also check for some JSDoc issues,
|
||||||
|
Mocha/chai-specific rules, etc.
|
||||||
|
|
||||||
## Atom usage
|
## Atom usage
|
||||||
|
|
||||||
|
|
|
@ -2,20 +2,24 @@
|
||||||
|
|
||||||
## Prepare
|
## Prepare
|
||||||
|
|
||||||
1. `npm run browser-test` - Ensure build steps occur and tests are passing
|
1. `npm test` - Ensure build steps occur and tests are passing (note that
|
||||||
1. `npm start` and in another console window, `npm test` - This should
|
accessibility tests are currently failing).
|
||||||
also be run, though currently accessibility tests are failing.
|
1. `npm publish --dry-run` to run the preparatory scripts to ensure the
|
||||||
1. `npm run build-docs` - Ensure JSDoc can build and is available for site
|
necessary files are updated and also to see which files will be
|
||||||
build (though not added to `master`, will be copied over in
|
included once published and taking into account `.npmignore`
|
||||||
the `SVG-Edit.github.io` steps and used in `npm publish` step).
|
(use `npm pack --dry-run` to see the files without the preparatory
|
||||||
1. `npm pack --dry-run` to preview which files will be included once
|
steps).
|
||||||
published and taking into account `.npmignore`.
|
|
||||||
|
|
||||||
## Update the main project
|
## Update the main project
|
||||||
|
|
||||||
1. Update `version` in `package.json` (and `package-lock.json` (via `npm i`)).
|
1. Update `version` in `package.json` (and `package-lock.json` (via `npm i`)).
|
||||||
1. Update the CHANGES file with a summary of all changes.
|
1. Update the `CHANGES.md` file with a summary of all changes (adding the
|
||||||
|
version of the new release).
|
||||||
1. Add new release info to `Recent news` section in README
|
1. Add new release info to `Recent news` section in README
|
||||||
|
1. For major version changes, add a separate document for that version
|
||||||
|
to `docs/versions/X.Y.Z.md` to summarizethe changes (higher level
|
||||||
|
than the CHANGES file) and to indicate what is needed to update code
|
||||||
|
to work with the breaking changes.
|
||||||
1. Commit these changes `git commit -m "Updating CHANGES for release X.Y.Z"`-->.
|
1. Commit these changes `git commit -m "Updating CHANGES for release X.Y.Z"`-->.
|
||||||
1. Tag the version, prefixed by "v", e.g., `v6.0.0`.
|
1. Tag the version, prefixed by "v", e.g., `v6.0.0`.
|
||||||
|
|
||||||
|
@ -53,6 +57,5 @@ You will need to be a member of the SVG-Edit GitHub group to do this step.
|
||||||
|
|
||||||
1. `npm publish`
|
1. `npm publish`
|
||||||
|
|
||||||
You will need to be a member of the npm group to do this step. You can run
|
You will need to be a member of the npm group to do this step. See above
|
||||||
`npm publish --dry-run` to confirm that the files being included are all desired,
|
for `npm publish --dry-run`.
|
||||||
and add to `.npmignore` if not.
|
|
||||||
|
|
|
@ -0,0 +1,48 @@
|
||||||
|
# Version 6.0.0
|
||||||
|
|
||||||
|
This release should require minimal updating.
|
||||||
|
|
||||||
|
Besides the breaking changes and license updates, contains miscellanous
|
||||||
|
fixes and enhancements, for example:
|
||||||
|
|
||||||
|
1. Switching from `localStorage` to `sessionStorage` for the clipboard (@NeilFraser)
|
||||||
|
1. PDF export improvements (@cuixiping)
|
||||||
|
|
||||||
|
Please see the CHANGES file (or the Git history or Github tracker) for
|
||||||
|
more fixes and enhancements.
|
||||||
|
|
||||||
|
## Breaking changes (and clarifying license info)
|
||||||
|
|
||||||
|
- License:
|
||||||
|
1. The `license` indicated in `package.json` had not included all
|
||||||
|
of the license terms bundled with the package. It now includes them:
|
||||||
|
`(MIT AND Apache-2.0 AND CC-BY-SA-2.0 AND ISC AND LGPL-3.0-or-later AND X11)`
|
||||||
|
A `licenseInfo.json` file has been added with its `filesByLicense`
|
||||||
|
property mapping which files have which licenses. The
|
||||||
|
`bundledRootPackages` property in that file indicates which
|
||||||
|
`devDependencies` packages are actually copied into this repository
|
||||||
|
(so that npm or Git-based hosting services can include them
|
||||||
|
for live use of our editors).
|
||||||
|
1. License: Relicense `ext-mathjax.js` from `Apache-2.0` to `MIT` per
|
||||||
|
permission granted in <https://github.com/josegaert/ext-mathjax/issues/6>
|
||||||
|
1. License: Clarify in `@license` jsdoc that `ext-server_moinsave.js` is
|
||||||
|
"(MIT OR GPL-2.0-or-later)" per subsequent text
|
||||||
|
1. License: Reorder license listing in `jquery.contextMenu.js` so
|
||||||
|
that the more permissive license is noticeable first
|
||||||
|
1. See the new license badges on the README for a summary of
|
||||||
|
the licenses including either bundled devDependencies or all
|
||||||
|
`devDependencies` (we have no direct npm `dependencies` currently).
|
||||||
|
These badges categorize the licenses into different degrees of
|
||||||
|
permissiveness.
|
||||||
|
1. `$.pref` - Remove in favor of new `svgEditor.pref` (avoids polluting
|
||||||
|
`jQuery`). (This might be moved to its own module in future.)
|
||||||
|
1. `putLocale` (a function called automatically by `svg-editor.js`) no
|
||||||
|
longer checks `pref`. Should not impact average consumers.
|
||||||
|
1. Some unused files were removed, i.e., `jquery-ui-1.8.custom.min.js`,
|
||||||
|
some old build/tools closure/yuicompressor code, and the unmaintained
|
||||||
|
chrome-app, firefox-extension, and opera-widget. (However, an updated
|
||||||
|
WebExtensions replacement (or such) for these would be welcome.)
|
||||||
|
1. User-facing changes:
|
||||||
|
1. Clipboard: Move clipboard from `localStorage` to `sessionStorage`.
|
||||||
|
Listing as a breaking change as previously held clipboard data
|
||||||
|
will not be restored.
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "svgedit",
|
"name": "svgedit",
|
||||||
"version": "5.1.0",
|
"version": "6.0.0",
|
||||||
"lockfileVersion": 1,
|
"lockfileVersion": 1,
|
||||||
"requires": true,
|
"requires": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "svgedit",
|
"name": "svgedit",
|
||||||
"version": "5.1.0",
|
"version": "6.0.0",
|
||||||
"description": "Powerful SVG-Editor for your browser ",
|
"description": "Powerful SVG-Editor for your browser ",
|
||||||
"main": "dist/index-umd.js",
|
"main": "dist/index-umd.js",
|
||||||
"module": "dist/index-es.js",
|
"module": "dist/index-es.js",
|
||||||
|
@ -13,7 +13,10 @@
|
||||||
"node": ">=8.5.0"
|
"node": ">=8.5.0"
|
||||||
},
|
},
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"add-release": "git submodule add -b \"release-v$VERSION\" https://github.com/SVG-Edit/svgedit.git \"releases/svg-edit-$VERSION\" && git config --file=.gitmodules submodule.releases/latest.branch \"release-v$VERSION\"",
|
"add-release": "git fetch --all && git submodule add --depth=1 -b \"release-v$VERSION\" https://github.com/SVG-Edit/svgedit.git \"releases/svg-edit-$VERSION\" && git config --file=.gitmodules submodule.releases/latest.branch \"release-v$VERSION\"",
|
||||||
|
"submodules": "run-s submodules-init submodules-update",
|
||||||
|
"submodules-init": "echo \"Performing non-recursive init as don't want submodules to have their own releases!\" && git submodule update --init",
|
||||||
|
"submodules-update": "echo \"Performing non-recursive fetch as don't want submodules to have their own releases!\" git submodule foreach git fetch && git submodule foreach git submodule update --remote",
|
||||||
"start-allow-origin": "static -p 8001 -H '{\"Access-Control-Allow-Origin\": \"*\"}'",
|
"start-allow-origin": "static -p 8001 -H '{\"Access-Control-Allow-Origin\": \"*\"}'",
|
||||||
"start-embedded": "run-p start start-allow-origin",
|
"start-embedded": "run-p start start-allow-origin",
|
||||||
"start": "echo \"Open file, e.g., to http://localhost:8000/editor/svg-editor-es.html\" && static -p 8000",
|
"start": "echo \"Open file, e.g., to http://localhost:8000/editor/svg-editor-es.html\" && static -p 8000",
|
||||||
|
@ -55,7 +58,7 @@
|
||||||
"build-by-config": "rollup -c rollup-config.config.js",
|
"build-by-config": "rollup -c rollup-config.config.js",
|
||||||
"prep-no-core-rollup": "run-s eslint build-html build-by-config",
|
"prep-no-core-rollup": "run-s eslint build-html build-by-config",
|
||||||
"prep": "run-s prep-no-core-rollup rollup",
|
"prep": "run-s prep-no-core-rollup rollup",
|
||||||
"prepublishOnly": "npm run prep",
|
"prepublishOnly": "run-s license-badges copy build-docs prep",
|
||||||
"cypress:open-no-start": "cypress open",
|
"cypress:open-no-start": "cypress open",
|
||||||
"cypress:open": "run-p start cypress:open-no-start",
|
"cypress:open": "run-p start cypress:open-no-start",
|
||||||
"open-tests": "run-s instrument cypress:open",
|
"open-tests": "run-s instrument cypress:open",
|
||||||
|
|
|
@ -1 +1 @@
|
||||||
Subproject commit 334dc09c6354d37e4f57380a44b3818527befc7c
|
Subproject commit b1712702288c59ddf49d85d8252239b1834b880f
|
Loading…
Reference in New Issue