@deot/dev-cli 1.0.6 → 1.0.8
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/README.md +2 -2
- package/config/commit-lint.js +3 -1
- package/dist/index.cjs.js +1210 -0
- package/dist/{index.js → index.es.js} +114 -29
- package/package.json +3 -2
|
@@ -106,6 +106,10 @@ class Shared {
|
|
|
106
106
|
pre[packageFolderName$] = require$$2(path.resolve(packageDir, packageFolderName$, 'package.json'));
|
|
107
107
|
return pre;
|
|
108
108
|
}, {});
|
|
109
|
+
const packageDirsMap = packageFolderNames.reduce((pre, packageFolderName$) => {
|
|
110
|
+
pre[packageFolderName$] = path.resolve(packageDir, packageFolderName$);
|
|
111
|
+
return pre;
|
|
112
|
+
}, {});
|
|
109
113
|
const packageRelation = packageFolderNames.reduce((pre, packageFolderName$) => {
|
|
110
114
|
let packagesOptions = packageOptionsMap[packageFolderName$];
|
|
111
115
|
let deps = {
|
|
@@ -120,6 +124,7 @@ class Shared {
|
|
|
120
124
|
.map(i => i.replace(new RegExp(`${packageName}-?`), '') || packageFolderName);
|
|
121
125
|
const homepage = (rootPackageOptions.repository || packageOptions.repository || {}).url || '';
|
|
122
126
|
const config = {
|
|
127
|
+
cwd,
|
|
123
128
|
workspace,
|
|
124
129
|
homepage: homepage.replace(/(.*)(https?:\/\/.*)(#|\.git)/, '$2'),
|
|
125
130
|
packageFolderName,
|
|
@@ -129,6 +134,7 @@ class Shared {
|
|
|
129
134
|
packageVersion,
|
|
130
135
|
packageFolderNames,
|
|
131
136
|
packageOptionsMap,
|
|
137
|
+
packageDirsMap,
|
|
132
138
|
packageRelation,
|
|
133
139
|
normalizePackageNames,
|
|
134
140
|
normalizePackageFolderNames
|
|
@@ -345,9 +351,18 @@ const run$3 = (options) => Utils.autoCatch(async () => {
|
|
|
345
351
|
...promptOptions
|
|
346
352
|
};
|
|
347
353
|
}
|
|
354
|
+
const { cwd, workspace, packageOptionsMap, packageDirsMap } = locals;
|
|
348
355
|
const { packageName, watch, dryRun } = options;
|
|
349
356
|
options.packageFolderName = Shared.getPackageFolderName(options.packageName) || options.packageFolderName;
|
|
350
|
-
options.workspace =
|
|
357
|
+
options.workspace = workspace;
|
|
358
|
+
const packageOptions = packageOptionsMap[options.packageFolderName];
|
|
359
|
+
const packageDir = packageDirsMap[options.packageFolderName];
|
|
360
|
+
if (workspace
|
|
361
|
+
&& cwd !== packageDir
|
|
362
|
+
&& packageOptions?.scripts?.['test']) {
|
|
363
|
+
await Shell.spawn(`npm`, ['run', 'test']);
|
|
364
|
+
return;
|
|
365
|
+
}
|
|
351
366
|
if (!options.packageFolderName)
|
|
352
367
|
delete options.packageFolderName;
|
|
353
368
|
if (!options.workspace)
|
|
@@ -377,14 +392,34 @@ const run$3 = (options) => Utils.autoCatch(async () => {
|
|
|
377
392
|
});
|
|
378
393
|
|
|
379
394
|
const run$2 = (options) => Utils.autoCatch(async () => {
|
|
395
|
+
const locals = Shared.impl();
|
|
380
396
|
if (typeof options.dryRun === 'undefined') {
|
|
381
397
|
options.dryRun = process.env.NODE_ENV === 'UNIT';
|
|
382
398
|
}
|
|
383
399
|
if (options.dryRun)
|
|
384
400
|
return Shell.spawn(`echo development`);
|
|
385
|
-
|
|
401
|
+
const { cwd, workspace, packageOptionsMap, packageDirsMap } = locals;
|
|
402
|
+
const { packageName } = options;
|
|
403
|
+
const getPackageFolderName = Shared.getPackageFolderName(packageName);
|
|
404
|
+
const packageOptions = packageOptionsMap[getPackageFolderName];
|
|
405
|
+
const packageDir = packageDirsMap[getPackageFolderName];
|
|
386
406
|
options.watch = true;
|
|
387
|
-
|
|
407
|
+
if (!workspace
|
|
408
|
+
&& packageName
|
|
409
|
+
&& packageName !== '**'
|
|
410
|
+
&& cwd !== packageDir
|
|
411
|
+
&& packageOptions?.scripts?.['dev']) {
|
|
412
|
+
await Shell.spawn(`npm`, ['run', 'dev']);
|
|
413
|
+
return;
|
|
414
|
+
}
|
|
415
|
+
await Shell.spawn(`cross-env`, [
|
|
416
|
+
'NODE_ENV=development',
|
|
417
|
+
'npm',
|
|
418
|
+
'run',
|
|
419
|
+
'test',
|
|
420
|
+
'--',
|
|
421
|
+
packageName ? `--package-name ${packageName}` : ''
|
|
422
|
+
]);
|
|
388
423
|
});
|
|
389
424
|
|
|
390
425
|
const require$$1 = createRequire(import.meta.url);
|
|
@@ -393,7 +428,8 @@ class Builder {
|
|
|
393
428
|
packageName;
|
|
394
429
|
packageOptions;
|
|
395
430
|
config;
|
|
396
|
-
|
|
431
|
+
commandOptions;
|
|
432
|
+
constructor(config, commandOptions) {
|
|
397
433
|
const { workspace, packageDir, packageName } = Shared.impl();
|
|
398
434
|
if (typeof config === 'string') {
|
|
399
435
|
let packageFolderName = config;
|
|
@@ -402,12 +438,25 @@ class Builder {
|
|
|
402
438
|
dir: packageDir$,
|
|
403
439
|
name: packageFolderName || 'index',
|
|
404
440
|
input: packageDir$ + '/src/index.ts',
|
|
405
|
-
output:
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
441
|
+
output: [
|
|
442
|
+
{
|
|
443
|
+
file: packageDir$ + '/dist/index.es.js',
|
|
444
|
+
format: 'es',
|
|
445
|
+
exports: 'named',
|
|
446
|
+
sourcemap: false
|
|
447
|
+
},
|
|
448
|
+
{
|
|
449
|
+
file: packageDir$ + '/dist/index.iife.js',
|
|
450
|
+
format: 'iife',
|
|
451
|
+
name: packageName,
|
|
452
|
+
},
|
|
453
|
+
{
|
|
454
|
+
file: packageDir$ + '/dist/index.cjs.js',
|
|
455
|
+
format: 'cjs'
|
|
456
|
+
}
|
|
457
|
+
].filter(i => {
|
|
458
|
+
return commandOptions.output.includes(i.format);
|
|
459
|
+
})
|
|
411
460
|
};
|
|
412
461
|
}
|
|
413
462
|
this.packageDir = path.resolve(packageDir, workspace ? `./${config.name}` : '');
|
|
@@ -416,24 +465,37 @@ class Builder {
|
|
|
416
465
|
: `${packageName}-${config.name}`;
|
|
417
466
|
this.packageOptions = require$$1(`${this.packageDir}/package.json`);
|
|
418
467
|
this.config = config;
|
|
468
|
+
this.commandOptions = commandOptions;
|
|
419
469
|
}
|
|
420
470
|
async process() {
|
|
421
|
-
const {
|
|
471
|
+
const { cwd, workspace } = Shared.impl();
|
|
472
|
+
const { packageOptions, packageName, packageDir } = this;
|
|
473
|
+
if (workspace
|
|
474
|
+
&& packageOptions?.scripts?.build
|
|
475
|
+
&& packageDir !== cwd) {
|
|
476
|
+
await Shell.spawn(`npm`, ['run', 'build'], {
|
|
477
|
+
cwd: packageDir
|
|
478
|
+
});
|
|
479
|
+
return;
|
|
480
|
+
}
|
|
422
481
|
const spinner = ora(`${packageName} Build ...`);
|
|
423
482
|
try {
|
|
424
483
|
spinner.start();
|
|
425
484
|
await fs.emptyDir(`${packageDir}/dist`);
|
|
426
|
-
const
|
|
485
|
+
const stats = await this.buildSources();
|
|
427
486
|
await this.buildTypes();
|
|
428
487
|
spinner.stop();
|
|
429
|
-
Logger.log(`${chalk.cyan(`${packageName}`)} ${chalk.green('Success')}
|
|
488
|
+
Logger.log(`${chalk.cyan(`${packageName}`)}: ${chalk.green('Success')}`);
|
|
489
|
+
stats.forEach((stat) => {
|
|
490
|
+
Logger.log(`${chalk.green(stat.format.toUpperCase())}: ${Utils.formatBytes(stat.size)}`);
|
|
491
|
+
});
|
|
430
492
|
}
|
|
431
493
|
catch (e) {
|
|
432
494
|
Logger.log('Error!', e);
|
|
433
495
|
throw e;
|
|
434
496
|
}
|
|
435
497
|
}
|
|
436
|
-
async
|
|
498
|
+
async buildSources() {
|
|
437
499
|
const { workspace } = Shared.impl();
|
|
438
500
|
const { name, input, output } = this.config;
|
|
439
501
|
const { packageOptions } = this;
|
|
@@ -466,19 +528,36 @@ class Builder {
|
|
|
466
528
|
commonjs({ extensions: ['.js', '.ts'] }),
|
|
467
529
|
nodeResolve(),
|
|
468
530
|
replace({
|
|
469
|
-
'1.0.
|
|
531
|
+
'1.0.6': `'${packageOptions.version}'`,
|
|
470
532
|
false: 'false',
|
|
471
533
|
true: true
|
|
472
534
|
})
|
|
473
535
|
]
|
|
474
536
|
});
|
|
475
|
-
await builder.write
|
|
476
|
-
const
|
|
477
|
-
|
|
537
|
+
await Promise.all(output.map(builder.write));
|
|
538
|
+
const stats = [];
|
|
539
|
+
await output.reduce((pre, cur, index) => {
|
|
540
|
+
pre
|
|
541
|
+
.then(() => fs.stat(cur.file))
|
|
542
|
+
.then((stat) => {
|
|
543
|
+
stats[index] = {
|
|
544
|
+
format: cur.format,
|
|
545
|
+
size: stat.size
|
|
546
|
+
};
|
|
547
|
+
});
|
|
548
|
+
return pre;
|
|
549
|
+
}, Promise.resolve());
|
|
550
|
+
return stats;
|
|
478
551
|
}
|
|
479
552
|
async buildTypes() {
|
|
480
553
|
const { workspace } = Shared.impl();
|
|
481
|
-
const { packageDir } = this;
|
|
554
|
+
const { packageDir, packageOptions } = this;
|
|
555
|
+
if (workspace && packageOptions?.scripts?.['build:types']) {
|
|
556
|
+
await Shell.spawn(`npm`, ['run', 'build:types'], {
|
|
557
|
+
cwd: packageDir
|
|
558
|
+
});
|
|
559
|
+
return;
|
|
560
|
+
}
|
|
482
561
|
const config = path.resolve(packageDir, `api-extractor.json`);
|
|
483
562
|
if (fs.existsSync(config)) {
|
|
484
563
|
const result = Extractor.invoke(ExtractorConfig.loadFileAndPrepare(config), {
|
|
@@ -493,8 +572,8 @@ class Builder {
|
|
|
493
572
|
await fs.remove(`${packageDir}/dist/${workspace || 'src'}`);
|
|
494
573
|
}
|
|
495
574
|
}
|
|
496
|
-
const builder = (options) => {
|
|
497
|
-
return new Builder(options);
|
|
575
|
+
const builder = (options, commandOptions) => {
|
|
576
|
+
return new Builder(options, commandOptions);
|
|
498
577
|
};
|
|
499
578
|
|
|
500
579
|
const run$1 = (options) => Utils.autoCatch(async () => {
|
|
@@ -515,7 +594,7 @@ const run$1 = (options) => Utils.autoCatch(async () => {
|
|
|
515
594
|
return Shell.spawn(`echo ${inputs.join(' ')}`);
|
|
516
595
|
await inputs
|
|
517
596
|
.reduce((preProcess, packageFolderName$) => {
|
|
518
|
-
preProcess = preProcess.then(() => builder(packageFolderName
|
|
597
|
+
preProcess = preProcess.then(() => builder(packageFolderName$, options).process());
|
|
519
598
|
return preProcess;
|
|
520
599
|
}, Promise.resolve());
|
|
521
600
|
}, {
|
|
@@ -596,12 +675,13 @@ class Releaser {
|
|
|
596
675
|
}
|
|
597
676
|
({ stdout } = await Shell.exec('git', params));
|
|
598
677
|
}
|
|
599
|
-
const
|
|
600
|
-
const
|
|
601
|
-
|
|
678
|
+
const allowTypes = ['feat', `fix`, `break change`, `style`, `perf`, `types`, `refactor`, `chore`];
|
|
679
|
+
const rePlugin = new RegExp(`^(${allowTypes.join('|')})${workspace ? `\\(${packageFolderName}\\)` : '(\\(.+\\))?'}: .*`, 'i');
|
|
680
|
+
const allCommits = stdout.split(SUFFIX);
|
|
681
|
+
const commits = allCommits
|
|
602
682
|
.filter((commit) => {
|
|
603
683
|
const chunk = commit.trim();
|
|
604
|
-
return chunk &&
|
|
684
|
+
return chunk && rePlugin.test(chunk);
|
|
605
685
|
})
|
|
606
686
|
.map((commit) => {
|
|
607
687
|
const node = parser.sync(commit);
|
|
@@ -619,7 +699,11 @@ class Releaser {
|
|
|
619
699
|
Logger.log(chalk.red(`No Commits Found.`));
|
|
620
700
|
}
|
|
621
701
|
else {
|
|
622
|
-
Logger.log(chalk.yellow(`Found `)
|
|
702
|
+
Logger.log(chalk.yellow(`Found `)
|
|
703
|
+
+ chalk.bold(`${allCommits.length}`)
|
|
704
|
+
+ ` Commits, `
|
|
705
|
+
+ chalk.bold(`${commits.length}`)
|
|
706
|
+
+ ' Commits Valid');
|
|
623
707
|
}
|
|
624
708
|
const { skipUpdatePackage } = commandOptions;
|
|
625
709
|
if (commits.length && skipUpdatePackage) {
|
|
@@ -1051,7 +1135,7 @@ program
|
|
|
1051
1135
|
.usage('<cmd>');
|
|
1052
1136
|
program
|
|
1053
1137
|
.command('link')
|
|
1054
|
-
.alias('
|
|
1138
|
+
.alias('l')
|
|
1055
1139
|
.description('pnpm link')
|
|
1056
1140
|
.option('--dry-run [boolean]', 'Dry Run')
|
|
1057
1141
|
.action(run$5);
|
|
@@ -1072,7 +1156,8 @@ program
|
|
|
1072
1156
|
.command('build')
|
|
1073
1157
|
.alias('b')
|
|
1074
1158
|
.description('build')
|
|
1075
|
-
.option('-p, --package-name <string>', '
|
|
1159
|
+
.option('-p, --package-name <string>', 'Select packageName')
|
|
1160
|
+
.option('--output <string>', 'Output', 'es,cjs')
|
|
1076
1161
|
.option('--dry-run [boolean]', 'Dry Run')
|
|
1077
1162
|
.action(run$1);
|
|
1078
1163
|
program
|