@mouryaamit/nx-polystack 1.0.3 → 1.1.1

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/USER-MANUAL.md CHANGED
@@ -143,7 +143,8 @@ OPTIONS — new / preset
143
143
  --force new only — allow creating inside another Nx workspace
144
144
 
145
145
  OPTIONS — update
146
- --to=<version> Target version (default: this CLI's version)
146
+ --to=<version> Target version, also as "pstack update <version>"
147
+ (default: this CLI's version)
147
148
  --allow-dirty Run with uncommitted changes
148
149
  --force Allow downgrading
149
150
 
@@ -263,13 +264,14 @@ pstack new <dir> [--npmScope=<scope>] [--baseBranch=<branch>] [--infra=…] [--c
263
264
  ## 3b. pstack update — upgrade a workspace
264
265
 
265
266
  ```bash
266
- pstack update [--to=<version>] [--dry-run] [--allow-dirty] [--force]
267
+ pstack update [<version> | --to=<version>] [--dry-run] [--allow-dirty] [--force]
267
268
  ```
268
269
 
269
270
  1. Reads the pinned version of `@mouryaamit/nx-polystack` from `package.json` (`1.2.0`, or the installed
270
271
  version for a range such as `^1.2.0`). Any other spec (a git tag, a tarball, `latest`) uses the installed
271
272
  version, and is rewritten to a normal pin.
272
- 2. Target is `--to`, else the global CLI's version. Downgrades need `--force`. If the global CLI is older than the
273
+ 2. Target is the version argument or `--to` (`pstack update 1.2.0` is `pstack update --to=1.2.0`), else the
274
+ global CLI's version. Downgrades need `--force`. If the global CLI is older than the
273
275
  workspace pin, `update` tells you to upgrade the global CLI first (or pass `--force`).
274
276
  3. Needs a clean git tree unless `--allow-dirty`. The check covers only the workspace folder.
275
277
  4. Installs with `npm install @mouryaamit/nx-polystack@<to> --save-dev --save-exact` (`--save-prod` if the plugin
@@ -1189,8 +1191,22 @@ The source is never changed, and `--rollback` removes the rewritten copies with
1189
1191
  workspace does not declare yet.
1190
1192
  - **SCSS:** relative `@use`, `@import` and `@forward` paths that reach into another moved project
1191
1193
  are corrected; paths into the source's root `node_modules` point at the workspace's.
1194
+ - **Angular resources (1.1.0):** relative `templateUrl`, `styleUrl` and `styleUrls` entries that
1195
+ reach into another moved project become the corrected relative path (Angular needs a path, not
1196
+ an alias).
1197
+ - **Sass load paths (1.1.0):** a bare `@use 'theme'` is resolved the way Sass does it: next to the
1198
+ stylesheet, then through the source `stylePreprocessorOptions.includePaths` of the project that
1199
+ owns it (`angular.json` or its `project.json`). If the workspace project's own `includePaths` no
1200
+ longer reach the same copied file first, it becomes a relative path. A load-path file that was
1201
+ not imported, and an `includePaths` entry that does not exist in the workspace, are listed.
1202
+ `sass:` modules, `~` paths, URLs, plain `.css` imports, `with (...)` values and anything found in
1203
+ `node_modules` are left alone.
1192
1204
  - **Library subpaths** (npm, Yarn and pnpm imports): `@acme/utils/x` resolves through an added
1193
1205
  `@acme/utils/*` alias to the package folder.
1206
+ - **Between `--config` entries (1.1.0):** an import into a project an earlier entry brought in is
1207
+ rewritten like any other. Imports into a project a later entry brings in are fixed after the
1208
+ last entry, in its tree: its report lists them under "Resolved in earlier entries", the earlier
1209
+ reports are updated, and `--rollback` of the last entry puts them back.
1194
1210
 
1195
1211
  Code files are `.ts`, `.tsx`, `.mts`, `.cts`, `.js`, `.jsx`, `.mjs` and `.cjs` (not `.d.ts`); the
1196
1212
  rewritten forms are `import`/`export … from`, `import()`, side-effect imports, `require()` and
@@ -1218,14 +1234,20 @@ with a Jest spec and `tools/migrate/jest.config.js`, and lists it in `nx.json`:
1218
1234
  }
1219
1235
  ```
1220
1236
 
1221
- Entries are workspace-relative `.js`/`.ts` files or installed package names. A module exports one
1222
- adapter or a list (`default`, `adapters`, `adapter`, or `module.exports`).
1223
-
1224
- - **TypeScript:** `.ts` files are transpiled with the workspace's `typescript` and its
1225
- `tsconfig.base.json` options (no ts-node needed). `paths` aliases are not resolved, and
1226
- `.mts`/`.cts` files are not supported.
1227
- - **Adapter packages:** must be CommonJS, and should list nx-polystack as a peer dependency so
1228
- they use the workspace's copy.
1237
+ Entries are workspace-relative `.js`/`.mjs`/`.cjs`/`.ts`/`.mts`/`.cts` files or installed package
1238
+ names. A module exports one adapter or a list (`default`, `adapters`, `adapter`, or
1239
+ `module.exports`).
1240
+
1241
+ - **TypeScript:** `.ts`, `.mts` and `.cts` files are transpiled to CommonJS with the workspace's
1242
+ `typescript` and its `tsconfig.base.json` options (no ts-node needed). `paths` aliases resolve
1243
+ while the adapter runs (1.1.0). `import.meta` and top-level `await` are not supported in
1244
+ TypeScript adapters.
1245
+ - **ES modules (1.1.0):** `.mjs` files, `.js` files in a `"type": "module"` package and ESM-only
1246
+ packages (resolved through their `exports`) load through Node's own `require`, which needs Node
1247
+ 20.19+ or 22.12+. An ES module with top-level `await` cannot be loaded (adapters load
1248
+ synchronously).
1249
+ - **Adapter packages:** CommonJS or ESM; list nx-polystack as a peer dependency so they use the
1250
+ workspace's copy.
1229
1251
  - **Trust:** listed adapters run as code on `pstack migrate`, `--detect` included. List only
1230
1252
  adapters you trust, as with Nx plugins.
1231
1253
 
@@ -8,4 +8,9 @@ export interface UpdateDeps {
8
8
  }
9
9
  /** Arguments for the child `_migrate` process. */
10
10
  export declare function migrateArgs(from: string, to: string, verbose?: boolean): string[];
11
+ /**
12
+ * The target version asked for: `pstack update 1.2.0` or `--to=1.2.0` (both may be given if they
13
+ * agree), or undefined for the global CLI's own version.
14
+ */
15
+ export declare function requestedVersion(positionals: string[], toFlag: string | undefined): string | undefined;
11
16
  export declare function runUpdate(ctx: CommandContext, deps?: UpdateDeps): Promise<number>;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.runUpdate = exports.migrateArgs = void 0;
3
+ exports.runUpdate = exports.requestedVersion = exports.migrateArgs = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const fs = tslib_1.__importStar(require("fs"));
6
6
  const path = tslib_1.__importStar(require("path"));
@@ -17,6 +17,24 @@ function migrateArgs(from, to, verbose = false) {
17
17
  return ['_migrate', `--from=${from}`, `--to=${to}`, ...(verbose ? ['--verbose'] : [])];
18
18
  }
19
19
  exports.migrateArgs = migrateArgs;
20
+ /**
21
+ * The target version asked for: `pstack update 1.2.0` or `--to=1.2.0` (both may be given if they
22
+ * agree), or undefined for the global CLI's own version.
23
+ */
24
+ function requestedVersion(positionals, toFlag) {
25
+ if (positionals.length > 1) {
26
+ throw new types_1.CliError(`pstack update takes one version, got: ${positionals.join(' ')}`);
27
+ }
28
+ const arg = positionals[0];
29
+ if (arg === undefined)
30
+ return toFlag;
31
+ const version = (0, versions_1.normalizeVersion)(arg);
32
+ if (toFlag !== undefined && (0, versions_1.normalizeVersion)(toFlag) !== version) {
33
+ throw new types_1.CliError(`"${arg}" and --to=${toFlag} name different versions; give one.`);
34
+ }
35
+ return version;
36
+ }
37
+ exports.requestedVersion = requestedVersion;
20
38
  const defaultDeps = {
21
39
  exec: exec_1.execOrThrow,
22
40
  gitStatus: exec_1.gitStatus,
@@ -34,6 +52,7 @@ async function runUpdate(ctx, deps = defaultDeps) {
34
52
  if (ctx.flags['to'] === true) {
35
53
  throw new types_1.CliError('--to requires a version, e.g. --to=0.3.0');
36
54
  }
55
+ const toVersion = requestedVersion(ctx.positionals, (0, args_1.flagString)(ctx.flags, 'to'));
37
56
  const pkgText = fs.readFileSync(pkgPath, 'utf8');
38
57
  const installedVersion = (0, context_1.resolveLocalPlugin)(root)?.version;
39
58
  const pin = (0, update_plan_1.findPluginPin)(JSON.parse(pkgText.replace(/^\uFEFF/, '')), ctx.selfVersion, installedVersion);
@@ -49,7 +68,7 @@ async function runUpdate(ctx, deps = defaultDeps) {
49
68
  pin.version = installed;
50
69
  }
51
70
  }
52
- const target = (0, update_plan_1.resolveTarget)(pin.version, (0, args_1.flagString)(ctx.flags, 'to'), ctx.selfVersion, !!ctx.flags['force']);
71
+ const target = (0, update_plan_1.resolveTarget)(pin.version, toVersion, ctx.selfVersion, !!ctx.flags['force']);
53
72
  // An unreadable pin on the current version is still rewritten to a normal pin.
54
73
  if (target.action === 'noop' && !pin.fromInstalled) {
55
74
  console.log(`Already on nx-polystack v${target.to}.`);
@@ -1 +1 @@
1
- {"version":3,"file":"update.js","sourceRoot":"","sources":["../../../../src/cli/commands/update.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"update.js","sourceRoot":"","sources":["../../../../src/cli/commands/update.ts"],"names":[],"mappings":"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"}
@@ -59,7 +59,8 @@ OPTIONS — new / preset
59
59
  --force new only — allow creating inside another Nx workspace
60
60
 
61
61
  OPTIONS — update
62
- --to=<version> Target version (default: this CLI's version)
62
+ --to=<version> Target version, also as "pstack update <version>"
63
+ (default: this CLI's version)
63
64
  --allow-dirty Run with uncommitted changes
64
65
  --force Allow downgrading
65
66
 
@@ -284,7 +285,7 @@ EXAMPLES
284
285
  pstack hardening --app=portal
285
286
  pstack hardening --app=portal --configuration=uat --obfuscate=light --sri
286
287
  pstack update
287
- pstack update --to=0.3.0 --dry-run
288
+ pstack update 0.3.0 --dry-run
288
289
  `.trimStart();
289
290
  }
290
291
  exports.helpText = helpText;
@@ -1 +1 @@
1
- {"version":3,"file":"help.js","sourceRoot":"","sources":["../../../src/cli/help.ts"],"names":[],"mappings":";;;AAAA,qDAAiD;AACjD,yCAAkD;AAElD,SAAgB,QAAQ,CAAC,OAAe;IACtC,OAAO;yCACgC,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SA2O5C,IAAA,8BAAa,GAAE,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,mDAAmD,CAAC,CAAC,CAAC,EAC5F;IACE,IAAA,+BAAoB,EAAC,OAAO,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6ChC,CAAC,SAAS,EAAE,CAAC;AACd,CAAC;AA7RD,4BA6RC"}
1
+ {"version":3,"file":"help.js","sourceRoot":"","sources":["../../../src/cli/help.ts"],"names":[],"mappings":";;;AAAA,qDAAiD;AACjD,yCAAkD;AAElD,SAAgB,QAAQ,CAAC,OAAe;IACtC,OAAO;yCACgC,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SA4O5C,IAAA,8BAAa,GAAE,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,mDAAmD,CAAC,CAAC,CAAC,EAC5F;IACE,IAAA,+BAAoB,EAAC,OAAO,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6ChC,CAAC,SAAS,EAAE,CAAC;AACd,CAAC;AA9RD,4BA8RC"}
@@ -15,8 +15,17 @@ export declare function adapterEntries(nxJson: NxJsonWithPstack | undefined): st
15
15
  type TsModule = typeof import('typescript');
16
16
  /** A require hook that transpiles a .ts module to CommonJS with `ts` (exported for tests). */
17
17
  export declare function typeScriptHook(ts: TsModule, base?: import('typescript').CompilerOptions): (mod: {
18
- _compile(code: string, file: string): void;
18
+ _compile(code: string, file: string, format?: string): void;
19
19
  }, file: string) => void;
20
+ /**
21
+ * tsconfig `paths` of the workspace: request → absolute candidates, in order (`*` wildcard; the
22
+ * longest matching prefix wins, as in TypeScript). Undefined when no key matches.
23
+ */
24
+ export declare function pathsResolver(options: {
25
+ paths?: Record<string, string[]>;
26
+ baseUrl?: string;
27
+ pathsBasePath?: unknown;
28
+ }, root: string): (request: string) => string[] | undefined;
20
29
  /** Reads nx.json for the adapter list: undefined when missing; throws when it is not JSON. */
21
30
  export declare function parseNxJson(text: string | null | undefined): NxJsonWithPstack | undefined;
22
31
  /** Loads and checks the workspace's external adapters. Throws, naming the entry, on any problem. */
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.loadExternalAdapters = exports.parseNxJson = exports.typeScriptHook = exports.adapterEntries = exports.MIGRATE_API_VERSION = void 0;
3
+ exports.loadExternalAdapters = exports.parseNxJson = exports.pathsResolver = exports.typeScriptHook = exports.adapterEntries = exports.MIGRATE_API_VERSION = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const fs = tslib_1.__importStar(require("fs"));
6
6
  const Module = tslib_1.__importStar(require("module"));
@@ -25,6 +25,10 @@ function adapterEntries(nxJson) {
25
25
  return list.map((e) => e.trim());
26
26
  }
27
27
  exports.adapterEntries = adapterEntries;
28
+ const nodeModule = (process.getBuiltinModule?.('module') ?? Module);
29
+ /** Node's require, which loads ES modules synchronously on Node 20.19+ and 22.12+. */
30
+ const nativeRequire = nodeModule.createRequire(__filename);
31
+ const TS_FILE = /\.(ts|mts|cts)$/;
28
32
  function loadTypeScript(root, entry) {
29
33
  try {
30
34
  // eslint-disable-next-line @typescript-eslint/no-var-requires
@@ -36,7 +40,7 @@ function loadTypeScript(root, entry) {
36
40
  }
37
41
  /**
38
42
  * The workspace tsconfig.base.json compilerOptions (decorators, jsx, …) for transpiling adapters;
39
- * module and target are always CommonJS / ES2020. `paths` aliases are not resolved.
43
+ * module and target are always CommonJS / ES2020. `paths` are resolved by tsScope (NX-63).
40
44
  */
41
45
  function workspaceCompilerOptions(ts, root) {
42
46
  const file = ['tsconfig.base.json', 'tsconfig.json']
@@ -54,7 +58,8 @@ function typeScriptHook(ts, base = {}) {
54
58
  return (mod, file) => {
55
59
  const source = fs.readFileSync(file, 'utf8');
56
60
  const out = ts.transpileModule(source, {
57
- fileName: file,
61
+ // TypeScript always emits ESM for an .mts name; as .ts it follows `module: CommonJS`.
62
+ fileName: file.replace(/\.[mc]ts$/, '.ts'),
58
63
  compilerOptions: {
59
64
  ...base,
60
65
  module: ts.ModuleKind.CommonJS,
@@ -69,7 +74,8 @@ function typeScriptHook(ts, base = {}) {
69
74
  verbatimModuleSyntax: false,
70
75
  },
71
76
  });
72
- mod._compile(out.outputText, file);
77
+ // The output is CommonJS; the format keeps Node from treating an .mts name as ESM.
78
+ mod._compile(out.outputText, file, 'commonjs');
73
79
  };
74
80
  }
75
81
  exports.typeScriptHook = typeScriptHook;
@@ -79,29 +85,143 @@ exports.typeScriptHook = typeScriptHook;
79
85
  * they load later (a lazy require or `import()`) transpile the same way.
80
86
  */
81
87
  function tsScope(root, entry, file) {
82
- if (!file.endsWith('.ts'))
88
+ if (!TS_FILE.test(file))
83
89
  return (fn) => fn();
84
90
  const ts = loadTypeScript(root, entry);
85
- const hook = typeScriptHook(ts, workspaceCompilerOptions(ts, root));
91
+ const options = workspaceCompilerOptions(ts, root);
92
+ const hook = typeScriptHook(ts, options);
93
+ const resolvePaths = pathsResolver(options, root);
86
94
  return (fn) => {
87
- const extensions = Module._extensions;
88
- const previous = extensions['.ts'];
89
- extensions['.ts'] = hook;
95
+ const previous = new Map();
96
+ for (const ext of ['.ts', '.mts', '.cts']) {
97
+ previous.set(ext, nodeModule._extensions[ext]);
98
+ nodeModule._extensions[ext] = hook;
99
+ }
100
+ const resolveFilename = nodeModule._resolveFilename;
101
+ nodeModule._resolveFilename = function (request, parent, ...rest) {
102
+ const from = parent?.filename;
103
+ const mapped = from && !from.split(path.sep).includes('node_modules') ? resolvePaths(request) : undefined;
104
+ if (mapped) {
105
+ for (const candidate of mapped) {
106
+ try {
107
+ return resolveFilename.call(this, candidate, parent, ...rest);
108
+ }
109
+ catch {
110
+ // try the next target
111
+ }
112
+ }
113
+ }
114
+ return resolveFilename.call(this, request, parent, ...rest);
115
+ };
90
116
  try {
91
117
  return fn();
92
118
  }
93
119
  finally {
94
- if (previous === undefined)
95
- delete extensions['.ts'];
96
- else
97
- extensions['.ts'] = previous;
120
+ nodeModule._resolveFilename = resolveFilename;
121
+ for (const [ext, h] of previous) {
122
+ if (h === undefined)
123
+ delete nodeModule._extensions[ext];
124
+ else
125
+ nodeModule._extensions[ext] = h;
126
+ }
98
127
  }
99
128
  };
100
129
  }
130
+ /**
131
+ * tsconfig `paths` of the workspace: request → absolute candidates, in order (`*` wildcard; the
132
+ * longest matching prefix wins, as in TypeScript). Undefined when no key matches.
133
+ */
134
+ function pathsResolver(options, root) {
135
+ const paths = options.paths ?? {};
136
+ const base = options.baseUrl ?? (typeof options.pathsBasePath === 'string' ? options.pathsBasePath : root);
137
+ const keys = Object.keys(paths).sort((a, b) => b.replace(/\*.*$/, '').length - a.replace(/\*.*$/, '').length);
138
+ return (request) => {
139
+ if (request.startsWith('.') || path.isAbsolute(request))
140
+ return undefined;
141
+ for (const key of keys) {
142
+ const star = key.indexOf('*');
143
+ let rest;
144
+ if (star < 0)
145
+ rest = request === key ? '' : undefined;
146
+ else {
147
+ const pre = key.slice(0, star);
148
+ const post = key.slice(star + 1);
149
+ if (request.startsWith(pre) && request.endsWith(post) && request.length >= key.length - 1) {
150
+ rest = request.slice(pre.length, request.length - post.length);
151
+ }
152
+ }
153
+ if (rest === undefined)
154
+ continue;
155
+ return (paths[key] ?? []).map((t) => path.resolve(base, t.replace('*', () => rest)));
156
+ }
157
+ return undefined;
158
+ };
159
+ }
160
+ exports.pathsResolver = pathsResolver;
161
+ /**
162
+ * An .mts / .cts file compiled with the TypeScript hook installed by tsScope (to CommonJS). Not
163
+ * through require: recent Node sends .mts to its own ES module loader, which skips the hook.
164
+ */
165
+ function compileTs(file) {
166
+ const Ctor = nodeModule;
167
+ const mod = new Ctor(file);
168
+ mod.filename = file;
169
+ mod.paths = Ctor._nodeModulePaths(path.dirname(file));
170
+ nodeModule._extensions['.ts'](mod, file);
171
+ mod.loaded = true;
172
+ return mod.exports;
173
+ }
174
+ /** ES module by extension or by the nearest package.json `"type": "module"`. */
175
+ function isEsmFile(file) {
176
+ if (file.endsWith('.mjs'))
177
+ return true;
178
+ if (!file.endsWith('.js'))
179
+ return false;
180
+ for (let dir = path.dirname(file);; dir = path.dirname(dir)) {
181
+ const pkg = path.join(dir, 'package.json');
182
+ if (fs.existsSync(pkg)) {
183
+ try {
184
+ return JSON.parse(fs.readFileSync(pkg, 'utf8')).type === 'module';
185
+ }
186
+ catch {
187
+ return false;
188
+ }
189
+ }
190
+ if (path.dirname(dir) === dir)
191
+ return false;
192
+ }
193
+ }
194
+ /**
195
+ * Loads an adapter module: ES modules, `.mts` and `.cts` through Node's own require (which
196
+ * loads ES modules synchronously on Node 20.19+ / 22.12+), others through the plugin's require.
197
+ */
198
+ function loadModule(entry, file, scope) {
199
+ try {
200
+ if (/\.(mts|cts)$/.test(file))
201
+ return scope(() => compileTs(file));
202
+ return scope(() => (isEsmFile(file) ? nativeRequire(file) : require(file)));
203
+ }
204
+ catch (err) {
205
+ const code = err?.code;
206
+ if (code === 'ERR_REQUIRE_ASYNC_MODULE') {
207
+ return fail(entry, 'is an ES module with top-level await; adapters are loaded synchronously, so move the ' +
208
+ 'await into the adapter functions.');
209
+ }
210
+ if (code === 'ERR_REQUIRE_ESM') {
211
+ return fail(entry, `is an ES module; loading it needs Node 20.19+ or 22.12+ (this is Node ${process.versions.node}).`);
212
+ }
213
+ throw err;
214
+ }
215
+ }
101
216
  function resolveEntry(root, entry) {
102
217
  if (entry.startsWith('.') || path.isAbsolute(entry)) {
103
218
  const file = path.resolve(root, entry);
104
- for (const candidate of [file, `${file}.ts`, `${file}.js`, path.join(file, 'index.js')]) {
219
+ const candidates = [
220
+ file,
221
+ ...['.ts', '.js', '.mts', '.cts', '.mjs', '.cjs'].map((ext) => `${file}${ext}`),
222
+ ...['index.js', 'index.mjs', 'index.ts'].map((f) => path.join(file, f)),
223
+ ];
224
+ for (const candidate of candidates) {
105
225
  if (fs.existsSync(candidate) && fs.statSync(candidate).isFile())
106
226
  return candidate;
107
227
  }
@@ -111,7 +231,92 @@ function resolveEntry(root, entry) {
111
231
  return require.resolve(entry, { paths: [root] });
112
232
  }
113
233
  catch {
114
- return fail(entry, 'the package is not installed in the workspace.');
234
+ // An ESM-only package has no `require` export: resolve it through its exports (NX-63).
235
+ return (resolveEsmPackage(root, entry) ??
236
+ fail(entry, 'the package is not installed in the workspace.'));
237
+ }
238
+ }
239
+ const CONDITIONS = new Set(['node', 'require', 'import', 'module', 'default']);
240
+ /** One target of a package `exports` value for the conditions above (object order wins). */
241
+ function exportTarget(value) {
242
+ if (typeof value === 'string')
243
+ return value;
244
+ if (Array.isArray(value)) {
245
+ for (const v of value) {
246
+ const t = exportTarget(v);
247
+ if (t)
248
+ return t;
249
+ }
250
+ return undefined;
251
+ }
252
+ if (!value || typeof value !== 'object')
253
+ return undefined;
254
+ for (const [key, v] of Object.entries(value)) {
255
+ if (CONDITIONS.has(key)) {
256
+ const t = exportTarget(v);
257
+ if (t)
258
+ return t;
259
+ }
260
+ }
261
+ return undefined;
262
+ }
263
+ /** `<name>[/<subpath>]` of an installed package, read from its package.json `exports`/`module`/`main`. */
264
+ function resolveEsmPackage(root, entry) {
265
+ const parts = entry.split('/');
266
+ const nameLength = entry.startsWith('@') ? 2 : 1;
267
+ const name = parts.slice(0, nameLength).join('/');
268
+ const sub = parts.slice(nameLength).join('/');
269
+ for (let dir = root;; dir = path.dirname(dir)) {
270
+ const pkgDir = path.join(dir, 'node_modules', name);
271
+ const pkgFile = path.join(pkgDir, 'package.json');
272
+ if (fs.existsSync(pkgFile)) {
273
+ let pkg;
274
+ try {
275
+ pkg = JSON.parse(fs.readFileSync(pkgFile, 'utf8'));
276
+ }
277
+ catch {
278
+ return undefined;
279
+ }
280
+ const key = sub ? `./${sub}` : '.';
281
+ let target;
282
+ const ex = pkg.exports;
283
+ if (ex !== undefined) {
284
+ const map = ex &&
285
+ typeof ex === 'object' &&
286
+ !Array.isArray(ex) &&
287
+ Object.keys(ex).some((k) => k.startsWith('.'))
288
+ ? ex
289
+ : { '.': ex };
290
+ if (map[key] !== undefined)
291
+ target = exportTarget(map[key]);
292
+ else {
293
+ // Subpath patterns: "./*" → "./dist/*.js".
294
+ for (const [k, v] of Object.entries(map)) {
295
+ const star = k.indexOf('*');
296
+ if (star < 0)
297
+ continue;
298
+ const pre = k.slice(0, star);
299
+ const post = k.slice(star + 1);
300
+ if (key.startsWith(pre) && key.endsWith(post) && key.length >= k.length - 1) {
301
+ const hit = exportTarget(v);
302
+ const part = key.slice(pre.length, key.length - post.length);
303
+ target = hit?.replace(/\*/g, () => part);
304
+ break;
305
+ }
306
+ }
307
+ }
308
+ }
309
+ else if (!sub)
310
+ target = pkg.module ?? pkg.main ?? 'index.js';
311
+ else
312
+ target = sub;
313
+ if (!target)
314
+ return undefined;
315
+ const file = path.resolve(pkgDir, target);
316
+ return fs.existsSync(file) ? file : undefined;
317
+ }
318
+ if (path.dirname(dir) === dir)
319
+ return undefined;
115
320
  }
116
321
  }
117
322
  function adaptersOf(mod) {
@@ -178,10 +383,20 @@ function guarded(entry, a, scope) {
178
383
  for (const k of ['detect', 'defaultName', 'preflight', 'migrate']) {
179
384
  const fn = a[k];
180
385
  if (typeof fn === 'function') {
181
- Object.defineProperty(copy, k, {
182
- value: wrap(fn),
183
- enumerable: true,
184
- });
386
+ let value = wrap(fn);
387
+ if (k === 'migrate') {
388
+ // The install task runs later: keep the TypeScript hook and paths around it too.
389
+ const migrate = value;
390
+ value = (...args) => {
391
+ const data = migrate(...args);
392
+ const task = data?.installTask;
393
+ if (data && typeof task === 'function') {
394
+ data.installTask = () => scope(() => task.call(data));
395
+ }
396
+ return data;
397
+ };
398
+ }
399
+ Object.defineProperty(copy, k, { value, enumerable: true });
185
400
  }
186
401
  }
187
402
  return copy;
@@ -210,8 +425,7 @@ function loadExternalAdapters(root, nxJson) {
210
425
  const scope = tsScope(root, entry, file);
211
426
  let mod;
212
427
  try {
213
- // eslint-disable-next-line @typescript-eslint/no-var-requires
214
- mod = scope(() => require(file));
428
+ mod = loadModule(entry, file, scope);
215
429
  }
216
430
  catch (err) {
217
431
  if (err instanceof Error && err.message.startsWith('migrate: nx.json'))
@@ -1 +1 @@
1
- {"version":3,"file":"external.js","sourceRoot":"","sources":["../../../../../src/generators/migrate/adapters/external.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"external.js","sourceRoot":"","sources":["../../../../../src/generators/migrate/adapters/external.ts"],"names":[],"mappings":"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"}