From 06d7ea71158f60b9935a8e2249fb58beac7a4329 Mon Sep 17 00:00:00 2001 From: kpal Date: Thu, 12 Feb 2026 14:29:26 +0000 Subject: [PATCH 1/3] feat: folded editor api src into main src --- .gitignore | 2 +- eslint.config.mjs | 3 +- modules/editor-api/package-lock.json | 2700 ----------------- modules/editor-api/package.json | 23 - modules/editor-api/rollup.config.mjs | 61 - modules/editor-api/tsconfig.build.json | 10 - modules/editor-api/tsconfig.json | 16 - .../utils/plugins/rollup-run-tsc.mjs | 18 - package-lock.json | 208 +- package.json | 10 +- rollup.config.mjs | 56 - src/code-editor/editor.ts | 2 +- src/code-editor/menu-panel/file/create.ts | 2 +- src/common/editor.ts | 2 +- .../pcui/element/element-asset-input.ts | 2 +- .../pcui/element/element-asset-thumbnail.ts | 2 +- .../template-thumbnail-renderer.ts | 2 +- .../editor-api/src => src/editor-api}/ajax.ts | 0 .../src => src/editor-api}/asset.ts | 0 .../src => src/editor-api}/assets.ts | 0 .../editor-api}/assets/create-script.ts | 0 .../editor-api}/assets/create-template.ts | 0 .../assets/instantiate-templates.ts | 0 .../src => src/editor-api}/assets/replace.ts | 0 .../src => src/editor-api}/assets/upload.ts | 0 .../src => src/editor-api}/clipboard.ts | 0 .../src => src/editor-api}/deferred.ts | 0 .../src => src/editor-api}/entities.ts | 0 .../src => src/editor-api}/entities/copy.ts | 0 .../src => src/editor-api}/entities/create.ts | 0 .../src => src/editor-api}/entities/delete.ts | 2 +- .../editor-api}/entities/duplicate.ts | 2 +- .../src => src/editor-api}/entities/paste.ts | 2 +- .../editor-api}/entities/references.ts | 0 .../editor-api}/entities/reparent.ts | 0 .../editor-api}/entities/scripts.ts | 0 .../src => src/editor-api}/entities/wait.ts | 2 +- .../src => src/editor-api}/entity.ts | 0 .../editor-api/external-types}/asset.d.ts | 0 .../editor-api/external-types}/config.d.ts | 0 .../editor-api/external-types}/entity.d.ts | 0 .../external-types}/scene-settings.d.ts | 0 .../src => src/editor-api}/globals.ts | 0 .../editor-api/src => src/editor-api}/guid.ts | 0 .../src => src/editor-api}/history.ts | 2 +- .../src => src/editor-api}/index.ts | 8 +- .../editor-api/src => src/editor-api}/jobs.ts | 0 .../src => src/editor-api}/localstorage.ts | 0 .../src => src/editor-api}/messenger.ts | 0 .../src => src/editor-api}/models.ts | 0 .../src => src/editor-api}/polyfills.ts | 0 .../src => src/editor-api}/realtime.ts | 0 .../src => src/editor-api}/realtime/asset.ts | 0 .../src => src/editor-api}/realtime/assets.ts | 0 .../editor-api}/realtime/connection.ts | 0 .../src => src/editor-api}/realtime/scene.ts | 0 .../src => src/editor-api}/realtime/scenes.ts | 0 .../editor-api/src => src/editor-api}/rest.ts | 0 .../src => src/editor-api}/rest/apps.ts | 0 .../src => src/editor-api}/rest/assets.ts | 0 .../src => src/editor-api}/rest/branches.ts | 0 .../editor-api}/rest/checkpoints.ts | 0 .../src => src/editor-api}/rest/conflicts.ts | 0 .../src => src/editor-api}/rest/diff.ts | 0 .../src => src/editor-api}/rest/home.ts | 0 .../editor-api}/rest/invitations.ts | 0 .../src => src/editor-api}/rest/jobs.ts | 0 .../src => src/editor-api}/rest/merge.ts | 0 .../src => src/editor-api}/rest/payment.ts | 0 .../src => src/editor-api}/rest/projects.ts | 0 .../src => src/editor-api}/rest/scenes.ts | 0 .../src => src/editor-api}/rest/star.ts | 0 .../src => src/editor-api}/rest/store.ts | 0 .../src => src/editor-api}/rest/upload.ts | 0 .../src => src/editor-api}/rest/users.ts | 0 .../src => src/editor-api}/rest/watch.ts | 0 .../src => src/editor-api}/schema.ts | 0 .../src => src/editor-api}/schema/assets.ts | 0 .../editor-api}/schema/components.ts | 0 .../src => src/editor-api}/schema/scene.ts | 0 .../src => src/editor-api}/schema/settings.ts | 0 .../src => src/editor-api}/selection.ts | 0 .../src => src/editor-api}/settings.ts | 0 .../src => src/editor-api}/settings/scene.ts | 0 .../src => src/editor-api}/types/global.d.ts | 0 .../src => src/editor-api}/types/ot-text.d.ts | 0 .../src => src/editor-api}/utils.ts | 0 src/editor/assets/asset-panel.ts | 2 +- src/editor/assets/assets-context-menu.ts | 2 +- src/editor/assets/assets.ts | 2 +- src/editor/editor.ts | 2 +- src/editor/entities/entities.ts | 2 +- .../inspector/assets/template-preview.ts | 2 +- src/editor/inspector/attributes-inspector.ts | 2 +- src/editor/inspector/components/component.ts | 2 +- src/editor/inspector/components/script.ts | 2 +- src/editor/inspector/entity.ts | 2 +- .../settings-panels/loading-screen.ts | 2 +- src/editor/selector/selector.ts | 2 +- src/editor/storage/localstorage.ts | 2 +- src/editor/templates/revert-overrides.ts | 2 +- .../templates/templates-entity-inspector.ts | 2 +- src/editor/templates/unlink-template.ts | 2 +- src/editor/viewport/gizmo/gizmo-transform.ts | 2 +- src/editor/viewport/viewport-drop-gsplat.ts | 2 +- src/editor/viewport/viewport-drop-model.ts | 2 +- src/editor/viewport/viewport-drop-sprite.ts | 2 +- .../viewport/viewport-entities-create.ts | 2 +- src/launch/editor.ts | 2 +- .../editor-api}/api/test-asset.js | 0 .../editor-api}/api/test-assets.js | 0 .../editor-api}/api/test-clipboard.js | 0 .../editor-api}/api/test-entities.js | 0 .../editor-api}/api/test-entity.js | 0 .../test => test/editor-api}/api/test-guid.js | 0 .../test => test/editor-api}/api/test-jobs.js | 0 .../editor-api}/api/test-localstorage.js | 0 .../editor-api}/api/test-schema.js | 0 .../editor-api}/api/test-selection.js | 0 .../editor-api}/api/test-utils.js | 0 .../test => test/editor-api}/karma.conf.cjs | 19 +- .../test => test/editor-api}/lib/schema.js | 0 test/editor-api/rollup.test.config.mjs | 33 + .../test => test/editor-api}/setup.js | 4 +- tsconfig.json | 3 +- types.d.ts | 8 +- 126 files changed, 104 insertions(+), 3144 deletions(-) delete mode 100644 modules/editor-api/package-lock.json delete mode 100644 modules/editor-api/package.json delete mode 100644 modules/editor-api/rollup.config.mjs delete mode 100644 modules/editor-api/tsconfig.build.json delete mode 100644 modules/editor-api/tsconfig.json delete mode 100644 modules/editor-api/utils/plugins/rollup-run-tsc.mjs rename {modules/editor-api/src => src/editor-api}/ajax.ts (100%) rename {modules/editor-api/src => src/editor-api}/asset.ts (100%) rename {modules/editor-api/src => src/editor-api}/assets.ts (100%) rename {modules/editor-api/src => src/editor-api}/assets/create-script.ts (100%) rename {modules/editor-api/src => src/editor-api}/assets/create-template.ts (100%) rename {modules/editor-api/src => src/editor-api}/assets/instantiate-templates.ts (100%) rename {modules/editor-api/src => src/editor-api}/assets/replace.ts (100%) rename {modules/editor-api/src => src/editor-api}/assets/upload.ts (100%) rename {modules/editor-api/src => src/editor-api}/clipboard.ts (100%) rename {modules/editor-api/src => src/editor-api}/deferred.ts (100%) rename {modules/editor-api/src => src/editor-api}/entities.ts (100%) rename {modules/editor-api/src => src/editor-api}/entities/copy.ts (100%) rename {modules/editor-api/src => src/editor-api}/entities/create.ts (100%) rename {modules/editor-api/src => src/editor-api}/entities/delete.ts (98%) rename {modules/editor-api/src => src/editor-api}/entities/duplicate.ts (99%) rename {modules/editor-api/src => src/editor-api}/entities/paste.ts (99%) rename {modules/editor-api/src => src/editor-api}/entities/references.ts (100%) rename {modules/editor-api/src => src/editor-api}/entities/reparent.ts (100%) rename {modules/editor-api/src => src/editor-api}/entities/scripts.ts (100%) rename {modules/editor-api/src => src/editor-api}/entities/wait.ts (96%) rename {modules/editor-api/src => src/editor-api}/entity.ts (100%) rename {modules/editor-api/external/types => src/editor-api/external-types}/asset.d.ts (100%) rename {modules/editor-api/external/types => src/editor-api/external-types}/config.d.ts (100%) rename {modules/editor-api/external/types => src/editor-api/external-types}/entity.d.ts (100%) rename {modules/editor-api/external/types => src/editor-api/external-types}/scene-settings.d.ts (100%) rename {modules/editor-api/src => src/editor-api}/globals.ts (100%) rename {modules/editor-api/src => src/editor-api}/guid.ts (100%) rename {modules/editor-api/src => src/editor-api}/history.ts (97%) rename {modules/editor-api/src => src/editor-api}/index.ts (89%) rename {modules/editor-api/src => src/editor-api}/jobs.ts (100%) rename {modules/editor-api/src => src/editor-api}/localstorage.ts (100%) rename {modules/editor-api/src => src/editor-api}/messenger.ts (100%) rename {modules/editor-api/src => src/editor-api}/models.ts (100%) rename {modules/editor-api/src => src/editor-api}/polyfills.ts (100%) rename {modules/editor-api/src => src/editor-api}/realtime.ts (100%) rename {modules/editor-api/src => src/editor-api}/realtime/asset.ts (100%) rename {modules/editor-api/src => src/editor-api}/realtime/assets.ts (100%) rename {modules/editor-api/src => src/editor-api}/realtime/connection.ts (100%) rename {modules/editor-api/src => src/editor-api}/realtime/scene.ts (100%) rename {modules/editor-api/src => src/editor-api}/realtime/scenes.ts (100%) rename {modules/editor-api/src => src/editor-api}/rest.ts (100%) rename {modules/editor-api/src => src/editor-api}/rest/apps.ts (100%) rename {modules/editor-api/src => src/editor-api}/rest/assets.ts (100%) rename {modules/editor-api/src => src/editor-api}/rest/branches.ts (100%) rename {modules/editor-api/src => src/editor-api}/rest/checkpoints.ts (100%) rename {modules/editor-api/src => src/editor-api}/rest/conflicts.ts (100%) rename {modules/editor-api/src => src/editor-api}/rest/diff.ts (100%) rename {modules/editor-api/src => src/editor-api}/rest/home.ts (100%) rename {modules/editor-api/src => src/editor-api}/rest/invitations.ts (100%) rename {modules/editor-api/src => src/editor-api}/rest/jobs.ts (100%) rename {modules/editor-api/src => src/editor-api}/rest/merge.ts (100%) rename {modules/editor-api/src => src/editor-api}/rest/payment.ts (100%) rename {modules/editor-api/src => src/editor-api}/rest/projects.ts (100%) rename {modules/editor-api/src => src/editor-api}/rest/scenes.ts (100%) rename {modules/editor-api/src => src/editor-api}/rest/star.ts (100%) rename {modules/editor-api/src => src/editor-api}/rest/store.ts (100%) rename {modules/editor-api/src => src/editor-api}/rest/upload.ts (100%) rename {modules/editor-api/src => src/editor-api}/rest/users.ts (100%) rename {modules/editor-api/src => src/editor-api}/rest/watch.ts (100%) rename {modules/editor-api/src => src/editor-api}/schema.ts (100%) rename {modules/editor-api/src => src/editor-api}/schema/assets.ts (100%) rename {modules/editor-api/src => src/editor-api}/schema/components.ts (100%) rename {modules/editor-api/src => src/editor-api}/schema/scene.ts (100%) rename {modules/editor-api/src => src/editor-api}/schema/settings.ts (100%) rename {modules/editor-api/src => src/editor-api}/selection.ts (100%) rename {modules/editor-api/src => src/editor-api}/settings.ts (100%) rename {modules/editor-api/src => src/editor-api}/settings/scene.ts (100%) rename {modules/editor-api/src => src/editor-api}/types/global.d.ts (100%) rename {modules/editor-api/src => src/editor-api}/types/ot-text.d.ts (100%) rename {modules/editor-api/src => src/editor-api}/utils.ts (100%) rename {modules/editor-api/test => test/editor-api}/api/test-asset.js (100%) rename {modules/editor-api/test => test/editor-api}/api/test-assets.js (100%) rename {modules/editor-api/test => test/editor-api}/api/test-clipboard.js (100%) rename {modules/editor-api/test => test/editor-api}/api/test-entities.js (100%) rename {modules/editor-api/test => test/editor-api}/api/test-entity.js (100%) rename {modules/editor-api/test => test/editor-api}/api/test-guid.js (100%) rename {modules/editor-api/test => test/editor-api}/api/test-jobs.js (100%) rename {modules/editor-api/test => test/editor-api}/api/test-localstorage.js (100%) rename {modules/editor-api/test => test/editor-api}/api/test-schema.js (100%) rename {modules/editor-api/test => test/editor-api}/api/test-selection.js (100%) rename {modules/editor-api/test => test/editor-api}/api/test-utils.js (100%) rename {modules/editor-api/test => test/editor-api}/karma.conf.cjs (82%) rename {modules/editor-api/test => test/editor-api}/lib/schema.js (100%) create mode 100644 test/editor-api/rollup.test.config.mjs rename {modules/editor-api/test => test/editor-api}/setup.js (77%) diff --git a/.gitignore b/.gitignore index e0974b9bc..0cef2a435 100644 --- a/.gitignore +++ b/.gitignore @@ -7,5 +7,5 @@ dist .npmrc /.vscode /.cursor -modules/editor-api/types +test/editor-api/dist /test-results \ No newline at end of file diff --git a/eslint.config.mjs b/eslint.config.mjs index 7b3535813..f7648ebd2 100644 --- a/eslint.config.mjs +++ b/eslint.config.mjs @@ -158,8 +158,7 @@ export default [ '**/dist/**', 'src/realtime/share.uncompressed.js', // added when serving 'src/wasm/**/*.js', - 'modules/editor-api/test', - 'modules/editor-api/types' + 'test/editor-api' ] } ]; diff --git a/modules/editor-api/package-lock.json b/modules/editor-api/package-lock.json deleted file mode 100644 index 581d0d6e0..000000000 --- a/modules/editor-api/package-lock.json +++ /dev/null @@ -1,2700 +0,0 @@ -{ - "name": "@playcanvas/editor-api", - "version": "0.0.0", - "lockfileVersion": 3, - "requires": true, - "packages": { - "": { - "name": "@playcanvas/editor-api", - "version": "0.0.0", - "devDependencies": { - "chai": "4.5.0", - "karma": "6.4.4", - "karma-chrome-launcher": "3.2.0", - "karma-mocha": "2.0.1", - "karma-spec-reporter": "0.0.36", - "mocha": "10.8.2", - "sinon": "17.0.1" - } - }, - "node_modules/@colors/colors": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz", - "integrity": "sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.1.90" - } - }, - "node_modules/@sinonjs/commons": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.1.tgz", - "integrity": "sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ==", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "type-detect": "4.0.8" - } - }, - "node_modules/@sinonjs/commons/node_modules/type-detect": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", - "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/@sinonjs/fake-timers": { - "version": "11.3.1", - "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-11.3.1.tgz", - "integrity": "sha512-EVJO7nW5M/F5Tur0Rf2z/QoMo+1Ia963RiMtapiQrEWvY0iBUvADo8Beegwjpnle5BHkyHuoxSTW3jF43H1XRA==", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "@sinonjs/commons": "^3.0.1" - } - }, - "node_modules/@sinonjs/samsam": { - "version": "8.0.3", - "resolved": "https://registry.npmjs.org/@sinonjs/samsam/-/samsam-8.0.3.tgz", - "integrity": "sha512-hw6HbX+GyVZzmaYNh82Ecj1vdGZrqVIn/keDTg63IgAwiQPO+xCz99uG6Woqgb4tM0mUiFENKZ4cqd7IX94AXQ==", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "@sinonjs/commons": "^3.0.1", - "type-detect": "^4.1.0" - } - }, - "node_modules/@sinonjs/text-encoding": { - "version": "0.7.3", - "resolved": "https://registry.npmjs.org/@sinonjs/text-encoding/-/text-encoding-0.7.3.tgz", - "integrity": "sha512-DE427ROAphMQzU4ENbliGYrBSYPXF+TtLg9S8vzeA+OF4ZKzoDdzfL8sxuMUGS/lgRhM6j1URSk9ghf7Xo1tyA==", - "dev": true, - "license": "(Unlicense OR Apache-2.0)" - }, - "node_modules/@socket.io/component-emitter": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/@socket.io/component-emitter/-/component-emitter-3.1.2.tgz", - "integrity": "sha512-9BCxFwvbGg/RsZK9tjXd8s4UcwR0MWeFQ1XEKIQVVvAGJyINdrqKMcTRyLoK8Rse1GjzLV9cwjWV1olXRWEXVA==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/cors": { - "version": "2.8.19", - "resolved": "https://registry.npmjs.org/@types/cors/-/cors-2.8.19.tgz", - "integrity": "sha512-mFNylyeyqN93lfe/9CSxOGREz8cpzAhH+E93xJ4xWQf62V8sQ/24reV2nyzUWM6H6Xji+GGHpkbLe7pVoUEskg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/node": { - "version": "24.10.1", - "resolved": "https://registry.npmjs.org/@types/node/-/node-24.10.1.tgz", - "integrity": "sha512-GNWcUTRBgIRJD5zj+Tq0fKOJ5XZajIiBroOF0yvj2bSU1WvNdYS/dn9UxwsujGW4JX06dnHyjV2y9rRaybH0iQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "undici-types": "~7.16.0" - } - }, - "node_modules/accepts": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", - "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", - "dev": true, - "license": "MIT", - "dependencies": { - "mime-types": "~2.1.34", - "negotiator": "0.6.3" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/ansi-colors": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz", - "integrity": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/anymatch": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", - "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", - "dev": true, - "license": "ISC", - "dependencies": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "dev": true, - "license": "Python-2.0" - }, - "node_modules/assertion-error": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz", - "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==", - "dev": true, - "license": "MIT", - "engines": { - "node": "*" - } - }, - "node_modules/balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "dev": true, - "license": "MIT" - }, - "node_modules/base64id": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/base64id/-/base64id-2.0.0.tgz", - "integrity": "sha512-lGe34o6EHj9y3Kts9R4ZYs/Gr+6N7MCaMlIFA3F1R2O5/m7K06AxfSeO5530PEERE6/WyEg3lsuyw4GHlPZHog==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^4.5.0 || >= 5.9" - } - }, - "node_modules/binary-extensions": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", - "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/body-parser": { - "version": "1.20.4", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.4.tgz", - "integrity": "sha512-ZTgYYLMOXY9qKU/57FAo8F+HA2dGX7bqGc71txDRC1rS4frdFI5R7NhluHxH6M0YItAP0sHB4uqAOcYKxO6uGA==", - "dev": true, - "license": "MIT", - "dependencies": { - "bytes": "~3.1.2", - "content-type": "~1.0.5", - "debug": "2.6.9", - "depd": "2.0.0", - "destroy": "~1.2.0", - "http-errors": "~2.0.1", - "iconv-lite": "~0.4.24", - "on-finished": "~2.4.1", - "qs": "~6.14.0", - "raw-body": "~2.5.3", - "type-is": "~1.6.18", - "unpipe": "~1.0.0" - }, - "engines": { - "node": ">= 0.8", - "npm": "1.2.8000 || >= 1.4.16" - } - }, - "node_modules/brace-expansion": { - "version": "1.1.12", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", - "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/braces": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", - "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", - "dev": true, - "license": "MIT", - "dependencies": { - "fill-range": "^7.1.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/browser-stdout": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz", - "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==", - "dev": true, - "license": "ISC" - }, - "node_modules/bytes": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", - "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/call-bind-apply-helpers": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", - "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "es-errors": "^1.3.0", - "function-bind": "^1.1.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/call-bound": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz", - "integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind-apply-helpers": "^1.0.2", - "get-intrinsic": "^1.3.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/camelcase": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", - "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/chai": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/chai/-/chai-4.5.0.tgz", - "integrity": "sha512-RITGBfijLkBddZvnn8jdqoTypxvqbOLYQkGGxXzeFjVHvudaPw0HNFD9x928/eUwYWd2dPCugVqspGALTZZQKw==", - "dev": true, - "license": "MIT", - "dependencies": { - "assertion-error": "^1.1.0", - "check-error": "^1.0.3", - "deep-eql": "^4.1.3", - "get-func-name": "^2.0.2", - "loupe": "^2.3.6", - "pathval": "^1.1.1", - "type-detect": "^4.1.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/chalk/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/check-error": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.3.tgz", - "integrity": "sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==", - "dev": true, - "license": "MIT", - "dependencies": { - "get-func-name": "^2.0.2" - }, - "engines": { - "node": "*" - } - }, - "node_modules/chokidar": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", - "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", - "dev": true, - "license": "MIT", - "dependencies": { - "anymatch": "~3.1.2", - "braces": "~3.0.2", - "glob-parent": "~5.1.2", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.6.0" - }, - "engines": { - "node": ">= 8.10.0" - }, - "funding": { - "url": "https://paulmillr.com/funding/" - }, - "optionalDependencies": { - "fsevents": "~2.3.2" - } - }, - "node_modules/cliui": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", - "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", - "dev": true, - "license": "ISC", - "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^7.0.0" - } - }, - "node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true, - "license": "MIT" - }, - "node_modules/colors": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz", - "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.1.90" - } - }, - "node_modules/concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", - "dev": true, - "license": "MIT" - }, - "node_modules/connect": { - "version": "3.7.0", - "resolved": "https://registry.npmjs.org/connect/-/connect-3.7.0.tgz", - "integrity": "sha512-ZqRXc+tZukToSNmh5C2iWMSoV3X1YUcPbqEM4DkEG5tNQXrQUZCNVGGv3IuicnkMtPfGf3Xtp8WCXs295iQ1pQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "debug": "2.6.9", - "finalhandler": "1.1.2", - "parseurl": "~1.3.3", - "utils-merge": "1.0.1" - }, - "engines": { - "node": ">= 0.10.0" - } - }, - "node_modules/content-type": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", - "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/cookie": { - "version": "0.7.2", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.2.tgz", - "integrity": "sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/cors": { - "version": "2.8.5", - "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz", - "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==", - "dev": true, - "license": "MIT", - "dependencies": { - "object-assign": "^4", - "vary": "^1" - }, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/custom-event": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/custom-event/-/custom-event-1.0.1.tgz", - "integrity": "sha512-GAj5FOq0Hd+RsCGVJxZuKaIDXDf3h6GQoNEjFgbLLI/trgtavwUbSnZ5pVfg27DVCaWjIohryS0JFwIJyT2cMg==", - "dev": true, - "license": "MIT" - }, - "node_modules/date-format": { - "version": "4.0.14", - "resolved": "https://registry.npmjs.org/date-format/-/date-format-4.0.14.tgz", - "integrity": "sha512-39BOQLs9ZjKh0/patS9nrT8wc3ioX3/eA/zgbKNopnF2wCqJEoxywwwElATYvRsXdnOxA/OQeQoFZ3rFjVajhg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4.0" - } - }, - "node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/decamelize": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-4.0.0.tgz", - "integrity": "sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/deep-eql": { - "version": "4.1.4", - "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-4.1.4.tgz", - "integrity": "sha512-SUwdGfqdKOwxCPeVYjwSyRpJ7Z+fhpwIAtmCUdZIWZ/YP5R9WAsyuSgpLVDi9bjWoN2LXHNss/dk3urXtdQxGg==", - "dev": true, - "license": "MIT", - "dependencies": { - "type-detect": "^4.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/depd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", - "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/destroy": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", - "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.8", - "npm": "1.2.8000 || >= 1.4.16" - } - }, - "node_modules/di": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/di/-/di-0.0.1.tgz", - "integrity": "sha512-uJaamHkagcZtHPqCIHZxnFrXlunQXgBOsZSUOWwFw31QJCAbyTBoHMW75YOTur5ZNx8pIeAKgf6GWIgaqqiLhA==", - "dev": true, - "license": "MIT" - }, - "node_modules/diff": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/diff/-/diff-5.2.0.tgz", - "integrity": "sha512-uIFDxqpRZGZ6ThOk84hEfqWoHx2devRFvpTZcTHur85vImfaxUbTW9Ryh4CpCuDnToOP1CEtXKIgytHBPVff5A==", - "dev": true, - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.3.1" - } - }, - "node_modules/dom-serialize": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/dom-serialize/-/dom-serialize-2.2.1.tgz", - "integrity": "sha512-Yra4DbvoW7/Z6LBN560ZwXMjoNOSAN2wRsKFGc4iBeso+mpIA6qj1vfdf9HpMaKAqG6wXTy+1SYEzmNpKXOSsQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "custom-event": "~1.0.0", - "ent": "~2.2.0", - "extend": "^3.0.0", - "void-elements": "^2.0.0" - } - }, - "node_modules/dunder-proto": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", - "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind-apply-helpers": "^1.0.1", - "es-errors": "^1.3.0", - "gopd": "^1.2.0" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/ee-first": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", - "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==", - "dev": true, - "license": "MIT" - }, - "node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true, - "license": "MIT" - }, - "node_modules/encodeurl": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", - "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/engine.io": { - "version": "6.6.4", - "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-6.6.4.tgz", - "integrity": "sha512-ZCkIjSYNDyGn0R6ewHDtXgns/Zre/NT6Agvq1/WobF7JXgFff4SeDroKiCO3fNJreU9YG429Sc81o4w5ok/W5g==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/cors": "^2.8.12", - "@types/node": ">=10.0.0", - "accepts": "~1.3.4", - "base64id": "2.0.0", - "cookie": "~0.7.2", - "cors": "~2.8.5", - "debug": "~4.3.1", - "engine.io-parser": "~5.2.1", - "ws": "~8.17.1" - }, - "engines": { - "node": ">=10.2.0" - } - }, - "node_modules/engine.io-parser": { - "version": "5.2.3", - "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.2.3.tgz", - "integrity": "sha512-HqD3yTBfnBxIrbnM1DoD6Pcq8NECnh8d4As1Qgh0z5Gg3jRRIqijury0CL3ghu/edArpUYiYqQiDUQBIs4np3Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/engine.io/node_modules/debug": { - "version": "4.3.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", - "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "^2.1.3" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/engine.io/node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true, - "license": "MIT" - }, - "node_modules/ent": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/ent/-/ent-2.2.2.tgz", - "integrity": "sha512-kKvD1tO6BM+oK9HzCPpUdRb4vKFQY/FPTFmurMvh6LlN68VMrdj77w8yp51/kDbpkFOS9J8w5W6zIzgM2H8/hw==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.3", - "es-errors": "^1.3.0", - "punycode": "^1.4.1", - "safe-regex-test": "^1.1.0" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-define-property": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", - "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-errors": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", - "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-object-atoms": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz", - "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", - "dev": true, - "license": "MIT", - "dependencies": { - "es-errors": "^1.3.0" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/escalade": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", - "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/escape-html": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", - "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==", - "dev": true, - "license": "MIT" - }, - "node_modules/escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/eventemitter3": { - "version": "4.0.7", - "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", - "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==", - "dev": true, - "license": "MIT" - }, - "node_modules/extend": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", - "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", - "dev": true, - "license": "MIT" - }, - "node_modules/fill-range": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", - "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", - "dev": true, - "license": "MIT", - "dependencies": { - "to-regex-range": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/finalhandler": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", - "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", - "dev": true, - "license": "MIT", - "dependencies": { - "debug": "2.6.9", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "on-finished": "~2.3.0", - "parseurl": "~1.3.3", - "statuses": "~1.5.0", - "unpipe": "~1.0.0" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/finalhandler/node_modules/on-finished": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", - "integrity": "sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww==", - "dev": true, - "license": "MIT", - "dependencies": { - "ee-first": "1.1.1" - }, - "engines": { - "node": ">= 0.8" - } - }, - "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, - "license": "MIT", - "dependencies": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/flat": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", - "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==", - "dev": true, - "license": "BSD-3-Clause", - "bin": { - "flat": "cli.js" - } - }, - "node_modules/flatted": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.3.tgz", - "integrity": "sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==", - "dev": true, - "license": "ISC" - }, - "node_modules/follow-redirects": { - "version": "1.15.11", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.11.tgz", - "integrity": "sha512-deG2P0JfjrTxl50XGCDyfI97ZGVCxIpfKYmfyrQ54n5FO/0gfIES8C/Psl6kWVDolizcaaxZJnTS0QSMxvnsBQ==", - "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://github.com/sponsors/RubenVerborgh" - } - ], - "license": "MIT", - "engines": { - "node": ">=4.0" - }, - "peerDependenciesMeta": { - "debug": { - "optional": true - } - } - }, - "node_modules/fs-extra": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", - "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", - "dev": true, - "license": "MIT", - "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - }, - "engines": { - "node": ">=6 <7 || >=8" - } - }, - "node_modules/fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", - "dev": true, - "license": "ISC" - }, - "node_modules/fsevents": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", - "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", - "dev": true, - "hasInstallScript": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" - } - }, - "node_modules/function-bind": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", - "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", - "dev": true, - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/get-caller-file": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", - "dev": true, - "license": "ISC", - "engines": { - "node": "6.* || 8.* || >= 10.*" - } - }, - "node_modules/get-func-name": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.2.tgz", - "integrity": "sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": "*" - } - }, - "node_modules/get-intrinsic": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", - "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind-apply-helpers": "^1.0.2", - "es-define-property": "^1.0.1", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.1.1", - "function-bind": "^1.1.2", - "get-proto": "^1.0.1", - "gopd": "^1.2.0", - "has-symbols": "^1.1.0", - "hasown": "^2.0.2", - "math-intrinsics": "^1.1.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/get-proto": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", - "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", - "dev": true, - "license": "MIT", - "dependencies": { - "dunder-proto": "^1.0.1", - "es-object-atoms": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "deprecated": "Glob versions prior to v9 are no longer supported", - "dev": true, - "license": "ISC", - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dev": true, - "license": "ISC", - "dependencies": { - "is-glob": "^4.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/gopd": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", - "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/graceful-fs": { - "version": "4.2.11", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", - "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", - "dev": true, - "license": "ISC" - }, - "node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/has-symbols": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", - "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-tostringtag": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", - "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", - "dev": true, - "license": "MIT", - "dependencies": { - "has-symbols": "^1.0.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/hasown": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", - "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "function-bind": "^1.1.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/he": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", - "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", - "dev": true, - "license": "MIT", - "bin": { - "he": "bin/he" - } - }, - "node_modules/http-errors": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.1.tgz", - "integrity": "sha512-4FbRdAX+bSdmo4AUFuS0WNiPz8NgFt+r8ThgNWmlrjQjt1Q7ZR9+zTlce2859x4KSXrwIsaeTqDoKQmtP8pLmQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "depd": "~2.0.0", - "inherits": "~2.0.4", - "setprototypeof": "~1.2.0", - "statuses": "~2.0.2", - "toidentifier": "~1.0.1" - }, - "engines": { - "node": ">= 0.8" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/express" - } - }, - "node_modules/http-errors/node_modules/statuses": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.2.tgz", - "integrity": "sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/http-proxy": { - "version": "1.18.1", - "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz", - "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "eventemitter3": "^4.0.0", - "follow-redirects": "^1.0.0", - "requires-port": "^1.0.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "dev": true, - "license": "MIT", - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", - "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.", - "dev": true, - "license": "ISC", - "dependencies": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "node_modules/inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true, - "license": "ISC" - }, - "node_modules/is-binary-path": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", - "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", - "dev": true, - "license": "MIT", - "dependencies": { - "binary-extensions": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-extglob": "^2.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.12.0" - } - }, - "node_modules/is-plain-obj": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", - "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/is-regex": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.2.1.tgz", - "integrity": "sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.2", - "gopd": "^1.2.0", - "has-tostringtag": "^1.0.2", - "hasown": "^2.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-unicode-supported": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", - "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/isbinaryfile": { - "version": "4.0.10", - "resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-4.0.10.tgz", - "integrity": "sha512-iHrqe5shvBUcFbmZq9zOQHBoeOhZJu6RQGrDpBgenUm/Am+F3JM2MgQj+rK3Z601fzrL5gLZWtAPH2OBaSVcyw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 8.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/gjtorikian/" - } - }, - "node_modules/isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", - "dev": true, - "license": "ISC" - }, - "node_modules/js-yaml": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.1.tgz", - "integrity": "sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==", - "dev": true, - "license": "MIT", - "dependencies": { - "argparse": "^2.0.1" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/jsonfile": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", - "dev": true, - "license": "MIT", - "optionalDependencies": { - "graceful-fs": "^4.1.6" - } - }, - "node_modules/just-extend": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/just-extend/-/just-extend-6.2.0.tgz", - "integrity": "sha512-cYofQu2Xpom82S6qD778jBDpwvvy39s1l/hrYij2u9AMdQcGRpaBu6kY4mVhuno5kJVi1DAz4aiphA2WI1/OAw==", - "dev": true, - "license": "MIT" - }, - "node_modules/karma": { - "version": "6.4.4", - "resolved": "https://registry.npmjs.org/karma/-/karma-6.4.4.tgz", - "integrity": "sha512-LrtUxbdvt1gOpo3gxG+VAJlJAEMhbWlM4YrFQgql98FwF7+K8K12LYO4hnDdUkNjeztYrOXEMqgTajSWgmtI/w==", - "dev": true, - "license": "MIT", - "dependencies": { - "@colors/colors": "1.5.0", - "body-parser": "^1.19.0", - "braces": "^3.0.2", - "chokidar": "^3.5.1", - "connect": "^3.7.0", - "di": "^0.0.1", - "dom-serialize": "^2.2.1", - "glob": "^7.1.7", - "graceful-fs": "^4.2.6", - "http-proxy": "^1.18.1", - "isbinaryfile": "^4.0.8", - "lodash": "^4.17.21", - "log4js": "^6.4.1", - "mime": "^2.5.2", - "minimatch": "^3.0.4", - "mkdirp": "^0.5.5", - "qjobs": "^1.2.0", - "range-parser": "^1.2.1", - "rimraf": "^3.0.2", - "socket.io": "^4.7.2", - "source-map": "^0.6.1", - "tmp": "^0.2.1", - "ua-parser-js": "^0.7.30", - "yargs": "^16.1.1" - }, - "bin": { - "karma": "bin/karma" - }, - "engines": { - "node": ">= 10" - } - }, - "node_modules/karma-chrome-launcher": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/karma-chrome-launcher/-/karma-chrome-launcher-3.2.0.tgz", - "integrity": "sha512-rE9RkUPI7I9mAxByQWkGJFXfFD6lE4gC5nPuZdobf/QdTEJI6EU4yIay/cfU/xV4ZxlM5JiTv7zWYgA64NpS5Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "which": "^1.2.1" - } - }, - "node_modules/karma-mocha": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/karma-mocha/-/karma-mocha-2.0.1.tgz", - "integrity": "sha512-Tzd5HBjm8his2OA4bouAsATYEpZrp9vC7z5E5j4C5Of5Rrs1jY67RAwXNcVmd/Bnk1wgvQRou0zGVLey44G4tQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "minimist": "^1.2.3" - } - }, - "node_modules/karma-spec-reporter": { - "version": "0.0.36", - "resolved": "https://registry.npmjs.org/karma-spec-reporter/-/karma-spec-reporter-0.0.36.tgz", - "integrity": "sha512-11bvOl1x6ryKZph7kmbmMpbi8vsngEGxGOoeTlIcDaH3ab3j8aPJnZ+r+K/SS0sBSGy5VGkGYO2+hLct7hw/6w==", - "dev": true, - "license": "MIT", - "dependencies": { - "colors": "1.4.0" - }, - "peerDependencies": { - "karma": ">=0.9" - } - }, - "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, - "license": "MIT", - "dependencies": { - "p-locate": "^5.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/lodash": { - "version": "4.17.23", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.23.tgz", - "integrity": "sha512-LgVTMpQtIopCi79SJeDiP0TfWi5CNEc/L/aRdTh3yIvmZXTnheWpKjSZhnvMl8iXbC1tFg9gdHHDMLoV7CnG+w==", - "dev": true, - "license": "MIT" - }, - "node_modules/log-symbols": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", - "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", - "dev": true, - "license": "MIT", - "dependencies": { - "chalk": "^4.1.0", - "is-unicode-supported": "^0.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/log4js": { - "version": "6.9.1", - "resolved": "https://registry.npmjs.org/log4js/-/log4js-6.9.1.tgz", - "integrity": "sha512-1somDdy9sChrr9/f4UlzhdaGfDR2c/SaD2a4T7qEkG4jTS57/B3qmnjLYePwQ8cqWnUHZI0iAKxMBpCZICiZ2g==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "date-format": "^4.0.14", - "debug": "^4.3.4", - "flatted": "^3.2.7", - "rfdc": "^1.3.0", - "streamroller": "^3.1.5" - }, - "engines": { - "node": ">=8.0" - } - }, - "node_modules/log4js/node_modules/debug": { - "version": "4.4.3", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", - "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "^2.1.3" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/log4js/node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true, - "license": "MIT" - }, - "node_modules/loupe": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/loupe/-/loupe-2.3.7.tgz", - "integrity": "sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==", - "dev": true, - "license": "MIT", - "dependencies": { - "get-func-name": "^2.0.1" - } - }, - "node_modules/math-intrinsics": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", - "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/media-typer": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", - "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/mime": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz", - "integrity": "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==", - "dev": true, - "license": "MIT", - "bin": { - "mime": "cli.js" - }, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/mime-db": { - "version": "1.52.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/mime-types": { - "version": "2.1.35", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", - "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", - "dev": true, - "license": "MIT", - "dependencies": { - "mime-db": "1.52.0" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/minimist": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", - "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", - "dev": true, - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/mkdirp": { - "version": "0.5.6", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", - "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", - "dev": true, - "license": "MIT", - "dependencies": { - "minimist": "^1.2.6" - }, - "bin": { - "mkdirp": "bin/cmd.js" - } - }, - "node_modules/mocha": { - "version": "10.8.2", - "resolved": "https://registry.npmjs.org/mocha/-/mocha-10.8.2.tgz", - "integrity": "sha512-VZlYo/WE8t1tstuRmqgeyBgCbJc/lEdopaa+axcKzTBJ+UIdlAB9XnmvTCAH4pwR4ElNInaedhEBmZD8iCSVEg==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-colors": "^4.1.3", - "browser-stdout": "^1.3.1", - "chokidar": "^3.5.3", - "debug": "^4.3.5", - "diff": "^5.2.0", - "escape-string-regexp": "^4.0.0", - "find-up": "^5.0.0", - "glob": "^8.1.0", - "he": "^1.2.0", - "js-yaml": "^4.1.0", - "log-symbols": "^4.1.0", - "minimatch": "^5.1.6", - "ms": "^2.1.3", - "serialize-javascript": "^6.0.2", - "strip-json-comments": "^3.1.1", - "supports-color": "^8.1.1", - "workerpool": "^6.5.1", - "yargs": "^16.2.0", - "yargs-parser": "^20.2.9", - "yargs-unparser": "^2.0.0" - }, - "bin": { - "_mocha": "bin/_mocha", - "mocha": "bin/mocha.js" - }, - "engines": { - "node": ">= 14.0.0" - } - }, - "node_modules/mocha/node_modules/brace-expansion": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", - "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0" - } - }, - "node_modules/mocha/node_modules/debug": { - "version": "4.4.3", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", - "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "^2.1.3" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/mocha/node_modules/glob": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz", - "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==", - "deprecated": "Glob versions prior to v9 are no longer supported", - "dev": true, - "license": "ISC", - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^5.0.1", - "once": "^1.3.0" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/mocha/node_modules/minimatch": { - "version": "5.1.6", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", - "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", - "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/mocha/node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true, - "license": "MIT" - }, - "node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true, - "license": "MIT" - }, - "node_modules/negotiator": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", - "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/nise": { - "version": "5.1.9", - "resolved": "https://registry.npmjs.org/nise/-/nise-5.1.9.tgz", - "integrity": "sha512-qOnoujW4SV6e40dYxJOb3uvuoPHtmLzIk4TFo+j0jPJoC+5Z9xja5qH5JZobEPsa8+YYphMrOSwnrshEhG2qww==", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "@sinonjs/commons": "^3.0.0", - "@sinonjs/fake-timers": "^11.2.2", - "@sinonjs/text-encoding": "^0.7.2", - "just-extend": "^6.2.0", - "path-to-regexp": "^6.2.1" - } - }, - "node_modules/normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object-inspect": { - "version": "1.13.4", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz", - "integrity": "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/on-finished": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", - "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", - "dev": true, - "license": "MIT", - "dependencies": { - "ee-first": "1.1.1" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", - "dev": true, - "license": "ISC", - "dependencies": { - "wrappy": "1" - } - }, - "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, - "license": "MIT", - "dependencies": { - "yocto-queue": "^0.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "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, - "license": "MIT", - "dependencies": { - "p-limit": "^3.0.2" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/parseurl": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", - "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/path-to-regexp": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-6.3.0.tgz", - "integrity": "sha512-Yhpw4T9C6hPpgPeA28us07OJeqZ5EzQTkbfwuhsUg0c237RomFoETJgmp2sa3F/41gfLE6G5cqcYwznmeEeOlQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/pathval": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.1.tgz", - "integrity": "sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": "*" - } - }, - "node_modules/picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8.6" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/punycode": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", - "integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/qjobs": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/qjobs/-/qjobs-1.2.0.tgz", - "integrity": "sha512-8YOJEHtxpySA3fFDyCRxA+UUV+fA+rTWnuWvylOK/NCjhY+b4ocCtmu8TtsWb+mYeU+GCHf/S66KZF/AsteKHg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.9" - } - }, - "node_modules/qs": { - "version": "6.14.1", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.14.1.tgz", - "integrity": "sha512-4EK3+xJl8Ts67nLYNwqw/dsFVnCf+qR7RgXSK9jEEm9unao3njwMDdmsdvoKBKHzxd7tCYz5e5M+SnMjdtXGQQ==", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "side-channel": "^1.1.0" - }, - "engines": { - "node": ">=0.6" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/randombytes": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", - "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "safe-buffer": "^5.1.0" - } - }, - "node_modules/range-parser": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", - "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/raw-body": { - "version": "2.5.3", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.3.tgz", - "integrity": "sha512-s4VSOf6yN0rvbRZGxs8Om5CWj6seneMwK3oDb4lWDH0UPhWcxwOWw5+qk24bxq87szX1ydrwylIOp2uG1ojUpA==", - "dev": true, - "license": "MIT", - "dependencies": { - "bytes": "~3.1.2", - "http-errors": "~2.0.1", - "iconv-lite": "~0.4.24", - "unpipe": "~1.0.0" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/readdirp": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", - "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", - "dev": true, - "license": "MIT", - "dependencies": { - "picomatch": "^2.2.1" - }, - "engines": { - "node": ">=8.10.0" - } - }, - "node_modules/require-directory": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/requires-port": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", - "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/rfdc": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.4.1.tgz", - "integrity": "sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==", - "dev": true, - "license": "MIT" - }, - "node_modules/rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "deprecated": "Rimraf versions prior to v4 are no longer supported", - "dev": true, - "license": "ISC", - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT" - }, - "node_modules/safe-regex-test": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.1.0.tgz", - "integrity": "sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.2", - "es-errors": "^1.3.0", - "is-regex": "^1.2.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", - "dev": true, - "license": "MIT" - }, - "node_modules/serialize-javascript": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz", - "integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "randombytes": "^2.1.0" - } - }, - "node_modules/setprototypeof": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", - "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", - "dev": true, - "license": "ISC" - }, - "node_modules/side-channel": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz", - "integrity": "sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==", - "dev": true, - "license": "MIT", - "dependencies": { - "es-errors": "^1.3.0", - "object-inspect": "^1.13.3", - "side-channel-list": "^1.0.0", - "side-channel-map": "^1.0.1", - "side-channel-weakmap": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/side-channel-list": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.0.tgz", - "integrity": "sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==", - "dev": true, - "license": "MIT", - "dependencies": { - "es-errors": "^1.3.0", - "object-inspect": "^1.13.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/side-channel-map": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/side-channel-map/-/side-channel-map-1.0.1.tgz", - "integrity": "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.2", - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.5", - "object-inspect": "^1.13.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/side-channel-weakmap": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz", - "integrity": "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.2", - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.5", - "object-inspect": "^1.13.3", - "side-channel-map": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/sinon": { - "version": "17.0.1", - "resolved": "https://registry.npmjs.org/sinon/-/sinon-17.0.1.tgz", - "integrity": "sha512-wmwE19Lie0MLT+ZYNpDymasPHUKTaZHUH/pKEubRXIzySv9Atnlw+BUMGCzWgV7b7wO+Hw6f1TEOr0IUnmU8/g==", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "@sinonjs/commons": "^3.0.0", - "@sinonjs/fake-timers": "^11.2.2", - "@sinonjs/samsam": "^8.0.0", - "diff": "^5.1.0", - "nise": "^5.1.5", - "supports-color": "^7.2.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/sinon" - } - }, - "node_modules/sinon/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/socket.io": { - "version": "4.8.1", - "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.8.1.tgz", - "integrity": "sha512-oZ7iUCxph8WYRHHcjBEc9unw3adt5CmSNlppj/5Q4k2RIrhl8Z5yY2Xr4j9zj0+wzVZ0bxmYoGSzKJnRl6A4yg==", - "dev": true, - "license": "MIT", - "dependencies": { - "accepts": "~1.3.4", - "base64id": "~2.0.0", - "cors": "~2.8.5", - "debug": "~4.3.2", - "engine.io": "~6.6.0", - "socket.io-adapter": "~2.5.2", - "socket.io-parser": "~4.2.4" - }, - "engines": { - "node": ">=10.2.0" - } - }, - "node_modules/socket.io-adapter": { - "version": "2.5.5", - "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-2.5.5.tgz", - "integrity": "sha512-eLDQas5dzPgOWCk9GuuJC2lBqItuhKI4uxGgo9aIV7MYbk2h9Q6uULEh8WBzThoI7l+qU9Ast9fVUmkqPP9wYg==", - "dev": true, - "license": "MIT", - "dependencies": { - "debug": "~4.3.4", - "ws": "~8.17.1" - } - }, - "node_modules/socket.io-adapter/node_modules/debug": { - "version": "4.3.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", - "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "^2.1.3" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/socket.io-adapter/node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true, - "license": "MIT" - }, - "node_modules/socket.io-parser": { - "version": "4.2.4", - "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.2.4.tgz", - "integrity": "sha512-/GbIKmo8ioc+NIWIhwdecY0ge+qVBSMdgxGygevmdHj24bsfgtCmcUUcQ5ZzcylGFHsN3k4HB4Cgkl96KVnuew==", - "dev": true, - "license": "MIT", - "dependencies": { - "@socket.io/component-emitter": "~3.1.0", - "debug": "~4.3.1" - }, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/socket.io-parser/node_modules/debug": { - "version": "4.3.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", - "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "^2.1.3" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/socket.io-parser/node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true, - "license": "MIT" - }, - "node_modules/socket.io/node_modules/debug": { - "version": "4.3.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", - "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "^2.1.3" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/socket.io/node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true, - "license": "MIT" - }, - "node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/statuses": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", - "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/streamroller": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/streamroller/-/streamroller-3.1.5.tgz", - "integrity": "sha512-KFxaM7XT+irxvdqSP1LGLgNWbYN7ay5owZ3r/8t77p+EtSUAfUgtl7be3xtqtOmGUl9K9YPO2ca8133RlTjvKw==", - "dev": true, - "license": "MIT", - "dependencies": { - "date-format": "^4.0.14", - "debug": "^4.3.4", - "fs-extra": "^8.1.0" - }, - "engines": { - "node": ">=8.0" - } - }, - "node_modules/streamroller/node_modules/debug": { - "version": "4.4.3", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", - "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "^2.1.3" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/streamroller/node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true, - "license": "MIT" - }, - "node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, - "license": "MIT", - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-json-comments": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" - } - }, - "node_modules/tmp": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.5.tgz", - "integrity": "sha512-voyz6MApa1rQGUxT3E+BK7/ROe8itEx7vD8/HEvt4xwXucvQ5G5oeEiHkmHZJuBO21RpOf+YYm9MOivj709jow==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=14.14" - } - }, - "node_modules/to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-number": "^7.0.0" - }, - "engines": { - "node": ">=8.0" - } - }, - "node_modules/toidentifier": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", - "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.6" - } - }, - "node_modules/type-detect": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.1.0.tgz", - "integrity": "sha512-Acylog8/luQ8L7il+geoSxhEkazvkslg7PSNKOX59mbB9cOveP5aq9h74Y7YU8yDpJwetzQQrfIwtf4Wp4LKcw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/type-is": { - "version": "1.6.18", - "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", - "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", - "dev": true, - "license": "MIT", - "dependencies": { - "media-typer": "0.3.0", - "mime-types": "~2.1.24" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/ua-parser-js": { - "version": "0.7.41", - "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.41.tgz", - "integrity": "sha512-O3oYyCMPYgNNHuO7Jjk3uacJWZF8loBgwrfd/5LE/HyZ3lUIOdniQ7DNXJcIgZbwioZxk0fLfI4EVnetdiX5jg==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/ua-parser-js" - }, - { - "type": "paypal", - "url": "https://paypal.me/faisalman" - }, - { - "type": "github", - "url": "https://github.com/sponsors/faisalman" - } - ], - "license": "MIT", - "bin": { - "ua-parser-js": "script/cli.js" - }, - "engines": { - "node": "*" - } - }, - "node_modules/undici-types": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.16.0.tgz", - "integrity": "sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw==", - "dev": true, - "license": "MIT" - }, - "node_modules/universalify": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 4.0.0" - } - }, - "node_modules/unpipe": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", - "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/utils-merge": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", - "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4.0" - } - }, - "node_modules/vary": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", - "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/void-elements": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/void-elements/-/void-elements-2.0.1.tgz", - "integrity": "sha512-qZKX4RnBzH2ugr8Lxa7x+0V6XD9Sb/ouARtiasEQCHB1EVU4NXtmHsDDrx1dO4ne5fc3J6EW05BP1Dl0z0iung==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", - "dev": true, - "license": "ISC", - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "which": "bin/which" - } - }, - "node_modules/workerpool": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.5.1.tgz", - "integrity": "sha512-Fs4dNYcsdpYSAfVxhnl1L5zTksjvOJxtC5hzMNl+1t9B8hTJTdKDyZ5ju7ztgPy+ft9tBFXoOlDNiOT9WUXZlA==", - "dev": true, - "license": "Apache-2.0" - }, - "node_modules/wrap-ansi": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } - }, - "node_modules/wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", - "dev": true, - "license": "ISC" - }, - "node_modules/ws": { - "version": "8.17.1", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.17.1.tgz", - "integrity": "sha512-6XQFvXTkbfUOZOKKILFG1PDK2NDQs4azKQl26T0YS5CxqWLgXajbPZ+h4gZekJyRqFU8pvnbAbbs/3TgRPy+GQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10.0.0" - }, - "peerDependencies": { - "bufferutil": "^4.0.1", - "utf-8-validate": ">=5.0.2" - }, - "peerDependenciesMeta": { - "bufferutil": { - "optional": true - }, - "utf-8-validate": { - "optional": true - } - } - }, - "node_modules/y18n": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", - "dev": true, - "license": "ISC", - "engines": { - "node": ">=10" - } - }, - "node_modules/yargs": { - "version": "16.2.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", - "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", - "dev": true, - "license": "MIT", - "dependencies": { - "cliui": "^7.0.2", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.0", - "y18n": "^5.0.5", - "yargs-parser": "^20.2.2" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/yargs-parser": { - "version": "20.2.9", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", - "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", - "dev": true, - "license": "ISC", - "engines": { - "node": ">=10" - } - }, - "node_modules/yargs-unparser": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-2.0.0.tgz", - "integrity": "sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA==", - "dev": true, - "license": "MIT", - "dependencies": { - "camelcase": "^6.0.0", - "decamelize": "^4.0.0", - "flat": "^5.0.2", - "is-plain-obj": "^2.1.0" - }, - "engines": { - "node": ">=10" - } - }, - "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, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - } - } -} diff --git a/modules/editor-api/package.json b/modules/editor-api/package.json deleted file mode 100644 index 6c4e8b5bd..000000000 --- a/modules/editor-api/package.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "name": "@playcanvas/editor-api", - "version": "0.0.0", - "type": "module", - "main": "dist/index.js", - "module": "dist/index.js", - "types": "dist/index.d.ts", - "devDependencies": { - "chai": "4.5.0", - "karma": "6.4.4", - "karma-chrome-launcher": "3.2.0", - "karma-mocha": "2.0.1", - "karma-spec-reporter": "0.0.36", - "mocha": "10.8.2", - "sinon": "17.0.1" - }, - "scripts": { - "build": "rollup -c", - "build:test": "rollup -c --environment TEST:true", - "test": "npm -s run build:test && karma start test/karma.conf.cjs --single-run", - "test:debug": "npm -s run build:test && karma start test/karma.conf.cjs --single-run=false --browsers Chrome" - } -} diff --git a/modules/editor-api/rollup.config.mjs b/modules/editor-api/rollup.config.mjs deleted file mode 100644 index 8c0903cff..000000000 --- a/modules/editor-api/rollup.config.mjs +++ /dev/null @@ -1,61 +0,0 @@ -import commonjs from '@rollup/plugin-commonjs'; -import resolve from '@rollup/plugin-node-resolve'; -import swc from '@rollup/plugin-swc'; -import { dts } from 'rollup-plugin-dts'; -import polyfills from 'rollup-plugin-polyfill-node'; - -import { runTsc } from './utils/plugins/rollup-run-tsc.mjs'; - -const test = process.env.TEST === 'true'; - -const module = { - input: 'src/index.ts', - output: { - file: 'dist/index.js', - format: 'module' - }, - external: test ? undefined : ['@playcanvas/observer'], - plugins: [ - commonjs(), - polyfills(), - resolve({ - extensions: ['.ts', '.js', '.json'] - }), - swc({ - swc: { - jsc: { - externalHelpers: false - }, - env: { - loose: true, - bugfixes: true, - targets: { - chrome: 63 // supports esmodules - } - } - } - }) - ] -}; - -const footer = `export as namespace api; -declare global { - const editor: typeof globals; -}`; - -const types = { - input: 'types/index.d.ts', - output: [{ - file: 'dist/index.d.ts', - footer: footer, - format: 'es' - }], - plugins: [ - runTsc('tsconfig.build.json'), - dts() - ] -}; - -export default () => { - return [module, types]; -}; diff --git a/modules/editor-api/tsconfig.build.json b/modules/editor-api/tsconfig.build.json deleted file mode 100644 index 88c1f0ed8..000000000 --- a/modules/editor-api/tsconfig.build.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "files": ["src/index.ts"], - "compilerOptions": { - "skipLibCheck": true, - "declaration": true, - "emitDeclarationOnly": true, - "outDir": "types" - }, - "include": ["src/types"] -} \ No newline at end of file diff --git a/modules/editor-api/tsconfig.json b/modules/editor-api/tsconfig.json deleted file mode 100644 index 05f6ac522..000000000 --- a/modules/editor-api/tsconfig.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "compilerOptions": { - "esModuleInterop" : true, - "lib": [ - "es2019", - "dom", - "dom.iterable" - ], - "moduleResolution": "node", - "noImplicitAny": true, - "noEmit": true, - "skipLibCheck": true, - "target": "es6", - }, - "include": ["src", "external", "test/**/*.js", "rollup.config.mjs"], -} diff --git a/modules/editor-api/utils/plugins/rollup-run-tsc.mjs b/modules/editor-api/utils/plugins/rollup-run-tsc.mjs deleted file mode 100644 index 5804ed4e5..000000000 --- a/modules/editor-api/utils/plugins/rollup-run-tsc.mjs +++ /dev/null @@ -1,18 +0,0 @@ -import { execSync } from 'node:child_process'; -import * as fs from 'node:fs'; - -const GREEN_OUT = '\x1b[32m'; - -export function runTsc(config = 'tsconfig.json') { - if (!fs.existsSync(config)) { - throw new Error(`tsconfig file does not exist: ${config}`); - } - return { - name: 'run-tsc', - buildStart() { - const cmd = `tsc --project ${config}`; - console.log(`${GREEN_OUT}${cmd}`); - execSync(cmd); - } - }; -} diff --git a/package-lock.json b/package-lock.json index 75173161d..93204d63f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -16,7 +16,6 @@ "@jsquash/jpeg": "1.6.0", "@jsquash/png": "2.2.0", "@jsquash/webp": "1.5.0", - "@playcanvas/editor-api": "file:modules/editor-api", "@playcanvas/eslint-config": "2.1.0", "@playcanvas/observer": "1.7.1", "@playcanvas/pcui": "5.5.0", @@ -39,6 +38,10 @@ "eslint-plugin-import": "2.32.0", "filenamify": "6.0.0", "highlight.js": "11.11.1", + "karma": "6.4.4", + "karma-chrome-launcher": "3.2.0", + "karma-mocha": "2.0.1", + "karma-spec-reporter": "0.0.36", "markdown-it": "14.1.0", "mocha": "11.7.5", "monaco-editor": "0.47.0", @@ -49,12 +52,12 @@ "postcss": "8.5.6", "rollup": "4.53.3", "rollup-plugin-copy": "3.5.0", - "rollup-plugin-dts": "6.3.0", "rollup-plugin-polyfill-node": "0.13.0", "rollup-plugin-tsconfig-paths": "1.5.2", "sass-embedded": "1.93.3", "serve": "14.2.5", "sharedb": "3.3.2", + "sinon": "17.0.1", "stylelint": "16.26.1", "stylelint-config-standard-scss": "13.1.0", "ts-node": "10.9.2", @@ -67,7 +70,7 @@ "modules/editor-api": { "name": "@playcanvas/editor-api", "version": "0.0.0", - "dev": true, + "extraneous": true, "devDependencies": { "chai": "4.5.0", "karma": "6.4.4", @@ -78,61 +81,6 @@ "sinon": "17.0.1" } }, - "modules/editor-api/node_modules/chai": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/chai/-/chai-4.5.0.tgz", - "integrity": "sha512-RITGBfijLkBddZvnn8jdqoTypxvqbOLYQkGGxXzeFjVHvudaPw0HNFD9x928/eUwYWd2dPCugVqspGALTZZQKw==", - "dev": true, - "license": "MIT", - "dependencies": { - "assertion-error": "^1.1.0", - "check-error": "^1.0.3", - "deep-eql": "^4.1.3", - "get-func-name": "^2.0.2", - "loupe": "^2.3.6", - "pathval": "^1.1.1", - "type-detect": "^4.1.0" - }, - "engines": { - "node": ">=4" - } - }, - "modules/editor-api/node_modules/mocha": { - "version": "10.8.2", - "resolved": "https://registry.npmjs.org/mocha/-/mocha-10.8.2.tgz", - "integrity": "sha512-VZlYo/WE8t1tstuRmqgeyBgCbJc/lEdopaa+axcKzTBJ+UIdlAB9XnmvTCAH4pwR4ElNInaedhEBmZD8iCSVEg==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-colors": "^4.1.3", - "browser-stdout": "^1.3.1", - "chokidar": "^3.5.3", - "debug": "^4.3.5", - "diff": "^5.2.0", - "escape-string-regexp": "^4.0.0", - "find-up": "^5.0.0", - "glob": "^8.1.0", - "he": "^1.2.0", - "js-yaml": "^4.1.0", - "log-symbols": "^4.1.0", - "minimatch": "^5.1.6", - "ms": "^2.1.3", - "serialize-javascript": "^6.0.2", - "strip-json-comments": "^3.1.1", - "supports-color": "^8.1.1", - "workerpool": "^6.5.1", - "yargs": "^16.2.0", - "yargs-parser": "^20.2.9", - "yargs-unparser": "^2.0.0" - }, - "bin": { - "_mocha": "bin/_mocha", - "mocha": "bin/mocha.js" - }, - "engines": { - "node": ">= 14.0.0" - } - }, "node_modules/@babel/code-frame": { "version": "7.27.1", "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.27.1.tgz", @@ -1134,10 +1082,6 @@ "node": ">=18.0.0" } }, - "node_modules/@playcanvas/editor-api": { - "resolved": "modules/editor-api", - "link": true - }, "node_modules/@playcanvas/eslint-config": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/@playcanvas/eslint-config/-/eslint-config-2.1.0.tgz", @@ -2679,16 +2623,6 @@ "node": ">=8" } }, - "node_modules/ansi-colors": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz", - "integrity": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, "node_modules/ansi-regex": { "version": "6.2.2", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.2.tgz", @@ -2920,16 +2854,6 @@ "dev": true, "license": "MIT" }, - "node_modules/assertion-error": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz", - "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==", - "dev": true, - "license": "MIT", - "engines": { - "node": "*" - } - }, "node_modules/astral-regex": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", @@ -3509,19 +3433,6 @@ "node": ">=8" } }, - "node_modules/check-error": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.3.tgz", - "integrity": "sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==", - "dev": true, - "license": "MIT", - "dependencies": { - "get-func-name": "^2.0.2" - }, - "engines": { - "node": "*" - } - }, "node_modules/chokidar": { "version": "3.6.0", "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", @@ -4209,19 +4120,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/deep-eql": { - "version": "4.1.4", - "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-4.1.4.tgz", - "integrity": "sha512-SUwdGfqdKOwxCPeVYjwSyRpJ7Z+fhpwIAtmCUdZIWZ/YP5R9WAsyuSgpLVDi9bjWoN2LXHNss/dk3urXtdQxGg==", - "dev": true, - "license": "MIT", - "dependencies": { - "type-detect": "^4.0.0" - }, - "engines": { - "node": ">=6" - } - }, "node_modules/deep-extend": { "version": "0.6.0", "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", @@ -5595,16 +5493,6 @@ "node": "6.* || 8.* || >= 10.*" } }, - "node_modules/get-func-name": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.2.tgz", - "integrity": "sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": "*" - } - }, "node_modules/get-intrinsic": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", @@ -5693,27 +5581,6 @@ "license": "MIT", "optional": true }, - "node_modules/glob": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz", - "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==", - "deprecated": "Glob versions prior to v9 are no longer supported", - "dev": true, - "license": "ISC", - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^5.0.1", - "once": "^1.3.0" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, "node_modules/glob-parent": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", @@ -7119,16 +6986,6 @@ "node": ">=8.0" } }, - "node_modules/loupe": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/loupe/-/loupe-2.3.7.tgz", - "integrity": "sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==", - "dev": true, - "license": "MIT", - "dependencies": { - "get-func-name": "^2.0.1" - } - }, "node_modules/lru-cache": { "version": "10.4.3", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", @@ -7342,19 +7199,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/minimatch": { - "version": "5.1.6", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", - "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", - "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/minimist": { "version": "1.2.8", "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", @@ -8232,16 +8076,6 @@ "node": ">=8" } }, - "node_modules/pathval": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.1.tgz", - "integrity": "sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": "*" - } - }, "node_modules/picocolors": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", @@ -8965,29 +8799,6 @@ "node": ">=8.3" } }, - "node_modules/rollup-plugin-dts": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/rollup-plugin-dts/-/rollup-plugin-dts-6.3.0.tgz", - "integrity": "sha512-d0UrqxYd8KyZ6i3M2Nx7WOMy708qsV/7fTHMHxCMCBOAe3V/U7OMPu5GkX8hC+cmkHhzGnfeYongl1IgiooddA==", - "dev": true, - "license": "LGPL-3.0-only", - "dependencies": { - "magic-string": "^0.30.21" - }, - "engines": { - "node": ">=16" - }, - "funding": { - "url": "https://github.com/sponsors/Swatinem" - }, - "optionalDependencies": { - "@babel/code-frame": "^7.27.1" - }, - "peerDependencies": { - "rollup": "^3.29.4 || ^4", - "typescript": "^4.5 || ^5.0" - } - }, "node_modules/rollup-plugin-polyfill-node": { "version": "0.13.0", "resolved": "https://registry.npmjs.org/rollup-plugin-polyfill-node/-/rollup-plugin-polyfill-node-0.13.0.tgz", @@ -11661,13 +11472,6 @@ "node": ">=0.10.0" } }, - "node_modules/workerpool": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.5.1.tgz", - "integrity": "sha512-Fs4dNYcsdpYSAfVxhnl1L5zTksjvOJxtC5hzMNl+1t9B8hTJTdKDyZ5ju7ztgPy+ft9tBFXoOlDNiOT9WUXZlA==", - "dev": true, - "license": "Apache-2.0" - }, "node_modules/wrap-ansi": { "version": "8.1.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", diff --git a/package.json b/package.json index 8b66b7c66..dd58d750b 100644 --- a/package.json +++ b/package.json @@ -32,7 +32,6 @@ "@jsquash/jpeg": "1.6.0", "@jsquash/png": "2.2.0", "@jsquash/webp": "1.5.0", - "@playcanvas/editor-api": "file:modules/editor-api", "@playcanvas/eslint-config": "2.1.0", "@playcanvas/observer": "1.7.1", "@playcanvas/pcui": "5.5.0", @@ -55,6 +54,10 @@ "eslint-plugin-import": "2.32.0", "filenamify": "6.0.0", "highlight.js": "11.11.1", + "karma": "6.4.4", + "karma-chrome-launcher": "3.2.0", + "karma-mocha": "2.0.1", + "karma-spec-reporter": "0.0.36", "markdown-it": "14.1.0", "mocha": "11.7.5", "monaco-editor": "0.47.0", @@ -65,11 +68,11 @@ "postcss": "8.5.6", "rollup": "4.53.3", "rollup-plugin-copy": "3.5.0", - "rollup-plugin-dts": "6.3.0", "rollup-plugin-polyfill-node": "0.13.0", "rollup-plugin-tsconfig-paths": "1.5.2", "sass-embedded": "1.93.3", "serve": "14.2.5", + "sinon": "17.0.1", "sharedb": "3.3.2", "stylelint": "16.26.1", "stylelint-config-standard-scss": "13.1.0", @@ -90,9 +93,8 @@ "lint:js:fix": "eslint --fix", "serve": "serve dist -p 3487 --cors", "test": "mocha", - "test:api": "cd modules/editor-api && npm test && cd -", + "test:api": "rollup -c test/editor-api/rollup.test.config.mjs && karma start test/editor-api/karma.conf.cjs --single-run", "type:check": "tsc", - "type:check:api": "tsc -p modules/editor-api/tsconfig.json --noEmit", "watch": "concurrently --kill-others \"npm run watch:css\" \"npm run watch:js\"", "watch:css": "nodemon compile-sass.mjs -w sass -e .scss -q", "watch:js": "rollup -c -w" diff --git a/rollup.config.mjs b/rollup.config.mjs index 0be163543..88de83531 100644 --- a/rollup.config.mjs +++ b/rollup.config.mjs @@ -6,11 +6,9 @@ import resolve from '@rollup/plugin-node-resolve'; import replace from '@rollup/plugin-replace'; import swc from '@rollup/plugin-swc'; import copy from 'rollup-plugin-copy'; -import { dts } from 'rollup-plugin-dts'; import polyfills from 'rollup-plugin-polyfill-node'; import tsconfigPaths from 'rollup-plugin-tsconfig-paths'; -import { runTsc } from './modules/editor-api/utils/plugins/rollup-run-tsc.mjs'; const production = process.env.NODE_ENV === 'production'; const sourcemap = production ? true : 'inline'; @@ -51,59 +49,6 @@ const plugins = () => { ]; }; -const footer = `export as namespace api; -declare global { - const editor: typeof globals; -}`; - -const API_TARGETS = [ - { - input: 'modules/editor-api/src/index.ts', - output: { - file: 'modules/editor-api/dist/index.js', - format: 'esm', - globals: { - '@playcanvas/observer': 'observer' - } - }, - external: ['@playcanvas/observer'], - plugins: [ - commonjs(), - polyfills(), - resolve({ - extensions: ['.ts', '.js', '.json'], - browser: true - }), - swc({ - swc: { - jsc: { - externalHelpers: false - }, - env: { - loose: true, - bugfixes: true, - targets: { - chrome: 63 // supports esmodules - } - } - } - }) - ] - }, - { - input: 'modules/editor-api/types/index.d.ts', - output: [{ - file: 'modules/editor-api/dist/index.d.ts', - footer: footer, - format: 'es' - }], - plugins: [ - runTsc('modules/editor-api/tsconfig.build.json'), - dts() - ] - } -]; - const PAGE_TARGETS = [ { input: 'src/editor/index.ts', @@ -308,7 +253,6 @@ const SERVICE_WORKER_TARGETS = fs.readdirSync('src/sw').map((file) => { }); export default [ - ...API_TARGETS, ...PAGE_TARGETS, ...PLUGIN_TARGETS, ...WORKER_TARGETS, diff --git a/src/code-editor/editor.ts b/src/code-editor/editor.ts index 0290a7f9c..abe645844 100644 --- a/src/code-editor/editor.ts +++ b/src/code-editor/editor.ts @@ -1,6 +1,6 @@ import { type EditorMethods, Editor } from '@/common/editor'; import { Messenger } from '@/common/messenger'; -import * as api from '@playcanvas/editor-api'; +import * as api from '@/editor-api'; class CodeEditor extends Editor { diff --git a/src/code-editor/menu-panel/file/create.ts b/src/code-editor/menu-panel/file/create.ts index 01c993b8c..d5307676f 100644 --- a/src/code-editor/menu-panel/file/create.ts +++ b/src/code-editor/menu-panel/file/create.ts @@ -1,6 +1,6 @@ import { MenuItem } from '@playcanvas/pcui'; -import * as api from '@playcanvas/editor-api'; +import * as api from '@/editor-api'; editor.once('load', () => { const menu = editor.call('menu:file'); diff --git a/src/common/editor.ts b/src/common/editor.ts index 10059901c..82fb5a59f 100644 --- a/src/common/editor.ts +++ b/src/common/editor.ts @@ -1,6 +1,6 @@ import * as observer from '@playcanvas/observer'; -import * as api from '@playcanvas/editor-api'; +import * as api from '@/editor-api'; import { Caller } from './caller'; diff --git a/src/common/pcui/element/element-asset-input.ts b/src/common/pcui/element/element-asset-input.ts index 4fe477e9f..ee7f92417 100644 --- a/src/common/pcui/element/element-asset-input.ts +++ b/src/common/pcui/element/element-asset-input.ts @@ -1,7 +1,7 @@ import type { EventHandle, ObserverList } from '@playcanvas/observer'; import { Element, ElementArgs, Label, Container, Button, BindingObserversToElement } from '@playcanvas/pcui'; -import { type AssetObserver } from '@playcanvas/editor-api'; +import { type AssetObserver } from '@/editor-api'; import { AssetThumbnail } from './element-asset-thumbnail'; import { CLASS_MULTIPLE_VALUES } from '../constants'; diff --git a/src/common/pcui/element/element-asset-thumbnail.ts b/src/common/pcui/element/element-asset-thumbnail.ts index 5186d2d1b..c9c17734d 100644 --- a/src/common/pcui/element/element-asset-thumbnail.ts +++ b/src/common/pcui/element/element-asset-thumbnail.ts @@ -1,7 +1,7 @@ import { EventHandle, Observer, ObserverList } from '@playcanvas/observer'; import { Element, type ElementArgs } from '@playcanvas/pcui'; -import { type AssetObserver } from '@playcanvas/editor-api'; +import { type AssetObserver } from '@/editor-api'; import { CubemapThumbnailRenderer } from '../../thumbnail-renderers/cubemap-thumbnail-renderer'; import { FontThumbnailRenderer } from '../../thumbnail-renderers/font-thumbnail-renderer'; diff --git a/src/common/thumbnail-renderers/template-thumbnail-renderer.ts b/src/common/thumbnail-renderers/template-thumbnail-renderer.ts index bca9a6e2a..1f2364a63 100644 --- a/src/common/thumbnail-renderers/template-thumbnail-renderer.ts +++ b/src/common/thumbnail-renderers/template-thumbnail-renderer.ts @@ -1,7 +1,7 @@ import { Observer } from '@playcanvas/observer'; import { Application, Asset, type AppBase, BoundingBox, Color, Entity, type Layer, type MeshInstance, type RenderComponent, StandardMaterial, type Template, type WebglGraphicsDevice, type AssetReference } from 'playcanvas'; -import { Asset as EditorAsset } from '@playcanvas/editor-api'; +import { Asset as EditorAsset } from '@/editor-api'; import { ThumbnailRenderer } from './thumbnail-renderer'; diff --git a/modules/editor-api/src/ajax.ts b/src/editor-api/ajax.ts similarity index 100% rename from modules/editor-api/src/ajax.ts rename to src/editor-api/ajax.ts diff --git a/modules/editor-api/src/asset.ts b/src/editor-api/asset.ts similarity index 100% rename from modules/editor-api/src/asset.ts rename to src/editor-api/asset.ts diff --git a/modules/editor-api/src/assets.ts b/src/editor-api/assets.ts similarity index 100% rename from modules/editor-api/src/assets.ts rename to src/editor-api/assets.ts diff --git a/modules/editor-api/src/assets/create-script.ts b/src/editor-api/assets/create-script.ts similarity index 100% rename from modules/editor-api/src/assets/create-script.ts rename to src/editor-api/assets/create-script.ts diff --git a/modules/editor-api/src/assets/create-template.ts b/src/editor-api/assets/create-template.ts similarity index 100% rename from modules/editor-api/src/assets/create-template.ts rename to src/editor-api/assets/create-template.ts diff --git a/modules/editor-api/src/assets/instantiate-templates.ts b/src/editor-api/assets/instantiate-templates.ts similarity index 100% rename from modules/editor-api/src/assets/instantiate-templates.ts rename to src/editor-api/assets/instantiate-templates.ts diff --git a/modules/editor-api/src/assets/replace.ts b/src/editor-api/assets/replace.ts similarity index 100% rename from modules/editor-api/src/assets/replace.ts rename to src/editor-api/assets/replace.ts diff --git a/modules/editor-api/src/assets/upload.ts b/src/editor-api/assets/upload.ts similarity index 100% rename from modules/editor-api/src/assets/upload.ts rename to src/editor-api/assets/upload.ts diff --git a/modules/editor-api/src/clipboard.ts b/src/editor-api/clipboard.ts similarity index 100% rename from modules/editor-api/src/clipboard.ts rename to src/editor-api/clipboard.ts diff --git a/modules/editor-api/src/deferred.ts b/src/editor-api/deferred.ts similarity index 100% rename from modules/editor-api/src/deferred.ts rename to src/editor-api/deferred.ts diff --git a/modules/editor-api/src/entities.ts b/src/editor-api/entities.ts similarity index 100% rename from modules/editor-api/src/entities.ts rename to src/editor-api/entities.ts diff --git a/modules/editor-api/src/entities/copy.ts b/src/editor-api/entities/copy.ts similarity index 100% rename from modules/editor-api/src/entities/copy.ts rename to src/editor-api/entities/copy.ts diff --git a/modules/editor-api/src/entities/create.ts b/src/editor-api/entities/create.ts similarity index 100% rename from modules/editor-api/src/entities/create.ts rename to src/editor-api/entities/create.ts diff --git a/modules/editor-api/src/entities/delete.ts b/src/editor-api/entities/delete.ts similarity index 98% rename from modules/editor-api/src/entities/delete.ts rename to src/editor-api/entities/delete.ts index 2f401fe23..03aaebc01 100644 --- a/modules/editor-api/src/entities/delete.ts +++ b/src/editor-api/entities/delete.ts @@ -1,4 +1,4 @@ -import type { EventHandle } from '@playcanvas/observer/types/event-handle'; +import type { EventHandle } from '@playcanvas/observer'; import { findEntityReferencesInComponents, updateReferences } from './references'; import { Entity } from '../entity'; diff --git a/modules/editor-api/src/entities/duplicate.ts b/src/editor-api/entities/duplicate.ts similarity index 99% rename from modules/editor-api/src/entities/duplicate.ts rename to src/editor-api/entities/duplicate.ts index 8c3cdeb96..3b9a7101e 100644 --- a/modules/editor-api/src/entities/duplicate.ts +++ b/src/editor-api/entities/duplicate.ts @@ -1,4 +1,4 @@ -import type { EventHandle } from '@playcanvas/observer/types/event-handle'; +import type { EventHandle } from '@playcanvas/observer'; import { findEntityReferencesInComponents, updateReferences } from './references'; import { Entity } from '../entity'; diff --git a/modules/editor-api/src/entities/paste.ts b/src/editor-api/entities/paste.ts similarity index 99% rename from modules/editor-api/src/entities/paste.ts rename to src/editor-api/entities/paste.ts index 15d87021a..bc565c1bf 100644 --- a/modules/editor-api/src/entities/paste.ts +++ b/src/editor-api/entities/paste.ts @@ -1,5 +1,5 @@ import { Observer } from '@playcanvas/observer'; -import type { EventHandle } from '@playcanvas/observer/types/event-handle'; +import type { EventHandle } from '@playcanvas/observer'; import { Entity } from '../entity'; import { globals as api } from '../globals'; diff --git a/modules/editor-api/src/entities/references.ts b/src/editor-api/entities/references.ts similarity index 100% rename from modules/editor-api/src/entities/references.ts rename to src/editor-api/entities/references.ts diff --git a/modules/editor-api/src/entities/reparent.ts b/src/editor-api/entities/reparent.ts similarity index 100% rename from modules/editor-api/src/entities/reparent.ts rename to src/editor-api/entities/reparent.ts diff --git a/modules/editor-api/src/entities/scripts.ts b/src/editor-api/entities/scripts.ts similarity index 100% rename from modules/editor-api/src/entities/scripts.ts rename to src/editor-api/entities/scripts.ts diff --git a/modules/editor-api/src/entities/wait.ts b/src/editor-api/entities/wait.ts similarity index 96% rename from modules/editor-api/src/entities/wait.ts rename to src/editor-api/entities/wait.ts index 8e6d5839b..9dd2eb115 100644 --- a/modules/editor-api/src/entities/wait.ts +++ b/src/editor-api/entities/wait.ts @@ -1,4 +1,4 @@ -import type { EventHandle } from '@playcanvas/observer/types/event-handle'; +import type { EventHandle } from '@playcanvas/observer'; import { Entity } from '../entity'; import { globals as api } from '../globals'; diff --git a/modules/editor-api/src/entity.ts b/src/editor-api/entity.ts similarity index 100% rename from modules/editor-api/src/entity.ts rename to src/editor-api/entity.ts diff --git a/modules/editor-api/external/types/asset.d.ts b/src/editor-api/external-types/asset.d.ts similarity index 100% rename from modules/editor-api/external/types/asset.d.ts rename to src/editor-api/external-types/asset.d.ts diff --git a/modules/editor-api/external/types/config.d.ts b/src/editor-api/external-types/config.d.ts similarity index 100% rename from modules/editor-api/external/types/config.d.ts rename to src/editor-api/external-types/config.d.ts diff --git a/modules/editor-api/external/types/entity.d.ts b/src/editor-api/external-types/entity.d.ts similarity index 100% rename from modules/editor-api/external/types/entity.d.ts rename to src/editor-api/external-types/entity.d.ts diff --git a/modules/editor-api/external/types/scene-settings.d.ts b/src/editor-api/external-types/scene-settings.d.ts similarity index 100% rename from modules/editor-api/external/types/scene-settings.d.ts rename to src/editor-api/external-types/scene-settings.d.ts diff --git a/modules/editor-api/src/globals.ts b/src/editor-api/globals.ts similarity index 100% rename from modules/editor-api/src/globals.ts rename to src/editor-api/globals.ts diff --git a/modules/editor-api/src/guid.ts b/src/editor-api/guid.ts similarity index 100% rename from modules/editor-api/src/guid.ts rename to src/editor-api/guid.ts diff --git a/modules/editor-api/src/history.ts b/src/editor-api/history.ts similarity index 97% rename from modules/editor-api/src/history.ts rename to src/editor-api/history.ts index d5ed68e20..1fec1d6ab 100644 --- a/modules/editor-api/src/history.ts +++ b/src/editor-api/history.ts @@ -1,5 +1,5 @@ import { Events, History as apiHistory } from '@playcanvas/observer'; -import type { HistoryAction } from '@playcanvas/observer/types/history'; +import type { HistoryAction } from '@playcanvas/observer'; /** * The history API responsible for undo / redo. diff --git a/modules/editor-api/src/index.ts b/src/editor-api/index.ts similarity index 89% rename from modules/editor-api/src/index.ts rename to src/editor-api/index.ts index 48a083d85..99d5a6745 100644 --- a/modules/editor-api/src/index.ts +++ b/src/editor-api/index.ts @@ -9,10 +9,10 @@ * @module Editor */ // types -export type * from '../external/types/config'; -export type * from '../external/types/asset'; -export type * from '../external/types/entity'; -export type * from '../external/types/scene-settings'; +export type * from './external-types/config'; +export type * from './external-types/asset'; +export type * from './external-types/entity'; +export type * from './external-types/scene-settings'; // core import './polyfills'; diff --git a/modules/editor-api/src/jobs.ts b/src/editor-api/jobs.ts similarity index 100% rename from modules/editor-api/src/jobs.ts rename to src/editor-api/jobs.ts diff --git a/modules/editor-api/src/localstorage.ts b/src/editor-api/localstorage.ts similarity index 100% rename from modules/editor-api/src/localstorage.ts rename to src/editor-api/localstorage.ts diff --git a/modules/editor-api/src/messenger.ts b/src/editor-api/messenger.ts similarity index 100% rename from modules/editor-api/src/messenger.ts rename to src/editor-api/messenger.ts diff --git a/modules/editor-api/src/models.ts b/src/editor-api/models.ts similarity index 100% rename from modules/editor-api/src/models.ts rename to src/editor-api/models.ts diff --git a/modules/editor-api/src/polyfills.ts b/src/editor-api/polyfills.ts similarity index 100% rename from modules/editor-api/src/polyfills.ts rename to src/editor-api/polyfills.ts diff --git a/modules/editor-api/src/realtime.ts b/src/editor-api/realtime.ts similarity index 100% rename from modules/editor-api/src/realtime.ts rename to src/editor-api/realtime.ts diff --git a/modules/editor-api/src/realtime/asset.ts b/src/editor-api/realtime/asset.ts similarity index 100% rename from modules/editor-api/src/realtime/asset.ts rename to src/editor-api/realtime/asset.ts diff --git a/modules/editor-api/src/realtime/assets.ts b/src/editor-api/realtime/assets.ts similarity index 100% rename from modules/editor-api/src/realtime/assets.ts rename to src/editor-api/realtime/assets.ts diff --git a/modules/editor-api/src/realtime/connection.ts b/src/editor-api/realtime/connection.ts similarity index 100% rename from modules/editor-api/src/realtime/connection.ts rename to src/editor-api/realtime/connection.ts diff --git a/modules/editor-api/src/realtime/scene.ts b/src/editor-api/realtime/scene.ts similarity index 100% rename from modules/editor-api/src/realtime/scene.ts rename to src/editor-api/realtime/scene.ts diff --git a/modules/editor-api/src/realtime/scenes.ts b/src/editor-api/realtime/scenes.ts similarity index 100% rename from modules/editor-api/src/realtime/scenes.ts rename to src/editor-api/realtime/scenes.ts diff --git a/modules/editor-api/src/rest.ts b/src/editor-api/rest.ts similarity index 100% rename from modules/editor-api/src/rest.ts rename to src/editor-api/rest.ts diff --git a/modules/editor-api/src/rest/apps.ts b/src/editor-api/rest/apps.ts similarity index 100% rename from modules/editor-api/src/rest/apps.ts rename to src/editor-api/rest/apps.ts diff --git a/modules/editor-api/src/rest/assets.ts b/src/editor-api/rest/assets.ts similarity index 100% rename from modules/editor-api/src/rest/assets.ts rename to src/editor-api/rest/assets.ts diff --git a/modules/editor-api/src/rest/branches.ts b/src/editor-api/rest/branches.ts similarity index 100% rename from modules/editor-api/src/rest/branches.ts rename to src/editor-api/rest/branches.ts diff --git a/modules/editor-api/src/rest/checkpoints.ts b/src/editor-api/rest/checkpoints.ts similarity index 100% rename from modules/editor-api/src/rest/checkpoints.ts rename to src/editor-api/rest/checkpoints.ts diff --git a/modules/editor-api/src/rest/conflicts.ts b/src/editor-api/rest/conflicts.ts similarity index 100% rename from modules/editor-api/src/rest/conflicts.ts rename to src/editor-api/rest/conflicts.ts diff --git a/modules/editor-api/src/rest/diff.ts b/src/editor-api/rest/diff.ts similarity index 100% rename from modules/editor-api/src/rest/diff.ts rename to src/editor-api/rest/diff.ts diff --git a/modules/editor-api/src/rest/home.ts b/src/editor-api/rest/home.ts similarity index 100% rename from modules/editor-api/src/rest/home.ts rename to src/editor-api/rest/home.ts diff --git a/modules/editor-api/src/rest/invitations.ts b/src/editor-api/rest/invitations.ts similarity index 100% rename from modules/editor-api/src/rest/invitations.ts rename to src/editor-api/rest/invitations.ts diff --git a/modules/editor-api/src/rest/jobs.ts b/src/editor-api/rest/jobs.ts similarity index 100% rename from modules/editor-api/src/rest/jobs.ts rename to src/editor-api/rest/jobs.ts diff --git a/modules/editor-api/src/rest/merge.ts b/src/editor-api/rest/merge.ts similarity index 100% rename from modules/editor-api/src/rest/merge.ts rename to src/editor-api/rest/merge.ts diff --git a/modules/editor-api/src/rest/payment.ts b/src/editor-api/rest/payment.ts similarity index 100% rename from modules/editor-api/src/rest/payment.ts rename to src/editor-api/rest/payment.ts diff --git a/modules/editor-api/src/rest/projects.ts b/src/editor-api/rest/projects.ts similarity index 100% rename from modules/editor-api/src/rest/projects.ts rename to src/editor-api/rest/projects.ts diff --git a/modules/editor-api/src/rest/scenes.ts b/src/editor-api/rest/scenes.ts similarity index 100% rename from modules/editor-api/src/rest/scenes.ts rename to src/editor-api/rest/scenes.ts diff --git a/modules/editor-api/src/rest/star.ts b/src/editor-api/rest/star.ts similarity index 100% rename from modules/editor-api/src/rest/star.ts rename to src/editor-api/rest/star.ts diff --git a/modules/editor-api/src/rest/store.ts b/src/editor-api/rest/store.ts similarity index 100% rename from modules/editor-api/src/rest/store.ts rename to src/editor-api/rest/store.ts diff --git a/modules/editor-api/src/rest/upload.ts b/src/editor-api/rest/upload.ts similarity index 100% rename from modules/editor-api/src/rest/upload.ts rename to src/editor-api/rest/upload.ts diff --git a/modules/editor-api/src/rest/users.ts b/src/editor-api/rest/users.ts similarity index 100% rename from modules/editor-api/src/rest/users.ts rename to src/editor-api/rest/users.ts diff --git a/modules/editor-api/src/rest/watch.ts b/src/editor-api/rest/watch.ts similarity index 100% rename from modules/editor-api/src/rest/watch.ts rename to src/editor-api/rest/watch.ts diff --git a/modules/editor-api/src/schema.ts b/src/editor-api/schema.ts similarity index 100% rename from modules/editor-api/src/schema.ts rename to src/editor-api/schema.ts diff --git a/modules/editor-api/src/schema/assets.ts b/src/editor-api/schema/assets.ts similarity index 100% rename from modules/editor-api/src/schema/assets.ts rename to src/editor-api/schema/assets.ts diff --git a/modules/editor-api/src/schema/components.ts b/src/editor-api/schema/components.ts similarity index 100% rename from modules/editor-api/src/schema/components.ts rename to src/editor-api/schema/components.ts diff --git a/modules/editor-api/src/schema/scene.ts b/src/editor-api/schema/scene.ts similarity index 100% rename from modules/editor-api/src/schema/scene.ts rename to src/editor-api/schema/scene.ts diff --git a/modules/editor-api/src/schema/settings.ts b/src/editor-api/schema/settings.ts similarity index 100% rename from modules/editor-api/src/schema/settings.ts rename to src/editor-api/schema/settings.ts diff --git a/modules/editor-api/src/selection.ts b/src/editor-api/selection.ts similarity index 100% rename from modules/editor-api/src/selection.ts rename to src/editor-api/selection.ts diff --git a/modules/editor-api/src/settings.ts b/src/editor-api/settings.ts similarity index 100% rename from modules/editor-api/src/settings.ts rename to src/editor-api/settings.ts diff --git a/modules/editor-api/src/settings/scene.ts b/src/editor-api/settings/scene.ts similarity index 100% rename from modules/editor-api/src/settings/scene.ts rename to src/editor-api/settings/scene.ts diff --git a/modules/editor-api/src/types/global.d.ts b/src/editor-api/types/global.d.ts similarity index 100% rename from modules/editor-api/src/types/global.d.ts rename to src/editor-api/types/global.d.ts diff --git a/modules/editor-api/src/types/ot-text.d.ts b/src/editor-api/types/ot-text.d.ts similarity index 100% rename from modules/editor-api/src/types/ot-text.d.ts rename to src/editor-api/types/ot-text.d.ts diff --git a/modules/editor-api/src/utils.ts b/src/editor-api/utils.ts similarity index 100% rename from modules/editor-api/src/utils.ts rename to src/editor-api/utils.ts diff --git a/src/editor/assets/asset-panel.ts b/src/editor/assets/asset-panel.ts index cc1c4538a..582f45755 100644 --- a/src/editor/assets/asset-panel.ts +++ b/src/editor/assets/asset-panel.ts @@ -27,7 +27,7 @@ import { TableRow } from '@/common/pcui/element/element-table-row'; import { type Tooltip } from '@/common/pcui/element/element-tooltip'; import { LegacyTooltip } from '@/common/ui/tooltip'; import { bytesToHuman, naturalCompare } from '@/common/utils'; -import { type AssetObserver } from '@playcanvas/editor-api'; +import { type AssetObserver } from '@/editor-api'; const CLASS_ROOT = 'pcui-asset-panel'; const CLASS_LEFT = `${CLASS_ROOT}-left`; diff --git a/src/editor/assets/assets-context-menu.ts b/src/editor/assets/assets-context-menu.ts index 2dc43ead4..ad3d0b46e 100644 --- a/src/editor/assets/assets-context-menu.ts +++ b/src/editor/assets/assets-context-menu.ts @@ -1,6 +1,6 @@ import { Menu, MenuItem } from '@playcanvas/pcui'; -import { Asset, Entity } from '@playcanvas/editor-api'; +import { Asset, Entity } from '@/editor-api'; import { formatShortcut } from '../../common/utils'; diff --git a/src/editor/assets/assets.ts b/src/editor/assets/assets.ts index 1f448e571..dc832d19a 100644 --- a/src/editor/assets/assets.ts +++ b/src/editor/assets/assets.ts @@ -1,4 +1,4 @@ -import type { Asset, AssetObserver } from '@playcanvas/editor-api'; +import type { Asset, AssetObserver } from '@/editor-api'; // NAMESPACE // asset diff --git a/src/editor/editor.ts b/src/editor/editor.ts index 83b3ee38c..cc4a77d36 100644 --- a/src/editor/editor.ts +++ b/src/editor/editor.ts @@ -1,7 +1,7 @@ import { type EditorMethods, Editor } from '@/common/editor'; import { Messenger } from '@/common/messenger'; import { MERGE_STATUS_APPLY_STARTED, MERGE_STATUS_AUTO_STARTED, MERGE_STATUS_READY_FOR_REVIEW } from '@/core/constants'; -import * as api from '@playcanvas/editor-api'; +import * as api from '@/editor-api'; class MainEditor extends Editor { constructor() { diff --git a/src/editor/entities/entities.ts b/src/editor/entities/entities.ts index 5f5aed110..1c79e7ddf 100644 --- a/src/editor/entities/entities.ts +++ b/src/editor/entities/entities.ts @@ -1,4 +1,4 @@ -import type { Entity, EntityObserver } from '@playcanvas/editor-api'; +import type { Entity, EntityObserver } from '@/editor-api'; editor.once('load', () => { const entities = editor.api.globals.entities.raw; diff --git a/src/editor/inspector/assets/template-preview.ts b/src/editor/inspector/assets/template-preview.ts index c2f1fa2eb..81c7c7ada 100644 --- a/src/editor/inspector/assets/template-preview.ts +++ b/src/editor/inspector/assets/template-preview.ts @@ -1,7 +1,7 @@ import { Canvas } from '@playcanvas/pcui'; import { TemplateThumbnailRenderer } from '@/common/thumbnail-renderers/template-thumbnail-renderer'; -import { Assets } from '@playcanvas/editor-api'; +import { Assets } from '@/editor-api'; import { AssetInspectorPreviewBase } from './asset-preview-base'; diff --git a/src/editor/inspector/attributes-inspector.ts b/src/editor/inspector/attributes-inspector.ts index c82e40ccf..5613d7dd2 100644 --- a/src/editor/inspector/attributes-inspector.ts +++ b/src/editor/inspector/attributes-inspector.ts @@ -4,7 +4,7 @@ import { Element, Container, LabelGroup, Panel, Button, ArrayInput, BindingTwoWa import { AssetInput } from '@/common/pcui/element/element-asset-input'; import { tooltip, tooltipRefItem } from '@/common/tooltips'; import { LegacyTooltip } from '@/common/ui/tooltip'; -import type { History } from '@playcanvas/editor-api'; +import type { History } from '@/editor-api'; import type { Attribute } from './attribute.type.d'; import '../storage/clipboard-context-menu'; diff --git a/src/editor/inspector/components/component.ts b/src/editor/inspector/components/component.ts index a3e0e2382..feb39cb2f 100644 --- a/src/editor/inspector/components/component.ts +++ b/src/editor/inspector/components/component.ts @@ -2,7 +2,7 @@ import type { EventHandle, Observer } from '@playcanvas/observer'; import { BindingTwoWay, BooleanInput, Button, Container, Label, LabelGroup, Menu, Panel } from '@playcanvas/pcui'; import { tooltip, tooltipRefItem } from '@/common/tooltips'; -import { LocalStorage } from '@playcanvas/editor-api'; +import { LocalStorage } from '@/editor-api'; import type { TemplateOverrideInspector } from '../../templates/templates-override-inspector.js'; diff --git a/src/editor/inspector/components/script.ts b/src/editor/inspector/components/script.ts index d7e52a73c..2f148c9fb 100644 --- a/src/editor/inspector/components/script.ts +++ b/src/editor/inspector/components/script.ts @@ -6,7 +6,7 @@ import { AssetInput } from '@/common/pcui/element/element-asset-input'; import { tooltip, tooltipSimpleItem } from '@/common/tooltips'; import { LegacyTooltip } from '@/common/ui/tooltip'; import { deepCopy } from '@/common/utils'; -import type { AssetObserver, LocalStorage } from '@playcanvas/editor-api'; +import type { AssetObserver, LocalStorage } from '@/editor-api'; import { ComponentInspector } from './component'; import { evaluate } from '../../scripting/expr-eval/evaluate'; diff --git a/src/editor/inspector/entity.ts b/src/editor/inspector/entity.ts index c728671af..6444d7318 100644 --- a/src/editor/inspector/entity.ts +++ b/src/editor/inspector/entity.ts @@ -1,7 +1,7 @@ import { Container, Button, Menu } from '@playcanvas/pcui'; import { COMPONENT_LOGOS } from '@/core/constants'; -import { LocalStorage } from '@playcanvas/editor-api'; +import { LocalStorage } from '@/editor-api'; import type { Attribute } from './attribute.type.d'; import { AttributesInspector } from './attributes-inspector'; diff --git a/src/editor/inspector/settings-panels/loading-screen.ts b/src/editor/inspector/settings-panels/loading-screen.ts index df5057cb8..0d8f63480 100644 --- a/src/editor/inspector/settings-panels/loading-screen.ts +++ b/src/editor/inspector/settings-panels/loading-screen.ts @@ -1,7 +1,7 @@ import { Container, Button } from '@playcanvas/pcui'; import { LegacyTooltip } from '@/common/ui/tooltip'; -import type { Asset } from '@playcanvas/editor-api'; +import type { Asset } from '@/editor-api'; import { BaseSettingsPanel } from './base'; import type { Attribute } from '../attribute.type.d'; diff --git a/src/editor/selector/selector.ts b/src/editor/selector/selector.ts index 1f051d4b3..40329dabe 100644 --- a/src/editor/selector/selector.ts +++ b/src/editor/selector/selector.ts @@ -1,6 +1,6 @@ import { ObserverList } from '@playcanvas/observer'; -import { Asset, Entity } from '@playcanvas/editor-api'; +import { Asset, Entity } from '@/editor-api'; editor.once('load', () => { const selection = editor.api.globals.selection; diff --git a/src/editor/storage/localstorage.ts b/src/editor/storage/localstorage.ts index 40cfadb56..e53f1b18f 100644 --- a/src/editor/storage/localstorage.ts +++ b/src/editor/storage/localstorage.ts @@ -1,4 +1,4 @@ -import { LocalStorage } from '@playcanvas/editor-api'; +import { LocalStorage } from '@/editor-api'; editor.once('load', () => { const ls = new LocalStorage(); diff --git a/src/editor/templates/revert-overrides.ts b/src/editor/templates/revert-overrides.ts index c2f73c74d..c1208418f 100644 --- a/src/editor/templates/revert-overrides.ts +++ b/src/editor/templates/revert-overrides.ts @@ -1,4 +1,4 @@ -import type { AssetObserver, EntityObserver } from '@playcanvas/editor-api'; +import type { AssetObserver, EntityObserver } from '@/editor-api'; editor.once('load', () => { const REGEX_SCRIPT_NAME = /^components\.script\.scripts\.([^.]+)$/; diff --git a/src/editor/templates/templates-entity-inspector.ts b/src/editor/templates/templates-entity-inspector.ts index 6c595e9a4..a3a5c5a05 100644 --- a/src/editor/templates/templates-entity-inspector.ts +++ b/src/editor/templates/templates-entity-inspector.ts @@ -2,7 +2,7 @@ import { EventHandle, type ObserverList } from '@playcanvas/observer'; import { Container, Label, Button, BindingObserversToElement, type ContainerArgs, type Element } from '@playcanvas/pcui'; import { LegacyLabel } from '@/common/ui/label'; -import { type EntityObserver } from '@playcanvas/editor-api'; +import { type EntityObserver } from '@/editor-api'; import { type TemplateOverridesView } from './templates-override-panel'; diff --git a/src/editor/templates/unlink-template.ts b/src/editor/templates/unlink-template.ts index 771c58183..88038da08 100644 --- a/src/editor/templates/unlink-template.ts +++ b/src/editor/templates/unlink-template.ts @@ -1,4 +1,4 @@ -import type { EntityObserver } from '@playcanvas/editor-api'; +import type { EntityObserver } from '@/editor-api'; type SnapshotEntry = { entityId: any; diff --git a/src/editor/viewport/gizmo/gizmo-transform.ts b/src/editor/viewport/gizmo/gizmo-transform.ts index 9872ba10a..f51348c63 100644 --- a/src/editor/viewport/gizmo/gizmo-transform.ts +++ b/src/editor/viewport/gizmo/gizmo-transform.ts @@ -11,7 +11,7 @@ import { } from 'playcanvas'; import { Defer } from '@/common/defer'; -import { type EntityObserver } from '@playcanvas/editor-api'; +import { type EntityObserver } from '@/editor-api'; type GizmoNodeTransform = { position: number[]; diff --git a/src/editor/viewport/viewport-drop-gsplat.ts b/src/editor/viewport/viewport-drop-gsplat.ts index adca27a4f..b7778d4d1 100644 --- a/src/editor/viewport/viewport-drop-gsplat.ts +++ b/src/editor/viewport/viewport-drop-gsplat.ts @@ -1,6 +1,6 @@ import { BoundingBox, Entity as PcEntity, Vec3 } from 'playcanvas'; -import { Entity } from '@playcanvas/editor-api'; +import { Entity } from '@/editor-api'; editor.once('load', () => { const canvas = editor.call('viewport:canvas'); diff --git a/src/editor/viewport/viewport-drop-model.ts b/src/editor/viewport/viewport-drop-model.ts index 609bbb4c7..61cb192fc 100644 --- a/src/editor/viewport/viewport-drop-model.ts +++ b/src/editor/viewport/viewport-drop-model.ts @@ -1,6 +1,6 @@ import { BoundingBox, Entity as PcEntity, Vec3 } from 'playcanvas'; -import { Entity } from '@playcanvas/editor-api'; +import { Entity } from '@/editor-api'; editor.once('load', () => { const canvas = editor.call('viewport:canvas'); diff --git a/src/editor/viewport/viewport-drop-sprite.ts b/src/editor/viewport/viewport-drop-sprite.ts index dba372d1e..cf3bb91e0 100644 --- a/src/editor/viewport/viewport-drop-sprite.ts +++ b/src/editor/viewport/viewport-drop-sprite.ts @@ -1,6 +1,6 @@ import { BoundingBox, Entity as PcEntity, Vec3 } from 'playcanvas'; -import { Entity } from '@playcanvas/editor-api'; +import { Entity } from '@/editor-api'; editor.once('load', () => { const canvas = editor.call('viewport:canvas'); diff --git a/src/editor/viewport/viewport-entities-create.ts b/src/editor/viewport/viewport-entities-create.ts index de9073fb3..770a857b7 100644 --- a/src/editor/viewport/viewport-entities-create.ts +++ b/src/editor/viewport/viewport-entities-create.ts @@ -1,6 +1,6 @@ import { Entity } from 'playcanvas'; -import type { EntityObserver } from '@playcanvas/editor-api'; +import type { EntityObserver } from '@/editor-api'; editor.once('load', () => { const app = editor.call('viewport:app'); diff --git a/src/launch/editor.ts b/src/launch/editor.ts index c360302a4..4692918c4 100644 --- a/src/launch/editor.ts +++ b/src/launch/editor.ts @@ -1,6 +1,6 @@ import { type EditorMethods, Editor } from '@/common/editor'; import { Messenger } from '@/common/messenger'; -import * as api from '@playcanvas/editor-api'; +import * as api from '@/editor-api'; class LaunchEditor extends Editor { constructor() { diff --git a/modules/editor-api/test/api/test-asset.js b/test/editor-api/api/test-asset.js similarity index 100% rename from modules/editor-api/test/api/test-asset.js rename to test/editor-api/api/test-asset.js diff --git a/modules/editor-api/test/api/test-assets.js b/test/editor-api/api/test-assets.js similarity index 100% rename from modules/editor-api/test/api/test-assets.js rename to test/editor-api/api/test-assets.js diff --git a/modules/editor-api/test/api/test-clipboard.js b/test/editor-api/api/test-clipboard.js similarity index 100% rename from modules/editor-api/test/api/test-clipboard.js rename to test/editor-api/api/test-clipboard.js diff --git a/modules/editor-api/test/api/test-entities.js b/test/editor-api/api/test-entities.js similarity index 100% rename from modules/editor-api/test/api/test-entities.js rename to test/editor-api/api/test-entities.js diff --git a/modules/editor-api/test/api/test-entity.js b/test/editor-api/api/test-entity.js similarity index 100% rename from modules/editor-api/test/api/test-entity.js rename to test/editor-api/api/test-entity.js diff --git a/modules/editor-api/test/api/test-guid.js b/test/editor-api/api/test-guid.js similarity index 100% rename from modules/editor-api/test/api/test-guid.js rename to test/editor-api/api/test-guid.js diff --git a/modules/editor-api/test/api/test-jobs.js b/test/editor-api/api/test-jobs.js similarity index 100% rename from modules/editor-api/test/api/test-jobs.js rename to test/editor-api/api/test-jobs.js diff --git a/modules/editor-api/test/api/test-localstorage.js b/test/editor-api/api/test-localstorage.js similarity index 100% rename from modules/editor-api/test/api/test-localstorage.js rename to test/editor-api/api/test-localstorage.js diff --git a/modules/editor-api/test/api/test-schema.js b/test/editor-api/api/test-schema.js similarity index 100% rename from modules/editor-api/test/api/test-schema.js rename to test/editor-api/api/test-schema.js diff --git a/modules/editor-api/test/api/test-selection.js b/test/editor-api/api/test-selection.js similarity index 100% rename from modules/editor-api/test/api/test-selection.js rename to test/editor-api/api/test-selection.js diff --git a/modules/editor-api/test/api/test-utils.js b/test/editor-api/api/test-utils.js similarity index 100% rename from modules/editor-api/test/api/test-utils.js rename to test/editor-api/api/test-utils.js diff --git a/modules/editor-api/test/karma.conf.cjs b/test/editor-api/karma.conf.cjs similarity index 82% rename from modules/editor-api/test/karma.conf.cjs rename to test/editor-api/karma.conf.cjs index 190b634a0..156d449a4 100644 --- a/modules/editor-api/test/karma.conf.cjs +++ b/test/editor-api/karma.conf.cjs @@ -1,7 +1,7 @@ module.exports = function (config) { config.set({ // base path that will be used to resolve all patterns (eg. files, exclude) - basePath: '..', + basePath: '../..', client: { args: process.argv @@ -11,26 +11,31 @@ module.exports = function (config) { files: [ // libraries 'node_modules/sinon/pkg/sinon.js', - 'node_modules/chai/chai.js', - 'test/lib/schema.js', - '../../node_modules/@playcanvas/observer/dist/index.js', + { + pattern: 'node_modules/chai/**/*.js', + type: 'module', + included: false, + served: true + }, + 'test/editor-api/lib/schema.js', + 'node_modules/@playcanvas/observer/dist/index.js', // source files { - pattern: 'dist/index.js', + pattern: 'test/editor-api/dist/index.js', type: 'module', nocache: true }, // setup file { - pattern: 'test/setup.js', + pattern: 'test/editor-api/setup.js', type: 'module', nocache: true }, // test files - change this to a specific file in order to run a single suite - 'test/**/test-*.js' + 'test/editor-api/**/test-*.js' ], // list of files / patterns to exclude diff --git a/modules/editor-api/test/lib/schema.js b/test/editor-api/lib/schema.js similarity index 100% rename from modules/editor-api/test/lib/schema.js rename to test/editor-api/lib/schema.js diff --git a/test/editor-api/rollup.test.config.mjs b/test/editor-api/rollup.test.config.mjs new file mode 100644 index 000000000..3d79ef885 --- /dev/null +++ b/test/editor-api/rollup.test.config.mjs @@ -0,0 +1,33 @@ +import commonjs from '@rollup/plugin-commonjs'; +import resolve from '@rollup/plugin-node-resolve'; +import swc from '@rollup/plugin-swc'; +import polyfills from 'rollup-plugin-polyfill-node'; + +export default { + input: 'src/editor-api/index.ts', + output: { + file: 'test/editor-api/dist/index.js', + format: 'module' + }, + plugins: [ + commonjs(), + polyfills(), + resolve({ + extensions: ['.ts', '.js', '.json'] + }), + swc({ + swc: { + jsc: { + externalHelpers: false + }, + env: { + loose: true, + bugfixes: true, + targets: { + chrome: 63 + } + } + } + }) + ] +}; diff --git a/modules/editor-api/test/setup.js b/test/editor-api/setup.js similarity index 77% rename from modules/editor-api/test/setup.js rename to test/editor-api/setup.js index 01ab97f9e..945f0cd61 100644 --- a/modules/editor-api/test/setup.js +++ b/test/editor-api/setup.js @@ -1,9 +1,11 @@ +import * as chai from '/base/node_modules/chai/chai.js'; + before(async function() { // Increase the timeout because this is an asynchronous setup step this.timeout(10000); // load the editor api module - window.api = await import('../dist/index.js'); + window.api = await import('./dist/index.js'); // move chai methods to window for (const member in chai) { diff --git a/tsconfig.json b/tsconfig.json index 387b92b9e..0b8e547bb 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -17,7 +17,6 @@ }, "include": [ "src", - "modules", "test", "eslint.config.mjs", "rollup.config.mjs", @@ -25,6 +24,6 @@ ], "exclude": [ "src/wasm", - "modules/editor-api" + "test/editor-api" ] } \ No newline at end of file diff --git a/types.d.ts b/types.d.ts index 68bf50778..c5ade8490 100644 --- a/types.d.ts +++ b/types.d.ts @@ -1,8 +1,8 @@ // config type (injected into HTML) -declare var config: import('@playcanvas/editor-api').EditorBlankConfig & - import('@playcanvas/editor-api').EditorConfig & - import('@playcanvas/editor-api').CodeEditorConfig & - import('@playcanvas/editor-api').LaunchConfig; +declare var config: import('./src/editor-api').EditorBlankConfig & + import('./src/editor-api').EditorConfig & + import('./src/editor-api').CodeEditorConfig & + import('./src/editor-api').LaunchConfig; // editor declare var editor: import('./src/common/editor').Editor; From 8a9b133eab50036c1dbc5984ac27bef3d586ef66 Mon Sep 17 00:00:00 2001 From: kpal Date: Thu, 12 Feb 2026 14:36:39 +0000 Subject: [PATCH 2/3] refactor: remove Editor API module build and typecheck steps from CI workflow --- .github/workflows/ci.yml | 12 ------------ 1 file changed, 12 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 4d56f41ce..223e87413 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -44,18 +44,9 @@ jobs: - name: Install Dependencies run: npm ci - - name: Install Editor API Module Dependencies - run: npm ci --prefix modules/editor-api - - - name: Build Editor API Module - run: npm run build --prefix modules/editor-api - - name: Run ESLint run: npm run lint - - name: Run typecheck for Editor API module - run: npm run type:check:api - test: name: Test runs-on: ubuntu-latest @@ -73,9 +64,6 @@ jobs: - name: Install Dependencies run: npm ci - - name: Install Editor API Module Dependencies - run: npm ci --prefix modules/editor-api - - name: Run Editor Tests run: npm test From c31b7ea2938c54c86bfff91a720a62ce0ce4d75a Mon Sep 17 00:00:00 2001 From: kpal Date: Thu, 12 Feb 2026 15:13:23 +0000 Subject: [PATCH 3/3] refactor: remove unused module copy and API version logging from editor --- Dockerfile | 1 - src/common/editor.ts | 1 - src/editor-api/index.ts | 10 ---------- 3 files changed, 12 deletions(-) diff --git a/Dockerfile b/Dockerfile index eb14068cc..a01e50970 100644 --- a/Dockerfile +++ b/Dockerfile @@ -17,7 +17,6 @@ RUN npm run build:css # build js COPY src ./src -COPY modules ./modules COPY static ./static COPY types.d.ts ./ COPY tsconfig.json ./ diff --git a/src/common/editor.ts b/src/common/editor.ts index 82fb5a59f..37ee30373 100644 --- a/src/common/editor.ts +++ b/src/common/editor.ts @@ -133,7 +133,6 @@ class Editor extends Caller { */ protected _registerApi() { // Initialize API globals - order matters - console.log(`PlayCanvas Editor API v${api.version} revision ${api.revision}`); api.globals.accessToken = config.accessToken; api.globals.projectId = config.project.id; api.globals.branchId = config.self.branch.id; diff --git a/src/editor-api/index.ts b/src/editor-api/index.ts index 99d5a6745..29a5be1bb 100644 --- a/src/editor-api/index.ts +++ b/src/editor-api/index.ts @@ -43,13 +43,3 @@ export * from './jobs'; export * from './localstorage'; export * from './clipboard'; export * from './rest'; - -/** - * The version of the Editor API library. This is a string in semantic version format of `major.minor.patch`. - */ -export const version = '0.0.0'; - -/** - * The git revision of the Editor API library. This is a string of the git commit hash. - */ -export const revision = 'unknown';