@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.
- package/LICENSE.md +9 -9
- package/dist/cli.js +25 -19
- package/dist/commands/check-unknown-files/index.d.ts +3 -1
- package/dist/commands/check-unknown-files/index.js +9 -9
- package/dist/commands/check-unknown-files/unknown-files-error.d.ts +1 -1
- package/dist/commands/check-unknown-files/unknown-files-error.js +1 -2
- package/dist/commands/command-options-input.d.ts +4 -5
- package/dist/commands/command-options-input.js +0 -0
- package/dist/commands/commit/index.d.ts +10 -1
- package/dist/commands/commit/index.js +6 -7
- package/dist/commands/depcheck/index.d.ts +3 -1
- package/dist/commands/depcheck/index.js +18 -18
- package/dist/commands/lint/index.d.ts +3 -1
- package/dist/commands/lint/index.js +9 -10
- package/dist/commands/lint/lint-packagejson.d.ts +3 -1
- package/dist/commands/lint/lint-packagejson.js +3 -3
- package/dist/commands/lint/package-json-schema.js +3 -3
- package/dist/commands/prepare/index.d.ts +4 -1
- package/dist/commands/prepare/index.js +8 -8
- package/dist/commands/test/index.d.ts +10 -1
- package/dist/commands/test/index.js +1 -3
- package/dist/commands/test-docker/index.d.ts +12 -1
- package/dist/commands/test-docker/index.js +21 -17
- package/dist/commands/test-raw/index.d.ts +17 -1
- package/dist/commands/test-raw/index.js +15 -13
- package/dist/commands/typecheck/index.d.ts +3 -1
- package/dist/commands/typecheck/index.js +8 -8
- package/dist/commands/verify/index.d.ts +8 -1
- package/dist/commands/verify/index.js +7 -8
- package/dist/get-depcheck-special-base/index.d.ts +1 -1
- package/dist/get-depcheck-special-base/index.js +1 -1
- package/dist/get-generated-files/editorconfig.js +1 -1
- package/dist/get-generated-files/get-editor-ignore/index.d.ts +3 -1
- package/dist/get-generated-files/get-editor-ignore/index.js +1 -3
- package/dist/get-generated-files/get-eslint/index.d.ts +3 -1
- package/dist/get-generated-files/get-eslint/index.js +13 -15
- package/dist/get-generated-files/get-github-sync-metadata/index.d.ts +3 -1
- package/dist/get-generated-files/get-github-sync-metadata/index.js +28 -30
- package/dist/get-generated-files/get-github-workflow/index.d.ts +28 -2
- package/dist/get-generated-files/get-github-workflow/index.js +8 -8
- package/dist/get-generated-files/get-github-workflow/steps/get-release.d.ts +12 -1
- package/dist/get-generated-files/get-github-workflow/steps/get-release.js +18 -20
- package/dist/get-generated-files/get-github-workflow/steps/get-test.d.ts +3 -1
- package/dist/get-generated-files/get-github-workflow/steps/get-test.js +16 -16
- package/dist/get-generated-files/get-github-workflow/strategies/job-matrix.d.ts +6 -4
- package/dist/get-generated-files/get-github-workflow/strategies/job-matrix.js +19 -19
- package/dist/get-generated-files/get-github-workflow/strategies/simple.d.ts +3 -1
- package/dist/get-generated-files/get-github-workflow/strategies/simple.js +30 -32
- package/dist/get-generated-files/get-gitignore/index.d.ts +3 -1
- package/dist/get-generated-files/get-gitignore/index.js +3 -5
- package/dist/get-generated-files/get-gitpod/index.d.ts +3 -1
- package/dist/get-generated-files/get-gitpod/index.js +3 -3
- package/dist/get-generated-files/get-gitpod-dockerfile.d.ts +3 -1
- package/dist/get-generated-files/get-gitpod-dockerfile.js +3 -5
- package/dist/get-generated-files/get-license-string.d.ts +3 -1
- package/dist/get-generated-files/get-license-string.js +4 -4
- package/dist/get-generated-files/get-lint-staged/index.d.ts +5 -2
- package/dist/get-generated-files/get-lint-staged/index.js +1 -3
- package/dist/get-generated-files/get-lint-staged/merge-lint-staged-configs/index.d.ts +1 -1
- package/dist/get-generated-files/get-lint-staged/merge-lint-staged-configs/index.js +9 -8
- package/dist/get-generated-files/get-package-config/index.d.ts +3 -1
- package/dist/get-generated-files/get-package-config/index.js +19 -20
- package/dist/get-generated-files/get-readme-string/index.d.ts +3 -1
- package/dist/get-generated-files/get-readme-string/index.js +5 -5
- package/dist/get-generated-files/get-readme-string/replacements.d.ts +6 -5
- package/dist/get-generated-files/get-readme-string/replacements.js +79 -89
- package/dist/get-generated-files/get-release/index.d.ts +3 -1
- package/dist/get-generated-files/get-release/index.js +9 -11
- package/dist/get-generated-files/get-renovate/index.d.ts +3 -1
- package/dist/get-generated-files/get-renovate/index.js +29 -31
- package/dist/get-generated-files/get-typescript/index.d.ts +3 -1
- package/dist/get-generated-files/get-typescript/index.js +17 -19
- package/dist/get-generated-files/get-vscode/index.d.ts +3 -1
- package/dist/get-generated-files/get-vscode/index.js +6 -8
- package/dist/get-generated-files/index.d.ts +5 -3
- package/dist/get-generated-files/index.js +16 -16
- package/dist/index.d.ts +236 -46
- package/dist/index.js +133 -93
- package/package.json +31 -29
|
@@ -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
|
|
5
|
-
const packageName = parsePackagejsonName(
|
|
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,6 +1,5 @@
|
|
|
1
1
|
import endent from "endent";
|
|
2
|
-
export default
|
|
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 ${
|
|
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,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
|
|
5
|
-
const parsed = spdxParse(
|
|
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 © ${
|
|
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 {
|
|
2
|
-
|
|
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
|
|
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) =>
|
|
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 (
|
|
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
|
|
38
|
-
expandedMap.get(expandedGlob).add(
|
|
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 =
|
|
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(
|
|
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 (
|
|
68
|
-
|
|
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,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
|
|
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
|
-
|
|
13
|
-
...(this.config.testInContainer && {
|
|
13
|
+
...(base.config.testInContainer && {
|
|
14
14
|
"test:raw": true
|
|
15
15
|
}),
|
|
16
|
-
|
|
17
|
-
...mapValues(
|
|
16
|
+
verify: true,
|
|
17
|
+
...mapValues(base.config.commands, stubTrue)
|
|
18
18
|
};
|
|
19
19
|
return {
|
|
20
|
-
...pick(
|
|
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: `>=${
|
|
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
|
-
|
|
53
|
-
|
|
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
|
+
};
|
|
@@ -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
|
|
7
|
-
const readme = safeReadFileSync(pathLib.join(
|
|
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
|
|
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(
|
|
3
|
-
description(
|
|
4
|
-
install(
|
|
5
|
-
license(
|
|
6
|
-
title(
|
|
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
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
<
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
<
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
<
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
<
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
<
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
<
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
<
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
<
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
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/${
|
|
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
|
-
`, ...(
|
|
104
|
+
`, ...(base.config.seeAlso.length > 0 ? [endent`
|
|
112
105
|
## See also
|
|
113
106
|
|
|
114
|
-
${
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
`] : []),
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
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
|
-
|
|
129
|
-
}
|
|
130
|
-
title() {
|
|
131
|
-
return `# ${this.packageConfig.name}`;
|
|
132
|
-
}
|
|
121
|
+
})()] : []].join("\n\n"),
|
|
122
|
+
title: base => `# ${base.packageConfig.name}`
|
|
133
123
|
};
|
|
@@ -1,12 +1,10 @@
|
|
|
1
1
|
import packageName from "depcheck-package-name";
|
|
2
|
-
export default
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
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,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
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
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,20 +1,18 @@
|
|
|
1
1
|
import defu from "@dword-design/defu";
|
|
2
|
-
export default
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
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
|
+
});
|