@brnshkr/config 0.0.1-alpha.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +659 -0
- package/conf/eslint.config.mjs.example +1 -0
- package/conf/stylelint.config.mjs.example +1 -0
- package/conf/tsconfig.json +74 -0
- package/conf/tsconfig.json.example +3 -0
- package/dist/eslint/index.d.mts +15518 -0
- package/dist/eslint/index.mjs +2574 -0
- package/dist/scripts/eslint.mjs +18 -0
- package/dist/scripts/stylelint.mjs +31 -0
- package/dist/shared.mjs +394 -0
- package/dist/stylelint/index.d.mts +97 -0
- package/dist/stylelint/index.mjs +402 -0
- package/package.json +289 -0
|
@@ -0,0 +1,402 @@
|
|
|
1
|
+
import { d as PACKAGES, f as isModuleEnabled, i as isModuleEnabledByDefault, m as setModuleEnabled, n as MAX_LEN, o as objectEntries, p as resolvePackages, r as GLOB_IGNORES, t as INDENT, u as MODULES, y as packageOrganization } from "../shared.mjs";
|
|
2
|
+
|
|
3
|
+
//#region src/js/stylelint/configs/baseline.ts
|
|
4
|
+
const baseline = () => {
|
|
5
|
+
const { requiredAll: [isStylelintPluginUseBaselineInstalled] } = resolvePackages(MODULES.baseline);
|
|
6
|
+
if (!isStylelintPluginUseBaselineInstalled) return [];
|
|
7
|
+
return [{
|
|
8
|
+
plugins: PACKAGES.STYLELINT_PLUGIN_USE_BASELINE,
|
|
9
|
+
rules: { "plugin/use-baseline": true }
|
|
10
|
+
}];
|
|
11
|
+
};
|
|
12
|
+
|
|
13
|
+
//#endregion
|
|
14
|
+
//#region src/js/stylelint/configs/css.ts
|
|
15
|
+
const css = () => [{
|
|
16
|
+
extends: "stylelint-config-standard",
|
|
17
|
+
reportDescriptionlessDisables: true,
|
|
18
|
+
reportInvalidScopeDisables: true,
|
|
19
|
+
reportNeedlessDisables: true,
|
|
20
|
+
reportUnscopedDisables: true,
|
|
21
|
+
rules: {
|
|
22
|
+
"at-rule-disallowed-list": ["debug"],
|
|
23
|
+
"at-rule-property-required-list": { "font-face": [
|
|
24
|
+
"font-display",
|
|
25
|
+
"font-family",
|
|
26
|
+
"font-style",
|
|
27
|
+
"font-weight",
|
|
28
|
+
"src"
|
|
29
|
+
] },
|
|
30
|
+
"color-hex-length": "long",
|
|
31
|
+
"color-named": "never",
|
|
32
|
+
"color-no-invalid-hex": true,
|
|
33
|
+
"comment-word-disallowed-list": [new RegExp(`^${["TO", "DO"].join("")}`, "v")],
|
|
34
|
+
"declaration-no-important": true,
|
|
35
|
+
"declaration-property-value-disallowed-list": {
|
|
36
|
+
border: ["none"],
|
|
37
|
+
"border-top": ["none"],
|
|
38
|
+
"border-right": ["none"],
|
|
39
|
+
"border-bottom": ["none"],
|
|
40
|
+
"border-left": ["none"]
|
|
41
|
+
},
|
|
42
|
+
"declaration-property-unit-allowed-list": {
|
|
43
|
+
"/^animation/": "ms",
|
|
44
|
+
"/^transition/": "ms",
|
|
45
|
+
"font-size": ["em", "rem"],
|
|
46
|
+
"line-height": []
|
|
47
|
+
},
|
|
48
|
+
"font-family-name-quotes": "always-unless-keyword",
|
|
49
|
+
"font-weight-notation": "numeric",
|
|
50
|
+
"function-linear-gradient-no-nonstandard-direction": true,
|
|
51
|
+
"function-no-unknown": true,
|
|
52
|
+
"function-url-no-scheme-relative": true,
|
|
53
|
+
"function-url-scheme-allowed-list": ["data", "https"],
|
|
54
|
+
"max-nesting-depth": 3,
|
|
55
|
+
"no-unknown-animations": true,
|
|
56
|
+
"no-unknown-custom-media": true,
|
|
57
|
+
"no-unknown-custom-properties": true,
|
|
58
|
+
"string-no-newline": true,
|
|
59
|
+
"unit-no-unknown": true,
|
|
60
|
+
"value-keyword-case": ["lower", {
|
|
61
|
+
camelCaseSvgKeywords: true,
|
|
62
|
+
ignoreKeywords: [/^geometricPrecision$/v]
|
|
63
|
+
}]
|
|
64
|
+
}
|
|
65
|
+
}];
|
|
66
|
+
|
|
67
|
+
//#endregion
|
|
68
|
+
//#region src/js/stylelint/configs/defensive.ts
|
|
69
|
+
const defensive = () => {
|
|
70
|
+
const { requiredAll: [isStylelintPluginDefensiveCssInstalled] } = resolvePackages(MODULES.defensive);
|
|
71
|
+
if (!isStylelintPluginDefensiveCssInstalled) return [];
|
|
72
|
+
return [{
|
|
73
|
+
plugins: PACKAGES.STYLELINT_PLUGIN_DEFENSIVE_CSS,
|
|
74
|
+
rules: { "plugin/use-defensive-css": [true, {
|
|
75
|
+
"accidental-hover": true,
|
|
76
|
+
"background-repeat": true,
|
|
77
|
+
"flex-wrapping": true,
|
|
78
|
+
"scroll-chaining": true,
|
|
79
|
+
"scrollbar-gutter": true,
|
|
80
|
+
"vendor-prefix-grouping": true
|
|
81
|
+
}] }
|
|
82
|
+
}];
|
|
83
|
+
};
|
|
84
|
+
|
|
85
|
+
//#endregion
|
|
86
|
+
//#region src/js/stylelint/types/overrides.ts
|
|
87
|
+
const OVERRIDES = {
|
|
88
|
+
SCSS: "scss",
|
|
89
|
+
SVELTE: "svelte"
|
|
90
|
+
};
|
|
91
|
+
|
|
92
|
+
//#endregion
|
|
93
|
+
//#region src/js/stylelint/utils/config.ts
|
|
94
|
+
const buildOverrideName = (override) => [packageOrganization, override].filter(Boolean).join("/");
|
|
95
|
+
const isValidGlobalAdditionalConfigKey = (key) => [
|
|
96
|
+
"extends",
|
|
97
|
+
"plugins",
|
|
98
|
+
"pluginFunctions",
|
|
99
|
+
"ignoreFiles",
|
|
100
|
+
"rules",
|
|
101
|
+
"quiet",
|
|
102
|
+
"formatter",
|
|
103
|
+
"defaultSeverity",
|
|
104
|
+
"ignoreDisables",
|
|
105
|
+
"reportNeedlessDisables",
|
|
106
|
+
"reportInvalidScopeDisables",
|
|
107
|
+
"reportDescriptionlessDisables",
|
|
108
|
+
"reportUnscopedDisables",
|
|
109
|
+
"configurationComment",
|
|
110
|
+
"overrides",
|
|
111
|
+
"customSyntax",
|
|
112
|
+
"processors",
|
|
113
|
+
"languageOptions",
|
|
114
|
+
"allowEmptyInput",
|
|
115
|
+
"cache",
|
|
116
|
+
"fix",
|
|
117
|
+
"computeEditInfo",
|
|
118
|
+
"validate"
|
|
119
|
+
].includes(key);
|
|
120
|
+
const getGlobalAdditionalConfig = (options) => {
|
|
121
|
+
const config = {};
|
|
122
|
+
for (const [key, value] of objectEntries(options)) if (isValidGlobalAdditionalConfigKey(key)) config[key] = value;
|
|
123
|
+
if (Object.keys(config).length === 0) return;
|
|
124
|
+
return config;
|
|
125
|
+
};
|
|
126
|
+
const getUserConfigs = (resolvedOptions, additionalConfigs) => [getGlobalAdditionalConfig(resolvedOptions), ...additionalConfigs].filter(Boolean);
|
|
127
|
+
const includeConfigs = (config, configsToInclude) => {
|
|
128
|
+
for (const configToInclude of configsToInclude) {
|
|
129
|
+
if (configToInclude.extends !== void 0) config.extends = [...new Set([...Array.isArray(config.extends) ? config.extends ?? [] : [config.extends].filter(Boolean), ...Array.isArray(configToInclude.extends) ? configToInclude.extends ?? [] : [configToInclude.extends].filter(Boolean)])];
|
|
130
|
+
if (configToInclude.plugins !== void 0) config.plugins = [...new Set([...Array.isArray(config.plugins) ? config.plugins ?? [] : [config.plugins].filter(Boolean), ...Array.isArray(configToInclude.plugins) ? configToInclude.plugins ?? [] : [configToInclude.plugins].filter(Boolean)])];
|
|
131
|
+
if (configToInclude.pluginFunctions !== void 0) config.pluginFunctions = {
|
|
132
|
+
...config.pluginFunctions,
|
|
133
|
+
...configToInclude.pluginFunctions
|
|
134
|
+
};
|
|
135
|
+
if (configToInclude.ignoreFiles !== void 0) config.ignoreFiles = [...new Set([...Array.isArray(config.ignoreFiles) ? config.ignoreFiles ?? [] : [config.ignoreFiles].filter(Boolean), ...Array.isArray(configToInclude.ignoreFiles) ? configToInclude.ignoreFiles ?? [] : [configToInclude.ignoreFiles].filter(Boolean)])];
|
|
136
|
+
if (configToInclude.rules !== void 0) config.rules = {
|
|
137
|
+
...config.rules,
|
|
138
|
+
...configToInclude.rules
|
|
139
|
+
};
|
|
140
|
+
if (configToInclude.quiet !== void 0) config.quiet = configToInclude.quiet;
|
|
141
|
+
if (configToInclude.formatter !== void 0) config.formatter = configToInclude.formatter;
|
|
142
|
+
if (configToInclude.defaultSeverity !== void 0) config.defaultSeverity = configToInclude.defaultSeverity;
|
|
143
|
+
if (configToInclude.ignoreDisables !== void 0) config.ignoreDisables = configToInclude.ignoreDisables;
|
|
144
|
+
if (configToInclude.reportNeedlessDisables !== void 0) config.reportNeedlessDisables = configToInclude.reportNeedlessDisables;
|
|
145
|
+
if (configToInclude.reportInvalidScopeDisables !== void 0) config.reportInvalidScopeDisables = configToInclude.reportInvalidScopeDisables;
|
|
146
|
+
if (configToInclude.reportDescriptionlessDisables !== void 0) config.reportDescriptionlessDisables = configToInclude.reportDescriptionlessDisables;
|
|
147
|
+
if (configToInclude.reportUnscopedDisables !== void 0) config.reportUnscopedDisables = configToInclude.reportUnscopedDisables;
|
|
148
|
+
if (configToInclude.configurationComment !== void 0) config.configurationComment = configToInclude.configurationComment;
|
|
149
|
+
if (configToInclude.overrides !== void 0) {
|
|
150
|
+
const overridesToIncude = configToInclude.overrides;
|
|
151
|
+
config.overrides = [...(config.overrides ?? []).filter((existingOverride) => !overridesToIncude.some((overrideToIncude) => overrideToIncude.name !== void 0 && overrideToIncude.name === existingOverride.name)), ...overridesToIncude];
|
|
152
|
+
}
|
|
153
|
+
if (configToInclude.customSyntax !== void 0) config.customSyntax = configToInclude.customSyntax;
|
|
154
|
+
if (configToInclude.processors !== void 0) config.processors = [...new Set([...config.processors ?? [], ...configToInclude.processors])];
|
|
155
|
+
if (configToInclude.languageOptions !== void 0) config.languageOptions = {
|
|
156
|
+
...config.languageOptions,
|
|
157
|
+
...configToInclude.languageOptions,
|
|
158
|
+
syntax: {
|
|
159
|
+
atRules: {
|
|
160
|
+
...config.languageOptions?.syntax?.atRules,
|
|
161
|
+
...configToInclude.languageOptions.syntax?.atRules
|
|
162
|
+
},
|
|
163
|
+
cssWideKeywords: [...new Set([...config.languageOptions?.syntax?.cssWideKeywords ?? [], ...configToInclude.languageOptions.syntax?.cssWideKeywords ?? []])],
|
|
164
|
+
properties: {
|
|
165
|
+
...config.languageOptions?.syntax?.properties,
|
|
166
|
+
...configToInclude.languageOptions.syntax?.properties
|
|
167
|
+
},
|
|
168
|
+
types: {
|
|
169
|
+
...config.languageOptions?.syntax?.types,
|
|
170
|
+
...configToInclude.languageOptions.syntax?.types
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
};
|
|
174
|
+
if (configToInclude.allowEmptyInput !== void 0) config.allowEmptyInput = configToInclude.allowEmptyInput;
|
|
175
|
+
if (configToInclude.cache !== void 0) config.cache = configToInclude.cache;
|
|
176
|
+
if (configToInclude.fix !== void 0) config.fix = configToInclude.fix;
|
|
177
|
+
if (configToInclude.computeEditInfo !== void 0) config.computeEditInfo = configToInclude.computeEditInfo;
|
|
178
|
+
if (configToInclude.validate !== void 0) config.validate = configToInclude.validate;
|
|
179
|
+
}
|
|
180
|
+
};
|
|
181
|
+
|
|
182
|
+
//#endregion
|
|
183
|
+
//#region src/js/stylelint/configs/html.ts
|
|
184
|
+
const html = () => {
|
|
185
|
+
const { requiredAll: [isPostcssHtmlInstalled, isStylelintConfigHtmlInstalled] } = resolvePackages(MODULES.html);
|
|
186
|
+
if (!isPostcssHtmlInstalled || !isStylelintConfigHtmlInstalled) return [];
|
|
187
|
+
return [{
|
|
188
|
+
extends: PACKAGES.STYLELINT_CONFIG_HTML,
|
|
189
|
+
overrides: [{
|
|
190
|
+
name: buildOverrideName(OVERRIDES.SVELTE),
|
|
191
|
+
files: ["**/*.svelte"],
|
|
192
|
+
rules: {
|
|
193
|
+
"keyframes-name-pattern": ["^(-global-)?([a-z][a-z0-9]*)(-[a-z0-9]+)*$", { message: (name) => `Expected keyframe name "${name}" to be kebab-case` }],
|
|
194
|
+
"selector-pseudo-class-no-unknown": [true, { ignorePseudoClasses: ["global"] }]
|
|
195
|
+
}
|
|
196
|
+
}]
|
|
197
|
+
}];
|
|
198
|
+
};
|
|
199
|
+
|
|
200
|
+
//#endregion
|
|
201
|
+
//#region src/js/stylelint/configs/ignores.ts
|
|
202
|
+
const ignores = () => [{ ignoreFiles: GLOB_IGNORES.map((glob) => glob.replace(/^\*\*/v, process.cwd())) }];
|
|
203
|
+
|
|
204
|
+
//#endregion
|
|
205
|
+
//#region src/js/stylelint/configs/logical.ts
|
|
206
|
+
const logical = () => {
|
|
207
|
+
const { requiredAll: [isStylelintPluginLogicalCssInstalled] } = resolvePackages(MODULES.logical);
|
|
208
|
+
if (!isStylelintPluginLogicalCssInstalled) return [];
|
|
209
|
+
return [{
|
|
210
|
+
plugins: PACKAGES.STYLELINT_PLUGIN_LOGICAL_CSS,
|
|
211
|
+
rules: {
|
|
212
|
+
"plugin/use-logical-properties-and-values": true,
|
|
213
|
+
"plugin/use-logical-units": true
|
|
214
|
+
}
|
|
215
|
+
}];
|
|
216
|
+
};
|
|
217
|
+
|
|
218
|
+
//#endregion
|
|
219
|
+
//#region src/js/stylelint/configs/modules.ts
|
|
220
|
+
const modules = () => {
|
|
221
|
+
const { requiredAll: [isStylelintConfigCssModulesInstalled] } = resolvePackages(MODULES.modules);
|
|
222
|
+
if (!isStylelintConfigCssModulesInstalled) return [];
|
|
223
|
+
return [{ extends: PACKAGES.STYLELINT_CONFIG_CSS_MODULES }];
|
|
224
|
+
};
|
|
225
|
+
|
|
226
|
+
//#endregion
|
|
227
|
+
//#region src/js/stylelint/configs/nesting.ts
|
|
228
|
+
const nesting = () => {
|
|
229
|
+
const { requiredAll: [isStylelintUseNestingInstalled] } = resolvePackages(MODULES.nesting);
|
|
230
|
+
if (!isStylelintUseNestingInstalled) return [];
|
|
231
|
+
return [{
|
|
232
|
+
plugins: PACKAGES.STYLELINT_USE_NESTING,
|
|
233
|
+
rules: { "csstools/use-nesting": ["always", { syntax: isModuleEnabled(MODULES.scss) ? "scss" : "css" }] }
|
|
234
|
+
}];
|
|
235
|
+
};
|
|
236
|
+
|
|
237
|
+
//#endregion
|
|
238
|
+
//#region src/js/stylelint/configs/order.ts
|
|
239
|
+
const order = () => {
|
|
240
|
+
const { requiredAll: [isStylelintConfigRecessOrderInstalled] } = resolvePackages(MODULES.order);
|
|
241
|
+
if (!isStylelintConfigRecessOrderInstalled) return [];
|
|
242
|
+
return [{ extends: PACKAGES.STYLELINT_CONFIG_RECESS_ORDER }];
|
|
243
|
+
};
|
|
244
|
+
|
|
245
|
+
//#endregion
|
|
246
|
+
//#region src/js/stylelint/configs/scss.ts
|
|
247
|
+
const scss = () => {
|
|
248
|
+
const { requiredAll: [isStylelintConfigStandardScssInstalled] } = resolvePackages(MODULES.scss);
|
|
249
|
+
if (!isStylelintConfigStandardScssInstalled) return [];
|
|
250
|
+
return [{
|
|
251
|
+
extends: PACKAGES.STYLELINT_CONFIG_STANDARD_SCSS,
|
|
252
|
+
rules: {
|
|
253
|
+
"scss/at-each-key-value-single-line": true,
|
|
254
|
+
"scss/at-mixin-argumentless-call-parentheses": "always",
|
|
255
|
+
"scss/at-mixin-no-risky-nesting-selector": true,
|
|
256
|
+
"scss/at-root-no-redundant": true,
|
|
257
|
+
"scss/at-use-no-redundant-alias": true,
|
|
258
|
+
"scss/block-no-redundant-nesting": true,
|
|
259
|
+
"scss/declaration-nested-properties": "never",
|
|
260
|
+
"scss/dimension-no-non-numeric-values": true,
|
|
261
|
+
"scss/dollar-variable-first-in-block": [true, {
|
|
262
|
+
ignore: ["comments", "imports"],
|
|
263
|
+
except: [
|
|
264
|
+
"function",
|
|
265
|
+
"mixin",
|
|
266
|
+
"if-else",
|
|
267
|
+
"loops"
|
|
268
|
+
]
|
|
269
|
+
}],
|
|
270
|
+
"scss/dollar-variable-no-namespaced-assignment": true,
|
|
271
|
+
"scss/double-slash-comment-inline": "never",
|
|
272
|
+
"scss/function-color-channel": true,
|
|
273
|
+
"scss/function-color-relative": true,
|
|
274
|
+
"scss/map-keys-quotes": "always",
|
|
275
|
+
"scss/no-duplicate-dollar-variables": [true, {
|
|
276
|
+
ignoreInsideAtRules: ["if", "mixin"],
|
|
277
|
+
ignoreDefaults: false
|
|
278
|
+
}],
|
|
279
|
+
"scss/no-duplicate-load-rules": true,
|
|
280
|
+
"scss/no-unused-private-members": true,
|
|
281
|
+
"scss/partial-no-import": true,
|
|
282
|
+
"scss/at-import-partial-extension-disallowed-list": ["scss"],
|
|
283
|
+
"property-no-unknown": null,
|
|
284
|
+
"scss/property-no-unknown": true,
|
|
285
|
+
"scss/selector-no-redundant-nesting-selector": true
|
|
286
|
+
},
|
|
287
|
+
overrides: [{
|
|
288
|
+
name: buildOverrideName(OVERRIDES.SCSS),
|
|
289
|
+
files: ["**/*.scss"],
|
|
290
|
+
rules: { "scss/comment-no-loud": true }
|
|
291
|
+
}]
|
|
292
|
+
}];
|
|
293
|
+
};
|
|
294
|
+
|
|
295
|
+
//#endregion
|
|
296
|
+
//#region src/js/stylelint/configs/strict.ts
|
|
297
|
+
const strict = () => {
|
|
298
|
+
const { requiredAll: [isStylelintDeclarationStrictValueInstalled] } = resolvePackages(MODULES.strict);
|
|
299
|
+
if (!isStylelintDeclarationStrictValueInstalled) return [];
|
|
300
|
+
return [{
|
|
301
|
+
plugins: PACKAGES.STYLELINT_DECLARATION_STRICT_VALUE,
|
|
302
|
+
rules: { "scale-unlimited/declaration-strict-value": [
|
|
303
|
+
"/color$/",
|
|
304
|
+
"font-size",
|
|
305
|
+
"z-index"
|
|
306
|
+
] }
|
|
307
|
+
}];
|
|
308
|
+
};
|
|
309
|
+
|
|
310
|
+
//#endregion
|
|
311
|
+
//#region src/js/stylelint/configs/style.ts
|
|
312
|
+
const style = () => {
|
|
313
|
+
const { requiredAll: [isStylisticStylelintConfigInstalled] } = resolvePackages(MODULES.style);
|
|
314
|
+
if (!isStylisticStylelintConfigInstalled) return [];
|
|
315
|
+
return [{
|
|
316
|
+
extends: PACKAGES.STYLISTIC_STYLELINT_CONFIG,
|
|
317
|
+
rules: {
|
|
318
|
+
"@stylistic/at-rule-name-newline-after": "always-multi-line",
|
|
319
|
+
"@stylistic/at-rule-semicolon-space-before": "never",
|
|
320
|
+
"@stylistic/block-closing-brace-newline-before": "always",
|
|
321
|
+
"@stylistic/block-opening-brace-newline-after": "always",
|
|
322
|
+
"@stylistic/declaration-block-semicolon-newline-after": "always",
|
|
323
|
+
"@stylistic/function-comma-newline-before": "never-multi-line",
|
|
324
|
+
"@stylistic/function-comma-space-before": "never-single-line",
|
|
325
|
+
"@stylistic/indentation": INDENT,
|
|
326
|
+
"@stylistic/linebreaks": "unix",
|
|
327
|
+
"@stylistic/max-line-length": MAX_LEN,
|
|
328
|
+
"@stylistic/media-query-list-comma-newline-after": "always",
|
|
329
|
+
"@stylistic/media-query-list-comma-newline-before": "never-multi-line",
|
|
330
|
+
"@stylistic/named-grid-areas-alignment": [true, { alignQuotes: true }],
|
|
331
|
+
"@stylistic/selector-list-comma-newline-before": "never-multi-line",
|
|
332
|
+
"@stylistic/string-quotes": "single",
|
|
333
|
+
"@stylistic/unicode-bom": "never",
|
|
334
|
+
"@stylistic/value-list-comma-newline-before": "never-multi-line",
|
|
335
|
+
"@stylistic/value-list-comma-space-before": "never-single-line"
|
|
336
|
+
}
|
|
337
|
+
}];
|
|
338
|
+
};
|
|
339
|
+
|
|
340
|
+
//#endregion
|
|
341
|
+
//#region src/js/stylelint/configs/index.ts
|
|
342
|
+
const configs = {
|
|
343
|
+
baseline,
|
|
344
|
+
css,
|
|
345
|
+
defensive,
|
|
346
|
+
html,
|
|
347
|
+
ignores,
|
|
348
|
+
logical,
|
|
349
|
+
modules,
|
|
350
|
+
nesting,
|
|
351
|
+
order,
|
|
352
|
+
scss,
|
|
353
|
+
strict,
|
|
354
|
+
style
|
|
355
|
+
};
|
|
356
|
+
|
|
357
|
+
//#endregion
|
|
358
|
+
//#region src/js/stylelint/index.ts
|
|
359
|
+
const getConfig = (optionsAndGlobalConfig, ...additionalConfigs) => {
|
|
360
|
+
const resolvedOptions = {
|
|
361
|
+
baseline: isModuleEnabledByDefault(MODULES.baseline),
|
|
362
|
+
defensive: isModuleEnabledByDefault(MODULES.defensive),
|
|
363
|
+
html: isModuleEnabledByDefault(MODULES.html),
|
|
364
|
+
logical: isModuleEnabledByDefault(MODULES.logical),
|
|
365
|
+
modules: isModuleEnabledByDefault(MODULES.modules),
|
|
366
|
+
nesting: isModuleEnabledByDefault(MODULES.nesting),
|
|
367
|
+
order: isModuleEnabledByDefault(MODULES.order),
|
|
368
|
+
scss: isModuleEnabledByDefault(MODULES.scss),
|
|
369
|
+
strict: isModuleEnabledByDefault(MODULES.strict),
|
|
370
|
+
style: isModuleEnabledByDefault(MODULES.style),
|
|
371
|
+
...optionsAndGlobalConfig
|
|
372
|
+
};
|
|
373
|
+
setModuleEnabled(MODULES.baseline, resolvedOptions.baseline);
|
|
374
|
+
setModuleEnabled(MODULES.defensive, resolvedOptions.defensive);
|
|
375
|
+
setModuleEnabled(MODULES.html, resolvedOptions.html);
|
|
376
|
+
setModuleEnabled(MODULES.logical, resolvedOptions.logical);
|
|
377
|
+
setModuleEnabled(MODULES.modules, resolvedOptions.modules);
|
|
378
|
+
setModuleEnabled(MODULES.nesting, resolvedOptions.nesting);
|
|
379
|
+
setModuleEnabled(MODULES.order, resolvedOptions.order);
|
|
380
|
+
setModuleEnabled(MODULES.scss, resolvedOptions.scss);
|
|
381
|
+
setModuleEnabled(MODULES.strict, resolvedOptions.strict);
|
|
382
|
+
setModuleEnabled(MODULES.style, resolvedOptions.style);
|
|
383
|
+
const config = {};
|
|
384
|
+
includeConfigs(config, configs.ignores());
|
|
385
|
+
includeConfigs(config, configs.css());
|
|
386
|
+
if (isModuleEnabled(MODULES.baseline)) includeConfigs(config, configs.baseline());
|
|
387
|
+
if (isModuleEnabled(MODULES.defensive)) includeConfigs(config, configs.defensive());
|
|
388
|
+
if (isModuleEnabled(MODULES.logical)) includeConfigs(config, configs.logical());
|
|
389
|
+
if (isModuleEnabled(MODULES.nesting)) includeConfigs(config, configs.nesting());
|
|
390
|
+
if (isModuleEnabled(MODULES.order)) includeConfigs(config, configs.order());
|
|
391
|
+
if (isModuleEnabled(MODULES.scss)) includeConfigs(config, configs.scss());
|
|
392
|
+
if (isModuleEnabled(MODULES.html)) includeConfigs(config, configs.html());
|
|
393
|
+
if (isModuleEnabled(MODULES.modules)) includeConfigs(config, configs.modules());
|
|
394
|
+
if (isModuleEnabled(MODULES.strict)) includeConfigs(config, configs.strict());
|
|
395
|
+
if (isModuleEnabled(MODULES.style)) includeConfigs(config, configs.style());
|
|
396
|
+
includeConfigs(config, getUserConfigs(resolvedOptions, additionalConfigs));
|
|
397
|
+
return config;
|
|
398
|
+
};
|
|
399
|
+
var stylelint_default = getConfig();
|
|
400
|
+
|
|
401
|
+
//#endregion
|
|
402
|
+
export { stylelint_default as default, getConfig };
|
package/package.json
ADDED
|
@@ -0,0 +1,289 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json.schemastore.org/package",
|
|
3
|
+
"name": "@brnshkr/config",
|
|
4
|
+
"version": "0.0.1-alpha.2",
|
|
5
|
+
"description": "Centralized collection of configuration and tooling used across all @brnshkr projects",
|
|
6
|
+
"license": "MIT",
|
|
7
|
+
"author": "Patrick Rupp",
|
|
8
|
+
"homepage": "https://github.com/brnshkr/config",
|
|
9
|
+
"repository": {
|
|
10
|
+
"type": "git",
|
|
11
|
+
"url": "git+https://github.com/brnshkr/config.git"
|
|
12
|
+
},
|
|
13
|
+
"bugs": {
|
|
14
|
+
"url": "https://github.com/brnshkr/config/issues"
|
|
15
|
+
},
|
|
16
|
+
"type": "module",
|
|
17
|
+
"scripts": {
|
|
18
|
+
"lint": "bun lint:css && bun lint:js && bun lint:commit",
|
|
19
|
+
"lint:css": "bun ./scripts/stylelint.ts",
|
|
20
|
+
"lint:js": "bun ./scripts/eslint.ts",
|
|
21
|
+
"lint:commit": "bun commitlint --config ./conf/commitlint.config.mjs --edit",
|
|
22
|
+
"inspect:eslint": "bun eslint-config-inspector --config ./conf/eslint.config.ts",
|
|
23
|
+
"inspect:modules": "bun node-modules-inspector",
|
|
24
|
+
"test": "bun vitest --run --testTimeout 120000 --exclude **/fixtures/**",
|
|
25
|
+
"test-update": "bun run test --update",
|
|
26
|
+
"check": "bun tsc && bun lint && bun run test",
|
|
27
|
+
"build": "bun typegen && bun tsdown --config ./conf/tsdown.config.ts",
|
|
28
|
+
"watch": "bun tsdown --config ./conf/tsdown.config.ts --watch",
|
|
29
|
+
"typegen": "bun scripts/typegen.ts",
|
|
30
|
+
"changelog": "bun conventional-changelog",
|
|
31
|
+
"install-hooks": "bun simple-git-hooks"
|
|
32
|
+
},
|
|
33
|
+
"exports": {
|
|
34
|
+
"./eslint": "./dist/eslint/index.js",
|
|
35
|
+
"./scripts/eslint": "./dist/scripts/eslint.js",
|
|
36
|
+
"./stylelint": "./dist/stylelint/index.js",
|
|
37
|
+
"./scripts/stylelint": "./dist/scripts/stylelint.js"
|
|
38
|
+
},
|
|
39
|
+
"files": [
|
|
40
|
+
"./conf/eslint.config.mjs.example",
|
|
41
|
+
"./conf/stylelint.config.mjs.example",
|
|
42
|
+
"./conf/tsconfig.json",
|
|
43
|
+
"./conf/tsconfig.json.example",
|
|
44
|
+
"./dist"
|
|
45
|
+
],
|
|
46
|
+
"dependencies": {
|
|
47
|
+
"@eslint/js": "^9.39.2",
|
|
48
|
+
"confusing-browser-globals": "^1.0.11",
|
|
49
|
+
"eslint-flat-config-utils": "^3.0.0",
|
|
50
|
+
"globals": "^17.3.0",
|
|
51
|
+
"local-pkg": "^1.1.2",
|
|
52
|
+
"stylelint-config-standard": "^40.0.0"
|
|
53
|
+
},
|
|
54
|
+
"peerDependencies": {
|
|
55
|
+
"@eslint-community/eslint-plugin-eslint-comments": "^4.6.0",
|
|
56
|
+
"@eslint/css": "^0.14.1",
|
|
57
|
+
"@eslint/json": "^1.0.0",
|
|
58
|
+
"@eslint/markdown": "^7.5.1",
|
|
59
|
+
"@stylistic/eslint-plugin": "^5.7.1",
|
|
60
|
+
"@stylistic/stylelint-config": "^4.0.0",
|
|
61
|
+
"@vitest/eslint-plugin": "^1.6.6",
|
|
62
|
+
"eslint": "^9.39.2",
|
|
63
|
+
"eslint-config-flat-gitignore": "^2.1.0",
|
|
64
|
+
"eslint-import-resolver-typescript": "^4.4.4",
|
|
65
|
+
"eslint-merge-processors": "^2.0.0",
|
|
66
|
+
"eslint-plugin-antfu": "^3.1.3",
|
|
67
|
+
"eslint-plugin-import-x": "^4.16.1",
|
|
68
|
+
"eslint-plugin-jsdoc": "^62.5.0",
|
|
69
|
+
"eslint-plugin-jsonc": "^2.21.0",
|
|
70
|
+
"eslint-plugin-n": "^17.23.2",
|
|
71
|
+
"eslint-plugin-perfectionist": "^5.4.0",
|
|
72
|
+
"eslint-plugin-regexp": "^3.0.0",
|
|
73
|
+
"eslint-plugin-svelte": "^3.14.0",
|
|
74
|
+
"eslint-plugin-toml": "^1.0.3",
|
|
75
|
+
"eslint-plugin-unicorn": "^62.0.0",
|
|
76
|
+
"eslint-plugin-unused-imports": "^4.3.0",
|
|
77
|
+
"eslint-plugin-yml": "^3.0.0",
|
|
78
|
+
"jsonc-eslint-parser": "^2.4.2",
|
|
79
|
+
"postcss-html": "^1.8.1",
|
|
80
|
+
"stylelint": "^17.1.0",
|
|
81
|
+
"stylelint-config-css-modules": "^4.6.0",
|
|
82
|
+
"stylelint-config-html": "^1.1.0",
|
|
83
|
+
"stylelint-config-recess-order": "^7.6.0",
|
|
84
|
+
"stylelint-config-standard-scss": "^17.0.0",
|
|
85
|
+
"stylelint-declaration-strict-value": "^1.10.11",
|
|
86
|
+
"stylelint-order": "^7.0.1",
|
|
87
|
+
"stylelint-plugin-defensive-css": "^1.1.1",
|
|
88
|
+
"stylelint-plugin-logical-css": "^1.3.0",
|
|
89
|
+
"stylelint-plugin-use-baseline": "^1.2.1",
|
|
90
|
+
"stylelint-use-nesting": "^6.0.1",
|
|
91
|
+
"svelte": "^5.49.1",
|
|
92
|
+
"toml-eslint-parser": "^1.0.3",
|
|
93
|
+
"typescript": "^5.9.3",
|
|
94
|
+
"typescript-eslint": "^8.54.0",
|
|
95
|
+
"yaml-eslint-parser": "^2.0.0"
|
|
96
|
+
},
|
|
97
|
+
"peerDependenciesMeta": {
|
|
98
|
+
"@eslint-community/eslint-plugin-eslint-comments": {
|
|
99
|
+
"optional": true
|
|
100
|
+
},
|
|
101
|
+
"@eslint/css": {
|
|
102
|
+
"optional": true
|
|
103
|
+
},
|
|
104
|
+
"@eslint/json": {
|
|
105
|
+
"optional": true
|
|
106
|
+
},
|
|
107
|
+
"@eslint/markdown": {
|
|
108
|
+
"optional": true
|
|
109
|
+
},
|
|
110
|
+
"@stylistic/eslint-plugin": {
|
|
111
|
+
"optional": true
|
|
112
|
+
},
|
|
113
|
+
"@stylistic/stylelint-config": {
|
|
114
|
+
"optional": true
|
|
115
|
+
},
|
|
116
|
+
"@vitest/eslint-plugin": {
|
|
117
|
+
"optional": true
|
|
118
|
+
},
|
|
119
|
+
"eslint-config-flat-gitignore": {
|
|
120
|
+
"optional": true
|
|
121
|
+
},
|
|
122
|
+
"eslint-import-resolver-typescript": {
|
|
123
|
+
"optional": true
|
|
124
|
+
},
|
|
125
|
+
"eslint-merge-processors": {
|
|
126
|
+
"optional": true
|
|
127
|
+
},
|
|
128
|
+
"eslint-plugin-antfu": {
|
|
129
|
+
"optional": true
|
|
130
|
+
},
|
|
131
|
+
"eslint-plugin-import-x": {
|
|
132
|
+
"optional": true
|
|
133
|
+
},
|
|
134
|
+
"eslint-plugin-jsdoc": {
|
|
135
|
+
"optional": true
|
|
136
|
+
},
|
|
137
|
+
"eslint-plugin-jsonc": {
|
|
138
|
+
"optional": true
|
|
139
|
+
},
|
|
140
|
+
"eslint-plugin-n": {
|
|
141
|
+
"optional": true
|
|
142
|
+
},
|
|
143
|
+
"eslint-plugin-perfectionist": {
|
|
144
|
+
"optional": true
|
|
145
|
+
},
|
|
146
|
+
"eslint-plugin-regexp": {
|
|
147
|
+
"optional": true
|
|
148
|
+
},
|
|
149
|
+
"eslint-plugin-svelte": {
|
|
150
|
+
"optional": true
|
|
151
|
+
},
|
|
152
|
+
"eslint-plugin-toml": {
|
|
153
|
+
"optional": true
|
|
154
|
+
},
|
|
155
|
+
"eslint-plugin-unicorn": {
|
|
156
|
+
"optional": true
|
|
157
|
+
},
|
|
158
|
+
"eslint-plugin-unused-imports": {
|
|
159
|
+
"optional": true
|
|
160
|
+
},
|
|
161
|
+
"eslint-plugin-yml": {
|
|
162
|
+
"optional": true
|
|
163
|
+
},
|
|
164
|
+
"jsonc-eslint-parser": {
|
|
165
|
+
"optional": true
|
|
166
|
+
},
|
|
167
|
+
"postcss-html": {
|
|
168
|
+
"optional": true
|
|
169
|
+
},
|
|
170
|
+
"stylelint": {
|
|
171
|
+
"optional": true
|
|
172
|
+
},
|
|
173
|
+
"stylelint-config-css-modules": {
|
|
174
|
+
"optional": true
|
|
175
|
+
},
|
|
176
|
+
"stylelint-config-html": {
|
|
177
|
+
"optional": true
|
|
178
|
+
},
|
|
179
|
+
"stylelint-config-recess-order": {
|
|
180
|
+
"optional": true
|
|
181
|
+
},
|
|
182
|
+
"stylelint-config-standard-scss": {
|
|
183
|
+
"optional": true
|
|
184
|
+
},
|
|
185
|
+
"stylelint-declaration-strict-value": {
|
|
186
|
+
"optional": true
|
|
187
|
+
},
|
|
188
|
+
"stylelint-order": {
|
|
189
|
+
"optional": true
|
|
190
|
+
},
|
|
191
|
+
"stylelint-plugin-defensive-css": {
|
|
192
|
+
"optional": true
|
|
193
|
+
},
|
|
194
|
+
"stylelint-plugin-logical-css": {
|
|
195
|
+
"optional": true
|
|
196
|
+
},
|
|
197
|
+
"stylelint-plugin-use-baseline": {
|
|
198
|
+
"optional": true
|
|
199
|
+
},
|
|
200
|
+
"stylelint-use-nesting": {
|
|
201
|
+
"optional": true
|
|
202
|
+
},
|
|
203
|
+
"svelte": {
|
|
204
|
+
"optional": true
|
|
205
|
+
},
|
|
206
|
+
"toml-eslint-parser": {
|
|
207
|
+
"optional": true
|
|
208
|
+
},
|
|
209
|
+
"typescript": {
|
|
210
|
+
"optional": true
|
|
211
|
+
},
|
|
212
|
+
"typescript-eslint": {
|
|
213
|
+
"optional": true
|
|
214
|
+
},
|
|
215
|
+
"yaml-eslint-parser": {
|
|
216
|
+
"optional": true
|
|
217
|
+
}
|
|
218
|
+
},
|
|
219
|
+
"devDependencies": {
|
|
220
|
+
"@commitlint/config-conventional": "20.4.0",
|
|
221
|
+
"@commitlint/types": "20.4.0",
|
|
222
|
+
"@eslint-community/eslint-plugin-eslint-comments": "4.6.0",
|
|
223
|
+
"@eslint/config-inspector": "1.4.2",
|
|
224
|
+
"@eslint/css": "0.14.1",
|
|
225
|
+
"@eslint/json": "1.0.0",
|
|
226
|
+
"@eslint/markdown": "7.5.1",
|
|
227
|
+
"@stylistic/eslint-plugin": "5.7.1",
|
|
228
|
+
"@stylistic/stylelint-config": "4.0.0",
|
|
229
|
+
"@total-typescript/ts-reset": "0.6.1",
|
|
230
|
+
"@types/bun": "1.3.8",
|
|
231
|
+
"@types/confusing-browser-globals": "1.0.3",
|
|
232
|
+
"@typescript-eslint/utils": "8.54.0",
|
|
233
|
+
"@vitest/eslint-plugin": "1.6.6",
|
|
234
|
+
"commitlint": "20.4.0",
|
|
235
|
+
"conventional-changelog": "7.1.1",
|
|
236
|
+
"eslint": "9.39.2",
|
|
237
|
+
"eslint-config-flat-gitignore": "2.1.0",
|
|
238
|
+
"eslint-import-resolver-typescript": "4.4.4",
|
|
239
|
+
"eslint-merge-processors": "2.0.0",
|
|
240
|
+
"eslint-plugin-antfu": "3.1.3",
|
|
241
|
+
"eslint-plugin-import-x": "4.16.1",
|
|
242
|
+
"eslint-plugin-jsdoc": "62.5.0",
|
|
243
|
+
"eslint-plugin-jsonc": "2.21.0",
|
|
244
|
+
"eslint-plugin-n": "17.23.2",
|
|
245
|
+
"eslint-plugin-perfectionist": "5.4.0",
|
|
246
|
+
"eslint-plugin-regexp": "3.0.0",
|
|
247
|
+
"eslint-plugin-svelte": "3.14.0",
|
|
248
|
+
"eslint-plugin-toml": "1.0.3",
|
|
249
|
+
"eslint-plugin-unicorn": "62.0.0",
|
|
250
|
+
"eslint-plugin-unused-imports": "4.3.0",
|
|
251
|
+
"eslint-plugin-yml": "3.0.0",
|
|
252
|
+
"eslint-typegen": "2.3.0",
|
|
253
|
+
"jiti": "2.6.1",
|
|
254
|
+
"jsonc-eslint-parser": "2.4.2",
|
|
255
|
+
"node-modules-inspector": "1.3.1",
|
|
256
|
+
"postcss-html": "1.8.1",
|
|
257
|
+
"simple-git-hooks": "2.13.1",
|
|
258
|
+
"stylelint": "17.1.0",
|
|
259
|
+
"stylelint-config-css-modules": "4.6.0",
|
|
260
|
+
"stylelint-config-html": "1.1.0",
|
|
261
|
+
"stylelint-config-recess-order": "7.6.0",
|
|
262
|
+
"stylelint-config-standard-scss": "17.0.0",
|
|
263
|
+
"stylelint-declaration-strict-value": "1.10.11",
|
|
264
|
+
"stylelint-order": "7.0.1",
|
|
265
|
+
"stylelint-plugin-defensive-css": "1.1.1",
|
|
266
|
+
"stylelint-plugin-logical-css": "1.3.0",
|
|
267
|
+
"stylelint-plugin-use-baseline": "1.2.1",
|
|
268
|
+
"stylelint-use-nesting": "6.0.1",
|
|
269
|
+
"svelte": "5.49.1",
|
|
270
|
+
"toml-eslint-parser": "1.0.3",
|
|
271
|
+
"tsdown": "0.16.0",
|
|
272
|
+
"type-fest": "5.4.3",
|
|
273
|
+
"typescript": "5.9.3",
|
|
274
|
+
"typescript-eslint": "8.54.0",
|
|
275
|
+
"vitest": "4.0.18",
|
|
276
|
+
"yaml-eslint-parser": "2.0.0"
|
|
277
|
+
},
|
|
278
|
+
"keywords": [
|
|
279
|
+
"dev",
|
|
280
|
+
"brnshkr",
|
|
281
|
+
"config",
|
|
282
|
+
"eslint",
|
|
283
|
+
"lint",
|
|
284
|
+
"linting"
|
|
285
|
+
],
|
|
286
|
+
"simple-git-hooks": {
|
|
287
|
+
"commit-msg": "bun lint:commit"
|
|
288
|
+
}
|
|
289
|
+
}
|