@steambrew/ttc 3.1.2 → 3.2.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bun.lock +69 -0
- package/dist/index.js +152 -3
- package/package.json +2 -1
- package/src/transpiler.ts +152 -3
package/bun.lock
CHANGED
|
@@ -25,6 +25,7 @@
|
|
|
25
25
|
"glob": "^11.0.2",
|
|
26
26
|
"magic-string": "^0.30.17",
|
|
27
27
|
"rollup": "^4.42.0",
|
|
28
|
+
"rollup-plugin-esbuild": "^6.0.0",
|
|
28
29
|
"rollup-plugin-inject-process-env": "^1.3.1",
|
|
29
30
|
"rollup-plugin-polyfill-node": "^0.13.0",
|
|
30
31
|
"rollup-plugin-scss": "^4.0.1",
|
|
@@ -234,6 +235,58 @@
|
|
|
234
235
|
|
|
235
236
|
"@babel/types": ["@babel/types@7.27.6", "", { "dependencies": { "@babel/helper-string-parser": "7.27.1", "@babel/helper-validator-identifier": "7.27.1" } }, "sha512-ETyHEk2VHHvl9b9jZP5IHPavHYk57EhanlRRuae9XCpb/j5bDCbPPMOBfCWhnl/7EDJz0jEMCi/RhccCE8r1+Q=="],
|
|
236
237
|
|
|
238
|
+
"@esbuild/aix-ppc64": ["@esbuild/aix-ppc64@0.27.3", "", { "os": "aix", "cpu": "ppc64" }, "sha512-9fJMTNFTWZMh5qwrBItuziu834eOCUcEqymSH7pY+zoMVEZg3gcPuBNxH1EvfVYe9h0x/Ptw8KBzv7qxb7l8dg=="],
|
|
239
|
+
|
|
240
|
+
"@esbuild/android-arm": ["@esbuild/android-arm@0.27.3", "", { "os": "android", "cpu": "arm" }, "sha512-i5D1hPY7GIQmXlXhs2w8AWHhenb00+GxjxRncS2ZM7YNVGNfaMxgzSGuO8o8SJzRc/oZwU2bcScvVERk03QhzA=="],
|
|
241
|
+
|
|
242
|
+
"@esbuild/android-arm64": ["@esbuild/android-arm64@0.27.3", "", { "os": "android", "cpu": "arm64" }, "sha512-YdghPYUmj/FX2SYKJ0OZxf+iaKgMsKHVPF1MAq/P8WirnSpCStzKJFjOjzsW0QQ7oIAiccHdcqjbHmJxRb/dmg=="],
|
|
243
|
+
|
|
244
|
+
"@esbuild/android-x64": ["@esbuild/android-x64@0.27.3", "", { "os": "android", "cpu": "x64" }, "sha512-IN/0BNTkHtk8lkOM8JWAYFg4ORxBkZQf9zXiEOfERX/CzxW3Vg1ewAhU7QSWQpVIzTW+b8Xy+lGzdYXV6UZObQ=="],
|
|
245
|
+
|
|
246
|
+
"@esbuild/darwin-arm64": ["@esbuild/darwin-arm64@0.27.3", "", { "os": "darwin", "cpu": "arm64" }, "sha512-Re491k7ByTVRy0t3EKWajdLIr0gz2kKKfzafkth4Q8A5n1xTHrkqZgLLjFEHVD+AXdUGgQMq+Godfq45mGpCKg=="],
|
|
247
|
+
|
|
248
|
+
"@esbuild/darwin-x64": ["@esbuild/darwin-x64@0.27.3", "", { "os": "darwin", "cpu": "x64" }, "sha512-vHk/hA7/1AckjGzRqi6wbo+jaShzRowYip6rt6q7VYEDX4LEy1pZfDpdxCBnGtl+A5zq8iXDcyuxwtv3hNtHFg=="],
|
|
249
|
+
|
|
250
|
+
"@esbuild/freebsd-arm64": ["@esbuild/freebsd-arm64@0.27.3", "", { "os": "freebsd", "cpu": "arm64" }, "sha512-ipTYM2fjt3kQAYOvo6vcxJx3nBYAzPjgTCk7QEgZG8AUO3ydUhvelmhrbOheMnGOlaSFUoHXB6un+A7q4ygY9w=="],
|
|
251
|
+
|
|
252
|
+
"@esbuild/freebsd-x64": ["@esbuild/freebsd-x64@0.27.3", "", { "os": "freebsd", "cpu": "x64" }, "sha512-dDk0X87T7mI6U3K9VjWtHOXqwAMJBNN2r7bejDsc+j03SEjtD9HrOl8gVFByeM0aJksoUuUVU9TBaZa2rgj0oA=="],
|
|
253
|
+
|
|
254
|
+
"@esbuild/linux-arm": ["@esbuild/linux-arm@0.27.3", "", { "os": "linux", "cpu": "arm" }, "sha512-s6nPv2QkSupJwLYyfS+gwdirm0ukyTFNl3KTgZEAiJDd+iHZcbTPPcWCcRYH+WlNbwChgH2QkE9NSlNrMT8Gfw=="],
|
|
255
|
+
|
|
256
|
+
"@esbuild/linux-arm64": ["@esbuild/linux-arm64@0.27.3", "", { "os": "linux", "cpu": "arm64" }, "sha512-sZOuFz/xWnZ4KH3YfFrKCf1WyPZHakVzTiqji3WDc0BCl2kBwiJLCXpzLzUBLgmp4veFZdvN5ChW4Eq/8Fc2Fg=="],
|
|
257
|
+
|
|
258
|
+
"@esbuild/linux-ia32": ["@esbuild/linux-ia32@0.27.3", "", { "os": "linux", "cpu": "ia32" }, "sha512-yGlQYjdxtLdh0a3jHjuwOrxQjOZYD/C9PfdbgJJF3TIZWnm/tMd/RcNiLngiu4iwcBAOezdnSLAwQDPqTmtTYg=="],
|
|
259
|
+
|
|
260
|
+
"@esbuild/linux-loong64": ["@esbuild/linux-loong64@0.27.3", "", { "os": "linux", "cpu": "none" }, "sha512-WO60Sn8ly3gtzhyjATDgieJNet/KqsDlX5nRC5Y3oTFcS1l0KWba+SEa9Ja1GfDqSF1z6hif/SkpQJbL63cgOA=="],
|
|
261
|
+
|
|
262
|
+
"@esbuild/linux-mips64el": ["@esbuild/linux-mips64el@0.27.3", "", { "os": "linux", "cpu": "none" }, "sha512-APsymYA6sGcZ4pD6k+UxbDjOFSvPWyZhjaiPyl/f79xKxwTnrn5QUnXR5prvetuaSMsb4jgeHewIDCIWljrSxw=="],
|
|
263
|
+
|
|
264
|
+
"@esbuild/linux-ppc64": ["@esbuild/linux-ppc64@0.27.3", "", { "os": "linux", "cpu": "ppc64" }, "sha512-eizBnTeBefojtDb9nSh4vvVQ3V9Qf9Df01PfawPcRzJH4gFSgrObw+LveUyDoKU3kxi5+9RJTCWlj4FjYXVPEA=="],
|
|
265
|
+
|
|
266
|
+
"@esbuild/linux-riscv64": ["@esbuild/linux-riscv64@0.27.3", "", { "os": "linux", "cpu": "none" }, "sha512-3Emwh0r5wmfm3ssTWRQSyVhbOHvqegUDRd0WhmXKX2mkHJe1SFCMJhagUleMq+Uci34wLSipf8Lagt4LlpRFWQ=="],
|
|
267
|
+
|
|
268
|
+
"@esbuild/linux-s390x": ["@esbuild/linux-s390x@0.27.3", "", { "os": "linux", "cpu": "s390x" }, "sha512-pBHUx9LzXWBc7MFIEEL0yD/ZVtNgLytvx60gES28GcWMqil8ElCYR4kvbV2BDqsHOvVDRrOxGySBM9Fcv744hw=="],
|
|
269
|
+
|
|
270
|
+
"@esbuild/linux-x64": ["@esbuild/linux-x64@0.27.3", "", { "os": "linux", "cpu": "x64" }, "sha512-Czi8yzXUWIQYAtL/2y6vogER8pvcsOsk5cpwL4Gk5nJqH5UZiVByIY8Eorm5R13gq+DQKYg0+JyQoytLQas4dA=="],
|
|
271
|
+
|
|
272
|
+
"@esbuild/netbsd-arm64": ["@esbuild/netbsd-arm64@0.27.3", "", { "os": "none", "cpu": "arm64" }, "sha512-sDpk0RgmTCR/5HguIZa9n9u+HVKf40fbEUt+iTzSnCaGvY9kFP0YKBWZtJaraonFnqef5SlJ8/TiPAxzyS+UoA=="],
|
|
273
|
+
|
|
274
|
+
"@esbuild/netbsd-x64": ["@esbuild/netbsd-x64@0.27.3", "", { "os": "none", "cpu": "x64" }, "sha512-P14lFKJl/DdaE00LItAukUdZO5iqNH7+PjoBm+fLQjtxfcfFE20Xf5CrLsmZdq5LFFZzb5JMZ9grUwvtVYzjiA=="],
|
|
275
|
+
|
|
276
|
+
"@esbuild/openbsd-arm64": ["@esbuild/openbsd-arm64@0.27.3", "", { "os": "openbsd", "cpu": "arm64" }, "sha512-AIcMP77AvirGbRl/UZFTq5hjXK+2wC7qFRGoHSDrZ5v5b8DK/GYpXW3CPRL53NkvDqb9D+alBiC/dV0Fb7eJcw=="],
|
|
277
|
+
|
|
278
|
+
"@esbuild/openbsd-x64": ["@esbuild/openbsd-x64@0.27.3", "", { "os": "openbsd", "cpu": "x64" }, "sha512-DnW2sRrBzA+YnE70LKqnM3P+z8vehfJWHXECbwBmH/CU51z6FiqTQTHFenPlHmo3a8UgpLyH3PT+87OViOh1AQ=="],
|
|
279
|
+
|
|
280
|
+
"@esbuild/openharmony-arm64": ["@esbuild/openharmony-arm64@0.27.3", "", { "os": "none", "cpu": "arm64" }, "sha512-NinAEgr/etERPTsZJ7aEZQvvg/A6IsZG/LgZy+81wON2huV7SrK3e63dU0XhyZP4RKGyTm7aOgmQk0bGp0fy2g=="],
|
|
281
|
+
|
|
282
|
+
"@esbuild/sunos-x64": ["@esbuild/sunos-x64@0.27.3", "", { "os": "sunos", "cpu": "x64" }, "sha512-PanZ+nEz+eWoBJ8/f8HKxTTD172SKwdXebZ0ndd953gt1HRBbhMsaNqjTyYLGLPdoWHy4zLU7bDVJztF5f3BHA=="],
|
|
283
|
+
|
|
284
|
+
"@esbuild/win32-arm64": ["@esbuild/win32-arm64@0.27.3", "", { "os": "win32", "cpu": "arm64" }, "sha512-B2t59lWWYrbRDw/tjiWOuzSsFh1Y/E95ofKz7rIVYSQkUYBjfSgf6oeYPNWHToFRr2zx52JKApIcAS/D5TUBnA=="],
|
|
285
|
+
|
|
286
|
+
"@esbuild/win32-ia32": ["@esbuild/win32-ia32@0.27.3", "", { "os": "win32", "cpu": "ia32" }, "sha512-QLKSFeXNS8+tHW7tZpMtjlNb7HKau0QDpwm49u0vUp9y1WOF+PEzkU84y9GqYaAVW8aH8f3GcBck26jh54cX4Q=="],
|
|
287
|
+
|
|
288
|
+
"@esbuild/win32-x64": ["@esbuild/win32-x64@0.27.3", "", { "os": "win32", "cpu": "x64" }, "sha512-4uJGhsxuptu3OcpVAzli+/gWusVGwZZHTlS63hh++ehExkVT8SgiEf7/uC/PclrPPkLhZqGgCTjd0VWLo6xMqA=="],
|
|
289
|
+
|
|
237
290
|
"@isaacs/cliui": ["@isaacs/cliui@8.0.2", "", { "dependencies": { "string-width": "5.1.2", "string-width-cjs": "npm:string-width@4.2.3", "strip-ansi": "7.1.0", "strip-ansi-cjs": "npm:strip-ansi@6.0.1", "wrap-ansi": "8.1.0", "wrap-ansi-cjs": "npm:wrap-ansi@7.0.0" } }, "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA=="],
|
|
238
291
|
|
|
239
292
|
"@jridgewell/gen-mapping": ["@jridgewell/gen-mapping@0.3.8", "", { "dependencies": { "@jridgewell/set-array": "1.2.1", "@jridgewell/sourcemap-codec": "1.5.0", "@jridgewell/trace-mapping": "0.3.25" } }, "sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA=="],
|
|
@@ -404,6 +457,10 @@
|
|
|
404
457
|
|
|
405
458
|
"emoji-regex": ["emoji-regex@9.2.2", "", {}, "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg=="],
|
|
406
459
|
|
|
460
|
+
"es-module-lexer": ["es-module-lexer@1.7.0", "", {}, "sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA=="],
|
|
461
|
+
|
|
462
|
+
"esbuild": ["esbuild@0.27.3", "", { "optionalDependencies": { "@esbuild/aix-ppc64": "0.27.3", "@esbuild/android-arm": "0.27.3", "@esbuild/android-arm64": "0.27.3", "@esbuild/android-x64": "0.27.3", "@esbuild/darwin-arm64": "0.27.3", "@esbuild/darwin-x64": "0.27.3", "@esbuild/freebsd-arm64": "0.27.3", "@esbuild/freebsd-x64": "0.27.3", "@esbuild/linux-arm": "0.27.3", "@esbuild/linux-arm64": "0.27.3", "@esbuild/linux-ia32": "0.27.3", "@esbuild/linux-loong64": "0.27.3", "@esbuild/linux-mips64el": "0.27.3", "@esbuild/linux-ppc64": "0.27.3", "@esbuild/linux-riscv64": "0.27.3", "@esbuild/linux-s390x": "0.27.3", "@esbuild/linux-x64": "0.27.3", "@esbuild/netbsd-arm64": "0.27.3", "@esbuild/netbsd-x64": "0.27.3", "@esbuild/openbsd-arm64": "0.27.3", "@esbuild/openbsd-x64": "0.27.3", "@esbuild/openharmony-arm64": "0.27.3", "@esbuild/sunos-x64": "0.27.3", "@esbuild/win32-arm64": "0.27.3", "@esbuild/win32-ia32": "0.27.3", "@esbuild/win32-x64": "0.27.3" }, "bin": { "esbuild": "bin/esbuild" } }, "sha512-8VwMnyGCONIs6cWue2IdpHxHnAjzxnw2Zr7MkVxB2vjmQ2ivqGFb4LEG3SMnv0Gb2F/G/2yA8zUaiL1gywDCCg=="],
|
|
463
|
+
|
|
407
464
|
"escalade": ["escalade@3.2.0", "", {}, "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA=="],
|
|
408
465
|
|
|
409
466
|
"estree-walker": ["estree-walker@2.0.2", "", {}, "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w=="],
|
|
@@ -424,6 +481,8 @@
|
|
|
424
481
|
|
|
425
482
|
"gensync": ["gensync@1.0.0-beta.2", "", {}, "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg=="],
|
|
426
483
|
|
|
484
|
+
"get-tsconfig": ["get-tsconfig@4.13.6", "", { "dependencies": { "resolve-pkg-maps": "^1.0.0" } }, "sha512-shZT/QMiSHc/YBLxxOkMtgSid5HFoauqCE3/exfsEcwg1WkeqjG+V40yBbBrsD+jW2HDXcs28xOfcbm2jI8Ddw=="],
|
|
485
|
+
|
|
427
486
|
"glob": ["glob@11.0.2", "", { "dependencies": { "foreground-child": "3.3.1", "jackspeak": "4.1.1", "minimatch": "10.0.1", "minipass": "7.1.2", "package-json-from-dist": "1.0.1", "path-scurry": "2.0.0" }, "bin": { "glob": "dist/esm/bin.mjs" } }, "sha512-YT7U7Vye+t5fZ/QMkBFrTJ7ZQxInIUjwyAjVj84CYXqgBdv30MFUPGnBR6sQaVq6Is15wYJUsnzTuWaGRBhBAQ=="],
|
|
428
487
|
|
|
429
488
|
"globals": ["globals@11.12.0", "", {}, "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA=="],
|
|
@@ -486,6 +545,8 @@
|
|
|
486
545
|
|
|
487
546
|
"path-scurry": ["path-scurry@2.0.0", "", { "dependencies": { "lru-cache": "11.1.0", "minipass": "7.1.2" } }, "sha512-ypGJsmGtdXUOeM5u93TyeIEfEhM6s+ljAhrk5vAvSx8uyY/02OvrZnA0YNGUrPXfpJMgI1ODd3nwz8Npx4O4cg=="],
|
|
488
547
|
|
|
548
|
+
"pathe": ["pathe@2.0.3", "", {}, "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w=="],
|
|
549
|
+
|
|
489
550
|
"picocolors": ["picocolors@1.1.1", "", {}, "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA=="],
|
|
490
551
|
|
|
491
552
|
"picomatch": ["picomatch@4.0.2", "", {}, "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg=="],
|
|
@@ -506,8 +567,12 @@
|
|
|
506
567
|
|
|
507
568
|
"resolve": ["resolve@1.22.10", "", { "dependencies": { "is-core-module": "2.16.1", "path-parse": "1.0.7", "supports-preserve-symlinks-flag": "1.0.0" }, "bin": { "resolve": "bin/resolve" } }, "sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w=="],
|
|
508
569
|
|
|
570
|
+
"resolve-pkg-maps": ["resolve-pkg-maps@1.0.0", "", {}, "sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw=="],
|
|
571
|
+
|
|
509
572
|
"rollup": ["rollup@4.42.0", "", { "dependencies": { "@types/estree": "1.0.7" }, "optionalDependencies": { "@rollup/rollup-android-arm-eabi": "4.42.0", "@rollup/rollup-android-arm64": "4.42.0", "@rollup/rollup-darwin-arm64": "4.42.0", "@rollup/rollup-darwin-x64": "4.42.0", "@rollup/rollup-freebsd-arm64": "4.42.0", "@rollup/rollup-freebsd-x64": "4.42.0", "@rollup/rollup-linux-arm-gnueabihf": "4.42.0", "@rollup/rollup-linux-arm-musleabihf": "4.42.0", "@rollup/rollup-linux-arm64-gnu": "4.42.0", "@rollup/rollup-linux-arm64-musl": "4.42.0", "@rollup/rollup-linux-loongarch64-gnu": "4.42.0", "@rollup/rollup-linux-powerpc64le-gnu": "4.42.0", "@rollup/rollup-linux-riscv64-gnu": "4.42.0", "@rollup/rollup-linux-riscv64-musl": "4.42.0", "@rollup/rollup-linux-s390x-gnu": "4.42.0", "@rollup/rollup-linux-x64-gnu": "4.42.0", "@rollup/rollup-linux-x64-musl": "4.42.0", "@rollup/rollup-win32-arm64-msvc": "4.42.0", "@rollup/rollup-win32-ia32-msvc": "4.42.0", "@rollup/rollup-win32-x64-msvc": "4.42.0", "fsevents": "2.3.3" }, "bin": { "rollup": "dist/bin/rollup" } }, "sha512-LW+Vse3BJPyGJGAJt1j8pWDKPd73QM8cRXYK1IxOBgL2AGLu7Xd2YOW0M2sLUBCkF5MshXXtMApyEAEzMVMsnw=="],
|
|
510
573
|
|
|
574
|
+
"rollup-plugin-esbuild": ["rollup-plugin-esbuild@6.2.1", "", { "dependencies": { "debug": "^4.4.0", "es-module-lexer": "^1.6.0", "get-tsconfig": "^4.10.0", "unplugin-utils": "^0.2.4" }, "peerDependencies": { "esbuild": ">=0.18.0", "rollup": "^1.20.0 || ^2.0.0 || ^3.0.0 || ^4.0.0" } }, "sha512-jTNOMGoMRhs0JuueJrJqbW8tOwxumaWYq+V5i+PD+8ecSCVkuX27tGW7BXqDgoULQ55rO7IdNxPcnsWtshz3AA=="],
|
|
575
|
+
|
|
511
576
|
"rollup-plugin-inject-process-env": ["rollup-plugin-inject-process-env@1.3.1", "", { "dependencies": { "magic-string": "0.25.9" } }, "sha512-kKDoL30IZr0wxbNVJjq+OS92RJSKRbKV6B5eNW4q3mZTFqoWDh6lHy+mPDYuuGuERFNKXkG+AKxvYqC9+DRpKQ=="],
|
|
512
577
|
|
|
513
578
|
"rollup-plugin-polyfill-node": ["rollup-plugin-polyfill-node@0.13.0", "", { "dependencies": { "@rollup/plugin-inject": "5.0.5" }, "peerDependencies": { "rollup": "4.42.0" } }, "sha512-FYEvpCaD5jGtyBuBFcQImEGmTxDTPbiHjJdrYIp+mFIwgXiXabxvKUK7ZT9P31ozu2Tqm9llYQMRWsfvTMTAOw=="],
|
|
@@ -568,6 +633,8 @@
|
|
|
568
633
|
|
|
569
634
|
"unicode-property-aliases-ecmascript": ["unicode-property-aliases-ecmascript@2.1.0", "", {}, "sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w=="],
|
|
570
635
|
|
|
636
|
+
"unplugin-utils": ["unplugin-utils@0.2.5", "", { "dependencies": { "pathe": "^2.0.3", "picomatch": "^4.0.3" } }, "sha512-gwXJnPRewT4rT7sBi/IvxKTjsms7jX7QIDLOClApuZwR49SXbrB1z2NLUZ+vDHyqCj/n58OzRRqaW+B8OZi8vg=="],
|
|
637
|
+
|
|
571
638
|
"update-browserslist-db": ["update-browserslist-db@1.1.3", "", { "dependencies": { "escalade": "3.2.0", "picocolors": "1.1.1" }, "peerDependencies": { "browserslist": "4.25.0" }, "bin": { "update-browserslist-db": "cli.js" } }, "sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw=="],
|
|
572
639
|
|
|
573
640
|
"which": ["which@2.0.2", "", { "dependencies": { "isexe": "2.0.0" }, "bin": { "node-which": "./bin/node-which" } }, "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA=="],
|
|
@@ -596,6 +663,8 @@
|
|
|
596
663
|
|
|
597
664
|
"strip-ansi-cjs/ansi-regex": ["ansi-regex@5.0.1", "", {}, "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ=="],
|
|
598
665
|
|
|
666
|
+
"unplugin-utils/picomatch": ["picomatch@4.0.3", "", {}, "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q=="],
|
|
667
|
+
|
|
599
668
|
"wrap-ansi-cjs/ansi-styles": ["ansi-styles@4.3.0", "", { "dependencies": { "color-convert": "2.0.1" } }, "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg=="],
|
|
600
669
|
|
|
601
670
|
"wrap-ansi-cjs/string-width": ["string-width@4.2.3", "", { "dependencies": { "emoji-regex": "8.0.0", "is-fullwidth-code-point": "3.0.0", "strip-ansi": "6.0.1" } }, "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g=="],
|
package/dist/index.js
CHANGED
|
@@ -11,6 +11,7 @@ import resolve, { nodeResolve } from '@rollup/plugin-node-resolve';
|
|
|
11
11
|
import replace from '@rollup/plugin-replace';
|
|
12
12
|
import terser from '@rollup/plugin-terser';
|
|
13
13
|
import typescript from '@rollup/plugin-typescript';
|
|
14
|
+
import esbuild from 'rollup-plugin-esbuild';
|
|
14
15
|
import url from '@rollup/plugin-url';
|
|
15
16
|
import nodePolyfills from 'rollup-plugin-polyfill-node';
|
|
16
17
|
import { watch, rollup } from 'rollup';
|
|
@@ -604,6 +605,148 @@ function stripPluginPrefix(message) {
|
|
|
604
605
|
}
|
|
605
606
|
class BuildFailedError extends Error {
|
|
606
607
|
}
|
|
608
|
+
/**
|
|
609
|
+
* tsconfig.json files use JSONC, not regular JSON.
|
|
610
|
+
* JSONC supports comments and trailing commas, while JSON does not.
|
|
611
|
+
* This function sanitizes JSONC into JSON.parse()-able content.
|
|
612
|
+
*
|
|
613
|
+
* @param text input text
|
|
614
|
+
* @returns object
|
|
615
|
+
*/
|
|
616
|
+
function parseJsonc(text) {
|
|
617
|
+
let out = '';
|
|
618
|
+
let i = 0;
|
|
619
|
+
const n = text.length;
|
|
620
|
+
while (i < n) {
|
|
621
|
+
const ch = text[i];
|
|
622
|
+
if (ch === '"') {
|
|
623
|
+
out += ch;
|
|
624
|
+
i++;
|
|
625
|
+
while (i < n) {
|
|
626
|
+
const c = text[i];
|
|
627
|
+
out += c;
|
|
628
|
+
if (c === '\\') {
|
|
629
|
+
i++;
|
|
630
|
+
if (i < n) {
|
|
631
|
+
out += text[i];
|
|
632
|
+
i++;
|
|
633
|
+
}
|
|
634
|
+
}
|
|
635
|
+
else if (c === '"') {
|
|
636
|
+
i++;
|
|
637
|
+
break;
|
|
638
|
+
}
|
|
639
|
+
else
|
|
640
|
+
i++;
|
|
641
|
+
}
|
|
642
|
+
}
|
|
643
|
+
else if (ch === '/' && i + 1 < n && text[i + 1] === '/') {
|
|
644
|
+
i += 2;
|
|
645
|
+
while (i < n && text[i] !== '\n')
|
|
646
|
+
i++;
|
|
647
|
+
}
|
|
648
|
+
else if (ch === '/' && i + 1 < n && text[i + 1] === '*') {
|
|
649
|
+
i += 2;
|
|
650
|
+
while (i < n - 1 && !(text[i] === '*' && text[i + 1] === '/'))
|
|
651
|
+
i++;
|
|
652
|
+
i += 2;
|
|
653
|
+
}
|
|
654
|
+
else if (ch === ',') {
|
|
655
|
+
let j = i + 1;
|
|
656
|
+
while (j < n && (text[j] === ' ' || text[j] === '\t' || text[j] === '\n' || text[j] === '\r'))
|
|
657
|
+
j++;
|
|
658
|
+
if (j < n && (text[j] === '}' || text[j] === ']')) {
|
|
659
|
+
i++;
|
|
660
|
+
}
|
|
661
|
+
else {
|
|
662
|
+
out += ch;
|
|
663
|
+
i++;
|
|
664
|
+
}
|
|
665
|
+
}
|
|
666
|
+
else {
|
|
667
|
+
out += ch;
|
|
668
|
+
i++;
|
|
669
|
+
}
|
|
670
|
+
}
|
|
671
|
+
return JSON.parse(out);
|
|
672
|
+
}
|
|
673
|
+
function tsconfigPathsPlugin(tsconfigPath) {
|
|
674
|
+
function readConfig(cfgPath) {
|
|
675
|
+
const dir = path.dirname(path.resolve(cfgPath));
|
|
676
|
+
let raw;
|
|
677
|
+
try {
|
|
678
|
+
raw = parseJsonc(fs.readFileSync(cfgPath, 'utf8'));
|
|
679
|
+
}
|
|
680
|
+
catch {
|
|
681
|
+
return { baseUrl: null, entries: [] };
|
|
682
|
+
}
|
|
683
|
+
let parentResult = { baseUrl: null, entries: [] };
|
|
684
|
+
if (raw.extends) {
|
|
685
|
+
const ext = raw.extends;
|
|
686
|
+
const parentPath = path.resolve(dir, ext.endsWith('.json') ? ext : `${ext}.json`);
|
|
687
|
+
parentResult = readConfig(parentPath);
|
|
688
|
+
}
|
|
689
|
+
const opts = raw.compilerOptions ?? {};
|
|
690
|
+
const baseUrl = opts.baseUrl ? path.resolve(dir, opts.baseUrl) : parentResult.baseUrl;
|
|
691
|
+
const ownEntries = Object.entries(opts.paths ?? {}).map(([pattern, targets]) => ({
|
|
692
|
+
pattern,
|
|
693
|
+
targets: targets,
|
|
694
|
+
configDir: dir,
|
|
695
|
+
}));
|
|
696
|
+
const ownPatterns = new Set(ownEntries.map((e) => e.pattern));
|
|
697
|
+
const parentEntries = parentResult.entries.filter((e) => !ownPatterns.has(e.pattern));
|
|
698
|
+
return { baseUrl, entries: [...ownEntries, ...parentEntries] };
|
|
699
|
+
}
|
|
700
|
+
const { baseUrl, entries } = readConfig(tsconfigPath);
|
|
701
|
+
function resolveWithExtensions(base) {
|
|
702
|
+
for (const ext of ['', '.ts', '.tsx', '.js', '.jsx', '/index.ts', '/index.tsx']) {
|
|
703
|
+
if (fs.existsSync(base + ext))
|
|
704
|
+
return base + ext;
|
|
705
|
+
}
|
|
706
|
+
return null;
|
|
707
|
+
}
|
|
708
|
+
return {
|
|
709
|
+
name: 'tsconfig-paths',
|
|
710
|
+
async resolveId(source, importer) {
|
|
711
|
+
for (const { pattern, targets, configDir } of entries) {
|
|
712
|
+
if (!targets.length)
|
|
713
|
+
continue;
|
|
714
|
+
const isWild = pattern.endsWith('/*');
|
|
715
|
+
if (isWild) {
|
|
716
|
+
const prefix = pattern.slice(0, -2);
|
|
717
|
+
if (source === prefix || source.startsWith(prefix + '/')) {
|
|
718
|
+
const rest = source.startsWith(prefix + '/') ? source.slice(prefix.length + 1) : '';
|
|
719
|
+
const targetBase = path.resolve(configDir, targets[0].replace('*', rest));
|
|
720
|
+
const resolved = resolveWithExtensions(targetBase);
|
|
721
|
+
if (resolved) {
|
|
722
|
+
const result = await this.resolve(resolved, importer, { skipSelf: true });
|
|
723
|
+
if (result)
|
|
724
|
+
return result;
|
|
725
|
+
}
|
|
726
|
+
}
|
|
727
|
+
}
|
|
728
|
+
else if (source === pattern) {
|
|
729
|
+
const targetBase = path.resolve(configDir, targets[0]);
|
|
730
|
+
const resolved = resolveWithExtensions(targetBase);
|
|
731
|
+
if (resolved) {
|
|
732
|
+
const result = await this.resolve(resolved, importer, { skipSelf: true });
|
|
733
|
+
if (result)
|
|
734
|
+
return result;
|
|
735
|
+
}
|
|
736
|
+
}
|
|
737
|
+
}
|
|
738
|
+
if (baseUrl && !source.startsWith('.') && !source.startsWith('/') && !source.startsWith('\0') && !source.startsWith('@')) {
|
|
739
|
+
const resolved = resolveWithExtensions(path.resolve(baseUrl, source));
|
|
740
|
+
if (resolved) {
|
|
741
|
+
const result = await this.resolve(resolved, importer, { skipSelf: true });
|
|
742
|
+
if (result)
|
|
743
|
+
return result;
|
|
744
|
+
}
|
|
745
|
+
}
|
|
746
|
+
return null;
|
|
747
|
+
},
|
|
748
|
+
};
|
|
749
|
+
}
|
|
607
750
|
class MillenniumBuild {
|
|
608
751
|
isExternal(id) {
|
|
609
752
|
const hint = this.forbidden.get(id);
|
|
@@ -666,8 +809,12 @@ class FrontendBuild extends MillenniumBuild {
|
|
|
666
809
|
this.forbidden = new Map([['@steambrew/webkit', 'use @steambrew/client in the frontend module']]);
|
|
667
810
|
}
|
|
668
811
|
plugins(sysfsPlugin) {
|
|
669
|
-
const
|
|
812
|
+
const tsconfigPath = resolveTsConfig(this.frontendDir);
|
|
813
|
+
const tsPlugin = this.props.minify
|
|
814
|
+
? typescript({ tsconfig: tsconfigPath, compilerOptions: { outDir: undefined } })
|
|
815
|
+
: esbuild({ tsconfig: tsconfigPath, target: 'esnext', jsx: 'automatic' });
|
|
670
816
|
return [
|
|
817
|
+
...(this.props.minify ? [] : [tsconfigPathsPlugin(tsconfigPath)]),
|
|
671
818
|
tsPlugin,
|
|
672
819
|
url({ include: ['**/*.gif', '**/*.webm', '**/*.svg'], limit: 0, fileName: '[hash][extname]' }),
|
|
673
820
|
insertMillennium(BuildTarget.Plugin, this.props),
|
|
@@ -715,8 +862,10 @@ class WebkitBuild extends MillenniumBuild {
|
|
|
715
862
|
this.forbidden = new Map([['@steambrew/client', 'use @steambrew/webkit in the webkit module']]);
|
|
716
863
|
}
|
|
717
864
|
async plugins(sysfsPlugin) {
|
|
718
|
-
const
|
|
865
|
+
const webkitTsconfig = './webkit/tsconfig.json';
|
|
866
|
+
const tsPlugin = this.props.minify ? typescript({ tsconfig: webkitTsconfig }) : esbuild({ tsconfig: webkitTsconfig, target: 'esnext', jsx: 'automatic' });
|
|
719
867
|
const base = [
|
|
868
|
+
...(this.props.minify ? [] : [tsconfigPathsPlugin(webkitTsconfig)]),
|
|
720
869
|
insertMillennium(BuildTarget.Webkit, this.props),
|
|
721
870
|
tsPlugin,
|
|
722
871
|
url({ include: ['**/*.mp4', '**/*.webm', '**/*.ogg'], limit: 0, fileName: '[name][extname]', destDir: 'dist/assets' }),
|
|
@@ -732,7 +881,7 @@ class WebkitBuild extends MillenniumBuild {
|
|
|
732
881
|
'webkit.Millennium.exposeObj(': 'webkit.Millennium.exposeObj(exports, ',
|
|
733
882
|
'client.BindPluginSettings()': 'client.BindPluginSettings(pluginName)',
|
|
734
883
|
}),
|
|
735
|
-
babel({ presets: ['@babel/preset-env', '@babel/preset-react'], babelHelpers: 'bundled' }),
|
|
884
|
+
...(this.props.minify ? [babel({ presets: ['@babel/preset-env', '@babel/preset-react'], babelHelpers: 'bundled' })] : []),
|
|
736
885
|
...(Object.keys(env).length > 0 ? [injectProcessEnv(env)] : []),
|
|
737
886
|
];
|
|
738
887
|
const merged = await withUserPlugins(base);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@steambrew/ttc",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.2.2",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"module": "dist/index.js",
|
|
@@ -40,6 +40,7 @@
|
|
|
40
40
|
"glob": "^11.0.2",
|
|
41
41
|
"magic-string": "^0.30.17",
|
|
42
42
|
"rollup": "^4.42.0",
|
|
43
|
+
"rollup-plugin-esbuild": "^6.0.0",
|
|
43
44
|
"rollup-plugin-inject-process-env": "^1.3.1",
|
|
44
45
|
"rollup-plugin-polyfill-node": "^0.13.0",
|
|
45
46
|
"rollup-plugin-scss": "^4.0.1",
|
package/src/transpiler.ts
CHANGED
|
@@ -5,6 +5,7 @@ import resolve, { nodeResolve } from '@rollup/plugin-node-resolve';
|
|
|
5
5
|
import replace from '@rollup/plugin-replace';
|
|
6
6
|
import terser from '@rollup/plugin-terser';
|
|
7
7
|
import typescript from '@rollup/plugin-typescript';
|
|
8
|
+
import esbuild from 'rollup-plugin-esbuild';
|
|
8
9
|
import url from '@rollup/plugin-url';
|
|
9
10
|
import nodePolyfills from 'rollup-plugin-polyfill-node';
|
|
10
11
|
import chalk from 'chalk';
|
|
@@ -136,6 +137,148 @@ function stripPluginPrefix(message: string): string {
|
|
|
136
137
|
|
|
137
138
|
class BuildFailedError extends Error {}
|
|
138
139
|
|
|
140
|
+
interface PathEntry {
|
|
141
|
+
pattern: string;
|
|
142
|
+
targets: string[];
|
|
143
|
+
configDir: string;
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
/**
|
|
147
|
+
* tsconfig.json files use JSONC, not regular JSON.
|
|
148
|
+
* JSONC supports comments and trailing commas, while JSON does not.
|
|
149
|
+
* This function sanitizes JSONC into JSON.parse()-able content.
|
|
150
|
+
*
|
|
151
|
+
* @param text input text
|
|
152
|
+
* @returns object
|
|
153
|
+
*/
|
|
154
|
+
function parseJsonc(text: string): any {
|
|
155
|
+
let out = '';
|
|
156
|
+
let i = 0;
|
|
157
|
+
const n = text.length;
|
|
158
|
+
while (i < n) {
|
|
159
|
+
const ch = text[i];
|
|
160
|
+
if (ch === '"') {
|
|
161
|
+
out += ch;
|
|
162
|
+
i++;
|
|
163
|
+
while (i < n) {
|
|
164
|
+
const c = text[i];
|
|
165
|
+
out += c;
|
|
166
|
+
if (c === '\\') {
|
|
167
|
+
i++;
|
|
168
|
+
if (i < n) {
|
|
169
|
+
out += text[i];
|
|
170
|
+
i++;
|
|
171
|
+
}
|
|
172
|
+
} else if (c === '"') {
|
|
173
|
+
i++;
|
|
174
|
+
break;
|
|
175
|
+
} else i++;
|
|
176
|
+
}
|
|
177
|
+
} else if (ch === '/' && i + 1 < n && text[i + 1] === '/') {
|
|
178
|
+
i += 2;
|
|
179
|
+
while (i < n && text[i] !== '\n') i++;
|
|
180
|
+
} else if (ch === '/' && i + 1 < n && text[i + 1] === '*') {
|
|
181
|
+
i += 2;
|
|
182
|
+
while (i < n - 1 && !(text[i] === '*' && text[i + 1] === '/')) i++;
|
|
183
|
+
i += 2;
|
|
184
|
+
} else if (ch === ',') {
|
|
185
|
+
let j = i + 1;
|
|
186
|
+
while (j < n && (text[j] === ' ' || text[j] === '\t' || text[j] === '\n' || text[j] === '\r')) j++;
|
|
187
|
+
if (j < n && (text[j] === '}' || text[j] === ']')) {
|
|
188
|
+
i++;
|
|
189
|
+
} else {
|
|
190
|
+
out += ch;
|
|
191
|
+
i++;
|
|
192
|
+
}
|
|
193
|
+
} else {
|
|
194
|
+
out += ch;
|
|
195
|
+
i++;
|
|
196
|
+
}
|
|
197
|
+
}
|
|
198
|
+
return JSON.parse(out);
|
|
199
|
+
}
|
|
200
|
+
|
|
201
|
+
function tsconfigPathsPlugin(tsconfigPath: string): InputPluginOption {
|
|
202
|
+
function readConfig(cfgPath: string): { baseUrl: string | null; entries: PathEntry[] } {
|
|
203
|
+
const dir = path.dirname(path.resolve(cfgPath));
|
|
204
|
+
let raw: any;
|
|
205
|
+
try {
|
|
206
|
+
raw = parseJsonc(fs.readFileSync(cfgPath, 'utf8'));
|
|
207
|
+
} catch {
|
|
208
|
+
return { baseUrl: null, entries: [] };
|
|
209
|
+
}
|
|
210
|
+
|
|
211
|
+
let parentResult: { baseUrl: string | null; entries: PathEntry[] } = { baseUrl: null, entries: [] };
|
|
212
|
+
if (raw.extends) {
|
|
213
|
+
const ext = raw.extends as string;
|
|
214
|
+
const parentPath = path.resolve(dir, ext.endsWith('.json') ? ext : `${ext}.json`);
|
|
215
|
+
parentResult = readConfig(parentPath);
|
|
216
|
+
}
|
|
217
|
+
|
|
218
|
+
const opts = raw.compilerOptions ?? {};
|
|
219
|
+
const baseUrl = opts.baseUrl ? path.resolve(dir, opts.baseUrl as string) : parentResult.baseUrl;
|
|
220
|
+
|
|
221
|
+
const ownEntries: PathEntry[] = Object.entries(opts.paths ?? {}).map(([pattern, targets]) => ({
|
|
222
|
+
pattern,
|
|
223
|
+
targets: targets as string[],
|
|
224
|
+
configDir: dir,
|
|
225
|
+
}));
|
|
226
|
+
|
|
227
|
+
const ownPatterns = new Set(ownEntries.map((e) => e.pattern));
|
|
228
|
+
const parentEntries = parentResult.entries.filter((e) => !ownPatterns.has(e.pattern));
|
|
229
|
+
|
|
230
|
+
return { baseUrl, entries: [...ownEntries, ...parentEntries] };
|
|
231
|
+
}
|
|
232
|
+
|
|
233
|
+
const { baseUrl, entries } = readConfig(tsconfigPath);
|
|
234
|
+
|
|
235
|
+
function resolveWithExtensions(base: string): string | null {
|
|
236
|
+
for (const ext of ['', '.ts', '.tsx', '.js', '.jsx', '/index.ts', '/index.tsx']) {
|
|
237
|
+
if (fs.existsSync(base + ext)) return base + ext;
|
|
238
|
+
}
|
|
239
|
+
return null;
|
|
240
|
+
}
|
|
241
|
+
|
|
242
|
+
return {
|
|
243
|
+
name: 'tsconfig-paths',
|
|
244
|
+
async resolveId(source: string, importer: string | undefined) {
|
|
245
|
+
for (const { pattern, targets, configDir } of entries) {
|
|
246
|
+
if (!targets.length) continue;
|
|
247
|
+
const isWild = pattern.endsWith('/*');
|
|
248
|
+
if (isWild) {
|
|
249
|
+
const prefix = pattern.slice(0, -2);
|
|
250
|
+
if (source === prefix || source.startsWith(prefix + '/')) {
|
|
251
|
+
const rest = source.startsWith(prefix + '/') ? source.slice(prefix.length + 1) : '';
|
|
252
|
+
const targetBase = path.resolve(configDir, targets[0].replace('*', rest));
|
|
253
|
+
const resolved = resolveWithExtensions(targetBase);
|
|
254
|
+
if (resolved) {
|
|
255
|
+
const result = await this.resolve(resolved, importer, { skipSelf: true });
|
|
256
|
+
if (result) return result;
|
|
257
|
+
}
|
|
258
|
+
}
|
|
259
|
+
} else if (source === pattern) {
|
|
260
|
+
const targetBase = path.resolve(configDir, targets[0]);
|
|
261
|
+
const resolved = resolveWithExtensions(targetBase);
|
|
262
|
+
if (resolved) {
|
|
263
|
+
const result = await this.resolve(resolved, importer, { skipSelf: true });
|
|
264
|
+
if (result) return result;
|
|
265
|
+
}
|
|
266
|
+
}
|
|
267
|
+
}
|
|
268
|
+
|
|
269
|
+
if (baseUrl && !source.startsWith('.') && !source.startsWith('/') && !source.startsWith('\0') && !source.startsWith('@')) {
|
|
270
|
+
const resolved = resolveWithExtensions(path.resolve(baseUrl, source));
|
|
271
|
+
if (resolved) {
|
|
272
|
+
const result = await this.resolve(resolved, importer, { skipSelf: true });
|
|
273
|
+
if (result) return result;
|
|
274
|
+
}
|
|
275
|
+
}
|
|
276
|
+
|
|
277
|
+
return null;
|
|
278
|
+
},
|
|
279
|
+
};
|
|
280
|
+
}
|
|
281
|
+
|
|
139
282
|
abstract class MillenniumBuild {
|
|
140
283
|
protected abstract readonly externals: ReadonlySet<string>;
|
|
141
284
|
protected abstract readonly forbidden: ReadonlyMap<string, string>;
|
|
@@ -209,9 +352,13 @@ class FrontendBuild extends MillenniumBuild {
|
|
|
209
352
|
}
|
|
210
353
|
|
|
211
354
|
protected plugins(sysfsPlugin: InputPluginOption): InputPluginOption[] {
|
|
212
|
-
const
|
|
355
|
+
const tsconfigPath = resolveTsConfig(this.frontendDir);
|
|
356
|
+
const tsPlugin = this.props.minify
|
|
357
|
+
? typescript({ tsconfig: tsconfigPath, compilerOptions: { outDir: undefined } })
|
|
358
|
+
: esbuild({ tsconfig: tsconfigPath, target: 'esnext', jsx: 'automatic' });
|
|
213
359
|
|
|
214
360
|
return [
|
|
361
|
+
...(this.props.minify ? [] : [tsconfigPathsPlugin(tsconfigPath)]),
|
|
215
362
|
tsPlugin,
|
|
216
363
|
url({ include: ['**/*.gif', '**/*.webm', '**/*.svg'], limit: 0, fileName: '[hash][extname]' }),
|
|
217
364
|
insertMillennium(BuildTarget.Plugin, this.props),
|
|
@@ -262,9 +409,11 @@ class WebkitBuild extends MillenniumBuild {
|
|
|
262
409
|
}
|
|
263
410
|
|
|
264
411
|
protected async plugins(sysfsPlugin: InputPluginOption): Promise<InputPluginOption[]> {
|
|
265
|
-
const
|
|
412
|
+
const webkitTsconfig = './webkit/tsconfig.json';
|
|
413
|
+
const tsPlugin = this.props.minify ? typescript({ tsconfig: webkitTsconfig }) : esbuild({ tsconfig: webkitTsconfig, target: 'esnext', jsx: 'automatic' });
|
|
266
414
|
|
|
267
415
|
const base: InputPluginOption[] = [
|
|
416
|
+
...(this.props.minify ? [] : [tsconfigPathsPlugin(webkitTsconfig)]),
|
|
268
417
|
insertMillennium(BuildTarget.Webkit, this.props),
|
|
269
418
|
tsPlugin,
|
|
270
419
|
url({ include: ['**/*.mp4', '**/*.webm', '**/*.ogg'], limit: 0, fileName: '[name][extname]', destDir: 'dist/assets' }),
|
|
@@ -280,7 +429,7 @@ class WebkitBuild extends MillenniumBuild {
|
|
|
280
429
|
'webkit.Millennium.exposeObj(': 'webkit.Millennium.exposeObj(exports, ',
|
|
281
430
|
'client.BindPluginSettings()': 'client.BindPluginSettings(pluginName)',
|
|
282
431
|
}),
|
|
283
|
-
babel({ presets: ['@babel/preset-env', '@babel/preset-react'], babelHelpers: 'bundled' }),
|
|
432
|
+
...(this.props.minify ? [babel({ presets: ['@babel/preset-env', '@babel/preset-react'], babelHelpers: 'bundled' })] : []),
|
|
284
433
|
...(Object.keys(env).length > 0 ? [injectProcessEnv(env)] : []),
|
|
285
434
|
];
|
|
286
435
|
|