@thomas.f/prnext 0.1.18-alpha → 0.1.19-alpha

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.
Files changed (90) hide show
  1. package/README.md +2 -0
  2. package/build/actions.mjs +26 -14
  3. package/build/app.mjs +46 -25
  4. package/build/compiler.mjs +5 -4
  5. package/build/config.mjs +4 -2
  6. package/build/dev-css-assets.mjs +173 -0
  7. package/build/dev-css-update.mjs +14 -12
  8. package/build/dev-lazy-build.mjs +77 -0
  9. package/build/dynamic.mjs +13 -6
  10. package/build/incremental.mjs +112 -18
  11. package/build/index.mjs +32 -3
  12. package/build/lazy-dynamic-imports.mjs +137 -0
  13. package/build/migrate.mjs +4 -4
  14. package/build/migration-audit.mjs +19 -31
  15. package/build/migration-imports.mjs +245 -0
  16. package/build/migration-scenarios-runner.mjs +73 -0
  17. package/build/migration-scenarios.mjs +72 -0
  18. package/build/native-discovery.mjs +65 -5
  19. package/build/native-packages.mjs +2 -0
  20. package/build/npm-packages.mjs +1 -0
  21. package/build/production-builder.mjs +1 -1
  22. package/build/standalone.mjs +21 -3
  23. package/build/webpack-graph.mjs +13 -3
  24. package/cli.mjs +10 -1
  25. package/compat/app-dynamic.cjs +12 -1
  26. package/compat/cache-handlers.cjs +3 -1
  27. package/compat/flight-delta.cjs +3 -1
  28. package/compat/index.d.ts +1 -1
  29. package/compat/link.cjs +2 -2
  30. package/docs/ai/compatibility.md +77 -0
  31. package/docs/ai/routing.md +11 -0
  32. package/docs/ai/troubleshooting.md +79 -0
  33. package/package.json +21 -9
  34. package/runtime/app-client.mjs +119 -42
  35. package/runtime/atomic-file.mjs +27 -0
  36. package/runtime/cache-components-rsc.mjs +3 -1
  37. package/runtime/dev-client.mjs +7 -2
  38. package/runtime/dev-file-changes.mjs +123 -8
  39. package/runtime/dev-lazy-imports.mjs +121 -0
  40. package/runtime/dev-lazy-staging.mjs +14 -0
  41. package/runtime/dev-style-retention.mjs +15 -0
  42. package/runtime/development.mjs +60 -19
  43. package/runtime/flight-delta.mjs +28 -4
  44. package/runtime/fs.mjs +15 -8
  45. package/runtime/lazy-import-client.mjs +38 -0
  46. package/vendor/nft/LICENSE +7 -0
  47. package/vendor/nft/README.md +16 -0
  48. package/vendor/nft/out/analyze.d.ts +8 -0
  49. package/vendor/nft/out/analyze.js +1216 -0
  50. package/vendor/nft/out/analyze.js.map +1 -0
  51. package/vendor/nft/out/cli.d.ts +2 -0
  52. package/vendor/nft/out/cli.js +94 -0
  53. package/vendor/nft/out/cli.js.map +1 -0
  54. package/vendor/nft/out/fs.d.ts +22 -0
  55. package/vendor/nft/out/fs.js +106 -0
  56. package/vendor/nft/out/fs.js.map +1 -0
  57. package/vendor/nft/out/index.d.ts +4 -0
  58. package/vendor/nft/out/index.js +25 -0
  59. package/vendor/nft/out/index.js.map +1 -0
  60. package/vendor/nft/out/node-file-trace.d.ts +41 -0
  61. package/vendor/nft/out/node-file-trace.js +380 -0
  62. package/vendor/nft/out/node-file-trace.js.map +1 -0
  63. package/vendor/nft/out/resolve-dependency.d.ts +6 -0
  64. package/vendor/nft/out/resolve-dependency.js +427 -0
  65. package/vendor/nft/out/resolve-dependency.js.map +1 -0
  66. package/vendor/nft/out/types.d.ts +66 -0
  67. package/vendor/nft/out/types.js +2 -0
  68. package/vendor/nft/out/types.js.map +1 -0
  69. package/vendor/nft/out/utils/ast-helpers.js +49 -0
  70. package/vendor/nft/out/utils/ast-helpers.js.map +1 -0
  71. package/vendor/nft/out/utils/binary-locators.js +88 -0
  72. package/vendor/nft/out/utils/binary-locators.js.map +1 -0
  73. package/vendor/nft/out/utils/get-package-base.js +30 -0
  74. package/vendor/nft/out/utils/get-package-base.js.map +1 -0
  75. package/vendor/nft/out/utils/interop-require.js +24 -0
  76. package/vendor/nft/out/utils/interop-require.js.map +1 -0
  77. package/vendor/nft/out/utils/node-version.js +10 -0
  78. package/vendor/nft/out/utils/node-version.js.map +1 -0
  79. package/vendor/nft/out/utils/sharedlib-emit.js +33 -0
  80. package/vendor/nft/out/utils/sharedlib-emit.js.map +1 -0
  81. package/vendor/nft/out/utils/special-cases.js +347 -0
  82. package/vendor/nft/out/utils/special-cases.js.map +1 -0
  83. package/vendor/nft/out/utils/static-eval.js +579 -0
  84. package/vendor/nft/out/utils/static-eval.js.map +1 -0
  85. package/vendor/nft/out/utils/types.js +2 -0
  86. package/vendor/nft/out/utils/types.js.map +1 -0
  87. package/vendor/nft/out/utils/wrappers.js +659 -0
  88. package/vendor/nft/out/utils/wrappers.js.map +1 -0
  89. package/vendor/nft/package.json +4 -0
  90. package/vendor/nft/upstream.json +51 -0
@@ -0,0 +1,88 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.pregyp = void 0;
7
+ exports.nbind = nbind;
8
+ const path_1 = __importDefault(require("path"));
9
+ const graceful_fs_1 = __importDefault(require("graceful-fs"));
10
+ // pregyp
11
+ const versioning = require('@mapbox/node-pre-gyp/lib/util/versioning.js');
12
+ const napi = require('@mapbox/node-pre-gyp/lib/util/napi.js');
13
+ const pregypFind = (package_json_path, opts) => {
14
+ const package_json = JSON.parse(graceful_fs_1.default.readFileSync(package_json_path).toString());
15
+ versioning.validate_config(package_json, opts);
16
+ var napi_build_version;
17
+ if (napi.get_napi_build_versions(package_json, opts)) {
18
+ napi_build_version = napi.get_best_napi_build_version(package_json, opts);
19
+ }
20
+ opts = opts || {};
21
+ if (!opts.module_root)
22
+ opts.module_root = path_1.default.dirname(package_json_path);
23
+ var meta = versioning.evaluate(package_json, opts, napi_build_version);
24
+ return meta.module;
25
+ };
26
+ exports.pregyp = { default: { find: pregypFind }, find: pregypFind };
27
+ // nbind
28
+ // Adapted from nbind.js
29
+ function makeModulePathList(root, name) {
30
+ return [
31
+ [root, name],
32
+ [root, 'build', name],
33
+ [root, 'build', 'Debug', name],
34
+ [root, 'build', 'Release', name],
35
+ [root, 'out', 'Debug', name],
36
+ [root, 'Debug', name],
37
+ [root, 'out', 'Release', name],
38
+ [root, 'Release', name],
39
+ [root, 'build', 'default', name],
40
+ [
41
+ root,
42
+ process.env['NODE_BINDINGS_COMPILED_DIR'] || 'compiled',
43
+ process.versions.node,
44
+ process.platform,
45
+ process.arch,
46
+ name,
47
+ ],
48
+ ];
49
+ }
50
+ function findCompiledModule(basePath, specList) {
51
+ var resolvedList = [];
52
+ var ext = path_1.default.extname(basePath);
53
+ for (var _i = 0, specList_1 = specList; _i < specList_1.length; _i++) {
54
+ var spec = specList_1[_i];
55
+ if (ext == spec.ext) {
56
+ try {
57
+ spec.path = eval('require.resolve(basePath)');
58
+ return spec;
59
+ }
60
+ catch (err) {
61
+ resolvedList.push(basePath);
62
+ }
63
+ }
64
+ }
65
+ for (var _a = 0, specList_2 = specList; _a < specList_2.length; _a++) {
66
+ var spec = specList_2[_a];
67
+ for (var _b = 0, _c = makeModulePathList(basePath, spec.name); _b < _c.length; _b++) {
68
+ var pathParts = _c[_b];
69
+ var resolvedPath = path_1.default.resolve.apply(path_1.default, pathParts);
70
+ try {
71
+ spec.path = eval('require.resolve(resolvedPath)');
72
+ }
73
+ catch (err) {
74
+ resolvedList.push(resolvedPath);
75
+ continue;
76
+ }
77
+ return spec;
78
+ }
79
+ }
80
+ return null;
81
+ }
82
+ function nbind(basePath = process.cwd()) {
83
+ const found = findCompiledModule(basePath, [
84
+ { ext: '.node', name: 'nbind.node', type: 'node' },
85
+ { ext: '.js', name: 'nbind.js', type: 'emcc' },
86
+ ]);
87
+ return found;
88
+ }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"binary-locators.js","sourceRoot":"","sources":["../../src/utils/binary-locators.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getPackageBase = getPackageBase;
4
+ exports.getPackageName = getPackageName;
5
+ // returns the base-level package folder based on detecting "node_modules"
6
+ // package name boundaries
7
+ const pkgNameRegEx = /^(@[^\\\/]+[\\\/])?[^\\\/]+/;
8
+ function getPackageBase(id) {
9
+ const pkgIndex = id.lastIndexOf('node_modules');
10
+ if (pkgIndex !== -1 &&
11
+ (id[pkgIndex - 1] === '/' || id[pkgIndex - 1] === '\\') &&
12
+ (id[pkgIndex + 12] === '/' || id[pkgIndex + 12] === '\\')) {
13
+ const pkgNameMatch = id.slice(pkgIndex + 13).match(pkgNameRegEx);
14
+ if (pkgNameMatch)
15
+ return id.slice(0, pkgIndex + 13 + pkgNameMatch[0].length);
16
+ }
17
+ return undefined;
18
+ }
19
+ function getPackageName(id) {
20
+ const pkgIndex = id.lastIndexOf('node_modules');
21
+ if (pkgIndex !== -1 &&
22
+ (id[pkgIndex - 1] === '/' || id[pkgIndex - 1] === '\\') &&
23
+ (id[pkgIndex + 12] === '/' || id[pkgIndex + 12] === '\\')) {
24
+ const pkgNameMatch = id.slice(pkgIndex + 13).match(pkgNameRegEx);
25
+ if (pkgNameMatch && pkgNameMatch.length > 0) {
26
+ return pkgNameMatch[0].replace(/\\/g, '/');
27
+ }
28
+ }
29
+ return undefined;
30
+ }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-package-base.js","sourceRoot":"","sources":["../../src/utils/get-package-base.ts"],"names":[],"mappings":";;AAIA,wCAYC;AAED,wCAaC;AA/BD,0EAA0E;AAC1E,0BAA0B;AAC1B,MAAM,YAAY,GAAG,6BAA6B,CAAC;AAEnD,SAAgB,cAAc,CAAC,EAAU;IACvC,MAAM,QAAQ,GAAG,EAAE,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;IAChD,IACE,QAAQ,KAAK,CAAC,CAAC;QACf,CAAC,EAAE,CAAC,QAAQ,GAAG,CAAC,CAAC,KAAK,GAAG,IAAI,EAAE,CAAC,QAAQ,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC;QACvD,CAAC,EAAE,CAAC,QAAQ,GAAG,EAAE,CAAC,KAAK,GAAG,IAAI,EAAE,CAAC,QAAQ,GAAG,EAAE,CAAC,KAAK,IAAI,CAAC,EACzD,CAAC;QACD,MAAM,YAAY,GAAG,EAAE,CAAC,KAAK,CAAC,QAAQ,GAAG,EAAE,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QACjE,IAAI,YAAY;YACd,OAAO,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,GAAG,EAAE,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IAC/D,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAgB,cAAc,CAAC,EAAU;IACvC,MAAM,QAAQ,GAAG,EAAE,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;IAChD,IACE,QAAQ,KAAK,CAAC,CAAC;QACf,CAAC,EAAE,CAAC,QAAQ,GAAG,CAAC,CAAC,KAAK,GAAG,IAAI,EAAE,CAAC,QAAQ,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC;QACvD,CAAC,EAAE,CAAC,QAAQ,GAAG,EAAE,CAAC,KAAK,GAAG,IAAI,EAAE,CAAC,QAAQ,GAAG,EAAE,CAAC,KAAK,IAAI,CAAC,EACzD,CAAC;QACD,MAAM,YAAY,GAAG,EAAE,CAAC,KAAK,CAAC,QAAQ,GAAG,EAAE,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QACjE,IAAI,YAAY,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5C,OAAO,YAAY,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QAC7C,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC"}
@@ -0,0 +1,24 @@
1
+ 'use strict';
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.normalizeDefaultRequire = normalizeDefaultRequire;
4
+ exports.normalizeWildcardRequire = normalizeWildcardRequire;
5
+ function normalizeDefaultRequire(obj) {
6
+ if (obj && obj.__esModule)
7
+ return obj;
8
+ return { default: obj };
9
+ }
10
+ const hasOwnProperty = Object.prototype.hasOwnProperty;
11
+ function normalizeWildcardRequire(obj) {
12
+ if (obj && obj.__esModule)
13
+ return obj;
14
+ // Note: This implements only value properties and doesn't preserve getters.
15
+ // This follows the simpler helpers generated by TypeScript.
16
+ const out = {};
17
+ for (const key in obj) {
18
+ if (!hasOwnProperty.call(obj, key))
19
+ continue;
20
+ out[key] = obj[key];
21
+ }
22
+ out['default'] = obj;
23
+ return out;
24
+ }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interop-require.js","sourceRoot":"","sources":["../../src/utils/interop-require.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,0DAGC;AAGD,4DAWC;AAjBD,SAAgB,uBAAuB,CAAC,GAAQ;IAC9C,IAAI,GAAG,IAAI,GAAG,CAAC,UAAU;QAAE,OAAO,GAAG,CAAC;IACtC,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC;AAC1B,CAAC;AAED,MAAM,cAAc,GAAG,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC;AACvD,SAAgB,wBAAwB,CAAC,GAAQ;IAC/C,IAAI,GAAG,IAAI,GAAG,CAAC,UAAU;QAAE,OAAO,GAAG,CAAC;IACtC,4EAA4E;IAC5E,4DAA4D;IAC5D,MAAM,GAAG,GAA8B,EAAE,CAAC;IAC1C,KAAK,MAAM,GAAG,IAAI,GAAG,EAAE,CAAC;QACtB,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC;YAAE,SAAS;QAC7C,GAAG,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;IACtB,CAAC;IACD,GAAG,CAAC,SAAS,CAAC,GAAG,GAAG,CAAC;IACrB,OAAO,GAAG,CAAC;AACb,CAAC"}
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getNodeMajorVersion = getNodeMajorVersion;
4
+ /**
5
+ * Gets the major version of the current Node.js runtime
6
+ * @returns The major version number (e.g., 22 for Node.js v22.16.0)
7
+ */
8
+ function getNodeMajorVersion() {
9
+ return parseInt(process.versions.node.split('.')[0], 10);
10
+ }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"node-version.js","sourceRoot":"","sources":["../../src/utils/node-version.ts"],"names":[],"mappings":";;AAIA,kDAEC;AAND;;;GAGG;AACH,SAAgB,mBAAmB;IACjC,OAAO,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AAC3D,CAAC"}
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.sharedLibEmit = sharedLibEmit;
7
+ const os_1 = __importDefault(require("os"));
8
+ const path_1 = __importDefault(require("path"));
9
+ const glob_1 = require("glob");
10
+ const get_package_base_1 = require("./get-package-base");
11
+ let sharedlibGlob = '';
12
+ switch (os_1.default.platform()) {
13
+ case 'darwin':
14
+ sharedlibGlob = '/**/*.@(dylib|so?(.*))';
15
+ break;
16
+ case 'win32':
17
+ sharedlibGlob = '/**/*.dll';
18
+ break;
19
+ default:
20
+ sharedlibGlob = '/**/*.so?(.*)';
21
+ }
22
+ // helper for emitting the associated shared libraries when a binary is emitted
23
+ async function sharedLibEmit(p, job) {
24
+ // console.log('Emitting shared libs for ' + path);
25
+ const pkgPath = (0, get_package_base_1.getPackageBase)(p);
26
+ if (!pkgPath)
27
+ return;
28
+ const files = await (0, glob_1.glob)(pkgPath.replaceAll(path_1.default.sep, path_1.default.posix.sep) + sharedlibGlob, {
29
+ ignore: pkgPath.replaceAll(path_1.default.sep, path_1.default.posix.sep) + '/**/node_modules/**/*',
30
+ dot: true,
31
+ });
32
+ await Promise.all(files.map((file) => job.emitFile(file, 'sharedlib', p)));
33
+ }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sharedlib-emit.js","sourceRoot":"","sources":["../../src/utils/sharedlib-emit.ts"],"names":[],"mappings":";;;;;AAmBA,sCAcC;AAjCD,4CAAoB;AACpB,gDAAwB;AACxB,+BAA4B;AAC5B,yDAAoD;AAGpD,IAAI,aAAa,GAAG,EAAE,CAAC;AACvB,QAAQ,YAAE,CAAC,QAAQ,EAAE,EAAE,CAAC;IACtB,KAAK,QAAQ;QACX,aAAa,GAAG,wBAAwB,CAAC;QACzC,MAAM;IACR,KAAK,OAAO;QACV,aAAa,GAAG,WAAW,CAAC;QAC5B,MAAM;IACR;QACE,aAAa,GAAG,eAAe,CAAC;AACpC,CAAC;AAED,+EAA+E;AACxE,KAAK,UAAU,aAAa,CAAC,CAAS,EAAE,GAAQ;IACrD,mDAAmD;IACnD,MAAM,OAAO,GAAG,IAAA,iCAAc,EAAC,CAAC,CAAC,CAAC;IAClC,IAAI,CAAC,OAAO;QAAE,OAAO;IAErB,MAAM,KAAK,GAAG,MAAM,IAAA,WAAI,EACtB,OAAO,CAAC,UAAU,CAAC,cAAI,CAAC,GAAG,EAAE,cAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,aAAa,EAC5D;QACE,MAAM,EACJ,OAAO,CAAC,UAAU,CAAC,cAAI,CAAC,GAAG,EAAE,cAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,uBAAuB;QACxE,GAAG,EAAE,IAAI;KACV,CACF,CAAC;IACF,MAAM,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7E,CAAC"}
@@ -0,0 +1,347 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.default = handleSpecialCases;
7
+ const path_1 = require("path");
8
+ const fs_1 = require("fs");
9
+ const resolve_dependency_1 = __importDefault(require("../resolve-dependency"));
10
+ const get_package_base_1 = require("./get-package-base");
11
+ const graceful_fs_1 = require("graceful-fs");
12
+ const specialCases = {
13
+ '@generated/photon'({ id, emitAssetDirectory }) {
14
+ if (id.endsWith('@generated/photon/index.js')) {
15
+ emitAssetDirectory((0, path_1.resolve)((0, path_1.dirname)(id), 'runtime/'));
16
+ }
17
+ },
18
+ '@serialport/bindings-cpp'({ id, emitAssetDirectory }) {
19
+ if (id.endsWith('@serialport/bindings-cpp/dist/index.js')) {
20
+ emitAssetDirectory((0, path_1.resolve)((0, path_1.dirname)(id), '..', 'build', 'Release'));
21
+ emitAssetDirectory((0, path_1.resolve)((0, path_1.dirname)(id), '..', 'prebuilds'));
22
+ }
23
+ },
24
+ argon2({ id, emitAssetDirectory }) {
25
+ if (id.endsWith('argon2/argon2.js')) {
26
+ emitAssetDirectory((0, path_1.resolve)((0, path_1.dirname)(id), 'build', 'Release'));
27
+ emitAssetDirectory((0, path_1.resolve)((0, path_1.dirname)(id), 'prebuilds'));
28
+ emitAssetDirectory((0, path_1.resolve)((0, path_1.dirname)(id), 'lib', 'binding'));
29
+ }
30
+ },
31
+ bull({ id, emitAssetDirectory }) {
32
+ if (id.endsWith('bull/lib/commands/index.js')) {
33
+ emitAssetDirectory((0, path_1.resolve)((0, path_1.dirname)(id)));
34
+ }
35
+ },
36
+ camaro({ id, emitAsset }) {
37
+ if (id.endsWith('camaro/dist/camaro.js')) {
38
+ emitAsset((0, path_1.resolve)((0, path_1.dirname)(id), 'camaro.wasm'));
39
+ }
40
+ },
41
+ esbuild({ id, emitAssetDirectory }) {
42
+ if (id.endsWith('esbuild/lib/main.js')) {
43
+ const file = (0, path_1.resolve)(id, '..', '..', 'package.json');
44
+ const pkg = JSON.parse((0, graceful_fs_1.readFileSync)(file, 'utf8'));
45
+ for (const dep of Object.keys(pkg.optionalDependencies || {})) {
46
+ const dir = (0, path_1.resolve)(id, '..', '..', '..', dep);
47
+ emitAssetDirectory(dir);
48
+ }
49
+ }
50
+ },
51
+ 'ffmpeg-static'({ id, emitAsset }) {
52
+ if (id.endsWith('ffmpeg-static/index.js')) {
53
+ const dir = (0, path_1.dirname)(id);
54
+ const ext = process.platform === 'win32' ? '.exe' : '';
55
+ const binaryPath = [
56
+ (0, path_1.resolve)(dir, `ffmpeg${ext}`),
57
+ (0, path_1.resolve)(dir, 'bin', process.platform, process.arch, `ffmpeg${ext}`),
58
+ ].find((file) => (0, fs_1.existsSync)(file));
59
+ if (binaryPath) {
60
+ emitAsset(binaryPath);
61
+ }
62
+ }
63
+ },
64
+ 'google-gax'({ id, ast, emitAssetDirectory }) {
65
+ if (id.endsWith('google-gax/build/src/grpc.js')) {
66
+ // const googleProtoFilesDir = path.normalize(google_proto_files_1.getProtoPath('..'));
67
+ // ->
68
+ // const googleProtoFilesDir = resolve(__dirname, '../../../google-proto-files');
69
+ for (const statement of ast.body) {
70
+ if (statement.type === 'VariableDeclaration' &&
71
+ statement.declarations[0].id.type === 'Identifier' &&
72
+ statement.declarations[0].id.name === 'googleProtoFilesDir') {
73
+ emitAssetDirectory((0, path_1.resolve)((0, path_1.dirname)(id), '../../../google-proto-files'));
74
+ }
75
+ }
76
+ }
77
+ },
78
+ oracledb({ id, ast, emitAsset }) {
79
+ if (id.endsWith('oracledb/lib/oracledb.js')) {
80
+ for (const statement of ast.body) {
81
+ if (statement.type === 'ForStatement' &&
82
+ 'body' in statement.body &&
83
+ statement.body.body &&
84
+ Array.isArray(statement.body.body) &&
85
+ statement.body.body[0] &&
86
+ statement.body.body[0].type === 'TryStatement' &&
87
+ statement.body.body[0].block.body[0] &&
88
+ statement.body.body[0].block.body[0].type === 'ExpressionStatement' &&
89
+ statement.body.body[0].block.body[0].expression.type ===
90
+ 'AssignmentExpression' &&
91
+ statement.body.body[0].block.body[0].expression.operator === '=' &&
92
+ statement.body.body[0].block.body[0].expression.left.type ===
93
+ 'Identifier' &&
94
+ statement.body.body[0].block.body[0].expression.left.name ===
95
+ 'oracledbCLib' &&
96
+ statement.body.body[0].block.body[0].expression.right.type ===
97
+ 'CallExpression' &&
98
+ statement.body.body[0].block.body[0].expression.right.callee.type ===
99
+ 'Identifier' &&
100
+ statement.body.body[0].block.body[0].expression.right.callee.name ===
101
+ 'require' &&
102
+ statement.body.body[0].block.body[0].expression.right.arguments
103
+ .length === 1 &&
104
+ statement.body.body[0].block.body[0].expression.right.arguments[0]
105
+ .type === 'MemberExpression' &&
106
+ statement.body.body[0].block.body[0].expression.right.arguments[0]
107
+ .computed === true &&
108
+ statement.body.body[0].block.body[0].expression.right.arguments[0]
109
+ .object.type === 'Identifier' &&
110
+ statement.body.body[0].block.body[0].expression.right.arguments[0]
111
+ .object.name === 'binaryLocations' &&
112
+ statement.body.body[0].block.body[0].expression.right.arguments[0]
113
+ .property.type === 'Identifier' &&
114
+ statement.body.body[0].block.body[0].expression.right.arguments[0]
115
+ .property.name === 'i') {
116
+ statement.body.body[0].block.body[0].expression.right.arguments = [
117
+ { type: 'Literal', value: '_' },
118
+ ];
119
+ const version = global._unit
120
+ ? '3.0.0'
121
+ : JSON.parse((0, graceful_fs_1.readFileSync)(id.slice(0, -15) + 'package.json', 'utf8')).version;
122
+ const useVersion = Number(version.slice(0, version.indexOf('.'))) >= 4;
123
+ const binaryName = 'oracledb-' +
124
+ (useVersion ? version : 'abi' + process.versions.modules) +
125
+ '-' +
126
+ process.platform +
127
+ '-' +
128
+ process.arch +
129
+ '.node';
130
+ emitAsset((0, path_1.resolve)(id, '../../build/Release/' + binaryName));
131
+ }
132
+ }
133
+ }
134
+ },
135
+ 'phantomjs-prebuilt'({ id, emitAssetDirectory }) {
136
+ if (id.endsWith('phantomjs-prebuilt/lib/phantomjs.js')) {
137
+ emitAssetDirectory((0, path_1.resolve)((0, path_1.dirname)(id), '..', 'bin'));
138
+ }
139
+ },
140
+ 'remark-prism'({ id, emitAssetDirectory }) {
141
+ const file = 'remark-prism/src/highlight.js';
142
+ if (id.endsWith(file)) {
143
+ try {
144
+ const node_modules = id.slice(0, -file.length);
145
+ emitAssetDirectory((0, path_1.resolve)(node_modules, 'prismjs', 'components'));
146
+ }
147
+ catch (e) {
148
+ // fail silently
149
+ }
150
+ }
151
+ },
152
+ semver({ id, emitAsset }) {
153
+ if (id.endsWith('semver/index.js')) {
154
+ // See https://github.com/npm/node-semver/blob/master/CHANGELOG.md#710
155
+ emitAsset((0, path_1.resolve)(id.replace('index.js', 'preload.js')));
156
+ }
157
+ },
158
+ sharp: async ({ id, emitAssetDirectory, job }) => {
159
+ if (id.endsWith('sharp/lib/index.js')) {
160
+ const file = (0, path_1.resolve)(id, '..', '..', 'package.json');
161
+ const pkg = JSON.parse((0, graceful_fs_1.readFileSync)(file, 'utf8'));
162
+ for (const dep of Object.keys(pkg.optionalDependencies || {})) {
163
+ const dir = (0, path_1.resolve)(id, '..', '..', '..', dep);
164
+ emitAssetDirectory(dir);
165
+ try {
166
+ const file = (0, path_1.resolve)(dir, 'package.json');
167
+ const pkg = JSON.parse((0, graceful_fs_1.readFileSync)(file, 'utf8'));
168
+ for (const innerDep of Object.keys(pkg.optionalDependencies || {})) {
169
+ const innerDir = (0, path_1.resolve)(await job.realpath(dir), '..', '..', innerDep);
170
+ emitAssetDirectory(innerDir);
171
+ }
172
+ }
173
+ catch (err) {
174
+ if (err && err.code !== 'ENOENT') {
175
+ console.error(`Error reading "sharp" dependencies from "${dir}/package.json"'`);
176
+ throw err;
177
+ }
178
+ }
179
+ }
180
+ }
181
+ },
182
+ shiki({ id, emitAssetDirectory }) {
183
+ if (id.endsWith('/dist/index.js')) {
184
+ emitAssetDirectory((0, path_1.resolve)((0, path_1.dirname)(id), '..', 'languages'));
185
+ emitAssetDirectory((0, path_1.resolve)((0, path_1.dirname)(id), '..', 'themes'));
186
+ }
187
+ },
188
+ 'socket.io': async function ({ id, ast, job }) {
189
+ if (id.endsWith('socket.io/lib/index.js')) {
190
+ async function replaceResolvePathStatement(statement) {
191
+ if (statement.type === 'ExpressionStatement' &&
192
+ statement.expression.type === 'AssignmentExpression' &&
193
+ statement.expression.operator === '=' &&
194
+ statement.expression.right.type === 'CallExpression' &&
195
+ statement.expression.right.callee.type === 'Identifier' &&
196
+ statement.expression.right.callee.name === 'read' &&
197
+ statement.expression.right.arguments.length >= 1 &&
198
+ statement.expression.right.arguments[0].type === 'CallExpression' &&
199
+ statement.expression.right.arguments[0].callee.type ===
200
+ 'Identifier' &&
201
+ statement.expression.right.arguments[0].callee.name ===
202
+ 'resolvePath' &&
203
+ statement.expression.right.arguments[0].arguments.length === 1 &&
204
+ statement.expression.right.arguments[0].arguments[0].type ===
205
+ 'Literal') {
206
+ const arg = statement.expression.right.arguments[0].arguments[0].value;
207
+ let resolved;
208
+ try {
209
+ const dep = await (0, resolve_dependency_1.default)(String(arg), id, job);
210
+ if (typeof dep === 'string') {
211
+ resolved = dep;
212
+ }
213
+ else {
214
+ return undefined;
215
+ }
216
+ }
217
+ catch (e) {
218
+ return undefined;
219
+ }
220
+ // The asset relocator will then pick up the AST rewriting from here
221
+ const relResolved = '/' + (0, path_1.relative)((0, path_1.dirname)(id), resolved);
222
+ statement.expression.right.arguments[0] = {
223
+ type: 'BinaryExpression',
224
+ // @ts-ignore Its okay if start is undefined
225
+ start: statement.expression.right.arguments[0].start,
226
+ // @ts-ignore Its okay if end is undefined
227
+ end: statement.expression.right.arguments[0].end,
228
+ operator: '+',
229
+ left: {
230
+ type: 'Identifier',
231
+ name: '__dirname',
232
+ },
233
+ right: {
234
+ type: 'Literal',
235
+ value: relResolved,
236
+ raw: JSON.stringify(relResolved),
237
+ },
238
+ };
239
+ }
240
+ return undefined;
241
+ }
242
+ for (const statement of ast.body) {
243
+ if (statement.type === 'ExpressionStatement' &&
244
+ statement.expression.type === 'AssignmentExpression' &&
245
+ statement.expression.operator === '=' &&
246
+ statement.expression.left.type === 'MemberExpression' &&
247
+ statement.expression.left.object.type === 'MemberExpression' &&
248
+ statement.expression.left.object.object.type === 'Identifier' &&
249
+ statement.expression.left.object.object.name === 'Server' &&
250
+ statement.expression.left.object.property.type === 'Identifier' &&
251
+ statement.expression.left.object.property.name === 'prototype' &&
252
+ statement.expression.left.property.type === 'Identifier' &&
253
+ statement.expression.left.property.name === 'serveClient' &&
254
+ statement.expression.right.type === 'FunctionExpression') {
255
+ for (const node of statement.expression.right.body.body) {
256
+ if (node.type === 'IfStatement' &&
257
+ node.consequent &&
258
+ 'body' in node.consequent &&
259
+ node.consequent.body) {
260
+ const ifBody = node.consequent.body;
261
+ let replaced = false;
262
+ if (Array.isArray(ifBody) &&
263
+ ifBody[0] &&
264
+ ifBody[0].type === 'ExpressionStatement') {
265
+ replaced = await replaceResolvePathStatement(ifBody[0]);
266
+ }
267
+ if (Array.isArray(ifBody) &&
268
+ ifBody[1] &&
269
+ ifBody[1].type === 'TryStatement' &&
270
+ ifBody[1].block.body &&
271
+ ifBody[1].block.body[0]) {
272
+ replaced =
273
+ (await replaceResolvePathStatement(ifBody[1].block.body[0])) || replaced;
274
+ }
275
+ return;
276
+ }
277
+ }
278
+ }
279
+ }
280
+ }
281
+ },
282
+ typescript({ id, emitAssetDirectory }) {
283
+ if (id.endsWith('typescript/lib/tsc.js')) {
284
+ emitAssetDirectory((0, path_1.resolve)(id, '../'));
285
+ }
286
+ },
287
+ 'uglify-es'({ id, emitAsset }) {
288
+ if (id.endsWith('uglify-es/tools/node.js')) {
289
+ emitAsset((0, path_1.resolve)(id, '../../lib/utils.js'));
290
+ emitAsset((0, path_1.resolve)(id, '../../lib/ast.js'));
291
+ emitAsset((0, path_1.resolve)(id, '../../lib/parse.js'));
292
+ emitAsset((0, path_1.resolve)(id, '../../lib/transform.js'));
293
+ emitAsset((0, path_1.resolve)(id, '../../lib/scope.js'));
294
+ emitAsset((0, path_1.resolve)(id, '../../lib/output.js'));
295
+ emitAsset((0, path_1.resolve)(id, '../../lib/compress.js'));
296
+ emitAsset((0, path_1.resolve)(id, '../../lib/sourcemap.js'));
297
+ emitAsset((0, path_1.resolve)(id, '../../lib/mozilla-ast.js'));
298
+ emitAsset((0, path_1.resolve)(id, '../../lib/propmangle.js'));
299
+ emitAsset((0, path_1.resolve)(id, '../../lib/minify.js'));
300
+ emitAsset((0, path_1.resolve)(id, '../exports.js'));
301
+ }
302
+ },
303
+ 'uglify-js'({ id, emitAsset, emitAssetDirectory }) {
304
+ if (id.endsWith('uglify-js/tools/node.js')) {
305
+ emitAssetDirectory((0, path_1.resolve)(id, '../../lib'));
306
+ emitAsset((0, path_1.resolve)(id, '../exports.js'));
307
+ }
308
+ },
309
+ 'playwright-core'({ id, emitAsset }) {
310
+ if (id.endsWith('playwright-core/index.js')) {
311
+ emitAsset((0, path_1.resolve)((0, path_1.dirname)(id), 'browsers.json'));
312
+ }
313
+ },
314
+ 'geo-tz'({ id, emitAsset }) {
315
+ if (id.endsWith('geo-tz/dist/geo-tz.js')) {
316
+ emitAsset((0, path_1.resolve)((0, path_1.dirname)(id), '../data/geo.dat'));
317
+ }
318
+ },
319
+ pixelmatch({ id, emitDependency }) {
320
+ if (id.endsWith('pixelmatch/index.js')) {
321
+ emitDependency((0, path_1.resolve)((0, path_1.dirname)(id), 'bin/pixelmatch'));
322
+ }
323
+ },
324
+ 'geoip-lite'({ id, emitAsset }) {
325
+ if (id.endsWith('geoip-lite/lib/geoip.js')) {
326
+ emitAsset((0, path_1.resolve)((0, path_1.dirname)(id), '../data/geoip-city.dat'));
327
+ emitAsset((0, path_1.resolve)((0, path_1.dirname)(id), '../data/geoip-city6.dat'));
328
+ emitAsset((0, path_1.resolve)((0, path_1.dirname)(id), '../data/geoip-city-names.dat'));
329
+ emitAsset((0, path_1.resolve)((0, path_1.dirname)(id), '../data/geoip-country.dat'));
330
+ emitAsset((0, path_1.resolve)((0, path_1.dirname)(id), '../data/geoip-country6.dat'));
331
+ }
332
+ },
333
+ };
334
+ async function handleSpecialCases({ id, ast, emitDependency, emitAsset, emitAssetDirectory, job, }) {
335
+ const pkgName = (0, get_package_base_1.getPackageName)(id);
336
+ const specialCase = specialCases[pkgName || ''];
337
+ id = id.replace(/\\/g, '/');
338
+ if (specialCase)
339
+ await specialCase({
340
+ id,
341
+ ast,
342
+ emitDependency,
343
+ emitAsset,
344
+ emitAssetDirectory,
345
+ job,
346
+ });
347
+ }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"special-cases.js","sourceRoot":"","sources":["../../src/utils/special-cases.ts"],"names":[],"mappings":"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"}