@culur/config-eslint 1.9.0 → 1.9.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +26 -0
- package/dist/index.cjs +23 -43
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +1 -3
- package/dist/index.d.mts +1 -5
- package/dist/index.mjs +21 -40
- package/dist/index.mjs.map +1 -1
- package/package.json +9 -14
- package/src/rules/pnpm-workspace-yaml.ts +1 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,31 @@
|
|
|
1
1
|
# @culur/config-eslint
|
|
2
2
|
|
|
3
|
+
## 1.9.1
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- ⚙️ Add `minimumReleaseAgeExcludePrune` to the `pnpm-workspace.yaml` key order ([#588](https://github.com/culur/culur/pull/588) [`2a71678`](https://github.com/culur/culur/commit/2a71678e594fe1839cfda14054e3bc05a967eb68)) ([@github-actions](https://github.com/apps/github-actions)).
|
|
8
|
+
|
|
9
|
+
`@antfu/eslint-config` v9.5 enforces `minimumReleaseAgeExcludePrune: true` via `pnpm/yaml-enforce-settings`, so the key is now sorted right after `minimumReleaseAgeStrict` by `yaml/sort-keys`.
|
|
10
|
+
|
|
11
|
+
- 📦 Update dependencies ([#555](https://github.com/culur/culur/pull/555) [`c8bda8b`](https://github.com/culur/culur/commit/c8bda8b390389766ed262d8cc95338553e6f722e)) ([@renovate](https://github.com/apps/renovate)):
|
|
12
|
+
|
|
13
|
+
- `dependencies`:
|
|
14
|
+
- `@antfu/eslint-config@^10.0.0`
|
|
15
|
+
|
|
16
|
+
- ⚙️ Update dependencies ([#554](https://github.com/culur/culur/pull/554) [`ba02254`](https://github.com/culur/culur/commit/ba0225468990f31a61c899fe9b98c2ee1c276805)) ([@renovate](https://github.com/apps/renovate)):
|
|
17
|
+
|
|
18
|
+
- `dependencies`:
|
|
19
|
+
- `@antfu/eslint-config@^9.5.1`
|
|
20
|
+
- `@vitest/eslint-plugin@^1.6.28`
|
|
21
|
+
- `devDependencies`:
|
|
22
|
+
- `@eslint/eslintrc@^3.3.7`
|
|
23
|
+
- `@vue/compiler-sfc@^3.5.44`
|
|
24
|
+
- `eslint@^10.14.0`
|
|
25
|
+
|
|
26
|
+
- 📦 Update workspace dependencies:
|
|
27
|
+
- [`@culur/utils-packages@1.3.2`](https://github.com/culur/culur/tree/main/packages/utils-packages#readme)
|
|
28
|
+
|
|
3
29
|
## 1.9.0
|
|
4
30
|
|
|
5
31
|
### Minor Changes
|
package/dist/index.cjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
// \0rolldown/runtime.js
|
|
2
2
|
var __create = Object.create;
|
|
3
3
|
var __defProp = Object.defineProperty;
|
|
4
4
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
@@ -15,11 +15,10 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
15
15
|
}
|
|
16
16
|
return to;
|
|
17
17
|
};
|
|
18
|
-
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
|
|
18
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule || !__hasOwnProp.call(mod, "default") ? __defProp(target, "default", {
|
|
19
19
|
value: mod,
|
|
20
20
|
enumerable: true
|
|
21
21
|
}) : target, mod));
|
|
22
|
-
//#endregion
|
|
23
22
|
let _antfu_eslint_config = require("@antfu/eslint-config");
|
|
24
23
|
_antfu_eslint_config = __toESM(_antfu_eslint_config, 1);
|
|
25
24
|
let _culur_utils_packages = require("@culur/utils-packages");
|
|
@@ -27,13 +26,12 @@ let node_assert = require("node:assert");
|
|
|
27
26
|
node_assert = __toESM(node_assert, 1);
|
|
28
27
|
let _vitest_eslint_plugin = require("@vitest/eslint-plugin");
|
|
29
28
|
_vitest_eslint_plugin = __toESM(_vitest_eslint_plugin, 1);
|
|
30
|
-
|
|
29
|
+
// src/overrides/imports-rules.ts
|
|
31
30
|
const importsRules = {
|
|
32
31
|
name: "antfu/imports/rules",
|
|
33
32
|
partialConfig: { rules: { "import/consistent-type-specifier-style": ["error", "prefer-top-level"] } }
|
|
34
33
|
};
|
|
35
|
-
|
|
36
|
-
//#region src/overrides/sort-package-json.ts
|
|
34
|
+
// src/overrides/sort-package-json.ts
|
|
37
35
|
const sortPackageJson = {
|
|
38
36
|
name: "antfu/sort/package-json",
|
|
39
37
|
async entireConfig() {
|
|
@@ -96,8 +94,7 @@ const sortPackageJson = {
|
|
|
96
94
|
return configItem;
|
|
97
95
|
}
|
|
98
96
|
};
|
|
99
|
-
|
|
100
|
-
//#region src/overrides/test-rules.ts
|
|
97
|
+
// src/overrides/test-rules.ts
|
|
101
98
|
const testRules = {
|
|
102
99
|
name: "antfu/test/rules",
|
|
103
100
|
partialConfig: {
|
|
@@ -114,8 +111,7 @@ const testRules = {
|
|
|
114
111
|
}
|
|
115
112
|
}
|
|
116
113
|
};
|
|
117
|
-
|
|
118
|
-
//#region src/overrides/vue-rules.ts
|
|
114
|
+
// src/overrides/vue-rules.ts
|
|
119
115
|
const vueRules = {
|
|
120
116
|
name: "antfu/vue/rules",
|
|
121
117
|
partialConfig: { rules: {
|
|
@@ -129,8 +125,7 @@ const vueRules = {
|
|
|
129
125
|
]
|
|
130
126
|
} }
|
|
131
127
|
};
|
|
132
|
-
|
|
133
|
-
//#region src/rules/filename.ts
|
|
128
|
+
// src/rules/filename.ts
|
|
134
129
|
const filenameRules = {
|
|
135
130
|
name: "culur/filename/rules",
|
|
136
131
|
files: [
|
|
@@ -154,15 +149,13 @@ const filenameRules = {
|
|
|
154
149
|
]
|
|
155
150
|
}] }
|
|
156
151
|
};
|
|
157
|
-
|
|
158
|
-
//#region src/rules/yaml-order.ts
|
|
152
|
+
// src/rules/yaml-order.ts
|
|
159
153
|
const yamlOrder = {
|
|
160
154
|
type: "asc",
|
|
161
155
|
caseSensitive: false,
|
|
162
156
|
natural: true
|
|
163
157
|
};
|
|
164
|
-
|
|
165
|
-
//#region src/rules/pnpm-workspace-yaml.ts
|
|
158
|
+
// src/rules/pnpm-workspace-yaml.ts
|
|
166
159
|
const pnpmWorkspaceSortKeys = {
|
|
167
160
|
root: {
|
|
168
161
|
pathPattern: /^$/.source,
|
|
@@ -179,6 +172,7 @@ const pnpmWorkspaceSortKeys = {
|
|
|
179
172
|
"minimumReleaseAgeExclude",
|
|
180
173
|
"minimumReleaseAgeIgnoreMissingTime",
|
|
181
174
|
"minimumReleaseAgeStrict",
|
|
175
|
+
"minimumReleaseAgeExcludePrune",
|
|
182
176
|
"trustPolicy",
|
|
183
177
|
"trustPolicyExclude",
|
|
184
178
|
"trustPolicyIgnoreAfter",
|
|
@@ -326,8 +320,7 @@ const pnpmWorkspaceYamlRules = {
|
|
|
326
320
|
"yaml/sort-sequence-values": ["error", pnpmWorkspaceSortSequenceValues.packages]
|
|
327
321
|
}
|
|
328
322
|
};
|
|
329
|
-
|
|
330
|
-
//#region src/rules/renovate-json/base/package-rule.ts
|
|
323
|
+
// src/rules/renovate-json/base/package-rule.ts
|
|
331
324
|
const packageRule = {
|
|
332
325
|
metadata: ["description"],
|
|
333
326
|
rangeStrategy: ["rangeStrategy"],
|
|
@@ -354,8 +347,7 @@ const packageRule = {
|
|
|
354
347
|
vulnerabilities: ["isVulnerabilityAlert", "vulnerabilityFixVersion"],
|
|
355
348
|
vulnerabilitiesShared: ["vulnerabilitySeverity"]
|
|
356
349
|
};
|
|
357
|
-
|
|
358
|
-
//#region src/rules/renovate-json/base/renovate-shared-config.ts
|
|
350
|
+
// src/rules/renovate-json/base/renovate-shared-config.ts
|
|
359
351
|
const renovateSharedConfig = {
|
|
360
352
|
config: [
|
|
361
353
|
"$schema",
|
|
@@ -435,8 +427,7 @@ const renovateSharedConfig = {
|
|
|
435
427
|
"rebaseWhen"
|
|
436
428
|
]
|
|
437
429
|
};
|
|
438
|
-
|
|
439
|
-
//#region src/rules/renovate-json/base/update-config.ts
|
|
430
|
+
// src/rules/renovate-json/base/update-config.ts
|
|
440
431
|
const updateConfig = {
|
|
441
432
|
semantic_versioning: [
|
|
442
433
|
"major",
|
|
@@ -455,8 +446,7 @@ const updateConfig = {
|
|
|
455
446
|
"replacement"
|
|
456
447
|
]
|
|
457
448
|
};
|
|
458
|
-
|
|
459
|
-
//#region src/rules/renovate-json/order/package-rule.ts
|
|
449
|
+
// src/rules/renovate-json/order/package-rule.ts
|
|
460
450
|
const packageRuleOrder = [
|
|
461
451
|
...packageRule.metadata,
|
|
462
452
|
...renovateSharedConfig.config,
|
|
@@ -480,8 +470,7 @@ const packageRuleOrder = [
|
|
|
480
470
|
...updateConfig.lock_file,
|
|
481
471
|
...updateConfig.special_cases
|
|
482
472
|
];
|
|
483
|
-
|
|
484
|
-
//#region src/rules/renovate-json/base/assignees-and-reviewers-config.ts
|
|
473
|
+
// src/rules/renovate-json/base/assignees-and-reviewers-config.ts
|
|
485
474
|
const assigneesAndReviewersConfig = {
|
|
486
475
|
assignees: [
|
|
487
476
|
"assignees",
|
|
@@ -497,11 +486,9 @@ const assigneesAndReviewersConfig = {
|
|
|
497
486
|
],
|
|
498
487
|
common: ["expandCodeOwnersGroups", "filterUnavailableUsers"]
|
|
499
488
|
};
|
|
500
|
-
|
|
501
|
-
//#region src/rules/renovate-json/base/config-migration.ts
|
|
489
|
+
// src/rules/renovate-json/base/config-migration.ts
|
|
502
490
|
const configMigration = ["configMigration"];
|
|
503
|
-
|
|
504
|
-
//#region src/rules/renovate-json/base/legacy-admin-config.ts
|
|
491
|
+
// src/rules/renovate-json/base/legacy-admin-config.ts
|
|
505
492
|
const legacyAdminConfig = {
|
|
506
493
|
onboarding: [
|
|
507
494
|
"onboarding",
|
|
@@ -516,8 +503,7 @@ const legacyAdminConfig = {
|
|
|
516
503
|
configurationRequirements: ["requireConfig"],
|
|
517
504
|
executionLogging: ["localDir", "logContext"]
|
|
518
505
|
};
|
|
519
|
-
|
|
520
|
-
//#region src/rules/renovate-json/base/renovate-config.ts
|
|
506
|
+
// src/rules/renovate-json/base/renovate-config.ts
|
|
521
507
|
const renovateConfig = {
|
|
522
508
|
metadata: ["description"],
|
|
523
509
|
repository: [
|
|
@@ -603,8 +589,7 @@ const renovateConfig = {
|
|
|
603
589
|
],
|
|
604
590
|
packageRules: ["packageRules"]
|
|
605
591
|
};
|
|
606
|
-
|
|
607
|
-
//#region src/rules/renovate-json/order/root.ts
|
|
592
|
+
// src/rules/renovate-json/order/root.ts
|
|
608
593
|
const rootOrder = [
|
|
609
594
|
...renovateSharedConfig.config,
|
|
610
595
|
...renovateConfig.metadata,
|
|
@@ -645,8 +630,7 @@ const rootOrder = [
|
|
|
645
630
|
...updateConfig.special_cases,
|
|
646
631
|
...renovateConfig.packageRules
|
|
647
632
|
];
|
|
648
|
-
|
|
649
|
-
//#region src/rules/renovate-json/index.ts
|
|
633
|
+
// src/rules/renovate-json/index.ts
|
|
650
634
|
const renovateJsonRules = {
|
|
651
635
|
name: "culur/renovate-json/rules",
|
|
652
636
|
files: [
|
|
@@ -672,8 +656,7 @@ const renovateJsonRules = {
|
|
|
672
656
|
}
|
|
673
657
|
] }
|
|
674
658
|
};
|
|
675
|
-
|
|
676
|
-
//#region src/rules/yarnrc-yml.ts
|
|
659
|
+
// src/rules/yarnrc-yml.ts
|
|
677
660
|
const yarnrcYmlSortKeys = { packageExtensions: {
|
|
678
661
|
packages: {
|
|
679
662
|
pathPattern: /^packageExtensions$/.source,
|
|
@@ -698,11 +681,9 @@ const yarnrcYmlRules = {
|
|
|
698
681
|
yarnrcYmlSortKeys.packageExtensions.childPackages
|
|
699
682
|
] }
|
|
700
683
|
};
|
|
701
|
-
|
|
702
|
-
//#region src/types/index.ts
|
|
684
|
+
// src/types/index.ts
|
|
703
685
|
const defineOverride = (config) => [config.name, "partialConfig" in config ? config.partialConfig : config.entireConfig];
|
|
704
|
-
|
|
705
|
-
//#region src/index.ts
|
|
686
|
+
// src/index.ts
|
|
706
687
|
function defineConfig(...[options = {}, ...userConfigs]) {
|
|
707
688
|
const { hasVue } = (0, _culur_utils_packages.defineHasPackages)({ vue: !!options.vue });
|
|
708
689
|
const config = (0, _antfu_eslint_config.default)({
|
|
@@ -717,7 +698,6 @@ function defineConfig(...[options = {}, ...userConfigs]) {
|
|
|
717
698
|
if (hasVue()) config.override(...defineOverride(vueRules));
|
|
718
699
|
return config;
|
|
719
700
|
}
|
|
720
|
-
//#endregion
|
|
721
701
|
module.exports = defineConfig;
|
|
722
702
|
|
|
723
703
|
//# sourceMappingURL=index.cjs.map
|
package/dist/index.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","names":["vitest"],"sources":["../src/overrides/imports-rules.ts","../src/overrides/sort-package-json.ts","../src/overrides/test-rules.ts","../src/overrides/vue-rules.ts","../src/rules/filename.ts","../src/rules/yaml-order.ts","../src/rules/pnpm-workspace-yaml.ts","../src/rules/renovate-json/base/package-rule.ts","../src/rules/renovate-json/base/renovate-shared-config.ts","../src/rules/renovate-json/base/update-config.ts","../src/rules/renovate-json/order/package-rule.ts","../src/rules/renovate-json/base/assignees-and-reviewers-config.ts","../src/rules/renovate-json/base/config-migration.ts","../src/rules/renovate-json/base/legacy-admin-config.ts","../src/rules/renovate-json/base/renovate-config.ts","../src/rules/renovate-json/order/root.ts","../src/rules/renovate-json/index.ts","../src/rules/yarnrc-yml.ts","../src/types/index.ts","../src/index.ts"],"sourcesContent":["import type { OverrideConfig } from '~/types';\n\nexport const importsRules: OverrideConfig = {\n name: 'antfu/imports/rules',\n partialConfig: {\n rules: {\n // 'import/no-deprecated': 'error',\n 'import/consistent-type-specifier-style': ['error', 'prefer-top-level'],\n },\n },\n};\n","import type { OverrideConfig } from '~/types';\nimport assert from 'node:assert';\nimport { sortPackageJson as sortPackageJsonAntfu } from '@antfu/eslint-config';\n\nexport const sortPackageJson: OverrideConfig = {\n name: 'antfu/sort/package-json',\n async entireConfig() {\n const [configItem] = await sortPackageJsonAntfu();\n assert(typeof configItem.name === 'string');\n assert(typeof configItem.rules === 'object');\n\n const sortKeys = configItem.rules['jsonc/sort-keys'];\n assert(typeof sortKeys === 'object');\n\n const [, options] = sortKeys;\n assert(typeof options === 'object');\n\n options.order = [\n //? Project\n 'publisher',\n 'name',\n 'displayName',\n 'version',\n 'description',\n 'private',\n 'publishConfig',\n\n //? Repository\n 'repository',\n 'bugs',\n 'homepage',\n 'funding',\n\n //? Author & license\n 'contributors',\n 'author',\n 'license',\n\n //? https://code.visualstudio.com/api/references/extension-manifest\n 'keywords',\n 'categories',\n\n //? CDN\n 'unpkg',\n 'jsdelivr',\n\n //? Export\n 'type', // module or commonjs\n 'main',\n 'types',\n 'typings', // synonymous with types\n 'typesVersions',\n 'exports',\n 'bin',\n 'files',\n 'workspaces',\n\n //? https://code.visualstudio.com/api/references/extension-manifest\n 'icon',\n 'activationEvents',\n 'contributes',\n\n //? Scripts\n 'scripts',\n\n //? Node & packageManager\n 'volta',\n 'engines',\n 'packageManager',\n\n //? Dependencies\n 'dependencies',\n 'devDependencies',\n 'peerDependencies',\n 'peerDependenciesMeta',\n 'bundleDependencies',\n 'optionalDependencies',\n\n 'pnpm',\n 'overrides',\n 'resolutions',\n\n //? Lib config\n 'husky',\n 'simple-git-hooks',\n 'lint-staged',\n 'eslintConfig',\n ];\n\n return configItem;\n },\n};\n","import type { Linter } from 'eslint';\nimport type { OverrideConfig } from '~/types';\nimport vitest from '@vitest/eslint-plugin';\n\ndeclare module '~/types' {\n export interface ExtraRules {\n // https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/valid-title.md\n 'test/valid-title': Linter.RuleEntry<\n [\n {\n ignoreTypeOfDescribeName?: boolean;\n allowArguments?: boolean;\n disallowedWords?: string[];\n mustNotMatch?: string[];\n mustMatch?: string[];\n },\n ]\n >;\n }\n}\n\nexport const testRules: OverrideConfig = {\n name: 'antfu/test/rules',\n partialConfig: {\n // Same `include` in @culur/config-vite\n files: ['**/*\\\\.{test,test-d}.?(c|m)[jt]s?(x)'],\n rules: {\n ...vitest.configs.recommended.rules,\n 'test/valid-title': ['error', { allowArguments: true }],\n 'test/expect-expect': [\n 'error',\n {\n assertFunctionNames: [\n 'expect',\n 'expectTypeOf',\n 'assert',\n 'assertType',\n ],\n },\n ],\n },\n },\n};\n","import type { OverrideConfig } from '~/types';\n\nexport const vueRules: OverrideConfig = {\n name: 'antfu/vue/rules',\n partialConfig: {\n rules: {\n 'vue/singleline-html-element-content-newline': 'off',\n 'vue/multiline-html-element-content-newline': 'off',\n 'vue/padding-line-between-blocks': ['error', 'always'],\n 'vue/component-name-in-template-casing': [\n 'error',\n 'PascalCase',\n { registeredComponentsOnly: false },\n ],\n },\n },\n};\n","import type { TypedFlatConfigItem } from '@antfu/eslint-config';\n\nexport const filenameRules: TypedFlatConfigItem = {\n name: 'culur/filename/rules',\n files: [\n '**/*.?(c|m){js,ts}?(x)',\n '**/*.vue',\n '**/*.md?(x)',\n '**/*.json?(c)',\n '**/*.y?(a)ml',\n '**/*.gql',\n '**/*.graphql',\n ],\n rules: {\n 'unicorn/filename-case': [\n 'error',\n {\n case: 'kebabCase',\n ignore: [\n '^ADR-\\\\w+\\\\.md',\n '^ARCHITECTURE\\\\.md',\n '^CHANGELOG\\\\.md',\n '^CONTRIBUTING\\\\.md',\n '^README\\\\.md',\n '^__tests__',\n ],\n },\n ],\n },\n};\n","import type { Rules } from '@antfu/eslint-config';\nimport type { Linter } from 'eslint';\n\nexport const yamlOrder = {\n type: 'asc',\n caseSensitive: false,\n natural: true,\n} as const;\n\nexport type YamlSortKeys =\n NonNullable<Rules['yaml/sort-keys']> extends Linter.RuleEntry<infer F>\n ? F\n : never;\n\nexport type YamlSortKeysRecord = YamlSortKeys[0];\n\nexport type YamlSortSequenceValues =\n NonNullable<Rules['yaml/sort-sequence-values']> extends Linter.RuleEntry<\n infer F\n >\n ? F\n : never;\n\nexport type YamlSortSequenceValuesRecord = YamlSortSequenceValues[0];\n","import type { TypedFlatConfigItem } from '@antfu/eslint-config';\nimport type {\n YamlSortKeysRecord,\n YamlSortSequenceValuesRecord,\n} from './yaml-order';\nimport { yamlOrder } from './yaml-order';\n\nexport const pnpmWorkspaceSortKeys = {\n root: {\n pathPattern: /^$/.source,\n order: [\n //! Monorepo\n 'packages',\n 'catalog',\n\n //! Dependency Resolution\n 'overrides',\n 'packageExtensions',\n 'allowedDeprecatedVersions',\n 'updateConfig',\n 'supportedArchitectures',\n 'ignoredOptionalDependencies',\n 'minimumReleaseAge',\n 'minimumReleaseAgeExclude',\n 'minimumReleaseAgeIgnoreMissingTime',\n 'minimumReleaseAgeStrict',\n 'trustPolicy',\n 'trustPolicyExclude',\n 'trustPolicyIgnoreAfter',\n 'trustLockfile',\n 'blockExoticSubdeps',\n 'registries',\n 'namedRegistries',\n\n //! Dependency Hoisting Settings\n 'hoist',\n 'hoistWorkspacePackages',\n 'hoistPattern',\n 'publicHoistPattern',\n 'shamefullyHoist',\n\n //! Node-Modules Settings\n 'modulesDir',\n 'nodeLinker',\n 'symlink',\n 'enableModulesDir',\n 'virtualStoreDir',\n 'virtualStoreDirMaxLength',\n 'virtualStoreOnly',\n 'packageImportMethod',\n 'modulesCacheMaxAge',\n 'dlxCacheMaxAge',\n 'enableGlobalVirtualStore',\n\n //! Store Settings\n 'storeDir',\n 'verifyStoreIntegrity',\n 'useRunningStoreServer',\n 'strictStorePkgContentCheck',\n\n //! Network Settings\n 'httpsProxy',\n 'httpProxy',\n 'noProxy',\n 'localAddress',\n 'maxsockets',\n 'strictSsl',\n\n //! Lockfile Settings\n 'lockfile',\n 'preferFrozenLockfile',\n 'lockfileIncludeTarballUrl',\n 'gitBranchLockfile',\n 'mergeGitBranchLockfilesBranchPattern',\n 'peersSuffixMaxLength',\n\n //! Request Settings\n 'gitShallowHosts',\n 'networkConcurrency',\n 'fetchRetries',\n 'fetchRetryFactor',\n 'fetchRetryMintimeout',\n 'fetchRetryMaxtimeout',\n 'fetchTimeout',\n 'fetchWarnTimeoutMs',\n 'fetchMinSpeedKiBps',\n\n //! Peer Dependency Settings\n 'autoInstallPeers',\n 'dedupePeerDependents',\n 'dedupePeers',\n 'strictPeerDependencies',\n 'resolvePeersFromWorkspaceRoot',\n 'peerDependencyRules',\n\n //! CLI Settings\n '[no-]color',\n 'loglevel',\n 'useBetaCli',\n 'recursiveInstall',\n 'engineStrict',\n 'npmPath',\n 'pmOnFail',\n 'ignoreWorkspaceRootCheck',\n\n //! Build Settings\n 'ignoreScripts',\n 'childConcurrency',\n 'sideEffectsCache',\n 'sideEffectsCacheReadonly',\n 'unsafePerm',\n 'nodeOptions',\n 'verifyDepsBeforeRun',\n 'strictDepBuilds',\n 'allowBuilds',\n 'dangerouslyAllowAllBuilds',\n\n //! Node.js Settings\n 'nodeVersion',\n 'runtimeOnFail',\n 'nodeDownloadMirrors',\n\n //! Other Settings\n 'savePrefix',\n 'tag',\n 'globalDir',\n 'globalBinDir',\n 'npmrcAuthFile',\n 'stateDir',\n 'cacheDir',\n 'useStderr',\n 'updateNotifier',\n 'preferSymlinkedExecutables',\n 'ignoreCompatibilityDb',\n 'resolutionMode',\n 'registrySupportsTimeField',\n 'extendNodePath',\n 'deployAllFiles',\n 'dedupeDirectDeps',\n 'optimisticRepeatInstall',\n 'requiredScripts',\n 'enablePrePostScripts',\n 'scriptShell',\n 'shellEmulator',\n 'catalogMode',\n 'ci',\n 'cleanupUnusedCatalogs',\n ],\n },\n packages: {\n pathPattern: `^(${[\n 'overrides',\n 'packageExtensions',\n 'allowedDeprecatedVersions',\n 'updateConfig',\n 'supportedArchitectures',\n 'registries',\n 'namedRegistries',\n ].join('|')})$`,\n order: yamlOrder,\n },\n} satisfies Record<string, YamlSortKeysRecord>;\n\nexport const pnpmWorkspaceSortSequenceValues = {\n packages: {\n pathPattern: `^(${[\n 'ignoredOptionalDependencies',\n 'minimumReleaseAgeExclude',\n 'trustPolicyExclude',\n ].join('|')})$`,\n order: yamlOrder,\n },\n} satisfies Record<string, YamlSortSequenceValuesRecord>;\n\nexport const pnpmWorkspaceYamlRules: TypedFlatConfigItem = {\n name: 'culur/pnpm-workspace-yaml/rules',\n files: ['pnpm-workspace.yaml'],\n rules: {\n 'yaml/sort-keys': [\n 'error',\n pnpmWorkspaceSortKeys.root,\n pnpmWorkspaceSortKeys.packages,\n ],\n 'yaml/sort-sequence-values': [\n 'error',\n pnpmWorkspaceSortSequenceValues.packages,\n ],\n },\n};\n","import type { JsoncSortKeysOrderMap } from './types';\n\nexport const packageRule = {\n // --- Metadata ---\n metadata: [\n 'description', // string | string[]: Human-readable description of what this package rule does, useful for documenting complex configurations.\n ],\n\n // --- Range Strategy ---\n rangeStrategy: [\n 'rangeStrategy', // 'auto' | 'pin' | 'bump' | 'replace' | 'widen' | 'update-lockfile' | 'in-range-only': Determines how to modify or update existing ranges\n ],\n\n // --- Rule Matching Criteria (Core) ---\n // These properties determine *which* dependencies or updates this rule applies to.\n matching: [\n 'matchPackageNames', // string[]: Apply rule if dependency name matches any in this list (e.g., [\"react\", \"lodash\"]).\n 'matchDepNames', // string[]: Apply rule if dependency name matches (similar to matchPackageNames, can be broader).\n 'matchManagers', // string[]: Apply rule if the dependency is managed by one of these package managers (e.g., [\"npm\", \"docker\"]).\n 'matchDatasources', // string[]: Apply rule if the dependency's version source matches (e.g., [\"npm\", \"git-tags\", \"docker\"]).\n 'matchDepTypes', // string[]: Apply rule if the dependency type matches (e.g., [\"dependencies\", \"devDependencies\", \"peerDependencies\"]).\n 'matchUpdateTypes', // UpdateType[]: Apply rule based on the type of update (e.g., [\"major\", \"minor\", \"patch\", \"pin\", \"digest\"]).\n 'matchCategories', // string[]: Apply rule if dependency belongs to specified categories (defined via extractConfigs or presets like \"linters\").\n 'matchCurrentVersion', // string: Apply rule if the *currently installed* version matches this pattern (supports regex).\n 'matchSourceUrls', // string[]: Apply rule if the dependency's source repository URL matches any pattern in the list.\n 'matchFileNames', // string[]: Apply rule if the dependency is found in a file matching any pattern in this list.\n 'matchBaseBranches', // string[]: Apply rule only when Renovate is running against one of these base branches.\n 'matchRepositories', // string[]: Apply rule only when Renovate is running in a repository matching one of these names.\n 'matchCurrentValue', // string: Apply rule if the current value (e.g., Docker tag) matches this pattern.\n 'matchNewValue', // string: Apply rule if the proposed new value/version matches this pattern.\n 'matchCurrentAge', // string: Apply rule based on how long the current version has been used (e.g., \"> 3 months\").\n 'matchConfidence', // MergeConfidence[]: Apply rule based on Renovate's calculated merge confidence level (e.g., [\"high\", \"very-high\"]).\n 'matchJsonata', // string[]: Advanced matching using JSONata queries against dependency metadata.\n ],\n\n // --- Registry & Network Configuration ---\n registriesNetwork: [\n 'registryUrls', // string[] | null: Override the global or default registry URLs specifically for dependencies matched by this rule.\n ],\n\n // --- Vulnerability Specific Matching ---\n vulnerabilities: [\n 'isVulnerabilityAlert', // boolean: (Note: Likely an internal flag set by Renovate, used to *match* rules against updates that *are* vulnerability fixes, rather than being set directly by the user). Apply rule if the update addresses a known vulnerability.\n 'vulnerabilityFixVersion', // string: Apply rule if the vulnerability fix is targeting this specific version.\n ],\n vulnerabilitiesShared: [\n 'vulnerabilitySeverity', // string: Minimum vulnerability severity level to report or act upon (e.g., \"high\", \"critical\").\n ],\n} as const satisfies JsoncSortKeysOrderMap;\n","import type { JsoncSortKeysOrderMap } from './types';\n\nexport const renovateSharedConfig = {\n // --- Core Configuration ---\n config: [\n '$schema', // string: Reference to the JSON schema for validation.\n 'extends', // string[]: Specifies configuration presets to inherit from.\n 'enabled', // boolean: Enables or disables Renovate for the repository or rule.\n 'enabledManagers', // string[]: List of package managers to enable (e.g., [\"npm\", \"docker\"]).\n ],\n\n // --- Dependency Dashboard ---\n dependencyDashboard: [\n 'dependencyDashboardApproval', // boolean: Requires manual approval via the Dependency Dashboard checkbox before a PR is created.\n ],\n\n // --- Scheduling and Timezone ---\n schedule: [\n 'schedule', // string[]: Defines when Renovate should run using cron syntax or presets.\n 'timezone', // string: Timezone to use for scheduling (e.g., \"UTC\", \"America/New_York\").\n ],\n\n // --- Automerge ---\n automerge: [\n 'automerge', // boolean: Enables automatic merging of PRs when conditions are met.\n 'automergeType', // 'pr' | 'branch-push' | 'pr-comment': Specifies the automerge mechanism. Deprecated/renamed? (Note: Not in original list, added for context, potentially maps to other settings).\n 'automergeStrategy', // MergeStrategy ('auto', 'merge', 'rebase', 'squash'): The merge strategy to use for automerging.\n 'automergeSchedule', // string[]: Schedules automerging attempts independently of PR updates.\n 'internalChecksAsSuccess', // boolean: Considers Renovate's internal checks as successful for automerge status checks.\n 'platformAutomerge', // boolean: Use the platform's native automerge feature if available. (Note: Not in original list, but common).\n ],\n\n // --- Branch Management ---\n branch: [\n 'branchPrefix', // string: Prefix added to all Renovate-created branches.\n 'branchName', // string: Template for naming Renovate branches.\n 'branchNameStrict', // boolean: If true, enforces stricter validation for branch names.\n 'hashedBranchLength', // number: Length of the hash appended to branch names when needed.\n 'pruneBranchAfterAutomerge', // boolean: Automatically delete the branch after a PR is automerged.\n // 'branchPrefixOld', // string: Potentially deprecated or for specific migration scenarios.\n ],\n\n // --- Grouping Dependencies ---\n grouping: [\n 'group', // GroupConfig: More detailed configuration for grouping dependencies.\n 'groupName', // string: A custom name for a group of dependencies updated together in one PR.\n 'groupSlug', // string: A URL-friendly slug for the group name.\n ],\n\n // --- Commit Management ---\n commit: [\n 'semanticCommits', // 'auto' | 'enabled' | 'disabled': Controls the use of semantic commit messages.\n 'semanticCommitType', // string: The type used in semantic commits (e.g., \"fix\", \"chore\").\n 'semanticCommitScope', // string | null: The scope used in semantic commits.\n 'commitMessagePrefix', // string: Prefix added to all commit messages.\n 'commitMessage', // string: Template for the commit message body.\n 'commitMessageAction', // string: Action part of the commit message (e.g., \"Update\", \"Pin\").\n 'commitMessageTopic', // string: Topic part of the commit message (e.g., dependency name).\n 'commitMessageExtra', // string: Additional details appended to the commit message.\n 'commitMessageLowerCase', // 'auto' | 'never': Controls the casing of the commit message header.\n 'platformCommit', // PlatformCommitOptions: Platform-specific commit options.\n ],\n\n // --- Pull Request (PR) Management ---\n pr: [\n 'prCreation', // 'immediate' | 'not-pending' | 'status-success' | 'approval': Controls when PRs are created based on checks/approvals.\n 'draftPR', // boolean: Creates PRs as drafts initially.\n 'recreateClosed', // boolean: Recreate PRs if they were manually closed without merging.\n 'recreateWhen', // RecreateWhen: Specifies conditions under which closed PRs should be recreated.\n 'prBodyColumns', // string[]: Specifies which columns to include in the PR body's dependency table.\n 'prBodyDefinitions', // Record<string, string>: Custom definitions/text for sections within the PR body.\n 'prPriority', // number: Sets a priority level for the PR (platform-dependent).\n 'confidential', // boolean: Marks the PR as confidential (platform-dependent, e.g., GitLab).\n 'milestone', // number: Assigns the PR to a specific milestone number.\n ],\n\n // --- Labels ---\n labels: [\n 'labels', // string[]: List of labels to be added to created PRs.\n 'addLabels', // string[]: Additional labels to add (often used in package rules).\n 'keepUpdatedLabel', // string: Label indicating a PR should be kept up-to-date by Renovate, even if tests fail.\n 'rebaseLabel', // string: Label that triggers Renovate to rebase the PR.\n 'stopUpdatingLabel', // string: Label that tells Renovate to stop updating a specific PR.\n ],\n\n // --- Dependency Filtering and Matching ---\n filtering: [\n 'ignoreDeps', // string[]: List of dependency names to ignore completely.\n 'ignorePaths', // string[]: List of file paths or glob patterns to ignore during scanning.\n 'includePaths', // string[]: List of file paths or glob patterns to explicitly include (if others are ignored).\n 'fileMatch', // string[]: Glob patterns for matching dependency files.\n 'respectLatest', // boolean: Whether to strictly respect the 'latest' tag instead of potentially newer versions.\n 'ignoreTests', // boolean: Option to ignore dependencies typically found only in test/development scopes.\n ],\n\n // --- Advanced / Less Common ---\n advanced: [\n 'postUpgradeTasks', // PostUpgradeTasks: Defines commands or scripts to run after dependency upgrades.\n 'npmrc', // string: Allows providing custom .npmrc content for Renovate's operations.\n 'npmrcMerge', // boolean: Whether to merge provided npmrc content with existing files.\n 'changelogUrl', // string: A custom URL template for linking to changelogs.\n 'gitIgnoredAuthors', // string[]: List of git commit authors whose commits should be ignored by Renovate (e.g., bots).\n 'unicodeEmoji', // boolean: Use Unicode emojis (e.g., ✨) instead of text alternatives (e.g., :sparkles:).\n 'suppressNotifications', // string[]: List of notification types to suppress.\n 'productLinks', // Record<string, string>: Custom links for product documentation shown in PRs.\n 'rebaseWhen', // string ('auto', 'behind-base-branch', 'conflicted', 'never'): Conditions under which Renovate should rebase PRs.\n // 'manager', // string: Usually context-specific, identifies the package manager being used.\n // 'repository', // string: Usually context-specific, the name of the repository.\n // 'repositoryCache', // RepositoryCacheConfig: Configuration for caching repository data.\n // 'repositoryCacheType', // RepositoryCacheType: Type of repository cache ('local', 'shared', etc.).\n // 'autoReplaceGlobalMatch',// boolean: Advanced feature related to global replacements (less common).\n // 'force', // RenovateConfig: Allows forcing specific configurations, overriding others (use with caution).\n ],\n} as const satisfies JsoncSortKeysOrderMap;\n","import type { JsoncSortKeysOrderMap } from './types';\n\nexport const updateConfig = {\n // --- Semantic Versioning Updates ---\n // Based on standard SemVer (MAJOR.MINOR.PATCH) changes.\n semantic_versioning: [\n 'major', // T: A change in the MAJOR version number (e.g., 1.x.x -> 2.0.0).\n 'minor', // T: A change in the MINOR version number (e.g., 1.2.x -> 1.3.0).\n 'patch', // T: A change in the PATCH version number (e.g., 1.2.3 -> 1.2.4).\n ],\n\n // --- Pinning and Digest Updates ---\n // Used for fixing to exact versions/digests.\n pinning_digests: [\n 'pin', // T: Updating from a range to a specific fixed version.\n 'digest', // T: Updating the content digest (hash) of a dependency (e.g., Docker image SHA).\n 'pinDigest', // T: An update involving both pinning and digest update.\n ],\n\n // --- Lock File Maintenance ---\n // Updates primarily related to the lock file.\n lock_file: [\n 'lockFileMaintenance', // T: Maintenance updates within the lock file without changing direct dependencies.\n 'lockfileUpdate', // T: General updates confined to the lock file. (Note: Potential overlap with lockFileMaintenance).\n ],\n\n // --- Special Update Cases ---\n // Covers less common or non-standard update scenarios.\n special_cases: [\n 'rollback', // T: Reverting a dependency to a previous version.\n 'bump', // T: A non-specific version increase (e.g., for date-based versions or non-SemVer).\n 'replacement', // T: Replacing one dependency with another.\n ],\n} as const satisfies JsoncSortKeysOrderMap;\n","import type { JsoncSortKeysOrder } from '../base/types';\nimport { packageRule } from '../base/package-rule';\nimport { renovateSharedConfig } from '../base/renovate-shared-config';\nimport { updateConfig } from '../base/update-config';\n\n// PackageRule\n// RenovateSharedConfig\n// UpdateConfig\nexport const packageRuleOrder = [\n //? core config\n ...packageRule.metadata,\n ...renovateSharedConfig.config,\n ...renovateSharedConfig.branch,\n\n //? migration & dashboard\n ...renovateSharedConfig.dependencyDashboard,\n\n //? schedule\n ...renovateSharedConfig.schedule,\n ...renovateSharedConfig.automerge,\n\n //? grouping\n ...renovateSharedConfig.grouping,\n ...renovateSharedConfig.commit,\n ...renovateSharedConfig.pr,\n ...renovateSharedConfig.labels,\n ...renovateSharedConfig.filtering,\n\n //? rangeStrategy\n ...packageRule.rangeStrategy,\n\n //? matching\n ...packageRule.matching,\n ...packageRule.registriesNetwork,\n\n //? vulnerabilities\n ...packageRule.vulnerabilities,\n ...packageRule.vulnerabilitiesShared,\n\n //? rarely\n ...renovateSharedConfig.advanced,\n\n //? overrides\n ...updateConfig.semantic_versioning,\n ...updateConfig.pinning_digests,\n ...updateConfig.lock_file,\n ...updateConfig.special_cases,\n] as const as JsoncSortKeysOrder;\n","import type { JsoncSortKeysOrderMap } from './types';\n\nexport const assigneesAndReviewersConfig = {\n // --- Assignees ---\n assignees: [\n 'assignees', // string[]: Explicit list of usernames to assign to the PR.\n 'assigneesFromCodeOwners', // boolean: Assign users listed as owners in the CODEOWNERS file.\n 'assigneesSampleSize', // number: Select a random sample of this size from the potential assignees (either from `assignees` list or CODEOWNERS). [1]\n ],\n\n // --- Reviewers ---\n reviewers: [\n 'reviewers', // string[]: Explicit list of usernames to request reviews from.\n 'reviewersFromCodeOwners', // boolean: Request reviews from users listed as owners in the CODEOWNERS file.\n 'reviewersSampleSize', // number: Select a random sample of this size from the potential reviewers (either from `reviewers` list or CODEOWNERS).\n 'additionalReviewers', // string[]: Add these users as reviewers *in addition* to any specified in `reviewers` or derived from CODEOWNERS. Useful for adding specific reviewers in package rules without overriding the base list. [14]\n 'ignoreReviewers', // string[]: List of usernames that should *not* be added as reviewers, even if they are in the `reviewers` list or CODEOWNERS. Useful for filtering out bots or users on leave. [2]\n ],\n\n // --- Common / Helper Options ---\n common: [\n 'expandCodeOwnersGroups', // boolean: If true, Renovate expands CODEOWNERS groups (like `@org/team`) into individual members before applying logic like `reviewersSampleSize`. Supported on GitLab [3, 4, 6] and potentially other platforms supporting group expansion [1].\n 'filterUnavailableUsers', // boolean: (Note: Supported on GitLab [3, 5]) Check if assigned/requested users are actually available/have access on the platform before adding them. [3, 5, 8, 12, 13] Prevents errors if a listed user doesn't exist or can't access the repository.\n // 'assignAutomerge', // boolean: (Note: From [14], likely deprecated or less common) Assign reviewers/assignees even if automerge is enabled. Default Renovate behavior is *not* to add assignees/reviewers if automerge is set, to reduce noise, unless the PR fails checks. [2, 7]\n ],\n} as const satisfies JsoncSortKeysOrderMap;\n","import type { JsoncSortKeysOrder } from './types';\n\nexport const configMigration = [\n 'configMigration', // boolean: Enable this to get config migration PRs when needed\n] as const satisfies JsoncSortKeysOrder;\n","import type { JsoncSortKeysOrderMap } from './types';\n\nexport const legacyAdminConfig = {\n // --- Onboarding Configuration ---\n // Controls the behavior of the initial \"onboarding\" PR that Renovate creates\n // when it's first enabled on a repository, typically adding the renovate.json config file.\n onboarding: [\n 'onboarding', // boolean: Enables or disables the onboarding process. If false, Renovate might not start if no config exists.\n 'onboardingBranch', // string: The name of the branch to use for the onboarding PR (e.g., \"renovate/configure\").\n 'onboardingCommitMessage', // string: Custom commit message for the onboarding commit.\n 'onboardingPrTitle', // string: Custom title for the onboarding PR.\n 'onboardingConfig', // RenovateSharedConfig: A minimal Renovate configuration object to propose in the onboarding PR.\n 'onboardingConfigFileName', // string: The filename for the proposed configuration file (e.g., \"renovate.json\", \".github/renovate.json\").\n 'onboardingRebaseCheckbox', // boolean: Adds a checkbox to the onboarding PR body allowing users to request Renovate to rebase the PR. (Note: Specific to platform integration).\n 'onboardingNoDeps', // 'auto' | 'enabled' | 'disabled': Controls whether the onboarding PR should include initial dependency updates or just the configuration file. 'auto' usually means include updates if few dependencies exist.\n ],\n\n // --- Configuration Requirements ---\n // Defines requirements for the Renovate configuration itself.\n configurationRequirements: [\n 'requireConfig', // RequiredConfig ('required', 'optional', 'ignored'): Specifies whether a Renovate configuration file (`renovate.json`, etc.) is mandatory for Renovate to run on the repository. 'ignored' might be used in centrally managed setups.\n ],\n\n // --- Execution Environment & Logging (Legacy/Admin) ---\n // These settings are often more relevant for self-hosted Renovate instances or specific admin controls.\n executionLogging: [\n 'localDir', // string: Specifies a local directory path, potentially used for caching or temporary files in self-hosted environments. (Note: Less common in typical SaaS usage).\n 'logContext', // string: Adds a custom string/context to log messages, helpful for identifying logs from specific Renovate instances or runs.\n ],\n} as const satisfies JsoncSortKeysOrderMap;\n","import type { JsoncSortKeysOrderMap } from './types';\n\nexport const renovateConfig = {\n // --- Metadata ---\n metadata: [\n 'description', // string | string[]: Description for the repository (often used in platform UI).\n ],\n\n // --- Base Repository & Branching Strategy ---\n repository: [\n 'baseBranches', // string[]: List of base branches Renovate should operate on (e.g., [\"main\", \"develop\"]).\n 'defaultBranch', // string: Explicitly specifies the default branch if detection fails or needs override. (Note: Often detected automatically).\n 'useBaseBranchConfig', // UseBaseBranchConfigType: How to handle configuration when running on non-default base branches ('merge' or 'none').\n 'gitAuthor', // string: Custom git author for commits made by Renovate (e.g., \"Renovate Bot <bot@renovateapp.com>\").\n ],\n\n // --- Fork Handling ---\n forkHandling: [\n 'forkProcessing', // 'auto' | 'enabled' | 'disabled': How Renovate should handle running on repository forks. 'auto' usually disables on forks.\n 'isFork', // boolean: Explicitly tells Renovate if the current repository is a fork. (Usually detected).\n 'forkModeDisallowMaintainerEdits', // boolean: When running on a fork, disallow maintainers of the upstream repo from editing the PR.\n ],\n\n // --- Dependency Dashboard ---\n dependencyDashboard: [\n 'dependencyDashboard', // boolean: Enables or disables the creation and management of the Dependency Dashboard issue.\n 'dependencyDashboardTitle', // string: Custom title for the Dependency Dashboard issue.\n 'dependencyDashboardHeader', // string: Custom content to add to the top of the Dependency Dashboard body.\n 'dependencyDashboardFooter', // string: Custom content to add to the bottom of the DependencyDashboard body.\n 'dependencyDashboardLabels', // string[]: Labels to add to the Dependency Dashboard issue.\n 'dependencyDashboardChecks', // Record<string, string>: Configure approval checkboxes within the dashboard.\n 'dependencyDashboardAutoclose', // boolean: Automatically close the Dependency Dashboard issue if there are no pending updates.\n 'dependencyDashboardOSVVulnerabilitySummary', // 'none' | 'all' | 'unresolved': Controls the display of OSV vulnerability summaries in the dashboard.\n 'customizeDashboard', // Record<string, string>: Further customization options for the dashboard's appearance or behavior. (Note: Seems like a flexible key-value store for dashboard tweaks).\n // 'dependencyDashboardIssue', // number: Internal state, the number of the existing dashboard issue. (Note: Likely not user-configured directly).\n ],\n\n // --- Rate Limiting & Concurrency ---\n limits: [\n 'branchConcurrentLimit', // number | null: Maximum number of branches Renovate can create concurrently.\n 'prConcurrentLimit', // number: Maximum number of Pull Requests Renovate can create or update concurrently.\n 'prHourlyLimit', // number: Maximum number of Pull Requests Renovate can create per hour.\n ],\n\n // --- Branch/Commit Naming (Specific Overrides/Additions) ---\n namingSpecifics: [\n 'branchTopic', // string: A specific topic to use for branch naming, potentially overriding `commitMessageTopic`. (Note: Granular control over branch naming).\n 'additionalBranchPrefix', // string: Another prefix to add *after* the main `branchPrefix` but before the rest of the branch name. (Note: For more complex branch naming schemes).\n 'commitBody', // string: Explicitly set the entire commit message body, potentially overriding templates. (Note: Less common than using templating options).\n ],\n\n // --- Registry & Network Configuration ---\n registriesNetwork: [\n 'hostRules', // HostRule[]: Rules for authentication, endpoints, or other behaviors specific to certain hosts (e.g., private registries).\n 'defaultRegistryUrls', // string[]: Default registry URLs to use for package managers if not otherwise specified.\n 'registryUrls', // string[] | null: Overrides detected registry URLs.\n 'registryAliases', // Record<string, string>: Aliases for registry URLs.\n 's3Endpoint', // string: Custom endpoint URL for S3 interactions (e.g., for reports).\n 's3PathStyle', // boolean: Use path-style access for S3 instead of virtual-hosted style.\n ],\n\n // --- Vulnerability Management ---\n vulnerabilities: [\n 'vulnerabilityAlerts', // RenovateSharedConfig: Configuration specific to how vulnerability updates are handled (can inherit shared config structure).\n 'osvVulnerabilityAlerts', // boolean: Specifically enables checking for vulnerabilities using the OSV database.\n ],\n vulnerabilitiesShared: [\n 'vulnerabilitySeverity', // string: Minimum vulnerability severity level to report or act upon (e.g., \"high\", \"critical\").\n ],\n\n // --- Customization & Extensibility ---\n customization: [\n 'customManagers', // CustomManager[]: Definitions for custom package managers not built into Renovate.\n 'customDatasources', // Record<string, CustomDatasourceConfig>: Definitions for custom datasources to find package versions.\n 'secrets', // Record<string, string>: A key-value store for secrets needed during Renovate runs (e.g., tokens accessed via `process.env`). (Note: For securely passing sensitive data).\n 'env', // UserEnv: User-defined environment variables to be set when Renovate executes package manager commands.\n ],\n\n // --- Reporting ---\n reporting: [\n 'reportPath', // string: Path (for file type) or bucket/key (for S3 type) for saving run reports.\n 'reportType', // 'logging' | 'file' | 's3' | null: How and where to generate reports about Renovate runs.\n ],\n\n // --- Configuration Inheritance ---\n inheritance: [\n 'inheritConfig', // boolean: Whether to inherit configuration from a shared repository (defaults to true for Renovate App/Enterprise).\n 'inheritConfigFileName', // string: Custom filename for the shared configuration file in the inheritance repository.\n 'inheritConfigRepoName', // string: Specify the repository from which to inherit configuration.\n 'inheritConfigStrict', // boolean: If true, errors during config inheritance will stop the Renovate run.\n 'ignorePresets', // string[]: List of preset configurations (from `extends`) to ignore.\n 'force', // RenovateConfig: A nested configuration object used for forcing specific settings (often via CLI).\n ],\n\n // --- Process Control & Execution ---\n processControl: [\n 'skipInstalls', // boolean | null: Skip package manager install/build steps (use with caution, may break updates).\n 'updateInternalDeps', // boolean: Whether to update dependencies that point to other modules within the same monorepo.\n 'cloneSubmodulesFilter', // string[]: Filters to apply when deciding which submodules to clone.\n 'fetchChangeLogs', // FetchChangeLogsOptions: Options controlling if and how changelogs are fetched.\n 'logLevelRemap', // LogLevelRemap[]: Rules to remap log levels from specific modules or contexts.\n 'statusCheckNames', // Record<StatusCheckKey, string | null>: Override the names of status checks Renovate looks for or reports.\n 'configWarningReuseIssue', // boolean: If true, configuration warnings will be posted as comments on a single, reused issue instead of creating new ones.\n 'postUpdateOptions', // string[]: Options passed to post-update scripts or hooks. (Note: Related to `postUpgradeTasks` in SharedConfig, perhaps providing context/flags).\n ],\n\n // --- Constraints ---\n constraints: [\n 'constraints', // Record<string, string>: Define version constraints for dependencies (e.g., force a specific version range globally).\n 'constraintsFiltering', // ConstraintsFilter: Control how constraints are applied ('none', 'strict', 'loose').\n ],\n\n // --- Internal State / Contextual (Likely not configured directly in main config) ---\n internalContext: [\n 'depName', // string: The name of the specific dependency being processed in a rule context.\n 'baseBranch', // string: The specific base branch being processed in the current run.\n 'branchList', // string[]: List of branches detected in the repository.\n 'errors', // ValidationMessage[]: Collection of configuration errors found during parsing.\n 'fileList', // string[]: List of files relevant to the current operation.\n 'packageFile', // string: The specific package file being processed.\n 'repoIsOnboarded', // boolean: Flag indicating if the repository onboarding process is complete.\n 'repoIsActivated', // boolean: Flag indicating if Renovate is activated for the repository.\n 'warnings', // ValidationMessage[]: Collection of configuration warnings found during parsing.\n 'checkedBranches', // string[]: List of branches that have already been processed in the current run.\n 'sharedVariableName', // string: Name of a variable used for sharing data between runs or stages. (Note: Advanced/internal usage).\n ],\n\n // --- PackageRules ---\n packageRules: [\n 'packageRules', // PackageRule[]: The core mechanism for customizing Renovate's behavior for specific dependencies or groups.\n ],\n} as const satisfies JsoncSortKeysOrderMap;\n","import type { JsoncSortKeysOrder } from '../base/types';\nimport { assigneesAndReviewersConfig } from '../base/assignees-and-reviewers-config';\nimport { configMigration } from '../base/config-migration';\nimport { legacyAdminConfig } from '../base/legacy-admin-config';\nimport { renovateConfig } from '../base/renovate-config';\nimport { renovateSharedConfig } from '../base/renovate-shared-config';\nimport { updateConfig } from '../base/update-config';\n\n// RenovateConfig\n// LegacyAdminConfig,\n// RenovateSharedConfig,\n// UpdateConfig<PackageRule>,\n// AssigneesAndReviewersConfig,\n// ConfigMigration,\nexport const rootOrder = [\n //? core config\n ...renovateSharedConfig.config,\n ...renovateConfig.metadata,\n ...renovateConfig.repository,\n ...renovateConfig.forkHandling,\n ...renovateSharedConfig.branch,\n\n //? migration & dashboard\n ...configMigration,\n ...renovateConfig.dependencyDashboard,\n ...renovateSharedConfig.dependencyDashboard,\n\n //? schedule\n ...renovateSharedConfig.schedule,\n ...renovateSharedConfig.automerge,\n ...renovateConfig.limits,\n\n //? grouping\n ...renovateSharedConfig.grouping,\n ...renovateSharedConfig.commit,\n ...renovateSharedConfig.pr,\n ...renovateSharedConfig.labels,\n ...renovateSharedConfig.filtering,\n ...renovateConfig.namingSpecifics,\n ...assigneesAndReviewersConfig.assignees,\n ...assigneesAndReviewersConfig.reviewers,\n ...assigneesAndReviewersConfig.common,\n\n //? registriesNetwork\n ...renovateConfig.registriesNetwork,\n\n //? vulnerabilities\n ...renovateConfig.vulnerabilities,\n ...renovateConfig.vulnerabilitiesShared,\n\n //? rarely\n ...renovateSharedConfig.advanced,\n ...renovateConfig.customization,\n ...renovateConfig.reporting,\n ...renovateConfig.inheritance,\n ...renovateConfig.processControl,\n ...renovateConfig.constraints,\n ...renovateConfig.internalContext,\n ...legacyAdminConfig.onboarding,\n ...legacyAdminConfig.executionLogging,\n ...legacyAdminConfig.configurationRequirements,\n\n //? overrides\n ...updateConfig.semantic_versioning,\n ...updateConfig.pinning_digests,\n ...updateConfig.lock_file,\n ...updateConfig.special_cases,\n ...renovateConfig.packageRules,\n] as const as JsoncSortKeysOrder;\n","import type { TypedFlatConfigItem } from '@antfu/eslint-config';\nimport { packageRuleOrder } from './order/package-rule';\nimport { rootOrder } from './order/root';\n\nexport const renovateJsonRules: TypedFlatConfigItem = {\n name: 'culur/renovate-json/rules',\n files: [\n // https://docs.renovatebot.com/configuration-options/#configuration-options\n 'renovate.json',\n 'renovate.json5',\n '.github/renovate.json',\n '.github/renovate.json5',\n '.gitlab/renovate.json',\n '.gitlab/renovate.json5',\n '.renovaterc',\n '.renovaterc.json',\n '.renovaterc.json5',\n ],\n rules: {\n 'jsonc/sort-keys': [\n 'error',\n {\n pathPattern: /^$/.source,\n order: rootOrder,\n },\n {\n pathPattern: /^packageRules\\[\\d+\\]$/.source,\n order: packageRuleOrder,\n },\n ],\n },\n};\n","import type { TypedFlatConfigItem } from '@antfu/eslint-config';\nimport type { YamlSortKeysRecord } from './yaml-order';\nimport { yamlOrder } from './yaml-order';\n\nexport const yarnrcYmlSortKeys = {\n packageExtensions: {\n packages: {\n pathPattern: /^packageExtensions$/.source,\n order: yamlOrder,\n },\n dependenciesTypes: {\n pathPattern: /^packageExtensions(?:\\[\".+\"\\]|\\.[^.]+)$/.source,\n order: yamlOrder,\n },\n childPackages: {\n pathPattern:\n /^packageExtensions(?:\\[\".+\"\\]|\\.[^.]+)\\.(?:dependencies|peerDependencies|peerDependenciesMeta)$/\n .source,\n order: yamlOrder,\n },\n },\n} satisfies Record<string, Record<string, YamlSortKeysRecord>>;\n\nexport const yarnrcYmlRules: TypedFlatConfigItem = {\n name: 'culur/yarnrc-yml/rules',\n files: ['.yarnrc.yml'],\n rules: {\n 'yaml/sort-keys': [\n 'error',\n yarnrcYmlSortKeys.packageExtensions.packages,\n yarnrcYmlSortKeys.packageExtensions.dependenciesTypes,\n yarnrcYmlSortKeys.packageExtensions.childPackages,\n ],\n },\n};\n","import type {\n Awaitable,\n Rules,\n TypedFlatConfigItem,\n} from '@antfu/eslint-config';\nimport type { Linter } from 'eslint';\n\nexport interface ExtraRules {}\n\nexport type TypedFlatConfigItemCustom = Omit<TypedFlatConfigItem, 'rules'> & {\n rules?: Omit<Rules, keyof ExtraRules> & Partial<ExtraRules>;\n};\n\nexport type OverrideConfig = {\n name: NonNullable<TypedFlatConfigItemCustom['name']>;\n} & (\n | { partialConfig: TypedFlatConfigItemCustom } // merge with the original config\n | { entireConfig: () => Awaitable<TypedFlatConfigItemCustom> } // replace the entire config\n);\n\nexport const defineOverride = (config: OverrideConfig) =>\n [\n config.name,\n 'partialConfig' in config ? config.partialConfig : config.entireConfig,\n ] as [\n name: string,\n config: TypedFlatConfigItem | (() => Awaitable<TypedFlatConfigItem>),\n ];\n\nexport type RuleEntry<T extends keyof Rules> = Rules[T] extends\n Linter.RuleEntry<infer F> | undefined\n ? F\n : never;\n","import antfu from '@antfu/eslint-config';\nimport { defineHasPackages } from '@culur/utils-packages';\nimport { importsRules, sortPackageJson, vueRules } from './overrides';\nimport { testRules } from './overrides/test-rules';\nimport {\n filenameRules,\n pnpmWorkspaceYamlRules,\n renovateJsonRules,\n yarnrcYmlRules,\n} from './rules';\nimport { defineOverride } from './types';\n\nexport default function defineConfig(\n ...[options = {}, ...userConfigs]: Parameters<typeof antfu>\n): ReturnType<typeof antfu> {\n const { hasVue } = defineHasPackages({ vue: !!options.vue });\n\n const config = antfu(\n {\n isInEditor: false,\n stylistic: false,\n formatters: false,\n ...options,\n },\n filenameRules,\n yarnrcYmlRules,\n pnpmWorkspaceYamlRules,\n renovateJsonRules,\n ...userConfigs,\n );\n\n config.override(...defineOverride(importsRules));\n config.override(...defineOverride(sortPackageJson));\n config.override(...defineOverride(testRules));\n\n if (hasVue()) {\n config.override(...defineOverride(vueRules));\n }\n\n return config;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,MAAa,eAA+B;CAC1C,MAAM;CACN,eAAe,EACb,OAAO,EAEL,0CAA0C,CAAC,SAAS,kBAAkB,EACxE,EACF;AACF;;;ACNA,MAAa,kBAAkC;CAC7C,MAAM;CACN,MAAM,eAAe;EACnB,MAAM,CAAC,cAAc,OAAA,GAAA,qBAAA,gBAAA,CAA2B;EAChD,CAAA,GAAA,YAAA,QAAA,CAAO,OAAO,WAAW,SAAS,QAAQ;EAC1C,CAAA,GAAA,YAAA,QAAA,CAAO,OAAO,WAAW,UAAU,QAAQ;EAE3C,MAAM,WAAW,WAAW,MAAM;EAClC,CAAA,GAAA,YAAA,QAAA,CAAO,OAAO,aAAa,QAAQ;EAEnC,MAAM,GAAG,WAAW;EACpB,CAAA,GAAA,YAAA,QAAA,CAAO,OAAO,YAAY,QAAQ;EAElC,QAAQ,QAAQ;GAEd;GACA;GACA;GACA;GACA;GACA;GACA;GAGA;GACA;GACA;GACA;GAGA;GACA;GACA;GAGA;GACA;GAGA;GACA;GAGA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GAGA;GACA;GACA;GAGA;GAGA;GACA;GACA;GAGA;GACA;GACA;GACA;GACA;GACA;GAEA;GACA;GACA;GAGA;GACA;GACA;GACA;EACF;EAEA,OAAO;CACT;AACF;;;ACtEA,MAAa,YAA4B;CACvC,MAAM;CACN,eAAe;EAEb,OAAO,CAAC,sCAAsC;EAC9C,OAAO;GACL,GAAGA,sBAAAA,QAAO,QAAQ,YAAY;GAC9B,oBAAoB,CAAC,SAAS,EAAE,gBAAgB,KAAK,CAAC;GACtD,sBAAsB,CACpB,SACA,EACE,qBAAqB;IACnB;IACA;IACA;IACA;GACF,EACF,CACF;EACF;CACF;AACF;;;ACxCA,MAAa,WAA2B;CACtC,MAAM;CACN,eAAe,EACb,OAAO;EACL,+CAA+C;EAC/C,8CAA8C;EAC9C,mCAAmC,CAAC,SAAS,QAAQ;EACrD,yCAAyC;GACvC;GACA;GACA,EAAE,0BAA0B,MAAM;EACpC;CACF,EACF;AACF;;;ACdA,MAAa,gBAAqC;CAChD,MAAM;CACN,OAAO;EACL;EACA;EACA;EACA;EACA;EACA;EACA;CACF;CACA,OAAO,EACL,yBAAyB,CACvB,SACA;EACE,MAAM;EACN,QAAQ;GACN;GACA;GACA;GACA;GACA;GACA;EACF;CACF,CACF,EACF;AACF;;;AC1BA,MAAa,YAAY;CACvB,MAAM;CACN,eAAe;CACf,SAAS;AACX;;;ACAA,MAAa,wBAAwB;CACnC,MAAM;EACJ,aAAa,KAAK;EAClB,OAAO;GAEL;GACA;GAGA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GAGA;GACA;GACA;GACA;GACA;GAGA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GAGA;GACA;GACA;GACA;GAGA;GACA;GACA;GACA;GACA;GACA;GAGA;GACA;GACA;GACA;GACA;GACA;GAGA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GAGA;GACA;GACA;GACA;GACA;GACA;GAGA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GAGA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GAGA;GACA;GACA;GAGA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;EACF;CACF;CACA,UAAU;EACR,aAAa,KAAK;GAChB;GACA;GACA;GACA;GACA;GACA;GACA;EACF,CAAC,CAAC,KAAK,GAAG,EAAE;EACZ,OAAO;CACT;AACF;;;;;;;;;;;;;;AAEA,MAAa,kCAAkC,EAC7C,UAAU;CACR,aAAa,KAAK;EAChB;EACA;EACA;CACF,CAAC,CAAC,KAAK,GAAG,EAAE;CACZ,OAAO;AACT,EACF;AAEA,MAAa,yBAA8C;CACzD,MAAM;CACN,OAAO,CAAC,qBAAqB;CAC7B,OAAO;EACL,kBAAkB;GAChB;GACA,sBAAsB;GACtB,sBAAsB;EACxB;EACA,6BAA6B,CAC3B,SACA,gCAAgC,QAClC;CACF;AACF;;;AC1LA,MAAa,cAAc;CAEzB,UAAU,CACR,aACF;CAGA,eAAe,CACb,eACF;CAIA,UAAU;EACR;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF;CAGA,mBAAmB,CACjB,cACF;CAGA,iBAAiB,CACf,wBACA,yBACF;CACA,uBAAuB,CACrB,uBACF;AACF;;;AC9CA,MAAa,uBAAuB;CAElC,QAAQ;EACN;EACA;EACA;EACA;CACF;CAGA,qBAAqB,CACnB,6BACF;CAGA,UAAU,CACR,YACA,UACF;CAGA,WAAW;EACT;EACA;EACA;EACA;EACA;EACA;CACF;CAGA,QAAQ;EACN;EACA;EACA;EACA;EACA;CAEF;CAGA,UAAU;EACR;EACA;EACA;CACF;CAGA,QAAQ;EACN;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF;CAGA,IAAI;EACF;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF;CAGA,QAAQ;EACN;EACA;EACA;EACA;EACA;CACF;CAGA,WAAW;EACT;EACA;EACA;EACA;EACA;EACA;CACF;CAGA,UAAU;EACR;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CAOF;AACF;;;AC/GA,MAAa,eAAe;CAG1B,qBAAqB;EACnB;EACA;EACA;CACF;CAIA,iBAAiB;EACf;EACA;EACA;CACF;CAIA,WAAW,CACT,uBACA,gBACF;CAIA,eAAe;EACb;EACA;EACA;CACF;AACF;;;ACzBA,MAAa,mBAAmB;CAE9B,GAAG,YAAY;CACf,GAAG,qBAAqB;CACxB,GAAG,qBAAqB;CAGxB,GAAG,qBAAqB;CAGxB,GAAG,qBAAqB;CACxB,GAAG,qBAAqB;CAGxB,GAAG,qBAAqB;CACxB,GAAG,qBAAqB;CACxB,GAAG,qBAAqB;CACxB,GAAG,qBAAqB;CACxB,GAAG,qBAAqB;CAGxB,GAAG,YAAY;CAGf,GAAG,YAAY;CACf,GAAG,YAAY;CAGf,GAAG,YAAY;CACf,GAAG,YAAY;CAGf,GAAG,qBAAqB;CAGxB,GAAG,aAAa;CAChB,GAAG,aAAa;CAChB,GAAG,aAAa;CAChB,GAAG,aAAa;AAClB;;;AC7CA,MAAa,8BAA8B;CAEzC,WAAW;EACT;EACA;EACA;CACF;CAGA,WAAW;EACT;EACA;EACA;EACA;EACA;CACF;CAGA,QAAQ,CACN,0BACA,wBAEF;AACF;;;ACvBA,MAAa,kBAAkB,CAC7B,iBACF;;;ACFA,MAAa,oBAAoB;CAI/B,YAAY;EACV;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF;CAIA,2BAA2B,CACzB,eACF;CAIA,kBAAkB,CAChB,YACA,YACF;AACF;;;AC3BA,MAAa,iBAAiB;CAE5B,UAAU,CACR,aACF;CAGA,YAAY;EACV;EACA;EACA;EACA;CACF;CAGA,cAAc;EACZ;EACA;EACA;CACF;CAGA,qBAAqB;EACnB;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CAEF;CAGA,QAAQ;EACN;EACA;EACA;CACF;CAGA,iBAAiB;EACf;EACA;EACA;CACF;CAGA,mBAAmB;EACjB;EACA;EACA;EACA;EACA;EACA;CACF;CAGA,iBAAiB,CACf,uBACA,wBACF;CACA,uBAAuB,CACrB,uBACF;CAGA,eAAe;EACb;EACA;EACA;EACA;CACF;CAGA,WAAW,CACT,cACA,YACF;CAGA,aAAa;EACX;EACA;EACA;EACA;EACA;EACA;CACF;CAGA,gBAAgB;EACd;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF;CAGA,aAAa,CACX,eACA,sBACF;CAGA,iBAAiB;EACf;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF;CAGA,cAAc,CACZ,cACF;AACF;;;ACrHA,MAAa,YAAY;CAEvB,GAAG,qBAAqB;CACxB,GAAG,eAAe;CAClB,GAAG,eAAe;CAClB,GAAG,eAAe;CAClB,GAAG,qBAAqB;CAGxB,GAAG;CACH,GAAG,eAAe;CAClB,GAAG,qBAAqB;CAGxB,GAAG,qBAAqB;CACxB,GAAG,qBAAqB;CACxB,GAAG,eAAe;CAGlB,GAAG,qBAAqB;CACxB,GAAG,qBAAqB;CACxB,GAAG,qBAAqB;CACxB,GAAG,qBAAqB;CACxB,GAAG,qBAAqB;CACxB,GAAG,eAAe;CAClB,GAAG,4BAA4B;CAC/B,GAAG,4BAA4B;CAC/B,GAAG,4BAA4B;CAG/B,GAAG,eAAe;CAGlB,GAAG,eAAe;CAClB,GAAG,eAAe;CAGlB,GAAG,qBAAqB;CACxB,GAAG,eAAe;CAClB,GAAG,eAAe;CAClB,GAAG,eAAe;CAClB,GAAG,eAAe;CAClB,GAAG,eAAe;CAClB,GAAG,eAAe;CAClB,GAAG,kBAAkB;CACrB,GAAG,kBAAkB;CACrB,GAAG,kBAAkB;CAGrB,GAAG,aAAa;CAChB,GAAG,aAAa;CAChB,GAAG,aAAa;CAChB,GAAG,aAAa;CAChB,GAAG,eAAe;AACpB;;;AChEA,MAAa,oBAAyC;CACpD,MAAM;CACN,OAAO;EAEL;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF;CACA,OAAO,EACL,mBAAmB;EACjB;EACA;GACE,aAAa,KAAK;GAClB,OAAO;EACT;EACA;GACE,aAAa,wBAAwB;GACrC,OAAO;EACT;CACF,EACF;AACF;;;AC3BA,MAAa,oBAAoB,EAC/B,mBAAmB;CACjB,UAAU;EACR,aAAa,sBAAsB;EACnC,OAAO;CACT;CACA,mBAAmB;EACjB,aAAa,0CAA0C;EACvD,OAAO;CACT;CACA,eAAe;EACb,aACE,kGACG;EACL,OAAO;CACT;AACF,EACF;AAEA,MAAa,iBAAsC;CACjD,MAAM;CACN,OAAO,CAAC,aAAa;CACrB,OAAO,EACL,kBAAkB;EAChB;EACA,kBAAkB,kBAAkB;EACpC,kBAAkB,kBAAkB;EACpC,kBAAkB,kBAAkB;CACtC,EACF;AACF;;;ACdA,MAAa,kBAAkB,WAC7B,CACE,OAAO,MACP,mBAAmB,SAAS,OAAO,gBAAgB,OAAO,YAC5D;;;ACZF,SAAwB,aACtB,GAAG,CAAC,UAAU,CAAC,GAAG,GAAG,cACK;CAC1B,MAAM,EAAE,YAAA,GAAA,sBAAA,kBAAA,CAA6B,EAAE,KAAK,CAAC,CAAC,QAAQ,IAAI,CAAC;CAE3D,MAAM,UAAA,GAAA,qBAAA,QAAA,CACJ;EACE,YAAY;EACZ,WAAW;EACX,YAAY;EACZ,GAAG;CACL,GACA,eACA,gBACA,wBACA,mBACA,GAAG,WACL;CAEA,OAAO,SAAS,GAAG,eAAe,YAAY,CAAC;CAC/C,OAAO,SAAS,GAAG,eAAe,eAAe,CAAC;CAClD,OAAO,SAAS,GAAG,eAAe,SAAS,CAAC;CAE5C,IAAI,OAAO,GACT,OAAO,SAAS,GAAG,eAAe,QAAQ,CAAC;CAG7C,OAAO;AACT"}
|
|
1
|
+
{"version":3,"file":"index.cjs","names":["sortPackageJsonAntfu","vitest","defineHasPackages","antfu"],"sources":["../src/overrides/imports-rules.ts","../src/overrides/sort-package-json.ts","../src/overrides/test-rules.ts","../src/overrides/vue-rules.ts","../src/rules/filename.ts","../src/rules/yaml-order.ts","../src/rules/pnpm-workspace-yaml.ts","../src/rules/renovate-json/base/package-rule.ts","../src/rules/renovate-json/base/renovate-shared-config.ts","../src/rules/renovate-json/base/update-config.ts","../src/rules/renovate-json/order/package-rule.ts","../src/rules/renovate-json/base/assignees-and-reviewers-config.ts","../src/rules/renovate-json/base/config-migration.ts","../src/rules/renovate-json/base/legacy-admin-config.ts","../src/rules/renovate-json/base/renovate-config.ts","../src/rules/renovate-json/order/root.ts","../src/rules/renovate-json/index.ts","../src/rules/yarnrc-yml.ts","../src/types/index.ts","../src/index.ts"],"sourcesContent":["import type { OverrideConfig } from '~/types';\n\nexport const importsRules: OverrideConfig = {\n name: 'antfu/imports/rules',\n partialConfig: {\n rules: {\n // 'import/no-deprecated': 'error',\n 'import/consistent-type-specifier-style': ['error', 'prefer-top-level'],\n },\n },\n};\n","import type { OverrideConfig } from '~/types';\nimport assert from 'node:assert';\nimport { sortPackageJson as sortPackageJsonAntfu } from '@antfu/eslint-config';\n\nexport const sortPackageJson: OverrideConfig = {\n name: 'antfu/sort/package-json',\n async entireConfig() {\n const [configItem] = await sortPackageJsonAntfu();\n assert(typeof configItem.name === 'string');\n assert(typeof configItem.rules === 'object');\n\n const sortKeys = configItem.rules['jsonc/sort-keys'];\n assert(typeof sortKeys === 'object');\n\n const [, options] = sortKeys;\n assert(typeof options === 'object');\n\n options.order = [\n //? Project\n 'publisher',\n 'name',\n 'displayName',\n 'version',\n 'description',\n 'private',\n 'publishConfig',\n\n //? Repository\n 'repository',\n 'bugs',\n 'homepage',\n 'funding',\n\n //? Author & license\n 'contributors',\n 'author',\n 'license',\n\n //? https://code.visualstudio.com/api/references/extension-manifest\n 'keywords',\n 'categories',\n\n //? CDN\n 'unpkg',\n 'jsdelivr',\n\n //? Export\n 'type', // module or commonjs\n 'main',\n 'types',\n 'typings', // synonymous with types\n 'typesVersions',\n 'exports',\n 'bin',\n 'files',\n 'workspaces',\n\n //? https://code.visualstudio.com/api/references/extension-manifest\n 'icon',\n 'activationEvents',\n 'contributes',\n\n //? Scripts\n 'scripts',\n\n //? Node & packageManager\n 'volta',\n 'engines',\n 'packageManager',\n\n //? Dependencies\n 'dependencies',\n 'devDependencies',\n 'peerDependencies',\n 'peerDependenciesMeta',\n 'bundleDependencies',\n 'optionalDependencies',\n\n 'pnpm',\n 'overrides',\n 'resolutions',\n\n //? Lib config\n 'husky',\n 'simple-git-hooks',\n 'lint-staged',\n 'eslintConfig',\n ];\n\n return configItem;\n },\n};\n","import type { Linter } from 'eslint';\nimport type { OverrideConfig } from '~/types';\nimport vitest from '@vitest/eslint-plugin';\n\ndeclare module '~/types' {\n export interface ExtraRules {\n // https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/valid-title.md\n 'test/valid-title': Linter.RuleEntry<\n [\n {\n ignoreTypeOfDescribeName?: boolean;\n allowArguments?: boolean;\n disallowedWords?: string[];\n mustNotMatch?: string[];\n mustMatch?: string[];\n },\n ]\n >;\n }\n}\n\nexport const testRules: OverrideConfig = {\n name: 'antfu/test/rules',\n partialConfig: {\n // Same `include` in @culur/config-vite\n files: ['**/*\\\\.{test,test-d}.?(c|m)[jt]s?(x)'],\n rules: {\n ...vitest.configs.recommended.rules,\n 'test/valid-title': ['error', { allowArguments: true }],\n 'test/expect-expect': [\n 'error',\n {\n assertFunctionNames: [\n 'expect',\n 'expectTypeOf',\n 'assert',\n 'assertType',\n ],\n },\n ],\n },\n },\n};\n","import type { OverrideConfig } from '~/types';\n\nexport const vueRules: OverrideConfig = {\n name: 'antfu/vue/rules',\n partialConfig: {\n rules: {\n 'vue/singleline-html-element-content-newline': 'off',\n 'vue/multiline-html-element-content-newline': 'off',\n 'vue/padding-line-between-blocks': ['error', 'always'],\n 'vue/component-name-in-template-casing': [\n 'error',\n 'PascalCase',\n { registeredComponentsOnly: false },\n ],\n },\n },\n};\n","import type { TypedFlatConfigItem } from '@antfu/eslint-config';\n\nexport const filenameRules: TypedFlatConfigItem = {\n name: 'culur/filename/rules',\n files: [\n '**/*.?(c|m){js,ts}?(x)',\n '**/*.vue',\n '**/*.md?(x)',\n '**/*.json?(c)',\n '**/*.y?(a)ml',\n '**/*.gql',\n '**/*.graphql',\n ],\n rules: {\n 'unicorn/filename-case': [\n 'error',\n {\n case: 'kebabCase',\n ignore: [\n '^ADR-\\\\w+\\\\.md',\n '^ARCHITECTURE\\\\.md',\n '^CHANGELOG\\\\.md',\n '^CONTRIBUTING\\\\.md',\n '^README\\\\.md',\n '^__tests__',\n ],\n },\n ],\n },\n};\n","import type { Rules } from '@antfu/eslint-config';\nimport type { Linter } from 'eslint';\n\nexport const yamlOrder = {\n type: 'asc',\n caseSensitive: false,\n natural: true,\n} as const;\n\nexport type YamlSortKeys =\n NonNullable<Rules['yaml/sort-keys']> extends Linter.RuleEntry<infer F>\n ? F\n : never;\n\nexport type YamlSortKeysRecord = YamlSortKeys[0];\n\nexport type YamlSortSequenceValues =\n NonNullable<Rules['yaml/sort-sequence-values']> extends Linter.RuleEntry<\n infer F\n >\n ? F\n : never;\n\nexport type YamlSortSequenceValuesRecord = YamlSortSequenceValues[0];\n","import type { TypedFlatConfigItem } from '@antfu/eslint-config';\nimport type {\n YamlSortKeysRecord,\n YamlSortSequenceValuesRecord,\n} from './yaml-order';\nimport { yamlOrder } from './yaml-order';\n\nexport const pnpmWorkspaceSortKeys = {\n root: {\n pathPattern: /^$/.source,\n order: [\n //! Monorepo\n 'packages',\n 'catalog',\n\n //! Dependency Resolution\n 'overrides',\n 'packageExtensions',\n 'allowedDeprecatedVersions',\n 'updateConfig',\n 'supportedArchitectures',\n 'ignoredOptionalDependencies',\n 'minimumReleaseAge',\n 'minimumReleaseAgeExclude',\n 'minimumReleaseAgeIgnoreMissingTime',\n 'minimumReleaseAgeStrict',\n 'minimumReleaseAgeExcludePrune',\n 'trustPolicy',\n 'trustPolicyExclude',\n 'trustPolicyIgnoreAfter',\n 'trustLockfile',\n 'blockExoticSubdeps',\n 'registries',\n 'namedRegistries',\n\n //! Dependency Hoisting Settings\n 'hoist',\n 'hoistWorkspacePackages',\n 'hoistPattern',\n 'publicHoistPattern',\n 'shamefullyHoist',\n\n //! Node-Modules Settings\n 'modulesDir',\n 'nodeLinker',\n 'symlink',\n 'enableModulesDir',\n 'virtualStoreDir',\n 'virtualStoreDirMaxLength',\n 'virtualStoreOnly',\n 'packageImportMethod',\n 'modulesCacheMaxAge',\n 'dlxCacheMaxAge',\n 'enableGlobalVirtualStore',\n\n //! Store Settings\n 'storeDir',\n 'verifyStoreIntegrity',\n 'useRunningStoreServer',\n 'strictStorePkgContentCheck',\n\n //! Network Settings\n 'httpsProxy',\n 'httpProxy',\n 'noProxy',\n 'localAddress',\n 'maxsockets',\n 'strictSsl',\n\n //! Lockfile Settings\n 'lockfile',\n 'preferFrozenLockfile',\n 'lockfileIncludeTarballUrl',\n 'gitBranchLockfile',\n 'mergeGitBranchLockfilesBranchPattern',\n 'peersSuffixMaxLength',\n\n //! Request Settings\n 'gitShallowHosts',\n 'networkConcurrency',\n 'fetchRetries',\n 'fetchRetryFactor',\n 'fetchRetryMintimeout',\n 'fetchRetryMaxtimeout',\n 'fetchTimeout',\n 'fetchWarnTimeoutMs',\n 'fetchMinSpeedKiBps',\n\n //! Peer Dependency Settings\n 'autoInstallPeers',\n 'dedupePeerDependents',\n 'dedupePeers',\n 'strictPeerDependencies',\n 'resolvePeersFromWorkspaceRoot',\n 'peerDependencyRules',\n\n //! CLI Settings\n '[no-]color',\n 'loglevel',\n 'useBetaCli',\n 'recursiveInstall',\n 'engineStrict',\n 'npmPath',\n 'pmOnFail',\n 'ignoreWorkspaceRootCheck',\n\n //! Build Settings\n 'ignoreScripts',\n 'childConcurrency',\n 'sideEffectsCache',\n 'sideEffectsCacheReadonly',\n 'unsafePerm',\n 'nodeOptions',\n 'verifyDepsBeforeRun',\n 'strictDepBuilds',\n 'allowBuilds',\n 'dangerouslyAllowAllBuilds',\n\n //! Node.js Settings\n 'nodeVersion',\n 'runtimeOnFail',\n 'nodeDownloadMirrors',\n\n //! Other Settings\n 'savePrefix',\n 'tag',\n 'globalDir',\n 'globalBinDir',\n 'npmrcAuthFile',\n 'stateDir',\n 'cacheDir',\n 'useStderr',\n 'updateNotifier',\n 'preferSymlinkedExecutables',\n 'ignoreCompatibilityDb',\n 'resolutionMode',\n 'registrySupportsTimeField',\n 'extendNodePath',\n 'deployAllFiles',\n 'dedupeDirectDeps',\n 'optimisticRepeatInstall',\n 'requiredScripts',\n 'enablePrePostScripts',\n 'scriptShell',\n 'shellEmulator',\n 'catalogMode',\n 'ci',\n 'cleanupUnusedCatalogs',\n ],\n },\n packages: {\n pathPattern: `^(${[\n 'overrides',\n 'packageExtensions',\n 'allowedDeprecatedVersions',\n 'updateConfig',\n 'supportedArchitectures',\n 'registries',\n 'namedRegistries',\n ].join('|')})$`,\n order: yamlOrder,\n },\n} satisfies Record<string, YamlSortKeysRecord>;\n\nexport const pnpmWorkspaceSortSequenceValues = {\n packages: {\n pathPattern: `^(${[\n 'ignoredOptionalDependencies',\n 'minimumReleaseAgeExclude',\n 'trustPolicyExclude',\n ].join('|')})$`,\n order: yamlOrder,\n },\n} satisfies Record<string, YamlSortSequenceValuesRecord>;\n\nexport const pnpmWorkspaceYamlRules: TypedFlatConfigItem = {\n name: 'culur/pnpm-workspace-yaml/rules',\n files: ['pnpm-workspace.yaml'],\n rules: {\n 'yaml/sort-keys': [\n 'error',\n pnpmWorkspaceSortKeys.root,\n pnpmWorkspaceSortKeys.packages,\n ],\n 'yaml/sort-sequence-values': [\n 'error',\n pnpmWorkspaceSortSequenceValues.packages,\n ],\n },\n};\n","import type { JsoncSortKeysOrderMap } from './types';\n\nexport const packageRule = {\n // --- Metadata ---\n metadata: [\n 'description', // string | string[]: Human-readable description of what this package rule does, useful for documenting complex configurations.\n ],\n\n // --- Range Strategy ---\n rangeStrategy: [\n 'rangeStrategy', // 'auto' | 'pin' | 'bump' | 'replace' | 'widen' | 'update-lockfile' | 'in-range-only': Determines how to modify or update existing ranges\n ],\n\n // --- Rule Matching Criteria (Core) ---\n // These properties determine *which* dependencies or updates this rule applies to.\n matching: [\n 'matchPackageNames', // string[]: Apply rule if dependency name matches any in this list (e.g., [\"react\", \"lodash\"]).\n 'matchDepNames', // string[]: Apply rule if dependency name matches (similar to matchPackageNames, can be broader).\n 'matchManagers', // string[]: Apply rule if the dependency is managed by one of these package managers (e.g., [\"npm\", \"docker\"]).\n 'matchDatasources', // string[]: Apply rule if the dependency's version source matches (e.g., [\"npm\", \"git-tags\", \"docker\"]).\n 'matchDepTypes', // string[]: Apply rule if the dependency type matches (e.g., [\"dependencies\", \"devDependencies\", \"peerDependencies\"]).\n 'matchUpdateTypes', // UpdateType[]: Apply rule based on the type of update (e.g., [\"major\", \"minor\", \"patch\", \"pin\", \"digest\"]).\n 'matchCategories', // string[]: Apply rule if dependency belongs to specified categories (defined via extractConfigs or presets like \"linters\").\n 'matchCurrentVersion', // string: Apply rule if the *currently installed* version matches this pattern (supports regex).\n 'matchSourceUrls', // string[]: Apply rule if the dependency's source repository URL matches any pattern in the list.\n 'matchFileNames', // string[]: Apply rule if the dependency is found in a file matching any pattern in this list.\n 'matchBaseBranches', // string[]: Apply rule only when Renovate is running against one of these base branches.\n 'matchRepositories', // string[]: Apply rule only when Renovate is running in a repository matching one of these names.\n 'matchCurrentValue', // string: Apply rule if the current value (e.g., Docker tag) matches this pattern.\n 'matchNewValue', // string: Apply rule if the proposed new value/version matches this pattern.\n 'matchCurrentAge', // string: Apply rule based on how long the current version has been used (e.g., \"> 3 months\").\n 'matchConfidence', // MergeConfidence[]: Apply rule based on Renovate's calculated merge confidence level (e.g., [\"high\", \"very-high\"]).\n 'matchJsonata', // string[]: Advanced matching using JSONata queries against dependency metadata.\n ],\n\n // --- Registry & Network Configuration ---\n registriesNetwork: [\n 'registryUrls', // string[] | null: Override the global or default registry URLs specifically for dependencies matched by this rule.\n ],\n\n // --- Vulnerability Specific Matching ---\n vulnerabilities: [\n 'isVulnerabilityAlert', // boolean: (Note: Likely an internal flag set by Renovate, used to *match* rules against updates that *are* vulnerability fixes, rather than being set directly by the user). Apply rule if the update addresses a known vulnerability.\n 'vulnerabilityFixVersion', // string: Apply rule if the vulnerability fix is targeting this specific version.\n ],\n vulnerabilitiesShared: [\n 'vulnerabilitySeverity', // string: Minimum vulnerability severity level to report or act upon (e.g., \"high\", \"critical\").\n ],\n} as const satisfies JsoncSortKeysOrderMap;\n","import type { JsoncSortKeysOrderMap } from './types';\n\nexport const renovateSharedConfig = {\n // --- Core Configuration ---\n config: [\n '$schema', // string: Reference to the JSON schema for validation.\n 'extends', // string[]: Specifies configuration presets to inherit from.\n 'enabled', // boolean: Enables or disables Renovate for the repository or rule.\n 'enabledManagers', // string[]: List of package managers to enable (e.g., [\"npm\", \"docker\"]).\n ],\n\n // --- Dependency Dashboard ---\n dependencyDashboard: [\n 'dependencyDashboardApproval', // boolean: Requires manual approval via the Dependency Dashboard checkbox before a PR is created.\n ],\n\n // --- Scheduling and Timezone ---\n schedule: [\n 'schedule', // string[]: Defines when Renovate should run using cron syntax or presets.\n 'timezone', // string: Timezone to use for scheduling (e.g., \"UTC\", \"America/New_York\").\n ],\n\n // --- Automerge ---\n automerge: [\n 'automerge', // boolean: Enables automatic merging of PRs when conditions are met.\n 'automergeType', // 'pr' | 'branch-push' | 'pr-comment': Specifies the automerge mechanism. Deprecated/renamed? (Note: Not in original list, added for context, potentially maps to other settings).\n 'automergeStrategy', // MergeStrategy ('auto', 'merge', 'rebase', 'squash'): The merge strategy to use for automerging.\n 'automergeSchedule', // string[]: Schedules automerging attempts independently of PR updates.\n 'internalChecksAsSuccess', // boolean: Considers Renovate's internal checks as successful for automerge status checks.\n 'platformAutomerge', // boolean: Use the platform's native automerge feature if available. (Note: Not in original list, but common).\n ],\n\n // --- Branch Management ---\n branch: [\n 'branchPrefix', // string: Prefix added to all Renovate-created branches.\n 'branchName', // string: Template for naming Renovate branches.\n 'branchNameStrict', // boolean: If true, enforces stricter validation for branch names.\n 'hashedBranchLength', // number: Length of the hash appended to branch names when needed.\n 'pruneBranchAfterAutomerge', // boolean: Automatically delete the branch after a PR is automerged.\n // 'branchPrefixOld', // string: Potentially deprecated or for specific migration scenarios.\n ],\n\n // --- Grouping Dependencies ---\n grouping: [\n 'group', // GroupConfig: More detailed configuration for grouping dependencies.\n 'groupName', // string: A custom name for a group of dependencies updated together in one PR.\n 'groupSlug', // string: A URL-friendly slug for the group name.\n ],\n\n // --- Commit Management ---\n commit: [\n 'semanticCommits', // 'auto' | 'enabled' | 'disabled': Controls the use of semantic commit messages.\n 'semanticCommitType', // string: The type used in semantic commits (e.g., \"fix\", \"chore\").\n 'semanticCommitScope', // string | null: The scope used in semantic commits.\n 'commitMessagePrefix', // string: Prefix added to all commit messages.\n 'commitMessage', // string: Template for the commit message body.\n 'commitMessageAction', // string: Action part of the commit message (e.g., \"Update\", \"Pin\").\n 'commitMessageTopic', // string: Topic part of the commit message (e.g., dependency name).\n 'commitMessageExtra', // string: Additional details appended to the commit message.\n 'commitMessageLowerCase', // 'auto' | 'never': Controls the casing of the commit message header.\n 'platformCommit', // PlatformCommitOptions: Platform-specific commit options.\n ],\n\n // --- Pull Request (PR) Management ---\n pr: [\n 'prCreation', // 'immediate' | 'not-pending' | 'status-success' | 'approval': Controls when PRs are created based on checks/approvals.\n 'draftPR', // boolean: Creates PRs as drafts initially.\n 'recreateClosed', // boolean: Recreate PRs if they were manually closed without merging.\n 'recreateWhen', // RecreateWhen: Specifies conditions under which closed PRs should be recreated.\n 'prBodyColumns', // string[]: Specifies which columns to include in the PR body's dependency table.\n 'prBodyDefinitions', // Record<string, string>: Custom definitions/text for sections within the PR body.\n 'prPriority', // number: Sets a priority level for the PR (platform-dependent).\n 'confidential', // boolean: Marks the PR as confidential (platform-dependent, e.g., GitLab).\n 'milestone', // number: Assigns the PR to a specific milestone number.\n ],\n\n // --- Labels ---\n labels: [\n 'labels', // string[]: List of labels to be added to created PRs.\n 'addLabels', // string[]: Additional labels to add (often used in package rules).\n 'keepUpdatedLabel', // string: Label indicating a PR should be kept up-to-date by Renovate, even if tests fail.\n 'rebaseLabel', // string: Label that triggers Renovate to rebase the PR.\n 'stopUpdatingLabel', // string: Label that tells Renovate to stop updating a specific PR.\n ],\n\n // --- Dependency Filtering and Matching ---\n filtering: [\n 'ignoreDeps', // string[]: List of dependency names to ignore completely.\n 'ignorePaths', // string[]: List of file paths or glob patterns to ignore during scanning.\n 'includePaths', // string[]: List of file paths or glob patterns to explicitly include (if others are ignored).\n 'fileMatch', // string[]: Glob patterns for matching dependency files.\n 'respectLatest', // boolean: Whether to strictly respect the 'latest' tag instead of potentially newer versions.\n 'ignoreTests', // boolean: Option to ignore dependencies typically found only in test/development scopes.\n ],\n\n // --- Advanced / Less Common ---\n advanced: [\n 'postUpgradeTasks', // PostUpgradeTasks: Defines commands or scripts to run after dependency upgrades.\n 'npmrc', // string: Allows providing custom .npmrc content for Renovate's operations.\n 'npmrcMerge', // boolean: Whether to merge provided npmrc content with existing files.\n 'changelogUrl', // string: A custom URL template for linking to changelogs.\n 'gitIgnoredAuthors', // string[]: List of git commit authors whose commits should be ignored by Renovate (e.g., bots).\n 'unicodeEmoji', // boolean: Use Unicode emojis (e.g., ✨) instead of text alternatives (e.g., :sparkles:).\n 'suppressNotifications', // string[]: List of notification types to suppress.\n 'productLinks', // Record<string, string>: Custom links for product documentation shown in PRs.\n 'rebaseWhen', // string ('auto', 'behind-base-branch', 'conflicted', 'never'): Conditions under which Renovate should rebase PRs.\n // 'manager', // string: Usually context-specific, identifies the package manager being used.\n // 'repository', // string: Usually context-specific, the name of the repository.\n // 'repositoryCache', // RepositoryCacheConfig: Configuration for caching repository data.\n // 'repositoryCacheType', // RepositoryCacheType: Type of repository cache ('local', 'shared', etc.).\n // 'autoReplaceGlobalMatch',// boolean: Advanced feature related to global replacements (less common).\n // 'force', // RenovateConfig: Allows forcing specific configurations, overriding others (use with caution).\n ],\n} as const satisfies JsoncSortKeysOrderMap;\n","import type { JsoncSortKeysOrderMap } from './types';\n\nexport const updateConfig = {\n // --- Semantic Versioning Updates ---\n // Based on standard SemVer (MAJOR.MINOR.PATCH) changes.\n semantic_versioning: [\n 'major', // T: A change in the MAJOR version number (e.g., 1.x.x -> 2.0.0).\n 'minor', // T: A change in the MINOR version number (e.g., 1.2.x -> 1.3.0).\n 'patch', // T: A change in the PATCH version number (e.g., 1.2.3 -> 1.2.4).\n ],\n\n // --- Pinning and Digest Updates ---\n // Used for fixing to exact versions/digests.\n pinning_digests: [\n 'pin', // T: Updating from a range to a specific fixed version.\n 'digest', // T: Updating the content digest (hash) of a dependency (e.g., Docker image SHA).\n 'pinDigest', // T: An update involving both pinning and digest update.\n ],\n\n // --- Lock File Maintenance ---\n // Updates primarily related to the lock file.\n lock_file: [\n 'lockFileMaintenance', // T: Maintenance updates within the lock file without changing direct dependencies.\n 'lockfileUpdate', // T: General updates confined to the lock file. (Note: Potential overlap with lockFileMaintenance).\n ],\n\n // --- Special Update Cases ---\n // Covers less common or non-standard update scenarios.\n special_cases: [\n 'rollback', // T: Reverting a dependency to a previous version.\n 'bump', // T: A non-specific version increase (e.g., for date-based versions or non-SemVer).\n 'replacement', // T: Replacing one dependency with another.\n ],\n} as const satisfies JsoncSortKeysOrderMap;\n","import type { JsoncSortKeysOrder } from '../base/types';\nimport { packageRule } from '../base/package-rule';\nimport { renovateSharedConfig } from '../base/renovate-shared-config';\nimport { updateConfig } from '../base/update-config';\n\n// PackageRule\n// RenovateSharedConfig\n// UpdateConfig\nexport const packageRuleOrder = [\n //? core config\n ...packageRule.metadata,\n ...renovateSharedConfig.config,\n ...renovateSharedConfig.branch,\n\n //? migration & dashboard\n ...renovateSharedConfig.dependencyDashboard,\n\n //? schedule\n ...renovateSharedConfig.schedule,\n ...renovateSharedConfig.automerge,\n\n //? grouping\n ...renovateSharedConfig.grouping,\n ...renovateSharedConfig.commit,\n ...renovateSharedConfig.pr,\n ...renovateSharedConfig.labels,\n ...renovateSharedConfig.filtering,\n\n //? rangeStrategy\n ...packageRule.rangeStrategy,\n\n //? matching\n ...packageRule.matching,\n ...packageRule.registriesNetwork,\n\n //? vulnerabilities\n ...packageRule.vulnerabilities,\n ...packageRule.vulnerabilitiesShared,\n\n //? rarely\n ...renovateSharedConfig.advanced,\n\n //? overrides\n ...updateConfig.semantic_versioning,\n ...updateConfig.pinning_digests,\n ...updateConfig.lock_file,\n ...updateConfig.special_cases,\n] as const as JsoncSortKeysOrder;\n","import type { JsoncSortKeysOrderMap } from './types';\n\nexport const assigneesAndReviewersConfig = {\n // --- Assignees ---\n assignees: [\n 'assignees', // string[]: Explicit list of usernames to assign to the PR.\n 'assigneesFromCodeOwners', // boolean: Assign users listed as owners in the CODEOWNERS file.\n 'assigneesSampleSize', // number: Select a random sample of this size from the potential assignees (either from `assignees` list or CODEOWNERS). [1]\n ],\n\n // --- Reviewers ---\n reviewers: [\n 'reviewers', // string[]: Explicit list of usernames to request reviews from.\n 'reviewersFromCodeOwners', // boolean: Request reviews from users listed as owners in the CODEOWNERS file.\n 'reviewersSampleSize', // number: Select a random sample of this size from the potential reviewers (either from `reviewers` list or CODEOWNERS).\n 'additionalReviewers', // string[]: Add these users as reviewers *in addition* to any specified in `reviewers` or derived from CODEOWNERS. Useful for adding specific reviewers in package rules without overriding the base list. [14]\n 'ignoreReviewers', // string[]: List of usernames that should *not* be added as reviewers, even if they are in the `reviewers` list or CODEOWNERS. Useful for filtering out bots or users on leave. [2]\n ],\n\n // --- Common / Helper Options ---\n common: [\n 'expandCodeOwnersGroups', // boolean: If true, Renovate expands CODEOWNERS groups (like `@org/team`) into individual members before applying logic like `reviewersSampleSize`. Supported on GitLab [3, 4, 6] and potentially other platforms supporting group expansion [1].\n 'filterUnavailableUsers', // boolean: (Note: Supported on GitLab [3, 5]) Check if assigned/requested users are actually available/have access on the platform before adding them. [3, 5, 8, 12, 13] Prevents errors if a listed user doesn't exist or can't access the repository.\n // 'assignAutomerge', // boolean: (Note: From [14], likely deprecated or less common) Assign reviewers/assignees even if automerge is enabled. Default Renovate behavior is *not* to add assignees/reviewers if automerge is set, to reduce noise, unless the PR fails checks. [2, 7]\n ],\n} as const satisfies JsoncSortKeysOrderMap;\n","import type { JsoncSortKeysOrder } from './types';\n\nexport const configMigration = [\n 'configMigration', // boolean: Enable this to get config migration PRs when needed\n] as const satisfies JsoncSortKeysOrder;\n","import type { JsoncSortKeysOrderMap } from './types';\n\nexport const legacyAdminConfig = {\n // --- Onboarding Configuration ---\n // Controls the behavior of the initial \"onboarding\" PR that Renovate creates\n // when it's first enabled on a repository, typically adding the renovate.json config file.\n onboarding: [\n 'onboarding', // boolean: Enables or disables the onboarding process. If false, Renovate might not start if no config exists.\n 'onboardingBranch', // string: The name of the branch to use for the onboarding PR (e.g., \"renovate/configure\").\n 'onboardingCommitMessage', // string: Custom commit message for the onboarding commit.\n 'onboardingPrTitle', // string: Custom title for the onboarding PR.\n 'onboardingConfig', // RenovateSharedConfig: A minimal Renovate configuration object to propose in the onboarding PR.\n 'onboardingConfigFileName', // string: The filename for the proposed configuration file (e.g., \"renovate.json\", \".github/renovate.json\").\n 'onboardingRebaseCheckbox', // boolean: Adds a checkbox to the onboarding PR body allowing users to request Renovate to rebase the PR. (Note: Specific to platform integration).\n 'onboardingNoDeps', // 'auto' | 'enabled' | 'disabled': Controls whether the onboarding PR should include initial dependency updates or just the configuration file. 'auto' usually means include updates if few dependencies exist.\n ],\n\n // --- Configuration Requirements ---\n // Defines requirements for the Renovate configuration itself.\n configurationRequirements: [\n 'requireConfig', // RequiredConfig ('required', 'optional', 'ignored'): Specifies whether a Renovate configuration file (`renovate.json`, etc.) is mandatory for Renovate to run on the repository. 'ignored' might be used in centrally managed setups.\n ],\n\n // --- Execution Environment & Logging (Legacy/Admin) ---\n // These settings are often more relevant for self-hosted Renovate instances or specific admin controls.\n executionLogging: [\n 'localDir', // string: Specifies a local directory path, potentially used for caching or temporary files in self-hosted environments. (Note: Less common in typical SaaS usage).\n 'logContext', // string: Adds a custom string/context to log messages, helpful for identifying logs from specific Renovate instances or runs.\n ],\n} as const satisfies JsoncSortKeysOrderMap;\n","import type { JsoncSortKeysOrderMap } from './types';\n\nexport const renovateConfig = {\n // --- Metadata ---\n metadata: [\n 'description', // string | string[]: Description for the repository (often used in platform UI).\n ],\n\n // --- Base Repository & Branching Strategy ---\n repository: [\n 'baseBranches', // string[]: List of base branches Renovate should operate on (e.g., [\"main\", \"develop\"]).\n 'defaultBranch', // string: Explicitly specifies the default branch if detection fails or needs override. (Note: Often detected automatically).\n 'useBaseBranchConfig', // UseBaseBranchConfigType: How to handle configuration when running on non-default base branches ('merge' or 'none').\n 'gitAuthor', // string: Custom git author for commits made by Renovate (e.g., \"Renovate Bot <bot@renovateapp.com>\").\n ],\n\n // --- Fork Handling ---\n forkHandling: [\n 'forkProcessing', // 'auto' | 'enabled' | 'disabled': How Renovate should handle running on repository forks. 'auto' usually disables on forks.\n 'isFork', // boolean: Explicitly tells Renovate if the current repository is a fork. (Usually detected).\n 'forkModeDisallowMaintainerEdits', // boolean: When running on a fork, disallow maintainers of the upstream repo from editing the PR.\n ],\n\n // --- Dependency Dashboard ---\n dependencyDashboard: [\n 'dependencyDashboard', // boolean: Enables or disables the creation and management of the Dependency Dashboard issue.\n 'dependencyDashboardTitle', // string: Custom title for the Dependency Dashboard issue.\n 'dependencyDashboardHeader', // string: Custom content to add to the top of the Dependency Dashboard body.\n 'dependencyDashboardFooter', // string: Custom content to add to the bottom of the DependencyDashboard body.\n 'dependencyDashboardLabels', // string[]: Labels to add to the Dependency Dashboard issue.\n 'dependencyDashboardChecks', // Record<string, string>: Configure approval checkboxes within the dashboard.\n 'dependencyDashboardAutoclose', // boolean: Automatically close the Dependency Dashboard issue if there are no pending updates.\n 'dependencyDashboardOSVVulnerabilitySummary', // 'none' | 'all' | 'unresolved': Controls the display of OSV vulnerability summaries in the dashboard.\n 'customizeDashboard', // Record<string, string>: Further customization options for the dashboard's appearance or behavior. (Note: Seems like a flexible key-value store for dashboard tweaks).\n // 'dependencyDashboardIssue', // number: Internal state, the number of the existing dashboard issue. (Note: Likely not user-configured directly).\n ],\n\n // --- Rate Limiting & Concurrency ---\n limits: [\n 'branchConcurrentLimit', // number | null: Maximum number of branches Renovate can create concurrently.\n 'prConcurrentLimit', // number: Maximum number of Pull Requests Renovate can create or update concurrently.\n 'prHourlyLimit', // number: Maximum number of Pull Requests Renovate can create per hour.\n ],\n\n // --- Branch/Commit Naming (Specific Overrides/Additions) ---\n namingSpecifics: [\n 'branchTopic', // string: A specific topic to use for branch naming, potentially overriding `commitMessageTopic`. (Note: Granular control over branch naming).\n 'additionalBranchPrefix', // string: Another prefix to add *after* the main `branchPrefix` but before the rest of the branch name. (Note: For more complex branch naming schemes).\n 'commitBody', // string: Explicitly set the entire commit message body, potentially overriding templates. (Note: Less common than using templating options).\n ],\n\n // --- Registry & Network Configuration ---\n registriesNetwork: [\n 'hostRules', // HostRule[]: Rules for authentication, endpoints, or other behaviors specific to certain hosts (e.g., private registries).\n 'defaultRegistryUrls', // string[]: Default registry URLs to use for package managers if not otherwise specified.\n 'registryUrls', // string[] | null: Overrides detected registry URLs.\n 'registryAliases', // Record<string, string>: Aliases for registry URLs.\n 's3Endpoint', // string: Custom endpoint URL for S3 interactions (e.g., for reports).\n 's3PathStyle', // boolean: Use path-style access for S3 instead of virtual-hosted style.\n ],\n\n // --- Vulnerability Management ---\n vulnerabilities: [\n 'vulnerabilityAlerts', // RenovateSharedConfig: Configuration specific to how vulnerability updates are handled (can inherit shared config structure).\n 'osvVulnerabilityAlerts', // boolean: Specifically enables checking for vulnerabilities using the OSV database.\n ],\n vulnerabilitiesShared: [\n 'vulnerabilitySeverity', // string: Minimum vulnerability severity level to report or act upon (e.g., \"high\", \"critical\").\n ],\n\n // --- Customization & Extensibility ---\n customization: [\n 'customManagers', // CustomManager[]: Definitions for custom package managers not built into Renovate.\n 'customDatasources', // Record<string, CustomDatasourceConfig>: Definitions for custom datasources to find package versions.\n 'secrets', // Record<string, string>: A key-value store for secrets needed during Renovate runs (e.g., tokens accessed via `process.env`). (Note: For securely passing sensitive data).\n 'env', // UserEnv: User-defined environment variables to be set when Renovate executes package manager commands.\n ],\n\n // --- Reporting ---\n reporting: [\n 'reportPath', // string: Path (for file type) or bucket/key (for S3 type) for saving run reports.\n 'reportType', // 'logging' | 'file' | 's3' | null: How and where to generate reports about Renovate runs.\n ],\n\n // --- Configuration Inheritance ---\n inheritance: [\n 'inheritConfig', // boolean: Whether to inherit configuration from a shared repository (defaults to true for Renovate App/Enterprise).\n 'inheritConfigFileName', // string: Custom filename for the shared configuration file in the inheritance repository.\n 'inheritConfigRepoName', // string: Specify the repository from which to inherit configuration.\n 'inheritConfigStrict', // boolean: If true, errors during config inheritance will stop the Renovate run.\n 'ignorePresets', // string[]: List of preset configurations (from `extends`) to ignore.\n 'force', // RenovateConfig: A nested configuration object used for forcing specific settings (often via CLI).\n ],\n\n // --- Process Control & Execution ---\n processControl: [\n 'skipInstalls', // boolean | null: Skip package manager install/build steps (use with caution, may break updates).\n 'updateInternalDeps', // boolean: Whether to update dependencies that point to other modules within the same monorepo.\n 'cloneSubmodulesFilter', // string[]: Filters to apply when deciding which submodules to clone.\n 'fetchChangeLogs', // FetchChangeLogsOptions: Options controlling if and how changelogs are fetched.\n 'logLevelRemap', // LogLevelRemap[]: Rules to remap log levels from specific modules or contexts.\n 'statusCheckNames', // Record<StatusCheckKey, string | null>: Override the names of status checks Renovate looks for or reports.\n 'configWarningReuseIssue', // boolean: If true, configuration warnings will be posted as comments on a single, reused issue instead of creating new ones.\n 'postUpdateOptions', // string[]: Options passed to post-update scripts or hooks. (Note: Related to `postUpgradeTasks` in SharedConfig, perhaps providing context/flags).\n ],\n\n // --- Constraints ---\n constraints: [\n 'constraints', // Record<string, string>: Define version constraints for dependencies (e.g., force a specific version range globally).\n 'constraintsFiltering', // ConstraintsFilter: Control how constraints are applied ('none', 'strict', 'loose').\n ],\n\n // --- Internal State / Contextual (Likely not configured directly in main config) ---\n internalContext: [\n 'depName', // string: The name of the specific dependency being processed in a rule context.\n 'baseBranch', // string: The specific base branch being processed in the current run.\n 'branchList', // string[]: List of branches detected in the repository.\n 'errors', // ValidationMessage[]: Collection of configuration errors found during parsing.\n 'fileList', // string[]: List of files relevant to the current operation.\n 'packageFile', // string: The specific package file being processed.\n 'repoIsOnboarded', // boolean: Flag indicating if the repository onboarding process is complete.\n 'repoIsActivated', // boolean: Flag indicating if Renovate is activated for the repository.\n 'warnings', // ValidationMessage[]: Collection of configuration warnings found during parsing.\n 'checkedBranches', // string[]: List of branches that have already been processed in the current run.\n 'sharedVariableName', // string: Name of a variable used for sharing data between runs or stages. (Note: Advanced/internal usage).\n ],\n\n // --- PackageRules ---\n packageRules: [\n 'packageRules', // PackageRule[]: The core mechanism for customizing Renovate's behavior for specific dependencies or groups.\n ],\n} as const satisfies JsoncSortKeysOrderMap;\n","import type { JsoncSortKeysOrder } from '../base/types';\nimport { assigneesAndReviewersConfig } from '../base/assignees-and-reviewers-config';\nimport { configMigration } from '../base/config-migration';\nimport { legacyAdminConfig } from '../base/legacy-admin-config';\nimport { renovateConfig } from '../base/renovate-config';\nimport { renovateSharedConfig } from '../base/renovate-shared-config';\nimport { updateConfig } from '../base/update-config';\n\n// RenovateConfig\n// LegacyAdminConfig,\n// RenovateSharedConfig,\n// UpdateConfig<PackageRule>,\n// AssigneesAndReviewersConfig,\n// ConfigMigration,\nexport const rootOrder = [\n //? core config\n ...renovateSharedConfig.config,\n ...renovateConfig.metadata,\n ...renovateConfig.repository,\n ...renovateConfig.forkHandling,\n ...renovateSharedConfig.branch,\n\n //? migration & dashboard\n ...configMigration,\n ...renovateConfig.dependencyDashboard,\n ...renovateSharedConfig.dependencyDashboard,\n\n //? schedule\n ...renovateSharedConfig.schedule,\n ...renovateSharedConfig.automerge,\n ...renovateConfig.limits,\n\n //? grouping\n ...renovateSharedConfig.grouping,\n ...renovateSharedConfig.commit,\n ...renovateSharedConfig.pr,\n ...renovateSharedConfig.labels,\n ...renovateSharedConfig.filtering,\n ...renovateConfig.namingSpecifics,\n ...assigneesAndReviewersConfig.assignees,\n ...assigneesAndReviewersConfig.reviewers,\n ...assigneesAndReviewersConfig.common,\n\n //? registriesNetwork\n ...renovateConfig.registriesNetwork,\n\n //? vulnerabilities\n ...renovateConfig.vulnerabilities,\n ...renovateConfig.vulnerabilitiesShared,\n\n //? rarely\n ...renovateSharedConfig.advanced,\n ...renovateConfig.customization,\n ...renovateConfig.reporting,\n ...renovateConfig.inheritance,\n ...renovateConfig.processControl,\n ...renovateConfig.constraints,\n ...renovateConfig.internalContext,\n ...legacyAdminConfig.onboarding,\n ...legacyAdminConfig.executionLogging,\n ...legacyAdminConfig.configurationRequirements,\n\n //? overrides\n ...updateConfig.semantic_versioning,\n ...updateConfig.pinning_digests,\n ...updateConfig.lock_file,\n ...updateConfig.special_cases,\n ...renovateConfig.packageRules,\n] as const as JsoncSortKeysOrder;\n","import type { TypedFlatConfigItem } from '@antfu/eslint-config';\nimport { packageRuleOrder } from './order/package-rule';\nimport { rootOrder } from './order/root';\n\nexport const renovateJsonRules: TypedFlatConfigItem = {\n name: 'culur/renovate-json/rules',\n files: [\n // https://docs.renovatebot.com/configuration-options/#configuration-options\n 'renovate.json',\n 'renovate.json5',\n '.github/renovate.json',\n '.github/renovate.json5',\n '.gitlab/renovate.json',\n '.gitlab/renovate.json5',\n '.renovaterc',\n '.renovaterc.json',\n '.renovaterc.json5',\n ],\n rules: {\n 'jsonc/sort-keys': [\n 'error',\n {\n pathPattern: /^$/.source,\n order: rootOrder,\n },\n {\n pathPattern: /^packageRules\\[\\d+\\]$/.source,\n order: packageRuleOrder,\n },\n ],\n },\n};\n","import type { TypedFlatConfigItem } from '@antfu/eslint-config';\nimport type { YamlSortKeysRecord } from './yaml-order';\nimport { yamlOrder } from './yaml-order';\n\nexport const yarnrcYmlSortKeys = {\n packageExtensions: {\n packages: {\n pathPattern: /^packageExtensions$/.source,\n order: yamlOrder,\n },\n dependenciesTypes: {\n pathPattern: /^packageExtensions(?:\\[\".+\"\\]|\\.[^.]+)$/.source,\n order: yamlOrder,\n },\n childPackages: {\n pathPattern:\n /^packageExtensions(?:\\[\".+\"\\]|\\.[^.]+)\\.(?:dependencies|peerDependencies|peerDependenciesMeta)$/\n .source,\n order: yamlOrder,\n },\n },\n} satisfies Record<string, Record<string, YamlSortKeysRecord>>;\n\nexport const yarnrcYmlRules: TypedFlatConfigItem = {\n name: 'culur/yarnrc-yml/rules',\n files: ['.yarnrc.yml'],\n rules: {\n 'yaml/sort-keys': [\n 'error',\n yarnrcYmlSortKeys.packageExtensions.packages,\n yarnrcYmlSortKeys.packageExtensions.dependenciesTypes,\n yarnrcYmlSortKeys.packageExtensions.childPackages,\n ],\n },\n};\n","import type {\n Awaitable,\n Rules,\n TypedFlatConfigItem,\n} from '@antfu/eslint-config';\nimport type { Linter } from 'eslint';\n\nexport interface ExtraRules {}\n\nexport type TypedFlatConfigItemCustom = Omit<TypedFlatConfigItem, 'rules'> & {\n rules?: Omit<Rules, keyof ExtraRules> & Partial<ExtraRules>;\n};\n\nexport type OverrideConfig = {\n name: NonNullable<TypedFlatConfigItemCustom['name']>;\n} & (\n | { partialConfig: TypedFlatConfigItemCustom } // merge with the original config\n | { entireConfig: () => Awaitable<TypedFlatConfigItemCustom> } // replace the entire config\n);\n\nexport const defineOverride = (config: OverrideConfig) =>\n [\n config.name,\n 'partialConfig' in config ? config.partialConfig : config.entireConfig,\n ] as [\n name: string,\n config: TypedFlatConfigItem | (() => Awaitable<TypedFlatConfigItem>),\n ];\n\nexport type RuleEntry<T extends keyof Rules> = Rules[T] extends\n Linter.RuleEntry<infer F> | undefined\n ? F\n : never;\n","import antfu from '@antfu/eslint-config';\nimport { defineHasPackages } from '@culur/utils-packages';\nimport { importsRules, sortPackageJson, vueRules } from './overrides';\nimport { testRules } from './overrides/test-rules';\nimport {\n filenameRules,\n pnpmWorkspaceYamlRules,\n renovateJsonRules,\n yarnrcYmlRules,\n} from './rules';\nimport { defineOverride } from './types';\n\nexport default function defineConfig(\n ...[options = {}, ...userConfigs]: Parameters<typeof antfu>\n): ReturnType<typeof antfu> {\n const { hasVue } = defineHasPackages({ vue: !!options.vue });\n\n const config = antfu(\n {\n isInEditor: false,\n stylistic: false,\n formatters: false,\n ...options,\n },\n filenameRules,\n yarnrcYmlRules,\n pnpmWorkspaceYamlRules,\n renovateJsonRules,\n ...userConfigs,\n );\n\n config.override(...defineOverride(importsRules));\n config.override(...defineOverride(sortPackageJson));\n config.override(...defineOverride(testRules));\n\n if (hasVue()) {\n config.override(...defineOverride(vueRules));\n }\n\n return config;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,MAAa,eAA+B;CAC1C,MAAM;CACN,eAAe,EACb,OAAO,EAEL,0CAA0C,CAAC,SAAS,kBAAkB,EACxE,EACF;AACF;;ACNA,MAAa,kBAAkC;CAC7C,MAAM;CACN,MAAM,eAAe;EACnB,MAAM,CAAC,cAAc,OAAA,GAAMA,qBAAAA,gBAAAA,CAAqB;EAChD,CAAA,GAAA,YAAA,QAAA,CAAO,OAAO,WAAW,SAAS,QAAQ;EAC1C,CAAA,GAAA,YAAA,QAAA,CAAO,OAAO,WAAW,UAAU,QAAQ;EAE3C,MAAM,WAAW,WAAW,MAAM;EAClC,CAAA,GAAA,YAAA,QAAA,CAAO,OAAO,aAAa,QAAQ;EAEnC,MAAM,GAAG,WAAW;EACpB,CAAA,GAAA,YAAA,QAAA,CAAO,OAAO,YAAY,QAAQ;EAElC,QAAQ,QAAQ;GAEd;GACA;GACA;GACA;GACA;GACA;GACA;GAGA;GACA;GACA;GACA;GAGA;GACA;GACA;GAGA;GACA;GAGA;GACA;GAGA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GAGA;GACA;GACA;GAGA;GAGA;GACA;GACA;GAGA;GACA;GACA;GACA;GACA;GACA;GAEA;GACA;GACA;GAGA;GACA;GACA;GACA;EACF;EAEA,OAAO;CACT;AACF;;ACtEA,MAAa,YAA4B;CACvC,MAAM;CACN,eAAe;EAEb,OAAO,CAAC,sCAAsC;EAC9C,OAAO;GACL,GAAGC,sBAAAA,QAAO,QAAQ,YAAY;GAC9B,oBAAoB,CAAC,SAAS,EAAE,gBAAgB,KAAK,CAAC;GACtD,sBAAsB,CACpB,SACA,EACE,qBAAqB;IACnB;IACA;IACA;IACA;GACF,EACF,CACF;EACF;CACF;AACF;;ACxCA,MAAa,WAA2B;CACtC,MAAM;CACN,eAAe,EACb,OAAO;EACL,+CAA+C;EAC/C,8CAA8C;EAC9C,mCAAmC,CAAC,SAAS,QAAQ;EACrD,yCAAyC;GACvC;GACA;GACA,EAAE,0BAA0B,MAAM;EACpC;CACF,EACF;AACF;;ACdA,MAAa,gBAAqC;CAChD,MAAM;CACN,OAAO;EACL;EACA;EACA;EACA;EACA;EACA;EACA;CACF;CACA,OAAO,EACL,yBAAyB,CACvB,SACA;EACE,MAAM;EACN,QAAQ;GACN;GACA;GACA;GACA;GACA;GACA;EACF;CACF,CACF,EACF;AACF;;AC1BA,MAAa,YAAY;CACvB,MAAM;CACN,eAAe;CACf,SAAS;AACX;;ACAA,MAAa,wBAAwB;CACnC,MAAM;EACJ,aAAa,KAAK;EAClB,OAAO;GAEL;GACA;GAGA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GAGA;GACA;GACA;GACA;GACA;GAGA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GAGA;GACA;GACA;GACA;GAGA;GACA;GACA;GACA;GACA;GACA;GAGA;GACA;GACA;GACA;GACA;GACA;GAGA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GAGA;GACA;GACA;GACA;GACA;GACA;GAGA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GAGA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GAGA;GACA;GACA;GAGA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;EACF;CACF;CACA,UAAU;EACR,aAAa,KAAK;GAChB;GACA;GACA;GACA;GACA;GACA;GACA;EACF,CAAC,CAAC,KAAK,GAAG,EAAE;EACZ,OAAO;CACT;AACF;;;;;;;;;;;;;;AAEA,MAAa,kCAAkC,EAC7C,UAAU;CACR,aAAa,KAAK;EAChB;EACA;EACA;CACF,CAAC,CAAC,KAAK,GAAG,EAAE;CACZ,OAAO;AACT,EACF;AAEA,MAAa,yBAA8C;CACzD,MAAM;CACN,OAAO,CAAC,qBAAqB;CAC7B,OAAO;EACL,kBAAkB;GAChB;GACA,sBAAsB;GACtB,sBAAsB;EACxB;EACA,6BAA6B,CAC3B,SACA,gCAAgC,QAClC;CACF;AACF;;AC3LA,MAAa,cAAc;CAEzB,UAAU,CACR,aACF;CAGA,eAAe,CACb,eACF;CAIA,UAAU;EACR;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF;CAGA,mBAAmB,CACjB,cACF;CAGA,iBAAiB,CACf,wBACA,yBACF;CACA,uBAAuB,CACrB,uBACF;AACF;;AC9CA,MAAa,uBAAuB;CAElC,QAAQ;EACN;EACA;EACA;EACA;CACF;CAGA,qBAAqB,CACnB,6BACF;CAGA,UAAU,CACR,YACA,UACF;CAGA,WAAW;EACT;EACA;EACA;EACA;EACA;EACA;CACF;CAGA,QAAQ;EACN;EACA;EACA;EACA;EACA;CAEF;CAGA,UAAU;EACR;EACA;EACA;CACF;CAGA,QAAQ;EACN;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF;CAGA,IAAI;EACF;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF;CAGA,QAAQ;EACN;EACA;EACA;EACA;EACA;CACF;CAGA,WAAW;EACT;EACA;EACA;EACA;EACA;EACA;CACF;CAGA,UAAU;EACR;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CAOF;AACF;;AC/GA,MAAa,eAAe;CAG1B,qBAAqB;EACnB;EACA;EACA;CACF;CAIA,iBAAiB;EACf;EACA;EACA;CACF;CAIA,WAAW,CACT,uBACA,gBACF;CAIA,eAAe;EACb;EACA;EACA;CACF;AACF;;ACzBA,MAAa,mBAAmB;CAE9B,GAAG,YAAY;CACf,GAAG,qBAAqB;CACxB,GAAG,qBAAqB;CAGxB,GAAG,qBAAqB;CAGxB,GAAG,qBAAqB;CACxB,GAAG,qBAAqB;CAGxB,GAAG,qBAAqB;CACxB,GAAG,qBAAqB;CACxB,GAAG,qBAAqB;CACxB,GAAG,qBAAqB;CACxB,GAAG,qBAAqB;CAGxB,GAAG,YAAY;CAGf,GAAG,YAAY;CACf,GAAG,YAAY;CAGf,GAAG,YAAY;CACf,GAAG,YAAY;CAGf,GAAG,qBAAqB;CAGxB,GAAG,aAAa;CAChB,GAAG,aAAa;CAChB,GAAG,aAAa;CAChB,GAAG,aAAa;AAClB;;AC7CA,MAAa,8BAA8B;CAEzC,WAAW;EACT;EACA;EACA;CACF;CAGA,WAAW;EACT;EACA;EACA;EACA;EACA;CACF;CAGA,QAAQ,CACN,0BACA,wBAEF;AACF;;ACvBA,MAAa,kBAAkB,CAC7B,iBACF;;ACFA,MAAa,oBAAoB;CAI/B,YAAY;EACV;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF;CAIA,2BAA2B,CACzB,eACF;CAIA,kBAAkB,CAChB,YACA,YACF;AACF;;AC3BA,MAAa,iBAAiB;CAE5B,UAAU,CACR,aACF;CAGA,YAAY;EACV;EACA;EACA;EACA;CACF;CAGA,cAAc;EACZ;EACA;EACA;CACF;CAGA,qBAAqB;EACnB;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CAEF;CAGA,QAAQ;EACN;EACA;EACA;CACF;CAGA,iBAAiB;EACf;EACA;EACA;CACF;CAGA,mBAAmB;EACjB;EACA;EACA;EACA;EACA;EACA;CACF;CAGA,iBAAiB,CACf,uBACA,wBACF;CACA,uBAAuB,CACrB,uBACF;CAGA,eAAe;EACb;EACA;EACA;EACA;CACF;CAGA,WAAW,CACT,cACA,YACF;CAGA,aAAa;EACX;EACA;EACA;EACA;EACA;EACA;CACF;CAGA,gBAAgB;EACd;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF;CAGA,aAAa,CACX,eACA,sBACF;CAGA,iBAAiB;EACf;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF;CAGA,cAAc,CACZ,cACF;AACF;;ACrHA,MAAa,YAAY;CAEvB,GAAG,qBAAqB;CACxB,GAAG,eAAe;CAClB,GAAG,eAAe;CAClB,GAAG,eAAe;CAClB,GAAG,qBAAqB;CAGxB,GAAG;CACH,GAAG,eAAe;CAClB,GAAG,qBAAqB;CAGxB,GAAG,qBAAqB;CACxB,GAAG,qBAAqB;CACxB,GAAG,eAAe;CAGlB,GAAG,qBAAqB;CACxB,GAAG,qBAAqB;CACxB,GAAG,qBAAqB;CACxB,GAAG,qBAAqB;CACxB,GAAG,qBAAqB;CACxB,GAAG,eAAe;CAClB,GAAG,4BAA4B;CAC/B,GAAG,4BAA4B;CAC/B,GAAG,4BAA4B;CAG/B,GAAG,eAAe;CAGlB,GAAG,eAAe;CAClB,GAAG,eAAe;CAGlB,GAAG,qBAAqB;CACxB,GAAG,eAAe;CAClB,GAAG,eAAe;CAClB,GAAG,eAAe;CAClB,GAAG,eAAe;CAClB,GAAG,eAAe;CAClB,GAAG,eAAe;CAClB,GAAG,kBAAkB;CACrB,GAAG,kBAAkB;CACrB,GAAG,kBAAkB;CAGrB,GAAG,aAAa;CAChB,GAAG,aAAa;CAChB,GAAG,aAAa;CAChB,GAAG,aAAa;CAChB,GAAG,eAAe;AACpB;;AChEA,MAAa,oBAAyC;CACpD,MAAM;CACN,OAAO;EAEL;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF;CACA,OAAO,EACL,mBAAmB;EACjB;EACA;GACE,aAAa,KAAK;GAClB,OAAO;EACT;EACA;GACE,aAAa,wBAAwB;GACrC,OAAO;EACT;CACF,EACF;AACF;;AC3BA,MAAa,oBAAoB,EAC/B,mBAAmB;CACjB,UAAU;EACR,aAAa,sBAAsB;EACnC,OAAO;CACT;CACA,mBAAmB;EACjB,aAAa,0CAA0C;EACvD,OAAO;CACT;CACA,eAAe;EACb,aACE,kGACG;EACL,OAAO;CACT;AACF,EACF;AAEA,MAAa,iBAAsC;CACjD,MAAM;CACN,OAAO,CAAC,aAAa;CACrB,OAAO,EACL,kBAAkB;EAChB;EACA,kBAAkB,kBAAkB;EACpC,kBAAkB,kBAAkB;EACpC,kBAAkB,kBAAkB;CACtC,EACF;AACF;;ACdA,MAAa,kBAAkB,WAC7B,CACE,OAAO,MACP,mBAAmB,SAAS,OAAO,gBAAgB,OAAO,YAC5D;;ACZF,SAAwB,aACtB,GAAG,CAAC,UAAU,CAAC,GAAG,GAAG,cACK;CAC1B,MAAM,EAAE,YAAA,GAAWC,sBAAAA,kBAAAA,CAAkB,EAAE,KAAK,CAAC,CAAC,QAAQ,IAAI,CAAC;CAE3D,MAAM,UAAA,GAASC,qBAAAA,QAAAA,CACb;EACE,YAAY;EACZ,WAAW;EACX,YAAY;EACZ,GAAG;CACL,GACA,eACA,gBACA,wBACA,mBACA,GAAG,WACL;CAEA,OAAO,SAAS,GAAG,eAAe,YAAY,CAAC;CAC/C,OAAO,SAAS,GAAG,eAAe,eAAe,CAAC;CAClD,OAAO,SAAS,GAAG,eAAe,SAAS,CAAC;CAE5C,IAAI,OAAO,GACT,OAAO,SAAS,GAAG,eAAe,QAAQ,CAAC;CAG7C,OAAO;AACT"}
|
package/dist/index.d.cts
CHANGED
|
@@ -1,5 +1,3 @@
|
|
|
1
1
|
import antfu from "@antfu/eslint-config";
|
|
2
|
-
//#region src/index.d.ts
|
|
3
2
|
declare function defineConfig(...[options, ...userConfigs]: Parameters<typeof antfu>): ReturnType<typeof antfu>;
|
|
4
|
-
export = defineConfig;
|
|
5
|
-
//# sourceMappingURL=index.d.cts.map
|
|
3
|
+
export = defineConfig;
|
package/dist/index.d.mts
CHANGED
|
@@ -1,6 +1,2 @@
|
|
|
1
1
|
import antfu from "@antfu/eslint-config";
|
|
2
|
-
|
|
3
|
-
declare function defineConfig(...[options, ...userConfigs]: Parameters<typeof antfu>): ReturnType<typeof antfu>;
|
|
4
|
-
//#endregion
|
|
5
|
-
export { defineConfig as default };
|
|
6
|
-
//# sourceMappingURL=index.d.mts.map
|
|
2
|
+
export default function defineConfig(...[options, ...userConfigs]: Parameters<typeof antfu>): ReturnType<typeof antfu>;
|
package/dist/index.mjs
CHANGED
|
@@ -2,13 +2,12 @@ import antfu, { sortPackageJson } from "@antfu/eslint-config";
|
|
|
2
2
|
import { defineHasPackages } from "@culur/utils-packages";
|
|
3
3
|
import assert from "node:assert";
|
|
4
4
|
import vitest from "@vitest/eslint-plugin";
|
|
5
|
-
|
|
5
|
+
// src/overrides/imports-rules.ts
|
|
6
6
|
const importsRules = {
|
|
7
7
|
name: "antfu/imports/rules",
|
|
8
8
|
partialConfig: { rules: { "import/consistent-type-specifier-style": ["error", "prefer-top-level"] } }
|
|
9
9
|
};
|
|
10
|
-
|
|
11
|
-
//#region src/overrides/sort-package-json.ts
|
|
10
|
+
// src/overrides/sort-package-json.ts
|
|
12
11
|
const sortPackageJson$1 = {
|
|
13
12
|
name: "antfu/sort/package-json",
|
|
14
13
|
async entireConfig() {
|
|
@@ -71,8 +70,7 @@ const sortPackageJson$1 = {
|
|
|
71
70
|
return configItem;
|
|
72
71
|
}
|
|
73
72
|
};
|
|
74
|
-
|
|
75
|
-
//#region src/overrides/test-rules.ts
|
|
73
|
+
// src/overrides/test-rules.ts
|
|
76
74
|
const testRules = {
|
|
77
75
|
name: "antfu/test/rules",
|
|
78
76
|
partialConfig: {
|
|
@@ -89,8 +87,7 @@ const testRules = {
|
|
|
89
87
|
}
|
|
90
88
|
}
|
|
91
89
|
};
|
|
92
|
-
|
|
93
|
-
//#region src/overrides/vue-rules.ts
|
|
90
|
+
// src/overrides/vue-rules.ts
|
|
94
91
|
const vueRules = {
|
|
95
92
|
name: "antfu/vue/rules",
|
|
96
93
|
partialConfig: { rules: {
|
|
@@ -104,8 +101,7 @@ const vueRules = {
|
|
|
104
101
|
]
|
|
105
102
|
} }
|
|
106
103
|
};
|
|
107
|
-
|
|
108
|
-
//#region src/rules/filename.ts
|
|
104
|
+
// src/rules/filename.ts
|
|
109
105
|
const filenameRules = {
|
|
110
106
|
name: "culur/filename/rules",
|
|
111
107
|
files: [
|
|
@@ -129,15 +125,13 @@ const filenameRules = {
|
|
|
129
125
|
]
|
|
130
126
|
}] }
|
|
131
127
|
};
|
|
132
|
-
|
|
133
|
-
//#region src/rules/yaml-order.ts
|
|
128
|
+
// src/rules/yaml-order.ts
|
|
134
129
|
const yamlOrder = {
|
|
135
130
|
type: "asc",
|
|
136
131
|
caseSensitive: false,
|
|
137
132
|
natural: true
|
|
138
133
|
};
|
|
139
|
-
|
|
140
|
-
//#region src/rules/pnpm-workspace-yaml.ts
|
|
134
|
+
// src/rules/pnpm-workspace-yaml.ts
|
|
141
135
|
const pnpmWorkspaceSortKeys = {
|
|
142
136
|
root: {
|
|
143
137
|
pathPattern: /^$/.source,
|
|
@@ -154,6 +148,7 @@ const pnpmWorkspaceSortKeys = {
|
|
|
154
148
|
"minimumReleaseAgeExclude",
|
|
155
149
|
"minimumReleaseAgeIgnoreMissingTime",
|
|
156
150
|
"minimumReleaseAgeStrict",
|
|
151
|
+
"minimumReleaseAgeExcludePrune",
|
|
157
152
|
"trustPolicy",
|
|
158
153
|
"trustPolicyExclude",
|
|
159
154
|
"trustPolicyIgnoreAfter",
|
|
@@ -301,8 +296,7 @@ const pnpmWorkspaceYamlRules = {
|
|
|
301
296
|
"yaml/sort-sequence-values": ["error", pnpmWorkspaceSortSequenceValues.packages]
|
|
302
297
|
}
|
|
303
298
|
};
|
|
304
|
-
|
|
305
|
-
//#region src/rules/renovate-json/base/package-rule.ts
|
|
299
|
+
// src/rules/renovate-json/base/package-rule.ts
|
|
306
300
|
const packageRule = {
|
|
307
301
|
metadata: ["description"],
|
|
308
302
|
rangeStrategy: ["rangeStrategy"],
|
|
@@ -329,8 +323,7 @@ const packageRule = {
|
|
|
329
323
|
vulnerabilities: ["isVulnerabilityAlert", "vulnerabilityFixVersion"],
|
|
330
324
|
vulnerabilitiesShared: ["vulnerabilitySeverity"]
|
|
331
325
|
};
|
|
332
|
-
|
|
333
|
-
//#region src/rules/renovate-json/base/renovate-shared-config.ts
|
|
326
|
+
// src/rules/renovate-json/base/renovate-shared-config.ts
|
|
334
327
|
const renovateSharedConfig = {
|
|
335
328
|
config: [
|
|
336
329
|
"$schema",
|
|
@@ -410,8 +403,7 @@ const renovateSharedConfig = {
|
|
|
410
403
|
"rebaseWhen"
|
|
411
404
|
]
|
|
412
405
|
};
|
|
413
|
-
|
|
414
|
-
//#region src/rules/renovate-json/base/update-config.ts
|
|
406
|
+
// src/rules/renovate-json/base/update-config.ts
|
|
415
407
|
const updateConfig = {
|
|
416
408
|
semantic_versioning: [
|
|
417
409
|
"major",
|
|
@@ -430,8 +422,7 @@ const updateConfig = {
|
|
|
430
422
|
"replacement"
|
|
431
423
|
]
|
|
432
424
|
};
|
|
433
|
-
|
|
434
|
-
//#region src/rules/renovate-json/order/package-rule.ts
|
|
425
|
+
// src/rules/renovate-json/order/package-rule.ts
|
|
435
426
|
const packageRuleOrder = [
|
|
436
427
|
...packageRule.metadata,
|
|
437
428
|
...renovateSharedConfig.config,
|
|
@@ -455,8 +446,7 @@ const packageRuleOrder = [
|
|
|
455
446
|
...updateConfig.lock_file,
|
|
456
447
|
...updateConfig.special_cases
|
|
457
448
|
];
|
|
458
|
-
|
|
459
|
-
//#region src/rules/renovate-json/base/assignees-and-reviewers-config.ts
|
|
449
|
+
// src/rules/renovate-json/base/assignees-and-reviewers-config.ts
|
|
460
450
|
const assigneesAndReviewersConfig = {
|
|
461
451
|
assignees: [
|
|
462
452
|
"assignees",
|
|
@@ -472,11 +462,9 @@ const assigneesAndReviewersConfig = {
|
|
|
472
462
|
],
|
|
473
463
|
common: ["expandCodeOwnersGroups", "filterUnavailableUsers"]
|
|
474
464
|
};
|
|
475
|
-
|
|
476
|
-
//#region src/rules/renovate-json/base/config-migration.ts
|
|
465
|
+
// src/rules/renovate-json/base/config-migration.ts
|
|
477
466
|
const configMigration = ["configMigration"];
|
|
478
|
-
|
|
479
|
-
//#region src/rules/renovate-json/base/legacy-admin-config.ts
|
|
467
|
+
// src/rules/renovate-json/base/legacy-admin-config.ts
|
|
480
468
|
const legacyAdminConfig = {
|
|
481
469
|
onboarding: [
|
|
482
470
|
"onboarding",
|
|
@@ -491,8 +479,7 @@ const legacyAdminConfig = {
|
|
|
491
479
|
configurationRequirements: ["requireConfig"],
|
|
492
480
|
executionLogging: ["localDir", "logContext"]
|
|
493
481
|
};
|
|
494
|
-
|
|
495
|
-
//#region src/rules/renovate-json/base/renovate-config.ts
|
|
482
|
+
// src/rules/renovate-json/base/renovate-config.ts
|
|
496
483
|
const renovateConfig = {
|
|
497
484
|
metadata: ["description"],
|
|
498
485
|
repository: [
|
|
@@ -578,8 +565,7 @@ const renovateConfig = {
|
|
|
578
565
|
],
|
|
579
566
|
packageRules: ["packageRules"]
|
|
580
567
|
};
|
|
581
|
-
|
|
582
|
-
//#region src/rules/renovate-json/order/root.ts
|
|
568
|
+
// src/rules/renovate-json/order/root.ts
|
|
583
569
|
const rootOrder = [
|
|
584
570
|
...renovateSharedConfig.config,
|
|
585
571
|
...renovateConfig.metadata,
|
|
@@ -620,8 +606,7 @@ const rootOrder = [
|
|
|
620
606
|
...updateConfig.special_cases,
|
|
621
607
|
...renovateConfig.packageRules
|
|
622
608
|
];
|
|
623
|
-
|
|
624
|
-
//#region src/rules/renovate-json/index.ts
|
|
609
|
+
// src/rules/renovate-json/index.ts
|
|
625
610
|
const renovateJsonRules = {
|
|
626
611
|
name: "culur/renovate-json/rules",
|
|
627
612
|
files: [
|
|
@@ -647,8 +632,7 @@ const renovateJsonRules = {
|
|
|
647
632
|
}
|
|
648
633
|
] }
|
|
649
634
|
};
|
|
650
|
-
|
|
651
|
-
//#region src/rules/yarnrc-yml.ts
|
|
635
|
+
// src/rules/yarnrc-yml.ts
|
|
652
636
|
const yarnrcYmlSortKeys = { packageExtensions: {
|
|
653
637
|
packages: {
|
|
654
638
|
pathPattern: /^packageExtensions$/.source,
|
|
@@ -673,11 +657,9 @@ const yarnrcYmlRules = {
|
|
|
673
657
|
yarnrcYmlSortKeys.packageExtensions.childPackages
|
|
674
658
|
] }
|
|
675
659
|
};
|
|
676
|
-
|
|
677
|
-
//#region src/types/index.ts
|
|
660
|
+
// src/types/index.ts
|
|
678
661
|
const defineOverride = (config) => [config.name, "partialConfig" in config ? config.partialConfig : config.entireConfig];
|
|
679
|
-
|
|
680
|
-
//#region src/index.ts
|
|
662
|
+
// src/index.ts
|
|
681
663
|
function defineConfig(...[options = {}, ...userConfigs]) {
|
|
682
664
|
const { hasVue } = defineHasPackages({ vue: !!options.vue });
|
|
683
665
|
const config = antfu({
|
|
@@ -692,7 +674,6 @@ function defineConfig(...[options = {}, ...userConfigs]) {
|
|
|
692
674
|
if (hasVue()) config.override(...defineOverride(vueRules));
|
|
693
675
|
return config;
|
|
694
676
|
}
|
|
695
|
-
//#endregion
|
|
696
677
|
export { defineConfig as default };
|
|
697
678
|
|
|
698
679
|
//# sourceMappingURL=index.mjs.map
|
package/dist/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","names":["sortPackageJson","sortPackageJsonAntfu","sortPackageJson"],"sources":["../src/overrides/imports-rules.ts","../src/overrides/sort-package-json.ts","../src/overrides/test-rules.ts","../src/overrides/vue-rules.ts","../src/rules/filename.ts","../src/rules/yaml-order.ts","../src/rules/pnpm-workspace-yaml.ts","../src/rules/renovate-json/base/package-rule.ts","../src/rules/renovate-json/base/renovate-shared-config.ts","../src/rules/renovate-json/base/update-config.ts","../src/rules/renovate-json/order/package-rule.ts","../src/rules/renovate-json/base/assignees-and-reviewers-config.ts","../src/rules/renovate-json/base/config-migration.ts","../src/rules/renovate-json/base/legacy-admin-config.ts","../src/rules/renovate-json/base/renovate-config.ts","../src/rules/renovate-json/order/root.ts","../src/rules/renovate-json/index.ts","../src/rules/yarnrc-yml.ts","../src/types/index.ts","../src/index.ts"],"sourcesContent":["import type { OverrideConfig } from '~/types';\n\nexport const importsRules: OverrideConfig = {\n name: 'antfu/imports/rules',\n partialConfig: {\n rules: {\n // 'import/no-deprecated': 'error',\n 'import/consistent-type-specifier-style': ['error', 'prefer-top-level'],\n },\n },\n};\n","import type { OverrideConfig } from '~/types';\nimport assert from 'node:assert';\nimport { sortPackageJson as sortPackageJsonAntfu } from '@antfu/eslint-config';\n\nexport const sortPackageJson: OverrideConfig = {\n name: 'antfu/sort/package-json',\n async entireConfig() {\n const [configItem] = await sortPackageJsonAntfu();\n assert(typeof configItem.name === 'string');\n assert(typeof configItem.rules === 'object');\n\n const sortKeys = configItem.rules['jsonc/sort-keys'];\n assert(typeof sortKeys === 'object');\n\n const [, options] = sortKeys;\n assert(typeof options === 'object');\n\n options.order = [\n //? Project\n 'publisher',\n 'name',\n 'displayName',\n 'version',\n 'description',\n 'private',\n 'publishConfig',\n\n //? Repository\n 'repository',\n 'bugs',\n 'homepage',\n 'funding',\n\n //? Author & license\n 'contributors',\n 'author',\n 'license',\n\n //? https://code.visualstudio.com/api/references/extension-manifest\n 'keywords',\n 'categories',\n\n //? CDN\n 'unpkg',\n 'jsdelivr',\n\n //? Export\n 'type', // module or commonjs\n 'main',\n 'types',\n 'typings', // synonymous with types\n 'typesVersions',\n 'exports',\n 'bin',\n 'files',\n 'workspaces',\n\n //? https://code.visualstudio.com/api/references/extension-manifest\n 'icon',\n 'activationEvents',\n 'contributes',\n\n //? Scripts\n 'scripts',\n\n //? Node & packageManager\n 'volta',\n 'engines',\n 'packageManager',\n\n //? Dependencies\n 'dependencies',\n 'devDependencies',\n 'peerDependencies',\n 'peerDependenciesMeta',\n 'bundleDependencies',\n 'optionalDependencies',\n\n 'pnpm',\n 'overrides',\n 'resolutions',\n\n //? Lib config\n 'husky',\n 'simple-git-hooks',\n 'lint-staged',\n 'eslintConfig',\n ];\n\n return configItem;\n },\n};\n","import type { Linter } from 'eslint';\nimport type { OverrideConfig } from '~/types';\nimport vitest from '@vitest/eslint-plugin';\n\ndeclare module '~/types' {\n export interface ExtraRules {\n // https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/valid-title.md\n 'test/valid-title': Linter.RuleEntry<\n [\n {\n ignoreTypeOfDescribeName?: boolean;\n allowArguments?: boolean;\n disallowedWords?: string[];\n mustNotMatch?: string[];\n mustMatch?: string[];\n },\n ]\n >;\n }\n}\n\nexport const testRules: OverrideConfig = {\n name: 'antfu/test/rules',\n partialConfig: {\n // Same `include` in @culur/config-vite\n files: ['**/*\\\\.{test,test-d}.?(c|m)[jt]s?(x)'],\n rules: {\n ...vitest.configs.recommended.rules,\n 'test/valid-title': ['error', { allowArguments: true }],\n 'test/expect-expect': [\n 'error',\n {\n assertFunctionNames: [\n 'expect',\n 'expectTypeOf',\n 'assert',\n 'assertType',\n ],\n },\n ],\n },\n },\n};\n","import type { OverrideConfig } from '~/types';\n\nexport const vueRules: OverrideConfig = {\n name: 'antfu/vue/rules',\n partialConfig: {\n rules: {\n 'vue/singleline-html-element-content-newline': 'off',\n 'vue/multiline-html-element-content-newline': 'off',\n 'vue/padding-line-between-blocks': ['error', 'always'],\n 'vue/component-name-in-template-casing': [\n 'error',\n 'PascalCase',\n { registeredComponentsOnly: false },\n ],\n },\n },\n};\n","import type { TypedFlatConfigItem } from '@antfu/eslint-config';\n\nexport const filenameRules: TypedFlatConfigItem = {\n name: 'culur/filename/rules',\n files: [\n '**/*.?(c|m){js,ts}?(x)',\n '**/*.vue',\n '**/*.md?(x)',\n '**/*.json?(c)',\n '**/*.y?(a)ml',\n '**/*.gql',\n '**/*.graphql',\n ],\n rules: {\n 'unicorn/filename-case': [\n 'error',\n {\n case: 'kebabCase',\n ignore: [\n '^ADR-\\\\w+\\\\.md',\n '^ARCHITECTURE\\\\.md',\n '^CHANGELOG\\\\.md',\n '^CONTRIBUTING\\\\.md',\n '^README\\\\.md',\n '^__tests__',\n ],\n },\n ],\n },\n};\n","import type { Rules } from '@antfu/eslint-config';\nimport type { Linter } from 'eslint';\n\nexport const yamlOrder = {\n type: 'asc',\n caseSensitive: false,\n natural: true,\n} as const;\n\nexport type YamlSortKeys =\n NonNullable<Rules['yaml/sort-keys']> extends Linter.RuleEntry<infer F>\n ? F\n : never;\n\nexport type YamlSortKeysRecord = YamlSortKeys[0];\n\nexport type YamlSortSequenceValues =\n NonNullable<Rules['yaml/sort-sequence-values']> extends Linter.RuleEntry<\n infer F\n >\n ? F\n : never;\n\nexport type YamlSortSequenceValuesRecord = YamlSortSequenceValues[0];\n","import type { TypedFlatConfigItem } from '@antfu/eslint-config';\nimport type {\n YamlSortKeysRecord,\n YamlSortSequenceValuesRecord,\n} from './yaml-order';\nimport { yamlOrder } from './yaml-order';\n\nexport const pnpmWorkspaceSortKeys = {\n root: {\n pathPattern: /^$/.source,\n order: [\n //! Monorepo\n 'packages',\n 'catalog',\n\n //! Dependency Resolution\n 'overrides',\n 'packageExtensions',\n 'allowedDeprecatedVersions',\n 'updateConfig',\n 'supportedArchitectures',\n 'ignoredOptionalDependencies',\n 'minimumReleaseAge',\n 'minimumReleaseAgeExclude',\n 'minimumReleaseAgeIgnoreMissingTime',\n 'minimumReleaseAgeStrict',\n 'trustPolicy',\n 'trustPolicyExclude',\n 'trustPolicyIgnoreAfter',\n 'trustLockfile',\n 'blockExoticSubdeps',\n 'registries',\n 'namedRegistries',\n\n //! Dependency Hoisting Settings\n 'hoist',\n 'hoistWorkspacePackages',\n 'hoistPattern',\n 'publicHoistPattern',\n 'shamefullyHoist',\n\n //! Node-Modules Settings\n 'modulesDir',\n 'nodeLinker',\n 'symlink',\n 'enableModulesDir',\n 'virtualStoreDir',\n 'virtualStoreDirMaxLength',\n 'virtualStoreOnly',\n 'packageImportMethod',\n 'modulesCacheMaxAge',\n 'dlxCacheMaxAge',\n 'enableGlobalVirtualStore',\n\n //! Store Settings\n 'storeDir',\n 'verifyStoreIntegrity',\n 'useRunningStoreServer',\n 'strictStorePkgContentCheck',\n\n //! Network Settings\n 'httpsProxy',\n 'httpProxy',\n 'noProxy',\n 'localAddress',\n 'maxsockets',\n 'strictSsl',\n\n //! Lockfile Settings\n 'lockfile',\n 'preferFrozenLockfile',\n 'lockfileIncludeTarballUrl',\n 'gitBranchLockfile',\n 'mergeGitBranchLockfilesBranchPattern',\n 'peersSuffixMaxLength',\n\n //! Request Settings\n 'gitShallowHosts',\n 'networkConcurrency',\n 'fetchRetries',\n 'fetchRetryFactor',\n 'fetchRetryMintimeout',\n 'fetchRetryMaxtimeout',\n 'fetchTimeout',\n 'fetchWarnTimeoutMs',\n 'fetchMinSpeedKiBps',\n\n //! Peer Dependency Settings\n 'autoInstallPeers',\n 'dedupePeerDependents',\n 'dedupePeers',\n 'strictPeerDependencies',\n 'resolvePeersFromWorkspaceRoot',\n 'peerDependencyRules',\n\n //! CLI Settings\n '[no-]color',\n 'loglevel',\n 'useBetaCli',\n 'recursiveInstall',\n 'engineStrict',\n 'npmPath',\n 'pmOnFail',\n 'ignoreWorkspaceRootCheck',\n\n //! Build Settings\n 'ignoreScripts',\n 'childConcurrency',\n 'sideEffectsCache',\n 'sideEffectsCacheReadonly',\n 'unsafePerm',\n 'nodeOptions',\n 'verifyDepsBeforeRun',\n 'strictDepBuilds',\n 'allowBuilds',\n 'dangerouslyAllowAllBuilds',\n\n //! Node.js Settings\n 'nodeVersion',\n 'runtimeOnFail',\n 'nodeDownloadMirrors',\n\n //! Other Settings\n 'savePrefix',\n 'tag',\n 'globalDir',\n 'globalBinDir',\n 'npmrcAuthFile',\n 'stateDir',\n 'cacheDir',\n 'useStderr',\n 'updateNotifier',\n 'preferSymlinkedExecutables',\n 'ignoreCompatibilityDb',\n 'resolutionMode',\n 'registrySupportsTimeField',\n 'extendNodePath',\n 'deployAllFiles',\n 'dedupeDirectDeps',\n 'optimisticRepeatInstall',\n 'requiredScripts',\n 'enablePrePostScripts',\n 'scriptShell',\n 'shellEmulator',\n 'catalogMode',\n 'ci',\n 'cleanupUnusedCatalogs',\n ],\n },\n packages: {\n pathPattern: `^(${[\n 'overrides',\n 'packageExtensions',\n 'allowedDeprecatedVersions',\n 'updateConfig',\n 'supportedArchitectures',\n 'registries',\n 'namedRegistries',\n ].join('|')})$`,\n order: yamlOrder,\n },\n} satisfies Record<string, YamlSortKeysRecord>;\n\nexport const pnpmWorkspaceSortSequenceValues = {\n packages: {\n pathPattern: `^(${[\n 'ignoredOptionalDependencies',\n 'minimumReleaseAgeExclude',\n 'trustPolicyExclude',\n ].join('|')})$`,\n order: yamlOrder,\n },\n} satisfies Record<string, YamlSortSequenceValuesRecord>;\n\nexport const pnpmWorkspaceYamlRules: TypedFlatConfigItem = {\n name: 'culur/pnpm-workspace-yaml/rules',\n files: ['pnpm-workspace.yaml'],\n rules: {\n 'yaml/sort-keys': [\n 'error',\n pnpmWorkspaceSortKeys.root,\n pnpmWorkspaceSortKeys.packages,\n ],\n 'yaml/sort-sequence-values': [\n 'error',\n pnpmWorkspaceSortSequenceValues.packages,\n ],\n },\n};\n","import type { JsoncSortKeysOrderMap } from './types';\n\nexport const packageRule = {\n // --- Metadata ---\n metadata: [\n 'description', // string | string[]: Human-readable description of what this package rule does, useful for documenting complex configurations.\n ],\n\n // --- Range Strategy ---\n rangeStrategy: [\n 'rangeStrategy', // 'auto' | 'pin' | 'bump' | 'replace' | 'widen' | 'update-lockfile' | 'in-range-only': Determines how to modify or update existing ranges\n ],\n\n // --- Rule Matching Criteria (Core) ---\n // These properties determine *which* dependencies or updates this rule applies to.\n matching: [\n 'matchPackageNames', // string[]: Apply rule if dependency name matches any in this list (e.g., [\"react\", \"lodash\"]).\n 'matchDepNames', // string[]: Apply rule if dependency name matches (similar to matchPackageNames, can be broader).\n 'matchManagers', // string[]: Apply rule if the dependency is managed by one of these package managers (e.g., [\"npm\", \"docker\"]).\n 'matchDatasources', // string[]: Apply rule if the dependency's version source matches (e.g., [\"npm\", \"git-tags\", \"docker\"]).\n 'matchDepTypes', // string[]: Apply rule if the dependency type matches (e.g., [\"dependencies\", \"devDependencies\", \"peerDependencies\"]).\n 'matchUpdateTypes', // UpdateType[]: Apply rule based on the type of update (e.g., [\"major\", \"minor\", \"patch\", \"pin\", \"digest\"]).\n 'matchCategories', // string[]: Apply rule if dependency belongs to specified categories (defined via extractConfigs or presets like \"linters\").\n 'matchCurrentVersion', // string: Apply rule if the *currently installed* version matches this pattern (supports regex).\n 'matchSourceUrls', // string[]: Apply rule if the dependency's source repository URL matches any pattern in the list.\n 'matchFileNames', // string[]: Apply rule if the dependency is found in a file matching any pattern in this list.\n 'matchBaseBranches', // string[]: Apply rule only when Renovate is running against one of these base branches.\n 'matchRepositories', // string[]: Apply rule only when Renovate is running in a repository matching one of these names.\n 'matchCurrentValue', // string: Apply rule if the current value (e.g., Docker tag) matches this pattern.\n 'matchNewValue', // string: Apply rule if the proposed new value/version matches this pattern.\n 'matchCurrentAge', // string: Apply rule based on how long the current version has been used (e.g., \"> 3 months\").\n 'matchConfidence', // MergeConfidence[]: Apply rule based on Renovate's calculated merge confidence level (e.g., [\"high\", \"very-high\"]).\n 'matchJsonata', // string[]: Advanced matching using JSONata queries against dependency metadata.\n ],\n\n // --- Registry & Network Configuration ---\n registriesNetwork: [\n 'registryUrls', // string[] | null: Override the global or default registry URLs specifically for dependencies matched by this rule.\n ],\n\n // --- Vulnerability Specific Matching ---\n vulnerabilities: [\n 'isVulnerabilityAlert', // boolean: (Note: Likely an internal flag set by Renovate, used to *match* rules against updates that *are* vulnerability fixes, rather than being set directly by the user). Apply rule if the update addresses a known vulnerability.\n 'vulnerabilityFixVersion', // string: Apply rule if the vulnerability fix is targeting this specific version.\n ],\n vulnerabilitiesShared: [\n 'vulnerabilitySeverity', // string: Minimum vulnerability severity level to report or act upon (e.g., \"high\", \"critical\").\n ],\n} as const satisfies JsoncSortKeysOrderMap;\n","import type { JsoncSortKeysOrderMap } from './types';\n\nexport const renovateSharedConfig = {\n // --- Core Configuration ---\n config: [\n '$schema', // string: Reference to the JSON schema for validation.\n 'extends', // string[]: Specifies configuration presets to inherit from.\n 'enabled', // boolean: Enables or disables Renovate for the repository or rule.\n 'enabledManagers', // string[]: List of package managers to enable (e.g., [\"npm\", \"docker\"]).\n ],\n\n // --- Dependency Dashboard ---\n dependencyDashboard: [\n 'dependencyDashboardApproval', // boolean: Requires manual approval via the Dependency Dashboard checkbox before a PR is created.\n ],\n\n // --- Scheduling and Timezone ---\n schedule: [\n 'schedule', // string[]: Defines when Renovate should run using cron syntax or presets.\n 'timezone', // string: Timezone to use for scheduling (e.g., \"UTC\", \"America/New_York\").\n ],\n\n // --- Automerge ---\n automerge: [\n 'automerge', // boolean: Enables automatic merging of PRs when conditions are met.\n 'automergeType', // 'pr' | 'branch-push' | 'pr-comment': Specifies the automerge mechanism. Deprecated/renamed? (Note: Not in original list, added for context, potentially maps to other settings).\n 'automergeStrategy', // MergeStrategy ('auto', 'merge', 'rebase', 'squash'): The merge strategy to use for automerging.\n 'automergeSchedule', // string[]: Schedules automerging attempts independently of PR updates.\n 'internalChecksAsSuccess', // boolean: Considers Renovate's internal checks as successful for automerge status checks.\n 'platformAutomerge', // boolean: Use the platform's native automerge feature if available. (Note: Not in original list, but common).\n ],\n\n // --- Branch Management ---\n branch: [\n 'branchPrefix', // string: Prefix added to all Renovate-created branches.\n 'branchName', // string: Template for naming Renovate branches.\n 'branchNameStrict', // boolean: If true, enforces stricter validation for branch names.\n 'hashedBranchLength', // number: Length of the hash appended to branch names when needed.\n 'pruneBranchAfterAutomerge', // boolean: Automatically delete the branch after a PR is automerged.\n // 'branchPrefixOld', // string: Potentially deprecated or for specific migration scenarios.\n ],\n\n // --- Grouping Dependencies ---\n grouping: [\n 'group', // GroupConfig: More detailed configuration for grouping dependencies.\n 'groupName', // string: A custom name for a group of dependencies updated together in one PR.\n 'groupSlug', // string: A URL-friendly slug for the group name.\n ],\n\n // --- Commit Management ---\n commit: [\n 'semanticCommits', // 'auto' | 'enabled' | 'disabled': Controls the use of semantic commit messages.\n 'semanticCommitType', // string: The type used in semantic commits (e.g., \"fix\", \"chore\").\n 'semanticCommitScope', // string | null: The scope used in semantic commits.\n 'commitMessagePrefix', // string: Prefix added to all commit messages.\n 'commitMessage', // string: Template for the commit message body.\n 'commitMessageAction', // string: Action part of the commit message (e.g., \"Update\", \"Pin\").\n 'commitMessageTopic', // string: Topic part of the commit message (e.g., dependency name).\n 'commitMessageExtra', // string: Additional details appended to the commit message.\n 'commitMessageLowerCase', // 'auto' | 'never': Controls the casing of the commit message header.\n 'platformCommit', // PlatformCommitOptions: Platform-specific commit options.\n ],\n\n // --- Pull Request (PR) Management ---\n pr: [\n 'prCreation', // 'immediate' | 'not-pending' | 'status-success' | 'approval': Controls when PRs are created based on checks/approvals.\n 'draftPR', // boolean: Creates PRs as drafts initially.\n 'recreateClosed', // boolean: Recreate PRs if they were manually closed without merging.\n 'recreateWhen', // RecreateWhen: Specifies conditions under which closed PRs should be recreated.\n 'prBodyColumns', // string[]: Specifies which columns to include in the PR body's dependency table.\n 'prBodyDefinitions', // Record<string, string>: Custom definitions/text for sections within the PR body.\n 'prPriority', // number: Sets a priority level for the PR (platform-dependent).\n 'confidential', // boolean: Marks the PR as confidential (platform-dependent, e.g., GitLab).\n 'milestone', // number: Assigns the PR to a specific milestone number.\n ],\n\n // --- Labels ---\n labels: [\n 'labels', // string[]: List of labels to be added to created PRs.\n 'addLabels', // string[]: Additional labels to add (often used in package rules).\n 'keepUpdatedLabel', // string: Label indicating a PR should be kept up-to-date by Renovate, even if tests fail.\n 'rebaseLabel', // string: Label that triggers Renovate to rebase the PR.\n 'stopUpdatingLabel', // string: Label that tells Renovate to stop updating a specific PR.\n ],\n\n // --- Dependency Filtering and Matching ---\n filtering: [\n 'ignoreDeps', // string[]: List of dependency names to ignore completely.\n 'ignorePaths', // string[]: List of file paths or glob patterns to ignore during scanning.\n 'includePaths', // string[]: List of file paths or glob patterns to explicitly include (if others are ignored).\n 'fileMatch', // string[]: Glob patterns for matching dependency files.\n 'respectLatest', // boolean: Whether to strictly respect the 'latest' tag instead of potentially newer versions.\n 'ignoreTests', // boolean: Option to ignore dependencies typically found only in test/development scopes.\n ],\n\n // --- Advanced / Less Common ---\n advanced: [\n 'postUpgradeTasks', // PostUpgradeTasks: Defines commands or scripts to run after dependency upgrades.\n 'npmrc', // string: Allows providing custom .npmrc content for Renovate's operations.\n 'npmrcMerge', // boolean: Whether to merge provided npmrc content with existing files.\n 'changelogUrl', // string: A custom URL template for linking to changelogs.\n 'gitIgnoredAuthors', // string[]: List of git commit authors whose commits should be ignored by Renovate (e.g., bots).\n 'unicodeEmoji', // boolean: Use Unicode emojis (e.g., ✨) instead of text alternatives (e.g., :sparkles:).\n 'suppressNotifications', // string[]: List of notification types to suppress.\n 'productLinks', // Record<string, string>: Custom links for product documentation shown in PRs.\n 'rebaseWhen', // string ('auto', 'behind-base-branch', 'conflicted', 'never'): Conditions under which Renovate should rebase PRs.\n // 'manager', // string: Usually context-specific, identifies the package manager being used.\n // 'repository', // string: Usually context-specific, the name of the repository.\n // 'repositoryCache', // RepositoryCacheConfig: Configuration for caching repository data.\n // 'repositoryCacheType', // RepositoryCacheType: Type of repository cache ('local', 'shared', etc.).\n // 'autoReplaceGlobalMatch',// boolean: Advanced feature related to global replacements (less common).\n // 'force', // RenovateConfig: Allows forcing specific configurations, overriding others (use with caution).\n ],\n} as const satisfies JsoncSortKeysOrderMap;\n","import type { JsoncSortKeysOrderMap } from './types';\n\nexport const updateConfig = {\n // --- Semantic Versioning Updates ---\n // Based on standard SemVer (MAJOR.MINOR.PATCH) changes.\n semantic_versioning: [\n 'major', // T: A change in the MAJOR version number (e.g., 1.x.x -> 2.0.0).\n 'minor', // T: A change in the MINOR version number (e.g., 1.2.x -> 1.3.0).\n 'patch', // T: A change in the PATCH version number (e.g., 1.2.3 -> 1.2.4).\n ],\n\n // --- Pinning and Digest Updates ---\n // Used for fixing to exact versions/digests.\n pinning_digests: [\n 'pin', // T: Updating from a range to a specific fixed version.\n 'digest', // T: Updating the content digest (hash) of a dependency (e.g., Docker image SHA).\n 'pinDigest', // T: An update involving both pinning and digest update.\n ],\n\n // --- Lock File Maintenance ---\n // Updates primarily related to the lock file.\n lock_file: [\n 'lockFileMaintenance', // T: Maintenance updates within the lock file without changing direct dependencies.\n 'lockfileUpdate', // T: General updates confined to the lock file. (Note: Potential overlap with lockFileMaintenance).\n ],\n\n // --- Special Update Cases ---\n // Covers less common or non-standard update scenarios.\n special_cases: [\n 'rollback', // T: Reverting a dependency to a previous version.\n 'bump', // T: A non-specific version increase (e.g., for date-based versions or non-SemVer).\n 'replacement', // T: Replacing one dependency with another.\n ],\n} as const satisfies JsoncSortKeysOrderMap;\n","import type { JsoncSortKeysOrder } from '../base/types';\nimport { packageRule } from '../base/package-rule';\nimport { renovateSharedConfig } from '../base/renovate-shared-config';\nimport { updateConfig } from '../base/update-config';\n\n// PackageRule\n// RenovateSharedConfig\n// UpdateConfig\nexport const packageRuleOrder = [\n //? core config\n ...packageRule.metadata,\n ...renovateSharedConfig.config,\n ...renovateSharedConfig.branch,\n\n //? migration & dashboard\n ...renovateSharedConfig.dependencyDashboard,\n\n //? schedule\n ...renovateSharedConfig.schedule,\n ...renovateSharedConfig.automerge,\n\n //? grouping\n ...renovateSharedConfig.grouping,\n ...renovateSharedConfig.commit,\n ...renovateSharedConfig.pr,\n ...renovateSharedConfig.labels,\n ...renovateSharedConfig.filtering,\n\n //? rangeStrategy\n ...packageRule.rangeStrategy,\n\n //? matching\n ...packageRule.matching,\n ...packageRule.registriesNetwork,\n\n //? vulnerabilities\n ...packageRule.vulnerabilities,\n ...packageRule.vulnerabilitiesShared,\n\n //? rarely\n ...renovateSharedConfig.advanced,\n\n //? overrides\n ...updateConfig.semantic_versioning,\n ...updateConfig.pinning_digests,\n ...updateConfig.lock_file,\n ...updateConfig.special_cases,\n] as const as JsoncSortKeysOrder;\n","import type { JsoncSortKeysOrderMap } from './types';\n\nexport const assigneesAndReviewersConfig = {\n // --- Assignees ---\n assignees: [\n 'assignees', // string[]: Explicit list of usernames to assign to the PR.\n 'assigneesFromCodeOwners', // boolean: Assign users listed as owners in the CODEOWNERS file.\n 'assigneesSampleSize', // number: Select a random sample of this size from the potential assignees (either from `assignees` list or CODEOWNERS). [1]\n ],\n\n // --- Reviewers ---\n reviewers: [\n 'reviewers', // string[]: Explicit list of usernames to request reviews from.\n 'reviewersFromCodeOwners', // boolean: Request reviews from users listed as owners in the CODEOWNERS file.\n 'reviewersSampleSize', // number: Select a random sample of this size from the potential reviewers (either from `reviewers` list or CODEOWNERS).\n 'additionalReviewers', // string[]: Add these users as reviewers *in addition* to any specified in `reviewers` or derived from CODEOWNERS. Useful for adding specific reviewers in package rules without overriding the base list. [14]\n 'ignoreReviewers', // string[]: List of usernames that should *not* be added as reviewers, even if they are in the `reviewers` list or CODEOWNERS. Useful for filtering out bots or users on leave. [2]\n ],\n\n // --- Common / Helper Options ---\n common: [\n 'expandCodeOwnersGroups', // boolean: If true, Renovate expands CODEOWNERS groups (like `@org/team`) into individual members before applying logic like `reviewersSampleSize`. Supported on GitLab [3, 4, 6] and potentially other platforms supporting group expansion [1].\n 'filterUnavailableUsers', // boolean: (Note: Supported on GitLab [3, 5]) Check if assigned/requested users are actually available/have access on the platform before adding them. [3, 5, 8, 12, 13] Prevents errors if a listed user doesn't exist or can't access the repository.\n // 'assignAutomerge', // boolean: (Note: From [14], likely deprecated or less common) Assign reviewers/assignees even if automerge is enabled. Default Renovate behavior is *not* to add assignees/reviewers if automerge is set, to reduce noise, unless the PR fails checks. [2, 7]\n ],\n} as const satisfies JsoncSortKeysOrderMap;\n","import type { JsoncSortKeysOrder } from './types';\n\nexport const configMigration = [\n 'configMigration', // boolean: Enable this to get config migration PRs when needed\n] as const satisfies JsoncSortKeysOrder;\n","import type { JsoncSortKeysOrderMap } from './types';\n\nexport const legacyAdminConfig = {\n // --- Onboarding Configuration ---\n // Controls the behavior of the initial \"onboarding\" PR that Renovate creates\n // when it's first enabled on a repository, typically adding the renovate.json config file.\n onboarding: [\n 'onboarding', // boolean: Enables or disables the onboarding process. If false, Renovate might not start if no config exists.\n 'onboardingBranch', // string: The name of the branch to use for the onboarding PR (e.g., \"renovate/configure\").\n 'onboardingCommitMessage', // string: Custom commit message for the onboarding commit.\n 'onboardingPrTitle', // string: Custom title for the onboarding PR.\n 'onboardingConfig', // RenovateSharedConfig: A minimal Renovate configuration object to propose in the onboarding PR.\n 'onboardingConfigFileName', // string: The filename for the proposed configuration file (e.g., \"renovate.json\", \".github/renovate.json\").\n 'onboardingRebaseCheckbox', // boolean: Adds a checkbox to the onboarding PR body allowing users to request Renovate to rebase the PR. (Note: Specific to platform integration).\n 'onboardingNoDeps', // 'auto' | 'enabled' | 'disabled': Controls whether the onboarding PR should include initial dependency updates or just the configuration file. 'auto' usually means include updates if few dependencies exist.\n ],\n\n // --- Configuration Requirements ---\n // Defines requirements for the Renovate configuration itself.\n configurationRequirements: [\n 'requireConfig', // RequiredConfig ('required', 'optional', 'ignored'): Specifies whether a Renovate configuration file (`renovate.json`, etc.) is mandatory for Renovate to run on the repository. 'ignored' might be used in centrally managed setups.\n ],\n\n // --- Execution Environment & Logging (Legacy/Admin) ---\n // These settings are often more relevant for self-hosted Renovate instances or specific admin controls.\n executionLogging: [\n 'localDir', // string: Specifies a local directory path, potentially used for caching or temporary files in self-hosted environments. (Note: Less common in typical SaaS usage).\n 'logContext', // string: Adds a custom string/context to log messages, helpful for identifying logs from specific Renovate instances or runs.\n ],\n} as const satisfies JsoncSortKeysOrderMap;\n","import type { JsoncSortKeysOrderMap } from './types';\n\nexport const renovateConfig = {\n // --- Metadata ---\n metadata: [\n 'description', // string | string[]: Description for the repository (often used in platform UI).\n ],\n\n // --- Base Repository & Branching Strategy ---\n repository: [\n 'baseBranches', // string[]: List of base branches Renovate should operate on (e.g., [\"main\", \"develop\"]).\n 'defaultBranch', // string: Explicitly specifies the default branch if detection fails or needs override. (Note: Often detected automatically).\n 'useBaseBranchConfig', // UseBaseBranchConfigType: How to handle configuration when running on non-default base branches ('merge' or 'none').\n 'gitAuthor', // string: Custom git author for commits made by Renovate (e.g., \"Renovate Bot <bot@renovateapp.com>\").\n ],\n\n // --- Fork Handling ---\n forkHandling: [\n 'forkProcessing', // 'auto' | 'enabled' | 'disabled': How Renovate should handle running on repository forks. 'auto' usually disables on forks.\n 'isFork', // boolean: Explicitly tells Renovate if the current repository is a fork. (Usually detected).\n 'forkModeDisallowMaintainerEdits', // boolean: When running on a fork, disallow maintainers of the upstream repo from editing the PR.\n ],\n\n // --- Dependency Dashboard ---\n dependencyDashboard: [\n 'dependencyDashboard', // boolean: Enables or disables the creation and management of the Dependency Dashboard issue.\n 'dependencyDashboardTitle', // string: Custom title for the Dependency Dashboard issue.\n 'dependencyDashboardHeader', // string: Custom content to add to the top of the Dependency Dashboard body.\n 'dependencyDashboardFooter', // string: Custom content to add to the bottom of the DependencyDashboard body.\n 'dependencyDashboardLabels', // string[]: Labels to add to the Dependency Dashboard issue.\n 'dependencyDashboardChecks', // Record<string, string>: Configure approval checkboxes within the dashboard.\n 'dependencyDashboardAutoclose', // boolean: Automatically close the Dependency Dashboard issue if there are no pending updates.\n 'dependencyDashboardOSVVulnerabilitySummary', // 'none' | 'all' | 'unresolved': Controls the display of OSV vulnerability summaries in the dashboard.\n 'customizeDashboard', // Record<string, string>: Further customization options for the dashboard's appearance or behavior. (Note: Seems like a flexible key-value store for dashboard tweaks).\n // 'dependencyDashboardIssue', // number: Internal state, the number of the existing dashboard issue. (Note: Likely not user-configured directly).\n ],\n\n // --- Rate Limiting & Concurrency ---\n limits: [\n 'branchConcurrentLimit', // number | null: Maximum number of branches Renovate can create concurrently.\n 'prConcurrentLimit', // number: Maximum number of Pull Requests Renovate can create or update concurrently.\n 'prHourlyLimit', // number: Maximum number of Pull Requests Renovate can create per hour.\n ],\n\n // --- Branch/Commit Naming (Specific Overrides/Additions) ---\n namingSpecifics: [\n 'branchTopic', // string: A specific topic to use for branch naming, potentially overriding `commitMessageTopic`. (Note: Granular control over branch naming).\n 'additionalBranchPrefix', // string: Another prefix to add *after* the main `branchPrefix` but before the rest of the branch name. (Note: For more complex branch naming schemes).\n 'commitBody', // string: Explicitly set the entire commit message body, potentially overriding templates. (Note: Less common than using templating options).\n ],\n\n // --- Registry & Network Configuration ---\n registriesNetwork: [\n 'hostRules', // HostRule[]: Rules for authentication, endpoints, or other behaviors specific to certain hosts (e.g., private registries).\n 'defaultRegistryUrls', // string[]: Default registry URLs to use for package managers if not otherwise specified.\n 'registryUrls', // string[] | null: Overrides detected registry URLs.\n 'registryAliases', // Record<string, string>: Aliases for registry URLs.\n 's3Endpoint', // string: Custom endpoint URL for S3 interactions (e.g., for reports).\n 's3PathStyle', // boolean: Use path-style access for S3 instead of virtual-hosted style.\n ],\n\n // --- Vulnerability Management ---\n vulnerabilities: [\n 'vulnerabilityAlerts', // RenovateSharedConfig: Configuration specific to how vulnerability updates are handled (can inherit shared config structure).\n 'osvVulnerabilityAlerts', // boolean: Specifically enables checking for vulnerabilities using the OSV database.\n ],\n vulnerabilitiesShared: [\n 'vulnerabilitySeverity', // string: Minimum vulnerability severity level to report or act upon (e.g., \"high\", \"critical\").\n ],\n\n // --- Customization & Extensibility ---\n customization: [\n 'customManagers', // CustomManager[]: Definitions for custom package managers not built into Renovate.\n 'customDatasources', // Record<string, CustomDatasourceConfig>: Definitions for custom datasources to find package versions.\n 'secrets', // Record<string, string>: A key-value store for secrets needed during Renovate runs (e.g., tokens accessed via `process.env`). (Note: For securely passing sensitive data).\n 'env', // UserEnv: User-defined environment variables to be set when Renovate executes package manager commands.\n ],\n\n // --- Reporting ---\n reporting: [\n 'reportPath', // string: Path (for file type) or bucket/key (for S3 type) for saving run reports.\n 'reportType', // 'logging' | 'file' | 's3' | null: How and where to generate reports about Renovate runs.\n ],\n\n // --- Configuration Inheritance ---\n inheritance: [\n 'inheritConfig', // boolean: Whether to inherit configuration from a shared repository (defaults to true for Renovate App/Enterprise).\n 'inheritConfigFileName', // string: Custom filename for the shared configuration file in the inheritance repository.\n 'inheritConfigRepoName', // string: Specify the repository from which to inherit configuration.\n 'inheritConfigStrict', // boolean: If true, errors during config inheritance will stop the Renovate run.\n 'ignorePresets', // string[]: List of preset configurations (from `extends`) to ignore.\n 'force', // RenovateConfig: A nested configuration object used for forcing specific settings (often via CLI).\n ],\n\n // --- Process Control & Execution ---\n processControl: [\n 'skipInstalls', // boolean | null: Skip package manager install/build steps (use with caution, may break updates).\n 'updateInternalDeps', // boolean: Whether to update dependencies that point to other modules within the same monorepo.\n 'cloneSubmodulesFilter', // string[]: Filters to apply when deciding which submodules to clone.\n 'fetchChangeLogs', // FetchChangeLogsOptions: Options controlling if and how changelogs are fetched.\n 'logLevelRemap', // LogLevelRemap[]: Rules to remap log levels from specific modules or contexts.\n 'statusCheckNames', // Record<StatusCheckKey, string | null>: Override the names of status checks Renovate looks for or reports.\n 'configWarningReuseIssue', // boolean: If true, configuration warnings will be posted as comments on a single, reused issue instead of creating new ones.\n 'postUpdateOptions', // string[]: Options passed to post-update scripts or hooks. (Note: Related to `postUpgradeTasks` in SharedConfig, perhaps providing context/flags).\n ],\n\n // --- Constraints ---\n constraints: [\n 'constraints', // Record<string, string>: Define version constraints for dependencies (e.g., force a specific version range globally).\n 'constraintsFiltering', // ConstraintsFilter: Control how constraints are applied ('none', 'strict', 'loose').\n ],\n\n // --- Internal State / Contextual (Likely not configured directly in main config) ---\n internalContext: [\n 'depName', // string: The name of the specific dependency being processed in a rule context.\n 'baseBranch', // string: The specific base branch being processed in the current run.\n 'branchList', // string[]: List of branches detected in the repository.\n 'errors', // ValidationMessage[]: Collection of configuration errors found during parsing.\n 'fileList', // string[]: List of files relevant to the current operation.\n 'packageFile', // string: The specific package file being processed.\n 'repoIsOnboarded', // boolean: Flag indicating if the repository onboarding process is complete.\n 'repoIsActivated', // boolean: Flag indicating if Renovate is activated for the repository.\n 'warnings', // ValidationMessage[]: Collection of configuration warnings found during parsing.\n 'checkedBranches', // string[]: List of branches that have already been processed in the current run.\n 'sharedVariableName', // string: Name of a variable used for sharing data between runs or stages. (Note: Advanced/internal usage).\n ],\n\n // --- PackageRules ---\n packageRules: [\n 'packageRules', // PackageRule[]: The core mechanism for customizing Renovate's behavior for specific dependencies or groups.\n ],\n} as const satisfies JsoncSortKeysOrderMap;\n","import type { JsoncSortKeysOrder } from '../base/types';\nimport { assigneesAndReviewersConfig } from '../base/assignees-and-reviewers-config';\nimport { configMigration } from '../base/config-migration';\nimport { legacyAdminConfig } from '../base/legacy-admin-config';\nimport { renovateConfig } from '../base/renovate-config';\nimport { renovateSharedConfig } from '../base/renovate-shared-config';\nimport { updateConfig } from '../base/update-config';\n\n// RenovateConfig\n// LegacyAdminConfig,\n// RenovateSharedConfig,\n// UpdateConfig<PackageRule>,\n// AssigneesAndReviewersConfig,\n// ConfigMigration,\nexport const rootOrder = [\n //? core config\n ...renovateSharedConfig.config,\n ...renovateConfig.metadata,\n ...renovateConfig.repository,\n ...renovateConfig.forkHandling,\n ...renovateSharedConfig.branch,\n\n //? migration & dashboard\n ...configMigration,\n ...renovateConfig.dependencyDashboard,\n ...renovateSharedConfig.dependencyDashboard,\n\n //? schedule\n ...renovateSharedConfig.schedule,\n ...renovateSharedConfig.automerge,\n ...renovateConfig.limits,\n\n //? grouping\n ...renovateSharedConfig.grouping,\n ...renovateSharedConfig.commit,\n ...renovateSharedConfig.pr,\n ...renovateSharedConfig.labels,\n ...renovateSharedConfig.filtering,\n ...renovateConfig.namingSpecifics,\n ...assigneesAndReviewersConfig.assignees,\n ...assigneesAndReviewersConfig.reviewers,\n ...assigneesAndReviewersConfig.common,\n\n //? registriesNetwork\n ...renovateConfig.registriesNetwork,\n\n //? vulnerabilities\n ...renovateConfig.vulnerabilities,\n ...renovateConfig.vulnerabilitiesShared,\n\n //? rarely\n ...renovateSharedConfig.advanced,\n ...renovateConfig.customization,\n ...renovateConfig.reporting,\n ...renovateConfig.inheritance,\n ...renovateConfig.processControl,\n ...renovateConfig.constraints,\n ...renovateConfig.internalContext,\n ...legacyAdminConfig.onboarding,\n ...legacyAdminConfig.executionLogging,\n ...legacyAdminConfig.configurationRequirements,\n\n //? overrides\n ...updateConfig.semantic_versioning,\n ...updateConfig.pinning_digests,\n ...updateConfig.lock_file,\n ...updateConfig.special_cases,\n ...renovateConfig.packageRules,\n] as const as JsoncSortKeysOrder;\n","import type { TypedFlatConfigItem } from '@antfu/eslint-config';\nimport { packageRuleOrder } from './order/package-rule';\nimport { rootOrder } from './order/root';\n\nexport const renovateJsonRules: TypedFlatConfigItem = {\n name: 'culur/renovate-json/rules',\n files: [\n // https://docs.renovatebot.com/configuration-options/#configuration-options\n 'renovate.json',\n 'renovate.json5',\n '.github/renovate.json',\n '.github/renovate.json5',\n '.gitlab/renovate.json',\n '.gitlab/renovate.json5',\n '.renovaterc',\n '.renovaterc.json',\n '.renovaterc.json5',\n ],\n rules: {\n 'jsonc/sort-keys': [\n 'error',\n {\n pathPattern: /^$/.source,\n order: rootOrder,\n },\n {\n pathPattern: /^packageRules\\[\\d+\\]$/.source,\n order: packageRuleOrder,\n },\n ],\n },\n};\n","import type { TypedFlatConfigItem } from '@antfu/eslint-config';\nimport type { YamlSortKeysRecord } from './yaml-order';\nimport { yamlOrder } from './yaml-order';\n\nexport const yarnrcYmlSortKeys = {\n packageExtensions: {\n packages: {\n pathPattern: /^packageExtensions$/.source,\n order: yamlOrder,\n },\n dependenciesTypes: {\n pathPattern: /^packageExtensions(?:\\[\".+\"\\]|\\.[^.]+)$/.source,\n order: yamlOrder,\n },\n childPackages: {\n pathPattern:\n /^packageExtensions(?:\\[\".+\"\\]|\\.[^.]+)\\.(?:dependencies|peerDependencies|peerDependenciesMeta)$/\n .source,\n order: yamlOrder,\n },\n },\n} satisfies Record<string, Record<string, YamlSortKeysRecord>>;\n\nexport const yarnrcYmlRules: TypedFlatConfigItem = {\n name: 'culur/yarnrc-yml/rules',\n files: ['.yarnrc.yml'],\n rules: {\n 'yaml/sort-keys': [\n 'error',\n yarnrcYmlSortKeys.packageExtensions.packages,\n yarnrcYmlSortKeys.packageExtensions.dependenciesTypes,\n yarnrcYmlSortKeys.packageExtensions.childPackages,\n ],\n },\n};\n","import type {\n Awaitable,\n Rules,\n TypedFlatConfigItem,\n} from '@antfu/eslint-config';\nimport type { Linter } from 'eslint';\n\nexport interface ExtraRules {}\n\nexport type TypedFlatConfigItemCustom = Omit<TypedFlatConfigItem, 'rules'> & {\n rules?: Omit<Rules, keyof ExtraRules> & Partial<ExtraRules>;\n};\n\nexport type OverrideConfig = {\n name: NonNullable<TypedFlatConfigItemCustom['name']>;\n} & (\n | { partialConfig: TypedFlatConfigItemCustom } // merge with the original config\n | { entireConfig: () => Awaitable<TypedFlatConfigItemCustom> } // replace the entire config\n);\n\nexport const defineOverride = (config: OverrideConfig) =>\n [\n config.name,\n 'partialConfig' in config ? config.partialConfig : config.entireConfig,\n ] as [\n name: string,\n config: TypedFlatConfigItem | (() => Awaitable<TypedFlatConfigItem>),\n ];\n\nexport type RuleEntry<T extends keyof Rules> = Rules[T] extends\n Linter.RuleEntry<infer F> | undefined\n ? F\n : never;\n","import antfu from '@antfu/eslint-config';\nimport { defineHasPackages } from '@culur/utils-packages';\nimport { importsRules, sortPackageJson, vueRules } from './overrides';\nimport { testRules } from './overrides/test-rules';\nimport {\n filenameRules,\n pnpmWorkspaceYamlRules,\n renovateJsonRules,\n yarnrcYmlRules,\n} from './rules';\nimport { defineOverride } from './types';\n\nexport default function defineConfig(\n ...[options = {}, ...userConfigs]: Parameters<typeof antfu>\n): ReturnType<typeof antfu> {\n const { hasVue } = defineHasPackages({ vue: !!options.vue });\n\n const config = antfu(\n {\n isInEditor: false,\n stylistic: false,\n formatters: false,\n ...options,\n },\n filenameRules,\n yarnrcYmlRules,\n pnpmWorkspaceYamlRules,\n renovateJsonRules,\n ...userConfigs,\n );\n\n config.override(...defineOverride(importsRules));\n config.override(...defineOverride(sortPackageJson));\n config.override(...defineOverride(testRules));\n\n if (hasVue()) {\n config.override(...defineOverride(vueRules));\n }\n\n return config;\n}\n"],"mappings":";;;;;AAEA,MAAa,eAA+B;CAC1C,MAAM;CACN,eAAe,EACb,OAAO,EAEL,0CAA0C,CAAC,SAAS,kBAAkB,EACxE,EACF;AACF;;;ACNA,MAAaA,oBAAkC;CAC7C,MAAM;CACN,MAAM,eAAe;EACnB,MAAM,CAAC,cAAc,MAAMC,gBAAqB;EAChD,OAAO,OAAO,WAAW,SAAS,QAAQ;EAC1C,OAAO,OAAO,WAAW,UAAU,QAAQ;EAE3C,MAAM,WAAW,WAAW,MAAM;EAClC,OAAO,OAAO,aAAa,QAAQ;EAEnC,MAAM,GAAG,WAAW;EACpB,OAAO,OAAO,YAAY,QAAQ;EAElC,QAAQ,QAAQ;GAEd;GACA;GACA;GACA;GACA;GACA;GACA;GAGA;GACA;GACA;GACA;GAGA;GACA;GACA;GAGA;GACA;GAGA;GACA;GAGA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GAGA;GACA;GACA;GAGA;GAGA;GACA;GACA;GAGA;GACA;GACA;GACA;GACA;GACA;GAEA;GACA;GACA;GAGA;GACA;GACA;GACA;EACF;EAEA,OAAO;CACT;AACF;;;ACtEA,MAAa,YAA4B;CACvC,MAAM;CACN,eAAe;EAEb,OAAO,CAAC,sCAAsC;EAC9C,OAAO;GACL,GAAG,OAAO,QAAQ,YAAY;GAC9B,oBAAoB,CAAC,SAAS,EAAE,gBAAgB,KAAK,CAAC;GACtD,sBAAsB,CACpB,SACA,EACE,qBAAqB;IACnB;IACA;IACA;IACA;GACF,EACF,CACF;EACF;CACF;AACF;;;ACxCA,MAAa,WAA2B;CACtC,MAAM;CACN,eAAe,EACb,OAAO;EACL,+CAA+C;EAC/C,8CAA8C;EAC9C,mCAAmC,CAAC,SAAS,QAAQ;EACrD,yCAAyC;GACvC;GACA;GACA,EAAE,0BAA0B,MAAM;EACpC;CACF,EACF;AACF;;;ACdA,MAAa,gBAAqC;CAChD,MAAM;CACN,OAAO;EACL;EACA;EACA;EACA;EACA;EACA;EACA;CACF;CACA,OAAO,EACL,yBAAyB,CACvB,SACA;EACE,MAAM;EACN,QAAQ;GACN;GACA;GACA;GACA;GACA;GACA;EACF;CACF,CACF,EACF;AACF;;;AC1BA,MAAa,YAAY;CACvB,MAAM;CACN,eAAe;CACf,SAAS;AACX;;;ACAA,MAAa,wBAAwB;CACnC,MAAM;EACJ,aAAa,KAAK;EAClB,OAAO;GAEL;GACA;GAGA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GAGA;GACA;GACA;GACA;GACA;GAGA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GAGA;GACA;GACA;GACA;GAGA;GACA;GACA;GACA;GACA;GACA;GAGA;GACA;GACA;GACA;GACA;GACA;GAGA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GAGA;GACA;GACA;GACA;GACA;GACA;GAGA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GAGA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GAGA;GACA;GACA;GAGA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;EACF;CACF;CACA,UAAU;EACR,aAAa,KAAK;GAChB;GACA;GACA;GACA;GACA;GACA;GACA;EACF,CAAC,CAAC,KAAK,GAAG,EAAE;EACZ,OAAO;CACT;AACF;;;;;;;;;;;;;;AAEA,MAAa,kCAAkC,EAC7C,UAAU;CACR,aAAa,KAAK;EAChB;EACA;EACA;CACF,CAAC,CAAC,KAAK,GAAG,EAAE;CACZ,OAAO;AACT,EACF;AAEA,MAAa,yBAA8C;CACzD,MAAM;CACN,OAAO,CAAC,qBAAqB;CAC7B,OAAO;EACL,kBAAkB;GAChB;GACA,sBAAsB;GACtB,sBAAsB;EACxB;EACA,6BAA6B,CAC3B,SACA,gCAAgC,QAClC;CACF;AACF;;;AC1LA,MAAa,cAAc;CAEzB,UAAU,CACR,aACF;CAGA,eAAe,CACb,eACF;CAIA,UAAU;EACR;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF;CAGA,mBAAmB,CACjB,cACF;CAGA,iBAAiB,CACf,wBACA,yBACF;CACA,uBAAuB,CACrB,uBACF;AACF;;;AC9CA,MAAa,uBAAuB;CAElC,QAAQ;EACN;EACA;EACA;EACA;CACF;CAGA,qBAAqB,CACnB,6BACF;CAGA,UAAU,CACR,YACA,UACF;CAGA,WAAW;EACT;EACA;EACA;EACA;EACA;EACA;CACF;CAGA,QAAQ;EACN;EACA;EACA;EACA;EACA;CAEF;CAGA,UAAU;EACR;EACA;EACA;CACF;CAGA,QAAQ;EACN;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF;CAGA,IAAI;EACF;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF;CAGA,QAAQ;EACN;EACA;EACA;EACA;EACA;CACF;CAGA,WAAW;EACT;EACA;EACA;EACA;EACA;EACA;CACF;CAGA,UAAU;EACR;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CAOF;AACF;;;AC/GA,MAAa,eAAe;CAG1B,qBAAqB;EACnB;EACA;EACA;CACF;CAIA,iBAAiB;EACf;EACA;EACA;CACF;CAIA,WAAW,CACT,uBACA,gBACF;CAIA,eAAe;EACb;EACA;EACA;CACF;AACF;;;ACzBA,MAAa,mBAAmB;CAE9B,GAAG,YAAY;CACf,GAAG,qBAAqB;CACxB,GAAG,qBAAqB;CAGxB,GAAG,qBAAqB;CAGxB,GAAG,qBAAqB;CACxB,GAAG,qBAAqB;CAGxB,GAAG,qBAAqB;CACxB,GAAG,qBAAqB;CACxB,GAAG,qBAAqB;CACxB,GAAG,qBAAqB;CACxB,GAAG,qBAAqB;CAGxB,GAAG,YAAY;CAGf,GAAG,YAAY;CACf,GAAG,YAAY;CAGf,GAAG,YAAY;CACf,GAAG,YAAY;CAGf,GAAG,qBAAqB;CAGxB,GAAG,aAAa;CAChB,GAAG,aAAa;CAChB,GAAG,aAAa;CAChB,GAAG,aAAa;AAClB;;;AC7CA,MAAa,8BAA8B;CAEzC,WAAW;EACT;EACA;EACA;CACF;CAGA,WAAW;EACT;EACA;EACA;EACA;EACA;CACF;CAGA,QAAQ,CACN,0BACA,wBAEF;AACF;;;ACvBA,MAAa,kBAAkB,CAC7B,iBACF;;;ACFA,MAAa,oBAAoB;CAI/B,YAAY;EACV;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF;CAIA,2BAA2B,CACzB,eACF;CAIA,kBAAkB,CAChB,YACA,YACF;AACF;;;AC3BA,MAAa,iBAAiB;CAE5B,UAAU,CACR,aACF;CAGA,YAAY;EACV;EACA;EACA;EACA;CACF;CAGA,cAAc;EACZ;EACA;EACA;CACF;CAGA,qBAAqB;EACnB;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CAEF;CAGA,QAAQ;EACN;EACA;EACA;CACF;CAGA,iBAAiB;EACf;EACA;EACA;CACF;CAGA,mBAAmB;EACjB;EACA;EACA;EACA;EACA;EACA;CACF;CAGA,iBAAiB,CACf,uBACA,wBACF;CACA,uBAAuB,CACrB,uBACF;CAGA,eAAe;EACb;EACA;EACA;EACA;CACF;CAGA,WAAW,CACT,cACA,YACF;CAGA,aAAa;EACX;EACA;EACA;EACA;EACA;EACA;CACF;CAGA,gBAAgB;EACd;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF;CAGA,aAAa,CACX,eACA,sBACF;CAGA,iBAAiB;EACf;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF;CAGA,cAAc,CACZ,cACF;AACF;;;ACrHA,MAAa,YAAY;CAEvB,GAAG,qBAAqB;CACxB,GAAG,eAAe;CAClB,GAAG,eAAe;CAClB,GAAG,eAAe;CAClB,GAAG,qBAAqB;CAGxB,GAAG;CACH,GAAG,eAAe;CAClB,GAAG,qBAAqB;CAGxB,GAAG,qBAAqB;CACxB,GAAG,qBAAqB;CACxB,GAAG,eAAe;CAGlB,GAAG,qBAAqB;CACxB,GAAG,qBAAqB;CACxB,GAAG,qBAAqB;CACxB,GAAG,qBAAqB;CACxB,GAAG,qBAAqB;CACxB,GAAG,eAAe;CAClB,GAAG,4BAA4B;CAC/B,GAAG,4BAA4B;CAC/B,GAAG,4BAA4B;CAG/B,GAAG,eAAe;CAGlB,GAAG,eAAe;CAClB,GAAG,eAAe;CAGlB,GAAG,qBAAqB;CACxB,GAAG,eAAe;CAClB,GAAG,eAAe;CAClB,GAAG,eAAe;CAClB,GAAG,eAAe;CAClB,GAAG,eAAe;CAClB,GAAG,eAAe;CAClB,GAAG,kBAAkB;CACrB,GAAG,kBAAkB;CACrB,GAAG,kBAAkB;CAGrB,GAAG,aAAa;CAChB,GAAG,aAAa;CAChB,GAAG,aAAa;CAChB,GAAG,aAAa;CAChB,GAAG,eAAe;AACpB;;;AChEA,MAAa,oBAAyC;CACpD,MAAM;CACN,OAAO;EAEL;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF;CACA,OAAO,EACL,mBAAmB;EACjB;EACA;GACE,aAAa,KAAK;GAClB,OAAO;EACT;EACA;GACE,aAAa,wBAAwB;GACrC,OAAO;EACT;CACF,EACF;AACF;;;AC3BA,MAAa,oBAAoB,EAC/B,mBAAmB;CACjB,UAAU;EACR,aAAa,sBAAsB;EACnC,OAAO;CACT;CACA,mBAAmB;EACjB,aAAa,0CAA0C;EACvD,OAAO;CACT;CACA,eAAe;EACb,aACE,kGACG;EACL,OAAO;CACT;AACF,EACF;AAEA,MAAa,iBAAsC;CACjD,MAAM;CACN,OAAO,CAAC,aAAa;CACrB,OAAO,EACL,kBAAkB;EAChB;EACA,kBAAkB,kBAAkB;EACpC,kBAAkB,kBAAkB;EACpC,kBAAkB,kBAAkB;CACtC,EACF;AACF;;;ACdA,MAAa,kBAAkB,WAC7B,CACE,OAAO,MACP,mBAAmB,SAAS,OAAO,gBAAgB,OAAO,YAC5D;;;ACZF,SAAwB,aACtB,GAAG,CAAC,UAAU,CAAC,GAAG,GAAG,cACK;CAC1B,MAAM,EAAE,WAAW,kBAAkB,EAAE,KAAK,CAAC,CAAC,QAAQ,IAAI,CAAC;CAE3D,MAAM,SAAS,MACb;EACE,YAAY;EACZ,WAAW;EACX,YAAY;EACZ,GAAG;CACL,GACA,eACA,gBACA,wBACA,mBACA,GAAG,WACL;CAEA,OAAO,SAAS,GAAG,eAAe,YAAY,CAAC;CAC/C,OAAO,SAAS,GAAG,eAAeC,iBAAe,CAAC;CAClD,OAAO,SAAS,GAAG,eAAe,SAAS,CAAC;CAE5C,IAAI,OAAO,GACT,OAAO,SAAS,GAAG,eAAe,QAAQ,CAAC;CAG7C,OAAO;AACT"}
|
|
1
|
+
{"version":3,"file":"index.mjs","names":["sortPackageJson","sortPackageJsonAntfu","sortPackageJson"],"sources":["../src/overrides/imports-rules.ts","../src/overrides/sort-package-json.ts","../src/overrides/test-rules.ts","../src/overrides/vue-rules.ts","../src/rules/filename.ts","../src/rules/yaml-order.ts","../src/rules/pnpm-workspace-yaml.ts","../src/rules/renovate-json/base/package-rule.ts","../src/rules/renovate-json/base/renovate-shared-config.ts","../src/rules/renovate-json/base/update-config.ts","../src/rules/renovate-json/order/package-rule.ts","../src/rules/renovate-json/base/assignees-and-reviewers-config.ts","../src/rules/renovate-json/base/config-migration.ts","../src/rules/renovate-json/base/legacy-admin-config.ts","../src/rules/renovate-json/base/renovate-config.ts","../src/rules/renovate-json/order/root.ts","../src/rules/renovate-json/index.ts","../src/rules/yarnrc-yml.ts","../src/types/index.ts","../src/index.ts"],"sourcesContent":["import type { OverrideConfig } from '~/types';\n\nexport const importsRules: OverrideConfig = {\n name: 'antfu/imports/rules',\n partialConfig: {\n rules: {\n // 'import/no-deprecated': 'error',\n 'import/consistent-type-specifier-style': ['error', 'prefer-top-level'],\n },\n },\n};\n","import type { OverrideConfig } from '~/types';\nimport assert from 'node:assert';\nimport { sortPackageJson as sortPackageJsonAntfu } from '@antfu/eslint-config';\n\nexport const sortPackageJson: OverrideConfig = {\n name: 'antfu/sort/package-json',\n async entireConfig() {\n const [configItem] = await sortPackageJsonAntfu();\n assert(typeof configItem.name === 'string');\n assert(typeof configItem.rules === 'object');\n\n const sortKeys = configItem.rules['jsonc/sort-keys'];\n assert(typeof sortKeys === 'object');\n\n const [, options] = sortKeys;\n assert(typeof options === 'object');\n\n options.order = [\n //? Project\n 'publisher',\n 'name',\n 'displayName',\n 'version',\n 'description',\n 'private',\n 'publishConfig',\n\n //? Repository\n 'repository',\n 'bugs',\n 'homepage',\n 'funding',\n\n //? Author & license\n 'contributors',\n 'author',\n 'license',\n\n //? https://code.visualstudio.com/api/references/extension-manifest\n 'keywords',\n 'categories',\n\n //? CDN\n 'unpkg',\n 'jsdelivr',\n\n //? Export\n 'type', // module or commonjs\n 'main',\n 'types',\n 'typings', // synonymous with types\n 'typesVersions',\n 'exports',\n 'bin',\n 'files',\n 'workspaces',\n\n //? https://code.visualstudio.com/api/references/extension-manifest\n 'icon',\n 'activationEvents',\n 'contributes',\n\n //? Scripts\n 'scripts',\n\n //? Node & packageManager\n 'volta',\n 'engines',\n 'packageManager',\n\n //? Dependencies\n 'dependencies',\n 'devDependencies',\n 'peerDependencies',\n 'peerDependenciesMeta',\n 'bundleDependencies',\n 'optionalDependencies',\n\n 'pnpm',\n 'overrides',\n 'resolutions',\n\n //? Lib config\n 'husky',\n 'simple-git-hooks',\n 'lint-staged',\n 'eslintConfig',\n ];\n\n return configItem;\n },\n};\n","import type { Linter } from 'eslint';\nimport type { OverrideConfig } from '~/types';\nimport vitest from '@vitest/eslint-plugin';\n\ndeclare module '~/types' {\n export interface ExtraRules {\n // https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/valid-title.md\n 'test/valid-title': Linter.RuleEntry<\n [\n {\n ignoreTypeOfDescribeName?: boolean;\n allowArguments?: boolean;\n disallowedWords?: string[];\n mustNotMatch?: string[];\n mustMatch?: string[];\n },\n ]\n >;\n }\n}\n\nexport const testRules: OverrideConfig = {\n name: 'antfu/test/rules',\n partialConfig: {\n // Same `include` in @culur/config-vite\n files: ['**/*\\\\.{test,test-d}.?(c|m)[jt]s?(x)'],\n rules: {\n ...vitest.configs.recommended.rules,\n 'test/valid-title': ['error', { allowArguments: true }],\n 'test/expect-expect': [\n 'error',\n {\n assertFunctionNames: [\n 'expect',\n 'expectTypeOf',\n 'assert',\n 'assertType',\n ],\n },\n ],\n },\n },\n};\n","import type { OverrideConfig } from '~/types';\n\nexport const vueRules: OverrideConfig = {\n name: 'antfu/vue/rules',\n partialConfig: {\n rules: {\n 'vue/singleline-html-element-content-newline': 'off',\n 'vue/multiline-html-element-content-newline': 'off',\n 'vue/padding-line-between-blocks': ['error', 'always'],\n 'vue/component-name-in-template-casing': [\n 'error',\n 'PascalCase',\n { registeredComponentsOnly: false },\n ],\n },\n },\n};\n","import type { TypedFlatConfigItem } from '@antfu/eslint-config';\n\nexport const filenameRules: TypedFlatConfigItem = {\n name: 'culur/filename/rules',\n files: [\n '**/*.?(c|m){js,ts}?(x)',\n '**/*.vue',\n '**/*.md?(x)',\n '**/*.json?(c)',\n '**/*.y?(a)ml',\n '**/*.gql',\n '**/*.graphql',\n ],\n rules: {\n 'unicorn/filename-case': [\n 'error',\n {\n case: 'kebabCase',\n ignore: [\n '^ADR-\\\\w+\\\\.md',\n '^ARCHITECTURE\\\\.md',\n '^CHANGELOG\\\\.md',\n '^CONTRIBUTING\\\\.md',\n '^README\\\\.md',\n '^__tests__',\n ],\n },\n ],\n },\n};\n","import type { Rules } from '@antfu/eslint-config';\nimport type { Linter } from 'eslint';\n\nexport const yamlOrder = {\n type: 'asc',\n caseSensitive: false,\n natural: true,\n} as const;\n\nexport type YamlSortKeys =\n NonNullable<Rules['yaml/sort-keys']> extends Linter.RuleEntry<infer F>\n ? F\n : never;\n\nexport type YamlSortKeysRecord = YamlSortKeys[0];\n\nexport type YamlSortSequenceValues =\n NonNullable<Rules['yaml/sort-sequence-values']> extends Linter.RuleEntry<\n infer F\n >\n ? F\n : never;\n\nexport type YamlSortSequenceValuesRecord = YamlSortSequenceValues[0];\n","import type { TypedFlatConfigItem } from '@antfu/eslint-config';\nimport type {\n YamlSortKeysRecord,\n YamlSortSequenceValuesRecord,\n} from './yaml-order';\nimport { yamlOrder } from './yaml-order';\n\nexport const pnpmWorkspaceSortKeys = {\n root: {\n pathPattern: /^$/.source,\n order: [\n //! Monorepo\n 'packages',\n 'catalog',\n\n //! Dependency Resolution\n 'overrides',\n 'packageExtensions',\n 'allowedDeprecatedVersions',\n 'updateConfig',\n 'supportedArchitectures',\n 'ignoredOptionalDependencies',\n 'minimumReleaseAge',\n 'minimumReleaseAgeExclude',\n 'minimumReleaseAgeIgnoreMissingTime',\n 'minimumReleaseAgeStrict',\n 'minimumReleaseAgeExcludePrune',\n 'trustPolicy',\n 'trustPolicyExclude',\n 'trustPolicyIgnoreAfter',\n 'trustLockfile',\n 'blockExoticSubdeps',\n 'registries',\n 'namedRegistries',\n\n //! Dependency Hoisting Settings\n 'hoist',\n 'hoistWorkspacePackages',\n 'hoistPattern',\n 'publicHoistPattern',\n 'shamefullyHoist',\n\n //! Node-Modules Settings\n 'modulesDir',\n 'nodeLinker',\n 'symlink',\n 'enableModulesDir',\n 'virtualStoreDir',\n 'virtualStoreDirMaxLength',\n 'virtualStoreOnly',\n 'packageImportMethod',\n 'modulesCacheMaxAge',\n 'dlxCacheMaxAge',\n 'enableGlobalVirtualStore',\n\n //! Store Settings\n 'storeDir',\n 'verifyStoreIntegrity',\n 'useRunningStoreServer',\n 'strictStorePkgContentCheck',\n\n //! Network Settings\n 'httpsProxy',\n 'httpProxy',\n 'noProxy',\n 'localAddress',\n 'maxsockets',\n 'strictSsl',\n\n //! Lockfile Settings\n 'lockfile',\n 'preferFrozenLockfile',\n 'lockfileIncludeTarballUrl',\n 'gitBranchLockfile',\n 'mergeGitBranchLockfilesBranchPattern',\n 'peersSuffixMaxLength',\n\n //! Request Settings\n 'gitShallowHosts',\n 'networkConcurrency',\n 'fetchRetries',\n 'fetchRetryFactor',\n 'fetchRetryMintimeout',\n 'fetchRetryMaxtimeout',\n 'fetchTimeout',\n 'fetchWarnTimeoutMs',\n 'fetchMinSpeedKiBps',\n\n //! Peer Dependency Settings\n 'autoInstallPeers',\n 'dedupePeerDependents',\n 'dedupePeers',\n 'strictPeerDependencies',\n 'resolvePeersFromWorkspaceRoot',\n 'peerDependencyRules',\n\n //! CLI Settings\n '[no-]color',\n 'loglevel',\n 'useBetaCli',\n 'recursiveInstall',\n 'engineStrict',\n 'npmPath',\n 'pmOnFail',\n 'ignoreWorkspaceRootCheck',\n\n //! Build Settings\n 'ignoreScripts',\n 'childConcurrency',\n 'sideEffectsCache',\n 'sideEffectsCacheReadonly',\n 'unsafePerm',\n 'nodeOptions',\n 'verifyDepsBeforeRun',\n 'strictDepBuilds',\n 'allowBuilds',\n 'dangerouslyAllowAllBuilds',\n\n //! Node.js Settings\n 'nodeVersion',\n 'runtimeOnFail',\n 'nodeDownloadMirrors',\n\n //! Other Settings\n 'savePrefix',\n 'tag',\n 'globalDir',\n 'globalBinDir',\n 'npmrcAuthFile',\n 'stateDir',\n 'cacheDir',\n 'useStderr',\n 'updateNotifier',\n 'preferSymlinkedExecutables',\n 'ignoreCompatibilityDb',\n 'resolutionMode',\n 'registrySupportsTimeField',\n 'extendNodePath',\n 'deployAllFiles',\n 'dedupeDirectDeps',\n 'optimisticRepeatInstall',\n 'requiredScripts',\n 'enablePrePostScripts',\n 'scriptShell',\n 'shellEmulator',\n 'catalogMode',\n 'ci',\n 'cleanupUnusedCatalogs',\n ],\n },\n packages: {\n pathPattern: `^(${[\n 'overrides',\n 'packageExtensions',\n 'allowedDeprecatedVersions',\n 'updateConfig',\n 'supportedArchitectures',\n 'registries',\n 'namedRegistries',\n ].join('|')})$`,\n order: yamlOrder,\n },\n} satisfies Record<string, YamlSortKeysRecord>;\n\nexport const pnpmWorkspaceSortSequenceValues = {\n packages: {\n pathPattern: `^(${[\n 'ignoredOptionalDependencies',\n 'minimumReleaseAgeExclude',\n 'trustPolicyExclude',\n ].join('|')})$`,\n order: yamlOrder,\n },\n} satisfies Record<string, YamlSortSequenceValuesRecord>;\n\nexport const pnpmWorkspaceYamlRules: TypedFlatConfigItem = {\n name: 'culur/pnpm-workspace-yaml/rules',\n files: ['pnpm-workspace.yaml'],\n rules: {\n 'yaml/sort-keys': [\n 'error',\n pnpmWorkspaceSortKeys.root,\n pnpmWorkspaceSortKeys.packages,\n ],\n 'yaml/sort-sequence-values': [\n 'error',\n pnpmWorkspaceSortSequenceValues.packages,\n ],\n },\n};\n","import type { JsoncSortKeysOrderMap } from './types';\n\nexport const packageRule = {\n // --- Metadata ---\n metadata: [\n 'description', // string | string[]: Human-readable description of what this package rule does, useful for documenting complex configurations.\n ],\n\n // --- Range Strategy ---\n rangeStrategy: [\n 'rangeStrategy', // 'auto' | 'pin' | 'bump' | 'replace' | 'widen' | 'update-lockfile' | 'in-range-only': Determines how to modify or update existing ranges\n ],\n\n // --- Rule Matching Criteria (Core) ---\n // These properties determine *which* dependencies or updates this rule applies to.\n matching: [\n 'matchPackageNames', // string[]: Apply rule if dependency name matches any in this list (e.g., [\"react\", \"lodash\"]).\n 'matchDepNames', // string[]: Apply rule if dependency name matches (similar to matchPackageNames, can be broader).\n 'matchManagers', // string[]: Apply rule if the dependency is managed by one of these package managers (e.g., [\"npm\", \"docker\"]).\n 'matchDatasources', // string[]: Apply rule if the dependency's version source matches (e.g., [\"npm\", \"git-tags\", \"docker\"]).\n 'matchDepTypes', // string[]: Apply rule if the dependency type matches (e.g., [\"dependencies\", \"devDependencies\", \"peerDependencies\"]).\n 'matchUpdateTypes', // UpdateType[]: Apply rule based on the type of update (e.g., [\"major\", \"minor\", \"patch\", \"pin\", \"digest\"]).\n 'matchCategories', // string[]: Apply rule if dependency belongs to specified categories (defined via extractConfigs or presets like \"linters\").\n 'matchCurrentVersion', // string: Apply rule if the *currently installed* version matches this pattern (supports regex).\n 'matchSourceUrls', // string[]: Apply rule if the dependency's source repository URL matches any pattern in the list.\n 'matchFileNames', // string[]: Apply rule if the dependency is found in a file matching any pattern in this list.\n 'matchBaseBranches', // string[]: Apply rule only when Renovate is running against one of these base branches.\n 'matchRepositories', // string[]: Apply rule only when Renovate is running in a repository matching one of these names.\n 'matchCurrentValue', // string: Apply rule if the current value (e.g., Docker tag) matches this pattern.\n 'matchNewValue', // string: Apply rule if the proposed new value/version matches this pattern.\n 'matchCurrentAge', // string: Apply rule based on how long the current version has been used (e.g., \"> 3 months\").\n 'matchConfidence', // MergeConfidence[]: Apply rule based on Renovate's calculated merge confidence level (e.g., [\"high\", \"very-high\"]).\n 'matchJsonata', // string[]: Advanced matching using JSONata queries against dependency metadata.\n ],\n\n // --- Registry & Network Configuration ---\n registriesNetwork: [\n 'registryUrls', // string[] | null: Override the global or default registry URLs specifically for dependencies matched by this rule.\n ],\n\n // --- Vulnerability Specific Matching ---\n vulnerabilities: [\n 'isVulnerabilityAlert', // boolean: (Note: Likely an internal flag set by Renovate, used to *match* rules against updates that *are* vulnerability fixes, rather than being set directly by the user). Apply rule if the update addresses a known vulnerability.\n 'vulnerabilityFixVersion', // string: Apply rule if the vulnerability fix is targeting this specific version.\n ],\n vulnerabilitiesShared: [\n 'vulnerabilitySeverity', // string: Minimum vulnerability severity level to report or act upon (e.g., \"high\", \"critical\").\n ],\n} as const satisfies JsoncSortKeysOrderMap;\n","import type { JsoncSortKeysOrderMap } from './types';\n\nexport const renovateSharedConfig = {\n // --- Core Configuration ---\n config: [\n '$schema', // string: Reference to the JSON schema for validation.\n 'extends', // string[]: Specifies configuration presets to inherit from.\n 'enabled', // boolean: Enables or disables Renovate for the repository or rule.\n 'enabledManagers', // string[]: List of package managers to enable (e.g., [\"npm\", \"docker\"]).\n ],\n\n // --- Dependency Dashboard ---\n dependencyDashboard: [\n 'dependencyDashboardApproval', // boolean: Requires manual approval via the Dependency Dashboard checkbox before a PR is created.\n ],\n\n // --- Scheduling and Timezone ---\n schedule: [\n 'schedule', // string[]: Defines when Renovate should run using cron syntax or presets.\n 'timezone', // string: Timezone to use for scheduling (e.g., \"UTC\", \"America/New_York\").\n ],\n\n // --- Automerge ---\n automerge: [\n 'automerge', // boolean: Enables automatic merging of PRs when conditions are met.\n 'automergeType', // 'pr' | 'branch-push' | 'pr-comment': Specifies the automerge mechanism. Deprecated/renamed? (Note: Not in original list, added for context, potentially maps to other settings).\n 'automergeStrategy', // MergeStrategy ('auto', 'merge', 'rebase', 'squash'): The merge strategy to use for automerging.\n 'automergeSchedule', // string[]: Schedules automerging attempts independently of PR updates.\n 'internalChecksAsSuccess', // boolean: Considers Renovate's internal checks as successful for automerge status checks.\n 'platformAutomerge', // boolean: Use the platform's native automerge feature if available. (Note: Not in original list, but common).\n ],\n\n // --- Branch Management ---\n branch: [\n 'branchPrefix', // string: Prefix added to all Renovate-created branches.\n 'branchName', // string: Template for naming Renovate branches.\n 'branchNameStrict', // boolean: If true, enforces stricter validation for branch names.\n 'hashedBranchLength', // number: Length of the hash appended to branch names when needed.\n 'pruneBranchAfterAutomerge', // boolean: Automatically delete the branch after a PR is automerged.\n // 'branchPrefixOld', // string: Potentially deprecated or for specific migration scenarios.\n ],\n\n // --- Grouping Dependencies ---\n grouping: [\n 'group', // GroupConfig: More detailed configuration for grouping dependencies.\n 'groupName', // string: A custom name for a group of dependencies updated together in one PR.\n 'groupSlug', // string: A URL-friendly slug for the group name.\n ],\n\n // --- Commit Management ---\n commit: [\n 'semanticCommits', // 'auto' | 'enabled' | 'disabled': Controls the use of semantic commit messages.\n 'semanticCommitType', // string: The type used in semantic commits (e.g., \"fix\", \"chore\").\n 'semanticCommitScope', // string | null: The scope used in semantic commits.\n 'commitMessagePrefix', // string: Prefix added to all commit messages.\n 'commitMessage', // string: Template for the commit message body.\n 'commitMessageAction', // string: Action part of the commit message (e.g., \"Update\", \"Pin\").\n 'commitMessageTopic', // string: Topic part of the commit message (e.g., dependency name).\n 'commitMessageExtra', // string: Additional details appended to the commit message.\n 'commitMessageLowerCase', // 'auto' | 'never': Controls the casing of the commit message header.\n 'platformCommit', // PlatformCommitOptions: Platform-specific commit options.\n ],\n\n // --- Pull Request (PR) Management ---\n pr: [\n 'prCreation', // 'immediate' | 'not-pending' | 'status-success' | 'approval': Controls when PRs are created based on checks/approvals.\n 'draftPR', // boolean: Creates PRs as drafts initially.\n 'recreateClosed', // boolean: Recreate PRs if they were manually closed without merging.\n 'recreateWhen', // RecreateWhen: Specifies conditions under which closed PRs should be recreated.\n 'prBodyColumns', // string[]: Specifies which columns to include in the PR body's dependency table.\n 'prBodyDefinitions', // Record<string, string>: Custom definitions/text for sections within the PR body.\n 'prPriority', // number: Sets a priority level for the PR (platform-dependent).\n 'confidential', // boolean: Marks the PR as confidential (platform-dependent, e.g., GitLab).\n 'milestone', // number: Assigns the PR to a specific milestone number.\n ],\n\n // --- Labels ---\n labels: [\n 'labels', // string[]: List of labels to be added to created PRs.\n 'addLabels', // string[]: Additional labels to add (often used in package rules).\n 'keepUpdatedLabel', // string: Label indicating a PR should be kept up-to-date by Renovate, even if tests fail.\n 'rebaseLabel', // string: Label that triggers Renovate to rebase the PR.\n 'stopUpdatingLabel', // string: Label that tells Renovate to stop updating a specific PR.\n ],\n\n // --- Dependency Filtering and Matching ---\n filtering: [\n 'ignoreDeps', // string[]: List of dependency names to ignore completely.\n 'ignorePaths', // string[]: List of file paths or glob patterns to ignore during scanning.\n 'includePaths', // string[]: List of file paths or glob patterns to explicitly include (if others are ignored).\n 'fileMatch', // string[]: Glob patterns for matching dependency files.\n 'respectLatest', // boolean: Whether to strictly respect the 'latest' tag instead of potentially newer versions.\n 'ignoreTests', // boolean: Option to ignore dependencies typically found only in test/development scopes.\n ],\n\n // --- Advanced / Less Common ---\n advanced: [\n 'postUpgradeTasks', // PostUpgradeTasks: Defines commands or scripts to run after dependency upgrades.\n 'npmrc', // string: Allows providing custom .npmrc content for Renovate's operations.\n 'npmrcMerge', // boolean: Whether to merge provided npmrc content with existing files.\n 'changelogUrl', // string: A custom URL template for linking to changelogs.\n 'gitIgnoredAuthors', // string[]: List of git commit authors whose commits should be ignored by Renovate (e.g., bots).\n 'unicodeEmoji', // boolean: Use Unicode emojis (e.g., ✨) instead of text alternatives (e.g., :sparkles:).\n 'suppressNotifications', // string[]: List of notification types to suppress.\n 'productLinks', // Record<string, string>: Custom links for product documentation shown in PRs.\n 'rebaseWhen', // string ('auto', 'behind-base-branch', 'conflicted', 'never'): Conditions under which Renovate should rebase PRs.\n // 'manager', // string: Usually context-specific, identifies the package manager being used.\n // 'repository', // string: Usually context-specific, the name of the repository.\n // 'repositoryCache', // RepositoryCacheConfig: Configuration for caching repository data.\n // 'repositoryCacheType', // RepositoryCacheType: Type of repository cache ('local', 'shared', etc.).\n // 'autoReplaceGlobalMatch',// boolean: Advanced feature related to global replacements (less common).\n // 'force', // RenovateConfig: Allows forcing specific configurations, overriding others (use with caution).\n ],\n} as const satisfies JsoncSortKeysOrderMap;\n","import type { JsoncSortKeysOrderMap } from './types';\n\nexport const updateConfig = {\n // --- Semantic Versioning Updates ---\n // Based on standard SemVer (MAJOR.MINOR.PATCH) changes.\n semantic_versioning: [\n 'major', // T: A change in the MAJOR version number (e.g., 1.x.x -> 2.0.0).\n 'minor', // T: A change in the MINOR version number (e.g., 1.2.x -> 1.3.0).\n 'patch', // T: A change in the PATCH version number (e.g., 1.2.3 -> 1.2.4).\n ],\n\n // --- Pinning and Digest Updates ---\n // Used for fixing to exact versions/digests.\n pinning_digests: [\n 'pin', // T: Updating from a range to a specific fixed version.\n 'digest', // T: Updating the content digest (hash) of a dependency (e.g., Docker image SHA).\n 'pinDigest', // T: An update involving both pinning and digest update.\n ],\n\n // --- Lock File Maintenance ---\n // Updates primarily related to the lock file.\n lock_file: [\n 'lockFileMaintenance', // T: Maintenance updates within the lock file without changing direct dependencies.\n 'lockfileUpdate', // T: General updates confined to the lock file. (Note: Potential overlap with lockFileMaintenance).\n ],\n\n // --- Special Update Cases ---\n // Covers less common or non-standard update scenarios.\n special_cases: [\n 'rollback', // T: Reverting a dependency to a previous version.\n 'bump', // T: A non-specific version increase (e.g., for date-based versions or non-SemVer).\n 'replacement', // T: Replacing one dependency with another.\n ],\n} as const satisfies JsoncSortKeysOrderMap;\n","import type { JsoncSortKeysOrder } from '../base/types';\nimport { packageRule } from '../base/package-rule';\nimport { renovateSharedConfig } from '../base/renovate-shared-config';\nimport { updateConfig } from '../base/update-config';\n\n// PackageRule\n// RenovateSharedConfig\n// UpdateConfig\nexport const packageRuleOrder = [\n //? core config\n ...packageRule.metadata,\n ...renovateSharedConfig.config,\n ...renovateSharedConfig.branch,\n\n //? migration & dashboard\n ...renovateSharedConfig.dependencyDashboard,\n\n //? schedule\n ...renovateSharedConfig.schedule,\n ...renovateSharedConfig.automerge,\n\n //? grouping\n ...renovateSharedConfig.grouping,\n ...renovateSharedConfig.commit,\n ...renovateSharedConfig.pr,\n ...renovateSharedConfig.labels,\n ...renovateSharedConfig.filtering,\n\n //? rangeStrategy\n ...packageRule.rangeStrategy,\n\n //? matching\n ...packageRule.matching,\n ...packageRule.registriesNetwork,\n\n //? vulnerabilities\n ...packageRule.vulnerabilities,\n ...packageRule.vulnerabilitiesShared,\n\n //? rarely\n ...renovateSharedConfig.advanced,\n\n //? overrides\n ...updateConfig.semantic_versioning,\n ...updateConfig.pinning_digests,\n ...updateConfig.lock_file,\n ...updateConfig.special_cases,\n] as const as JsoncSortKeysOrder;\n","import type { JsoncSortKeysOrderMap } from './types';\n\nexport const assigneesAndReviewersConfig = {\n // --- Assignees ---\n assignees: [\n 'assignees', // string[]: Explicit list of usernames to assign to the PR.\n 'assigneesFromCodeOwners', // boolean: Assign users listed as owners in the CODEOWNERS file.\n 'assigneesSampleSize', // number: Select a random sample of this size from the potential assignees (either from `assignees` list or CODEOWNERS). [1]\n ],\n\n // --- Reviewers ---\n reviewers: [\n 'reviewers', // string[]: Explicit list of usernames to request reviews from.\n 'reviewersFromCodeOwners', // boolean: Request reviews from users listed as owners in the CODEOWNERS file.\n 'reviewersSampleSize', // number: Select a random sample of this size from the potential reviewers (either from `reviewers` list or CODEOWNERS).\n 'additionalReviewers', // string[]: Add these users as reviewers *in addition* to any specified in `reviewers` or derived from CODEOWNERS. Useful for adding specific reviewers in package rules without overriding the base list. [14]\n 'ignoreReviewers', // string[]: List of usernames that should *not* be added as reviewers, even if they are in the `reviewers` list or CODEOWNERS. Useful for filtering out bots or users on leave. [2]\n ],\n\n // --- Common / Helper Options ---\n common: [\n 'expandCodeOwnersGroups', // boolean: If true, Renovate expands CODEOWNERS groups (like `@org/team`) into individual members before applying logic like `reviewersSampleSize`. Supported on GitLab [3, 4, 6] and potentially other platforms supporting group expansion [1].\n 'filterUnavailableUsers', // boolean: (Note: Supported on GitLab [3, 5]) Check if assigned/requested users are actually available/have access on the platform before adding them. [3, 5, 8, 12, 13] Prevents errors if a listed user doesn't exist or can't access the repository.\n // 'assignAutomerge', // boolean: (Note: From [14], likely deprecated or less common) Assign reviewers/assignees even if automerge is enabled. Default Renovate behavior is *not* to add assignees/reviewers if automerge is set, to reduce noise, unless the PR fails checks. [2, 7]\n ],\n} as const satisfies JsoncSortKeysOrderMap;\n","import type { JsoncSortKeysOrder } from './types';\n\nexport const configMigration = [\n 'configMigration', // boolean: Enable this to get config migration PRs when needed\n] as const satisfies JsoncSortKeysOrder;\n","import type { JsoncSortKeysOrderMap } from './types';\n\nexport const legacyAdminConfig = {\n // --- Onboarding Configuration ---\n // Controls the behavior of the initial \"onboarding\" PR that Renovate creates\n // when it's first enabled on a repository, typically adding the renovate.json config file.\n onboarding: [\n 'onboarding', // boolean: Enables or disables the onboarding process. If false, Renovate might not start if no config exists.\n 'onboardingBranch', // string: The name of the branch to use for the onboarding PR (e.g., \"renovate/configure\").\n 'onboardingCommitMessage', // string: Custom commit message for the onboarding commit.\n 'onboardingPrTitle', // string: Custom title for the onboarding PR.\n 'onboardingConfig', // RenovateSharedConfig: A minimal Renovate configuration object to propose in the onboarding PR.\n 'onboardingConfigFileName', // string: The filename for the proposed configuration file (e.g., \"renovate.json\", \".github/renovate.json\").\n 'onboardingRebaseCheckbox', // boolean: Adds a checkbox to the onboarding PR body allowing users to request Renovate to rebase the PR. (Note: Specific to platform integration).\n 'onboardingNoDeps', // 'auto' | 'enabled' | 'disabled': Controls whether the onboarding PR should include initial dependency updates or just the configuration file. 'auto' usually means include updates if few dependencies exist.\n ],\n\n // --- Configuration Requirements ---\n // Defines requirements for the Renovate configuration itself.\n configurationRequirements: [\n 'requireConfig', // RequiredConfig ('required', 'optional', 'ignored'): Specifies whether a Renovate configuration file (`renovate.json`, etc.) is mandatory for Renovate to run on the repository. 'ignored' might be used in centrally managed setups.\n ],\n\n // --- Execution Environment & Logging (Legacy/Admin) ---\n // These settings are often more relevant for self-hosted Renovate instances or specific admin controls.\n executionLogging: [\n 'localDir', // string: Specifies a local directory path, potentially used for caching or temporary files in self-hosted environments. (Note: Less common in typical SaaS usage).\n 'logContext', // string: Adds a custom string/context to log messages, helpful for identifying logs from specific Renovate instances or runs.\n ],\n} as const satisfies JsoncSortKeysOrderMap;\n","import type { JsoncSortKeysOrderMap } from './types';\n\nexport const renovateConfig = {\n // --- Metadata ---\n metadata: [\n 'description', // string | string[]: Description for the repository (often used in platform UI).\n ],\n\n // --- Base Repository & Branching Strategy ---\n repository: [\n 'baseBranches', // string[]: List of base branches Renovate should operate on (e.g., [\"main\", \"develop\"]).\n 'defaultBranch', // string: Explicitly specifies the default branch if detection fails or needs override. (Note: Often detected automatically).\n 'useBaseBranchConfig', // UseBaseBranchConfigType: How to handle configuration when running on non-default base branches ('merge' or 'none').\n 'gitAuthor', // string: Custom git author for commits made by Renovate (e.g., \"Renovate Bot <bot@renovateapp.com>\").\n ],\n\n // --- Fork Handling ---\n forkHandling: [\n 'forkProcessing', // 'auto' | 'enabled' | 'disabled': How Renovate should handle running on repository forks. 'auto' usually disables on forks.\n 'isFork', // boolean: Explicitly tells Renovate if the current repository is a fork. (Usually detected).\n 'forkModeDisallowMaintainerEdits', // boolean: When running on a fork, disallow maintainers of the upstream repo from editing the PR.\n ],\n\n // --- Dependency Dashboard ---\n dependencyDashboard: [\n 'dependencyDashboard', // boolean: Enables or disables the creation and management of the Dependency Dashboard issue.\n 'dependencyDashboardTitle', // string: Custom title for the Dependency Dashboard issue.\n 'dependencyDashboardHeader', // string: Custom content to add to the top of the Dependency Dashboard body.\n 'dependencyDashboardFooter', // string: Custom content to add to the bottom of the DependencyDashboard body.\n 'dependencyDashboardLabels', // string[]: Labels to add to the Dependency Dashboard issue.\n 'dependencyDashboardChecks', // Record<string, string>: Configure approval checkboxes within the dashboard.\n 'dependencyDashboardAutoclose', // boolean: Automatically close the Dependency Dashboard issue if there are no pending updates.\n 'dependencyDashboardOSVVulnerabilitySummary', // 'none' | 'all' | 'unresolved': Controls the display of OSV vulnerability summaries in the dashboard.\n 'customizeDashboard', // Record<string, string>: Further customization options for the dashboard's appearance or behavior. (Note: Seems like a flexible key-value store for dashboard tweaks).\n // 'dependencyDashboardIssue', // number: Internal state, the number of the existing dashboard issue. (Note: Likely not user-configured directly).\n ],\n\n // --- Rate Limiting & Concurrency ---\n limits: [\n 'branchConcurrentLimit', // number | null: Maximum number of branches Renovate can create concurrently.\n 'prConcurrentLimit', // number: Maximum number of Pull Requests Renovate can create or update concurrently.\n 'prHourlyLimit', // number: Maximum number of Pull Requests Renovate can create per hour.\n ],\n\n // --- Branch/Commit Naming (Specific Overrides/Additions) ---\n namingSpecifics: [\n 'branchTopic', // string: A specific topic to use for branch naming, potentially overriding `commitMessageTopic`. (Note: Granular control over branch naming).\n 'additionalBranchPrefix', // string: Another prefix to add *after* the main `branchPrefix` but before the rest of the branch name. (Note: For more complex branch naming schemes).\n 'commitBody', // string: Explicitly set the entire commit message body, potentially overriding templates. (Note: Less common than using templating options).\n ],\n\n // --- Registry & Network Configuration ---\n registriesNetwork: [\n 'hostRules', // HostRule[]: Rules for authentication, endpoints, or other behaviors specific to certain hosts (e.g., private registries).\n 'defaultRegistryUrls', // string[]: Default registry URLs to use for package managers if not otherwise specified.\n 'registryUrls', // string[] | null: Overrides detected registry URLs.\n 'registryAliases', // Record<string, string>: Aliases for registry URLs.\n 's3Endpoint', // string: Custom endpoint URL for S3 interactions (e.g., for reports).\n 's3PathStyle', // boolean: Use path-style access for S3 instead of virtual-hosted style.\n ],\n\n // --- Vulnerability Management ---\n vulnerabilities: [\n 'vulnerabilityAlerts', // RenovateSharedConfig: Configuration specific to how vulnerability updates are handled (can inherit shared config structure).\n 'osvVulnerabilityAlerts', // boolean: Specifically enables checking for vulnerabilities using the OSV database.\n ],\n vulnerabilitiesShared: [\n 'vulnerabilitySeverity', // string: Minimum vulnerability severity level to report or act upon (e.g., \"high\", \"critical\").\n ],\n\n // --- Customization & Extensibility ---\n customization: [\n 'customManagers', // CustomManager[]: Definitions for custom package managers not built into Renovate.\n 'customDatasources', // Record<string, CustomDatasourceConfig>: Definitions for custom datasources to find package versions.\n 'secrets', // Record<string, string>: A key-value store for secrets needed during Renovate runs (e.g., tokens accessed via `process.env`). (Note: For securely passing sensitive data).\n 'env', // UserEnv: User-defined environment variables to be set when Renovate executes package manager commands.\n ],\n\n // --- Reporting ---\n reporting: [\n 'reportPath', // string: Path (for file type) or bucket/key (for S3 type) for saving run reports.\n 'reportType', // 'logging' | 'file' | 's3' | null: How and where to generate reports about Renovate runs.\n ],\n\n // --- Configuration Inheritance ---\n inheritance: [\n 'inheritConfig', // boolean: Whether to inherit configuration from a shared repository (defaults to true for Renovate App/Enterprise).\n 'inheritConfigFileName', // string: Custom filename for the shared configuration file in the inheritance repository.\n 'inheritConfigRepoName', // string: Specify the repository from which to inherit configuration.\n 'inheritConfigStrict', // boolean: If true, errors during config inheritance will stop the Renovate run.\n 'ignorePresets', // string[]: List of preset configurations (from `extends`) to ignore.\n 'force', // RenovateConfig: A nested configuration object used for forcing specific settings (often via CLI).\n ],\n\n // --- Process Control & Execution ---\n processControl: [\n 'skipInstalls', // boolean | null: Skip package manager install/build steps (use with caution, may break updates).\n 'updateInternalDeps', // boolean: Whether to update dependencies that point to other modules within the same monorepo.\n 'cloneSubmodulesFilter', // string[]: Filters to apply when deciding which submodules to clone.\n 'fetchChangeLogs', // FetchChangeLogsOptions: Options controlling if and how changelogs are fetched.\n 'logLevelRemap', // LogLevelRemap[]: Rules to remap log levels from specific modules or contexts.\n 'statusCheckNames', // Record<StatusCheckKey, string | null>: Override the names of status checks Renovate looks for or reports.\n 'configWarningReuseIssue', // boolean: If true, configuration warnings will be posted as comments on a single, reused issue instead of creating new ones.\n 'postUpdateOptions', // string[]: Options passed to post-update scripts or hooks. (Note: Related to `postUpgradeTasks` in SharedConfig, perhaps providing context/flags).\n ],\n\n // --- Constraints ---\n constraints: [\n 'constraints', // Record<string, string>: Define version constraints for dependencies (e.g., force a specific version range globally).\n 'constraintsFiltering', // ConstraintsFilter: Control how constraints are applied ('none', 'strict', 'loose').\n ],\n\n // --- Internal State / Contextual (Likely not configured directly in main config) ---\n internalContext: [\n 'depName', // string: The name of the specific dependency being processed in a rule context.\n 'baseBranch', // string: The specific base branch being processed in the current run.\n 'branchList', // string[]: List of branches detected in the repository.\n 'errors', // ValidationMessage[]: Collection of configuration errors found during parsing.\n 'fileList', // string[]: List of files relevant to the current operation.\n 'packageFile', // string: The specific package file being processed.\n 'repoIsOnboarded', // boolean: Flag indicating if the repository onboarding process is complete.\n 'repoIsActivated', // boolean: Flag indicating if Renovate is activated for the repository.\n 'warnings', // ValidationMessage[]: Collection of configuration warnings found during parsing.\n 'checkedBranches', // string[]: List of branches that have already been processed in the current run.\n 'sharedVariableName', // string: Name of a variable used for sharing data between runs or stages. (Note: Advanced/internal usage).\n ],\n\n // --- PackageRules ---\n packageRules: [\n 'packageRules', // PackageRule[]: The core mechanism for customizing Renovate's behavior for specific dependencies or groups.\n ],\n} as const satisfies JsoncSortKeysOrderMap;\n","import type { JsoncSortKeysOrder } from '../base/types';\nimport { assigneesAndReviewersConfig } from '../base/assignees-and-reviewers-config';\nimport { configMigration } from '../base/config-migration';\nimport { legacyAdminConfig } from '../base/legacy-admin-config';\nimport { renovateConfig } from '../base/renovate-config';\nimport { renovateSharedConfig } from '../base/renovate-shared-config';\nimport { updateConfig } from '../base/update-config';\n\n// RenovateConfig\n// LegacyAdminConfig,\n// RenovateSharedConfig,\n// UpdateConfig<PackageRule>,\n// AssigneesAndReviewersConfig,\n// ConfigMigration,\nexport const rootOrder = [\n //? core config\n ...renovateSharedConfig.config,\n ...renovateConfig.metadata,\n ...renovateConfig.repository,\n ...renovateConfig.forkHandling,\n ...renovateSharedConfig.branch,\n\n //? migration & dashboard\n ...configMigration,\n ...renovateConfig.dependencyDashboard,\n ...renovateSharedConfig.dependencyDashboard,\n\n //? schedule\n ...renovateSharedConfig.schedule,\n ...renovateSharedConfig.automerge,\n ...renovateConfig.limits,\n\n //? grouping\n ...renovateSharedConfig.grouping,\n ...renovateSharedConfig.commit,\n ...renovateSharedConfig.pr,\n ...renovateSharedConfig.labels,\n ...renovateSharedConfig.filtering,\n ...renovateConfig.namingSpecifics,\n ...assigneesAndReviewersConfig.assignees,\n ...assigneesAndReviewersConfig.reviewers,\n ...assigneesAndReviewersConfig.common,\n\n //? registriesNetwork\n ...renovateConfig.registriesNetwork,\n\n //? vulnerabilities\n ...renovateConfig.vulnerabilities,\n ...renovateConfig.vulnerabilitiesShared,\n\n //? rarely\n ...renovateSharedConfig.advanced,\n ...renovateConfig.customization,\n ...renovateConfig.reporting,\n ...renovateConfig.inheritance,\n ...renovateConfig.processControl,\n ...renovateConfig.constraints,\n ...renovateConfig.internalContext,\n ...legacyAdminConfig.onboarding,\n ...legacyAdminConfig.executionLogging,\n ...legacyAdminConfig.configurationRequirements,\n\n //? overrides\n ...updateConfig.semantic_versioning,\n ...updateConfig.pinning_digests,\n ...updateConfig.lock_file,\n ...updateConfig.special_cases,\n ...renovateConfig.packageRules,\n] as const as JsoncSortKeysOrder;\n","import type { TypedFlatConfigItem } from '@antfu/eslint-config';\nimport { packageRuleOrder } from './order/package-rule';\nimport { rootOrder } from './order/root';\n\nexport const renovateJsonRules: TypedFlatConfigItem = {\n name: 'culur/renovate-json/rules',\n files: [\n // https://docs.renovatebot.com/configuration-options/#configuration-options\n 'renovate.json',\n 'renovate.json5',\n '.github/renovate.json',\n '.github/renovate.json5',\n '.gitlab/renovate.json',\n '.gitlab/renovate.json5',\n '.renovaterc',\n '.renovaterc.json',\n '.renovaterc.json5',\n ],\n rules: {\n 'jsonc/sort-keys': [\n 'error',\n {\n pathPattern: /^$/.source,\n order: rootOrder,\n },\n {\n pathPattern: /^packageRules\\[\\d+\\]$/.source,\n order: packageRuleOrder,\n },\n ],\n },\n};\n","import type { TypedFlatConfigItem } from '@antfu/eslint-config';\nimport type { YamlSortKeysRecord } from './yaml-order';\nimport { yamlOrder } from './yaml-order';\n\nexport const yarnrcYmlSortKeys = {\n packageExtensions: {\n packages: {\n pathPattern: /^packageExtensions$/.source,\n order: yamlOrder,\n },\n dependenciesTypes: {\n pathPattern: /^packageExtensions(?:\\[\".+\"\\]|\\.[^.]+)$/.source,\n order: yamlOrder,\n },\n childPackages: {\n pathPattern:\n /^packageExtensions(?:\\[\".+\"\\]|\\.[^.]+)\\.(?:dependencies|peerDependencies|peerDependenciesMeta)$/\n .source,\n order: yamlOrder,\n },\n },\n} satisfies Record<string, Record<string, YamlSortKeysRecord>>;\n\nexport const yarnrcYmlRules: TypedFlatConfigItem = {\n name: 'culur/yarnrc-yml/rules',\n files: ['.yarnrc.yml'],\n rules: {\n 'yaml/sort-keys': [\n 'error',\n yarnrcYmlSortKeys.packageExtensions.packages,\n yarnrcYmlSortKeys.packageExtensions.dependenciesTypes,\n yarnrcYmlSortKeys.packageExtensions.childPackages,\n ],\n },\n};\n","import type {\n Awaitable,\n Rules,\n TypedFlatConfigItem,\n} from '@antfu/eslint-config';\nimport type { Linter } from 'eslint';\n\nexport interface ExtraRules {}\n\nexport type TypedFlatConfigItemCustom = Omit<TypedFlatConfigItem, 'rules'> & {\n rules?: Omit<Rules, keyof ExtraRules> & Partial<ExtraRules>;\n};\n\nexport type OverrideConfig = {\n name: NonNullable<TypedFlatConfigItemCustom['name']>;\n} & (\n | { partialConfig: TypedFlatConfigItemCustom } // merge with the original config\n | { entireConfig: () => Awaitable<TypedFlatConfigItemCustom> } // replace the entire config\n);\n\nexport const defineOverride = (config: OverrideConfig) =>\n [\n config.name,\n 'partialConfig' in config ? config.partialConfig : config.entireConfig,\n ] as [\n name: string,\n config: TypedFlatConfigItem | (() => Awaitable<TypedFlatConfigItem>),\n ];\n\nexport type RuleEntry<T extends keyof Rules> = Rules[T] extends\n Linter.RuleEntry<infer F> | undefined\n ? F\n : never;\n","import antfu from '@antfu/eslint-config';\nimport { defineHasPackages } from '@culur/utils-packages';\nimport { importsRules, sortPackageJson, vueRules } from './overrides';\nimport { testRules } from './overrides/test-rules';\nimport {\n filenameRules,\n pnpmWorkspaceYamlRules,\n renovateJsonRules,\n yarnrcYmlRules,\n} from './rules';\nimport { defineOverride } from './types';\n\nexport default function defineConfig(\n ...[options = {}, ...userConfigs]: Parameters<typeof antfu>\n): ReturnType<typeof antfu> {\n const { hasVue } = defineHasPackages({ vue: !!options.vue });\n\n const config = antfu(\n {\n isInEditor: false,\n stylistic: false,\n formatters: false,\n ...options,\n },\n filenameRules,\n yarnrcYmlRules,\n pnpmWorkspaceYamlRules,\n renovateJsonRules,\n ...userConfigs,\n );\n\n config.override(...defineOverride(importsRules));\n config.override(...defineOverride(sortPackageJson));\n config.override(...defineOverride(testRules));\n\n if (hasVue()) {\n config.override(...defineOverride(vueRules));\n }\n\n return config;\n}\n"],"mappings":";;;;;AAEA,MAAa,eAA+B;CAC1C,MAAM;CACN,eAAe,EACb,OAAO,EAEL,0CAA0C,CAAC,SAAS,kBAAkB,EACxE,EACF;AACF;;ACNA,MAAaA,oBAAkC;CAC7C,MAAM;CACN,MAAM,eAAe;EACnB,MAAM,CAAC,cAAc,MAAMC,gBAAqB;EAChD,OAAO,OAAO,WAAW,SAAS,QAAQ;EAC1C,OAAO,OAAO,WAAW,UAAU,QAAQ;EAE3C,MAAM,WAAW,WAAW,MAAM;EAClC,OAAO,OAAO,aAAa,QAAQ;EAEnC,MAAM,GAAG,WAAW;EACpB,OAAO,OAAO,YAAY,QAAQ;EAElC,QAAQ,QAAQ;GAEd;GACA;GACA;GACA;GACA;GACA;GACA;GAGA;GACA;GACA;GACA;GAGA;GACA;GACA;GAGA;GACA;GAGA;GACA;GAGA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GAGA;GACA;GACA;GAGA;GAGA;GACA;GACA;GAGA;GACA;GACA;GACA;GACA;GACA;GAEA;GACA;GACA;GAGA;GACA;GACA;GACA;EACF;EAEA,OAAO;CACT;AACF;;ACtEA,MAAa,YAA4B;CACvC,MAAM;CACN,eAAe;EAEb,OAAO,CAAC,sCAAsC;EAC9C,OAAO;GACL,GAAG,OAAO,QAAQ,YAAY;GAC9B,oBAAoB,CAAC,SAAS,EAAE,gBAAgB,KAAK,CAAC;GACtD,sBAAsB,CACpB,SACA,EACE,qBAAqB;IACnB;IACA;IACA;IACA;GACF,EACF,CACF;EACF;CACF;AACF;;ACxCA,MAAa,WAA2B;CACtC,MAAM;CACN,eAAe,EACb,OAAO;EACL,+CAA+C;EAC/C,8CAA8C;EAC9C,mCAAmC,CAAC,SAAS,QAAQ;EACrD,yCAAyC;GACvC;GACA;GACA,EAAE,0BAA0B,MAAM;EACpC;CACF,EACF;AACF;;ACdA,MAAa,gBAAqC;CAChD,MAAM;CACN,OAAO;EACL;EACA;EACA;EACA;EACA;EACA;EACA;CACF;CACA,OAAO,EACL,yBAAyB,CACvB,SACA;EACE,MAAM;EACN,QAAQ;GACN;GACA;GACA;GACA;GACA;GACA;EACF;CACF,CACF,EACF;AACF;;AC1BA,MAAa,YAAY;CACvB,MAAM;CACN,eAAe;CACf,SAAS;AACX;;ACAA,MAAa,wBAAwB;CACnC,MAAM;EACJ,aAAa,KAAK;EAClB,OAAO;GAEL;GACA;GAGA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GAGA;GACA;GACA;GACA;GACA;GAGA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GAGA;GACA;GACA;GACA;GAGA;GACA;GACA;GACA;GACA;GACA;GAGA;GACA;GACA;GACA;GACA;GACA;GAGA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GAGA;GACA;GACA;GACA;GACA;GACA;GAGA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GAGA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GAGA;GACA;GACA;GAGA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;EACF;CACF;CACA,UAAU;EACR,aAAa,KAAK;GAChB;GACA;GACA;GACA;GACA;GACA;GACA;EACF,CAAC,CAAC,KAAK,GAAG,EAAE;EACZ,OAAO;CACT;AACF;;;;;;;;;;;;;;AAEA,MAAa,kCAAkC,EAC7C,UAAU;CACR,aAAa,KAAK;EAChB;EACA;EACA;CACF,CAAC,CAAC,KAAK,GAAG,EAAE;CACZ,OAAO;AACT,EACF;AAEA,MAAa,yBAA8C;CACzD,MAAM;CACN,OAAO,CAAC,qBAAqB;CAC7B,OAAO;EACL,kBAAkB;GAChB;GACA,sBAAsB;GACtB,sBAAsB;EACxB;EACA,6BAA6B,CAC3B,SACA,gCAAgC,QAClC;CACF;AACF;;AC3LA,MAAa,cAAc;CAEzB,UAAU,CACR,aACF;CAGA,eAAe,CACb,eACF;CAIA,UAAU;EACR;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF;CAGA,mBAAmB,CACjB,cACF;CAGA,iBAAiB,CACf,wBACA,yBACF;CACA,uBAAuB,CACrB,uBACF;AACF;;AC9CA,MAAa,uBAAuB;CAElC,QAAQ;EACN;EACA;EACA;EACA;CACF;CAGA,qBAAqB,CACnB,6BACF;CAGA,UAAU,CACR,YACA,UACF;CAGA,WAAW;EACT;EACA;EACA;EACA;EACA;EACA;CACF;CAGA,QAAQ;EACN;EACA;EACA;EACA;EACA;CAEF;CAGA,UAAU;EACR;EACA;EACA;CACF;CAGA,QAAQ;EACN;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF;CAGA,IAAI;EACF;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF;CAGA,QAAQ;EACN;EACA;EACA;EACA;EACA;CACF;CAGA,WAAW;EACT;EACA;EACA;EACA;EACA;EACA;CACF;CAGA,UAAU;EACR;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CAOF;AACF;;AC/GA,MAAa,eAAe;CAG1B,qBAAqB;EACnB;EACA;EACA;CACF;CAIA,iBAAiB;EACf;EACA;EACA;CACF;CAIA,WAAW,CACT,uBACA,gBACF;CAIA,eAAe;EACb;EACA;EACA;CACF;AACF;;ACzBA,MAAa,mBAAmB;CAE9B,GAAG,YAAY;CACf,GAAG,qBAAqB;CACxB,GAAG,qBAAqB;CAGxB,GAAG,qBAAqB;CAGxB,GAAG,qBAAqB;CACxB,GAAG,qBAAqB;CAGxB,GAAG,qBAAqB;CACxB,GAAG,qBAAqB;CACxB,GAAG,qBAAqB;CACxB,GAAG,qBAAqB;CACxB,GAAG,qBAAqB;CAGxB,GAAG,YAAY;CAGf,GAAG,YAAY;CACf,GAAG,YAAY;CAGf,GAAG,YAAY;CACf,GAAG,YAAY;CAGf,GAAG,qBAAqB;CAGxB,GAAG,aAAa;CAChB,GAAG,aAAa;CAChB,GAAG,aAAa;CAChB,GAAG,aAAa;AAClB;;AC7CA,MAAa,8BAA8B;CAEzC,WAAW;EACT;EACA;EACA;CACF;CAGA,WAAW;EACT;EACA;EACA;EACA;EACA;CACF;CAGA,QAAQ,CACN,0BACA,wBAEF;AACF;;ACvBA,MAAa,kBAAkB,CAC7B,iBACF;;ACFA,MAAa,oBAAoB;CAI/B,YAAY;EACV;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF;CAIA,2BAA2B,CACzB,eACF;CAIA,kBAAkB,CAChB,YACA,YACF;AACF;;AC3BA,MAAa,iBAAiB;CAE5B,UAAU,CACR,aACF;CAGA,YAAY;EACV;EACA;EACA;EACA;CACF;CAGA,cAAc;EACZ;EACA;EACA;CACF;CAGA,qBAAqB;EACnB;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CAEF;CAGA,QAAQ;EACN;EACA;EACA;CACF;CAGA,iBAAiB;EACf;EACA;EACA;CACF;CAGA,mBAAmB;EACjB;EACA;EACA;EACA;EACA;EACA;CACF;CAGA,iBAAiB,CACf,uBACA,wBACF;CACA,uBAAuB,CACrB,uBACF;CAGA,eAAe;EACb;EACA;EACA;EACA;CACF;CAGA,WAAW,CACT,cACA,YACF;CAGA,aAAa;EACX;EACA;EACA;EACA;EACA;EACA;CACF;CAGA,gBAAgB;EACd;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF;CAGA,aAAa,CACX,eACA,sBACF;CAGA,iBAAiB;EACf;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF;CAGA,cAAc,CACZ,cACF;AACF;;ACrHA,MAAa,YAAY;CAEvB,GAAG,qBAAqB;CACxB,GAAG,eAAe;CAClB,GAAG,eAAe;CAClB,GAAG,eAAe;CAClB,GAAG,qBAAqB;CAGxB,GAAG;CACH,GAAG,eAAe;CAClB,GAAG,qBAAqB;CAGxB,GAAG,qBAAqB;CACxB,GAAG,qBAAqB;CACxB,GAAG,eAAe;CAGlB,GAAG,qBAAqB;CACxB,GAAG,qBAAqB;CACxB,GAAG,qBAAqB;CACxB,GAAG,qBAAqB;CACxB,GAAG,qBAAqB;CACxB,GAAG,eAAe;CAClB,GAAG,4BAA4B;CAC/B,GAAG,4BAA4B;CAC/B,GAAG,4BAA4B;CAG/B,GAAG,eAAe;CAGlB,GAAG,eAAe;CAClB,GAAG,eAAe;CAGlB,GAAG,qBAAqB;CACxB,GAAG,eAAe;CAClB,GAAG,eAAe;CAClB,GAAG,eAAe;CAClB,GAAG,eAAe;CAClB,GAAG,eAAe;CAClB,GAAG,eAAe;CAClB,GAAG,kBAAkB;CACrB,GAAG,kBAAkB;CACrB,GAAG,kBAAkB;CAGrB,GAAG,aAAa;CAChB,GAAG,aAAa;CAChB,GAAG,aAAa;CAChB,GAAG,aAAa;CAChB,GAAG,eAAe;AACpB;;AChEA,MAAa,oBAAyC;CACpD,MAAM;CACN,OAAO;EAEL;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF;CACA,OAAO,EACL,mBAAmB;EACjB;EACA;GACE,aAAa,KAAK;GAClB,OAAO;EACT;EACA;GACE,aAAa,wBAAwB;GACrC,OAAO;EACT;CACF,EACF;AACF;;AC3BA,MAAa,oBAAoB,EAC/B,mBAAmB;CACjB,UAAU;EACR,aAAa,sBAAsB;EACnC,OAAO;CACT;CACA,mBAAmB;EACjB,aAAa,0CAA0C;EACvD,OAAO;CACT;CACA,eAAe;EACb,aACE,kGACG;EACL,OAAO;CACT;AACF,EACF;AAEA,MAAa,iBAAsC;CACjD,MAAM;CACN,OAAO,CAAC,aAAa;CACrB,OAAO,EACL,kBAAkB;EAChB;EACA,kBAAkB,kBAAkB;EACpC,kBAAkB,kBAAkB;EACpC,kBAAkB,kBAAkB;CACtC,EACF;AACF;;ACdA,MAAa,kBAAkB,WAC7B,CACE,OAAO,MACP,mBAAmB,SAAS,OAAO,gBAAgB,OAAO,YAC5D;;ACZF,SAAwB,aACtB,GAAG,CAAC,UAAU,CAAC,GAAG,GAAG,cACK;CAC1B,MAAM,EAAE,WAAW,kBAAkB,EAAE,KAAK,CAAC,CAAC,QAAQ,IAAI,CAAC;CAE3D,MAAM,SAAS,MACb;EACE,YAAY;EACZ,WAAW;EACX,YAAY;EACZ,GAAG;CACL,GACA,eACA,gBACA,wBACA,mBACA,GAAG,WACL;CAEA,OAAO,SAAS,GAAG,eAAe,YAAY,CAAC;CAC/C,OAAO,SAAS,GAAG,eAAeC,iBAAe,CAAC;CAClD,OAAO,SAAS,GAAG,eAAe,SAAS,CAAC;CAE5C,IAAI,OAAO,GACT,OAAO,SAAS,GAAG,eAAe,QAAQ,CAAC;CAG7C,OAAO;AACT"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@culur/config-eslint",
|
|
3
|
-
"version": "1.9.
|
|
3
|
+
"version": "1.9.1",
|
|
4
4
|
"description": "Culur's eslint configuration",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"access": "public"
|
|
@@ -51,24 +51,19 @@
|
|
|
51
51
|
"node": ">=20"
|
|
52
52
|
},
|
|
53
53
|
"dependencies": {
|
|
54
|
-
"@antfu/eslint-config": "^
|
|
55
|
-
"@
|
|
56
|
-
"@
|
|
54
|
+
"@antfu/eslint-config": "^10.0.0",
|
|
55
|
+
"@culur/utils-packages": "1.3.2",
|
|
56
|
+
"@vitest/eslint-plugin": "^1.6.28"
|
|
57
57
|
},
|
|
58
58
|
"devDependencies": {
|
|
59
|
-
"@
|
|
59
|
+
"@culur/config-tsdown": "1.1.3",
|
|
60
|
+
"@culur/config-typescript": "2.0.1",
|
|
61
|
+
"@eslint/eslintrc": "^3.3.7",
|
|
60
62
|
"@types/eslint": "^9.6.1",
|
|
61
|
-
"@vue/compiler-sfc": "^3.5.
|
|
62
|
-
"eslint": "^10.
|
|
63
|
-
"@culur/config-tsdown": "1.1.2",
|
|
64
|
-
"@culur/config-typescript": "2.0.0"
|
|
63
|
+
"@vue/compiler-sfc": "^3.5.44",
|
|
64
|
+
"eslint": "^10.14.0"
|
|
65
65
|
},
|
|
66
66
|
"peerDependencies": {
|
|
67
67
|
"eslint": ">=10.0.0"
|
|
68
|
-
},
|
|
69
|
-
"scripts": {
|
|
70
|
-
"clean": "rimraf dist coverage",
|
|
71
|
-
"build": "tsdown",
|
|
72
|
-
"test": "tsc --noEmit && vitest run"
|
|
73
68
|
}
|
|
74
69
|
}
|