Skip to content

Commit 463af70

Browse files
committed
feat: GetVersion
1 parent 0ddb5a9 commit 463af70

File tree

3 files changed

+27
-72
lines changed

3 files changed

+27
-72
lines changed

README.md

Lines changed: 0 additions & 66 deletions
This file was deleted.

generator/index.js

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,21 @@
1-
const utils = require('../utils');
1+
const {
2+
MergePresets,
3+
GetVersion
4+
} = require('../utils');
25

36
module.exports = (api, option, rootOptions) => {
47
// 扩展 package.json
58
api.extendPackage({
69
dependencies: {
7-
"react": "^16.8.4",
8-
"react-dom": "^16.8.4"
10+
"react": GetVersion('react'),
11+
"react-dom": GetVersion('react-dom')
912
},
1013
devDependencies: {
1114
"babel-preset-react-app": "^7.0.2"
1215
},
1316
eslintConfig: {
1417
"extends": [
15-
"plugin:react/recommended",
18+
"plugin:react/recommended"
1619
]
1720
},
1821
scripts: {
@@ -28,7 +31,7 @@ module.exports = (api, option, rootOptions) => {
2831
api.postProcessFiles(files => {
2932
const babelConfigRaw = files['babel.config.js'];
3033
if (babelConfigRaw) {
31-
files['babel.config.js'] = utils.MergePresets(babelConfigRaw, 'react-app');
34+
files['babel.config.js'] = MergePresets(babelConfigRaw, 'react-app');
3235
}
3336
});
3437
};

utils/index.js

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
const {
2+
execSync
3+
} = require('child_process')
4+
15
function GetJson(func) {
26
try {
37
return eval(func);
@@ -18,7 +22,21 @@ function MergePresets(babelConfigRaw = {}, preset = '') {
1822
return `module.exports = ${JSON.stringify(babelConfig)}`;
1923
}
2024

25+
const versionCache = {}
26+
27+
function GetVersion(pkg) {
28+
if (versionCache[pkg]) {
29+
return versionCache[pkg]
30+
}
31+
const version = execSync(`npm view ${pkg} version`)
32+
.toString()
33+
.trim()
34+
versionCache[pkg] = version
35+
return `^${version}`
36+
}
37+
2138
module.exports = {
2239
MergePresets,
23-
GetJson
40+
GetJson,
41+
GetVersion
2442
};

0 commit comments

Comments
 (0)