@w5s/mrm-preset 1.0.0-alpha.21 → 1.0.0-alpha.24

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.
@@ -1,11 +1,11 @@
1
- @w5s/mrm-preset:build: cache hit, replaying output 997280f5aaf899ce
2
- @w5s/mrm-preset:build: [build:*empty]
3
- @w5s/mrm-preset:build: [build:*empty] > @w5s/mrm-preset@1.0.0-alpha.19 build:empty
4
- @w5s/mrm-preset:build: [build:*empty] > :
5
- @w5s/mrm-preset:build: [build:*empty]
6
- @w5s/mrm-preset:build: [build:*tsc]
7
- @w5s/mrm-preset:build: [build:*tsc] > @w5s/mrm-preset@1.0.0-alpha.19 build:tsc
8
- @w5s/mrm-preset:build: [build:*tsc] > tsc --noEmit --skipLibCheck
9
- @w5s/mrm-preset:build: [build:*tsc]
10
- @w5s/mrm-preset:build: [build:*empty] npm run build:empty exited with code 0
11
- @w5s/mrm-preset:build: [build:*tsc] npm run build:tsc exited with code 0
1
+ @w5s/mrm-preset:build: cache hit, replaying output ff73855cd485f581
2
+ @w5s/mrm-preset:build: [build:*empty]
3
+ @w5s/mrm-preset:build: [build:*empty] > @w5s/mrm-preset@1.0.0-alpha.23 build:empty
4
+ @w5s/mrm-preset:build: [build:*empty] > :
5
+ @w5s/mrm-preset:build: [build:*empty]
6
+ @w5s/mrm-preset:build: [build:*tsc]
7
+ @w5s/mrm-preset:build: [build:*tsc] > @w5s/mrm-preset@1.0.0-alpha.23 build:tsc
8
+ @w5s/mrm-preset:build: [build:*tsc] > tsc --noEmit --skipLibCheck
9
+ @w5s/mrm-preset:build: [build:*tsc]
10
+ @w5s/mrm-preset:build: [build:*empty] npm run build:empty exited with code 0
11
+ @w5s/mrm-preset:build: [build:*tsc] npm run build:tsc exited with code 0
@@ -1,43 +1,44 @@
1
- @w5s/mrm-preset:docs: cache hit, replaying output c068eefb6cfef61f
2
- @w5s/mrm-preset:docs: Starting markdown-magic [ '**/*.md', '!node_modules/**' ]
3
- @w5s/mrm-preset:docs: ℹ Notice:
4
- @w5s/mrm-preset:docs: Missing transforms "BASIC_RULES","JSX_RULES" in _tester/node_modules/eslint-plugin-react/README.md
5
- @w5s/mrm-preset:docs:
6
- @w5s/mrm-preset:docs: ✔ README.md Updated
7
- @w5s/mrm-preset:docs: Transforms run
8
- @w5s/mrm-preset:docs: ⁕ PKGJSON:template=# W5s Mrm Preset _(${name})_
9
- @w5s/mrm-preset:docs: ⁕ PKGJSON:template=> ${description}&unknownTxt=
10
- @w5s/mrm-preset:docs: ⁕ PKGJSON:template=[${license}][license-url] © ${author}
11
- @w5s/mrm-preset:docs: ⁕ PKGJSON:template=[package-version-svg]: https://img.shields.io/npm/v/${name}.svg?style=flat-square
12
- @w5s/mrm-preset:docs: ⁕ PKGJSON:template=[package-url]: https://www.npmjs.com/package/${name}
13
- @w5s/mrm-preset:docs: ⁕ PKGJSON:template=[license-image]: https://img.shields.io/badge/license-${license}-green.svg?style=flat-square
14
- @w5s/mrm-preset:docs:
15
- @w5s/mrm-preset:docs: ✔ _tester/node_modules/@w5s/mrm-preset/README.md Updated
16
- @w5s/mrm-preset:docs: Transforms run
17
- @w5s/mrm-preset:docs: ⁕ PKGJSON:template=# W5s Mrm Preset _(${name})_
18
- @w5s/mrm-preset:docs: ⁕ PKGJSON:template=> ${description}&unknownTxt=
19
- @w5s/mrm-preset:docs: ⁕ PKGJSON:template=[${license}][license-url] © ${author}
20
- @w5s/mrm-preset:docs: ⁕ PKGJSON:template=[package-version-svg]: https://img.shields.io/npm/v/${name}.svg?style=flat-square
21
- @w5s/mrm-preset:docs: ⁕ PKGJSON:template=[package-url]: https://www.npmjs.com/package/${name}
22
- @w5s/mrm-preset:docs: ⁕ PKGJSON:template=[license-image]: https://img.shields.io/badge/license-${license}-green.svg?style=flat-square
23
- @w5s/mrm-preset:docs:
24
- @w5s/mrm-preset:docs: ✔ _tester/node_modules/@w5s/eslint-config/README.md Updated
25
- @w5s/mrm-preset:docs: Transforms run
26
- @w5s/mrm-preset:docs: ⁕ PKGJSON:template=# W5s ESLint configuration _(${name})_
27
- @w5s/mrm-preset:docs: ⁕ PKGJSON:template=> ${description}&unknownTxt=
28
- @w5s/mrm-preset:docs: ⁕ PKGJSON:template=```console\nnpm install --save-dev ${name}\n```
29
- @w5s/mrm-preset:docs: ⁕ PKGJSON:template=[${license}][license-url] © ${author}
30
- @w5s/mrm-preset:docs: ⁕ PKGJSON:template=[package-version-svg]: https://img.shields.io/npm/v/${name}.svg?style=flat-square
31
- @w5s/mrm-preset:docs: ⁕ PKGJSON:template=[package-url]: https://www.npmjs.com/package/${name}
32
- @w5s/mrm-preset:docs: ⁕ PKGJSON:template=[license-image]: https://img.shields.io/badge/license-${license}-green.svg?style=flat-square
33
- @w5s/mrm-preset:docs:
34
- @w5s/mrm-preset:docs: ✔ _tester/node_modules/@w5s/ts-config/README.md Updated
35
- @w5s/mrm-preset:docs: Transforms run
36
- @w5s/mrm-preset:docs: ⁕ PKGJSON:template=# W5s Typescript configuration _(${name})_
37
- @w5s/mrm-preset:docs: ⁕ PKGJSON:template=> ${description}&unknownTxt=
38
- @w5s/mrm-preset:docs: ⁕ PKGJSON:template=```console\nnpm install --save-dev ${name}\n```
39
- @w5s/mrm-preset:docs: ⁕ PKGJSON:template=[${license}][license-url] © ${author}
40
- @w5s/mrm-preset:docs: ⁕ PKGJSON:template=[package-version-svg]: https://img.shields.io/npm/v/${name}.svg?style=flat-square
41
- @w5s/mrm-preset:docs: ⁕ PKGJSON:template=[package-url]: https://www.npmjs.com/package/${name}
42
- @w5s/mrm-preset:docs: ⁕ PKGJSON:template=[license-image]: https://img.shields.io/badge/license-${license}-green.svg?style=flat-square
43
- @w5s/mrm-preset:docs:
1
+ @w5s/mrm-preset:docs: cache hit, replaying output 30f80080599a5283
2
+ @w5s/mrm-preset:docs: Starting markdown-magic [ '**/*.md', '!node_modules/**' ]
3
+ @w5s/mrm-preset:docs: ℹ Notice:
4
+ @w5s/mrm-preset:docs:  Missing transforms "BASIC_RULES","JSX_RULES" in _tester/node_modules/eslint-plugin-react/README.md
5
+ @w5s/mrm-preset:docs: 
6
+ @w5s/mrm-preset:docs: ✔ README.md Updated
7
+ @w5s/mrm-preset:docs:  Transforms run
8
+ @w5s/mrm-preset:docs:  ⁕ PKGJSON:template=# W5s Mrm Preset _(${name})_
9
+ @w5s/mrm-preset:docs:  ⁕ PKGJSON:template=> ${description}&unknownTxt=
10
+ @w5s/mrm-preset:docs:  ⁕ PKGJSON:template=[${license}][license-url] © ${author}
11
+ @w5s/mrm-preset:docs:  ⁕ PKGJSON:template=[package-version-svg]: https://img.shields.io/npm/v/${name}.svg?style=flat-square
12
+ @w5s/mrm-preset:docs:  ⁕ PKGJSON:template=[package-url]: https://www.npmjs.com/package/${name}
13
+ @w5s/mrm-preset:docs:  ⁕ PKGJSON:template=[license-image]: https://img.shields.io/badge/license-${license}-green.svg?style=flat-square
14
+ @w5s/mrm-preset:docs: 
15
+ @w5s/mrm-preset:docs: ✔ _tester/node_modules/@w5s/mrm-preset/README.md Updated
16
+ @w5s/mrm-preset:docs:  Transforms run
17
+ @w5s/mrm-preset:docs:  ⁕ PKGJSON:template=# W5s Mrm Preset _(${name})_
18
+ @w5s/mrm-preset:docs:  ⁕ PKGJSON:template=> ${description}&unknownTxt=
19
+ @w5s/mrm-preset:docs:  ⁕ PKGJSON:template=[${license}][license-url] © ${author}
20
+ @w5s/mrm-preset:docs:  ⁕ PKGJSON:template=[package-version-svg]: https://img.shields.io/npm/v/${name}.svg?style=flat-square
21
+ @w5s/mrm-preset:docs:  ⁕ PKGJSON:template=[package-url]: https://www.npmjs.com/package/${name}
22
+ @w5s/mrm-preset:docs:  ⁕ PKGJSON:template=[license-image]: https://img.shields.io/badge/license-${license}-green.svg?style=flat-square
23
+ @w5s/mrm-preset:docs: 
24
+ @w5s/mrm-preset:docs: ✔ _tester/node_modules/@w5s/eslint-config/README.md Updated
25
+ @w5s/mrm-preset:docs:  Transforms run
26
+ @w5s/mrm-preset:docs:  ⁕ PKGJSON:template=# W5s ESLint configuration _(${name})_
27
+ @w5s/mrm-preset:docs:  ⁕ PKGJSON:template=> ${description}&unknownTxt=
28
+ @w5s/mrm-preset:docs:  ⁕ PKGJSON:template=```console\nnpm install --save-dev ${name}\n```
29
+ @w5s/mrm-preset:docs:  ⁕ PKGJSON:template=[${license}][license-url] © ${author}
30
+ @w5s/mrm-preset:docs:  ⁕ PKGJSON:template=[package-version-svg]: https://img.shields.io/npm/v/${name}.svg?style=flat-square
31
+ @w5s/mrm-preset:docs:  ⁕ PKGJSON:template=[package-url]: https://www.npmjs.com/package/${name}
32
+ @w5s/mrm-preset:docs:  ⁕ PKGJSON:template=[license-image]: https://img.shields.io/badge/license-${license}-green.svg?style=flat-square
33
+ @w5s/mrm-preset:docs: 
34
+ @w5s/mrm-preset:docs: ✔ _tester/node_modules/@w5s/ts-config/README.md Updated
35
+ @w5s/mrm-preset:docs:  Transforms run
36
+ @w5s/mrm-preset:docs:  ⁕ PKGJSON:template=# W5s Typescript configuration _(${name})_
37
+ @w5s/mrm-preset:docs:  ⁕ PKGJSON:template=> ${description}&unknownTxt=
38
+ @w5s/mrm-preset:docs:  ⁕ PKGJSON:template=```console\nnpm install --save-dev ${name}\n```
39
+ @w5s/mrm-preset:docs:  ⁕ PKGJSON:template=Typescript: ${peerDependencies.typescript}&unknownTxt=
40
+ @w5s/mrm-preset:docs:  ⁕ PKGJSON:template=[${license}][license-url] © ${author}
41
+ @w5s/mrm-preset:docs:  ⁕ PKGJSON:template=[package-version-svg]: https://img.shields.io/npm/v/${name}.svg?style=flat-square
42
+ @w5s/mrm-preset:docs:  ⁕ PKGJSON:template=[package-url]: https://www.npmjs.com/package/${name}
43
+ @w5s/mrm-preset:docs:  ⁕ PKGJSON:template=[license-image]: https://img.shields.io/badge/license-${license}-green.svg?style=flat-square
44
+ @w5s/mrm-preset:docs: 
@@ -1,7 +1,7 @@
1
- @w5s/mrm-preset:format: cache hit, replaying output 787e0ab6858ee343
1
+ @w5s/mrm-preset:format: cache hit, replaying output 2f358ad529628b10
2
2
  @w5s/mrm-preset:format: [1] : exited with code 0
3
3
  @w5s/mrm-preset:format: [format:*src]
4
- @w5s/mrm-preset:format: [format:*src] > @w5s/mrm-preset@1.0.0-alpha.19 format:src
4
+ @w5s/mrm-preset:format: [format:*src] > @w5s/mrm-preset@1.0.0-alpha.23 format:src
5
5
  @w5s/mrm-preset:format: [format:*src] > eslint . --fix --ext=mjs,cjs,js,jsx,ts,tsx,json
6
6
  @w5s/mrm-preset:format: [format:*src]
7
7
  @w5s/mrm-preset:format: [format:*src] npm run format:src exited with code 0
@@ -1,7 +1,7 @@
1
- @w5s/mrm-preset:lint: cache hit, replaying output f7c8b4fc8efaad53
2
- @w5s/mrm-preset:lint: [1] : exited with code 0
3
- @w5s/mrm-preset:lint: [lint:*src]
4
- @w5s/mrm-preset:lint: [lint:*src] > @w5s/mrm-preset@1.0.0-alpha.19 lint:src
5
- @w5s/mrm-preset:lint: [lint:*src] > eslint . --ext=mjs,cjs,js,jsx,ts,tsx,json
6
- @w5s/mrm-preset:lint: [lint:*src]
7
- @w5s/mrm-preset:lint: [lint:*src] npm run lint:src exited with code 0
1
+ @w5s/mrm-preset:lint: cache hit, replaying output ed455f28aafa405b
2
+ @w5s/mrm-preset:lint: [1] : exited with code 0
3
+ @w5s/mrm-preset:lint: [lint:*src]
4
+ @w5s/mrm-preset:lint: [lint:*src] > @w5s/mrm-preset@1.0.0-alpha.23 lint:src
5
+ @w5s/mrm-preset:lint: [lint:*src] > eslint . --ext=mjs,cjs,js,jsx,ts,tsx,json
6
+ @w5s/mrm-preset:lint: [lint:*src]
7
+ @w5s/mrm-preset:lint: [lint:*src] npm run lint:src exited with code 0
@@ -1,2 +1,2 @@
1
- @w5s/mrm-preset:prepare: cache hit, replaying output 981774263f12be8a
1
+ @w5s/mrm-preset:prepare: cache hit, replaying output a60e8700fb447fa6
2
2
  @w5s/mrm-preset:prepare: [0] : exited with code 0
@@ -0,0 +1,2 @@
1
+ @w5s/mrm-preset:spellcheck: cache hit, replaying output f926356c978bf535
2
+ @w5s/mrm-preset:spellcheck: CSpell: Files checked: 50, Issues found: 0 in 0 files
@@ -1,19 +1,22 @@
1
- @w5s/mrm-preset:test: cache hit, replaying output 05c009fdd04ce5a0
2
- @w5s/mrm-preset:test: mkdir: _tester: File exists
3
- @w5s/mrm-preset:test: Running bootstrap...
4
- @w5s/mrm-preset:test: Running alias configure...
5
- @w5s/mrm-preset:test: Running gitignore...
6
- @w5s/mrm-preset:test: Running project...
7
- @w5s/mrm-preset:test: Running contributing...
8
- @w5s/mrm-preset:test: Running license...
9
- @w5s/mrm-preset:test: Running release...
10
- @w5s/mrm-preset:test: Running ci...
11
- @w5s/mrm-preset:test: Running lang...
12
- @w5s/mrm-preset:test: Running commitlint...
13
- @w5s/mrm-preset:test: Running editorconfig...
14
- @w5s/mrm-preset:test: Running eslint...
15
- @w5s/mrm-preset:test: Running cspell...
16
- @w5s/mrm-preset:test: Running jest...
17
- @w5s/mrm-preset:test: Running renovate...
18
- @w5s/mrm-preset:test: Running githooks...
19
- @w5s/mrm-preset:test: Running postconfigure...
1
+ @w5s/mrm-preset:test: cache hit, replaying output 5ce6efcefd19902b
2
+ @w5s/mrm-preset:test: mkdir: _tester: File exists
3
+ @w5s/mrm-preset:test: Running bootstrap...
4
+ @w5s/mrm-preset:test: Running alias configure...
5
+ @w5s/mrm-preset:test: Running gitignore...
6
+ @w5s/mrm-preset:test: Running project...
7
+ @w5s/mrm-preset:test: Update package.json
8
+ @w5s/mrm-preset:test: Running contributing...
9
+ @w5s/mrm-preset:test: Running licenses...
10
+ @w5s/mrm-preset:test: Running release...
11
+ @w5s/mrm-preset:test: Running ci...
12
+ @w5s/mrm-preset:test: Running lang...
13
+ @w5s/mrm-preset:test: Running commitlint...
14
+ @w5s/mrm-preset:test: Running editorconfig...
15
+ @w5s/mrm-preset:test: Running eslint...
16
+ @w5s/mrm-preset:test: Update package.json
17
+ @w5s/mrm-preset:test: Update .vscode/settings.json
18
+ @w5s/mrm-preset:test: Running cspell...
19
+ @w5s/mrm-preset:test: Running jest...
20
+ @w5s/mrm-preset:test: Running renovate...
21
+ @w5s/mrm-preset:test: Running githooks...
22
+ @w5s/mrm-preset:test: Running postconfigure...
package/CHANGELOG.md CHANGED
@@ -3,6 +3,30 @@
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
+ # [1.0.0-alpha.24](https://github.com/w5s/project-config/compare/@w5s/mrm-preset@1.0.0-alpha.23...@w5s/mrm-preset@1.0.0-alpha.24) (2022-08-30)
7
+
8
+ **Note:** Version bump only for package @w5s/mrm-preset
9
+
10
+
11
+
12
+
13
+
14
+ # [1.0.0-alpha.23](https://github.com/w5s/project-config/compare/@w5s/mrm-preset@1.0.0-alpha.22...@w5s/mrm-preset@1.0.0-alpha.23) (2022-08-29)
15
+
16
+ **Note:** Version bump only for package @w5s/mrm-preset
17
+
18
+
19
+
20
+
21
+
22
+ # [1.0.0-alpha.22](https://github.com/w5s/project-config/compare/@w5s/mrm-preset@1.0.0-alpha.21...@w5s/mrm-preset@1.0.0-alpha.22) (2022-08-29)
23
+
24
+ **Note:** Version bump only for package @w5s/mrm-preset
25
+
26
+
27
+
28
+
29
+
6
30
  # [1.0.0-alpha.21](https://github.com/w5s/project-config/compare/@w5s/mrm-preset@1.0.0-alpha.20...@w5s/mrm-preset@1.0.0-alpha.21) (2022-08-09)
7
31
 
8
32
  **Note:** Version bump only for package @w5s/mrm-preset
@@ -1,6 +1,6 @@
1
1
  /* eslint-disable sort-keys-fix/sort-keys-fix */
2
2
  const path = require('node:path');
3
- const { packageJson, file } = require('mrm-core');
3
+ const { packageJson } = require('mrm-core');
4
4
  const npm = require('../core/npm.js');
5
5
  const pkg = require('../core/pkg.js');
6
6
  const { gitIgnoreTemplate } = require('../core/git.js');
@@ -14,7 +14,7 @@ const { gitIgnoreTemplate } = require('../core/git.js');
14
14
  * }} config
15
15
  * @returns {void}
16
16
  */
17
- function task({ mrmPreset, mrmTask, packageArchetype, packageManager }) {
17
+ function task({ mrmPreset, mrmTask, packageManager }) {
18
18
  /**
19
19
  * setup package.json from following object
20
20
  */
@@ -51,21 +51,6 @@ function task({ mrmPreset, mrmTask, packageArchetype, packageManager }) {
51
51
  script: `mrm --preset ${mrmPreset}`,
52
52
  });
53
53
  });
54
-
55
- pkg.withPackageJson((packageFile) => {
56
- pkg.value(packageFile, {
57
- path: 'mrmConfig.packageArchetype',
58
- state: 'present',
59
- update: packageArchetype,
60
- default: () => {
61
- if (file('lerna.json').exists() || Boolean(packageFile.get('workspaces'))) {
62
- return 'workspace';
63
- }
64
-
65
- return 'library';
66
- },
67
- });
68
- });
69
54
  }
70
55
 
71
56
  task.description = 'Bootstrap a new project.';
@@ -81,12 +66,6 @@ task.parameters = {
81
66
  message: 'Default MRM task name ?',
82
67
  type: 'input',
83
68
  },
84
- packageArchetype: {
85
- choices: ['library', 'application', 'workspace'],
86
- message: 'What Archetype of package ?',
87
- name: 'packageArchetype',
88
- type: 'input',
89
- },
90
69
  packageManager: {
91
70
  default: 'yarn@berry',
92
71
  choices: ['yarn@berry', 'yarn@classic', 'npm'],
package/ci/github.js CHANGED
@@ -6,6 +6,13 @@ const pkg = require('../core/pkg.js');
6
6
  function task() {
7
7
  const state = 'present';
8
8
  const packageManager = pkg.manager(packageJson());
9
+ const baseBranch = 'main';
10
+ const packageInstall =
11
+ packageManager === 'npm'
12
+ ? `${packageManager} ci`
13
+ : packageManager === 'yarn'
14
+ ? `${packageManager} install --frozen-lockfile`
15
+ : `${packageManager} install`;
9
16
  githubCI.workflow({
10
17
  name: 'node.js.yml',
11
18
  state,
@@ -14,10 +21,10 @@ function task() {
14
21
  ...config,
15
22
  on: {
16
23
  push: {
17
- branches: ['main'],
24
+ branches: [baseBranch],
18
25
  },
19
26
  pull_request: {
20
- branches: ['main'],
27
+ branches: [baseBranch],
21
28
  },
22
29
  },
23
30
  jobs: {
@@ -34,7 +41,7 @@ function task() {
34
41
  cache: packageManager,
35
42
  },
36
43
  },
37
- { run: `${packageManager} install` },
44
+ { run: packageInstall },
38
45
  { run: `${packageManager} run build` },
39
46
  { run: `${packageManager} validate` },
40
47
  ],
@@ -23,7 +23,10 @@ function createCommitLint({ commitLintPreset: commitLintPresetDefault }) {
23
23
  state: gitPresent ? 'present' : 'absent',
24
24
  });
25
25
 
26
- vscodeRecommendedExtension(['seatonjiang.gitmoji-vscode']);
26
+ vscodeRecommendedExtension({
27
+ name: 'seatonjiang.gitmoji-vscode',
28
+ state: gitPresent ? 'present' : 'absent',
29
+ });
27
30
  }
28
31
 
29
32
  task.description = 'Setup CommitLint';
package/core/vscode.js CHANGED
@@ -1,13 +1,23 @@
1
1
  const { json } = require('mrm-core');
2
2
 
3
3
  /**
4
- * @param {Array<string>} recommendations
4
+ * @param {{
5
+ * name: string,
6
+ * state: 'present'|'absent',
7
+ * }} recommendation
5
8
  */
6
- function vscodeRecommendedExtension(recommendations) {
9
+ function vscodeRecommendedExtension(recommendation) {
7
10
  const packageFile = json('.vscode/extensions.json');
8
- packageFile.merge({
9
- recommendations,
10
- });
11
+ if (recommendation.state === 'present') {
12
+ packageFile.merge({
13
+ recommendations: [recommendation.name],
14
+ });
15
+ } else {
16
+ packageFile.set(
17
+ 'recommendations',
18
+ packageFile.get('recommendations', []).filter((/** @type {string} */ _) => _ !== recommendation.name)
19
+ );
20
+ }
11
21
  packageFile.save();
12
22
  }
13
23
  exports.vscodeRecommendedExtension = vscodeRecommendedExtension;
@@ -43,7 +43,10 @@ function createEditorConfig(defaults) {
43
43
 
44
44
  editorConfigFile.save();
45
45
 
46
- vscodeRecommendedExtension(['editorconfig.editorconfig']);
46
+ vscodeRecommendedExtension({
47
+ name: 'editorconfig.editorconfig',
48
+ state: 'present',
49
+ });
47
50
  }
48
51
 
49
52
  task.description = 'Adds EditorConfig file';
package/eslint/index.js CHANGED
@@ -4,7 +4,7 @@ const npm = require('../core/npm.js');
4
4
  const { gitIgnore } = require('../core/git.js');
5
5
  const { eslintIgnore, eslintConfig } = require('../core/eslint.js');
6
6
  const project = require('../core/project.js');
7
- const { vscodeSettings } = require('../core/vscode.js');
7
+ const { vscodeSettings, vscodeRecommendedExtension } = require('../core/vscode.js');
8
8
 
9
9
  function createESLint({ eslintPreset: eslintPresetDefault = 'eslint:recommended' }) {
10
10
  /**
@@ -28,8 +28,6 @@ function createESLint({ eslintPreset: eslintPresetDefault = 'eslint:recommended'
28
28
  'coverage/',
29
29
  'build/',
30
30
  '.cache/',
31
- '**/tsconfig.json',
32
- '.vscode/**',
33
31
  'public/',
34
32
  ]);
35
33
 
@@ -74,6 +72,8 @@ function createESLint({ eslintPreset: eslintPresetDefault = 'eslint:recommended'
74
72
  ts: hasTypescript,
75
73
  tsx: hasTypescript && hasJSX,
76
74
  json: hasJSON,
75
+ jsonc: hasJSON,
76
+ json5: hasJSON,
77
77
  };
78
78
  const extList = Object.keys(extsMap).filter((ext) => extsMap[ext]);
79
79
  const extOption = ` --ext=${extList.join(',')}`;
@@ -131,6 +131,10 @@ function createESLint({ eslintPreset: eslintPresetDefault = 'eslint:recommended'
131
131
  });
132
132
 
133
133
  // VSCode support
134
+ vscodeRecommendedExtension({
135
+ name: 'dbaeumer.vscode-eslint',
136
+ state: 'present',
137
+ });
134
138
  vscodeSettings({
135
139
  state: 'present',
136
140
  update: (settings) => ({
package/githooks/index.js CHANGED
@@ -19,7 +19,7 @@ function task() {
19
19
  state: gitSupported ? 'present' : 'absent',
20
20
  update: (config) => ({
21
21
  ...config,
22
- '*.json': [...(hasESLint ? ['eslint'] : [])],
22
+ '*.{json,jsonc,json5}': [...(hasESLint ? ['eslint'] : [])],
23
23
  '*.js?(x)': [...(hasESLint ? ['eslint'] : [])],
24
24
  '*.ts?(x)': [
25
25
  // TODO: https://github.com/okonet/lint-staged/issues/825
@@ -5,7 +5,5 @@
5
5
  "@typescript-eslint/no-unsafe-assignment": "off",
6
6
  "@typescript-eslint/no-unsafe-member-access": "off"
7
7
  },
8
- "ignorePatterns": [
9
- "**/templates/*.ts"
10
- ]
8
+ "ignorePatterns": ["**/templates/*.ts"]
11
9
  }
package/lang/index.js CHANGED
@@ -4,7 +4,7 @@ const npm = require('../core/npm.js');
4
4
  const { gitIgnore } = require('../core/git.js');
5
5
  const project = require('../core/project.js');
6
6
  const { eslintIgnore } = require('../core/eslint.js');
7
- const { typedoc } = require('../core/typedoc.js');
7
+ // const { typedoc } = require('../core/typedoc.js');
8
8
  const pkg = require('../core/pkg.js');
9
9
 
10
10
  /**
@@ -103,29 +103,29 @@ function createLang({ language: languageDefault = 'typescript', tsConfig: tsConf
103
103
  state: 'present',
104
104
  });
105
105
 
106
- typedoc({
107
- state: isApplication ? 'absent' : 'present',
108
- update: (config) => ({
109
- // Default values
110
- tsconfig: 'tsconfig.json',
111
- excludePrivate: true,
112
- excludeExternals: true,
113
- readme: 'README.md',
114
- theme: 'default',
115
- // Inherits current
116
- ...config,
117
- // Force values
118
- out: 'public',
119
- exclude: [
120
- '**/build/**/*',
121
- '**/example/**/*',
122
- '**/lib/**/*',
123
- '**/node_modules/**',
124
- '**/__tests__/*.(ts|tsx)',
125
- '**/*.(spec|test).(ts|tsx)',
126
- ],
127
- }),
128
- });
106
+ // typedoc({
107
+ // state: isApplication ? 'absent' : 'present',
108
+ // update: (config) => ({
109
+ // // Default values
110
+ // tsconfig: 'tsconfig.json',
111
+ // excludePrivate: true,
112
+ // excludeExternals: true,
113
+ // readme: 'README.md',
114
+ // theme: 'default',
115
+ // // Inherits current
116
+ // ...config,
117
+ // // Force values
118
+ // out: 'public',
119
+ // exclude: [
120
+ // '**/build/**/*',
121
+ // '**/example/**/*',
122
+ // '**/lib/**/*',
123
+ // '**/node_modules/**',
124
+ // '**/__tests__/*.(ts|tsx)',
125
+ // '**/*.(spec|test).(ts|tsx)',
126
+ // ],
127
+ // }),
128
+ // });
129
129
  };
130
130
 
131
131
  task.description = 'Setup Programming Language';
@@ -1,3 +1,4 @@
1
+ import { describe, test, expect } from '@jest/globals'
1
2
  import { main } from '.';
2
3
 
3
4
  describe('index', () => {
@@ -2,5 +2,4 @@ export async function main(): Promise<void> {
2
2
  // TODO
3
3
  }
4
4
 
5
- // eslint-disable-next-line @typescript-eslint/no-floating-promises
6
- main();
5
+ await main();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@w5s/mrm-preset",
3
- "version": "1.0.0-alpha.21",
3
+ "version": "1.0.0-alpha.24",
4
4
  "description": "Mrm configuration presets",
5
5
  "keywords": [
6
6
  "mrm",
@@ -18,6 +18,7 @@
18
18
  },
19
19
  "license": "MIT",
20
20
  "author": "Julien Polo <julien.polo@gmail.com>",
21
+ "type": "commonjs",
21
22
  "main": "config.json",
22
23
  "scripts": {
23
24
  "build": "concurrently \"npm:build:*\" ",
@@ -41,8 +42,8 @@
41
42
  "sync-directory": "^5.0.0"
42
43
  },
43
44
  "devDependencies": {
44
- "@types/debug": "^4.1.7",
45
- "mrm": "4.0.0"
45
+ "@types/debug": "4.1.7",
46
+ "mrm": "4.1.0"
46
47
  },
47
48
  "engines": {
48
49
  "node": ">=16.0.0"
@@ -50,5 +51,5 @@
50
51
  "publishConfig": {
51
52
  "access": "public"
52
53
  },
53
- "gitHead": "524f252acd9eba4c34b5ae0850bd6670b31db429"
54
+ "gitHead": "91ea210deb64edee4df9604ec1ca84ba562b69f7"
54
55
  }
package/project/index.js CHANGED
@@ -2,6 +2,7 @@ const { dirname } = require('node:path');
2
2
  const { packageJson, json, makeDirs } = require('mrm-core');
3
3
  const git = require('../core/git.js');
4
4
  const pkg = require('../core/pkg.js');
5
+ const jsonFile = require('../core/pkg.js');
5
6
  const npm = require('../core/npm.js');
6
7
  const { vscodeTask } = require('../core/vscode.js');
7
8
  const project = require('../core/project.js');
@@ -54,6 +55,20 @@ function task() {
54
55
  makeDirs(dirs);
55
56
  }
56
57
 
58
+ const setDefault = (/** @type {import("mrm-core").Json} */ currentPackageFile, /** @type {boolean} */ _root) => {
59
+ jsonFile.value(currentPackageFile, {
60
+ path: undefined,
61
+ state: 'present',
62
+ update: (content) => ({
63
+ type: 'module',
64
+ license: 'UNLICENSED',
65
+ version: '1.0.0-alpha.0',
66
+ description: '',
67
+ ...content,
68
+ }),
69
+ default: {},
70
+ });
71
+ };
57
72
  const addScripts = (/** @type {import("mrm-core").Json} */ currentPackageFile, /** @type {boolean} */ root) => {
58
73
  const useWorkspace = pkg.hasWorkspaces(currentPackageFile);
59
74
 
@@ -157,6 +172,7 @@ function task() {
157
172
  : undefined,
158
173
  });
159
174
 
175
+ setDefault(packageFile, false);
160
176
  addScripts(packageFile, true);
161
177
 
162
178
  pkg.script(packageFile, {
@@ -181,6 +197,7 @@ function task() {
181
197
  }
182
198
  : undefined,
183
199
  });
200
+ setDefault(workspace.packageFile, false);
184
201
  addScripts(workspace.packageFile, false);
185
202
 
186
203
  // Engine
package/tsconfig.json CHANGED
@@ -7,8 +7,5 @@
7
7
  "noEmit": true,
8
8
  "resolveJsonModule": true
9
9
  },
10
- "exclude": [
11
- "**/templates/**",
12
- "_tester"
13
- ]
10
+ "exclude": ["**/templates/**", "_tester"]
14
11
  }