@culur/config-eslint 1.8.1 → 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 CHANGED
@@ -1,5 +1,56 @@
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
+
29
+ ## 1.9.0
30
+
31
+ ### Minor Changes
32
+
33
+ - ✨ Add `^__tests__` to filename rule exclusions to accommodate directory name checks in updated `eslint-plugin-unicorn` ([`68f6bff`](https://github.com/culur/culur/commit/68f6bffa393456565f4cbe78b5fa254e36bf0640)) ([@phamhongphuc](https://github.com/phamhongphuc)).
34
+
35
+ - ✨ `eslint-plugin-unicorn` is imported automatically from `@antfu/eslint-config`, so explicit dependency declaration and configuration in the project are no longer needed ([`8f891e6`](https://github.com/culur/culur/commit/8f891e6d9f9f7b5ba0dbecc80812a2b7fdf9c172)) ([@phamhongphuc](https://github.com/phamhongphuc)).
36
+
37
+ ### Patch Changes
38
+
39
+ - ⚙️ Update dependencies ([#534](https://github.com/culur/culur/pull/534) [`1cf4c89`](https://github.com/culur/culur/commit/1cf4c89817a6309751a0961192c700a66f62f704)) ([@renovate](https://github.com/apps/renovate)):
40
+
41
+ - `dependencies`:
42
+ - `@antfu/eslint-config@^9.2.0`
43
+ - `@vitest/eslint-plugin@^1.6.24`
44
+ - `devDependencies`:
45
+ - `@eslint/eslintrc@^3.3.6`
46
+ - `@vue/compiler-sfc@^3.5.40`
47
+ - `eslint@^10.8.0`
48
+
49
+ - 📦 Format code ([#525](https://github.com/culur/culur/pull/525) [`509e8ce`](https://github.com/culur/culur/commit/509e8ce660d7a765ce9cd0c32aad71b1c1a5fe8e)) ([@renovate](https://github.com/apps/renovate)).
50
+
51
+ - 📦 Update workspace dependencies:
52
+ - [`@culur/utils-packages@1.3.1`](https://github.com/culur/culur/tree/main/packages/utils-packages#readme)
53
+
3
54
  ## 1.8.1
4
55
 
5
56
  ### Patch Changes
package/dist/index.cjs CHANGED
@@ -1,4 +1,4 @@
1
- //#region \0rolldown/runtime.js
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,15 +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
- let eslint_plugin_unicorn = require("eslint-plugin-unicorn");
31
- eslint_plugin_unicorn = __toESM(eslint_plugin_unicorn, 1);
32
- //#region src/overrides/imports-rules.ts
29
+ // src/overrides/imports-rules.ts
33
30
  const importsRules = {
34
31
  name: "antfu/imports/rules",
35
32
  partialConfig: { rules: { "import/consistent-type-specifier-style": ["error", "prefer-top-level"] } }
36
33
  };
37
- //#endregion
38
- //#region src/overrides/sort-package-json.ts
34
+ // src/overrides/sort-package-json.ts
39
35
  const sortPackageJson = {
40
36
  name: "antfu/sort/package-json",
41
37
  async entireConfig() {
@@ -98,8 +94,7 @@ const sortPackageJson = {
98
94
  return configItem;
99
95
  }
100
96
  };
101
- //#endregion
102
- //#region src/overrides/test-rules.ts
97
+ // src/overrides/test-rules.ts
103
98
  const testRules = {
104
99
  name: "antfu/test/rules",
105
100
  partialConfig: {
@@ -116,8 +111,7 @@ const testRules = {
116
111
  }
117
112
  }
118
113
  };
119
- //#endregion
120
- //#region src/overrides/vue-rules.ts
114
+ // src/overrides/vue-rules.ts
121
115
  const vueRules = {
122
116
  name: "antfu/vue/rules",
123
117
  partialConfig: { rules: {
@@ -131,11 +125,9 @@ const vueRules = {
131
125
  ]
132
126
  } }
133
127
  };
134
- //#endregion
135
- //#region src/rules/filename.ts
128
+ // src/rules/filename.ts
136
129
  const filenameRules = {
137
130
  name: "culur/filename/rules",
138
- plugins: { unicorn: eslint_plugin_unicorn.default },
139
131
  files: [
140
132
  "**/*.?(c|m){js,ts}?(x)",
141
133
  "**/*.vue",
@@ -152,19 +144,18 @@ const filenameRules = {
152
144
  "^ARCHITECTURE\\.md",
153
145
  "^CHANGELOG\\.md",
154
146
  "^CONTRIBUTING\\.md",
155
- "^README\\.md"
147
+ "^README\\.md",
148
+ "^__tests__"
156
149
  ]
157
150
  }] }
158
151
  };
159
- //#endregion
160
- //#region src/rules/yaml-order.ts
152
+ // src/rules/yaml-order.ts
161
153
  const yamlOrder = {
162
154
  type: "asc",
163
155
  caseSensitive: false,
164
156
  natural: true
165
157
  };
166
- //#endregion
167
- //#region src/rules/pnpm-workspace-yaml.ts
158
+ // src/rules/pnpm-workspace-yaml.ts
168
159
  const pnpmWorkspaceSortKeys = {
169
160
  root: {
170
161
  pathPattern: /^$/.source,
@@ -181,6 +172,7 @@ const pnpmWorkspaceSortKeys = {
181
172
  "minimumReleaseAgeExclude",
182
173
  "minimumReleaseAgeIgnoreMissingTime",
183
174
  "minimumReleaseAgeStrict",
175
+ "minimumReleaseAgeExcludePrune",
184
176
  "trustPolicy",
185
177
  "trustPolicyExclude",
186
178
  "trustPolicyIgnoreAfter",
@@ -328,8 +320,7 @@ const pnpmWorkspaceYamlRules = {
328
320
  "yaml/sort-sequence-values": ["error", pnpmWorkspaceSortSequenceValues.packages]
329
321
  }
330
322
  };
331
- //#endregion
332
- //#region src/rules/renovate-json/base/package-rule.ts
323
+ // src/rules/renovate-json/base/package-rule.ts
333
324
  const packageRule = {
334
325
  metadata: ["description"],
335
326
  rangeStrategy: ["rangeStrategy"],
@@ -356,8 +347,7 @@ const packageRule = {
356
347
  vulnerabilities: ["isVulnerabilityAlert", "vulnerabilityFixVersion"],
357
348
  vulnerabilitiesShared: ["vulnerabilitySeverity"]
358
349
  };
359
- //#endregion
360
- //#region src/rules/renovate-json/base/renovate-shared-config.ts
350
+ // src/rules/renovate-json/base/renovate-shared-config.ts
361
351
  const renovateSharedConfig = {
362
352
  config: [
363
353
  "$schema",
@@ -437,8 +427,7 @@ const renovateSharedConfig = {
437
427
  "rebaseWhen"
438
428
  ]
439
429
  };
440
- //#endregion
441
- //#region src/rules/renovate-json/base/update-config.ts
430
+ // src/rules/renovate-json/base/update-config.ts
442
431
  const updateConfig = {
443
432
  semantic_versioning: [
444
433
  "major",
@@ -457,8 +446,7 @@ const updateConfig = {
457
446
  "replacement"
458
447
  ]
459
448
  };
460
- //#endregion
461
- //#region src/rules/renovate-json/order/package-rule.ts
449
+ // src/rules/renovate-json/order/package-rule.ts
462
450
  const packageRuleOrder = [
463
451
  ...packageRule.metadata,
464
452
  ...renovateSharedConfig.config,
@@ -482,8 +470,7 @@ const packageRuleOrder = [
482
470
  ...updateConfig.lock_file,
483
471
  ...updateConfig.special_cases
484
472
  ];
485
- //#endregion
486
- //#region src/rules/renovate-json/base/assignees-and-reviewers-config.ts
473
+ // src/rules/renovate-json/base/assignees-and-reviewers-config.ts
487
474
  const assigneesAndReviewersConfig = {
488
475
  assignees: [
489
476
  "assignees",
@@ -499,11 +486,9 @@ const assigneesAndReviewersConfig = {
499
486
  ],
500
487
  common: ["expandCodeOwnersGroups", "filterUnavailableUsers"]
501
488
  };
502
- //#endregion
503
- //#region src/rules/renovate-json/base/config-migration.ts
489
+ // src/rules/renovate-json/base/config-migration.ts
504
490
  const configMigration = ["configMigration"];
505
- //#endregion
506
- //#region src/rules/renovate-json/base/legacy-admin-config.ts
491
+ // src/rules/renovate-json/base/legacy-admin-config.ts
507
492
  const legacyAdminConfig = {
508
493
  onboarding: [
509
494
  "onboarding",
@@ -518,8 +503,7 @@ const legacyAdminConfig = {
518
503
  configurationRequirements: ["requireConfig"],
519
504
  executionLogging: ["localDir", "logContext"]
520
505
  };
521
- //#endregion
522
- //#region src/rules/renovate-json/base/renovate-config.ts
506
+ // src/rules/renovate-json/base/renovate-config.ts
523
507
  const renovateConfig = {
524
508
  metadata: ["description"],
525
509
  repository: [
@@ -605,8 +589,7 @@ const renovateConfig = {
605
589
  ],
606
590
  packageRules: ["packageRules"]
607
591
  };
608
- //#endregion
609
- //#region src/rules/renovate-json/order/root.ts
592
+ // src/rules/renovate-json/order/root.ts
610
593
  const rootOrder = [
611
594
  ...renovateSharedConfig.config,
612
595
  ...renovateConfig.metadata,
@@ -647,8 +630,7 @@ const rootOrder = [
647
630
  ...updateConfig.special_cases,
648
631
  ...renovateConfig.packageRules
649
632
  ];
650
- //#endregion
651
- //#region src/rules/renovate-json/index.ts
633
+ // src/rules/renovate-json/index.ts
652
634
  const renovateJsonRules = {
653
635
  name: "culur/renovate-json/rules",
654
636
  files: [
@@ -674,8 +656,7 @@ const renovateJsonRules = {
674
656
  }
675
657
  ] }
676
658
  };
677
- //#endregion
678
- //#region src/rules/yarnrc-yml.ts
659
+ // src/rules/yarnrc-yml.ts
679
660
  const yarnrcYmlSortKeys = { packageExtensions: {
680
661
  packages: {
681
662
  pathPattern: /^packageExtensions$/.source,
@@ -700,11 +681,9 @@ const yarnrcYmlRules = {
700
681
  yarnrcYmlSortKeys.packageExtensions.childPackages
701
682
  ] }
702
683
  };
703
- //#endregion
704
- //#region src/types/index.ts
684
+ // src/types/index.ts
705
685
  const defineOverride = (config) => [config.name, "partialConfig" in config ? config.partialConfig : config.entireConfig];
706
- //#endregion
707
- //#region src/index.ts
686
+ // src/index.ts
708
687
  function defineConfig(...[options = {}, ...userConfigs]) {
709
688
  const { hasVue } = (0, _culur_utils_packages.defineHasPackages)({ vue: !!options.vue });
710
689
  const config = (0, _antfu_eslint_config.default)({
@@ -719,7 +698,6 @@ function defineConfig(...[options = {}, ...userConfigs]) {
719
698
  if (hasVue()) config.override(...defineOverride(vueRules));
720
699
  return config;
721
700
  }
722
- //#endregion
723
701
  module.exports = defineConfig;
724
702
 
725
703
  //# sourceMappingURL=index.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","names":["vitest","pluginUnicorn"],"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';\nimport pluginUnicorn from 'eslint-plugin-unicorn';\n\nexport const filenameRules: TypedFlatConfigItem = {\n name: 'culur/filename/rules',\n plugins: {\n unicorn: pluginUnicorn,\n },\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 ],\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>\n | 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,iBAA2B;EAChD,CAAA,GAAA,YAAA,SAAO,OAAO,WAAW,SAAS,QAAQ;EAC1C,CAAA,GAAA,YAAA,SAAO,OAAO,WAAW,UAAU,QAAQ;EAE3C,MAAM,WAAW,WAAW,MAAM;EAClC,CAAA,GAAA,YAAA,SAAO,OAAO,aAAa,QAAQ;EAEnC,MAAM,GAAG,WAAW;EACpB,CAAA,GAAA,YAAA,SAAO,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;;;ACbA,MAAa,gBAAqC;CAChD,MAAM;CACN,SAAS,EACP,SAASC,sBAAAA,QACX;CACA,OAAO;EACL;EACA;EACA;EACA;EACA;EACA;EACA;CACF;CACA,OAAO,EACL,yBAAyB,CACvB,SACA;EACE,MAAM;EACN,QAAQ;GACN;GACA;GACA;GACA;GACA;EACF;CACF,CACF,EACF;AACF;;;AC7BA,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,EAAE,KAAK,GAAG,EAAE;EACZ,OAAO;CACT;AACF;;;;;;;;;;;;;;AAEA,MAAa,kCAAkC,EAC7C,UAAU;CACR,aAAa,KAAK;EAChB;EACA;EACA;CACF,EAAE,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,mBAA6B,EAAE,KAAK,CAAC,CAAC,QAAQ,IAAI,CAAC;CAE3D,MAAM,UAAA,GAAA,qBAAA,SACJ;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,6 +1,3 @@
1
1
  import antfu from "@antfu/eslint-config";
2
-
3
- //#region src/index.d.ts
4
2
  declare function defineConfig(...[options, ...userConfigs]: Parameters<typeof antfu>): ReturnType<typeof antfu>;
5
- export = defineConfig;
6
- //# sourceMappingURL=index.d.cts.map
3
+ export = defineConfig;
package/dist/index.d.mts CHANGED
@@ -1,7 +1,2 @@
1
1
  import antfu from "@antfu/eslint-config";
2
-
3
- //#region src/index.d.ts
4
- declare function defineConfig(...[options, ...userConfigs]: Parameters<typeof antfu>): ReturnType<typeof antfu>;
5
- //#endregion
6
- export { defineConfig as default };
7
- //# sourceMappingURL=index.d.mts.map
2
+ export default function defineConfig(...[options, ...userConfigs]: Parameters<typeof antfu>): ReturnType<typeof antfu>;
package/dist/index.mjs CHANGED
@@ -2,14 +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
- import pluginUnicorn from "eslint-plugin-unicorn";
6
- //#region src/overrides/imports-rules.ts
5
+ // src/overrides/imports-rules.ts
7
6
  const importsRules = {
8
7
  name: "antfu/imports/rules",
9
8
  partialConfig: { rules: { "import/consistent-type-specifier-style": ["error", "prefer-top-level"] } }
10
9
  };
11
- //#endregion
12
- //#region src/overrides/sort-package-json.ts
10
+ // src/overrides/sort-package-json.ts
13
11
  const sortPackageJson$1 = {
14
12
  name: "antfu/sort/package-json",
15
13
  async entireConfig() {
@@ -72,8 +70,7 @@ const sortPackageJson$1 = {
72
70
  return configItem;
73
71
  }
74
72
  };
75
- //#endregion
76
- //#region src/overrides/test-rules.ts
73
+ // src/overrides/test-rules.ts
77
74
  const testRules = {
78
75
  name: "antfu/test/rules",
79
76
  partialConfig: {
@@ -90,8 +87,7 @@ const testRules = {
90
87
  }
91
88
  }
92
89
  };
93
- //#endregion
94
- //#region src/overrides/vue-rules.ts
90
+ // src/overrides/vue-rules.ts
95
91
  const vueRules = {
96
92
  name: "antfu/vue/rules",
97
93
  partialConfig: { rules: {
@@ -105,11 +101,9 @@ const vueRules = {
105
101
  ]
106
102
  } }
107
103
  };
108
- //#endregion
109
- //#region src/rules/filename.ts
104
+ // src/rules/filename.ts
110
105
  const filenameRules = {
111
106
  name: "culur/filename/rules",
112
- plugins: { unicorn: pluginUnicorn },
113
107
  files: [
114
108
  "**/*.?(c|m){js,ts}?(x)",
115
109
  "**/*.vue",
@@ -126,19 +120,18 @@ const filenameRules = {
126
120
  "^ARCHITECTURE\\.md",
127
121
  "^CHANGELOG\\.md",
128
122
  "^CONTRIBUTING\\.md",
129
- "^README\\.md"
123
+ "^README\\.md",
124
+ "^__tests__"
130
125
  ]
131
126
  }] }
132
127
  };
133
- //#endregion
134
- //#region src/rules/yaml-order.ts
128
+ // src/rules/yaml-order.ts
135
129
  const yamlOrder = {
136
130
  type: "asc",
137
131
  caseSensitive: false,
138
132
  natural: true
139
133
  };
140
- //#endregion
141
- //#region src/rules/pnpm-workspace-yaml.ts
134
+ // src/rules/pnpm-workspace-yaml.ts
142
135
  const pnpmWorkspaceSortKeys = {
143
136
  root: {
144
137
  pathPattern: /^$/.source,
@@ -155,6 +148,7 @@ const pnpmWorkspaceSortKeys = {
155
148
  "minimumReleaseAgeExclude",
156
149
  "minimumReleaseAgeIgnoreMissingTime",
157
150
  "minimumReleaseAgeStrict",
151
+ "minimumReleaseAgeExcludePrune",
158
152
  "trustPolicy",
159
153
  "trustPolicyExclude",
160
154
  "trustPolicyIgnoreAfter",
@@ -302,8 +296,7 @@ const pnpmWorkspaceYamlRules = {
302
296
  "yaml/sort-sequence-values": ["error", pnpmWorkspaceSortSequenceValues.packages]
303
297
  }
304
298
  };
305
- //#endregion
306
- //#region src/rules/renovate-json/base/package-rule.ts
299
+ // src/rules/renovate-json/base/package-rule.ts
307
300
  const packageRule = {
308
301
  metadata: ["description"],
309
302
  rangeStrategy: ["rangeStrategy"],
@@ -330,8 +323,7 @@ const packageRule = {
330
323
  vulnerabilities: ["isVulnerabilityAlert", "vulnerabilityFixVersion"],
331
324
  vulnerabilitiesShared: ["vulnerabilitySeverity"]
332
325
  };
333
- //#endregion
334
- //#region src/rules/renovate-json/base/renovate-shared-config.ts
326
+ // src/rules/renovate-json/base/renovate-shared-config.ts
335
327
  const renovateSharedConfig = {
336
328
  config: [
337
329
  "$schema",
@@ -411,8 +403,7 @@ const renovateSharedConfig = {
411
403
  "rebaseWhen"
412
404
  ]
413
405
  };
414
- //#endregion
415
- //#region src/rules/renovate-json/base/update-config.ts
406
+ // src/rules/renovate-json/base/update-config.ts
416
407
  const updateConfig = {
417
408
  semantic_versioning: [
418
409
  "major",
@@ -431,8 +422,7 @@ const updateConfig = {
431
422
  "replacement"
432
423
  ]
433
424
  };
434
- //#endregion
435
- //#region src/rules/renovate-json/order/package-rule.ts
425
+ // src/rules/renovate-json/order/package-rule.ts
436
426
  const packageRuleOrder = [
437
427
  ...packageRule.metadata,
438
428
  ...renovateSharedConfig.config,
@@ -456,8 +446,7 @@ const packageRuleOrder = [
456
446
  ...updateConfig.lock_file,
457
447
  ...updateConfig.special_cases
458
448
  ];
459
- //#endregion
460
- //#region src/rules/renovate-json/base/assignees-and-reviewers-config.ts
449
+ // src/rules/renovate-json/base/assignees-and-reviewers-config.ts
461
450
  const assigneesAndReviewersConfig = {
462
451
  assignees: [
463
452
  "assignees",
@@ -473,11 +462,9 @@ const assigneesAndReviewersConfig = {
473
462
  ],
474
463
  common: ["expandCodeOwnersGroups", "filterUnavailableUsers"]
475
464
  };
476
- //#endregion
477
- //#region src/rules/renovate-json/base/config-migration.ts
465
+ // src/rules/renovate-json/base/config-migration.ts
478
466
  const configMigration = ["configMigration"];
479
- //#endregion
480
- //#region src/rules/renovate-json/base/legacy-admin-config.ts
467
+ // src/rules/renovate-json/base/legacy-admin-config.ts
481
468
  const legacyAdminConfig = {
482
469
  onboarding: [
483
470
  "onboarding",
@@ -492,8 +479,7 @@ const legacyAdminConfig = {
492
479
  configurationRequirements: ["requireConfig"],
493
480
  executionLogging: ["localDir", "logContext"]
494
481
  };
495
- //#endregion
496
- //#region src/rules/renovate-json/base/renovate-config.ts
482
+ // src/rules/renovate-json/base/renovate-config.ts
497
483
  const renovateConfig = {
498
484
  metadata: ["description"],
499
485
  repository: [
@@ -579,8 +565,7 @@ const renovateConfig = {
579
565
  ],
580
566
  packageRules: ["packageRules"]
581
567
  };
582
- //#endregion
583
- //#region src/rules/renovate-json/order/root.ts
568
+ // src/rules/renovate-json/order/root.ts
584
569
  const rootOrder = [
585
570
  ...renovateSharedConfig.config,
586
571
  ...renovateConfig.metadata,
@@ -621,8 +606,7 @@ const rootOrder = [
621
606
  ...updateConfig.special_cases,
622
607
  ...renovateConfig.packageRules
623
608
  ];
624
- //#endregion
625
- //#region src/rules/renovate-json/index.ts
609
+ // src/rules/renovate-json/index.ts
626
610
  const renovateJsonRules = {
627
611
  name: "culur/renovate-json/rules",
628
612
  files: [
@@ -648,8 +632,7 @@ const renovateJsonRules = {
648
632
  }
649
633
  ] }
650
634
  };
651
- //#endregion
652
- //#region src/rules/yarnrc-yml.ts
635
+ // src/rules/yarnrc-yml.ts
653
636
  const yarnrcYmlSortKeys = { packageExtensions: {
654
637
  packages: {
655
638
  pathPattern: /^packageExtensions$/.source,
@@ -674,11 +657,9 @@ const yarnrcYmlRules = {
674
657
  yarnrcYmlSortKeys.packageExtensions.childPackages
675
658
  ] }
676
659
  };
677
- //#endregion
678
- //#region src/types/index.ts
660
+ // src/types/index.ts
679
661
  const defineOverride = (config) => [config.name, "partialConfig" in config ? config.partialConfig : config.entireConfig];
680
- //#endregion
681
- //#region src/index.ts
662
+ // src/index.ts
682
663
  function defineConfig(...[options = {}, ...userConfigs]) {
683
664
  const { hasVue } = defineHasPackages({ vue: !!options.vue });
684
665
  const config = antfu({
@@ -693,7 +674,6 @@ function defineConfig(...[options = {}, ...userConfigs]) {
693
674
  if (hasVue()) config.override(...defineOverride(vueRules));
694
675
  return config;
695
676
  }
696
- //#endregion
697
677
  export { defineConfig as default };
698
678
 
699
679
  //# sourceMappingURL=index.mjs.map
@@ -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';\nimport pluginUnicorn from 'eslint-plugin-unicorn';\n\nexport const filenameRules: TypedFlatConfigItem = {\n name: 'culur/filename/rules',\n plugins: {\n unicorn: pluginUnicorn,\n },\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 ],\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>\n | 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;;;ACbA,MAAa,gBAAqC;CAChD,MAAM;CACN,SAAS,EACP,SAAS,cACX;CACA,OAAO;EACL;EACA;EACA;EACA;EACA;EACA;EACA;CACF;CACA,OAAO,EACL,yBAAyB,CACvB,SACA;EACE,MAAM;EACN,QAAQ;GACN;GACA;GACA;GACA;GACA;EACF;CACF,CACF,EACF;AACF;;;AC7BA,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,EAAE,KAAK,GAAG,EAAE;EACZ,OAAO;CACT;AACF;;;;;;;;;;;;;;AAEA,MAAa,kCAAkC,EAC7C,UAAU;CACR,aAAa,KAAK;EAChB;EACA;EACA;CACF,EAAE,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.8.1",
3
+ "version": "1.9.1",
4
4
  "description": "Culur's eslint configuration",
5
5
  "publishConfig": {
6
6
  "access": "public"
@@ -51,25 +51,19 @@
51
51
  "node": ">=20"
52
52
  },
53
53
  "dependencies": {
54
- "@antfu/eslint-config": "^9.0.0",
55
- "@vitest/eslint-plugin": "^1.6.18",
56
- "eslint-plugin-unicorn": "^64.0.0",
57
- "@culur/utils-packages": "1.3.0"
54
+ "@antfu/eslint-config": "^10.0.0",
55
+ "@culur/utils-packages": "1.3.2",
56
+ "@vitest/eslint-plugin": "^1.6.28"
58
57
  },
59
58
  "devDependencies": {
60
- "@eslint/eslintrc": "^3.3.5",
59
+ "@culur/config-tsdown": "1.1.3",
60
+ "@culur/config-typescript": "2.0.1",
61
+ "@eslint/eslintrc": "^3.3.7",
61
62
  "@types/eslint": "^9.6.1",
62
- "@vue/compiler-sfc": "^3.5.35",
63
- "eslint": "^10.4.0",
64
- "@culur/config-tsdown": "1.1.1",
65
- "@culur/config-typescript": "2.0.0"
63
+ "@vue/compiler-sfc": "^3.5.44",
64
+ "eslint": "^10.14.0"
66
65
  },
67
66
  "peerDependencies": {
68
67
  "eslint": ">=10.0.0"
69
- },
70
- "scripts": {
71
- "clean": "rimraf dist coverage",
72
- "build": "tsdown",
73
- "test": "tsc --noEmit && vitest run"
74
68
  }
75
69
  }
@@ -1,11 +1,7 @@
1
1
  import type { TypedFlatConfigItem } from '@antfu/eslint-config';
2
- import pluginUnicorn from 'eslint-plugin-unicorn';
3
2
 
4
3
  export const filenameRules: TypedFlatConfigItem = {
5
4
  name: 'culur/filename/rules',
6
- plugins: {
7
- unicorn: pluginUnicorn,
8
- },
9
5
  files: [
10
6
  '**/*.?(c|m){js,ts}?(x)',
11
7
  '**/*.vue',
@@ -26,6 +22,7 @@ export const filenameRules: TypedFlatConfigItem = {
26
22
  '^CHANGELOG\\.md',
27
23
  '^CONTRIBUTING\\.md',
28
24
  '^README\\.md',
25
+ '^__tests__',
29
26
  ],
30
27
  },
31
28
  ],
@@ -24,6 +24,7 @@ export const pnpmWorkspaceSortKeys = {
24
24
  'minimumReleaseAgeExclude',
25
25
  'minimumReleaseAgeIgnoreMissingTime',
26
26
  'minimumReleaseAgeStrict',
27
+ 'minimumReleaseAgeExcludePrune',
27
28
  'trustPolicy',
28
29
  'trustPolicyExclude',
29
30
  'trustPolicyIgnoreAfter',
@@ -28,7 +28,6 @@ export const defineOverride = (config: OverrideConfig) =>
28
28
  ];
29
29
 
30
30
  export type RuleEntry<T extends keyof Rules> = Rules[T] extends
31
- | Linter.RuleEntry<infer F>
32
- | undefined
31
+ Linter.RuleEntry<infer F> | undefined
33
32
  ? F
34
33
  : never;