pob 8.10.1 → 9.2.1
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 +66 -0
- package/lib/generators/common/babel/CommonBabelGenerator.js +33 -46
- package/lib/generators/common/babel/templates/app.rollup.config.mjs.ejs +1 -1
- package/lib/generators/common/format-lint/CommonLintGenerator.js +6 -9
- package/lib/generators/common/husky/CommonHuskyGenerator.js +6 -2
- package/lib/generators/common/old-dependencies/CommonRemoveOldDependenciesGenerator.js +1 -0
- package/lib/generators/common/testing/CommonTestingGenerator.js +15 -14
- package/lib/generators/core/ci/templates/github-action-node-workflow.yml.ejs +8 -8
- package/lib/generators/core/git/generators/github/CoreGitGithubGenerator.js +1 -6
- package/lib/generators/core/package/CorePackageGenerator.js +9 -3
- package/lib/generators/core/yarn/CoreYarnGenerator.js +6 -2
- package/lib/generators/lib/PobLibGenerator.js +4 -3
- package/lib/generators/lib/release/LibReleaseGenerator.js +9 -3
- package/lib/utils/package.js +3 -2
- package/package.json +7 -7
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,72 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
## [9.2.1](https://github.com/christophehurpeau/pob/compare/pob@9.2.0...pob@9.2.1) (2021-12-11)
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
### Bug Fixes
|
|
10
|
+
|
|
11
|
+
* bring back @babel/core as dev dependency ([9aa52ec](https://github.com/christophehurpeau/pob/commit/9aa52ecf895ac28d216e4957028bb8366c278f00))
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
# [9.2.0](https://github.com/christophehurpeau/pob/compare/pob@9.1.0...pob@9.2.0) (2021-12-11)
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
### Features
|
|
21
|
+
|
|
22
|
+
* **pob:** force global eslint and fix remove plugins on non monorepo ([9c04867](https://github.com/christophehurpeau/pob/commit/9c0486700355e27981f0e1a73d05663a6c1bb16b))
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
# [9.1.0](https://github.com/christophehurpeau/pob/compare/pob@9.0.0...pob@9.1.0) (2021-12-11)
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
### Bug Fixes
|
|
32
|
+
|
|
33
|
+
* **pob:** replace devPlugins by plugins ([ddd0681](https://github.com/christophehurpeau/pob/commit/ddd0681284b5f5e9f851737beb2ec76bd69f01be))
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
### Features
|
|
37
|
+
|
|
38
|
+
* move @babel/core to pob-babel dependencies ([3d42287](https://github.com/christophehurpeau/pob/commit/3d422877476b443a2ea6789e0656ce676963451d))
|
|
39
|
+
* set rollup as dependencies ([8a3a87b](https://github.com/christophehurpeau/pob/commit/8a3a87bd7c541d92ce63bcf33043fedb2df98d01))
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
# [9.0.0](https://github.com/christophehurpeau/pob/compare/pob@8.10.1...pob@9.0.0) (2021-12-11)
|
|
46
|
+
|
|
47
|
+
|
|
48
|
+
### Bug Fixes
|
|
49
|
+
|
|
50
|
+
* **pob:** add try/catch arround build and generate:docs commands ([561f87f](https://github.com/christophehurpeau/pob/commit/561f87f75f2ec90480403432ea4a70090d9962ce))
|
|
51
|
+
* **pob:** dont add postinstallDev scripts in monorepo packages ([f993c13](https://github.com/christophehurpeau/pob/commit/f993c13670b6c1a537b2e5731987b407a25c4eb6))
|
|
52
|
+
* **pob:** missing clean script when using monorepo ([4a4ac95](https://github.com/christophehurpeau/pob/commit/4a4ac9527af1681606d80e2bf963364ecccb4e81))
|
|
53
|
+
* **pob:** use fs.exists before fs.delete ([b2640d1](https://github.com/christophehurpeau/pob/commit/b2640d1545411ffecb90bacd2ad400e19ea815f0))
|
|
54
|
+
|
|
55
|
+
|
|
56
|
+
### Features
|
|
57
|
+
|
|
58
|
+
* drop node 12 ([2f32308](https://github.com/christophehurpeau/pob/commit/2f32308b06ca74d0deb3355707e3082fa73e25dc))
|
|
59
|
+
* **pob:** configure jest to enable esm by default and remove direct dependency to babel-jest ([a789916](https://github.com/christophehurpeau/pob/commit/a78991696c6f7716cb1198ff8a6c36cc1acfa1a9))
|
|
60
|
+
* **pob-babel:** stop build dev specific and drop node 12 ([9cb8975](https://github.com/christophehurpeau/pob/commit/9cb897538df6b9c0e3ad3750abacb6ab96113862))
|
|
61
|
+
|
|
62
|
+
|
|
63
|
+
### BREAKING CHANGES
|
|
64
|
+
|
|
65
|
+
* requires node 14
|
|
66
|
+
* **pob-babel:** requires to delete dev exports and requires node 14
|
|
67
|
+
|
|
68
|
+
|
|
69
|
+
|
|
70
|
+
|
|
71
|
+
|
|
6
72
|
## [8.10.1](https://github.com/christophehurpeau/pob/compare/pob@8.10.0...pob@8.10.1) (2021-12-05)
|
|
7
73
|
|
|
8
74
|
|
|
@@ -41,24 +41,25 @@ export default class CommonBabelGenerator extends Generator {
|
|
|
41
41
|
let babelEnvs = pkg.pob.babelEnvs;
|
|
42
42
|
if (
|
|
43
43
|
!babelEnvs.some(
|
|
44
|
-
(env) => env.target === 'node' && String(env.version) === '
|
|
44
|
+
(env) => env.target === 'node' && String(env.version) === '14',
|
|
45
45
|
) &&
|
|
46
46
|
babelEnvs.some(
|
|
47
47
|
(env) =>
|
|
48
48
|
env.target === 'node' &&
|
|
49
49
|
(String(env.version) === '8' ||
|
|
50
50
|
String(env.version) === '6' ||
|
|
51
|
-
String(env.version) === '10'
|
|
51
|
+
String(env.version) === '10' ||
|
|
52
|
+
String(env.version) === '12'),
|
|
52
53
|
)
|
|
53
54
|
) {
|
|
54
55
|
babelEnvs.unshift({
|
|
55
56
|
target: 'node',
|
|
56
|
-
version: '
|
|
57
|
+
version: '14',
|
|
57
58
|
formats: ['cjs', 'es'],
|
|
58
59
|
});
|
|
59
60
|
}
|
|
60
61
|
babelEnvs = babelEnvs.filter(
|
|
61
|
-
(env) => env.target !== 'node' || env.version >=
|
|
62
|
+
(env) => env.target !== 'node' || env.version >= 14,
|
|
62
63
|
);
|
|
63
64
|
|
|
64
65
|
pkg.pob.babelEnvs = babelEnvs;
|
|
@@ -125,9 +126,13 @@ export default class CommonBabelGenerator extends Generator {
|
|
|
125
126
|
default: nodeVersions,
|
|
126
127
|
choices: [
|
|
127
128
|
{
|
|
128
|
-
name: '12 (
|
|
129
|
+
name: '12 (Maintenance LTS)',
|
|
129
130
|
value: '12',
|
|
130
131
|
},
|
|
132
|
+
{
|
|
133
|
+
name: '14 (Maintenance LTS)',
|
|
134
|
+
value: '14',
|
|
135
|
+
},
|
|
131
136
|
],
|
|
132
137
|
},
|
|
133
138
|
|
|
@@ -195,11 +200,11 @@ export default class CommonBabelGenerator extends Generator {
|
|
|
195
200
|
...(babelConfig.nodeVersions || []).map((version) => ({
|
|
196
201
|
target: 'node',
|
|
197
202
|
version,
|
|
198
|
-
formats: babelConfig.formats.includes('
|
|
203
|
+
formats: babelConfig.formats.includes('cjs')
|
|
199
204
|
? // eslint-disable-next-line unicorn/no-nested-ternary
|
|
200
|
-
version === '
|
|
205
|
+
version === '14'
|
|
201
206
|
? babelConfig.formats
|
|
202
|
-
: ['
|
|
207
|
+
: ['es']
|
|
203
208
|
: babelConfig.formats,
|
|
204
209
|
})),
|
|
205
210
|
...(babelConfig.browserVersions || []).map((version) => ({
|
|
@@ -319,7 +324,6 @@ export default class CommonBabelGenerator extends Generator {
|
|
|
319
324
|
packageUtils.addOrRemoveDevDependencies(pkg, useBabel, [
|
|
320
325
|
'@babel/core',
|
|
321
326
|
'pob-babel',
|
|
322
|
-
'rollup',
|
|
323
327
|
]);
|
|
324
328
|
|
|
325
329
|
if (pkg.dependencies && pkg.dependencies['pob-babel']) {
|
|
@@ -336,6 +340,7 @@ export default class CommonBabelGenerator extends Generator {
|
|
|
336
340
|
]);
|
|
337
341
|
|
|
338
342
|
packageUtils.removeDevDependencies(pkg, [
|
|
343
|
+
'rollup',
|
|
339
344
|
'babel-preset-env', // now @babel/preset-env
|
|
340
345
|
'babel-preset-jsdoc',
|
|
341
346
|
'babel-plugin-add-jsdoc-annotations',
|
|
@@ -349,12 +354,6 @@ export default class CommonBabelGenerator extends Generator {
|
|
|
349
354
|
['@babel/preset-env'],
|
|
350
355
|
);
|
|
351
356
|
|
|
352
|
-
packageUtils.addOrRemoveDevDependencies(
|
|
353
|
-
pkg,
|
|
354
|
-
this.babelEnvs.find((env) => env.target === 'node'),
|
|
355
|
-
['babel-preset-latest-node'],
|
|
356
|
-
);
|
|
357
|
-
|
|
358
357
|
packageUtils.addOrRemoveDevDependencies(
|
|
359
358
|
pkg,
|
|
360
359
|
this.babelEnvs.find(
|
|
@@ -375,8 +374,6 @@ export default class CommonBabelGenerator extends Generator {
|
|
|
375
374
|
switch (String(minNodeVersion)) {
|
|
376
375
|
case '10':
|
|
377
376
|
case '12':
|
|
378
|
-
pkg.engines.node = '^12.20.0 || ^14.13.1 || >=16.0.0';
|
|
379
|
-
break;
|
|
380
377
|
case '14':
|
|
381
378
|
pkg.engines.node = '^14.13.1 || >=16.0.0';
|
|
382
379
|
break;
|
|
@@ -408,7 +405,7 @@ export default class CommonBabelGenerator extends Generator {
|
|
|
408
405
|
if (Object.keys(pkg.engines).length === 0) delete pkg.engines;
|
|
409
406
|
} else {
|
|
410
407
|
// Supported LTS versions of node, that supports ESM modules.
|
|
411
|
-
pkg.engines.node = '^
|
|
408
|
+
pkg.engines.node = '^14.13.1 || >=16.0.0';
|
|
412
409
|
}
|
|
413
410
|
}
|
|
414
411
|
|
|
@@ -471,10 +468,11 @@ export default class CommonBabelGenerator extends Generator {
|
|
|
471
468
|
!pkg.engines.node ||
|
|
472
469
|
semver.lt(
|
|
473
470
|
semver.minVersion(pkg.engines.node),
|
|
474
|
-
pkg.type === 'commonjs' ? '12.10.0' : '12.20.0',
|
|
471
|
+
// pkg.type === 'commonjs' ? '12.10.0' : '12.20.0',
|
|
472
|
+
'14.13.1',
|
|
475
473
|
)
|
|
476
474
|
) {
|
|
477
|
-
pkg.engines.node = '^
|
|
475
|
+
pkg.engines.node = '^14.13.1 || >=16.0.0';
|
|
478
476
|
}
|
|
479
477
|
}
|
|
480
478
|
|
|
@@ -499,35 +497,32 @@ export default class CommonBabelGenerator extends Generator {
|
|
|
499
497
|
(env) => env.target === 'node' && env.formats.includes('es'),
|
|
500
498
|
);
|
|
501
499
|
|
|
500
|
+
// Legacy "dev" builds
|
|
501
|
+
delete pkg['module:browser'];
|
|
502
|
+
delete pkg['module:browser-dev'];
|
|
503
|
+
delete pkg['module:modern-browsers-dev'];
|
|
504
|
+
delete pkg['module:node-dev'];
|
|
505
|
+
|
|
502
506
|
/* webpack 4 */
|
|
503
507
|
if (esAllBrowserEnv) {
|
|
504
508
|
pkg.module = './dist/index-browser.es.js';
|
|
505
509
|
pkg.browser = './dist/index-browser.es.js';
|
|
506
|
-
pkg['module:browser'] = './dist/index-browser.es.js';
|
|
507
|
-
pkg['module:browser-dev'] = './dist/index-browser-dev.es.js';
|
|
508
510
|
} else {
|
|
509
511
|
delete pkg.module;
|
|
510
512
|
delete pkg.browser;
|
|
511
|
-
delete pkg['module:browser'];
|
|
512
|
-
delete pkg['module:browser-dev'];
|
|
513
513
|
}
|
|
514
514
|
|
|
515
515
|
if (esModernBrowserEnv) {
|
|
516
516
|
pkg['module:modern-browsers'] = './dist/index-browsermodern.es.js';
|
|
517
|
-
pkg['module:modern-browsers-dev'] =
|
|
518
|
-
'./dist/index-browsermodern-dev.es.js';
|
|
519
517
|
} else {
|
|
520
518
|
delete pkg['module:modern-browsers'];
|
|
521
|
-
delete pkg['module:modern-browsers-dev'];
|
|
522
519
|
}
|
|
523
520
|
|
|
524
521
|
if (esNodeEnv) {
|
|
522
|
+
// webpack 4 node
|
|
525
523
|
pkg[
|
|
526
524
|
'module:node'
|
|
527
525
|
] = `./dist/index-${esNodeEnv.target}${esNodeEnv.version}.mjs`;
|
|
528
|
-
pkg[
|
|
529
|
-
'module:node-dev'
|
|
530
|
-
] = `./dist/index-${esNodeEnv.target}${esNodeEnv.version}-dev.mjs`;
|
|
531
526
|
}
|
|
532
527
|
|
|
533
528
|
const aliases = (this.entries || []).filter((entry) => entry !== 'index');
|
|
@@ -548,7 +543,6 @@ export default class CommonBabelGenerator extends Generator {
|
|
|
548
543
|
: aliases;
|
|
549
544
|
if (envAliases.length === 0) return;
|
|
550
545
|
pkg[`module:aliases-${key}`] = {};
|
|
551
|
-
pkg[`module:aliases-${key}-dev`] = {};
|
|
552
546
|
|
|
553
547
|
envAliases.forEach((aliasName) => {
|
|
554
548
|
const isBrowserOnly =
|
|
@@ -559,11 +553,6 @@ export default class CommonBabelGenerator extends Generator {
|
|
|
559
553
|
] = `./dist/${aliasDistName}-${env.target}${
|
|
560
554
|
env.version || ''
|
|
561
555
|
}.es.js`;
|
|
562
|
-
pkg[`module:aliases-${key}-dev`][
|
|
563
|
-
`./${aliasName}.js`
|
|
564
|
-
] = `./dist/${aliasDistName}-${env.target}${
|
|
565
|
-
env.version || ''
|
|
566
|
-
}-dev.es.js`;
|
|
567
556
|
});
|
|
568
557
|
});
|
|
569
558
|
}
|
|
@@ -591,19 +580,16 @@ export default class CommonBabelGenerator extends Generator {
|
|
|
591
580
|
this.babelEnvs.forEach(({ target, version, formats }) => {
|
|
592
581
|
if (target === 'node' && entry === 'browser') return;
|
|
593
582
|
|
|
594
|
-
const exportTarget = {
|
|
583
|
+
const exportTarget = {};
|
|
595
584
|
|
|
596
585
|
if (target === 'node') {
|
|
597
586
|
if (formats.includes('es')) {
|
|
598
|
-
exportTarget.development.import = `./dist/${entryDistName}-${target}${version}-dev.mjs`;
|
|
599
587
|
exportTarget.import = `./dist/${entryDistName}-${target}${version}.mjs`;
|
|
600
588
|
|
|
601
589
|
if (formats.includes('cjs')) {
|
|
602
|
-
exportTarget.development.require = `./dist/${entryDistName}-${target}${version}-dev.cjs.js`;
|
|
603
590
|
exportTarget.require = `./dist/${entryDistName}-${target}${version}.cjs.js`;
|
|
604
591
|
}
|
|
605
592
|
} else if (formats.includes('cjs')) {
|
|
606
|
-
exportTarget.development = `./dist/${entryDistName}-${target}${version}-dev.cjs.js`;
|
|
607
593
|
exportTarget.default = `./dist/${entryDistName}-${target}${version}.cjs.js`;
|
|
608
594
|
}
|
|
609
595
|
// eslint: https://github.com/benmosher/eslint-plugin-import/issues/2132
|
|
@@ -613,18 +599,12 @@ export default class CommonBabelGenerator extends Generator {
|
|
|
613
599
|
}
|
|
614
600
|
} else if (target === 'browser') {
|
|
615
601
|
if (formats.includes('es')) {
|
|
616
|
-
exportTarget.development.import = `./dist/${entryDistName}-${target}${
|
|
617
|
-
version || ''
|
|
618
|
-
}-dev.es.js`;
|
|
619
602
|
exportTarget.import = `./dist/${entryDistName}-${target}${
|
|
620
603
|
version || ''
|
|
621
604
|
}.es.js`;
|
|
622
605
|
}
|
|
623
606
|
|
|
624
607
|
if (formats.includes('cjs')) {
|
|
625
|
-
exportTarget.development.require = `./dist/index-${target}${
|
|
626
|
-
version || ''
|
|
627
|
-
}-dev.cjs.js`;
|
|
628
608
|
exportTarget.require = `./dist/index-${target}${
|
|
629
609
|
version || ''
|
|
630
610
|
}.cjs.js`;
|
|
@@ -673,6 +653,13 @@ export default class CommonBabelGenerator extends Generator {
|
|
|
673
653
|
|
|
674
654
|
Object.keys(pkg).forEach((key) => {
|
|
675
655
|
if (!key.startsWith('module:') && !key.startsWith('webpack:')) return;
|
|
656
|
+
|
|
657
|
+
// legacy
|
|
658
|
+
if (key.endsWith('-dev')) {
|
|
659
|
+
delete pkg[key];
|
|
660
|
+
return;
|
|
661
|
+
}
|
|
662
|
+
|
|
676
663
|
if (key.startsWith('module:node') && esNodeEnv) return;
|
|
677
664
|
if (key.startsWith('module:browser') && esAllBrowserEnv) return;
|
|
678
665
|
if (key.startsWith('module:modern-browsers') && esModernBrowserEnv) {
|
|
@@ -4,5 +4,5 @@ import createRollupConfig from 'pob-babel/createRollupConfig.js';
|
|
|
4
4
|
const watch = process.env.ROLLUP_WATCH === 'true';
|
|
5
5
|
|
|
6
6
|
export default createRollupConfig({
|
|
7
|
-
|
|
7
|
+
plugins: [watch && run({ execArgv: ['--enable-source-maps'] })],
|
|
8
8
|
});
|
|
@@ -186,11 +186,11 @@ export default class CommonLintGenerator extends Generator {
|
|
|
186
186
|
inLerna.pobConfig.project &&
|
|
187
187
|
inLerna.pobConfig.project.type;
|
|
188
188
|
|
|
189
|
-
if (
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
) {
|
|
189
|
+
if (this.options.monorepo && !globalEslint) {
|
|
190
|
+
throw new Error('Please enable global eslint');
|
|
191
|
+
}
|
|
192
|
+
|
|
193
|
+
if (globalEslint && !((inLerna && inLerna.root) || this.options.monorepo)) {
|
|
194
194
|
packageUtils.removeDevDependencies(
|
|
195
195
|
pkg,
|
|
196
196
|
[
|
|
@@ -227,10 +227,7 @@ export default class CommonLintGenerator extends Generator {
|
|
|
227
227
|
['eslint'],
|
|
228
228
|
);
|
|
229
229
|
const shouldHavePluginsDependencies =
|
|
230
|
-
|
|
231
|
-
!inLerna ||
|
|
232
|
-
(rootPackageManager === 'yarn' &&
|
|
233
|
-
rootYarnNodeLinker !== 'node-modules');
|
|
230
|
+
rootPackageManager === 'yarn' && rootYarnNodeLinker !== 'node-modules';
|
|
234
231
|
|
|
235
232
|
if (
|
|
236
233
|
!pkg.name.startsWith('eslint-config') &&
|
|
@@ -42,8 +42,12 @@ export default class CommonHuskyGenerator extends Generator {
|
|
|
42
42
|
this.fs.delete('.git-hooks/pre-commit');
|
|
43
43
|
if (this.fs.exists('.git-hooks')) this.fs.delete('.git-hooks');
|
|
44
44
|
|
|
45
|
-
this.fs.
|
|
46
|
-
|
|
45
|
+
if (this.fs.exists(this.destinationPath('.huskyrc.js'))) {
|
|
46
|
+
this.fs.delete(this.destinationPath('.huskyrc.js'));
|
|
47
|
+
}
|
|
48
|
+
if (this.fs.exists(this.destinationPath('husky.config.js'))) {
|
|
49
|
+
this.fs.delete(this.destinationPath('husky.config.js'));
|
|
50
|
+
}
|
|
47
51
|
|
|
48
52
|
if (this.fs.exists(this.destinationPath('lint-staged.config.js'))) {
|
|
49
53
|
this.fs.move(
|
|
@@ -19,6 +19,7 @@ export default class CommonRemoveOldDependenciesGenerator extends Generator {
|
|
|
19
19
|
'babel-preset-es2015-node6',
|
|
20
20
|
'babel-preset-pob',
|
|
21
21
|
'babel-preset-latest',
|
|
22
|
+
'babel-preset-latest-node',
|
|
22
23
|
'babel-preset-stage-0',
|
|
23
24
|
'babel-preset-stage-1',
|
|
24
25
|
'babel-preset-modern-browsers-stage-1',
|
|
@@ -69,14 +69,11 @@ export default class CommonTestingGenerator extends Generator {
|
|
|
69
69
|
'istanbul',
|
|
70
70
|
'babel-core',
|
|
71
71
|
'ts-jest',
|
|
72
|
+
'babel-jest',
|
|
72
73
|
]);
|
|
73
74
|
|
|
74
75
|
if (!this.options.enable) {
|
|
75
|
-
packageUtils.removeDevDependencies(pkg, [
|
|
76
|
-
'jest',
|
|
77
|
-
'@types/jest',
|
|
78
|
-
'babel-jest',
|
|
79
|
-
]);
|
|
76
|
+
packageUtils.removeDevDependencies(pkg, ['jest', '@types/jest']);
|
|
80
77
|
|
|
81
78
|
delete pkg.jest;
|
|
82
79
|
// if (inLerna) {
|
|
@@ -97,7 +94,7 @@ export default class CommonTestingGenerator extends Generator {
|
|
|
97
94
|
const transpileWithBabel = packageUtils.transpileWithBabel(pkg);
|
|
98
95
|
|
|
99
96
|
const shouldUseExperimentalVmModules =
|
|
100
|
-
pkg.type === 'module'
|
|
97
|
+
pkg.type === 'module' || transpileWithBabel;
|
|
101
98
|
|
|
102
99
|
const jestCommand = `${
|
|
103
100
|
shouldUseExperimentalVmModules
|
|
@@ -125,10 +122,6 @@ export default class CommonTestingGenerator extends Generator {
|
|
|
125
122
|
const hasReact = transpileWithBabel && packageUtils.hasReact(pkg);
|
|
126
123
|
const srcDirectory = transpileWithBabel ? 'src' : 'lib';
|
|
127
124
|
|
|
128
|
-
packageUtils.addOrRemoveDevDependencies(pkg, transpileWithBabel, [
|
|
129
|
-
'babel-jest',
|
|
130
|
-
]);
|
|
131
|
-
|
|
132
125
|
if (!pkg.jest) pkg.jest = {};
|
|
133
126
|
Object.assign(pkg.jest, {
|
|
134
127
|
cacheDirectory: './node_modules/.cache/jest',
|
|
@@ -152,12 +145,20 @@ export default class CommonTestingGenerator extends Generator {
|
|
|
152
145
|
// 'jsx',
|
|
153
146
|
'json',
|
|
154
147
|
].filter(Boolean),
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
148
|
+
extensionsToTreatAsEsm: [
|
|
149
|
+
transpileWithBabel && '.ts',
|
|
150
|
+
transpileWithBabel && hasReact && '.tsx',
|
|
151
|
+
].filter(Boolean),
|
|
152
|
+
// transform: {
|
|
153
|
+
// [`^.+\\.ts${hasReact ? 'x?' : ''}$`]: 'babel-jest',
|
|
154
|
+
// },
|
|
158
155
|
});
|
|
156
|
+
delete pkg.jest.transform;
|
|
159
157
|
|
|
160
|
-
if (
|
|
158
|
+
if (
|
|
159
|
+
babelEnvs.length === 0 ||
|
|
160
|
+
babelEnvs.some((env) => env.target === 'node')
|
|
161
|
+
) {
|
|
161
162
|
pkg.jest.testEnvironment = 'node';
|
|
162
163
|
} else {
|
|
163
164
|
delete pkg.jest.testEnvironment;
|
|
@@ -8,7 +8,7 @@ jobs:
|
|
|
8
8
|
|
|
9
9
|
strategy:
|
|
10
10
|
matrix:
|
|
11
|
-
node-version: [
|
|
11
|
+
node-version: [14.x, 16.x]
|
|
12
12
|
|
|
13
13
|
steps:
|
|
14
14
|
- uses: actions/checkout@v2
|
|
@@ -57,16 +57,16 @@ jobs:
|
|
|
57
57
|
<% } -%>
|
|
58
58
|
- name: Prettier
|
|
59
59
|
run: <%= packageManager %> run lint:prettier
|
|
60
|
-
if: startsWith(matrix.node-version, '
|
|
60
|
+
if: startsWith(matrix.node-version, '16.')
|
|
61
61
|
|
|
62
62
|
- name: Eslint
|
|
63
63
|
run: <%= packageManager %> run lint:eslint
|
|
64
|
-
if: startsWith(matrix.node-version, '
|
|
64
|
+
if: startsWith(matrix.node-version, '16.')
|
|
65
65
|
<% if (typescript) { -%>
|
|
66
66
|
|
|
67
67
|
- name: Typescript
|
|
68
68
|
run: yarn run tsc
|
|
69
|
-
if: startsWith(matrix.node-version, '
|
|
69
|
+
if: startsWith(matrix.node-version, '16.')
|
|
70
70
|
<% } -%>
|
|
71
71
|
<% if (testing) { -%>
|
|
72
72
|
|
|
@@ -79,14 +79,14 @@ jobs:
|
|
|
79
79
|
|
|
80
80
|
- name: Documentation
|
|
81
81
|
run: <%= packageManager %> run generate:docs
|
|
82
|
-
if: startsWith(matrix.node-version, '
|
|
82
|
+
if: startsWith(matrix.node-version, '16.')
|
|
83
83
|
env:
|
|
84
84
|
CI: true
|
|
85
85
|
<% } else if (codecov) { -%>
|
|
86
86
|
|
|
87
87
|
- name: Generate Coverage doc
|
|
88
88
|
run: <%= packageManager %> run generate:test-coverage
|
|
89
|
-
if: startsWith(matrix.node-version, '
|
|
89
|
+
if: startsWith(matrix.node-version, '16.')
|
|
90
90
|
env:
|
|
91
91
|
CI: true
|
|
92
92
|
<% } -%>
|
|
@@ -96,11 +96,11 @@ jobs:
|
|
|
96
96
|
uses: codecov/codecov-action@v2
|
|
97
97
|
with:
|
|
98
98
|
token: ${{ secrets.CODECOV_TOKEN }}
|
|
99
|
-
if: startsWith(matrix.node-version, '
|
|
99
|
+
if: startsWith(matrix.node-version, '16.')
|
|
100
100
|
<% } -%>
|
|
101
101
|
<% if (true) { -%>
|
|
102
102
|
|
|
103
103
|
- name: Check nothing was forgotten before commit
|
|
104
|
-
if: startsWith(matrix.node-version, '
|
|
104
|
+
if: startsWith(matrix.node-version, '16.')
|
|
105
105
|
run: <%= packageManager === 'npm' ? 'npx' : 'yarn run' %> repository-check-dirty
|
|
106
106
|
<% } -%>
|
|
@@ -22,12 +22,7 @@ const configureProtectionRule = async (owner, repo) => {
|
|
|
22
22
|
json: {
|
|
23
23
|
required_status_checks: {
|
|
24
24
|
strict: false,
|
|
25
|
-
contexts: [
|
|
26
|
-
'build (12.x)',
|
|
27
|
-
'build (14.x)',
|
|
28
|
-
'build (16.x)',
|
|
29
|
-
'reviewflow',
|
|
30
|
-
],
|
|
25
|
+
contexts: ['build (14.x)', 'build (16.x)', 'reviewflow'],
|
|
31
26
|
},
|
|
32
27
|
enforce_admins: false, // true,
|
|
33
28
|
required_pull_request_reviews: null,
|
|
@@ -37,9 +37,15 @@ export default class CorePackageGenerator extends Generator {
|
|
|
37
37
|
if (!pkg.engines) pkg.engines = {};
|
|
38
38
|
|
|
39
39
|
// dont override engines if set to latest
|
|
40
|
-
if (
|
|
40
|
+
if (
|
|
41
|
+
!pkg.engines.node ||
|
|
42
|
+
!(
|
|
43
|
+
pkg.engines.node.startsWith('>=14.') ||
|
|
44
|
+
pkg.engines.node.startsWith('>=16.')
|
|
45
|
+
)
|
|
46
|
+
) {
|
|
41
47
|
// this might be overridden by babel generator
|
|
42
|
-
pkg.engines.node = '>=
|
|
48
|
+
pkg.engines.node = '>=14.13.1';
|
|
43
49
|
}
|
|
44
50
|
|
|
45
51
|
if (!this.options.updateOnly) {
|
|
@@ -248,7 +254,7 @@ export default class CorePackageGenerator extends Generator {
|
|
|
248
254
|
}
|
|
249
255
|
}
|
|
250
256
|
};
|
|
251
|
-
if (this.options.monorepo || pkg.private) {
|
|
257
|
+
if (this.options.monorepo || inLerna || pkg.private) {
|
|
252
258
|
uninstallPostinstallScript('postinstallDev');
|
|
253
259
|
if (this.options.isRoot) {
|
|
254
260
|
installPostinstallScript('postinstall');
|
|
@@ -119,10 +119,14 @@ export default class CoreYarnGenerator extends Generator {
|
|
|
119
119
|
} catch {}
|
|
120
120
|
} else {
|
|
121
121
|
if (pkg.scripts.build) {
|
|
122
|
-
|
|
122
|
+
try {
|
|
123
|
+
this.spawnCommandSync('yarn', ['run', 'build']);
|
|
124
|
+
} catch {}
|
|
123
125
|
}
|
|
124
126
|
if (pkg.scripts['generate:docs']) {
|
|
125
|
-
|
|
127
|
+
try {
|
|
128
|
+
this.spawnCommandSync('yarn', ['run', 'generate:docs']);
|
|
129
|
+
} catch {}
|
|
126
130
|
}
|
|
127
131
|
}
|
|
128
132
|
}
|
|
@@ -80,7 +80,7 @@ export default class PobLibGenerator extends Generator {
|
|
|
80
80
|
case 'node10':
|
|
81
81
|
return {
|
|
82
82
|
target: 'node',
|
|
83
|
-
version:
|
|
83
|
+
version: 14,
|
|
84
84
|
formats: ['cjs'],
|
|
85
85
|
};
|
|
86
86
|
|
|
@@ -89,7 +89,7 @@ export default class PobLibGenerator extends Generator {
|
|
|
89
89
|
case 'module-node8':
|
|
90
90
|
return {
|
|
91
91
|
target: 'node',
|
|
92
|
-
version:
|
|
92
|
+
version: 14,
|
|
93
93
|
formats: ['es'],
|
|
94
94
|
};
|
|
95
95
|
|
|
@@ -316,7 +316,8 @@ export default class PobLibGenerator extends Generator {
|
|
|
316
316
|
delete pkg.scripts.release;
|
|
317
317
|
delete pkg.scripts.version;
|
|
318
318
|
}
|
|
319
|
-
}
|
|
319
|
+
}
|
|
320
|
+
if (withBabel && (!inLerna || !inLerna.root)) {
|
|
320
321
|
packageUtils.addScripts(pkg, {
|
|
321
322
|
clean: 'rm -Rf dist',
|
|
322
323
|
});
|
|
@@ -61,9 +61,15 @@ export default class LibReleaseGenerator extends Generator {
|
|
|
61
61
|
}
|
|
62
62
|
|
|
63
63
|
if (!isReleasePleaseEnabled) {
|
|
64
|
-
|
|
65
|
-
this.
|
|
66
|
-
|
|
64
|
+
if (
|
|
65
|
+
this.fs.exists(
|
|
66
|
+
this.destinationPath('.github/workflows/release-please.yml'),
|
|
67
|
+
)
|
|
68
|
+
) {
|
|
69
|
+
this.fs.delete(
|
|
70
|
+
this.destinationPath('.github/workflows/release-please.yml'),
|
|
71
|
+
);
|
|
72
|
+
}
|
|
67
73
|
} else {
|
|
68
74
|
this.fs.copyTpl(
|
|
69
75
|
this.templatePath('release-please.yml.ejs'),
|
package/lib/utils/package.js
CHANGED
|
@@ -80,8 +80,9 @@ const internalRemoveDependencies = (pkg, type, dependencyKeys) => {
|
|
|
80
80
|
internalRemoveFromObject(pkg, type, dependencyKeys);
|
|
81
81
|
};
|
|
82
82
|
|
|
83
|
-
const getVersionFromDependencyName = (dependency) =>
|
|
84
|
-
pobDependencies[dependency];
|
|
83
|
+
const getVersionFromDependencyName = (dependency) => {
|
|
84
|
+
return pobDependencies[dependency];
|
|
85
|
+
};
|
|
85
86
|
|
|
86
87
|
const internalAddDependencies = (pkg, type, dependencies, cleaned, prefix) => {
|
|
87
88
|
const ignoreDependencies =
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "pob",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "9.2.1",
|
|
4
4
|
"description": "Pile of bones, library generator with git/babel/typescript/typedoc/readme/jest",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"skeleton"
|
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
},
|
|
19
19
|
"type": "module",
|
|
20
20
|
"engines": {
|
|
21
|
-
"node": "^
|
|
21
|
+
"node": "^14.13.1 || >=16.0.0"
|
|
22
22
|
},
|
|
23
23
|
"main": "./lib/index.js",
|
|
24
24
|
"exports": {
|
|
@@ -47,9 +47,9 @@
|
|
|
47
47
|
"dependencies": {
|
|
48
48
|
"@lerna/package-graph": "^4.0.0",
|
|
49
49
|
"@lerna/project": "^4.0.0",
|
|
50
|
-
"@pob/sort-eslint-config": "^
|
|
51
|
-
"@pob/sort-object": "^
|
|
52
|
-
"@pob/sort-pkg": "^
|
|
50
|
+
"@pob/sort-eslint-config": "^3.0.0",
|
|
51
|
+
"@pob/sort-object": "^4.0.0",
|
|
52
|
+
"@pob/sort-pkg": "^4.0.0",
|
|
53
53
|
"@yarnpkg/parsers": "^2.2.0",
|
|
54
54
|
"findup-sync": "^5.0.0",
|
|
55
55
|
"generator-license": "^5.4.0",
|
|
@@ -63,12 +63,12 @@
|
|
|
63
63
|
"mem-fs-editor": "8.1.2",
|
|
64
64
|
"minimist-argv": "^1.1.0",
|
|
65
65
|
"parse-author": "^2.0.0",
|
|
66
|
-
"pob-dependencies": "^
|
|
66
|
+
"pob-dependencies": "^6.0.3",
|
|
67
67
|
"prettier": "2.5.1",
|
|
68
68
|
"semver": "^7.3.4",
|
|
69
69
|
"update-notifier": "^5.0.1",
|
|
70
70
|
"yeoman-environment": "^3.5.1",
|
|
71
71
|
"yeoman-generator": "^5.4.0"
|
|
72
72
|
},
|
|
73
|
-
"gitHead": "
|
|
73
|
+
"gitHead": "a57636519e371ba9e98391a04ab2b7389abf1aca"
|
|
74
74
|
}
|