diff --git a/.eslintrc.js b/.eslintrc.js index b1da14cee1b..8e646e23cd0 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -13,4 +13,7 @@ module.exports = { files: ['**/*.ts'], } ], + rules: { + '@typescript-eslint/ban-ts-comment': 1, + } }; diff --git a/index.js b/index.js index 3ea83bbefe7..995ad1ca799 100644 --- a/index.js +++ b/index.js @@ -1,100 +1,100 @@ -import { fabric } from './HEADER.js'; -// import './lib/event.js'), // optional gestures -import './src/mixins/observable.mixin.js'; -import './src/mixins/collection.mixin.js'; -import './src/mixins/shared_methods.mixin.js'; -import './src/util/misc.js'; -// import './src/util/named_accessors.mixin.js'; i would imagine dead forever or proper setters/getters -import './src/util/path.js'; -import './src/util/lang_array.js'; -import './src/util/lang_object.js'; -import './src/util/lang_string.js'; -import './src/util/lang_class.js'; -import './src/util/dom_event.js'; // optional interaction -import './src/util/dom_style.js'; -import './src/util/dom_misc.js'; -import './src/util/dom_request.js'; -import './src/log.js'; -import './src/util/animate.js'; // optional animation -import './src/util/animate_color.js'; // optional animation -import './src/util/anim_ease.js'; // optional easing -import './src/parser.js'; // optional parser -import './src/elements_parser.js'; // optional parser -import './src/point.class.js'; -import './src/intersection.class.js'; -import './src/color.class.js'; -import './src/controls.actions.js'; // optional interaction -import './src/controls.render.js'; // optional interaction -import './src/control.class.js'; // optional interaction -import './src/gradient.class.js'; // optional gradient -import './src/pattern.class.js'; // optional pattern -import './src/shadow.class.js'; // optional shadow -import './src/static_canvas.class.js'; -import './src/brushes/base_brush.class.js'; // optional freedrawing -import './src/brushes/pencil_brush.class.js'; // optional freedrawing -import './src/brushes/circle_brush.class.js'; // optional freedrawing -import './src/brushes/spray_brush.class.js'; // optional freedrawing -import './src/brushes/pattern_brush.class.js'; // optional freedrawing -import './src/canvas.class.js'; // optional interaction -import './src/mixins/canvas_events.mixin.js'; // optional interaction -import './src/mixins/canvas_grouping.mixin.js'; // optional interaction -import './src/mixins/canvas_dataurl_exporter.mixin.js'; -import './src/mixins/canvas_serialization.mixin.js'; // optiona serialization -import './src/mixins/canvas_gestures.mixin.js'; // optional gestures -import './src/shapes/object.class.js'; -import './src/mixins/object_origin.mixin.js'; -import './src/mixins/object_geometry.mixin.js'; -import './src/mixins/object_ancestry.mixin.js'; -import './src/mixins/object_stacking.mixin.js'; -import './src/mixins/object.svg_export.js'; -import './src/mixins/stateful.mixin.js'; -import './src/mixins/object_interactivity.mixin.js'; // optional interaction -import './src/mixins/animation.mixin.js'; // optional animation -import './src/shapes/line.class.js'; -import './src/shapes/circle.class.js'; -import './src/shapes/triangle.class.js'; -import './src/shapes/ellipse.class.js'; -import './src/shapes/rect.class.js'; -import './src/shapes/polyline.class.js'; -import './src/shapes/polygon.class.js'; -import './src/shapes/path.class.js'; -import './src/shapes/group.class.js'; -import './src/shapes/active_selection.class.js'; // optional interaction -import './src/shapes/image.class.js'; -import './src/mixins/object_straightening.mixin.js'; // optional objectstraightening -import './src/filters/webgl_backend.class.js'; // optional image_filters -import './src/filters/2d_backend.class.js'; // optional image_filters -import './src/filters/base_filter.class.js'; // optional image_filters -import './src/filters/colormatrix_filter.class.js'; // optional image_filters -import './src/filters/brightness_filter.class.js'; // optional image_filters -import './src/filters/convolute_filter.class.js'; // optional image_filters -import './src/filters/grayscale_filter.class.js'; // optional image_filters -import './src/filters/invert_filter.class.js'; // optional image_filters -import './src/filters/noise_filter.class.js'; // optional image_filters -import './src/filters/pixelate_filter.class.js'; // optional image_filters -import './src/filters/removecolor_filter.class.js'; // optional image_filters -import './src/filters/filter_generator.js'; // optional image_filters -import './src/filters/blendcolor_filter.class.js'; // optional image_filters -import './src/filters/blendimage_filter.class.js'; // optional image_filters -import './src/filters/resize_filter.class.js'; // optional image_filters -import './src/filters/contrast_filter.class.js'; // optional image_filters -import './src/filters/saturate_filter.class.js'; // optional image_filters -import './src/filters/vibrance_filter.class.js'; // optional image_filters -import './src/filters/blur_filter.class.js'; // optional image_filters -import './src/filters/gamma_filter.class.js'; // optional image_filters -import './src/filters/composed_filter.class.js'; // optional image_filters -import './src/filters/hue_rotation.class.js'; // optional image_filters -import './src/shapes/text.class.js'; // optional text -import './src/mixins/text_style.mixin.js'; // optional text -import './src/shapes/itext.class.js'; // optional itext -import './src/mixins/itext_behavior.mixin.js'; // optional itext -import './src/mixins/itext_click_behavior.mixin.js'; // optional itext -import './src/mixins/itext_key_behavior.mixin.js'; // optional itext -import './src/mixins/itext.svg_export.js'; // optional itext -import './src/shapes/textbox.class.js'; // optional textbox -import './src/mixins/default_controls.js'; // optional interaction +import { fabric } from './HEADER'; +// import './lib/event'), // optional gestures +import './src/mixins/observable.mixin'; +import './src/mixins/collection.mixin'; +import './src/mixins/shared_methods.mixin'; +import './src/util/misc'; +// import './src/util/named_accessors.mixin'; i would imagine dead forever or proper setters/getters +import './src/util/path'; +import './src/util/lang_array'; +import './src/util/lang_object'; +import './src/util/lang_string'; +import './src/util/lang_class'; +import './src/util/dom_event'; // optional interaction +import './src/util/dom_style'; +import './src/util/dom_misc'; +import './src/util/dom_request'; +import './src/log'; +import './src/util/animate'; // optional animation +import './src/util/animate_color'; // optional animation +import './src/util/anim_ease'; // optional easing +import './src/parser'; // optional parser +import './src/elements_parser'; // optional parser +import './src/point.class'; +import './src/intersection.class'; +import './src/color.class'; +import './src/controls.actions'; // optional interaction +import './src/controls.render'; // optional interaction +import './src/control.class'; // optional interaction +import './src/gradient.class'; // optional gradient +import './src/pattern.class'; // optional pattern +import './src/shadow.class'; // optional shadow +import './src/static_canvas.class'; +import './src/brushes/base_brush.class'; // optional freedrawing +import './src/brushes/pencil_brush.class'; // optional freedrawing +import './src/brushes/circle_brush.class'; // optional freedrawing +import './src/brushes/spray_brush.class'; // optional freedrawing +import './src/brushes/pattern_brush.class'; // optional freedrawing +import './src/canvas.class'; // optional interaction +import './src/mixins/canvas_events.mixin'; // optional interaction +import './src/mixins/canvas_grouping.mixin'; // optional interaction +import './src/mixins/canvas_dataurl_exporter.mixin'; +import './src/mixins/canvas_serialization.mixin'; // optiona serialization +import './src/mixins/canvas_gestures.mixin'; // optional gestures +import './src/shapes/object.class'; +import './src/mixins/object_origin.mixin'; +import './src/mixins/object_geometry.mixin'; +import './src/mixins/object_ancestry.mixin'; +import './src/mixins/object_stacking.mixin'; +import './src/mixins/object.svg_export'; +import './src/mixins/stateful.mixin'; +import './src/mixins/object_interactivity.mixin'; // optional interaction +import './src/mixins/animation.mixin'; // optional animation +import './src/shapes/line.class'; +import './src/shapes/circle.class'; +import './src/shapes/triangle.class'; +import './src/shapes/ellipse.class'; +import './src/shapes/rect.class'; +import './src/shapes/polyline.class'; +import './src/shapes/polygon.class'; +import './src/shapes/path.class'; +import './src/shapes/group.class'; +import './src/shapes/active_selection.class'; // optional interaction +import './src/shapes/image.class'; +import './src/mixins/object_straightening.mixin'; // optional objectstraightening +import './src/filters/webgl_backend.class'; // optional image_filters +import './src/filters/2d_backend.class'; // optional image_filters +import './src/filters/base_filter.class'; // optional image_filters +import './src/filters/colormatrix_filter.class'; // optional image_filters +import './src/filters/brightness_filter.class'; // optional image_filters +import './src/filters/convolute_filter.class'; // optional image_filters +import './src/filters/grayscale_filter.class'; // optional image_filters +import './src/filters/invert_filter.class'; // optional image_filters +import './src/filters/noise_filter.class'; // optional image_filters +import './src/filters/pixelate_filter.class'; // optional image_filters +import './src/filters/removecolor_filter.class'; // optional image_filters +import './src/filters/filter_generator'; // optional image_filters +import './src/filters/blendcolor_filter.class'; // optional image_filters +import './src/filters/blendimage_filter.class'; // optional image_filters +import './src/filters/resize_filter.class'; // optional image_filters +import './src/filters/contrast_filter.class'; // optional image_filters +import './src/filters/saturate_filter.class'; // optional image_filters +import './src/filters/vibrance_filter.class'; // optional image_filters +import './src/filters/blur_filter.class'; // optional image_filters +import './src/filters/gamma_filter.class'; // optional image_filters +import './src/filters/composed_filter.class'; // optional image_filters +import './src/filters/hue_rotation.class'; // optional image_filters +import './src/shapes/text.class'; // optional text +import './src/mixins/text_style.mixin'; // optional text +import './src/shapes/itext.class'; // optional itext +import './src/mixins/itext_behavior.mixin'; // optional itext +import './src/mixins/itext_click_behavior.mixin'; // optional itext +import './src/mixins/itext_key_behavior.mixin'; // optional itext +import './src/mixins/itext.svg_export'; // optional itext +import './src/shapes/textbox.class'; // optional textbox +import './src/mixins/default_controls'; // optional interaction // extends fabric.StaticCanvas, fabric.Canvas, fabric.Object, depends on fabric.PencilBrush and fabric.Rect -// import './src/mixins/eraser_brush.mixin.js'; // optional erasing +// import './src/mixins/eraser_brush.mixin'; // optional erasing if (typeof exports !== 'undefined') { exports.fabric = fabric; } diff --git a/package-lock.json b/package-lock.json index f48c27de45b..c68ba1fcd9f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -19,7 +19,7 @@ "chalk": "^2.4.1", "commander": "^9.1.0", "deep-object-diff": "^1.1.7", - "eslint": "^8.18.0", + "eslint": "^8.21.0", "fs-extra": "^10.0.1", "fuzzy": "^0.1.3", "inquirer": "^8.2.1", @@ -31,7 +31,7 @@ "rollup": "^2.75.6", "rollup-plugin-terser": "^7.0.2", "rollup-plugin-ts": "^3.0.2", - "testem": "^3.2.0", + "testem": "^3.8.0", "typescript": "^4.7.4" }, "engines": { @@ -448,9 +448,9 @@ } }, "node_modules/@humanwhocodes/config-array": { - "version": "0.9.5", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.9.5.tgz", - "integrity": "sha512-ObyMyWxZiCu/yTisA7uzx81s40xR2fD5Cg/2Kq7G02ajkNubJf6BopgDTmDyc3U7sXpNKM8cYOw7s7Tyr+DnCw==", + "version": "0.10.4", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.10.4.tgz", + "integrity": "sha512-mXAIHxZT3Vcpg83opl1wGlVZ9xydbfZO3r5YfRSH6Gpp2J/PfdBP0wbDa2sO6/qRbcalpoevVyW6A/fI6LfeMw==", "dev": true, "dependencies": { "@humanwhocodes/object-schema": "^1.2.1", @@ -461,6 +461,16 @@ "node": ">=10.10.0" } }, + "node_modules/@humanwhocodes/gitignore-to-minimatch": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@humanwhocodes/gitignore-to-minimatch/-/gitignore-to-minimatch-1.0.2.tgz", + "integrity": "sha512-rSqmMJDdLFUsyxR6FMtD00nfQKKLFb1kv+qBbOVKqErvloEIJLo5bDTJTQNTYgeyp78JsA7u/NPi5jT1GR/MuA==", + "dev": true, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, "node_modules/@humanwhocodes/object-schema": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", @@ -984,9 +994,9 @@ } }, "node_modules/@xmldom/xmldom": { - "version": "0.7.5", - "resolved": "https://registry.npmjs.org/@xmldom/xmldom/-/xmldom-0.7.5.tgz", - "integrity": "sha512-V3BIhmY36fXZ1OtVcI9W+FxQqxVLsPKcNjWigIaa81dLC9IolJl5Mt4Cvhmr0flUnjSpTdrbMTSbXqYqV5dT6A==", + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/@xmldom/xmldom/-/xmldom-0.8.2.tgz", + "integrity": "sha512-+R0juSseERyoPvnBQ/cZih6bpF7IpCXlWbHRoCRzYzqpz6gWHOgf8o4MOEf6KBVuOyqU+gCNLkCWVIJAro8XyQ==", "dev": true, "engines": { "node": ">=10.0.0" @@ -1018,9 +1028,9 @@ } }, "node_modules/acorn": { - "version": "8.7.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.7.0.tgz", - "integrity": "sha512-V/LGr1APy+PXIwKebEWrkZPwoeoF+w1jiOBUmuxuiUIaOHtob8Qc9BTrYo7VuI5fR8tqsy+buA2WFooR5olqvQ==", + "version": "8.8.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.0.tgz", + "integrity": "sha512-QOxyigPVrpZ2GXT+PFyZTl6TtOFc5egxHIP9IlQ+RbupQuX4RkT/Bee4/kQuC02Xkzg84JcT7oLYtDIQxp+v7w==", "devOptional": true, "bin": { "acorn": "bin/acorn" @@ -1189,7 +1199,7 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/aproba/-/aproba-2.0.0.tgz", "integrity": "sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==", - "optional": true + "devOptional": true }, "node_modules/archy": { "version": "1.0.0", @@ -1738,15 +1748,6 @@ "node": ">=0.8" } }, - "node_modules/code-point-at": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", - "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/color-convert": { "version": "1.9.3", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", @@ -1766,7 +1767,7 @@ "version": "1.1.3", "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz", "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==", - "optional": true, + "devOptional": true, "bin": { "color-support": "bin.js" } @@ -1883,12 +1884,12 @@ "devOptional": true }, "node_modules/consolidate": { - "version": "0.15.1", - "resolved": "https://registry.npmjs.org/consolidate/-/consolidate-0.15.1.tgz", - "integrity": "sha512-DW46nrsMJgy9kqAbPt5rKaCr7uFtpo4mSUvLHIUbJEjm0vo+aY5QLwBUq3FK4tRnJr/X0Psc0C4jf/h+HtXSMw==", + "version": "0.16.0", + "resolved": "https://registry.npmjs.org/consolidate/-/consolidate-0.16.0.tgz", + "integrity": "sha512-Nhl1wzCslqXYTJVDyJCu3ODohy9OfBMB5uD2BiBTzd7w+QY0lBzafkR8y8755yMYHAaMD4NuzbAw03/xzfw+eQ==", "dev": true, "dependencies": { - "bluebird": "^3.1.1" + "bluebird": "^3.7.2" }, "engines": { "node": ">= 0.10.0" @@ -2411,13 +2412,14 @@ } }, "node_modules/eslint": { - "version": "8.18.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.18.0.tgz", - "integrity": "sha512-As1EfFMVk7Xc6/CvhssHUjsAQSkpfXvUGMFC3ce8JDe6WvqCgRrLOBQbVpsBFr1X1V+RACOadnzVvcUS5ni2bA==", + "version": "8.21.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.21.0.tgz", + "integrity": "sha512-/XJ1+Qurf1T9G2M5IHrsjp+xrGT73RZf23xA1z5wB1ZzzEAWSZKvRwhWxTFp1rvkvCfwcvAUNAP31bhKTTGfDA==", "dev": true, "dependencies": { "@eslint/eslintrc": "^1.3.0", - "@humanwhocodes/config-array": "^0.9.2", + "@humanwhocodes/config-array": "^0.10.4", + "@humanwhocodes/gitignore-to-minimatch": "^1.0.2", "ajv": "^6.10.0", "chalk": "^4.0.0", "cross-spawn": "^7.0.2", @@ -2427,14 +2429,17 @@ "eslint-scope": "^7.1.1", "eslint-utils": "^3.0.0", "eslint-visitor-keys": "^3.3.0", - "espree": "^9.3.2", + "espree": "^9.3.3", "esquery": "^1.4.0", "esutils": "^2.0.2", "fast-deep-equal": "^3.1.3", "file-entry-cache": "^6.0.1", + "find-up": "^5.0.0", "functional-red-black-tree": "^1.0.1", "glob-parent": "^6.0.1", "globals": "^13.15.0", + "globby": "^11.1.0", + "grapheme-splitter": "^1.0.4", "ignore": "^5.2.0", "import-fresh": "^3.0.0", "imurmurhash": "^0.1.4", @@ -2600,6 +2605,22 @@ "node": "^12.22.0 || ^14.17.0 || >=16.0.0" } }, + "node_modules/eslint/node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/eslint/node_modules/glob-parent": { "version": "6.0.2", "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", @@ -2661,6 +2682,21 @@ "node": ">= 0.8.0" } }, + "node_modules/eslint/node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dev": true, + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/eslint/node_modules/minimatch": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", @@ -2690,6 +2726,36 @@ "node": ">= 0.8.0" } }, + "node_modules/eslint/node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint/node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/eslint/node_modules/prelude-ls": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", @@ -2736,29 +2802,20 @@ } }, "node_modules/espree": { - "version": "9.3.2", - "resolved": "https://registry.npmjs.org/espree/-/espree-9.3.2.tgz", - "integrity": "sha512-D211tC7ZwouTIuY5x9XnS0E9sWNChB7IYKX/Xp5eQj3nFXhqmiUDB9q27y76oFl8jTg3pXcQx/bpxMfs3CIZbA==", + "version": "9.3.3", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.3.3.tgz", + "integrity": "sha512-ORs1Rt/uQTqUKjDdGCyrtYxbazf5umATSf/K4qxjmZHORR6HJk+2s/2Pqe+Kk49HHINC/xNIrGfgh8sZcll0ng==", "dev": true, "dependencies": { - "acorn": "^8.7.1", + "acorn": "^8.8.0", "acorn-jsx": "^5.3.2", "eslint-visitor-keys": "^3.3.0" }, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - } - }, - "node_modules/espree/node_modules/acorn": { - "version": "8.7.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.7.1.tgz", - "integrity": "sha512-Xx54uLJQZ19lKygFXOWsscKUbsBZW0CPykPhVQdhIeIwrbPmJzqeASDInc8nKBnp/JT6igTs82qPXz069H8I/A==", - "dev": true, - "bin": { - "acorn": "bin/acorn" }, - "engines": { - "node": ">=0.4.0" + "funding": { + "url": "https://opencollective.com/eslint" } }, "node_modules/esprima": { @@ -3500,10 +3557,16 @@ "integrity": "sha512-NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ==", "dev": true }, + "node_modules/grapheme-splitter": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz", + "integrity": "sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==", + "dev": true + }, "node_modules/growly": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/growly/-/growly-1.3.0.tgz", - "integrity": "sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE=", + "integrity": "sha512-+xGQY0YyAWCnqy7Cd++hc2JqMYzlm0dG30Jd0beaA64sROr8C4nt8Yc9V5Ro3avlSUDTN0ulqP/VBKi1/lLygw==", "dev": true }, "node_modules/handlebars": { @@ -4168,12 +4231,6 @@ "node": ">=8" } }, - "node_modules/isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true - }, "node_modules/isbot": { "version": "3.4.5", "resolved": "https://registry.npmjs.org/isbot/-/isbot-3.4.5.tgz", @@ -4962,7 +5019,7 @@ "version": "1.0.4", "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", - "optional": true, + "devOptional": true, "bin": { "mkdirp": "bin/cmd.js" }, @@ -4986,15 +5043,12 @@ "devOptional": true }, "node_modules/mustache": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/mustache/-/mustache-3.2.1.tgz", - "integrity": "sha512-RERvMFdLpaFfSRIEe632yDm5nsd0SDKn8hGmcUwswnyiE5mtdZLDybtHAz6hjJhawokF0hXvGLtx9mrQfm6FkA==", + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/mustache/-/mustache-4.2.0.tgz", + "integrity": "sha512-71ippSywq5Yb7/tVYyGbkBggbU8H3u5Rz56fH60jGFgr8uHwxs+aSKeqmluIVzM0m0kB7xQjKS6qPfd0b2ZoqQ==", "dev": true, "bin": { "mustache": "bin/mustache" - }, - "engines": { - "npm": ">=1.4.0" } }, "node_modules/mute-stream": { @@ -5057,16 +5111,16 @@ } }, "node_modules/node-notifier": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/node-notifier/-/node-notifier-9.0.1.tgz", - "integrity": "sha512-fPNFIp2hF/Dq7qLDzSg4vZ0J4e9v60gJR+Qx7RbjbWqzPDdEqeVpEx5CFeDAELIl+A/woaaNn1fQ5nEVerMxJg==", + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/node-notifier/-/node-notifier-10.0.1.tgz", + "integrity": "sha512-YX7TSyDukOZ0g+gmzjB6abKu+hTGvO8+8+gIFDsRCU2t8fLV/P2unmt+LGFaIa4y64aX98Qksa97rgz4vMNeLQ==", "dev": true, "dependencies": { "growly": "^1.3.0", "is-wsl": "^2.2.0", - "semver": "^7.3.2", + "semver": "^7.3.5", "shellwords": "^0.1.1", - "uuid": "^8.3.0", + "uuid": "^8.3.2", "which": "^2.0.2" } }, @@ -5169,15 +5223,6 @@ "set-blocking": "^2.0.0" } }, - "node_modules/number-is-nan": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", - "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/nwsapi": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.0.tgz", @@ -5638,12 +5683,6 @@ "node": ">= 0.9.0" } }, - "node_modules/process-nextick-args": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", - "dev": true - }, "node_modules/process-on-spawn": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/process-on-spawn/-/process-on-spawn-1.0.0.tgz", @@ -6232,9 +6271,9 @@ "dev": true }, "node_modules/signal-exit": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.6.tgz", - "integrity": "sha512-sDl4qMFpijcGw22U5w63KmD3cZJfBuFlVNbVMKje2keoKML7X2UzWbc4XrmEbDwg0NXJc3yv4/ox7b+JWb57kQ==", + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", "devOptional": true }, "node_modules/simple-concat": { @@ -6576,18 +6615,18 @@ } }, "node_modules/testem": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/testem/-/testem-3.6.0.tgz", - "integrity": "sha512-sXwx2IlOadOhrKf0hsV1Yt/yuYhdfrtJ4dpp7T6pFN62GjMyKifjAv2SFm+4zYHee1JwxheO7JUL0+3iN0rlHw==", + "version": "3.8.0", + "resolved": "https://registry.npmjs.org/testem/-/testem-3.8.0.tgz", + "integrity": "sha512-WEaFOq2ZGqM3IQji+Q2uXHGdln5upKhSZ1pLYe9W4CttDELAo588frNovk8UQmB+Xg2mDI8G2zmm7qKuWsldtw==", "dev": true, "dependencies": { - "@xmldom/xmldom": "^0.7.1", + "@xmldom/xmldom": "^0.8.0", "backbone": "^1.1.2", "bluebird": "^3.4.6", "charm": "^1.0.0", "commander": "^2.6.0", "compression": "^1.7.4", - "consolidate": "^0.15.1", + "consolidate": "^0.16.0", "execa": "^1.0.0", "express": "^4.10.7", "fireworm": "^0.7.0", @@ -6599,12 +6638,12 @@ "lodash.clonedeep": "^4.4.1", "lodash.find": "^4.5.1", "lodash.uniqby": "^4.7.0", - "mkdirp": "^0.5.1", - "mustache": "^3.0.0", - "node-notifier": "^9.0.1", - "npmlog": "^4.0.0", + "mkdirp": "^1.0.4", + "mustache": "^4.2.0", + "node-notifier": "^10.0.0", + "npmlog": "^6.0.0", "printf": "^0.6.1", - "rimraf": "^2.4.4", + "rimraf": "^3.0.2", "socket.io": "^4.1.2", "spawn-args": "^0.2.0", "styled_string": "0.0.1", @@ -6618,29 +6657,17 @@ "node": ">= 7.*" } }, - "node_modules/testem/node_modules/ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/testem/node_modules/aproba": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", - "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", - "dev": true - }, "node_modules/testem/node_modules/are-we-there-yet": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.7.tgz", - "integrity": "sha512-nxwy40TuMiUGqMyRHgCSWZ9FM4VAoRP4xUYSTv5ImRog+h9yISPbVH7H8fASCIzYn9wlEv4zvFL7uKDMCFQm3g==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.1.tgz", + "integrity": "sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==", "dev": true, "dependencies": { "delegates": "^1.0.0", - "readable-stream": "^2.0.6" + "readable-stream": "^3.6.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, "node_modules/testem/node_modules/commander": { @@ -6650,123 +6677,37 @@ "dev": true }, "node_modules/testem/node_modules/gauge": { - "version": "2.7.4", - "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz", - "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", - "dev": true, - "dependencies": { - "aproba": "^1.0.3", - "console-control-strings": "^1.0.0", - "has-unicode": "^2.0.0", - "object-assign": "^4.1.0", - "signal-exit": "^3.0.0", - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wide-align": "^1.1.0" - } - }, - "node_modules/testem/node_modules/is-fullwidth-code-point": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", - "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/gauge/-/gauge-4.0.4.tgz", + "integrity": "sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==", "dev": true, "dependencies": { - "number-is-nan": "^1.0.0" + "aproba": "^1.0.3 || ^2.0.0", + "color-support": "^1.1.3", + "console-control-strings": "^1.1.0", + "has-unicode": "^2.0.1", + "signal-exit": "^3.0.7", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1", + "wide-align": "^1.1.5" }, "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/testem/node_modules/mkdirp": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", - "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", - "dev": true, - "dependencies": { - "minimist": "^1.2.5" - }, - "bin": { - "mkdirp": "bin/cmd.js" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, "node_modules/testem/node_modules/npmlog": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz", - "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", - "dev": true, - "dependencies": { - "are-we-there-yet": "~1.1.2", - "console-control-strings": "~1.1.0", - "gauge": "~2.7.3", - "set-blocking": "~2.0.0" - } - }, - "node_modules/testem/node_modules/readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "dev": true, - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/testem/node_modules/rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "dev": true, - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - } - }, - "node_modules/testem/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true - }, - "node_modules/testem/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, - "node_modules/testem/node_modules/string-width": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", - "dev": true, - "dependencies": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/testem/node_modules/strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-6.0.2.tgz", + "integrity": "sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==", "dev": true, "dependencies": { - "ansi-regex": "^2.0.0" + "are-we-there-yet": "^3.0.0", + "console-control-strings": "^1.1.0", + "gauge": "^4.0.3", + "set-blocking": "^2.0.0" }, "engines": { - "node": ">=0.10.0" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, "node_modules/text-table": { @@ -7342,6 +7283,18 @@ "engines": { "node": ">=6" } + }, + "node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } } }, "dependencies": { @@ -7658,9 +7611,9 @@ } }, "@humanwhocodes/config-array": { - "version": "0.9.5", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.9.5.tgz", - "integrity": "sha512-ObyMyWxZiCu/yTisA7uzx81s40xR2fD5Cg/2Kq7G02ajkNubJf6BopgDTmDyc3U7sXpNKM8cYOw7s7Tyr+DnCw==", + "version": "0.10.4", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.10.4.tgz", + "integrity": "sha512-mXAIHxZT3Vcpg83opl1wGlVZ9xydbfZO3r5YfRSH6Gpp2J/PfdBP0wbDa2sO6/qRbcalpoevVyW6A/fI6LfeMw==", "dev": true, "requires": { "@humanwhocodes/object-schema": "^1.2.1", @@ -7668,6 +7621,12 @@ "minimatch": "^3.0.4" } }, + "@humanwhocodes/gitignore-to-minimatch": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@humanwhocodes/gitignore-to-minimatch/-/gitignore-to-minimatch-1.0.2.tgz", + "integrity": "sha512-rSqmMJDdLFUsyxR6FMtD00nfQKKLFb1kv+qBbOVKqErvloEIJLo5bDTJTQNTYgeyp78JsA7u/NPi5jT1GR/MuA==", + "dev": true + }, "@humanwhocodes/object-schema": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", @@ -8032,9 +7991,9 @@ "dev": true }, "@xmldom/xmldom": { - "version": "0.7.5", - "resolved": "https://registry.npmjs.org/@xmldom/xmldom/-/xmldom-0.7.5.tgz", - "integrity": "sha512-V3BIhmY36fXZ1OtVcI9W+FxQqxVLsPKcNjWigIaa81dLC9IolJl5Mt4Cvhmr0flUnjSpTdrbMTSbXqYqV5dT6A==", + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/@xmldom/xmldom/-/xmldom-0.8.2.tgz", + "integrity": "sha512-+R0juSseERyoPvnBQ/cZih6bpF7IpCXlWbHRoCRzYzqpz6gWHOgf8o4MOEf6KBVuOyqU+gCNLkCWVIJAro8XyQ==", "dev": true }, "abab": { @@ -8060,9 +8019,9 @@ } }, "acorn": { - "version": "8.7.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.7.0.tgz", - "integrity": "sha512-V/LGr1APy+PXIwKebEWrkZPwoeoF+w1jiOBUmuxuiUIaOHtob8Qc9BTrYo7VuI5fR8tqsy+buA2WFooR5olqvQ==", + "version": "8.8.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.0.tgz", + "integrity": "sha512-QOxyigPVrpZ2GXT+PFyZTl6TtOFc5egxHIP9IlQ+RbupQuX4RkT/Bee4/kQuC02Xkzg84JcT7oLYtDIQxp+v7w==", "devOptional": true }, "acorn-globals": { @@ -8184,7 +8143,7 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/aproba/-/aproba-2.0.0.tgz", "integrity": "sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==", - "optional": true + "devOptional": true }, "archy": { "version": "1.0.0", @@ -8580,12 +8539,6 @@ "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=", "dev": true }, - "code-point-at": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", - "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", - "dev": true - }, "color-convert": { "version": "1.9.3", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", @@ -8605,7 +8558,7 @@ "version": "1.1.3", "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz", "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==", - "optional": true + "devOptional": true }, "combined-stream": { "version": "1.0.8", @@ -8703,12 +8656,12 @@ "devOptional": true }, "consolidate": { - "version": "0.15.1", - "resolved": "https://registry.npmjs.org/consolidate/-/consolidate-0.15.1.tgz", - "integrity": "sha512-DW46nrsMJgy9kqAbPt5rKaCr7uFtpo4mSUvLHIUbJEjm0vo+aY5QLwBUq3FK4tRnJr/X0Psc0C4jf/h+HtXSMw==", + "version": "0.16.0", + "resolved": "https://registry.npmjs.org/consolidate/-/consolidate-0.16.0.tgz", + "integrity": "sha512-Nhl1wzCslqXYTJVDyJCu3ODohy9OfBMB5uD2BiBTzd7w+QY0lBzafkR8y8755yMYHAaMD4NuzbAw03/xzfw+eQ==", "dev": true, "requires": { - "bluebird": "^3.1.1" + "bluebird": "^3.7.2" } }, "content-disposition": { @@ -9118,13 +9071,14 @@ } }, "eslint": { - "version": "8.18.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.18.0.tgz", - "integrity": "sha512-As1EfFMVk7Xc6/CvhssHUjsAQSkpfXvUGMFC3ce8JDe6WvqCgRrLOBQbVpsBFr1X1V+RACOadnzVvcUS5ni2bA==", + "version": "8.21.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.21.0.tgz", + "integrity": "sha512-/XJ1+Qurf1T9G2M5IHrsjp+xrGT73RZf23xA1z5wB1ZzzEAWSZKvRwhWxTFp1rvkvCfwcvAUNAP31bhKTTGfDA==", "dev": true, "requires": { "@eslint/eslintrc": "^1.3.0", - "@humanwhocodes/config-array": "^0.9.2", + "@humanwhocodes/config-array": "^0.10.4", + "@humanwhocodes/gitignore-to-minimatch": "^1.0.2", "ajv": "^6.10.0", "chalk": "^4.0.0", "cross-spawn": "^7.0.2", @@ -9134,14 +9088,17 @@ "eslint-scope": "^7.1.1", "eslint-utils": "^3.0.0", "eslint-visitor-keys": "^3.3.0", - "espree": "^9.3.2", + "espree": "^9.3.3", "esquery": "^1.4.0", "esutils": "^2.0.2", "fast-deep-equal": "^3.1.3", "file-entry-cache": "^6.0.1", + "find-up": "^5.0.0", "functional-red-black-tree": "^1.0.1", "glob-parent": "^6.0.1", "globals": "^13.15.0", + "globby": "^11.1.0", + "grapheme-splitter": "^1.0.4", "ignore": "^5.2.0", "import-fresh": "^3.0.0", "imurmurhash": "^0.1.4", @@ -9216,6 +9173,16 @@ "estraverse": "^5.2.0" } }, + "find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, + "requires": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + } + }, "glob-parent": { "version": "6.0.2", "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", @@ -9259,6 +9226,15 @@ "type-check": "~0.4.0" } }, + "locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dev": true, + "requires": { + "p-locate": "^5.0.0" + } + }, "minimatch": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", @@ -9282,6 +9258,24 @@ "word-wrap": "^1.2.3" } }, + "p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "requires": { + "yocto-queue": "^0.1.0" + } + }, + "p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, + "requires": { + "p-limit": "^3.0.2" + } + }, "prelude-ls": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", @@ -9356,22 +9350,14 @@ "dev": true }, "espree": { - "version": "9.3.2", - "resolved": "https://registry.npmjs.org/espree/-/espree-9.3.2.tgz", - "integrity": "sha512-D211tC7ZwouTIuY5x9XnS0E9sWNChB7IYKX/Xp5eQj3nFXhqmiUDB9q27y76oFl8jTg3pXcQx/bpxMfs3CIZbA==", + "version": "9.3.3", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.3.3.tgz", + "integrity": "sha512-ORs1Rt/uQTqUKjDdGCyrtYxbazf5umATSf/K4qxjmZHORR6HJk+2s/2Pqe+Kk49HHINC/xNIrGfgh8sZcll0ng==", "dev": true, "requires": { - "acorn": "^8.7.1", + "acorn": "^8.8.0", "acorn-jsx": "^5.3.2", "eslint-visitor-keys": "^3.3.0" - }, - "dependencies": { - "acorn": { - "version": "8.7.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.7.1.tgz", - "integrity": "sha512-Xx54uLJQZ19lKygFXOWsscKUbsBZW0CPykPhVQdhIeIwrbPmJzqeASDInc8nKBnp/JT6igTs82qPXz069H8I/A==", - "dev": true - } } }, "esprima": { @@ -9942,10 +9928,16 @@ "integrity": "sha512-NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ==", "dev": true }, + "grapheme-splitter": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz", + "integrity": "sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==", + "dev": true + }, "growly": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/growly/-/growly-1.3.0.tgz", - "integrity": "sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE=", + "integrity": "sha512-+xGQY0YyAWCnqy7Cd++hc2JqMYzlm0dG30Jd0beaA64sROr8C4nt8Yc9V5Ro3avlSUDTN0ulqP/VBKi1/lLygw==", "dev": true }, "handlebars": { @@ -10436,12 +10428,6 @@ "is-docker": "^2.0.0" } }, - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true - }, "isbot": { "version": "3.4.5", "resolved": "https://registry.npmjs.org/isbot/-/isbot-3.4.5.tgz", @@ -11059,7 +11045,7 @@ "version": "1.0.4", "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", - "optional": true + "devOptional": true }, "moment": { "version": "2.29.1", @@ -11074,9 +11060,9 @@ "devOptional": true }, "mustache": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/mustache/-/mustache-3.2.1.tgz", - "integrity": "sha512-RERvMFdLpaFfSRIEe632yDm5nsd0SDKn8hGmcUwswnyiE5mtdZLDybtHAz6hjJhawokF0hXvGLtx9mrQfm6FkA==", + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/mustache/-/mustache-4.2.0.tgz", + "integrity": "sha512-71ippSywq5Yb7/tVYyGbkBggbU8H3u5Rz56fH60jGFgr8uHwxs+aSKeqmluIVzM0m0kB7xQjKS6qPfd0b2ZoqQ==", "dev": true }, "mute-stream": { @@ -11125,16 +11111,16 @@ } }, "node-notifier": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/node-notifier/-/node-notifier-9.0.1.tgz", - "integrity": "sha512-fPNFIp2hF/Dq7qLDzSg4vZ0J4e9v60gJR+Qx7RbjbWqzPDdEqeVpEx5CFeDAELIl+A/woaaNn1fQ5nEVerMxJg==", + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/node-notifier/-/node-notifier-10.0.1.tgz", + "integrity": "sha512-YX7TSyDukOZ0g+gmzjB6abKu+hTGvO8+8+gIFDsRCU2t8fLV/P2unmt+LGFaIa4y64aX98Qksa97rgz4vMNeLQ==", "dev": true, "requires": { "growly": "^1.3.0", "is-wsl": "^2.2.0", - "semver": "^7.3.2", + "semver": "^7.3.5", "shellwords": "^0.1.1", - "uuid": "^8.3.0", + "uuid": "^8.3.2", "which": "^2.0.2" }, "dependencies": { @@ -11214,12 +11200,6 @@ "set-blocking": "^2.0.0" } }, - "number-is-nan": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", - "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", - "dev": true - }, "nwsapi": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.0.tgz", @@ -11558,12 +11538,6 @@ "integrity": "sha512-is0ctgGdPJ5951KulgfzvHGwJtZ5ck8l042vRkV6jrkpBzTmb/lueTqguWHy2JfVA+RY6gFVlaZgUS0j7S/dsw==", "dev": true }, - "process-nextick-args": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", - "dev": true - }, "process-on-spawn": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/process-on-spawn/-/process-on-spawn-1.0.0.tgz", @@ -11973,9 +11947,9 @@ "dev": true }, "signal-exit": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.6.tgz", - "integrity": "sha512-sDl4qMFpijcGw22U5w63KmD3cZJfBuFlVNbVMKje2keoKML7X2UzWbc4XrmEbDwg0NXJc3yv4/ox7b+JWb57kQ==", + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", "devOptional": true }, "simple-concat": { @@ -12246,18 +12220,18 @@ } }, "testem": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/testem/-/testem-3.6.0.tgz", - "integrity": "sha512-sXwx2IlOadOhrKf0hsV1Yt/yuYhdfrtJ4dpp7T6pFN62GjMyKifjAv2SFm+4zYHee1JwxheO7JUL0+3iN0rlHw==", + "version": "3.8.0", + "resolved": "https://registry.npmjs.org/testem/-/testem-3.8.0.tgz", + "integrity": "sha512-WEaFOq2ZGqM3IQji+Q2uXHGdln5upKhSZ1pLYe9W4CttDELAo588frNovk8UQmB+Xg2mDI8G2zmm7qKuWsldtw==", "dev": true, "requires": { - "@xmldom/xmldom": "^0.7.1", + "@xmldom/xmldom": "^0.8.0", "backbone": "^1.1.2", "bluebird": "^3.4.6", "charm": "^1.0.0", "commander": "^2.6.0", "compression": "^1.7.4", - "consolidate": "^0.15.1", + "consolidate": "^0.16.0", "execa": "^1.0.0", "express": "^4.10.7", "fireworm": "^0.7.0", @@ -12269,12 +12243,12 @@ "lodash.clonedeep": "^4.4.1", "lodash.find": "^4.5.1", "lodash.uniqby": "^4.7.0", - "mkdirp": "^0.5.1", - "mustache": "^3.0.0", - "node-notifier": "^9.0.1", - "npmlog": "^4.0.0", + "mkdirp": "^1.0.4", + "mustache": "^4.2.0", + "node-notifier": "^10.0.0", + "npmlog": "^6.0.0", "printf": "^0.6.1", - "rimraf": "^2.4.4", + "rimraf": "^3.0.2", "socket.io": "^4.1.2", "spawn-args": "^0.2.0", "styled_string": "0.0.1", @@ -12282,26 +12256,14 @@ "tmp": "0.0.33" }, "dependencies": { - "ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", - "dev": true - }, - "aproba": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", - "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", - "dev": true - }, "are-we-there-yet": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.7.tgz", - "integrity": "sha512-nxwy40TuMiUGqMyRHgCSWZ9FM4VAoRP4xUYSTv5ImRog+h9yISPbVH7H8fASCIzYn9wlEv4zvFL7uKDMCFQm3g==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.1.tgz", + "integrity": "sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==", "dev": true, "requires": { "delegates": "^1.0.0", - "readable-stream": "^2.0.6" + "readable-stream": "^3.6.0" } }, "commander": { @@ -12311,108 +12273,31 @@ "dev": true }, "gauge": { - "version": "2.7.4", - "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz", - "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", - "dev": true, - "requires": { - "aproba": "^1.0.3", - "console-control-strings": "^1.0.0", - "has-unicode": "^2.0.0", - "object-assign": "^4.1.0", - "signal-exit": "^3.0.0", - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wide-align": "^1.1.0" - } - }, - "is-fullwidth-code-point": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", - "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", - "dev": true, - "requires": { - "number-is-nan": "^1.0.0" - } - }, - "mkdirp": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", - "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/gauge/-/gauge-4.0.4.tgz", + "integrity": "sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==", "dev": true, "requires": { - "minimist": "^1.2.5" + "aproba": "^1.0.3 || ^2.0.0", + "color-support": "^1.1.3", + "console-control-strings": "^1.1.0", + "has-unicode": "^2.0.1", + "signal-exit": "^3.0.7", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1", + "wide-align": "^1.1.5" } }, "npmlog": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz", - "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", - "dev": true, - "requires": { - "are-we-there-yet": "~1.1.2", - "console-control-strings": "~1.1.0", - "gauge": "~2.7.3", - "set-blocking": "~2.0.0" - } - }, - "readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "dev": true, - "requires": { - "glob": "^7.1.3" - } - }, - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - }, - "string-width": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", - "dev": true, - "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" - } - }, - "strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-6.0.2.tgz", + "integrity": "sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==", "dev": true, "requires": { - "ansi-regex": "^2.0.0" + "are-we-there-yet": "^3.0.0", + "console-control-strings": "^1.1.0", + "gauge": "^4.0.3", + "set-blocking": "^2.0.0" } } } @@ -12846,6 +12731,12 @@ "camelcase": "^5.0.0", "decamelize": "^1.2.0" } + }, + "yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true } } } diff --git a/package.json b/package.json index b1a8d201ef3..4268b48f40d 100644 --- a/package.json +++ b/package.json @@ -55,10 +55,7 @@ "test:coverage": "nyc --silent qunit test/node_test_setup.js test/lib test/unit", "test:visual:coverage": "nyc --silent --no-clean qunit test/node_test_setup.js test/lib test/visual", "coverage:report": "nyc report --reporter=lcov --reporter=text", - "jslint": "eslint --config .eslintrc.json src/**/*.js", - "tslint": "eslint --config .eslintrc.js src/**/*.ts", - "lint": "npm run jslint && npm run tslint", - "lint-fix": "eslint --fix --config .eslintrc.json src", + "lint": "eslint --config .eslintrc.js src/**/*.ts", "lint_tests": "eslint test/unit --config .eslintrc_tests && eslint test/visual --config .eslintrc_tests", "all": "npm run build && npm run test -- --all && npm run lint && npm run lint_tests && npm run export", "testem": "testem .", @@ -79,7 +76,7 @@ "chalk": "^2.4.1", "commander": "^9.1.0", "deep-object-diff": "^1.1.7", - "eslint": "^8.18.0", + "eslint": "^8.21.0", "fs-extra": "^10.0.1", "fuzzy": "^0.1.3", "inquirer": "^8.2.1", @@ -91,12 +88,11 @@ "rollup": "^2.75.6", "rollup-plugin-terser": "^7.0.2", "rollup-plugin-ts": "^3.0.2", - "testem": "^3.2.0", + "testem": "^3.8.0", "typescript": "^4.7.4" }, "engines": { "node": ">=14.0.0" }, - "main": "./dist/fabric.js", - "dependencies": {} + "main": "./dist/fabric.js" } diff --git a/scripts/index.js b/scripts/index.js index 947bf0174cd..b2d181dee46 100644 --- a/scripts/index.js +++ b/scripts/index.js @@ -91,7 +91,15 @@ function build(options = {}) { // `exclude=${options.exclude.join(',')}` // ] const args = ['npm run', 'build-rollup']; - cp.execSync(args.join(' '), { stdio: 'inherit', cwd: wd, env: { ...process.env, MINIFY: Number(!options.fast) } }); + let done = false; + const task = cp.spawn(args.join(' '), { stdio: 'inherit', shell: true, cwd: wd, env: { ...process.env, MINIFY: Number(!options.fast) } }) + .on('exit', () => (done = true)); + return () => { + if (!done) { + done = true; + task.kill(); + } + }; } function startWebsite() { @@ -363,7 +371,11 @@ program .action((options) => { const { watch: w, ...rest } = options || {}; build(rest); - w && watch(path.resolve(wd, 'src'), () => build(rest)); + let kill; + w && watch(path.resolve(wd, 'src'), () => { + kill && kill(); + kill = build(rest); + }); }); program diff --git a/src/brushes/base_brush.class.js b/src/brushes/base_brush.class.ts similarity index 99% rename from src/brushes/base_brush.class.js rename to src/brushes/base_brush.class.ts index eac06bb3bfe..839d5f2c792 100644 --- a/src/brushes/base_brush.class.js +++ b/src/brushes/base_brush.class.ts @@ -1,3 +1,4 @@ +//@ts-nocheck (function(global) { var fabric = global.fabric; /** diff --git a/src/brushes/circle_brush.class.js b/src/brushes/circle_brush.class.ts similarity index 99% rename from src/brushes/circle_brush.class.js rename to src/brushes/circle_brush.class.ts index ac24fb3663f..0261c211379 100644 --- a/src/brushes/circle_brush.class.js +++ b/src/brushes/circle_brush.class.ts @@ -1,3 +1,4 @@ +//@ts-nocheck (function(global) { var fabric = global.fabric; /** diff --git a/src/brushes/pattern_brush.class.js b/src/brushes/pattern_brush.class.ts similarity index 99% rename from src/brushes/pattern_brush.class.js rename to src/brushes/pattern_brush.class.ts index 26e0e5bb841..eb94698bd8d 100644 --- a/src/brushes/pattern_brush.class.js +++ b/src/brushes/pattern_brush.class.ts @@ -1,3 +1,4 @@ +//@ts-nocheck (function(global) { var fabric = global.fabric; /** diff --git a/src/brushes/pencil_brush.class.js b/src/brushes/pencil_brush.class.ts similarity index 99% rename from src/brushes/pencil_brush.class.js rename to src/brushes/pencil_brush.class.ts index 3221ec16191..59ae1b7070b 100644 --- a/src/brushes/pencil_brush.class.js +++ b/src/brushes/pencil_brush.class.ts @@ -1,3 +1,4 @@ +//@ts-nocheck (function(global) { var fabric = global.fabric; /** diff --git a/src/brushes/spray_brush.class.js b/src/brushes/spray_brush.class.ts similarity index 99% rename from src/brushes/spray_brush.class.js rename to src/brushes/spray_brush.class.ts index 3e8888402d4..430c4ca84d6 100644 --- a/src/brushes/spray_brush.class.js +++ b/src/brushes/spray_brush.class.ts @@ -1,3 +1,4 @@ +//@ts-nocheck (function(global) { var fabric = global.fabric; /** diff --git a/src/canvas.class.js b/src/canvas.class.ts similarity index 99% rename from src/canvas.class.js rename to src/canvas.class.ts index 72bb6f06de7..06f800e0cbb 100644 --- a/src/canvas.class.js +++ b/src/canvas.class.ts @@ -1,3 +1,4 @@ +//@ts-nocheck (function(global) { var fabric = global.fabric, getPointer = fabric.util.getPointer, diff --git a/src/color.class.js b/src/color.class.ts similarity index 99% rename from src/color.class.js rename to src/color.class.ts index d51709e6e18..7d8b5a5af38 100644 --- a/src/color.class.js +++ b/src/color.class.ts @@ -1,3 +1,4 @@ +//@ts-nocheck (function(global) { var fabric = global.fabric || (global.fabric = { }); /** diff --git a/src/constants.ts b/src/constants.ts index 702666d4980..c50b8d2c337 100644 --- a/src/constants.ts +++ b/src/constants.ts @@ -1 +1,2 @@ +//@ts-nocheck export const halfPI = Math.PI / 2; diff --git a/src/control.class.js b/src/control.class.ts similarity index 99% rename from src/control.class.js rename to src/control.class.ts index e98ae521150..d64b8382cee 100644 --- a/src/control.class.js +++ b/src/control.class.ts @@ -1,3 +1,4 @@ +//@ts-nocheck (function(global) { var fabric = global.fabric || (global.fabric = { }); diff --git a/src/controls.actions.js b/src/controls.actions.ts similarity index 99% rename from src/controls.actions.js rename to src/controls.actions.ts index c12dc55555a..eef182d37e2 100644 --- a/src/controls.actions.js +++ b/src/controls.actions.ts @@ -1,3 +1,4 @@ +//@ts-nocheck (function(global) { var fabric = global.fabric || (global.fabric = { }), scaleMap = ['e', 'se', 's', 'sw', 'w', 'nw', 'n', 'ne', 'e'], diff --git a/src/controls.render.js b/src/controls.render.ts similarity index 99% rename from src/controls.render.js rename to src/controls.render.ts index 0b36223299f..135b4d6f22f 100644 --- a/src/controls.render.js +++ b/src/controls.render.ts @@ -1,3 +1,4 @@ +//@ts-nocheck (function(global) { var fabric = global.fabric || (global.fabric = { }), degreesToRadians = fabric.util.degreesToRadians, diff --git a/src/elements_parser.js b/src/elements_parser.ts similarity index 99% rename from src/elements_parser.js rename to src/elements_parser.ts index 1fd81301e62..81740e6778d 100644 --- a/src/elements_parser.js +++ b/src/elements_parser.ts @@ -1,3 +1,4 @@ +//@ts-nocheck (function(global) { var fabric = global.fabric; diff --git a/src/filters/2d_backend.class.js b/src/filters/2d_backend.class.ts similarity index 99% rename from src/filters/2d_backend.class.js rename to src/filters/2d_backend.class.ts index 1da233bab24..e3d2826c169 100644 --- a/src/filters/2d_backend.class.js +++ b/src/filters/2d_backend.class.ts @@ -1,3 +1,4 @@ +//@ts-nocheck (function(global) { var fabric = global.fabric, noop = function() {}; diff --git a/src/filters/base_filter.class.js b/src/filters/base_filter.class.ts similarity index 99% rename from src/filters/base_filter.class.js rename to src/filters/base_filter.class.ts index 247bfd3b0af..4f7fe600839 100644 --- a/src/filters/base_filter.class.js +++ b/src/filters/base_filter.class.ts @@ -1,3 +1,4 @@ +//@ts-nocheck (function(global) { var fabric = global.fabric; /** diff --git a/src/filters/blendcolor_filter.class.js b/src/filters/blendcolor_filter.class.ts similarity index 99% rename from src/filters/blendcolor_filter.class.js rename to src/filters/blendcolor_filter.class.ts index 4452792ad14..f8435192773 100644 --- a/src/filters/blendcolor_filter.class.js +++ b/src/filters/blendcolor_filter.class.ts @@ -1,3 +1,4 @@ +//@ts-nocheck (function(global) { 'use strict'; diff --git a/src/filters/blendimage_filter.class.js b/src/filters/blendimage_filter.class.ts similarity index 99% rename from src/filters/blendimage_filter.class.js rename to src/filters/blendimage_filter.class.ts index 83122859564..35dbfb984f2 100644 --- a/src/filters/blendimage_filter.class.js +++ b/src/filters/blendimage_filter.class.ts @@ -1,3 +1,4 @@ +//@ts-nocheck (function(global) { 'use strict'; diff --git a/src/filters/blur_filter.class.js b/src/filters/blur_filter.class.ts similarity index 99% rename from src/filters/blur_filter.class.js rename to src/filters/blur_filter.class.ts index 41cdfc92556..aea4e3572a1 100644 --- a/src/filters/blur_filter.class.js +++ b/src/filters/blur_filter.class.ts @@ -1,3 +1,4 @@ +//@ts-nocheck (function(global) { 'use strict'; diff --git a/src/filters/brightness_filter.class.js b/src/filters/brightness_filter.class.ts similarity index 99% rename from src/filters/brightness_filter.class.js rename to src/filters/brightness_filter.class.ts index f35a22fe3ff..73ac88852d4 100644 --- a/src/filters/brightness_filter.class.js +++ b/src/filters/brightness_filter.class.ts @@ -1,3 +1,4 @@ +//@ts-nocheck (function(global) { 'use strict'; diff --git a/src/filters/colormatrix_filter.class.js b/src/filters/colormatrix_filter.class.ts similarity index 99% rename from src/filters/colormatrix_filter.class.js rename to src/filters/colormatrix_filter.class.ts index 43074b8e57e..052323a7607 100644 --- a/src/filters/colormatrix_filter.class.js +++ b/src/filters/colormatrix_filter.class.ts @@ -1,3 +1,4 @@ +//@ts-nocheck (function(global) { 'use strict'; diff --git a/src/filters/composed_filter.class.js b/src/filters/composed_filter.class.ts similarity index 99% rename from src/filters/composed_filter.class.js rename to src/filters/composed_filter.class.ts index 764f8bc146c..897cb2dad31 100644 --- a/src/filters/composed_filter.class.js +++ b/src/filters/composed_filter.class.ts @@ -1,3 +1,4 @@ +//@ts-nocheck (function(global) { 'use strict'; diff --git a/src/filters/contrast_filter.class.js b/src/filters/contrast_filter.class.ts similarity index 99% rename from src/filters/contrast_filter.class.js rename to src/filters/contrast_filter.class.ts index 2fc8c1310dc..8c88f8df5dd 100644 --- a/src/filters/contrast_filter.class.js +++ b/src/filters/contrast_filter.class.ts @@ -1,3 +1,4 @@ +//@ts-nocheck (function(global) { 'use strict'; diff --git a/src/filters/convolute_filter.class.js b/src/filters/convolute_filter.class.ts similarity index 99% rename from src/filters/convolute_filter.class.js rename to src/filters/convolute_filter.class.ts index f65150c52e4..09de4705a40 100644 --- a/src/filters/convolute_filter.class.js +++ b/src/filters/convolute_filter.class.ts @@ -1,3 +1,4 @@ +//@ts-nocheck (function(global) { 'use strict'; diff --git a/src/filters/filter_boilerplate.js b/src/filters/filter_boilerplate.ts similarity index 99% rename from src/filters/filter_boilerplate.js rename to src/filters/filter_boilerplate.ts index e25a5a95686..325b7e8ec5c 100644 --- a/src/filters/filter_boilerplate.js +++ b/src/filters/filter_boilerplate.ts @@ -1,3 +1,4 @@ +//@ts-nocheck (function(global) { 'use strict'; diff --git a/src/filters/filter_generator.js b/src/filters/filter_generator.ts similarity index 99% rename from src/filters/filter_generator.js rename to src/filters/filter_generator.ts index 88a4b823fbd..7d2af710db7 100644 --- a/src/filters/filter_generator.js +++ b/src/filters/filter_generator.ts @@ -1,3 +1,4 @@ +//@ts-nocheck (function(global) { 'use strict'; diff --git a/src/filters/gamma_filter.class.js b/src/filters/gamma_filter.class.ts similarity index 99% rename from src/filters/gamma_filter.class.js rename to src/filters/gamma_filter.class.ts index e61dabf4f54..e9b8781e7e5 100644 --- a/src/filters/gamma_filter.class.js +++ b/src/filters/gamma_filter.class.ts @@ -1,3 +1,4 @@ +//@ts-nocheck (function(global) { 'use strict'; diff --git a/src/filters/grayscale_filter.class.js b/src/filters/grayscale_filter.class.ts similarity index 99% rename from src/filters/grayscale_filter.class.js rename to src/filters/grayscale_filter.class.ts index 81bbedca3ea..bebaa607f9a 100644 --- a/src/filters/grayscale_filter.class.js +++ b/src/filters/grayscale_filter.class.ts @@ -1,3 +1,4 @@ +//@ts-nocheck (function(global) { 'use strict'; diff --git a/src/filters/hue_rotation.class.js b/src/filters/hue_rotation.class.ts similarity index 99% rename from src/filters/hue_rotation.class.js rename to src/filters/hue_rotation.class.ts index 06e9fdb502e..c659623090a 100644 --- a/src/filters/hue_rotation.class.js +++ b/src/filters/hue_rotation.class.ts @@ -1,3 +1,4 @@ +//@ts-nocheck (function(global) { 'use strict'; diff --git a/src/filters/invert_filter.class.js b/src/filters/invert_filter.class.ts similarity index 99% rename from src/filters/invert_filter.class.js rename to src/filters/invert_filter.class.ts index eb77a09725b..ce9179e8f8e 100644 --- a/src/filters/invert_filter.class.js +++ b/src/filters/invert_filter.class.ts @@ -1,3 +1,4 @@ +//@ts-nocheck (function(global) { 'use strict'; diff --git a/src/filters/noise_filter.class.js b/src/filters/noise_filter.class.ts similarity index 99% rename from src/filters/noise_filter.class.js rename to src/filters/noise_filter.class.ts index fc34d51a956..9148bf2b58b 100644 --- a/src/filters/noise_filter.class.js +++ b/src/filters/noise_filter.class.ts @@ -1,3 +1,4 @@ +//@ts-nocheck (function(global) { 'use strict'; diff --git a/src/filters/pixelate_filter.class.js b/src/filters/pixelate_filter.class.ts similarity index 99% rename from src/filters/pixelate_filter.class.js rename to src/filters/pixelate_filter.class.ts index 6e67d8505ec..aa08f6f9f7b 100644 --- a/src/filters/pixelate_filter.class.js +++ b/src/filters/pixelate_filter.class.ts @@ -1,3 +1,4 @@ +//@ts-nocheck (function(global) { 'use strict'; diff --git a/src/filters/removecolor_filter.class.js b/src/filters/removecolor_filter.class.ts similarity index 99% rename from src/filters/removecolor_filter.class.js rename to src/filters/removecolor_filter.class.ts index 2604483d2d7..f63b9baac3d 100644 --- a/src/filters/removecolor_filter.class.js +++ b/src/filters/removecolor_filter.class.ts @@ -1,3 +1,4 @@ +//@ts-nocheck (function(global) { 'use strict'; diff --git a/src/filters/resize_filter.class.js b/src/filters/resize_filter.class.ts similarity index 99% rename from src/filters/resize_filter.class.js rename to src/filters/resize_filter.class.ts index f85e15df6fb..d1704bdb352 100644 --- a/src/filters/resize_filter.class.js +++ b/src/filters/resize_filter.class.ts @@ -1,3 +1,4 @@ +//@ts-nocheck (function(global) { 'use strict'; diff --git a/src/filters/saturate_filter.class.js b/src/filters/saturate_filter.class.ts similarity index 99% rename from src/filters/saturate_filter.class.js rename to src/filters/saturate_filter.class.ts index e0b3a10a11d..3de35d89868 100644 --- a/src/filters/saturate_filter.class.js +++ b/src/filters/saturate_filter.class.ts @@ -1,3 +1,4 @@ +//@ts-nocheck (function(global) { 'use strict'; diff --git a/src/filters/vibrance_filter.class.js b/src/filters/vibrance_filter.class.ts similarity index 99% rename from src/filters/vibrance_filter.class.js rename to src/filters/vibrance_filter.class.ts index ec23e362621..515d4844e66 100644 --- a/src/filters/vibrance_filter.class.js +++ b/src/filters/vibrance_filter.class.ts @@ -1,3 +1,4 @@ +//@ts-nocheck (function(global) { 'use strict'; diff --git a/src/filters/webgl_backend.class.js b/src/filters/webgl_backend.class.ts similarity index 99% rename from src/filters/webgl_backend.class.js rename to src/filters/webgl_backend.class.ts index da3807c2697..ba2060b3e92 100644 --- a/src/filters/webgl_backend.class.js +++ b/src/filters/webgl_backend.class.ts @@ -1,3 +1,4 @@ +//@ts-nocheck (function(global) { var fabric = global.fabric; /** diff --git a/src/gradient.class.js b/src/gradient.class.ts similarity index 99% rename from src/gradient.class.js rename to src/gradient.class.ts index 733dc0302c2..9932de30efe 100644 --- a/src/gradient.class.js +++ b/src/gradient.class.ts @@ -1,3 +1,4 @@ +//@ts-nocheck (function(global) { var fabric = global.fabric; /* _FROM_SVG_START_ */ diff --git a/src/intersection.class.js b/src/intersection.class.ts similarity index 99% rename from src/intersection.class.js rename to src/intersection.class.ts index fe16b68cb46..d7f5edafef6 100644 --- a/src/intersection.class.js +++ b/src/intersection.class.ts @@ -1,3 +1,4 @@ +//@ts-nocheck (function(global) { /* Adaptation of work of Kevin Lindsey (kevin@kevlindev.com) */ var fabric = global.fabric || (global.fabric = { }); diff --git a/src/log.js b/src/log.ts similarity index 96% rename from src/log.js rename to src/log.ts index 15fe75a708b..85a29e98cf9 100644 --- a/src/log.js +++ b/src/log.ts @@ -1,3 +1,4 @@ +//@ts-nocheck (function(global) { var fabric = global.fabric || (global.fabric = { }); /** diff --git a/src/mixins/animation.mixin.js b/src/mixins/animation.mixin.ts similarity index 99% rename from src/mixins/animation.mixin.js rename to src/mixins/animation.mixin.ts index ca9182ab3d9..fe39948d75f 100644 --- a/src/mixins/animation.mixin.js +++ b/src/mixins/animation.mixin.ts @@ -1,3 +1,4 @@ +//@ts-nocheck (function (global) { var fabric = global.fabric; fabric.util.object.extend(fabric.StaticCanvas.prototype, /** @lends fabric.StaticCanvas.prototype */ { diff --git a/src/mixins/canvas_dataurl_exporter.mixin.js b/src/mixins/canvas_dataurl_exporter.mixin.ts similarity index 99% rename from src/mixins/canvas_dataurl_exporter.mixin.js rename to src/mixins/canvas_dataurl_exporter.mixin.ts index e234886f9d5..4d4010a88d1 100644 --- a/src/mixins/canvas_dataurl_exporter.mixin.js +++ b/src/mixins/canvas_dataurl_exporter.mixin.ts @@ -1,3 +1,4 @@ +//@ts-nocheck (function (global) { var fabric = global.fabric; fabric.util.object.extend(fabric.StaticCanvas.prototype, /** @lends fabric.StaticCanvas.prototype */ { diff --git a/src/mixins/canvas_events.mixin.js b/src/mixins/canvas_events.mixin.ts similarity index 99% rename from src/mixins/canvas_events.mixin.js rename to src/mixins/canvas_events.mixin.ts index b3bbcf86dce..aee2a916833 100644 --- a/src/mixins/canvas_events.mixin.js +++ b/src/mixins/canvas_events.mixin.ts @@ -1,3 +1,4 @@ +//@ts-nocheck (function(global) { var fabric = global.fabric, diff --git a/src/mixins/canvas_gestures.mixin.js b/src/mixins/canvas_gestures.mixin.ts similarity index 99% rename from src/mixins/canvas_gestures.mixin.js rename to src/mixins/canvas_gestures.mixin.ts index bee8bc35aa5..de28b179832 100644 --- a/src/mixins/canvas_gestures.mixin.js +++ b/src/mixins/canvas_gestures.mixin.ts @@ -1,3 +1,4 @@ +//@ts-nocheck (function(global) { var fabric = global.fabric, degreesToRadians = fabric.util.degreesToRadians, diff --git a/src/mixins/canvas_grouping.mixin.js b/src/mixins/canvas_grouping.mixin.ts similarity index 99% rename from src/mixins/canvas_grouping.mixin.js rename to src/mixins/canvas_grouping.mixin.ts index ca655a0b1d9..48bd9aaef1c 100644 --- a/src/mixins/canvas_grouping.mixin.js +++ b/src/mixins/canvas_grouping.mixin.ts @@ -1,3 +1,4 @@ +//@ts-nocheck (function(global) { var fabric = global.fabric, diff --git a/src/mixins/canvas_serialization.mixin.js b/src/mixins/canvas_serialization.mixin.ts similarity index 99% rename from src/mixins/canvas_serialization.mixin.js rename to src/mixins/canvas_serialization.mixin.ts index 23b656083d0..a1706c3d078 100644 --- a/src/mixins/canvas_serialization.mixin.js +++ b/src/mixins/canvas_serialization.mixin.ts @@ -1,3 +1,4 @@ +//@ts-nocheck (function (global) { var fabric = global.fabric; fabric.util.object.extend(fabric.StaticCanvas.prototype, /** @lends fabric.StaticCanvas.prototype */ { diff --git a/src/mixins/collection.mixin.js b/src/mixins/collection.mixin.ts similarity index 99% rename from src/mixins/collection.mixin.js rename to src/mixins/collection.mixin.ts index a403493858b..66a75d2b21b 100644 --- a/src/mixins/collection.mixin.js +++ b/src/mixins/collection.mixin.ts @@ -1,3 +1,4 @@ +//@ts-nocheck (function(global){ var fabric = global.fabric; /** diff --git a/src/mixins/default_controls.js b/src/mixins/default_controls.ts similarity index 99% rename from src/mixins/default_controls.js rename to src/mixins/default_controls.ts index d19c21296e6..55d0977a707 100644 --- a/src/mixins/default_controls.js +++ b/src/mixins/default_controls.ts @@ -1,3 +1,4 @@ +//@ts-nocheck (function(global) { var fabric = global.fabric, controlsUtils = fabric.controlsUtils, diff --git a/src/mixins/eraser_brush.mixin.js b/src/mixins/eraser_brush.mixin.ts similarity index 99% rename from src/mixins/eraser_brush.mixin.js rename to src/mixins/eraser_brush.mixin.ts index 9619bba1431..8f3cef1c1f8 100644 --- a/src/mixins/eraser_brush.mixin.js +++ b/src/mixins/eraser_brush.mixin.ts @@ -1,3 +1,4 @@ +//@ts-nocheck (function (global) { /** ERASER_START */ diff --git a/src/mixins/itext.svg_export.js b/src/mixins/itext.svg_export.ts similarity index 99% rename from src/mixins/itext.svg_export.js rename to src/mixins/itext.svg_export.ts index 901beef4fe4..6a467d61e1a 100644 --- a/src/mixins/itext.svg_export.js +++ b/src/mixins/itext.svg_export.ts @@ -1,3 +1,4 @@ +//@ts-nocheck /* _TO_SVG_START_ */ (function(global) { var fabric = global.fabric, toFixed = fabric.util.toFixed, diff --git a/src/mixins/itext_behavior.mixin.js b/src/mixins/itext_behavior.mixin.ts similarity index 99% rename from src/mixins/itext_behavior.mixin.js rename to src/mixins/itext_behavior.mixin.ts index c5ae5005900..f24ab951fcc 100644 --- a/src/mixins/itext_behavior.mixin.js +++ b/src/mixins/itext_behavior.mixin.ts @@ -1,3 +1,4 @@ +//@ts-nocheck (function(global) { var fabric = global.fabric; fabric.util.object.extend(fabric.IText.prototype, /** @lends fabric.IText.prototype */ { diff --git a/src/mixins/itext_click_behavior.mixin.js b/src/mixins/itext_click_behavior.mixin.ts similarity index 99% rename from src/mixins/itext_click_behavior.mixin.js rename to src/mixins/itext_click_behavior.mixin.ts index 9abcf95ad74..09022fec6bb 100644 --- a/src/mixins/itext_click_behavior.mixin.js +++ b/src/mixins/itext_click_behavior.mixin.ts @@ -1,3 +1,4 @@ +//@ts-nocheck (function(global) { var fabric = global.fabric; fabric.util.object.extend(fabric.IText.prototype, /** @lends fabric.IText.prototype */ { diff --git a/src/mixins/itext_key_behavior.mixin.js b/src/mixins/itext_key_behavior.mixin.ts similarity index 99% rename from src/mixins/itext_key_behavior.mixin.js rename to src/mixins/itext_key_behavior.mixin.ts index bf55acff5f4..9982cdf3340 100644 --- a/src/mixins/itext_key_behavior.mixin.js +++ b/src/mixins/itext_key_behavior.mixin.ts @@ -1,3 +1,4 @@ +//@ts-nocheck (function(global) { var fabric = global.fabric; fabric.util.object.extend(fabric.IText.prototype, /** @lends fabric.IText.prototype */ { diff --git a/src/mixins/object.svg_export.js b/src/mixins/object.svg_export.ts similarity index 99% rename from src/mixins/object.svg_export.js rename to src/mixins/object.svg_export.ts index 646f95459f0..e369d8c53d9 100644 --- a/src/mixins/object.svg_export.js +++ b/src/mixins/object.svg_export.ts @@ -1,3 +1,4 @@ +//@ts-nocheck /* _TO_SVG_START_ */ (function(global) { var fabric = global.fabric; diff --git a/src/mixins/object_ancestry.mixin.js b/src/mixins/object_ancestry.mixin.ts similarity index 99% rename from src/mixins/object_ancestry.mixin.js rename to src/mixins/object_ancestry.mixin.ts index 0fae04155b0..a67ad6833a1 100644 --- a/src/mixins/object_ancestry.mixin.js +++ b/src/mixins/object_ancestry.mixin.ts @@ -1,3 +1,4 @@ +//@ts-nocheck (function (global) { var fabric = global.fabric; fabric.util.object.extend(fabric.Object.prototype, /** @lends fabric.Object.prototype */ { diff --git a/src/mixins/object_geometry.mixin.js b/src/mixins/object_geometry.mixin.ts similarity index 99% rename from src/mixins/object_geometry.mixin.js rename to src/mixins/object_geometry.mixin.ts index 34aa7a1f549..5636a720389 100644 --- a/src/mixins/object_geometry.mixin.js +++ b/src/mixins/object_geometry.mixin.ts @@ -1,3 +1,4 @@ +//@ts-nocheck (function(global) { function arrayFromCoords(coords) { diff --git a/src/mixins/object_interactivity.mixin.js b/src/mixins/object_interactivity.mixin.ts similarity index 99% rename from src/mixins/object_interactivity.mixin.js rename to src/mixins/object_interactivity.mixin.ts index d4f8c66a1e5..81241e4231d 100644 --- a/src/mixins/object_interactivity.mixin.js +++ b/src/mixins/object_interactivity.mixin.ts @@ -1,3 +1,4 @@ +//@ts-nocheck (function(global) { var fabric = global.fabric, degreesToRadians = fabric.util.degreesToRadians; diff --git a/src/mixins/object_origin.mixin.js b/src/mixins/object_origin.mixin.ts similarity index 99% rename from src/mixins/object_origin.mixin.js rename to src/mixins/object_origin.mixin.ts index 827f6db2654..b716bbb11de 100644 --- a/src/mixins/object_origin.mixin.js +++ b/src/mixins/object_origin.mixin.ts @@ -1,3 +1,4 @@ +//@ts-nocheck (function(global) { var fabric = global.fabric, degreesToRadians = fabric.util.degreesToRadians, diff --git a/src/mixins/object_stacking.mixin.js b/src/mixins/object_stacking.mixin.ts similarity index 99% rename from src/mixins/object_stacking.mixin.js rename to src/mixins/object_stacking.mixin.ts index 55daec82e26..2084b9cb586 100644 --- a/src/mixins/object_stacking.mixin.js +++ b/src/mixins/object_stacking.mixin.ts @@ -1,3 +1,4 @@ +//@ts-nocheck (function (global) { var fabric = global.fabric; fabric.util.object.extend(fabric.Object.prototype, /** @lends fabric.Object.prototype */ { diff --git a/src/mixins/object_straightening.mixin.js b/src/mixins/object_straightening.mixin.ts similarity index 99% rename from src/mixins/object_straightening.mixin.js rename to src/mixins/object_straightening.mixin.ts index f7217c170b1..22bcc613690 100644 --- a/src/mixins/object_straightening.mixin.js +++ b/src/mixins/object_straightening.mixin.ts @@ -1,3 +1,4 @@ +//@ts-nocheck (function (global) { var fabric = global.fabric; fabric.util.object.extend(fabric.Object.prototype, /** @lends fabric.Object.prototype */ { diff --git a/src/mixins/observable.mixin.js b/src/mixins/observable.mixin.ts similarity index 99% rename from src/mixins/observable.mixin.js rename to src/mixins/observable.mixin.ts index 6b23c8a37f1..8c469204353 100644 --- a/src/mixins/observable.mixin.js +++ b/src/mixins/observable.mixin.ts @@ -1,3 +1,4 @@ +//@ts-nocheck (function(global) { var fabric = global.fabric; /** diff --git a/src/mixins/shared_methods.mixin.js b/src/mixins/shared_methods.mixin.ts similarity index 99% rename from src/mixins/shared_methods.mixin.js rename to src/mixins/shared_methods.mixin.ts index 12f5a270c3b..68a01916716 100644 --- a/src/mixins/shared_methods.mixin.js +++ b/src/mixins/shared_methods.mixin.ts @@ -1,3 +1,4 @@ +//@ts-nocheck (function(global){ var fabric = global.fabric; /** diff --git a/src/mixins/stateful.mixin.js b/src/mixins/stateful.mixin.ts similarity index 99% rename from src/mixins/stateful.mixin.js rename to src/mixins/stateful.mixin.ts index f44a287e2fb..988f9fe1ec5 100644 --- a/src/mixins/stateful.mixin.js +++ b/src/mixins/stateful.mixin.ts @@ -1,3 +1,4 @@ +//@ts-nocheck (function(global) { var fabric = global.fabric, extend = fabric.util.object.extend, originalSet = 'stateProperties'; diff --git a/src/mixins/text_style.mixin.js b/src/mixins/text_style.mixin.ts similarity index 99% rename from src/mixins/text_style.mixin.js rename to src/mixins/text_style.mixin.ts index 82dedd9b911..33afd34aed8 100644 --- a/src/mixins/text_style.mixin.js +++ b/src/mixins/text_style.mixin.ts @@ -1,3 +1,4 @@ +//@ts-nocheck (function(global) { var fabric = global.fabric; fabric.util.object.extend(fabric.Text.prototype, /** @lends fabric.Text.prototype */ { diff --git a/src/parser.js b/src/parser.ts similarity index 99% rename from src/parser.js rename to src/parser.ts index b1ced91e1c4..307286bae74 100644 --- a/src/parser.js +++ b/src/parser.ts @@ -1,3 +1,4 @@ +//@ts-nocheck (function(global) { /** * @name fabric diff --git a/src/pattern.class.js b/src/pattern.class.ts similarity index 99% rename from src/pattern.class.js rename to src/pattern.class.ts index 841903cc389..0f8bbe462da 100644 --- a/src/pattern.class.js +++ b/src/pattern.class.ts @@ -1,3 +1,4 @@ +//@ts-nocheck (function(global) { var fabric = global.fabric, toFixed = fabric.util.toFixed; diff --git a/src/point.class.js b/src/point.class.ts similarity index 99% rename from src/point.class.js rename to src/point.class.ts index b88b7f16ab1..ecd11d4516d 100644 --- a/src/point.class.js +++ b/src/point.class.ts @@ -1,3 +1,4 @@ +//@ts-nocheck (function(global) { /* Adaptation of work of Kevin Lindsey (kevin@kevlindev.com) */ diff --git a/src/shadow.class.js b/src/shadow.class.ts similarity index 99% rename from src/shadow.class.js rename to src/shadow.class.ts index fdae041a2c8..127851233c0 100644 --- a/src/shadow.class.js +++ b/src/shadow.class.ts @@ -1,3 +1,4 @@ +//@ts-nocheck (function(global) { var fabric = global.fabric || (global.fabric = { }), toFixed = fabric.util.toFixed; diff --git a/src/shapes/active_selection.class.js b/src/shapes/active_selection.class.ts similarity index 99% rename from src/shapes/active_selection.class.js rename to src/shapes/active_selection.class.ts index f9c6b1d3b7f..5423bfadebb 100644 --- a/src/shapes/active_selection.class.js +++ b/src/shapes/active_selection.class.ts @@ -1,3 +1,4 @@ +//@ts-nocheck (function(global) { var fabric = global.fabric || (global.fabric = { }); diff --git a/src/shapes/circle.class.js b/src/shapes/circle.class.ts similarity index 99% rename from src/shapes/circle.class.js rename to src/shapes/circle.class.ts index b21357e2ee0..735dc512b99 100644 --- a/src/shapes/circle.class.js +++ b/src/shapes/circle.class.ts @@ -1,3 +1,4 @@ +//@ts-nocheck (function(global) { var fabric = global.fabric || (global.fabric = { }), degreesToRadians = fabric.util.degreesToRadians; diff --git a/src/shapes/ellipse.class.js b/src/shapes/ellipse.class.ts similarity index 99% rename from src/shapes/ellipse.class.js rename to src/shapes/ellipse.class.ts index a9224dc5889..2e8d4b7199b 100644 --- a/src/shapes/ellipse.class.js +++ b/src/shapes/ellipse.class.ts @@ -1,3 +1,4 @@ +//@ts-nocheck (function(global) { var fabric = global.fabric || (global.fabric = { }), piBy2 = Math.PI * 2; diff --git a/src/shapes/group.class.js b/src/shapes/group.class.ts similarity index 99% rename from src/shapes/group.class.js rename to src/shapes/group.class.ts index 5016a3fb1ad..fc75da8d458 100644 --- a/src/shapes/group.class.js +++ b/src/shapes/group.class.ts @@ -1,3 +1,4 @@ +//@ts-nocheck (function (global) { var fabric = global.fabric || (global.fabric = {}), multiplyTransformMatrices = fabric.util.multiplyTransformMatrices, diff --git a/src/shapes/image.class.js b/src/shapes/image.class.ts similarity index 99% rename from src/shapes/image.class.js rename to src/shapes/image.class.ts index 8a9562121e7..8962a6f1bfc 100644 --- a/src/shapes/image.class.js +++ b/src/shapes/image.class.ts @@ -1,3 +1,4 @@ +//@ts-nocheck (function(global) { var fabric = global.fabric, extend = fabric.util.object.extend; /** diff --git a/src/shapes/itext.class.js b/src/shapes/itext.class.ts similarity index 99% rename from src/shapes/itext.class.js rename to src/shapes/itext.class.ts index 01269c094ed..bd2ecda411f 100644 --- a/src/shapes/itext.class.js +++ b/src/shapes/itext.class.ts @@ -1,3 +1,4 @@ +//@ts-nocheck (function(global) { var fabric = global.fabric; /** diff --git a/src/shapes/line.class.js b/src/shapes/line.class.ts similarity index 99% rename from src/shapes/line.class.js rename to src/shapes/line.class.ts index a07d74c03bd..450407f275f 100644 --- a/src/shapes/line.class.js +++ b/src/shapes/line.class.ts @@ -1,3 +1,4 @@ +//@ts-nocheck (function(global) { var fabric = global.fabric || (global.fabric = { }), extend = fabric.util.object.extend, diff --git a/src/shapes/object.class.js b/src/shapes/object.class.ts similarity index 99% rename from src/shapes/object.class.js rename to src/shapes/object.class.ts index d9e1582b997..2d481c87d94 100644 --- a/src/shapes/object.class.js +++ b/src/shapes/object.class.ts @@ -1,3 +1,4 @@ +//@ts-nocheck (function(global) { var fabric = global.fabric || (global.fabric = { }), extend = fabric.util.object.extend, diff --git a/src/shapes/path.class.js b/src/shapes/path.class.ts similarity index 99% rename from src/shapes/path.class.js rename to src/shapes/path.class.ts index 7c6b0d62aa6..3387d4de2bf 100644 --- a/src/shapes/path.class.js +++ b/src/shapes/path.class.ts @@ -1,3 +1,4 @@ +//@ts-nocheck (function(global) { var fabric = global.fabric || (global.fabric = { }), min = fabric.util.array.min, diff --git a/src/shapes/polygon.class.js b/src/shapes/polygon.class.ts similarity index 99% rename from src/shapes/polygon.class.js rename to src/shapes/polygon.class.ts index 81e4059f8ac..c1405b11009 100644 --- a/src/shapes/polygon.class.js +++ b/src/shapes/polygon.class.ts @@ -1,3 +1,4 @@ +//@ts-nocheck (function(global) { var fabric = global.fabric || (global.fabric = {}), projectStrokeOnPoints = fabric.util.projectStrokeOnPoints; diff --git a/src/shapes/polyline.class.js b/src/shapes/polyline.class.ts similarity index 99% rename from src/shapes/polyline.class.js rename to src/shapes/polyline.class.ts index 0135a6d654f..ae701d628c5 100644 --- a/src/shapes/polyline.class.js +++ b/src/shapes/polyline.class.ts @@ -1,3 +1,4 @@ +//@ts-nocheck (function(global) { var fabric = global.fabric || (global.fabric = { }), extend = fabric.util.object.extend, diff --git a/src/shapes/rect.class.js b/src/shapes/rect.class.ts similarity index 99% rename from src/shapes/rect.class.js rename to src/shapes/rect.class.ts index 58abeaff401..1be8f2d65ce 100644 --- a/src/shapes/rect.class.js +++ b/src/shapes/rect.class.ts @@ -1,3 +1,4 @@ +//@ts-nocheck (function(global) { var fabric = global.fabric || (global.fabric = { }); diff --git a/src/shapes/text.class.js b/src/shapes/text.class.ts similarity index 99% rename from src/shapes/text.class.js rename to src/shapes/text.class.ts index 7222d59cecd..1f148f9f0a6 100644 --- a/src/shapes/text.class.js +++ b/src/shapes/text.class.ts @@ -1,3 +1,4 @@ +//@ts-nocheck (function(global) { var fabric = global.fabric || (global.fabric = { }); diff --git a/src/shapes/textbox.class.js b/src/shapes/textbox.class.ts similarity index 99% rename from src/shapes/textbox.class.js rename to src/shapes/textbox.class.ts index d6df407c536..c224eb9f3b3 100644 --- a/src/shapes/textbox.class.js +++ b/src/shapes/textbox.class.ts @@ -1,3 +1,4 @@ +//@ts-nocheck (function(global) { var fabric = global.fabric || (global.fabric = {}); diff --git a/src/shapes/triangle.class.js b/src/shapes/triangle.class.ts similarity index 99% rename from src/shapes/triangle.class.js rename to src/shapes/triangle.class.ts index 539fa910748..570b334ba93 100644 --- a/src/shapes/triangle.class.js +++ b/src/shapes/triangle.class.ts @@ -1,3 +1,4 @@ +//@ts-nocheck (function(global) { var fabric = global.fabric || (global.fabric = { }); /** diff --git a/src/static_canvas.class.js b/src/static_canvas.class.ts similarity index 99% rename from src/static_canvas.class.js rename to src/static_canvas.class.ts index cb527f2d2a6..f04f9446ab0 100644 --- a/src/static_canvas.class.js +++ b/src/static_canvas.class.ts @@ -1,3 +1,4 @@ +//@ts-nocheck (function (global) { // aliases for faster resolution var fabric = global.fabric, extend = fabric.util.object.extend, diff --git a/src/typedefs.ts b/src/typedefs.ts index c2ad6c0ac00..55149845c32 100644 --- a/src/typedefs.ts +++ b/src/typedefs.ts @@ -1,10 +1,13 @@ +//@ts-nocheck interface NominalTag { 'nominalTag': T; } type Nominal = NominalTag & Type; +// eslint-disable-next-line no-unused-vars const enum Degree {} +// eslint-disable-next-line no-unused-vars const enum Radian {} export type TDegree = Nominal; diff --git a/src/util/anim_ease.js b/src/util/anim_ease.ts similarity index 99% rename from src/util/anim_ease.js rename to src/util/anim_ease.ts index 446c09eaf37..52d9c5187c5 100644 --- a/src/util/anim_ease.js +++ b/src/util/anim_ease.ts @@ -1,3 +1,4 @@ +//@ts-nocheck (function(global) { var fabric = global.fabric; function normalize(a, c, p, s) { diff --git a/src/util/animate.js b/src/util/animate.ts similarity index 99% rename from src/util/animate.js rename to src/util/animate.ts index cb78ba61e67..525ed8a13f4 100644 --- a/src/util/animate.js +++ b/src/util/animate.ts @@ -1,3 +1,4 @@ +//@ts-nocheck (function (global) { /** * diff --git a/src/util/animate_color.js b/src/util/animate_color.ts similarity index 99% rename from src/util/animate_color.js rename to src/util/animate_color.ts index 12e0f3d3160..47e831adc13 100644 --- a/src/util/animate_color.js +++ b/src/util/animate_color.ts @@ -1,3 +1,4 @@ +//@ts-nocheck (function(global) { var fabric = global.fabric; // Calculate an in-between color. Returns a "rgba()" string. diff --git a/src/util/cos.ts b/src/util/cos.ts index 20bc2e13fa5..e19bf81c45b 100644 --- a/src/util/cos.ts +++ b/src/util/cos.ts @@ -1,3 +1,4 @@ +//@ts-nocheck import type { TRadian } from '../typedefs'; import { halfPI } from '../constants'; diff --git a/src/util/dom_event.js b/src/util/dom_event.ts similarity index 99% rename from src/util/dom_event.js rename to src/util/dom_event.ts index 273dca0aa44..76404e72c7c 100644 --- a/src/util/dom_event.js +++ b/src/util/dom_event.ts @@ -1,3 +1,4 @@ +//@ts-nocheck (function (global) { // since ie11 can use addEventListener but they do not support options, i need to check var fabric = global.fabric, couldUseAttachEvent = !!fabric.document.createElement('div').attachEvent, diff --git a/src/util/dom_misc.js b/src/util/dom_misc.ts similarity index 99% rename from src/util/dom_misc.js rename to src/util/dom_misc.ts index 267ff9f848e..1f877eae5ac 100644 --- a/src/util/dom_misc.js +++ b/src/util/dom_misc.ts @@ -1,3 +1,4 @@ +//@ts-nocheck (function(global) { var fabric = global.fabric, _slice = Array.prototype.slice; diff --git a/src/util/dom_request.js b/src/util/dom_request.ts similarity index 99% rename from src/util/dom_request.js rename to src/util/dom_request.ts index 65ea0a68706..78a5ab3cf0b 100644 --- a/src/util/dom_request.js +++ b/src/util/dom_request.ts @@ -1,3 +1,4 @@ +//@ts-nocheck (function(global) { var fabric = global.fabric; function addParamToUrl(url, param) { diff --git a/src/util/dom_style.js b/src/util/dom_style.ts similarity index 99% rename from src/util/dom_style.js rename to src/util/dom_style.ts index 461cff8c6ea..6d6183b5b5e 100644 --- a/src/util/dom_style.js +++ b/src/util/dom_style.ts @@ -1,3 +1,4 @@ +//@ts-nocheck (function (global) { var fabric = global.fabric; /* this file needs to go away, cross browser style support is not fabricjs domain. diff --git a/src/util/index.ts b/src/util/index.ts index 857114098f1..03f7bbb9fe9 100644 --- a/src/util/index.ts +++ b/src/util/index.ts @@ -1 +1,2 @@ +//@ts-nocheck export * from './cos'; diff --git a/src/util/lang_array.js b/src/util/lang_array.ts similarity index 99% rename from src/util/lang_array.js rename to src/util/lang_array.ts index 9347e028abf..f2a69a30f4e 100644 --- a/src/util/lang_array.js +++ b/src/util/lang_array.ts @@ -1,3 +1,4 @@ +//@ts-nocheck (function(global) { var fabric = global.fabric, slice = Array.prototype.slice; diff --git a/src/util/lang_class.js b/src/util/lang_class.ts similarity index 99% rename from src/util/lang_class.js rename to src/util/lang_class.ts index 99df86b1fe5..43c1067a002 100644 --- a/src/util/lang_class.js +++ b/src/util/lang_class.ts @@ -1,3 +1,4 @@ +//@ts-nocheck (function(global) { var fabric = global.fabric, slice = Array.prototype.slice, emptyFunction = function() { }, diff --git a/src/util/lang_object.js b/src/util/lang_object.ts similarity index 99% rename from src/util/lang_object.js rename to src/util/lang_object.ts index 0d278c9220c..afc70af5b0c 100644 --- a/src/util/lang_object.js +++ b/src/util/lang_object.ts @@ -1,3 +1,4 @@ +//@ts-nocheck (function(global) { var fabric = global.fabric; /** diff --git a/src/util/lang_string.js b/src/util/lang_string.ts similarity index 99% rename from src/util/lang_string.js rename to src/util/lang_string.ts index 2e6840c5c9d..659582ad841 100644 --- a/src/util/lang_string.js +++ b/src/util/lang_string.ts @@ -1,3 +1,4 @@ +//@ts-nocheck (function(global) { var fabric = global.fabric; /** diff --git a/src/util/misc.js b/src/util/misc.ts similarity index 99% rename from src/util/misc.js rename to src/util/misc.ts index c73095ae031..98c933d9b03 100644 --- a/src/util/misc.js +++ b/src/util/misc.ts @@ -1,3 +1,4 @@ +//@ts-nocheck import { cos } from './index.ts'; (function(global) { var fabric = global.fabric, sqrt = Math.sqrt, diff --git a/src/util/named_accessors.mixin.js b/src/util/named_accessors.mixin.ts similarity index 99% rename from src/util/named_accessors.mixin.js rename to src/util/named_accessors.mixin.ts index 2b915338f6f..20d89e9be5f 100644 --- a/src/util/named_accessors.mixin.js +++ b/src/util/named_accessors.mixin.ts @@ -1,3 +1,4 @@ +//@ts-nocheck (function(global) { var fabric = global.fabric; /** diff --git a/src/util/path.js b/src/util/path.ts similarity index 99% rename from src/util/path.js rename to src/util/path.ts index 90f21cb6443..3006875baff 100644 --- a/src/util/path.js +++ b/src/util/path.ts @@ -1,3 +1,4 @@ +//@ts-nocheck (function(global) { var fabric = global.fabric, _join = Array.prototype.join,