From 21f85c4741507a640e159f00c8d042528bc979a5 Mon Sep 17 00:00:00 2001 From: Aaron Turner Date: Tue, 9 Feb 2021 11:34:57 -0800 Subject: [PATCH 1/5] Fixed tsConfig --- lib/assembly/tsconfig.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/assembly/tsconfig.json b/lib/assembly/tsconfig.json index 9306cfa..798b474 100644 --- a/lib/assembly/tsconfig.json +++ b/lib/assembly/tsconfig.json @@ -1,4 +1,4 @@ { - "extends": "../../../.nvm/versions/node/v12.2.0/lib/node_modules/assemblyscript/std/assembly.json", + "extends": "assemblyscript/std/assembly.json", "include": ["./**/*.ts"] } From 3e1853e075b1ca2c25c97c9d84fc03cfae2493d7 Mon Sep 17 00:00:00 2001 From: Aaron Turner Date: Tue, 9 Feb 2021 12:25:35 -0800 Subject: [PATCH 2/5] Upgraded AssemblyScript to 0.18.x --- README.md | 8 +- lib/asbind-instance/asbind-instance.js | 16 +- lib/asbind-instance/bind-function.js | 4 +- lib/asbind-instance/reserved-export-keys.js | 8 +- lib/asbind-instance/supported-ref-types.js | 18 +- lib/asbind-instance/validate.js | 2 +- package-lock.json | 830 +++++++++----------- package.json | 22 +- test/assembly/test-no-entry.wasm | Bin 18542 -> 26231 bytes test/assembly/test.wasm | Bin 19458 -> 27148 bytes test/test.js | 15 +- 11 files changed, 448 insertions(+), 475 deletions(-) diff --git a/README.md b/README.md index b5ad7c9..76987f6 100644 --- a/README.md +++ b/README.md @@ -53,7 +53,13 @@ You can install as-bind in your project by running the following: To enable as-bind for your AssemblyScript Wasm modules, add the as-bind entrypoint when compiling your module: -`asc ./node_modules/as-bind/lib/assembly/as-bind.ts your-entryfile.ts [...other cli options...]` +`asc ./node_modules/as-bind/lib/assembly/as-bind.ts your-entryfile.ts --runtime incremental --exportRuntime [...other cli options...]` + +The two things to note are: + +- `./node_modules/as-bind/lib/assembly/as-bind.ts` - This is the as-bind entryfile, used for exporting IDs of AssemblyScript classes so we can use them for instantiating new classes +- `--runtime incremental` - This specifies that we are using the incremental runtime / garbage collection option (The AssemblyScript default). +- `--exportRuntime` - This allows us to use the [AssemblyScript Garbage Collection functions added in 0.18.x](https://www.assemblyscript.org/garbage-collection.html) For **optional testing purposes** , let's export an example function we can try in `your-entryfile.ts`: diff --git a/lib/asbind-instance/asbind-instance.js b/lib/asbind-instance/asbind-instance.js index 84ef334..62a7789 100644 --- a/lib/asbind-instance/asbind-instance.js +++ b/lib/asbind-instance/asbind-instance.js @@ -112,25 +112,33 @@ export default class AsbindInstance { enableExportFunctionTypeCaching() { Object.keys(this.exports).forEach(exportKey => { - this.exports[exportKey].shouldCacheTypes = true; + if (this.exports[exportKey]) { + this.exports[exportKey].shouldCacheTypes = true; + } }); } disableExportFunctionTypeCaching() { Object.keys(this.exports).forEach(exportKey => { - this.exports[exportKey].shouldCacheTypes = false; + if (this.exports[exportKey]) { + this.exports[exportKey].shouldCacheTypes = false; + } }); } enableExportFunctionUnsafeReturnValue() { Object.keys(this.exports).forEach(exportKey => { - this.exports[exportKey].unsafeReturnValue = true; + if (this.exports[exportKey]) { + this.exports[exportKey].unsafeReturnValue = true; + } }); } disableExportFunctionUnsafeReturnValue() { Object.keys(this.exports).forEach(exportKey => { - this.exports[exportKey].unsafeReturnValue = false; + if (this.exports[exportKey]) { + this.exports[exportKey].unsafeReturnValue = false; + } }); } diff --git a/lib/asbind-instance/bind-function.js b/lib/asbind-instance/bind-function.js index d28936e..4bdbdc1 100644 --- a/lib/asbind-instance/bind-function.js +++ b/lib/asbind-instance/bind-function.js @@ -184,9 +184,9 @@ export function bindExportFunction(asbindInstance, exportFunctionKey) { argumentsWithReplacedRefs ); - // Release all references + // Unpin all references refIndexes.forEach(refIndex => { - exports.__release(argumentsWithReplacedRefs[refIndex]); + exports.__unpin(argumentsWithReplacedRefs[refIndex]); }); // Get the response item from the returned reference diff --git a/lib/asbind-instance/reserved-export-keys.js b/lib/asbind-instance/reserved-export-keys.js index 63cd5d5..9fba552 100644 --- a/lib/asbind-instance/reserved-export-keys.js +++ b/lib/asbind-instance/reserved-export-keys.js @@ -19,8 +19,8 @@ export const RESERVED_RUNTIME_EXPORT_KEYS = [ "__getFloat64ArrayView", "__new", "__renew", - "__retain", - "__release", + "__pin", + "__unpin", "__instanceof", "__collect", "__rtti_base", @@ -34,8 +34,8 @@ export const REQUIRED_RUNTIME_EXPORT_KEYS = [ "__new", "__newString", "__newArray", - "__retain", - "__release", + "__pin", + "__unpin", "__instanceof", "__getString", "__getArrayBuffer", diff --git a/lib/asbind-instance/supported-ref-types.js b/lib/asbind-instance/supported-ref-types.js index 0a658c5..357fd18 100644 --- a/lib/asbind-instance/supported-ref-types.js +++ b/lib/asbind-instance/supported-ref-types.js @@ -14,7 +14,7 @@ export const SUPPORTED_REF_TYPES = { return wasmExports.__instanceof(ref, wasmExports.__asbind_String_ID); }, getRef: (wasmExports, arg) => { - return wasmExports.__retain(wasmExports.__newString(arg)); + return wasmExports.__pin(wasmExports.__newString(arg)); }, getValueFromRef: (wasmExports, responseRef) => { return wasmExports.__getString(responseRef); @@ -28,7 +28,7 @@ export const SUPPORTED_REF_TYPES = { return wasmExports.__instanceof(ref, wasmExports.__asbind_Int8Array_ID); }, getRef: (wasmExports, arg) => { - return wasmExports.__retain( + return wasmExports.__pin( wasmExports.__newArray(wasmExports.__asbind_Int8Array_ID, arg) ); }, @@ -50,7 +50,7 @@ export const SUPPORTED_REF_TYPES = { return wasmExports.__instanceof(ref, wasmExports.__asbind_Uint8Array_ID); }, getRef: (wasmExports, arg) => { - return wasmExports.__retain( + return wasmExports.__pin( wasmExports.__newArray(wasmExports.__asbind_Uint8Array_ID, arg) ); }, @@ -72,7 +72,7 @@ export const SUPPORTED_REF_TYPES = { return wasmExports.__instanceof(ref, wasmExports.__asbind_Int16Array_ID); }, getRef: (wasmExports, arg) => { - return wasmExports.__retain( + return wasmExports.__pin( wasmExports.__newArray(wasmExports.__asbind_Int16Array_ID, arg) ); }, @@ -94,7 +94,7 @@ export const SUPPORTED_REF_TYPES = { return wasmExports.__instanceof(ref, wasmExports.__asbind_Uint16Array_ID); }, getRef: (wasmExports, arg) => { - return wasmExports.__retain( + return wasmExports.__pin( wasmExports.__newArray(wasmExports.__asbind_Uint16Array_ID, arg) ); }, @@ -116,7 +116,7 @@ export const SUPPORTED_REF_TYPES = { return wasmExports.__instanceof(ref, wasmExports.__asbind_Int32Array_ID); }, getRef: (wasmExports, arg) => { - return wasmExports.__retain( + return wasmExports.__pin( wasmExports.__newArray(wasmExports.__asbind_Int32Array_ID, arg) ); }, @@ -138,7 +138,7 @@ export const SUPPORTED_REF_TYPES = { return wasmExports.__instanceof(ref, wasmExports.__asbind_Uint32Array_ID); }, getRef: (wasmExports, arg) => { - return wasmExports.__retain( + return wasmExports.__pin( wasmExports.__newArray(wasmExports.__asbind_Uint32Array_ID, arg) ); }, @@ -163,7 +163,7 @@ export const SUPPORTED_REF_TYPES = { ); }, getRef: (wasmExports, arg) => { - return wasmExports.__retain( + return wasmExports.__pin( wasmExports.__newArray(wasmExports.__asbind_Float32Array_ID, arg) ); }, @@ -188,7 +188,7 @@ export const SUPPORTED_REF_TYPES = { ); }, getRef: (wasmExports, arg) => { - return wasmExports.__retain( + return wasmExports.__pin( wasmExports.__newArray(wasmExports.__asbind_Float64Array_ID, arg) ); }, diff --git a/lib/asbind-instance/validate.js b/lib/asbind-instance/validate.js index 97bd7f2..1db7929 100644 --- a/lib/asbind-instance/validate.js +++ b/lib/asbind-instance/validate.js @@ -19,7 +19,7 @@ export function validateExportsAndFunction(exports, exportFunction) { REQUIRED_RUNTIME_EXPORT_KEYS.forEach(key => { if (!exports[key]) { throw new Error( - 'Required Exported AssemblyScript Runtime functions are not present. Runtime must be set to "full" or "stub"' + 'Required Exported AssemblyScript Runtime functions are not present. Please compile your AssemblyScript with "--exportRuntime", and "--runtime" must be set to "incremental", "minimal", or "stub"' ); } }); diff --git a/package-lock.json b/package-lock.json index e4e1154..ba2ca19 100644 --- a/package-lock.json +++ b/package-lock.json @@ -30,278 +30,256 @@ } }, "@assemblyscript/loader": { - "version": "0.17.2", - "resolved": "https://registry.npmjs.org/@assemblyscript/loader/-/loader-0.17.2.tgz", - "integrity": "sha512-8pLMRIMqPVxOnlyqjflNRuvoHShYNDCeUI3VXN6dr+c3lD4W5lwQnRdJviku8U4opv7CSDfIDZ99uRTwqcBIIA==" + "version": "0.18.7", + "resolved": "https://registry.npmjs.org/@assemblyscript/loader/-/loader-0.18.7.tgz", + "integrity": "sha512-lmoli80ZHC8y9ZBP+6/Qq6PplycjK6+QBmcxcc5L0UXhCz+HIo9cgrdq3UNEYxMXByus+gWbq072/Q0QdPxGKA==" }, "@babel/code-frame": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz", - "integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.13.tgz", + "integrity": "sha512-HV1Cm0Q3ZrpCR93tkWOYiuYIgLxZXZFVG2VgK+MBWjUqZTundupbfx2aXarXuw5Ko5aMcjtJgbSs4vUGBS5v6g==", "dev": true, "requires": { - "@babel/highlight": "^7.10.4" + "@babel/highlight": "^7.12.13" } }, "@babel/core": { - "version": "7.12.3", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.12.3.tgz", - "integrity": "sha512-0qXcZYKZp3/6N2jKYVxZv0aNCsxTSVCiK72DTiTYZAu7sjg73W0/aynWjMbiGd87EQL4WyA8reiJVh92AVla9g==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.10.4", - "@babel/generator": "^7.12.1", - "@babel/helper-module-transforms": "^7.12.1", - "@babel/helpers": "^7.12.1", - "@babel/parser": "^7.12.3", - "@babel/template": "^7.10.4", - "@babel/traverse": "^7.12.1", - "@babel/types": "^7.12.1", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.12.13.tgz", + "integrity": "sha512-BQKE9kXkPlXHPeqissfxo0lySWJcYdEP0hdtJOH/iJfDdhOCcgtNCjftCJg3qqauB4h+lz2N6ixM++b9DN1Tcw==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.12.13", + "@babel/generator": "^7.12.13", + "@babel/helper-module-transforms": "^7.12.13", + "@babel/helpers": "^7.12.13", + "@babel/parser": "^7.12.13", + "@babel/template": "^7.12.13", + "@babel/traverse": "^7.12.13", + "@babel/types": "^7.12.13", "convert-source-map": "^1.7.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.1", "json5": "^2.1.2", "lodash": "^4.17.19", - "resolve": "^1.3.2", "semver": "^5.4.1", "source-map": "^0.5.0" } }, "@babel/generator": { - "version": "7.12.5", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.12.5.tgz", - "integrity": "sha512-m16TQQJ8hPt7E+OS/XVQg/7U184MLXtvuGbCdA7na61vha+ImkyyNM/9DDA0unYCVZn3ZOhng+qz48/KBOT96A==", + "version": "7.12.15", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.12.15.tgz", + "integrity": "sha512-6F2xHxBiFXWNSGb7vyCUTBF8RCLY66rS0zEPcP8t/nQyXjha5EuK4z7H5o7fWG8B4M7y6mqVWq1J+1PuwRhecQ==", "dev": true, "requires": { - "@babel/types": "^7.12.5", + "@babel/types": "^7.12.13", "jsesc": "^2.5.1", "source-map": "^0.5.0" } }, "@babel/helper-annotate-as-pure": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.10.4.tgz", - "integrity": "sha512-XQlqKQP4vXFB7BN8fEEerrmYvHp3fK/rBkRFz9jaJbzK0B1DSfej9Kc7ZzE8Z/OnId1jpJdNAZ3BFQjWG68rcA==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.12.13.tgz", + "integrity": "sha512-7YXfX5wQ5aYM/BOlbSccHDbuXXFPxeoUmfWtz8le2yTkTZc+BxsiEnENFoi2SlmA8ewDkG2LgIMIVzzn2h8kfw==", "dev": true, "requires": { - "@babel/types": "^7.10.4" - } - }, - "@babel/helper-builder-react-jsx": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-builder-react-jsx/-/helper-builder-react-jsx-7.10.4.tgz", - "integrity": "sha512-5nPcIZ7+KKDxT1427oBivl9V9YTal7qk0diccnh7RrcgrT/pGFOjgGw1dgryyx1GvHEpXVfoDF6Ak3rTiWh8Rg==", - "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.10.4", - "@babel/types": "^7.10.4" - } - }, - "@babel/helper-builder-react-jsx-experimental": { - "version": "7.12.4", - "resolved": "https://registry.npmjs.org/@babel/helper-builder-react-jsx-experimental/-/helper-builder-react-jsx-experimental-7.12.4.tgz", - "integrity": "sha512-AjEa0jrQqNk7eDQOo0pTfUOwQBMF+xVqrausQwT9/rTKy0g04ggFNaJpaE09IQMn9yExluigWMJcj0WC7bq+Og==", - "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.10.4", - "@babel/helper-module-imports": "^7.12.1", - "@babel/types": "^7.12.1" + "@babel/types": "^7.12.13" } }, "@babel/helper-create-class-features-plugin": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.12.1.tgz", - "integrity": "sha512-hkL++rWeta/OVOBTRJc9a5Azh5mt5WgZUGAKMD8JM141YsE08K//bp1unBBieO6rUKkIPyUE0USQ30jAy3Sk1w==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.12.13.tgz", + "integrity": "sha512-Vs/e9wv7rakKYeywsmEBSRC9KtmE7Px+YBlESekLeJOF0zbGUicGfXSNi3o+tfXSNS48U/7K9mIOOCR79Cl3+Q==", "dev": true, "requires": { - "@babel/helper-function-name": "^7.10.4", - "@babel/helper-member-expression-to-functions": "^7.12.1", - "@babel/helper-optimise-call-expression": "^7.10.4", - "@babel/helper-replace-supers": "^7.12.1", - "@babel/helper-split-export-declaration": "^7.10.4" + "@babel/helper-function-name": "^7.12.13", + "@babel/helper-member-expression-to-functions": "^7.12.13", + "@babel/helper-optimise-call-expression": "^7.12.13", + "@babel/helper-replace-supers": "^7.12.13", + "@babel/helper-split-export-declaration": "^7.12.13" } }, "@babel/helper-function-name": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.10.4.tgz", - "integrity": "sha512-YdaSyz1n8gY44EmN7x44zBn9zQ1Ry2Y+3GTA+3vH6Mizke1Vw0aWDM66FOYEPw8//qKkmqOckrGgTYa+6sceqQ==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.12.13.tgz", + "integrity": "sha512-TZvmPn0UOqmvi5G4vvw0qZTpVptGkB1GL61R6lKvrSdIxGm5Pky7Q3fpKiIkQCAtRCBUwB0PaThlx9vebCDSwA==", "dev": true, "requires": { - "@babel/helper-get-function-arity": "^7.10.4", - "@babel/template": "^7.10.4", - "@babel/types": "^7.10.4" + "@babel/helper-get-function-arity": "^7.12.13", + "@babel/template": "^7.12.13", + "@babel/types": "^7.12.13" } }, "@babel/helper-get-function-arity": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.10.4.tgz", - "integrity": "sha512-EkN3YDB+SRDgiIUnNgcmiD361ti+AVbL3f3Henf6dqqUyr5dMsorno0lJWJuLhDhkI5sYEpgj6y9kB8AOU1I2A==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.12.13.tgz", + "integrity": "sha512-DjEVzQNz5LICkzN0REdpD5prGoidvbdYk1BVgRUOINaWJP2t6avB27X1guXK1kXNrX0WMfsrm1A/ZBthYuIMQg==", "dev": true, "requires": { - "@babel/types": "^7.10.4" + "@babel/types": "^7.12.13" } }, "@babel/helper-member-expression-to-functions": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.12.1.tgz", - "integrity": "sha512-k0CIe3tXUKTRSoEx1LQEPFU9vRQfqHtl+kf8eNnDqb4AUJEy5pz6aIiog+YWtVm2jpggjS1laH68bPsR+KWWPQ==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.12.13.tgz", + "integrity": "sha512-B+7nN0gIL8FZ8SvMcF+EPyB21KnCcZHQZFczCxbiNGV/O0rsrSBlWGLzmtBJ3GMjSVMIm4lpFhR+VdVBuIsUcQ==", "dev": true, "requires": { - "@babel/types": "^7.12.1" + "@babel/types": "^7.12.13" } }, "@babel/helper-module-imports": { - "version": "7.12.5", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.12.5.tgz", - "integrity": "sha512-SR713Ogqg6++uexFRORf/+nPXMmWIn80TALu0uaFb+iQIUoR7bOC7zBWyzBs5b3tBBJXuyD0cRu1F15GyzjOWA==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.12.13.tgz", + "integrity": "sha512-NGmfvRp9Rqxy0uHSSVP+SRIW1q31a7Ji10cLBcqSDUngGentY4FRiHOFZFE1CLU5eiL0oE8reH7Tg1y99TDM/g==", "dev": true, "requires": { - "@babel/types": "^7.12.5" + "@babel/types": "^7.12.13" } }, "@babel/helper-module-transforms": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.12.1.tgz", - "integrity": "sha512-QQzehgFAZ2bbISiCpmVGfiGux8YVFXQ0abBic2Envhej22DVXV9nCFaS5hIQbkyo1AdGb+gNME2TSh3hYJVV/w==", - "dev": true, - "requires": { - "@babel/helper-module-imports": "^7.12.1", - "@babel/helper-replace-supers": "^7.12.1", - "@babel/helper-simple-access": "^7.12.1", - "@babel/helper-split-export-declaration": "^7.11.0", - "@babel/helper-validator-identifier": "^7.10.4", - "@babel/template": "^7.10.4", - "@babel/traverse": "^7.12.1", - "@babel/types": "^7.12.1", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.12.13.tgz", + "integrity": "sha512-acKF7EjqOR67ASIlDTupwkKM1eUisNAjaSduo5Cz+793ikfnpe7p4Q7B7EWU2PCoSTPWsQkR7hRUWEIZPiVLGA==", + "dev": true, + "requires": { + "@babel/helper-module-imports": "^7.12.13", + "@babel/helper-replace-supers": "^7.12.13", + "@babel/helper-simple-access": "^7.12.13", + "@babel/helper-split-export-declaration": "^7.12.13", + "@babel/helper-validator-identifier": "^7.12.11", + "@babel/template": "^7.12.13", + "@babel/traverse": "^7.12.13", + "@babel/types": "^7.12.13", "lodash": "^4.17.19" } }, "@babel/helper-optimise-call-expression": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.10.4.tgz", - "integrity": "sha512-n3UGKY4VXwXThEiKrgRAoVPBMqeoPgHVqiHZOanAJCG9nQUL2pLRQirUzl0ioKclHGpGqRgIOkgcIJaIWLpygg==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.12.13.tgz", + "integrity": "sha512-BdWQhoVJkp6nVjB7nkFWcn43dkprYauqtk++Py2eaf/GRDFm5BxRqEIZCiHlZUGAVmtwKcsVL1dC68WmzeFmiA==", "dev": true, "requires": { - "@babel/types": "^7.10.4" + "@babel/types": "^7.12.13" } }, "@babel/helper-plugin-utils": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz", - "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.12.13.tgz", + "integrity": "sha512-C+10MXCXJLiR6IeG9+Wiejt9jmtFpxUc3MQqCmPY8hfCjyUGl9kT+B2okzEZrtykiwrc4dbCPdDoz0A/HQbDaA==", "dev": true }, "@babel/helper-replace-supers": { - "version": "7.12.5", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.12.5.tgz", - "integrity": "sha512-5YILoed0ZyIpF4gKcpZitEnXEJ9UoDRki1Ey6xz46rxOzfNMAhVIJMoune1hmPVxh40LRv1+oafz7UsWX+vyWA==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.12.13.tgz", + "integrity": "sha512-pctAOIAMVStI2TMLhozPKbf5yTEXc0OJa0eENheb4w09SrgOWEs+P4nTOZYJQCqs8JlErGLDPDJTiGIp3ygbLg==", "dev": true, "requires": { - "@babel/helper-member-expression-to-functions": "^7.12.1", - "@babel/helper-optimise-call-expression": "^7.10.4", - "@babel/traverse": "^7.12.5", - "@babel/types": "^7.12.5" + "@babel/helper-member-expression-to-functions": "^7.12.13", + "@babel/helper-optimise-call-expression": "^7.12.13", + "@babel/traverse": "^7.12.13", + "@babel/types": "^7.12.13" } }, "@babel/helper-simple-access": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.12.1.tgz", - "integrity": "sha512-OxBp7pMrjVewSSC8fXDFrHrBcJATOOFssZwv16F3/6Xtc138GHybBfPbm9kfiqQHKhYQrlamWILwlDCeyMFEaA==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.12.13.tgz", + "integrity": "sha512-0ski5dyYIHEfwpWGx5GPWhH35j342JaflmCeQmsPWcrOQDtCN6C1zKAVRFVbK53lPW2c9TsuLLSUDf0tIGJ5hA==", "dev": true, "requires": { - "@babel/types": "^7.12.1" + "@babel/types": "^7.12.13" } }, "@babel/helper-split-export-declaration": { - "version": "7.11.0", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.11.0.tgz", - "integrity": "sha512-74Vejvp6mHkGE+m+k5vHY93FX2cAtrw1zXrZXRlG4l410Nm9PxfEiVTn1PjDPV5SnmieiueY4AFg2xqhNFuuZg==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.12.13.tgz", + "integrity": "sha512-tCJDltF83htUtXx5NLcaDqRmknv652ZWCHyoTETf1CXYJdPC7nohZohjUgieXhv0hTJdRf2FjDueFehdNucpzg==", "dev": true, "requires": { - "@babel/types": "^7.11.0" + "@babel/types": "^7.12.13" } }, "@babel/helper-validator-identifier": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz", - "integrity": "sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw==", + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz", + "integrity": "sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw==", "dev": true }, "@babel/helpers": { - "version": "7.12.5", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.12.5.tgz", - "integrity": "sha512-lgKGMQlKqA8meJqKsW6rUnc4MdUk35Ln0ATDqdM1a/UpARODdI4j5Y5lVfUScnSNkJcdCRAaWkspykNoFg9sJA==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.12.13.tgz", + "integrity": "sha512-oohVzLRZ3GQEk4Cjhfs9YkJA4TdIDTObdBEZGrd6F/T0GPSnuV6l22eMcxlvcvzVIPH3VTtxbseudM1zIE+rPQ==", "dev": true, "requires": { - "@babel/template": "^7.10.4", - "@babel/traverse": "^7.12.5", - "@babel/types": "^7.12.5" + "@babel/template": "^7.12.13", + "@babel/traverse": "^7.12.13", + "@babel/types": "^7.12.13" } }, "@babel/highlight": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz", - "integrity": "sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.12.13.tgz", + "integrity": "sha512-kocDQvIbgMKlWxXe9fof3TQ+gkIPOUSEYhJjqUjvKMez3krV7vbzYCDq39Oj11UAVK7JqPVGQPlgE85dPNlQww==", "dev": true, "requires": { - "@babel/helper-validator-identifier": "^7.10.4", + "@babel/helper-validator-identifier": "^7.12.11", "chalk": "^2.0.0", "js-tokens": "^4.0.0" } }, "@babel/parser": { - "version": "7.12.5", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.12.5.tgz", - "integrity": "sha512-FVM6RZQ0mn2KCf1VUED7KepYeUWoVShczewOCfm3nzoBybaih51h+sYVVGthW9M6lPByEPTQf+xm27PBdlpwmQ==", + "version": "7.12.15", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.12.15.tgz", + "integrity": "sha512-AQBOU2Z9kWwSZMd6lNjCX0GUgFonL1wAM1db8L8PMk9UDaGsRCArBkU4Sc+UCM3AE4hjbXx+h58Lb3QT4oRmrA==", "dev": true }, "@babel/plugin-proposal-class-properties": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.12.1.tgz", - "integrity": "sha512-cKp3dlQsFsEs5CWKnN7BnSHOd0EOW8EKpEjkoz1pO2E5KzIDNV9Ros1b0CnmbVgAGXJubOYVBOGCT1OmJwOI7w==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.12.13.tgz", + "integrity": "sha512-8SCJ0Ddrpwv4T7Gwb33EmW1V9PY5lggTO+A8WjyIwxrSHDUyBw4MtF96ifn1n8H806YlxbVCoKXbbmzD6RD+cA==", "dev": true, "requires": { - "@babel/helper-create-class-features-plugin": "^7.12.1", - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-create-class-features-plugin": "^7.12.13", + "@babel/helper-plugin-utils": "^7.12.13" } }, "@babel/plugin-proposal-export-default-from": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-default-from/-/plugin-proposal-export-default-from-7.12.1.tgz", - "integrity": "sha512-z5Q4Ke7j0AexQRfgUvnD+BdCSgpTEKnqQ3kskk2jWtOBulxICzd1X9BGt7kmWftxZ2W3++OZdt5gtmC8KLxdRQ==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-default-from/-/plugin-proposal-export-default-from-7.12.13.tgz", + "integrity": "sha512-idIsBT+DGXdOHL82U+8bwX4goHm/z10g8sGGrQroh+HCRcm7mDv/luaGdWJQMTuCX2FsdXS7X0Nyyzp4znAPJA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/plugin-syntax-export-default-from": "^7.12.1" + "@babel/helper-plugin-utils": "^7.12.13", + "@babel/plugin-syntax-export-default-from": "^7.12.13" } }, "@babel/plugin-proposal-object-rest-spread": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.12.1.tgz", - "integrity": "sha512-s6SowJIjzlhx8o7lsFx5zmY4At6CTtDvgNQDdPzkBQucle58A6b/TTeEBYtyDgmcXjUTM+vE8YOGHZzzbc/ioA==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.12.13.tgz", + "integrity": "sha512-WvA1okB/0OS/N3Ldb3sziSrXg6sRphsBgqiccfcQq7woEn5wQLNX82Oc4PlaFcdwcWHuQXAtb8ftbS8Fbsg/sg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-plugin-utils": "^7.12.13", "@babel/plugin-syntax-object-rest-spread": "^7.8.0", - "@babel/plugin-transform-parameters": "^7.12.1" + "@babel/plugin-transform-parameters": "^7.12.13" } }, "@babel/plugin-syntax-export-default-from": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-default-from/-/plugin-syntax-export-default-from-7.12.1.tgz", - "integrity": "sha512-dP5eGg6tHEkhnRD2/vRG/KJKRSg8gtxu2i+P/8/yFPJn/CfPU5G0/7Gks2i3M6IOVAPQekmsLN9LPsmXFFL4Uw==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-default-from/-/plugin-syntax-export-default-from-7.12.13.tgz", + "integrity": "sha512-gVry0zqoums0hA+EniCYK3gABhjYSLX1dVuwYpPw9DrLNA4/GovXySHVg4FGRsZht09ON/5C2NVx3keq+qqVGQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-plugin-utils": "^7.12.13" } }, "@babel/plugin-syntax-jsx": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.12.1.tgz", - "integrity": "sha512-1yRi7yAtB0ETgxdY9ti/p2TivUxJkTdhu/ZbF9MshVGqOx1TdB3b7xCXs49Fupgg50N45KcAsRP/ZqWjs9SRjg==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.12.13.tgz", + "integrity": "sha512-d4HM23Q1K7oq/SLNmG6mRt85l2csmQ0cHRaxRXjKW0YFdEXqlZ5kzFQKH5Uc3rDJECgu+yCRgPkG04Mm98R/1g==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-plugin-utils": "^7.12.13" } }, "@babel/plugin-syntax-object-rest-spread": { @@ -314,61 +292,62 @@ } }, "@babel/plugin-transform-parameters": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.12.1.tgz", - "integrity": "sha512-xq9C5EQhdPK23ZeCdMxl8bbRnAgHFrw5EOC3KJUsSylZqdkCaFEXxGSBuTSObOpiiHHNyb82es8M1QYgfQGfNg==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.12.13.tgz", + "integrity": "sha512-e7QqwZalNiBRHCpJg/P8s/VJeSRYgmtWySs1JwvfwPqhBbiWfOcHDKdeAi6oAyIimoKWBlwc8oTgbZHdhCoVZA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-plugin-utils": "^7.12.13" } }, "@babel/plugin-transform-react-jsx": { - "version": "7.12.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.12.5.tgz", - "integrity": "sha512-2xkcPqqrYiOQgSlM/iwto1paPijjsDbUynN13tI6bosDz/jOW3CRzYguIE8wKX32h+msbBM22Dv5fwrFkUOZjQ==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.12.13.tgz", + "integrity": "sha512-hhXZMYR8t9RvduN2uW4sjl6MRtUhzNE726JvoJhpjhxKgRUVkZqTsA0xc49ALZxQM7H26pZ/lLvB2Yrea9dllA==", "dev": true, "requires": { - "@babel/helper-builder-react-jsx": "^7.10.4", - "@babel/helper-builder-react-jsx-experimental": "^7.12.1", - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/plugin-syntax-jsx": "^7.12.1" + "@babel/helper-annotate-as-pure": "^7.12.13", + "@babel/helper-module-imports": "^7.12.13", + "@babel/helper-plugin-utils": "^7.12.13", + "@babel/plugin-syntax-jsx": "^7.12.13", + "@babel/types": "^7.12.13" } }, "@babel/template": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.10.4.tgz", - "integrity": "sha512-ZCjD27cGJFUB6nmCB1Enki3r+L5kJveX9pq1SvAUKoICy6CZ9yD8xO086YXdYhvNjBdnekm4ZnaP5yC8Cs/1tA==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.12.13.tgz", + "integrity": "sha512-/7xxiGA57xMo/P2GVvdEumr8ONhFOhfgq2ihK3h1e6THqzTAkHbkXgB0xI9yeTfIUoH3+oAeHhqm/I43OTbbjA==", "dev": true, "requires": { - "@babel/code-frame": "^7.10.4", - "@babel/parser": "^7.10.4", - "@babel/types": "^7.10.4" + "@babel/code-frame": "^7.12.13", + "@babel/parser": "^7.12.13", + "@babel/types": "^7.12.13" } }, "@babel/traverse": { - "version": "7.12.5", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.12.5.tgz", - "integrity": "sha512-xa15FbQnias7z9a62LwYAA5SZZPkHIXpd42C6uW68o8uTuua96FHZy1y61Va5P/i83FAAcMpW8+A/QayntzuqA==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.12.13.tgz", + "integrity": "sha512-3Zb4w7eE/OslI0fTp8c7b286/cQps3+vdLW3UcwC8VSJC6GbKn55aeVVu2QJNuCDoeKyptLOFrPq8WqZZBodyA==", "dev": true, "requires": { - "@babel/code-frame": "^7.10.4", - "@babel/generator": "^7.12.5", - "@babel/helper-function-name": "^7.10.4", - "@babel/helper-split-export-declaration": "^7.11.0", - "@babel/parser": "^7.12.5", - "@babel/types": "^7.12.5", + "@babel/code-frame": "^7.12.13", + "@babel/generator": "^7.12.13", + "@babel/helper-function-name": "^7.12.13", + "@babel/helper-split-export-declaration": "^7.12.13", + "@babel/parser": "^7.12.13", + "@babel/types": "^7.12.13", "debug": "^4.1.0", "globals": "^11.1.0", "lodash": "^4.17.19" } }, "@babel/types": { - "version": "7.12.6", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.6.tgz", - "integrity": "sha512-hwyjw6GvjBLiyy3W0YQf0Z5Zf4NpYejUnKFcfcUhZCSffoBBp30w6wP2Wn6pk31jMYZvcOrB/1b7cGXvEoKogA==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.13.tgz", + "integrity": "sha512-oKrdZTld2im1z8bDwTOQvUbxKwE+854zc16qWZQlcTqMN00pWxHQ4ZeOq0yDMnisOpRykH2/5Qqcrk/OlbAjiQ==", "dev": true, "requires": { - "@babel/helper-validator-identifier": "^7.10.4", + "@babel/helper-validator-identifier": "^7.12.11", "lodash": "^4.17.19", "to-fast-properties": "^2.0.0" } @@ -390,19 +369,19 @@ } }, "@nodelib/fs.scandir": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.3.tgz", - "integrity": "sha512-eGmwYQn3gxo4r7jdQnkrrN6bY478C3P+a/y72IJukF8LjB6ZHeB3c+Ehacj3sYeSmUXGlnA67/PmbM9CVwL7Dw==", + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.4.tgz", + "integrity": "sha512-33g3pMJk3bg5nXbL/+CY6I2eJDzZAni49PfJnL5fghPTggPvBd/pFNSgJsdAgWptuFu7qq/ERvOYFlhvsLTCKA==", "dev": true, "requires": { - "@nodelib/fs.stat": "2.0.3", + "@nodelib/fs.stat": "2.0.4", "run-parallel": "^1.1.9" }, "dependencies": { "@nodelib/fs.stat": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.3.tgz", - "integrity": "sha512-bQBFruR2TAwoevBEd/NWMoAAtNGzTRgdrqnYCc7dhzfoNvqPzLyqlEQnzZ3kVnNrSp25iyxE00/3h2fqGAGArA==", + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.4.tgz", + "integrity": "sha512-IYlHJA0clt2+Vg7bccq+TzRdJvv19c2INqBSsoOLp1je7xjtr7J26+WXR72MCdvU9q1qTzIWDfhMf+DRvQJK4Q==", "dev": true } } @@ -414,12 +393,12 @@ "dev": true }, "@nodelib/fs.walk": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.4.tgz", - "integrity": "sha512-1V9XOY4rDW0rehzbrcqAmHnz8e7SKvX27gh8Gt2WgB0+pdzdiLV83p72kZPU+jvMbS1qU5mauP2iOvO8rhmurQ==", + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.6.tgz", + "integrity": "sha512-8Broas6vTtW4GIXTAHDoE32hnN2M5ykgCpWGbuXHQ15vEMqr23pB76e/GZcYsZCHALv50ktd24qhEyKr6wBtow==", "dev": true, "requires": { - "@nodelib/fs.scandir": "2.1.3", + "@nodelib/fs.scandir": "2.1.4", "fastq": "^1.6.0" } }, @@ -456,9 +435,9 @@ } }, "@types/estree": { - "version": "0.0.45", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.45.tgz", - "integrity": "sha512-jnqIUKDUqJbDIUxm0Uj7bnlMnRm1T/eZ9N+AVMqhPgzrba2GhGG5o/jCTwmdPK709nEZsGoMzXEDUjcXHa3W0g==", + "version": "0.0.46", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.46.tgz", + "integrity": "sha512-laIjwTQaD+5DukBZaygQ79K1Z0jb1bPEMRrkXSLjtCcZm+abyp5YbrqpSLzD42FwWW6gK/aS4NYpJ804nG2brg==", "dev": true }, "@types/fs-extra": { @@ -487,9 +466,9 @@ "dev": true }, "@types/node": { - "version": "14.14.7", - "resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.7.tgz", - "integrity": "sha512-Zw1vhUSQZYw+7u5dAwNbIA9TuTotpzY/OF7sJM9FqPOF3SPjKnxrjoTktXDZgUjybf4cWVBP7O8wvKdSaGHweg==", + "version": "14.14.25", + "resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.25.tgz", + "integrity": "sha512-EPpXLOVqDvisVxtlbvzfyqSsFeQxltFbluZNRndIb8tr9KiBnYNLzrc1N3pyKUCww2RNrfHDViqDWWE1LCJQtQ==", "dev": true }, "@types/normalize-package-data": { @@ -701,11 +680,11 @@ "dev": true }, "assemblyscript": { - "version": "0.17.2", - "resolved": "https://registry.npmjs.org/assemblyscript/-/assemblyscript-0.17.2.tgz", - "integrity": "sha512-QpHROlgiNLdqTrJCnPAwU61uStFCJ7PSW2IDYkiRbWlcHG9lNUaw/SwivCAQCEh+3GjSqZH8Q1mehSmhNDtFtA==", + "version": "0.18.7", + "resolved": "https://registry.npmjs.org/assemblyscript/-/assemblyscript-0.18.7.tgz", + "integrity": "sha512-qqD31xq8ad19wIHBT2l8TTrrzCejCClBIzdQyHTeMmKyVL53Nn2wB/1EPyI2DOj6DiKTg5/05Q4Zf5kTvXKJWg==", "requires": { - "binaryen": "98.0.0-nightly.20201109", + "binaryen": "98.0.0-nightly.20210106", "long": "^4.0.0" } }, @@ -1352,15 +1331,15 @@ "dev": true }, "binary-extensions": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.1.0.tgz", - "integrity": "sha512-1Yj8h9Q+QDF5FzhMs/c9+6UntbD5MkRfRwac8DoEm9ZfUBZ7tZ55YcGVAzEe4bXsdQHEk+s9S5wsOKVdZrw0tQ==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", "dev": true }, "binaryen": { - "version": "98.0.0-nightly.20201109", - "resolved": "https://registry.npmjs.org/binaryen/-/binaryen-98.0.0-nightly.20201109.tgz", - "integrity": "sha512-iRarAqdH5lMWlMBzrDuJgLYJR2g4QXk93iYE2zpr6gEZkb/jCgDpPUXdhuN11Ge1zZ/6By4DwA1mmifcx7FWaw==" + "version": "98.0.0-nightly.20210106", + "resolved": "https://registry.npmjs.org/binaryen/-/binaryen-98.0.0-nightly.20210106.tgz", + "integrity": "sha512-iunAgesqT9PXVYCc72FA4h0sCCKLifruT6NuUH63xqlFJGpChhZLgOtyIb/fIgTibN5Pd692cxfBViyCWFsJ9Q==" }, "boolbase": { "version": "1.0.0", @@ -1418,22 +1397,22 @@ "dev": true }, "browserslist": { - "version": "4.14.7", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.14.7.tgz", - "integrity": "sha512-BSVRLCeG3Xt/j/1cCGj1019Wbty0H+Yvu2AOuZSuoaUWn3RatbL33Cxk+Q4jRMRAbOm0p7SLravLjpnT6s0vzQ==", + "version": "4.16.3", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.16.3.tgz", + "integrity": "sha512-vIyhWmIkULaq04Gt93txdh+j02yX/JzlyhLYbV3YQCn/zvES3JnY7TifHHvvr1w5hTDluNKMkV05cs4vy8Q7sw==", "dev": true, "requires": { - "caniuse-lite": "^1.0.30001157", + "caniuse-lite": "^1.0.30001181", "colorette": "^1.2.1", - "electron-to-chromium": "^1.3.591", + "electron-to-chromium": "^1.3.649", "escalade": "^3.1.1", - "node-releases": "^1.1.66" + "node-releases": "^1.1.70" } }, "builtin-modules": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.1.0.tgz", - "integrity": "sha512-k0KL0aWZuBt2lrxrcASWDfwOLMnodeQjodT/1SxEQAXsHANgo6ZC/VEaSEHCXt7aSTZ4/4H5LKa+tBXmW7Vtvw==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.2.0.tgz", + "integrity": "sha512-lGzLKcioL90C7wMczpkY0n/oART3MbBa8R9OFGE1rJxoVI86u4WAGfEk8Wjv10eKSyTHVGkSo3bvBylCEtk7LA==", "dev": true }, "builtins": { @@ -1504,13 +1483,13 @@ } }, "call-bind": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.0.tgz", - "integrity": "sha512-AEXsYIyyDY3MCzbwdhzG3Jx1R0J2wetQyUynn6dYHAO+bg8l1k7jwZtRv4ryryFs7EP+NDlikJlVe59jr0cM2w==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", "dev": true, "requires": { "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.0" + "get-intrinsic": "^1.0.2" } }, "call-me-maybe": { @@ -1581,9 +1560,9 @@ } }, "caniuse-lite": { - "version": "1.0.30001157", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001157.tgz", - "integrity": "sha512-gOerH9Wz2IRZ2ZPdMfBvyOi3cjaz4O4dgNwPGzx8EhqAs4+2IL/O+fJsbt+znSigujoZG8bVcIAUM/I/E5K3MA==", + "version": "1.0.30001185", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001185.tgz", + "integrity": "sha512-Fpi4kVNtNvJ15H0F6vwmXtb3tukv3Zg3qhKkOGUq7KJ1J6b9kf4dnNgtEAFXhRsJo0gNj9W60+wBvn0JcTvdTg==", "dev": true }, "chalk": { @@ -1604,14 +1583,14 @@ "dev": true }, "chokidar": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.4.3.tgz", - "integrity": "sha512-DtM3g7juCXQxFVSNPNByEC2+NImtBuxQQvWlHunpJIS5Ocr0lG306cC7FCi7cEA0fzmybPUIl4txBIobk1gGOQ==", + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.1.tgz", + "integrity": "sha512-9+s+Od+W0VJJzawDma/gvBNQqkTiqYTWLuZoyAsivsI4AaWTCzHG06/TMjsf1cYe9Cb97UCEhjz7HvnPk2p/tw==", "dev": true, "requires": { "anymatch": "~3.1.1", "braces": "~3.0.2", - "fsevents": "~2.1.2", + "fsevents": "~2.3.1", "glob-parent": "~5.1.0", "is-binary-path": "~2.1.0", "is-glob": "~4.0.1", @@ -2036,9 +2015,9 @@ "dev": true }, "core-js": { - "version": "2.6.11", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.11.tgz", - "integrity": "sha512-5wjnpaT/3dV+XB4borEsnAYQchn00XSgTAWKDkEqv+K8KevjbzmofK6hfJ9TZIlpj2N0xQpazy7PiRQiWHqzWg==", + "version": "2.6.12", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.12.tgz", + "integrity": "sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==", "dev": true }, "core-util-is": { @@ -2334,28 +2313,28 @@ "dev": true }, "csso": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/csso/-/csso-4.1.0.tgz", - "integrity": "sha512-h+6w/W1WqXaJA4tb1dk7r5tVbOm97MsKxzwnvOR04UQ6GILroryjMWu3pmCCtL2mLaEStQ0fZgeGiy99mo7iyg==", + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/csso/-/csso-4.2.0.tgz", + "integrity": "sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==", "dev": true, "requires": { - "css-tree": "^1.0.0" + "css-tree": "^1.1.2" }, "dependencies": { "css-tree": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0.tgz", - "integrity": "sha512-CdVYz/Yuqw0VdKhXPBIgi8DO3NicJVYZNWeX9XcIuSp9ZoFT5IcleVRW07O5rMjdcx1mb+MEJPknTTEW7DdsYw==", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.2.tgz", + "integrity": "sha512-wCoWush5Aeo48GLhfHPbmvZs59Z+M7k5+B1xDnXbdWNcEF423DoFdqSWE0PM5aNk5nI5cp1q7ms36zGApY/sKQ==", "dev": true, "requires": { - "mdn-data": "2.0.12", + "mdn-data": "2.0.14", "source-map": "^0.6.1" } }, "mdn-data": { - "version": "2.0.12", - "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.12.tgz", - "integrity": "sha512-ULbAlgzVb8IqZ0Hsxm6hHSlQl3Jckst2YEQS7fODu9ilNWy2LvcoSY7TRFIktABP2mdppBioc66va90T+NUs8Q==", + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", + "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==", "dev": true }, "source-map": { @@ -2382,9 +2361,9 @@ "dev": true }, "debug": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.2.0.tgz", - "integrity": "sha512-IX2ncY78vDTjZMFUdmsvIRFY2Cf4FnD0wRs+nQwJU8Lu99/tPFdb0VybiiMTPe3I6rQmwsqQqRBvxU+bZ/I8sg==", + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", + "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", "dev": true, "requires": { "ms": "2.1.2" @@ -2555,9 +2534,9 @@ }, "dependencies": { "domelementtype": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.0.2.tgz", - "integrity": "sha512-wFwTwCVebUrMgGeAwRL/NhZtHAUyT9n9yg4IMDwf10+6iCMxSkVq9MGCVEH+QZWo1nNidy8kNvwmv4zWHDTqvA==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.1.0.tgz", + "integrity": "sha512-LsTgx/L5VpD+Q8lmsXSHW2WpA+eBlZ9HPf3erD1IoPF00/3JKHZ3BknUVA2QGDNu69ZNmyFmCWBSO45XjYKC5w==", "dev": true } } @@ -2600,9 +2579,9 @@ "dev": true }, "electron-to-chromium": { - "version": "1.3.592", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.592.tgz", - "integrity": "sha512-kGNowksvqQiPb1pUSQKpd8JFoGPLxYOwduNRCqCxGh/2Q1qE2JdmwouCW41lUzDxOb/2RIV4lR0tVIfboWlO9A==", + "version": "1.3.660", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.660.tgz", + "integrity": "sha512-UOSKNfUBY8FDOSo4mfaUsN3KftlNLcYOg9v5apqLvNcWj+Ogy/i9SEDMZpfSVOeDkOcpu9iusucX6jxTWzqGLA==", "dev": true }, "elegant-spinner": { @@ -2639,9 +2618,9 @@ } }, "entities": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-2.1.0.tgz", - "integrity": "sha512-hCx1oky9PFrJ611mf0ifBLBRW8lUUVRlFolb5gWRfIELabBlbp9xZvrqZLZAs+NxFnbfQoeGd8wDkygjg7U85w==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", "dev": true }, "error-ex": { @@ -2654,22 +2633,25 @@ } }, "es-abstract": { - "version": "1.17.7", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.7.tgz", - "integrity": "sha512-VBl/gnfcJ7OercKA9MVaegWsBHFjV492syMudcnQZvt/Dw8ezpcOHYZXa/J96O8vx+g4x65YKhxOwDUh63aS5g==", + "version": "1.18.0-next.2", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.0-next.2.tgz", + "integrity": "sha512-Ih4ZMFHEtZupnUh6497zEL4y2+w8+1ljnCyaTa+adcoafI1GOvMwFlDjBLfWR7y9VLfrjRJe9ocuHY1PSR9jjw==", "dev": true, "requires": { + "call-bind": "^1.0.2", "es-to-primitive": "^1.2.1", "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2", "has": "^1.0.3", "has-symbols": "^1.0.1", "is-callable": "^1.2.2", + "is-negative-zero": "^2.0.1", "is-regex": "^1.1.1", - "object-inspect": "^1.8.0", + "object-inspect": "^1.9.0", "object-keys": "^1.1.1", - "object.assign": "^4.1.1", - "string.prototype.trimend": "^1.0.1", - "string.prototype.trimstart": "^1.0.1" + "object.assign": "^4.1.2", + "string.prototype.trimend": "^1.0.3", + "string.prototype.trimstart": "^1.0.3" }, "dependencies": { "object.assign": { @@ -2968,9 +2950,9 @@ "dev": true }, "fastq": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.9.0.tgz", - "integrity": "sha512-i7FVWL8HhVY+CTkwFxkN2mk3h+787ixS5S63eb78diVRc1MCssarHq3W5cj0av7YDSwmaV928RNag+U1etRQ7w==", + "version": "1.10.1", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.10.1.tgz", + "integrity": "sha512-AWuv6Ery3pM+dY7LYS8YIaCiQvUaos9OB1RyNgaOWnaX+Tik7Onvcsf8x8c+YtDeT0maYLniBip2hox5KtEXXA==", "dev": true, "requires": { "reusify": "^1.0.4" @@ -3080,9 +3062,9 @@ "dev": true }, "fsevents": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.3.tgz", - "integrity": "sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==", + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", "dev": true, "optional": true }, @@ -3114,9 +3096,9 @@ "dev": true }, "get-intrinsic": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.0.1.tgz", - "integrity": "sha512-ZnWP+AmS1VUaLgTRy47+zKtjTxz+0xMpx3I52i+aalBK1QP19ggLF3Db89KJX7kjfOfP2eoa01qc++GwPgufPg==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz", + "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==", "dev": true, "requires": { "function-bind": "^1.1.1", @@ -3216,12 +3198,12 @@ "dev": true }, "global-dirs": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-2.0.1.tgz", - "integrity": "sha512-5HqUqdhkEovj2Of/ms3IeS/EekcO54ytHRLV4PEY2rhRwrHXLQjeVEES0Lhka0xwNDtGYn58wyC4s5+MHsOO6A==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-2.1.0.tgz", + "integrity": "sha512-MG6kdOUh/xBnyo9cJFeIKkLEc1AyFq42QTU4XiX51i2NEdxLxLWXIjEjmqKeSuKR7pAZjTqUVoT2b2huxVLgYQ==", "dev": true, "requires": { - "ini": "^1.3.5" + "ini": "1.3.7" } }, "globals": { @@ -3316,9 +3298,9 @@ } }, "graceful-fs": { - "version": "4.2.4", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz", - "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==", + "version": "4.2.6", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.6.tgz", + "integrity": "sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ==", "dev": true }, "growl": { @@ -3512,9 +3494,9 @@ }, "dependencies": { "parse-json": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.1.0.tgz", - "integrity": "sha512-+mi/lmVVNKFNVyLXV31ERiy2CY5E1/F6QtJFEzoChPRwwngMNXRDQ9GJ5WdE2Z2P4AujsOi0/+2qHID68KwfIQ==", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", "dev": true, "requires": { "@babel/code-frame": "^7.0.0", @@ -3641,9 +3623,9 @@ "dev": true }, "ini": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", - "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", + "version": "1.3.7", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.7.tgz", + "integrity": "sha512-iKpRpXP+CrP2jyrxvg1kMUpXDyRUFDWurxbnVT1vQPx+Wz9uCYsMIqYuSBLV+PAaZG/d7kRLKRFc9oDMsH+mFQ==", "dev": true }, "inquirer": { @@ -3905,9 +3887,9 @@ } }, "ip-regex": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-4.2.0.tgz", - "integrity": "sha512-n5cDDeTWWRwK1EBoWwRti+8nP4NbytBBY0pldmnIkq6Z55KNFmWofh4rl9dPZpj+U/nVq7gweR3ylrvMt4YZ5A==", + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-4.3.0.tgz", + "integrity": "sha512-B9ZWJxHHOHUhUjCPrMpLD4xEq35bUTClHM1S6CBU5ixQnkZmwipwgc96vAd7AAGM9TGHvJR+Uss+/Ak6UphK+Q==", "dev": true }, "is-absolute-url": { @@ -3958,9 +3940,9 @@ "dev": true }, "is-callable": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.2.tgz", - "integrity": "sha512-dnMqspv5nU3LoewK2N/y7KLtxtakvTuaCsU9FU50/QDmdbHNy/4/JuRtMHqRU22o3q+W89YQndQEeCVwK+3qrA==", + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.3.tgz", + "integrity": "sha512-J1DcMe8UYTBSrKezuIUTUwjXsho29693unXM2YhJUTR2txK/eG47bvNa/wipPFmZFgr/N6f1GA66dv0mEyTIyQ==", "dev": true }, "is-ci": { @@ -3987,9 +3969,9 @@ } }, "is-core-module": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.1.0.tgz", - "integrity": "sha512-YcV7BgVMRFRua2FqQzKtTDMz8iCuLEyGKjr70q8Zm1yy2qKcurbFEd79PAdHV77oL3NrAaOVQIbMmiHQCHB7ZA==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.2.0.tgz", + "integrity": "sha512-XRAfAdyyY5F5cOXn7hYQDqh2Xmii+DEfIcQGxK/uNwMHhIkPWO0g8msXcbzLe+MpGoR951MlqM/2iIlU4vKDdQ==", "dev": true, "requires": { "has": "^1.0.3" @@ -4104,9 +4086,9 @@ "dev": true }, "is-negative-zero": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.0.tgz", - "integrity": "sha1-lVOxIbD6wohp2p7UWeIMdUN4hGE=", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.1.tgz", + "integrity": "sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w==", "dev": true }, "is-npm": { @@ -4191,11 +4173,12 @@ } }, "is-regex": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.1.tgz", - "integrity": "sha512-1+QkEcxiLlB7VEyFtyBg94e08OAsvq7FUBgApTq/w2ymCLyKJgDPsybBENVtA7XCQEgEXxKPonG+mvYRxh/LIg==", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.2.tgz", + "integrity": "sha512-axvdhb5pdhEVThqJzYXwMlVuZwC+FF2DpcOhTS+y/8jVq4trxyPgfcwIxIKiyeuLlSQYKkmUaPQJ8ZE4yNKXDg==", "dev": true, "requires": { + "call-bind": "^1.0.2", "has-symbols": "^1.0.1" } }, @@ -4299,9 +4282,9 @@ "dev": true }, "js-yaml": { - "version": "3.14.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.0.tgz", - "integrity": "sha512-/4IbIeHcD9VMHFqDR/gQ7EdZdLimOvW2DdcxFjdyyZ9NsbS+ccrXqVWDtab/lRl5AlUqmpBx8EhPaWR+OtY17A==", + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", "dev": true, "requires": { "argparse": "^1.0.7", @@ -4339,9 +4322,9 @@ "dev": true }, "json5": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.3.tgz", - "integrity": "sha512-KXPvOm8K9IJKFM0bmdn8QXh7udDh1g/giieX0NLCaMnb4hEiVFqnop2ImTXCc5e0/oHz3LTqmHGtExn5hfMkOA==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.0.tgz", + "integrity": "sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==", "dev": true, "requires": { "minimist": "^1.2.5" @@ -5043,18 +5026,18 @@ } }, "mime-db": { - "version": "1.44.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.44.0.tgz", - "integrity": "sha512-/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg==", + "version": "1.45.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.45.0.tgz", + "integrity": "sha512-CkqLUxUk15hofLoLyljJSrukZi8mAtgd+yE5uO4tqRZsdsAJKv0O+rFMhVDRJgozy+yG6md5KwuXhD4ocIoP+w==", "dev": true }, "mime-types": { - "version": "2.1.27", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.27.tgz", - "integrity": "sha512-JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w==", + "version": "2.1.28", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.28.tgz", + "integrity": "sha512-0TO2yJ5YHYr7M2zzT7gDU1tbwHxEUWBCLt0lscSNpcdAfFyJOVEpRYNS7EXVcTLNj/25QO8gulHC5JtTzSE2UQ==", "dev": true, "requires": { - "mime-db": "1.44.0" + "mime-db": "1.45.0" } }, "mimic-fn": { @@ -5292,9 +5275,9 @@ } }, "node-releases": { - "version": "1.1.66", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.66.tgz", - "integrity": "sha512-JHEQ1iWPGK+38VLB2H9ef2otU4l8s3yAMt9Xf934r6+ojCYDMHPMqvCc9TnzfeFSP1QEOeU6YZEd3+De0LTCgg==", + "version": "1.1.70", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.70.tgz", + "integrity": "sha512-Slf2s69+2/uAD79pVVQo8uSiC34+g8GWY8UH2Qtqv34ZfhYrxpYpfzs9Js9d6O0mbDmALuxaTlplnBTnSELcrw==", "dev": true }, "normalize-package-data": { @@ -5469,9 +5452,9 @@ "dev": true }, "hosted-git-info": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-3.0.7.tgz", - "integrity": "sha512-fWqc0IcuXs+BmE9orLDyVykAG9GJtGLGuZAAqgcckPgv5xad4AcXGIv8galtQvlwutxSlaMcdw7BUtq2EIvqCQ==", + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-3.0.8.tgz", + "integrity": "sha512-aXpmwoOhRBrw6X3j0h5RloK4x1OzsxMPyxqIHyNfSe2pypkVTZFpEiRoSipPEPlMrh0HW/XsjkJ5WgnCirpNUw==", "dev": true, "requires": { "lru-cache": "^6.0.0" @@ -5584,9 +5567,9 @@ } }, "parse-json": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.1.0.tgz", - "integrity": "sha512-+mi/lmVVNKFNVyLXV31ERiy2CY5E1/F6QtJFEzoChPRwwngMNXRDQ9GJ5WdE2Z2P4AujsOi0/+2qHID68KwfIQ==", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", "dev": true, "requires": { "@babel/code-frame": "^7.0.0", @@ -5779,9 +5762,9 @@ } }, "object-inspect": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.8.0.tgz", - "integrity": "sha512-jLdtEOB112fORuypAyl/50VRVIBIdVQOSUUGQHzJ4xBSbit81zRarz7GThkEFZy1RceYrWYcPcBFPQwHyAc1gA==", + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.9.0.tgz", + "integrity": "sha512-i3Bp9iTqwhaLZBxGkRfo5ZbE07BQRT7MGu8+nNgwW9ItGp1TzCTw2DLEoWwjClxBjOFI/hWljTAmYGCEwmtnOw==", "dev": true }, "object-keys": { @@ -5812,13 +5795,14 @@ } }, "object.getownpropertydescriptors": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.0.tgz", - "integrity": "sha512-Z53Oah9A3TdLoblT7VKJaTDdXdT+lQO+cNpKVnya5JDe9uLvzu1YyY1yFDFrcxrlRgWrEFH0jJtD/IbuwjcEVg==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.1.tgz", + "integrity": "sha512-6DtXgZ/lIZ9hqx4GtZETobXLR/ZLaa0aqV0kzbn80Rf8Z2e/XFnhA0I7p07N2wH8bBBltr2xQPi6sbKWAY2Eng==", "dev": true, "requires": { + "call-bind": "^1.0.0", "define-properties": "^1.1.3", - "es-abstract": "^1.17.0-next.1" + "es-abstract": "^1.18.0-next.1" } }, "object.pick": { @@ -5831,14 +5815,14 @@ } }, "object.values": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.1.tgz", - "integrity": "sha512-WTa54g2K8iu0kmS/us18jEmdv1a4Wi//BZ/DTVYEcH0XhLM5NYdpDHja3gt57VrZLcNAO2WGA+KpWsDBaHt6eA==", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.2.tgz", + "integrity": "sha512-MYC0jvJopr8EK6dPBiO8Nb9mvjdypOachO5REGk6MXzujbBrAisKo3HmdEI6kZDL6fC31Mwee/5YbtMebixeag==", "dev": true, "requires": { + "call-bind": "^1.0.0", "define-properties": "^1.1.3", - "es-abstract": "^1.17.0-next.1", - "function-bind": "^1.1.1", + "es-abstract": "^1.18.0-next.1", "has": "^1.0.3" } }, @@ -5867,9 +5851,9 @@ } }, "open": { - "version": "7.3.0", - "resolved": "https://registry.npmjs.org/open/-/open-7.3.0.tgz", - "integrity": "sha512-mgLwQIx2F/ye9SmbrUkurZCnkoXyXyu9EbHtJZrICjVAJfyMArdHp3KkixGdZx1ZHFPNIwl0DDM1dFFqXbTLZw==", + "version": "7.4.0", + "resolved": "https://registry.npmjs.org/open/-/open-7.4.0.tgz", + "integrity": "sha512-PGoBCX/lclIWlpS/R2PQuIR4NJoXh6X5AwVzE7WXnWRGvHg7+4TBCgsujUgiPpm0K1y4qvQeWnCWVTpTKZBtvA==", "dev": true, "requires": { "is-docker": "^2.0.0", @@ -7396,9 +7380,9 @@ }, "dependencies": { "@nodelib/fs.stat": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.3.tgz", - "integrity": "sha512-bQBFruR2TAwoevBEd/NWMoAAtNGzTRgdrqnYCc7dhzfoNvqPzLyqlEQnzZ3kVnNrSp25iyxE00/3h2fqGAGArA==", + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.4.tgz", + "integrity": "sha512-IYlHJA0clt2+Vg7bccq+TzRdJvv19c2INqBSsoOLp1je7xjtr7J26+WXR72MCdvU9q1qTzIWDfhMf+DRvQJK4Q==", "dev": true }, "array-union": { @@ -7417,9 +7401,9 @@ } }, "fast-glob": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.4.tgz", - "integrity": "sha512-kr/Oo6PX51265qeuCYsyGypiO5uJFgBS0jksyG7FUeCyQzNwYnzrNIMR1NXfkZXsMYXYLRAHgISHBz8gQcxKHQ==", + "version": "3.2.5", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.5.tgz", + "integrity": "sha512-2DtFcgT68wiTTiwZ2hNdJfcHNke9XOfnwmBRWXhmeKM8rF0TGwmC/Qto3S7RoZKp5cilZbxzO5iTNTQsJ+EeDg==", "dev": true, "requires": { "@nodelib/fs.stat": "^2.0.2", @@ -8071,9 +8055,9 @@ } }, "source-map-url": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz", - "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=", + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.1.tgz", + "integrity": "sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==", "dev": true }, "sourcemap-codec": { @@ -8109,9 +8093,9 @@ } }, "spdx-license-ids": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.6.tgz", - "integrity": "sha512-+orQK83kyMva3WyPf59k1+Y525csj5JejicWut55zeTWANuN17qSiSLUXWtzHeNWORSvT7GLDJ/E/XiIWoXBTw==", + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.7.tgz", + "integrity": "sha512-U+MTEOO0AiDzxwFvoa4JVnMV6mZlJKk2sBLt90s7G0Gd0Mlknc7kxEn3nuDPNZRta7O2uy8oLcZLVT+4sqNZHQ==", "dev": true }, "split": { @@ -8206,101 +8190,34 @@ } }, "string.prototype.padend": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string.prototype.padend/-/string.prototype.padend-3.1.0.tgz", - "integrity": "sha512-3aIv8Ffdp8EZj8iLwREGpQaUZiPyrWrpzMBHvkiSW/bK/EGve9np07Vwy7IJ5waydpGXzQZu/F8Oze2/IWkBaA==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/string.prototype.padend/-/string.prototype.padend-3.1.1.tgz", + "integrity": "sha512-eCzTASPnoCr5Ht+Vn1YXgm8SB015hHKgEIMu9Nr9bQmLhRBxKRfmzSj/IQsxDFc8JInJDDFA0qXwK+xxI7wDkg==", "dev": true, "requires": { + "call-bind": "^1.0.0", "define-properties": "^1.1.3", - "es-abstract": "^1.17.0-next.1" + "es-abstract": "^1.18.0-next.1" } }, "string.prototype.trimend": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.2.tgz", - "integrity": "sha512-8oAG/hi14Z4nOVP0z6mdiVZ/wqjDtWSLygMigTzAb+7aPEDTleeFf+WrF+alzecxIRkckkJVn+dTlwzJXORATw==", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.3.tgz", + "integrity": "sha512-ayH0pB+uf0U28CtjlLvL7NaohvR1amUvVZk+y3DYb0Ey2PUV5zPkkKy9+U1ndVEIXO8hNg18eIv9Jntbii+dKw==", "dev": true, "requires": { - "define-properties": "^1.1.3", - "es-abstract": "^1.18.0-next.1" - }, - "dependencies": { - "es-abstract": { - "version": "1.18.0-next.1", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.0-next.1.tgz", - "integrity": "sha512-I4UGspA0wpZXWENrdA0uHbnhte683t3qT/1VFH9aX2dA5PPSf6QW5HHXf5HImaqPmjXaVeVk4RGWnaylmV7uAA==", - "dev": true, - "requires": { - "es-to-primitive": "^1.2.1", - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.1", - "is-callable": "^1.2.2", - "is-negative-zero": "^2.0.0", - "is-regex": "^1.1.1", - "object-inspect": "^1.8.0", - "object-keys": "^1.1.1", - "object.assign": "^4.1.1", - "string.prototype.trimend": "^1.0.1", - "string.prototype.trimstart": "^1.0.1" - } - }, - "object.assign": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", - "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", - "dev": true, - "requires": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3", - "has-symbols": "^1.0.1", - "object-keys": "^1.1.1" - } - } + "call-bind": "^1.0.0", + "define-properties": "^1.1.3" } }, "string.prototype.trimstart": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.2.tgz", - "integrity": "sha512-7F6CdBTl5zyu30BJFdzSTlSlLPwODC23Od+iLoVH8X6+3fvDPPuBVVj9iaB1GOsSTSIgVfsfm27R2FGrAPznWg==", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.3.tgz", + "integrity": "sha512-oBIBUy5lea5tt0ovtOFiEQaBkoBBkyJhZXzJYrSmDo5IUUqbOPvVezuRs/agBIdZ2p2Eo1FD6bD9USyBLfl3xg==", "dev": true, "requires": { - "define-properties": "^1.1.3", - "es-abstract": "^1.18.0-next.1" - }, - "dependencies": { - "es-abstract": { - "version": "1.18.0-next.1", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.0-next.1.tgz", - "integrity": "sha512-I4UGspA0wpZXWENrdA0uHbnhte683t3qT/1VFH9aX2dA5PPSf6QW5HHXf5HImaqPmjXaVeVk4RGWnaylmV7uAA==", - "dev": true, - "requires": { - "es-to-primitive": "^1.2.1", - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.1", - "is-callable": "^1.2.2", - "is-negative-zero": "^2.0.0", - "is-regex": "^1.1.1", - "object-inspect": "^1.8.0", - "object-keys": "^1.1.1", - "object.assign": "^4.1.1", - "string.prototype.trimend": "^1.0.1", - "string.prototype.trimstart": "^1.0.1" - } - }, - "object.assign": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", - "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", - "dev": true, - "requires": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3", - "has-symbols": "^1.0.1", - "object-keys": "^1.1.1" - } - } + "call-bind": "^1.0.0", + "define-properties": "^1.1.3" } }, "string_decoder": { @@ -8556,9 +8473,9 @@ "dev": true }, "tlds": { - "version": "1.212.0", - "resolved": "https://registry.npmjs.org/tlds/-/tlds-1.212.0.tgz", - "integrity": "sha512-03rYYO1rGhOYpdYB+wlLY2d0xza6hdN/S67ol2ZpaH+CtFedMVAVhj8ft0rwxEkr90zatou8opBv7Xp6X4cK6g==", + "version": "1.216.0", + "resolved": "https://registry.npmjs.org/tlds/-/tlds-1.216.0.tgz", + "integrity": "sha512-y9A+eMRKLdAOclcFRTk3durpvCWiEdWcQhCOopCO654pckH9+o5Z5VgBsTTAFqtyxB8yFRXSG1q7BCCeHyrm0w==", "dev": true }, "tmp": { @@ -8651,9 +8568,9 @@ "dev": true }, "typescript": { - "version": "3.9.7", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.9.7.tgz", - "integrity": "sha512-BLbiRkiBzAwsjut4x/dsibSTB6yWpwT5qWmC2OfuCg3GgVQCSgMs4vEctYPhsaGtd0AeuuHMkjZ2h2WG8MSzRw==", + "version": "3.9.8", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.9.8.tgz", + "integrity": "sha512-nDbnFkUZZjkQ92qwKX+C+jtk4OGfU8H9toSEs3uAsl8cxLjG2sqQm6leF/pLWvm9FAEJ6KHkYMAbHYaY2ITeVg==", "dev": true }, "union-value": { @@ -8823,9 +8740,9 @@ } }, "uri-js": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.0.tgz", - "integrity": "sha512-B0yRTzYdUCCn9n+F4+Gh4yIDtMQcaJsmYBDsTSG8g/OejKBodLQ2IHfN3bM7jUsRXndopT7OIXWdYqc1fjmV6g==", + "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" @@ -8886,6 +8803,39 @@ "es-abstract": "^1.17.2", "has-symbols": "^1.0.1", "object.getownpropertydescriptors": "^2.1.0" + }, + "dependencies": { + "es-abstract": { + "version": "1.17.7", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.7.tgz", + "integrity": "sha512-VBl/gnfcJ7OercKA9MVaegWsBHFjV492syMudcnQZvt/Dw8ezpcOHYZXa/J96O8vx+g4x65YKhxOwDUh63aS5g==", + "dev": true, + "requires": { + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1", + "is-callable": "^1.2.2", + "is-regex": "^1.1.1", + "object-inspect": "^1.8.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.1", + "string.prototype.trimend": "^1.0.1", + "string.prototype.trimstart": "^1.0.1" + } + }, + "object.assign": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", + "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", + "dev": true, + "requires": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3", + "has-symbols": "^1.0.1", + "object-keys": "^1.1.1" + } + } } }, "uuid": { @@ -9087,9 +9037,9 @@ "dev": true }, "y18n": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz", - "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==", + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.1.tgz", + "integrity": "sha512-wNcy4NvjMYL8gogWWYAO7ZFWFfHcbdbE57tZO8e4cbpj8tfUcwrwqSl3ad8HxpYWCdXcJUCeKKZS62Av1affwQ==", "dev": true }, "yallist": { diff --git a/package.json b/package.json index 4d6d2d2..f57d10b 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "as-bind", "description": "Isomorphic library to handle passing high-level data structures between AssemblyScript and JavaScript 🤝🚀", - "version": "0.5.0", + "version": "0.6.0", "main": "dist/as-bind.cjs.js", "module": "dist/as-bind.esm.js", "iife": "dist/as-bind.iife.js", @@ -14,16 +14,16 @@ "lint": "prettier --write **/*.js **/*.ts **/*.json !build/**/* !dist/**/*", "lint:ci": "prettier --check **/*.js **/*.ts **/*.json !build/**/* !dist/**/*", "lib:watch": "chokidar --initial \"lib/**/*\" -c \"run-s lib:wasm:build lib:js:build:dev test\"", - "lib:test:watch": "chokidar \"test/**/*.js\" \"test/**/*.ts\" -c \"run-s lib:test:build lib:test:build test\"", + "lib:test:watch": "chokidar \"test/**/*.js\" \"test/**/*.ts\" -c \"run-s lib:wasm:build lib:test:build test\"", "lib:wasm:build": "run-s lib:wasm:build:debug lib:wasm:build:optimized lib:wasm:build:cp", - "lib:wasm:build:debug": "asc lib/assembly/as-bind.ts -b dist/as-bind.debug.wasm -t dist/as-bind.debug.wat --sourceMap --debug --runtime full", - "lib:wasm:build:optimized": "asc lib/assembly/as-bind.ts -b dist/as-bind.wasm --sourceMap dist/as-bind.wasm.map -t dist/as-bind.wat --runtime full -O3", + "lib:wasm:build:debug": "asc lib/assembly/as-bind.ts -b dist/as-bind.debug.wasm -t dist/as-bind.debug.wat --sourceMap --debug --exportRuntime", + "lib:wasm:build:optimized": "asc lib/assembly/as-bind.ts -b dist/as-bind.wasm --sourceMap dist/as-bind.wasm.map -t dist/as-bind.wat -O3 --exportRuntime", "lib:wasm:build:cp": "cpy 'lib/assembly/**/*' dist", "lib:js:build": "rollup -c --environment LIB,PROD && cpy 'lib/as-bind.d.ts' dist", "lib:js:build:dev": "rollup -c --environment LIB,DEV", "lib:test:build": "run-s lib:test:build:entry lib:test:build:no-entry", - "lib:test:build:entry": "asc lib/assembly/as-bind.ts test/assembly/test.ts -b test/assembly/test.wasm --runtime full --debug", - "lib:test:build:no-entry": "asc test/assembly/test.ts -b test/assembly/test-no-entry.wasm --runtime full --debug", + "lib:test:build:entry": "asc lib/assembly/as-bind.ts test/assembly/test.ts -b test/assembly/test.wasm --debug --runtime incremental --exportRuntime", + "lib:test:build:no-entry": "asc test/assembly/test.ts -b test/assembly/test-no-entry.wasm --debug --runtime incremental --exportRuntime", "lib:deploy": "npm run build && np", "md:build": "run-s md:wasm:build md:ts:build md:js:build", "premd:dev": "npm run md:build", @@ -31,7 +31,7 @@ "md:wasm:watch": "chokidar --initial \"examples/markdown-parser/assembly/**/*\" -c \"run-s md:wasm:build\"", "md:ts:watch": "chokidar --initial \"examples/markdown-parser/assembly/**/*\" -c \"run-s md:ts:build\"", "md:js:watch": "chokidar --initial \"examples/markdown-parser/**/*\" -c \"rollup -c --environment MD,DEV\"", - "md:wasm:build": "asc lib/assembly/as-bind.ts examples/markdown-parser/assembly/index.ts -b dist/examples/markdown-parser/index.wasm -t dist/examples/markdown-parser/index.wat --sourceMap dist/examples/markdown-parser/index.wasm.map --runtime full", + "md:wasm:build": "asc lib/assembly/as-bind.ts examples/markdown-parser/assembly/index.ts -b dist/examples/markdown-parser/index.wasm -t dist/examples/markdown-parser/index.wat --sourceMap dist/examples/markdown-parser/index.wasm.map --exportRuntime", "md:ts:build": "tsc --project examples/markdown-parser/assembly/ --outDir dist/ts/ --module \"es2015\"", "md:js:build": "rollup -c --environment MD,PROD", "md:deploy": "run-s build md:build md:deploy:gh-pages", @@ -103,7 +103,11 @@ }, "homepage": "https://github.com/torch2424/as-bind#readme", "dependencies": { - "@assemblyscript/loader": "^0.17.2", - "assemblyscript": "^0.17.2" + "@assemblyscript/loader": "~0.18.7", + "assemblyscript": "~0.18.7" + }, + "peerDependencies": { + "@assemblyscript/loader": "0.18.x", + "assemblyscript": "0.18.x" } } diff --git a/test/assembly/test-no-entry.wasm b/test/assembly/test-no-entry.wasm index 49bc4546f93744fc12c7841d732a1f70ff0b1c32..a7933c3cd463a0be2d87ee25c8c47c04be0722d9 100644 GIT binary patch literal 26231 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 literal 19458 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 diff --git a/test/test.js b/test/test.js index e8d2230..0783ae6 100644 --- a/test/test.js +++ b/test/test.js @@ -76,7 +76,8 @@ describe("asbind", () => { assert(asbindInstance.exports !== undefined, true); assert(asbindInstance.exports.helloWorld !== undefined, true); assert(asbindInstance.exports.__new !== undefined, true); - assert(asbindInstance.exports.__release !== undefined, true); + assert(asbindInstance.exports.__pin !== undefined, true); + assert(asbindInstance.exports.__unpin !== undefined, true); }); it("should instantiateSync WebAssembly.Module", async () => { @@ -86,7 +87,8 @@ describe("asbind", () => { assert(asbindInstance.exports !== undefined, true); assert(asbindInstance.exports.helloWorld !== undefined, true); assert(asbindInstance.exports.__new !== undefined, true); - assert(asbindInstance.exports.__release !== undefined, true); + assert(asbindInstance.exports.__pin !== undefined, true); + assert(asbindInstance.exports.__unpin !== undefined, true); }); it("should instantiate Uint8Array", async () => { @@ -95,7 +97,8 @@ describe("asbind", () => { assert(asbindInstance.exports !== undefined, true); assert(asbindInstance.exports.helloWorld !== undefined, true); assert(asbindInstance.exports.__new !== undefined, true); - assert(asbindInstance.exports.__release !== undefined, true); + assert(asbindInstance.exports.__pin !== undefined, true); + assert(asbindInstance.exports.__unpin !== undefined, true); }); it("should instantiateSync Uint8Array", async () => { @@ -104,7 +107,8 @@ describe("asbind", () => { assert(asbindInstance.exports !== undefined, true); assert(asbindInstance.exports.helloWorld !== undefined, true); assert(asbindInstance.exports.__new !== undefined, true); - assert(asbindInstance.exports.__release !== undefined, true); + assert(asbindInstance.exports.__pin !== undefined, true); + assert(asbindInstance.exports.__unpin !== undefined, true); }); it("should instantiate Promise/Response", async () => { @@ -130,7 +134,8 @@ describe("asbind", () => { assert(asbindInstance.exports !== undefined, true); assert(asbindInstance.exports.helloWorld !== undefined, true); assert(asbindInstance.exports.__new !== undefined, true); - assert(asbindInstance.exports.__release !== undefined, true); + assert(asbindInstance.exports.__pin !== undefined, true); + assert(asbindInstance.exports.__unpin !== undefined, true); }); }); From 0ba6b146606a5988da55389962fca705d86fb536 Mon Sep 17 00:00:00 2001 From: Aaron Turner Date: Tue, 9 Feb 2021 12:29:39 -0800 Subject: [PATCH 3/5] Updated the docs about supported runtimes --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 76987f6..6164b01 100644 --- a/README.md +++ b/README.md @@ -58,7 +58,7 @@ To enable as-bind for your AssemblyScript Wasm modules, add the as-bind entrypoi The two things to note are: - `./node_modules/as-bind/lib/assembly/as-bind.ts` - This is the as-bind entryfile, used for exporting IDs of AssemblyScript classes so we can use them for instantiating new classes -- `--runtime incremental` - This specifies that we are using the incremental runtime / garbage collection option (The AssemblyScript default). +- `--runtime incremental` - This specifies that we are using the incremental runtime / garbage collection option (The AssemblyScript default). However, [all the runtime options](https://www.assemblyscript.org/garbage-collection.html) are supported (incremental, minimal, and stub). - `--exportRuntime` - This allows us to use the [AssemblyScript Garbage Collection functions added in 0.18.x](https://www.assemblyscript.org/garbage-collection.html) For **optional testing purposes** , let's export an example function we can try in `your-entryfile.ts`: From e1f193bb6819e42b9f716edc42f7238a4f789898 Mon Sep 17 00:00:00 2001 From: Aaron Turner Date: Tue, 9 Feb 2021 12:31:40 -0800 Subject: [PATCH 4/5] typo in README --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 6164b01..2140580 100644 --- a/README.md +++ b/README.md @@ -55,7 +55,7 @@ To enable as-bind for your AssemblyScript Wasm modules, add the as-bind entrypoi `asc ./node_modules/as-bind/lib/assembly/as-bind.ts your-entryfile.ts --runtime incremental --exportRuntime [...other cli options...]` -The two things to note are: +The things to notice are: - `./node_modules/as-bind/lib/assembly/as-bind.ts` - This is the as-bind entryfile, used for exporting IDs of AssemblyScript classes so we can use them for instantiating new classes - `--runtime incremental` - This specifies that we are using the incremental runtime / garbage collection option (The AssemblyScript default). However, [all the runtime options](https://www.assemblyscript.org/garbage-collection.html) are supported (incremental, minimal, and stub). From b7ed0ac1d0cc81283bbb546eb848b23e6dddc4c1 Mon Sep 17 00:00:00 2001 From: Aaron Turner Date: Tue, 9 Feb 2021 12:32:58 -0800 Subject: [PATCH 5/5] Added a missing --runtime --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index f57d10b..3b73898 100644 --- a/package.json +++ b/package.json @@ -31,7 +31,7 @@ "md:wasm:watch": "chokidar --initial \"examples/markdown-parser/assembly/**/*\" -c \"run-s md:wasm:build\"", "md:ts:watch": "chokidar --initial \"examples/markdown-parser/assembly/**/*\" -c \"run-s md:ts:build\"", "md:js:watch": "chokidar --initial \"examples/markdown-parser/**/*\" -c \"rollup -c --environment MD,DEV\"", - "md:wasm:build": "asc lib/assembly/as-bind.ts examples/markdown-parser/assembly/index.ts -b dist/examples/markdown-parser/index.wasm -t dist/examples/markdown-parser/index.wat --sourceMap dist/examples/markdown-parser/index.wasm.map --exportRuntime", + "md:wasm:build": "asc lib/assembly/as-bind.ts examples/markdown-parser/assembly/index.ts -b dist/examples/markdown-parser/index.wasm -t dist/examples/markdown-parser/index.wat --sourceMap dist/examples/markdown-parser/index.wasm.map --runtime incremental --exportRuntime", "md:ts:build": "tsc --project examples/markdown-parser/assembly/ --outDir dist/ts/ --module \"es2015\"", "md:js:build": "rollup -c --environment MD,PROD", "md:deploy": "run-s build md:build md:deploy:gh-pages",