nx 23.0.0-beta.24 → 23.0.0-beta.25

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 (60) hide show
  1. package/dist/src/command-line/examples.js +1 -1
  2. package/dist/src/command-line/migrate/agentic/select.js +16 -7
  3. package/dist/src/command-line/migrate/command-object.d.ts +9 -8
  4. package/dist/src/command-line/migrate/command-object.js +9 -9
  5. package/dist/src/command-line/migrate/migrate-config.d.ts +5 -4
  6. package/dist/src/command-line/migrate/migrate-config.js +8 -7
  7. package/dist/src/command-line/migrate/migrate.d.ts +18 -17
  8. package/dist/src/command-line/migrate/migrate.js +265 -248
  9. package/dist/src/command-line/migrate/multi-major.d.ts +2 -2
  10. package/dist/src/command-line/migrate/multi-major.js +22 -9
  11. package/dist/src/command-line/migrate/resolve-package-version.d.ts +24 -0
  12. package/dist/src/command-line/migrate/resolve-package-version.js +271 -0
  13. package/dist/src/command-line/migrate/version-utils.d.ts +0 -1
  14. package/dist/src/command-line/migrate/version-utils.js +2 -9
  15. package/dist/src/command-line/release/utils/resolve-semver-specifier.d.ts +1 -1
  16. package/dist/src/command-line/release/utils/resolve-semver-specifier.js +7 -2
  17. package/dist/src/command-line/release/utils/shared.d.ts +1 -1
  18. package/dist/src/command-line/release/utils/shared.js +21 -5
  19. package/dist/src/command-line/release/version/derive-specifier-from-conventional-commits.js +5 -1
  20. package/dist/src/config/nx-json.d.ts +14 -6
  21. package/dist/src/core/graph/main.js +1 -1
  22. package/dist/src/core/graph/styles.js +1 -1
  23. package/dist/src/native/nx.wasm32-wasi.debug.wasm +0 -0
  24. package/dist/src/native/nx.wasm32-wasi.wasm +0 -0
  25. package/dist/src/utils/catalog/index.d.ts +6 -0
  26. package/dist/src/utils/catalog/index.js +18 -0
  27. package/dist/src/utils/handle-errors.js +8 -0
  28. package/dist/src/utils/installed-nx-version.d.ts +13 -8
  29. package/dist/src/utils/installed-nx-version.js +30 -31
  30. package/dist/src/utils/min-release-age/behavior/bun.d.ts +29 -0
  31. package/dist/src/utils/min-release-age/behavior/bun.js +305 -0
  32. package/dist/src/utils/min-release-age/behavior/npm.d.ts +20 -0
  33. package/dist/src/utils/min-release-age/behavior/npm.js +289 -0
  34. package/dist/src/utils/min-release-age/behavior/pnpm.d.ts +23 -0
  35. package/dist/src/utils/min-release-age/behavior/pnpm.js +840 -0
  36. package/dist/src/utils/min-release-age/behavior/yarn.d.ts +24 -0
  37. package/dist/src/utils/min-release-age/behavior/yarn.js +349 -0
  38. package/dist/src/utils/min-release-age/constants.d.ts +3 -0
  39. package/dist/src/utils/min-release-age/constants.js +8 -0
  40. package/dist/src/utils/min-release-age/errors.d.ts +28 -0
  41. package/dist/src/utils/min-release-age/errors.js +22 -0
  42. package/dist/src/utils/min-release-age/npmrc.d.ts +13 -0
  43. package/dist/src/utils/min-release-age/npmrc.js +40 -0
  44. package/dist/src/utils/min-release-age/packument.d.ts +29 -0
  45. package/dist/src/utils/min-release-age/packument.js +91 -0
  46. package/dist/src/utils/min-release-age/pick.d.ts +48 -0
  47. package/dist/src/utils/min-release-age/pick.js +94 -0
  48. package/dist/src/utils/min-release-age/pnpm-exclude-writer.d.ts +12 -0
  49. package/dist/src/utils/min-release-age/pnpm-exclude-writer.js +58 -0
  50. package/dist/src/utils/min-release-age/policy.d.ts +39 -0
  51. package/dist/src/utils/min-release-age/policy.js +59 -0
  52. package/dist/src/utils/min-release-age/resolve.d.ts +10 -0
  53. package/dist/src/utils/min-release-age/resolve.js +22 -0
  54. package/dist/src/utils/package-json.d.ts +3 -0
  55. package/dist/src/utils/package-json.js +3 -0
  56. package/dist/src/utils/package-manager.d.ts +3 -1
  57. package/dist/src/utils/package-manager.js +12 -11
  58. package/package.json +13 -12
  59. package/schemas/migrations-schema.json +2 -2
  60. package/schemas/nx-schema.json +8 -3
@@ -273,7 +273,7 @@ exports.examples = {
273
273
  },
274
274
  {
275
275
  command: 'migrate latest --interactive',
276
- description: 'Collect package updates and migrations in interactive mode. In this mode, the user will be prompted whether to apply any optional package update and migration. Only supported when migrating to Nx versions lower than v23',
276
+ description: "Collect package updates and migrations in interactive mode. In this mode, the user will be prompted whether to apply any optional package update and migration. Deprecated and slated for removal in Nx v24. Use '--include' instead.",
277
277
  },
278
278
  {
279
279
  command: 'migrate latest --from=nx@14.5.0 --exclude-applied-migrations',
@@ -1,9 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.resolveAgentic = resolveAgentic;
4
+ const tslib_1 = require("tslib");
4
5
  const fs_1 = require("fs");
5
6
  const jsonc_parser_1 = require("jsonc-parser");
6
7
  const path_1 = require("path");
8
+ const pc = tslib_1.__importStar(require("picocolors"));
7
9
  const output_1 = require("../../../utils/output");
8
10
  const workspace_root_1 = require("../../../utils/workspace-root");
9
11
  const safe_prompt_1 = require("../safe-prompt");
@@ -116,37 +118,44 @@ async function firePromptForAgentic(migrations, detected) {
116
118
  // pin option is dropped.
117
119
  const multipleAgents = detected.length > 1;
118
120
  const choices = [
119
- { name: 'yes-once', message: 'Yes, just this time', hint: applyHint },
121
+ {
122
+ name: 'yes-once',
123
+ message: 'Yes, just this time',
124
+ description: applyHint,
125
+ },
120
126
  {
121
127
  name: 'yes-flex',
122
128
  message: multipleAgents
123
129
  ? "Yes, always (I'll pick the agent each run)"
124
130
  : 'Yes, always',
125
- hint: rememberHint,
131
+ description: rememberHint,
126
132
  },
127
133
  ...(multipleAgents
128
134
  ? [
129
135
  {
130
136
  name: 'yes-pin',
131
137
  message: 'Yes, always with the same agent',
132
- hint: rememberHint,
138
+ description: rememberHint,
133
139
  },
134
140
  ]
135
141
  : []),
136
- { name: 'no-once', message: 'No, just this time', hint: skipHint },
137
- { name: 'no-never', message: 'No, never', hint: rememberHint },
142
+ { name: 'no-once', message: 'No, just this time', description: skipHint },
143
+ { name: 'no-never', message: 'No, never', description: rememberHint },
138
144
  ];
139
145
  // Blank line keeps the prompt from gluing to the previous `npm install`
140
146
  // output or any earlier orchestrator line.
141
147
  console.log();
142
- // `as any` because enquirer's TS types lag the runtime (per-choice `hint`
143
- // is supported but not in the .d.ts).
148
+ // `as any`: `footer` and per-choice `description` aren't in enquirer's .d.ts.
144
149
  const response = await (0, safe_prompt_1.migratePrompt)({
145
150
  name: 'choice',
146
151
  type: 'select',
147
152
  message: 'Enable the agentic flow?',
148
153
  choices,
149
154
  initial: 0,
155
+ footer: function () {
156
+ const focused = this.focused;
157
+ return focused?.description ? pc.dim(` ${focused.description}`) : '';
158
+ },
150
159
  });
151
160
  switch (response.choice) {
152
161
  case 'yes-once':
@@ -3,9 +3,9 @@ import type { AgenticArg } from './agentic/select';
3
3
  export declare const yargsMigrateCommand: CommandModule;
4
4
  export declare const yargsInternalMigrateCommand: CommandModule;
5
5
  export declare const DEFAULT_MIGRATION_COMMIT_PREFIX = "chore: [nx migration] ";
6
- /** Allowed values for `--mode` / `migrate.mode`. */
7
- export declare const MIGRATE_MODES: readonly ["first-party", "third-party", "all"];
8
- export type MigrateMode = (typeof MIGRATE_MODES)[number];
6
+ /** Allowed values for `--include` / `migrate.include`. */
7
+ export declare const MIGRATE_INCLUDE_VALUES: readonly ["required", "optional", "all"];
8
+ export type MigrateInclude = (typeof MIGRATE_INCLUDE_VALUES)[number];
9
9
  /** Allowed values for `--multi-major-mode` / `migrate.multiMajorMode`. */
10
10
  export declare const MULTI_MAJOR_MODES: readonly ["direct", "gradual"];
11
11
  export type MultiMajorMode = (typeof MULTI_MAJOR_MODES)[number];
@@ -17,13 +17,14 @@ export type MultiMajorMode = (typeof MULTI_MAJOR_MODES)[number];
17
17
  export interface MigrateArgs {
18
18
  packageAndVersion?: string;
19
19
  runMigrations?: string;
20
- mode?: MigrateMode;
20
+ include?: MigrateInclude;
21
21
  /**
22
- * nx.json `migrate.mode` default. Consumed by `resolveMode` only when the
23
- * target is Nx itself; kept separate from `mode` so it is never mistaken for
24
- * an explicit `--mode` (which would hard-fail for non-Nx targets).
22
+ * nx.json `migrate.include` default. Consumed by `resolveInclude` only when the
23
+ * resolved target supports optional updates; kept separate from `include` so it is never
24
+ * mistaken for an explicit `--include` (which hard-fails when the target does
25
+ * not support optional updates).
25
26
  */
26
- modeFromConfig?: MigrateMode;
27
+ includeFromConfig?: MigrateInclude;
27
28
  multiMajorMode?: MultiMajorMode;
28
29
  createCommits?: boolean;
29
30
  commitPrefix?: string;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.MULTI_MAJOR_MODES = exports.MIGRATE_MODES = exports.DEFAULT_MIGRATION_COMMIT_PREFIX = exports.yargsInternalMigrateCommand = exports.yargsMigrateCommand = void 0;
3
+ exports.MULTI_MAJOR_MODES = exports.MIGRATE_INCLUDE_VALUES = exports.DEFAULT_MIGRATION_COMMIT_PREFIX = exports.yargsInternalMigrateCommand = exports.yargsMigrateCommand = void 0;
4
4
  exports.customCommitPrefixHasNoEffect = customCommitPrefixHasNoEffect;
5
5
  const handle_import_1 = require("../../utils/handle-import");
6
6
  const documentation_1 = require("../yargs-utils/documentation");
@@ -21,8 +21,8 @@ exports.yargsInternalMigrateCommand = {
21
21
  handler: async (args) => process.exit(await (await (0, handle_import_1.handleImport)('./migrate.js', __dirname)).migrate(process.cwd(), args, process.argv.slice(3))),
22
22
  };
23
23
  exports.DEFAULT_MIGRATION_COMMIT_PREFIX = 'chore: [nx migration] ';
24
- /** Allowed values for `--mode` / `migrate.mode`. */
25
- exports.MIGRATE_MODES = ['first-party', 'third-party', 'all'];
24
+ /** Allowed values for `--include` / `migrate.include`. */
25
+ exports.MIGRATE_INCLUDE_VALUES = ['required', 'optional', 'all'];
26
26
  /** Allowed values for `--multi-major-mode` / `migrate.multiMajorMode`. */
27
27
  exports.MULTI_MAJOR_MODES = ['direct', 'gradual'];
28
28
  /**
@@ -76,7 +76,7 @@ function withMigrationOptions(yargs) {
76
76
  default: exports.DEFAULT_MIGRATION_COMMIT_PREFIX,
77
77
  })
78
78
  .option('interactive', {
79
- describe: "Enable prompts to confirm whether to collect optional package updates and migrations. Not supported when migrating to Nx v23 or later: use '--mode' to choose which packages to migrate.",
79
+ describe: "Enable confirmation prompts for collecting optional package updates and migrations. Deprecated and slated for removal in Nx v24. Use '--include' instead. The flag stays valid for other interactive prompts.",
80
80
  type: 'boolean',
81
81
  })
82
82
  .option('excludeAppliedMigrations', {
@@ -89,10 +89,10 @@ function withMigrationOptions(yargs) {
89
89
  type: 'boolean',
90
90
  default: false,
91
91
  })
92
- .option('mode', {
93
- describe: "Restrict which packages to migrate. Only applies when migrating Nx itself. 'first-party' processes only Nx and its plugins (the target package plus its nx.packageGroup); 'third-party' processes only the third-party dependencies referenced by Nx packageJsonUpdates entries, catching up on any updates that may have been skipped previously; 'all' processes everything. The 'first-party' and 'third-party' modes are only available on Nx v23+: 'third-party' requires the workspace to already be on v23+, and 'first-party' requires migrating from v22+ into a v23+ target. When targeting Nx in an interactive terminal, prompts for the value if not provided; otherwise defaults to 'all'.",
92
+ .option('include', {
93
+ describe: "Restrict which packages to migrate. Only applies when the target package supports optional updates. 'required' processes only the target package and the related packages it ships with; 'optional' processes only the optional dependency updates those packages recommend, catching up on any that may have been skipped previously; 'all' processes everything. When the target supports optional updates in an interactive terminal, prompts for the value if not provided; otherwise defaults to 'all'.",
94
94
  type: 'string',
95
- choices: exports.MIGRATE_MODES,
95
+ choices: exports.MIGRATE_INCLUDE_VALUES,
96
96
  })
97
97
  .option('multiMajorMode', {
98
98
  describe: "Skip the multi-major migration prompt/warning and pick how to handle the jump. 'direct' migrates straight to the requested target. 'gradual' migrates to the smallest recommended step (re-run `nx migrate` to continue toward the original target). Equivalent env var: NX_MULTI_MAJOR_MODE=direct|gradual.",
@@ -107,7 +107,7 @@ function withMigrationOptions(yargs) {
107
107
  describe: 'When `--agentic` resolves to an enabled agent, run agent-driven validation after generator-only migrations that have no `prompt:` field. Defaults to on; pass `--no-validate` to opt out. Has no effect when `--agentic` is disabled, when running inside an outer agent, or when running non-interactively without an explicit agent.',
108
108
  type: 'boolean',
109
109
  })
110
- .check(({ createCommits, commitPrefix, from, excludeAppliedMigrations, mode, agentic, }) => {
110
+ .check(({ createCommits, commitPrefix, from, excludeAppliedMigrations, include, agentic, }) => {
111
111
  // Only an explicit `--no-create-commits` is decidable here, before the
112
112
  // nx.json overlay runs: an explicit `false` can't be rescued by nx.json
113
113
  // (the CLI flag wins, and the agentic flow can't enable commits when
@@ -122,7 +122,7 @@ function withMigrationOptions(yargs) {
122
122
  })) {
123
123
  throw new Error('Error: Providing a custom commit prefix requires --create-commits to be enabled');
124
124
  }
125
- if (excludeAppliedMigrations && !from && mode !== 'third-party') {
125
+ if (excludeAppliedMigrations && !from && include !== 'optional') {
126
126
  throw new Error('Error: Excluding migrations that should have been previously applied requires --from to be set');
127
127
  }
128
128
  if (typeof agentic === 'string' &&
@@ -5,15 +5,16 @@ import { type MigrateArgs } from './command-object';
5
5
  * CLI flag always wins, then `nx.json`, then the built-in default. Returns a new
6
6
  * args object; the input is not mutated.
7
7
  *
8
- * Phase-aware: generate-only options (`mode`, `multiMajorMode`) are applied only
8
+ * Phase-aware: generate-only options (`include`, `multiMajorMode`) are applied only
9
9
  * when not running migrations; run-only options (`createCommits`,
10
10
  * `commitPrefix`, `agentic`, `validate`) only when running migrations. This
11
11
  * mirrors where each option is consumed and avoids tripping the "cannot be
12
12
  * combined with --run-migrations" guards in `parseMigrationsOptions`.
13
13
  *
14
- * `mode` is carried as `modeFromConfig` rather than `mode` so it is never
15
- * mistaken for an explicit `--mode`: `resolveMode` applies it only when the
16
- * target is Nx itself, leaving `nx migrate <non-nx-pkg>` unaffected.
14
+ * `include` is carried as `includeFromConfig` rather than `include` so it is never
15
+ * mistaken for an explicit `--include`: `resolveInclude` applies it only when the
16
+ * resolved target supports optional updates, leaving targets that don't opt in
17
+ * unaffected.
17
18
  */
18
19
  export declare function applyNxJsonMigrateDefaults(args: MigrateArgs, migrateConfig: NxMigrateConfiguration | undefined, env?: NodeJS.ProcessEnv): MigrateArgs;
19
20
  /**
@@ -10,15 +10,16 @@ const MULTI_MAJOR_MODE_ENV = 'NX_MULTI_MAJOR_MODE';
10
10
  * CLI flag always wins, then `nx.json`, then the built-in default. Returns a new
11
11
  * args object; the input is not mutated.
12
12
  *
13
- * Phase-aware: generate-only options (`mode`, `multiMajorMode`) are applied only
13
+ * Phase-aware: generate-only options (`include`, `multiMajorMode`) are applied only
14
14
  * when not running migrations; run-only options (`createCommits`,
15
15
  * `commitPrefix`, `agentic`, `validate`) only when running migrations. This
16
16
  * mirrors where each option is consumed and avoids tripping the "cannot be
17
17
  * combined with --run-migrations" guards in `parseMigrationsOptions`.
18
18
  *
19
- * `mode` is carried as `modeFromConfig` rather than `mode` so it is never
20
- * mistaken for an explicit `--mode`: `resolveMode` applies it only when the
21
- * target is Nx itself, leaving `nx migrate <non-nx-pkg>` unaffected.
19
+ * `include` is carried as `includeFromConfig` rather than `include` so it is never
20
+ * mistaken for an explicit `--include`: `resolveInclude` applies it only when the
21
+ * resolved target supports optional updates, leaving targets that don't opt in
22
+ * unaffected.
22
23
  */
23
24
  function applyNxJsonMigrateDefaults(args, migrateConfig, env = process.env) {
24
25
  if (!migrateConfig) {
@@ -53,9 +54,9 @@ function applyNxJsonMigrateDefaults(args, migrateConfig, env = process.env) {
53
54
  }
54
55
  }
55
56
  else {
56
- if (merged.mode === undefined && migrateConfig.mode !== undefined) {
57
- assertOneOf(migrateConfig.mode, command_object_1.MIGRATE_MODES, 'mode');
58
- merged.modeFromConfig = migrateConfig.mode;
57
+ if (merged.include === undefined && migrateConfig.include !== undefined) {
58
+ assertOneOf(migrateConfig.include, command_object_1.MIGRATE_INCLUDE_VALUES, 'include');
59
+ merged.includeFromConfig = migrateConfig.include;
59
60
  }
60
61
  // The NX_MULTI_MAJOR_MODE env var is an established per-invocation override,
61
62
  // so it takes precedence over nx.json (CLI flag > env > nx.json > default).
@@ -2,6 +2,7 @@ import { MigrationsJson, PackageJsonUpdateForPackage as PackageUpdate } from '..
2
2
  import { NxJsonConfiguration } from '../../config/nx-json';
3
3
  import { FileChange } from '../../generators/tree';
4
4
  import { ArrayPackageGroup, PackageJson } from '../../utils/package-json';
5
+ import { PackageManagerCommands } from '../../utils/package-manager';
5
6
  import { type MultiMajorMode } from './multi-major';
6
7
  import type { AgenticArg } from './agentic/select';
7
8
  import type { ResolvedAgentic } from './agentic/types';
@@ -11,6 +12,8 @@ import { normalizeVersion } from './version-utils';
11
12
  export { normalizeVersion };
12
13
  export interface ResolvedMigrationConfiguration extends MigrationsJson {
13
14
  packageGroup?: ArrayPackageGroup;
15
+ /** Mirrors the package's `nx-migrations`/`ng-update` `supportsOptionalUpdates` flag. */
16
+ supportsOptionalUpdates?: boolean;
14
17
  /** Prompt file contents keyed by the `prompt` value as it appears on the migration entry. */
15
18
  resolvedPromptFiles?: Record<string, string>;
16
19
  }
@@ -20,7 +23,7 @@ type CommandFailure = {
20
23
  stdout?: string | Buffer;
21
24
  };
22
25
  export declare function formatCommandFailure(command: string, error: CommandFailure): string;
23
- export type MigrateMode = 'first-party' | 'third-party' | 'all';
26
+ export type MigrateInclude = 'required' | 'optional' | 'all';
24
27
  export interface MigratorOptions {
25
28
  packageJson?: PackageJson;
26
29
  nxInstallation?: NxJsonConfiguration['installation'];
@@ -36,13 +39,13 @@ export interface MigratorOptions {
36
39
  excludeAppliedMigrations?: boolean;
37
40
  /**
38
41
  * Restricts `packageJsonUpdates` filtering based on the value:
39
- * - 'first-party' keeps only packages in `firstPartyPackages`
40
- * - 'third-party' keeps only packages NOT in `firstPartyPackages`
42
+ * - 'required' keeps only packages in `requiredPackages`
43
+ * - 'optional' keeps only packages NOT in `requiredPackages`
41
44
  * - 'all' / undefined keeps all packages (no filtering)
42
45
  */
43
- mode?: MigrateMode;
44
- /** First-party package names used by `mode` for filtering. */
45
- firstPartyPackages?: ReadonlySet<string>;
46
+ include?: MigrateInclude;
47
+ /** Packages in the `required` partition; `include` filters against this set. */
48
+ requiredPackages?: ReadonlySet<string>;
46
49
  }
47
50
  export declare class Migrator {
48
51
  private readonly packageJson?;
@@ -52,8 +55,8 @@ export declare class Migrator {
52
55
  private readonly to;
53
56
  private readonly interactive;
54
57
  private readonly excludeAppliedMigrations;
55
- private readonly mode;
56
- private readonly firstPartyPackages;
58
+ private readonly include;
59
+ private readonly requiredPackages;
57
60
  private readonly packageUpdates;
58
61
  private readonly collectedVersions;
59
62
  private readonly promptAnswers;
@@ -92,7 +95,7 @@ export declare class Migrator {
92
95
  private getPackageJsonUpdatesFromPackageGroup;
93
96
  private filterPackageJsonUpdates;
94
97
  private shouldExcludePackage;
95
- private applyModeFilter;
98
+ private applyIncludeFilter;
96
99
  private shouldApplyPackageUpdate;
97
100
  private validatePackageUpdateVersion;
98
101
  private addPackageUpdate;
@@ -112,17 +115,14 @@ export declare class Migrator {
112
115
  * The canonical Nx package for a given target version: `@nrwl/workspace` for
113
116
  * legacy (`< 14.0.0-beta.0`), `nx` otherwise. Non-semver inputs (e.g. the
114
117
  * literal `'latest'` sentinel before tag resolution) resolve to modern era.
115
- * Used by `--mode=third-party` to silently swap `@nx/workspace` → `nx` when
116
- * walking the cascade.
117
118
  */
118
119
  export declare function resolveCanonicalNxPackage(targetVersion: string): 'nx' | '@nrwl/workspace';
119
- export declare function resolveMode(mode: MigrateMode | undefined, targetPackage: string, targetVersion: string, context?: {
120
+ export declare function resolveInclude(include: MigrateInclude | undefined, context: {
120
121
  hasFrom: boolean;
121
122
  hasExcludeAppliedMigrations: boolean;
122
- installedMajor?: number | null;
123
- isV23Plus?: boolean;
124
123
  interactive?: boolean;
125
- }, configuredMode?: MigrateMode): Promise<MigrateMode>;
124
+ targetSupportsOptionalUpdates: boolean;
125
+ }, configuredInclude?: MigrateInclude): Promise<MigrateInclude>;
126
126
  type GenerateMigrations = {
127
127
  type: 'generateMigrations';
128
128
  targetPackage: string;
@@ -135,7 +135,7 @@ type GenerateMigrations = {
135
135
  };
136
136
  interactive?: boolean;
137
137
  excludeAppliedMigrations?: boolean;
138
- mode: MigrateMode;
138
+ include: MigrateInclude;
139
139
  /**
140
140
  * Set when multi-major redirected `targetVersion` to an incremental step
141
141
  * (gradual mode or the interactive prompt picking a smaller jump). Holds
@@ -159,7 +159,8 @@ type RunMigrations = {
159
159
  };
160
160
  export declare function parseMigrationsOptions(options: {
161
161
  [k: string]: any;
162
- }): Promise<GenerateMigrations | RunMigrations>;
162
+ }, fetch?: MigratorOptions['fetch']): Promise<GenerateMigrations | RunMigrations>;
163
+ export declare function createFetcher(pmc: PackageManagerCommands): (packageName: string, packageVersion: string) => Promise<ResolvedMigrationConfiguration>;
163
164
  export { filterDowngradedUpdates };
164
165
  /**
165
166
  * Detects npm peer-dependency resolution failures. Keyed on the `ERESOLVE`