@isentinel/eslint-config 6.0.0-beta.3 → 6.0.0-beta.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.mts CHANGED
@@ -19917,6 +19917,14 @@ declare function sortRojoProject(): Array<TypedFlatConfigItem>;
19917
19917
  * @returns An array of flat configuration items.
19918
19918
  */
19919
19919
  declare function sortTsconfig(): Array<TypedFlatConfigItem>;
19920
+ /**
19921
+ * Sort CSpell configuration files.
19922
+ *
19923
+ * Requires `yaml` config (for the parser).
19924
+ *
19925
+ * @returns An array of flat configuration items.
19926
+ */
19927
+ declare function sortCspell(): Array<TypedFlatConfigItem>;
19920
19928
  //#endregion
19921
19929
  //#region src/configs/spelling.d.ts
19922
19930
  declare function spelling(options?: OptionsComponentExtensions & OptionsFiles & OptionsIsInEditor & SpellCheckConfig): Promise<Array<TypedFlatConfigItem>>;
@@ -20007,4 +20015,4 @@ declare const GLOB_BUILD_TOOLS: Array<string>;
20007
20015
  declare const GLOB_ALL_SRC: string[];
20008
20016
  declare const GLOB_EXCLUDE: string[];
20009
20017
  //#endregion
20010
- export { Awaitable, type ConfigNames, type FlatConfigComposer, GLOB_ALL_JSON, GLOB_ALL_SRC, GLOB_BUILD_TOOLS, GLOB_CSS, GLOB_DTS, GLOB_EXCLUDE, GLOB_GRAPHQL, GLOB_HTML, GLOB_JS, GLOB_JSON, GLOB_JSON5, GLOB_JSONC, GLOB_JSX, GLOB_LESS, GLOB_LUA, GLOB_MARKDOWN, GLOB_MARKDOWN_BLOCKS, GLOB_MARKDOWN_CODE, GLOB_MARKDOWN_IN_MARKDOWN, GLOB_MISE, GLOB_POSTCSS, GLOB_ROOT, GLOB_ROOT_SRC, GLOB_SCSS, GLOB_SRC, GLOB_SRC_EXT, GLOB_STYLE, GLOB_TESTS, GLOB_TOML, GLOB_TS, GLOB_TSX, GLOB_XML, GLOB_YAML, GitignoreOptions, JsdocOptions, NamedFlatConfigItem, NamedOptionsConfig, OptionsComponentExtensions, OptionsConfig, OptionsE18e, OptionsFiles, OptionsFilesTypeAware, OptionsFormatters, OptionsHasRoblox, OptionsHasTypeScript, OptionsIsInEditor, OptionsJest, OptionsOverrides, OptionsOverridesTypeAware, OptionsPnpm, OptionsProjectType, OptionsStylistic, OptionsTestFramework, OptionsTypeScriptErasableOnly, OptionsTypeScriptParserOptions, OptionsTypeScriptWithTypes, OptionsTypescript, OptionsUnicorn, OptionsVitest, type OxfmtOptions, PerfectionistConfig, type PrettierOptions, ReactConfig, Rules, SpellCheckConfig, StylisticConfig, StylisticConfigDefaults, TypedFlatConfigItem, ceaseNonsense, comments, isentinel as default, isentinel, defaultPluginRenaming, disables, e18e, eslintPlugin, flawless, gitignore, ignores, imports, isInAgentSession, isInEditorEnvironment, isInGitHooksOrLintStaged, javascript, jsdoc, jsonc, markdown, node, oxfmt, packageJson, perfectionist, pnpm, promise, react, roblox, sonarjs, sortGithubAction, sortMiseToml, sortPnpmWorkspace, sortRojoProject, sortTsconfig, spelling, stylistic, test, toml, typescript, unicorn, yaml };
20018
+ export { Awaitable, type ConfigNames, type FlatConfigComposer, GLOB_ALL_JSON, GLOB_ALL_SRC, GLOB_BUILD_TOOLS, GLOB_CSS, GLOB_DTS, GLOB_EXCLUDE, GLOB_GRAPHQL, GLOB_HTML, GLOB_JS, GLOB_JSON, GLOB_JSON5, GLOB_JSONC, GLOB_JSX, GLOB_LESS, GLOB_LUA, GLOB_MARKDOWN, GLOB_MARKDOWN_BLOCKS, GLOB_MARKDOWN_CODE, GLOB_MARKDOWN_IN_MARKDOWN, GLOB_MISE, GLOB_POSTCSS, GLOB_ROOT, GLOB_ROOT_SRC, GLOB_SCSS, GLOB_SRC, GLOB_SRC_EXT, GLOB_STYLE, GLOB_TESTS, GLOB_TOML, GLOB_TS, GLOB_TSX, GLOB_XML, GLOB_YAML, GitignoreOptions, JsdocOptions, NamedFlatConfigItem, NamedOptionsConfig, OptionsComponentExtensions, OptionsConfig, OptionsE18e, OptionsFiles, OptionsFilesTypeAware, OptionsFormatters, OptionsHasRoblox, OptionsHasTypeScript, OptionsIsInEditor, OptionsJest, OptionsOverrides, OptionsOverridesTypeAware, OptionsPnpm, OptionsProjectType, OptionsStylistic, OptionsTestFramework, OptionsTypeScriptErasableOnly, OptionsTypeScriptParserOptions, OptionsTypeScriptWithTypes, OptionsTypescript, OptionsUnicorn, OptionsVitest, type OxfmtOptions, PerfectionistConfig, type PrettierOptions, ReactConfig, Rules, SpellCheckConfig, StylisticConfig, StylisticConfigDefaults, TypedFlatConfigItem, ceaseNonsense, comments, isentinel as default, isentinel, defaultPluginRenaming, disables, e18e, eslintPlugin, flawless, gitignore, ignores, imports, isInAgentSession, isInEditorEnvironment, isInGitHooksOrLintStaged, javascript, jsdoc, jsonc, markdown, node, oxfmt, packageJson, perfectionist, pnpm, promise, react, roblox, sonarjs, sortCspell, sortGithubAction, sortMiseToml, sortPnpmWorkspace, sortRojoProject, sortTsconfig, spelling, stylistic, test, toml, typescript, unicorn, yaml };
package/dist/index.mjs CHANGED
@@ -1729,7 +1729,6 @@ async function packageJson(options = {}) {
1729
1729
  "package-json/no-redundant-files": "error",
1730
1730
  "package-json/no-redundant-publishConfig": "error",
1731
1731
  "package-json/repository-shorthand": "error",
1732
- "package-json/require-packageManager": ["error", { ignorePrivate: true }],
1733
1732
  "package-json/require-type": "error",
1734
1733
  "package-json/restrict-private-properties": "error",
1735
1734
  "package-json/restrict-top-level-properties": ["error", { ban: [
@@ -2075,11 +2074,14 @@ async function isentinel(options, ...userConfigs) {
2075
2074
  componentExts: componentExtensions,
2076
2075
  type: projectType
2077
2076
  }));
2078
- if (enableSpellCheck !== false) configs.push(spelling({
2079
- ...resolveSubOptions(options, "spellCheck"),
2080
- componentExts: componentExtensions,
2081
- isInEditor
2082
- }));
2077
+ if (enableSpellCheck !== false) {
2078
+ configs.push(spelling({
2079
+ ...resolveSubOptions(options, "spellCheck"),
2080
+ componentExts: componentExtensions,
2081
+ isInEditor
2082
+ }));
2083
+ if (stylisticOptions !== false && options.yaml !== false) configs.push(sortCspell());
2084
+ }
2083
2085
  configs.push(disables({ root: rootGlobs }));
2084
2086
  if (stylisticOptions !== false) configs.push(oxfmt({
2085
2087
  componentExts: componentExtensions,
@@ -2919,225 +2921,251 @@ function sortGithubAction() {
2919
2921
  return [{
2920
2922
  name: "isentinel/sort/github-actions",
2921
2923
  files: [`.github/workflows/${GLOB_YAML}`],
2922
- rules: { "yaml/sort-keys": [
2923
- "error",
2924
- {
2925
- order: [
2926
- "name",
2927
- "run-name",
2928
- "on",
2929
- "permissions",
2930
- "env",
2931
- "concurrency",
2932
- "jobs"
2933
- ],
2934
- pathPattern: "^$"
2935
- },
2936
- {
2937
- order: [
2938
- "name",
2939
- "permissions",
2940
- "needs",
2941
- "if",
2942
- "runs-on",
2943
- "environment",
2944
- "concurrency",
2945
- "outputs",
2946
- "env",
2947
- "defaults",
2948
- "steps",
2949
- "timeout-minutes",
2950
- "strategy",
2951
- "continue-on-error",
2952
- "container",
2953
- "services",
2954
- "uses",
2955
- "with",
2956
- "secrets"
2957
- ],
2958
- pathPattern: "^jobs\\.[^.]+$"
2959
- },
2960
- {
2961
- order: [
2962
- "check_run",
2963
- "check_suite",
2964
- "create",
2965
- "delete",
2966
- "deployment",
2967
- "deployment_status",
2968
- "discussion",
2969
- "discussion_comment",
2970
- "fork",
2971
- "gollum",
2972
- "issue_comment",
2973
- "issues",
2974
- "label",
2975
- "merge_group",
2976
- "milestone",
2977
- "page_build",
2978
- "public",
2979
- "pull_request",
2980
- "pull_request_comment",
2981
- "pull_request_review",
2982
- "pull_request_review_comment",
2983
- "pull_request_target",
2984
- "push",
2985
- "registry_package",
2986
- "release",
2987
- "repository_dispatch",
2988
- "schedule",
2989
- "status",
2990
- "watch",
2991
- "workflow_call",
2992
- "workflow_dispatch",
2993
- "workflow_run"
2994
- ],
2995
- pathPattern: "^on$"
2996
- },
2997
- {
2998
- order: [
2999
- "branches",
3000
- "branches-ignore",
3001
- "paths",
3002
- "paths-ignore"
3003
- ],
3004
- pathPattern: "^on\\.pull_request$"
3005
- },
3006
- {
3007
- order: [
3008
- "branches",
3009
- "branches-ignore",
3010
- "paths",
3011
- "paths-ignore"
3012
- ],
3013
- pathPattern: "^on\\.pull_request_target$"
3014
- },
3015
- {
3016
- order: [
3017
- "branches",
3018
- "tags",
3019
- "branches-ignore",
3020
- "tags-ignore",
3021
- "paths",
3022
- "paths-ignore"
3023
- ],
3024
- pathPattern: "^on\\.push$"
3025
- },
3026
- {
3027
- order: [
3028
- "inputs",
3029
- "outputs",
3030
- "secrets"
3031
- ],
3032
- pathPattern: "^on\\.workflow_call$"
3033
- },
3034
- {
3035
- order: ["inputs"],
3036
- pathPattern: "^on\\.workflow_dispatch$"
3037
- },
3038
- {
3039
- order: ["branches", "branches-ignore"],
3040
- pathPattern: "^on\\.workflow_run$"
3041
- },
3042
- {
3043
- order: [
3044
- "description",
3045
- "required",
3046
- "default",
3047
- "type"
3048
- ],
3049
- pathPattern: "^on\\.(workflow_call|workflow_dispatch)\\.inputs\\.[^.]+$"
3050
- },
3051
- {
3052
- order: ["shell", "working-directory"],
3053
- pathPattern: "^(defaults\\.run|jobs\\.[^.]+\\.defaults\\.run)$"
3054
- },
3055
- {
3056
- order: ["group", "cancel-in-progress"],
3057
- pathPattern: "^(concurrency|jobs\\.[^.]+\\.concurrency)$"
3058
- },
3059
- {
3060
- order: [
3061
- "name",
3062
- "permissions",
3063
- "needs",
3064
- "if",
3065
- "runs-on",
3066
- "environment",
3067
- "concurrency",
3068
- "outputs",
3069
- "env",
3070
- "defaults",
3071
- "steps",
3072
- "timeout-minutes",
3073
- "strategy",
3074
- "continue-on-error",
3075
- "container",
3076
- "services",
3077
- "uses",
3078
- "with",
3079
- "secrets"
3080
- ],
3081
- pathPattern: "^jobs\\. [^.]+$"
3082
- },
3083
- {
3084
- order: [
3085
- "id",
3086
- "if",
3087
- "name",
3088
- "uses",
3089
- "run",
3090
- "working-directory",
3091
- "with",
3092
- "env",
3093
- "continue-on-error",
3094
- "timeout-minutes"
3095
- ],
3096
- pathPattern: "^jobs\\.[^.]+\\.steps\\[\\d+\\]$"
3097
- },
3098
- {
3099
- order: ["args", "entrypoint"],
3100
- pathPattern: "^jobs\\.[^.]+\\.steps\\[\\d+\\]\\.with$"
3101
- },
3102
- {
3103
- order: [
3104
- "matrix",
3105
- "fail-fast",
3106
- "max-parallel"
3107
- ],
3108
- pathPattern: "^jobs\\.[^.]+\\.strategy$"
3109
- },
3110
- {
3111
- order: ["include", "exclude"],
3112
- pathPattern: "^jobs\\.[^.]+\\.strategy\\.matrix$"
3113
- },
3114
- {
3115
- order: [
3116
- "image",
3117
- "credentials",
3118
- "env",
3119
- "ports",
3120
- "volumes",
3121
- "options"
3122
- ],
3123
- pathPattern: "^jobs\\.[^.]+\\.container$"
3124
- },
3125
- {
3126
- order: [
3127
- "image",
3128
- "credentials",
3129
- "env",
3130
- "ports",
3131
- "volumes",
3132
- "options"
3133
- ],
3134
- pathPattern: "^jobs\\.[^.]+\\.services\\.[^.]+$"
3135
- },
3136
- {
3137
- order: { type: "asc" },
3138
- pathPattern: "^(?!$|on$|jobs\\.[^.]+$|on\\.(pull_request|pull_request_target|push|workflow_call|workflow_dispatch|workflow_run)$).*"
3139
- }
3140
- ] }
2924
+ rules: {
2925
+ "yaml/sort-keys": [
2926
+ "error",
2927
+ {
2928
+ order: [
2929
+ "name",
2930
+ "run-name",
2931
+ "on",
2932
+ "permissions",
2933
+ "env",
2934
+ "concurrency",
2935
+ "jobs"
2936
+ ],
2937
+ pathPattern: "^$"
2938
+ },
2939
+ {
2940
+ order: [
2941
+ "name",
2942
+ "permissions",
2943
+ "needs",
2944
+ "if",
2945
+ "runs-on",
2946
+ "environment",
2947
+ "concurrency",
2948
+ "outputs",
2949
+ "env",
2950
+ "defaults",
2951
+ "steps",
2952
+ "timeout-minutes",
2953
+ "strategy",
2954
+ "continue-on-error",
2955
+ "container",
2956
+ "services",
2957
+ "uses",
2958
+ "with",
2959
+ "secrets"
2960
+ ],
2961
+ pathPattern: "^jobs\\.[^.]+$"
2962
+ },
2963
+ {
2964
+ order: [
2965
+ "check_run",
2966
+ "check_suite",
2967
+ "create",
2968
+ "delete",
2969
+ "deployment",
2970
+ "deployment_status",
2971
+ "discussion",
2972
+ "discussion_comment",
2973
+ "fork",
2974
+ "gollum",
2975
+ "issue_comment",
2976
+ "issues",
2977
+ "label",
2978
+ "merge_group",
2979
+ "milestone",
2980
+ "page_build",
2981
+ "public",
2982
+ "pull_request",
2983
+ "pull_request_comment",
2984
+ "pull_request_review",
2985
+ "pull_request_review_comment",
2986
+ "pull_request_target",
2987
+ "push",
2988
+ "registry_package",
2989
+ "release",
2990
+ "repository_dispatch",
2991
+ "schedule",
2992
+ "status",
2993
+ "watch",
2994
+ "workflow_call",
2995
+ "workflow_dispatch",
2996
+ "workflow_run"
2997
+ ],
2998
+ pathPattern: "^on$"
2999
+ },
3000
+ {
3001
+ order: [
3002
+ "branches",
3003
+ "branches-ignore",
3004
+ "paths",
3005
+ "paths-ignore"
3006
+ ],
3007
+ pathPattern: "^on\\.pull_request$"
3008
+ },
3009
+ {
3010
+ order: [
3011
+ "branches",
3012
+ "branches-ignore",
3013
+ "paths",
3014
+ "paths-ignore"
3015
+ ],
3016
+ pathPattern: "^on\\.pull_request_target$"
3017
+ },
3018
+ {
3019
+ order: [
3020
+ "branches",
3021
+ "tags",
3022
+ "branches-ignore",
3023
+ "tags-ignore",
3024
+ "paths",
3025
+ "paths-ignore"
3026
+ ],
3027
+ pathPattern: "^on\\.push$"
3028
+ },
3029
+ {
3030
+ order: [
3031
+ "inputs",
3032
+ "outputs",
3033
+ "secrets"
3034
+ ],
3035
+ pathPattern: "^on\\.workflow_call$"
3036
+ },
3037
+ {
3038
+ order: ["inputs"],
3039
+ pathPattern: "^on\\.workflow_dispatch$"
3040
+ },
3041
+ {
3042
+ order: ["branches", "branches-ignore"],
3043
+ pathPattern: "^on\\.workflow_run$"
3044
+ },
3045
+ {
3046
+ order: [
3047
+ "description",
3048
+ "required",
3049
+ "default",
3050
+ "type"
3051
+ ],
3052
+ pathPattern: "^on\\.(workflow_call|workflow_dispatch)\\.inputs\\.[^.]+$"
3053
+ },
3054
+ {
3055
+ order: ["shell", "working-directory"],
3056
+ pathPattern: "^(defaults\\.run|jobs\\.[^.]+\\.defaults\\.run)$"
3057
+ },
3058
+ {
3059
+ order: ["group", "cancel-in-progress"],
3060
+ pathPattern: "^(concurrency|jobs\\.[^.]+\\.concurrency)$"
3061
+ },
3062
+ {
3063
+ order: [
3064
+ "name",
3065
+ "permissions",
3066
+ "needs",
3067
+ "if",
3068
+ "runs-on",
3069
+ "environment",
3070
+ "concurrency",
3071
+ "outputs",
3072
+ "env",
3073
+ "defaults",
3074
+ "steps",
3075
+ "timeout-minutes",
3076
+ "strategy",
3077
+ "continue-on-error",
3078
+ "container",
3079
+ "services",
3080
+ "uses",
3081
+ "with",
3082
+ "secrets"
3083
+ ],
3084
+ pathPattern: "^jobs\\. [^.]+$"
3085
+ },
3086
+ {
3087
+ order: [
3088
+ "id",
3089
+ "if",
3090
+ "name",
3091
+ "uses",
3092
+ "run",
3093
+ "working-directory",
3094
+ "with",
3095
+ "env",
3096
+ "continue-on-error",
3097
+ "timeout-minutes"
3098
+ ],
3099
+ pathPattern: "^jobs\\.[^.]+\\.steps\\[\\d+\\]$"
3100
+ },
3101
+ {
3102
+ order: ["args", "entrypoint"],
3103
+ pathPattern: "^jobs\\.[^.]+\\.steps\\[\\d+\\]\\.with$"
3104
+ },
3105
+ {
3106
+ order: [
3107
+ "matrix",
3108
+ "fail-fast",
3109
+ "max-parallel"
3110
+ ],
3111
+ pathPattern: "^jobs\\.[^.]+\\.strategy$"
3112
+ },
3113
+ {
3114
+ order: ["include", "exclude"],
3115
+ pathPattern: "^jobs\\.[^.]+\\.strategy\\.matrix$"
3116
+ },
3117
+ {
3118
+ order: [
3119
+ "image",
3120
+ "credentials",
3121
+ "env",
3122
+ "ports",
3123
+ "volumes",
3124
+ "options"
3125
+ ],
3126
+ pathPattern: "^jobs\\.[^.]+\\.container$"
3127
+ },
3128
+ {
3129
+ order: [
3130
+ "image",
3131
+ "credentials",
3132
+ "env",
3133
+ "ports",
3134
+ "volumes",
3135
+ "options"
3136
+ ],
3137
+ pathPattern: "^jobs\\.[^.]+\\.services\\.[^.]+$"
3138
+ },
3139
+ {
3140
+ order: { type: "asc" },
3141
+ pathPattern: "^(?!$|on$|jobs\\.[^.]+$|on\\.(pull_request|pull_request_target|push|workflow_call|workflow_dispatch|workflow_run)$).*"
3142
+ }
3143
+ ],
3144
+ "yaml/sort-sequence-values": [
3145
+ "error",
3146
+ {
3147
+ order: {
3148
+ natural: true,
3149
+ type: "asc"
3150
+ },
3151
+ pathPattern: "^on$"
3152
+ },
3153
+ {
3154
+ order: {
3155
+ natural: true,
3156
+ type: "asc"
3157
+ },
3158
+ pathPattern: "^on\\.[^.]+\\.(branches|branches-ignore|tags|tags-ignore|paths|paths-ignore|types)$"
3159
+ },
3160
+ {
3161
+ order: {
3162
+ natural: true,
3163
+ type: "asc"
3164
+ },
3165
+ pathPattern: "^jobs\\.[^.]+\\.needs$"
3166
+ }
3167
+ ]
3168
+ }
3141
3169
  }, {
3142
3170
  name: "isentinel/sort/github-composite-actions",
3143
3171
  files: [`.github/actions/${GLOB_YAML}`],
@@ -3324,110 +3352,119 @@ function sortPnpmWorkspace() {
3324
3352
  return [{
3325
3353
  name: "isentinel/sort/pnpm-workspace-yaml-sort",
3326
3354
  files: ["pnpm-workspace.yaml"],
3327
- rules: { "yaml/sort-keys": [
3328
- "error",
3329
- {
3330
- order: [
3331
- ...[
3332
- "autoInstallPeers",
3333
- "blockExoticSubdeps",
3334
- "cacheDir",
3335
- "catalogMode",
3336
- "cleanupUnusedCatalogs",
3337
- "dedupeDirectDeps",
3338
- "dedupePeerDependents",
3339
- "dedupePeers",
3340
- "deployAllFiles",
3341
- "enablePrePostScripts",
3342
- "engineStrict",
3343
- "extendNodePath",
3344
- "hoist",
3345
- "hoistPattern",
3346
- "hoistWorkspacePackages",
3347
- "hoistingLimits",
3348
- "ignoreCompatibilityDb",
3349
- "ignoreDepScripts",
3350
- "ignoreScripts",
3351
- "ignoreWorkspaceRootCheck",
3352
- "ignoredWorkspaceGlobs",
3353
- "includeWorkspaceRoot",
3354
- "injectWorkspacePackages",
3355
- "linkWorkspacePackages",
3356
- "managePackageManagerVersions",
3357
- "minimumReleaseAge",
3358
- "minimumReleaseAgeExclude",
3359
- "minimumReleaseAgeIgnoreMissingTime",
3360
- "minimumReleaseAgeStrict",
3361
- "modulesDir",
3362
- "nodeLinker",
3363
- "nodeVersion",
3364
- "optimisticRepeatInstall",
3365
- "packageManagerStrict",
3366
- "packageManagerStrictVersion",
3367
- "preferSymlinkedExecutables",
3368
- "preferWorkspacePackages",
3369
- "publicHoistPattern",
3370
- "registrySupportsTimeField",
3371
- "requiredScripts",
3372
- "resolutionMode",
3373
- "resolvePeersFromWorkspaceRoot",
3374
- "saveExact",
3375
- "savePrefix",
3376
- "saveWorkspaceProtocol",
3377
- "scriptShell",
3378
- "shamefullyHoist",
3379
- "sharedWorkspaceLockfile",
3380
- "shellEmulator",
3381
- "stateDir",
3382
- "strictDepBuilds",
3383
- "strictPeerDependencies",
3384
- "supportedArchitectures",
3385
- "symlink",
3386
- "tag",
3387
- "trustLockfile",
3388
- "trustPolicy",
3389
- "trustPolicyExclude",
3390
- "trustPolicyIgnoreAfter",
3391
- "updateConfig",
3392
- "updateNotifier",
3393
- "verifyDepsBeforeRun"
3394
- ],
3395
- ...[
3396
- "gitBranchLockfile",
3397
- "lockfile",
3398
- "lockfileIncludeTarballUrl",
3399
- "mergeGitBranchLockfilesBranchPattern",
3400
- "peersSuffixMaxLength",
3401
- "preferFrozenLockfile"
3402
- ],
3403
- "packages",
3404
- "overrides",
3405
- "patchedDependencies",
3406
- "catalog",
3407
- "catalogs",
3408
- ...[
3409
- "allowBuilds",
3410
- "allowNonAppliedPatches",
3411
- "allowedDeprecatedVersions",
3412
- "configDependencies",
3413
- "dangerouslyAllowAllBuilds",
3414
- "ignoredBuiltDependencies",
3415
- "ignoredOptionalDependencies",
3416
- "neverBuiltDependencies",
3417
- "onlyBuiltDependencies",
3418
- "onlyBuiltDependenciesFile",
3419
- "packageExtensions",
3420
- "peerDependencyRules"
3355
+ rules: {
3356
+ "yaml/sort-keys": [
3357
+ "error",
3358
+ {
3359
+ order: [
3360
+ ...[
3361
+ "autoInstallPeers",
3362
+ "blockExoticSubdeps",
3363
+ "cacheDir",
3364
+ "catalogMode",
3365
+ "cleanupUnusedCatalogs",
3366
+ "dedupeDirectDeps",
3367
+ "dedupePeerDependents",
3368
+ "dedupePeers",
3369
+ "deployAllFiles",
3370
+ "enablePrePostScripts",
3371
+ "engineStrict",
3372
+ "extendNodePath",
3373
+ "hoist",
3374
+ "hoistPattern",
3375
+ "hoistWorkspacePackages",
3376
+ "hoistingLimits",
3377
+ "ignoreCompatibilityDb",
3378
+ "ignoreDepScripts",
3379
+ "ignoreScripts",
3380
+ "ignoreWorkspaceRootCheck",
3381
+ "ignoredWorkspaceGlobs",
3382
+ "includeWorkspaceRoot",
3383
+ "injectWorkspacePackages",
3384
+ "linkWorkspacePackages",
3385
+ "managePackageManagerVersions",
3386
+ "minimumReleaseAge",
3387
+ "minimumReleaseAgeExclude",
3388
+ "minimumReleaseAgeIgnoreMissingTime",
3389
+ "minimumReleaseAgeStrict",
3390
+ "modulesDir",
3391
+ "nodeLinker",
3392
+ "nodeVersion",
3393
+ "optimisticRepeatInstall",
3394
+ "packageManagerStrict",
3395
+ "packageManagerStrictVersion",
3396
+ "preferSymlinkedExecutables",
3397
+ "preferWorkspacePackages",
3398
+ "publicHoistPattern",
3399
+ "registrySupportsTimeField",
3400
+ "requiredScripts",
3401
+ "resolutionMode",
3402
+ "resolvePeersFromWorkspaceRoot",
3403
+ "saveExact",
3404
+ "savePrefix",
3405
+ "saveWorkspaceProtocol",
3406
+ "scriptShell",
3407
+ "shamefullyHoist",
3408
+ "sharedWorkspaceLockfile",
3409
+ "shellEmulator",
3410
+ "stateDir",
3411
+ "strictDepBuilds",
3412
+ "strictPeerDependencies",
3413
+ "supportedArchitectures",
3414
+ "symlink",
3415
+ "tag",
3416
+ "trustLockfile",
3417
+ "trustPolicy",
3418
+ "trustPolicyExclude",
3419
+ "trustPolicyIgnoreAfter",
3420
+ "updateConfig",
3421
+ "updateNotifier",
3422
+ "verifyDepsBeforeRun"
3423
+ ],
3424
+ ...[
3425
+ "gitBranchLockfile",
3426
+ "lockfile",
3427
+ "lockfileIncludeTarballUrl",
3428
+ "mergeGitBranchLockfilesBranchPattern",
3429
+ "peersSuffixMaxLength",
3430
+ "preferFrozenLockfile"
3431
+ ],
3432
+ "packages",
3433
+ "overrides",
3434
+ "patchedDependencies",
3435
+ "catalog",
3436
+ "catalogs",
3437
+ ...[
3438
+ "allowBuilds",
3439
+ "allowNonAppliedPatches",
3440
+ "allowedDeprecatedVersions",
3441
+ "configDependencies",
3442
+ "dangerouslyAllowAllBuilds",
3443
+ "ignoredBuiltDependencies",
3444
+ "ignoredOptionalDependencies",
3445
+ "neverBuiltDependencies",
3446
+ "onlyBuiltDependencies",
3447
+ "onlyBuiltDependenciesFile",
3448
+ "packageExtensions",
3449
+ "peerDependencyRules"
3450
+ ],
3451
+ { order: { type: "asc" } }
3421
3452
  ],
3422
- { order: { type: "asc" } }
3423
- ],
3424
- pathPattern: "^$"
3425
- },
3426
- {
3427
- order: { type: "asc" },
3428
- pathPattern: ".*"
3429
- }
3430
- ] }
3453
+ pathPattern: "^$"
3454
+ },
3455
+ {
3456
+ order: { type: "asc" },
3457
+ pathPattern: ".*"
3458
+ }
3459
+ ],
3460
+ "yaml/sort-sequence-values": ["error", {
3461
+ order: {
3462
+ natural: true,
3463
+ type: "asc"
3464
+ },
3465
+ pathPattern: "^(packages|onlyBuiltDependencies|neverBuiltDependencies|ignoredBuiltDependencies|ignoredWorkspaceGlobs)$"
3466
+ }]
3467
+ }
3431
3468
  }];
3432
3469
  }
3433
3470
  /**
@@ -3602,6 +3639,32 @@ function sortTsconfig() {
3602
3639
  ] }
3603
3640
  }];
3604
3641
  }
3642
+ /**
3643
+ * Sort CSpell configuration files.
3644
+ *
3645
+ * Requires `yaml` config (for the parser).
3646
+ *
3647
+ * @returns An array of flat configuration items.
3648
+ */
3649
+ function sortCspell() {
3650
+ return [{
3651
+ name: "isentinel/sort/cspell",
3652
+ files: [
3653
+ "**/cspell.y?(a)ml",
3654
+ "**/cspell.config.y?(a)ml",
3655
+ "**/cspell.config.*.y?(a)ml",
3656
+ "**/.cspell.y?(a)ml",
3657
+ "**/.cspell.config.y?(a)ml"
3658
+ ],
3659
+ rules: { "yaml/sort-sequence-values": ["error", {
3660
+ order: {
3661
+ natural: true,
3662
+ type: "asc"
3663
+ },
3664
+ pathPattern: "^(words|ignoreWords|flagWords|ignorePaths|dictionaries|enableFiletypes)$"
3665
+ }] }
3666
+ }];
3667
+ }
3605
3668
  //#endregion
3606
3669
  //#region src/configs/stylistic.ts
3607
3670
  const StylisticConfigDefaults = {
@@ -4215,6 +4278,7 @@ async function unicorn(options = {}) {
4215
4278
  const { nameReplacements, roblox = true, root: customRootGlobs, stylistic = true } = options;
4216
4279
  const replacements = {
4217
4280
  ...abbreviations,
4281
+ ...roblox ? { buf: false } : {},
4218
4282
  ...nameReplacements
4219
4283
  };
4220
4284
  const pluginUnicorn = await interopDefault(import("eslint-plugin-unicorn"));
@@ -13386,4 +13450,4 @@ async function yaml(options = {}) {
13386
13450
  }];
13387
13451
  }
13388
13452
  //#endregion
13389
- export { GLOB_ALL_JSON, GLOB_ALL_SRC, GLOB_BUILD_TOOLS, GLOB_CSS, GLOB_DTS, GLOB_EXCLUDE, GLOB_GRAPHQL, GLOB_HTML, GLOB_JS, GLOB_JSON, GLOB_JSON5, GLOB_JSONC, GLOB_JSX, GLOB_LESS, GLOB_LUA, GLOB_MARKDOWN, GLOB_MARKDOWN_BLOCKS, GLOB_MARKDOWN_CODE, GLOB_MARKDOWN_IN_MARKDOWN, GLOB_MISE, GLOB_POSTCSS, GLOB_ROOT, GLOB_ROOT_SRC, GLOB_SCSS, GLOB_SRC, GLOB_SRC_EXT, GLOB_STYLE, GLOB_TESTS, GLOB_TOML, GLOB_TS, GLOB_TSX, GLOB_XML, GLOB_YAML, StylisticConfigDefaults, ceaseNonsense, comments, isentinel as default, isentinel, defaultPluginRenaming, disables, e18e, eslintPlugin, flawless, gitignore, ignores, imports, isInAgentSession, isInEditorEnvironment, isInGitHooksOrLintStaged, javascript, jsdoc, jsonc, markdown, node, oxfmt, packageJson, perfectionist, pnpm, promise, react, roblox, sonarjs, sortGithubAction, sortMiseToml, sortPnpmWorkspace, sortRojoProject, sortTsconfig, spelling, stylistic, test, toml, typescript, unicorn, yaml };
13453
+ export { GLOB_ALL_JSON, GLOB_ALL_SRC, GLOB_BUILD_TOOLS, GLOB_CSS, GLOB_DTS, GLOB_EXCLUDE, GLOB_GRAPHQL, GLOB_HTML, GLOB_JS, GLOB_JSON, GLOB_JSON5, GLOB_JSONC, GLOB_JSX, GLOB_LESS, GLOB_LUA, GLOB_MARKDOWN, GLOB_MARKDOWN_BLOCKS, GLOB_MARKDOWN_CODE, GLOB_MARKDOWN_IN_MARKDOWN, GLOB_MISE, GLOB_POSTCSS, GLOB_ROOT, GLOB_ROOT_SRC, GLOB_SCSS, GLOB_SRC, GLOB_SRC_EXT, GLOB_STYLE, GLOB_TESTS, GLOB_TOML, GLOB_TS, GLOB_TSX, GLOB_XML, GLOB_YAML, StylisticConfigDefaults, ceaseNonsense, comments, isentinel as default, isentinel, defaultPluginRenaming, disables, e18e, eslintPlugin, flawless, gitignore, ignores, imports, isInAgentSession, isInEditorEnvironment, isInGitHooksOrLintStaged, javascript, jsdoc, jsonc, markdown, node, oxfmt, packageJson, perfectionist, pnpm, promise, react, roblox, sonarjs, sortCspell, sortGithubAction, sortMiseToml, sortPnpmWorkspace, sortRojoProject, sortTsconfig, spelling, stylistic, test, toml, typescript, unicorn, yaml };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@isentinel/eslint-config",
3
- "version": "6.0.0-beta.3",
3
+ "version": "6.0.0-beta.4",
4
4
  "description": "iSentinel's ESLint config",
5
5
  "keywords": [
6
6
  "eslint-config",
@@ -118,7 +118,7 @@
118
118
  "type-fest": "5.7.0",
119
119
  "typescript": "6.0.3",
120
120
  "unplugin-unused": "0.5.7",
121
- "@isentinel/eslint-config": "6.0.0-beta.3"
121
+ "@isentinel/eslint-config": "6.0.0-beta.4"
122
122
  },
123
123
  "peerDependencies": {
124
124
  "@vitest/eslint-plugin": "^1.6.4",