From 488101bf9646ed35d6f9c67de94e9f1aac75301a Mon Sep 17 00:00:00 2001 From: MaxGraey Date: Sat, 6 Nov 2021 21:34:55 +0200 Subject: [PATCH 01/32] update --- index.js | 3 +- package-lock.json | 287 ++++++++++++++++++++++++++++++++-------------- package.json | 5 +- 3 files changed, 205 insertions(+), 90 deletions(-) diff --git a/index.js b/index.js index e8e52df9a7..c66acaba46 100644 --- a/index.js +++ b/index.js @@ -1,7 +1,8 @@ try { require("source-map-support").install(); } catch (e) { /* nop */ } require("ts-node").register({ project: require("path").join(__dirname, "src", "tsconfig.json"), - skipIgnore: true + skipIgnore: true, + files: true }); require("./src/glue/js"); module.exports = require("./src"); diff --git a/package-lock.json b/package-lock.json index 879adff5f7..bd0ab9d901 100644 --- a/package-lock.json +++ b/package-lock.json @@ -11,8 +11,7 @@ "dependencies": { "binaryen": "102.0.0-nightly.20211028", "long": "^4.0.0", - "source-map-support": "^0.5.20", - "ts-node": "^6.2.0" + "source-map-support": "^0.5.20" }, "bin": { "asc": "bin/asc", @@ -27,7 +26,7 @@ "glob": "^7.2.0", "physical-cpu-count": "^2.0.0", "ts-loader": "^9.2.6", - "ts-node": "^6.2.0", + "ts-node": "^10.4.0", "typescript": "~4.4.4", "webpack": "^5.61.0", "webpack-cli": "^4.9.1" @@ -134,6 +133,27 @@ "node": ">=4" } }, + "node_modules/@cspotcode/source-map-consumer": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/@cspotcode/source-map-consumer/-/source-map-consumer-0.8.0.tgz", + "integrity": "sha512-41qniHzTU8yAGbCp04ohlmSrZf8bkf/iJsl3V0dRGsQN/5GFfx+LbCSsCpp2gqrqjTVg/K6O8ycoV35JIwAzAg==", + "dev": true, + "engines": { + "node": ">= 12" + } + }, + "node_modules/@cspotcode/source-map-support": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.7.0.tgz", + "integrity": "sha512-X4xqRHqN8ACt2aHVe51OxeA2HjbcL4MqFqXkrmQszJ1NOUuUu5u6Vqx/0lZSVNku7velL5FC/s5uEAj1lsBMhA==", + "dev": true, + "dependencies": { + "@cspotcode/source-map-consumer": "0.8.0" + }, + "engines": { + "node": ">=12" + } + }, "node_modules/@discoveryjs/json-ext": { "version": "0.5.3", "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.3.tgz", @@ -218,6 +238,30 @@ "node": ">= 8" } }, + "node_modules/@tsconfig/node10": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.8.tgz", + "integrity": "sha512-6XFfSQmMgq0CFLY1MslA/CPUfhIL919M1rMsa5lP2P097N2Wd1sSX0tx1u4olM16fLNhtHZpRhedZJphNJqmZg==", + "dev": true + }, + "node_modules/@tsconfig/node12": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.9.tgz", + "integrity": "sha512-/yBMcem+fbvhSREH+s14YJi18sp7J9jpuhYByADT2rypfajMZZN4WQ6zBGgBKp53NKmqI36wFYDb3yaMPurITw==", + "dev": true + }, + "node_modules/@tsconfig/node14": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.1.tgz", + "integrity": "sha512-509r2+yARFfHHE7T6Puu2jjkoycftovhXRqW328PDXTVGKihlb1P8Z9mMZH04ebyajfRY7dedfGynlrFHJUQCg==", + "dev": true + }, + "node_modules/@tsconfig/node16": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.2.tgz", + "integrity": "sha512-eZxlbI8GZscaGS7kkc/trHTT5xgrjH3/1n2JDwusC9iahPKWMRvRjJSAN5mCXviuTGQ/lHnhvv8Q1YTpnfz9gA==", + "dev": true + }, "node_modules/@types/eslint": { "version": "7.2.12", "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-7.2.12.tgz", @@ -655,6 +699,15 @@ "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" } }, + "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", @@ -713,6 +766,12 @@ "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/argparse": { "version": "1.0.10", "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", @@ -731,15 +790,6 @@ "node": ">=8" } }, - "node_modules/arrify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", - "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/astral-regex": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", @@ -907,6 +957,12 @@ "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", "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", @@ -1919,24 +1975,6 @@ "node": "*" } }, - "node_modules/minimist": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", - "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", - "dev": true - }, - "node_modules/mkdirp": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", - "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", - "dev": true, - "dependencies": { - "minimist": "^1.2.5" - }, - "bin": { - "mkdirp": "bin/cmd.js" - } - }, "node_modules/ms": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", @@ -2685,31 +2723,62 @@ } }, "node_modules/ts-node": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-6.2.0.tgz", - "integrity": "sha512-ZNT+OEGfUNVMGkpIaDJJ44Zq3Yr0bkU/ugN1PHbU+/01Z7UV1fsELRiTx1KuQNvQ1A3pGh3y25iYF6jXgxV21A==", + "version": "10.4.0", + "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.4.0.tgz", + "integrity": "sha512-g0FlPvvCXSIO1JDF6S232P5jPYqBkRL9qly81ZgAOSU7rwI0stphCgd2kLiCrU9DjQCrJMWEqcNSjQL02s6d8A==", "dev": true, "dependencies": { - "arrify": "^1.0.0", - "buffer-from": "^1.1.0", - "diff": "^3.1.0", + "@cspotcode/source-map-support": "0.7.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", - "minimist": "^1.2.0", - "mkdirp": "^0.5.1", - "source-map-support": "^0.5.6", - "yn": "^2.0.0" + "yn": "3.1.1" + }, + "bin": { + "ts-node": "dist/bin.js", + "ts-node-cwd": "dist/bin-cwd.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/ts-node/node_modules/acorn": { + "version": "8.5.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.5.0.tgz", + "integrity": "sha512-yXbYeFy+jUuYd3/CDcg2NkIYE991XYX/bje7LmjJigUciaeO1JR4XxXgCIV1/Zc/dRuFEyw1L0pbA+qynJkW5Q==", + "dev": true, "bin": { - "ts-node": "dist/bin.js" + "acorn": "bin/acorn" }, "engines": { - "node": ">=4.2.0" + "node": ">=0.4.0" } }, "node_modules/ts-node/node_modules/diff": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz", - "integrity": "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==", + "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" @@ -2992,12 +3061,12 @@ "dev": true }, "node_modules/yn": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/yn/-/yn-2.0.0.tgz", - "integrity": "sha1-5a2ryKz0CPY4X8dklWhMiOavaJo=", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", + "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", "dev": true, "engines": { - "node": ">=4" + "node": ">=6" } }, "node_modules/yocto-queue": { @@ -3098,6 +3167,21 @@ } } }, + "@cspotcode/source-map-consumer": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/@cspotcode/source-map-consumer/-/source-map-consumer-0.8.0.tgz", + "integrity": "sha512-41qniHzTU8yAGbCp04ohlmSrZf8bkf/iJsl3V0dRGsQN/5GFfx+LbCSsCpp2gqrqjTVg/K6O8ycoV35JIwAzAg==", + "dev": true + }, + "@cspotcode/source-map-support": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.7.0.tgz", + "integrity": "sha512-X4xqRHqN8ACt2aHVe51OxeA2HjbcL4MqFqXkrmQszJ1NOUuUu5u6Vqx/0lZSVNku7velL5FC/s5uEAj1lsBMhA==", + "dev": true, + "requires": { + "@cspotcode/source-map-consumer": "0.8.0" + } + }, "@discoveryjs/json-ext": { "version": "0.5.3", "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.3.tgz", @@ -3164,6 +3248,30 @@ "fastq": "^1.6.0" } }, + "@tsconfig/node10": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.8.tgz", + "integrity": "sha512-6XFfSQmMgq0CFLY1MslA/CPUfhIL919M1rMsa5lP2P097N2Wd1sSX0tx1u4olM16fLNhtHZpRhedZJphNJqmZg==", + "dev": true + }, + "@tsconfig/node12": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.9.tgz", + "integrity": "sha512-/yBMcem+fbvhSREH+s14YJi18sp7J9jpuhYByADT2rypfajMZZN4WQ6zBGgBKp53NKmqI36wFYDb3yaMPurITw==", + "dev": true + }, + "@tsconfig/node14": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.1.tgz", + "integrity": "sha512-509r2+yARFfHHE7T6Puu2jjkoycftovhXRqW328PDXTVGKihlb1P8Z9mMZH04ebyajfRY7dedfGynlrFHJUQCg==", + "dev": true + }, + "@tsconfig/node16": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.2.tgz", + "integrity": "sha512-eZxlbI8GZscaGS7kkc/trHTT5xgrjH3/1n2JDwusC9iahPKWMRvRjJSAN5mCXviuTGQ/lHnhvv8Q1YTpnfz9gA==", + "dev": true + }, "@types/eslint": { "version": "7.2.12", "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-7.2.12.tgz", @@ -3498,6 +3606,12 @@ "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", @@ -3538,6 +3652,12 @@ "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 + }, "argparse": { "version": "1.0.10", "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", @@ -3553,12 +3673,6 @@ "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", "dev": true }, - "arrify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", - "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=", - "dev": true - }, "astral-regex": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", @@ -3685,6 +3799,12 @@ "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", "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", @@ -4460,21 +4580,6 @@ "brace-expansion": "^1.1.7" } }, - "minimist": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", - "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", - "dev": true - }, - "mkdirp": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", - "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", - "dev": true, - "requires": { - "minimist": "^1.2.5" - } - }, "ms": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", @@ -4990,25 +5095,35 @@ } }, "ts-node": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-6.2.0.tgz", - "integrity": "sha512-ZNT+OEGfUNVMGkpIaDJJ44Zq3Yr0bkU/ugN1PHbU+/01Z7UV1fsELRiTx1KuQNvQ1A3pGh3y25iYF6jXgxV21A==", + "version": "10.4.0", + "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.4.0.tgz", + "integrity": "sha512-g0FlPvvCXSIO1JDF6S232P5jPYqBkRL9qly81ZgAOSU7rwI0stphCgd2kLiCrU9DjQCrJMWEqcNSjQL02s6d8A==", "dev": true, "requires": { - "arrify": "^1.0.0", - "buffer-from": "^1.1.0", - "diff": "^3.1.0", + "@cspotcode/source-map-support": "0.7.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", - "minimist": "^1.2.0", - "mkdirp": "^0.5.1", - "source-map-support": "^0.5.6", - "yn": "^2.0.0" + "yn": "3.1.1" }, "dependencies": { + "acorn": { + "version": "8.5.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.5.0.tgz", + "integrity": "sha512-yXbYeFy+jUuYd3/CDcg2NkIYE991XYX/bje7LmjJigUciaeO1JR4XxXgCIV1/Zc/dRuFEyw1L0pbA+qynJkW5Q==", + "dev": true + }, "diff": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz", - "integrity": "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==", + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", + "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", "dev": true } } @@ -5205,9 +5320,9 @@ "dev": true }, "yn": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/yn/-/yn-2.0.0.tgz", - "integrity": "sha1-5a2ryKz0CPY4X8dklWhMiOavaJo=", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", + "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", "dev": true }, "yocto-queue": { diff --git a/package.json b/package.json index 69d2ed22e8..0f106a1316 100644 --- a/package.json +++ b/package.json @@ -23,8 +23,7 @@ "dependencies": { "binaryen": "102.0.0-nightly.20211028", "long": "^4.0.0", - "source-map-support": "^0.5.20", - "ts-node": "^6.2.0" + "source-map-support": "^0.5.20" }, "devDependencies": { "@types/node": "^16.11.4", @@ -35,7 +34,7 @@ "glob": "^7.2.0", "physical-cpu-count": "^2.0.0", "ts-loader": "^9.2.6", - "ts-node": "^6.2.0", + "ts-node": "^10.4.0", "typescript": "~4.4.4", "webpack": "^5.61.0", "webpack-cli": "^4.9.1" From 3f009ab2aeba4f0392520a2997bb4b74bb848d32 Mon Sep 17 00:00:00 2001 From: MaxGraey Date: Sat, 6 Nov 2021 21:51:56 +0200 Subject: [PATCH 02/32] fix? --- package-lock.json | 19 +++++++++++++++++++ package.json | 1 + 2 files changed, 20 insertions(+) diff --git a/package-lock.json b/package-lock.json index bd0ab9d901..3708d9de84 100644 --- a/package-lock.json +++ b/package-lock.json @@ -24,6 +24,7 @@ "diff": "^5.0.0", "eslint": "^7.32.0", "glob": "^7.2.0", + "mkdirp": "^1.0.4", "physical-cpu-count": "^2.0.0", "ts-loader": "^9.2.6", "ts-node": "^10.4.0", @@ -1975,6 +1976,18 @@ "node": "*" } }, + "node_modules/mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "dev": true, + "bin": { + "mkdirp": "bin/cmd.js" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/ms": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", @@ -4580,6 +4593,12 @@ "brace-expansion": "^1.1.7" } }, + "mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "dev": true + }, "ms": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", diff --git a/package.json b/package.json index 0f106a1316..c521e018c6 100644 --- a/package.json +++ b/package.json @@ -32,6 +32,7 @@ "diff": "^5.0.0", "eslint": "^7.32.0", "glob": "^7.2.0", + "mkdirp": "^1.0.4", "physical-cpu-count": "^2.0.0", "ts-loader": "^9.2.6", "ts-node": "^10.4.0", From 80695a4c9419623968abd9cbf979bf59121f14aa Mon Sep 17 00:00:00 2001 From: MaxGraey Date: Sat, 6 Nov 2021 22:18:46 +0200 Subject: [PATCH 03/32] faster? --- index.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/index.js b/index.js index c66acaba46..27e0f3e5e8 100644 --- a/index.js +++ b/index.js @@ -1,8 +1,8 @@ try { require("source-map-support").install(); } catch (e) { /* nop */ } require("ts-node").register({ project: require("path").join(__dirname, "src", "tsconfig.json"), - skipIgnore: true, - files: true + typeCheck: false, + skipIgnore: true }); require("./src/glue/js"); module.exports = require("./src"); From 061bebd0de4ab3e69c7fc3fae89a791ef5aaadb2 Mon Sep 17 00:00:00 2001 From: MaxGraey Date: Sat, 6 Nov 2021 22:33:27 +0200 Subject: [PATCH 04/32] faster? --- index.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/index.js b/index.js index 27e0f3e5e8..d862084719 100644 --- a/index.js +++ b/index.js @@ -1,8 +1,9 @@ try { require("source-map-support").install(); } catch (e) { /* nop */ } require("ts-node").register({ project: require("path").join(__dirname, "src", "tsconfig.json"), + skipIgnore: true, typeCheck: false, - skipIgnore: true + files: false }); require("./src/glue/js"); module.exports = require("./src"); From 8444ad949a3e5f49fd761bfeb2be8956675381f7 Mon Sep 17 00:00:00 2001 From: MaxGraey Date: Sat, 6 Nov 2021 23:05:22 +0200 Subject: [PATCH 05/32] better? --- cli/asc.js | 3 +++ index.js | 3 +-- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/cli/asc.js b/cli/asc.js index 6796f10866..140bb5098e 100644 --- a/cli/asc.js +++ b/cli/asc.js @@ -92,6 +92,9 @@ function loadAssemblyScriptJS() { try { // `asc` on the command line without dist files (unnecessary in recent node) dynrequire("ts-node").register({ project: path.join(__dirname, "..", "src", "tsconfig.json"), + typeCheck: false, + transpileOnly: true, + files: true, skipIgnore: true, compilerOptions: { target: "ES2016" } }); diff --git a/index.js b/index.js index d862084719..c66acaba46 100644 --- a/index.js +++ b/index.js @@ -2,8 +2,7 @@ try { require("source-map-support").install(); } catch (e) { /* nop */ } require("ts-node").register({ project: require("path").join(__dirname, "src", "tsconfig.json"), skipIgnore: true, - typeCheck: false, - files: false + files: true }); require("./src/glue/js"); module.exports = require("./src"); From 42460081b982e38d9d5a7abe951252df0001b03a Mon Sep 17 00:00:00 2001 From: MaxGraey Date: Sun, 7 Nov 2021 00:22:41 +0200 Subject: [PATCH 06/32] better? --- cli/asc.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/cli/asc.js b/cli/asc.js index 140bb5098e..a1afa69cb2 100644 --- a/cli/asc.js +++ b/cli/asc.js @@ -94,9 +94,10 @@ function loadAssemblyScriptJS() { project: path.join(__dirname, "..", "src", "tsconfig.json"), typeCheck: false, transpileOnly: true, + compilerHost: true, files: true, skipIgnore: true, - compilerOptions: { target: "ES2016" } + compilerOptions: { target: "ES2017" } }); dynrequire("../src/glue/js"); exports = dynrequire("../src"); From 3c492521b22e0ef263fad09ee7edaca43aa4b176 Mon Sep 17 00:00:00 2001 From: MaxGraey Date: Sun, 7 Nov 2021 02:20:44 +0200 Subject: [PATCH 07/32] skipLibCheck --- std/portable.json | 1 + 1 file changed, 1 insertion(+) diff --git a/std/portable.json b/std/portable.json index 1a1e427d21..01449085de 100644 --- a/std/portable.json +++ b/std/portable.json @@ -6,6 +6,7 @@ "allowJs": true, "downlevelIteration": true, "preserveConstEnums": true, + "skipLibCheck": true, "typeRoots": [ "types" ], "types": [ "portable" ], "lib": ["esnext", "esnext.string"] From 2e3400569d6eecd6e80228cfd0f1eba26cd0e02b Mon Sep 17 00:00:00 2001 From: MaxGraey Date: Sun, 7 Nov 2021 15:35:05 +0200 Subject: [PATCH 08/32] update config for other ts-nodes --- tests/decompiler.js | 8 +++++++- tests/parser.js | 8 +++++++- tests/tokenizer.js | 8 +++++++- tests/util-path.js | 8 +++++++- 4 files changed, 28 insertions(+), 4 deletions(-) diff --git a/tests/decompiler.js b/tests/decompiler.js index e8ca8922bf..15132f845f 100644 --- a/tests/decompiler.js +++ b/tests/decompiler.js @@ -1,6 +1,12 @@ var binaryen = global.binaryen = require("../lib/binaryen"); -require("ts-node").register({ project: require("path").join(__dirname, "..", "src", "tsconfig.json") }); +require("ts-node").register({ + project: require("path").join(__dirname, "..", "src", "tsconfig.json"), + typeCheck: false, + transpileOnly: true, + compilerHost: true, + files: true +}); require("../src/glue/js"); var mod = new binaryen.Module(); diff --git a/tests/parser.js b/tests/parser.js index c17aa82862..35100593b1 100644 --- a/tests/parser.js +++ b/tests/parser.js @@ -49,7 +49,13 @@ if (argv.length) { } } -require("ts-node").register({ project: path.join(__dirname, "..", "src", "tsconfig.json") }); +require("ts-node").register({ + project: path.join(__dirname, "..", "src", "tsconfig.json"), + typeCheck: false, + transpileOnly: true, + compilerHost: true, + files: true +}); require("../src/glue/js"); const { Program, Options } = require("../src"); diff --git a/tests/tokenizer.js b/tests/tokenizer.js index 96004617ca..d4c43f4b4a 100644 --- a/tests/tokenizer.js +++ b/tests/tokenizer.js @@ -1,7 +1,13 @@ const fs = require("fs"); const path = require("path"); -require("ts-node").register({ project: path.join(__dirname, "..", "src", "tsconfig.json") }); +require("ts-node").register({ + project: path.join(__dirname, "..", "src", "tsconfig.json"), + typeCheck: false, + transpileOnly: true, + compilerHost: true, + files: true, +}); require("../src/glue/js"); const { Tokenizer, Token } = require("../src/tokenizer"); diff --git a/tests/util-path.js b/tests/util-path.js index d3324f2dce..4a69e7385c 100644 --- a/tests/util-path.js +++ b/tests/util-path.js @@ -1,7 +1,13 @@ const path = require("path"); const assert = require("assert"); -require("ts-node").register({ project: path.join(__dirname, "..", "src", "tsconfig.json") }); +require("ts-node").register({ + project: path.join(__dirname, "..", "src", "tsconfig.json"), + typeCheck: false, + transpileOnly: true, + compilerHost: true, + files: true, +}); require("../src/glue/js"); const { normalize, resolve } = require("../src/util/path"); From 540445f173835d5ba6bc5e7418d2715075b0bd4b Mon Sep 17 00:00:00 2001 From: MaxGraey Date: Sun, 7 Nov 2021 16:16:17 +0200 Subject: [PATCH 09/32] changes --- cli/asc.js | 2 -- index.js | 1 + package-lock.json | 80 ++++++++++++++------------------------------- package.json | 3 +- src/tsconfig.json | 1 + std/portable.json | 1 - tests/decompiler.js | 2 -- tests/parser.js | 2 -- tests/util-path.js | 2 -- 9 files changed, 28 insertions(+), 66 deletions(-) diff --git a/cli/asc.js b/cli/asc.js index a1afa69cb2..24aef091c8 100644 --- a/cli/asc.js +++ b/cli/asc.js @@ -92,8 +92,6 @@ function loadAssemblyScriptJS() { try { // `asc` on the command line without dist files (unnecessary in recent node) dynrequire("ts-node").register({ project: path.join(__dirname, "..", "src", "tsconfig.json"), - typeCheck: false, - transpileOnly: true, compilerHost: true, files: true, skipIgnore: true, diff --git a/index.js b/index.js index c66acaba46..eeee3ce6e1 100644 --- a/index.js +++ b/index.js @@ -1,6 +1,7 @@ try { require("source-map-support").install(); } catch (e) { /* nop */ } require("ts-node").register({ project: require("path").join(__dirname, "src", "tsconfig.json"), + compilerHost: true, skipIgnore: true, files: true }); diff --git a/package-lock.json b/package-lock.json index 3708d9de84..8ef688bc25 100644 --- a/package-lock.json +++ b/package-lock.json @@ -11,7 +11,8 @@ "dependencies": { "binaryen": "102.0.0-nightly.20211028", "long": "^4.0.0", - "source-map-support": "^0.5.20" + "source-map-support": "^0.5.20", + "ts-node": "^10.4.0" }, "bin": { "asc": "bin/asc", @@ -27,7 +28,6 @@ "mkdirp": "^1.0.4", "physical-cpu-count": "^2.0.0", "ts-loader": "^9.2.6", - "ts-node": "^10.4.0", "typescript": "~4.4.4", "webpack": "^5.61.0", "webpack-cli": "^4.9.1" @@ -138,7 +138,6 @@ "version": "0.8.0", "resolved": "https://registry.npmjs.org/@cspotcode/source-map-consumer/-/source-map-consumer-0.8.0.tgz", "integrity": "sha512-41qniHzTU8yAGbCp04ohlmSrZf8bkf/iJsl3V0dRGsQN/5GFfx+LbCSsCpp2gqrqjTVg/K6O8ycoV35JIwAzAg==", - "dev": true, "engines": { "node": ">= 12" } @@ -147,7 +146,6 @@ "version": "0.7.0", "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.7.0.tgz", "integrity": "sha512-X4xqRHqN8ACt2aHVe51OxeA2HjbcL4MqFqXkrmQszJ1NOUuUu5u6Vqx/0lZSVNku7velL5FC/s5uEAj1lsBMhA==", - "dev": true, "dependencies": { "@cspotcode/source-map-consumer": "0.8.0" }, @@ -242,26 +240,22 @@ "node_modules/@tsconfig/node10": { "version": "1.0.8", "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.8.tgz", - "integrity": "sha512-6XFfSQmMgq0CFLY1MslA/CPUfhIL919M1rMsa5lP2P097N2Wd1sSX0tx1u4olM16fLNhtHZpRhedZJphNJqmZg==", - "dev": true + "integrity": "sha512-6XFfSQmMgq0CFLY1MslA/CPUfhIL919M1rMsa5lP2P097N2Wd1sSX0tx1u4olM16fLNhtHZpRhedZJphNJqmZg==" }, "node_modules/@tsconfig/node12": { "version": "1.0.9", "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.9.tgz", - "integrity": "sha512-/yBMcem+fbvhSREH+s14YJi18sp7J9jpuhYByADT2rypfajMZZN4WQ6zBGgBKp53NKmqI36wFYDb3yaMPurITw==", - "dev": true + "integrity": "sha512-/yBMcem+fbvhSREH+s14YJi18sp7J9jpuhYByADT2rypfajMZZN4WQ6zBGgBKp53NKmqI36wFYDb3yaMPurITw==" }, "node_modules/@tsconfig/node14": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.1.tgz", - "integrity": "sha512-509r2+yARFfHHE7T6Puu2jjkoycftovhXRqW328PDXTVGKihlb1P8Z9mMZH04ebyajfRY7dedfGynlrFHJUQCg==", - "dev": true + "integrity": "sha512-509r2+yARFfHHE7T6Puu2jjkoycftovhXRqW328PDXTVGKihlb1P8Z9mMZH04ebyajfRY7dedfGynlrFHJUQCg==" }, "node_modules/@tsconfig/node16": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.2.tgz", - "integrity": "sha512-eZxlbI8GZscaGS7kkc/trHTT5xgrjH3/1n2JDwusC9iahPKWMRvRjJSAN5mCXviuTGQ/lHnhvv8Q1YTpnfz9gA==", - "dev": true + "integrity": "sha512-eZxlbI8GZscaGS7kkc/trHTT5xgrjH3/1n2JDwusC9iahPKWMRvRjJSAN5mCXviuTGQ/lHnhvv8Q1YTpnfz9gA==" }, "node_modules/@types/eslint": { "version": "7.2.12", @@ -298,8 +292,7 @@ "node_modules/@types/node": { "version": "16.11.4", "resolved": "https://registry.npmjs.org/@types/node/-/node-16.11.4.tgz", - "integrity": "sha512-TMgXmy0v2xWyuCSCJM6NCna2snndD8yvQF67J29ipdzMcsPa9u+o0tjF5+EQNdhcuZplYuouYqpc4zcd5I6amQ==", - "dev": true + "integrity": "sha512-TMgXmy0v2xWyuCSCJM6NCna2snndD8yvQF67J29ipdzMcsPa9u+o0tjF5+EQNdhcuZplYuouYqpc4zcd5I6amQ==" }, "node_modules/@typescript-eslint/eslint-plugin": { "version": "4.33.0", @@ -704,7 +697,6 @@ "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" } @@ -770,8 +762,7 @@ "node_modules/arg": { "version": "4.1.3", "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", - "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==", - "dev": true + "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==" }, "node_modules/argparse": { "version": "1.0.10", @@ -961,8 +952,7 @@ "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 + "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==" }, "node_modules/cross-spawn": { "version": "7.0.3", @@ -1903,8 +1893,7 @@ "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 + "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==" }, "node_modules/merge-stream": { "version": "2.0.0", @@ -2739,7 +2728,6 @@ "version": "10.4.0", "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.4.0.tgz", "integrity": "sha512-g0FlPvvCXSIO1JDF6S232P5jPYqBkRL9qly81ZgAOSU7rwI0stphCgd2kLiCrU9DjQCrJMWEqcNSjQL02s6d8A==", - "dev": true, "dependencies": { "@cspotcode/source-map-support": "0.7.0", "@tsconfig/node10": "^1.0.7", @@ -2780,7 +2768,6 @@ "version": "8.5.0", "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.5.0.tgz", "integrity": "sha512-yXbYeFy+jUuYd3/CDcg2NkIYE991XYX/bje7LmjJigUciaeO1JR4XxXgCIV1/Zc/dRuFEyw1L0pbA+qynJkW5Q==", - "dev": true, "bin": { "acorn": "bin/acorn" }, @@ -2792,7 +2779,6 @@ "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" } @@ -2846,7 +2832,6 @@ "version": "4.4.4", "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.4.4.tgz", "integrity": "sha512-DqGhF5IKoBl8WNf8C1gu8q0xZSInh9j1kJJMqT3a94w1JzVaBU4EXOSMrz9yDqMT0xt3selp83fuFMQ0uzv6qA==", - "dev": true, "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" @@ -3077,7 +3062,6 @@ "version": "3.1.1", "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", - "dev": true, "engines": { "node": ">=6" } @@ -3183,14 +3167,12 @@ "@cspotcode/source-map-consumer": { "version": "0.8.0", "resolved": "https://registry.npmjs.org/@cspotcode/source-map-consumer/-/source-map-consumer-0.8.0.tgz", - "integrity": "sha512-41qniHzTU8yAGbCp04ohlmSrZf8bkf/iJsl3V0dRGsQN/5GFfx+LbCSsCpp2gqrqjTVg/K6O8ycoV35JIwAzAg==", - "dev": true + "integrity": "sha512-41qniHzTU8yAGbCp04ohlmSrZf8bkf/iJsl3V0dRGsQN/5GFfx+LbCSsCpp2gqrqjTVg/K6O8ycoV35JIwAzAg==" }, "@cspotcode/source-map-support": { "version": "0.7.0", "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.7.0.tgz", "integrity": "sha512-X4xqRHqN8ACt2aHVe51OxeA2HjbcL4MqFqXkrmQszJ1NOUuUu5u6Vqx/0lZSVNku7velL5FC/s5uEAj1lsBMhA==", - "dev": true, "requires": { "@cspotcode/source-map-consumer": "0.8.0" } @@ -3264,26 +3246,22 @@ "@tsconfig/node10": { "version": "1.0.8", "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.8.tgz", - "integrity": "sha512-6XFfSQmMgq0CFLY1MslA/CPUfhIL919M1rMsa5lP2P097N2Wd1sSX0tx1u4olM16fLNhtHZpRhedZJphNJqmZg==", - "dev": true + "integrity": "sha512-6XFfSQmMgq0CFLY1MslA/CPUfhIL919M1rMsa5lP2P097N2Wd1sSX0tx1u4olM16fLNhtHZpRhedZJphNJqmZg==" }, "@tsconfig/node12": { "version": "1.0.9", "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.9.tgz", - "integrity": "sha512-/yBMcem+fbvhSREH+s14YJi18sp7J9jpuhYByADT2rypfajMZZN4WQ6zBGgBKp53NKmqI36wFYDb3yaMPurITw==", - "dev": true + "integrity": "sha512-/yBMcem+fbvhSREH+s14YJi18sp7J9jpuhYByADT2rypfajMZZN4WQ6zBGgBKp53NKmqI36wFYDb3yaMPurITw==" }, "@tsconfig/node14": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.1.tgz", - "integrity": "sha512-509r2+yARFfHHE7T6Puu2jjkoycftovhXRqW328PDXTVGKihlb1P8Z9mMZH04ebyajfRY7dedfGynlrFHJUQCg==", - "dev": true + "integrity": "sha512-509r2+yARFfHHE7T6Puu2jjkoycftovhXRqW328PDXTVGKihlb1P8Z9mMZH04ebyajfRY7dedfGynlrFHJUQCg==" }, "@tsconfig/node16": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.2.tgz", - "integrity": "sha512-eZxlbI8GZscaGS7kkc/trHTT5xgrjH3/1n2JDwusC9iahPKWMRvRjJSAN5mCXviuTGQ/lHnhvv8Q1YTpnfz9gA==", - "dev": true + "integrity": "sha512-eZxlbI8GZscaGS7kkc/trHTT5xgrjH3/1n2JDwusC9iahPKWMRvRjJSAN5mCXviuTGQ/lHnhvv8Q1YTpnfz9gA==" }, "@types/eslint": { "version": "7.2.12", @@ -3320,8 +3298,7 @@ "@types/node": { "version": "16.11.4", "resolved": "https://registry.npmjs.org/@types/node/-/node-16.11.4.tgz", - "integrity": "sha512-TMgXmy0v2xWyuCSCJM6NCna2snndD8yvQF67J29ipdzMcsPa9u+o0tjF5+EQNdhcuZplYuouYqpc4zcd5I6amQ==", - "dev": true + "integrity": "sha512-TMgXmy0v2xWyuCSCJM6NCna2snndD8yvQF67J29ipdzMcsPa9u+o0tjF5+EQNdhcuZplYuouYqpc4zcd5I6amQ==" }, "@typescript-eslint/eslint-plugin": { "version": "4.33.0", @@ -3622,8 +3599,7 @@ "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 + "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==" }, "ajv": { "version": "6.12.6", @@ -3668,8 +3644,7 @@ "arg": { "version": "4.1.3", "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", - "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==", - "dev": true + "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==" }, "argparse": { "version": "1.0.10", @@ -3815,8 +3790,7 @@ "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 + "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==" }, "cross-spawn": { "version": "7.0.3", @@ -4538,8 +4512,7 @@ "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 + "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==" }, "merge-stream": { "version": "2.0.0", @@ -5117,7 +5090,6 @@ "version": "10.4.0", "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.4.0.tgz", "integrity": "sha512-g0FlPvvCXSIO1JDF6S232P5jPYqBkRL9qly81ZgAOSU7rwI0stphCgd2kLiCrU9DjQCrJMWEqcNSjQL02s6d8A==", - "dev": true, "requires": { "@cspotcode/source-map-support": "0.7.0", "@tsconfig/node10": "^1.0.7", @@ -5136,14 +5108,12 @@ "acorn": { "version": "8.5.0", "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.5.0.tgz", - "integrity": "sha512-yXbYeFy+jUuYd3/CDcg2NkIYE991XYX/bje7LmjJigUciaeO1JR4XxXgCIV1/Zc/dRuFEyw1L0pbA+qynJkW5Q==", - "dev": true + "integrity": "sha512-yXbYeFy+jUuYd3/CDcg2NkIYE991XYX/bje7LmjJigUciaeO1JR4XxXgCIV1/Zc/dRuFEyw1L0pbA+qynJkW5Q==" }, "diff": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", - "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", - "dev": true + "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==" } } }, @@ -5180,8 +5150,7 @@ "typescript": { "version": "4.4.4", "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.4.4.tgz", - "integrity": "sha512-DqGhF5IKoBl8WNf8C1gu8q0xZSInh9j1kJJMqT3a94w1JzVaBU4EXOSMrz9yDqMT0xt3selp83fuFMQ0uzv6qA==", - "dev": true + "integrity": "sha512-DqGhF5IKoBl8WNf8C1gu8q0xZSInh9j1kJJMqT3a94w1JzVaBU4EXOSMrz9yDqMT0xt3selp83fuFMQ0uzv6qA==" }, "uri-js": { "version": "4.4.1", @@ -5341,8 +5310,7 @@ "yn": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", - "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", - "dev": true + "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==" }, "yocto-queue": { "version": "0.1.0", diff --git a/package.json b/package.json index c521e018c6..0f3734fbdf 100644 --- a/package.json +++ b/package.json @@ -23,7 +23,8 @@ "dependencies": { "binaryen": "102.0.0-nightly.20211028", "long": "^4.0.0", - "source-map-support": "^0.5.20" + "source-map-support": "^0.5.20", + "ts-node": "^10.4.0" }, "devDependencies": { "@types/node": "^16.11.4", diff --git a/src/tsconfig.json b/src/tsconfig.json index c368fea916..6544052e1d 100644 --- a/src/tsconfig.json +++ b/src/tsconfig.json @@ -4,6 +4,7 @@ "outDir": "../out", "allowJs": false, "sourceMap": true, + "skipLibCheck": true, "target": "esnext", "strict": true }, diff --git a/std/portable.json b/std/portable.json index 01449085de..1a1e427d21 100644 --- a/std/portable.json +++ b/std/portable.json @@ -6,7 +6,6 @@ "allowJs": true, "downlevelIteration": true, "preserveConstEnums": true, - "skipLibCheck": true, "typeRoots": [ "types" ], "types": [ "portable" ], "lib": ["esnext", "esnext.string"] diff --git a/tests/decompiler.js b/tests/decompiler.js index 15132f845f..3d22d199d0 100644 --- a/tests/decompiler.js +++ b/tests/decompiler.js @@ -2,8 +2,6 @@ var binaryen = global.binaryen = require("../lib/binaryen"); require("ts-node").register({ project: require("path").join(__dirname, "..", "src", "tsconfig.json"), - typeCheck: false, - transpileOnly: true, compilerHost: true, files: true }); diff --git a/tests/parser.js b/tests/parser.js index 35100593b1..b02bc7556a 100644 --- a/tests/parser.js +++ b/tests/parser.js @@ -51,8 +51,6 @@ if (argv.length) { require("ts-node").register({ project: path.join(__dirname, "..", "src", "tsconfig.json"), - typeCheck: false, - transpileOnly: true, compilerHost: true, files: true }); diff --git a/tests/util-path.js b/tests/util-path.js index 4a69e7385c..4c76a19642 100644 --- a/tests/util-path.js +++ b/tests/util-path.js @@ -3,8 +3,6 @@ const assert = require("assert"); require("ts-node").register({ project: path.join(__dirname, "..", "src", "tsconfig.json"), - typeCheck: false, - transpileOnly: true, compilerHost: true, files: true, }); From 92901e556e4de46b8e1f595f5055d1eb33982fbc Mon Sep 17 00:00:00 2001 From: MaxGraey Date: Sun, 7 Nov 2021 17:25:02 +0200 Subject: [PATCH 10/32] fixes --- cli/asc.js | 9 ++++- package-lock.json | 87 ++++++++++++++++++++++++++++++++-------------- package.json | 2 +- tests/parser.js | 1 + tests/util-path.js | 3 +- 5 files changed, 72 insertions(+), 30 deletions(-) diff --git a/cli/asc.js b/cli/asc.js index 24aef091c8..70f1e7e778 100644 --- a/cli/asc.js +++ b/cli/asc.js @@ -92,10 +92,17 @@ function loadAssemblyScriptJS() { try { // `asc` on the command line without dist files (unnecessary in recent node) dynrequire("ts-node").register({ project: path.join(__dirname, "..", "src", "tsconfig.json"), + transpileOnly: true, compilerHost: true, files: true, skipIgnore: true, - compilerOptions: { target: "ES2017" } + compilerOptions: { + paths: { + "commonjs": "../src/glue/js" + }, + module: "esnext", + target: "es2017" + } }); dynrequire("../src/glue/js"); exports = dynrequire("../src"); diff --git a/package-lock.json b/package-lock.json index 8ef688bc25..c6449395b7 100644 --- a/package-lock.json +++ b/package-lock.json @@ -19,7 +19,7 @@ "asinit": "bin/asinit" }, "devDependencies": { - "@types/node": "^16.11.4", + "@types/node": "^16.11.6", "@typescript-eslint/eslint-plugin": "^4.33.0", "@typescript-eslint/parser": "^4.33.0", "diff": "^5.0.0", @@ -28,6 +28,7 @@ "mkdirp": "^1.0.4", "physical-cpu-count": "^2.0.0", "ts-loader": "^9.2.6", + "ts-node": "^10.4.0", "typescript": "~4.4.4", "webpack": "^5.61.0", "webpack-cli": "^4.9.1" @@ -138,6 +139,7 @@ "version": "0.8.0", "resolved": "https://registry.npmjs.org/@cspotcode/source-map-consumer/-/source-map-consumer-0.8.0.tgz", "integrity": "sha512-41qniHzTU8yAGbCp04ohlmSrZf8bkf/iJsl3V0dRGsQN/5GFfx+LbCSsCpp2gqrqjTVg/K6O8ycoV35JIwAzAg==", + "dev": true, "engines": { "node": ">= 12" } @@ -146,6 +148,7 @@ "version": "0.7.0", "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.7.0.tgz", "integrity": "sha512-X4xqRHqN8ACt2aHVe51OxeA2HjbcL4MqFqXkrmQszJ1NOUuUu5u6Vqx/0lZSVNku7velL5FC/s5uEAj1lsBMhA==", + "dev": true, "dependencies": { "@cspotcode/source-map-consumer": "0.8.0" }, @@ -240,22 +243,26 @@ "node_modules/@tsconfig/node10": { "version": "1.0.8", "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.8.tgz", - "integrity": "sha512-6XFfSQmMgq0CFLY1MslA/CPUfhIL919M1rMsa5lP2P097N2Wd1sSX0tx1u4olM16fLNhtHZpRhedZJphNJqmZg==" + "integrity": "sha512-6XFfSQmMgq0CFLY1MslA/CPUfhIL919M1rMsa5lP2P097N2Wd1sSX0tx1u4olM16fLNhtHZpRhedZJphNJqmZg==", + "dev": true }, "node_modules/@tsconfig/node12": { "version": "1.0.9", "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.9.tgz", - "integrity": "sha512-/yBMcem+fbvhSREH+s14YJi18sp7J9jpuhYByADT2rypfajMZZN4WQ6zBGgBKp53NKmqI36wFYDb3yaMPurITw==" + "integrity": "sha512-/yBMcem+fbvhSREH+s14YJi18sp7J9jpuhYByADT2rypfajMZZN4WQ6zBGgBKp53NKmqI36wFYDb3yaMPurITw==", + "dev": true }, "node_modules/@tsconfig/node14": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.1.tgz", - "integrity": "sha512-509r2+yARFfHHE7T6Puu2jjkoycftovhXRqW328PDXTVGKihlb1P8Z9mMZH04ebyajfRY7dedfGynlrFHJUQCg==" + "integrity": "sha512-509r2+yARFfHHE7T6Puu2jjkoycftovhXRqW328PDXTVGKihlb1P8Z9mMZH04ebyajfRY7dedfGynlrFHJUQCg==", + "dev": true }, "node_modules/@tsconfig/node16": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.2.tgz", - "integrity": "sha512-eZxlbI8GZscaGS7kkc/trHTT5xgrjH3/1n2JDwusC9iahPKWMRvRjJSAN5mCXviuTGQ/lHnhvv8Q1YTpnfz9gA==" + "integrity": "sha512-eZxlbI8GZscaGS7kkc/trHTT5xgrjH3/1n2JDwusC9iahPKWMRvRjJSAN5mCXviuTGQ/lHnhvv8Q1YTpnfz9gA==", + "dev": true }, "node_modules/@types/eslint": { "version": "7.2.12", @@ -290,9 +297,10 @@ "dev": true }, "node_modules/@types/node": { - "version": "16.11.4", - "resolved": "https://registry.npmjs.org/@types/node/-/node-16.11.4.tgz", - "integrity": "sha512-TMgXmy0v2xWyuCSCJM6NCna2snndD8yvQF67J29ipdzMcsPa9u+o0tjF5+EQNdhcuZplYuouYqpc4zcd5I6amQ==" + "version": "16.11.6", + "resolved": "https://registry.npmjs.org/@types/node/-/node-16.11.6.tgz", + "integrity": "sha512-ua7PgUoeQFjmWPcoo9khiPum3Pd60k4/2ZGXt18sm2Slk0W0xZTqt5Y0Ny1NyBiN1EVQ/+FaF9NcY4Qe6rwk5w==", + "dev": true }, "node_modules/@typescript-eslint/eslint-plugin": { "version": "4.33.0", @@ -697,6 +705,7 @@ "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" } @@ -762,7 +771,8 @@ "node_modules/arg": { "version": "4.1.3", "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", - "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==" + "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==", + "dev": true }, "node_modules/argparse": { "version": "1.0.10", @@ -952,7 +962,8 @@ "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==" + "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==", + "dev": true }, "node_modules/cross-spawn": { "version": "7.0.3", @@ -1893,7 +1904,8 @@ "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==" + "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", + "dev": true }, "node_modules/merge-stream": { "version": "2.0.0", @@ -2728,6 +2740,7 @@ "version": "10.4.0", "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.4.0.tgz", "integrity": "sha512-g0FlPvvCXSIO1JDF6S232P5jPYqBkRL9qly81ZgAOSU7rwI0stphCgd2kLiCrU9DjQCrJMWEqcNSjQL02s6d8A==", + "dev": true, "dependencies": { "@cspotcode/source-map-support": "0.7.0", "@tsconfig/node10": "^1.0.7", @@ -2768,6 +2781,7 @@ "version": "8.5.0", "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.5.0.tgz", "integrity": "sha512-yXbYeFy+jUuYd3/CDcg2NkIYE991XYX/bje7LmjJigUciaeO1JR4XxXgCIV1/Zc/dRuFEyw1L0pbA+qynJkW5Q==", + "dev": true, "bin": { "acorn": "bin/acorn" }, @@ -2779,6 +2793,7 @@ "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" } @@ -2832,6 +2847,7 @@ "version": "4.4.4", "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.4.4.tgz", "integrity": "sha512-DqGhF5IKoBl8WNf8C1gu8q0xZSInh9j1kJJMqT3a94w1JzVaBU4EXOSMrz9yDqMT0xt3selp83fuFMQ0uzv6qA==", + "dev": true, "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" @@ -3062,6 +3078,7 @@ "version": "3.1.1", "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", + "dev": true, "engines": { "node": ">=6" } @@ -3167,12 +3184,14 @@ "@cspotcode/source-map-consumer": { "version": "0.8.0", "resolved": "https://registry.npmjs.org/@cspotcode/source-map-consumer/-/source-map-consumer-0.8.0.tgz", - "integrity": "sha512-41qniHzTU8yAGbCp04ohlmSrZf8bkf/iJsl3V0dRGsQN/5GFfx+LbCSsCpp2gqrqjTVg/K6O8ycoV35JIwAzAg==" + "integrity": "sha512-41qniHzTU8yAGbCp04ohlmSrZf8bkf/iJsl3V0dRGsQN/5GFfx+LbCSsCpp2gqrqjTVg/K6O8ycoV35JIwAzAg==", + "dev": true }, "@cspotcode/source-map-support": { "version": "0.7.0", "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.7.0.tgz", "integrity": "sha512-X4xqRHqN8ACt2aHVe51OxeA2HjbcL4MqFqXkrmQszJ1NOUuUu5u6Vqx/0lZSVNku7velL5FC/s5uEAj1lsBMhA==", + "dev": true, "requires": { "@cspotcode/source-map-consumer": "0.8.0" } @@ -3246,22 +3265,26 @@ "@tsconfig/node10": { "version": "1.0.8", "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.8.tgz", - "integrity": "sha512-6XFfSQmMgq0CFLY1MslA/CPUfhIL919M1rMsa5lP2P097N2Wd1sSX0tx1u4olM16fLNhtHZpRhedZJphNJqmZg==" + "integrity": "sha512-6XFfSQmMgq0CFLY1MslA/CPUfhIL919M1rMsa5lP2P097N2Wd1sSX0tx1u4olM16fLNhtHZpRhedZJphNJqmZg==", + "dev": true }, "@tsconfig/node12": { "version": "1.0.9", "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.9.tgz", - "integrity": "sha512-/yBMcem+fbvhSREH+s14YJi18sp7J9jpuhYByADT2rypfajMZZN4WQ6zBGgBKp53NKmqI36wFYDb3yaMPurITw==" + "integrity": "sha512-/yBMcem+fbvhSREH+s14YJi18sp7J9jpuhYByADT2rypfajMZZN4WQ6zBGgBKp53NKmqI36wFYDb3yaMPurITw==", + "dev": true }, "@tsconfig/node14": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.1.tgz", - "integrity": "sha512-509r2+yARFfHHE7T6Puu2jjkoycftovhXRqW328PDXTVGKihlb1P8Z9mMZH04ebyajfRY7dedfGynlrFHJUQCg==" + "integrity": "sha512-509r2+yARFfHHE7T6Puu2jjkoycftovhXRqW328PDXTVGKihlb1P8Z9mMZH04ebyajfRY7dedfGynlrFHJUQCg==", + "dev": true }, "@tsconfig/node16": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.2.tgz", - "integrity": "sha512-eZxlbI8GZscaGS7kkc/trHTT5xgrjH3/1n2JDwusC9iahPKWMRvRjJSAN5mCXviuTGQ/lHnhvv8Q1YTpnfz9gA==" + "integrity": "sha512-eZxlbI8GZscaGS7kkc/trHTT5xgrjH3/1n2JDwusC9iahPKWMRvRjJSAN5mCXviuTGQ/lHnhvv8Q1YTpnfz9gA==", + "dev": true }, "@types/eslint": { "version": "7.2.12", @@ -3296,9 +3319,10 @@ "dev": true }, "@types/node": { - "version": "16.11.4", - "resolved": "https://registry.npmjs.org/@types/node/-/node-16.11.4.tgz", - "integrity": "sha512-TMgXmy0v2xWyuCSCJM6NCna2snndD8yvQF67J29ipdzMcsPa9u+o0tjF5+EQNdhcuZplYuouYqpc4zcd5I6amQ==" + "version": "16.11.6", + "resolved": "https://registry.npmjs.org/@types/node/-/node-16.11.6.tgz", + "integrity": "sha512-ua7PgUoeQFjmWPcoo9khiPum3Pd60k4/2ZGXt18sm2Slk0W0xZTqt5Y0Ny1NyBiN1EVQ/+FaF9NcY4Qe6rwk5w==", + "dev": true }, "@typescript-eslint/eslint-plugin": { "version": "4.33.0", @@ -3599,7 +3623,8 @@ "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==" + "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==", + "dev": true }, "ajv": { "version": "6.12.6", @@ -3644,7 +3669,8 @@ "arg": { "version": "4.1.3", "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", - "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==" + "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==", + "dev": true }, "argparse": { "version": "1.0.10", @@ -3790,7 +3816,8 @@ "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==" + "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==", + "dev": true }, "cross-spawn": { "version": "7.0.3", @@ -4512,7 +4539,8 @@ "make-error": { "version": "1.3.6", "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", - "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==" + "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", + "dev": true }, "merge-stream": { "version": "2.0.0", @@ -5090,6 +5118,7 @@ "version": "10.4.0", "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.4.0.tgz", "integrity": "sha512-g0FlPvvCXSIO1JDF6S232P5jPYqBkRL9qly81ZgAOSU7rwI0stphCgd2kLiCrU9DjQCrJMWEqcNSjQL02s6d8A==", + "dev": true, "requires": { "@cspotcode/source-map-support": "0.7.0", "@tsconfig/node10": "^1.0.7", @@ -5108,12 +5137,14 @@ "acorn": { "version": "8.5.0", "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.5.0.tgz", - "integrity": "sha512-yXbYeFy+jUuYd3/CDcg2NkIYE991XYX/bje7LmjJigUciaeO1JR4XxXgCIV1/Zc/dRuFEyw1L0pbA+qynJkW5Q==" + "integrity": "sha512-yXbYeFy+jUuYd3/CDcg2NkIYE991XYX/bje7LmjJigUciaeO1JR4XxXgCIV1/Zc/dRuFEyw1L0pbA+qynJkW5Q==", + "dev": true }, "diff": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", - "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==" + "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", + "dev": true } } }, @@ -5150,7 +5181,8 @@ "typescript": { "version": "4.4.4", "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.4.4.tgz", - "integrity": "sha512-DqGhF5IKoBl8WNf8C1gu8q0xZSInh9j1kJJMqT3a94w1JzVaBU4EXOSMrz9yDqMT0xt3selp83fuFMQ0uzv6qA==" + "integrity": "sha512-DqGhF5IKoBl8WNf8C1gu8q0xZSInh9j1kJJMqT3a94w1JzVaBU4EXOSMrz9yDqMT0xt3selp83fuFMQ0uzv6qA==", + "dev": true }, "uri-js": { "version": "4.4.1", @@ -5310,7 +5342,8 @@ "yn": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", - "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==" + "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", + "dev": true }, "yocto-queue": { "version": "0.1.0", diff --git a/package.json b/package.json index 0f3734fbdf..98e342e0a6 100644 --- a/package.json +++ b/package.json @@ -27,7 +27,7 @@ "ts-node": "^10.4.0" }, "devDependencies": { - "@types/node": "^16.11.4", + "@types/node": "^16.11.6", "@typescript-eslint/eslint-plugin": "^4.33.0", "@typescript-eslint/parser": "^4.33.0", "diff": "^5.0.0", diff --git a/tests/parser.js b/tests/parser.js index b02bc7556a..33e0086949 100644 --- a/tests/parser.js +++ b/tests/parser.js @@ -51,6 +51,7 @@ if (argv.length) { require("ts-node").register({ project: path.join(__dirname, "..", "src", "tsconfig.json"), + transpileOnly: true, compilerHost: true, files: true }); diff --git a/tests/util-path.js b/tests/util-path.js index 4c76a19642..867e2c2b38 100644 --- a/tests/util-path.js +++ b/tests/util-path.js @@ -3,8 +3,9 @@ const assert = require("assert"); require("ts-node").register({ project: path.join(__dirname, "..", "src", "tsconfig.json"), + transpileOnly: true, compilerHost: true, - files: true, + files: true }); require("../src/glue/js"); From 83781b1ab0f0beb94f5a75fbeb2bec23dfaf2670 Mon Sep 17 00:00:00 2001 From: MaxGraey Date: Sun, 7 Nov 2021 17:59:32 +0200 Subject: [PATCH 11/32] fix --- cli/asc.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/cli/asc.js b/cli/asc.js index 70f1e7e778..7d01f23ee0 100644 --- a/cli/asc.js +++ b/cli/asc.js @@ -96,10 +96,10 @@ function loadAssemblyScriptJS() { compilerHost: true, files: true, skipIgnore: true, + paths: { + "commonjs": ["../src/glue/js"] + }, compilerOptions: { - paths: { - "commonjs": "../src/glue/js" - }, module: "esnext", target: "es2017" } From 979a743244aa645d915219614e064dd713bcba8a Mon Sep 17 00:00:00 2001 From: MaxGraey Date: Sun, 7 Nov 2021 19:54:34 +0200 Subject: [PATCH 12/32] fallback to assemblyscript/index only for non-TSError exeptions --- cli/asc.js | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/cli/asc.js b/cli/asc.js index 7d01f23ee0..52780338bd 100644 --- a/cli/asc.js +++ b/cli/asc.js @@ -80,7 +80,7 @@ if (process.removeAllListeners) { // Use distribution files if present, otherwise run the sources directly. function loadAssemblyScriptJS() { - var exports; + var exports, tsNode; try { // note that this case will always trigger in recent node.js versions for typical installs // see: https://nodejs.org/api/packages.html#packages_self_referencing_a_package_using_its_name @@ -90,7 +90,8 @@ function loadAssemblyScriptJS() { exports = dynrequire("../dist/assemblyscript.js"); } catch (e) { try { // `asc` on the command line without dist files (unnecessary in recent node) - dynrequire("ts-node").register({ + tsNode = dynrequire("ts-node"); + tsNode.register({ project: path.join(__dirname, "..", "src", "tsconfig.json"), transpileOnly: true, compilerHost: true, @@ -107,10 +108,14 @@ function loadAssemblyScriptJS() { dynrequire("../src/glue/js"); exports = dynrequire("../src"); } catch (e_ts) { - try { // `require("dist/asc.js")` in explicit browser tests - exports = dynrequire("./assemblyscript"); - } catch (e) { - throw Error(`${e_ts.stack}\n---\n${e.stack}`); + if (!(e_ts instanceof tsNode.TSError)) { + try { // `require("dist/asc.js")` in explicit browser tests + exports = dynrequire("./assemblyscript"); + } catch (e) { + throw Error(`${e_ts.stack}\n---\n${e.stack}`); + } + } else { + throw e_ts; } } } From 9a48d6b3d0a58178ad736236f98441a50bdda06e Mon Sep 17 00:00:00 2001 From: MaxGraey Date: Sun, 7 Nov 2021 19:57:18 +0200 Subject: [PATCH 13/32] better --- cli/asc.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cli/asc.js b/cli/asc.js index 52780338bd..78724a7716 100644 --- a/cli/asc.js +++ b/cli/asc.js @@ -108,7 +108,7 @@ function loadAssemblyScriptJS() { dynrequire("../src/glue/js"); exports = dynrequire("../src"); } catch (e_ts) { - if (!(e_ts instanceof tsNode.TSError)) { + if (!tsNode || !(e_ts instanceof tsNode.TSError)) { try { // `require("dist/asc.js")` in explicit browser tests exports = dynrequire("./assemblyscript"); } catch (e) { From cf06f23095bb537637ffa67d06754dd09169221c Mon Sep 17 00:00:00 2001 From: MaxGraey Date: Sun, 7 Nov 2021 23:30:00 +0200 Subject: [PATCH 14/32] tune tsconfig --- src/tsconfig.json | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/tsconfig.json b/src/tsconfig.json index 6544052e1d..dc714936c8 100644 --- a/src/tsconfig.json +++ b/src/tsconfig.json @@ -2,6 +2,7 @@ "extends": "../std/portable.json", "compilerOptions": { "outDir": "../out", + "types" : ["node"], "allowJs": false, "sourceMap": true, "skipLibCheck": true, @@ -12,6 +13,8 @@ "./**/*.ts" ], "exclude": [ + "../**/node_modules/", + "../lib", "./glue/wasm/**" ] } From e03ffd729a7cb47714ad0d9604251a140534de68 Mon Sep 17 00:00:00 2001 From: MaxGraey Date: Sun, 7 Nov 2021 23:54:03 +0200 Subject: [PATCH 15/32] exclude test folder as well --- src/tsconfig.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/tsconfig.json b/src/tsconfig.json index dc714936c8..033f601ce4 100644 --- a/src/tsconfig.json +++ b/src/tsconfig.json @@ -14,7 +14,8 @@ ], "exclude": [ "../**/node_modules/", - "../lib", + "../tests/**", + "../lib/**", "./glue/wasm/**" ] } From fa0424a96b4fc7136a1fbe2aa5a963822d4daea2 Mon Sep 17 00:00:00 2001 From: MaxGraey Date: Mon, 8 Nov 2021 00:08:25 +0200 Subject: [PATCH 16/32] better --- cli/asc.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/cli/asc.js b/cli/asc.js index 9816cb0b6d..aee28b532f 100644 --- a/cli/asc.js +++ b/cli/asc.js @@ -97,8 +97,8 @@ function loadAssemblyScriptJS() { compilerHost: true, files: true, skipIgnore: true, - paths: { - "commonjs": ["../src/glue/js"] + moduleTypes: { + "../src/glue/js/*": "cjs" }, compilerOptions: { module: "esnext", From c9032cdbb1d5680b748c22b25959e0091d8b3cb8 Mon Sep 17 00:00:00 2001 From: MaxGraey Date: Mon, 8 Nov 2021 00:17:28 +0200 Subject: [PATCH 17/32] more --- cli/asc.js | 1 + tests/parser.js | 1 - tests/util-path.js | 1 + 3 files changed, 2 insertions(+), 1 deletion(-) diff --git a/cli/asc.js b/cli/asc.js index aee28b532f..3c47266c2a 100644 --- a/cli/asc.js +++ b/cli/asc.js @@ -93,6 +93,7 @@ function loadAssemblyScriptJS() { tsNode = dynrequire("ts-node"); tsNode.register({ project: path.join(__dirname, "..", "src", "tsconfig.json"), + typeCheck: false, transpileOnly: true, compilerHost: true, files: true, diff --git a/tests/parser.js b/tests/parser.js index 33e0086949..b02bc7556a 100644 --- a/tests/parser.js +++ b/tests/parser.js @@ -51,7 +51,6 @@ if (argv.length) { require("ts-node").register({ project: path.join(__dirname, "..", "src", "tsconfig.json"), - transpileOnly: true, compilerHost: true, files: true }); diff --git a/tests/util-path.js b/tests/util-path.js index 867e2c2b38..e3d5e9319f 100644 --- a/tests/util-path.js +++ b/tests/util-path.js @@ -3,6 +3,7 @@ const assert = require("assert"); require("ts-node").register({ project: path.join(__dirname, "..", "src", "tsconfig.json"), + typeCheck: false, transpileOnly: true, compilerHost: true, files: true From 66796407612813a761f5a72f6bc4f5fa158bebb3 Mon Sep 17 00:00:00 2001 From: MaxGraey Date: Mon, 8 Nov 2021 10:22:01 +0200 Subject: [PATCH 18/32] add prepublish scripts for ci --- .github/workflows/test.yml | 6 ++++++ cli/asc.js | 2 -- index.js | 4 ++-- 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 649ae45cb5..8eecc07bd7 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -42,6 +42,8 @@ jobs: run: npm test - name: Build distribution files run: npm run build + - name: Run prepublish script + run: npm run prepublishOnly - name: Test distribution run: npm test - name: Test browser build @@ -63,6 +65,8 @@ jobs: run: npm test - name: Build distribution files run: npm run build + - name: Run prepublish script + run: npm run prepublishOnly - name: Test distribution run: npm test - name: Test browser build @@ -82,6 +86,8 @@ jobs: run: npm run clean - name: Test sources run: npm test + - name: Run prepublish script + run: npm run prepublishOnly - name: Build distribution files run: npm run build - name: Test distribution diff --git a/cli/asc.js b/cli/asc.js index 3c47266c2a..8f7a77d96e 100644 --- a/cli/asc.js +++ b/cli/asc.js @@ -93,8 +93,6 @@ function loadAssemblyScriptJS() { tsNode = dynrequire("ts-node"); tsNode.register({ project: path.join(__dirname, "..", "src", "tsconfig.json"), - typeCheck: false, - transpileOnly: true, compilerHost: true, files: true, skipIgnore: true, diff --git a/index.js b/index.js index eeee3ce6e1..8e5041f2ea 100644 --- a/index.js +++ b/index.js @@ -2,8 +2,8 @@ try { require("source-map-support").install(); } catch (e) { /* nop */ } require("ts-node").register({ project: require("path").join(__dirname, "src", "tsconfig.json"), compilerHost: true, - skipIgnore: true, - files: true + files: true, + skipIgnore: true }); require("./src/glue/js"); module.exports = require("./src"); From a09112c401a64328836b43e8d6c8290e153c3a7f Mon Sep 17 00:00:00 2001 From: MaxGraey Date: Mon, 8 Nov 2021 10:22:01 +0200 Subject: [PATCH 19/32] Revert "add prepublish scripts for ci" This reverts commit 66796407612813a761f5a72f6bc4f5fa158bebb3. --- .github/workflows/test.yml | 6 ------ cli/asc.js | 2 ++ index.js | 4 ++-- 3 files changed, 4 insertions(+), 8 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 8eecc07bd7..649ae45cb5 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -42,8 +42,6 @@ jobs: run: npm test - name: Build distribution files run: npm run build - - name: Run prepublish script - run: npm run prepublishOnly - name: Test distribution run: npm test - name: Test browser build @@ -65,8 +63,6 @@ jobs: run: npm test - name: Build distribution files run: npm run build - - name: Run prepublish script - run: npm run prepublishOnly - name: Test distribution run: npm test - name: Test browser build @@ -86,8 +82,6 @@ jobs: run: npm run clean - name: Test sources run: npm test - - name: Run prepublish script - run: npm run prepublishOnly - name: Build distribution files run: npm run build - name: Test distribution diff --git a/cli/asc.js b/cli/asc.js index 8f7a77d96e..3c47266c2a 100644 --- a/cli/asc.js +++ b/cli/asc.js @@ -93,6 +93,8 @@ function loadAssemblyScriptJS() { tsNode = dynrequire("ts-node"); tsNode.register({ project: path.join(__dirname, "..", "src", "tsconfig.json"), + typeCheck: false, + transpileOnly: true, compilerHost: true, files: true, skipIgnore: true, diff --git a/index.js b/index.js index 8e5041f2ea..eeee3ce6e1 100644 --- a/index.js +++ b/index.js @@ -2,8 +2,8 @@ try { require("source-map-support").install(); } catch (e) { /* nop */ } require("ts-node").register({ project: require("path").join(__dirname, "src", "tsconfig.json"), compilerHost: true, - files: true, - skipIgnore: true + skipIgnore: true, + files: true }); require("./src/glue/js"); module.exports = require("./src"); From dd54315ef414831cb9b3bc3d6227fc72dfd7cd4d Mon Sep 17 00:00:00 2001 From: MaxGraey Date: Mon, 8 Nov 2021 12:26:46 +0200 Subject: [PATCH 20/32] add helper script which just update entry file & use it in CI --- .github/workflows/test.yml | 6 ++++++ package.json | 1 + scripts/replace-entry.js | 14 ++++++++++++++ 3 files changed, 21 insertions(+) create mode 100644 scripts/replace-entry.js diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 649ae45cb5..f19a3f6920 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -42,6 +42,8 @@ jobs: run: npm test - name: Build distribution files run: npm run build + - name: Update entry file + run: npm run prepare:ci - name: Test distribution run: npm test - name: Test browser build @@ -63,6 +65,8 @@ jobs: run: npm test - name: Build distribution files run: npm run build + - name: Update entry file + run: npm run prepare:ci - name: Test distribution run: npm test - name: Test browser build @@ -84,6 +88,8 @@ jobs: run: npm test - name: Build distribution files run: npm run build + - name: Update entry file + run: npm run prepare:ci - name: Test distribution run: npm test - name: Test browser build diff --git a/package.json b/package.json index 98e342e0a6..afee9c43ee 100644 --- a/package.json +++ b/package.json @@ -87,6 +87,7 @@ "docs": "typedoc --tsconfig tsconfig-docs.json --mode modules --name \"AssemblyScript Compiler API\" --out ./docs/api --ignoreCompilerErrors --excludeNotExported --excludePrivate --excludeExternals --exclude **/std/** --includeDeclarations --readme src/README.md", "prepublishOnly": "node scripts/prepublish", "postpublish": "node scripts/postpublish", + "prepare:ci": "node scripts/repace-entry", "asbuild": "npm run asbuild:untouched && npm run asbuild:optimized", "asbuild:untouched": "node bin/asc --config src/asconfig.json --target untouched", "asbuild:optimized": "node bin/asc --config src/asconfig.json --target optimized", diff --git a/scripts/replace-entry.js b/scripts/replace-entry.js new file mode 100644 index 0000000000..a24f0b729c --- /dev/null +++ b/scripts/replace-entry.js @@ -0,0 +1,14 @@ +const fs = require("fs"); +const path = require("path"); + +console.log("Copying index.release.js -> index.js ..."); +fs.copyFileSync( + path.join(__dirname, "..", "index.release.js"), + path.join(__dirname, "..", "index.js") +); + +console.log("Copying index.release.d.ts -> index.d.ts ..."); +fs.copyFileSync( + path.join(__dirname, "..", "index.release.d.ts"), + path.join(__dirname, "..", "index.d.ts") +); From 21a7a8e1712307ebadcbc70a69366bbf1b44f530 Mon Sep 17 00:00:00 2001 From: MaxGraey Date: Mon, 8 Nov 2021 12:47:28 +0200 Subject: [PATCH 21/32] fix typo --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index afee9c43ee..90030520fd 100644 --- a/package.json +++ b/package.json @@ -87,7 +87,7 @@ "docs": "typedoc --tsconfig tsconfig-docs.json --mode modules --name \"AssemblyScript Compiler API\" --out ./docs/api --ignoreCompilerErrors --excludeNotExported --excludePrivate --excludeExternals --exclude **/std/** --includeDeclarations --readme src/README.md", "prepublishOnly": "node scripts/prepublish", "postpublish": "node scripts/postpublish", - "prepare:ci": "node scripts/repace-entry", + "prepare:ci": "node scripts/replace-entry", "asbuild": "npm run asbuild:untouched && npm run asbuild:optimized", "asbuild:untouched": "node bin/asc --config src/asconfig.json --target untouched", "asbuild:optimized": "node bin/asc --config src/asconfig.json --target optimized", From 8d47b9a28b259ec8c3af5389790a43a68ac9f0df Mon Sep 17 00:00:00 2001 From: MaxGraey Date: Mon, 8 Nov 2021 13:19:47 +0200 Subject: [PATCH 22/32] remove unnecessary source-map-support --- index.js | 7 +++++-- package-lock.json | 13 +++++++++---- package.json | 1 - 3 files changed, 14 insertions(+), 7 deletions(-) diff --git a/index.js b/index.js index eeee3ce6e1..4b915960c6 100644 --- a/index.js +++ b/index.js @@ -1,9 +1,12 @@ -try { require("source-map-support").install(); } catch (e) { /* nop */ } require("ts-node").register({ project: require("path").join(__dirname, "src", "tsconfig.json"), compilerHost: true, skipIgnore: true, - files: true + files: true, + compilerOptions: { + target: "esnext", + removeComments: false + } }); require("./src/glue/js"); module.exports = require("./src"); diff --git a/package-lock.json b/package-lock.json index c6449395b7..023299f6e3 100644 --- a/package-lock.json +++ b/package-lock.json @@ -11,7 +11,6 @@ "dependencies": { "binaryen": "102.0.0-nightly.20211028", "long": "^4.0.0", - "source-map-support": "^0.5.20", "ts-node": "^10.4.0" }, "bin": { @@ -863,7 +862,8 @@ "node_modules/buffer-from": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", - "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==" + "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==", + "dev": true }, "node_modules/callsites": { "version": "3.1.0", @@ -2512,6 +2512,7 @@ "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" } @@ -2520,6 +2521,7 @@ "version": "0.5.20", "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.20.tgz", "integrity": "sha512-n1lZZ8Ve4ksRqizaBQgxXDgKwttHDhyfQjA6YZZn8+AroHbsIz+JjwxQDxbp+7y5OYCI8t1Yk7etjD9CRd2hIw==", + "dev": true, "dependencies": { "buffer-from": "^1.0.0", "source-map": "^0.6.0" @@ -3739,7 +3741,8 @@ "buffer-from": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", - "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==" + "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==", + "dev": true }, "callsites": { "version": "3.1.0", @@ -4956,12 +4959,14 @@ "source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true }, "source-map-support": { "version": "0.5.20", "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.20.tgz", "integrity": "sha512-n1lZZ8Ve4ksRqizaBQgxXDgKwttHDhyfQjA6YZZn8+AroHbsIz+JjwxQDxbp+7y5OYCI8t1Yk7etjD9CRd2hIw==", + "dev": true, "requires": { "buffer-from": "^1.0.0", "source-map": "^0.6.0" diff --git a/package.json b/package.json index 90030520fd..aab9cf7101 100644 --- a/package.json +++ b/package.json @@ -23,7 +23,6 @@ "dependencies": { "binaryen": "102.0.0-nightly.20211028", "long": "^4.0.0", - "source-map-support": "^0.5.20", "ts-node": "^10.4.0" }, "devDependencies": { From 0e07997ed693862695176d76cce62312144d7346 Mon Sep 17 00:00:00 2001 From: MaxGraey Date: Mon, 8 Nov 2021 13:32:34 +0200 Subject: [PATCH 23/32] add noEmit: true --- index.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/index.js b/index.js index 4b915960c6..8a864ab910 100644 --- a/index.js +++ b/index.js @@ -4,7 +4,7 @@ require("ts-node").register({ skipIgnore: true, files: true, compilerOptions: { - target: "esnext", + noEmit: true, removeComments: false } }); From bb7f86d8b95b73ea785818c27a2bf21bf892c075 Mon Sep 17 00:00:00 2001 From: MaxGraey Date: Mon, 8 Nov 2021 13:41:16 +0200 Subject: [PATCH 24/32] revert. noEmit ican't be overriden --- index.js | 1 - 1 file changed, 1 deletion(-) diff --git a/index.js b/index.js index 8a864ab910..a2ab787e8e 100644 --- a/index.js +++ b/index.js @@ -4,7 +4,6 @@ require("ts-node").register({ skipIgnore: true, files: true, compilerOptions: { - noEmit: true, removeComments: false } }); From e443cc61be7ce3c824c0da5794841e2a3f2f9055 Mon Sep 17 00:00:00 2001 From: MaxGraey Date: Mon, 8 Nov 2021 13:44:07 +0200 Subject: [PATCH 25/32] add Cache dependencies in check stage --- .github/workflows/test.yml | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index f19a3f6920..d79aef0aad 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -20,6 +20,15 @@ jobs: else printf "\nOK: Distributions files have not been modified.\n"; fi + - name: "Cache dependencies" + - run: | + npm config set cache "$( node -p "process.cwd()" )/temp/npm-cache" + - name: Cache dependencies + uses: actions/cache@v2 + with: + path: temp/npm-cache + key: npm-cache-packaging-${{ hashFiles('package-lock.json') }} + restore-keys: npm-cache-packaging- test: name: "Compiler (Linux, node ${{ matrix.node_version }})" runs-on: ubuntu-latest From 96a2cdbd7e1d1c61ab8a35a1f2eecee757d12b80 Mon Sep 17 00:00:00 2001 From: MaxGraey Date: Mon, 8 Nov 2021 13:52:22 +0200 Subject: [PATCH 26/32] fix --- .github/workflows/test.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index d79aef0aad..d94cfa3b22 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -20,10 +20,10 @@ jobs: else printf "\nOK: Distributions files have not been modified.\n"; fi - - name: "Cache dependencies" + - name: "Setup cache dependencies" - run: | npm config set cache "$( node -p "process.cwd()" )/temp/npm-cache" - - name: Cache dependencies + - name: "Cache dependencies" uses: actions/cache@v2 with: path: temp/npm-cache From 9daf2b9488ed1ff3ab8a1d2b7fb69ae01524fa7e Mon Sep 17 00:00:00 2001 From: MaxGraey Date: Mon, 8 Nov 2021 13:55:53 +0200 Subject: [PATCH 27/32] fix --- .github/workflows/test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index d94cfa3b22..e507a92b3a 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -21,7 +21,7 @@ jobs: printf "\nOK: Distributions files have not been modified.\n"; fi - name: "Setup cache dependencies" - - run: | + run: | npm config set cache "$( node -p "process.cwd()" )/temp/npm-cache" - name: "Cache dependencies" uses: actions/cache@v2 From 8a5f272b13c4110502ad1e3b01bbc68a0ae27933 Mon Sep 17 00:00:00 2001 From: MaxGraey Date: Mon, 8 Nov 2021 14:16:53 +0200 Subject: [PATCH 28/32] caching doesn't take any benefits so remove it --- .github/workflows/test.yml | 9 --------- 1 file changed, 9 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index e507a92b3a..f19a3f6920 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -20,15 +20,6 @@ jobs: else printf "\nOK: Distributions files have not been modified.\n"; fi - - name: "Setup cache dependencies" - run: | - npm config set cache "$( node -p "process.cwd()" )/temp/npm-cache" - - name: "Cache dependencies" - uses: actions/cache@v2 - with: - path: temp/npm-cache - key: npm-cache-packaging-${{ hashFiles('package-lock.json') }} - restore-keys: npm-cache-packaging- test: name: "Compiler (Linux, node ${{ matrix.node_version }})" runs-on: ubuntu-latest From c14bc5559e60dbdd1c50cb7d3c1acdfdd4c5a490 Mon Sep 17 00:00:00 2001 From: MaxGraey Date: Mon, 8 Nov 2021 14:58:01 +0200 Subject: [PATCH 29/32] refactor. Revert source-map-support package --- .github/workflows/test.yml | 6 +++--- package-lock.json | 13 ++++--------- package.json | 3 ++- 3 files changed, 9 insertions(+), 13 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index f19a3f6920..aee2de710e 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -43,7 +43,7 @@ jobs: - name: Build distribution files run: npm run build - name: Update entry file - run: npm run prepare:ci + run: npm run prepare-ci - name: Test distribution run: npm test - name: Test browser build @@ -66,7 +66,7 @@ jobs: - name: Build distribution files run: npm run build - name: Update entry file - run: npm run prepare:ci + run: npm run prepare-ci - name: Test distribution run: npm test - name: Test browser build @@ -89,7 +89,7 @@ jobs: - name: Build distribution files run: npm run build - name: Update entry file - run: npm run prepare:ci + run: npm run prepare-ci - name: Test distribution run: npm test - name: Test browser build diff --git a/package-lock.json b/package-lock.json index 023299f6e3..c6449395b7 100644 --- a/package-lock.json +++ b/package-lock.json @@ -11,6 +11,7 @@ "dependencies": { "binaryen": "102.0.0-nightly.20211028", "long": "^4.0.0", + "source-map-support": "^0.5.20", "ts-node": "^10.4.0" }, "bin": { @@ -862,8 +863,7 @@ "node_modules/buffer-from": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", - "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==", - "dev": true + "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==" }, "node_modules/callsites": { "version": "3.1.0", @@ -2512,7 +2512,6 @@ "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" } @@ -2521,7 +2520,6 @@ "version": "0.5.20", "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.20.tgz", "integrity": "sha512-n1lZZ8Ve4ksRqizaBQgxXDgKwttHDhyfQjA6YZZn8+AroHbsIz+JjwxQDxbp+7y5OYCI8t1Yk7etjD9CRd2hIw==", - "dev": true, "dependencies": { "buffer-from": "^1.0.0", "source-map": "^0.6.0" @@ -3741,8 +3739,7 @@ "buffer-from": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", - "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==", - "dev": true + "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==" }, "callsites": { "version": "3.1.0", @@ -4959,14 +4956,12 @@ "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 + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" }, "source-map-support": { "version": "0.5.20", "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.20.tgz", "integrity": "sha512-n1lZZ8Ve4ksRqizaBQgxXDgKwttHDhyfQjA6YZZn8+AroHbsIz+JjwxQDxbp+7y5OYCI8t1Yk7etjD9CRd2hIw==", - "dev": true, "requires": { "buffer-from": "^1.0.0", "source-map": "^0.6.0" diff --git a/package.json b/package.json index aab9cf7101..8a4819d2b5 100644 --- a/package.json +++ b/package.json @@ -23,6 +23,7 @@ "dependencies": { "binaryen": "102.0.0-nightly.20211028", "long": "^4.0.0", + "source-map-support": "^0.5.20", "ts-node": "^10.4.0" }, "devDependencies": { @@ -86,7 +87,7 @@ "docs": "typedoc --tsconfig tsconfig-docs.json --mode modules --name \"AssemblyScript Compiler API\" --out ./docs/api --ignoreCompilerErrors --excludeNotExported --excludePrivate --excludeExternals --exclude **/std/** --includeDeclarations --readme src/README.md", "prepublishOnly": "node scripts/prepublish", "postpublish": "node scripts/postpublish", - "prepare:ci": "node scripts/replace-entry", + "prepare-ci": "node scripts/replace-entry", "asbuild": "npm run asbuild:untouched && npm run asbuild:optimized", "asbuild:untouched": "node bin/asc --config src/asconfig.json --target untouched", "asbuild:optimized": "node bin/asc --config src/asconfig.json --target optimized", From 5d6e0805fd646f625aa2e41344d2b656ec58d044 Mon Sep 17 00:00:00 2001 From: MaxGraey Date: Mon, 8 Nov 2021 15:10:43 +0200 Subject: [PATCH 30/32] reuse prepublish script --- package.json | 2 +- scripts/prepublish.js | 88 +++++++++++++++++++++------------------- scripts/replace-entry.js | 14 ------- 3 files changed, 48 insertions(+), 56 deletions(-) delete mode 100644 scripts/replace-entry.js diff --git a/package.json b/package.json index 8a4819d2b5..10376ea150 100644 --- a/package.json +++ b/package.json @@ -85,9 +85,9 @@ "make": "npm run clean && npm test && npm run build && npm test", "all": "npm run check && npm run make", "docs": "typedoc --tsconfig tsconfig-docs.json --mode modules --name \"AssemblyScript Compiler API\" --out ./docs/api --ignoreCompilerErrors --excludeNotExported --excludePrivate --excludeExternals --exclude **/std/** --includeDeclarations --readme src/README.md", + "prepare-ci": "node scripts/postpublish --prepare-for-ci", "prepublishOnly": "node scripts/prepublish", "postpublish": "node scripts/postpublish", - "prepare-ci": "node scripts/replace-entry", "asbuild": "npm run asbuild:untouched && npm run asbuild:optimized", "asbuild:untouched": "node bin/asc --config src/asconfig.json --target untouched", "asbuild:optimized": "node bin/asc --config src/asconfig.json --target optimized", diff --git a/scripts/prepublish.js b/scripts/prepublish.js index d18b7c373f..392259409a 100644 --- a/scripts/prepublish.js +++ b/scripts/prepublish.js @@ -5,47 +5,51 @@ const path = require("path"); const pkg = require("../package.json"); const devFiles = require("./postpublish-files.json"); -if (!pkg.releaseFiles) { - console.log("Package has already been updated"); - return; -} +var isCI = process.argv[3] == '--prepare-for-ci'; + +if (!isCI) { + if (!pkg.releaseFiles) { + console.log("Package has already been updated"); + return; + } + + console.log("Backing up development files ..."); + + devFiles.forEach(originalName => { + const backupName = originalName + ".backup"; + console.log("- " + originalName + " -> " + backupName); + fs.copyFileSync( + path.join(__dirname, "..", originalName), + path.join(__dirname, "..", backupName) + ); + }); -console.log("Backing up development files ..."); - -devFiles.forEach(originalName => { - const backupName = originalName + ".backup"; - console.log("- " + originalName + " -> " + backupName); - fs.copyFileSync( - path.join(__dirname, "..", originalName), - path.join(__dirname, "..", backupName) - ); -}); - -console.log("Updating package.json ..."); - -// Stuff we don't need in release -Object.keys(pkg.devDependencies).forEach(dep => delete pkg.dependencies[dep]); -delete pkg.devDependencies; -delete pkg.scripts; - -// Stuff we want in release -pkg.files = pkg.releaseFiles; -delete pkg.releaseFiles; - -// Copy contributors from NOTICE to .contributors -const notice = fs.readFileSync(path.join(__dirname, "..", "NOTICE"), "utf8"); -const noticeRange = ["dcode.io>", "Portions of this software"]; -const posStart = notice.indexOf(noticeRange[0]); -const posEnd = notice.indexOf(noticeRange[1], posStart); -if (posStart < 0 || posEnd < 0) throw Error("unexpected NOTICE format"); -pkg.contributors = []; -for (let entry of notice.substring(posStart + noticeRange[0].length, posEnd).trim().matchAll(/^\* ([^<\n]+(?: <([^>\n]+)>))/mg)) { - pkg.contributors.push(entry[1]); + console.log("Updating package.json ..."); + + // Stuff we don't need in release + Object.keys(pkg.devDependencies).forEach(dep => delete pkg.dependencies[dep]); + delete pkg.devDependencies; + delete pkg.scripts; + + // Stuff we want in release + pkg.files = pkg.releaseFiles; + delete pkg.releaseFiles; + + // Copy contributors from NOTICE to .contributors + const notice = fs.readFileSync(path.join(__dirname, "..", "NOTICE"), "utf8"); + const noticeRange = ["dcode.io>", "Portions of this software"]; + const posStart = notice.indexOf(noticeRange[0]); + const posEnd = notice.indexOf(noticeRange[1], posStart); + if (posStart < 0 || posEnd < 0) throw Error("unexpected NOTICE format"); + pkg.contributors = []; + for (let entry of notice.substring(posStart + noticeRange[0].length, posEnd).trim().matchAll(/^\* ([^<\n]+(?: <([^>\n]+)>))/mg)) { + pkg.contributors.push(entry[1]); + } + if (!pkg.contributors.length) throw Error("missing contributors"); + fs.writeFileSync(path.join(__dirname, "..", "package.json"), [ + JSON.stringify(pkg, null, 2), '\n' + ].join("")); } -if (!pkg.contributors.length) throw Error("missing contributors"); -fs.writeFileSync(path.join(__dirname, "..", "package.json"), [ - JSON.stringify(pkg, null, 2), '\n' -].join("")); console.log("Copying index.release.js -> index.js ..."); fs.copyFileSync( @@ -59,5 +63,7 @@ fs.copyFileSync( path.join(__dirname, "..", "index.d.ts") ); -// We are going to use these immediately, so, to be sure: -setTimeout(() => console.log("OK"), 2000); +if (!isCI) { + // We are going to use these immediately, so, to be sure: + setTimeout(() => console.log("OK"), 2000); +} diff --git a/scripts/replace-entry.js b/scripts/replace-entry.js deleted file mode 100644 index a24f0b729c..0000000000 --- a/scripts/replace-entry.js +++ /dev/null @@ -1,14 +0,0 @@ -const fs = require("fs"); -const path = require("path"); - -console.log("Copying index.release.js -> index.js ..."); -fs.copyFileSync( - path.join(__dirname, "..", "index.release.js"), - path.join(__dirname, "..", "index.js") -); - -console.log("Copying index.release.d.ts -> index.d.ts ..."); -fs.copyFileSync( - path.join(__dirname, "..", "index.release.d.ts"), - path.join(__dirname, "..", "index.d.ts") -); From f42d096811bb0b9f13505f835a9b9b4e845d7cf0 Mon Sep 17 00:00:00 2001 From: MaxGraey Date: Mon, 8 Nov 2021 15:36:05 +0200 Subject: [PATCH 31/32] fix --- scripts/prepublish.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/prepublish.js b/scripts/prepublish.js index 392259409a..62217dbf54 100644 --- a/scripts/prepublish.js +++ b/scripts/prepublish.js @@ -5,7 +5,7 @@ const path = require("path"); const pkg = require("../package.json"); const devFiles = require("./postpublish-files.json"); -var isCI = process.argv[3] == '--prepare-for-ci'; +var isCI = process.argv[2] === '--prepare-for-ci'; if (!isCI) { if (!pkg.releaseFiles) { From 11e2bfbde68e7bf74f0d5fdcb3dc38971063a107 Mon Sep 17 00:00:00 2001 From: MaxGraey Date: Mon, 8 Nov 2021 15:37:08 +0200 Subject: [PATCH 32/32] fix --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 10376ea150..0769b1e757 100644 --- a/package.json +++ b/package.json @@ -85,7 +85,7 @@ "make": "npm run clean && npm test && npm run build && npm test", "all": "npm run check && npm run make", "docs": "typedoc --tsconfig tsconfig-docs.json --mode modules --name \"AssemblyScript Compiler API\" --out ./docs/api --ignoreCompilerErrors --excludeNotExported --excludePrivate --excludeExternals --exclude **/std/** --includeDeclarations --readme src/README.md", - "prepare-ci": "node scripts/postpublish --prepare-for-ci", + "prepare-ci": "node scripts/prepublish --prepare-for-ci", "prepublishOnly": "node scripts/prepublish", "postpublish": "node scripts/postpublish", "asbuild": "npm run asbuild:untouched && npm run asbuild:optimized",