easy-soft-develop 2.0.82 → 2.0.119
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/package.json +1 -1
- package/src/cliCollection/update-package-from-package.js +9 -141
- package/src/index.js +10 -6
- package/src/templates/eslint.template.js +331 -68
- package/src/templates/lint-staged.template.js +1 -1
- package/src/templates/package.template.js +32 -16
- package/src/templates/prettier.template.js +0 -1
- package/src/tools/develop.file.js +118 -15
- package/src/tools/initial.environment.js +6 -6
- package/src/tools/package.install.global.develop.dependence.js +38 -8
- package/src/tools/package.script.js +4 -7
- package/src/tools/update.package.from.package.js +153 -0
|
@@ -23,10 +23,21 @@ const {
|
|
|
23
23
|
contentFile: eslintContentFile,
|
|
24
24
|
ignoreFile: eslintIgnoreFile,
|
|
25
25
|
configFile: eslintConfigFile,
|
|
26
|
+
ruleCustomFile: eslintCustomRuleFile,
|
|
27
|
+
ruleEmbedFile: eslintEmbedRuleFile,
|
|
26
28
|
ruleFile: eslintRuleFile,
|
|
29
|
+
extendEmbedFile: eslintExtendCustomFile,
|
|
30
|
+
extendCustomFile: eslintExtendEmbedFile,
|
|
27
31
|
extendFile: eslintExtendFile,
|
|
32
|
+
parserCustomFile: eslintParserCustomFile,
|
|
33
|
+
parserEmbedFile: eslintParserEmbedFile,
|
|
28
34
|
parserFile: eslintParserFile,
|
|
35
|
+
pluginEmbedFile: eslintPluginEmbedFile,
|
|
36
|
+
pluginCustomFile: eslintPluginCustomFile,
|
|
29
37
|
pluginFile: eslintPluginFile,
|
|
38
|
+
settingCustomFile: eslintSettingCustomFile,
|
|
39
|
+
settingEmbedFile: eslintSettingEmbedFile,
|
|
40
|
+
settingFile: eslintSettingFile,
|
|
30
41
|
} = require('../templates/eslint.template');
|
|
31
42
|
const {
|
|
32
43
|
attributeFile: gitAttributeFile,
|
|
@@ -123,11 +134,19 @@ const developDependencePackageCollection = [];
|
|
|
123
134
|
|
|
124
135
|
const updateSpecialPackageCollection = [];
|
|
125
136
|
|
|
137
|
+
const updatePackageFromPackageOptions = {
|
|
138
|
+
agent: '',
|
|
139
|
+
localFile: '',
|
|
140
|
+
packageUrl: '',
|
|
141
|
+
repo: '',
|
|
142
|
+
};
|
|
143
|
+
|
|
126
144
|
module.exports = {
|
|
127
145
|
cleanCommand,
|
|
128
146
|
cleanCollection,
|
|
129
147
|
developDependencePackageCollection,
|
|
130
148
|
updateSpecialPackageCollection,
|
|
149
|
+
updatePackageFromPackageOptions,
|
|
131
150
|
};
|
|
132
151
|
`;
|
|
133
152
|
|
|
@@ -151,6 +170,23 @@ clean(cleanCommand, cleanCollection);
|
|
|
151
170
|
return createScriptFile('./develop/assists', 'clean.js', content, true);
|
|
152
171
|
}
|
|
153
172
|
|
|
173
|
+
function createUpdatePackageFromPackageScriptFile() {
|
|
174
|
+
const content = `${fileGlobalHeader}
|
|
175
|
+
const { updatePackageFromPackage } = require('easy-soft-develop');
|
|
176
|
+
|
|
177
|
+
const { updatePackageFromPackageOptions } = require('./config');
|
|
178
|
+
|
|
179
|
+
updatePackageFromPackage(updatePackageFromPackageOptions);
|
|
180
|
+
`;
|
|
181
|
+
|
|
182
|
+
return createScriptFile(
|
|
183
|
+
'./develop/assists',
|
|
184
|
+
'update.package.from.package.js',
|
|
185
|
+
content,
|
|
186
|
+
true,
|
|
187
|
+
);
|
|
188
|
+
}
|
|
189
|
+
|
|
154
190
|
function createPackageCheckSpecialVersionScriptFile() {
|
|
155
191
|
const content = `${fileGlobalHeader}
|
|
156
192
|
const { updateSpecialPackageVersion } = require('easy-soft-develop');
|
|
@@ -172,13 +208,23 @@ updateSpecialPackageVersion(updateSpecialPackageCollection);
|
|
|
172
208
|
}
|
|
173
209
|
}
|
|
174
210
|
|
|
175
|
-
function
|
|
211
|
+
function createInstallGlobalDevelopDependenceScriptFile() {
|
|
176
212
|
const content = `${fileGlobalHeader}
|
|
177
|
-
const {
|
|
178
|
-
|
|
179
|
-
const { developDependencePackageCollection } = require('./config');
|
|
213
|
+
const { installDevelopDependencePackages } = require('easy-soft-develop');
|
|
180
214
|
|
|
181
|
-
|
|
215
|
+
const {
|
|
216
|
+
globalDevelopPackageList,
|
|
217
|
+
mainDevelopPackageList,
|
|
218
|
+
childrenDevelopPackageList,
|
|
219
|
+
childrenSpecialDevelopPackageList,
|
|
220
|
+
} = require('./config');
|
|
221
|
+
|
|
222
|
+
installDevelopDependencePackages({
|
|
223
|
+
globalDevelopPackageList,
|
|
224
|
+
mainDevelopPackageList,
|
|
225
|
+
childrenDevelopPackageList,
|
|
226
|
+
childrenSpecialDevelopPackageList,
|
|
227
|
+
});
|
|
182
228
|
`;
|
|
183
229
|
|
|
184
230
|
try {
|
|
@@ -202,6 +248,7 @@ const eslintIgnoreFile = require('../config/eslint/template/ignore.content');
|
|
|
202
248
|
const prettierFile = require('../config/prettier/template/content');
|
|
203
249
|
const prettierIgnoreFile = require('../config/prettier/template/ignore.content');
|
|
204
250
|
const stylelintFile = require('../config/stylelint/template/content');
|
|
251
|
+
const stylelintIgnoreFile = require('../config/stylelint/template/ignore.content');
|
|
205
252
|
const editorFile = require('../config/editor/template/content');
|
|
206
253
|
const editorAttributesFile = require('../config/git/template/attributes.content');
|
|
207
254
|
const editorIgnoreFile = require('../config/git/template/ignore.content');
|
|
@@ -222,6 +269,9 @@ const packagePrettierContent = prettierFile.packageContent;
|
|
|
222
269
|
const prettierIgnoreContent = prettierIgnoreFile.content;
|
|
223
270
|
|
|
224
271
|
const mainStylelintContent = stylelintFile.mainContent;
|
|
272
|
+
|
|
273
|
+
const stylelintIgnoreContent = stylelintIgnoreFile.content;
|
|
274
|
+
|
|
225
275
|
const packageStylelintContent = stylelintFile.packageContent;
|
|
226
276
|
|
|
227
277
|
const editorConfigContent = editorFile.content;
|
|
@@ -235,38 +285,52 @@ const mainFileContentList = [
|
|
|
235
285
|
{
|
|
236
286
|
name: '.eslintrc.js',
|
|
237
287
|
content: mainEslintFileContent,
|
|
288
|
+
coverFile: true,
|
|
238
289
|
},
|
|
239
290
|
{
|
|
240
291
|
name: '.prettierrc.js',
|
|
241
292
|
content: mainPrettierContent,
|
|
293
|
+
coverFile: true,
|
|
294
|
+
},
|
|
295
|
+
{
|
|
296
|
+
name: '.prettierignore',
|
|
297
|
+
content: prettierIgnoreContent,
|
|
298
|
+
coverFile: false,
|
|
242
299
|
},
|
|
243
300
|
{
|
|
244
301
|
name: '.stylelintrc.js',
|
|
245
302
|
content: mainStylelintContent,
|
|
303
|
+
coverFile: true,
|
|
304
|
+
},
|
|
305
|
+
{
|
|
306
|
+
name: '.stylelintignore',
|
|
307
|
+
content: stylelintIgnoreContent,
|
|
308
|
+
coverFile: false,
|
|
246
309
|
},
|
|
247
310
|
{
|
|
248
311
|
name: '.editorconfig',
|
|
249
312
|
content: editorConfigContent,
|
|
313
|
+
coverFile: true,
|
|
250
314
|
},
|
|
251
315
|
{
|
|
252
316
|
name: '.eslintignore',
|
|
253
317
|
content: eslintIgnoreContent,
|
|
254
|
-
|
|
255
|
-
{
|
|
256
|
-
name: '.prettierignore',
|
|
257
|
-
content: prettierIgnoreContent,
|
|
318
|
+
coverFile: false,
|
|
258
319
|
},
|
|
259
320
|
{
|
|
260
321
|
name: '.gitattributes',
|
|
261
322
|
content: gitAttributesContent,
|
|
323
|
+
coverFile: true,
|
|
262
324
|
},
|
|
263
325
|
{
|
|
264
326
|
name: '.gitignore',
|
|
265
327
|
content: gitIgnoreContent,
|
|
328
|
+
coverFile: false,
|
|
266
329
|
},
|
|
267
330
|
{
|
|
268
331
|
name: '.lintstagedrc',
|
|
269
332
|
content: lintStagedRcContent,
|
|
333
|
+
coverFile: false,
|
|
270
334
|
},
|
|
271
335
|
];
|
|
272
336
|
|
|
@@ -274,38 +338,52 @@ const packageFileContentList = [
|
|
|
274
338
|
{
|
|
275
339
|
name: '.eslintrc.js',
|
|
276
340
|
content: packageEslintFileContent,
|
|
341
|
+
coverFile: true,
|
|
277
342
|
},
|
|
278
343
|
{
|
|
279
344
|
name: '.prettierrc.js',
|
|
280
345
|
content: packagePrettierContent,
|
|
346
|
+
coverFile: true,
|
|
347
|
+
},
|
|
348
|
+
{
|
|
349
|
+
name: '.prettierignore',
|
|
350
|
+
content: prettierIgnoreContent,
|
|
351
|
+
coverFile: false,
|
|
281
352
|
},
|
|
282
353
|
{
|
|
283
354
|
name: '.stylelintrc.js',
|
|
284
355
|
content: packageStylelintContent,
|
|
356
|
+
coverFile: true,
|
|
357
|
+
},
|
|
358
|
+
{
|
|
359
|
+
name: '.stylelintignore',
|
|
360
|
+
content: stylelintIgnoreContent,
|
|
361
|
+
coverFile: false,
|
|
285
362
|
},
|
|
286
363
|
{
|
|
287
364
|
name: '.editorconfig',
|
|
288
365
|
content: editorConfigContent,
|
|
366
|
+
coverFile: true,
|
|
289
367
|
},
|
|
290
368
|
{
|
|
291
369
|
name: '.eslintignore',
|
|
292
370
|
content: eslintIgnoreContent,
|
|
293
|
-
|
|
294
|
-
{
|
|
295
|
-
name: '.prettierignore',
|
|
296
|
-
content: prettierIgnoreContent,
|
|
371
|
+
coverFile: false,
|
|
297
372
|
},
|
|
298
373
|
{
|
|
299
374
|
name: '.gitattributes',
|
|
300
375
|
content: gitAttributesContent,
|
|
376
|
+
coverFile: true,
|
|
301
377
|
},
|
|
302
378
|
{
|
|
303
379
|
name: '.gitignore',
|
|
304
380
|
content: gitIgnoreContent,
|
|
381
|
+
coverFile: false,
|
|
305
382
|
},
|
|
306
383
|
{
|
|
307
384
|
name: '.lintstagedrc',
|
|
308
385
|
content: lintStagedRcContent,
|
|
386
|
+
coverFile: false,
|
|
309
387
|
},
|
|
310
388
|
];
|
|
311
389
|
|
|
@@ -354,12 +432,34 @@ function createDevelopFiles(waitMessage = '', successMessage = '') {
|
|
|
354
432
|
|
|
355
433
|
writeFileWithOptionsSync(eslintConfigFile);
|
|
356
434
|
|
|
435
|
+
writeFileWithOptionsSync(eslintCustomRuleFile);
|
|
436
|
+
|
|
437
|
+
writeFileWithOptionsSync(eslintEmbedRuleFile);
|
|
438
|
+
|
|
357
439
|
writeFileWithOptionsSync(eslintRuleFile);
|
|
358
440
|
|
|
441
|
+
writeFileWithOptionsSync(eslintSettingCustomFile);
|
|
442
|
+
|
|
443
|
+
writeFileWithOptionsSync(eslintSettingEmbedFile);
|
|
444
|
+
|
|
445
|
+
writeFileWithOptionsSync(eslintSettingFile);
|
|
446
|
+
|
|
447
|
+
writeFileWithOptionsSync(eslintExtendCustomFile);
|
|
448
|
+
|
|
449
|
+
writeFileWithOptionsSync(eslintExtendEmbedFile);
|
|
450
|
+
|
|
359
451
|
writeFileWithOptionsSync(eslintExtendFile);
|
|
360
452
|
|
|
453
|
+
writeFileWithOptionsSync(eslintParserCustomFile);
|
|
454
|
+
|
|
455
|
+
writeFileWithOptionsSync(eslintParserEmbedFile);
|
|
456
|
+
|
|
361
457
|
writeFileWithOptionsSync(eslintParserFile);
|
|
362
458
|
|
|
459
|
+
writeFileWithOptionsSync(eslintPluginCustomFile);
|
|
460
|
+
|
|
461
|
+
writeFileWithOptionsSync(eslintPluginEmbedFile);
|
|
462
|
+
|
|
363
463
|
writeFileWithOptionsSync(eslintPluginFile);
|
|
364
464
|
|
|
365
465
|
//#endregion
|
|
@@ -416,9 +516,11 @@ function createDevelopFiles(waitMessage = '', successMessage = '') {
|
|
|
416
516
|
|
|
417
517
|
createCleanScriptFile();
|
|
418
518
|
|
|
519
|
+
createUpdatePackageFromPackageScriptFile();
|
|
520
|
+
|
|
419
521
|
createPackageCheckSpecialVersionScriptFile();
|
|
420
522
|
|
|
421
|
-
|
|
523
|
+
createInstallGlobalDevelopDependenceScriptFile();
|
|
422
524
|
|
|
423
525
|
createInitialEnvironmentScriptFiles();
|
|
424
526
|
|
|
@@ -437,7 +539,8 @@ module.exports = {
|
|
|
437
539
|
createNpmConfigFile,
|
|
438
540
|
createCleanScriptFile,
|
|
439
541
|
createPackageCheckSpecialVersionScriptFile,
|
|
440
|
-
|
|
542
|
+
createInstallGlobalDevelopDependenceScriptFile,
|
|
441
543
|
createInitialEnvironmentScriptFiles,
|
|
442
544
|
createDevelopFiles,
|
|
545
|
+
createUpdatePackageFromPackageScriptFile,
|
|
443
546
|
};
|
|
@@ -18,9 +18,9 @@ function createMainFile(fileWithContentCollection) {
|
|
|
18
18
|
}
|
|
19
19
|
|
|
20
20
|
fileWithContentCollection.forEach((o) => {
|
|
21
|
-
const { name, content } = o;
|
|
21
|
+
const { name, content, coverFile } = o;
|
|
22
22
|
|
|
23
|
-
writeFileSync(name, content);
|
|
23
|
+
writeFileSync(name, content, { coverFile });
|
|
24
24
|
});
|
|
25
25
|
|
|
26
26
|
const log = `main files [${fileWithContentCollection
|
|
@@ -43,9 +43,9 @@ function createPackageFile(fileWithContentCollection) {
|
|
|
43
43
|
}
|
|
44
44
|
|
|
45
45
|
fileWithContentCollection.forEach((o) => {
|
|
46
|
-
const { name, content } = o;
|
|
46
|
+
const { name, content, coverFile } = o;
|
|
47
47
|
|
|
48
|
-
writeFileSync(`${itemPath}/${name}`, content);
|
|
48
|
+
writeFileSync(`${itemPath}/${name}`, content, { coverFile });
|
|
49
49
|
});
|
|
50
50
|
});
|
|
51
51
|
|
|
@@ -82,7 +82,7 @@ function adjustMainPackageJson({ scripts }) {
|
|
|
82
82
|
}
|
|
83
83
|
|
|
84
84
|
function adjustChildrenPackageJson({ scripts }) {
|
|
85
|
-
loopPackage(({ absolutePath }) => {
|
|
85
|
+
loopPackage(({ name, absolutePath }) => {
|
|
86
86
|
const itemPath = absolutePath;
|
|
87
87
|
|
|
88
88
|
const childPackageJsonPath = `${itemPath}/package.json`;
|
|
@@ -93,7 +93,7 @@ function adjustChildrenPackageJson({ scripts }) {
|
|
|
93
93
|
|
|
94
94
|
writeJsonFileSync(childPackageJsonPath, packageJson, { coverFile: true });
|
|
95
95
|
|
|
96
|
-
promptSuccess(
|
|
96
|
+
promptSuccess(`adjust ${name} package.json success`);
|
|
97
97
|
promptEmptyLine();
|
|
98
98
|
});
|
|
99
99
|
}
|
|
@@ -48,18 +48,32 @@ function adjustMainPackageJson(packageList) {
|
|
|
48
48
|
writeJsonFileSync('./package.json', packageJson, { coverFile: true });
|
|
49
49
|
}
|
|
50
50
|
|
|
51
|
-
function adjustChildrenPackageJson(packageList) {
|
|
52
|
-
if (
|
|
51
|
+
function adjustChildrenPackageJson(packageList, specialPackageList) {
|
|
52
|
+
if (
|
|
53
|
+
!(
|
|
54
|
+
(isArray(packageList) && packageList.length > 0) ||
|
|
55
|
+
(isArray(specialPackageList) && specialPackageList.length > 0)
|
|
56
|
+
)
|
|
57
|
+
) {
|
|
53
58
|
return;
|
|
54
59
|
}
|
|
55
60
|
|
|
56
61
|
const o = buildPackageObject(packageList);
|
|
57
62
|
|
|
58
|
-
loopPackage(({ relativePath }) => {
|
|
63
|
+
loopPackage(({ name, relativePath }) => {
|
|
59
64
|
const packageJson = readJsonFileSync(`${relativePath}/package.json`);
|
|
60
65
|
|
|
66
|
+
let specials = {};
|
|
67
|
+
|
|
68
|
+
if (specialPackageList[name]) {
|
|
69
|
+
if (isArray(specialPackageList[name])) {
|
|
70
|
+
specials = buildPackageObject(specialPackageList[name]);
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
|
|
61
74
|
packageJson.devDependencies = assignObject(
|
|
62
75
|
o,
|
|
76
|
+
specials,
|
|
63
77
|
packageJson.devDependencies || {},
|
|
64
78
|
);
|
|
65
79
|
|
|
@@ -69,14 +83,30 @@ function adjustChildrenPackageJson(packageList) {
|
|
|
69
83
|
});
|
|
70
84
|
}
|
|
71
85
|
|
|
72
|
-
function
|
|
73
|
-
|
|
86
|
+
function installDevelopDependencePackages({
|
|
87
|
+
globalDevelopPackageList,
|
|
88
|
+
mainDevelopPackageList = [],
|
|
89
|
+
childrenDevelopPackageList = [],
|
|
90
|
+
childrenSpecialDevelopPackageList = [],
|
|
91
|
+
}) {
|
|
92
|
+
const packages = getGlobalPackages().concat(globalDevelopPackageList);
|
|
74
93
|
|
|
75
94
|
promptInfo(`${packages.join()} will install`);
|
|
76
95
|
|
|
77
|
-
adjustChildrenPackageJson(
|
|
96
|
+
adjustChildrenPackageJson(
|
|
97
|
+
packages.concat(
|
|
98
|
+
isArray(childrenDevelopPackageList) ? childrenDevelopPackageList : [],
|
|
99
|
+
),
|
|
100
|
+
isArray(childrenSpecialDevelopPackageList)
|
|
101
|
+
? childrenSpecialDevelopPackageList
|
|
102
|
+
: [],
|
|
103
|
+
);
|
|
78
104
|
|
|
79
|
-
adjustMainPackageJson(
|
|
105
|
+
adjustMainPackageJson(
|
|
106
|
+
packages.concat(
|
|
107
|
+
isArray(mainDevelopPackageList) ? mainDevelopPackageList : [],
|
|
108
|
+
),
|
|
109
|
+
);
|
|
80
110
|
|
|
81
111
|
prettierAllPackageJson();
|
|
82
112
|
|
|
@@ -88,5 +118,5 @@ function installGlobalDevelopDependencePackages(packageList) {
|
|
|
88
118
|
}
|
|
89
119
|
|
|
90
120
|
module.exports = {
|
|
91
|
-
|
|
121
|
+
installDevelopDependencePackages,
|
|
92
122
|
};
|
|
@@ -16,6 +16,7 @@ function getGlobalPackages() {
|
|
|
16
16
|
'@babel/plugin-transform-runtime',
|
|
17
17
|
'@babel/preset-env',
|
|
18
18
|
'@babel/preset-react',
|
|
19
|
+
'@babel/runtime',
|
|
19
20
|
]);
|
|
20
21
|
|
|
21
22
|
packages = packages.concat([
|
|
@@ -47,6 +48,8 @@ function getGlobalPackages() {
|
|
|
47
48
|
'eslint-plugin-unicorn',
|
|
48
49
|
]);
|
|
49
50
|
|
|
51
|
+
packages = packages.concat(['documentation']);
|
|
52
|
+
|
|
50
53
|
packages = packages.concat([
|
|
51
54
|
'prettier',
|
|
52
55
|
'prettier-plugin-organize-imports',
|
|
@@ -59,13 +62,7 @@ function getGlobalPackages() {
|
|
|
59
62
|
'stylelint-config-standard',
|
|
60
63
|
]);
|
|
61
64
|
|
|
62
|
-
packages = packages.concat(
|
|
63
|
-
'rimraf',
|
|
64
|
-
'lint-staged',
|
|
65
|
-
'husky',
|
|
66
|
-
'shelljs',
|
|
67
|
-
'terminal-kit',
|
|
68
|
-
);
|
|
65
|
+
packages = packages.concat('rimraf', 'lint-staged', 'husky');
|
|
69
66
|
|
|
70
67
|
packages = packages.concat('easy-soft-develop');
|
|
71
68
|
|
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
const download = require('download');
|
|
2
|
+
const agent = require('hpagent');
|
|
3
|
+
|
|
4
|
+
const {
|
|
5
|
+
promptSuccess,
|
|
6
|
+
promptLine,
|
|
7
|
+
promptError,
|
|
8
|
+
promptWarn,
|
|
9
|
+
exit,
|
|
10
|
+
readJsonFileSync,
|
|
11
|
+
resolvePath,
|
|
12
|
+
writeJsonFileSync,
|
|
13
|
+
checkStringIsEmpty,
|
|
14
|
+
} = require('../tools/meta');
|
|
15
|
+
|
|
16
|
+
const { HttpsProxyAgent } = agent;
|
|
17
|
+
|
|
18
|
+
function handlePackage({ packageFilePath, packageTempPath }) {
|
|
19
|
+
promptSuccess(`referential package.json :${packageTempPath}`);
|
|
20
|
+
|
|
21
|
+
const packageProjectPath = resolvePath(packageFilePath);
|
|
22
|
+
|
|
23
|
+
const packageJsonTemp = readJsonFileSync(packageTempPath);
|
|
24
|
+
|
|
25
|
+
const packageJsonTarget = readJsonFileSync(packageProjectPath);
|
|
26
|
+
|
|
27
|
+
const dependencies = packageJsonTemp.dependencies;
|
|
28
|
+
const devDependencies = packageJsonTemp.devDependencies;
|
|
29
|
+
|
|
30
|
+
packageJsonTarget.dependencies = dependencies;
|
|
31
|
+
packageJsonTarget.devDependencies = devDependencies;
|
|
32
|
+
|
|
33
|
+
writeJsonFileSync(packageProjectPath, packageJsonTarget, { coverFile: true });
|
|
34
|
+
|
|
35
|
+
promptSuccess(`update package.json success!`);
|
|
36
|
+
|
|
37
|
+
promptLine();
|
|
38
|
+
|
|
39
|
+
exit();
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
async function handleTempPackagePath({ agent, localFile, packageUrl, repo }) {
|
|
43
|
+
let packageTempPath = '';
|
|
44
|
+
|
|
45
|
+
if (localFile) {
|
|
46
|
+
promptSuccess(`use local referential package.json`);
|
|
47
|
+
|
|
48
|
+
promptSuccess(`file path: ${localFile}`);
|
|
49
|
+
|
|
50
|
+
promptLine();
|
|
51
|
+
|
|
52
|
+
packageTempPath = resolvePath(localFile);
|
|
53
|
+
} else {
|
|
54
|
+
promptSuccess(`try ${repo} repo`);
|
|
55
|
+
|
|
56
|
+
if (agent) {
|
|
57
|
+
promptSuccess(`agent: ${agent}`);
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
promptSuccess(`${repo} repo: ${packageUrl}`);
|
|
61
|
+
|
|
62
|
+
await download(packageUrl, resolvePath(`./temp`), {
|
|
63
|
+
...(agent
|
|
64
|
+
? {
|
|
65
|
+
agent: {
|
|
66
|
+
https: new HttpsProxyAgent({
|
|
67
|
+
keepAlive: true,
|
|
68
|
+
keepAliveMsecs: 1000,
|
|
69
|
+
maxSockets: 256,
|
|
70
|
+
maxFreeSockets: 256,
|
|
71
|
+
scheduling: 'lifo',
|
|
72
|
+
proxy: agent,
|
|
73
|
+
}),
|
|
74
|
+
},
|
|
75
|
+
}
|
|
76
|
+
: {}),
|
|
77
|
+
});
|
|
78
|
+
|
|
79
|
+
promptSuccess(`use ${repo} repo success!`);
|
|
80
|
+
|
|
81
|
+
packageTempPath = resolvePath(`./temp/package.json`);
|
|
82
|
+
|
|
83
|
+
promptSuccess(`packageTempPath: ${packageTempPath}`);
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
return packageTempPath;
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
async function updatePackageFromPackage({
|
|
90
|
+
path,
|
|
91
|
+
primaryRemoteUrl,
|
|
92
|
+
spareRemoteUrl,
|
|
93
|
+
agent,
|
|
94
|
+
localFile,
|
|
95
|
+
}) {
|
|
96
|
+
if (checkStringIsEmpty(primaryRemoteUrl)) {
|
|
97
|
+
promptError('please input primary remote package.json url');
|
|
98
|
+
|
|
99
|
+
exit();
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
let packageTempPath = '';
|
|
103
|
+
|
|
104
|
+
promptSuccess(`prepare to update package.json: `);
|
|
105
|
+
|
|
106
|
+
promptLine();
|
|
107
|
+
|
|
108
|
+
try {
|
|
109
|
+
packageTempPath = await handleTempPackagePath({
|
|
110
|
+
agent,
|
|
111
|
+
localFile,
|
|
112
|
+
packageUrl: primaryRemoteUrl,
|
|
113
|
+
repo: 'github',
|
|
114
|
+
});
|
|
115
|
+
} catch (error) {
|
|
116
|
+
if (checkStringIsEmpty(primaryRemoteUrl)) {
|
|
117
|
+
promptError('please input spare remote package.json url');
|
|
118
|
+
|
|
119
|
+
exit();
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
promptLine();
|
|
123
|
+
|
|
124
|
+
promptWarn(
|
|
125
|
+
`use github repo failure! switch to gitee, gitee repo possible update delay.`,
|
|
126
|
+
);
|
|
127
|
+
|
|
128
|
+
promptLine();
|
|
129
|
+
|
|
130
|
+
try {
|
|
131
|
+
packageTempPath = await handleTempPackagePath({
|
|
132
|
+
agent: '',
|
|
133
|
+
localFile,
|
|
134
|
+
packageUrl: spareRemoteUrl,
|
|
135
|
+
repo: 'gitee',
|
|
136
|
+
});
|
|
137
|
+
} catch (error) {
|
|
138
|
+
promptLine();
|
|
139
|
+
|
|
140
|
+
promptError(error);
|
|
141
|
+
|
|
142
|
+
promptLine();
|
|
143
|
+
|
|
144
|
+
promptWarn('download error, please check network');
|
|
145
|
+
|
|
146
|
+
exit();
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
handlePackage(path, packageTempPath);
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
module.exports = { updatePackageFromPackage };
|