Commit Graph

188 Commits (782effbc3c83fd40085cff3788112516647b17fd)

Author SHA1 Message Date
Brett Zamir b7f8a63158 - Build: Update
- npm: Update devDeps.
2020-02-05 23:42:38 +08:00
Brett Zamir 33c84d89b8 - Linting (ESLint): As per latest ash-nazg
- npm: Update devDeps
2020-02-01 20:44:13 +08:00
Brett Zamir f9f359b98f - Linting (ESLint): As per latest ash-nazg (jsdoc for classes/methods)
- npm: Update devDeps
2020-01-29 12:09:42 +08:00
Brett Zamir cf80e31de7 - Build: Update
- npm: Update devDeps
2020-01-25 10:32:24 +08:00
Brett Zamir 1be01bc89a - Build: Updae
- npm: Update devDeps
2020-01-09 02:27:56 +08:00
Brett Zamir 97f64d2189 - Refactoring: Move `build-html` to `build` directory
- Optimization: Remove old build/tools closure/yuicompressor code
- Testing: Produce mochawesome report
- Testing: Cypress with multiple reporters (was expecting we'd need, but doesn't hurt to add for now)
- Docs: Add testing badge
- Docs: Reprioritize `docs` in commit lists (prioritize user-facing)
- npm: Update `package-lock.json` (seems to have fixed so Cypress shows incremental results)
2020-01-06 13:42:52 +08:00
Brett Zamir 205a70b385 - Linting (ESLint): Fix linting regression
- Build: Update
2020-01-05 18:30:21 +08:00
Brett Zamir d0d7efabc4 - Refactoring: Reduce BBQ dependency (not yet removable as used still in svgeditor) 2020-01-05 10:32:31 +08:00
Brett Zamir e356b95a03 - Fix: Background URL was not settable back to nothing; fixes #376 2020-01-04 22:32:52 +08:00
Brett Zamir cc6937ce96 - Linting (ESLint): Add rules to check for file-level tags 2020-01-01 01:15:16 +08:00
Brett Zamir 63ba8f39a1 - Linting (ESLint): Latest as per ash-nazg (disable now applicable rules not fixed during earlier testing)
- npm: Update devDeps
2019-12-31 17:55:15 +08:00
Brett Zamir 7fc26e114d - Refactoring: Ensure file-global tags are at beginning of file 2019-12-31 16:33:47 +08:00
Brett Zamir d9d4d94976 - Linting (ESLint): Apply per latest ash-nazg (jsdoc: complete sentence descriptions)
- npm: Update devDeps
2019-12-31 15:27:16 +08:00
Brett Zamir 22dda2c50b - Docs: Missing returns, param names 2019-12-31 13:45:42 +08:00
Brett Zamir 477d5fdb6c - Linting (ESLint): Update as per latest ash-nazg (bad jsdoc)
- npm: Update devDeps
2019-12-31 13:14:33 +08:00
Brett Zamir eb4401e998 - Update: Copy of core-js and qr-manipulation
- npm: Add `underscore` to copy script
- npm: Make `copy`, `compress-images`, `start-embedded`, `build-docs-remove`
  scripts cross-platform; add `start-allow-origin` script
- npm: Update devDeps/`package-lock.json`
2019-12-27 07:32:39 +08:00
Brett Zamir 8bd9466827 - Build: Update 2019-12-25 16:04:07 +08:00
Brett Zamir 31a98c1408 - Linting (ESLint): Apply latest ash-nazg (with latest unicorn)
- npm: Update devDeps
2019-12-23 09:16:16 +08:00
Brett Zamir aee1a45fd7 - npm: Update devDeps
- Build: Update dist files
2019-12-19 16:59:45 +08:00
Brett Zamir 5b91e6879e - npm: Update devDeps; update core-js-bundle copies 2019-12-17 21:16:47 +08:00
Brett Zamir b4f9484011 - Build: Update build files
- npm: Update devDeps
2019-12-02 11:03:28 +08:00
Brett Zamir a59170fbe1 - Linting (ESLint): Simplify regexes
- npm: Update scripts to reflect removal of `all_tests.html`;
  remove `browser-test` script
- npm: Update devDeps
2019-11-30 11:41:01 +08:00
Brett Zamir 34721f2351 - Fix (Accessibility): Avoid duplicate IDs 2019-11-23 21:23:05 +08:00
Brett Zamir e1671cc372 - Linting (ESLint): Per latest ash-nazg/eslint
- npm: Update devDeps
2019-11-23 19:17:32 +08:00
Brett Zamir 19f7962c4a - Revert `prefer-named-capture-group` due to apparently problematic Babel plugin 2019-11-16 10:08:38 +08:00
Brett Zamir cd0bdd9cce - Fix: IE 11 issue; fixes #363
- npm: Update devDeps
2019-11-16 09:29:09 +08:00
Brett Zamir a09c47283e - Linting: Add `ignore` folder to ignore file; ensure license versions are valid semver
- npm: Update devDeps
2019-11-13 14:16:06 +08:00
Brett Zamir c54444c08b - npm: Update devDeps 2019-10-21 02:51:00 +08:00
Brett Zamir d856dbae4a - Build: Update build per latest Babel
- npm: Add script to fix eslint errors
- npm: Update devDeps
2019-10-01 17:33:36 +08:00
Brett Zamir 404911827e - Linting (ESLint): Apply new rules ("fixme"->"todo"; prefer regex literals; defaults at end)
- Optimization: Image size
- npm: Bump devDeps (Babel/eslint/rollup-related; imageoptim, testcafe)
2019-09-20 12:40:31 +08:00
Brett Zamir 9e99e598f6 - Linting (ESLint): Fix for stricter linting checks
- npm: Update devDeps and core-js copy
2019-08-19 15:52:47 -07:00
Brett Zamir 3808f7d7c1 - Linting (ESLint): Avoid shadowing
- npm: Update devDeps
2019-08-05 21:36:51 -07:00
Brett Zamir 0ef3d2c64c - npm: update devDeps 2019-07-14 07:35:16 -07:00
Brett Zamir aa96a35f45 - Linting (ESLint): Apply per jsdoc improvements
- npm: Update devDeps (linting, Babel, axe testing)
2019-07-09 08:55:34 +08:00
Brett Zamir f734625587 - Fix: Avoid race condition in `jQuery.svgIcons.js` (evident
when attempting to load from `file:` URL in Chrome)
- npm: Update devDeps
2019-07-04 15:15:58 +08:00
Brett Zamir 21a6f4f456 - Refactoring: Avoid commonjs in Rollup
- Build: Update
- npm: Rebuild `package-lock.json` with later deps
2019-06-28 13:09:33 +08:00
Brett Zamir efcde397ac - Optimization: Re-rerun image optimization per update
- Linting (ESLint): Adjust per now applied rules
- Testing: Accessibility test API update
- Docs: Clarify need for Node.js/npm being installed
- npm: Update devDeps and core-js-bundle copy; add new axe testing peer dep. axe-core
2019-06-27 12:24:37 +08:00
Brett Zamir 4177146acd - Linting (ESLint): Remove now unneeded config and add per new update
- Refactoring: Prefer for-of, event.key (newly enforced linting)
- Refactoring: Better var. names
- npm: Update devDeps and update local copies
2019-06-11 16:40:28 +08:00
Brett Zamir d5ef6c5619 - Linting: Use new preference for "object"; fix @example code; bad @returns
- npm: Update devDeps
2019-05-22 23:43:29 +08:00
Brett Zamir 8d179aee0c - Deprecated: Should now use `avoidClientSideDownload` in place of
`avoidClientSide` (config for `ext-server_opensave.js`).
- Enhancement: Added `avoidClientSideOpen` config for
    `ext-server_opensave.js`
- npm: Update devDeps (including switching from deprecate opn-cli
    package to open-cli)
2019-05-21 17:50:56 +08:00
Brett Zamir 597644999d - Refactoring: Use `static` keyword for classes 2019-05-08 09:58:18 +08:00
Brett Zamir d423fb741f - npm: Update devDeps 2019-04-28 20:32:45 +08:00
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 1d56d75837 - Linting (JSDoc): Reenable jsdoc/valid-jsdoc as fixed; notes re: `valid-jsdoc` replacement; use same namepath
- npm: Update devDep
2019-04-17 19:12:55 +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 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 1c30c42105 - Fix (regression) Accidental opensave extension path move
- Build: Update
2019-04-03 16:47:43 +08:00
Brett Zamir 056f4f197c - Enhancement (svgIcons): Fix JSDoc param def; add `alt` options
- Accessibility: Begin work, add aria-label to some buttons and
    form controls; add `role=main`; `<img alt>`; `<iframe title>`
- i18n: Add `lang` attribute
- Refactoring: lbs, simplify i18nized element retrieval call
- Docs: Some JSDoc descriptions, JSDoc spacing, fix svgIcons param
    def; add todo
- Testing: Avoid reporting meta-viewport (have own zooming
    controls and difficult to fix)
2019-04-03 16:32:14 +08:00
Brett Zamir 69ea647286 - Fix: Droplets for gradient pickers can now be double-clicked in
other browsers in addition to Firefox such as Chrome
    to allow change of color (fixes #181) (@ajinkyas);
    may be different between the browsers as a result of
    <https://github.com/w3c/uievents/issues/141>
- Builds: Update
2019-04-03 11:31:06 +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 6d9130b1fb - Refactoring: Make dialog OK button retrievable locale-independently (for testing)
- Testing: Avoid testing being locale-dependent; approve storage (and set locale to English) before each test
2019-03-16 19:31:19 +08:00
Brett Zamir 27aa89e481 - Build: Update
- Docs (CHANGES): Update
2019-03-16 19:07:14 +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 bc2e1ef725 - Fix: Delay icon setting until locales available (fixes #323) 2019-03-05 22:55:02 +08:00
Brett Zamir e524ae6174 - Fix: Extension with no `placement` to be added to end;
for #326 (@sjernigan)
2019-03-05 22:19:02 +08:00
Brett Zamir d7b9cc6309 - Fix: Ensure copy preserves array values (e.g., dimensions in URL per #320) 2019-02-21 20:48:45 +08:00
Brett Zamir d01abf19d2 - npm: Update devDeps
- Linting (ESLint): New ash-nazg rules
2019-02-21 19:41:09 +08:00
Brett Zamir 08b310a9f2 - Linting (ESLint): Coding standards (prefer const, etc.)
- Refactoring: Use array destructuring for clearer var naming;
    prefer `includes` over `indexOf`
- Docs (CHANGES): Update
- Build: Update dist files for non-ES use
2019-02-21 16:26:26 +08:00
Brett Zamir db06248b7e - Optimization fix: Properly run code conditionally on browser check;
fixes #312 (@ianli-sc)
2018-12-27 09:51:26 +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 f53a2dbf3c - Build: Update `dist` 2018-12-08 08:37:05 +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 8b44af5398
Merge pull request #307 from NeiroNx/master
Fix Grid bug
2018-12-04 14:07:52 +08:00
NeiroNx 0dc5f81959
Fix grid bug in dist 2018-12-04 09:14:59 +04: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 4716a1985f - Enhancement: Add svgcanvas distributions (fixes #301) 2018-11-22 08:46:04 +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 ba1f0d7f14 - Fix: Adjust side panel width checking based on device zoom (fixes #298) 2018-11-16 14:17:26 +08:00
Brett Zamir b0fad3d765 - Fix (regression): Fix storage namespace; update build files to get regression fix applied 2018-11-16 13:33: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 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 aef7b095ef - Refactoring: Avoid unnecessary addEventListener `false`; change internal
jPicker function to class (used with `new`)
- Linting (ESLint): Add `valid-jsdoc` rule and make fixes; but turn off for
  now due to <https://github.com/eslint/eslint/issues/11036> and
  <https://github.com/eslint/eslint/issues/11037>
- Docs (JSDoc): Add some Markdown for variables, line breaks; tighten checks
  for overly generic types (though allow for `.Function` as in
  `jQuery.Function`) and avoid one previously missed instance
2018-10-31 00:31:12 +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 283ef0b521 - Fix: Have export handler, if triggered, always open a window even if no
window name was given (needed in Chrome to avoid opening an extra window)
- Fix (Embedded editor regression): Ensure event handlers are added even if
    document cannot be directly modified
- Enhancement: Add `opts` object to `rasterExport` with `avoidEvent` property
  to avoid calling the `exported` event
- Docs (CHANGES): Update
- Docs (README): Deemphasize unstable embedded editor fixes
2018-10-24 14:56:09 +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 25f02d99f2 - Refactoring: Display inline styles within a template for readability
(until we may refactor as class swapping)
- Refactoring: Line breaks
2018-10-24 09:44:43 +08:00
Brett Zamir a714c122d3 - Fix (Embedded editor): (Though embedding cross-origin iframes apparently
only working now in Chrome if same origin or if https?--at least not
  localhost of different ports), PDF export has been fixed (we download the
  PDF to workaround data URI limitations in Chrome)
- Fix (Embedded editor): Avoid using same origin shortcut if there is no
  global available to use (e.g., if using the modular editor)
- Fix (Embedded editor): Add events only after load is complete and
  svgCanvas is available; also log blocked error objects
- Enhancement: For PDF export, switch Chrome by default to "save" `outputType`
- Docs (JSdoc): Denote optional arguments
2018-10-23 22:24:09 +08:00
Brett Zamir 2835ec11b6 - Refactoring: Avoid redundant use of *AttributeNS methods with
`null` value; just use *Attribute methods without namespace
2018-10-23 18:14:27 +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 2cecbac24a - Fix (jgraduate->jpicker): Actually fix issue with color val check when no other proper results (equal to "all");
prior fix had not covered original intention
- Docs: Clean-up and fixes in CHANGES
2018-10-22 23:13:04 +08:00
Brett Zamir d13f99bb5e - Breaking change: Remove `storagePromptClosed` state boolean in favor of
`storagePromptState`; used by `ext-storage.js`
- Fix (regression): Ensure storage dialog will not be blocked because of
    canvas updating done for sake of centering background
- Fix (extensions): Ensure `langReady` changes are available by time prefs
  dialog is closed and that its changes have occurred by time extensions
  have first loaded (`setLang` now returns a Promise rather than `undefined`
  as it waits for extension's `langReady` to resolve); this is also useful
  with `ext-storage.js` so we know that `extensions_loaded` (which
  conditionally updates the canvas based on `storagePromptState`) has seen
  `langReady` and the storage extension hasn't set a `storagePromptState`
  of "waiting"
2018-10-21 18:38:53 +08:00
Brett Zamir c37e60fd87 - Fix: Centering of canvas wasn't being set at proper time; fixes #272
- Refactoring: Avoid unneeded internal IIFEs; simplify w/h formula
2018-10-21 01:17:44 +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 8024304a96 - Fix: Map extension click events to "mousedown" so they can be received
on touch devices (since `touch.js` changes `touchstart` to
    `mousedown`) (@ClemArt); closes #168
- Fix: Ensure extension `mouseup` events run on "zoom" and "select"
  modes (@iuyiuy); closes #159
2018-10-19 20:42:10 +08:00
Brett Zamir 714cbe0c44 Revert "- Fix: Regression with locale string setting"
This reverts commit a5265d2c22.
2018-10-02 22:50:27 +08:00
Brett Zamir a5265d2c22 - Fix: Regression with locale string setting 2018-10-02 21:19:47 +08:00
Brett Zamir 3909d2fd97 - Fix: Only clear selection by escape key if not within a dialog (as the escape key should only close the dialog)
- Fix: Ensure escape key will work from within input text boxes (as was already added for textareas)
- Refactoring: Share code for dialog selectors
2018-10-02 14:02:15 +08:00
Brett Zamir 2a943cd1fa - Enhancement: Allow 'a' also with meta key (command in Mac, ctrl otherwise)
to select all (part of #291)
- Enhancement: Add a global escape key listener to clear the selection
- Refactoring: Change 'a' to lower case in key command to avoid impression
  that shift is needed
2018-10-02 13:21:04 +08:00
Brett Zamir 3d2085c991 - Build: Update `dist` 2018-10-01 16:45:34 +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 9f7f7b9732 - Openclipart API work (waiting on possibility of their adding a missing CORS header) 2018-09-26 16:49:46 +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