@dword-design/base 16.2.7 → 17.0.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.
Files changed (79) hide show
  1. package/LICENSE.md +9 -9
  2. package/dist/cli.js +25 -19
  3. package/dist/commands/check-unknown-files/index.d.ts +3 -1
  4. package/dist/commands/check-unknown-files/index.js +9 -9
  5. package/dist/commands/check-unknown-files/unknown-files-error.d.ts +1 -1
  6. package/dist/commands/check-unknown-files/unknown-files-error.js +1 -2
  7. package/dist/commands/command-options-input.d.ts +4 -5
  8. package/dist/commands/command-options-input.js +0 -0
  9. package/dist/commands/commit/index.d.ts +10 -1
  10. package/dist/commands/commit/index.js +6 -7
  11. package/dist/commands/depcheck/index.d.ts +3 -1
  12. package/dist/commands/depcheck/index.js +18 -18
  13. package/dist/commands/lint/index.d.ts +3 -1
  14. package/dist/commands/lint/index.js +9 -10
  15. package/dist/commands/lint/lint-packagejson.d.ts +3 -1
  16. package/dist/commands/lint/lint-packagejson.js +3 -3
  17. package/dist/commands/lint/package-json-schema.js +3 -3
  18. package/dist/commands/prepare/index.d.ts +4 -1
  19. package/dist/commands/prepare/index.js +8 -8
  20. package/dist/commands/test/index.d.ts +10 -1
  21. package/dist/commands/test/index.js +1 -3
  22. package/dist/commands/test-docker/index.d.ts +12 -1
  23. package/dist/commands/test-docker/index.js +21 -17
  24. package/dist/commands/test-raw/index.d.ts +17 -1
  25. package/dist/commands/test-raw/index.js +15 -13
  26. package/dist/commands/typecheck/index.d.ts +3 -1
  27. package/dist/commands/typecheck/index.js +8 -8
  28. package/dist/commands/verify/index.d.ts +8 -1
  29. package/dist/commands/verify/index.js +7 -8
  30. package/dist/get-depcheck-special-base/index.d.ts +1 -1
  31. package/dist/get-depcheck-special-base/index.js +1 -1
  32. package/dist/get-generated-files/editorconfig.js +1 -1
  33. package/dist/get-generated-files/get-editor-ignore/index.d.ts +3 -1
  34. package/dist/get-generated-files/get-editor-ignore/index.js +1 -3
  35. package/dist/get-generated-files/get-eslint/index.d.ts +3 -1
  36. package/dist/get-generated-files/get-eslint/index.js +13 -15
  37. package/dist/get-generated-files/get-github-sync-metadata/index.d.ts +3 -1
  38. package/dist/get-generated-files/get-github-sync-metadata/index.js +28 -30
  39. package/dist/get-generated-files/get-github-workflow/index.d.ts +28 -2
  40. package/dist/get-generated-files/get-github-workflow/index.js +8 -8
  41. package/dist/get-generated-files/get-github-workflow/steps/get-release.d.ts +12 -1
  42. package/dist/get-generated-files/get-github-workflow/steps/get-release.js +18 -20
  43. package/dist/get-generated-files/get-github-workflow/steps/get-test.d.ts +3 -1
  44. package/dist/get-generated-files/get-github-workflow/steps/get-test.js +16 -16
  45. package/dist/get-generated-files/get-github-workflow/strategies/job-matrix.d.ts +6 -4
  46. package/dist/get-generated-files/get-github-workflow/strategies/job-matrix.js +19 -19
  47. package/dist/get-generated-files/get-github-workflow/strategies/simple.d.ts +3 -1
  48. package/dist/get-generated-files/get-github-workflow/strategies/simple.js +30 -32
  49. package/dist/get-generated-files/get-gitignore/index.d.ts +3 -1
  50. package/dist/get-generated-files/get-gitignore/index.js +3 -5
  51. package/dist/get-generated-files/get-gitpod/index.d.ts +3 -1
  52. package/dist/get-generated-files/get-gitpod/index.js +3 -3
  53. package/dist/get-generated-files/get-gitpod-dockerfile.d.ts +3 -1
  54. package/dist/get-generated-files/get-gitpod-dockerfile.js +3 -5
  55. package/dist/get-generated-files/get-license-string.d.ts +3 -1
  56. package/dist/get-generated-files/get-license-string.js +4 -4
  57. package/dist/get-generated-files/get-lint-staged/index.d.ts +5 -2
  58. package/dist/get-generated-files/get-lint-staged/index.js +1 -3
  59. package/dist/get-generated-files/get-lint-staged/merge-lint-staged-configs/index.d.ts +1 -1
  60. package/dist/get-generated-files/get-lint-staged/merge-lint-staged-configs/index.js +9 -8
  61. package/dist/get-generated-files/get-package-config/index.d.ts +3 -1
  62. package/dist/get-generated-files/get-package-config/index.js +19 -20
  63. package/dist/get-generated-files/get-readme-string/index.d.ts +3 -1
  64. package/dist/get-generated-files/get-readme-string/index.js +5 -5
  65. package/dist/get-generated-files/get-readme-string/replacements.d.ts +6 -5
  66. package/dist/get-generated-files/get-readme-string/replacements.js +79 -89
  67. package/dist/get-generated-files/get-release/index.d.ts +3 -1
  68. package/dist/get-generated-files/get-release/index.js +9 -11
  69. package/dist/get-generated-files/get-renovate/index.d.ts +3 -1
  70. package/dist/get-generated-files/get-renovate/index.js +29 -31
  71. package/dist/get-generated-files/get-typescript/index.d.ts +3 -1
  72. package/dist/get-generated-files/get-typescript/index.js +17 -19
  73. package/dist/get-generated-files/get-vscode/index.d.ts +3 -1
  74. package/dist/get-generated-files/get-vscode/index.js +6 -8
  75. package/dist/get-generated-files/index.d.ts +5 -3
  76. package/dist/get-generated-files/index.js +16 -16
  77. package/dist/index.d.ts +236 -46
  78. package/dist/index.js +133 -93
  79. package/package.json +31 -29
@@ -1,4 +1,5 @@
1
- export default function (): {
1
+ import type { Base } from '@/src';
2
+ declare const _default: (base: Base) => {
2
3
  image: {
3
4
  file: string;
4
5
  };
@@ -10,3 +11,4 @@ export default function (): {
10
11
  extensions: string[];
11
12
  };
12
13
  };
14
+ export default _default;
@@ -1,8 +1,8 @@
1
1
  import * as personalData from "@dword-design/personal-data";
2
2
  import endent from "endent";
3
3
  import parsePackagejsonName from "parse-packagejson-name";
4
- export default function () {
5
- const packageName = parsePackagejsonName(this.packageConfig.name).fullName;
4
+ export default base => {
5
+ const packageName = parsePackagejsonName(base.packageConfig.name).fullName;
6
6
  return {
7
7
  image: {
8
8
  file: ".gitpod.Dockerfile"
@@ -36,4 +36,4 @@ export default function () {
36
36
  extensions: ["https://sebastianlandwehr.com/vscode-extensions/karlito40.fix-irregular-whitespace-0.1.1.vsix", "https://sebastianlandwehr.com/vscode-extensions/adrianwilczynski.toggle-hidden-1.0.2.vsix", "octref.vetur@0.33.1", "Tobermory.es6-string-html", "zjcompt.es6-string-javascript"]
37
37
  }
38
38
  };
39
- }
39
+ };
@@ -1 +1,3 @@
1
- export default function (): string;
1
+ import type { Base } from '@/src';
2
+ declare const _default: (base: Base) => string;
3
+ export default _default;
@@ -1,6 +1,5 @@
1
1
  import endent from "endent";
2
- export default function () {
3
- return endent`
2
+ export default base => endent`
4
3
  # Need to add :latest, otherwise old versions (e.g. of node) are installed
5
4
  FROM gitpod/workspace-full-vnc:latest
6
5
 
@@ -10,7 +9,7 @@ export default function () {
10
9
 
11
10
  # https://www.gitpod.io/docs/languages/javascript
12
11
  # https://github.com/gitpod-io/gitpod/issues/945
13
- RUN bash -c 'source $HOME/.nvm/nvm.sh && nvm install ${this.config.nodeVersion}'
12
+ RUN bash -c 'source $HOME/.nvm/nvm.sh && nvm install ${base.config.nodeVersion}'
14
13
  RUN echo "nvm use default &>/dev/null" >> ~/.bashrc.d/51-nvm-fix
15
14
 
16
15
  RUN yarn global add gitpod-env-per-project @babel/node @babel/core
@@ -21,5 +20,4 @@ export default function () {
21
20
 
22
21
  # Puppeteer dependencies
23
22
  RUN sudo apt-get update && sudo apt-get install -y libgtk-3-0 libx11-xcb1 libnss3 libxss1 libasound2 libgbm1 libxshmfence1\n
24
- `;
25
- }
23
+ `;
@@ -1 +1,3 @@
1
- export default function (): string;
1
+ import type { Base } from '@/src';
2
+ declare const _default: (base: Base) => string;
3
+ export default _default;
@@ -1,15 +1,15 @@
1
1
  import endent from "endent";
2
2
  import spdxParse from "spdx-expression-parse";
3
3
  import spdxList from "spdx-license-list/full.js";
4
- export default function () {
5
- const parsed = spdxParse(this.packageConfig.license);
4
+ export default base => {
5
+ const parsed = spdxParse(base.packageConfig.license);
6
6
  const license = spdxList[parsed.license];
7
7
  return endent`
8
8
  # License
9
9
 
10
10
  Unless stated otherwise all works are:
11
11
 
12
- Copyright © ${this.packageConfig.author}
12
+ Copyright © ${base.packageConfig.author}
13
13
 
14
14
  and licensed under:
15
15
 
@@ -19,4 +19,4 @@ export default function () {
19
19
 
20
20
  ${license.licenseText}
21
21
  `;
22
- }
22
+ };
@@ -1,2 +1,5 @@
1
- import type { Configuration as LintStagedConfig } from 'lint-staged';
2
- export default function (): LintStagedConfig;
1
+ import type { Base } from '@/src';
2
+ declare const _default: (base: Base) => Record<string, string | string[]> | {
3
+ '*.{json,ts,vue}': string;
4
+ };
5
+ export default _default;
@@ -2,6 +2,4 @@ import mergeConfigs from "./merge-lint-staged-configs/index.js";
2
2
  const baseLintStagedConfig = {
3
3
  "*.{json,ts,vue}": "eslint --fix --config eslint.lint-staged.config.ts"
4
4
  };
5
- export default function () {
6
- return this.config.lintStagedConfig ? mergeConfigs(baseLintStagedConfig, this.config.lintStagedConfig) : baseLintStagedConfig;
7
- }
5
+ export default base => base.config.lintStagedConfig ? mergeConfigs(baseLintStagedConfig, base.config.lintStagedConfig) : baseLintStagedConfig;
@@ -4,5 +4,5 @@ import type { Configuration } from 'lint-staged';
4
4
  * and merging commands for each normalized glob pattern.
5
5
  * Avoids race conditions by combining commands per unique glob.
6
6
  */
7
- declare const mergeConfigs: (configA: Configuration, configB: Configuration) => Configuration;
7
+ declare const mergeConfigs: (configA: Configuration, configB: Configuration) => Record<string, string | string[]>;
8
8
  export default mergeConfigs;
@@ -13,7 +13,7 @@ const createBracePattern = expandedGlobs => {
13
13
  });
14
14
  if (globParts.includes(null)) return null;
15
15
  const prefix = globParts[0].prefix;
16
- if (!globParts.every(part => part.prefix === prefix)) return null;
16
+ if (globParts.some(part => part.prefix !== prefix)) return null;
17
17
  const extensions = globParts.map(part => part.extension);
18
18
  return `${prefix}.{${extensions.join(",")}}`;
19
19
  };
@@ -34,15 +34,15 @@ const mergeConfigs = (configA, configB) => {
34
34
  if (!expandedMap.has(expandedGlob)) {
35
35
  expandedMap.set(expandedGlob, /* @__PURE__ */new Set());
36
36
  }
37
- for (const cmd of commands) {
38
- expandedMap.get(expandedGlob).add(cmd);
37
+ for (const command of commands) {
38
+ expandedMap.get(expandedGlob).add(command);
39
39
  }
40
40
  }
41
41
  }
42
42
  }
43
43
  const result = {};
44
44
  const processedExpanded = /* @__PURE__ */new Set();
45
- const originalGlobs = [...originalToExpanded.keys()];
45
+ const originalGlobs = originalToExpanded.keys().toArray();
46
46
  for (const originalGlob of originalGlobs) {
47
47
  const expandedGlobs = originalToExpanded.get(originalGlob);
48
48
  const unprocessedExpanded = expandedGlobs.filter(eg => !processedExpanded.has(eg));
@@ -51,7 +51,7 @@ const mergeConfigs = (configA, configB) => {
51
51
  const firstCommands = expandedMap.get(firstExpanded);
52
52
  const sameCommandsExpanded = unprocessedExpanded.filter(eg => {
53
53
  const commands = expandedMap.get(eg);
54
- return commands.size === firstCommands.size && [...firstCommands].every(cmd => commands.has(cmd));
54
+ return commands.size === firstCommands.size && [...firstCommands].every(command => commands.has(command));
55
55
  });
56
56
  if (sameCommandsExpanded.length > 1) {
57
57
  const pattern = createBracePattern(sameCommandsExpanded);
@@ -64,10 +64,11 @@ const mergeConfigs = (configA, configB) => {
64
64
  }
65
65
  }
66
66
  for (const [expandedGlob, commands] of expandedMap) {
67
- if (!processedExpanded.has(expandedGlob)) {
68
- const commandsArray = [...commands];
69
- result[expandedGlob] = commandsArray.length === 1 ? commandsArray[0] : commandsArray;
67
+ if (processedExpanded.has(expandedGlob)) {
68
+ continue;
70
69
  }
70
+ const commandsArray = [...commands];
71
+ result[expandedGlob] = commandsArray.length === 1 ? commandsArray[0] : commandsArray;
71
72
  }
72
73
  return sortKeys(result);
73
74
  };
@@ -1 +1,3 @@
1
- export default function (): any;
1
+ import type { Base } from '@/src';
2
+ declare const _default: (base: Base) => any;
3
+ export default _default;
@@ -1,27 +1,26 @@
1
1
  import packageName from "depcheck-package-name";
2
2
  import { mapValues, pick, stubTrue } from "lodash-es";
3
3
  import sortKeys from "sort-keys";
4
- export default function () {
4
+ export default base => {
5
5
  const commandNames = {
6
6
  checkUnknownFiles: true,
7
7
  commit: true,
8
8
  depcheck: true,
9
9
  lint: true,
10
10
  prepare: true,
11
+ test: true,
11
12
  typecheck: true,
12
- verify: true,
13
- ...(this.config.testInContainer && {
13
+ ...(base.config.testInContainer && {
14
14
  "test:raw": true
15
15
  }),
16
- test: true,
17
- ...mapValues(this.config.commands, stubTrue)
16
+ verify: true,
17
+ ...mapValues(base.config.commands, stubTrue)
18
18
  };
19
19
  return {
20
- ...pick(this.packageConfig, Object.keys({
20
+ ...pick(base.packageConfig, Object.keys({
21
21
  baseConfig: true,
22
22
  bin: true,
23
23
  dependencies: true,
24
- deploy: true,
25
24
  description: true,
26
25
  devDependencies: true,
27
26
  keywords: true,
@@ -34,22 +33,22 @@ export default function () {
34
33
  private: true,
35
34
  publishConfig: true
36
35
  })),
37
- funding: "https://github.com/sponsors/dword-design",
38
- publishConfig: {
39
- access: "public"
40
- },
41
- type: "module",
42
- version: this.packageConfig.version || "1.0.0",
43
- ...(this.config.git && {
44
- repository: `dword-design/${this.config.git.project}`
45
- }),
46
36
  author: "Sebastian Landwehr <info@sebastianlandwehr.com>",
47
37
  engines: {
48
- node: `>=${this.config.minNodeVersion ?? this.config.supportedNodeVersions[0]}${this.config.maxNodeVersion === null ? "" : `<${this.config.maxNodeVersion}`}`
38
+ node: `>=${base.config.minNodeVersion ?? base.config.supportedNodeVersions[0]}${base.config.maxNodeVersion === null ? "" : `<${base.config.maxNodeVersion}`}`
49
39
  },
50
40
  files: ["dist"],
41
+ funding: "https://github.com/sponsors/dword-design",
42
+ ...(base.config.git && {
43
+ repository: `dword-design/${base.config.git.project}`
44
+ }),
51
45
  license: "MIT",
52
- ...this.config.packageConfig,
53
- scripts: sortKeys(mapValues(commandNames, (handler, name) => this.packageConfig.name === "@dword-design/base" ? `${packageName`tsx`} src/cli.ts ${name}` : `base ${name}`))
46
+ publishConfig: {
47
+ access: "public"
48
+ },
49
+ scripts: sortKeys(mapValues(commandNames, (handler, name) => base.packageConfig.name === "@dword-design/base" ? `${packageName`tsx`} src/cli.ts ${name}` : `base ${name}`)),
50
+ type: "module",
51
+ ...base.config.packageConfig,
52
+ version: base.packageConfig.version || "1.0.0"
54
53
  };
55
- }
54
+ };
@@ -1 +1,3 @@
1
- export default function (): any;
1
+ import type { Base } from '@/src';
2
+ declare const _default: (base: Base) => any;
3
+ export default _default;
@@ -3,8 +3,8 @@ import endent from "endent";
3
3
  import getProjectzReadmeSectionRegex from "get-projectz-readme-section-regex";
4
4
  import { readFileSync as safeReadFileSync } from "safe-readfile";
5
5
  import replacements from "./replacements.js";
6
- export default function () {
7
- const readme = safeReadFileSync(pathLib.join(this.cwd, "README.md"), "utf8") || endent`
6
+ export default base => {
7
+ const readme = safeReadFileSync(pathLib.join(base.cwd, "README.md"), "utf8") || endent`
8
8
  <!-- TITLE -->
9
9
 
10
10
  <!-- BADGES -->
@@ -18,11 +18,11 @@ export default function () {
18
18
  let result = readme;
19
19
  for (const [name, replacement] of Object.entries(replacements)) {
20
20
  const sectionName = name.toUpperCase();
21
- result = result.replace(getProjectzReadmeSectionRegex(sectionName), endent`
21
+ result = result.replace(getProjectzReadmeSectionRegex(sectionName), () => endent`
22
22
  <!-- ${sectionName}/ -->
23
- ${replacement.call(this)}
23
+ ${replacement(base)}
24
24
  <!-- /${sectionName} -->
25
25
  `);
26
26
  }
27
27
  return result;
28
- }
28
+ };
@@ -1,8 +1,9 @@
1
+ import type { Base } from '@/src';
1
2
  declare const _default: {
2
- badges(): string;
3
- description(): any;
4
- install(): any;
5
- license(): string;
6
- title(): string;
3
+ badges: (base: Base) => string;
4
+ description: (base: Base) => any;
5
+ install: (base: Base) => any;
6
+ license: (base: Base) => string;
7
+ title: (base: Base) => string;
7
8
  };
8
9
  export default _default;
@@ -3,81 +3,74 @@ import { last } from "lodash-es";
3
3
  import spdxParse from "spdx-expression-parse";
4
4
  import spdxList from "spdx-license-list/full.js";
5
5
  export default {
6
- badges() {
7
- return endent`
8
- <p>
9
- ${[...(this.config.npmPublish && !this.packageConfig.private ? [endent`
10
- <a href="https://npmjs.org/package/${this.packageConfig.name}">
11
- <img
12
- src="https://img.shields.io/npm/v/${this.packageConfig.name}.svg"
13
- alt="npm version"
14
- >
15
- </a>
16
- `] : []), '<img src="https://img.shields.io/badge/os-linux%20%7C%C2%A0macos%20%7C%C2%A0windows-blue" alt="Linux macOS Windows compatible">', endent`
17
- <a href="https://github.com/${this.packageConfig.repository}/actions">
18
- <img
19
- src="https://github.com/${this.packageConfig.repository}/workflows/build/badge.svg"
20
- alt="Build status"
21
- >
22
- </a>
23
- `, endent`
24
- <a href="https://codecov.io/gh/${this.packageConfig.repository}">
25
- <img
26
- src="https://codecov.io/gh/${this.packageConfig.repository}/branch/master/graph/badge.svg${this.config.codecovGraphToken ? `?token=${this.config.codecovGraphToken}` : ""}"
27
- alt="Coverage status"
28
- >
29
- </a>
30
- `, endent`
31
- <a href="https://david-dm.org/${this.packageConfig.repository}">
32
- <img src="https://img.shields.io/david/${this.packageConfig.repository}" alt="Dependency status">
33
- </a>
34
- `, '<img src="https://img.shields.io/badge/renovate-enabled-brightgreen" alt="Renovate enabled">', "<br/>", endent`
35
- <a href="https://gitpod.io/#https://github.com/${this.packageConfig.repository}">
36
- <img
37
- src="https://gitpod.io/button/open-in-gitpod.svg"
38
- alt="Open in Gitpod"
39
- width="114"
40
- >
41
- </a>
42
- `, endent`
43
- <a href="https://www.buymeacoffee.com/dword">
44
- <img
45
- src="https://www.buymeacoffee.com/assets/img/guidelines/download-assets-sm-2.svg"
46
- alt="Buy Me a Coffee"
47
- width="114"
48
- >
49
- </a>
50
- `, endent`
51
- <a href="https://paypal.me/SebastianLandwehr">
52
- <img
53
- src="https://sebastianlandwehr.com/images/paypal.svg"
54
- alt="PayPal"
55
- width="163"
56
- >
57
- </a>
58
- `, endent`
59
- <a href="https://www.patreon.com/dworddesign">
60
- <img
61
- src="https://sebastianlandwehr.com/images/patreon.svg"
62
- alt="Patreon"
63
- width="163"
64
- >
65
- </a>
66
- `].join("")}
67
- </p>
68
- `;
69
- },
70
- description() {
71
- return this.packageConfig.description || "";
72
- },
73
- install() {
74
- return this.config.readmeInstallString;
75
- },
76
- license() {
77
- return [endent`
6
+ badges: base => endent`
7
+ <p>
8
+ ${[...(base.config.npmPublish && !base.packageConfig.private ? [endent`
9
+ <a href="https://npmjs.org/package/${base.packageConfig.name}">
10
+ <img
11
+ src="https://img.shields.io/npm/v/${base.packageConfig.name}.svg"
12
+ alt="npm version"
13
+ >
14
+ </a>
15
+ `] : []), '<img src="https://img.shields.io/badge/os-linux%20%7C%C2%A0macos%20%7C%C2%A0windows-blue" alt="Linux macOS Windows compatible">', endent`
16
+ <a href="https://github.com/${base.packageConfig.repository}/actions">
17
+ <img
18
+ src="https://github.com/${base.packageConfig.repository}/workflows/build/badge.svg"
19
+ alt="Build status"
20
+ >
21
+ </a>
22
+ `, endent`
23
+ <a href="https://codecov.io/gh/${base.packageConfig.repository}">
24
+ <img
25
+ src="https://codecov.io/gh/${base.packageConfig.repository}/branch/master/graph/badge.svg${base.config.codecovGraphToken ? `?token=${base.config.codecovGraphToken}` : ""}"
26
+ alt="Coverage status"
27
+ >
28
+ </a>
29
+ `, endent`
30
+ <a href="https://david-dm.org/${base.packageConfig.repository}">
31
+ <img src="https://img.shields.io/david/${base.packageConfig.repository}" alt="Dependency status">
32
+ </a>
33
+ `, '<img src="https://img.shields.io/badge/renovate-enabled-brightgreen" alt="Renovate enabled">', "<br/>", endent`
34
+ <a href="https://gitpod.io/#https://github.com/${base.packageConfig.repository}">
35
+ <img
36
+ src="https://gitpod.io/button/open-in-gitpod.svg"
37
+ alt="Open in Gitpod"
38
+ width="114"
39
+ >
40
+ </a>
41
+ `, endent`
42
+ <a href="https://www.buymeacoffee.com/dword">
43
+ <img
44
+ src="https://www.buymeacoffee.com/assets/img/guidelines/download-assets-sm-2.svg"
45
+ alt="Buy Me a Coffee"
46
+ width="114"
47
+ >
48
+ </a>
49
+ `, endent`
50
+ <a href="https://paypal.me/SebastianLandwehr">
51
+ <img
52
+ src="https://sebastianlandwehr.com/images/paypal.svg"
53
+ alt="PayPal"
54
+ width="163"
55
+ >
56
+ </a>
57
+ `, endent`
58
+ <a href="https://www.patreon.com/dworddesign">
59
+ <img
60
+ src="https://sebastianlandwehr.com/images/patreon.svg"
61
+ alt="Patreon"
62
+ width="163"
63
+ >
64
+ </a>
65
+ `].join("")}
66
+ </p>
67
+ `,
68
+ description: base => base.packageConfig.description || "",
69
+ install: base => base.config.readmeInstallString,
70
+ license: base => [endent`
78
71
  ## Contribute
79
72
 
80
- Are you missing something or want to contribute? Feel free to file an [issue](https://github.com/${this.packageConfig.repository}/issues) or a [pull request](https://github.com/${this.packageConfig.repository}/pulls)! ⚙️
73
+ Are you missing something or want to contribute? Feel free to file an [issue](https://github.com/${base.packageConfig.repository}/issues) or a [pull request](https://github.com/${base.packageConfig.repository}/pulls)! ⚙️
81
74
 
82
75
  ## Support
83
76
 
@@ -108,26 +101,23 @@ export default {
108
101
  </p>
109
102
 
110
103
  Thanks a lot for your support! ❤️
111
- `, ...(this.config.seeAlso.length > 0 ? [endent`
104
+ `, ...(base.config.seeAlso.length > 0 ? [endent`
112
105
  ## See also
113
106
 
114
- ${this.config.seeAlso.map(entry => {
115
- const parts = entry.repository.split("/");
116
- const owner = parts.length >= 2 ? parts[0] : "dword-design";
117
- const name = last(parts);
118
- return `* [${name}](https://github.com/${owner}/${name}): ${entry.description}`;
119
- }).join("\n")}
120
- `] : []), this.packageConfig.license ? [(() => {
121
- const parsed = spdxParse(this.packageConfig.license);
122
- const license = spdxList[parsed.license];
123
- return endent`
107
+ ${base.config.seeAlso.map(entry => {
108
+ const parts = entry.repository.split("/");
109
+ const owner = parts.length >= 2 ? parts[0] : "dword-design";
110
+ const name = last(parts);
111
+ return `* [${name}](https://github.com/${owner}/${name}): ${entry.description}`;
112
+ }).join("\n")}
113
+ `] : []), base.packageConfig.license ? [(() => {
114
+ const parsed = spdxParse(base.packageConfig.license);
115
+ const license = spdxList[parsed.license];
116
+ return endent`
124
117
  ## License
125
118
 
126
119
  [${license.name}](${license.url}) © [Sebastian Landwehr](https://sebastianlandwehr.com)
127
120
  `;
128
- })()] : []].join("\n\n");
129
- },
130
- title() {
131
- return `# ${this.packageConfig.name}`;
132
- }
121
+ })()] : []].join("\n\n"),
122
+ title: base => `# ${base.packageConfig.name}`
133
123
  };
@@ -1,3 +1,5 @@
1
- export default function (): {
1
+ import type { Base } from '@/src';
2
+ declare const _default: (base: Base) => {
2
3
  plugins: any[];
3
4
  };
5
+ export default _default;
@@ -1,12 +1,10 @@
1
1
  import packageName from "depcheck-package-name";
2
- export default function () {
3
- return {
4
- plugins: ["@semantic-release/commit-analyzer", "@semantic-release/release-notes-generator", packageName`@semantic-release/changelog`, this.config.npmPublish ? packageName`@semantic-release/npm` : [packageName`@semantic-release/npm`, {
5
- npmPublish: false
6
- }], this.config.deployAssets.length > 0 ? [packageName`@semantic-release/github`, {
7
- assets: this.config.deployAssets
8
- }] : packageName`@semantic-release/github`, [packageName`@semantic-release/git`, {
9
- message: "chore: ${nextRelease.version} [skip ci]\n\n${nextRelease.notes}"
10
- }], ...this.config.deployPlugins]
11
- };
12
- }
2
+ export default base => ({
3
+ plugins: ["@semantic-release/commit-analyzer", "@semantic-release/release-notes-generator", packageName`@semantic-release/changelog`, base.config.npmPublish ? packageName`@semantic-release/npm` : [packageName`@semantic-release/npm`, {
4
+ npmPublish: false
5
+ }], base.config.deployAssets.length > 0 ? [packageName`@semantic-release/github`, {
6
+ assets: base.config.deployAssets
7
+ }] : packageName`@semantic-release/github`, [packageName`@semantic-release/git`, {
8
+ message: "chore: ${nextRelease.version} [skip ci]\n\n${nextRelease.notes}"
9
+ }], ...base.config.deployPlugins]
10
+ });
@@ -1 +1,3 @@
1
- export default function (): any;
1
+ import type { Base } from '@/src';
2
+ declare const _default: (base: Base) => any;
3
+ export default _default;
@@ -1,33 +1,31 @@
1
1
  import defu from "@dword-design/defu";
2
2
  import getRegexManagerString from "./get-regex-manager-string/index.js";
3
- export default function () {
4
- return defu(this.config.renovateConfig, {
5
- extends: [":semanticCommits", ":semanticPrefixFix"],
6
- gitIgnoredAuthors: ["actions@github.com"],
7
- "github-actions": {
8
- enabled: false
9
- },
10
- labels: ["maintenance"],
11
- lockFileMaintenance: {
12
- automerge: true,
13
- enabled: true,
14
- ...(this.config.isLockFileFixCommitType ? {} : {
15
- semanticCommitType: "chore"
16
- })
17
- },
18
- rangeStrategy: "replace",
19
- regexManagers: [{
20
- datasourceTemplate: "github-tags",
21
- fileMatch: [String.raw`\.ts$`],
22
- matchStrings: [getRegexManagerString("gitHubAction", "(?<depName>.*?)@v(?<currentValue>.*?)")],
23
- versioningTemplate: "npm"
24
- }, {
25
- datasourceTemplate: "node-version",
26
- depNameTemplate: "node",
27
- fileMatch: [String.raw`\.ts$`],
28
- matchStrings: [getRegexManagerString("nodejsVersion", "(?<currentValue>.*?)")],
29
- versioningTemplate: "node"
30
- }],
31
- semanticCommitScope: null
32
- });
33
- }
3
+ export default base => defu(base.config.renovateConfig, {
4
+ extends: [":semanticCommits", ":semanticPrefixFix"],
5
+ "github-actions": {
6
+ enabled: false
7
+ },
8
+ gitIgnoredAuthors: ["actions@github.com"],
9
+ labels: ["maintenance"],
10
+ lockFileMaintenance: {
11
+ automerge: true,
12
+ enabled: true,
13
+ ...(!base.config.isLockFileFixCommitType && {
14
+ semanticCommitType: "chore"
15
+ })
16
+ },
17
+ rangeStrategy: "replace",
18
+ regexManagers: [{
19
+ datasourceTemplate: "github-tags",
20
+ fileMatch: [String.raw`\.ts$`],
21
+ matchStrings: [getRegexManagerString("gitHubAction", "(?<depName>.*?)@v(?<currentValue>.*?)")],
22
+ versioningTemplate: "npm"
23
+ }, {
24
+ datasourceTemplate: "node-version",
25
+ depNameTemplate: "node",
26
+ fileMatch: [String.raw`\.ts$`],
27
+ matchStrings: [getRegexManagerString("nodejsVersion", "(?<currentValue>.*?)")],
28
+ versioningTemplate: "node"
29
+ }],
30
+ semanticCommitScope: null
31
+ });
@@ -1 +1,3 @@
1
- export default function (): any;
1
+ import type { Base } from '@/src';
2
+ declare const _default: (base: Base) => any;
3
+ export default _default;
@@ -1,20 +1,18 @@
1
1
  import defu from "@dword-design/defu";
2
- export default function () {
3
- return defu(this.config.typescriptConfig, {
4
- compilerOptions: {
5
- declaration: true,
6
- esModuleInterop: true,
7
- module: "ESNext",
8
- moduleResolution: "bundler",
9
- ...(this.config.hasTypescriptConfigRootAlias && {
10
- paths: {
11
- "@/*": ["./*"]
12
- }
13
- }),
14
- skipLibCheck: true,
15
- strict: true,
16
- target: "ESNext"
17
- },
18
- exclude: ["test-results"]
19
- });
20
- }
2
+ export default base => defu(base.config.typescriptConfig, {
3
+ compilerOptions: {
4
+ declaration: true,
5
+ esModuleInterop: true,
6
+ module: "ESNext",
7
+ moduleResolution: "bundler",
8
+ ...(base.config.hasTypescriptConfigRootAlias && {
9
+ paths: {
10
+ "@/*": ["./*"]
11
+ }
12
+ }),
13
+ skipLibCheck: true,
14
+ strict: true,
15
+ target: "ESNext"
16
+ },
17
+ exclude: ["test-results"]
18
+ });