@strapi/upgrade 5.37.0 → 5.38.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.
- package/dist/cli.js.map +1 -1
- package/dist/cli.mjs.map +1 -1
- package/dist/index.js +4 -4
- package/dist/index.mjs +4 -4
- package/dist/package.json.js +1 -1
- package/dist/package.json.mjs +1 -1
- package/dist/src/cli/commands/codemods.js +0 -10
- package/dist/src/cli/commands/codemods.js.map +1 -1
- package/dist/src/cli/commands/codemods.mjs +0 -10
- package/dist/src/cli/commands/codemods.mjs.map +1 -1
- package/dist/src/cli/commands/upgrade.js.map +1 -1
- package/dist/src/cli/commands/upgrade.mjs.map +1 -1
- package/dist/src/cli/errors.js.map +1 -1
- package/dist/src/cli/errors.mjs.map +1 -1
- package/dist/src/cli/options.js.map +1 -1
- package/dist/src/cli/options.mjs.map +1 -1
- package/dist/src/modules/codemod/codemod.js.map +1 -1
- package/dist/src/modules/codemod/codemod.mjs.map +1 -1
- package/dist/src/modules/codemod/constants.js.map +1 -1
- package/dist/src/modules/codemod/constants.mjs.map +1 -1
- package/dist/src/modules/codemod-repository/constants.js.map +1 -1
- package/dist/src/modules/codemod-repository/constants.mjs.map +1 -1
- package/dist/src/modules/codemod-repository/repository.js.map +1 -1
- package/dist/src/modules/codemod-repository/repository.mjs.map +1 -1
- package/dist/src/modules/codemod-runner/codemod-runner.js.map +1 -1
- package/dist/src/modules/codemod-runner/codemod-runner.mjs.map +1 -1
- package/dist/src/modules/error/utils.js.map +1 -1
- package/dist/src/modules/error/utils.mjs.map +1 -1
- package/dist/src/modules/file-scanner/scanner.js.map +1 -1
- package/dist/src/modules/file-scanner/scanner.mjs.map +1 -1
- package/dist/src/modules/format/formats.js.map +1 -1
- package/dist/src/modules/format/formats.mjs.map +1 -1
- package/dist/src/modules/index.js +4 -4
- package/dist/src/modules/index.mjs +4 -4
- package/dist/src/modules/json/file.js.map +1 -1
- package/dist/src/modules/json/file.mjs.map +1 -1
- package/dist/src/modules/json/transform-api.js.map +1 -1
- package/dist/src/modules/json/transform-api.mjs.map +1 -1
- package/dist/src/modules/logger/logger.js.map +1 -1
- package/dist/src/modules/logger/logger.mjs.map +1 -1
- package/dist/src/modules/npm/package.js.map +1 -1
- package/dist/src/modules/npm/package.mjs.map +1 -1
- package/dist/src/modules/project/constants.js.map +1 -1
- package/dist/src/modules/project/constants.mjs.map +1 -1
- package/dist/src/modules/project/project.js.map +1 -1
- package/dist/src/modules/project/project.mjs +1 -1
- package/dist/src/modules/project/project.mjs.map +1 -1
- package/dist/src/modules/project/utils.js.map +1 -1
- package/dist/src/modules/project/utils.mjs +1 -1
- package/dist/src/modules/project/utils.mjs.map +1 -1
- package/dist/src/modules/report/report.js.map +1 -1
- package/dist/src/modules/report/report.mjs.map +1 -1
- package/dist/src/modules/requirement/requirement.js.map +1 -1
- package/dist/src/modules/requirement/requirement.mjs.map +1 -1
- package/dist/src/modules/runner/code/code.js.map +1 -1
- package/dist/src/modules/runner/code/code.mjs.map +1 -1
- package/dist/src/modules/runner/index.js +4 -4
- package/dist/src/modules/runner/index.mjs +4 -4
- package/dist/src/modules/runner/json/json.js.map +1 -1
- package/dist/src/modules/runner/json/json.mjs.map +1 -1
- package/dist/src/modules/runner/json/transform.js.map +1 -1
- package/dist/src/modules/runner/json/transform.mjs.map +1 -1
- package/dist/src/modules/runner/runner.js.map +1 -1
- package/dist/src/modules/runner/runner.mjs.map +1 -1
- package/dist/src/modules/timer/timer.js.map +1 -1
- package/dist/src/modules/timer/timer.mjs.map +1 -1
- package/dist/src/modules/upgrader/upgrader.js.map +1 -1
- package/dist/src/modules/upgrader/upgrader.mjs +2 -2
- package/dist/src/modules/upgrader/upgrader.mjs.map +1 -1
- package/dist/src/modules/version/range.js.map +1 -1
- package/dist/src/modules/version/range.mjs +1 -1
- package/dist/src/modules/version/range.mjs.map +1 -1
- package/dist/src/modules/version/semver.js.map +1 -1
- package/dist/src/modules/version/semver.mjs.map +1 -1
- package/dist/src/tasks/codemods/list-codemods.js.map +1 -1
- package/dist/src/tasks/codemods/list-codemods.mjs.map +1 -1
- package/dist/src/tasks/codemods/run-codemods.js.map +1 -1
- package/dist/src/tasks/codemods/run-codemods.mjs.map +1 -1
- package/dist/src/tasks/codemods/utils.js.map +1 -1
- package/dist/src/tasks/codemods/utils.mjs.map +1 -1
- package/dist/src/tasks/upgrade/prompts/latest.js.map +1 -1
- package/dist/src/tasks/upgrade/prompts/latest.mjs.map +1 -1
- package/dist/src/tasks/upgrade/requirements/common.js.map +1 -1
- package/dist/src/tasks/upgrade/requirements/common.mjs.map +1 -1
- package/dist/src/tasks/upgrade/requirements/major.js.map +1 -1
- package/dist/src/tasks/upgrade/requirements/major.mjs.map +1 -1
- package/dist/src/tasks/upgrade/upgrade.js.map +1 -1
- package/dist/src/tasks/upgrade/upgrade.mjs.map +1 -1
- package/package.json +4 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codemod-runner.js","sources":["../../../../src/modules/codemod-runner/codemod-runner.ts"],"sourcesContent":["import { groupBy, size } from 'lodash/fp';\n\nimport {\n codemodRepositoryFactory,\n constants as codemodRepositoryConstants,\n} from '../codemod-repository';\nimport { unknownToError } from '../error';\nimport { semVerFactory } from '../version';\nimport * as f from '../format';\n\nimport type { Codemod } from '../codemod';\nimport type { Logger } from '../logger';\nimport type { Project } from '../project';\nimport type { UpgradeReport } from '../upgrader';\nimport type { CodemodRunnerInterface, CodemodRunnerReport, SelectCodemodsCallback } from './types';\nimport type { Version } from '../version';\n\nexport class CodemodRunner implements CodemodRunnerInterface {\n private readonly project: Project;\n\n private range: Version.Range;\n\n private isDry: boolean;\n\n private logger: Logger | null;\n\n private selectCodemodsCallback: SelectCodemodsCallback | null;\n\n constructor(project: Project, range: Version.Range) {\n this.project = project;\n this.range = range;\n\n this.isDry = false;\n\n this.logger = null;\n this.selectCodemodsCallback = null;\n }\n\n setRange(range: Version.Range) {\n this.range = range;\n return this;\n }\n\n setLogger(logger: Logger) {\n this.logger = logger;\n return this;\n }\n\n onSelectCodemods(callback: SelectCodemodsCallback | null) {\n this.selectCodemodsCallback = callback;\n return this;\n }\n\n dry(enabled: boolean = true) {\n this.isDry = enabled;\n return this;\n }\n\n private createRepository(codemodsDirectory?: string) {\n const repository = codemodRepositoryFactory(\n codemodsDirectory ?? codemodRepositoryConstants.INTERNAL_CODEMODS_DIRECTORY\n );\n\n // Make sure we have access to the latest snapshots of codemods on the system\n repository.refresh();\n\n return repository;\n }\n\n private async safeRunAndReport(codemods: Codemod.List) {\n if (this.isDry) {\n this.logger?.warn?.(\n 'Running the codemods in dry mode. No files will be modified during the process.'\n );\n }\n\n try {\n const reports = await this.project.runCodemods(codemods, { dry: this.isDry });\n\n this.logger?.raw?.(f.reports(reports));\n\n if (!this.isDry) {\n const nbAffectedTotal = reports\n .flatMap((report) => report.report.ok)\n .reduce((acc, nb) => acc + nb, 0);\n\n this.logger?.debug?.(\n `Successfully ran ${f.highlight(codemods.length)} codemod(s), ${f.highlight(nbAffectedTotal)} change(s) have been detected`\n );\n }\n\n return successReport();\n } catch (e: unknown) {\n return erroredReport(unknownToError(e));\n }\n }\n\n async runByUID(uid: string, codemodsDirectory?: string): Promise<CodemodRunnerReport> {\n const repository = this.createRepository(codemodsDirectory);\n\n if (!repository.has(uid)) {\n throw new Error(`Unknown codemod UID provided: ${uid}`);\n }\n\n // Note: Ignore the range when running with a UID\n const codemods = repository.find({ uids: [uid] }).flatMap(({ codemods }) => codemods);\n\n return this.safeRunAndReport(codemods);\n }\n\n async run(codemodsDirectory?: string): Promise<CodemodRunnerReport> {\n const repository = this.createRepository(codemodsDirectory);\n\n // Find codemods matching the given range\n const codemodsInRange = repository.find({ range: this.range });\n\n // If a selection callback is set, use it, else keep every codemods found\n const selectedCodemods = this.selectCodemodsCallback\n ? await this.selectCodemodsCallback(codemodsInRange)\n : codemodsInRange;\n\n // If no codemods have been selected (either manually or automatically)\n // Then ignore and return a successful report\n if (selectedCodemods.length === 0) {\n this.logger?.debug?.(`Found no codemods to run for ${f.versionRange(this.range)}`);\n return successReport();\n }\n\n // Flatten the collection to a single list of codemods, the original list should already be sorted by version\n const codemods = selectedCodemods.flatMap(({ codemods }) => codemods);\n\n // Log (debug) the codemods by version\n const codemodsByVersion = groupBy('version', codemods);\n const fRange = f.versionRange(this.range);\n\n this.logger?.debug?.(\n `Found ${f.highlight(codemods.length)} codemods for ${f.highlight(size(codemodsByVersion))} version(s) using ${fRange}`\n );\n\n for (const [version, codemods] of Object.entries(codemodsByVersion)) {\n this.logger?.debug?.(`- ${f.version(semVerFactory(version))} (${codemods.length})`);\n }\n\n return this.safeRunAndReport(codemods);\n }\n}\n\nexport const codemodRunnerFactory = (project: Project, range: Version.Range) => {\n return new CodemodRunner(project, range);\n};\n\nconst successReport = (): UpgradeReport => ({ success: true, error: null });\nconst erroredReport = (error: Error): UpgradeReport => ({ success: false, error });\n"],"names":["CodemodRunner","setRange","range","setLogger","logger","onSelectCodemods","callback","selectCodemodsCallback","dry","enabled","isDry","createRepository","codemodsDirectory","repository","codemodRepositoryFactory","codemodRepositoryConstants","refresh","safeRunAndReport","codemods","warn","reports","project","runCodemods","raw","f","nbAffectedTotal","flatMap","report","ok","reduce","acc","nb","debug","length","successReport","e","erroredReport","unknownToError","runByUID","uid","has","Error","find","uids","run","codemodsInRange","selectedCodemods","codemodsByVersion","groupBy","fRange","size","version","Object","entries","semVerFactory","codemodRunnerFactory","success","error"],"mappings":";;;;;;;;;;AAiBO,MAAMA,aAAAA,CAAAA;AAqBXC,IAAAA,QAAAA,CAASC,KAAoB,EAAE;QAC7B,IAAI,CAACA,KAAK,GAAGA,KAAAA;AACb,QAAA,OAAO,IAAI;AACb;AAEAC,IAAAA,SAAAA,CAAUC,MAAc,EAAE;QACxB,IAAI,CAACA,MAAM,GAAGA,MAAAA;AACd,QAAA,OAAO,IAAI;AACb;AAEAC,IAAAA,gBAAAA,CAAiBC,QAAuC,EAAE;QACxD,IAAI,CAACC,sBAAsB,GAAGD,QAAAA;AAC9B,QAAA,OAAO,IAAI;AACb;IAEAE,
|
|
1
|
+
{"version":3,"file":"codemod-runner.js","sources":["../../../../src/modules/codemod-runner/codemod-runner.ts"],"sourcesContent":["import { groupBy, size } from 'lodash/fp';\n\nimport {\n codemodRepositoryFactory,\n constants as codemodRepositoryConstants,\n} from '../codemod-repository';\nimport { unknownToError } from '../error';\nimport { semVerFactory } from '../version';\nimport * as f from '../format';\n\nimport type { Codemod } from '../codemod';\nimport type { Logger } from '../logger';\nimport type { Project } from '../project';\nimport type { UpgradeReport } from '../upgrader';\nimport type { CodemodRunnerInterface, CodemodRunnerReport, SelectCodemodsCallback } from './types';\nimport type { Version } from '../version';\n\nexport class CodemodRunner implements CodemodRunnerInterface {\n private readonly project: Project;\n\n private range: Version.Range;\n\n private isDry: boolean;\n\n private logger: Logger | null;\n\n private selectCodemodsCallback: SelectCodemodsCallback | null;\n\n constructor(project: Project, range: Version.Range) {\n this.project = project;\n this.range = range;\n\n this.isDry = false;\n\n this.logger = null;\n this.selectCodemodsCallback = null;\n }\n\n setRange(range: Version.Range) {\n this.range = range;\n return this;\n }\n\n setLogger(logger: Logger) {\n this.logger = logger;\n return this;\n }\n\n onSelectCodemods(callback: SelectCodemodsCallback | null) {\n this.selectCodemodsCallback = callback;\n return this;\n }\n\n dry(enabled: boolean = true) {\n this.isDry = enabled;\n return this;\n }\n\n private createRepository(codemodsDirectory?: string) {\n const repository = codemodRepositoryFactory(\n codemodsDirectory ?? codemodRepositoryConstants.INTERNAL_CODEMODS_DIRECTORY\n );\n\n // Make sure we have access to the latest snapshots of codemods on the system\n repository.refresh();\n\n return repository;\n }\n\n private async safeRunAndReport(codemods: Codemod.List) {\n if (this.isDry) {\n this.logger?.warn?.(\n 'Running the codemods in dry mode. No files will be modified during the process.'\n );\n }\n\n try {\n const reports = await this.project.runCodemods(codemods, { dry: this.isDry });\n\n this.logger?.raw?.(f.reports(reports));\n\n if (!this.isDry) {\n const nbAffectedTotal = reports\n .flatMap((report) => report.report.ok)\n .reduce((acc, nb) => acc + nb, 0);\n\n this.logger?.debug?.(\n `Successfully ran ${f.highlight(codemods.length)} codemod(s), ${f.highlight(nbAffectedTotal)} change(s) have been detected`\n );\n }\n\n return successReport();\n } catch (e: unknown) {\n return erroredReport(unknownToError(e));\n }\n }\n\n async runByUID(uid: string, codemodsDirectory?: string): Promise<CodemodRunnerReport> {\n const repository = this.createRepository(codemodsDirectory);\n\n if (!repository.has(uid)) {\n throw new Error(`Unknown codemod UID provided: ${uid}`);\n }\n\n // Note: Ignore the range when running with a UID\n const codemods = repository.find({ uids: [uid] }).flatMap(({ codemods }) => codemods);\n\n return this.safeRunAndReport(codemods);\n }\n\n async run(codemodsDirectory?: string): Promise<CodemodRunnerReport> {\n const repository = this.createRepository(codemodsDirectory);\n\n // Find codemods matching the given range\n const codemodsInRange = repository.find({ range: this.range });\n\n // If a selection callback is set, use it, else keep every codemods found\n const selectedCodemods = this.selectCodemodsCallback\n ? await this.selectCodemodsCallback(codemodsInRange)\n : codemodsInRange;\n\n // If no codemods have been selected (either manually or automatically)\n // Then ignore and return a successful report\n if (selectedCodemods.length === 0) {\n this.logger?.debug?.(`Found no codemods to run for ${f.versionRange(this.range)}`);\n return successReport();\n }\n\n // Flatten the collection to a single list of codemods, the original list should already be sorted by version\n const codemods = selectedCodemods.flatMap(({ codemods }) => codemods);\n\n // Log (debug) the codemods by version\n const codemodsByVersion = groupBy('version', codemods);\n const fRange = f.versionRange(this.range);\n\n this.logger?.debug?.(\n `Found ${f.highlight(codemods.length)} codemods for ${f.highlight(size(codemodsByVersion))} version(s) using ${fRange}`\n );\n\n for (const [version, codemods] of Object.entries(codemodsByVersion)) {\n this.logger?.debug?.(`- ${f.version(semVerFactory(version))} (${codemods.length})`);\n }\n\n return this.safeRunAndReport(codemods);\n }\n}\n\nexport const codemodRunnerFactory = (project: Project, range: Version.Range) => {\n return new CodemodRunner(project, range);\n};\n\nconst successReport = (): UpgradeReport => ({ success: true, error: null });\nconst erroredReport = (error: Error): UpgradeReport => ({ success: false, error });\n"],"names":["CodemodRunner","setRange","range","setLogger","logger","onSelectCodemods","callback","selectCodemodsCallback","dry","enabled","isDry","createRepository","codemodsDirectory","repository","codemodRepositoryFactory","codemodRepositoryConstants","refresh","safeRunAndReport","codemods","warn","reports","project","runCodemods","raw","f","nbAffectedTotal","flatMap","report","ok","reduce","acc","nb","debug","length","successReport","e","erroredReport","unknownToError","runByUID","uid","has","Error","find","uids","run","codemodsInRange","selectedCodemods","codemodsByVersion","groupBy","fRange","size","version","Object","entries","semVerFactory","codemodRunnerFactory","success","error"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codemod-runner.mjs","sources":["../../../../src/modules/codemod-runner/codemod-runner.ts"],"sourcesContent":["import { groupBy, size } from 'lodash/fp';\n\nimport {\n codemodRepositoryFactory,\n constants as codemodRepositoryConstants,\n} from '../codemod-repository';\nimport { unknownToError } from '../error';\nimport { semVerFactory } from '../version';\nimport * as f from '../format';\n\nimport type { Codemod } from '../codemod';\nimport type { Logger } from '../logger';\nimport type { Project } from '../project';\nimport type { UpgradeReport } from '../upgrader';\nimport type { CodemodRunnerInterface, CodemodRunnerReport, SelectCodemodsCallback } from './types';\nimport type { Version } from '../version';\n\nexport class CodemodRunner implements CodemodRunnerInterface {\n private readonly project: Project;\n\n private range: Version.Range;\n\n private isDry: boolean;\n\n private logger: Logger | null;\n\n private selectCodemodsCallback: SelectCodemodsCallback | null;\n\n constructor(project: Project, range: Version.Range) {\n this.project = project;\n this.range = range;\n\n this.isDry = false;\n\n this.logger = null;\n this.selectCodemodsCallback = null;\n }\n\n setRange(range: Version.Range) {\n this.range = range;\n return this;\n }\n\n setLogger(logger: Logger) {\n this.logger = logger;\n return this;\n }\n\n onSelectCodemods(callback: SelectCodemodsCallback | null) {\n this.selectCodemodsCallback = callback;\n return this;\n }\n\n dry(enabled: boolean = true) {\n this.isDry = enabled;\n return this;\n }\n\n private createRepository(codemodsDirectory?: string) {\n const repository = codemodRepositoryFactory(\n codemodsDirectory ?? codemodRepositoryConstants.INTERNAL_CODEMODS_DIRECTORY\n );\n\n // Make sure we have access to the latest snapshots of codemods on the system\n repository.refresh();\n\n return repository;\n }\n\n private async safeRunAndReport(codemods: Codemod.List) {\n if (this.isDry) {\n this.logger?.warn?.(\n 'Running the codemods in dry mode. No files will be modified during the process.'\n );\n }\n\n try {\n const reports = await this.project.runCodemods(codemods, { dry: this.isDry });\n\n this.logger?.raw?.(f.reports(reports));\n\n if (!this.isDry) {\n const nbAffectedTotal = reports\n .flatMap((report) => report.report.ok)\n .reduce((acc, nb) => acc + nb, 0);\n\n this.logger?.debug?.(\n `Successfully ran ${f.highlight(codemods.length)} codemod(s), ${f.highlight(nbAffectedTotal)} change(s) have been detected`\n );\n }\n\n return successReport();\n } catch (e: unknown) {\n return erroredReport(unknownToError(e));\n }\n }\n\n async runByUID(uid: string, codemodsDirectory?: string): Promise<CodemodRunnerReport> {\n const repository = this.createRepository(codemodsDirectory);\n\n if (!repository.has(uid)) {\n throw new Error(`Unknown codemod UID provided: ${uid}`);\n }\n\n // Note: Ignore the range when running with a UID\n const codemods = repository.find({ uids: [uid] }).flatMap(({ codemods }) => codemods);\n\n return this.safeRunAndReport(codemods);\n }\n\n async run(codemodsDirectory?: string): Promise<CodemodRunnerReport> {\n const repository = this.createRepository(codemodsDirectory);\n\n // Find codemods matching the given range\n const codemodsInRange = repository.find({ range: this.range });\n\n // If a selection callback is set, use it, else keep every codemods found\n const selectedCodemods = this.selectCodemodsCallback\n ? await this.selectCodemodsCallback(codemodsInRange)\n : codemodsInRange;\n\n // If no codemods have been selected (either manually or automatically)\n // Then ignore and return a successful report\n if (selectedCodemods.length === 0) {\n this.logger?.debug?.(`Found no codemods to run for ${f.versionRange(this.range)}`);\n return successReport();\n }\n\n // Flatten the collection to a single list of codemods, the original list should already be sorted by version\n const codemods = selectedCodemods.flatMap(({ codemods }) => codemods);\n\n // Log (debug) the codemods by version\n const codemodsByVersion = groupBy('version', codemods);\n const fRange = f.versionRange(this.range);\n\n this.logger?.debug?.(\n `Found ${f.highlight(codemods.length)} codemods for ${f.highlight(size(codemodsByVersion))} version(s) using ${fRange}`\n );\n\n for (const [version, codemods] of Object.entries(codemodsByVersion)) {\n this.logger?.debug?.(`- ${f.version(semVerFactory(version))} (${codemods.length})`);\n }\n\n return this.safeRunAndReport(codemods);\n }\n}\n\nexport const codemodRunnerFactory = (project: Project, range: Version.Range) => {\n return new CodemodRunner(project, range);\n};\n\nconst successReport = (): UpgradeReport => ({ success: true, error: null });\nconst erroredReport = (error: Error): UpgradeReport => ({ success: false, error });\n"],"names":["CodemodRunner","setRange","range","setLogger","logger","onSelectCodemods","callback","selectCodemodsCallback","dry","enabled","isDry","createRepository","codemodsDirectory","repository","codemodRepositoryFactory","codemodRepositoryConstants","refresh","safeRunAndReport","codemods","warn","reports","project","runCodemods","raw","f","nbAffectedTotal","flatMap","report","ok","reduce","acc","nb","debug","length","successReport","e","erroredReport","unknownToError","runByUID","uid","has","Error","find","uids","run","codemodsInRange","selectedCodemods","codemodsByVersion","groupBy","fRange","size","version","Object","entries","semVerFactory","codemodRunnerFactory","success","error"],"mappings":";;;;;;;;AAiBO,MAAMA,aAAAA,CAAAA;AAqBXC,IAAAA,QAAAA,CAASC,KAAoB,EAAE;QAC7B,IAAI,CAACA,KAAK,GAAGA,KAAAA;AACb,QAAA,OAAO,IAAI;AACb;AAEAC,IAAAA,SAAAA,CAAUC,MAAc,EAAE;QACxB,IAAI,CAACA,MAAM,GAAGA,MAAAA;AACd,QAAA,OAAO,IAAI;AACb;AAEAC,IAAAA,gBAAAA,CAAiBC,QAAuC,EAAE;QACxD,IAAI,CAACC,sBAAsB,GAAGD,QAAAA;AAC9B,QAAA,OAAO,IAAI;AACb;IAEAE,
|
|
1
|
+
{"version":3,"file":"codemod-runner.mjs","sources":["../../../../src/modules/codemod-runner/codemod-runner.ts"],"sourcesContent":["import { groupBy, size } from 'lodash/fp';\n\nimport {\n codemodRepositoryFactory,\n constants as codemodRepositoryConstants,\n} from '../codemod-repository';\nimport { unknownToError } from '../error';\nimport { semVerFactory } from '../version';\nimport * as f from '../format';\n\nimport type { Codemod } from '../codemod';\nimport type { Logger } from '../logger';\nimport type { Project } from '../project';\nimport type { UpgradeReport } from '../upgrader';\nimport type { CodemodRunnerInterface, CodemodRunnerReport, SelectCodemodsCallback } from './types';\nimport type { Version } from '../version';\n\nexport class CodemodRunner implements CodemodRunnerInterface {\n private readonly project: Project;\n\n private range: Version.Range;\n\n private isDry: boolean;\n\n private logger: Logger | null;\n\n private selectCodemodsCallback: SelectCodemodsCallback | null;\n\n constructor(project: Project, range: Version.Range) {\n this.project = project;\n this.range = range;\n\n this.isDry = false;\n\n this.logger = null;\n this.selectCodemodsCallback = null;\n }\n\n setRange(range: Version.Range) {\n this.range = range;\n return this;\n }\n\n setLogger(logger: Logger) {\n this.logger = logger;\n return this;\n }\n\n onSelectCodemods(callback: SelectCodemodsCallback | null) {\n this.selectCodemodsCallback = callback;\n return this;\n }\n\n dry(enabled: boolean = true) {\n this.isDry = enabled;\n return this;\n }\n\n private createRepository(codemodsDirectory?: string) {\n const repository = codemodRepositoryFactory(\n codemodsDirectory ?? codemodRepositoryConstants.INTERNAL_CODEMODS_DIRECTORY\n );\n\n // Make sure we have access to the latest snapshots of codemods on the system\n repository.refresh();\n\n return repository;\n }\n\n private async safeRunAndReport(codemods: Codemod.List) {\n if (this.isDry) {\n this.logger?.warn?.(\n 'Running the codemods in dry mode. No files will be modified during the process.'\n );\n }\n\n try {\n const reports = await this.project.runCodemods(codemods, { dry: this.isDry });\n\n this.logger?.raw?.(f.reports(reports));\n\n if (!this.isDry) {\n const nbAffectedTotal = reports\n .flatMap((report) => report.report.ok)\n .reduce((acc, nb) => acc + nb, 0);\n\n this.logger?.debug?.(\n `Successfully ran ${f.highlight(codemods.length)} codemod(s), ${f.highlight(nbAffectedTotal)} change(s) have been detected`\n );\n }\n\n return successReport();\n } catch (e: unknown) {\n return erroredReport(unknownToError(e));\n }\n }\n\n async runByUID(uid: string, codemodsDirectory?: string): Promise<CodemodRunnerReport> {\n const repository = this.createRepository(codemodsDirectory);\n\n if (!repository.has(uid)) {\n throw new Error(`Unknown codemod UID provided: ${uid}`);\n }\n\n // Note: Ignore the range when running with a UID\n const codemods = repository.find({ uids: [uid] }).flatMap(({ codemods }) => codemods);\n\n return this.safeRunAndReport(codemods);\n }\n\n async run(codemodsDirectory?: string): Promise<CodemodRunnerReport> {\n const repository = this.createRepository(codemodsDirectory);\n\n // Find codemods matching the given range\n const codemodsInRange = repository.find({ range: this.range });\n\n // If a selection callback is set, use it, else keep every codemods found\n const selectedCodemods = this.selectCodemodsCallback\n ? await this.selectCodemodsCallback(codemodsInRange)\n : codemodsInRange;\n\n // If no codemods have been selected (either manually or automatically)\n // Then ignore and return a successful report\n if (selectedCodemods.length === 0) {\n this.logger?.debug?.(`Found no codemods to run for ${f.versionRange(this.range)}`);\n return successReport();\n }\n\n // Flatten the collection to a single list of codemods, the original list should already be sorted by version\n const codemods = selectedCodemods.flatMap(({ codemods }) => codemods);\n\n // Log (debug) the codemods by version\n const codemodsByVersion = groupBy('version', codemods);\n const fRange = f.versionRange(this.range);\n\n this.logger?.debug?.(\n `Found ${f.highlight(codemods.length)} codemods for ${f.highlight(size(codemodsByVersion))} version(s) using ${fRange}`\n );\n\n for (const [version, codemods] of Object.entries(codemodsByVersion)) {\n this.logger?.debug?.(`- ${f.version(semVerFactory(version))} (${codemods.length})`);\n }\n\n return this.safeRunAndReport(codemods);\n }\n}\n\nexport const codemodRunnerFactory = (project: Project, range: Version.Range) => {\n return new CodemodRunner(project, range);\n};\n\nconst successReport = (): UpgradeReport => ({ success: true, error: null });\nconst erroredReport = (error: Error): UpgradeReport => ({ success: false, error });\n"],"names":["CodemodRunner","setRange","range","setLogger","logger","onSelectCodemods","callback","selectCodemodsCallback","dry","enabled","isDry","createRepository","codemodsDirectory","repository","codemodRepositoryFactory","codemodRepositoryConstants","refresh","safeRunAndReport","codemods","warn","reports","project","runCodemods","raw","f","nbAffectedTotal","flatMap","report","ok","reduce","acc","nb","debug","length","successReport","e","erroredReport","unknownToError","runByUID","uid","has","Error","find","uids","run","codemodsInRange","selectedCodemods","codemodsByVersion","groupBy","fRange","size","version","Object","entries","semVerFactory","codemodRunnerFactory","success","error"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sources":["../../../../src/modules/error/utils.ts"],"sourcesContent":["import type { Version } from '../version';\n\nexport class UnexpectedError extends Error {\n constructor() {\n super('Unexpected Error');\n }\n}\n\nexport class NPMCandidateNotFoundError extends Error {\n target: Version.SemVer | Version.Range | Version.ReleaseType;\n\n constructor(\n target: Version.SemVer | Version.Range | Version.ReleaseType,\n message: string = `Couldn't find a valid NPM candidate for \"${target}\"`\n ) {\n super(message);\n\n this.target = target;\n }\n}\n\nexport class AbortedError extends Error {\n constructor(message: string = 'Upgrade aborted') {\n super(message);\n }\n}\n\nexport const unknownToError = (e: unknown): Error => {\n if (e instanceof Error) {\n return e;\n }\n\n if (typeof e === 'string') {\n return new Error(e);\n }\n\n return new UnexpectedError();\n};\n"],"names":["UnexpectedError","Error","NPMCandidateNotFoundError","target","message","AbortedError","unknownToError","e"],"mappings":";;AAEO,MAAMA,
|
|
1
|
+
{"version":3,"file":"utils.js","sources":["../../../../src/modules/error/utils.ts"],"sourcesContent":["import type { Version } from '../version';\n\nexport class UnexpectedError extends Error {\n constructor() {\n super('Unexpected Error');\n }\n}\n\nexport class NPMCandidateNotFoundError extends Error {\n target: Version.SemVer | Version.Range | Version.ReleaseType;\n\n constructor(\n target: Version.SemVer | Version.Range | Version.ReleaseType,\n message: string = `Couldn't find a valid NPM candidate for \"${target}\"`\n ) {\n super(message);\n\n this.target = target;\n }\n}\n\nexport class AbortedError extends Error {\n constructor(message: string = 'Upgrade aborted') {\n super(message);\n }\n}\n\nexport const unknownToError = (e: unknown): Error => {\n if (e instanceof Error) {\n return e;\n }\n\n if (typeof e === 'string') {\n return new Error(e);\n }\n\n return new UnexpectedError();\n};\n"],"names":["UnexpectedError","Error","NPMCandidateNotFoundError","target","message","AbortedError","unknownToError","e"],"mappings":";;AAEO,MAAMA,eAAAA,SAAwBC,KAAAA,CAAAA;IACnC,WAAA,EAAc;AACZ,QAAA,KAAK,CAAC,kBAAA,CAAA;AACR,IAAA;AACF;AAEO,MAAMC,yBAAAA,SAAkCD,KAAAA,CAAAA;IAG7C,WAAA,CACEE,MAA4D,EAC5DC,OAAAA,GAAkB,CAAC,yCAAyC,EAAED,MAAAA,CAAO,CAAC,CAAC,CACvE;AACA,QAAA,KAAK,CAACC,OAAAA,CAAAA;QAEN,IAAI,CAACD,MAAM,GAAGA,MAAAA;AAChB,IAAA;AACF;AAEO,MAAME,YAAAA,SAAqBJ,KAAAA,CAAAA;IAChC,WAAA,CAAYG,OAAAA,GAAkB,iBAAiB,CAAE;AAC/C,QAAA,KAAK,CAACA,OAAAA,CAAAA;AACR,IAAA;AACF;AAEO,MAAME,iBAAiB,CAACC,CAAAA,GAAAA;AAC7B,IAAA,IAAIA,aAAaN,KAAAA,EAAO;QACtB,OAAOM,CAAAA;AACT,IAAA;IAEA,IAAI,OAAOA,MAAM,QAAA,EAAU;AACzB,QAAA,OAAO,IAAIN,KAAAA,CAAMM,CAAAA,CAAAA;AACnB,IAAA;AAEA,IAAA,OAAO,IAAIP,eAAAA,EAAAA;AACb;;;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.mjs","sources":["../../../../src/modules/error/utils.ts"],"sourcesContent":["import type { Version } from '../version';\n\nexport class UnexpectedError extends Error {\n constructor() {\n super('Unexpected Error');\n }\n}\n\nexport class NPMCandidateNotFoundError extends Error {\n target: Version.SemVer | Version.Range | Version.ReleaseType;\n\n constructor(\n target: Version.SemVer | Version.Range | Version.ReleaseType,\n message: string = `Couldn't find a valid NPM candidate for \"${target}\"`\n ) {\n super(message);\n\n this.target = target;\n }\n}\n\nexport class AbortedError extends Error {\n constructor(message: string = 'Upgrade aborted') {\n super(message);\n }\n}\n\nexport const unknownToError = (e: unknown): Error => {\n if (e instanceof Error) {\n return e;\n }\n\n if (typeof e === 'string') {\n return new Error(e);\n }\n\n return new UnexpectedError();\n};\n"],"names":["UnexpectedError","Error","NPMCandidateNotFoundError","target","message","AbortedError","unknownToError","e"],"mappings":"AAEO,MAAMA,
|
|
1
|
+
{"version":3,"file":"utils.mjs","sources":["../../../../src/modules/error/utils.ts"],"sourcesContent":["import type { Version } from '../version';\n\nexport class UnexpectedError extends Error {\n constructor() {\n super('Unexpected Error');\n }\n}\n\nexport class NPMCandidateNotFoundError extends Error {\n target: Version.SemVer | Version.Range | Version.ReleaseType;\n\n constructor(\n target: Version.SemVer | Version.Range | Version.ReleaseType,\n message: string = `Couldn't find a valid NPM candidate for \"${target}\"`\n ) {\n super(message);\n\n this.target = target;\n }\n}\n\nexport class AbortedError extends Error {\n constructor(message: string = 'Upgrade aborted') {\n super(message);\n }\n}\n\nexport const unknownToError = (e: unknown): Error => {\n if (e instanceof Error) {\n return e;\n }\n\n if (typeof e === 'string') {\n return new Error(e);\n }\n\n return new UnexpectedError();\n};\n"],"names":["UnexpectedError","Error","NPMCandidateNotFoundError","target","message","AbortedError","unknownToError","e"],"mappings":"AAEO,MAAMA,eAAAA,SAAwBC,KAAAA,CAAAA;IACnC,WAAA,EAAc;AACZ,QAAA,KAAK,CAAC,kBAAA,CAAA;AACR,IAAA;AACF;AAEO,MAAMC,yBAAAA,SAAkCD,KAAAA,CAAAA;IAG7C,WAAA,CACEE,MAA4D,EAC5DC,OAAAA,GAAkB,CAAC,yCAAyC,EAAED,MAAAA,CAAO,CAAC,CAAC,CACvE;AACA,QAAA,KAAK,CAACC,OAAAA,CAAAA;QAEN,IAAI,CAACD,MAAM,GAAGA,MAAAA;AAChB,IAAA;AACF;AAEO,MAAME,YAAAA,SAAqBJ,KAAAA,CAAAA;IAChC,WAAA,CAAYG,OAAAA,GAAkB,iBAAiB,CAAE;AAC/C,QAAA,KAAK,CAACA,OAAAA,CAAAA;AACR,IAAA;AACF;AAEO,MAAME,iBAAiB,CAACC,CAAAA,GAAAA;AAC7B,IAAA,IAAIA,aAAaN,KAAAA,EAAO;QACtB,OAAOM,CAAAA;AACT,IAAA;IAEA,IAAI,OAAOA,MAAM,QAAA,EAAU;AACzB,QAAA,OAAO,IAAIN,KAAAA,CAAMM,CAAAA,CAAAA;AACnB,IAAA;AAEA,IAAA,OAAO,IAAIP,eAAAA,EAAAA;AACb;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scanner.js","sources":["../../../../src/modules/file-scanner/scanner.ts"],"sourcesContent":["import path from 'node:path';\nimport fastglob from 'fast-glob';\n\nimport type { FileScanner as FileScannerInterface } from './types';\n\nexport class FileScanner implements FileScannerInterface {\n public cwd: string;\n\n constructor(cwd: string) {\n this.cwd = cwd;\n }\n\n scan(patterns: string[]) {\n // we use fastglob instead of glob because it supports negation patterns\n const filenames = fastglob.sync(patterns, {\n cwd: this.cwd,\n });\n\n // Resolve the full paths for every filename\n return filenames.map((filename) => path.join(this.cwd, filename));\n }\n}\n\nexport const fileScannerFactory = (cwd: string) => new FileScanner(cwd);\n"],"names":["FileScanner","scan","patterns","filenames","fastglob","sync","cwd","map","filename","path","join","fileScannerFactory"],"mappings":";;;;;AAKO,MAAMA,WAAAA,CAAAA;AAOXC,IAAAA,IAAAA,CAAKC,QAAkB,EAAE;;AAEvB,QAAA,MAAMC,
|
|
1
|
+
{"version":3,"file":"scanner.js","sources":["../../../../src/modules/file-scanner/scanner.ts"],"sourcesContent":["import path from 'node:path';\nimport fastglob from 'fast-glob';\n\nimport type { FileScanner as FileScannerInterface } from './types';\n\nexport class FileScanner implements FileScannerInterface {\n public cwd: string;\n\n constructor(cwd: string) {\n this.cwd = cwd;\n }\n\n scan(patterns: string[]) {\n // we use fastglob instead of glob because it supports negation patterns\n const filenames = fastglob.sync(patterns, {\n cwd: this.cwd,\n });\n\n // Resolve the full paths for every filename\n return filenames.map((filename) => path.join(this.cwd, filename));\n }\n}\n\nexport const fileScannerFactory = (cwd: string) => new FileScanner(cwd);\n"],"names":["FileScanner","scan","patterns","filenames","fastglob","sync","cwd","map","filename","path","join","fileScannerFactory"],"mappings":";;;;;AAKO,MAAMA,WAAAA,CAAAA;AAOXC,IAAAA,IAAAA,CAAKC,QAAkB,EAAE;;AAEvB,QAAA,MAAMC,SAAAA,GAAYC,QAAAA,CAASC,IAAI,CAACH,QAAAA,EAAU;YACxCI,GAAAA,EAAK,IAAI,CAACA;AACZ,SAAA,CAAA;;QAGA,OAAOH,SAAAA,CAAUI,GAAG,CAAC,CAACC,QAAAA,GAAaC,IAAAA,CAAKC,IAAI,CAAC,IAAI,CAACJ,GAAG,EAAEE,QAAAA,CAAAA,CAAAA;AACzD,IAAA;AAZA,IAAA,WAAA,CAAYF,GAAW,CAAE;QACvB,IAAI,CAACA,GAAG,GAAGA,GAAAA;AACb,IAAA;AAWF;MAEaK,kBAAAA,GAAqB,CAACL,GAAAA,GAAgB,IAAIN,YAAYM,GAAAA;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scanner.mjs","sources":["../../../../src/modules/file-scanner/scanner.ts"],"sourcesContent":["import path from 'node:path';\nimport fastglob from 'fast-glob';\n\nimport type { FileScanner as FileScannerInterface } from './types';\n\nexport class FileScanner implements FileScannerInterface {\n public cwd: string;\n\n constructor(cwd: string) {\n this.cwd = cwd;\n }\n\n scan(patterns: string[]) {\n // we use fastglob instead of glob because it supports negation patterns\n const filenames = fastglob.sync(patterns, {\n cwd: this.cwd,\n });\n\n // Resolve the full paths for every filename\n return filenames.map((filename) => path.join(this.cwd, filename));\n }\n}\n\nexport const fileScannerFactory = (cwd: string) => new FileScanner(cwd);\n"],"names":["FileScanner","scan","patterns","filenames","fastglob","sync","cwd","map","filename","path","join","fileScannerFactory"],"mappings":";;;AAKO,MAAMA,WAAAA,CAAAA;AAOXC,IAAAA,IAAAA,CAAKC,QAAkB,EAAE;;AAEvB,QAAA,MAAMC,
|
|
1
|
+
{"version":3,"file":"scanner.mjs","sources":["../../../../src/modules/file-scanner/scanner.ts"],"sourcesContent":["import path from 'node:path';\nimport fastglob from 'fast-glob';\n\nimport type { FileScanner as FileScannerInterface } from './types';\n\nexport class FileScanner implements FileScannerInterface {\n public cwd: string;\n\n constructor(cwd: string) {\n this.cwd = cwd;\n }\n\n scan(patterns: string[]) {\n // we use fastglob instead of glob because it supports negation patterns\n const filenames = fastglob.sync(patterns, {\n cwd: this.cwd,\n });\n\n // Resolve the full paths for every filename\n return filenames.map((filename) => path.join(this.cwd, filename));\n }\n}\n\nexport const fileScannerFactory = (cwd: string) => new FileScanner(cwd);\n"],"names":["FileScanner","scan","patterns","filenames","fastglob","sync","cwd","map","filename","path","join","fileScannerFactory"],"mappings":";;;AAKO,MAAMA,WAAAA,CAAAA;AAOXC,IAAAA,IAAAA,CAAKC,QAAkB,EAAE;;AAEvB,QAAA,MAAMC,SAAAA,GAAYC,QAAAA,CAASC,IAAI,CAACH,QAAAA,EAAU;YACxCI,GAAAA,EAAK,IAAI,CAACA;AACZ,SAAA,CAAA;;QAGA,OAAOH,SAAAA,CAAUI,GAAG,CAAC,CAACC,QAAAA,GAAaC,IAAAA,CAAKC,IAAI,CAAC,IAAI,CAACJ,GAAG,EAAEE,QAAAA,CAAAA,CAAAA;AACzD,IAAA;AAZA,IAAA,WAAA,CAAYF,GAAW,CAAE;QACvB,IAAI,CAACA,GAAG,GAAGA,GAAAA;AACb,IAAA;AAWF;MAEaK,kBAAAA,GAAqB,CAACL,GAAAA,GAAgB,IAAIN,YAAYM,GAAAA;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"formats.js","sources":["../../../../src/modules/format/formats.ts"],"sourcesContent":["import CliTable3 from 'cli-table3';\nimport chalk from 'chalk';\n\nimport { constants as timerConstants } from '../timer';\n\nimport type { AppProject, PluginProject, ProjectType } from '../project';\nimport type { Codemod } from '../codemod';\nimport type { Version } from '../version';\nimport type { Report } from '../report';\n\nexport const path = (path: string) => chalk.blue(path);\n\nexport const version = (version: Version.LiteralVersion | Version.SemVer) => {\n return chalk.italic.yellow(`v${version}`);\n};\n\nexport const codemodUID = (uid: string) => {\n return chalk.bold.cyan(uid);\n};\n\nexport const projectDetails = (project: AppProject | PluginProject) => {\n return `Project: TYPE=${projectType(project.type)}; CWD=${path(project.cwd)}; PATHS=${project.paths.map(path)}`;\n};\n\nexport const projectType = (type: ProjectType) => chalk.cyan(type);\n\nexport const versionRange = (range: Version.Range) => chalk.italic.yellow(range.raw);\n\nexport const transform = (transformFilePath: string) => chalk.cyan(transformFilePath);\n\nexport const highlight = (arg: unknown) => chalk.bold.underline(arg);\n\nexport const upgradeStep = (text: string, step: [current: number, total: number]) => {\n return chalk.bold(`(${step[0]}/${step[1]}) ${text}...`);\n};\n\nexport const reports = (reports: Report.CodemodReport[]) => {\n const rows = reports.map(({ codemod, report }, i) => {\n const fIndex = chalk.grey(i);\n const fVersion = chalk.magenta(codemod.version);\n const fKind = chalk.yellow(codemod.kind);\n const fFormattedTransformPath = chalk.cyan(codemod.format());\n const fTimeElapsed =\n i === 0\n ? `${report.timeElapsed}s ${chalk.dim.italic('(cold start)')}`\n : `${report.timeElapsed}s`;\n const fAffected = report.ok > 0 ? chalk.green(report.ok) : chalk.grey(0);\n const fUnchanged = report.ok === 0 ? chalk.red(report.nochange) : chalk.grey(report.nochange);\n\n return [fIndex, fVersion, fKind, fFormattedTransformPath, fAffected, fUnchanged, fTimeElapsed];\n });\n\n const table = new CliTable3({\n style: { compact: true },\n head: [\n chalk.bold.grey('N°'),\n chalk.bold.magenta('Version'),\n chalk.bold.yellow('Kind'),\n chalk.bold.cyan('Name'),\n chalk.bold.green('Affected'),\n chalk.bold.red('Unchanged'),\n chalk.bold.blue('Duration'),\n ],\n });\n\n table.push(...rows);\n\n return table.toString();\n};\n\nexport const codemodList = (codemods: Codemod.List) => {\n type Row = [index: string, version: string, kind: string, name: string, uid: string];\n\n const rows = codemods.map<Row>((codemod, index) => {\n const fIndex = chalk.grey(index);\n const fVersion = chalk.magenta(codemod.version);\n const fKind = chalk.yellow(codemod.kind);\n const fName = chalk.blue(codemod.format());\n const fUID = codemodUID(codemod.uid);\n\n return [fIndex, fVersion, fKind, fName, fUID] satisfies Row;\n });\n\n const table = new CliTable3({\n style: { compact: true },\n head: [\n chalk.bold.grey('N°'),\n chalk.bold.magenta('Version'),\n chalk.bold.yellow('Kind'),\n chalk.bold.blue('Name'),\n chalk.bold.cyan('UID'),\n ],\n });\n\n table.push(...rows);\n\n return table.toString();\n};\n\nexport const durationMs = (elapsedMs: number) => {\n const elapsedSeconds = (elapsedMs / timerConstants.ONE_SECOND_MS).toFixed(3);\n\n return `${elapsedSeconds}s`;\n};\n"],"names":["path","chalk","blue","version","italic","yellow","codemodUID","uid","bold","cyan","projectDetails","project","projectType","type","cwd","paths","map","versionRange","range","raw","transform","transformFilePath","highlight","arg","underline","upgradeStep","text","step","reports","rows","codemod","report","i","fIndex","grey","fVersion","magenta","fKind","kind","fFormattedTransformPath","format","fTimeElapsed","timeElapsed","dim","fAffected","ok","green","fUnchanged","red","nochange","table","CliTable3","style","compact","head","push","toString","codemodList","codemods","index","fName","fUID","durationMs","elapsedMs","elapsedSeconds","timerConstants","toFixed"],"mappings":";;;;;;MAUaA,
|
|
1
|
+
{"version":3,"file":"formats.js","sources":["../../../../src/modules/format/formats.ts"],"sourcesContent":["import CliTable3 from 'cli-table3';\nimport chalk from 'chalk';\n\nimport { constants as timerConstants } from '../timer';\n\nimport type { AppProject, PluginProject, ProjectType } from '../project';\nimport type { Codemod } from '../codemod';\nimport type { Version } from '../version';\nimport type { Report } from '../report';\n\nexport const path = (path: string) => chalk.blue(path);\n\nexport const version = (version: Version.LiteralVersion | Version.SemVer) => {\n return chalk.italic.yellow(`v${version}`);\n};\n\nexport const codemodUID = (uid: string) => {\n return chalk.bold.cyan(uid);\n};\n\nexport const projectDetails = (project: AppProject | PluginProject) => {\n return `Project: TYPE=${projectType(project.type)}; CWD=${path(project.cwd)}; PATHS=${project.paths.map(path)}`;\n};\n\nexport const projectType = (type: ProjectType) => chalk.cyan(type);\n\nexport const versionRange = (range: Version.Range) => chalk.italic.yellow(range.raw);\n\nexport const transform = (transformFilePath: string) => chalk.cyan(transformFilePath);\n\nexport const highlight = (arg: unknown) => chalk.bold.underline(arg);\n\nexport const upgradeStep = (text: string, step: [current: number, total: number]) => {\n return chalk.bold(`(${step[0]}/${step[1]}) ${text}...`);\n};\n\nexport const reports = (reports: Report.CodemodReport[]) => {\n const rows = reports.map(({ codemod, report }, i) => {\n const fIndex = chalk.grey(i);\n const fVersion = chalk.magenta(codemod.version);\n const fKind = chalk.yellow(codemod.kind);\n const fFormattedTransformPath = chalk.cyan(codemod.format());\n const fTimeElapsed =\n i === 0\n ? `${report.timeElapsed}s ${chalk.dim.italic('(cold start)')}`\n : `${report.timeElapsed}s`;\n const fAffected = report.ok > 0 ? chalk.green(report.ok) : chalk.grey(0);\n const fUnchanged = report.ok === 0 ? chalk.red(report.nochange) : chalk.grey(report.nochange);\n\n return [fIndex, fVersion, fKind, fFormattedTransformPath, fAffected, fUnchanged, fTimeElapsed];\n });\n\n const table = new CliTable3({\n style: { compact: true },\n head: [\n chalk.bold.grey('N°'),\n chalk.bold.magenta('Version'),\n chalk.bold.yellow('Kind'),\n chalk.bold.cyan('Name'),\n chalk.bold.green('Affected'),\n chalk.bold.red('Unchanged'),\n chalk.bold.blue('Duration'),\n ],\n });\n\n table.push(...rows);\n\n return table.toString();\n};\n\nexport const codemodList = (codemods: Codemod.List) => {\n type Row = [index: string, version: string, kind: string, name: string, uid: string];\n\n const rows = codemods.map<Row>((codemod, index) => {\n const fIndex = chalk.grey(index);\n const fVersion = chalk.magenta(codemod.version);\n const fKind = chalk.yellow(codemod.kind);\n const fName = chalk.blue(codemod.format());\n const fUID = codemodUID(codemod.uid);\n\n return [fIndex, fVersion, fKind, fName, fUID] satisfies Row;\n });\n\n const table = new CliTable3({\n style: { compact: true },\n head: [\n chalk.bold.grey('N°'),\n chalk.bold.magenta('Version'),\n chalk.bold.yellow('Kind'),\n chalk.bold.blue('Name'),\n chalk.bold.cyan('UID'),\n ],\n });\n\n table.push(...rows);\n\n return table.toString();\n};\n\nexport const durationMs = (elapsedMs: number) => {\n const elapsedSeconds = (elapsedMs / timerConstants.ONE_SECOND_MS).toFixed(3);\n\n return `${elapsedSeconds}s`;\n};\n"],"names":["path","chalk","blue","version","italic","yellow","codemodUID","uid","bold","cyan","projectDetails","project","projectType","type","cwd","paths","map","versionRange","range","raw","transform","transformFilePath","highlight","arg","underline","upgradeStep","text","step","reports","rows","codemod","report","i","fIndex","grey","fVersion","magenta","fKind","kind","fFormattedTransformPath","format","fTimeElapsed","timeElapsed","dim","fAffected","ok","green","fUnchanged","red","nochange","table","CliTable3","style","compact","head","push","toString","codemodList","codemods","index","fName","fUID","durationMs","elapsedMs","elapsedSeconds","timerConstants","toFixed"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"formats.mjs","sources":["../../../../src/modules/format/formats.ts"],"sourcesContent":["import CliTable3 from 'cli-table3';\nimport chalk from 'chalk';\n\nimport { constants as timerConstants } from '../timer';\n\nimport type { AppProject, PluginProject, ProjectType } from '../project';\nimport type { Codemod } from '../codemod';\nimport type { Version } from '../version';\nimport type { Report } from '../report';\n\nexport const path = (path: string) => chalk.blue(path);\n\nexport const version = (version: Version.LiteralVersion | Version.SemVer) => {\n return chalk.italic.yellow(`v${version}`);\n};\n\nexport const codemodUID = (uid: string) => {\n return chalk.bold.cyan(uid);\n};\n\nexport const projectDetails = (project: AppProject | PluginProject) => {\n return `Project: TYPE=${projectType(project.type)}; CWD=${path(project.cwd)}; PATHS=${project.paths.map(path)}`;\n};\n\nexport const projectType = (type: ProjectType) => chalk.cyan(type);\n\nexport const versionRange = (range: Version.Range) => chalk.italic.yellow(range.raw);\n\nexport const transform = (transformFilePath: string) => chalk.cyan(transformFilePath);\n\nexport const highlight = (arg: unknown) => chalk.bold.underline(arg);\n\nexport const upgradeStep = (text: string, step: [current: number, total: number]) => {\n return chalk.bold(`(${step[0]}/${step[1]}) ${text}...`);\n};\n\nexport const reports = (reports: Report.CodemodReport[]) => {\n const rows = reports.map(({ codemod, report }, i) => {\n const fIndex = chalk.grey(i);\n const fVersion = chalk.magenta(codemod.version);\n const fKind = chalk.yellow(codemod.kind);\n const fFormattedTransformPath = chalk.cyan(codemod.format());\n const fTimeElapsed =\n i === 0\n ? `${report.timeElapsed}s ${chalk.dim.italic('(cold start)')}`\n : `${report.timeElapsed}s`;\n const fAffected = report.ok > 0 ? chalk.green(report.ok) : chalk.grey(0);\n const fUnchanged = report.ok === 0 ? chalk.red(report.nochange) : chalk.grey(report.nochange);\n\n return [fIndex, fVersion, fKind, fFormattedTransformPath, fAffected, fUnchanged, fTimeElapsed];\n });\n\n const table = new CliTable3({\n style: { compact: true },\n head: [\n chalk.bold.grey('N°'),\n chalk.bold.magenta('Version'),\n chalk.bold.yellow('Kind'),\n chalk.bold.cyan('Name'),\n chalk.bold.green('Affected'),\n chalk.bold.red('Unchanged'),\n chalk.bold.blue('Duration'),\n ],\n });\n\n table.push(...rows);\n\n return table.toString();\n};\n\nexport const codemodList = (codemods: Codemod.List) => {\n type Row = [index: string, version: string, kind: string, name: string, uid: string];\n\n const rows = codemods.map<Row>((codemod, index) => {\n const fIndex = chalk.grey(index);\n const fVersion = chalk.magenta(codemod.version);\n const fKind = chalk.yellow(codemod.kind);\n const fName = chalk.blue(codemod.format());\n const fUID = codemodUID(codemod.uid);\n\n return [fIndex, fVersion, fKind, fName, fUID] satisfies Row;\n });\n\n const table = new CliTable3({\n style: { compact: true },\n head: [\n chalk.bold.grey('N°'),\n chalk.bold.magenta('Version'),\n chalk.bold.yellow('Kind'),\n chalk.bold.blue('Name'),\n chalk.bold.cyan('UID'),\n ],\n });\n\n table.push(...rows);\n\n return table.toString();\n};\n\nexport const durationMs = (elapsedMs: number) => {\n const elapsedSeconds = (elapsedMs / timerConstants.ONE_SECOND_MS).toFixed(3);\n\n return `${elapsedSeconds}s`;\n};\n"],"names":["path","chalk","blue","version","italic","yellow","codemodUID","uid","bold","cyan","projectDetails","project","projectType","type","cwd","paths","map","versionRange","range","raw","transform","transformFilePath","highlight","arg","underline","upgradeStep","text","step","reports","rows","codemod","report","i","fIndex","grey","fVersion","magenta","fKind","kind","fFormattedTransformPath","format","fTimeElapsed","timeElapsed","dim","fAffected","ok","green","fUnchanged","red","nochange","table","CliTable3","style","compact","head","push","toString","codemodList","codemods","index","fName","fUID","durationMs","elapsedMs","elapsedSeconds","timerConstants","toFixed"],"mappings":";;;;MAUaA,
|
|
1
|
+
{"version":3,"file":"formats.mjs","sources":["../../../../src/modules/format/formats.ts"],"sourcesContent":["import CliTable3 from 'cli-table3';\nimport chalk from 'chalk';\n\nimport { constants as timerConstants } from '../timer';\n\nimport type { AppProject, PluginProject, ProjectType } from '../project';\nimport type { Codemod } from '../codemod';\nimport type { Version } from '../version';\nimport type { Report } from '../report';\n\nexport const path = (path: string) => chalk.blue(path);\n\nexport const version = (version: Version.LiteralVersion | Version.SemVer) => {\n return chalk.italic.yellow(`v${version}`);\n};\n\nexport const codemodUID = (uid: string) => {\n return chalk.bold.cyan(uid);\n};\n\nexport const projectDetails = (project: AppProject | PluginProject) => {\n return `Project: TYPE=${projectType(project.type)}; CWD=${path(project.cwd)}; PATHS=${project.paths.map(path)}`;\n};\n\nexport const projectType = (type: ProjectType) => chalk.cyan(type);\n\nexport const versionRange = (range: Version.Range) => chalk.italic.yellow(range.raw);\n\nexport const transform = (transformFilePath: string) => chalk.cyan(transformFilePath);\n\nexport const highlight = (arg: unknown) => chalk.bold.underline(arg);\n\nexport const upgradeStep = (text: string, step: [current: number, total: number]) => {\n return chalk.bold(`(${step[0]}/${step[1]}) ${text}...`);\n};\n\nexport const reports = (reports: Report.CodemodReport[]) => {\n const rows = reports.map(({ codemod, report }, i) => {\n const fIndex = chalk.grey(i);\n const fVersion = chalk.magenta(codemod.version);\n const fKind = chalk.yellow(codemod.kind);\n const fFormattedTransformPath = chalk.cyan(codemod.format());\n const fTimeElapsed =\n i === 0\n ? `${report.timeElapsed}s ${chalk.dim.italic('(cold start)')}`\n : `${report.timeElapsed}s`;\n const fAffected = report.ok > 0 ? chalk.green(report.ok) : chalk.grey(0);\n const fUnchanged = report.ok === 0 ? chalk.red(report.nochange) : chalk.grey(report.nochange);\n\n return [fIndex, fVersion, fKind, fFormattedTransformPath, fAffected, fUnchanged, fTimeElapsed];\n });\n\n const table = new CliTable3({\n style: { compact: true },\n head: [\n chalk.bold.grey('N°'),\n chalk.bold.magenta('Version'),\n chalk.bold.yellow('Kind'),\n chalk.bold.cyan('Name'),\n chalk.bold.green('Affected'),\n chalk.bold.red('Unchanged'),\n chalk.bold.blue('Duration'),\n ],\n });\n\n table.push(...rows);\n\n return table.toString();\n};\n\nexport const codemodList = (codemods: Codemod.List) => {\n type Row = [index: string, version: string, kind: string, name: string, uid: string];\n\n const rows = codemods.map<Row>((codemod, index) => {\n const fIndex = chalk.grey(index);\n const fVersion = chalk.magenta(codemod.version);\n const fKind = chalk.yellow(codemod.kind);\n const fName = chalk.blue(codemod.format());\n const fUID = codemodUID(codemod.uid);\n\n return [fIndex, fVersion, fKind, fName, fUID] satisfies Row;\n });\n\n const table = new CliTable3({\n style: { compact: true },\n head: [\n chalk.bold.grey('N°'),\n chalk.bold.magenta('Version'),\n chalk.bold.yellow('Kind'),\n chalk.bold.blue('Name'),\n chalk.bold.cyan('UID'),\n ],\n });\n\n table.push(...rows);\n\n return table.toString();\n};\n\nexport const durationMs = (elapsedMs: number) => {\n const elapsedSeconds = (elapsedMs / timerConstants.ONE_SECOND_MS).toFixed(3);\n\n return `${elapsedSeconds}s`;\n};\n"],"names":["path","chalk","blue","version","italic","yellow","codemodUID","uid","bold","cyan","projectDetails","project","projectType","type","cwd","paths","map","versionRange","range","raw","transform","transformFilePath","highlight","arg","underline","upgradeStep","text","step","reports","rows","codemod","report","i","fIndex","grey","fVersion","magenta","fKind","kind","fFormattedTransformPath","format","fTimeElapsed","timeElapsed","dim","fAffected","ok","green","fUnchanged","red","nochange","table","CliTable3","style","compact","head","push","toString","codemodList","codemods","index","fName","fUID","durationMs","elapsedMs","elapsedSeconds","timerConstants","toFixed"],"mappings":"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"}
|
|
@@ -3,8 +3,8 @@
|
|
|
3
3
|
var index = require('./codemod/index.js');
|
|
4
4
|
var index$1 = require('./codemod-repository/index.js');
|
|
5
5
|
var index$2 = require('./error/index.js');
|
|
6
|
-
var index$
|
|
7
|
-
var index$
|
|
6
|
+
var index$4 = require('./file-scanner/index.js');
|
|
7
|
+
var index$3 = require('./format/index.js');
|
|
8
8
|
var index$5 = require('./logger/index.js');
|
|
9
9
|
var index$6 = require('./project/index.js');
|
|
10
10
|
var index$7 = require('./report/index.js');
|
|
@@ -19,8 +19,8 @@ var index$c = require('./version/index.js');
|
|
|
19
19
|
exports.codemod = index;
|
|
20
20
|
exports.codemodRepository = index$1;
|
|
21
21
|
exports.error = index$2;
|
|
22
|
-
exports.fileScanner = index$
|
|
23
|
-
exports.f = index$
|
|
22
|
+
exports.fileScanner = index$4;
|
|
23
|
+
exports.f = index$3;
|
|
24
24
|
exports.logger = index$5;
|
|
25
25
|
exports.project = index$6;
|
|
26
26
|
exports.report = index$7;
|
|
@@ -4,10 +4,10 @@ import * as index$1 from './codemod-repository/index.mjs';
|
|
|
4
4
|
export { index$1 as codemodRepository };
|
|
5
5
|
import * as index$2 from './error/index.mjs';
|
|
6
6
|
export { index$2 as error };
|
|
7
|
-
import * as index$
|
|
8
|
-
export { index$
|
|
9
|
-
import * as index$
|
|
10
|
-
export { index$
|
|
7
|
+
import * as index$4 from './file-scanner/index.mjs';
|
|
8
|
+
export { index$4 as fileScanner };
|
|
9
|
+
import * as index$3 from './format/index.mjs';
|
|
10
|
+
export { index$3 as f };
|
|
11
11
|
import * as index$5 from './logger/index.mjs';
|
|
12
12
|
export { index$5 as logger };
|
|
13
13
|
import * as index$6 from './project/index.mjs';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file.js","sources":["../../../../src/modules/json/file.ts"],"sourcesContent":["import fse from 'fs-extra';\n\nimport type { Utils } from '@strapi/types';\n\nexport const readJSON = async (path: string): Promise<Utils.JSONValue> => {\n const buffer = await fse.readFile(path);\n\n return JSON.parse(buffer.toString());\n};\n\nexport const saveJSON = async (path: string, json: Utils.JSONValue): Promise<void> => {\n const jsonAsString = `${JSON.stringify(json, null, 2)}\\n`;\n\n await fse.writeFile(path, jsonAsString);\n};\n"],"names":["readJSON","path","buffer","fse","readFile","JSON","parse","toString","saveJSON","json","jsonAsString","stringify","writeFile"],"mappings":";;;;AAIO,MAAMA,WAAW,OAAOC,IAAAA,GAAAA;AAC7B,IAAA,MAAMC,
|
|
1
|
+
{"version":3,"file":"file.js","sources":["../../../../src/modules/json/file.ts"],"sourcesContent":["import fse from 'fs-extra';\n\nimport type { Utils } from '@strapi/types';\n\nexport const readJSON = async (path: string): Promise<Utils.JSONValue> => {\n const buffer = await fse.readFile(path);\n\n return JSON.parse(buffer.toString());\n};\n\nexport const saveJSON = async (path: string, json: Utils.JSONValue): Promise<void> => {\n const jsonAsString = `${JSON.stringify(json, null, 2)}\\n`;\n\n await fse.writeFile(path, jsonAsString);\n};\n"],"names":["readJSON","path","buffer","fse","readFile","JSON","parse","toString","saveJSON","json","jsonAsString","stringify","writeFile"],"mappings":";;;;AAIO,MAAMA,WAAW,OAAOC,IAAAA,GAAAA;AAC7B,IAAA,MAAMC,MAAAA,GAAS,MAAMC,GAAAA,CAAIC,QAAQ,CAACH,IAAAA,CAAAA;AAElC,IAAA,OAAOI,IAAAA,CAAKC,KAAK,CAACJ,MAAAA,CAAOK,QAAQ,EAAA,CAAA;AACnC;AAEO,MAAMC,QAAAA,GAAW,OAAOP,IAAAA,EAAcQ,IAAAA,GAAAA;IAC3C,MAAMC,YAAAA,GAAe,GAAGL,IAAAA,CAAKM,SAAS,CAACF,IAAAA,EAAM,IAAA,EAAM,CAAA,CAAA,CAAG,EAAE,CAAC;IAEzD,MAAMN,GAAAA,CAAIS,SAAS,CAACX,IAAAA,EAAMS,YAAAA,CAAAA;AAC5B;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file.mjs","sources":["../../../../src/modules/json/file.ts"],"sourcesContent":["import fse from 'fs-extra';\n\nimport type { Utils } from '@strapi/types';\n\nexport const readJSON = async (path: string): Promise<Utils.JSONValue> => {\n const buffer = await fse.readFile(path);\n\n return JSON.parse(buffer.toString());\n};\n\nexport const saveJSON = async (path: string, json: Utils.JSONValue): Promise<void> => {\n const jsonAsString = `${JSON.stringify(json, null, 2)}\\n`;\n\n await fse.writeFile(path, jsonAsString);\n};\n"],"names":["readJSON","path","buffer","fse","readFile","JSON","parse","toString","saveJSON","json","jsonAsString","stringify","writeFile"],"mappings":";;AAIO,MAAMA,WAAW,OAAOC,IAAAA,GAAAA;AAC7B,IAAA,MAAMC,
|
|
1
|
+
{"version":3,"file":"file.mjs","sources":["../../../../src/modules/json/file.ts"],"sourcesContent":["import fse from 'fs-extra';\n\nimport type { Utils } from '@strapi/types';\n\nexport const readJSON = async (path: string): Promise<Utils.JSONValue> => {\n const buffer = await fse.readFile(path);\n\n return JSON.parse(buffer.toString());\n};\n\nexport const saveJSON = async (path: string, json: Utils.JSONValue): Promise<void> => {\n const jsonAsString = `${JSON.stringify(json, null, 2)}\\n`;\n\n await fse.writeFile(path, jsonAsString);\n};\n"],"names":["readJSON","path","buffer","fse","readFile","JSON","parse","toString","saveJSON","json","jsonAsString","stringify","writeFile"],"mappings":";;AAIO,MAAMA,WAAW,OAAOC,IAAAA,GAAAA;AAC7B,IAAA,MAAMC,MAAAA,GAAS,MAAMC,GAAAA,CAAIC,QAAQ,CAACH,IAAAA,CAAAA;AAElC,IAAA,OAAOI,IAAAA,CAAKC,KAAK,CAACJ,MAAAA,CAAOK,QAAQ,EAAA,CAAA;AACnC;AAEO,MAAMC,QAAAA,GAAW,OAAOP,IAAAA,EAAcQ,IAAAA,GAAAA;IAC3C,MAAMC,YAAAA,GAAe,GAAGL,IAAAA,CAAKM,SAAS,CAACF,IAAAA,EAAM,IAAA,EAAM,CAAA,CAAA,CAAG,EAAE,CAAC;IAEzD,MAAMN,GAAAA,CAAIS,SAAS,CAACX,IAAAA,EAAMS,YAAAA,CAAAA;AAC5B;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transform-api.js","sources":["../../../../src/modules/json/transform-api.ts"],"sourcesContent":["import { cloneDeep, get, has, set, merge, omit } from 'lodash/fp';\n\nimport type { Utils } from '@strapi/types';\n\nimport type { JSONTransformAPI as JSONTransformAPIInterface } from './types';\n\nexport class JSONTransformAPI implements JSONTransformAPIInterface {\n private json: Utils.JSONObject;\n\n constructor(json: Utils.JSONObject) {\n this.json = cloneDeep(json);\n }\n\n get<T extends Utils.JSONValue>(path: string): T | undefined;\n get<T extends Utils.JSONValue>(path: string, defaultValue: T): T;\n get<T extends Utils.JSONValue>(path?: string, defaultValue?: T) {\n if (!path) {\n return this.root() as T;\n }\n\n return cloneDeep(get(path, this.json) ?? defaultValue) as T;\n }\n\n has(path: string) {\n return has(path, this.json);\n }\n\n merge(other: Utils.JSONObject) {\n this.json = merge(other, this.json);\n\n return this;\n }\n\n root(): Utils.JSONObject {\n return cloneDeep(this.json);\n }\n\n set(path: string, value: Utils.JSONValue) {\n this.json = set(path, value, this.json);\n\n return this;\n }\n\n remove(path: string) {\n this.json = omit(path, this.json);\n return this;\n }\n}\n\nexport const createJSONTransformAPI = (object: Utils.JSONObject) => new JSONTransformAPI(object);\n"],"names":["JSONTransformAPI","get","path","defaultValue","root","cloneDeep","json","has","merge","other","set","value","remove","omit","createJSONTransformAPI","object"],"mappings":";;;;AAMO,MAAMA,gBAAAA,CAAAA;IASXC,
|
|
1
|
+
{"version":3,"file":"transform-api.js","sources":["../../../../src/modules/json/transform-api.ts"],"sourcesContent":["import { cloneDeep, get, has, set, merge, omit } from 'lodash/fp';\n\nimport type { Utils } from '@strapi/types';\n\nimport type { JSONTransformAPI as JSONTransformAPIInterface } from './types';\n\nexport class JSONTransformAPI implements JSONTransformAPIInterface {\n private json: Utils.JSONObject;\n\n constructor(json: Utils.JSONObject) {\n this.json = cloneDeep(json);\n }\n\n get<T extends Utils.JSONValue>(path: string): T | undefined;\n get<T extends Utils.JSONValue>(path: string, defaultValue: T): T;\n get<T extends Utils.JSONValue>(path?: string, defaultValue?: T) {\n if (!path) {\n return this.root() as T;\n }\n\n return cloneDeep(get(path, this.json) ?? defaultValue) as T;\n }\n\n has(path: string) {\n return has(path, this.json);\n }\n\n merge(other: Utils.JSONObject) {\n this.json = merge(other, this.json);\n\n return this;\n }\n\n root(): Utils.JSONObject {\n return cloneDeep(this.json);\n }\n\n set(path: string, value: Utils.JSONValue) {\n this.json = set(path, value, this.json);\n\n return this;\n }\n\n remove(path: string) {\n this.json = omit(path, this.json);\n return this;\n }\n}\n\nexport const createJSONTransformAPI = (object: Utils.JSONObject) => new JSONTransformAPI(object);\n"],"names":["JSONTransformAPI","get","path","defaultValue","root","cloneDeep","json","has","merge","other","set","value","remove","omit","createJSONTransformAPI","object"],"mappings":";;;;AAMO,MAAMA,gBAAAA,CAAAA;IASXC,GAAAA,CAA+BC,IAAa,EAAEC,YAAgB,EAAE;AAC9D,QAAA,IAAI,CAACD,IAAAA,EAAM;YACT,OAAO,IAAI,CAACE,IAAI,EAAA;AAClB,QAAA;AAEA,QAAA,OAAOC,aAAUJ,MAAAA,CAAIC,IAAAA,EAAM,IAAI,CAACI,IAAI,CAAA,IAAKH,YAAAA,CAAAA;AAC3C,IAAA;AAEAI,IAAAA,GAAAA,CAAIL,IAAY,EAAE;AAChB,QAAA,OAAOK,MAAAA,CAAIL,IAAAA,EAAM,IAAI,CAACI,IAAI,CAAA;AAC5B,IAAA;AAEAE,IAAAA,KAAAA,CAAMC,KAAuB,EAAE;AAC7B,QAAA,IAAI,CAACH,IAAI,GAAGE,SAAMC,KAAAA,EAAO,IAAI,CAACH,IAAI,CAAA;AAElC,QAAA,OAAO,IAAI;AACb,IAAA;IAEAF,IAAAA,GAAyB;QACvB,OAAOC,YAAAA,CAAU,IAAI,CAACC,IAAI,CAAA;AAC5B,IAAA;IAEAI,GAAAA,CAAIR,IAAY,EAAES,KAAsB,EAAE;QACxC,IAAI,CAACL,IAAI,GAAGI,MAAAA,CAAIR,MAAMS,KAAAA,EAAO,IAAI,CAACL,IAAI,CAAA;AAEtC,QAAA,OAAO,IAAI;AACb,IAAA;AAEAM,IAAAA,MAAAA,CAAOV,IAAY,EAAE;AACnB,QAAA,IAAI,CAACI,IAAI,GAAGO,QAAKX,IAAAA,EAAM,IAAI,CAACI,IAAI,CAAA;AAChC,QAAA,OAAO,IAAI;AACb,IAAA;AArCA,IAAA,WAAA,CAAYA,IAAsB,CAAE;QAClC,IAAI,CAACA,IAAI,GAAGD,YAAAA,CAAUC,IAAAA,CAAAA;AACxB,IAAA;AAoCF;MAEaQ,sBAAAA,GAAyB,CAACC,MAAAA,GAA6B,IAAIf,iBAAiBe,MAAAA;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transform-api.mjs","sources":["../../../../src/modules/json/transform-api.ts"],"sourcesContent":["import { cloneDeep, get, has, set, merge, omit } from 'lodash/fp';\n\nimport type { Utils } from '@strapi/types';\n\nimport type { JSONTransformAPI as JSONTransformAPIInterface } from './types';\n\nexport class JSONTransformAPI implements JSONTransformAPIInterface {\n private json: Utils.JSONObject;\n\n constructor(json: Utils.JSONObject) {\n this.json = cloneDeep(json);\n }\n\n get<T extends Utils.JSONValue>(path: string): T | undefined;\n get<T extends Utils.JSONValue>(path: string, defaultValue: T): T;\n get<T extends Utils.JSONValue>(path?: string, defaultValue?: T) {\n if (!path) {\n return this.root() as T;\n }\n\n return cloneDeep(get(path, this.json) ?? defaultValue) as T;\n }\n\n has(path: string) {\n return has(path, this.json);\n }\n\n merge(other: Utils.JSONObject) {\n this.json = merge(other, this.json);\n\n return this;\n }\n\n root(): Utils.JSONObject {\n return cloneDeep(this.json);\n }\n\n set(path: string, value: Utils.JSONValue) {\n this.json = set(path, value, this.json);\n\n return this;\n }\n\n remove(path: string) {\n this.json = omit(path, this.json);\n return this;\n }\n}\n\nexport const createJSONTransformAPI = (object: Utils.JSONObject) => new JSONTransformAPI(object);\n"],"names":["JSONTransformAPI","get","path","defaultValue","root","cloneDeep","json","has","merge","other","set","value","remove","omit","createJSONTransformAPI","object"],"mappings":";;AAMO,MAAMA,gBAAAA,CAAAA;IASXC,
|
|
1
|
+
{"version":3,"file":"transform-api.mjs","sources":["../../../../src/modules/json/transform-api.ts"],"sourcesContent":["import { cloneDeep, get, has, set, merge, omit } from 'lodash/fp';\n\nimport type { Utils } from '@strapi/types';\n\nimport type { JSONTransformAPI as JSONTransformAPIInterface } from './types';\n\nexport class JSONTransformAPI implements JSONTransformAPIInterface {\n private json: Utils.JSONObject;\n\n constructor(json: Utils.JSONObject) {\n this.json = cloneDeep(json);\n }\n\n get<T extends Utils.JSONValue>(path: string): T | undefined;\n get<T extends Utils.JSONValue>(path: string, defaultValue: T): T;\n get<T extends Utils.JSONValue>(path?: string, defaultValue?: T) {\n if (!path) {\n return this.root() as T;\n }\n\n return cloneDeep(get(path, this.json) ?? defaultValue) as T;\n }\n\n has(path: string) {\n return has(path, this.json);\n }\n\n merge(other: Utils.JSONObject) {\n this.json = merge(other, this.json);\n\n return this;\n }\n\n root(): Utils.JSONObject {\n return cloneDeep(this.json);\n }\n\n set(path: string, value: Utils.JSONValue) {\n this.json = set(path, value, this.json);\n\n return this;\n }\n\n remove(path: string) {\n this.json = omit(path, this.json);\n return this;\n }\n}\n\nexport const createJSONTransformAPI = (object: Utils.JSONObject) => new JSONTransformAPI(object);\n"],"names":["JSONTransformAPI","get","path","defaultValue","root","cloneDeep","json","has","merge","other","set","value","remove","omit","createJSONTransformAPI","object"],"mappings":";;AAMO,MAAMA,gBAAAA,CAAAA;IASXC,GAAAA,CAA+BC,IAAa,EAAEC,YAAgB,EAAE;AAC9D,QAAA,IAAI,CAACD,IAAAA,EAAM;YACT,OAAO,IAAI,CAACE,IAAI,EAAA;AAClB,QAAA;AAEA,QAAA,OAAOC,UAAUJ,GAAAA,CAAIC,IAAAA,EAAM,IAAI,CAACI,IAAI,CAAA,IAAKH,YAAAA,CAAAA;AAC3C,IAAA;AAEAI,IAAAA,GAAAA,CAAIL,IAAY,EAAE;AAChB,QAAA,OAAOK,GAAAA,CAAIL,IAAAA,EAAM,IAAI,CAACI,IAAI,CAAA;AAC5B,IAAA;AAEAE,IAAAA,KAAAA,CAAMC,KAAuB,EAAE;AAC7B,QAAA,IAAI,CAACH,IAAI,GAAGE,MAAMC,KAAAA,EAAO,IAAI,CAACH,IAAI,CAAA;AAElC,QAAA,OAAO,IAAI;AACb,IAAA;IAEAF,IAAAA,GAAyB;QACvB,OAAOC,SAAAA,CAAU,IAAI,CAACC,IAAI,CAAA;AAC5B,IAAA;IAEAI,GAAAA,CAAIR,IAAY,EAAES,KAAsB,EAAE;QACxC,IAAI,CAACL,IAAI,GAAGI,GAAAA,CAAIR,MAAMS,KAAAA,EAAO,IAAI,CAACL,IAAI,CAAA;AAEtC,QAAA,OAAO,IAAI;AACb,IAAA;AAEAM,IAAAA,MAAAA,CAAOV,IAAY,EAAE;AACnB,QAAA,IAAI,CAACI,IAAI,GAAGO,KAAKX,IAAAA,EAAM,IAAI,CAACI,IAAI,CAAA;AAChC,QAAA,OAAO,IAAI;AACb,IAAA;AArCA,IAAA,WAAA,CAAYA,IAAsB,CAAE;QAClC,IAAI,CAACA,IAAI,GAAGD,SAAAA,CAAUC,IAAAA,CAAAA;AACxB,IAAA;AAoCF;MAEaQ,sBAAAA,GAAyB,CAACC,MAAAA,GAA6B,IAAIf,iBAAiBe,MAAAA;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logger.js","sources":["../../../../src/modules/logger/logger.ts"],"sourcesContent":["import chalk from 'chalk';\n\nimport type { Logger as LoggerInterface, LoggerOptions } from './types';\n\nexport class Logger implements LoggerInterface {\n isDebug: boolean;\n\n isSilent: boolean;\n\n private nbErrorsCalls: number;\n\n private nbWarningsCalls: number;\n\n constructor(options: LoggerOptions = {}) {\n // Set verbosity options\n this.isDebug = options.debug ?? false;\n this.isSilent = options.silent ?? false;\n\n // Initialize counters\n this.nbErrorsCalls = 0;\n this.nbWarningsCalls = 0;\n }\n\n private get isNotSilent(): boolean {\n return !this.isSilent;\n }\n\n get errors(): number {\n return this.nbErrorsCalls;\n }\n\n get warnings(): number {\n return this.nbWarningsCalls;\n }\n\n get stdout(): (NodeJS.WriteStream & { fd: 1 }) | undefined {\n return this.isSilent ? undefined : process.stdout;\n }\n\n get stderr(): (NodeJS.WriteStream & { fd: 2 }) | undefined {\n return this.isSilent ? undefined : process.stderr;\n }\n\n setDebug(debug: boolean): this {\n this.isDebug = debug;\n return this;\n }\n\n setSilent(silent: boolean): this {\n this.isSilent = silent;\n return this;\n }\n\n debug(...args: unknown[]): this {\n const isDebugEnabled = this.isNotSilent && this.isDebug;\n\n if (isDebugEnabled) {\n console.log(chalk.cyan(`[DEBUG]\\t[${nowAsISO()}]`), ...args);\n }\n\n return this;\n }\n\n error(...args: unknown[]): this {\n this.nbErrorsCalls += 1;\n\n if (this.isNotSilent) {\n console.error(chalk.red(`[ERROR]\\t[${nowAsISO()}]`), ...args);\n }\n\n return this;\n }\n\n info(...args: unknown[]): this {\n if (this.isNotSilent) {\n console.info(chalk.blue(`[INFO]\\t[${new Date().toISOString()}]`), ...args);\n }\n\n return this;\n }\n\n raw(...args: unknown[]): this {\n if (this.isNotSilent) {\n console.log(...args);\n }\n\n return this;\n }\n\n warn(...args: unknown[]): this {\n this.nbWarningsCalls += 1;\n\n if (this.isNotSilent) {\n console.warn(chalk.yellow(`[WARN]\\t[${new Date().toISOString()}]`), ...args);\n }\n\n return this;\n }\n}\n\nconst nowAsISO = () => new Date().toISOString();\n\nexport const loggerFactory = (options: LoggerOptions = {}) => new Logger(options);\n"],"names":["Logger","isNotSilent","isSilent","errors","nbErrorsCalls","warnings","nbWarningsCalls","stdout","undefined","process","stderr","setDebug","debug","isDebug","setSilent","silent","args","isDebugEnabled","console","log","chalk","cyan","nowAsISO","error","red","info","blue","Date","toISOString","raw","warn","yellow","options","loggerFactory"],"mappings":";;;;AAIO,MAAMA,MAAAA,CAAAA;AAmBX,IAAA,IAAYC,
|
|
1
|
+
{"version":3,"file":"logger.js","sources":["../../../../src/modules/logger/logger.ts"],"sourcesContent":["import chalk from 'chalk';\n\nimport type { Logger as LoggerInterface, LoggerOptions } from './types';\n\nexport class Logger implements LoggerInterface {\n isDebug: boolean;\n\n isSilent: boolean;\n\n private nbErrorsCalls: number;\n\n private nbWarningsCalls: number;\n\n constructor(options: LoggerOptions = {}) {\n // Set verbosity options\n this.isDebug = options.debug ?? false;\n this.isSilent = options.silent ?? false;\n\n // Initialize counters\n this.nbErrorsCalls = 0;\n this.nbWarningsCalls = 0;\n }\n\n private get isNotSilent(): boolean {\n return !this.isSilent;\n }\n\n get errors(): number {\n return this.nbErrorsCalls;\n }\n\n get warnings(): number {\n return this.nbWarningsCalls;\n }\n\n get stdout(): (NodeJS.WriteStream & { fd: 1 }) | undefined {\n return this.isSilent ? undefined : process.stdout;\n }\n\n get stderr(): (NodeJS.WriteStream & { fd: 2 }) | undefined {\n return this.isSilent ? undefined : process.stderr;\n }\n\n setDebug(debug: boolean): this {\n this.isDebug = debug;\n return this;\n }\n\n setSilent(silent: boolean): this {\n this.isSilent = silent;\n return this;\n }\n\n debug(...args: unknown[]): this {\n const isDebugEnabled = this.isNotSilent && this.isDebug;\n\n if (isDebugEnabled) {\n console.log(chalk.cyan(`[DEBUG]\\t[${nowAsISO()}]`), ...args);\n }\n\n return this;\n }\n\n error(...args: unknown[]): this {\n this.nbErrorsCalls += 1;\n\n if (this.isNotSilent) {\n console.error(chalk.red(`[ERROR]\\t[${nowAsISO()}]`), ...args);\n }\n\n return this;\n }\n\n info(...args: unknown[]): this {\n if (this.isNotSilent) {\n console.info(chalk.blue(`[INFO]\\t[${new Date().toISOString()}]`), ...args);\n }\n\n return this;\n }\n\n raw(...args: unknown[]): this {\n if (this.isNotSilent) {\n console.log(...args);\n }\n\n return this;\n }\n\n warn(...args: unknown[]): this {\n this.nbWarningsCalls += 1;\n\n if (this.isNotSilent) {\n console.warn(chalk.yellow(`[WARN]\\t[${new Date().toISOString()}]`), ...args);\n }\n\n return this;\n }\n}\n\nconst nowAsISO = () => new Date().toISOString();\n\nexport const loggerFactory = (options: LoggerOptions = {}) => new Logger(options);\n"],"names":["Logger","isNotSilent","isSilent","errors","nbErrorsCalls","warnings","nbWarningsCalls","stdout","undefined","process","stderr","setDebug","debug","isDebug","setSilent","silent","args","isDebugEnabled","console","log","chalk","cyan","nowAsISO","error","red","info","blue","Date","toISOString","raw","warn","yellow","options","loggerFactory"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logger.mjs","sources":["../../../../src/modules/logger/logger.ts"],"sourcesContent":["import chalk from 'chalk';\n\nimport type { Logger as LoggerInterface, LoggerOptions } from './types';\n\nexport class Logger implements LoggerInterface {\n isDebug: boolean;\n\n isSilent: boolean;\n\n private nbErrorsCalls: number;\n\n private nbWarningsCalls: number;\n\n constructor(options: LoggerOptions = {}) {\n // Set verbosity options\n this.isDebug = options.debug ?? false;\n this.isSilent = options.silent ?? false;\n\n // Initialize counters\n this.nbErrorsCalls = 0;\n this.nbWarningsCalls = 0;\n }\n\n private get isNotSilent(): boolean {\n return !this.isSilent;\n }\n\n get errors(): number {\n return this.nbErrorsCalls;\n }\n\n get warnings(): number {\n return this.nbWarningsCalls;\n }\n\n get stdout(): (NodeJS.WriteStream & { fd: 1 }) | undefined {\n return this.isSilent ? undefined : process.stdout;\n }\n\n get stderr(): (NodeJS.WriteStream & { fd: 2 }) | undefined {\n return this.isSilent ? undefined : process.stderr;\n }\n\n setDebug(debug: boolean): this {\n this.isDebug = debug;\n return this;\n }\n\n setSilent(silent: boolean): this {\n this.isSilent = silent;\n return this;\n }\n\n debug(...args: unknown[]): this {\n const isDebugEnabled = this.isNotSilent && this.isDebug;\n\n if (isDebugEnabled) {\n console.log(chalk.cyan(`[DEBUG]\\t[${nowAsISO()}]`), ...args);\n }\n\n return this;\n }\n\n error(...args: unknown[]): this {\n this.nbErrorsCalls += 1;\n\n if (this.isNotSilent) {\n console.error(chalk.red(`[ERROR]\\t[${nowAsISO()}]`), ...args);\n }\n\n return this;\n }\n\n info(...args: unknown[]): this {\n if (this.isNotSilent) {\n console.info(chalk.blue(`[INFO]\\t[${new Date().toISOString()}]`), ...args);\n }\n\n return this;\n }\n\n raw(...args: unknown[]): this {\n if (this.isNotSilent) {\n console.log(...args);\n }\n\n return this;\n }\n\n warn(...args: unknown[]): this {\n this.nbWarningsCalls += 1;\n\n if (this.isNotSilent) {\n console.warn(chalk.yellow(`[WARN]\\t[${new Date().toISOString()}]`), ...args);\n }\n\n return this;\n }\n}\n\nconst nowAsISO = () => new Date().toISOString();\n\nexport const loggerFactory = (options: LoggerOptions = {}) => new Logger(options);\n"],"names":["Logger","isNotSilent","isSilent","errors","nbErrorsCalls","warnings","nbWarningsCalls","stdout","undefined","process","stderr","setDebug","debug","isDebug","setSilent","silent","args","isDebugEnabled","console","log","chalk","cyan","nowAsISO","error","red","info","blue","Date","toISOString","raw","warn","yellow","options","loggerFactory"],"mappings":";;AAIO,MAAMA,MAAAA,CAAAA;AAmBX,IAAA,IAAYC,
|
|
1
|
+
{"version":3,"file":"logger.mjs","sources":["../../../../src/modules/logger/logger.ts"],"sourcesContent":["import chalk from 'chalk';\n\nimport type { Logger as LoggerInterface, LoggerOptions } from './types';\n\nexport class Logger implements LoggerInterface {\n isDebug: boolean;\n\n isSilent: boolean;\n\n private nbErrorsCalls: number;\n\n private nbWarningsCalls: number;\n\n constructor(options: LoggerOptions = {}) {\n // Set verbosity options\n this.isDebug = options.debug ?? false;\n this.isSilent = options.silent ?? false;\n\n // Initialize counters\n this.nbErrorsCalls = 0;\n this.nbWarningsCalls = 0;\n }\n\n private get isNotSilent(): boolean {\n return !this.isSilent;\n }\n\n get errors(): number {\n return this.nbErrorsCalls;\n }\n\n get warnings(): number {\n return this.nbWarningsCalls;\n }\n\n get stdout(): (NodeJS.WriteStream & { fd: 1 }) | undefined {\n return this.isSilent ? undefined : process.stdout;\n }\n\n get stderr(): (NodeJS.WriteStream & { fd: 2 }) | undefined {\n return this.isSilent ? undefined : process.stderr;\n }\n\n setDebug(debug: boolean): this {\n this.isDebug = debug;\n return this;\n }\n\n setSilent(silent: boolean): this {\n this.isSilent = silent;\n return this;\n }\n\n debug(...args: unknown[]): this {\n const isDebugEnabled = this.isNotSilent && this.isDebug;\n\n if (isDebugEnabled) {\n console.log(chalk.cyan(`[DEBUG]\\t[${nowAsISO()}]`), ...args);\n }\n\n return this;\n }\n\n error(...args: unknown[]): this {\n this.nbErrorsCalls += 1;\n\n if (this.isNotSilent) {\n console.error(chalk.red(`[ERROR]\\t[${nowAsISO()}]`), ...args);\n }\n\n return this;\n }\n\n info(...args: unknown[]): this {\n if (this.isNotSilent) {\n console.info(chalk.blue(`[INFO]\\t[${new Date().toISOString()}]`), ...args);\n }\n\n return this;\n }\n\n raw(...args: unknown[]): this {\n if (this.isNotSilent) {\n console.log(...args);\n }\n\n return this;\n }\n\n warn(...args: unknown[]): this {\n this.nbWarningsCalls += 1;\n\n if (this.isNotSilent) {\n console.warn(chalk.yellow(`[WARN]\\t[${new Date().toISOString()}]`), ...args);\n }\n\n return this;\n }\n}\n\nconst nowAsISO = () => new Date().toISOString();\n\nexport const loggerFactory = (options: LoggerOptions = {}) => new Logger(options);\n"],"names":["Logger","isNotSilent","isSilent","errors","nbErrorsCalls","warnings","nbWarningsCalls","stdout","undefined","process","stderr","setDebug","debug","isDebug","setSilent","silent","args","isDebugEnabled","console","log","chalk","cyan","nowAsISO","error","red","info","blue","Date","toISOString","raw","warn","yellow","options","loggerFactory"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"package.js","sources":["../../../../src/modules/npm/package.ts"],"sourcesContent":["import assert from 'node:assert';\nimport semver from 'semver';\nimport execa from 'execa';\nimport { packageManager } from '@strapi/utils';\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';\nimport { Logger } from '../logger';\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 cwd: string;\n\n private logger: Logger;\n\n private npmPackage: NPMPackage | null;\n\n constructor(name: string, cwd: string, logger: Logger) {\n this.name = name;\n this.cwd = cwd;\n this.logger = logger;\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 private async getRegistryFromPackageManager(): Promise<string | undefined> {\n try {\n const packageManagerName = await packageManager.getPreferred(this.cwd);\n if (!packageManagerName) return undefined;\n\n const registryCommands = {\n yarn: ['config', 'get', 'npmRegistryServer'],\n npm: ['config', 'get', 'registry'],\n } as const;\n\n const command = registryCommands[packageManagerName as keyof typeof registryCommands];\n if (!command) {\n this.logger.warn(`Unsupported package manager: ${packageManagerName}`);\n return undefined;\n }\n\n const { stdout } = await execa(packageManagerName, command, { timeout: 10_000 });\n return stdout.trim() || undefined;\n } catch (error) {\n this.logger.warn('Failed to determine registry URL from package manager');\n return undefined;\n }\n }\n\n private async determineRegistryUrl(): Promise<string> {\n if (process.env.NPM_REGISTRY_URL) {\n this.logger.debug(`Using NPM_REGISTRY_URL: ${process.env.NPM_REGISTRY_URL}`);\n return process.env.NPM_REGISTRY_URL.replace(/\\/$/, '');\n }\n\n const packageManagerRegistry = await this.getRegistryFromPackageManager();\n if (packageManagerRegistry) {\n this.logger.debug(`Using package manager registry: ${packageManagerRegistry}`);\n return packageManagerRegistry.replace(/\\/$/, '');\n }\n\n this.logger.debug(`Using default registry: ${constants.NPM_REGISTRY_URL}`);\n return constants.NPM_REGISTRY_URL.replace(/\\/$/, '');\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 packageURL = `${await this.determineRegistryUrl()}/${this.name}`;\n\n const response = await fetch(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 ${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, cwd: string, logger: Logger) =>\n new Package(name, cwd, logger);\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","getRegistryFromPackageManager","packageManagerName","packageManager","getPreferred","cwd","registryCommands","yarn","npm","command","logger","warn","stdout","execa","timeout","trim","error","determineRegistryUrl","NPM_REGISTRY_URL","debug","replace","packageManagerRegistry","constants","findVersion","find","npmVersion","eq","refresh","packageURL","name","response","fetch","dispatcher","ok","json","versionExists","npmPackageFactory"],"mappings":";;;;;;;;;;AAaA,MAAMA,QAAAA,GAAWC,QAAQC,GAAG,CAACC,UAAU,IAAIF,OAAAA,CAAQC,GAAG,CAACE,WAAW;AAClE,MAAMC,
|
|
1
|
+
{"version":3,"file":"package.js","sources":["../../../../src/modules/npm/package.ts"],"sourcesContent":["import assert from 'node:assert';\nimport semver from 'semver';\nimport execa from 'execa';\nimport { packageManager } from '@strapi/utils';\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';\nimport { Logger } from '../logger';\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 cwd: string;\n\n private logger: Logger;\n\n private npmPackage: NPMPackage | null;\n\n constructor(name: string, cwd: string, logger: Logger) {\n this.name = name;\n this.cwd = cwd;\n this.logger = logger;\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 private async getRegistryFromPackageManager(): Promise<string | undefined> {\n try {\n const packageManagerName = await packageManager.getPreferred(this.cwd);\n if (!packageManagerName) return undefined;\n\n const registryCommands = {\n yarn: ['config', 'get', 'npmRegistryServer'],\n npm: ['config', 'get', 'registry'],\n } as const;\n\n const command = registryCommands[packageManagerName as keyof typeof registryCommands];\n if (!command) {\n this.logger.warn(`Unsupported package manager: ${packageManagerName}`);\n return undefined;\n }\n\n const { stdout } = await execa(packageManagerName, command, { timeout: 10_000 });\n return stdout.trim() || undefined;\n } catch (error) {\n this.logger.warn('Failed to determine registry URL from package manager');\n return undefined;\n }\n }\n\n private async determineRegistryUrl(): Promise<string> {\n if (process.env.NPM_REGISTRY_URL) {\n this.logger.debug(`Using NPM_REGISTRY_URL: ${process.env.NPM_REGISTRY_URL}`);\n return process.env.NPM_REGISTRY_URL.replace(/\\/$/, '');\n }\n\n const packageManagerRegistry = await this.getRegistryFromPackageManager();\n if (packageManagerRegistry) {\n this.logger.debug(`Using package manager registry: ${packageManagerRegistry}`);\n return packageManagerRegistry.replace(/\\/$/, '');\n }\n\n this.logger.debug(`Using default registry: ${constants.NPM_REGISTRY_URL}`);\n return constants.NPM_REGISTRY_URL.replace(/\\/$/, '');\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 packageURL = `${await this.determineRegistryUrl()}/${this.name}`;\n\n const response = await fetch(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 ${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, cwd: string, logger: Logger) =>\n new Package(name, cwd, logger);\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","getRegistryFromPackageManager","packageManagerName","packageManager","getPreferred","cwd","registryCommands","yarn","npm","command","logger","warn","stdout","execa","timeout","trim","error","determineRegistryUrl","NPM_REGISTRY_URL","debug","replace","packageManagerRegistry","constants","findVersion","find","npmVersion","eq","refresh","packageURL","name","response","fetch","dispatcher","ok","json","versionExists","npmPackageFactory"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"package.mjs","sources":["../../../../src/modules/npm/package.ts"],"sourcesContent":["import assert from 'node:assert';\nimport semver from 'semver';\nimport execa from 'execa';\nimport { packageManager } from '@strapi/utils';\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';\nimport { Logger } from '../logger';\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 cwd: string;\n\n private logger: Logger;\n\n private npmPackage: NPMPackage | null;\n\n constructor(name: string, cwd: string, logger: Logger) {\n this.name = name;\n this.cwd = cwd;\n this.logger = logger;\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 private async getRegistryFromPackageManager(): Promise<string | undefined> {\n try {\n const packageManagerName = await packageManager.getPreferred(this.cwd);\n if (!packageManagerName) return undefined;\n\n const registryCommands = {\n yarn: ['config', 'get', 'npmRegistryServer'],\n npm: ['config', 'get', 'registry'],\n } as const;\n\n const command = registryCommands[packageManagerName as keyof typeof registryCommands];\n if (!command) {\n this.logger.warn(`Unsupported package manager: ${packageManagerName}`);\n return undefined;\n }\n\n const { stdout } = await execa(packageManagerName, command, { timeout: 10_000 });\n return stdout.trim() || undefined;\n } catch (error) {\n this.logger.warn('Failed to determine registry URL from package manager');\n return undefined;\n }\n }\n\n private async determineRegistryUrl(): Promise<string> {\n if (process.env.NPM_REGISTRY_URL) {\n this.logger.debug(`Using NPM_REGISTRY_URL: ${process.env.NPM_REGISTRY_URL}`);\n return process.env.NPM_REGISTRY_URL.replace(/\\/$/, '');\n }\n\n const packageManagerRegistry = await this.getRegistryFromPackageManager();\n if (packageManagerRegistry) {\n this.logger.debug(`Using package manager registry: ${packageManagerRegistry}`);\n return packageManagerRegistry.replace(/\\/$/, '');\n }\n\n this.logger.debug(`Using default registry: ${constants.NPM_REGISTRY_URL}`);\n return constants.NPM_REGISTRY_URL.replace(/\\/$/, '');\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 packageURL = `${await this.determineRegistryUrl()}/${this.name}`;\n\n const response = await fetch(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 ${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, cwd: string, logger: Logger) =>\n new Package(name, cwd, logger);\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","getRegistryFromPackageManager","packageManagerName","packageManager","getPreferred","cwd","registryCommands","yarn","npm","command","logger","warn","stdout","execa","timeout","trim","error","determineRegistryUrl","NPM_REGISTRY_URL","debug","replace","packageManagerRegistry","constants","findVersion","find","npmVersion","eq","refresh","packageURL","name","response","fetch","dispatcher","ok","json","versionExists","npmPackageFactory"],"mappings":";;;;;;;;AAaA,MAAMA,QAAAA,GAAWC,QAAQC,GAAG,CAACC,UAAU,IAAIF,OAAAA,CAAQC,GAAG,CAACE,WAAW;AAClE,MAAMC,
|
|
1
|
+
{"version":3,"file":"package.mjs","sources":["../../../../src/modules/npm/package.ts"],"sourcesContent":["import assert from 'node:assert';\nimport semver from 'semver';\nimport execa from 'execa';\nimport { packageManager } from '@strapi/utils';\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';\nimport { Logger } from '../logger';\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 cwd: string;\n\n private logger: Logger;\n\n private npmPackage: NPMPackage | null;\n\n constructor(name: string, cwd: string, logger: Logger) {\n this.name = name;\n this.cwd = cwd;\n this.logger = logger;\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 private async getRegistryFromPackageManager(): Promise<string | undefined> {\n try {\n const packageManagerName = await packageManager.getPreferred(this.cwd);\n if (!packageManagerName) return undefined;\n\n const registryCommands = {\n yarn: ['config', 'get', 'npmRegistryServer'],\n npm: ['config', 'get', 'registry'],\n } as const;\n\n const command = registryCommands[packageManagerName as keyof typeof registryCommands];\n if (!command) {\n this.logger.warn(`Unsupported package manager: ${packageManagerName}`);\n return undefined;\n }\n\n const { stdout } = await execa(packageManagerName, command, { timeout: 10_000 });\n return stdout.trim() || undefined;\n } catch (error) {\n this.logger.warn('Failed to determine registry URL from package manager');\n return undefined;\n }\n }\n\n private async determineRegistryUrl(): Promise<string> {\n if (process.env.NPM_REGISTRY_URL) {\n this.logger.debug(`Using NPM_REGISTRY_URL: ${process.env.NPM_REGISTRY_URL}`);\n return process.env.NPM_REGISTRY_URL.replace(/\\/$/, '');\n }\n\n const packageManagerRegistry = await this.getRegistryFromPackageManager();\n if (packageManagerRegistry) {\n this.logger.debug(`Using package manager registry: ${packageManagerRegistry}`);\n return packageManagerRegistry.replace(/\\/$/, '');\n }\n\n this.logger.debug(`Using default registry: ${constants.NPM_REGISTRY_URL}`);\n return constants.NPM_REGISTRY_URL.replace(/\\/$/, '');\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 packageURL = `${await this.determineRegistryUrl()}/${this.name}`;\n\n const response = await fetch(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 ${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, cwd: string, logger: Logger) =>\n new Package(name, cwd, logger);\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","getRegistryFromPackageManager","packageManagerName","packageManager","getPreferred","cwd","registryCommands","yarn","npm","command","logger","warn","stdout","execa","timeout","trim","error","determineRegistryUrl","NPM_REGISTRY_URL","debug","replace","packageManagerRegistry","constants","findVersion","find","npmVersion","eq","refresh","packageURL","name","response","fetch","dispatcher","ok","json","versionExists","npmPackageFactory"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sources":["../../../../src/modules/project/constants.ts"],"sourcesContent":["export const PROJECT_PACKAGE_JSON = 'package.json';\n\nexport const PROJECT_APP_ALLOWED_ROOT_PATHS = ['src', 'config', 'public'];\n\nexport const PROJECT_PLUGIN_ALLOWED_ROOT_PATHS = ['admin', 'server'];\n\nexport const PROJECT_PLUGIN_ROOT_FILES = ['strapi-admin.js', 'strapi-server.js'];\n\nexport const PROJECT_CODE_EXTENSIONS = [\n // Source files\n 'js',\n 'mjs',\n 'ts',\n // React files\n 'jsx',\n 'tsx',\n];\n\nexport const PROJECT_JSON_EXTENSIONS = ['json'];\n\nexport const PROJECT_ALLOWED_EXTENSIONS = [...PROJECT_CODE_EXTENSIONS, ...PROJECT_JSON_EXTENSIONS];\n\nexport const SCOPED_STRAPI_PACKAGE_PREFIX = '@strapi/';\n\nexport const STRAPI_DEPENDENCY_NAME = `${SCOPED_STRAPI_PACKAGE_PREFIX}strapi`;\n"],"names":["PROJECT_PACKAGE_JSON","PROJECT_APP_ALLOWED_ROOT_PATHS","PROJECT_PLUGIN_ALLOWED_ROOT_PATHS","PROJECT_PLUGIN_ROOT_FILES","PROJECT_CODE_EXTENSIONS","PROJECT_JSON_EXTENSIONS","PROJECT_ALLOWED_EXTENSIONS","SCOPED_STRAPI_PACKAGE_PREFIX","STRAPI_DEPENDENCY_NAME"],"mappings":";;AAAO,MAAMA,uBAAuB;MAEvBC,
|
|
1
|
+
{"version":3,"file":"constants.js","sources":["../../../../src/modules/project/constants.ts"],"sourcesContent":["export const PROJECT_PACKAGE_JSON = 'package.json';\n\nexport const PROJECT_APP_ALLOWED_ROOT_PATHS = ['src', 'config', 'public'];\n\nexport const PROJECT_PLUGIN_ALLOWED_ROOT_PATHS = ['admin', 'server'];\n\nexport const PROJECT_PLUGIN_ROOT_FILES = ['strapi-admin.js', 'strapi-server.js'];\n\nexport const PROJECT_CODE_EXTENSIONS = [\n // Source files\n 'js',\n 'mjs',\n 'ts',\n // React files\n 'jsx',\n 'tsx',\n];\n\nexport const PROJECT_JSON_EXTENSIONS = ['json'];\n\nexport const PROJECT_ALLOWED_EXTENSIONS = [...PROJECT_CODE_EXTENSIONS, ...PROJECT_JSON_EXTENSIONS];\n\nexport const SCOPED_STRAPI_PACKAGE_PREFIX = '@strapi/';\n\nexport const STRAPI_DEPENDENCY_NAME = `${SCOPED_STRAPI_PACKAGE_PREFIX}strapi`;\n"],"names":["PROJECT_PACKAGE_JSON","PROJECT_APP_ALLOWED_ROOT_PATHS","PROJECT_PLUGIN_ALLOWED_ROOT_PATHS","PROJECT_PLUGIN_ROOT_FILES","PROJECT_CODE_EXTENSIONS","PROJECT_JSON_EXTENSIONS","PROJECT_ALLOWED_EXTENSIONS","SCOPED_STRAPI_PACKAGE_PREFIX","STRAPI_DEPENDENCY_NAME"],"mappings":";;AAAO,MAAMA,uBAAuB;MAEvBC,8BAAAA,GAAiC;AAAC,IAAA,KAAA;AAAO,IAAA,QAAA;AAAU,IAAA;;MAEnDC,iCAAAA,GAAoC;AAAC,IAAA,OAAA;AAAS,IAAA;;MAE9CC,yBAAAA,GAA4B;AAAC,IAAA,iBAAA;AAAmB,IAAA;;MAEhDC,uBAAAA,GAA0B;;AAErC,IAAA,IAAA;AACA,IAAA,KAAA;AACA,IAAA,IAAA;;AAEA,IAAA,KAAA;AACA,IAAA;;MAGWC,uBAAAA,GAA0B;AAAC,IAAA;;MAE3BC,0BAAAA,GAA6B;AAAIF,IAAAA,GAAAA,uBAAAA;AAA4BC,IAAAA,GAAAA;;AAEnE,MAAME,+BAA+B;MAE/BC,sBAAAA,GAAyB,CAAA,EAAGD,4BAAAA,CAA6B,MAAM;;;;;;;;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.mjs","sources":["../../../../src/modules/project/constants.ts"],"sourcesContent":["export const PROJECT_PACKAGE_JSON = 'package.json';\n\nexport const PROJECT_APP_ALLOWED_ROOT_PATHS = ['src', 'config', 'public'];\n\nexport const PROJECT_PLUGIN_ALLOWED_ROOT_PATHS = ['admin', 'server'];\n\nexport const PROJECT_PLUGIN_ROOT_FILES = ['strapi-admin.js', 'strapi-server.js'];\n\nexport const PROJECT_CODE_EXTENSIONS = [\n // Source files\n 'js',\n 'mjs',\n 'ts',\n // React files\n 'jsx',\n 'tsx',\n];\n\nexport const PROJECT_JSON_EXTENSIONS = ['json'];\n\nexport const PROJECT_ALLOWED_EXTENSIONS = [...PROJECT_CODE_EXTENSIONS, ...PROJECT_JSON_EXTENSIONS];\n\nexport const SCOPED_STRAPI_PACKAGE_PREFIX = '@strapi/';\n\nexport const STRAPI_DEPENDENCY_NAME = `${SCOPED_STRAPI_PACKAGE_PREFIX}strapi`;\n"],"names":["PROJECT_PACKAGE_JSON","PROJECT_APP_ALLOWED_ROOT_PATHS","PROJECT_PLUGIN_ALLOWED_ROOT_PATHS","PROJECT_PLUGIN_ROOT_FILES","PROJECT_CODE_EXTENSIONS","PROJECT_JSON_EXTENSIONS","PROJECT_ALLOWED_EXTENSIONS","SCOPED_STRAPI_PACKAGE_PREFIX","STRAPI_DEPENDENCY_NAME"],"mappings":"AAAO,MAAMA,uBAAuB;MAEvBC,
|
|
1
|
+
{"version":3,"file":"constants.mjs","sources":["../../../../src/modules/project/constants.ts"],"sourcesContent":["export const PROJECT_PACKAGE_JSON = 'package.json';\n\nexport const PROJECT_APP_ALLOWED_ROOT_PATHS = ['src', 'config', 'public'];\n\nexport const PROJECT_PLUGIN_ALLOWED_ROOT_PATHS = ['admin', 'server'];\n\nexport const PROJECT_PLUGIN_ROOT_FILES = ['strapi-admin.js', 'strapi-server.js'];\n\nexport const PROJECT_CODE_EXTENSIONS = [\n // Source files\n 'js',\n 'mjs',\n 'ts',\n // React files\n 'jsx',\n 'tsx',\n];\n\nexport const PROJECT_JSON_EXTENSIONS = ['json'];\n\nexport const PROJECT_ALLOWED_EXTENSIONS = [...PROJECT_CODE_EXTENSIONS, ...PROJECT_JSON_EXTENSIONS];\n\nexport const SCOPED_STRAPI_PACKAGE_PREFIX = '@strapi/';\n\nexport const STRAPI_DEPENDENCY_NAME = `${SCOPED_STRAPI_PACKAGE_PREFIX}strapi`;\n"],"names":["PROJECT_PACKAGE_JSON","PROJECT_APP_ALLOWED_ROOT_PATHS","PROJECT_PLUGIN_ALLOWED_ROOT_PATHS","PROJECT_PLUGIN_ROOT_FILES","PROJECT_CODE_EXTENSIONS","PROJECT_JSON_EXTENSIONS","PROJECT_ALLOWED_EXTENSIONS","SCOPED_STRAPI_PACKAGE_PREFIX","STRAPI_DEPENDENCY_NAME"],"mappings":"AAAO,MAAMA,uBAAuB;MAEvBC,8BAAAA,GAAiC;AAAC,IAAA,KAAA;AAAO,IAAA,QAAA;AAAU,IAAA;;MAEnDC,iCAAAA,GAAoC;AAAC,IAAA,OAAA;AAAS,IAAA;;MAE9CC,yBAAAA,GAA4B;AAAC,IAAA,iBAAA;AAAmB,IAAA;;MAEhDC,uBAAAA,GAA0B;;AAErC,IAAA,IAAA;AACA,IAAA,KAAA;AACA,IAAA,IAAA;;AAEA,IAAA,KAAA;AACA,IAAA;;MAGWC,uBAAAA,GAA0B;AAAC,IAAA;;MAE3BC,0BAAAA,GAA6B;AAAIF,IAAAA,GAAAA,uBAAAA;AAA4BC,IAAAA,GAAAA;;AAEnE,MAAME,+BAA+B;MAE/BC,sBAAAA,GAAyB,CAAA,EAAGD,4BAAAA,CAA6B,MAAM;;;;"}
|