From e2d140e25b133be8920e0c2d07cefe7cf8d292ab Mon Sep 17 00:00:00 2001 From: "Alexander Klingenbeck (SHS DI SY R&D DEV4)" Date: Sat, 6 May 2023 23:43:40 +0200 Subject: [PATCH] add binding generator --- assets/planet00.png | Bin 0 -> 286506 bytes bindings.json | 32 +- bindings/.gitignore | 1 + bindings/package-lock.json | 2912 +++++++++++++++++++++++++++++ bindings/package.json | 20 + bindings/src/api.ts | 39 + bindings/src/function.ts | 69 + bindings/src/functionList.ts | 24 + bindings/src/generation.ts | 193 ++ bindings/src/header.ts | 102 + bindings/src/index.ts | 31 + bindings/src/interfaces.ts | 64 + bindings/src/struct.ts | 63 + bindings/tsconfig.json | 11 + bindings/webpack.config.js | 24 + generate-bindings.js | 608 ++++++ main.js | 11 +- src/bindings/_js_raylib_texture.h | 81 +- src/bindings/js_raylib_core.h | 72 +- src/bindings/js_raylib_texture.h | 57 + src/quickjs.c | 3 +- thirdparty/raylib | 2 +- 22 files changed, 4323 insertions(+), 96 deletions(-) create mode 100644 assets/planet00.png create mode 100644 bindings/.gitignore create mode 100644 bindings/package-lock.json create mode 100644 bindings/package.json create mode 100644 bindings/src/api.ts create mode 100644 bindings/src/function.ts create mode 100644 bindings/src/functionList.ts create mode 100644 bindings/src/generation.ts create mode 100644 bindings/src/header.ts create mode 100644 bindings/src/index.ts create mode 100644 bindings/src/interfaces.ts create mode 100644 bindings/src/struct.ts create mode 100644 bindings/tsconfig.json create mode 100644 bindings/webpack.config.js create mode 100644 generate-bindings.js create mode 100644 src/bindings/js_raylib_texture.h diff --git a/assets/planet00.png b/assets/planet00.png new file mode 100644 index 0000000000000000000000000000000000000000..b950c3d25d4d627ae8968d2322b2aa66eceb0407 GIT binary patch literal 286506 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

~DV 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 z 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 literal 0 HcmV?d00001 diff --git a/bindings.json b/bindings.json index c2edfdc..290f883 100644 --- a/bindings.json +++ b/bindings.json @@ -1,15 +1,17 @@ -[ - { - "name": "raylib_core", - "functions": [ - { "name": "SetWindowTitle" }, - { "name": "SetWindowPosition" }, - { "name": "BeginDrawing" }, - { "name": "EndDrawing" } - ] - }, - { - "name": "raylib_texture", - "functions": [] - } -] \ No newline at end of file +{ + "headers": [ + { + "name": "raylib_core", + "functions": [ + { "name": "SetWindowTitle" }, + { "name": "SetWindowPosition" }, + { "name": "BeginDrawing" }, + { "name": "EndDrawing" } + ] + }, + { + "name": "raylib_texture", + "functions": [] + } + ] +} diff --git a/bindings/.gitignore b/bindings/.gitignore new file mode 100644 index 0000000..40b878d --- /dev/null +++ b/bindings/.gitignore @@ -0,0 +1 @@ +node_modules/ \ No newline at end of file diff --git a/bindings/package-lock.json b/bindings/package-lock.json new file mode 100644 index 0000000..a75070a --- /dev/null +++ b/bindings/package-lock.json @@ -0,0 +1,2912 @@ +{ + "name": "bindings", + "version": "1.0.0", + "lockfileVersion": 2, + "requires": true, + "packages": { + "": { + "name": "bindings", + "version": "1.0.0", + "license": "ISC", + "devDependencies": { + "ts-loader": "^9.4.2", + "ts-node": "^10.9.1", + "typescript": "^5.0.4", + "webpack": "^5.82.0", + "webpack-cli": "^5.0.2" + } + }, + "node_modules/@cspotcode/source-map-support": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz", + "integrity": "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==", + "dev": true, + "dependencies": { + "@jridgewell/trace-mapping": "0.3.9" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@discoveryjs/json-ext": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz", + "integrity": "sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==", + "dev": true, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", + "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", + "dev": true, + "dependencies": { + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz", + "integrity": "sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==", + "dev": true, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/set-array": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", + "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", + "dev": true, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/source-map": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.3.tgz", + "integrity": "sha512-b+fsZXeLYi9fEULmfBrhxn4IrPlINf8fiNarzTof004v3lFdntdwa9PF7vFJqm3mg7s+ScJMxXaE3Acp1irZcg==", + "dev": true, + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.4.15", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", + "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==", + "dev": true + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.9", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz", + "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==", + "dev": true, + "dependencies": { + "@jridgewell/resolve-uri": "^3.0.3", + "@jridgewell/sourcemap-codec": "^1.4.10" + } + }, + "node_modules/@tsconfig/node10": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.9.tgz", + "integrity": "sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==", + "dev": true + }, + "node_modules/@tsconfig/node12": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz", + "integrity": "sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==", + "dev": true + }, + "node_modules/@tsconfig/node14": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz", + "integrity": "sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==", + "dev": true + }, + "node_modules/@tsconfig/node16": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.3.tgz", + "integrity": "sha512-yOlFc+7UtL/89t2ZhjPvvB/DeAr3r+Dq58IgzsFkOAvVC6NMJXmCGjbptdXdR9qsX7pKcTL+s87FtYREi2dEEQ==", + "dev": true + }, + "node_modules/@types/eslint": { + "version": "8.37.0", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.37.0.tgz", + "integrity": "sha512-Piet7dG2JBuDIfohBngQ3rCt7MgO9xCO4xIMKxBThCq5PNRB91IjlJ10eJVwfoNtvTErmxLzwBZ7rHZtbOMmFQ==", + "dev": true, + "dependencies": { + "@types/estree": "*", + "@types/json-schema": "*" + } + }, + "node_modules/@types/eslint-scope": { + "version": "3.7.4", + "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.4.tgz", + "integrity": "sha512-9K4zoImiZc3HlIp6AVUDE4CWYx22a+lhSZMYNpbjW04+YF0KWj4pJXnEMjdnFTiQibFFmElcsasJXDbdI/EPhA==", + "dev": true, + "dependencies": { + "@types/eslint": "*", + "@types/estree": "*" + } + }, + "node_modules/@types/estree": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.1.tgz", + "integrity": "sha512-LG4opVs2ANWZ1TJoKc937iMmNstM/d0ae1vNbnBvBhqCSezgVUOzcLCqbI5elV8Vy6WKwKjaqR+zO9VKirBBCA==", + "dev": true + }, + "node_modules/@types/json-schema": { + "version": "7.0.11", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz", + "integrity": "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==", + "dev": true + }, + "node_modules/@types/node": { + "version": "20.1.0", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.1.0.tgz", + "integrity": "sha512-O+z53uwx64xY7D6roOi4+jApDGFg0qn6WHcxe5QeqjMaTezBO/mxdfFXIVAVVyNWKx84OmPB3L8kbVYOTeN34A==", + "dev": true + }, + "node_modules/@webassemblyjs/ast": { + "version": "1.11.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.5.tgz", + "integrity": "sha512-LHY/GSAZZRpsNQH+/oHqhRQ5FT7eoULcBqgfyTB5nQHogFnK3/7QoN7dLnwSE/JkUAF0SrRuclT7ODqMFtWxxQ==", + "dev": true, + "dependencies": { + "@webassemblyjs/helper-numbers": "1.11.5", + "@webassemblyjs/helper-wasm-bytecode": "1.11.5" + } + }, + "node_modules/@webassemblyjs/floating-point-hex-parser": { + "version": "1.11.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.5.tgz", + "integrity": "sha512-1j1zTIC5EZOtCplMBG/IEwLtUojtwFVwdyVMbL/hwWqbzlQoJsWCOavrdnLkemwNoC/EOwtUFch3fuo+cbcXYQ==", + "dev": true + }, + "node_modules/@webassemblyjs/helper-api-error": { + "version": "1.11.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.5.tgz", + "integrity": "sha512-L65bDPmfpY0+yFrsgz8b6LhXmbbs38OnwDCf6NpnMUYqa+ENfE5Dq9E42ny0qz/PdR0LJyq/T5YijPnU8AXEpA==", + "dev": true + }, + "node_modules/@webassemblyjs/helper-buffer": { + "version": "1.11.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.5.tgz", + "integrity": "sha512-fDKo1gstwFFSfacIeH5KfwzjykIE6ldh1iH9Y/8YkAZrhmu4TctqYjSh7t0K2VyDSXOZJ1MLhht/k9IvYGcIxg==", + "dev": true + }, + "node_modules/@webassemblyjs/helper-numbers": { + "version": "1.11.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.5.tgz", + "integrity": "sha512-DhykHXM0ZABqfIGYNv93A5KKDw/+ywBFnuWybZZWcuzWHfbp21wUfRkbtz7dMGwGgT4iXjWuhRMA2Mzod6W4WA==", + "dev": true, + "dependencies": { + "@webassemblyjs/floating-point-hex-parser": "1.11.5", + "@webassemblyjs/helper-api-error": "1.11.5", + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webassemblyjs/helper-wasm-bytecode": { + "version": "1.11.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.5.tgz", + "integrity": "sha512-oC4Qa0bNcqnjAowFn7MPCETQgDYytpsfvz4ujZz63Zu/a/v71HeCAAmZsgZ3YVKec3zSPYytG3/PrRCqbtcAvA==", + "dev": true + }, + "node_modules/@webassemblyjs/helper-wasm-section": { + "version": "1.11.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.5.tgz", + "integrity": "sha512-uEoThA1LN2NA+K3B9wDo3yKlBfVtC6rh0i4/6hvbz071E8gTNZD/pT0MsBf7MeD6KbApMSkaAK0XeKyOZC7CIA==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.5", + "@webassemblyjs/helper-buffer": "1.11.5", + "@webassemblyjs/helper-wasm-bytecode": "1.11.5", + "@webassemblyjs/wasm-gen": "1.11.5" + } + }, + "node_modules/@webassemblyjs/ieee754": { + "version": "1.11.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.5.tgz", + "integrity": "sha512-37aGq6qVL8A8oPbPrSGMBcp38YZFXcHfiROflJn9jxSdSMMM5dS5P/9e2/TpaJuhE+wFrbukN2WI6Hw9MH5acg==", + "dev": true, + "dependencies": { + "@xtuc/ieee754": "^1.2.0" + } + }, + "node_modules/@webassemblyjs/leb128": { + "version": "1.11.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.5.tgz", + "integrity": "sha512-ajqrRSXaTJoPW+xmkfYN6l8VIeNnR4vBOTQO9HzR7IygoCcKWkICbKFbVTNMjMgMREqXEr0+2M6zukzM47ZUfQ==", + "dev": true, + "dependencies": { + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webassemblyjs/utf8": { + "version": "1.11.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.5.tgz", + "integrity": "sha512-WiOhulHKTZU5UPlRl53gHR8OxdGsSOxqfpqWeA2FmcwBMaoEdz6b2x2si3IwC9/fSPLfe8pBMRTHVMk5nlwnFQ==", + "dev": true + }, + "node_modules/@webassemblyjs/wasm-edit": { + "version": "1.11.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.5.tgz", + "integrity": "sha512-C0p9D2fAu3Twwqvygvf42iGCQ4av8MFBLiTb+08SZ4cEdwzWx9QeAHDo1E2k+9s/0w1DM40oflJOpkZ8jW4HCQ==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.5", + "@webassemblyjs/helper-buffer": "1.11.5", + "@webassemblyjs/helper-wasm-bytecode": "1.11.5", + "@webassemblyjs/helper-wasm-section": "1.11.5", + "@webassemblyjs/wasm-gen": "1.11.5", + "@webassemblyjs/wasm-opt": "1.11.5", + "@webassemblyjs/wasm-parser": "1.11.5", + "@webassemblyjs/wast-printer": "1.11.5" + } + }, + "node_modules/@webassemblyjs/wasm-gen": { + "version": "1.11.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.5.tgz", + "integrity": "sha512-14vteRlRjxLK9eSyYFvw1K8Vv+iPdZU0Aebk3j6oB8TQiQYuO6hj9s4d7qf6f2HJr2khzvNldAFG13CgdkAIfA==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.5", + "@webassemblyjs/helper-wasm-bytecode": "1.11.5", + "@webassemblyjs/ieee754": "1.11.5", + "@webassemblyjs/leb128": "1.11.5", + "@webassemblyjs/utf8": "1.11.5" + } + }, + "node_modules/@webassemblyjs/wasm-opt": { + "version": "1.11.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.5.tgz", + "integrity": "sha512-tcKwlIXstBQgbKy1MlbDMlXaxpucn42eb17H29rawYLxm5+MsEmgPzeCP8B1Cl69hCice8LeKgZpRUAPtqYPgw==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.5", + "@webassemblyjs/helper-buffer": "1.11.5", + "@webassemblyjs/wasm-gen": "1.11.5", + "@webassemblyjs/wasm-parser": "1.11.5" + } + }, + "node_modules/@webassemblyjs/wasm-parser": { + "version": "1.11.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.5.tgz", + "integrity": "sha512-SVXUIwsLQlc8srSD7jejsfTU83g7pIGr2YYNb9oHdtldSxaOhvA5xwvIiWIfcX8PlSakgqMXsLpLfbbJ4cBYew==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.5", + "@webassemblyjs/helper-api-error": "1.11.5", + "@webassemblyjs/helper-wasm-bytecode": "1.11.5", + "@webassemblyjs/ieee754": "1.11.5", + "@webassemblyjs/leb128": "1.11.5", + "@webassemblyjs/utf8": "1.11.5" + } + }, + "node_modules/@webassemblyjs/wast-printer": { + "version": "1.11.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.5.tgz", + "integrity": "sha512-f7Pq3wvg3GSPUPzR0F6bmI89Hdb+u9WXrSKc4v+N0aV0q6r42WoF92Jp2jEorBEBRoRNXgjp53nBniDXcqZYPA==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.5", + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webpack-cli/configtest": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-2.0.1.tgz", + "integrity": "sha512-njsdJXJSiS2iNbQVS0eT8A/KPnmyH4pv1APj2K0d1wrZcBLw+yppxOy4CGqa0OxDJkzfL/XELDhD8rocnIwB5A==", + "dev": true, + "engines": { + "node": ">=14.15.0" + }, + "peerDependencies": { + "webpack": "5.x.x", + "webpack-cli": "5.x.x" + } + }, + "node_modules/@webpack-cli/info": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-2.0.1.tgz", + "integrity": "sha512-fE1UEWTwsAxRhrJNikE7v4EotYflkEhBL7EbajfkPlf6E37/2QshOy/D48Mw8G5XMFlQtS6YV42vtbG9zBpIQA==", + "dev": true, + "engines": { + "node": ">=14.15.0" + }, + "peerDependencies": { + "webpack": "5.x.x", + "webpack-cli": "5.x.x" + } + }, + "node_modules/@webpack-cli/serve": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-2.0.2.tgz", + "integrity": "sha512-S9h3GmOmzUseyeFW3tYNnWS7gNUuwxZ3mmMq0JyW78Vx1SGKPSkt5bT4pB0rUnVfHjP0EL9gW2bOzmtiTfQt0A==", + "dev": true, + "engines": { + "node": ">=14.15.0" + }, + "peerDependencies": { + "webpack": "5.x.x", + "webpack-cli": "5.x.x" + }, + "peerDependenciesMeta": { + "webpack-dev-server": { + "optional": true + } + } + }, + "node_modules/@xtuc/ieee754": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", + "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", + "dev": true + }, + "node_modules/@xtuc/long": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", + "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", + "dev": true + }, + "node_modules/acorn": { + "version": "8.8.2", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.2.tgz", + "integrity": "sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-import-assertions": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.8.0.tgz", + "integrity": "sha512-m7VZ3jwz4eK6A4Vtt8Ew1/mNbP24u0FhdyfA7fSvnJR6LMdfOYnmuIrrJAgrYfYJ10F/otaHTtrtrtmHdMNzEw==", + "dev": true, + "peerDependencies": { + "acorn": "^8" + } + }, + "node_modules/acorn-walk": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz", + "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==", + "dev": true, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "dev": true, + "peerDependencies": { + "ajv": "^6.9.1" + } + }, + "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, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/arg": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", + "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==", + "dev": true + }, + "node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/browserslist": { + "version": "4.21.5", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.5.tgz", + "integrity": "sha512-tUkiguQGW7S3IhB7N+c2MV/HZPSCPAAiYBZXLsBhFB/PCy6ZKKsZrmBayHV9fdGV/ARIfJ14NkxKzRDjvp7L6w==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + } + ], + "dependencies": { + "caniuse-lite": "^1.0.30001449", + "electron-to-chromium": "^1.4.284", + "node-releases": "^2.0.8", + "update-browserslist-db": "^1.0.10" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "dev": true + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001485", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001485.tgz", + "integrity": "sha512-8aUpZ7sjhlOyiNsg+pgcrTTPUXKh+rg544QYHSvQErljVEKJzvkYkCR/hUFeeVoEfTToUtY9cUKNRC7+c45YkA==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ] + }, + "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, + "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, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/chrome-trace-event": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", + "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==", + "dev": true, + "engines": { + "node": ">=6.0" + } + }, + "node_modules/clone-deep": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", + "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", + "dev": true, + "dependencies": { + "is-plain-object": "^2.0.4", + "kind-of": "^6.0.2", + "shallow-clone": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "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, + "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 + }, + "node_modules/colorette": { + "version": "2.0.20", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", + "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==", + "dev": true + }, + "node_modules/commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true + }, + "node_modules/create-require": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", + "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==", + "dev": true + }, + "node_modules/cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/diff": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", + "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", + "dev": true, + "engines": { + "node": ">=0.3.1" + } + }, + "node_modules/electron-to-chromium": { + "version": "1.4.385", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.385.tgz", + "integrity": "sha512-L9zlje9bIw0h+CwPQumiuVlfMcV4boxRjFIWDcLfFqTZNbkwOExBzfmswytHawObQX4OUhtNv8gIiB21kOurIg==", + "dev": true + }, + "node_modules/enhanced-resolve": { + "version": "5.13.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.13.0.tgz", + "integrity": "sha512-eyV8f0y1+bzyfh8xAwW/WTSZpLbjhqc4ne9eGSH4Zo2ejdyiNG9pU6mf9DG8a7+Auk6MFTlNOT4Y2y/9k8GKVg==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.2.4", + "tapable": "^2.2.0" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/envinfo": { + "version": "7.8.1", + "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.8.1.tgz", + "integrity": "sha512-/o+BXHmB7ocbHEAs6F2EnG0ogybVVUdkRunTT2glZU9XAaGmhqskrvKwqXuDfNjEO0LZKWdejEEpnq8aM0tOaw==", + "dev": true, + "bin": { + "envinfo": "dist/cli.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/es-module-lexer": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.2.1.tgz", + "integrity": "sha512-9978wrXM50Y4rTMmW5kXIC09ZdXQZqkE4mxhwkd8VbzsGkXGPgV4zWuqQJgCEzYngdo2dYDa0l8xhX4fkSwJSg==", + "dev": true + }, + "node_modules/escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "dev": true, + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esrecurse/node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/events": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", + "dev": true, + "engines": { + "node": ">=0.8.x" + } + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true + }, + "node_modules/fastest-levenshtein": { + "version": "1.0.16", + "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz", + "integrity": "sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==", + "dev": true, + "engines": { + "node": ">= 4.9.1" + } + }, + "node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "dev": true + }, + "node_modules/glob-to-regexp": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", + "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", + "dev": true + }, + "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 + }, + "node_modules/has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.1" + }, + "engines": { + "node": ">= 0.4.0" + } + }, + "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, + "engines": { + "node": ">=8" + } + }, + "node_modules/import-local": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz", + "integrity": "sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==", + "dev": true, + "dependencies": { + "pkg-dir": "^4.2.0", + "resolve-cwd": "^3.0.0" + }, + "bin": { + "import-local-fixture": "fixtures/cli.js" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/interpret": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-3.1.1.tgz", + "integrity": "sha512-6xwYfHbajpoF0xLW+iwLkhwgvLoZDfjYfoFNu8ftMoXINzwuymNLd9u/KmwtdT2GbR+/Cz66otEGEVVUHX9QLQ==", + "dev": true, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/is-core-module": { + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.12.0.tgz", + "integrity": "sha512-RECHCBCd/viahWmwj6enj19sKbHfJrddi/6cBDsNTKbNq0f7VeaUkBo60BqzvPqo/W54ChS62Z5qyun7cfOMqQ==", + "dev": true, + "dependencies": { + "has": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true + }, + "node_modules/isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/jest-worker": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", + "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", + "dev": true, + "dependencies": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "engines": { + "node": ">= 10.13.0" + } + }, + "node_modules/json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", + "dev": true + }, + "node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "node_modules/kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/loader-runner": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz", + "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==", + "dev": true, + "engines": { + "node": ">=6.11.5" + } + }, + "node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/make-error": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", + "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", + "dev": true + }, + "node_modules/merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "dev": true + }, + "node_modules/micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "dev": true, + "dependencies": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "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, + "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, + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/neo-async": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", + "dev": true + }, + "node_modules/node-releases": { + "version": "2.0.10", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.10.tgz", + "integrity": "sha512-5GFldHPXVG/YZmFzJvKK2zDSzPKhEp0+ZR5SVaoSag9fsL5YgHbUHDfnG5494ISANDcK4KwPXAx2xqVEydmd7w==", + "dev": true + }, + "node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "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, + "engines": { + "node": ">=8" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true + }, + "node_modules/picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", + "dev": true + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true, + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pkg-dir": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "dev": true, + "dependencies": { + "find-up": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/punycode": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", + "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "dev": true, + "dependencies": { + "safe-buffer": "^5.1.0" + } + }, + "node_modules/rechoir": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.8.0.tgz", + "integrity": "sha512-/vxpCXddiX8NGfGO/mTafwjq4aFa/71pvamip0++IQk3zG8cbCj0fifNPrjjF1XMXUne91jL9OoxmdykoEtifQ==", + "dev": true, + "dependencies": { + "resolve": "^1.20.0" + }, + "engines": { + "node": ">= 10.13.0" + } + }, + "node_modules/resolve": { + "version": "1.22.2", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.2.tgz", + "integrity": "sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g==", + "dev": true, + "dependencies": { + "is-core-module": "^2.11.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/resolve-cwd": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", + "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", + "dev": true, + "dependencies": { + "resolve-from": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "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" + } + ] + }, + "node_modules/schema-utils": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.2.tgz", + "integrity": "sha512-pvjEHOgWc9OWA/f/DE3ohBWTD6EleVLf7iFUkoSwAxttdBhB9QUebQgxER2kWueOvRJXPHNnyrvvh9eZINB8Eg==", + "dev": true, + "dependencies": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/semver": { + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.0.tgz", + "integrity": "sha512-+XC0AD/R7Q2mPSRuy2Id0+CGTZ98+8f+KvwirxOKIEyid+XSx6HbC63p+O4IndTHuX5Z+JxQ0TghCkO5Cg/2HA==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/serialize-javascript": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.1.tgz", + "integrity": "sha512-owoXEFjWRllis8/M1Q+Cw5k8ZH40e3zhp/ovX+Xr/vi1qj6QesbyXXViFbpNvWvPNAD62SutwEXavefrLJWj7w==", + "dev": true, + "dependencies": { + "randombytes": "^2.1.0" + } + }, + "node_modules/shallow-clone": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", + "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", + "dev": true, + "dependencies": { + "kind-of": "^6.0.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "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, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "dev": true, + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "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, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/tapable": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", + "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/terser": { + "version": "5.17.1", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.17.1.tgz", + "integrity": "sha512-hVl35zClmpisy6oaoKALOpS0rDYLxRFLHhRuDlEGTKey9qHjS1w9GMORjuwIMt70Wan4lwsLYyWDVnWgF+KUEw==", + "dev": true, + "dependencies": { + "@jridgewell/source-map": "^0.3.2", + "acorn": "^8.5.0", + "commander": "^2.20.0", + "source-map-support": "~0.5.20" + }, + "bin": { + "terser": "bin/terser" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/terser-webpack-plugin": { + "version": "5.3.7", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.7.tgz", + "integrity": "sha512-AfKwIktyP7Cu50xNjXF/6Qb5lBNzYaWpU6YfoX3uZicTx0zTy0stDDCsvjDapKsSDvOeWo5MEq4TmdBy2cNoHw==", + "dev": true, + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.17", + "jest-worker": "^27.4.5", + "schema-utils": "^3.1.1", + "serialize-javascript": "^6.0.1", + "terser": "^5.16.5" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.1.0" + }, + "peerDependenciesMeta": { + "@swc/core": { + "optional": true + }, + "esbuild": { + "optional": true + }, + "uglify-js": { + "optional": true + } + } + }, + "node_modules/terser-webpack-plugin/node_modules/@jridgewell/resolve-uri": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", + "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", + "dev": true, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/terser-webpack-plugin/node_modules/@jridgewell/sourcemap-codec": { + "version": "1.4.14", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", + "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==", + "dev": true + }, + "node_modules/terser-webpack-plugin/node_modules/@jridgewell/trace-mapping": { + "version": "0.3.18", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.18.tgz", + "integrity": "sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA==", + "dev": true, + "dependencies": { + "@jridgewell/resolve-uri": "3.1.0", + "@jridgewell/sourcemap-codec": "1.4.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, + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/ts-loader": { + "version": "9.4.2", + "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-9.4.2.tgz", + "integrity": "sha512-OmlC4WVmFv5I0PpaxYb+qGeGOdm5giHU7HwDDUjw59emP2UYMHy9fFSDcYgSNoH8sXcj4hGCSEhlDZ9ULeDraA==", + "dev": true, + "dependencies": { + "chalk": "^4.1.0", + "enhanced-resolve": "^5.0.0", + "micromatch": "^4.0.0", + "semver": "^7.3.4" + }, + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "typescript": "*", + "webpack": "^5.0.0" + } + }, + "node_modules/ts-node": { + "version": "10.9.1", + "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.1.tgz", + "integrity": "sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==", + "dev": true, + "dependencies": { + "@cspotcode/source-map-support": "^0.8.0", + "@tsconfig/node10": "^1.0.7", + "@tsconfig/node12": "^1.0.7", + "@tsconfig/node14": "^1.0.0", + "@tsconfig/node16": "^1.0.2", + "acorn": "^8.4.1", + "acorn-walk": "^8.1.1", + "arg": "^4.1.0", + "create-require": "^1.1.0", + "diff": "^4.0.1", + "make-error": "^1.1.1", + "v8-compile-cache-lib": "^3.0.1", + "yn": "3.1.1" + }, + "bin": { + "ts-node": "dist/bin.js", + "ts-node-cwd": "dist/bin-cwd.js", + "ts-node-esm": "dist/bin-esm.js", + "ts-node-script": "dist/bin-script.js", + "ts-node-transpile-only": "dist/bin-transpile.js", + "ts-script": "dist/bin-script-deprecated.js" + }, + "peerDependencies": { + "@swc/core": ">=1.2.50", + "@swc/wasm": ">=1.2.50", + "@types/node": "*", + "typescript": ">=2.7" + }, + "peerDependenciesMeta": { + "@swc/core": { + "optional": true + }, + "@swc/wasm": { + "optional": true + } + } + }, + "node_modules/typescript": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.0.4.tgz", + "integrity": "sha512-cW9T5W9xY37cc+jfEnaUvX91foxtHkza3Nw3wkoF4sSlKn0MONdkdEndig/qPBWXNkmplh3NzayQzCiHM4/hqw==", + "dev": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=12.20" + } + }, + "node_modules/update-browserslist-db": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.11.tgz", + "integrity": "sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "escalade": "^3.1.1", + "picocolors": "^1.0.0" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/v8-compile-cache-lib": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz", + "integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==", + "dev": true + }, + "node_modules/watchpack": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz", + "integrity": "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==", + "dev": true, + "dependencies": { + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.1.2" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/webpack": { + "version": "5.82.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.82.0.tgz", + "integrity": "sha512-iGNA2fHhnDcV1bONdUu554eZx+XeldsaeQ8T67H6KKHl2nUSwX8Zm7cmzOA46ox/X1ARxf7Bjv8wQ/HsB5fxBg==", + "dev": true, + "dependencies": { + "@types/eslint-scope": "^3.7.3", + "@types/estree": "^1.0.0", + "@webassemblyjs/ast": "^1.11.5", + "@webassemblyjs/wasm-edit": "^1.11.5", + "@webassemblyjs/wasm-parser": "^1.11.5", + "acorn": "^8.7.1", + "acorn-import-assertions": "^1.7.6", + "browserslist": "^4.14.5", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^5.13.0", + "es-module-lexer": "^1.2.1", + "eslint-scope": "5.1.1", + "events": "^3.2.0", + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.2.9", + "json-parse-even-better-errors": "^2.3.1", + "loader-runner": "^4.2.0", + "mime-types": "^2.1.27", + "neo-async": "^2.6.2", + "schema-utils": "^3.1.2", + "tapable": "^2.1.1", + "terser-webpack-plugin": "^5.3.7", + "watchpack": "^2.4.0", + "webpack-sources": "^3.2.3" + }, + "bin": { + "webpack": "bin/webpack.js" + }, + "engines": { + "node": ">=10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependenciesMeta": { + "webpack-cli": { + "optional": true + } + } + }, + "node_modules/webpack-cli": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-5.0.2.tgz", + "integrity": "sha512-4y3W5Dawri5+8dXm3+diW6Mn1Ya+Dei6eEVAdIduAmYNLzv1koKVAqsfgrrc9P2mhrYHQphx5htnGkcNwtubyQ==", + "dev": true, + "dependencies": { + "@discoveryjs/json-ext": "^0.5.0", + "@webpack-cli/configtest": "^2.0.1", + "@webpack-cli/info": "^2.0.1", + "@webpack-cli/serve": "^2.0.2", + "colorette": "^2.0.14", + "commander": "^10.0.1", + "cross-spawn": "^7.0.3", + "envinfo": "^7.7.3", + "fastest-levenshtein": "^1.0.12", + "import-local": "^3.0.2", + "interpret": "^3.1.1", + "rechoir": "^0.8.0", + "webpack-merge": "^5.7.3" + }, + "bin": { + "webpack-cli": "bin/cli.js" + }, + "engines": { + "node": ">=14.15.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "5.x.x" + }, + "peerDependenciesMeta": { + "@webpack-cli/generators": { + "optional": true + }, + "webpack-bundle-analyzer": { + "optional": true + }, + "webpack-dev-server": { + "optional": true + } + } + }, + "node_modules/webpack-cli/node_modules/commander": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz", + "integrity": "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==", + "dev": true, + "engines": { + "node": ">=14" + } + }, + "node_modules/webpack-merge": { + "version": "5.8.0", + "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.8.0.tgz", + "integrity": "sha512-/SaI7xY0831XwP6kzuwhKWVKDP9t1QY1h65lAFLbZqMPIuYcD9QAW4u9STIbU9kaJbPBB/geU/gLr1wDjOhQ+Q==", + "dev": true, + "dependencies": { + "clone-deep": "^4.0.1", + "wildcard": "^2.0.0" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/webpack-sources": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", + "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==", + "dev": true, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/wildcard": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.1.tgz", + "integrity": "sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ==", + "dev": true + }, + "node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/yn": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", + "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", + "dev": true, + "engines": { + "node": ">=6" + } + } + }, + "dependencies": { + "@cspotcode/source-map-support": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz", + "integrity": "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==", + "dev": true, + "requires": { + "@jridgewell/trace-mapping": "0.3.9" + } + }, + "@discoveryjs/json-ext": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz", + "integrity": "sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==", + "dev": true + }, + "@jridgewell/gen-mapping": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", + "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", + "dev": true, + "requires": { + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + } + }, + "@jridgewell/resolve-uri": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz", + "integrity": "sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==", + "dev": true + }, + "@jridgewell/set-array": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", + "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", + "dev": true + }, + "@jridgewell/source-map": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.3.tgz", + "integrity": "sha512-b+fsZXeLYi9fEULmfBrhxn4IrPlINf8fiNarzTof004v3lFdntdwa9PF7vFJqm3mg7s+ScJMxXaE3Acp1irZcg==", + "dev": true, + "requires": { + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" + } + }, + "@jridgewell/sourcemap-codec": { + "version": "1.4.15", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", + "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==", + "dev": true + }, + "@jridgewell/trace-mapping": { + "version": "0.3.9", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz", + "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==", + "dev": true, + "requires": { + "@jridgewell/resolve-uri": "^3.0.3", + "@jridgewell/sourcemap-codec": "^1.4.10" + } + }, + "@tsconfig/node10": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.9.tgz", + "integrity": "sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==", + "dev": true + }, + "@tsconfig/node12": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz", + "integrity": "sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==", + "dev": true + }, + "@tsconfig/node14": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz", + "integrity": "sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==", + "dev": true + }, + "@tsconfig/node16": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.3.tgz", + "integrity": "sha512-yOlFc+7UtL/89t2ZhjPvvB/DeAr3r+Dq58IgzsFkOAvVC6NMJXmCGjbptdXdR9qsX7pKcTL+s87FtYREi2dEEQ==", + "dev": true + }, + "@types/eslint": { + "version": "8.37.0", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.37.0.tgz", + "integrity": "sha512-Piet7dG2JBuDIfohBngQ3rCt7MgO9xCO4xIMKxBThCq5PNRB91IjlJ10eJVwfoNtvTErmxLzwBZ7rHZtbOMmFQ==", + "dev": true, + "requires": { + "@types/estree": "*", + "@types/json-schema": "*" + } + }, + "@types/eslint-scope": { + "version": "3.7.4", + "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.4.tgz", + "integrity": "sha512-9K4zoImiZc3HlIp6AVUDE4CWYx22a+lhSZMYNpbjW04+YF0KWj4pJXnEMjdnFTiQibFFmElcsasJXDbdI/EPhA==", + "dev": true, + "requires": { + "@types/eslint": "*", + "@types/estree": "*" + } + }, + "@types/estree": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.1.tgz", + "integrity": "sha512-LG4opVs2ANWZ1TJoKc937iMmNstM/d0ae1vNbnBvBhqCSezgVUOzcLCqbI5elV8Vy6WKwKjaqR+zO9VKirBBCA==", + "dev": true + }, + "@types/json-schema": { + "version": "7.0.11", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz", + "integrity": "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==", + "dev": true + }, + "@types/node": { + "version": "20.1.0", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.1.0.tgz", + "integrity": "sha512-O+z53uwx64xY7D6roOi4+jApDGFg0qn6WHcxe5QeqjMaTezBO/mxdfFXIVAVVyNWKx84OmPB3L8kbVYOTeN34A==", + "dev": true + }, + "@webassemblyjs/ast": { + "version": "1.11.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.5.tgz", + "integrity": "sha512-LHY/GSAZZRpsNQH+/oHqhRQ5FT7eoULcBqgfyTB5nQHogFnK3/7QoN7dLnwSE/JkUAF0SrRuclT7ODqMFtWxxQ==", + "dev": true, + "requires": { + "@webassemblyjs/helper-numbers": "1.11.5", + "@webassemblyjs/helper-wasm-bytecode": "1.11.5" + } + }, + "@webassemblyjs/floating-point-hex-parser": { + "version": "1.11.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.5.tgz", + "integrity": "sha512-1j1zTIC5EZOtCplMBG/IEwLtUojtwFVwdyVMbL/hwWqbzlQoJsWCOavrdnLkemwNoC/EOwtUFch3fuo+cbcXYQ==", + "dev": true + }, + "@webassemblyjs/helper-api-error": { + "version": "1.11.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.5.tgz", + "integrity": "sha512-L65bDPmfpY0+yFrsgz8b6LhXmbbs38OnwDCf6NpnMUYqa+ENfE5Dq9E42ny0qz/PdR0LJyq/T5YijPnU8AXEpA==", + "dev": true + }, + "@webassemblyjs/helper-buffer": { + "version": "1.11.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.5.tgz", + "integrity": "sha512-fDKo1gstwFFSfacIeH5KfwzjykIE6ldh1iH9Y/8YkAZrhmu4TctqYjSh7t0K2VyDSXOZJ1MLhht/k9IvYGcIxg==", + "dev": true + }, + "@webassemblyjs/helper-numbers": { + "version": "1.11.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.5.tgz", + "integrity": "sha512-DhykHXM0ZABqfIGYNv93A5KKDw/+ywBFnuWybZZWcuzWHfbp21wUfRkbtz7dMGwGgT4iXjWuhRMA2Mzod6W4WA==", + "dev": true, + "requires": { + "@webassemblyjs/floating-point-hex-parser": "1.11.5", + "@webassemblyjs/helper-api-error": "1.11.5", + "@xtuc/long": "4.2.2" + } + }, + "@webassemblyjs/helper-wasm-bytecode": { + "version": "1.11.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.5.tgz", + "integrity": "sha512-oC4Qa0bNcqnjAowFn7MPCETQgDYytpsfvz4ujZz63Zu/a/v71HeCAAmZsgZ3YVKec3zSPYytG3/PrRCqbtcAvA==", + "dev": true + }, + "@webassemblyjs/helper-wasm-section": { + "version": "1.11.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.5.tgz", + "integrity": "sha512-uEoThA1LN2NA+K3B9wDo3yKlBfVtC6rh0i4/6hvbz071E8gTNZD/pT0MsBf7MeD6KbApMSkaAK0XeKyOZC7CIA==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.11.5", + "@webassemblyjs/helper-buffer": "1.11.5", + "@webassemblyjs/helper-wasm-bytecode": "1.11.5", + "@webassemblyjs/wasm-gen": "1.11.5" + } + }, + "@webassemblyjs/ieee754": { + "version": "1.11.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.5.tgz", + "integrity": "sha512-37aGq6qVL8A8oPbPrSGMBcp38YZFXcHfiROflJn9jxSdSMMM5dS5P/9e2/TpaJuhE+wFrbukN2WI6Hw9MH5acg==", + "dev": true, + "requires": { + "@xtuc/ieee754": "^1.2.0" + } + }, + "@webassemblyjs/leb128": { + "version": "1.11.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.5.tgz", + "integrity": "sha512-ajqrRSXaTJoPW+xmkfYN6l8VIeNnR4vBOTQO9HzR7IygoCcKWkICbKFbVTNMjMgMREqXEr0+2M6zukzM47ZUfQ==", + "dev": true, + "requires": { + "@xtuc/long": "4.2.2" + } + }, + "@webassemblyjs/utf8": { + "version": "1.11.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.5.tgz", + "integrity": "sha512-WiOhulHKTZU5UPlRl53gHR8OxdGsSOxqfpqWeA2FmcwBMaoEdz6b2x2si3IwC9/fSPLfe8pBMRTHVMk5nlwnFQ==", + "dev": true + }, + "@webassemblyjs/wasm-edit": { + "version": "1.11.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.5.tgz", + "integrity": "sha512-C0p9D2fAu3Twwqvygvf42iGCQ4av8MFBLiTb+08SZ4cEdwzWx9QeAHDo1E2k+9s/0w1DM40oflJOpkZ8jW4HCQ==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.11.5", + "@webassemblyjs/helper-buffer": "1.11.5", + "@webassemblyjs/helper-wasm-bytecode": "1.11.5", + "@webassemblyjs/helper-wasm-section": "1.11.5", + "@webassemblyjs/wasm-gen": "1.11.5", + "@webassemblyjs/wasm-opt": "1.11.5", + "@webassemblyjs/wasm-parser": "1.11.5", + "@webassemblyjs/wast-printer": "1.11.5" + } + }, + "@webassemblyjs/wasm-gen": { + "version": "1.11.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.5.tgz", + "integrity": "sha512-14vteRlRjxLK9eSyYFvw1K8Vv+iPdZU0Aebk3j6oB8TQiQYuO6hj9s4d7qf6f2HJr2khzvNldAFG13CgdkAIfA==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.11.5", + "@webassemblyjs/helper-wasm-bytecode": "1.11.5", + "@webassemblyjs/ieee754": "1.11.5", + "@webassemblyjs/leb128": "1.11.5", + "@webassemblyjs/utf8": "1.11.5" + } + }, + "@webassemblyjs/wasm-opt": { + "version": "1.11.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.5.tgz", + "integrity": "sha512-tcKwlIXstBQgbKy1MlbDMlXaxpucn42eb17H29rawYLxm5+MsEmgPzeCP8B1Cl69hCice8LeKgZpRUAPtqYPgw==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.11.5", + "@webassemblyjs/helper-buffer": "1.11.5", + "@webassemblyjs/wasm-gen": "1.11.5", + "@webassemblyjs/wasm-parser": "1.11.5" + } + }, + "@webassemblyjs/wasm-parser": { + "version": "1.11.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.5.tgz", + "integrity": "sha512-SVXUIwsLQlc8srSD7jejsfTU83g7pIGr2YYNb9oHdtldSxaOhvA5xwvIiWIfcX8PlSakgqMXsLpLfbbJ4cBYew==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.11.5", + "@webassemblyjs/helper-api-error": "1.11.5", + "@webassemblyjs/helper-wasm-bytecode": "1.11.5", + "@webassemblyjs/ieee754": "1.11.5", + "@webassemblyjs/leb128": "1.11.5", + "@webassemblyjs/utf8": "1.11.5" + } + }, + "@webassemblyjs/wast-printer": { + "version": "1.11.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.5.tgz", + "integrity": "sha512-f7Pq3wvg3GSPUPzR0F6bmI89Hdb+u9WXrSKc4v+N0aV0q6r42WoF92Jp2jEorBEBRoRNXgjp53nBniDXcqZYPA==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.11.5", + "@xtuc/long": "4.2.2" + } + }, + "@webpack-cli/configtest": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-2.0.1.tgz", + "integrity": "sha512-njsdJXJSiS2iNbQVS0eT8A/KPnmyH4pv1APj2K0d1wrZcBLw+yppxOy4CGqa0OxDJkzfL/XELDhD8rocnIwB5A==", + "dev": true, + "requires": {} + }, + "@webpack-cli/info": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-2.0.1.tgz", + "integrity": "sha512-fE1UEWTwsAxRhrJNikE7v4EotYflkEhBL7EbajfkPlf6E37/2QshOy/D48Mw8G5XMFlQtS6YV42vtbG9zBpIQA==", + "dev": true, + "requires": {} + }, + "@webpack-cli/serve": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-2.0.2.tgz", + "integrity": "sha512-S9h3GmOmzUseyeFW3tYNnWS7gNUuwxZ3mmMq0JyW78Vx1SGKPSkt5bT4pB0rUnVfHjP0EL9gW2bOzmtiTfQt0A==", + "dev": true, + "requires": {} + }, + "@xtuc/ieee754": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", + "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", + "dev": true + }, + "@xtuc/long": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", + "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", + "dev": true + }, + "acorn": { + "version": "8.8.2", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.2.tgz", + "integrity": "sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==", + "dev": true + }, + "acorn-import-assertions": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.8.0.tgz", + "integrity": "sha512-m7VZ3jwz4eK6A4Vtt8Ew1/mNbP24u0FhdyfA7fSvnJR6LMdfOYnmuIrrJAgrYfYJ10F/otaHTtrtrtmHdMNzEw==", + "dev": true, + "requires": {} + }, + "acorn-walk": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz", + "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==", + "dev": true + }, + "ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "dev": true, + "requires": {} + }, + "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, + "requires": { + "color-convert": "^2.0.1" + } + }, + "arg": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", + "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==", + "dev": true + }, + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "requires": { + "fill-range": "^7.0.1" + } + }, + "browserslist": { + "version": "4.21.5", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.5.tgz", + "integrity": "sha512-tUkiguQGW7S3IhB7N+c2MV/HZPSCPAAiYBZXLsBhFB/PCy6ZKKsZrmBayHV9fdGV/ARIfJ14NkxKzRDjvp7L6w==", + "dev": true, + "requires": { + "caniuse-lite": "^1.0.30001449", + "electron-to-chromium": "^1.4.284", + "node-releases": "^2.0.8", + "update-browserslist-db": "^1.0.10" + } + }, + "buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "dev": true + }, + "caniuse-lite": { + "version": "1.0.30001485", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001485.tgz", + "integrity": "sha512-8aUpZ7sjhlOyiNsg+pgcrTTPUXKh+rg544QYHSvQErljVEKJzvkYkCR/hUFeeVoEfTToUtY9cUKNRC7+c45YkA==", + "dev": true + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "dependencies": { + "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, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "chrome-trace-event": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", + "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==", + "dev": true + }, + "clone-deep": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", + "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", + "dev": true, + "requires": { + "is-plain-object": "^2.0.4", + "kind-of": "^6.0.2", + "shallow-clone": "^3.0.0" + } + }, + "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, + "requires": { + "color-name": "~1.1.4" + } + }, + "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 + }, + "colorette": { + "version": "2.0.20", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", + "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==", + "dev": true + }, + "commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true + }, + "create-require": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", + "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==", + "dev": true + }, + "cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "requires": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + } + }, + "diff": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", + "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", + "dev": true + }, + "electron-to-chromium": { + "version": "1.4.385", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.385.tgz", + "integrity": "sha512-L9zlje9bIw0h+CwPQumiuVlfMcV4boxRjFIWDcLfFqTZNbkwOExBzfmswytHawObQX4OUhtNv8gIiB21kOurIg==", + "dev": true + }, + "enhanced-resolve": { + "version": "5.13.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.13.0.tgz", + "integrity": "sha512-eyV8f0y1+bzyfh8xAwW/WTSZpLbjhqc4ne9eGSH4Zo2ejdyiNG9pU6mf9DG8a7+Auk6MFTlNOT4Y2y/9k8GKVg==", + "dev": true, + "requires": { + "graceful-fs": "^4.2.4", + "tapable": "^2.2.0" + } + }, + "envinfo": { + "version": "7.8.1", + "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.8.1.tgz", + "integrity": "sha512-/o+BXHmB7ocbHEAs6F2EnG0ogybVVUdkRunTT2glZU9XAaGmhqskrvKwqXuDfNjEO0LZKWdejEEpnq8aM0tOaw==", + "dev": true + }, + "es-module-lexer": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.2.1.tgz", + "integrity": "sha512-9978wrXM50Y4rTMmW5kXIC09ZdXQZqkE4mxhwkd8VbzsGkXGPgV4zWuqQJgCEzYngdo2dYDa0l8xhX4fkSwJSg==", + "dev": true + }, + "escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "dev": true + }, + "eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "dev": true, + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + } + }, + "esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "requires": { + "estraverse": "^5.2.0" + }, + "dependencies": { + "estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true + } + } + }, + "estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true + }, + "events": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", + "dev": true + }, + "fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true + }, + "fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true + }, + "fastest-levenshtein": { + "version": "1.0.16", + "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz", + "integrity": "sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==", + "dev": true + }, + "fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "requires": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + } + }, + "function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "dev": true + }, + "glob-to-regexp": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", + "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", + "dev": true + }, + "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 + }, + "has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dev": true, + "requires": { + "function-bind": "^1.1.1" + } + }, + "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 + }, + "import-local": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz", + "integrity": "sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==", + "dev": true, + "requires": { + "pkg-dir": "^4.2.0", + "resolve-cwd": "^3.0.0" + } + }, + "interpret": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-3.1.1.tgz", + "integrity": "sha512-6xwYfHbajpoF0xLW+iwLkhwgvLoZDfjYfoFNu8ftMoXINzwuymNLd9u/KmwtdT2GbR+/Cz66otEGEVVUHX9QLQ==", + "dev": true + }, + "is-core-module": { + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.12.0.tgz", + "integrity": "sha512-RECHCBCd/viahWmwj6enj19sKbHfJrddi/6cBDsNTKbNq0f7VeaUkBo60BqzvPqo/W54ChS62Z5qyun7cfOMqQ==", + "dev": true, + "requires": { + "has": "^1.0.3" + } + }, + "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 + }, + "is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "requires": { + "isobject": "^3.0.1" + } + }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", + "dev": true + }, + "jest-worker": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", + "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", + "dev": true, + "requires": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + } + }, + "json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", + "dev": true + }, + "json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true + }, + "loader-runner": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz", + "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==", + "dev": true + }, + "locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "requires": { + "p-locate": "^4.1.0" + } + }, + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "make-error": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", + "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", + "dev": true + }, + "merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "dev": true + }, + "micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "dev": true, + "requires": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + } + }, + "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 + }, + "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, + "requires": { + "mime-db": "1.52.0" + } + }, + "neo-async": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", + "dev": true + }, + "node-releases": { + "version": "2.0.10", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.10.tgz", + "integrity": "sha512-5GFldHPXVG/YZmFzJvKK2zDSzPKhEp0+ZR5SVaoSag9fsL5YgHbUHDfnG5494ISANDcK4KwPXAx2xqVEydmd7w==", + "dev": true + }, + "p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "requires": { + "p-limit": "^2.2.0" + } + }, + "p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true + }, + "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 + }, + "path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true + }, + "path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true + }, + "picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", + "dev": true + }, + "picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true + }, + "pkg-dir": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "dev": true, + "requires": { + "find-up": "^4.0.0" + } + }, + "punycode": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", + "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==", + "dev": true + }, + "randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "dev": true, + "requires": { + "safe-buffer": "^5.1.0" + } + }, + "rechoir": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.8.0.tgz", + "integrity": "sha512-/vxpCXddiX8NGfGO/mTafwjq4aFa/71pvamip0++IQk3zG8cbCj0fifNPrjjF1XMXUne91jL9OoxmdykoEtifQ==", + "dev": true, + "requires": { + "resolve": "^1.20.0" + } + }, + "resolve": { + "version": "1.22.2", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.2.tgz", + "integrity": "sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g==", + "dev": true, + "requires": { + "is-core-module": "^2.11.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + } + }, + "resolve-cwd": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", + "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", + "dev": true, + "requires": { + "resolve-from": "^5.0.0" + } + }, + "resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true + }, + "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 + }, + "schema-utils": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.2.tgz", + "integrity": "sha512-pvjEHOgWc9OWA/f/DE3ohBWTD6EleVLf7iFUkoSwAxttdBhB9QUebQgxER2kWueOvRJXPHNnyrvvh9eZINB8Eg==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + } + }, + "semver": { + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.0.tgz", + "integrity": "sha512-+XC0AD/R7Q2mPSRuy2Id0+CGTZ98+8f+KvwirxOKIEyid+XSx6HbC63p+O4IndTHuX5Z+JxQ0TghCkO5Cg/2HA==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "serialize-javascript": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.1.tgz", + "integrity": "sha512-owoXEFjWRllis8/M1Q+Cw5k8ZH40e3zhp/ovX+Xr/vi1qj6QesbyXXViFbpNvWvPNAD62SutwEXavefrLJWj7w==", + "dev": true, + "requires": { + "randombytes": "^2.1.0" + } + }, + "shallow-clone": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", + "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", + "dev": true, + "requires": { + "kind-of": "^6.0.2" + } + }, + "shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "requires": { + "shebang-regex": "^3.0.0" + } + }, + "shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true + }, + "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 + }, + "source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "dev": true, + "requires": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "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, + "requires": { + "has-flag": "^4.0.0" + } + }, + "supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "dev": true + }, + "tapable": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", + "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", + "dev": true + }, + "terser": { + "version": "5.17.1", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.17.1.tgz", + "integrity": "sha512-hVl35zClmpisy6oaoKALOpS0rDYLxRFLHhRuDlEGTKey9qHjS1w9GMORjuwIMt70Wan4lwsLYyWDVnWgF+KUEw==", + "dev": true, + "requires": { + "@jridgewell/source-map": "^0.3.2", + "acorn": "^8.5.0", + "commander": "^2.20.0", + "source-map-support": "~0.5.20" + } + }, + "terser-webpack-plugin": { + "version": "5.3.7", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.7.tgz", + "integrity": "sha512-AfKwIktyP7Cu50xNjXF/6Qb5lBNzYaWpU6YfoX3uZicTx0zTy0stDDCsvjDapKsSDvOeWo5MEq4TmdBy2cNoHw==", + "dev": true, + "requires": { + "@jridgewell/trace-mapping": "^0.3.17", + "jest-worker": "^27.4.5", + "schema-utils": "^3.1.1", + "serialize-javascript": "^6.0.1", + "terser": "^5.16.5" + }, + "dependencies": { + "@jridgewell/resolve-uri": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", + "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", + "dev": true + }, + "@jridgewell/sourcemap-codec": { + "version": "1.4.14", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", + "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==", + "dev": true + }, + "@jridgewell/trace-mapping": { + "version": "0.3.18", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.18.tgz", + "integrity": "sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA==", + "dev": true, + "requires": { + "@jridgewell/resolve-uri": "3.1.0", + "@jridgewell/sourcemap-codec": "1.4.14" + } + } + } + }, + "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, + "requires": { + "is-number": "^7.0.0" + } + }, + "ts-loader": { + "version": "9.4.2", + "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-9.4.2.tgz", + "integrity": "sha512-OmlC4WVmFv5I0PpaxYb+qGeGOdm5giHU7HwDDUjw59emP2UYMHy9fFSDcYgSNoH8sXcj4hGCSEhlDZ9ULeDraA==", + "dev": true, + "requires": { + "chalk": "^4.1.0", + "enhanced-resolve": "^5.0.0", + "micromatch": "^4.0.0", + "semver": "^7.3.4" + } + }, + "ts-node": { + "version": "10.9.1", + "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.1.tgz", + "integrity": "sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==", + "dev": true, + "requires": { + "@cspotcode/source-map-support": "^0.8.0", + "@tsconfig/node10": "^1.0.7", + "@tsconfig/node12": "^1.0.7", + "@tsconfig/node14": "^1.0.0", + "@tsconfig/node16": "^1.0.2", + "acorn": "^8.4.1", + "acorn-walk": "^8.1.1", + "arg": "^4.1.0", + "create-require": "^1.1.0", + "diff": "^4.0.1", + "make-error": "^1.1.1", + "v8-compile-cache-lib": "^3.0.1", + "yn": "3.1.1" + } + }, + "typescript": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.0.4.tgz", + "integrity": "sha512-cW9T5W9xY37cc+jfEnaUvX91foxtHkza3Nw3wkoF4sSlKn0MONdkdEndig/qPBWXNkmplh3NzayQzCiHM4/hqw==", + "dev": true + }, + "update-browserslist-db": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.11.tgz", + "integrity": "sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA==", + "dev": true, + "requires": { + "escalade": "^3.1.1", + "picocolors": "^1.0.0" + } + }, + "uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "requires": { + "punycode": "^2.1.0" + } + }, + "v8-compile-cache-lib": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz", + "integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==", + "dev": true + }, + "watchpack": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz", + "integrity": "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==", + "dev": true, + "requires": { + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.1.2" + } + }, + "webpack": { + "version": "5.82.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.82.0.tgz", + "integrity": "sha512-iGNA2fHhnDcV1bONdUu554eZx+XeldsaeQ8T67H6KKHl2nUSwX8Zm7cmzOA46ox/X1ARxf7Bjv8wQ/HsB5fxBg==", + "dev": true, + "requires": { + "@types/eslint-scope": "^3.7.3", + "@types/estree": "^1.0.0", + "@webassemblyjs/ast": "^1.11.5", + "@webassemblyjs/wasm-edit": "^1.11.5", + "@webassemblyjs/wasm-parser": "^1.11.5", + "acorn": "^8.7.1", + "acorn-import-assertions": "^1.7.6", + "browserslist": "^4.14.5", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^5.13.0", + "es-module-lexer": "^1.2.1", + "eslint-scope": "5.1.1", + "events": "^3.2.0", + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.2.9", + "json-parse-even-better-errors": "^2.3.1", + "loader-runner": "^4.2.0", + "mime-types": "^2.1.27", + "neo-async": "^2.6.2", + "schema-utils": "^3.1.2", + "tapable": "^2.1.1", + "terser-webpack-plugin": "^5.3.7", + "watchpack": "^2.4.0", + "webpack-sources": "^3.2.3" + } + }, + "webpack-cli": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-5.0.2.tgz", + "integrity": "sha512-4y3W5Dawri5+8dXm3+diW6Mn1Ya+Dei6eEVAdIduAmYNLzv1koKVAqsfgrrc9P2mhrYHQphx5htnGkcNwtubyQ==", + "dev": true, + "requires": { + "@discoveryjs/json-ext": "^0.5.0", + "@webpack-cli/configtest": "^2.0.1", + "@webpack-cli/info": "^2.0.1", + "@webpack-cli/serve": "^2.0.2", + "colorette": "^2.0.14", + "commander": "^10.0.1", + "cross-spawn": "^7.0.3", + "envinfo": "^7.7.3", + "fastest-levenshtein": "^1.0.12", + "import-local": "^3.0.2", + "interpret": "^3.1.1", + "rechoir": "^0.8.0", + "webpack-merge": "^5.7.3" + }, + "dependencies": { + "commander": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz", + "integrity": "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==", + "dev": true + } + } + }, + "webpack-merge": { + "version": "5.8.0", + "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.8.0.tgz", + "integrity": "sha512-/SaI7xY0831XwP6kzuwhKWVKDP9t1QY1h65lAFLbZqMPIuYcD9QAW4u9STIbU9kaJbPBB/geU/gLr1wDjOhQ+Q==", + "dev": true, + "requires": { + "clone-deep": "^4.0.1", + "wildcard": "^2.0.0" + } + }, + "webpack-sources": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", + "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==", + "dev": true + }, + "which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + }, + "wildcard": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.1.tgz", + "integrity": "sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ==", + "dev": true + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "yn": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", + "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", + "dev": true + } + } +} diff --git a/bindings/package.json b/bindings/package.json new file mode 100644 index 0000000..6ad7a2d --- /dev/null +++ b/bindings/package.json @@ -0,0 +1,20 @@ +{ + "name": "bindings", + "version": "1.0.0", + "description": "", + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1", + "build": "webpack --config webpack.config.js", + "watch": "webpack --watch --config webpack.config.js --mode development" + }, + "keywords": [], + "author": "", + "license": "ISC", + "devDependencies": { + "ts-loader": "^9.4.2", + "ts-node": "^10.9.1", + "typescript": "^5.0.4", + "webpack": "^5.82.0", + "webpack-cli": "^5.0.2" + } +} diff --git a/bindings/src/api.ts b/bindings/src/api.ts new file mode 100644 index 0000000..e92be0b --- /dev/null +++ b/bindings/src/api.ts @@ -0,0 +1,39 @@ +import { RayLibApi, RayLibFunction, RayLibStruct } from "./interfaces" + +export class ApiFunction{ + constructor(private api: RayLibFunction){ + api.params = api.params || [] + } + + get name() { return this.api.name } + get argc() { return this.api.params?.length || 0 } + get params() { return this.api.params || [] } + get returnType() { return this.api.returnType } +} + +export class ApiStruct{ + constructor(private api: RayLibStruct){ + + } + + get name() { return this.api.name } + get fields() { return this.api.fields || [] } +} + +export class ApiDescription{ + constructor(private api: RayLibApi){ + + } + + getFunction(name: string){ + const f = this.api.functions.find(x => x.name === name) + if(!f) return null + return new ApiFunction(f) + } + + getStruct(name: string){ + const s = this.api.structs.find(x => x.name === name) + if(!s) return null + return new ApiStruct(s) + } +} \ No newline at end of file diff --git a/bindings/src/function.ts b/bindings/src/function.ts new file mode 100644 index 0000000..81dbda9 --- /dev/null +++ b/bindings/src/function.ts @@ -0,0 +1,69 @@ +import { ApiFunction } from "./api" +import { FunctionGenerator } from "./generation" +import { RayLibParamDescription } from "./interfaces" + +export class RayLibFunctionGenerator extends FunctionGenerator { + constructor(public readonly jsName: string, public readonly func: ApiFunction){ + super("js_"+jsName, "JSValue", [ + {type: "JSContext *", name: "ctx"}, + {type: "JSValueConst", name: "this_val"}, + {type: "int", name: "argc"}, + {type: "JSValueConst *", name: "argv"}, + ], true) + this.readParameters() + this.callFunction() + this.cleanUp() + this.returnValue() + } + + readParameters() { + for (let i = 0; i < this.func.params.length; i++) { + const para = this.func.params[i] + this.readParameter(para,i) + } + } + + callFunction() { + this.body.call(this.func.name, this.func.params.map(x => x.name), this.func.returnType === "void" ? null : {type: this.func.returnType, name: "returnVal"}) + } + + cleanUp() { + for (const param of this.func.params) { + this.cleanUpParameter(param) + } + } + + returnValue() { + if(this.func.returnType === "void"){ + this.body.statement("return JS_UNDEFINED") + } else { + this.body.statement("return retVal") + } + } + + private readParameter(para: RayLibParamDescription, index: number){ + this.body.inline(`${para.type} ${para.name}`) + switch (para.type) { + case "const char *": + this.body.statement(` = JS_ToCString(ctx, argv[${index}])`) + this.body.statement(`if(${para.name} == NULL) return JS_EXCEPTION`) + break; + case "int": + this.body.statement('') + this.body.statement(`JS_ToInt32(ctx, &${para.name}, argv[${index}])`) + break; + default: + throw new Error("Cannot handle parameter type: " + para.type) + } + } + + private cleanUpParameter(param: RayLibParamDescription) { + switch (param.type) { + case "const char *": + this.body.statement(`JS_FreeCString(ctx, ${param.name})`) + break; + default: + break; + } + } +} \ No newline at end of file diff --git a/bindings/src/functionList.ts b/bindings/src/functionList.ts new file mode 100644 index 0000000..0abb3c5 --- /dev/null +++ b/bindings/src/functionList.ts @@ -0,0 +1,24 @@ +import { CodeGenerator } from "./generation" + +export class RayLibFunctionListGenerator extends CodeGenerator { + + + private entries = new CodeGenerator() + + constructor(public readonly name: string){ + super() + this.line("static const JSCFunctionListEntry "+ name + "[] = {") + this.indent() + this.child(this.entries) + this.unindent() + this.statement("}") + } + + addFunction(jsName: string, numArgs: number, cName: string){ + this.entries.line(`JS_CFUNC_DEF("${jsName}",${numArgs},${cName}),`) + } + + addPropertyString(key: string, value: string) { + this.entries.line(`JS_PROP_STRING_DEF("${key}","${value}", JS_PROP_CONFIGURABLE),`) + } +} \ No newline at end of file diff --git a/bindings/src/generation.ts b/bindings/src/generation.ts new file mode 100644 index 0000000..176af61 --- /dev/null +++ b/bindings/src/generation.ts @@ -0,0 +1,193 @@ +export class StringWriter { + private buffer = '' + + write(value: string): void { + this.buffer += value; + } + + writeLine(value: string = ''): void { + this.buffer += value + '\n'; + } + + toString(): string { + return this.buffer; + } +} + +export class CodeWriter extends StringWriter { + private indent = 0 + private needsIndent = true + + writeGenerator(generator: CodeGenerator){ + const tokens = generator.iterateTokens() + const text = generator.iterateText() + const children = generator.iterateChildren() + let result = tokens.next(); + while (!result.done) { + switch (result.value) { + case Token.STRING: + const str = text.next().value + if(this.needsIndent){ + this.write(" ".repeat(this.indent)) + this.needsIndent = false + } + this.write(str) + break + case Token.GOSUB: + const sub = children.next().value + this.writeGenerator(sub) + break + case Token.INDENT: + this.indent++ + break + case Token.UNINDENT: + this.indent = this.indent > 0 ? this.indent-1 : 0 + break + case Token.NEWLINE: + this.write("\n") + this.needsIndent = true + break + default: + break + } + result = tokens.next() + } + } +} + +enum Token { + STRING = 0, + NEWLINE = 1, + INDENT = 2, + UNINDENT = 3, + GOSUB = 4 +} + +export class CodeGenerator { + private children: CodeGenerator[] = [] + private text: string[] = [] + private tokens: Token[] = [] + + iterateTokens(){ + return this.tokens[Symbol.iterator]() + } + + iterateText(){ + return this.text[Symbol.iterator]() + } + + iterateChildren(){ + return this.children[Symbol.iterator]() + } + + line(text: string){ + this.tokens.push(Token.STRING, Token.NEWLINE) + this.text.push(text) + } + + comment(text: string){ + this.line("// " + text) + } + + call(name: string, params: string[], returnVal: FunctionArgument | null = null){ + if(returnVal) this.inline(`${returnVal.type} ${returnVal.name} = `) + this.inline(name + "(") + this.inline(params.join(", ")) + this.statement(")") + } + + declare(name: string, type: string, isStatic = false, initValue: string | null = null){ + if(isStatic) this.inline("static ") + this.inline(type + " " + name) + if(initValue) this.inline(" = " + initValue) + this.statement("") + } + + child(sub: CodeGenerator){ + this.tokens.push(Token.GOSUB) + this.children.push(sub) + } + + childFunc(sub: CodeGenerator, func: (gen: CodeGenerator) => void){ + this.child(sub) + func(sub) + } + + childFuncBody(sub: FunctionGenerator | ConditionGenerator, func: (gen: CodeGenerator) => void): void { + this.child(sub) + func(sub.body) + } + + inline(str: string){ + this.tokens.push(Token.STRING) + this.text.push(str) + } + + statement(str: string){ + this.line(str+";") + } + + breakLine(){ + this.tokens.push(Token.NEWLINE) + } + + public indent(){ + this.tokens.push(Token.INDENT) + } + + public unindent(){ + this.tokens.push(Token.UNINDENT) + } +} + +export class ConditionGenerator extends CodeGenerator { + body = new CodeGenerator() + + constructor(condition: string){ + super() + this.line("if("+condition+") {") + this.indent() + this.child(this.body) + this.unindent() + this.line("}") + } +} + +export class HeaderGenerator extends CodeGenerator { + guardStart(name: string){ + this.line("#ifndef " + name) + this.line("#define " + name) + } + guardEnd(name: string){ + this.line("#endif // " + name) + } + include(name: string){ + this.line("#include <" + name + ">") + } +} + +export interface FunctionArgument { + type: string, + name: string +} + +export class CustomFunctionGenerator extends CodeGenerator { + constructor(public readonly name: string, returnType: string, args: FunctionArgument[], public readonly body: T, isStatic = false){ + super() + if(isStatic) this.inline("static ") + this.inline(returnType + " " + name + "(") + this.inline(args.map(x => x.type + " " + x.name).join(", ")) + this.inline(") {") + this.breakLine() + this.indent() + this.child(body) + this.unindent() + this.line("}") + } +} + +export class FunctionGenerator extends CustomFunctionGenerator { + constructor(name: string, returnType: string, args: FunctionArgument[], isStatic = false, body: CodeGenerator = new CodeGenerator()){ + super(name, returnType, args, body, isStatic) + } +} \ No newline at end of file diff --git a/bindings/src/header.ts b/bindings/src/header.ts new file mode 100644 index 0000000..154b6ad --- /dev/null +++ b/bindings/src/header.ts @@ -0,0 +1,102 @@ +import { ApiDescription, ApiFunction, ApiStruct } from "./api" +import { RayLibFunctionGenerator } from "./function" +import { RayLibFunctionListGenerator } from "./functionList" +import { CodeGenerator, FunctionGenerator, HeaderGenerator } from "./generation" +import { RayLibStructGenerator, StructBindingOptions } from "./struct" + +export class RayLibHeaderGenerator extends HeaderGenerator { + + public readonly moduleFunctionList: RayLibFunctionListGenerator + public readonly moduleInit = new CodeGenerator() + public readonly moduleEntry = new CodeGenerator() + public readonly declarations = new CodeGenerator() + public readonly body = new CodeGenerator() + + constructor(public readonly name: string, private api: ApiDescription){ + super() + this.moduleFunctionList = new RayLibFunctionListGenerator("js_"+name+"_funcs") + this.init() + } + + addApiFunction(func: ApiFunction, jsName: string | null = null){ + const jName = jsName || func.name.charAt(0).toLowerCase() + func.name.slice(1) + const gen = new RayLibFunctionGenerator(jName, func) + this.body.child(gen) + this.body.breakLine() + this.moduleFunctionList.addFunction(jName, func.argc, gen.name) + } + + addApiFunctionByName(name: string, jsName: string | null = null){ + const func = this.api.getFunction(name) + if(func === null) throw new Error("Function not in API: " + name) + this.addApiFunction(func, jsName) + } + + addApiStruct(struct: ApiStruct, destructor: ApiFunction | null, options?: StructBindingOptions){ + const classIdName = `js_${struct.name}_class_id` + this.declarations.declare(classIdName, "JSClassID", true) + + const gen = new RayLibStructGenerator(classIdName, struct, destructor, options) + this.body.child(gen) + + this.moduleInit.call(gen.classDeclarationName, ["ctx", "m"]) + // OPT: 7. expose class and constructor + } + + addApiStructByName(structName: string, destructorName: string | null = null, options?: StructBindingOptions){ + const struct = this.api.getStruct(structName) + if(!struct) throw new Error("Struct not in API: "+ structName) + let destructor: ApiFunction | null = null + if(destructorName !== null){ + destructor = this.api.getFunction(destructorName) + if(!destructor) throw new Error("Destructor func not in API: "+ destructorName) + } + this.addApiStruct(struct, destructor, options) + } + + private init(){ + const guardName = "JS_"+this.name+"_GUARD"; + this.guardStart(guardName) + this.breakLine() + this.include("stdio.h") + this.include("stdlib.h") + this.include("string.h") + this.breakLine() + this.include("quickjs.h") + this.include("raylib.h") + this.breakLine() + this.line("#ifndef countof") + this.line("#define countof(x) (sizeof(x) / sizeof((x)[0]))") + this.line("#endif") + this.breakLine() + this.child(this.declarations) + this.breakLine() + this.child(this.body) + this.child(this.moduleFunctionList) + this.breakLine() + + const moduleInitFunc = new FunctionGenerator("js_"+this.name+"_init", "int", [ + {type: "JSContext *", name: "ctx"}, + {type: "JSModuleDef *", name: "m"}]) + moduleInitFunc.body.statement(`JS_SetModuleExportList(ctx, m,${this.moduleFunctionList.name},countof(${this.moduleFunctionList.name}))`) + moduleInitFunc.body.child(this.moduleInit) + moduleInitFunc.body.statement("return 0") + this.child(moduleInitFunc) + this.breakLine() + + const moduleEntryFunc = new FunctionGenerator("js_init_module_"+this.name, "JSModuleDef *", [ + {type: "JSContext *", name: "ctx"}, + {type: "const char *", name: "module_name"} + ]) + moduleEntryFunc.body.statement("JSModuleDef *m") + moduleEntryFunc.body.statement(`m = JS_NewCModule(ctx, module_name, ${moduleInitFunc.name})`) + moduleEntryFunc.body.statement("if(!m) return NULL") + moduleEntryFunc.body.statement(`JS_AddModuleExportList(ctx, m, ${this.moduleFunctionList.name}, countof(${this.moduleFunctionList.name}))`) + moduleEntryFunc.body.child(this.moduleEntry) + moduleEntryFunc.body.statement("return m") + this.child(moduleEntryFunc) + this.breakLine() + + this.guardEnd(guardName) + } +} \ No newline at end of file diff --git a/bindings/src/index.ts b/bindings/src/index.ts new file mode 100644 index 0000000..dcc2d3b --- /dev/null +++ b/bindings/src/index.ts @@ -0,0 +1,31 @@ +import { readFileSync, writeFileSync } from "fs"; +import { Bindings, RayLibApi } from "./interfaces"; +import { CodeWriter, HeaderGenerator } from "./generation"; +import { ApiDescription } from "./api"; +import { RayLibHeaderGenerator } from "./header"; + +const bindings = JSON.parse(readFileSync("bindings.json", 'utf8')) + +function writeHeader(header: HeaderGenerator, filename: string){ + const writer = new CodeWriter() + writer.writeGenerator(header) + writeFileSync(filename, writer.toString()) +} + +function main(){ + const api = JSON.parse(readFileSync("thirdparty/raylib/parser/output/raylib_api.json", 'utf8')) + const apiDesc = new ApiDescription(api) + + const core_gen = new RayLibHeaderGenerator("raylib_core", apiDesc) + core_gen.addApiFunctionByName("SetWindowTitle") + core_gen.addApiFunctionByName("SetWindowPosition") + core_gen.addApiFunctionByName("BeginDrawing") + core_gen.addApiFunctionByName("EndDrawing") + writeHeader(core_gen, "src/bindings/js_raylib_core.h") + + const texture_gen = new RayLibHeaderGenerator("raylib_texture", apiDesc) + texture_gen.addApiStructByName("Image", "UnloadImage") + writeHeader(texture_gen, "src/bindings/js_raylib_texture.h") +} + +main() diff --git a/bindings/src/interfaces.ts b/bindings/src/interfaces.ts new file mode 100644 index 0000000..8060a68 --- /dev/null +++ b/bindings/src/interfaces.ts @@ -0,0 +1,64 @@ +export type RayLibType = "void" | "const char *" | "bool" | "float" | "unsigned char" | "void *" | "int" | "usigned int" | "Texture" | "Rectangle" | "Image" | "Rectangle *" | "GylphInfo *" | "Texture2D" | "Vector3" | "Vector2" | "float *" | "unsigned char *" | "unsigned short *" | "unsigned int *" | "Shader" | "MaterialMap *" | "float[4]" | "Vector3" + +export interface RayLibDefine { + name: string, + type: "GUARD" | "INT" | "STRING" | "MACRO" | "UNKNOWN" | "FLOAT" | "FLOAT_MATH" | "COLOR", + value: string, + description: string +} + +export interface RayLibFieldDescription { + type: RayLibType, + name: string, + description: string +} + +export interface RayLibStruct { + name: string, + description: string, + fields: RayLibFieldDescription[] +} + +export interface RayLibEnumValue { + name: string, + value: number, + description: string +} + +export interface RayLibEnum { + name: string, + description: string, + values: RayLibEnumValue[] +} + +export interface RayLibParamDescription { + type: RayLibType, + name: string +} + +export interface RayLibFunction { + name: string, + description: string, + returnType: RayLibType, + params?: RayLibParamDescription[] +} + +export interface RayLibApi { + defines: RayLibDefine[], + structs: RayLibStruct[], + enums: RayLibEnum[], + functions: RayLibFunction[] +} + +export interface BindingFunction { + name: string +} + +export interface BindingHeader { + name: string, + functions: BindingFunction[], +} + +export interface Bindings { + headers: BindingHeader +} \ No newline at end of file diff --git a/bindings/src/struct.ts b/bindings/src/struct.ts new file mode 100644 index 0000000..50be1c9 --- /dev/null +++ b/bindings/src/struct.ts @@ -0,0 +1,63 @@ +import { ApiStruct, ApiFunction } from "./api"; +import { RayLibFunctionListGenerator } from "./functionList"; +import { CodeGenerator, ConditionGenerator, FunctionGenerator } from "./generation"; + +export interface StructBindingOptions { + getters?: string[] + setters?: string[] +} + +export class RayLibStructGenerator extends CodeGenerator { + + private readonly options: StructBindingOptions; + private readonly funcList: RayLibFunctionListGenerator + public finalizerName = "" + public classDeclarationName = "" + + constructor(public readonly classId: string, private struct: ApiStruct, private destructor: ApiFunction | null, options?: StructBindingOptions){ + super() + this.options = options || {} + this.funcList = new RayLibFunctionListGenerator(`js_${struct.name}_proto_funcs`) + + this.declareFinalizer() + this.breakLine() + this.declareGetterSetter() + this.funcList.addPropertyString("[Symbol.toStringTag]", "Image") + this.child(this.funcList) + this.breakLine() + this.buildClassDeclaration() + this.breakLine() + } + + private declareFinalizer(){ + this.finalizerName = `js_${this.struct.name}_finalizer` + this.childFuncBody(new FunctionGenerator(this.finalizerName, "void", [ + {type: "JSRuntime *", name: "rt"}, + {type: "JSValue", name: "val"}], true), body => { + body.statement(`${this.struct.name}* ptr = JS_GetOpaque(val, ${this.classId})`) + body.childFuncBody(new ConditionGenerator("ptr"), cond => { + cond.call("puts", ["\"Finalize "+this.struct.name+"\""]) + if(this.destructor) cond.call(this.destructor.name, ["*ptr"]) + cond.call("js_free_rt", ["rt","ptr"]) + }) + }) + } + + private declareGetterSetter(){ + // Add to funList + } + + private buildClassDeclaration(){ + this.classDeclarationName = "js_declare_" + this.struct.name + this.childFuncBody(new FunctionGenerator(this.classDeclarationName, "int", [{type: "JSContext *", name: "ctx"},{type: "JSModuleDef *", name: "m"}],true), body => { + body.call("JS_NewClassID", ["&"+this.classId]) + const classDefName = `js_${this.struct.name}_def` + body.declare(classDefName, "JSClassDef", false, `{ .class_name = "${this.struct.name}", .finalizer = ${this.finalizerName} }`) + body.call("JS_NewClass", ["JS_GetRuntime(ctx)",this.classId,"&"+classDefName]) + body.declare("proto", "JSValue", false, "JS_NewObject(ctx)") + body.call("JS_SetPropertyFunctionList", ["ctx", "proto", this.funcList.name, `countof(${this.funcList.name})`]) + body.call("JS_SetClassProto", ["ctx",this.classId,"proto"]) + body.statement("return 0") + }) + } +} \ No newline at end of file diff --git a/bindings/tsconfig.json b/bindings/tsconfig.json new file mode 100644 index 0000000..aebf25e --- /dev/null +++ b/bindings/tsconfig.json @@ -0,0 +1,11 @@ +{ + "compilerOptions": { + "target": "es2020", + "module": "commonjs", + "outDir": "dist", + "esModuleInterop": true, + "resolveJsonModule": true, + "strict": true + } + } + \ No newline at end of file diff --git a/bindings/webpack.config.js b/bindings/webpack.config.js new file mode 100644 index 0000000..76bf1f2 --- /dev/null +++ b/bindings/webpack.config.js @@ -0,0 +1,24 @@ +const path = require('path'); + +module.exports = { + entry: './src/index.ts', + devtool: false, + target: "node", + mode: 'production', + module: { + rules: [ + { + test: /\.tsx?$/, + use: 'ts-loader', + exclude: /node_modules/, + }, + ], + }, + resolve: { + extensions: ['.tsx', '.ts', '.js'], + }, + output: { + filename: 'generate-bindings.js', + path: path.resolve(__dirname, '..'), + }, +}; diff --git a/generate-bindings.js b/generate-bindings.js new file mode 100644 index 0000000..623084f --- /dev/null +++ b/generate-bindings.js @@ -0,0 +1,608 @@ +/******/ (() => { // webpackBootstrap +/******/ "use strict"; +/******/ var __webpack_modules__ = ({ + +/***/ "./src/api.ts": +/*!********************!*\ + !*** ./src/api.ts ***! + \********************/ +/***/ ((__unused_webpack_module, exports) => { + + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.ApiDescription = exports.ApiStruct = exports.ApiFunction = void 0; +class ApiFunction { + constructor(api) { + this.api = api; + api.params = api.params || []; + } + get name() { return this.api.name; } + get argc() { return this.api.params?.length || 0; } + get params() { return this.api.params || []; } + get returnType() { return this.api.returnType; } +} +exports.ApiFunction = ApiFunction; +class ApiStruct { + constructor(api) { + this.api = api; + } + get name() { return this.api.name; } + get fields() { return this.api.fields || []; } +} +exports.ApiStruct = ApiStruct; +class ApiDescription { + constructor(api) { + this.api = api; + } + getFunction(name) { + const f = this.api.functions.find(x => x.name === name); + if (!f) + return null; + return new ApiFunction(f); + } + getStruct(name) { + const s = this.api.structs.find(x => x.name === name); + if (!s) + return null; + return new ApiStruct(s); + } +} +exports.ApiDescription = ApiDescription; + + +/***/ }), + +/***/ "./src/function.ts": +/*!*************************!*\ + !*** ./src/function.ts ***! + \*************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.RayLibFunctionGenerator = void 0; +const generation_1 = __webpack_require__(/*! ./generation */ "./src/generation.ts"); +class RayLibFunctionGenerator extends generation_1.FunctionGenerator { + constructor(jsName, func) { + super("js_" + jsName, "JSValue", [ + { type: "JSContext *", name: "ctx" }, + { type: "JSValueConst", name: "this_val" }, + { type: "int", name: "argc" }, + { type: "JSValueConst *", name: "argv" }, + ], true); + this.jsName = jsName; + this.func = func; + this.readParameters(); + this.callFunction(); + this.cleanUp(); + this.returnValue(); + } + readParameters() { + for (let i = 0; i < this.func.params.length; i++) { + const para = this.func.params[i]; + this.readParameter(para, i); + } + } + callFunction() { + this.body.call(this.func.name, this.func.params.map(x => x.name), this.func.returnType === "void" ? null : { type: this.func.returnType, name: "returnVal" }); + } + cleanUp() { + for (const param of this.func.params) { + this.cleanUpParameter(param); + } + } + returnValue() { + if (this.func.returnType === "void") { + this.body.statement("return JS_UNDEFINED"); + } + else { + this.body.statement("return retVal"); + } + } + readParameter(para, index) { + this.body.inline(`${para.type} ${para.name}`); + switch (para.type) { + case "const char *": + this.body.statement(` = JS_ToCString(ctx, argv[${index}])`); + this.body.statement(`if(${para.name} == NULL) return JS_EXCEPTION`); + break; + case "int": + this.body.statement(''); + this.body.statement(`JS_ToInt32(ctx, &${para.name}, argv[${index}])`); + break; + default: + throw new Error("Cannot handle parameter type: " + para.type); + } + } + cleanUpParameter(param) { + switch (param.type) { + case "const char *": + this.body.statement(`JS_FreeCString(ctx, ${param.name})`); + break; + default: + break; + } + } +} +exports.RayLibFunctionGenerator = RayLibFunctionGenerator; + + +/***/ }), + +/***/ "./src/functionList.ts": +/*!*****************************!*\ + !*** ./src/functionList.ts ***! + \*****************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.RayLibFunctionListGenerator = void 0; +const generation_1 = __webpack_require__(/*! ./generation */ "./src/generation.ts"); +class RayLibFunctionListGenerator extends generation_1.CodeGenerator { + constructor(name) { + super(); + this.name = name; + this.entries = new generation_1.CodeGenerator(); + this.line("static const JSCFunctionListEntry " + name + "[] = {"); + this.indent(); + this.child(this.entries); + this.unindent(); + this.statement("}"); + } + addFunction(jsName, numArgs, cName) { + this.entries.line(`JS_CFUNC_DEF("${jsName}",${numArgs},${cName}),`); + } + addPropertyString(key, value) { + this.entries.line(`JS_PROP_STRING_DEF("${key}","${value}", JS_PROP_CONFIGURABLE),`); + } +} +exports.RayLibFunctionListGenerator = RayLibFunctionListGenerator; + + +/***/ }), + +/***/ "./src/generation.ts": +/*!***************************!*\ + !*** ./src/generation.ts ***! + \***************************/ +/***/ ((__unused_webpack_module, exports) => { + + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.FunctionGenerator = exports.CustomFunctionGenerator = exports.HeaderGenerator = exports.ConditionGenerator = exports.CodeGenerator = exports.CodeWriter = exports.StringWriter = void 0; +class StringWriter { + constructor() { + this.buffer = ''; + } + write(value) { + this.buffer += value; + } + writeLine(value = '') { + this.buffer += value + '\n'; + } + toString() { + return this.buffer; + } +} +exports.StringWriter = StringWriter; +class CodeWriter extends StringWriter { + constructor() { + super(...arguments); + this.indent = 0; + this.needsIndent = true; + } + writeGenerator(generator) { + const tokens = generator.iterateTokens(); + const text = generator.iterateText(); + const children = generator.iterateChildren(); + let result = tokens.next(); + while (!result.done) { + switch (result.value) { + case Token.STRING: + const str = text.next().value; + if (this.needsIndent) { + this.write(" ".repeat(this.indent)); + this.needsIndent = false; + } + this.write(str); + break; + case Token.GOSUB: + const sub = children.next().value; + this.writeGenerator(sub); + break; + case Token.INDENT: + this.indent++; + break; + case Token.UNINDENT: + this.indent = this.indent > 0 ? this.indent - 1 : 0; + break; + case Token.NEWLINE: + this.write("\n"); + this.needsIndent = true; + break; + default: + break; + } + result = tokens.next(); + } + } +} +exports.CodeWriter = CodeWriter; +var Token; +(function (Token) { + Token[Token["STRING"] = 0] = "STRING"; + Token[Token["NEWLINE"] = 1] = "NEWLINE"; + Token[Token["INDENT"] = 2] = "INDENT"; + Token[Token["UNINDENT"] = 3] = "UNINDENT"; + Token[Token["GOSUB"] = 4] = "GOSUB"; +})(Token || (Token = {})); +class CodeGenerator { + constructor() { + this.children = []; + this.text = []; + this.tokens = []; + } + iterateTokens() { + return this.tokens[Symbol.iterator](); + } + iterateText() { + return this.text[Symbol.iterator](); + } + iterateChildren() { + return this.children[Symbol.iterator](); + } + line(text) { + this.tokens.push(Token.STRING, Token.NEWLINE); + this.text.push(text); + } + comment(text) { + this.line("// " + text); + } + call(name, params, returnVal = null) { + if (returnVal) + this.inline(`${returnVal.type} ${returnVal.name} = `); + this.inline(name + "("); + this.inline(params.join(", ")); + this.statement(")"); + } + declare(name, type, isStatic = false, initValue = null) { + if (isStatic) + this.inline("static "); + this.inline(type + " " + name); + if (initValue) + this.inline(" = " + initValue); + this.statement(""); + } + child(sub) { + this.tokens.push(Token.GOSUB); + this.children.push(sub); + } + childFunc(sub, func) { + this.child(sub); + func(sub); + } + childFuncBody(sub, func) { + this.child(sub); + func(sub.body); + } + inline(str) { + this.tokens.push(Token.STRING); + this.text.push(str); + } + statement(str) { + this.line(str + ";"); + } + breakLine() { + this.tokens.push(Token.NEWLINE); + } + indent() { + this.tokens.push(Token.INDENT); + } + unindent() { + this.tokens.push(Token.UNINDENT); + } +} +exports.CodeGenerator = CodeGenerator; +class ConditionGenerator extends CodeGenerator { + constructor(condition) { + super(); + this.body = new CodeGenerator(); + this.line("if(" + condition + ") {"); + this.indent(); + this.child(this.body); + this.unindent(); + this.line("}"); + } +} +exports.ConditionGenerator = ConditionGenerator; +class HeaderGenerator extends CodeGenerator { + guardStart(name) { + this.line("#ifndef " + name); + this.line("#define " + name); + } + guardEnd(name) { + this.line("#endif // " + name); + } + include(name) { + this.line("#include <" + name + ">"); + } +} +exports.HeaderGenerator = HeaderGenerator; +class CustomFunctionGenerator extends CodeGenerator { + constructor(name, returnType, args, body, isStatic = false) { + super(); + this.name = name; + this.body = body; + if (isStatic) + this.inline("static "); + this.inline(returnType + " " + name + "("); + this.inline(args.map(x => x.type + " " + x.name).join(", ")); + this.inline(") {"); + this.breakLine(); + this.indent(); + this.child(body); + this.unindent(); + this.line("}"); + } +} +exports.CustomFunctionGenerator = CustomFunctionGenerator; +class FunctionGenerator extends CustomFunctionGenerator { + constructor(name, returnType, args, isStatic = false, body = new CodeGenerator()) { + super(name, returnType, args, body, isStatic); + } +} +exports.FunctionGenerator = FunctionGenerator; + + +/***/ }), + +/***/ "./src/header.ts": +/*!***********************!*\ + !*** ./src/header.ts ***! + \***********************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.RayLibHeaderGenerator = void 0; +const function_1 = __webpack_require__(/*! ./function */ "./src/function.ts"); +const functionList_1 = __webpack_require__(/*! ./functionList */ "./src/functionList.ts"); +const generation_1 = __webpack_require__(/*! ./generation */ "./src/generation.ts"); +const struct_1 = __webpack_require__(/*! ./struct */ "./src/struct.ts"); +class RayLibHeaderGenerator extends generation_1.HeaderGenerator { + constructor(name, api) { + super(); + this.name = name; + this.api = api; + this.moduleInit = new generation_1.CodeGenerator(); + this.moduleEntry = new generation_1.CodeGenerator(); + this.declarations = new generation_1.CodeGenerator(); + this.body = new generation_1.CodeGenerator(); + this.moduleFunctionList = new functionList_1.RayLibFunctionListGenerator("js_" + name + "_funcs"); + this.init(); + } + addApiFunction(func, jsName = null) { + const jName = jsName || func.name.charAt(0).toLowerCase() + func.name.slice(1); + const gen = new function_1.RayLibFunctionGenerator(jName, func); + this.body.child(gen); + this.body.breakLine(); + this.moduleFunctionList.addFunction(jName, func.argc, gen.name); + } + addApiFunctionByName(name, jsName = null) { + const func = this.api.getFunction(name); + if (func === null) + throw new Error("Function not in API: " + name); + this.addApiFunction(func, jsName); + } + addApiStruct(struct, destructor, options) { + const classIdName = `js_${struct.name}_class_id`; + this.declarations.declare(classIdName, "JSClassID", true); + const gen = new struct_1.RayLibStructGenerator(classIdName, struct, destructor, options); + this.body.child(gen); + this.moduleInit.call(gen.classDeclarationName, ["ctx", "m"]); + // OPT: 7. expose class and constructor + } + addApiStructByName(structName, destructorName = null, options) { + const struct = this.api.getStruct(structName); + if (!struct) + throw new Error("Struct not in API: " + structName); + let destructor = null; + if (destructorName !== null) { + destructor = this.api.getFunction(destructorName); + if (!destructor) + throw new Error("Destructor func not in API: " + destructorName); + } + this.addApiStruct(struct, destructor, options); + } + init() { + const guardName = "JS_" + this.name + "_GUARD"; + this.guardStart(guardName); + this.breakLine(); + this.include("stdio.h"); + this.include("stdlib.h"); + this.include("string.h"); + this.breakLine(); + this.include("quickjs.h"); + this.include("raylib.h"); + this.breakLine(); + this.line("#ifndef countof"); + this.line("#define countof(x) (sizeof(x) / sizeof((x)[0]))"); + this.line("#endif"); + this.breakLine(); + this.child(this.declarations); + this.breakLine(); + this.child(this.body); + this.child(this.moduleFunctionList); + this.breakLine(); + const moduleInitFunc = new generation_1.FunctionGenerator("js_" + this.name + "_init", "int", [ + { type: "JSContext *", name: "ctx" }, + { type: "JSModuleDef *", name: "m" } + ]); + moduleInitFunc.body.statement(`JS_SetModuleExportList(ctx, m,${this.moduleFunctionList.name},countof(${this.moduleFunctionList.name}))`); + moduleInitFunc.body.child(this.moduleInit); + moduleInitFunc.body.statement("return 0"); + this.child(moduleInitFunc); + this.breakLine(); + const moduleEntryFunc = new generation_1.FunctionGenerator("js_init_module_" + this.name, "JSModuleDef *", [ + { type: "JSContext *", name: "ctx" }, + { type: "const char *", name: "module_name" } + ]); + moduleEntryFunc.body.statement("JSModuleDef *m"); + moduleEntryFunc.body.statement(`m = JS_NewCModule(ctx, module_name, ${moduleInitFunc.name})`); + moduleEntryFunc.body.statement("if(!m) return NULL"); + moduleEntryFunc.body.statement(`JS_AddModuleExportList(ctx, m, ${this.moduleFunctionList.name}, countof(${this.moduleFunctionList.name}))`); + moduleEntryFunc.body.child(this.moduleEntry); + moduleEntryFunc.body.statement("return m"); + this.child(moduleEntryFunc); + this.breakLine(); + this.guardEnd(guardName); + } +} +exports.RayLibHeaderGenerator = RayLibHeaderGenerator; + + +/***/ }), + +/***/ "./src/struct.ts": +/*!***********************!*\ + !*** ./src/struct.ts ***! + \***********************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.RayLibStructGenerator = void 0; +const functionList_1 = __webpack_require__(/*! ./functionList */ "./src/functionList.ts"); +const generation_1 = __webpack_require__(/*! ./generation */ "./src/generation.ts"); +class RayLibStructGenerator extends generation_1.CodeGenerator { + constructor(classId, struct, destructor, options) { + super(); + this.classId = classId; + this.struct = struct; + this.destructor = destructor; + this.finalizerName = ""; + this.classDeclarationName = ""; + this.options = options || {}; + this.funcList = new functionList_1.RayLibFunctionListGenerator(`js_${struct.name}_proto_funcs`); + this.declareFinalizer(); + this.breakLine(); + this.declareGetterSetter(); + this.funcList.addPropertyString("[Symbol.toStringTag]", "Image"); + this.child(this.funcList); + this.breakLine(); + this.buildClassDeclaration(); + this.breakLine(); + } + declareFinalizer() { + this.finalizerName = `js_${this.struct.name}_finalizer`; + this.childFuncBody(new generation_1.FunctionGenerator(this.finalizerName, "void", [ + { type: "JSRuntime *", name: "rt" }, + { type: "JSValue", name: "val" } + ], true), body => { + body.statement(`${this.struct.name}* ptr = JS_GetOpaque(val, ${this.classId})`); + body.childFuncBody(new generation_1.ConditionGenerator("ptr"), cond => { + cond.call("puts", ["\"Finalize " + this.struct.name + "\""]); + if (this.destructor) + cond.call(this.destructor.name, ["*ptr"]); + cond.call("js_free_rt", ["rt", "ptr"]); + }); + }); + } + declareGetterSetter() { + // Add to funList + } + buildClassDeclaration() { + this.classDeclarationName = "js_declare_" + this.struct.name; + this.childFuncBody(new generation_1.FunctionGenerator(this.classDeclarationName, "int", [{ type: "JSContext *", name: "ctx" }, { type: "JSModuleDef *", name: "m" }], true), body => { + body.call("JS_NewClassID", ["&" + this.classId]); + const classDefName = `js_${this.struct.name}_def`; + body.declare(classDefName, "JSClassDef", false, `{ .class_name = "${this.struct.name}", .finalizer = ${this.finalizerName} }`); + body.call("JS_NewClass", ["JS_GetRuntime(ctx)", this.classId, "&" + classDefName]); + body.declare("proto", "JSValue", false, "JS_NewObject(ctx)"); + body.call("JS_SetPropertyFunctionList", ["ctx", "proto", this.funcList.name, `countof(${this.funcList.name})`]); + body.call("JS_SetClassProto", ["ctx", this.classId, "proto"]); + body.statement("return 0"); + }); + } +} +exports.RayLibStructGenerator = RayLibStructGenerator; + + +/***/ }), + +/***/ "fs": +/*!*********************!*\ + !*** external "fs" ***! + \*********************/ +/***/ ((module) => { + +module.exports = require("fs"); + +/***/ }) + +/******/ }); +/************************************************************************/ +/******/ // The module cache +/******/ var __webpack_module_cache__ = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ // Check if module is in cache +/******/ var cachedModule = __webpack_module_cache__[moduleId]; +/******/ if (cachedModule !== undefined) { +/******/ return cachedModule.exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = __webpack_module_cache__[moduleId] = { +/******/ // no module.id needed +/******/ // no module.loaded needed +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__); +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/************************************************************************/ +var __webpack_exports__ = {}; +// This entry need to be wrapped in an IIFE because it need to be isolated against other modules in the chunk. +(() => { +var exports = __webpack_exports__; +/*!**********************!*\ + !*** ./src/index.ts ***! + \**********************/ + +Object.defineProperty(exports, "__esModule", ({ value: true })); +const fs_1 = __webpack_require__(/*! fs */ "fs"); +const generation_1 = __webpack_require__(/*! ./generation */ "./src/generation.ts"); +const api_1 = __webpack_require__(/*! ./api */ "./src/api.ts"); +const header_1 = __webpack_require__(/*! ./header */ "./src/header.ts"); +const bindings = JSON.parse((0, fs_1.readFileSync)("bindings.json", 'utf8')); +function writeHeader(header, filename) { + const writer = new generation_1.CodeWriter(); + writer.writeGenerator(header); + (0, fs_1.writeFileSync)(filename, writer.toString()); +} +function main() { + const api = JSON.parse((0, fs_1.readFileSync)("thirdparty/raylib/parser/output/raylib_api.json", 'utf8')); + const apiDesc = new api_1.ApiDescription(api); + const core_gen = new header_1.RayLibHeaderGenerator("raylib_core", apiDesc); + core_gen.addApiFunctionByName("SetWindowTitle"); + core_gen.addApiFunctionByName("SetWindowPosition"); + core_gen.addApiFunctionByName("BeginDrawing"); + core_gen.addApiFunctionByName("EndDrawing"); + writeHeader(core_gen, "src/bindings/js_raylib_core.h"); + const texture_gen = new header_1.RayLibHeaderGenerator("raylib_texture", apiDesc); + texture_gen.addApiStructByName("Image", "UnloadImage"); + writeHeader(texture_gen, "src/bindings/js_raylib_texture.h"); +} +main(); + +})(); + +/******/ })() +; \ No newline at end of file diff --git a/main.js b/main.js index 17835fe..a4b5f8a 100644 --- a/main.js +++ b/main.js @@ -1,6 +1,15 @@ import { setWindowTitle, setWindowPosition } from "raylib.core" +import { loadImage, Image } from "raylib.texture" +import { gc } from "std" + +console.log(loadImage("assets/planet00.png")) + +const img = new Image("assets/planet00.png") + +gc() +console.log(img.width) setWindowTitle("My Window") -setWindowPosition(50,50) +setWindowPosition(1920,50) diff --git a/src/bindings/_js_raylib_texture.h b/src/bindings/_js_raylib_texture.h index 2679d8e..74d11ef 100644 --- a/src/bindings/_js_raylib_texture.h +++ b/src/bindings/_js_raylib_texture.h @@ -12,66 +12,48 @@ #define countof(x) (sizeof(x) / sizeof((x)[0])) #endif +// 1. class id static JSClassID js_image_class_id; -typedef struct { - Image *image; - JSContext *ctx; - JSValue this_obj; -} JSImage; +// 2. finalize static void js_image_finalizer(JSRuntime *rt, JSValue val) { - JSImage *js_image = JS_GetOpaque(val, js_image_class_id); - if (js_image) { - UnloadImage(*js_image->image); - js_free(js_image->ctx, js_image); + Image *image = JS_GetOpaque(val, js_image_class_id); + if (image) { + puts("Finalize image"); + UnloadImage(*image); + js_free_rt(rt, image); } } -static JSValue js_image_constructor(JSContext *ctx, JSValueConst new_target, int argc, JSValueConst *argv) { - const char *filename = JS_ToCString(ctx, argv[0]); - Image image = LoadImage(filename); - JS_FreeCString(ctx, filename); - JSImage *js_image = js_malloc(ctx, sizeof(JSImage)); - js_image->ctx = ctx; - js_image->image = js_malloc(ctx, sizeof(Image)); - *js_image->image = image; - js_image->this_obj = JS_UNDEFINED; - JSValue obj = JS_NewObjectClass(ctx, js_image_class_id); - js_image->this_obj = obj; - JS_SetOpaque(obj, js_image); - return obj; -} - +// 3. getter/setter static JSValue js_image_get_width(JSContext *ctx, JSValueConst this_val) { - JSImage *js_image = JS_GetOpaque2(ctx, this_val, js_image_class_id); - if (!js_image) { + Image *image = JS_GetOpaque2(ctx, this_val, js_image_class_id); + if (!image) { return JS_EXCEPTION; } - int width = js_image->image->width; + int width = image->width; return JS_NewInt32(ctx, width); } static JSValue js_image_get_height(JSContext *ctx, JSValueConst this_val) { - JSImage *js_image = JS_GetOpaque2(ctx, this_val, js_image_class_id); - if (!js_image) { + Image *image = JS_GetOpaque2(ctx, this_val, js_image_class_id); + if (!image) { return JS_EXCEPTION; } - int height = js_image->image->height; + int height = image->height; return JS_NewInt32(ctx, height); } +// 4. class members static const JSCFunctionListEntry js_image_proto_funcs[] = { JS_CGETSET_DEF("width", js_image_get_width, NULL), JS_CGETSET_DEF("height", js_image_get_height, NULL), JS_PROP_STRING_DEF("[Symbol.toStringTag]", "Image", JS_PROP_CONFIGURABLE), }; -static const JSCFunctionListEntry js_raylib_texture_funcs[] = { - JS_CFUNC_DEF("open", 2, js_std_open ) -}; - -static int js_raylib_texture_init(JSContext *ctx, JSModuleDef *m) { +// 5. class declaration +static int js_declare_image(JSContext *ctx, JSModuleDef *m){ // Define image struct JS_NewClassID(&js_image_class_id); JSClassDef js_image_class_def = { @@ -82,9 +64,36 @@ static int js_raylib_texture_init(JSContext *ctx, JSModuleDef *m) { JSValue proto = JS_NewObject(ctx); JS_SetPropertyFunctionList(ctx, proto, js_image_proto_funcs, countof(js_image_proto_funcs)); JS_SetClassProto(ctx, js_image_class_id, proto); + return 0; +} +static JSValue js_LoadImage(JSContext *ctx, JSValueConst new_target, int argc, JSValueConst *argv) { + const char *filename = JS_ToCString(ctx, argv[0]); + + Image _struct = LoadImage(filename); + Image* ptr = (Image*)js_malloc(ctx, sizeof(Image)); + *ptr = _struct; + JSValue obj = JS_NewObjectClass(ctx, js_image_class_id); + JS_SetOpaque(obj, ptr); + + JS_FreeCString(ctx, filename); + return obj; +} + +static const JSCFunctionListEntry js_raylib_texture_funcs[] = { + JS_CFUNC_DEF("loadImage", 1, js_LoadImage) +}; + +static int js_raylib_texture_init(JSContext *ctx, JSModuleDef *m) { + // 6. call declaration + js_declare_image(ctx, m); + JS_SetModuleExportList(ctx, m, js_raylib_texture_funcs, countof(js_raylib_texture_funcs)); + // Implement constructor + JSValue constr = JS_NewCFunction2(ctx, js_LoadImage, "Image", 4, JS_CFUNC_constructor_or_func, 0); + JS_SetModuleExport(ctx, m, "Image", constr); + // TODO export module constants //JS_SetModuleExport(ctx, m, "in", js_new_std_file(ctx, stdin, FALSE, FALSE)); @@ -101,7 +110,7 @@ JSModuleDef *js_init_module_raylib_texture(JSContext *ctx, const char *module_na JS_AddModuleExportList(ctx, m, js_raylib_texture_funcs,countof(js_raylib_texture_funcs)); //TODO export module contants - //JS_AddModuleExport(ctx, m, "in"); + JS_AddModuleExport(ctx, m, "Image"); return m; } diff --git a/src/bindings/js_raylib_core.h b/src/bindings/js_raylib_core.h index 070fde5..81ddbb6 100644 --- a/src/bindings/js_raylib_core.h +++ b/src/bindings/js_raylib_core.h @@ -1,75 +1,63 @@ - -#ifndef JS_raylib_core -#define JS_raylib_core +#ifndef JS_raylib_core_GUARD +#define JS_raylib_core_GUARD #include #include #include #include +#include #ifndef countof #define countof(x) (sizeof(x) / sizeof((x)[0])) #endif -static JSValue js_setWindowTitle(JSContext *ctx, JSValueConst this_val, int argc, JSValueConst *argv){ - if(!JS_IsString(argv[0])) return JS_ThrowReferenceError(ctx, "SetWindowTitle argument title (0) needs to be a string"); - const char * title = JS_ToCString(ctx, argv[0]); - SetWindowTitle(title); - JS_FreeCString(ctx, title); + +static JSValue js_setWindowTitle(JSContext * ctx, JSValueConst this_val, int argc, JSValueConst * argv) { + const char * title = JS_ToCString(ctx, argv[0]); + if(title == NULL) return JS_EXCEPTION; + SetWindowTitle(title); + JS_FreeCString(ctx, title); return JS_UNDEFINED; } -static JSValue js_setWindowPosition(JSContext *ctx, JSValueConst this_val, int argc, JSValueConst *argv){ - if(!JS_IsNumber(argv[0])) return JS_ThrowReferenceError(ctx, "SetWindowPosition argument x (0) needs to be a number"); - if(!JS_IsNumber(argv[1])) return JS_ThrowReferenceError(ctx, "SetWindowPosition argument y (1) needs to be a number"); - int x; JS_ToInt32(ctx, &x, argv[0]); - int y; JS_ToInt32(ctx, &y, argv[1]); - SetWindowPosition(x, y); - +static JSValue js_setWindowPosition(JSContext * ctx, JSValueConst this_val, int argc, JSValueConst * argv) { + int x; + JS_ToInt32(ctx, &x, argv[0]); + int y; + JS_ToInt32(ctx, &y, argv[1]); + SetWindowPosition(x, y); return JS_UNDEFINED; } -static JSValue js_beginDrawing(JSContext *ctx, JSValueConst this_val, int argc, JSValueConst *argv){ - - - BeginDrawing(); - +static JSValue js_beginDrawing(JSContext * ctx, JSValueConst this_val, int argc, JSValueConst * argv) { + BeginDrawing(); return JS_UNDEFINED; } -static JSValue js_endDrawing(JSContext *ctx, JSValueConst this_val, int argc, JSValueConst *argv){ - - - EndDrawing(); - +static JSValue js_endDrawing(JSContext * ctx, JSValueConst this_val, int argc, JSValueConst * argv) { + EndDrawing(); return JS_UNDEFINED; } static const JSCFunctionListEntry js_raylib_core_funcs[] = { - JS_CFUNC_DEF("setWindowTitle", 1, js_setWindowTitle), - JS_CFUNC_DEF("setWindowPosition", 2, js_setWindowPosition), - JS_CFUNC_DEF("beginDrawing", 0, js_beginDrawing), - JS_CFUNC_DEF("endDrawing", 0, js_endDrawing) + JS_CFUNC_DEF("setWindowTitle",1,js_setWindowTitle), + JS_CFUNC_DEF("setWindowPosition",2,js_setWindowPosition), + JS_CFUNC_DEF("beginDrawing",0,js_beginDrawing), + JS_CFUNC_DEF("endDrawing",0,js_endDrawing), }; -static int js_raylib_core_init(JSContext *ctx, JSModuleDef *m){ - JS_SetModuleExportList(ctx, m, js_raylib_core_funcs, - countof(js_raylib_core_funcs)); +int js_raylib_core_init(JSContext * ctx, JSModuleDef * m) { + JS_SetModuleExportList(ctx, m,js_raylib_core_funcs,countof(js_raylib_core_funcs)); + return 0; } -JSModuleDef *js_init_module_raylib_core(JSContext *ctx, const char *module_name) -{ +JSModuleDef * js_init_module_raylib_core(JSContext * ctx, const char * module_name) { JSModuleDef *m; m = JS_NewCModule(ctx, module_name, js_raylib_core_init); - if (!m) - return NULL; - - JS_AddModuleExportList(ctx, m, js_raylib_core_funcs, - countof(js_raylib_core_funcs)); - + if(!m) return NULL; + JS_AddModuleExportList(ctx, m, js_raylib_core_funcs, countof(js_raylib_core_funcs)); return m; } -#endif - \ No newline at end of file +#endif // JS_raylib_core_GUARD diff --git a/src/bindings/js_raylib_texture.h b/src/bindings/js_raylib_texture.h new file mode 100644 index 0000000..c2ba750 --- /dev/null +++ b/src/bindings/js_raylib_texture.h @@ -0,0 +1,57 @@ +#ifndef JS_raylib_texture_GUARD +#define JS_raylib_texture_GUARD + +#include +#include +#include + +#include +#include + +#ifndef countof +#define countof(x) (sizeof(x) / sizeof((x)[0])) +#endif + +static JSClassID js_Image_class_id; + +static void js_Image_finalizer(JSRuntime * rt, JSValue val) { + Image* ptr = JS_GetOpaque(val, js_Image_class_id); + if(ptr) { + puts("Finalize Image"); + UnloadImage(*ptr); + js_free_rt(rt, ptr); + } +} + +static const JSCFunctionListEntry js_Image_proto_funcs[] = { + JS_PROP_STRING_DEF("[Symbol.toStringTag]","Image", JS_PROP_CONFIGURABLE), +}; + +static int js_declare_Image(JSContext * ctx, JSModuleDef * m) { + JS_NewClassID(&js_Image_class_id); + JSClassDef js_Image_def = { .class_name = "Image", .finalizer = js_Image_finalizer }; + JS_NewClass(JS_GetRuntime(ctx), js_Image_class_id, &js_Image_def); + JSValue proto = JS_NewObject(ctx); + JS_SetPropertyFunctionList(ctx, proto, js_Image_proto_funcs, countof(js_Image_proto_funcs)); + JS_SetClassProto(ctx, js_Image_class_id, proto); + return 0; +} + +static const JSCFunctionListEntry js_raylib_texture_funcs[] = { +}; + +int js_raylib_texture_init(JSContext * ctx, JSModuleDef * m) { + JS_SetModuleExportList(ctx, m,js_raylib_texture_funcs,countof(js_raylib_texture_funcs)); + js_declare_Image(ctx, m); + return 0; +} + +JSModuleDef * js_init_module_raylib_texture(JSContext * ctx, const char * module_name) { + JSModuleDef *m; + m = JS_NewCModule(ctx, module_name, js_raylib_texture_init); + if(!m) return NULL; + JS_AddModuleExportList(ctx, m, js_raylib_texture_funcs, countof(js_raylib_texture_funcs)); + return m; +} + +#endif // JS_raylib_texture_GUARD diff --git a/src/quickjs.c b/src/quickjs.c index 95fb7b5..f2e7885 100644 --- a/src/quickjs.c +++ b/src/quickjs.c @@ -5,7 +5,7 @@ #include "common.h" #include "bindings/js_raylib_core.h" -#include "bindings/_js_raylib_texture.h" +#include "bindings/js_raylib_texture.h" static JSContext *JS_NewCustomContext(JSRuntime *rt); static int eval_buf(JSContext *ctx, const void *buf, int buf_len, @@ -90,6 +90,7 @@ static JSContext *JS_NewCustomContext(JSRuntime *rt) js_init_module_std(ctx, "std"); //js_init_module_os(ctx, "os"); js_init_module_raylib_core(ctx, "raylib.core"); + js_init_module_raylib_texture(ctx, "raylib.texture"); return ctx; } diff --git a/thirdparty/raylib b/thirdparty/raylib index a48bb6e..5573f0f 160000 --- a/thirdparty/raylib +++ b/thirdparty/raylib @@ -1 +1 @@ -Subproject commit a48bb6e1ed7b33190e486ba65b7875f0dff73701 +Subproject commit 5573f0f1c7b29bfe46d0b70487e4adb4d01cba62