@strapi/upgrade 5.17.0 → 5.18.0

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.
@@ -1 +1 @@
1
- {"version":3,"file":"package.d.ts","sourceRoot":"","sources":["../../../src/modules/npm/package.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,OAAO,IAAI,gBAAgB,EAAc,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAC1F,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAE1C,qBAAa,OAAQ,YAAW,gBAAgB;IAC9C,IAAI,EAAE,MAAM,CAAC;IAEb,UAAU,EAAE,MAAM,CAAC;IAEnB,OAAO,CAAC,UAAU,CAAoB;gBAE1B,IAAI,EAAE,MAAM;IAMxB,IAAI,QAAQ,YAEX;IAED,OAAO,CAAC,qBAAqB;IAI7B,eAAe;IAMf,iBAAiB;IAMjB,mBAAmB,CAAC,KAAK,EAAE,OAAO,CAAC,KAAK;IAcxC,WAAW,CAAC,OAAO,EAAE,OAAO,CAAC,MAAM,GAAG,iBAAiB,GAAG,SAAS;IAM7D,OAAO;IAWb,aAAa,CAAC,OAAO,EAAE,OAAO,CAAC,MAAM;CAGtC;AAED,eAAO,MAAM,iBAAiB,SAAU,MAAM,YAAsB,CAAC"}
1
+ {"version":3,"file":"package.d.ts","sourceRoot":"","sources":["../../../src/modules/npm/package.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,OAAO,IAAI,gBAAgB,EAAc,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAC1F,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAK1C,qBAAa,OAAQ,YAAW,gBAAgB;IAC9C,IAAI,EAAE,MAAM,CAAC;IAEb,UAAU,EAAE,MAAM,CAAC;IAEnB,OAAO,CAAC,UAAU,CAAoB;gBAE1B,IAAI,EAAE,MAAM;IAMxB,IAAI,QAAQ,YAEX;IAED,OAAO,CAAC,qBAAqB;IAI7B,eAAe;IAMf,iBAAiB;IAMjB,mBAAmB,CAAC,KAAK,EAAE,OAAO,CAAC,KAAK;IAcxC,WAAW,CAAC,OAAO,EAAE,OAAO,CAAC,MAAM,GAAG,iBAAiB,GAAG,SAAS;IAM7D,OAAO;IAcb,aAAa,CAAC,OAAO,EAAE,OAAO,CAAC,MAAM;CAGtC;AAED,eAAO,MAAM,iBAAiB,SAAU,MAAM,YAAsB,CAAC"}
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var version = "5.17.0";
3
+ var version = "5.18.0";
4
4
 
5
5
  exports.version = version;
6
6
  //# sourceMappingURL=package.json.js.map
@@ -1,4 +1,4 @@
1
- var version = "5.17.0";
1
+ var version = "5.18.0";
2
2
 
3
3
  export { version };
4
4
  //# sourceMappingURL=package.json.mjs.map
@@ -8,6 +8,7 @@ var errors = require('../errors.js');
8
8
  require('node:path');
9
9
  require('cli-table3');
10
10
  require('chalk');
11
+ require('../../modules/npm/package.js');
11
12
  require('node:assert');
12
13
  require('fs-extra');
13
14
  require('fast-glob');
@@ -1 +1 @@
1
- {"version":3,"file":"codemods.js","sources":["../../../../src/cli/commands/codemods.ts"],"sourcesContent":["import prompts from 'prompts';\n\nimport type { Command } from 'commander';\nimport { loggerFactory } from '../../modules/logger';\nimport { Version } from '../../modules/version';\nimport { handleError } from '../errors';\nimport * as tasks from '../../tasks';\nimport { debugOption, dryOption, projectPathOption, rangeOption, silentOption } from '../options';\n\nimport type {\n CLIListCodemodsOptions,\n CLIRunCodemodsOptions,\n ListCodemodsCommand,\n RunCodemodsCommand,\n} from '../types';\nimport type { Codemod } from '../../modules/codemod';\n\nconst DEFAULT_TARGET = Version.ReleaseType.Major;\n\nexport const runCodemods: RunCodemodsCommand = async (options) => {\n const { silent, debug } = options;\n const logger = loggerFactory({ silent, debug });\n\n logger.warn(\n \"Please make sure you've created a backup of your codebase and files before running the codemods\"\n );\n\n const confirm = async (message: string) => {\n const { confirm } = await prompts({\n name: 'confirm',\n type: 'confirm',\n message,\n });\n\n // If confirm is undefined (Ctrl + C), default to false\n return confirm ?? false;\n };\n\n const selectCodemods = async (codemods: Codemod.VersionedCollection[]) => {\n const selectableCodemods = codemods\n .map(({ version, codemods }) =>\n codemods.map((codemod) => ({\n title: `(${version}) ${codemod.format()}`,\n value: codemod,\n selected: true,\n }))\n )\n .flat();\n\n if (selectableCodemods.length === 0) {\n logger.info('No codemods to run');\n return [];\n }\n\n const { selectedCodemods }: { selectedCodemods: Codemod.Codemod[] } = await prompts({\n type: 'autocompleteMultiselect',\n name: 'selectedCodemods',\n message: 'Choose the codemods you would like to run:',\n choices: selectableCodemods,\n });\n\n if (!selectedCodemods || selectedCodemods.length === 0) {\n logger.info('No codemods selected');\n return [];\n }\n\n return selectedCodemods.map<Codemod.VersionedCollection>((codemod) => ({\n version: codemod.version,\n codemods: [codemod],\n }));\n };\n\n return tasks\n .runCodemods({\n logger,\n confirm,\n selectCodemods,\n dry: options.dry,\n cwd: options.projectPath,\n target: options.range ?? DEFAULT_TARGET,\n uid: options.uid,\n })\n .catch((err) => handleError(err, options.silent));\n};\n\nexport const listCodemods: ListCodemodsCommand = async (options) => {\n const { silent, debug } = options;\n const logger = loggerFactory({ silent, debug });\n\n return tasks\n .listCodemods({\n cwd: options.projectPath,\n target: options.range ?? DEFAULT_TARGET,\n logger,\n })\n .catch((err) => handleError(err, options.silent));\n};\n\n/**\n * Registers codemods related commands.\n */\nexport const register = (program: Command) => {\n const codemodsCommand = program.command('codemods');\n\n // upgrade codemods run [options] [uid]\n codemodsCommand\n .command('run [uid]')\n .description(\n `\nExecutes a set of codemods on the current project.\n\nIf the optional UID argument is provided, the command specifically runs the codemod associated with that UID.\nWithout the UID, the command produces a list of all available codemods for your project.\n\nBy default, when executed on a Strapi application project, it offers codemods matching the current major version of the app.\nWhen executed on a Strapi plugin project, it shows every codemods.\n`\n )\n .addOption(projectPathOption)\n .addOption(dryOption)\n .addOption(debugOption)\n .addOption(silentOption)\n .addOption(rangeOption)\n .action(async (uid: string | undefined, options: CLIRunCodemodsOptions) => {\n return runCodemods({ ...options, uid });\n });\n\n // upgrade codemods ls [options]\n codemodsCommand\n .command('ls')\n .description(`List available codemods`)\n .addOption(projectPathOption)\n .addOption(debugOption)\n .addOption(silentOption)\n .addOption(rangeOption)\n .action(async (options: CLIListCodemodsOptions) => {\n return listCodemods(options);\n });\n};\n"],"names":["DEFAULT_TARGET","Version","Major","runCodemods","options","silent","debug","logger","loggerFactory","warn","confirm","message","prompts","name","type","selectCodemods","codemods","selectableCodemods","map","version","codemod","title","format","value","selected","flat","length","info","selectedCodemods","choices","tasks","dry","cwd","projectPath","target","range","uid","catch","err","handleError","listCodemods","register","program","codemodsCommand","command","description","addOption","projectPathOption","dryOption","debugOption","silentOption","rangeOption","action"],"mappings":"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"}
1
+ {"version":3,"file":"codemods.js","sources":["../../../../src/cli/commands/codemods.ts"],"sourcesContent":["import prompts from 'prompts';\n\nimport type { Command } from 'commander';\nimport { loggerFactory } from '../../modules/logger';\nimport { Version } from '../../modules/version';\nimport { handleError } from '../errors';\nimport * as tasks from '../../tasks';\nimport { debugOption, dryOption, projectPathOption, rangeOption, silentOption } from '../options';\n\nimport type {\n CLIListCodemodsOptions,\n CLIRunCodemodsOptions,\n ListCodemodsCommand,\n RunCodemodsCommand,\n} from '../types';\nimport type { Codemod } from '../../modules/codemod';\n\nconst DEFAULT_TARGET = Version.ReleaseType.Major;\n\nexport const runCodemods: RunCodemodsCommand = async (options) => {\n const { silent, debug } = options;\n const logger = loggerFactory({ silent, debug });\n\n logger.warn(\n \"Please make sure you've created a backup of your codebase and files before running the codemods\"\n );\n\n const confirm = async (message: string) => {\n const { confirm } = await prompts({\n name: 'confirm',\n type: 'confirm',\n message,\n });\n\n // If confirm is undefined (Ctrl + C), default to false\n return confirm ?? false;\n };\n\n const selectCodemods = async (codemods: Codemod.VersionedCollection[]) => {\n const selectableCodemods = codemods\n .map(({ version, codemods }) =>\n codemods.map((codemod) => ({\n title: `(${version}) ${codemod.format()}`,\n value: codemod,\n selected: true,\n }))\n )\n .flat();\n\n if (selectableCodemods.length === 0) {\n logger.info('No codemods to run');\n return [];\n }\n\n const { selectedCodemods }: { selectedCodemods: Codemod.Codemod[] } = await prompts({\n type: 'autocompleteMultiselect',\n name: 'selectedCodemods',\n message: 'Choose the codemods you would like to run:',\n choices: selectableCodemods,\n });\n\n if (!selectedCodemods || selectedCodemods.length === 0) {\n logger.info('No codemods selected');\n return [];\n }\n\n return selectedCodemods.map<Codemod.VersionedCollection>((codemod) => ({\n version: codemod.version,\n codemods: [codemod],\n }));\n };\n\n return tasks\n .runCodemods({\n logger,\n confirm,\n selectCodemods,\n dry: options.dry,\n cwd: options.projectPath,\n target: options.range ?? DEFAULT_TARGET,\n uid: options.uid,\n })\n .catch((err) => handleError(err, options.silent));\n};\n\nexport const listCodemods: ListCodemodsCommand = async (options) => {\n const { silent, debug } = options;\n const logger = loggerFactory({ silent, debug });\n\n return tasks\n .listCodemods({\n cwd: options.projectPath,\n target: options.range ?? DEFAULT_TARGET,\n logger,\n })\n .catch((err) => handleError(err, options.silent));\n};\n\n/**\n * Registers codemods related commands.\n */\nexport const register = (program: Command) => {\n const codemodsCommand = program.command('codemods');\n\n // upgrade codemods run [options] [uid]\n codemodsCommand\n .command('run [uid]')\n .description(\n `\nExecutes a set of codemods on the current project.\n\nIf the optional UID argument is provided, the command specifically runs the codemod associated with that UID.\nWithout the UID, the command produces a list of all available codemods for your project.\n\nBy default, when executed on a Strapi application project, it offers codemods matching the current major version of the app.\nWhen executed on a Strapi plugin project, it shows every codemods.\n`\n )\n .addOption(projectPathOption)\n .addOption(dryOption)\n .addOption(debugOption)\n .addOption(silentOption)\n .addOption(rangeOption)\n .action(async (uid: string | undefined, options: CLIRunCodemodsOptions) => {\n return runCodemods({ ...options, uid });\n });\n\n // upgrade codemods ls [options]\n codemodsCommand\n .command('ls')\n .description(`List available codemods`)\n .addOption(projectPathOption)\n .addOption(debugOption)\n .addOption(silentOption)\n .addOption(rangeOption)\n .action(async (options: CLIListCodemodsOptions) => {\n return listCodemods(options);\n });\n};\n"],"names":["DEFAULT_TARGET","Version","Major","runCodemods","options","silent","debug","logger","loggerFactory","warn","confirm","message","prompts","name","type","selectCodemods","codemods","selectableCodemods","map","version","codemod","title","format","value","selected","flat","length","info","selectedCodemods","choices","tasks","dry","cwd","projectPath","target","range","uid","catch","err","handleError","listCodemods","register","program","codemodsCommand","command","description","addOption","projectPathOption","dryOption","debugOption","silentOption","rangeOption","action"],"mappings":"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"}
@@ -6,6 +6,7 @@ import { handleError } from '../errors.mjs';
6
6
  import 'node:path';
7
7
  import 'cli-table3';
8
8
  import 'chalk';
9
+ import '../../modules/npm/package.mjs';
9
10
  import 'node:assert';
10
11
  import 'fs-extra';
11
12
  import 'fast-glob';
@@ -1 +1 @@
1
- {"version":3,"file":"codemods.mjs","sources":["../../../../src/cli/commands/codemods.ts"],"sourcesContent":["import prompts from 'prompts';\n\nimport type { Command } from 'commander';\nimport { loggerFactory } from '../../modules/logger';\nimport { Version } from '../../modules/version';\nimport { handleError } from '../errors';\nimport * as tasks from '../../tasks';\nimport { debugOption, dryOption, projectPathOption, rangeOption, silentOption } from '../options';\n\nimport type {\n CLIListCodemodsOptions,\n CLIRunCodemodsOptions,\n ListCodemodsCommand,\n RunCodemodsCommand,\n} from '../types';\nimport type { Codemod } from '../../modules/codemod';\n\nconst DEFAULT_TARGET = Version.ReleaseType.Major;\n\nexport const runCodemods: RunCodemodsCommand = async (options) => {\n const { silent, debug } = options;\n const logger = loggerFactory({ silent, debug });\n\n logger.warn(\n \"Please make sure you've created a backup of your codebase and files before running the codemods\"\n );\n\n const confirm = async (message: string) => {\n const { confirm } = await prompts({\n name: 'confirm',\n type: 'confirm',\n message,\n });\n\n // If confirm is undefined (Ctrl + C), default to false\n return confirm ?? false;\n };\n\n const selectCodemods = async (codemods: Codemod.VersionedCollection[]) => {\n const selectableCodemods = codemods\n .map(({ version, codemods }) =>\n codemods.map((codemod) => ({\n title: `(${version}) ${codemod.format()}`,\n value: codemod,\n selected: true,\n }))\n )\n .flat();\n\n if (selectableCodemods.length === 0) {\n logger.info('No codemods to run');\n return [];\n }\n\n const { selectedCodemods }: { selectedCodemods: Codemod.Codemod[] } = await prompts({\n type: 'autocompleteMultiselect',\n name: 'selectedCodemods',\n message: 'Choose the codemods you would like to run:',\n choices: selectableCodemods,\n });\n\n if (!selectedCodemods || selectedCodemods.length === 0) {\n logger.info('No codemods selected');\n return [];\n }\n\n return selectedCodemods.map<Codemod.VersionedCollection>((codemod) => ({\n version: codemod.version,\n codemods: [codemod],\n }));\n };\n\n return tasks\n .runCodemods({\n logger,\n confirm,\n selectCodemods,\n dry: options.dry,\n cwd: options.projectPath,\n target: options.range ?? DEFAULT_TARGET,\n uid: options.uid,\n })\n .catch((err) => handleError(err, options.silent));\n};\n\nexport const listCodemods: ListCodemodsCommand = async (options) => {\n const { silent, debug } = options;\n const logger = loggerFactory({ silent, debug });\n\n return tasks\n .listCodemods({\n cwd: options.projectPath,\n target: options.range ?? DEFAULT_TARGET,\n logger,\n })\n .catch((err) => handleError(err, options.silent));\n};\n\n/**\n * Registers codemods related commands.\n */\nexport const register = (program: Command) => {\n const codemodsCommand = program.command('codemods');\n\n // upgrade codemods run [options] [uid]\n codemodsCommand\n .command('run [uid]')\n .description(\n `\nExecutes a set of codemods on the current project.\n\nIf the optional UID argument is provided, the command specifically runs the codemod associated with that UID.\nWithout the UID, the command produces a list of all available codemods for your project.\n\nBy default, when executed on a Strapi application project, it offers codemods matching the current major version of the app.\nWhen executed on a Strapi plugin project, it shows every codemods.\n`\n )\n .addOption(projectPathOption)\n .addOption(dryOption)\n .addOption(debugOption)\n .addOption(silentOption)\n .addOption(rangeOption)\n .action(async (uid: string | undefined, options: CLIRunCodemodsOptions) => {\n return runCodemods({ ...options, uid });\n });\n\n // upgrade codemods ls [options]\n codemodsCommand\n .command('ls')\n .description(`List available codemods`)\n .addOption(projectPathOption)\n .addOption(debugOption)\n .addOption(silentOption)\n .addOption(rangeOption)\n .action(async (options: CLIListCodemodsOptions) => {\n return listCodemods(options);\n });\n};\n"],"names":["DEFAULT_TARGET","Version","Major","runCodemods","options","silent","debug","logger","loggerFactory","warn","confirm","message","prompts","name","type","selectCodemods","codemods","selectableCodemods","map","version","codemod","title","format","value","selected","flat","length","info","selectedCodemods","choices","tasks","dry","cwd","projectPath","target","range","uid","catch","err","handleError","listCodemods","register","program","codemodsCommand","command","description","addOption","projectPathOption","dryOption","debugOption","silentOption","rangeOption","action"],"mappings":"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"}
1
+ {"version":3,"file":"codemods.mjs","sources":["../../../../src/cli/commands/codemods.ts"],"sourcesContent":["import prompts from 'prompts';\n\nimport type { Command } from 'commander';\nimport { loggerFactory } from '../../modules/logger';\nimport { Version } from '../../modules/version';\nimport { handleError } from '../errors';\nimport * as tasks from '../../tasks';\nimport { debugOption, dryOption, projectPathOption, rangeOption, silentOption } from '../options';\n\nimport type {\n CLIListCodemodsOptions,\n CLIRunCodemodsOptions,\n ListCodemodsCommand,\n RunCodemodsCommand,\n} from '../types';\nimport type { Codemod } from '../../modules/codemod';\n\nconst DEFAULT_TARGET = Version.ReleaseType.Major;\n\nexport const runCodemods: RunCodemodsCommand = async (options) => {\n const { silent, debug } = options;\n const logger = loggerFactory({ silent, debug });\n\n logger.warn(\n \"Please make sure you've created a backup of your codebase and files before running the codemods\"\n );\n\n const confirm = async (message: string) => {\n const { confirm } = await prompts({\n name: 'confirm',\n type: 'confirm',\n message,\n });\n\n // If confirm is undefined (Ctrl + C), default to false\n return confirm ?? false;\n };\n\n const selectCodemods = async (codemods: Codemod.VersionedCollection[]) => {\n const selectableCodemods = codemods\n .map(({ version, codemods }) =>\n codemods.map((codemod) => ({\n title: `(${version}) ${codemod.format()}`,\n value: codemod,\n selected: true,\n }))\n )\n .flat();\n\n if (selectableCodemods.length === 0) {\n logger.info('No codemods to run');\n return [];\n }\n\n const { selectedCodemods }: { selectedCodemods: Codemod.Codemod[] } = await prompts({\n type: 'autocompleteMultiselect',\n name: 'selectedCodemods',\n message: 'Choose the codemods you would like to run:',\n choices: selectableCodemods,\n });\n\n if (!selectedCodemods || selectedCodemods.length === 0) {\n logger.info('No codemods selected');\n return [];\n }\n\n return selectedCodemods.map<Codemod.VersionedCollection>((codemod) => ({\n version: codemod.version,\n codemods: [codemod],\n }));\n };\n\n return tasks\n .runCodemods({\n logger,\n confirm,\n selectCodemods,\n dry: options.dry,\n cwd: options.projectPath,\n target: options.range ?? DEFAULT_TARGET,\n uid: options.uid,\n })\n .catch((err) => handleError(err, options.silent));\n};\n\nexport const listCodemods: ListCodemodsCommand = async (options) => {\n const { silent, debug } = options;\n const logger = loggerFactory({ silent, debug });\n\n return tasks\n .listCodemods({\n cwd: options.projectPath,\n target: options.range ?? DEFAULT_TARGET,\n logger,\n })\n .catch((err) => handleError(err, options.silent));\n};\n\n/**\n * Registers codemods related commands.\n */\nexport const register = (program: Command) => {\n const codemodsCommand = program.command('codemods');\n\n // upgrade codemods run [options] [uid]\n codemodsCommand\n .command('run [uid]')\n .description(\n `\nExecutes a set of codemods on the current project.\n\nIf the optional UID argument is provided, the command specifically runs the codemod associated with that UID.\nWithout the UID, the command produces a list of all available codemods for your project.\n\nBy default, when executed on a Strapi application project, it offers codemods matching the current major version of the app.\nWhen executed on a Strapi plugin project, it shows every codemods.\n`\n )\n .addOption(projectPathOption)\n .addOption(dryOption)\n .addOption(debugOption)\n .addOption(silentOption)\n .addOption(rangeOption)\n .action(async (uid: string | undefined, options: CLIRunCodemodsOptions) => {\n return runCodemods({ ...options, uid });\n });\n\n // upgrade codemods ls [options]\n codemodsCommand\n .command('ls')\n .description(`List available codemods`)\n .addOption(projectPathOption)\n .addOption(debugOption)\n .addOption(silentOption)\n .addOption(rangeOption)\n .action(async (options: CLIListCodemodsOptions) => {\n return listCodemods(options);\n });\n};\n"],"names":["DEFAULT_TARGET","Version","Major","runCodemods","options","silent","debug","logger","loggerFactory","warn","confirm","message","prompts","name","type","selectCodemods","codemods","selectableCodemods","map","version","codemod","title","format","value","selected","flat","length","info","selectedCodemods","choices","tasks","dry","cwd","projectPath","target","range","uid","catch","err","handleError","listCodemods","register","program","codemodsCommand","command","description","addOption","projectPathOption","dryOption","debugOption","silentOption","rangeOption","action"],"mappings":"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"}
@@ -2,10 +2,13 @@
2
2
 
3
3
  var assert = require('node:assert');
4
4
  var semver$1 = require('semver');
5
+ var undici = require('undici');
5
6
  var constants = require('./constants.js');
6
7
  var semver = require('../version/semver.js');
7
8
  require('../version/types.js');
8
9
 
10
+ const proxyUrl = process.env.HTTP_PROXY || process.env.HTTPS_PROXY;
11
+ const agent = proxyUrl ? new undici.ProxyAgent(proxyUrl) : undefined;
9
12
  class Package {
10
13
  get isLoaded() {
11
14
  return this.npmPackage !== null;
@@ -33,7 +36,10 @@ class Package {
33
36
  return versions.find((npmVersion)=>semver$1.eq(npmVersion.version, version));
34
37
  }
35
38
  async refresh() {
36
- const response = await fetch(this.packageURL);
39
+ const response = await fetch(this.packageURL, {
40
+ // @ts-expect-error Node.js fetch supports dispatcher (undici extension)
41
+ dispatcher: agent
42
+ });
37
43
  // TODO: Use a validation library to make sure the response structure is correct
38
44
  assert(response.ok, `Request failed for ${this.packageURL}`);
39
45
  this.npmPackage = await response.json();
@@ -1 +1 @@
1
- {"version":3,"file":"package.js","sources":["../../../../src/modules/npm/package.ts"],"sourcesContent":["import assert from 'node:assert';\nimport semver from 'semver';\n\nimport * as constants from './constants';\nimport { isLiteralSemVer } from '../version';\n\nimport type { Package as PackageInterface, NPMPackage, NPMPackageVersion } from './types';\nimport type { Version } from '../version';\n\nexport class Package implements PackageInterface {\n name: string;\n\n packageURL: string;\n\n private npmPackage: NPMPackage | null;\n\n constructor(name: string) {\n this.name = name;\n this.packageURL = `${constants.NPM_REGISTRY_URL}/${name}`;\n this.npmPackage = null;\n }\n\n get isLoaded() {\n return this.npmPackage !== null;\n }\n\n private assertPackageIsLoaded(npmPackage: NPMPackage | null): asserts npmPackage is NPMPackage {\n assert(this.isLoaded, 'The package is not loaded yet');\n }\n\n getVersionsDict() {\n this.assertPackageIsLoaded(this.npmPackage);\n\n return this.npmPackage.versions;\n }\n\n getVersionsAsList() {\n this.assertPackageIsLoaded(this.npmPackage);\n\n return Object.values(this.npmPackage.versions);\n }\n\n findVersionsInRange(range: Version.Range) {\n const versions = this.getVersionsAsList();\n\n return (\n versions\n // Only select versions matching the upgrade range\n .filter((v) => range.test(v.version))\n // Only select supported version format (x.x.x)\n .filter((v) => isLiteralSemVer(v.version))\n // Sort in ascending order\n .sort((v1, v2) => semver.compare(v1.version, v2.version))\n );\n }\n\n findVersion(version: Version.SemVer): NPMPackageVersion | undefined {\n const versions = this.getVersionsAsList();\n\n return versions.find((npmVersion) => semver.eq(npmVersion.version, version));\n }\n\n async refresh() {\n const response = await fetch(this.packageURL);\n\n // TODO: Use a validation library to make sure the response structure is correct\n assert(response.ok, `Request failed for ${this.packageURL}`);\n\n this.npmPackage = await response.json();\n\n return this;\n }\n\n versionExists(version: Version.SemVer) {\n return this.findVersion(version) !== undefined;\n }\n}\n\nexport const npmPackageFactory = (name: string) => new Package(name);\n"],"names":["Package","isLoaded","npmPackage","assertPackageIsLoaded","assert","getVersionsDict","versions","getVersionsAsList","Object","values","findVersionsInRange","range","filter","v","test","version","isLiteralSemVer","sort","v1","v2","semver","compare","findVersion","find","npmVersion","eq","refresh","response","fetch","packageURL","ok","json","versionExists","undefined","constructor","name","constants","npmPackageFactory"],"mappings":";;;;;;;;AASO,MAAMA,OAAAA,CAAAA;AAaX,IAAA,IAAIC,QAAW,GAAA;QACb,OAAO,IAAI,CAACC,UAAU,KAAK,IAAA;AAC7B;AAEQC,IAAAA,qBAAAA,CAAsBD,UAA6B,EAAoC;QAC7FE,MAAO,CAAA,IAAI,CAACH,QAAQ,EAAE,+BAAA,CAAA;AACxB;IAEAI,eAAkB,GAAA;AAChB,QAAA,IAAI,CAACF,qBAAqB,CAAC,IAAI,CAACD,UAAU,CAAA;AAE1C,QAAA,OAAO,IAAI,CAACA,UAAU,CAACI,QAAQ;AACjC;IAEAC,iBAAoB,GAAA;AAClB,QAAA,IAAI,CAACJ,qBAAqB,CAAC,IAAI,CAACD,UAAU,CAAA;AAE1C,QAAA,OAAOM,OAAOC,MAAM,CAAC,IAAI,CAACP,UAAU,CAACI,QAAQ,CAAA;AAC/C;AAEAI,IAAAA,mBAAAA,CAAoBC,KAAoB,EAAE;QACxC,MAAML,QAAAA,GAAW,IAAI,CAACC,iBAAiB,EAAA;AAEvC,QAAA,OACED,QACE;SACCM,MAAM,CAAC,CAACC,CAAMF,GAAAA,KAAAA,CAAMG,IAAI,CAACD,CAAAA,CAAEE,OAAO,CAAA,CACnC;AACCH,SAAAA,MAAM,CAAC,CAACC,CAAAA,GAAMG,uBAAgBH,CAAEE,CAAAA,OAAO,EACxC;SACCE,IAAI,CAAC,CAACC,EAAAA,EAAIC,EAAOC,GAAAA,QAAAA,CAAOC,OAAO,CAACH,EAAGH,CAAAA,OAAO,EAAEI,EAAAA,CAAGJ,OAAO,CAAA,CAAA;AAE7D;AAEAO,IAAAA,WAAAA,CAAYP,OAAuB,EAAiC;QAClE,MAAMT,QAAAA,GAAW,IAAI,CAACC,iBAAiB,EAAA;QAEvC,OAAOD,QAAAA,CAASiB,IAAI,CAAC,CAACC,UAAAA,GAAeJ,SAAOK,EAAE,CAACD,UAAWT,CAAAA,OAAO,EAAEA,OAAAA,CAAAA,CAAAA;AACrE;AAEA,IAAA,MAAMW,OAAU,GAAA;AACd,QAAA,MAAMC,QAAW,GAAA,MAAMC,KAAM,CAAA,IAAI,CAACC,UAAU,CAAA;;QAG5CzB,MAAOuB,CAAAA,QAAAA,CAASG,EAAE,EAAE,CAAC,mBAAmB,EAAE,IAAI,CAACD,UAAU,CAAC,CAAC,CAAA;AAE3D,QAAA,IAAI,CAAC3B,UAAU,GAAG,MAAMyB,SAASI,IAAI,EAAA;AAErC,QAAA,OAAO,IAAI;AACb;AAEAC,IAAAA,aAAAA,CAAcjB,OAAuB,EAAE;AACrC,QAAA,OAAO,IAAI,CAACO,WAAW,CAACP,OAAakB,CAAAA,KAAAA,SAAAA;AACvC;AA3DAC,IAAAA,WAAAA,CAAYC,IAAY,CAAE;QACxB,IAAI,CAACA,IAAI,GAAGA,IAAAA;QACZ,IAAI,CAACN,UAAU,GAAG,CAAC,EAAEO,0BAA0B,CAAC,CAAC,EAAED,IAAAA,CAAK,CAAC;QACzD,IAAI,CAACjC,UAAU,GAAG,IAAA;AACpB;AAwDF;MAEamC,iBAAoB,GAAA,CAACF,IAAiB,GAAA,IAAInC,QAAQmC,IAAM;;;;;"}
1
+ {"version":3,"file":"package.js","sources":["../../../../src/modules/npm/package.ts"],"sourcesContent":["import assert from 'node:assert';\nimport semver from 'semver';\n\nimport { ProxyAgent } from 'undici';\nimport * as constants from './constants';\nimport { isLiteralSemVer } from '../version';\n\nimport type { Package as PackageInterface, NPMPackage, NPMPackageVersion } from './types';\nimport type { Version } from '../version';\n\nconst proxyUrl = process.env.HTTP_PROXY || process.env.HTTPS_PROXY;\nconst agent = proxyUrl ? new ProxyAgent(proxyUrl) : undefined;\n\nexport class Package implements PackageInterface {\n name: string;\n\n packageURL: string;\n\n private npmPackage: NPMPackage | null;\n\n constructor(name: string) {\n this.name = name;\n this.packageURL = `${constants.NPM_REGISTRY_URL}/${name}`;\n this.npmPackage = null;\n }\n\n get isLoaded() {\n return this.npmPackage !== null;\n }\n\n private assertPackageIsLoaded(npmPackage: NPMPackage | null): asserts npmPackage is NPMPackage {\n assert(this.isLoaded, 'The package is not loaded yet');\n }\n\n getVersionsDict() {\n this.assertPackageIsLoaded(this.npmPackage);\n\n return this.npmPackage.versions;\n }\n\n getVersionsAsList() {\n this.assertPackageIsLoaded(this.npmPackage);\n\n return Object.values(this.npmPackage.versions);\n }\n\n findVersionsInRange(range: Version.Range) {\n const versions = this.getVersionsAsList();\n\n return (\n versions\n // Only select versions matching the upgrade range\n .filter((v) => range.test(v.version))\n // Only select supported version format (x.x.x)\n .filter((v) => isLiteralSemVer(v.version))\n // Sort in ascending order\n .sort((v1, v2) => semver.compare(v1.version, v2.version))\n );\n }\n\n findVersion(version: Version.SemVer): NPMPackageVersion | undefined {\n const versions = this.getVersionsAsList();\n\n return versions.find((npmVersion) => semver.eq(npmVersion.version, version));\n }\n\n async refresh() {\n const response = await fetch(this.packageURL, {\n // @ts-expect-error Node.js fetch supports dispatcher (undici extension)\n dispatcher: agent,\n });\n\n // TODO: Use a validation library to make sure the response structure is correct\n assert(response.ok, `Request failed for ${this.packageURL}`);\n\n this.npmPackage = (await response.json()) as NPMPackage;\n\n return this;\n }\n\n versionExists(version: Version.SemVer) {\n return this.findVersion(version) !== undefined;\n }\n}\n\nexport const npmPackageFactory = (name: string) => new Package(name);\n"],"names":["proxyUrl","process","env","HTTP_PROXY","HTTPS_PROXY","agent","ProxyAgent","undefined","Package","isLoaded","npmPackage","assertPackageIsLoaded","assert","getVersionsDict","versions","getVersionsAsList","Object","values","findVersionsInRange","range","filter","v","test","version","isLiteralSemVer","sort","v1","v2","semver","compare","findVersion","find","npmVersion","eq","refresh","response","fetch","packageURL","dispatcher","ok","json","versionExists","constructor","name","constants","npmPackageFactory"],"mappings":";;;;;;;;;AAUA,MAAMA,QAAAA,GAAWC,QAAQC,GAAG,CAACC,UAAU,IAAIF,OAAAA,CAAQC,GAAG,CAACE,WAAW;AAClE,MAAMC,KAAQL,GAAAA,QAAAA,GAAW,IAAIM,iBAAAA,CAAWN,QAAYO,CAAAA,GAAAA,SAAAA;AAE7C,MAAMC,OAAAA,CAAAA;AAaX,IAAA,IAAIC,QAAW,GAAA;QACb,OAAO,IAAI,CAACC,UAAU,KAAK,IAAA;AAC7B;AAEQC,IAAAA,qBAAAA,CAAsBD,UAA6B,EAAoC;QAC7FE,MAAO,CAAA,IAAI,CAACH,QAAQ,EAAE,+BAAA,CAAA;AACxB;IAEAI,eAAkB,GAAA;AAChB,QAAA,IAAI,CAACF,qBAAqB,CAAC,IAAI,CAACD,UAAU,CAAA;AAE1C,QAAA,OAAO,IAAI,CAACA,UAAU,CAACI,QAAQ;AACjC;IAEAC,iBAAoB,GAAA;AAClB,QAAA,IAAI,CAACJ,qBAAqB,CAAC,IAAI,CAACD,UAAU,CAAA;AAE1C,QAAA,OAAOM,OAAOC,MAAM,CAAC,IAAI,CAACP,UAAU,CAACI,QAAQ,CAAA;AAC/C;AAEAI,IAAAA,mBAAAA,CAAoBC,KAAoB,EAAE;QACxC,MAAML,QAAAA,GAAW,IAAI,CAACC,iBAAiB,EAAA;AAEvC,QAAA,OACED,QACE;SACCM,MAAM,CAAC,CAACC,CAAMF,GAAAA,KAAAA,CAAMG,IAAI,CAACD,CAAAA,CAAEE,OAAO,CAAA,CACnC;AACCH,SAAAA,MAAM,CAAC,CAACC,CAAAA,GAAMG,uBAAgBH,CAAEE,CAAAA,OAAO,EACxC;SACCE,IAAI,CAAC,CAACC,EAAAA,EAAIC,EAAOC,GAAAA,QAAAA,CAAOC,OAAO,CAACH,EAAGH,CAAAA,OAAO,EAAEI,EAAAA,CAAGJ,OAAO,CAAA,CAAA;AAE7D;AAEAO,IAAAA,WAAAA,CAAYP,OAAuB,EAAiC;QAClE,MAAMT,QAAAA,GAAW,IAAI,CAACC,iBAAiB,EAAA;QAEvC,OAAOD,QAAAA,CAASiB,IAAI,CAAC,CAACC,UAAAA,GAAeJ,SAAOK,EAAE,CAACD,UAAWT,CAAAA,OAAO,EAAEA,OAAAA,CAAAA,CAAAA;AACrE;AAEA,IAAA,MAAMW,OAAU,GAAA;AACd,QAAA,MAAMC,WAAW,MAAMC,KAAAA,CAAM,IAAI,CAACC,UAAU,EAAE;;YAE5CC,UAAYjC,EAAAA;AACd,SAAA,CAAA;;QAGAO,MAAOuB,CAAAA,QAAAA,CAASI,EAAE,EAAE,CAAC,mBAAmB,EAAE,IAAI,CAACF,UAAU,CAAC,CAAC,CAAA;AAE3D,QAAA,IAAI,CAAC3B,UAAU,GAAI,MAAMyB,SAASK,IAAI,EAAA;AAEtC,QAAA,OAAO,IAAI;AACb;AAEAC,IAAAA,aAAAA,CAAclB,OAAuB,EAAE;AACrC,QAAA,OAAO,IAAI,CAACO,WAAW,CAACP,OAAahB,CAAAA,KAAAA,SAAAA;AACvC;AA9DAmC,IAAAA,WAAAA,CAAYC,IAAY,CAAE;QACxB,IAAI,CAACA,IAAI,GAAGA,IAAAA;QACZ,IAAI,CAACN,UAAU,GAAG,CAAC,EAAEO,0BAA0B,CAAC,CAAC,EAAED,IAAAA,CAAK,CAAC;QACzD,IAAI,CAACjC,UAAU,GAAG,IAAA;AACpB;AA2DF;MAEamC,iBAAoB,GAAA,CAACF,IAAiB,GAAA,IAAInC,QAAQmC,IAAM;;;;;"}
@@ -1,9 +1,12 @@
1
1
  import assert from 'node:assert';
2
2
  import semver from 'semver';
3
+ import { ProxyAgent } from 'undici';
3
4
  import { NPM_REGISTRY_URL } from './constants.mjs';
4
5
  import { isLiteralSemVer } from '../version/semver.mjs';
5
6
  import '../version/types.mjs';
6
7
 
8
+ const proxyUrl = process.env.HTTP_PROXY || process.env.HTTPS_PROXY;
9
+ const agent = proxyUrl ? new ProxyAgent(proxyUrl) : undefined;
7
10
  class Package {
8
11
  get isLoaded() {
9
12
  return this.npmPackage !== null;
@@ -31,7 +34,10 @@ class Package {
31
34
  return versions.find((npmVersion)=>semver.eq(npmVersion.version, version));
32
35
  }
33
36
  async refresh() {
34
- const response = await fetch(this.packageURL);
37
+ const response = await fetch(this.packageURL, {
38
+ // @ts-expect-error Node.js fetch supports dispatcher (undici extension)
39
+ dispatcher: agent
40
+ });
35
41
  // TODO: Use a validation library to make sure the response structure is correct
36
42
  assert(response.ok, `Request failed for ${this.packageURL}`);
37
43
  this.npmPackage = await response.json();
@@ -1 +1 @@
1
- {"version":3,"file":"package.mjs","sources":["../../../../src/modules/npm/package.ts"],"sourcesContent":["import assert from 'node:assert';\nimport semver from 'semver';\n\nimport * as constants from './constants';\nimport { isLiteralSemVer } from '../version';\n\nimport type { Package as PackageInterface, NPMPackage, NPMPackageVersion } from './types';\nimport type { Version } from '../version';\n\nexport class Package implements PackageInterface {\n name: string;\n\n packageURL: string;\n\n private npmPackage: NPMPackage | null;\n\n constructor(name: string) {\n this.name = name;\n this.packageURL = `${constants.NPM_REGISTRY_URL}/${name}`;\n this.npmPackage = null;\n }\n\n get isLoaded() {\n return this.npmPackage !== null;\n }\n\n private assertPackageIsLoaded(npmPackage: NPMPackage | null): asserts npmPackage is NPMPackage {\n assert(this.isLoaded, 'The package is not loaded yet');\n }\n\n getVersionsDict() {\n this.assertPackageIsLoaded(this.npmPackage);\n\n return this.npmPackage.versions;\n }\n\n getVersionsAsList() {\n this.assertPackageIsLoaded(this.npmPackage);\n\n return Object.values(this.npmPackage.versions);\n }\n\n findVersionsInRange(range: Version.Range) {\n const versions = this.getVersionsAsList();\n\n return (\n versions\n // Only select versions matching the upgrade range\n .filter((v) => range.test(v.version))\n // Only select supported version format (x.x.x)\n .filter((v) => isLiteralSemVer(v.version))\n // Sort in ascending order\n .sort((v1, v2) => semver.compare(v1.version, v2.version))\n );\n }\n\n findVersion(version: Version.SemVer): NPMPackageVersion | undefined {\n const versions = this.getVersionsAsList();\n\n return versions.find((npmVersion) => semver.eq(npmVersion.version, version));\n }\n\n async refresh() {\n const response = await fetch(this.packageURL);\n\n // TODO: Use a validation library to make sure the response structure is correct\n assert(response.ok, `Request failed for ${this.packageURL}`);\n\n this.npmPackage = await response.json();\n\n return this;\n }\n\n versionExists(version: Version.SemVer) {\n return this.findVersion(version) !== undefined;\n }\n}\n\nexport const npmPackageFactory = (name: string) => new Package(name);\n"],"names":["Package","isLoaded","npmPackage","assertPackageIsLoaded","assert","getVersionsDict","versions","getVersionsAsList","Object","values","findVersionsInRange","range","filter","v","test","version","isLiteralSemVer","sort","v1","v2","semver","compare","findVersion","find","npmVersion","eq","refresh","response","fetch","packageURL","ok","json","versionExists","undefined","constructor","name","constants","npmPackageFactory"],"mappings":";;;;;;AASO,MAAMA,OAAAA,CAAAA;AAaX,IAAA,IAAIC,QAAW,GAAA;QACb,OAAO,IAAI,CAACC,UAAU,KAAK,IAAA;AAC7B;AAEQC,IAAAA,qBAAAA,CAAsBD,UAA6B,EAAoC;QAC7FE,MAAO,CAAA,IAAI,CAACH,QAAQ,EAAE,+BAAA,CAAA;AACxB;IAEAI,eAAkB,GAAA;AAChB,QAAA,IAAI,CAACF,qBAAqB,CAAC,IAAI,CAACD,UAAU,CAAA;AAE1C,QAAA,OAAO,IAAI,CAACA,UAAU,CAACI,QAAQ;AACjC;IAEAC,iBAAoB,GAAA;AAClB,QAAA,IAAI,CAACJ,qBAAqB,CAAC,IAAI,CAACD,UAAU,CAAA;AAE1C,QAAA,OAAOM,OAAOC,MAAM,CAAC,IAAI,CAACP,UAAU,CAACI,QAAQ,CAAA;AAC/C;AAEAI,IAAAA,mBAAAA,CAAoBC,KAAoB,EAAE;QACxC,MAAML,QAAAA,GAAW,IAAI,CAACC,iBAAiB,EAAA;AAEvC,QAAA,OACED,QACE;SACCM,MAAM,CAAC,CAACC,CAAMF,GAAAA,KAAAA,CAAMG,IAAI,CAACD,CAAAA,CAAEE,OAAO,CAAA,CACnC;AACCH,SAAAA,MAAM,CAAC,CAACC,CAAAA,GAAMG,gBAAgBH,CAAEE,CAAAA,OAAO,EACxC;SACCE,IAAI,CAAC,CAACC,EAAAA,EAAIC,EAAOC,GAAAA,MAAAA,CAAOC,OAAO,CAACH,EAAGH,CAAAA,OAAO,EAAEI,EAAAA,CAAGJ,OAAO,CAAA,CAAA;AAE7D;AAEAO,IAAAA,WAAAA,CAAYP,OAAuB,EAAiC;QAClE,MAAMT,QAAAA,GAAW,IAAI,CAACC,iBAAiB,EAAA;QAEvC,OAAOD,QAAAA,CAASiB,IAAI,CAAC,CAACC,UAAAA,GAAeJ,OAAOK,EAAE,CAACD,UAAWT,CAAAA,OAAO,EAAEA,OAAAA,CAAAA,CAAAA;AACrE;AAEA,IAAA,MAAMW,OAAU,GAAA;AACd,QAAA,MAAMC,QAAW,GAAA,MAAMC,KAAM,CAAA,IAAI,CAACC,UAAU,CAAA;;QAG5CzB,MAAOuB,CAAAA,QAAAA,CAASG,EAAE,EAAE,CAAC,mBAAmB,EAAE,IAAI,CAACD,UAAU,CAAC,CAAC,CAAA;AAE3D,QAAA,IAAI,CAAC3B,UAAU,GAAG,MAAMyB,SAASI,IAAI,EAAA;AAErC,QAAA,OAAO,IAAI;AACb;AAEAC,IAAAA,aAAAA,CAAcjB,OAAuB,EAAE;AACrC,QAAA,OAAO,IAAI,CAACO,WAAW,CAACP,OAAakB,CAAAA,KAAAA,SAAAA;AACvC;AA3DAC,IAAAA,WAAAA,CAAYC,IAAY,CAAE;QACxB,IAAI,CAACA,IAAI,GAAGA,IAAAA;QACZ,IAAI,CAACN,UAAU,GAAG,CAAC,EAAEO,gBAA0B,CAAC,CAAC,EAAED,IAAAA,CAAK,CAAC;QACzD,IAAI,CAACjC,UAAU,GAAG,IAAA;AACpB;AAwDF;MAEamC,iBAAoB,GAAA,CAACF,IAAiB,GAAA,IAAInC,QAAQmC,IAAM;;;;"}
1
+ {"version":3,"file":"package.mjs","sources":["../../../../src/modules/npm/package.ts"],"sourcesContent":["import assert from 'node:assert';\nimport semver from 'semver';\n\nimport { ProxyAgent } from 'undici';\nimport * as constants from './constants';\nimport { isLiteralSemVer } from '../version';\n\nimport type { Package as PackageInterface, NPMPackage, NPMPackageVersion } from './types';\nimport type { Version } from '../version';\n\nconst proxyUrl = process.env.HTTP_PROXY || process.env.HTTPS_PROXY;\nconst agent = proxyUrl ? new ProxyAgent(proxyUrl) : undefined;\n\nexport class Package implements PackageInterface {\n name: string;\n\n packageURL: string;\n\n private npmPackage: NPMPackage | null;\n\n constructor(name: string) {\n this.name = name;\n this.packageURL = `${constants.NPM_REGISTRY_URL}/${name}`;\n this.npmPackage = null;\n }\n\n get isLoaded() {\n return this.npmPackage !== null;\n }\n\n private assertPackageIsLoaded(npmPackage: NPMPackage | null): asserts npmPackage is NPMPackage {\n assert(this.isLoaded, 'The package is not loaded yet');\n }\n\n getVersionsDict() {\n this.assertPackageIsLoaded(this.npmPackage);\n\n return this.npmPackage.versions;\n }\n\n getVersionsAsList() {\n this.assertPackageIsLoaded(this.npmPackage);\n\n return Object.values(this.npmPackage.versions);\n }\n\n findVersionsInRange(range: Version.Range) {\n const versions = this.getVersionsAsList();\n\n return (\n versions\n // Only select versions matching the upgrade range\n .filter((v) => range.test(v.version))\n // Only select supported version format (x.x.x)\n .filter((v) => isLiteralSemVer(v.version))\n // Sort in ascending order\n .sort((v1, v2) => semver.compare(v1.version, v2.version))\n );\n }\n\n findVersion(version: Version.SemVer): NPMPackageVersion | undefined {\n const versions = this.getVersionsAsList();\n\n return versions.find((npmVersion) => semver.eq(npmVersion.version, version));\n }\n\n async refresh() {\n const response = await fetch(this.packageURL, {\n // @ts-expect-error Node.js fetch supports dispatcher (undici extension)\n dispatcher: agent,\n });\n\n // TODO: Use a validation library to make sure the response structure is correct\n assert(response.ok, `Request failed for ${this.packageURL}`);\n\n this.npmPackage = (await response.json()) as NPMPackage;\n\n return this;\n }\n\n versionExists(version: Version.SemVer) {\n return this.findVersion(version) !== undefined;\n }\n}\n\nexport const npmPackageFactory = (name: string) => new Package(name);\n"],"names":["proxyUrl","process","env","HTTP_PROXY","HTTPS_PROXY","agent","ProxyAgent","undefined","Package","isLoaded","npmPackage","assertPackageIsLoaded","assert","getVersionsDict","versions","getVersionsAsList","Object","values","findVersionsInRange","range","filter","v","test","version","isLiteralSemVer","sort","v1","v2","semver","compare","findVersion","find","npmVersion","eq","refresh","response","fetch","packageURL","dispatcher","ok","json","versionExists","constructor","name","constants","npmPackageFactory"],"mappings":";;;;;;;AAUA,MAAMA,QAAAA,GAAWC,QAAQC,GAAG,CAACC,UAAU,IAAIF,OAAAA,CAAQC,GAAG,CAACE,WAAW;AAClE,MAAMC,KAAQL,GAAAA,QAAAA,GAAW,IAAIM,UAAAA,CAAWN,QAAYO,CAAAA,GAAAA,SAAAA;AAE7C,MAAMC,OAAAA,CAAAA;AAaX,IAAA,IAAIC,QAAW,GAAA;QACb,OAAO,IAAI,CAACC,UAAU,KAAK,IAAA;AAC7B;AAEQC,IAAAA,qBAAAA,CAAsBD,UAA6B,EAAoC;QAC7FE,MAAO,CAAA,IAAI,CAACH,QAAQ,EAAE,+BAAA,CAAA;AACxB;IAEAI,eAAkB,GAAA;AAChB,QAAA,IAAI,CAACF,qBAAqB,CAAC,IAAI,CAACD,UAAU,CAAA;AAE1C,QAAA,OAAO,IAAI,CAACA,UAAU,CAACI,QAAQ;AACjC;IAEAC,iBAAoB,GAAA;AAClB,QAAA,IAAI,CAACJ,qBAAqB,CAAC,IAAI,CAACD,UAAU,CAAA;AAE1C,QAAA,OAAOM,OAAOC,MAAM,CAAC,IAAI,CAACP,UAAU,CAACI,QAAQ,CAAA;AAC/C;AAEAI,IAAAA,mBAAAA,CAAoBC,KAAoB,EAAE;QACxC,MAAML,QAAAA,GAAW,IAAI,CAACC,iBAAiB,EAAA;AAEvC,QAAA,OACED,QACE;SACCM,MAAM,CAAC,CAACC,CAAMF,GAAAA,KAAAA,CAAMG,IAAI,CAACD,CAAAA,CAAEE,OAAO,CAAA,CACnC;AACCH,SAAAA,MAAM,CAAC,CAACC,CAAAA,GAAMG,gBAAgBH,CAAEE,CAAAA,OAAO,EACxC;SACCE,IAAI,CAAC,CAACC,EAAAA,EAAIC,EAAOC,GAAAA,MAAAA,CAAOC,OAAO,CAACH,EAAGH,CAAAA,OAAO,EAAEI,EAAAA,CAAGJ,OAAO,CAAA,CAAA;AAE7D;AAEAO,IAAAA,WAAAA,CAAYP,OAAuB,EAAiC;QAClE,MAAMT,QAAAA,GAAW,IAAI,CAACC,iBAAiB,EAAA;QAEvC,OAAOD,QAAAA,CAASiB,IAAI,CAAC,CAACC,UAAAA,GAAeJ,OAAOK,EAAE,CAACD,UAAWT,CAAAA,OAAO,EAAEA,OAAAA,CAAAA,CAAAA;AACrE;AAEA,IAAA,MAAMW,OAAU,GAAA;AACd,QAAA,MAAMC,WAAW,MAAMC,KAAAA,CAAM,IAAI,CAACC,UAAU,EAAE;;YAE5CC,UAAYjC,EAAAA;AACd,SAAA,CAAA;;QAGAO,MAAOuB,CAAAA,QAAAA,CAASI,EAAE,EAAE,CAAC,mBAAmB,EAAE,IAAI,CAACF,UAAU,CAAC,CAAC,CAAA;AAE3D,QAAA,IAAI,CAAC3B,UAAU,GAAI,MAAMyB,SAASK,IAAI,EAAA;AAEtC,QAAA,OAAO,IAAI;AACb;AAEAC,IAAAA,aAAAA,CAAclB,OAAuB,EAAE;AACrC,QAAA,OAAO,IAAI,CAACO,WAAW,CAACP,OAAahB,CAAAA,KAAAA,SAAAA;AACvC;AA9DAmC,IAAAA,WAAAA,CAAYC,IAAY,CAAE;QACxB,IAAI,CAACA,IAAI,GAAGA,IAAAA;QACZ,IAAI,CAACN,UAAU,GAAG,CAAC,EAAEO,gBAA0B,CAAC,CAAC,EAAED,IAAAA,CAAK,CAAC;QACzD,IAAI,CAACjC,UAAU,GAAG,IAAA;AACpB;AA2DF;MAEamC,iBAAoB,GAAA,CAACF,IAAiB,GAAA,IAAInC,QAAQmC,IAAM;;;;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@strapi/upgrade",
3
- "version": "5.17.0",
3
+ "version": "5.18.0",
4
4
  "description": "CLI to upgrade Strapi applications effortless",
5
5
  "keywords": [
6
6
  "strapi",
@@ -61,7 +61,7 @@
61
61
  "watch": "run -T rollup -c -w"
62
62
  },
63
63
  "dependencies": {
64
- "@strapi/utils": "5.17.0",
64
+ "@strapi/utils": "5.18.0",
65
65
  "chalk": "4.1.2",
66
66
  "cli-table3": "0.6.2",
67
67
  "commander": "8.3.0",
@@ -74,13 +74,14 @@
74
74
  "ora": "5.4.1",
75
75
  "prompts": "2.4.2",
76
76
  "semver": "7.5.4",
77
- "simple-git": "3.21.0"
77
+ "simple-git": "3.21.0",
78
+ "undici": "6.21.2"
78
79
  },
79
80
  "devDependencies": {
80
- "@strapi/types": "5.17.0",
81
+ "@strapi/types": "5.18.0",
81
82
  "@types/fs-extra": "11.0.4",
82
83
  "@types/jscodeshift": "0.12.0",
83
- "eslint-config-custom": "5.17.0",
84
+ "eslint-config-custom": "5.18.0",
84
85
  "rimraf": "5.0.5"
85
86
  },
86
87
  "engines": {