Commit Graph

77 Commits (c5190de4c628a10b7ff4982bcbe6d234699afdf6)

Author SHA1 Message Date
Brett Zamir 13835a368c - Fix: Ensure PHP files are present in `dist/extensions` alongside JavaScript files using them
- Fix: Bug in obtaining `extPath` in ext-server_opensave.js
- Enhancement: Add config `avoidClientSide` to avoid using client-side support by default (and always require server)
- Build: Require Node 8.5
2019-04-18 21:13:48 +08:00
Brett Zamir 4289d131a2 - npm: Update devDep
- Docs (code comment): Update comment now that config file is automatically created
2019-04-17 08:10:02 +08:00
Brett Zamir 894fed3e80 - Linting (JSDoc): Update per newly enforced `require-returns`; avoid Closure syntax
- Docs (JSDoc): Prefer `void`
- npm: Update devDeps
2019-04-16 08:58:40 +08:00
Brett Zamir 7ca6b458e6 - npm: Update devDeps 2019-04-11 21:55:29 +08:00
Brett Zamir 2cb6c51303 - npm: Update devDeps (and our @babel/polyfill copy) 2019-04-08 11:38:07 +08:00
Brett Zamir 0c1ddd44fa - Refactoring: Destructuring, templates, label Unicode code point
- npm: Rename `build-doc` to `build-docs`; add `open-docs` script
2019-04-08 10:51:34 +08:00
Brett Zamir b8cc9cf724 - Docs (README): lbs; add release blurb
- npm: Bump to 4.3.0
2019-04-03 17:44:00 +08:00
Brett Zamir 6d2794beb4 - Testing: Skip js errors in Testcafe; we're getting some uncaught
error despite not replicating manually; should file a Testcafe issue
- Build: Update
- npm: Update devDeps
2019-04-03 17:05:18 +08:00
Brett Zamir 1ae6e91bb0 - Linting (ESLint): Update polyfills to new compat rules of
eslint-config-ash-nazg and adhere to new rules (prefer `for-of`
  (or array methods) to `for`, catch preferred `includes` to `indexOf`);
  avoid `no-zero-fractions` rule for now
- npm: Update devDeps (removing one unneeded)
2019-03-31 17:39:19 +08:00
Brett Zamir dade2a7b37 - Linting (ESLint): Apply coding standards
- Testing (Refactoring): Abstract out to helper file functions for approving local storage and opening the main menu
- Docs (CHANGES): Update
- npm: Update devDeps; update nested deps for security audit
2019-03-16 12:33:35 +08:00
Brett Zamir d01abf19d2 - npm: Update devDeps
- Linting (ESLint): New ash-nazg rules
2019-02-21 19:41:09 +08:00
Brett Zamir 01083faf73 - Docs: Update CHANGES
- npm: Update devDeps
- npm: Bump to 4.2.0
2018-12-13 09:48:06 +08:00
Brett Zamir 142047b16d - npm: Bump devDeps and adjust linting accordingly 2018-12-09 20:56:57 +08:00
Brett Zamir cf476ed8ea - l10n: Add zh-CN dist files
- Linting (ESLint): Add back `no-console`; while useful for debugging, could flag incomplete code (and was breaking at reporting of unused directives)
- Docs (CHANGES): Add changes and apply more formal style
- Build: Rebuild with updated Babel/Rollup
- npm: Update devDeps
2018-12-04 14:36:02 +08:00
Brett Zamir c6d07fbb7c - Fix: Extension locales with hyphens
- npm: Bump to 4.1.0
2018-11-29 20:41:50 +08:00
Brett Zamir 99ec41a3c3 - Fix: Avoid cross-frame unsafe `instanceof`
- npm: Update eslint-config-ash-nazg
2018-11-28 08:56:41 +08:00
Brett Zamir 3f861af42d - Update: Bump StackBlur version 2018-11-25 22:15:33 +08:00
Brett Zamir 845dbbd7d7 - Linting (ESLint): Prefer `addEventListener`, exponentiation operator, avoiding catastrophic regexes, prefer spread, prefer startsWith/endsWith, no fn ref in iterator
- npm: Update devDeps (rollup and eslint-config-ash-nazg)
2018-11-21 21:03:14 +08:00
Brett Zamir 1c284c948d - Fix (regression): RGBColor
- npm: Bump to 4.0.1
2018-11-16 15:44:20 +08:00
Brett Zamir c5fd7678fb - npm: Update `eslint-config-ash-nazg` 2018-11-16 15:05:31 +08:00
Brett Zamir b2bef6dfb6 - Linting: Update eslint-config-ash-nazg 2018-11-16 14:41:13 +08:00
Brett Zamir 2e5c7557a9 - Breaking change: `loadSvgString` now returns a `Promise` rather than accepting a callback
- Breaking change: Treat callbacks to `editor.ready` as Promises, only resolving after all resolve
- Breaking change: Make `editor.runCallbacks` return a `Promise` which resolves upon all callbacks resolving
- Breaking change: Require `npx` (used with `babel-node`) to allow Node files
  for HTML building and JSDoc type checking to be expressed as ESM.
- Breaking change: `addExtension` now throws upon a repeated attempt to add an already-added extension
- Breaking change (storage preference cookies): Namespace the cookie as "svgeditstore" instead of just "store"
- Breaking change (API): Remove `svgCanvas.rasterExport` fourth (callback) argument, collapsing fifth (options) to fourth
- Breaking change (API): Remove `svgCanvas.exportPDF` third (callback) argument
- Breaking change (API): `editor/contextmenu.js` `add` now throws instead of giving a console error only upon detecting a bad menuitem or preexisting context menu
- Breaking change (API): Remove `svgCanvas.embedImage` second (callback) argument
- Breaking change (API): Make `getHelpXML` a class instead of instance method of `RGBColor`
- Breaking change (internal API): Refactor `dbox` (and `alert`/`confirm`/`process`/`prompt`/`select`) to avoid a callback argument in favor of return a Promise
- Fix: Avoid running in extension `langReady` multiple times or serially
- Enhancement (API): Add svgCanvas.runExtension to run just one extension and add `nameFilter` callback to `runExtensions`
- Enhancement (API): Supply `$` (our wrapped jQuery) to extensions so can use its plugins, e.g., dbox with its `alert`
- Enhancement: Use alert dialog in place of `alert` in webappfind
- Enhancement: `editor.ready` now returns a Promise resolving when all callbacks have resolved
- Enhancement: Allow `noAlert` option as part of second argument to `loadSvgString` (and `loadFromURL` and `loadFromDataURI`) to avoid UI alert (and trigger promise rejection)
- Enhancement: Make `dbox` as a separate module for alert, prompt, etc. dialogs
- Refactoring: Internal `PaintBox` as class; other misc. tweaks; no bitwise in canvg
- Linting (ESLint): Further linting changes (for editor); rename `.eslintrc` -> `.eslintrc.json` per recommendation
- Optimization: Recompress images (imageoptim-cli updated)
- npm: Update devDeps
- npm: Bump to 4.0.0
2018-11-16 12:48:23 +08:00
Brett Zamir 7c470e9909 - Linting (ESLint): Stricter rules (or switch to warning)
- Breaking internal API change: `updateGripCursor` moved to be class method of Selector rather than instance method
- Breaking internal API change: `subpathIsClosed` moved to be class method of `Path` rather than instance method
- Refactoring: Reuse utilities base64 encoder for SVG icons plugin
- Docs (JSDoc): Fix return of the `mouseUp` (can also be an object) and `mouseDown` (may also be a boolean) of `pathActions`; other JSDoc additions/improvements
2018-11-08 14:42:48 +08:00
Brett Zamir 901c9547fe TODO: Besides splitting this out from previous commit, should really avoid markdown field in favor of modifying jsdoc to report wherever it lays out "prettyprint"; still probably missing some one-liners; see https://github.com/google/code-prettify; update builds to confirm new stackblur is working; add below to CHANGES; add back for eslint-plugin-jsdoc once merged (though need new version `^3.9.1`); move any linting changes to other linting branch
- Refactoring (minor): Add favicon to canvas demo
- Linting (ESLint Markdown JavaScript): Add `eslint-plugin-markdown` with
  slightly loosened config (`no-undef` and `padded-blocks` off and
  `no-unused-vars` as a warning)
- Linting (ESLint JSDoc code comments): Add `eslint-plugin-jsdoc` and apply to
    JSDoc code comments
- Linting (ESLint): Completely avoid unescaped tabs in files
- Docs (Linting): Add linting info file
- npm: Rename `copy-deps` script to `copy`
- Refactoring: Add stackblur-canvas as a dependency and copy it in (until such time as we can do so for canvg)
2018-11-07 14:51:09 +08:00
Brett Zamir afa5576ed1 TODO: Check out https://github.com/qard/remark-lint-code and https://www.npmjs.com/package/remark-lint-code-eslint ; add below to CHANGES
- Docs (JSDocs) Switch to JS-based config file
- Leverage syntax highlighting reporting of JSDoc to lint our code (npm version does not seem to reflect that on Github, so we use Github version we need)
- Docs (ESLint): Apply most of our ESLint rules (except `no-undefined` and `padded-blocks`) to sample code blocks
2018-11-04 16:49:27 +08:00
Brett Zamir 8899680e60 - npm: Actually commit minor version update to avoid vulnerable qunit dependency; also update sinon
- npm: Avoid using Github version of JSDoc (used in a branch for layout override testing); do a fresh
    install of all packages and update `package-lock.json` accordingly; update qunit dist and openclipart
- npm: Bump to 3.2.0
2018-11-04 15:38:28 +08:00
Brett Zamir 8775528c94 - Docs (CHANGES): Add main heading
- npm: Update devDeps (including Jamilih copied into dist files as well as an updated qunit which resolves some security vulnerabilities
2018-11-04 15:14:53 +08:00
Brett Zamir 9b9c900ede - Linting (ESLint compat): Add eslint-plugin-compat to get browser support
warnings
- Docs (README): Indicate minimal polyfills needed for older browsers
    (IE <= 11, IE Mobile, Opera Mini, Blackberry Browser <= 10,
    Android Browser 4.4.3-4.4.4)
- npm: Update devDeps
2018-10-29 08:46:34 +08:00
Brett Zamir b573a85fba - Fix: Save broken on Firefox (since FF version?)
- 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
2018-10-25 10:45:57 +08:00
Brett Zamir 89515b7e1e - Docs: For clarity, rename `grep-jsdoc.js` to `jsdoc-check-overly-generic-types.js`
- Docs: Move GenericCallback to typedefs.js for possible reuse
- npm: Update "grep-doc" to "types-doc" for greater clarity
2018-10-25 10:09:32 +08:00
Brett Zamir 9a9f5b6a18 - npm: Per convention, switch Node-based (headless browser) testing script to
`npm test` and change the browser tests to "browser-test"
2018-10-24 15:24:08 +08:00
Brett Zamir 07f59ba01a - Refactoring: Reorder path config to group (non-modular-dependent) image
paths together (and correct code comment)
- Docs: CHANGES clarifications/fixes
- Docs: Migrations documents section
- Docs: Add code comment re: use of `extIconsPath` in Mathjax
- Docs: Add JSDoc indicate @this for `ExtensionInitResponse#callback`
- Build: Update build files
- npm: Bump to 3.1.0
2018-10-24 13:52:08 +08:00
Brett Zamir f4bbd34d34 - Fix: Revert fix to have extension `mouseup` events run on "zoom" and
"select" modes (#159); breaks polygon selection
- npm: Bump to 3.0.1
2018-10-22 23:43:59 +08:00
Brett Zamir 7dce21aa93 - npm: Bump to 3.0.0! 2018-10-21 18:48:15 +08:00
Brett Zamir fb9eb80798 - Fix (regression): Extension locale loading for non-English locales
- Fix: Allow language to be properly set back to a different locale and
  retaining preference (and ensure language changes are available before
  dialog closed)
- Refactoring: array extra/spread operator
- npm: Update devDep (sinon-test)
2018-10-20 22:21:58 +08:00
Brett Zamir 0dc0324104 - npm: Update devDeps 2018-10-19 20:59:24 +08:00
Brett Zamir 253732025a - Linting (Markdown): Fix linting format
- Linting (HTML): Add linting file
2018-10-19 15:19:18 +08:00
Brett Zamir e735142a40 - Refactoring: Although openclipart is not currently working, we still add routine for copying query-result/qr-manipulation to be able to use them in other script 2018-09-30 13:33:00 +08:00
Brett Zamir 71b2b33e41 - Fix: Avoid errors occurring in Chrome now for `supportsGoodTextCharPos`
- Linting: Avoid Jamilih file in doc linting
- Testing: Add testcafe (ESLint plugin/rules, accessibility test
  (failing), ui test beginnings (passing))
- Docs: Add "Testing" prefix to contributing file
- npm: Bump to 3.0.0-rc.3
2018-09-30 12:13:34 +08:00
Brett Zamir 1a214ae444 - npm: Update devDeps 2018-09-29 10:59:46 +08:00
Brett Zamir ae58be8277 - Build: Babel 7
- npm: Update qr-manipulation
2018-09-26 21:27:52 +08:00
Brett Zamir ae7d0d1331 - Compatibility fix (openclipart): Ensure polyfill present; make separate non-modular build (still not integrated as API incomplete)
- Docs: Add compatibility fix to Contributing
2018-09-26 16:06:57 +08:00
Brett Zamir ab5aec978e - Further work on openclipart (now just need to pass to ) 2018-09-26 14:46:53 +08:00
Brett Zamir 526c87b61e - Further work on openclipart (use qr-manipulation) 2018-09-26 12:38:00 +08:00
Brett Zamir 4b6be7a871 - Incomplete enhancement: Add Openclipart query page (using Jamilih); need to better format results and tie into Imagelib 2018-09-25 16:49:26 +08:00
Brett Zamir 175c72ec11 - npm: Update devDep (node-static) 2018-09-25 11:25:19 +08:00
Brett Zamir f3b29b94db - Docs: Add badges (npm, license, lgtm)
- npm: Update devDeps
2018-09-22 11:14:53 +08:00
Brett Zamir 4b22c248e4 - npm: Update devDeps
- Build: Switch to `terser` plugin with `uglify` plugin not
    supporting ES6+-capable minifier
- Linting (ESLint): Consistent curly spacing; follow new "standard"
2018-09-07 08:19:45 +08:00
Brett Zamir 4e7cec4e8e - npm: Point to official sinon-test package now that ES6 Modules
support landed
2018-09-07 04:54:56 +08:00
Brett Zamir 97d093d6ef - Linting (ESLint): Add xdomain file to ignore file
- Fix (i18n): Regression in last commit with locales and apostrophe values
- npm: Avoid adding config files to ignore file
- npm: Bump to 3.0.0-rc.2
- Build: Update build
2018-07-31 15:15:25 -07:00