From f3a83dcb1df1d09867e10feee372f33383de9ee5 Mon Sep 17 00:00:00 2001 From: Brett Zamir Date: Wed, 11 Mar 2020 00:23:54 +0800 Subject: [PATCH] - Linting (ESLint): As per latest ash-nazg (unicorn) - npm: Update devDeps; use stable eslint-plugin-mocha-cleanup now that updated - npm: Add scripts for reporting with test summaries (free of full noise during tests); auto-run at end of tests - npm: Update devDeps. and use stable version of eslint-plugin-mocha-cleanup --- .eslintrc.js | 2 +- .npmignore | 2 + CHANGES.md | 1 + badges/coverage-badge.svg | 12 +- dist/extensions/ext-imagelib.js | 6 +- dist/index-es.js | 8 +- dist/index-es.min.js | 2 +- dist/index-es.min.js.map | 2 +- dist/index-umd.js | 8 +- dist/index-umd.min.js | 2 +- dist/index-umd.min.js.map | 2 +- dist/jspdf.plugin.svgToPdf.js | 2 +- dist/svgcanvas-iife.js | 8 +- dist/svgcanvas-iife.min.js | 2 +- dist/svgcanvas-iife.min.js.map | 2 +- editor/extensions/ext-imagelib.js | 4 + editor/jspdf/jspdf.plugin.svgToPdf.js | 2 +- editor/svgcanvas.js | 9 +- editor/xdomain-svgedit-config-iife.js | 8 +- package-lock.json | 195 +++++++++++++++++--------- package.json | 25 ++-- svgedit-config-iife.js | 8 +- tools/mochawesome-cli.js | 116 +++++++++++++++ 23 files changed, 315 insertions(+), 113 deletions(-) create mode 100644 tools/mochawesome-cli.js diff --git a/.eslintrc.js b/.eslintrc.js index 86bcb0b7..d615e8e2 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -69,7 +69,7 @@ module.exports = { } }, { - files: ['.eslintrc.js', '.ncurc.js'], + files: ['.eslintrc.js', '.ncurc.js', 'tools/mochawesome-cli.js'], extends: [ 'plugin:node/recommended-script' ], diff --git a/.npmignore b/.npmignore index 90c43d1c..c13687ce 100644 --- a/.npmignore +++ b/.npmignore @@ -17,3 +17,5 @@ mochawesome-report/** mochawesome.json releases + +tools diff --git a/CHANGES.md b/CHANGES.md index 012bdfaa..46d1eb87 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -91,6 +91,7 @@ - npm: Update scripts to reflect removal of `all_tests.html`; remove `browser-test` script - npm: Add `add-release` script +- npm: Add reporting scripts (tests and coverage) - 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: Update `package-lock.json` diff --git a/badges/coverage-badge.svg b/badges/coverage-badge.svg index 2b78282d..7a6c2cc8 100644 --- a/badges/coverage-badge.svg +++ b/badges/coverage-badge.svg @@ -1,17 +1,17 @@ - + - + - - + + @@ -20,8 +20,8 @@ Coverage Coverage - 42.44% - 42.44% + 42.5% + 42.5% diff --git a/dist/extensions/ext-imagelib.js b/dist/extensions/ext-imagelib.js index 07d0f15f..b6e47853 100644 --- a/dist/extensions/ext-imagelib.js +++ b/dist/extensions/ext-imagelib.js @@ -515,7 +515,11 @@ var svgEditorExtension_imagelib = (function () { url = _ref2.url, description = _ref2.description; // Todo: Adopt some standard formatting library like `fluent.js` instead - url = url.replace(/\{path\}/g, extIconsPath).replace(/\{modularVersion\}/g, modularVersion ? imagelibStrings.moduleEnding || '-es' : ''); + url = url // Keep these regexes as is in prep. for switching to `u` flag + // which will require escaping + // eslint-disable-next-line unicorn/better-regex + .replace(/\{path\}/g, extIconsPath).replace( // eslint-disable-next-line unicorn/better-regex + /\{modularVersion\}/g, modularVersion ? imagelibStrings.moduleEnding || '-es' : ''); return { name: name, url: url, diff --git a/dist/index-es.js b/dist/index-es.js index 5cc0a1a3..fb6a1e98 100644 --- a/dist/index-es.js +++ b/dist/index-es.js @@ -18648,7 +18648,8 @@ function SvgCanvas(container, config) { var _svgcontent = svgcontent, nextSibling = _svgcontent.nextSibling; - var oldzoom = svgroot.removeChild(svgcontent); + svgcontent.remove(); + var oldzoom = svgcontent; batchCmd.addSubCommand(new RemoveElementCommand$1(oldzoom, nextSibling, svgroot)); // set new svg document // If DOM3 adoptNode() available, use it. Otherwise fall back to DOM2 importNode() @@ -20719,7 +20720,8 @@ function SvgCanvas(container, config) { var _t = t, nextSibling = _t.nextSibling; - var elem = parent.removeChild(t); + t.remove(); + var elem = t; selectedCopy.push(selected); // for the copy batchCmd.addSubCommand(new RemoveElementCommand$1(elem, nextSibling, parent)); @@ -21255,7 +21257,7 @@ function SvgCanvas(container, config) { clearSelection(); // delete the group element (but make undo-able) var gNextSibling = g.nextSibling; - g = parent.removeChild(g); + g.remove(); batchCmd.addSubCommand(new RemoveElementCommand$1(g, gNextSibling, parent)); if (!batchCmd.isEmpty()) { diff --git a/dist/index-es.min.js b/dist/index-es.min.js index 51c5c6d8..f6fece35 100644 --- a/dist/index-es.min.js +++ b/dist/index-es.min.js @@ -16,7 +16,7 @@ function H(t){var n=t.fn.attr;return t.fn.attr=function(t,r){var a=this.length;i * @module importModule * @license MIT */ -function sn(e){var t=document.createElement("a");return t.setAttribute("href",e),t.cloneNode(!1).href}function ln(e,t){["id","class","type"].forEach((function(n){n in t&&(e[n]=t[n])}))}function cn(e,t){return un(e,o({},t,{returnDefault:!0}))}function un(e,t){return dn.apply(this,arguments)}function dn(){return(dn=n(regeneratorRuntime.mark((function e(t,n){var r,a;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(r=n.global,a=n.returnDefault,!!("svgEditor"in window&&window.svgEditor&&!1===window.svgEditor.modules)){e.next=4;break}return e.abrupt("return",pn(t,void 0,{returnDefault:a}));case 4:return e.next=6,hn(t);case 6:return e.abrupt("return",window[r]);case 7:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function hn(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return Array.isArray(e)?Promise.all(e.map((function(e){return hn(e,t)}))):new Promise((function(n,r){var a=document.createElement("script");function i(){r(new Error("Failed to import: ".concat(e))),s()}function o(){n(),s()}var s=function(){a.removeEventListener("error",i),a.removeEventListener("load",o),a.remove(),a.src=""};a.defer="defer",ln(a,t),a.addEventListener("error",i),a.addEventListener("load",o),a.src=e,document.head.append(a)}))}function pn(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=n.returnDefault,a=void 0!==r&&r;return Array.isArray(e)?Promise.all(e.map((function(e){return pn(e,t)}))):new Promise((function(n,r){var i="$importModule$"+Math.random().toString(32).slice(2),o=document.createElement("script");function s(){r(new Error("Failed to import: ".concat(e))),c()}function l(){n(window[i]),c()}var c=function(){delete window[i],o.removeEventListener("error",s),o.removeEventListener("load",l),o.remove(),URL.revokeObjectURL(o.src),o.src=""};ln(o,t),o.defer="defer",o.type="module",o.addEventListener("error",s),o.addEventListener("load",l);var u=sn(e),d="import * as m from '".concat(u.replace(/'/g,"\\'"),"'; window.").concat(i," = ").concat(a?"m.default || ":"","m;"),h=new Blob([d],{type:"text/javascript"});o.src=URL.createObjectURL(h),document.head.append(o)}))}var fn={true:!0,false:!1,null:null};function gn(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{ok:"Ok",cancel:"Cancel"};t("#dialog_container").draggable({cancel:"#dialog_content, #dialog_buttons *",containment:"window"}).css("position","absolute");var r=t("#dialog_box"),a=t("#dialog_buttons"),i=t("#dialog_content");function o(o,s,l,c,u,d){i.html("

"+s.replace(/\n/g,"

")+"

").toggleClass("prompt","prompt"===o),a.empty();var h=t('').appendTo(a);return new Promise((function(p,f){var g,m;if("alert"!==o&&t('').appendTo(a).click((function(){r.hide(),p(!1)})),"prompt"===o)(g=t('').prependTo(a)).val(l||""),g.bind("keydown","return",(function(){h.click()}));else if("select"===o){var v=t('
');if(g=t('').appendTo(y)).val(d.value),d.tooltip&&y.attr("title",d.tooltip),m.prop("checked",Boolean(d.checked)),v.append(t("
").append(y))}t.each(c||[],(function(n,r){"object"===e(r)?g.append(t("