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 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) === '12',
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: '12',
57
+ version: '14',
57
58
  formats: ['cjs', 'es'],
58
59
  });
59
60
  }
60
61
  babelEnvs = babelEnvs.filter(
61
- (env) => env.target !== 'node' || env.version >= 12,
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 (Active LTS)',
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('es')
203
+ formats: babelConfig.formats.includes('cjs')
199
204
  ? // eslint-disable-next-line unicorn/no-nested-ternary
200
- version === '12'
205
+ version === '14'
201
206
  ? babelConfig.formats
202
- : ['cjs']
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 = '^12.20.0 || ^14.13.1 || >=16.0.0';
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 = '^12.20.0 || ^14.13.1 || >=16.0.0';
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 = { development: {} };
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
- devPlugins: [watch && run({ execArgv: ['--enable-source-maps'] })],
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
- globalEslint &&
191
- !((inLerna && inLerna.root) || this.options.monorepo) &&
192
- (rootPackageManager !== 'yarn' || rootYarnNodeLinker === 'node-modules')
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
- !globalEslint ||
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.delete(this.destinationPath('.huskyrc.js'));
46
- this.fs.delete(this.destinationPath('husky.config.js'));
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' && !transpileWithBabel;
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
- transform: {
156
- [`^.+\\.ts${hasReact ? 'x?' : ''}$`]: 'babel-jest',
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 (babelEnvs.some((env) => env.target === 'node')) {
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: [12.x, 14.x, 16.x]
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, '14.')
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, '14.')
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, '14.')
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, '14.')
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, '14.')
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, '14.')
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, '14.')
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 (!pkg.engines.node || !pkg.engines.node.startsWith('>=14.')) {
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 = '>=12.10.0';
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
- this.spawnCommandSync('yarn', ['run', 'build']);
122
+ try {
123
+ this.spawnCommandSync('yarn', ['run', 'build']);
124
+ } catch {}
123
125
  }
124
126
  if (pkg.scripts['generate:docs']) {
125
- this.spawnCommandSync('yarn', ['run', 'generate:docs']);
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: 12,
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: 12,
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
- } else if (withBabel) {
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
- this.fs.delete(
65
- this.destinationPath('.github/workflows/release-please.yml'),
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'),
@@ -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": "8.10.1",
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": "^12.20.0 || ^14.13.1 || >=16.0.0"
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": "^2.2.0",
51
- "@pob/sort-object": "^3.2.0",
52
- "@pob/sort-pkg": "^3.3.0",
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": "^5.12.0",
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": "22fce6512461fa2282baf86a31d090002abca7ac"
73
+ "gitHead": "a57636519e371ba9e98391a04ab2b7389abf1aca"
74
74
  }