@modern-js/generator-utils 2.2.1 → 2.3.3
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/CHANGELOG.md +64 -0
- package/dist/js/modern/index.js +46 -2
- package/dist/js/modern/utils/index.js +2 -1
- package/dist/js/modern/utils/package.js +88 -0
- package/dist/js/node/index.js +74 -0
- package/dist/js/node/utils/index.js +13 -0
- package/dist/js/node/utils/package.js +103 -0
- package/dist/types/index.d.ts +7 -1
- package/dist/types/utils/index.d.ts +2 -1
- package/dist/types/utils/package.d.ts +10 -0
- package/package.json +8 -7
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,69 @@
|
|
|
1
1
|
# @modern-js/generator-utils
|
|
2
2
|
|
|
3
|
+
## 2.3.3
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- Updated dependencies [8280920]
|
|
8
|
+
- Updated dependencies [4f77eb4]
|
|
9
|
+
- Updated dependencies [5227370]
|
|
10
|
+
- Updated dependencies [7928bae]
|
|
11
|
+
- @modern-js/utils@1.18.0
|
|
12
|
+
- @modern-js/generator-common@2.3.3
|
|
13
|
+
- @modern-js/plugin-i18n@1.18.0
|
|
14
|
+
|
|
15
|
+
## 2.3.1
|
|
16
|
+
|
|
17
|
+
### Patch Changes
|
|
18
|
+
|
|
19
|
+
- fb30bca: feat: add upgrade tools and command
|
|
20
|
+
|
|
21
|
+
feat: 增加升级工具和升级命令
|
|
22
|
+
|
|
23
|
+
- f3fab28: feat: new command use solution version
|
|
24
|
+
|
|
25
|
+
feat: new 命令使用当前工程方案对应版本的插件
|
|
26
|
+
|
|
27
|
+
- Updated dependencies [1b9176f]
|
|
28
|
+
- Updated dependencies [77d3a38]
|
|
29
|
+
- Updated dependencies [fb30bca]
|
|
30
|
+
- Updated dependencies [151329d]
|
|
31
|
+
- Updated dependencies [5af9472]
|
|
32
|
+
- Updated dependencies [6b6a534]
|
|
33
|
+
- Updated dependencies [6b43a2b]
|
|
34
|
+
- Updated dependencies [a7be124]
|
|
35
|
+
- Updated dependencies [31547b4]
|
|
36
|
+
- @modern-js/utils@1.17.0
|
|
37
|
+
- @modern-js/generator-common@2.3.1
|
|
38
|
+
- @modern-js/plugin-i18n@1.17.0
|
|
39
|
+
|
|
40
|
+
## 2.3.0
|
|
41
|
+
|
|
42
|
+
### Minor Changes
|
|
43
|
+
|
|
44
|
+
- beecff68d: feat: create new project use modern current latest version
|
|
45
|
+
|
|
46
|
+
feat: @modern-js/create 创建项目使用 Modern.js 最新依赖版本
|
|
47
|
+
|
|
48
|
+
- 1100dd58c: chore: support react 18
|
|
49
|
+
|
|
50
|
+
chore: 支持 React 18
|
|
51
|
+
|
|
52
|
+
### Patch Changes
|
|
53
|
+
|
|
54
|
+
- 9d9bbfd05: feat: update codesmith package
|
|
55
|
+
|
|
56
|
+
feat: 升级 codesmith 包版本
|
|
57
|
+
|
|
58
|
+
- Updated dependencies [641592f52]
|
|
59
|
+
- Updated dependencies [3904b30a5]
|
|
60
|
+
- Updated dependencies [1100dd58c]
|
|
61
|
+
- Updated dependencies [e04e6e76a]
|
|
62
|
+
- Updated dependencies [81c66e4a4]
|
|
63
|
+
- Updated dependencies [2c305b6f5]
|
|
64
|
+
- @modern-js/utils@1.16.0
|
|
65
|
+
- @modern-js/plugin-i18n@1.16.0
|
|
66
|
+
|
|
3
67
|
## 2.2.1
|
|
4
68
|
|
|
5
69
|
### Patch Changes
|
package/dist/js/modern/index.js
CHANGED
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
import path from 'path';
|
|
2
|
-
import { fs, ora, execa, getMonorepoPackages, canUseNpm, canUsePnpm, canUseYarn } from '@modern-js/utils';
|
|
2
|
+
import { fs, ora, execa, getMonorepoPackages, canUseNpm, canUsePnpm, canUseYarn, semver } from '@modern-js/utils';
|
|
3
|
+
import { SolutionToolsMap } from '@modern-js/generator-common';
|
|
3
4
|
import { stripAnsi } from "./utils/strip-ansi";
|
|
4
5
|
import { i18n, localeKeys } from "./locale";
|
|
6
|
+
import { getAvailableVersion } from "./utils/package";
|
|
5
7
|
export * from "./utils";
|
|
6
|
-
export { fs, execa, readTsConfigByFile, getPackageManager, canUseNpm, canUsePnpm, canUseYarn } from '@modern-js/utils';
|
|
8
|
+
export { ora, fs, semver, execa, readTsConfigByFile, getPackageManager, canUseNpm, canUsePnpm, canUseYarn, isReact18 } from '@modern-js/utils';
|
|
7
9
|
export { i18n } from "./locale";
|
|
8
10
|
export async function getPackageVersion(packageName, registry) {
|
|
9
11
|
const spinner = ora('Loading...').start();
|
|
@@ -48,6 +50,48 @@ export async function getPackageVersion(packageName, registry) {
|
|
|
48
50
|
spinner.stop();
|
|
49
51
|
throw new Error('not found npm, please install npm before');
|
|
50
52
|
}
|
|
53
|
+
export async function getModernVersion(solution, registry) {
|
|
54
|
+
const dep = SolutionToolsMap[solution];
|
|
55
|
+
const modernVersion = await getPackageVersion(dep, registry);
|
|
56
|
+
return modernVersion;
|
|
57
|
+
}
|
|
58
|
+
export async function getModernPluginVersion(solution, packageName, options = {}) {
|
|
59
|
+
const {
|
|
60
|
+
cwd = process.cwd(),
|
|
61
|
+
registry
|
|
62
|
+
} = options;
|
|
63
|
+
|
|
64
|
+
const getLatetPluginVersion = async () => {
|
|
65
|
+
const version = await getPackageVersion(packageName, registry);
|
|
66
|
+
return version;
|
|
67
|
+
};
|
|
68
|
+
|
|
69
|
+
if (!packageName.startsWith('@modern-js')) {
|
|
70
|
+
return getLatetPluginVersion();
|
|
71
|
+
} // get project solution version
|
|
72
|
+
|
|
73
|
+
|
|
74
|
+
const pkgPath = path.join(require.resolve(SolutionToolsMap[solution], {
|
|
75
|
+
paths: [cwd]
|
|
76
|
+
}), '../../../../', 'package.json');
|
|
77
|
+
|
|
78
|
+
if (fs.existsSync(pkgPath)) {
|
|
79
|
+
const pkgInfo = fs.readJSONSync(pkgPath);
|
|
80
|
+
const modernVersion = pkgInfo.version;
|
|
81
|
+
|
|
82
|
+
if (typeof modernVersion !== 'string') {
|
|
83
|
+
return getLatetPluginVersion();
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
if (semver.lt(modernVersion, '1.15.0')) {
|
|
87
|
+
return getLatetPluginVersion();
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
return getAvailableVersion(packageName, modernVersion, registry);
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
return getLatetPluginVersion();
|
|
94
|
+
}
|
|
51
95
|
export function getPackageManagerText(packageManager) {
|
|
52
96
|
return packageManager === 'yarn' ? 'yarn' : `${packageManager} run`;
|
|
53
97
|
}
|
|
@@ -1 +1,2 @@
|
|
|
1
|
-
export * from "./strip-ansi";
|
|
1
|
+
export * from "./strip-ansi";
|
|
2
|
+
export * from "./package";
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
import { canUseNpm, execa, logger, semver, stripAnsi } from '@modern-js/utils'; // 判断包是否存在
|
|
2
|
+
|
|
3
|
+
export async function isPackageExist(packageName, registry) {
|
|
4
|
+
if (await canUseNpm()) {
|
|
5
|
+
const args = ['view', packageName, 'version'];
|
|
6
|
+
|
|
7
|
+
if (registry) {
|
|
8
|
+
args.push(`--registry=${registry}`);
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
const result = await execa('npm', args);
|
|
12
|
+
return stripAnsi(result.stdout);
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
throw new Error('not found npm, please install npm before');
|
|
16
|
+
} // 判断包是否已经废弃
|
|
17
|
+
|
|
18
|
+
export async function isPackageDeprecated(packageName, registry) {
|
|
19
|
+
if (await canUseNpm()) {
|
|
20
|
+
const args = ['view', packageName, 'deprecated'];
|
|
21
|
+
|
|
22
|
+
if (registry) {
|
|
23
|
+
args.push(`--registry=${registry}`);
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
const result = await execa('npm', args);
|
|
27
|
+
return stripAnsi(result.stdout);
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
throw new Error('not found npm, please install npm before');
|
|
31
|
+
} // 降低包小版本号
|
|
32
|
+
|
|
33
|
+
export function semverDecrease(version) {
|
|
34
|
+
const versionObj = semver.parse(version, {
|
|
35
|
+
loose: true
|
|
36
|
+
});
|
|
37
|
+
|
|
38
|
+
if (!versionObj) {
|
|
39
|
+
throw new Error(`Version ${version} is not valid semver`);
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
versionObj.build = [];
|
|
43
|
+
versionObj.prerelease = [];
|
|
44
|
+
versionObj.patch--;
|
|
45
|
+
const result = versionObj.format();
|
|
46
|
+
|
|
47
|
+
if (!semver.valid(result)) {
|
|
48
|
+
logger.debug(`Version ${result} is not valid semver`);
|
|
49
|
+
return version;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
return result;
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* 插件存在 hotfix 版本,从 tools 版本号向上找当前插件版本号
|
|
56
|
+
* tools 存在 hotfix 版本,从 tools 版本号向下找当前插件版本号
|
|
57
|
+
* 限制只在当前小版本号范围内寻找
|
|
58
|
+
*/
|
|
59
|
+
|
|
60
|
+
export async function getAvailableVersion(packageName, currentVersion, registry) {
|
|
61
|
+
let times = 5;
|
|
62
|
+
let version = currentVersion;
|
|
63
|
+
|
|
64
|
+
while (times) {
|
|
65
|
+
if (!(await isPackageExist(`${packageName}@${version}`, registry)) || (await isPackageDeprecated(`${packageName}@${version}`, registry))) {
|
|
66
|
+
version = semver.inc(version, 'patch');
|
|
67
|
+
times--;
|
|
68
|
+
continue;
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
return version;
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
times = 5;
|
|
75
|
+
|
|
76
|
+
while (times) {
|
|
77
|
+
version = semverDecrease(version);
|
|
78
|
+
|
|
79
|
+
if (!(await isPackageExist(`${packageName}@${version}`, registry)) || (await isPackageDeprecated(`${packageName}@${version}`, registry))) {
|
|
80
|
+
times--;
|
|
81
|
+
continue;
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
return version;
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
return currentVersion;
|
|
88
|
+
}
|
package/dist/js/node/index.js
CHANGED
|
@@ -5,6 +5,8 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
var _exportNames = {
|
|
7
7
|
getPackageVersion: true,
|
|
8
|
+
getModernVersion: true,
|
|
9
|
+
getModernPluginVersion: true,
|
|
8
10
|
getPackageManagerText: true,
|
|
9
11
|
isTsProject: true,
|
|
10
12
|
getPackageObj: true,
|
|
@@ -13,13 +15,16 @@ var _exportNames = {
|
|
|
13
15
|
validatePackagePath: true,
|
|
14
16
|
getModuleProjectPath: true,
|
|
15
17
|
getMWAProjectPath: true,
|
|
18
|
+
ora: true,
|
|
16
19
|
fs: true,
|
|
20
|
+
semver: true,
|
|
17
21
|
execa: true,
|
|
18
22
|
readTsConfigByFile: true,
|
|
19
23
|
getPackageManager: true,
|
|
20
24
|
canUseNpm: true,
|
|
21
25
|
canUsePnpm: true,
|
|
22
26
|
canUseYarn: true,
|
|
27
|
+
isReact18: true,
|
|
23
28
|
i18n: true
|
|
24
29
|
};
|
|
25
30
|
Object.defineProperty(exports, "canUseNpm", {
|
|
@@ -54,6 +59,8 @@ Object.defineProperty(exports, "fs", {
|
|
|
54
59
|
});
|
|
55
60
|
exports.getAllPackages = getAllPackages;
|
|
56
61
|
exports.getMWAProjectPath = getMWAProjectPath;
|
|
62
|
+
exports.getModernPluginVersion = getModernPluginVersion;
|
|
63
|
+
exports.getModernVersion = getModernVersion;
|
|
57
64
|
exports.getModuleProjectPath = getModuleProjectPath;
|
|
58
65
|
Object.defineProperty(exports, "getPackageManager", {
|
|
59
66
|
enumerable: true,
|
|
@@ -70,13 +77,31 @@ Object.defineProperty(exports, "i18n", {
|
|
|
70
77
|
return _locale.i18n;
|
|
71
78
|
}
|
|
72
79
|
});
|
|
80
|
+
Object.defineProperty(exports, "isReact18", {
|
|
81
|
+
enumerable: true,
|
|
82
|
+
get: function () {
|
|
83
|
+
return _utils.isReact18;
|
|
84
|
+
}
|
|
85
|
+
});
|
|
73
86
|
exports.isTsProject = isTsProject;
|
|
87
|
+
Object.defineProperty(exports, "ora", {
|
|
88
|
+
enumerable: true,
|
|
89
|
+
get: function () {
|
|
90
|
+
return _utils.ora;
|
|
91
|
+
}
|
|
92
|
+
});
|
|
74
93
|
Object.defineProperty(exports, "readTsConfigByFile", {
|
|
75
94
|
enumerable: true,
|
|
76
95
|
get: function () {
|
|
77
96
|
return _utils.readTsConfigByFile;
|
|
78
97
|
}
|
|
79
98
|
});
|
|
99
|
+
Object.defineProperty(exports, "semver", {
|
|
100
|
+
enumerable: true,
|
|
101
|
+
get: function () {
|
|
102
|
+
return _utils.semver;
|
|
103
|
+
}
|
|
104
|
+
});
|
|
80
105
|
exports.validatePackageName = validatePackageName;
|
|
81
106
|
exports.validatePackagePath = validatePackagePath;
|
|
82
107
|
|
|
@@ -84,10 +109,14 @@ var _path = _interopRequireDefault(require("path"));
|
|
|
84
109
|
|
|
85
110
|
var _utils = require("@modern-js/utils");
|
|
86
111
|
|
|
112
|
+
var _generatorCommon = require("@modern-js/generator-common");
|
|
113
|
+
|
|
87
114
|
var _stripAnsi = require("./utils/strip-ansi");
|
|
88
115
|
|
|
89
116
|
var _locale = require("./locale");
|
|
90
117
|
|
|
118
|
+
var _package = require("./utils/package");
|
|
119
|
+
|
|
91
120
|
var _utils2 = require("./utils");
|
|
92
121
|
|
|
93
122
|
Object.keys(_utils2).forEach(function (key) {
|
|
@@ -148,6 +177,51 @@ async function getPackageVersion(packageName, registry) {
|
|
|
148
177
|
throw new Error('not found npm, please install npm before');
|
|
149
178
|
}
|
|
150
179
|
|
|
180
|
+
async function getModernVersion(solution, registry) {
|
|
181
|
+
const dep = _generatorCommon.SolutionToolsMap[solution];
|
|
182
|
+
const modernVersion = await getPackageVersion(dep, registry);
|
|
183
|
+
return modernVersion;
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
async function getModernPluginVersion(solution, packageName, options = {}) {
|
|
187
|
+
const {
|
|
188
|
+
cwd = process.cwd(),
|
|
189
|
+
registry
|
|
190
|
+
} = options;
|
|
191
|
+
|
|
192
|
+
const getLatetPluginVersion = async () => {
|
|
193
|
+
const version = await getPackageVersion(packageName, registry);
|
|
194
|
+
return version;
|
|
195
|
+
};
|
|
196
|
+
|
|
197
|
+
if (!packageName.startsWith('@modern-js')) {
|
|
198
|
+
return getLatetPluginVersion();
|
|
199
|
+
} // get project solution version
|
|
200
|
+
|
|
201
|
+
|
|
202
|
+
const pkgPath = _path.default.join(require.resolve(_generatorCommon.SolutionToolsMap[solution], {
|
|
203
|
+
paths: [cwd]
|
|
204
|
+
}), '../../../../', 'package.json');
|
|
205
|
+
|
|
206
|
+
if (_utils.fs.existsSync(pkgPath)) {
|
|
207
|
+
const pkgInfo = _utils.fs.readJSONSync(pkgPath);
|
|
208
|
+
|
|
209
|
+
const modernVersion = pkgInfo.version;
|
|
210
|
+
|
|
211
|
+
if (typeof modernVersion !== 'string') {
|
|
212
|
+
return getLatetPluginVersion();
|
|
213
|
+
}
|
|
214
|
+
|
|
215
|
+
if (_utils.semver.lt(modernVersion, '1.15.0')) {
|
|
216
|
+
return getLatetPluginVersion();
|
|
217
|
+
}
|
|
218
|
+
|
|
219
|
+
return (0, _package.getAvailableVersion)(packageName, modernVersion, registry);
|
|
220
|
+
}
|
|
221
|
+
|
|
222
|
+
return getLatetPluginVersion();
|
|
223
|
+
}
|
|
224
|
+
|
|
151
225
|
function getPackageManagerText(packageManager) {
|
|
152
226
|
return packageManager === 'yarn' ? 'yarn' : `${packageManager} run`;
|
|
153
227
|
}
|
|
@@ -15,4 +15,17 @@ Object.keys(_stripAnsi).forEach(function (key) {
|
|
|
15
15
|
return _stripAnsi[key];
|
|
16
16
|
}
|
|
17
17
|
});
|
|
18
|
+
});
|
|
19
|
+
|
|
20
|
+
var _package = require("./package");
|
|
21
|
+
|
|
22
|
+
Object.keys(_package).forEach(function (key) {
|
|
23
|
+
if (key === "default" || key === "__esModule") return;
|
|
24
|
+
if (key in exports && exports[key] === _package[key]) return;
|
|
25
|
+
Object.defineProperty(exports, key, {
|
|
26
|
+
enumerable: true,
|
|
27
|
+
get: function () {
|
|
28
|
+
return _package[key];
|
|
29
|
+
}
|
|
30
|
+
});
|
|
18
31
|
});
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.getAvailableVersion = getAvailableVersion;
|
|
7
|
+
exports.isPackageDeprecated = isPackageDeprecated;
|
|
8
|
+
exports.isPackageExist = isPackageExist;
|
|
9
|
+
exports.semverDecrease = semverDecrease;
|
|
10
|
+
|
|
11
|
+
var _utils = require("@modern-js/utils");
|
|
12
|
+
|
|
13
|
+
// 判断包是否存在
|
|
14
|
+
async function isPackageExist(packageName, registry) {
|
|
15
|
+
if (await (0, _utils.canUseNpm)()) {
|
|
16
|
+
const args = ['view', packageName, 'version'];
|
|
17
|
+
|
|
18
|
+
if (registry) {
|
|
19
|
+
args.push(`--registry=${registry}`);
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
const result = await (0, _utils.execa)('npm', args);
|
|
23
|
+
return (0, _utils.stripAnsi)(result.stdout);
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
throw new Error('not found npm, please install npm before');
|
|
27
|
+
} // 判断包是否已经废弃
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
async function isPackageDeprecated(packageName, registry) {
|
|
31
|
+
if (await (0, _utils.canUseNpm)()) {
|
|
32
|
+
const args = ['view', packageName, 'deprecated'];
|
|
33
|
+
|
|
34
|
+
if (registry) {
|
|
35
|
+
args.push(`--registry=${registry}`);
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
const result = await (0, _utils.execa)('npm', args);
|
|
39
|
+
return (0, _utils.stripAnsi)(result.stdout);
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
throw new Error('not found npm, please install npm before');
|
|
43
|
+
} // 降低包小版本号
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
function semverDecrease(version) {
|
|
47
|
+
const versionObj = _utils.semver.parse(version, {
|
|
48
|
+
loose: true
|
|
49
|
+
});
|
|
50
|
+
|
|
51
|
+
if (!versionObj) {
|
|
52
|
+
throw new Error(`Version ${version} is not valid semver`);
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
versionObj.build = [];
|
|
56
|
+
versionObj.prerelease = [];
|
|
57
|
+
versionObj.patch--;
|
|
58
|
+
const result = versionObj.format();
|
|
59
|
+
|
|
60
|
+
if (!_utils.semver.valid(result)) {
|
|
61
|
+
_utils.logger.debug(`Version ${result} is not valid semver`);
|
|
62
|
+
|
|
63
|
+
return version;
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
return result;
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* 插件存在 hotfix 版本,从 tools 版本号向上找当前插件版本号
|
|
70
|
+
* tools 存在 hotfix 版本,从 tools 版本号向下找当前插件版本号
|
|
71
|
+
* 限制只在当前小版本号范围内寻找
|
|
72
|
+
*/
|
|
73
|
+
|
|
74
|
+
|
|
75
|
+
async function getAvailableVersion(packageName, currentVersion, registry) {
|
|
76
|
+
let times = 5;
|
|
77
|
+
let version = currentVersion;
|
|
78
|
+
|
|
79
|
+
while (times) {
|
|
80
|
+
if (!(await isPackageExist(`${packageName}@${version}`, registry)) || (await isPackageDeprecated(`${packageName}@${version}`, registry))) {
|
|
81
|
+
version = _utils.semver.inc(version, 'patch');
|
|
82
|
+
times--;
|
|
83
|
+
continue;
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
return version;
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
times = 5;
|
|
90
|
+
|
|
91
|
+
while (times) {
|
|
92
|
+
version = semverDecrease(version);
|
|
93
|
+
|
|
94
|
+
if (!(await isPackageExist(`${packageName}@${version}`, registry)) || (await isPackageDeprecated(`${packageName}@${version}`, registry))) {
|
|
95
|
+
times--;
|
|
96
|
+
continue;
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
return version;
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
return currentVersion;
|
|
103
|
+
}
|
package/dist/types/index.d.ts
CHANGED
|
@@ -1,8 +1,14 @@
|
|
|
1
|
+
import { Solution } from '@modern-js/generator-common';
|
|
1
2
|
import { GeneratorContext } from '@modern-js/codesmith';
|
|
2
3
|
export * from './utils';
|
|
3
|
-
export { fs, execa, readTsConfigByFile, getPackageManager, canUseNpm, canUsePnpm, canUseYarn } from '@modern-js/utils';
|
|
4
|
+
export { ora, fs, semver, execa, readTsConfigByFile, getPackageManager, canUseNpm, canUsePnpm, canUseYarn, isReact18 } from '@modern-js/utils';
|
|
4
5
|
export { i18n } from './locale';
|
|
5
6
|
export declare function getPackageVersion(packageName: string, registry?: string): Promise<string>;
|
|
7
|
+
export declare function getModernVersion(solution: Solution, registry?: string): Promise<string>;
|
|
8
|
+
export declare function getModernPluginVersion(solution: Solution, packageName: string, options?: {
|
|
9
|
+
cwd?: string;
|
|
10
|
+
registry?: string;
|
|
11
|
+
}): Promise<string>;
|
|
6
12
|
export declare function getPackageManagerText(packageManager: 'pnpm' | 'yarn' | 'npm'): string;
|
|
7
13
|
export declare function isTsProject(appDir: string): boolean;
|
|
8
14
|
export declare function getPackageObj(context: GeneratorContext): Promise<any>;
|
|
@@ -1 +1,2 @@
|
|
|
1
|
-
export * from './strip-ansi';
|
|
1
|
+
export * from './strip-ansi';
|
|
2
|
+
export * from './package';
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export declare function isPackageExist(packageName: string, registry?: string): Promise<string>;
|
|
2
|
+
export declare function isPackageDeprecated(packageName: string, registry?: string): Promise<string>;
|
|
3
|
+
export declare function semverDecrease(version: string): string;
|
|
4
|
+
/**
|
|
5
|
+
* 插件存在 hotfix 版本,从 tools 版本号向上找当前插件版本号
|
|
6
|
+
* tools 存在 hotfix 版本,从 tools 版本号向下找当前插件版本号
|
|
7
|
+
* 限制只在当前小版本号范围内寻找
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
export declare function getAvailableVersion(packageName: string, currentVersion: string, registry?: string): Promise<string>;
|
package/package.json
CHANGED
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
"modern",
|
|
12
12
|
"modern.js"
|
|
13
13
|
],
|
|
14
|
-
"version": "2.
|
|
14
|
+
"version": "2.3.3",
|
|
15
15
|
"jsnext:source": "./src/index.ts",
|
|
16
16
|
"types": "./dist/types/index.d.ts",
|
|
17
17
|
"main": "./dist/js/node/index.js",
|
|
@@ -28,17 +28,18 @@
|
|
|
28
28
|
},
|
|
29
29
|
"dependencies": {
|
|
30
30
|
"@babel/runtime": "^7.18.0",
|
|
31
|
-
"@modern-js/plugin-i18n": "1.
|
|
32
|
-
"@modern-js/
|
|
31
|
+
"@modern-js/plugin-i18n": "1.18.0",
|
|
32
|
+
"@modern-js/generator-common": "2.3.3",
|
|
33
|
+
"@modern-js/utils": "1.18.0"
|
|
33
34
|
},
|
|
34
35
|
"devDependencies": {
|
|
35
|
-
"@modern-js/codesmith": "^1.
|
|
36
|
+
"@modern-js/codesmith": "^1.5.0",
|
|
37
|
+
"@scripts/build": "1.18.0",
|
|
38
|
+
"@scripts/jest-config": "1.18.0",
|
|
36
39
|
"@types/jest": "^27",
|
|
37
40
|
"@types/node": "^14",
|
|
38
|
-
"typescript": "^4",
|
|
39
|
-
"@scripts/build": "1.15.0",
|
|
40
41
|
"jest": "^27",
|
|
41
|
-
"
|
|
42
|
+
"typescript": "^4"
|
|
42
43
|
},
|
|
43
44
|
"sideEffects": false,
|
|
44
45
|
"modernConfig": {
|