@adamhl8/configs 0.24.7 → 0.24.9
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/dist/configs/commitlint.base.d.ts +5 -6
- package/dist/configs/commitlint.base.d.ts.map +1 -1
- package/dist/configs/commitlint.base.js.map +1 -1
- package/dist/configs/knip.base.d.ts +3 -4
- package/dist/configs/knip.base.d.ts.map +1 -1
- package/dist/configs/knip.base.js.map +1 -1
- package/dist/configs/oxfmt.base.d.ts +2 -3
- package/dist/configs/oxfmt.base.d.ts.map +1 -1
- package/dist/configs/oxfmt.base.js.map +1 -1
- package/dist/configs/oxlint.base.d.ts +7 -3
- package/dist/configs/oxlint.base.d.ts.map +1 -1
- package/dist/configs/oxlint.base.js +3 -0
- package/dist/configs/oxlint.base.js.map +1 -1
- package/dist/configs/release-it.base.d.ts +2 -3
- package/dist/configs/release-it.base.d.ts.map +1 -1
- package/dist/configs/release-it.base.js.map +1 -1
- package/dist/configs/tsdown.base.d.ts +4 -5
- package/dist/configs/tsdown.base.d.ts.map +1 -1
- package/dist/configs/tsdown.base.js.map +1 -1
- package/dist/configs/vitest.base.d.ts +2 -3
- package/dist/configs/vitest.base.d.ts.map +1 -1
- package/dist/configs/vitest.base.js.map +1 -1
- package/dist/utils.d.ts +10 -4
- package/dist/utils.d.ts.map +1 -1
- package/dist/utils.js +9 -2
- package/dist/utils.js.map +1 -1
- package/package.json +49 -4
|
@@ -2,13 +2,12 @@ import { OptionalMergeConfigFn } from "../utils.js";
|
|
|
2
2
|
import { RuleConfigSeverity, UserConfig } from "@commitlint/types";
|
|
3
3
|
|
|
4
4
|
//#region src/configs/commitlint.base.d.ts
|
|
5
|
-
declare const
|
|
6
|
-
extends:
|
|
7
|
-
rules: {
|
|
8
|
-
"type-enum": [RuleConfigSeverity.Error, "always", string[]];
|
|
5
|
+
declare const commitlintConfig: OptionalMergeConfigFn<UserConfig, {
|
|
6
|
+
readonly extends: ["@commitlint/config-conventional"];
|
|
7
|
+
readonly rules: {
|
|
8
|
+
readonly "type-enum": readonly [RuleConfigSeverity.Error, "always", string[]];
|
|
9
9
|
};
|
|
10
|
-
}
|
|
11
|
-
declare const commitlintConfig: OptionalMergeConfigFn<UserConfig, typeof baseConfig>;
|
|
10
|
+
}>;
|
|
12
11
|
//#endregion
|
|
13
12
|
export { commitlintConfig };
|
|
14
13
|
//# sourceMappingURL=commitlint.base.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"commitlint.base.d.ts","names":[],"sources":["../../src/configs/commitlint.base.ts"],"mappings":";;;;
|
|
1
|
+
{"version":3,"file":"commitlint.base.d.ts","names":[],"sources":["../../src/configs/commitlint.base.ts"],"mappings":";;;;cAmBa,gBAAA,wBAAgB,UAAA;EAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"commitlint.base.js","names":[],"sources":["../../src/configs/commitlint.base.ts"],"sourcesContent":["import conventional from \"@commitlint/config-conventional\"\nimport { RuleConfigSeverity } from \"@commitlint/types\"\nimport type { UserConfig } from \"@commitlint/types\"\n\nimport
|
|
1
|
+
{"version":3,"file":"commitlint.base.js","names":[],"sources":["../../src/configs/commitlint.base.ts"],"sourcesContent":["import conventional from \"@commitlint/config-conventional\"\nimport { RuleConfigSeverity } from \"@commitlint/types\"\nimport type { UserConfig } from \"@commitlint/types\"\n\nimport { createMergeConfigFn } from \"#/utils.ts\"\n\nconst [_severity, _condition, conventionalTypes] = conventional.rules[\"type-enum\"]\n\nconst EXCLUDED_TYPES = new Set([\"test\", \"style\", \"build\"])\nconst filteredTypes = conventionalTypes.filter((type) => !EXCLUDED_TYPES.has(type))\nconst commitTypes = [...filteredTypes, \"release\"]\n\nconst baseConfig = {\n extends: [\"@commitlint/config-conventional\"],\n rules: {\n \"type-enum\": [RuleConfigSeverity.Error, \"always\", commitTypes],\n },\n} as const satisfies UserConfig\n\nexport const commitlintConfig = createMergeConfigFn<UserConfig, typeof baseConfig>(baseConfig)\n"],"mappings":";;;;AAMA,MAAM,CAAC,WAAW,YAAY,qBAAqB,aAAa,MAAM;AAEtE,MAAM,iCAAiB,IAAI,IAAI;CAAC;CAAQ;CAAS;AAAO,CAAC;AAEzD,MAAM,cAAc,CAAC,GADC,kBAAkB,QAAQ,SAAS,CAAC,eAAe,IAAI,IAAI,CAC7C,GAAG,SAAS;AAShD,MAAa,mBAAmB,oBAAmD;CANjF,SAAS,CAAC,iCAAiC;CAC3C,OAAO,EACL,aAAa;EAAC,mBAAmB;EAAO;EAAU;CAAW,EAC/D;AAGiF,CAAU"}
|
|
@@ -2,14 +2,13 @@ import { OptionalMergeConfigFn } from "../utils.js";
|
|
|
2
2
|
import { KnipConfig } from "knip";
|
|
3
3
|
|
|
4
4
|
//#region src/configs/knip.base.d.ts
|
|
5
|
-
declare const
|
|
5
|
+
declare const knipConfig: OptionalMergeConfigFn<KnipConfig, {
|
|
6
6
|
readonly project: ["**"];
|
|
7
7
|
readonly entry: ["./src/index.ts", "**/*.test.ts", "./tsdown.config.ts"];
|
|
8
8
|
readonly ignoreBinaries: ["lefthook", "gh"];
|
|
9
|
-
readonly ignoreDependencies:
|
|
9
|
+
readonly ignoreDependencies: ("@adamhl8/eslint-plugin-clean-modules" | "@commitlint/cli")[];
|
|
10
10
|
readonly tsdown: false;
|
|
11
|
-
}
|
|
12
|
-
declare const knipConfig: OptionalMergeConfigFn<KnipConfig, typeof baseConfig>;
|
|
11
|
+
}>;
|
|
13
12
|
//#endregion
|
|
14
13
|
export { knipConfig };
|
|
15
14
|
//# sourceMappingURL=knip.base.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"knip.base.d.ts","names":[],"sources":["../../src/configs/knip.base.ts"],"mappings":";;;;
|
|
1
|
+
{"version":3,"file":"knip.base.d.ts","names":[],"sources":["../../src/configs/knip.base.ts"],"mappings":";;;;cA+Ba,UAAA,EAAU,qBAAA,CAAA,UAAA;EAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"knip.base.js","names":[],"sources":["../../src/configs/knip.base.ts"],"sourcesContent":["import type { KnipConfig } from \"knip\"\n\nimport { createMergeConfigFn } from \"#/utils.ts\"\
|
|
1
|
+
{"version":3,"file":"knip.base.js","names":[],"sources":["../../src/configs/knip.base.ts"],"sourcesContent":["import type { KnipConfig } from \"knip\"\n\nimport { createMergeConfigFn } from \"#/utils.ts\"\n\n// Normally, specifying the `./src/index.ts` entry would cause knip to complain about a redundant entry because it gets automatically included via the tsdown plugin.\n// However, in projects that _don't_ use tsdown, the `./src/index.ts` entry would be missing entirely.\n// To handle this, we specify it and disable the tsdown plugin. This makes knip work in both cases.\n\nexport const DEFAULT_ENTRIES = [\"./src/index.ts\", \"**/*.test.ts\", \"./tsdown.config.ts\"] as const satisfies string[]\n\n/**\n * Consuming projects show these transitive dependencies as unlisted. e.g. knip resolves\n * `@adamhl8/eslint-plugin-clean-modules` via the oxlint config, but we don't need to install it directly in the\n * consuming project.\n */\nconst UNLISTED_DEPENDENCIES = [\"@adamhl8/eslint-plugin-clean-modules\"] as const\n/**\n * Consuming projects show these dependencies as unused. e.g. `@commitlint/cli` can't be found by knip because it's\n * hidden by the fact that we call/extend our GitHub workflows.\n */\nconst UNUSED_DEPENDENCIES = [\"@commitlint/cli\"] as const\nexport const IGNORE_DEPENDENCIES = [...UNUSED_DEPENDENCIES, ...UNLISTED_DEPENDENCIES]\n\nconst baseConfig = {\n project: [\"**\"],\n entry: DEFAULT_ENTRIES,\n ignoreBinaries: [\"lefthook\", \"gh\"],\n ignoreDependencies: IGNORE_DEPENDENCIES,\n tsdown: false,\n} as const satisfies KnipConfig\n\nexport const knipConfig = createMergeConfigFn<KnipConfig, typeof baseConfig>(baseConfig)\n"],"mappings":";;AAQA,MAAa,kBAAkB;CAAC;CAAkB;CAAgB;AAAoB;;;;;;AAOtF,MAAM,wBAAwB,CAAC,sCAAsC;AAMrE,MAAa,sBAAsB,CAAC,GAAG,CADV,iBACU,GAAqB,GAAG,qBAAqB;AAUpF,MAAa,aAAa,oBAAmD;CAP3E,SAAS,CAAC,IAAI;CACd,OAAO;CACP,gBAAgB,CAAC,YAAY,IAAI;CACjC,oBAAoB;CACpB,QAAQ;AAGmE,CAAU"}
|
|
@@ -2,7 +2,7 @@ import { OptionalMergeConfigFn } from "../utils.js";
|
|
|
2
2
|
import { OxfmtConfig } from "oxfmt";
|
|
3
3
|
|
|
4
4
|
//#region src/configs/oxfmt.base.d.ts
|
|
5
|
-
declare const
|
|
5
|
+
declare const oxfmtConfig: OptionalMergeConfigFn<OxfmtConfig, {
|
|
6
6
|
readonly printWidth: 120;
|
|
7
7
|
readonly semi: false;
|
|
8
8
|
readonly jsdoc: true;
|
|
@@ -10,8 +10,7 @@ declare const baseConfig: {
|
|
|
10
10
|
readonly groups: ["builtin", "external", ["subpath", "internal"], ["index", "sibling", "parent"], "side_effect", ["style", "side_effect_style"]];
|
|
11
11
|
};
|
|
12
12
|
readonly sortTailwindcss: true;
|
|
13
|
-
}
|
|
14
|
-
declare const oxfmtConfig: OptionalMergeConfigFn<OxfmtConfig, typeof baseConfig>;
|
|
13
|
+
}>;
|
|
15
14
|
//#endregion
|
|
16
15
|
export { oxfmtConfig };
|
|
17
16
|
//# sourceMappingURL=oxfmt.base.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"oxfmt.base.d.ts","names":[],"sources":["../../src/configs/oxfmt.base.ts"],"mappings":";;;;
|
|
1
|
+
{"version":3,"file":"oxfmt.base.d.ts","names":[],"sources":["../../src/configs/oxfmt.base.ts"],"mappings":";;;;cAqBa,WAAA,EAAW,qBAAA,CAAA,WAAA;EAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"oxfmt.base.js","names":[],"sources":["../../src/configs/oxfmt.base.ts"],"sourcesContent":["import type { OxfmtConfig } from \"oxfmt\"\n\nimport { createMergeConfigFn } from \"#/utils.ts\"\
|
|
1
|
+
{"version":3,"file":"oxfmt.base.js","names":[],"sources":["../../src/configs/oxfmt.base.ts"],"sourcesContent":["import type { OxfmtConfig } from \"oxfmt\"\n\nimport { createMergeConfigFn } from \"#/utils.ts\"\n\nconst baseConfig = {\n printWidth: 120,\n semi: false,\n jsdoc: true,\n sortImports: {\n groups: [\n \"builtin\",\n \"external\",\n [\"subpath\", \"internal\"],\n [\"index\", \"sibling\", \"parent\"],\n \"side_effect\",\n [\"style\", \"side_effect_style\"],\n ],\n },\n sortTailwindcss: true,\n} as const satisfies OxfmtConfig\n\nexport const oxfmtConfig = createMergeConfigFn<OxfmtConfig, typeof baseConfig>(baseConfig)\n"],"mappings":";AAqBA,MAAa,cAAc,oBAAoD;CAhB7E,YAAY;CACZ,MAAM;CACN,OAAO;CACP,aAAa,EACX,QAAQ;EACN;EACA;EACA,CAAC,WAAW,UAAU;EACtB;GAAC;GAAS;GAAW;EAAQ;EAC7B;EACA,CAAC,SAAS,mBAAmB;CAC/B,EACF;CACA,iBAAiB;AAG4D,CAAU"}
|
|
@@ -2,7 +2,7 @@ import { OptionalMergeConfigFn } from "../utils.js";
|
|
|
2
2
|
import { OxlintConfig } from "oxlint";
|
|
3
3
|
|
|
4
4
|
//#region src/configs/oxlint.base.d.ts
|
|
5
|
-
declare const
|
|
5
|
+
declare const oxlintConfig: OptionalMergeConfigFn<OxlintConfig, {
|
|
6
6
|
readonly categories: {
|
|
7
7
|
readonly correctness: "error";
|
|
8
8
|
readonly nursery: "error";
|
|
@@ -34,10 +34,14 @@ declare const baseConfig: {
|
|
|
34
34
|
readonly "require-unicode-regexp": ["error", {
|
|
35
35
|
readonly requireFlag: "v";
|
|
36
36
|
}];
|
|
37
|
+
readonly "unicorn/no-useless-undefined": ["error", {
|
|
38
|
+
readonly checkArguments: false;
|
|
39
|
+
}];
|
|
37
40
|
readonly "capitalized-comments": "off";
|
|
38
41
|
readonly "id-length": "off";
|
|
39
42
|
readonly "import/exports-last": "off";
|
|
40
43
|
readonly "import/group-exports": "off";
|
|
44
|
+
readonly "import/max-dependencies": "off";
|
|
41
45
|
readonly "import/no-named-export": "off";
|
|
42
46
|
readonly "import/no-nodejs-modules": "off";
|
|
43
47
|
readonly "import/prefer-default-export": "off";
|
|
@@ -74,6 +78,7 @@ declare const baseConfig: {
|
|
|
74
78
|
readonly "typescript/strict-boolean-expressions": "off";
|
|
75
79
|
readonly "unicorn/no-array-callback-reference": "off";
|
|
76
80
|
readonly "unicorn/no-array-method-this-argument": "off";
|
|
81
|
+
readonly "unicorn/no-process-exit": "off";
|
|
77
82
|
readonly "unicorn/switch-case-braces": "off";
|
|
78
83
|
readonly "vitest/no-hooks": "off";
|
|
79
84
|
readonly "vitest/no-importing-vitest-globals": "off";
|
|
@@ -85,8 +90,7 @@ declare const baseConfig: {
|
|
|
85
90
|
readonly "vitest/require-hook": "off";
|
|
86
91
|
readonly "vitest/require-test-timeout": "off";
|
|
87
92
|
};
|
|
88
|
-
}
|
|
89
|
-
declare const oxlintConfig: OptionalMergeConfigFn<OxlintConfig, typeof baseConfig>;
|
|
93
|
+
}>;
|
|
90
94
|
//#endregion
|
|
91
95
|
export { oxlintConfig };
|
|
92
96
|
//# sourceMappingURL=oxlint.base.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"oxlint.base.d.ts","names":[],"sources":["../../src/configs/oxlint.base.ts"],"mappings":";;;;
|
|
1
|
+
{"version":3,"file":"oxlint.base.d.ts","names":[],"sources":["../../src/configs/oxlint.base.ts"],"mappings":";;;;cAsHa,YAAA,EAAY,qBAAA,CAAA,YAAA;EAAA"}
|
|
@@ -49,10 +49,12 @@ const oxlintConfig = createMergeConfigFn({
|
|
|
49
49
|
curly: ["error", "multi-or-nest"],
|
|
50
50
|
"func-style": ["error", "expression"],
|
|
51
51
|
"require-unicode-regexp": ["error", { requireFlag: "v" }],
|
|
52
|
+
"unicorn/no-useless-undefined": ["error", { checkArguments: false }],
|
|
52
53
|
"capitalized-comments": "off",
|
|
53
54
|
"id-length": "off",
|
|
54
55
|
"import/exports-last": "off",
|
|
55
56
|
"import/group-exports": "off",
|
|
57
|
+
"import/max-dependencies": "off",
|
|
56
58
|
"import/no-named-export": "off",
|
|
57
59
|
"import/no-nodejs-modules": "off",
|
|
58
60
|
"import/prefer-default-export": "off",
|
|
@@ -89,6 +91,7 @@ const oxlintConfig = createMergeConfigFn({
|
|
|
89
91
|
"typescript/strict-boolean-expressions": "off",
|
|
90
92
|
"unicorn/no-array-callback-reference": "off",
|
|
91
93
|
"unicorn/no-array-method-this-argument": "off",
|
|
94
|
+
"unicorn/no-process-exit": "off",
|
|
92
95
|
"unicorn/switch-case-braces": "off",
|
|
93
96
|
"vitest/no-hooks": "off",
|
|
94
97
|
"vitest/no-importing-vitest-globals": "off",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"oxlint.base.js","names":[],"sources":["../../src/configs/oxlint.base.ts"],"sourcesContent":["import { fileURLToPath } from \"node:url\"\n\nimport type { OxlintConfig } from \"oxlint\"\n\nimport { createMergeConfigFn } from \"#/utils.ts\"\
|
|
1
|
+
{"version":3,"file":"oxlint.base.js","names":[],"sources":["../../src/configs/oxlint.base.ts"],"sourcesContent":["import { fileURLToPath } from \"node:url\"\n\nimport type { OxlintConfig } from \"oxlint\"\n\nimport { createMergeConfigFn } from \"#/utils.ts\"\n\nconst baseConfig = {\n categories: {\n correctness: \"error\",\n nursery: \"error\",\n pedantic: \"error\",\n perf: \"error\",\n restriction: \"error\",\n style: \"error\",\n suspicious: \"error\",\n },\n // Resolve to an absolute path so consumers load it from this package's own deps.\n jsPlugins: [fileURLToPath(import.meta.resolve(\"@adamhl8/eslint-plugin-clean-modules\"))],\n options: {\n reportUnusedDisableDirectives: \"error\",\n typeAware: true,\n typeCheck: true,\n },\n overrides: [\n {\n files: [\n \".release-it.ts\",\n \"commitlint.config.ts\",\n \"knip.ts\",\n \"oxfmt.config.ts\",\n \"oxlint.config.ts\",\n \"tsdown.config.ts\",\n \"vitest.config.ts\",\n ],\n rules: {\n \"import/no-default-export\": \"off\",\n },\n },\n ],\n plugins: [\n \"eslint\",\n \"react\",\n \"unicorn\",\n \"typescript\",\n \"oxc\",\n \"import\",\n \"jsdoc\",\n \"vitest\",\n \"jsx-a11y\",\n \"react-perf\",\n \"promise\",\n \"node\",\n ],\n rules: {\n \"clean-modules/require-direct-exports\": \"error\",\n \"clean-modules/require-import-extensions\": \"error\",\n \"clean-modules/require-subpath-imports\": \"error\",\n\n curly: [\"error\", \"multi-or-nest\"],\n \"func-style\": [\"error\", \"expression\"],\n \"require-unicode-regexp\": [\"error\", { requireFlag: \"v\" }],\n \"unicorn/no-useless-undefined\": [\"error\", { checkArguments: false }],\n\n \"capitalized-comments\": \"off\",\n \"id-length\": \"off\",\n \"import/exports-last\": \"off\",\n \"import/group-exports\": \"off\",\n \"import/max-dependencies\": \"off\",\n \"import/no-named-export\": \"off\",\n \"import/no-nodejs-modules\": \"off\",\n \"import/prefer-default-export\": \"off\",\n \"init-declarations\": \"off\",\n \"jsdoc/require-param\": \"off\",\n \"jsdoc/require-returns\": \"off\",\n \"max-classes-per-file\": \"off\",\n \"max-lines\": \"off\",\n \"max-lines-per-function\": \"off\",\n \"max-statements\": \"off\",\n \"no-console\": \"off\",\n \"no-continue\": \"off\",\n \"no-duplicate-imports\": \"off\",\n \"no-inline-comments\": \"off\",\n \"no-magic-numbers\": \"off\",\n \"no-plusplus\": \"off\",\n \"no-ternary\": \"off\",\n \"no-undef\": \"off\",\n \"no-undefined\": \"off\",\n \"no-useless-return\": \"off\",\n \"no-void\": \"off\",\n \"node/callback-return\": \"off\",\n \"node/no-sync\": \"off\",\n \"oxc/no-async-await\": \"off\",\n \"oxc/no-optional-chaining\": \"off\",\n \"oxc/no-rest-spread-properties\": \"off\",\n \"require-await\": \"off\",\n \"sort-imports\": \"off\",\n \"sort-keys\": \"off\",\n \"typescript/consistent-return\": \"off\",\n \"typescript/explicit-function-return-type\": \"off\",\n \"typescript/explicit-module-boundary-types\": \"off\",\n \"typescript/prefer-readonly-parameter-types\": \"off\",\n \"typescript/strict-boolean-expressions\": \"off\",\n \"unicorn/no-array-callback-reference\": \"off\",\n \"unicorn/no-array-method-this-argument\": \"off\",\n \"unicorn/no-process-exit\": \"off\",\n \"unicorn/switch-case-braces\": \"off\",\n \"vitest/no-hooks\": \"off\",\n \"vitest/no-importing-vitest-globals\": \"off\",\n \"vitest/prefer-describe-function-title\": \"off\",\n \"vitest/prefer-expect-assertions\": \"off\",\n \"vitest/prefer-lowercase-title\": \"off\",\n \"vitest/prefer-to-be-falsy\": \"off\",\n \"vitest/prefer-to-be-truthy\": \"off\",\n \"vitest/require-hook\": \"off\", // reenable when false positives are fixed?\n \"vitest/require-test-timeout\": \"off\",\n },\n} as const satisfies OxlintConfig\n\nexport const oxlintConfig = createMergeConfigFn<OxlintConfig, typeof baseConfig>(baseConfig)\n"],"mappings":";;AAsHA,MAAa,eAAe,oBAAqD;CA/G/E,YAAY;EACV,aAAa;EACb,SAAS;EACT,UAAU;EACV,MAAM;EACN,aAAa;EACb,OAAO;EACP,YAAY;CACd;CAEA,WAAW,CAAC,cAAc,OAAO,KAAK,QAAQ,sCAAsC,CAAC,CAAC;CACtF,SAAS;EACP,+BAA+B;EAC/B,WAAW;EACX,WAAW;CACb;CACA,WAAW,CACT;EACE,OAAO;GACL;GACA;GACA;GACA;GACA;GACA;GACA;EACF;EACA,OAAO,EACL,4BAA4B,MAC9B;CACF,CACF;CACA,SAAS;EACP;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF;CACA,OAAO;EACL,wCAAwC;EACxC,2CAA2C;EAC3C,yCAAyC;EAEzC,OAAO,CAAC,SAAS,eAAe;EAChC,cAAc,CAAC,SAAS,YAAY;EACpC,0BAA0B,CAAC,SAAS,EAAE,aAAa,IAAI,CAAC;EACxD,gCAAgC,CAAC,SAAS,EAAE,gBAAgB,MAAM,CAAC;EAEnE,wBAAwB;EACxB,aAAa;EACb,uBAAuB;EACvB,wBAAwB;EACxB,2BAA2B;EAC3B,0BAA0B;EAC1B,4BAA4B;EAC5B,gCAAgC;EAChC,qBAAqB;EACrB,uBAAuB;EACvB,yBAAyB;EACzB,wBAAwB;EACxB,aAAa;EACb,0BAA0B;EAC1B,kBAAkB;EAClB,cAAc;EACd,eAAe;EACf,wBAAwB;EACxB,sBAAsB;EACtB,oBAAoB;EACpB,eAAe;EACf,cAAc;EACd,YAAY;EACZ,gBAAgB;EAChB,qBAAqB;EACrB,WAAW;EACX,wBAAwB;EACxB,gBAAgB;EAChB,sBAAsB;EACtB,4BAA4B;EAC5B,iCAAiC;EACjC,iBAAiB;EACjB,gBAAgB;EAChB,aAAa;EACb,gCAAgC;EAChC,4CAA4C;EAC5C,6CAA6C;EAC7C,8CAA8C;EAC9C,yCAAyC;EACzC,uCAAuC;EACvC,yCAAyC;EACzC,2BAA2B;EAC3B,8BAA8B;EAC9B,mBAAmB;EACnB,sCAAsC;EACtC,yCAAyC;EACzC,mCAAmC;EACnC,iCAAiC;EACjC,6BAA6B;EAC7B,8BAA8B;EAC9B,uBAAuB;EACvB,+BAA+B;CACjC;AAG+E,CAAU"}
|
|
@@ -2,7 +2,7 @@ import { OptionalMergeConfigFn } from "../utils.js";
|
|
|
2
2
|
import { Config } from "release-it";
|
|
3
3
|
|
|
4
4
|
//#region src/configs/release-it.base.d.ts
|
|
5
|
-
declare const
|
|
5
|
+
declare const releaseItConfig: OptionalMergeConfigFn<Config, {
|
|
6
6
|
readonly git: {
|
|
7
7
|
readonly commitMessage: "release: ${version}";
|
|
8
8
|
readonly tagName: "${version}";
|
|
@@ -22,8 +22,7 @@ declare const baseConfig: {
|
|
|
22
22
|
readonly publishPath: "";
|
|
23
23
|
readonly publishArgs: ["--no-git-checks"];
|
|
24
24
|
};
|
|
25
|
-
}
|
|
26
|
-
declare const releaseItConfig: OptionalMergeConfigFn<Config, typeof baseConfig>;
|
|
25
|
+
}>;
|
|
27
26
|
//#endregion
|
|
28
27
|
export { releaseItConfig };
|
|
29
28
|
//# sourceMappingURL=release-it.base.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"release-it.base.d.ts","names":[],"sources":["../../src/configs/release-it.base.ts"],"mappings":";;;;
|
|
1
|
+
{"version":3,"file":"release-it.base.d.ts","names":[],"sources":["../../src/configs/release-it.base.ts"],"mappings":";;;;cA4Ba,eAAA,EAAe,qBAAA,CAAA,MAAA;EAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"release-it.base.js","names":[],"sources":["../../src/configs/release-it.base.ts"],"sourcesContent":["// oxlint-disable no-template-curly-in-string\nimport type { Config } from \"release-it\"\n\nimport { createMergeConfigFn } from \"#/utils.ts\"\
|
|
1
|
+
{"version":3,"file":"release-it.base.js","names":[],"sources":["../../src/configs/release-it.base.ts"],"sourcesContent":["// oxlint-disable no-template-curly-in-string\nimport type { Config } from \"release-it\"\n\nimport { createMergeConfigFn } from \"#/utils.ts\"\n\nconst baseConfig = {\n git: {\n commitMessage: \"release: ${version}\",\n tagName: \"${version}\",\n tagAnnotation: \"release ${version}\",\n },\n hooks: {\n \"before:init\": \"nub run bundle\",\n \"after:bump\": [\"adamhl8-cliff --tag ${version} -o\", \"nubx oxfmt CHANGELOG.md\"],\n },\n github: {\n release: true,\n releaseName: \"${version}\",\n releaseNotes: \"adamhl8-cliff --unreleased --tag ${version}\",\n },\n npm: {\n // oxlint-disable-next-line typescript/no-unsafe-type-assertion - release-it doesn't support nub directly yet\n publishPackageManager: \"nub\" as \"bun\",\n publishPath: \"\",\n publishArgs: [\"--no-git-checks\"],\n },\n} as const satisfies Config\n\nexport const releaseItConfig = createMergeConfigFn<Config, typeof baseConfig>(baseConfig)\n"],"mappings":";AA4BA,MAAa,kBAAkB,oBAA+C;CAtB5E,KAAK;EACH,eAAe;EACf,SAAS;EACT,eAAe;CACjB;CACA,OAAO;EACL,eAAe;EACf,cAAc,CAAC,qCAAqC,yBAAyB;CAC/E;CACA,QAAQ;EACN,SAAS;EACT,aAAa;EACb,cAAc;CAChB;CACA,KAAK;EAEH,uBAAuB;EACvB,aAAa;EACb,aAAa,CAAC,iBAAiB;CACjC;AAG4E,CAAU"}
|
|
@@ -25,12 +25,13 @@ declare const baseConfig: {
|
|
|
25
25
|
readonly target: false;
|
|
26
26
|
readonly unbundle: true;
|
|
27
27
|
};
|
|
28
|
-
declare const
|
|
28
|
+
declare const tsdownConfig: MergeConfigFn<StrictUserConfig, typeof baseConfig>;
|
|
29
|
+
declare const tsdownBinConfig: OptionalMergeConfigFn<UserConfig, {
|
|
29
30
|
readonly attw: false;
|
|
30
31
|
readonly dts: false;
|
|
31
32
|
readonly entry: [];
|
|
32
33
|
readonly outExtensions: () => {
|
|
33
|
-
js:
|
|
34
|
+
readonly js: "";
|
|
34
35
|
};
|
|
35
36
|
readonly platform: "node";
|
|
36
37
|
readonly sourcemap: false;
|
|
@@ -41,9 +42,7 @@ declare const binConfig: {
|
|
|
41
42
|
readonly minify: "dce-only";
|
|
42
43
|
readonly publint: true;
|
|
43
44
|
readonly target: false;
|
|
44
|
-
}
|
|
45
|
-
declare const tsdownConfig: MergeConfigFn<StrictUserConfig, typeof baseConfig>;
|
|
46
|
-
declare const tsdownBinConfig: OptionalMergeConfigFn<UserConfig, typeof binConfig>;
|
|
45
|
+
}>;
|
|
47
46
|
//#endregion
|
|
48
47
|
export { tsdownBinConfig, tsdownConfig };
|
|
49
48
|
//# sourceMappingURL=tsdown.base.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tsdown.base.d.ts","names":[],"sources":["../../src/configs/tsdown.base.ts"],"mappings":";;;;;KAOK,gBAAA,GAAmB,WAAW,CAAC,UAAA;AAAA,cAE9B,UAAA;EAAA;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"tsdown.base.d.ts","names":[],"sources":["../../src/configs/tsdown.base.ts"],"mappings":";;;;;KAOK,gBAAA,GAAmB,WAAW,CAAC,UAAA;AAAA,cAE9B,UAAA;EAAA;;;;;;;;;;;;;;;;;;;;cAkCO,YAAA,EAAc,aAAA,CAAc,gBAAA,SAAyB,UAAA;AAAA,cAIrD,eAAA,EAAe,qBAAA,CAAA,UAAA;EAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tsdown.base.js","names":[],"sources":["../../src/configs/tsdown.base.ts"],"sourcesContent":["import type { UserConfig } from \"tsdown\"\nimport type { SetRequired } from \"type-fest\"\n\nimport type { MergeConfigFn
|
|
1
|
+
{"version":3,"file":"tsdown.base.js","names":[],"sources":["../../src/configs/tsdown.base.ts"],"sourcesContent":["import type { UserConfig } from \"tsdown\"\nimport type { SetRequired } from \"type-fest\"\n\nimport type { MergeConfigFn } from \"#/utils.ts\"\nimport { createMergeConfigFn } from \"#/utils.ts\"\n\n// Force projects to specify platform\ntype StrictUserConfig = SetRequired<UserConfig, \"platform\">\n\nconst baseConfig = {\n attw: {\n level: \"error\",\n profile: \"esm-only\",\n },\n dts: {\n newContext: true,\n resolver: \"tsc\",\n sourcemap: true,\n },\n entry: [\"./src/index.ts\"],\n failOnWarn: true,\n fixedExtension: false,\n hash: false,\n minify: \"dce-only\",\n platform: \"neutral\",\n publint: true,\n sourcemap: true,\n target: false,\n unbundle: true,\n} as const satisfies StrictUserConfig\n\nconst binConfig = {\n ...baseConfig,\n attw: false,\n dts: false,\n entry: [],\n outExtensions: () => ({ js: \"\" }) as const,\n platform: \"node\",\n sourcemap: false,\n unbundle: false,\n} as const satisfies UserConfig\n\n// Annotated as the non-optional MergeConfigFn so projects must pass a config (platform is required)\nexport const tsdownConfig: MergeConfigFn<StrictUserConfig, typeof baseConfig> = createMergeConfigFn<\n StrictUserConfig,\n typeof baseConfig\n>(baseConfig)\nexport const tsdownBinConfig = createMergeConfigFn<UserConfig, typeof binConfig>(binConfig)\n"],"mappings":";;AASA,MAAM,aAAa;CACjB,MAAM;EACJ,OAAO;EACP,SAAS;CACX;CACA,KAAK;EACH,YAAY;EACZ,UAAU;EACV,WAAW;CACb;CACA,OAAO,CAAC,gBAAgB;CACxB,YAAY;CACZ,gBAAgB;CAChB,MAAM;CACN,QAAQ;CACR,UAAU;CACV,SAAS;CACT,WAAW;CACX,QAAQ;CACR,UAAU;AACZ;AAEA,MAAM,YAAY;CAChB,GAAG;CACH,MAAM;CACN,KAAK;CACL,OAAO,CAAC;CACR,sBAAsB,EAAE,IAAI,GAAG;CAC/B,UAAU;CACV,WAAW;CACX,UAAU;AACZ;AAGA,MAAa,eAAmE,oBAG9E,UAAU;AACZ,MAAa,kBAAkB,oBAAkD,SAAS"}
|
|
@@ -2,7 +2,7 @@ import { OptionalMergeConfigFn } from "../utils.js";
|
|
|
2
2
|
import { ViteUserConfig } from "vitest/config";
|
|
3
3
|
|
|
4
4
|
//#region src/configs/vitest.base.d.ts
|
|
5
|
-
declare const
|
|
5
|
+
declare const vitestConfig: OptionalMergeConfigFn<ViteUserConfig, {
|
|
6
6
|
readonly test: {
|
|
7
7
|
readonly coverage: {
|
|
8
8
|
readonly enabled: true;
|
|
@@ -12,8 +12,7 @@ declare const baseConfig: {
|
|
|
12
12
|
readonly requireAssertions: true;
|
|
13
13
|
};
|
|
14
14
|
};
|
|
15
|
-
}
|
|
16
|
-
declare const vitestConfig: OptionalMergeConfigFn<ViteUserConfig, typeof baseConfig>;
|
|
15
|
+
}>;
|
|
17
16
|
//#endregion
|
|
18
17
|
export { vitestConfig };
|
|
19
18
|
//# sourceMappingURL=vitest.base.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vitest.base.d.ts","names":[],"sources":["../../src/configs/vitest.base.ts"],"mappings":";;;;
|
|
1
|
+
{"version":3,"file":"vitest.base.d.ts","names":[],"sources":["../../src/configs/vitest.base.ts"],"mappings":";;;;cAgBa,YAAA,EAAY,qBAAA,CAAA,cAAA;EAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vitest.base.js","names":[],"sources":["../../src/configs/vitest.base.ts"],"sourcesContent":["import type { ViteUserConfig } from \"vitest/config\"\n\nimport { createMergeConfigFn } from \"#/utils.ts\"\
|
|
1
|
+
{"version":3,"file":"vitest.base.js","names":[],"sources":["../../src/configs/vitest.base.ts"],"sourcesContent":["import type { ViteUserConfig } from \"vitest/config\"\n\nimport { createMergeConfigFn } from \"#/utils.ts\"\n\nconst baseConfig = {\n test: {\n coverage: {\n enabled: true,\n reporter: [\"text\"],\n },\n expect: {\n requireAssertions: true,\n },\n },\n} as const satisfies ViteUserConfig\n\nexport const vitestConfig = createMergeConfigFn<ViteUserConfig, typeof baseConfig>(baseConfig)\n"],"mappings":";AAgBA,MAAa,eAAe,oBAAuD,EAXjF,MAAM;CACJ,UAAU;EACR,SAAS;EACT,UAAU,CAAC,MAAM;CACnB;CACA,QAAQ,EACN,mBAAmB,KACrB;AACF,EAGiF,CAAU"}
|
package/dist/utils.d.ts
CHANGED
|
@@ -1,9 +1,15 @@
|
|
|
1
|
-
import { MergeDeep } from "type-fest";
|
|
1
|
+
import { MergeDeep, ReadonlyDeep, SimplifyDeep, WritableDeep } from "type-fest";
|
|
2
2
|
|
|
3
3
|
//#region src/utils.d.ts
|
|
4
|
-
/**
|
|
4
|
+
/**
|
|
5
|
+
* The merge config function, where the `UserConfig` passed in is merged with `BaseConfig`.
|
|
6
|
+
*
|
|
7
|
+
* The `const` type parameter keeps literal types without requiring `as const` at the call site. The constraint is
|
|
8
|
+
* `ReadonlyDeep` so readonly arrays/objects (e.g. from `as const`) are accepted, and the result is `WritableDeep` so it
|
|
9
|
+
* stays assignable to the tools' own (mutable) config types.
|
|
10
|
+
*/
|
|
5
11
|
interface MergeConfigFn<UserConfig, BaseConfig> {
|
|
6
|
-
<UserConfigToMerge extends UserConfig
|
|
12
|
+
<const UserConfigToMerge extends ReadonlyDeep<UserConfig>>(userConfig: UserConfigToMerge): MergeDeep<SimplifyDeep<WritableDeep<BaseConfig>>, SimplifyDeep<WritableDeep<UserConfigToMerge>>, {
|
|
7
13
|
arrayMergeMode: "spread";
|
|
8
14
|
}>;
|
|
9
15
|
}
|
|
@@ -15,7 +21,7 @@ interface MergeConfigFn<UserConfig, BaseConfig> {
|
|
|
15
21
|
* Note that this extends `MergeConfigFn`, so this type has both function signatures on it.
|
|
16
22
|
*/
|
|
17
23
|
interface OptionalMergeConfigFn<UserConfig, BaseConfig> extends MergeConfigFn<UserConfig, BaseConfig> {
|
|
18
|
-
(): BaseConfig
|
|
24
|
+
(): SimplifyDeep<WritableDeep<BaseConfig>>;
|
|
19
25
|
}
|
|
20
26
|
//#endregion
|
|
21
27
|
export { MergeConfigFn, OptionalMergeConfigFn };
|
package/dist/utils.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","names":[],"sources":["../src/utils.ts"],"mappings":";;;;
|
|
1
|
+
{"version":3,"file":"utils.d.ts","names":[],"sources":["../src/utils.ts"],"mappings":";;;;AAmBA;;;;;;UAAiB,aAAA;EAAA,iCAEkB,YAAA,CAAa,UAAA,GAC5C,UAAA,EAAY,iBAAA,GACX,SAAA,CACD,YAAA,CAAa,YAAA,CAAa,UAAA,IAC1B,YAAA,CAAa,YAAA,CAAa,iBAAA;IACxB,cAAA;EAAA;AAAA;;;;;;;;UAYW,qBAAA,iCAAsD,aAAA,CAAc,UAAA,EAAY,UAAA;EAAA,IAC3F,YAAA,CAAa,YAAA,CAAa,UAAA;AAAA"}
|
package/dist/utils.js
CHANGED
|
@@ -2,10 +2,17 @@ import { cloneDeep, mergeWith } from "es-toolkit";
|
|
|
2
2
|
//#region src/utils.ts
|
|
3
3
|
/** A wrapper around es-toolkit's `mergeWith` with a custom merge function that concatenates arrays. */
|
|
4
4
|
const merge = (target, source) => mergeWith(target, source, (objValue, srcValue) => Array.isArray(objValue) ? objValue.concat(srcValue) : void 0);
|
|
5
|
-
/**
|
|
5
|
+
/**
|
|
6
|
+
* Creates a config merge function with proper type overloads for merging with a base config.
|
|
7
|
+
*
|
|
8
|
+
* `UserConfig` is not inferrable, so both type arguments must be passed explicitly. Returning the exact
|
|
9
|
+
* `OptionalMergeConfigFn` instantiation (instead of relating a looser type to an annotation at the export site) keeps
|
|
10
|
+
* tsc from eagerly evaluating the deep-mapped types over the full config type, which blows the instantiation depth
|
|
11
|
+
* limit on large configs like tsdown's.
|
|
12
|
+
*/
|
|
6
13
|
const createMergeConfigFn = (baseConfig) => {
|
|
7
14
|
const mergeConfigFn = (userConfig) => {
|
|
8
|
-
if (userConfig === void 0) return baseConfig;
|
|
15
|
+
if (userConfig === void 0) return cloneDeep(baseConfig);
|
|
9
16
|
return merge(cloneDeep(baseConfig), cloneDeep(userConfig));
|
|
10
17
|
};
|
|
11
18
|
return mergeConfigFn;
|
package/dist/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","names":[],"sources":["../src/utils.ts"],"sourcesContent":["import { cloneDeep, mergeWith } from \"es-toolkit\"\nimport type { MergeDeep } from \"type-fest\"\n\ntype AnyObj = object\n\n/** A wrapper around es-toolkit's `mergeWith` with a custom merge function that concatenates arrays. */\nconst merge = <T extends AnyObj, S extends AnyObj>(target: T, source: S): T & S =>\n mergeWith(target, source, (objValue: unknown, srcValue: unknown) =>\n // oxlint-disable-next-line unicorn/prefer-spread\n Array.isArray(objValue) ? objValue.concat(srcValue) : undefined,\n )\n\n
|
|
1
|
+
{"version":3,"file":"utils.js","names":[],"sources":["../src/utils.ts"],"sourcesContent":["import { cloneDeep, mergeWith } from \"es-toolkit\"\nimport type { MergeDeep, ReadonlyDeep, WritableDeep, SimplifyDeep } from \"type-fest\"\n\ntype AnyObj = object\n\n/** A wrapper around es-toolkit's `mergeWith` with a custom merge function that concatenates arrays. */\nconst merge = <T extends AnyObj, S extends AnyObj>(target: T, source: S): T & S =>\n mergeWith(target, source, (objValue: unknown, srcValue: unknown) =>\n // oxlint-disable-next-line unicorn/prefer-spread\n Array.isArray(objValue) ? objValue.concat(srcValue) : undefined,\n )\n\n/**\n * The merge config function, where the `UserConfig` passed in is merged with `BaseConfig`.\n *\n * The `const` type parameter keeps literal types without requiring `as const` at the call site. The constraint is\n * `ReadonlyDeep` so readonly arrays/objects (e.g. from `as const`) are accepted, and the result is `WritableDeep` so it\n * stays assignable to the tools' own (mutable) config types.\n */\nexport interface MergeConfigFn<UserConfig, BaseConfig> {\n // oxlint-disable-next-line typescript/prefer-function-type - need to use call signature type\n <const UserConfigToMerge extends ReadonlyDeep<UserConfig>>(\n userConfig: UserConfigToMerge,\n ): MergeDeep<\n SimplifyDeep<WritableDeep<BaseConfig>>,\n SimplifyDeep<WritableDeep<UserConfigToMerge>>,\n { arrayMergeMode: \"spread\" }\n >\n // Instead of returning `BaseConfig & UserConfig` (from `merge`), return a more friendly type using `MergeDeep`\n}\n\n/**\n * The optional merge config function, where the `userConfig` argument is optional. - if `UserConfig` is not provided,\n * the return type is `BaseConfig` - if `UserConfig` is provided, the return type is the merged type of `BaseConfig` and\n * `UserConfig`.\n *\n * Note that this extends `MergeConfigFn`, so this type has both function signatures on it.\n */\nexport interface OptionalMergeConfigFn<UserConfig, BaseConfig> extends MergeConfigFn<UserConfig, BaseConfig> {\n (): SimplifyDeep<WritableDeep<BaseConfig>>\n}\n\n/**\n * Creates a config merge function with proper type overloads for merging with a base config.\n *\n * `UserConfig` is not inferrable, so both type arguments must be passed explicitly. Returning the exact\n * `OptionalMergeConfigFn` instantiation (instead of relating a looser type to an annotation at the export site) keeps\n * tsc from eagerly evaluating the deep-mapped types over the full config type, which blows the instantiation depth\n * limit on large configs like tsdown's.\n */\nexport const createMergeConfigFn = <UserConfig extends AnyObj, BaseConfig extends ReadonlyDeep<UserConfig>>(\n baseConfig: BaseConfig,\n): OptionalMergeConfigFn<UserConfig, BaseConfig> => {\n // We don't care about the specific type of userConfig here because we assert mergeConfigFn as the correct type below\n const mergeConfigFn = (userConfig?: AnyObj) => {\n // Return a clone so consumers can't mutate the shared base config\n // oxlint-disable-next-line unicorn/prefer-structured-clone - structuredClone does not properly clone functions\n if (userConfig === undefined) return cloneDeep(baseConfig)\n // Clone both target and source so we never mutate the original objects\n // oxlint-disable-next-line unicorn/prefer-structured-clone - structuredClone does not properly clone functions\n return merge(cloneDeep(baseConfig), cloneDeep(userConfig))\n }\n\n // oxlint-disable-next-line typescript/no-unsafe-type-assertion\n return mergeConfigFn as OptionalMergeConfigFn<UserConfig, BaseConfig>\n}\n"],"mappings":";;;AAMA,MAAM,SAA6C,QAAW,WAC5D,UAAU,QAAQ,SAAS,UAAmB,aAE5C,MAAM,QAAQ,QAAQ,IAAI,SAAS,OAAO,QAAQ,IAAI,KAAA,CACxD;;;;;;;;;AAwCF,MAAa,uBACX,eACkD;CAElD,MAAM,iBAAiB,eAAwB;EAG7C,IAAI,eAAe,KAAA,GAAW,OAAO,UAAU,UAAU;EAGzD,OAAO,MAAM,UAAU,UAAU,GAAG,UAAU,UAAU,CAAC;CAC3D;CAGA,OAAO;AACT"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@adamhl8/configs",
|
|
3
|
-
"version": "0.24.
|
|
3
|
+
"version": "0.24.9",
|
|
4
4
|
"homepage": "https://github.com/adamhl8/configs",
|
|
5
5
|
"bugs": {
|
|
6
6
|
"url": "https://github.com/adamhl8/configs/issues"
|
|
@@ -45,7 +45,7 @@
|
|
|
45
45
|
"prepare": "lefthook install && nub ./patch-knip.ts && tsdown"
|
|
46
46
|
},
|
|
47
47
|
"dependencies": {
|
|
48
|
-
"@adamhl8/eslint-plugin-clean-modules": "^0.1.
|
|
48
|
+
"@adamhl8/eslint-plugin-clean-modules": "^0.1.3",
|
|
49
49
|
"@commitlint/config-conventional": "^21.2.0",
|
|
50
50
|
"@commitlint/types": "^21.2.0",
|
|
51
51
|
"es-toolkit": "^1.49.0",
|
|
@@ -67,7 +67,52 @@
|
|
|
67
67
|
"vitest": "^4.1.9"
|
|
68
68
|
},
|
|
69
69
|
"peerDependencies": {
|
|
70
|
-
"@
|
|
71
|
-
"
|
|
70
|
+
"@arethetypeswrong/core": ">=0.18",
|
|
71
|
+
"@commitlint/cli": ">=21",
|
|
72
|
+
"@commitlint/config-conventional": ">=21",
|
|
73
|
+
"knip": ">=6",
|
|
74
|
+
"oxfmt": ">=0.50",
|
|
75
|
+
"oxlint": ">=1",
|
|
76
|
+
"oxlint-tsgolint": ">=0.24",
|
|
77
|
+
"publint": ">=0.3",
|
|
78
|
+
"release-it": ">=19",
|
|
79
|
+
"tsdown": ">=0.20",
|
|
80
|
+
"typescript": "^6.0.0",
|
|
81
|
+
"vitest": ">=4"
|
|
82
|
+
},
|
|
83
|
+
"peerDependenciesMeta": {
|
|
84
|
+
"@arethetypeswrong/core": {
|
|
85
|
+
"optional": true
|
|
86
|
+
},
|
|
87
|
+
"@commitlint/cli": {
|
|
88
|
+
"optional": true
|
|
89
|
+
},
|
|
90
|
+
"@commitlint/config-conventional": {
|
|
91
|
+
"optional": true
|
|
92
|
+
},
|
|
93
|
+
"knip": {
|
|
94
|
+
"optional": true
|
|
95
|
+
},
|
|
96
|
+
"oxfmt": {
|
|
97
|
+
"optional": true
|
|
98
|
+
},
|
|
99
|
+
"oxlint-tsgolint": {
|
|
100
|
+
"optional": true
|
|
101
|
+
},
|
|
102
|
+
"oxlint": {
|
|
103
|
+
"optional": true
|
|
104
|
+
},
|
|
105
|
+
"publint": {
|
|
106
|
+
"optional": true
|
|
107
|
+
},
|
|
108
|
+
"release-it": {
|
|
109
|
+
"optional": true
|
|
110
|
+
},
|
|
111
|
+
"tsdown": {
|
|
112
|
+
"optional": true
|
|
113
|
+
},
|
|
114
|
+
"vitest": {
|
|
115
|
+
"optional": true
|
|
116
|
+
}
|
|
72
117
|
}
|
|
73
118
|
}
|