@strapi/upgrade 5.12.1 → 5.12.2
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 +6 -203
- package/dist/cli.js.map +1 -1
- package/dist/cli.mjs +5 -202
- package/dist/cli.mjs.map +1 -1
- package/dist/index.js +4 -155
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +4 -157
- package/dist/index.mjs.map +1 -1
- package/dist/package.json.js +6 -0
- package/dist/package.json.js.map +1 -0
- package/dist/package.json.mjs +4 -0
- package/dist/package.json.mjs.map +1 -0
- package/dist/src/cli/commands/codemods.js +120 -0
- package/dist/src/cli/commands/codemods.js.map +1 -0
- package/dist/src/cli/commands/codemods.mjs +116 -0
- package/dist/src/cli/commands/codemods.mjs.map +1 -0
- package/dist/src/cli/commands/upgrade.js +99 -0
- package/dist/src/cli/commands/upgrade.js.map +1 -0
- package/dist/src/cli/commands/upgrade.mjs +96 -0
- package/dist/src/cli/commands/upgrade.mjs.map +1 -0
- package/dist/src/cli/errors.js +18 -0
- package/dist/src/cli/errors.js.map +1 -0
- package/dist/src/cli/errors.mjs +16 -0
- package/dist/src/cli/errors.mjs.map +1 -0
- package/dist/src/cli/options.js +26 -0
- package/dist/src/cli/options.js.map +1 -0
- package/dist/src/cli/options.mjs +19 -0
- package/dist/src/cli/options.mjs.map +1 -0
- package/dist/src/modules/codemod/codemod.js +44 -0
- package/dist/src/modules/codemod/codemod.js.map +1 -0
- package/dist/src/modules/codemod/codemod.mjs +41 -0
- package/dist/src/modules/codemod/codemod.mjs.map +1 -0
- package/dist/src/modules/codemod/constants.js +17 -0
- package/dist/src/modules/codemod/constants.js.map +1 -0
- package/dist/src/modules/codemod/constants.mjs +11 -0
- package/dist/src/modules/codemod/constants.mjs.map +1 -0
- package/dist/src/modules/codemod/index.js +10 -0
- package/dist/src/modules/codemod/index.js.map +1 -0
- package/dist/src/modules/codemod/index.mjs +4 -0
- package/dist/src/modules/codemod/index.mjs.map +1 -0
- package/dist/src/modules/codemod-repository/constants.js +9 -0
- package/dist/src/modules/codemod-repository/constants.js.map +1 -0
- package/dist/src/modules/codemod-repository/constants.mjs +7 -0
- package/dist/src/modules/codemod-repository/constants.mjs.map +1 -0
- package/dist/src/modules/codemod-repository/index.js +10 -0
- package/dist/src/modules/codemod-repository/index.js.map +1 -0
- package/dist/src/modules/codemod-repository/index.mjs +4 -0
- package/dist/src/modules/codemod-repository/index.mjs.map +1 -0
- package/dist/src/modules/codemod-repository/repository.js +127 -0
- package/dist/src/modules/codemod-repository/repository.js.map +1 -0
- package/dist/src/modules/codemod-repository/repository.mjs +123 -0
- package/dist/src/modules/codemod-repository/repository.mjs.map +1 -0
- package/dist/src/modules/codemod-runner/codemod-runner.js +113 -0
- package/dist/src/modules/codemod-runner/codemod-runner.js.map +1 -0
- package/dist/src/modules/codemod-runner/codemod-runner.mjs +110 -0
- package/dist/src/modules/codemod-runner/codemod-runner.mjs.map +1 -0
- package/dist/src/modules/error/index.js +11 -0
- package/dist/src/modules/error/index.js.map +1 -0
- package/dist/src/modules/error/index.mjs +2 -0
- package/dist/src/modules/error/index.mjs.map +1 -0
- package/dist/src/modules/error/utils.js +33 -0
- package/dist/src/modules/error/utils.js.map +1 -0
- package/dist/src/modules/error/utils.mjs +28 -0
- package/dist/src/modules/error/utils.mjs.map +1 -0
- package/dist/src/modules/file-scanner/index.js +8 -0
- package/dist/src/modules/file-scanner/index.js.map +1 -0
- package/dist/src/modules/file-scanner/index.mjs +2 -0
- package/dist/src/modules/file-scanner/index.mjs.map +1 -0
- package/dist/src/modules/file-scanner/scanner.js +23 -0
- package/dist/src/modules/file-scanner/scanner.js.map +1 -0
- package/dist/src/modules/file-scanner/scanner.mjs +20 -0
- package/dist/src/modules/file-scanner/scanner.mjs.map +1 -0
- package/dist/src/modules/format/formats.js +107 -0
- package/dist/src/modules/format/formats.js.map +1 -0
- package/dist/src/modules/format/formats.mjs +94 -0
- package/dist/src/modules/format/formats.mjs.map +1 -0
- package/dist/src/modules/format/index.js +19 -0
- package/dist/src/modules/format/index.js.map +1 -0
- package/dist/src/modules/format/index.mjs +2 -0
- package/dist/src/modules/format/index.mjs.map +1 -0
- package/dist/src/modules/index.js +32 -0
- package/dist/src/modules/index.js.map +1 -0
- package/dist/src/modules/index.mjs +27 -0
- package/dist/src/modules/index.mjs.map +1 -0
- package/dist/src/modules/json/file.js +16 -0
- package/dist/src/modules/json/file.js.map +1 -0
- package/dist/src/modules/json/file.mjs +13 -0
- package/dist/src/modules/json/file.mjs.map +1 -0
- package/dist/src/modules/json/transform-api.js +38 -0
- package/dist/src/modules/json/transform-api.js.map +1 -0
- package/dist/src/modules/json/transform-api.mjs +35 -0
- package/dist/src/modules/json/transform-api.mjs.map +1 -0
- package/dist/src/modules/logger/index.js +8 -0
- package/dist/src/modules/logger/index.js.map +1 -0
- package/dist/src/modules/logger/index.mjs +2 -0
- package/dist/src/modules/logger/index.mjs.map +1 -0
- package/dist/src/modules/logger/logger.js +76 -0
- package/dist/src/modules/logger/logger.js.map +1 -0
- package/dist/src/modules/logger/logger.mjs +73 -0
- package/dist/src/modules/logger/logger.mjs.map +1 -0
- package/dist/src/modules/npm/constants.js +6 -0
- package/dist/src/modules/npm/constants.js.map +1 -0
- package/dist/src/modules/npm/constants.mjs +4 -0
- package/dist/src/modules/npm/constants.mjs.map +1 -0
- package/dist/src/modules/npm/package.js +55 -0
- package/dist/src/modules/npm/package.js.map +1 -0
- package/dist/src/modules/npm/package.mjs +52 -0
- package/dist/src/modules/npm/package.mjs.map +1 -0
- package/dist/src/modules/project/constants.js +45 -0
- package/dist/src/modules/project/constants.js.map +1 -0
- package/dist/src/modules/project/constants.mjs +35 -0
- package/dist/src/modules/project/constants.mjs.map +1 -0
- package/dist/src/modules/project/index.js +15 -0
- package/dist/src/modules/project/index.js.map +1 -0
- package/dist/src/modules/project/index.mjs +5 -0
- package/dist/src/modules/project/index.mjs.map +1 -0
- package/dist/src/modules/project/project.js +208 -0
- package/dist/src/modules/project/project.js.map +1 -0
- package/dist/src/modules/project/project.mjs +203 -0
- package/dist/src/modules/project/project.mjs.map +1 -0
- package/dist/src/modules/project/utils.js +26 -0
- package/dist/src/modules/project/utils.js.map +1 -0
- package/dist/src/modules/project/utils.mjs +21 -0
- package/dist/src/modules/project/utils.mjs.map +1 -0
- package/dist/src/modules/report/index.js +9 -0
- package/dist/src/modules/report/index.js.map +1 -0
- package/dist/src/modules/report/index.mjs +2 -0
- package/dist/src/modules/report/index.mjs.map +1 -0
- package/dist/src/modules/report/report.js +13 -0
- package/dist/src/modules/report/report.js.map +1 -0
- package/dist/src/modules/report/report.mjs +10 -0
- package/dist/src/modules/report/report.mjs.map +1 -0
- package/dist/src/modules/requirement/index.js +8 -0
- package/dist/src/modules/requirement/index.js.map +1 -0
- package/dist/src/modules/requirement/index.mjs +2 -0
- package/dist/src/modules/requirement/index.mjs.map +1 -0
- package/dist/src/modules/requirement/requirement.js +55 -0
- package/dist/src/modules/requirement/requirement.js.map +1 -0
- package/dist/src/modules/requirement/requirement.mjs +52 -0
- package/dist/src/modules/requirement/requirement.mjs.map +1 -0
- package/dist/src/modules/runner/code/code.js +21 -0
- package/dist/src/modules/runner/code/code.js.map +1 -0
- package/dist/src/modules/runner/code/code.mjs +18 -0
- package/dist/src/modules/runner/code/code.mjs.map +1 -0
- package/dist/src/modules/runner/code/index.js +8 -0
- package/dist/src/modules/runner/code/index.js.map +1 -0
- package/dist/src/modules/runner/code/index.mjs +2 -0
- package/dist/src/modules/runner/code/index.mjs.map +1 -0
- package/dist/src/modules/runner/index.js +10 -0
- package/dist/src/modules/runner/index.js.map +1 -0
- package/dist/src/modules/runner/index.mjs +5 -0
- package/dist/src/modules/runner/index.mjs.map +1 -0
- package/dist/src/modules/runner/json/index.js +8 -0
- package/dist/src/modules/runner/json/index.js.map +1 -0
- package/dist/src/modules/runner/json/index.mjs +2 -0
- package/dist/src/modules/runner/json/index.mjs.map +1 -0
- package/dist/src/modules/runner/json/json.js +21 -0
- package/dist/src/modules/runner/json/json.js.map +1 -0
- package/dist/src/modules/runner/json/json.mjs +18 -0
- package/dist/src/modules/runner/json/json.mjs.map +1 -0
- package/dist/src/modules/runner/json/transform.js +85 -0
- package/dist/src/modules/runner/json/transform.js.map +1 -0
- package/dist/src/modules/runner/json/transform.mjs +83 -0
- package/dist/src/modules/runner/json/transform.mjs.map +1 -0
- package/dist/src/modules/runner/runner.js +22 -0
- package/dist/src/modules/runner/runner.js.map +1 -0
- package/dist/src/modules/runner/runner.mjs +20 -0
- package/dist/src/modules/runner/runner.mjs.map +1 -0
- package/dist/src/modules/timer/constants.js +6 -0
- package/dist/src/modules/timer/constants.js.map +1 -0
- package/dist/src/modules/timer/constants.mjs +4 -0
- package/dist/src/modules/timer/constants.mjs.map +1 -0
- package/dist/src/modules/timer/index.js +10 -0
- package/dist/src/modules/timer/index.js.map +1 -0
- package/dist/src/modules/timer/index.mjs +4 -0
- package/dist/src/modules/timer/index.mjs.map +1 -0
- package/dist/src/modules/timer/timer.js +33 -0
- package/dist/src/modules/timer/timer.js.map +1 -0
- package/dist/src/modules/timer/timer.mjs +30 -0
- package/dist/src/modules/timer/timer.mjs.map +1 -0
- package/dist/src/modules/upgrader/constants.js +6 -0
- package/dist/src/modules/upgrader/constants.js.map +1 -0
- package/dist/src/modules/upgrader/constants.mjs +4 -0
- package/dist/src/modules/upgrader/constants.mjs.map +1 -0
- package/dist/src/modules/upgrader/index.js +10 -0
- package/dist/src/modules/upgrader/index.js.map +1 -0
- package/dist/src/modules/upgrader/index.mjs +4 -0
- package/dist/src/modules/upgrader/index.mjs.map +1 -0
- package/dist/src/modules/upgrader/upgrader.js +266 -0
- package/dist/src/modules/upgrader/upgrader.js.map +1 -0
- package/dist/src/modules/upgrader/upgrader.mjs +263 -0
- package/dist/src/modules/upgrader/upgrader.mjs.map +1 -0
- package/dist/src/modules/version/index.js +20 -0
- package/dist/src/modules/version/index.js.map +1 -0
- package/dist/src/modules/version/index.mjs +5 -0
- package/dist/src/modules/version/index.mjs.map +1 -0
- package/dist/src/modules/version/range.js +81 -0
- package/dist/src/modules/version/range.js.map +1 -0
- package/dist/src/modules/version/range.mjs +75 -0
- package/dist/src/modules/version/range.mjs.map +1 -0
- package/dist/src/modules/version/semver.js +26 -0
- package/dist/src/modules/version/semver.js.map +1 -0
- package/dist/src/modules/version/semver.mjs +20 -0
- package/dist/src/modules/version/semver.mjs.map +1 -0
- package/dist/src/modules/version/types.js +12 -0
- package/dist/src/modules/version/types.js.map +1 -0
- package/dist/src/modules/version/types.mjs +12 -0
- package/dist/src/modules/version/types.mjs.map +1 -0
- package/dist/src/tasks/codemods/list-codemods.js +40 -0
- package/dist/src/tasks/codemods/list-codemods.js.map +1 -0
- package/dist/src/tasks/codemods/list-codemods.mjs +38 -0
- package/dist/src/tasks/codemods/list-codemods.mjs.map +1 -0
- package/dist/src/tasks/codemods/run-codemods.js +36 -0
- package/dist/src/tasks/codemods/run-codemods.js.map +1 -0
- package/dist/src/tasks/codemods/run-codemods.mjs +34 -0
- package/dist/src/tasks/codemods/run-codemods.mjs.map +1 -0
- package/dist/src/tasks/codemods/utils.js +54 -0
- package/dist/src/tasks/codemods/utils.js.map +1 -0
- package/dist/src/tasks/codemods/utils.mjs +50 -0
- package/dist/src/tasks/codemods/utils.mjs.map +1 -0
- package/dist/src/tasks/index.js +15 -0
- package/dist/src/tasks/index.js.map +1 -0
- package/dist/src/tasks/index.mjs +7 -0
- package/dist/src/tasks/index.mjs.map +1 -0
- package/dist/src/tasks/upgrade/prompts/latest.js +48 -0
- package/dist/src/tasks/upgrade/prompts/latest.js.map +1 -0
- package/dist/src/tasks/upgrade/prompts/latest.mjs +46 -0
- package/dist/src/tasks/upgrade/prompts/latest.mjs.map +1 -0
- package/dist/src/tasks/upgrade/requirements/common.js +40 -0
- package/dist/src/tasks/upgrade/requirements/common.js.map +1 -0
- package/dist/src/tasks/upgrade/requirements/common.mjs +35 -0
- package/dist/src/tasks/upgrade/requirements/common.mjs.map +1 -0
- package/dist/src/tasks/upgrade/requirements/major.js +29 -0
- package/dist/src/tasks/upgrade/requirements/major.js.map +1 -0
- package/dist/src/tasks/upgrade/requirements/major.mjs +26 -0
- package/dist/src/tasks/upgrade/requirements/major.mjs.map +1 -0
- package/dist/src/tasks/upgrade/upgrade.js +69 -0
- package/dist/src/tasks/upgrade/upgrade.js.map +1 -0
- package/dist/src/tasks/upgrade/upgrade.mjs +67 -0
- package/dist/src/tasks/upgrade/upgrade.mjs.map +1 -0
- package/package.json +4 -4
- package/dist/chunks/logger-DGi224NW.js +0 -1649
- package/dist/chunks/logger-DGi224NW.js.map +0 -1
- package/dist/chunks/logger-np_r7rTc.mjs +0 -1599
- package/dist/chunks/logger-np_r7rTc.mjs.map +0 -1
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export { isLiteralSemVer, isSemVerReleaseType, isSemverInstance, isValidSemVer, semVerFactory } from './semver.mjs';
|
|
2
|
+
export { isRangeInstance, isValidStringifiedRange, rangeFactory, rangeFromReleaseType, rangeFromVersions } from './range.mjs';
|
|
3
|
+
import * as types from './types.mjs';
|
|
4
|
+
export { types as Version };
|
|
5
|
+
//# sourceMappingURL=index.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;"}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var semver = require('semver');
|
|
4
|
+
var types = require('./types.js');
|
|
5
|
+
var semver$1 = require('./semver.js');
|
|
6
|
+
|
|
7
|
+
const rangeFactory = (range)=>{
|
|
8
|
+
return new semver.Range(range);
|
|
9
|
+
};
|
|
10
|
+
const rangeFromReleaseType = (current, identifier)=>{
|
|
11
|
+
switch(identifier){
|
|
12
|
+
case types.ReleaseType.Latest:
|
|
13
|
+
{
|
|
14
|
+
// Match anything greater than the current version
|
|
15
|
+
return rangeFactory(`>${current.raw}`);
|
|
16
|
+
}
|
|
17
|
+
case types.ReleaseType.Major:
|
|
18
|
+
{
|
|
19
|
+
// For example, 4.15.4 returns 5.0.0
|
|
20
|
+
const nextMajor = semver$1.semVerFactory(current.raw).inc('major');
|
|
21
|
+
// Using only the major version as the upper limit allows any minor,
|
|
22
|
+
// patch, or build version to be taken in the range.
|
|
23
|
+
//
|
|
24
|
+
// For example, if the current version is "4.15.4", incrementing the
|
|
25
|
+
// major version would result in "5.0.0".
|
|
26
|
+
// The generated rule is ">4.15.4 <=5", allowing any version
|
|
27
|
+
// greater than "4.15.4" but less than "6.0.0-0".
|
|
28
|
+
return rangeFactory(`>${current.raw} <=${nextMajor.major}`);
|
|
29
|
+
}
|
|
30
|
+
case types.ReleaseType.Minor:
|
|
31
|
+
{
|
|
32
|
+
// For example, 4.15.4 returns 5.0.0
|
|
33
|
+
const nextMajor = semver$1.semVerFactory(current.raw).inc('major');
|
|
34
|
+
// Using the <major>.<minor>.<patch> version as the upper limit allows any minor,
|
|
35
|
+
// patch, or build versions to be taken in the range.
|
|
36
|
+
//
|
|
37
|
+
// For example, if the current version is "4.15.4", incrementing the
|
|
38
|
+
// major version would result in "5.0.0".
|
|
39
|
+
// The generated rule is ">4.15.4 <5.0.0", allowing any version
|
|
40
|
+
// greater than "4.15.4" but less than "5.0.0".
|
|
41
|
+
return rangeFactory(`>${current.raw} <${nextMajor.raw}`);
|
|
42
|
+
}
|
|
43
|
+
case types.ReleaseType.Patch:
|
|
44
|
+
{
|
|
45
|
+
// For example, 4.15.4 returns 4.16.0
|
|
46
|
+
const nextMinor = semver$1.semVerFactory(current.raw).inc('minor');
|
|
47
|
+
// Using only the minor version as the upper limit allows any patch
|
|
48
|
+
// or build versions to be taken in the range.
|
|
49
|
+
//
|
|
50
|
+
// For example, if the current version is "4.15.4", incrementing the
|
|
51
|
+
// minor version would result in "4.16.0".
|
|
52
|
+
// The generated rule is ">4.15.4 <4.16.0", allowing any version
|
|
53
|
+
// greater than "4.15.4" but less than "4.16.0".
|
|
54
|
+
return rangeFactory(`>${current.raw} <${nextMinor.raw}`);
|
|
55
|
+
}
|
|
56
|
+
default:
|
|
57
|
+
{
|
|
58
|
+
throw new Error('Not implemented');
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
};
|
|
62
|
+
const rangeFromVersions = (currentVersion, target)=>{
|
|
63
|
+
if (semver$1.isSemverInstance(target)) {
|
|
64
|
+
return rangeFactory(`>${currentVersion.raw} <=${target.raw}`);
|
|
65
|
+
}
|
|
66
|
+
if (semver$1.isSemVerReleaseType(target)) {
|
|
67
|
+
return rangeFromReleaseType(currentVersion, target);
|
|
68
|
+
}
|
|
69
|
+
throw new Error(`Invalid target set: ${target}`); // TODO: better errors
|
|
70
|
+
};
|
|
71
|
+
const isValidStringifiedRange = (str)=>semver.validRange(str) !== null;
|
|
72
|
+
const isRangeInstance = (range)=>{
|
|
73
|
+
return range instanceof semver.Range;
|
|
74
|
+
};
|
|
75
|
+
|
|
76
|
+
exports.isRangeInstance = isRangeInstance;
|
|
77
|
+
exports.isValidStringifiedRange = isValidStringifiedRange;
|
|
78
|
+
exports.rangeFactory = rangeFactory;
|
|
79
|
+
exports.rangeFromReleaseType = rangeFromReleaseType;
|
|
80
|
+
exports.rangeFromVersions = rangeFromVersions;
|
|
81
|
+
//# sourceMappingURL=range.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"range.js","sources":["../../../../src/modules/version/range.ts"],"sourcesContent":["import semver from 'semver';\n\nimport * as Version from './types';\nimport { isSemverInstance, isSemVerReleaseType, semVerFactory } from './semver';\n\nexport const rangeFactory = (range: string): Version.Range => {\n return new semver.Range(range);\n};\n\nexport const rangeFromReleaseType = (current: Version.SemVer, identifier: Version.ReleaseType) => {\n switch (identifier) {\n case Version.ReleaseType.Latest: {\n // Match anything greater than the current version\n return rangeFactory(`>${current.raw}`);\n }\n case Version.ReleaseType.Major: {\n // For example, 4.15.4 returns 5.0.0\n const nextMajor = semVerFactory(current.raw).inc('major');\n\n // Using only the major version as the upper limit allows any minor,\n // patch, or build version to be taken in the range.\n //\n // For example, if the current version is \"4.15.4\", incrementing the\n // major version would result in \"5.0.0\".\n // The generated rule is \">4.15.4 <=5\", allowing any version\n // greater than \"4.15.4\" but less than \"6.0.0-0\".\n return rangeFactory(`>${current.raw} <=${nextMajor.major}`);\n }\n case Version.ReleaseType.Minor: {\n // For example, 4.15.4 returns 5.0.0\n const nextMajor = semVerFactory(current.raw).inc('major');\n\n // Using the <major>.<minor>.<patch> version as the upper limit allows any minor,\n // patch, or build versions to be taken in the range.\n //\n // For example, if the current version is \"4.15.4\", incrementing the\n // major version would result in \"5.0.0\".\n // The generated rule is \">4.15.4 <5.0.0\", allowing any version\n // greater than \"4.15.4\" but less than \"5.0.0\".\n return rangeFactory(`>${current.raw} <${nextMajor.raw}`);\n }\n case Version.ReleaseType.Patch: {\n // For example, 4.15.4 returns 4.16.0\n const nextMinor = semVerFactory(current.raw).inc('minor');\n\n // Using only the minor version as the upper limit allows any patch\n // or build versions to be taken in the range.\n //\n // For example, if the current version is \"4.15.4\", incrementing the\n // minor version would result in \"4.16.0\".\n // The generated rule is \">4.15.4 <4.16.0\", allowing any version\n // greater than \"4.15.4\" but less than \"4.16.0\".\n return rangeFactory(`>${current.raw} <${nextMinor.raw}`);\n }\n default: {\n throw new Error('Not implemented');\n }\n }\n};\n\nexport const rangeFromVersions = (\n currentVersion: Version.SemVer,\n target: Version.ReleaseType | Version.SemVer\n) => {\n if (isSemverInstance(target)) {\n return rangeFactory(`>${currentVersion.raw} <=${target.raw}`);\n }\n\n if (isSemVerReleaseType(target)) {\n return rangeFromReleaseType(currentVersion, target);\n }\n\n throw new Error(`Invalid target set: ${target}`); // TODO: better errors\n};\n\nexport const isValidStringifiedRange = (str: string) => semver.validRange(str) !== null;\n\nexport const isRangeInstance = (range: unknown): range is semver.Range => {\n return range instanceof semver.Range;\n};\n"],"names":["rangeFactory","range","semver","Range","rangeFromReleaseType","current","identifier","Version","Latest","raw","Major","nextMajor","semVerFactory","inc","major","Minor","Patch","nextMinor","Error","rangeFromVersions","currentVersion","target","isSemverInstance","isSemVerReleaseType","isValidStringifiedRange","str","validRange","isRangeInstance"],"mappings":";;;;;;AAKO,MAAMA,eAAe,CAACC,KAAAA,GAAAA;IAC3B,OAAO,IAAIC,MAAOC,CAAAA,KAAK,CAACF,KAAAA,CAAAA;AAC1B;AAEO,MAAMG,oBAAuB,GAAA,CAACC,OAAyBC,EAAAA,UAAAA,GAAAA;IAC5D,OAAQA,UAAAA;QACN,KAAKC,iBAAmB,CAACC,MAAM;AAAE,YAAA;;AAE/B,gBAAA,OAAOR,aAAa,CAAC,CAAC,EAAEK,OAAQI,CAAAA,GAAG,CAAC,CAAC,CAAA;AACvC;QACA,KAAKF,iBAAmB,CAACG,KAAK;AAAE,YAAA;;AAE9B,gBAAA,MAAMC,YAAYC,sBAAcP,CAAAA,OAAAA,CAAQI,GAAG,CAAA,CAAEI,GAAG,CAAC,OAAA,CAAA;;;;;;;;AASjD,gBAAA,OAAOb,YAAa,CAAA,CAAC,CAAC,EAAEK,OAAQI,CAAAA,GAAG,CAAC,GAAG,EAAEE,SAAAA,CAAUG,KAAK,CAAC,CAAC,CAAA;AAC5D;QACA,KAAKP,iBAAmB,CAACQ,KAAK;AAAE,YAAA;;AAE9B,gBAAA,MAAMJ,YAAYC,sBAAcP,CAAAA,OAAAA,CAAQI,GAAG,CAAA,CAAEI,GAAG,CAAC,OAAA,CAAA;;;;;;;;AASjD,gBAAA,OAAOb,YAAa,CAAA,CAAC,CAAC,EAAEK,OAAQI,CAAAA,GAAG,CAAC,EAAE,EAAEE,SAAAA,CAAUF,GAAG,CAAC,CAAC,CAAA;AACzD;QACA,KAAKF,iBAAmB,CAACS,KAAK;AAAE,YAAA;;AAE9B,gBAAA,MAAMC,YAAYL,sBAAcP,CAAAA,OAAAA,CAAQI,GAAG,CAAA,CAAEI,GAAG,CAAC,OAAA,CAAA;;;;;;;;AASjD,gBAAA,OAAOb,YAAa,CAAA,CAAC,CAAC,EAAEK,OAAQI,CAAAA,GAAG,CAAC,EAAE,EAAEQ,SAAAA,CAAUR,GAAG,CAAC,CAAC,CAAA;AACzD;AACA,QAAA;AAAS,YAAA;AACP,gBAAA,MAAM,IAAIS,KAAM,CAAA,iBAAA,CAAA;AAClB;AACF;AACF;AAEO,MAAMC,iBAAoB,GAAA,CAC/BC,cACAC,EAAAA,MAAAA,GAAAA;AAEA,IAAA,IAAIC,0BAAiBD,MAAS,CAAA,EAAA;AAC5B,QAAA,OAAOrB,YAAa,CAAA,CAAC,CAAC,EAAEoB,cAAeX,CAAAA,GAAG,CAAC,GAAG,EAAEY,MAAAA,CAAOZ,GAAG,CAAC,CAAC,CAAA;AAC9D;AAEA,IAAA,IAAIc,6BAAoBF,MAAS,CAAA,EAAA;AAC/B,QAAA,OAAOjB,qBAAqBgB,cAAgBC,EAAAA,MAAAA,CAAAA;AAC9C;IAEA,MAAM,IAAIH,MAAM,CAAC,oBAAoB,EAAEG,MAAO,CAAA,CAAC;AACjD;AAEO,MAAMG,0BAA0B,CAACC,GAAAA,GAAgBvB,OAAOwB,UAAU,CAACD,SAAS;AAE5E,MAAME,kBAAkB,CAAC1B,KAAAA,GAAAA;IAC9B,OAAOA,KAAAA,YAAiBC,OAAOC,KAAK;AACtC;;;;;;;;"}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import semver from 'semver';
|
|
2
|
+
import { ReleaseType } from './types.mjs';
|
|
3
|
+
import { semVerFactory, isSemverInstance, isSemVerReleaseType } from './semver.mjs';
|
|
4
|
+
|
|
5
|
+
const rangeFactory = (range)=>{
|
|
6
|
+
return new semver.Range(range);
|
|
7
|
+
};
|
|
8
|
+
const rangeFromReleaseType = (current, identifier)=>{
|
|
9
|
+
switch(identifier){
|
|
10
|
+
case ReleaseType.Latest:
|
|
11
|
+
{
|
|
12
|
+
// Match anything greater than the current version
|
|
13
|
+
return rangeFactory(`>${current.raw}`);
|
|
14
|
+
}
|
|
15
|
+
case ReleaseType.Major:
|
|
16
|
+
{
|
|
17
|
+
// For example, 4.15.4 returns 5.0.0
|
|
18
|
+
const nextMajor = semVerFactory(current.raw).inc('major');
|
|
19
|
+
// Using only the major version as the upper limit allows any minor,
|
|
20
|
+
// patch, or build version to be taken in the range.
|
|
21
|
+
//
|
|
22
|
+
// For example, if the current version is "4.15.4", incrementing the
|
|
23
|
+
// major version would result in "5.0.0".
|
|
24
|
+
// The generated rule is ">4.15.4 <=5", allowing any version
|
|
25
|
+
// greater than "4.15.4" but less than "6.0.0-0".
|
|
26
|
+
return rangeFactory(`>${current.raw} <=${nextMajor.major}`);
|
|
27
|
+
}
|
|
28
|
+
case ReleaseType.Minor:
|
|
29
|
+
{
|
|
30
|
+
// For example, 4.15.4 returns 5.0.0
|
|
31
|
+
const nextMajor = semVerFactory(current.raw).inc('major');
|
|
32
|
+
// Using the <major>.<minor>.<patch> version as the upper limit allows any minor,
|
|
33
|
+
// patch, or build versions to be taken in the range.
|
|
34
|
+
//
|
|
35
|
+
// For example, if the current version is "4.15.4", incrementing the
|
|
36
|
+
// major version would result in "5.0.0".
|
|
37
|
+
// The generated rule is ">4.15.4 <5.0.0", allowing any version
|
|
38
|
+
// greater than "4.15.4" but less than "5.0.0".
|
|
39
|
+
return rangeFactory(`>${current.raw} <${nextMajor.raw}`);
|
|
40
|
+
}
|
|
41
|
+
case ReleaseType.Patch:
|
|
42
|
+
{
|
|
43
|
+
// For example, 4.15.4 returns 4.16.0
|
|
44
|
+
const nextMinor = semVerFactory(current.raw).inc('minor');
|
|
45
|
+
// Using only the minor version as the upper limit allows any patch
|
|
46
|
+
// or build versions to be taken in the range.
|
|
47
|
+
//
|
|
48
|
+
// For example, if the current version is "4.15.4", incrementing the
|
|
49
|
+
// minor version would result in "4.16.0".
|
|
50
|
+
// The generated rule is ">4.15.4 <4.16.0", allowing any version
|
|
51
|
+
// greater than "4.15.4" but less than "4.16.0".
|
|
52
|
+
return rangeFactory(`>${current.raw} <${nextMinor.raw}`);
|
|
53
|
+
}
|
|
54
|
+
default:
|
|
55
|
+
{
|
|
56
|
+
throw new Error('Not implemented');
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
};
|
|
60
|
+
const rangeFromVersions = (currentVersion, target)=>{
|
|
61
|
+
if (isSemverInstance(target)) {
|
|
62
|
+
return rangeFactory(`>${currentVersion.raw} <=${target.raw}`);
|
|
63
|
+
}
|
|
64
|
+
if (isSemVerReleaseType(target)) {
|
|
65
|
+
return rangeFromReleaseType(currentVersion, target);
|
|
66
|
+
}
|
|
67
|
+
throw new Error(`Invalid target set: ${target}`); // TODO: better errors
|
|
68
|
+
};
|
|
69
|
+
const isValidStringifiedRange = (str)=>semver.validRange(str) !== null;
|
|
70
|
+
const isRangeInstance = (range)=>{
|
|
71
|
+
return range instanceof semver.Range;
|
|
72
|
+
};
|
|
73
|
+
|
|
74
|
+
export { isRangeInstance, isValidStringifiedRange, rangeFactory, rangeFromReleaseType, rangeFromVersions };
|
|
75
|
+
//# sourceMappingURL=range.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"range.mjs","sources":["../../../../src/modules/version/range.ts"],"sourcesContent":["import semver from 'semver';\n\nimport * as Version from './types';\nimport { isSemverInstance, isSemVerReleaseType, semVerFactory } from './semver';\n\nexport const rangeFactory = (range: string): Version.Range => {\n return new semver.Range(range);\n};\n\nexport const rangeFromReleaseType = (current: Version.SemVer, identifier: Version.ReleaseType) => {\n switch (identifier) {\n case Version.ReleaseType.Latest: {\n // Match anything greater than the current version\n return rangeFactory(`>${current.raw}`);\n }\n case Version.ReleaseType.Major: {\n // For example, 4.15.4 returns 5.0.0\n const nextMajor = semVerFactory(current.raw).inc('major');\n\n // Using only the major version as the upper limit allows any minor,\n // patch, or build version to be taken in the range.\n //\n // For example, if the current version is \"4.15.4\", incrementing the\n // major version would result in \"5.0.0\".\n // The generated rule is \">4.15.4 <=5\", allowing any version\n // greater than \"4.15.4\" but less than \"6.0.0-0\".\n return rangeFactory(`>${current.raw} <=${nextMajor.major}`);\n }\n case Version.ReleaseType.Minor: {\n // For example, 4.15.4 returns 5.0.0\n const nextMajor = semVerFactory(current.raw).inc('major');\n\n // Using the <major>.<minor>.<patch> version as the upper limit allows any minor,\n // patch, or build versions to be taken in the range.\n //\n // For example, if the current version is \"4.15.4\", incrementing the\n // major version would result in \"5.0.0\".\n // The generated rule is \">4.15.4 <5.0.0\", allowing any version\n // greater than \"4.15.4\" but less than \"5.0.0\".\n return rangeFactory(`>${current.raw} <${nextMajor.raw}`);\n }\n case Version.ReleaseType.Patch: {\n // For example, 4.15.4 returns 4.16.0\n const nextMinor = semVerFactory(current.raw).inc('minor');\n\n // Using only the minor version as the upper limit allows any patch\n // or build versions to be taken in the range.\n //\n // For example, if the current version is \"4.15.4\", incrementing the\n // minor version would result in \"4.16.0\".\n // The generated rule is \">4.15.4 <4.16.0\", allowing any version\n // greater than \"4.15.4\" but less than \"4.16.0\".\n return rangeFactory(`>${current.raw} <${nextMinor.raw}`);\n }\n default: {\n throw new Error('Not implemented');\n }\n }\n};\n\nexport const rangeFromVersions = (\n currentVersion: Version.SemVer,\n target: Version.ReleaseType | Version.SemVer\n) => {\n if (isSemverInstance(target)) {\n return rangeFactory(`>${currentVersion.raw} <=${target.raw}`);\n }\n\n if (isSemVerReleaseType(target)) {\n return rangeFromReleaseType(currentVersion, target);\n }\n\n throw new Error(`Invalid target set: ${target}`); // TODO: better errors\n};\n\nexport const isValidStringifiedRange = (str: string) => semver.validRange(str) !== null;\n\nexport const isRangeInstance = (range: unknown): range is semver.Range => {\n return range instanceof semver.Range;\n};\n"],"names":["rangeFactory","range","semver","Range","rangeFromReleaseType","current","identifier","Version","Latest","raw","Major","nextMajor","semVerFactory","inc","major","Minor","Patch","nextMinor","Error","rangeFromVersions","currentVersion","target","isSemverInstance","isSemVerReleaseType","isValidStringifiedRange","str","validRange","isRangeInstance"],"mappings":";;;;AAKO,MAAMA,eAAe,CAACC,KAAAA,GAAAA;IAC3B,OAAO,IAAIC,MAAOC,CAAAA,KAAK,CAACF,KAAAA,CAAAA;AAC1B;AAEO,MAAMG,oBAAuB,GAAA,CAACC,OAAyBC,EAAAA,UAAAA,GAAAA;IAC5D,OAAQA,UAAAA;QACN,KAAKC,WAAmB,CAACC,MAAM;AAAE,YAAA;;AAE/B,gBAAA,OAAOR,aAAa,CAAC,CAAC,EAAEK,OAAQI,CAAAA,GAAG,CAAC,CAAC,CAAA;AACvC;QACA,KAAKF,WAAmB,CAACG,KAAK;AAAE,YAAA;;AAE9B,gBAAA,MAAMC,YAAYC,aAAcP,CAAAA,OAAAA,CAAQI,GAAG,CAAA,CAAEI,GAAG,CAAC,OAAA,CAAA;;;;;;;;AASjD,gBAAA,OAAOb,YAAa,CAAA,CAAC,CAAC,EAAEK,OAAQI,CAAAA,GAAG,CAAC,GAAG,EAAEE,SAAAA,CAAUG,KAAK,CAAC,CAAC,CAAA;AAC5D;QACA,KAAKP,WAAmB,CAACQ,KAAK;AAAE,YAAA;;AAE9B,gBAAA,MAAMJ,YAAYC,aAAcP,CAAAA,OAAAA,CAAQI,GAAG,CAAA,CAAEI,GAAG,CAAC,OAAA,CAAA;;;;;;;;AASjD,gBAAA,OAAOb,YAAa,CAAA,CAAC,CAAC,EAAEK,OAAQI,CAAAA,GAAG,CAAC,EAAE,EAAEE,SAAAA,CAAUF,GAAG,CAAC,CAAC,CAAA;AACzD;QACA,KAAKF,WAAmB,CAACS,KAAK;AAAE,YAAA;;AAE9B,gBAAA,MAAMC,YAAYL,aAAcP,CAAAA,OAAAA,CAAQI,GAAG,CAAA,CAAEI,GAAG,CAAC,OAAA,CAAA;;;;;;;;AASjD,gBAAA,OAAOb,YAAa,CAAA,CAAC,CAAC,EAAEK,OAAQI,CAAAA,GAAG,CAAC,EAAE,EAAEQ,SAAAA,CAAUR,GAAG,CAAC,CAAC,CAAA;AACzD;AACA,QAAA;AAAS,YAAA;AACP,gBAAA,MAAM,IAAIS,KAAM,CAAA,iBAAA,CAAA;AAClB;AACF;AACF;AAEO,MAAMC,iBAAoB,GAAA,CAC/BC,cACAC,EAAAA,MAAAA,GAAAA;AAEA,IAAA,IAAIC,iBAAiBD,MAAS,CAAA,EAAA;AAC5B,QAAA,OAAOrB,YAAa,CAAA,CAAC,CAAC,EAAEoB,cAAeX,CAAAA,GAAG,CAAC,GAAG,EAAEY,MAAAA,CAAOZ,GAAG,CAAC,CAAC,CAAA;AAC9D;AAEA,IAAA,IAAIc,oBAAoBF,MAAS,CAAA,EAAA;AAC/B,QAAA,OAAOjB,qBAAqBgB,cAAgBC,EAAAA,MAAAA,CAAAA;AAC9C;IAEA,MAAM,IAAIH,MAAM,CAAC,oBAAoB,EAAEG,MAAO,CAAA,CAAC;AACjD;AAEO,MAAMG,0BAA0B,CAACC,GAAAA,GAAgBvB,OAAOwB,UAAU,CAACD,SAAS;AAE5E,MAAME,kBAAkB,CAAC1B,KAAAA,GAAAA;IAC9B,OAAOA,KAAAA,YAAiBC,OAAOC,KAAK;AACtC;;;;"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var semver = require('semver');
|
|
4
|
+
var types = require('./types.js');
|
|
5
|
+
|
|
6
|
+
const semVerFactory = (version)=>{
|
|
7
|
+
return new semver.SemVer(version);
|
|
8
|
+
};
|
|
9
|
+
const isLiteralSemVer = (str)=>{
|
|
10
|
+
const tokens = str.split('.');
|
|
11
|
+
return tokens.length === 3 && tokens.every((token)=>!Number.isNaN(+token) && Number.isInteger(+token));
|
|
12
|
+
};
|
|
13
|
+
const isValidSemVer = (str)=>semver.valid(str) !== null;
|
|
14
|
+
const isSemverInstance = (value)=>{
|
|
15
|
+
return value instanceof semver.SemVer;
|
|
16
|
+
};
|
|
17
|
+
const isSemVerReleaseType = (str)=>{
|
|
18
|
+
return Object.values(types.ReleaseType).includes(str);
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
exports.isLiteralSemVer = isLiteralSemVer;
|
|
22
|
+
exports.isSemVerReleaseType = isSemVerReleaseType;
|
|
23
|
+
exports.isSemverInstance = isSemverInstance;
|
|
24
|
+
exports.isValidSemVer = isValidSemVer;
|
|
25
|
+
exports.semVerFactory = semVerFactory;
|
|
26
|
+
//# sourceMappingURL=semver.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"semver.js","sources":["../../../../src/modules/version/semver.ts"],"sourcesContent":["import semver from 'semver';\n\nimport * as Version from './types';\n\nexport const semVerFactory = (version: string): Version.SemVer => {\n return new semver.SemVer(version);\n};\n\nexport const isLiteralSemVer = (str: string): str is Version.LiteralSemVer => {\n const tokens = str.split('.');\n\n return (\n tokens.length === 3 &&\n tokens.every((token) => !Number.isNaN(+token) && Number.isInteger(+token))\n );\n};\n\nexport const isValidSemVer = (str: string) => semver.valid(str) !== null;\n\nexport const isSemverInstance = (value: unknown): value is semver.SemVer => {\n return value instanceof semver.SemVer;\n};\n\nexport const isSemVerReleaseType = (str: string): str is Version.ReleaseType => {\n return Object.values(Version.ReleaseType).includes(str as Version.ReleaseType);\n};\n"],"names":["semVerFactory","version","semver","SemVer","isLiteralSemVer","str","tokens","split","length","every","token","Number","isNaN","isInteger","isValidSemVer","valid","isSemverInstance","value","isSemVerReleaseType","Object","values","Version","includes"],"mappings":";;;;;AAIO,MAAMA,gBAAgB,CAACC,OAAAA,GAAAA;IAC5B,OAAO,IAAIC,MAAOC,CAAAA,MAAM,CAACF,OAAAA,CAAAA;AAC3B;AAEO,MAAMG,kBAAkB,CAACC,GAAAA,GAAAA;IAC9B,MAAMC,MAAAA,GAASD,GAAIE,CAAAA,KAAK,CAAC,GAAA,CAAA;AAEzB,IAAA,OACED,OAAOE,MAAM,KAAK,KAClBF,MAAOG,CAAAA,KAAK,CAAC,CAACC,KAAAA,GAAU,CAACC,MAAAA,CAAOC,KAAK,CAAC,CAACF,UAAUC,MAAOE,CAAAA,SAAS,CAAC,CAACH,KAAAA,CAAAA,CAAAA;AAEvE;AAEO,MAAMI,gBAAgB,CAACT,GAAAA,GAAgBH,OAAOa,KAAK,CAACV,SAAS;AAE7D,MAAMW,mBAAmB,CAACC,KAAAA,GAAAA;IAC/B,OAAOA,KAAAA,YAAiBf,OAAOC,MAAM;AACvC;AAEO,MAAMe,sBAAsB,CAACb,GAAAA,GAAAA;AAClC,IAAA,OAAOc,OAAOC,MAAM,CAACC,iBAAmB,CAAA,CAAEC,QAAQ,CAACjB,GAAAA,CAAAA;AACrD;;;;;;;;"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import semver from 'semver';
|
|
2
|
+
import { ReleaseType } from './types.mjs';
|
|
3
|
+
|
|
4
|
+
const semVerFactory = (version)=>{
|
|
5
|
+
return new semver.SemVer(version);
|
|
6
|
+
};
|
|
7
|
+
const isLiteralSemVer = (str)=>{
|
|
8
|
+
const tokens = str.split('.');
|
|
9
|
+
return tokens.length === 3 && tokens.every((token)=>!Number.isNaN(+token) && Number.isInteger(+token));
|
|
10
|
+
};
|
|
11
|
+
const isValidSemVer = (str)=>semver.valid(str) !== null;
|
|
12
|
+
const isSemverInstance = (value)=>{
|
|
13
|
+
return value instanceof semver.SemVer;
|
|
14
|
+
};
|
|
15
|
+
const isSemVerReleaseType = (str)=>{
|
|
16
|
+
return Object.values(ReleaseType).includes(str);
|
|
17
|
+
};
|
|
18
|
+
|
|
19
|
+
export { isLiteralSemVer, isSemVerReleaseType, isSemverInstance, isValidSemVer, semVerFactory };
|
|
20
|
+
//# sourceMappingURL=semver.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"semver.mjs","sources":["../../../../src/modules/version/semver.ts"],"sourcesContent":["import semver from 'semver';\n\nimport * as Version from './types';\n\nexport const semVerFactory = (version: string): Version.SemVer => {\n return new semver.SemVer(version);\n};\n\nexport const isLiteralSemVer = (str: string): str is Version.LiteralSemVer => {\n const tokens = str.split('.');\n\n return (\n tokens.length === 3 &&\n tokens.every((token) => !Number.isNaN(+token) && Number.isInteger(+token))\n );\n};\n\nexport const isValidSemVer = (str: string) => semver.valid(str) !== null;\n\nexport const isSemverInstance = (value: unknown): value is semver.SemVer => {\n return value instanceof semver.SemVer;\n};\n\nexport const isSemVerReleaseType = (str: string): str is Version.ReleaseType => {\n return Object.values(Version.ReleaseType).includes(str as Version.ReleaseType);\n};\n"],"names":["semVerFactory","version","semver","SemVer","isLiteralSemVer","str","tokens","split","length","every","token","Number","isNaN","isInteger","isValidSemVer","valid","isSemverInstance","value","isSemVerReleaseType","Object","values","Version","includes"],"mappings":";;;AAIO,MAAMA,gBAAgB,CAACC,OAAAA,GAAAA;IAC5B,OAAO,IAAIC,MAAOC,CAAAA,MAAM,CAACF,OAAAA,CAAAA;AAC3B;AAEO,MAAMG,kBAAkB,CAACC,GAAAA,GAAAA;IAC9B,MAAMC,MAAAA,GAASD,GAAIE,CAAAA,KAAK,CAAC,GAAA,CAAA;AAEzB,IAAA,OACED,OAAOE,MAAM,KAAK,KAClBF,MAAOG,CAAAA,KAAK,CAAC,CAACC,KAAAA,GAAU,CAACC,MAAAA,CAAOC,KAAK,CAAC,CAACF,UAAUC,MAAOE,CAAAA,SAAS,CAAC,CAACH,KAAAA,CAAAA,CAAAA;AAEvE;AAEO,MAAMI,gBAAgB,CAACT,GAAAA,GAAgBH,OAAOa,KAAK,CAACV,SAAS;AAE7D,MAAMW,mBAAmB,CAACC,KAAAA,GAAAA;IAC/B,OAAOA,KAAAA,YAAiBf,OAAOC,MAAM;AACvC;AAEO,MAAMe,sBAAsB,CAACb,GAAAA,GAAAA;AAClC,IAAA,OAAOc,OAAOC,MAAM,CAACC,WAAmB,CAAA,CAAEC,QAAQ,CAACjB,GAAAA,CAAAA;AACrD;;;;"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
exports.ReleaseType = void 0;
|
|
4
|
+
(function(ReleaseType) {
|
|
5
|
+
// Classic
|
|
6
|
+
ReleaseType["Major"] = "major";
|
|
7
|
+
ReleaseType["Minor"] = "minor";
|
|
8
|
+
ReleaseType["Patch"] = "patch";
|
|
9
|
+
// Other
|
|
10
|
+
ReleaseType["Latest"] = "latest";
|
|
11
|
+
})(exports.ReleaseType || (exports.ReleaseType = {}));
|
|
12
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sources":["../../../../src/modules/version/types.ts"],"sourcesContent":["export type Version = number;\n\nexport type LiteralVersion =\n | `${Version}`\n | `${Version}.${Version}`\n | `${Version}.${Version}.${Version}`;\n\nexport type LiteralSemVer = `${Version}.${Version}.${Version}`;\n\nexport type { SemVer, Range } from 'semver';\n\nexport enum ReleaseType {\n // Classic\n Major = 'major',\n Minor = 'minor',\n Patch = 'patch',\n // Other\n Latest = 'latest',\n}\n"],"names":["ReleaseType"],"mappings":";;;AAWYA,CAAAA,SAAAA,WAAAA,EAAAA;;;;;;;GAAAA,mBAAAA,KAAAA,mBAAAA,GAAAA,EAAAA,CAAAA,CAAAA;;"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
var ReleaseType;
|
|
2
|
+
(function(ReleaseType) {
|
|
3
|
+
// Classic
|
|
4
|
+
ReleaseType["Major"] = "major";
|
|
5
|
+
ReleaseType["Minor"] = "minor";
|
|
6
|
+
ReleaseType["Patch"] = "patch";
|
|
7
|
+
// Other
|
|
8
|
+
ReleaseType["Latest"] = "latest";
|
|
9
|
+
})(ReleaseType || (ReleaseType = {}));
|
|
10
|
+
|
|
11
|
+
export { ReleaseType };
|
|
12
|
+
//# sourceMappingURL=types.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.mjs","sources":["../../../../src/modules/version/types.ts"],"sourcesContent":["export type Version = number;\n\nexport type LiteralVersion =\n | `${Version}`\n | `${Version}.${Version}`\n | `${Version}.${Version}.${Version}`;\n\nexport type LiteralSemVer = `${Version}.${Version}.${Version}`;\n\nexport type { SemVer, Range } from 'semver';\n\nexport enum ReleaseType {\n // Classic\n Major = 'major',\n Minor = 'minor',\n Patch = 'patch',\n // Other\n Latest = 'latest',\n}\n"],"names":["ReleaseType"],"mappings":";AAWYA,CAAAA,SAAAA,WAAAA,EAAAA;;;;;;;GAAAA,WAAAA,KAAAA,WAAAA,GAAAA,EAAAA,CAAAA,CAAAA;;;;"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var repository = require('../../modules/codemod-repository/repository.js');
|
|
4
|
+
require('../../modules/codemod-repository/constants.js');
|
|
5
|
+
var project = require('../../modules/project/project.js');
|
|
6
|
+
require('../../modules/project/constants.js');
|
|
7
|
+
var utils = require('./utils.js');
|
|
8
|
+
var formats = require('../../modules/format/formats.js');
|
|
9
|
+
|
|
10
|
+
const listCodemods = async (options)=>{
|
|
11
|
+
const { logger, target } = options;
|
|
12
|
+
const cwd = utils.resolvePath(options.cwd);
|
|
13
|
+
const project$1 = project.projectFactory(cwd);
|
|
14
|
+
const range = utils.findRangeFromTarget(project$1, target);
|
|
15
|
+
logger.debug(formats.projectDetails(project$1));
|
|
16
|
+
logger.debug(`Range: set to ${formats.versionRange(range)}`);
|
|
17
|
+
// Create a codemod repository targeting the default location of the codemods
|
|
18
|
+
const repo = repository.codemodRepositoryFactory();
|
|
19
|
+
// Make sure all the codemods are loaded
|
|
20
|
+
repo.refresh();
|
|
21
|
+
// Find groups of codemods matching the given range
|
|
22
|
+
const groups = repo.find({
|
|
23
|
+
range
|
|
24
|
+
});
|
|
25
|
+
// Flatten the groups into a simple codemod array
|
|
26
|
+
const codemods = groups.flatMap((collection)=>collection.codemods);
|
|
27
|
+
// Debug
|
|
28
|
+
logger.debug(`Found ${formats.highlight(codemods.length)} codemods`);
|
|
29
|
+
// Don't log an empty table
|
|
30
|
+
if (codemods.length === 0) {
|
|
31
|
+
logger.info(`Found no codemods matching ${formats.versionRange(range)}`);
|
|
32
|
+
return;
|
|
33
|
+
}
|
|
34
|
+
// Format the list to a pretty table
|
|
35
|
+
const fCodemods = formats.codemodList(codemods);
|
|
36
|
+
logger.raw(fCodemods);
|
|
37
|
+
};
|
|
38
|
+
|
|
39
|
+
exports.listCodemods = listCodemods;
|
|
40
|
+
//# sourceMappingURL=list-codemods.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list-codemods.js","sources":["../../../../src/tasks/codemods/list-codemods.ts"],"sourcesContent":["import { codemodRepositoryFactory } from '../../modules/codemod-repository';\nimport { projectFactory } from '../../modules/project';\nimport { findRangeFromTarget, resolvePath } from './utils';\n\nimport * as f from '../../modules/format';\n\nimport type { ListCodemodsOptions } from './types';\n\nexport const listCodemods = async (options: ListCodemodsOptions) => {\n const { logger, target } = options;\n\n const cwd = resolvePath(options.cwd);\n const project = projectFactory(cwd);\n const range = findRangeFromTarget(project, target);\n\n logger.debug(f.projectDetails(project));\n logger.debug(`Range: set to ${f.versionRange(range)}`);\n\n // Create a codemod repository targeting the default location of the codemods\n const repo = codemodRepositoryFactory();\n\n // Make sure all the codemods are loaded\n repo.refresh();\n\n // Find groups of codemods matching the given range\n const groups = repo.find({ range });\n\n // Flatten the groups into a simple codemod array\n const codemods = groups.flatMap((collection) => collection.codemods);\n\n // Debug\n logger.debug(`Found ${f.highlight(codemods.length)} codemods`);\n\n // Don't log an empty table\n if (codemods.length === 0) {\n logger.info(`Found no codemods matching ${f.versionRange(range)}`);\n return;\n }\n\n // Format the list to a pretty table\n const fCodemods = f.codemodList(codemods);\n\n logger.raw(fCodemods);\n};\n"],"names":["listCodemods","options","logger","target","cwd","resolvePath","project","projectFactory","range","findRangeFromTarget","debug","f","repo","codemodRepositoryFactory","refresh","groups","find","codemods","flatMap","collection","length","info","fCodemods","raw"],"mappings":";;;;;;;;;AAQO,MAAMA,eAAe,OAAOC,OAAAA,GAAAA;AACjC,IAAA,MAAM,EAAEC,MAAM,EAAEC,MAAM,EAAE,GAAGF,OAAAA;IAE3B,MAAMG,GAAAA,GAAMC,iBAAYJ,CAAAA,OAAAA,CAAQG,GAAG,CAAA;AACnC,IAAA,MAAME,YAAUC,sBAAeH,CAAAA,GAAAA,CAAAA;IAC/B,MAAMI,KAAAA,GAAQC,0BAAoBH,SAASH,EAAAA,MAAAA,CAAAA;AAE3CD,IAAAA,MAAAA,CAAOQ,KAAK,CAACC,sBAAgB,CAACL,SAAAA,CAAAA,CAAAA;IAC9BJ,MAAOQ,CAAAA,KAAK,CAAC,CAAC,cAAc,EAAEC,oBAAc,CAACH,KAAAA,CAAAA,CAAO,CAAC,CAAA;;AAGrD,IAAA,MAAMI,IAAOC,GAAAA,mCAAAA,EAAAA;;AAGbD,IAAAA,IAAAA,CAAKE,OAAO,EAAA;;IAGZ,MAAMC,MAAAA,GAASH,IAAKI,CAAAA,IAAI,CAAC;AAAER,QAAAA;AAAM,KAAA,CAAA;;AAGjC,IAAA,MAAMS,WAAWF,MAAOG,CAAAA,OAAO,CAAC,CAACC,UAAAA,GAAeA,WAAWF,QAAQ,CAAA;;AAGnEf,IAAAA,MAAAA,CAAOQ,KAAK,CAAC,CAAC,MAAM,EAAEC,iBAAW,CAACM,QAASG,CAAAA,MAAM,CAAE,CAAA,SAAS,CAAC,CAAA;;IAG7D,IAAIH,QAAAA,CAASG,MAAM,KAAK,CAAG,EAAA;QACzBlB,MAAOmB,CAAAA,IAAI,CAAC,CAAC,2BAA2B,EAAEV,oBAAc,CAACH,KAAAA,CAAAA,CAAO,CAAC,CAAA;AACjE,QAAA;AACF;;IAGA,MAAMc,SAAAA,GAAYX,mBAAa,CAACM,QAAAA,CAAAA;AAEhCf,IAAAA,MAAAA,CAAOqB,GAAG,CAACD,SAAAA,CAAAA;AACb;;;;"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { codemodRepositoryFactory } from '../../modules/codemod-repository/repository.mjs';
|
|
2
|
+
import '../../modules/codemod-repository/constants.mjs';
|
|
3
|
+
import { projectFactory } from '../../modules/project/project.mjs';
|
|
4
|
+
import '../../modules/project/constants.mjs';
|
|
5
|
+
import { resolvePath, findRangeFromTarget } from './utils.mjs';
|
|
6
|
+
import { projectDetails, versionRange, highlight, codemodList } from '../../modules/format/formats.mjs';
|
|
7
|
+
|
|
8
|
+
const listCodemods = async (options)=>{
|
|
9
|
+
const { logger, target } = options;
|
|
10
|
+
const cwd = resolvePath(options.cwd);
|
|
11
|
+
const project = projectFactory(cwd);
|
|
12
|
+
const range = findRangeFromTarget(project, target);
|
|
13
|
+
logger.debug(projectDetails(project));
|
|
14
|
+
logger.debug(`Range: set to ${versionRange(range)}`);
|
|
15
|
+
// Create a codemod repository targeting the default location of the codemods
|
|
16
|
+
const repo = codemodRepositoryFactory();
|
|
17
|
+
// Make sure all the codemods are loaded
|
|
18
|
+
repo.refresh();
|
|
19
|
+
// Find groups of codemods matching the given range
|
|
20
|
+
const groups = repo.find({
|
|
21
|
+
range
|
|
22
|
+
});
|
|
23
|
+
// Flatten the groups into a simple codemod array
|
|
24
|
+
const codemods = groups.flatMap((collection)=>collection.codemods);
|
|
25
|
+
// Debug
|
|
26
|
+
logger.debug(`Found ${highlight(codemods.length)} codemods`);
|
|
27
|
+
// Don't log an empty table
|
|
28
|
+
if (codemods.length === 0) {
|
|
29
|
+
logger.info(`Found no codemods matching ${versionRange(range)}`);
|
|
30
|
+
return;
|
|
31
|
+
}
|
|
32
|
+
// Format the list to a pretty table
|
|
33
|
+
const fCodemods = codemodList(codemods);
|
|
34
|
+
logger.raw(fCodemods);
|
|
35
|
+
};
|
|
36
|
+
|
|
37
|
+
export { listCodemods };
|
|
38
|
+
//# sourceMappingURL=list-codemods.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list-codemods.mjs","sources":["../../../../src/tasks/codemods/list-codemods.ts"],"sourcesContent":["import { codemodRepositoryFactory } from '../../modules/codemod-repository';\nimport { projectFactory } from '../../modules/project';\nimport { findRangeFromTarget, resolvePath } from './utils';\n\nimport * as f from '../../modules/format';\n\nimport type { ListCodemodsOptions } from './types';\n\nexport const listCodemods = async (options: ListCodemodsOptions) => {\n const { logger, target } = options;\n\n const cwd = resolvePath(options.cwd);\n const project = projectFactory(cwd);\n const range = findRangeFromTarget(project, target);\n\n logger.debug(f.projectDetails(project));\n logger.debug(`Range: set to ${f.versionRange(range)}`);\n\n // Create a codemod repository targeting the default location of the codemods\n const repo = codemodRepositoryFactory();\n\n // Make sure all the codemods are loaded\n repo.refresh();\n\n // Find groups of codemods matching the given range\n const groups = repo.find({ range });\n\n // Flatten the groups into a simple codemod array\n const codemods = groups.flatMap((collection) => collection.codemods);\n\n // Debug\n logger.debug(`Found ${f.highlight(codemods.length)} codemods`);\n\n // Don't log an empty table\n if (codemods.length === 0) {\n logger.info(`Found no codemods matching ${f.versionRange(range)}`);\n return;\n }\n\n // Format the list to a pretty table\n const fCodemods = f.codemodList(codemods);\n\n logger.raw(fCodemods);\n};\n"],"names":["listCodemods","options","logger","target","cwd","resolvePath","project","projectFactory","range","findRangeFromTarget","debug","f","repo","codemodRepositoryFactory","refresh","groups","find","codemods","flatMap","collection","length","info","fCodemods","raw"],"mappings":";;;;;;;AAQO,MAAMA,eAAe,OAAOC,OAAAA,GAAAA;AACjC,IAAA,MAAM,EAAEC,MAAM,EAAEC,MAAM,EAAE,GAAGF,OAAAA;IAE3B,MAAMG,GAAAA,GAAMC,WAAYJ,CAAAA,OAAAA,CAAQG,GAAG,CAAA;AACnC,IAAA,MAAME,UAAUC,cAAeH,CAAAA,GAAAA,CAAAA;IAC/B,MAAMI,KAAAA,GAAQC,oBAAoBH,OAASH,EAAAA,MAAAA,CAAAA;AAE3CD,IAAAA,MAAAA,CAAOQ,KAAK,CAACC,cAAgB,CAACL,OAAAA,CAAAA,CAAAA;IAC9BJ,MAAOQ,CAAAA,KAAK,CAAC,CAAC,cAAc,EAAEC,YAAc,CAACH,KAAAA,CAAAA,CAAO,CAAC,CAAA;;AAGrD,IAAA,MAAMI,IAAOC,GAAAA,wBAAAA,EAAAA;;AAGbD,IAAAA,IAAAA,CAAKE,OAAO,EAAA;;IAGZ,MAAMC,MAAAA,GAASH,IAAKI,CAAAA,IAAI,CAAC;AAAER,QAAAA;AAAM,KAAA,CAAA;;AAGjC,IAAA,MAAMS,WAAWF,MAAOG,CAAAA,OAAO,CAAC,CAACC,UAAAA,GAAeA,WAAWF,QAAQ,CAAA;;AAGnEf,IAAAA,MAAAA,CAAOQ,KAAK,CAAC,CAAC,MAAM,EAAEC,SAAW,CAACM,QAASG,CAAAA,MAAM,CAAE,CAAA,SAAS,CAAC,CAAA;;IAG7D,IAAIH,QAAAA,CAASG,MAAM,KAAK,CAAG,EAAA;QACzBlB,MAAOmB,CAAAA,IAAI,CAAC,CAAC,2BAA2B,EAAEV,YAAc,CAACH,KAAAA,CAAAA,CAAO,CAAC,CAAA;AACjE,QAAA;AACF;;IAGA,MAAMc,SAAAA,GAAYX,WAAa,CAACM,QAAAA,CAAAA;AAEhCf,IAAAA,MAAAA,CAAOqB,GAAG,CAACD,SAAAA,CAAAA;AACb;;;;"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var formats = require('../../modules/format/formats.js');
|
|
4
|
+
var timer = require('../../modules/timer/timer.js');
|
|
5
|
+
var project = require('../../modules/project/project.js');
|
|
6
|
+
require('../../modules/project/constants.js');
|
|
7
|
+
var codemodRunner = require('../../modules/codemod-runner/codemod-runner.js');
|
|
8
|
+
var utils = require('./utils.js');
|
|
9
|
+
|
|
10
|
+
const runCodemods = async (options)=>{
|
|
11
|
+
const timer$1 = timer.timerFactory();
|
|
12
|
+
const { logger, uid } = options;
|
|
13
|
+
// Make sure we're resolving the correct working directory based on the given input
|
|
14
|
+
const cwd = utils.resolvePath(options.cwd);
|
|
15
|
+
const project$1 = project.projectFactory(cwd);
|
|
16
|
+
const range = utils.findRangeFromTarget(project$1, options.target);
|
|
17
|
+
logger.debug(formats.projectDetails(project$1));
|
|
18
|
+
logger.debug(`Range: set to ${formats.versionRange(range)}`);
|
|
19
|
+
const codemodRunner$1 = codemodRunner.codemodRunnerFactory(project$1, range).dry(options.dry ?? false).onSelectCodemods(options.selectCodemods ?? null).setLogger(logger);
|
|
20
|
+
let report;
|
|
21
|
+
// If uid is defined, only run the selected codemod
|
|
22
|
+
if (uid !== undefined) {
|
|
23
|
+
logger.debug(`Running a single codemod: ${formats.codemodUID(uid)}`);
|
|
24
|
+
report = await codemodRunner$1.runByUID(uid);
|
|
25
|
+
} else {
|
|
26
|
+
report = await codemodRunner$1.run();
|
|
27
|
+
}
|
|
28
|
+
if (!report.success) {
|
|
29
|
+
throw report.error;
|
|
30
|
+
}
|
|
31
|
+
timer$1.stop();
|
|
32
|
+
logger.info(`Completed in ${timer$1.elapsedMs}`);
|
|
33
|
+
};
|
|
34
|
+
|
|
35
|
+
exports.runCodemods = runCodemods;
|
|
36
|
+
//# sourceMappingURL=run-codemods.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"run-codemods.js","sources":["../../../../src/tasks/codemods/run-codemods.ts"],"sourcesContent":["import * as f from '../../modules/format';\nimport { timerFactory } from '../../modules/timer';\nimport { projectFactory } from '../../modules/project';\nimport { codemodRunnerFactory } from '../../modules/codemod-runner';\nimport { findRangeFromTarget, resolvePath } from './utils';\n\nimport type { RunCodemodsOptions } from './types';\nimport type { CodemodRunnerReport } from '../../modules/codemod-runner';\n\nexport const runCodemods = async (options: RunCodemodsOptions) => {\n const timer = timerFactory();\n const { logger, uid } = options;\n\n // Make sure we're resolving the correct working directory based on the given input\n const cwd = resolvePath(options.cwd);\n\n const project = projectFactory(cwd);\n const range = findRangeFromTarget(project, options.target);\n\n logger.debug(f.projectDetails(project));\n logger.debug(`Range: set to ${f.versionRange(range)}`);\n\n const codemodRunner = codemodRunnerFactory(project, range)\n .dry(options.dry ?? false)\n .onSelectCodemods(options.selectCodemods ?? null)\n .setLogger(logger);\n\n let report: CodemodRunnerReport;\n\n // If uid is defined, only run the selected codemod\n if (uid !== undefined) {\n logger.debug(`Running a single codemod: ${f.codemodUID(uid)}`);\n report = await codemodRunner.runByUID(uid);\n }\n\n // By default, only filter using the specified range\n else {\n report = await codemodRunner.run();\n }\n\n if (!report.success) {\n throw report.error;\n }\n\n timer.stop();\n\n logger.info(`Completed in ${timer.elapsedMs}`);\n};\n"],"names":["runCodemods","options","timer","timerFactory","logger","uid","cwd","resolvePath","project","projectFactory","range","findRangeFromTarget","target","debug","f","codemodRunner","codemodRunnerFactory","dry","onSelectCodemods","selectCodemods","setLogger","report","undefined","runByUID","run","success","error","stop","info","elapsedMs"],"mappings":";;;;;;;;;AASO,MAAMA,cAAc,OAAOC,OAAAA,GAAAA;AAChC,IAAA,MAAMC,OAAQC,GAAAA,kBAAAA,EAAAA;AACd,IAAA,MAAM,EAAEC,MAAM,EAAEC,GAAG,EAAE,GAAGJ,OAAAA;;IAGxB,MAAMK,GAAAA,GAAMC,iBAAYN,CAAAA,OAAAA,CAAQK,GAAG,CAAA;AAEnC,IAAA,MAAME,YAAUC,sBAAeH,CAAAA,GAAAA,CAAAA;AAC/B,IAAA,MAAMI,KAAQC,GAAAA,yBAAAA,CAAoBH,SAASP,EAAAA,OAAAA,CAAQW,MAAM,CAAA;AAEzDR,IAAAA,MAAAA,CAAOS,KAAK,CAACC,sBAAgB,CAACN,SAAAA,CAAAA,CAAAA;IAC9BJ,MAAOS,CAAAA,KAAK,CAAC,CAAC,cAAc,EAAEC,oBAAc,CAACJ,KAAAA,CAAAA,CAAO,CAAC,CAAA;AAErD,IAAA,MAAMK,kBAAgBC,kCAAqBR,CAAAA,SAAAA,EAASE,KACjDO,CAAAA,CAAAA,GAAG,CAAChB,OAAQgB,CAAAA,GAAG,IAAI,KAAA,CAAA,CACnBC,gBAAgB,CAACjB,OAAAA,CAAQkB,cAAc,IAAI,IAAA,CAAA,CAC3CC,SAAS,CAAChB,MAAAA,CAAAA;IAEb,IAAIiB,MAAAA;;AAGJ,IAAA,IAAIhB,QAAQiB,SAAW,EAAA;QACrBlB,MAAOS,CAAAA,KAAK,CAAC,CAAC,0BAA0B,EAAEC,kBAAY,CAACT,GAAAA,CAAAA,CAAK,CAAC,CAAA;QAC7DgB,MAAS,GAAA,MAAMN,eAAcQ,CAAAA,QAAQ,CAAClB,GAAAA,CAAAA;KAInC,MAAA;QACHgB,MAAS,GAAA,MAAMN,gBAAcS,GAAG,EAAA;AAClC;IAEA,IAAI,CAACH,MAAOI,CAAAA,OAAO,EAAE;AACnB,QAAA,MAAMJ,OAAOK,KAAK;AACpB;AAEAxB,IAAAA,OAAAA,CAAMyB,IAAI,EAAA;IAEVvB,MAAOwB,CAAAA,IAAI,CAAC,CAAC,aAAa,EAAE1B,OAAM2B,CAAAA,SAAS,CAAC,CAAC,CAAA;AAC/C;;;;"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { projectDetails, versionRange, codemodUID } from '../../modules/format/formats.mjs';
|
|
2
|
+
import { timerFactory } from '../../modules/timer/timer.mjs';
|
|
3
|
+
import { projectFactory } from '../../modules/project/project.mjs';
|
|
4
|
+
import '../../modules/project/constants.mjs';
|
|
5
|
+
import { codemodRunnerFactory } from '../../modules/codemod-runner/codemod-runner.mjs';
|
|
6
|
+
import { resolvePath, findRangeFromTarget } from './utils.mjs';
|
|
7
|
+
|
|
8
|
+
const runCodemods = async (options)=>{
|
|
9
|
+
const timer = timerFactory();
|
|
10
|
+
const { logger, uid } = options;
|
|
11
|
+
// Make sure we're resolving the correct working directory based on the given input
|
|
12
|
+
const cwd = resolvePath(options.cwd);
|
|
13
|
+
const project = projectFactory(cwd);
|
|
14
|
+
const range = findRangeFromTarget(project, options.target);
|
|
15
|
+
logger.debug(projectDetails(project));
|
|
16
|
+
logger.debug(`Range: set to ${versionRange(range)}`);
|
|
17
|
+
const codemodRunner = codemodRunnerFactory(project, range).dry(options.dry ?? false).onSelectCodemods(options.selectCodemods ?? null).setLogger(logger);
|
|
18
|
+
let report;
|
|
19
|
+
// If uid is defined, only run the selected codemod
|
|
20
|
+
if (uid !== undefined) {
|
|
21
|
+
logger.debug(`Running a single codemod: ${codemodUID(uid)}`);
|
|
22
|
+
report = await codemodRunner.runByUID(uid);
|
|
23
|
+
} else {
|
|
24
|
+
report = await codemodRunner.run();
|
|
25
|
+
}
|
|
26
|
+
if (!report.success) {
|
|
27
|
+
throw report.error;
|
|
28
|
+
}
|
|
29
|
+
timer.stop();
|
|
30
|
+
logger.info(`Completed in ${timer.elapsedMs}`);
|
|
31
|
+
};
|
|
32
|
+
|
|
33
|
+
export { runCodemods };
|
|
34
|
+
//# sourceMappingURL=run-codemods.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"run-codemods.mjs","sources":["../../../../src/tasks/codemods/run-codemods.ts"],"sourcesContent":["import * as f from '../../modules/format';\nimport { timerFactory } from '../../modules/timer';\nimport { projectFactory } from '../../modules/project';\nimport { codemodRunnerFactory } from '../../modules/codemod-runner';\nimport { findRangeFromTarget, resolvePath } from './utils';\n\nimport type { RunCodemodsOptions } from './types';\nimport type { CodemodRunnerReport } from '../../modules/codemod-runner';\n\nexport const runCodemods = async (options: RunCodemodsOptions) => {\n const timer = timerFactory();\n const { logger, uid } = options;\n\n // Make sure we're resolving the correct working directory based on the given input\n const cwd = resolvePath(options.cwd);\n\n const project = projectFactory(cwd);\n const range = findRangeFromTarget(project, options.target);\n\n logger.debug(f.projectDetails(project));\n logger.debug(`Range: set to ${f.versionRange(range)}`);\n\n const codemodRunner = codemodRunnerFactory(project, range)\n .dry(options.dry ?? false)\n .onSelectCodemods(options.selectCodemods ?? null)\n .setLogger(logger);\n\n let report: CodemodRunnerReport;\n\n // If uid is defined, only run the selected codemod\n if (uid !== undefined) {\n logger.debug(`Running a single codemod: ${f.codemodUID(uid)}`);\n report = await codemodRunner.runByUID(uid);\n }\n\n // By default, only filter using the specified range\n else {\n report = await codemodRunner.run();\n }\n\n if (!report.success) {\n throw report.error;\n }\n\n timer.stop();\n\n logger.info(`Completed in ${timer.elapsedMs}`);\n};\n"],"names":["runCodemods","options","timer","timerFactory","logger","uid","cwd","resolvePath","project","projectFactory","range","findRangeFromTarget","target","debug","f","codemodRunner","codemodRunnerFactory","dry","onSelectCodemods","selectCodemods","setLogger","report","undefined","runByUID","run","success","error","stop","info","elapsedMs"],"mappings":";;;;;;;AASO,MAAMA,cAAc,OAAOC,OAAAA,GAAAA;AAChC,IAAA,MAAMC,KAAQC,GAAAA,YAAAA,EAAAA;AACd,IAAA,MAAM,EAAEC,MAAM,EAAEC,GAAG,EAAE,GAAGJ,OAAAA;;IAGxB,MAAMK,GAAAA,GAAMC,WAAYN,CAAAA,OAAAA,CAAQK,GAAG,CAAA;AAEnC,IAAA,MAAME,UAAUC,cAAeH,CAAAA,GAAAA,CAAAA;AAC/B,IAAA,MAAMI,KAAQC,GAAAA,mBAAAA,CAAoBH,OAASP,EAAAA,OAAAA,CAAQW,MAAM,CAAA;AAEzDR,IAAAA,MAAAA,CAAOS,KAAK,CAACC,cAAgB,CAACN,OAAAA,CAAAA,CAAAA;IAC9BJ,MAAOS,CAAAA,KAAK,CAAC,CAAC,cAAc,EAAEC,YAAc,CAACJ,KAAAA,CAAAA,CAAO,CAAC,CAAA;AAErD,IAAA,MAAMK,gBAAgBC,oBAAqBR,CAAAA,OAAAA,EAASE,KACjDO,CAAAA,CAAAA,GAAG,CAAChB,OAAQgB,CAAAA,GAAG,IAAI,KAAA,CAAA,CACnBC,gBAAgB,CAACjB,OAAAA,CAAQkB,cAAc,IAAI,IAAA,CAAA,CAC3CC,SAAS,CAAChB,MAAAA,CAAAA;IAEb,IAAIiB,MAAAA;;AAGJ,IAAA,IAAIhB,QAAQiB,SAAW,EAAA;QACrBlB,MAAOS,CAAAA,KAAK,CAAC,CAAC,0BAA0B,EAAEC,UAAY,CAACT,GAAAA,CAAAA,CAAK,CAAC,CAAA;QAC7DgB,MAAS,GAAA,MAAMN,aAAcQ,CAAAA,QAAQ,CAAClB,GAAAA,CAAAA;KAInC,MAAA;QACHgB,MAAS,GAAA,MAAMN,cAAcS,GAAG,EAAA;AAClC;IAEA,IAAI,CAACH,MAAOI,CAAAA,OAAO,EAAE;AACnB,QAAA,MAAMJ,OAAOK,KAAK;AACpB;AAEAxB,IAAAA,KAAAA,CAAMyB,IAAI,EAAA;IAEVvB,MAAOwB,CAAAA,IAAI,CAAC,CAAC,aAAa,EAAE1B,KAAM2B,CAAAA,SAAS,CAAC,CAAC,CAAA;AAC/C;;;;"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var path = require('node:path');
|
|
4
|
+
require('node:assert');
|
|
5
|
+
require('fs-extra');
|
|
6
|
+
require('semver');
|
|
7
|
+
var semver = require('../../modules/version/semver.js');
|
|
8
|
+
var range = require('../../modules/version/range.js');
|
|
9
|
+
var types = require('../../modules/version/types.js');
|
|
10
|
+
require('fast-glob');
|
|
11
|
+
require('jscodeshift/src/Runner');
|
|
12
|
+
require('lodash/fp');
|
|
13
|
+
require('esbuild-register/dist/node');
|
|
14
|
+
require('../../modules/project/constants.js');
|
|
15
|
+
var utils = require('../../modules/project/utils.js');
|
|
16
|
+
|
|
17
|
+
const resolvePath = (cwd)=>path.resolve(cwd ?? process.cwd());
|
|
18
|
+
const getRangeFromTarget = (currentVersion, target)=>{
|
|
19
|
+
if (semver.isSemverInstance(target)) {
|
|
20
|
+
return range.rangeFactory(target);
|
|
21
|
+
}
|
|
22
|
+
const { major, minor, patch } = currentVersion;
|
|
23
|
+
switch(target){
|
|
24
|
+
case types.ReleaseType.Latest:
|
|
25
|
+
throw new Error("Can't use <latest> to create a codemods range: not implemented");
|
|
26
|
+
case types.ReleaseType.Major:
|
|
27
|
+
return range.rangeFactory(`${major}`);
|
|
28
|
+
case types.ReleaseType.Minor:
|
|
29
|
+
return range.rangeFactory(`${major}.${minor}`);
|
|
30
|
+
case types.ReleaseType.Patch:
|
|
31
|
+
return range.rangeFactory(`${major}.${minor}.${patch}`);
|
|
32
|
+
default:
|
|
33
|
+
throw new Error(`Invalid target set: ${target}`);
|
|
34
|
+
}
|
|
35
|
+
};
|
|
36
|
+
const findRangeFromTarget = (project, target)=>{
|
|
37
|
+
// If a range is manually defined, use it
|
|
38
|
+
if (range.isRangeInstance(target)) {
|
|
39
|
+
return target;
|
|
40
|
+
}
|
|
41
|
+
// If the current project is a Strapi application
|
|
42
|
+
// Get the range from the given target
|
|
43
|
+
if (utils.isApplicationProject(project)) {
|
|
44
|
+
return getRangeFromTarget(project.strapiVersion, target);
|
|
45
|
+
}
|
|
46
|
+
// Else, if the project is a Strapi plugin or anything else
|
|
47
|
+
// Set the range to match any version
|
|
48
|
+
return range.rangeFactory('*');
|
|
49
|
+
};
|
|
50
|
+
|
|
51
|
+
exports.findRangeFromTarget = findRangeFromTarget;
|
|
52
|
+
exports.getRangeFromTarget = getRangeFromTarget;
|
|
53
|
+
exports.resolvePath = resolvePath;
|
|
54
|
+
//# sourceMappingURL=utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","sources":["../../../../src/tasks/codemods/utils.ts"],"sourcesContent":["import path from 'node:path';\n\nimport { isApplicationProject } from '../../modules/project';\nimport { Version, isSemverInstance, rangeFactory, isRangeInstance } from '../../modules/version';\n\nimport type { Project } from '../../modules/project';\n\nexport const resolvePath = (cwd?: string) => path.resolve(cwd ?? process.cwd());\n\nexport const getRangeFromTarget = (\n currentVersion: Version.SemVer,\n target: Version.ReleaseType | Version.LiteralSemVer\n) => {\n if (isSemverInstance(target)) {\n return rangeFactory(target);\n }\n\n const { major, minor, patch } = currentVersion;\n\n switch (target) {\n case Version.ReleaseType.Latest:\n throw new Error(\"Can't use <latest> to create a codemods range: not implemented\");\n case Version.ReleaseType.Major:\n return rangeFactory(`${major}`);\n case Version.ReleaseType.Minor:\n return rangeFactory(`${major}.${minor}`);\n case Version.ReleaseType.Patch:\n return rangeFactory(`${major}.${minor}.${patch}`);\n default:\n throw new Error(`Invalid target set: ${target}`);\n }\n};\n\nexport const findRangeFromTarget = (\n project: Project,\n target: Version.ReleaseType | Version.LiteralSemVer | Version.Range\n): Version.Range => {\n // If a range is manually defined, use it\n if (isRangeInstance(target)) {\n return target;\n }\n\n // If the current project is a Strapi application\n // Get the range from the given target\n if (isApplicationProject(project)) {\n return getRangeFromTarget(project.strapiVersion, target);\n }\n\n // Else, if the project is a Strapi plugin or anything else\n // Set the range to match any version\n return rangeFactory('*');\n};\n"],"names":["resolvePath","cwd","path","resolve","process","getRangeFromTarget","currentVersion","target","isSemverInstance","rangeFactory","major","minor","patch","Version","Latest","Error","Major","Minor","Patch","findRangeFromTarget","project","isRangeInstance","isApplicationProject","strapiVersion"],"mappings":";;;;;;;;;;;;;;;;AAOO,MAAMA,WAAc,GAAA,CAACC,GAAiBC,GAAAA,IAAAA,CAAKC,OAAO,CAACF,GAAAA,IAAOG,OAAQH,CAAAA,GAAG,EAAI;AAEzE,MAAMI,kBAAqB,GAAA,CAChCC,cACAC,EAAAA,MAAAA,GAAAA;AAEA,IAAA,IAAIC,wBAAiBD,MAAS,CAAA,EAAA;AAC5B,QAAA,OAAOE,kBAAaF,CAAAA,MAAAA,CAAAA;AACtB;AAEA,IAAA,MAAM,EAAEG,KAAK,EAAEC,KAAK,EAAEC,KAAK,EAAE,GAAGN,cAAAA;IAEhC,OAAQC,MAAAA;QACN,KAAKM,iBAAmB,CAACC,MAAM;AAC7B,YAAA,MAAM,IAAIC,KAAM,CAAA,gEAAA,CAAA;QAClB,KAAKF,iBAAmB,CAACG,KAAK;AAC5B,YAAA,OAAOP,kBAAa,CAAA,CAAC,EAAEC,KAAAA,CAAM,CAAC,CAAA;QAChC,KAAKG,iBAAmB,CAACI,KAAK;AAC5B,YAAA,OAAOR,mBAAa,CAAC,EAAEC,MAAM,CAAC,EAAEC,MAAM,CAAC,CAAA;QACzC,KAAKE,iBAAmB,CAACK,KAAK;YAC5B,OAAOT,kBAAAA,CAAa,CAAC,EAAEC,KAAM,CAAA,CAAC,EAAEC,KAAM,CAAA,CAAC,EAAEC,KAAAA,CAAM,CAAC,CAAA;AAClD,QAAA;AACE,YAAA,MAAM,IAAIG,KAAM,CAAA,CAAC,oBAAoB,EAAER,OAAO,CAAC,CAAA;AACnD;AACF;AAEO,MAAMY,mBAAsB,GAAA,CACjCC,OACAb,EAAAA,MAAAA,GAAAA;;AAGA,IAAA,IAAIc,sBAAgBd,MAAS,CAAA,EAAA;QAC3B,OAAOA,MAAAA;AACT;;;AAIA,IAAA,IAAIe,2BAAqBF,OAAU,CAAA,EAAA;QACjC,OAAOf,kBAAAA,CAAmBe,OAAQG,CAAAA,aAAa,EAAEhB,MAAAA,CAAAA;AACnD;;;AAIA,IAAA,OAAOE,kBAAa,CAAA,GAAA,CAAA;AACtB;;;;;;"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import path from 'node:path';
|
|
2
|
+
import 'node:assert';
|
|
3
|
+
import 'fs-extra';
|
|
4
|
+
import 'semver';
|
|
5
|
+
import { isSemverInstance } from '../../modules/version/semver.mjs';
|
|
6
|
+
import { isRangeInstance, rangeFactory } from '../../modules/version/range.mjs';
|
|
7
|
+
import { ReleaseType } from '../../modules/version/types.mjs';
|
|
8
|
+
import 'fast-glob';
|
|
9
|
+
import 'jscodeshift/src/Runner';
|
|
10
|
+
import 'lodash/fp';
|
|
11
|
+
import 'esbuild-register/dist/node';
|
|
12
|
+
import '../../modules/project/constants.mjs';
|
|
13
|
+
import { isApplicationProject } from '../../modules/project/utils.mjs';
|
|
14
|
+
|
|
15
|
+
const resolvePath = (cwd)=>path.resolve(cwd ?? process.cwd());
|
|
16
|
+
const getRangeFromTarget = (currentVersion, target)=>{
|
|
17
|
+
if (isSemverInstance(target)) {
|
|
18
|
+
return rangeFactory(target);
|
|
19
|
+
}
|
|
20
|
+
const { major, minor, patch } = currentVersion;
|
|
21
|
+
switch(target){
|
|
22
|
+
case ReleaseType.Latest:
|
|
23
|
+
throw new Error("Can't use <latest> to create a codemods range: not implemented");
|
|
24
|
+
case ReleaseType.Major:
|
|
25
|
+
return rangeFactory(`${major}`);
|
|
26
|
+
case ReleaseType.Minor:
|
|
27
|
+
return rangeFactory(`${major}.${minor}`);
|
|
28
|
+
case ReleaseType.Patch:
|
|
29
|
+
return rangeFactory(`${major}.${minor}.${patch}`);
|
|
30
|
+
default:
|
|
31
|
+
throw new Error(`Invalid target set: ${target}`);
|
|
32
|
+
}
|
|
33
|
+
};
|
|
34
|
+
const findRangeFromTarget = (project, target)=>{
|
|
35
|
+
// If a range is manually defined, use it
|
|
36
|
+
if (isRangeInstance(target)) {
|
|
37
|
+
return target;
|
|
38
|
+
}
|
|
39
|
+
// If the current project is a Strapi application
|
|
40
|
+
// Get the range from the given target
|
|
41
|
+
if (isApplicationProject(project)) {
|
|
42
|
+
return getRangeFromTarget(project.strapiVersion, target);
|
|
43
|
+
}
|
|
44
|
+
// Else, if the project is a Strapi plugin or anything else
|
|
45
|
+
// Set the range to match any version
|
|
46
|
+
return rangeFactory('*');
|
|
47
|
+
};
|
|
48
|
+
|
|
49
|
+
export { findRangeFromTarget, getRangeFromTarget, resolvePath };
|
|
50
|
+
//# sourceMappingURL=utils.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.mjs","sources":["../../../../src/tasks/codemods/utils.ts"],"sourcesContent":["import path from 'node:path';\n\nimport { isApplicationProject } from '../../modules/project';\nimport { Version, isSemverInstance, rangeFactory, isRangeInstance } from '../../modules/version';\n\nimport type { Project } from '../../modules/project';\n\nexport const resolvePath = (cwd?: string) => path.resolve(cwd ?? process.cwd());\n\nexport const getRangeFromTarget = (\n currentVersion: Version.SemVer,\n target: Version.ReleaseType | Version.LiteralSemVer\n) => {\n if (isSemverInstance(target)) {\n return rangeFactory(target);\n }\n\n const { major, minor, patch } = currentVersion;\n\n switch (target) {\n case Version.ReleaseType.Latest:\n throw new Error(\"Can't use <latest> to create a codemods range: not implemented\");\n case Version.ReleaseType.Major:\n return rangeFactory(`${major}`);\n case Version.ReleaseType.Minor:\n return rangeFactory(`${major}.${minor}`);\n case Version.ReleaseType.Patch:\n return rangeFactory(`${major}.${minor}.${patch}`);\n default:\n throw new Error(`Invalid target set: ${target}`);\n }\n};\n\nexport const findRangeFromTarget = (\n project: Project,\n target: Version.ReleaseType | Version.LiteralSemVer | Version.Range\n): Version.Range => {\n // If a range is manually defined, use it\n if (isRangeInstance(target)) {\n return target;\n }\n\n // If the current project is a Strapi application\n // Get the range from the given target\n if (isApplicationProject(project)) {\n return getRangeFromTarget(project.strapiVersion, target);\n }\n\n // Else, if the project is a Strapi plugin or anything else\n // Set the range to match any version\n return rangeFactory('*');\n};\n"],"names":["resolvePath","cwd","path","resolve","process","getRangeFromTarget","currentVersion","target","isSemverInstance","rangeFactory","major","minor","patch","Version","Latest","Error","Major","Minor","Patch","findRangeFromTarget","project","isRangeInstance","isApplicationProject","strapiVersion"],"mappings":";;;;;;;;;;;;;;AAOO,MAAMA,WAAc,GAAA,CAACC,GAAiBC,GAAAA,IAAAA,CAAKC,OAAO,CAACF,GAAAA,IAAOG,OAAQH,CAAAA,GAAG,EAAI;AAEzE,MAAMI,kBAAqB,GAAA,CAChCC,cACAC,EAAAA,MAAAA,GAAAA;AAEA,IAAA,IAAIC,iBAAiBD,MAAS,CAAA,EAAA;AAC5B,QAAA,OAAOE,YAAaF,CAAAA,MAAAA,CAAAA;AACtB;AAEA,IAAA,MAAM,EAAEG,KAAK,EAAEC,KAAK,EAAEC,KAAK,EAAE,GAAGN,cAAAA;IAEhC,OAAQC,MAAAA;QACN,KAAKM,WAAmB,CAACC,MAAM;AAC7B,YAAA,MAAM,IAAIC,KAAM,CAAA,gEAAA,CAAA;QAClB,KAAKF,WAAmB,CAACG,KAAK;AAC5B,YAAA,OAAOP,YAAa,CAAA,CAAC,EAAEC,KAAAA,CAAM,CAAC,CAAA;QAChC,KAAKG,WAAmB,CAACI,KAAK;AAC5B,YAAA,OAAOR,aAAa,CAAC,EAAEC,MAAM,CAAC,EAAEC,MAAM,CAAC,CAAA;QACzC,KAAKE,WAAmB,CAACK,KAAK;YAC5B,OAAOT,YAAAA,CAAa,CAAC,EAAEC,KAAM,CAAA,CAAC,EAAEC,KAAM,CAAA,CAAC,EAAEC,KAAAA,CAAM,CAAC,CAAA;AAClD,QAAA;AACE,YAAA,MAAM,IAAIG,KAAM,CAAA,CAAC,oBAAoB,EAAER,OAAO,CAAC,CAAA;AACnD;AACF;AAEO,MAAMY,mBAAsB,GAAA,CACjCC,OACAb,EAAAA,MAAAA,GAAAA;;AAGA,IAAA,IAAIc,gBAAgBd,MAAS,CAAA,EAAA;QAC3B,OAAOA,MAAAA;AACT;;;AAIA,IAAA,IAAIe,qBAAqBF,OAAU,CAAA,EAAA;QACjC,OAAOf,kBAAAA,CAAmBe,OAAQG,CAAAA,aAAa,EAAEhB,MAAAA,CAAAA;AACnD;;;AAIA,IAAA,OAAOE,YAAa,CAAA,GAAA,CAAA;AACtB;;;;"}
|