@herb-tools/config 0.8.9 → 0.9.0

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.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACpC,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AACrD,OAAO,EAAE,8BAA8B,EAAE,6BAA6B,EAAE,MAAM,aAAa,CAAA"}
@@ -17,7 +17,7 @@ export function deepMerge(target, source) {
17
17
  continue;
18
18
  }
19
19
  if (Array.isArray(sourceValue)) {
20
- if (key === 'include' && Array.isArray(targetValue)) {
20
+ if ((key === 'include' || key === 'exclude') && Array.isArray(targetValue)) {
21
21
  ;
22
22
  output[key] = [...targetValue, ...sourceValue];
23
23
  }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"merge.js","sourceRoot":"","sources":["../src/merge.ts"],"names":[],"mappings":"AAIA,SAAS,QAAQ,CAAC,IAAa;IAC7B,OAAO,IAAI,KAAK,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;AAC1E,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,SAAS,CAAgC,MAAS,EAAE,MAAsB;IACxF,MAAM,MAAM,GAAG,EAAE,GAAG,MAAM,EAAE,CAAA;IAE5B,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;QACzB,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC;YACtD,MAAM,WAAW,GAAG,MAAM,CAAC,GAAG,CAAC,CAAA;YAC/B,MAAM,WAAW,GAAG,MAAM,CAAC,GAAG,CAAC,CAAA;YAE/B,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;gBAC9B,SAAQ;YACV,CAAC;YAED,IAAI,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;gBAC/B,IAAI,CAAC,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,SAAS,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;oBAC3E,CAAC;oBAAC,MAAc,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,WAAW,EAAE,GAAG,WAAW,CAAC,CAAA;gBAC1D,CAAC;qBAAM,CAAC;oBACN,CAAC;oBAAC,MAAc,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,WAAW,CAAC,CAAA;gBAC1C,CAAC;gBACD,SAAQ;YACV,CAAC;YAED,IAAI,QAAQ,CAAC,WAAW,CAAC,IAAI,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;gBACnD,CAAC;gBAAC,MAAc,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,WAAW,EAAE,WAAW,CAAC,CAAA;gBAE3D,SAAQ;YACV,CAAC;YAED,CAAC;YAAC,MAAc,CAAC,GAAG,CAAC,GAAG,WAAW,CAAA;QACrC,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAA;AACf,CAAC"}
@@ -55,12 +55,31 @@ export declare const FormatterConfigSchema: z.ZodOptional<z.ZodObject<{
55
55
  post: z.ZodOptional<z.ZodArray<z.ZodString>>;
56
56
  }, z.core.$strict>>;
57
57
  }, z.core.$strict>>;
58
+ export declare const ValidatorsConfigSchema: z.ZodOptional<z.ZodObject<{
59
+ security: z.ZodOptional<z.ZodBoolean>;
60
+ nesting: z.ZodOptional<z.ZodBoolean>;
61
+ accessibility: z.ZodOptional<z.ZodBoolean>;
62
+ }, z.core.$strict>>;
63
+ export declare const EngineConfigSchema: z.ZodOptional<z.ZodObject<{
64
+ validators: z.ZodOptional<z.ZodObject<{
65
+ security: z.ZodOptional<z.ZodBoolean>;
66
+ nesting: z.ZodOptional<z.ZodBoolean>;
67
+ accessibility: z.ZodOptional<z.ZodBoolean>;
68
+ }, z.core.$strict>>;
69
+ }, z.core.$strict>>;
58
70
  export declare const HerbConfigSchema: z.ZodObject<{
59
71
  version: z.ZodString;
60
72
  files: z.ZodOptional<z.ZodObject<{
61
73
  include: z.ZodOptional<z.ZodArray<z.ZodString>>;
62
74
  exclude: z.ZodOptional<z.ZodArray<z.ZodString>>;
63
75
  }, z.core.$strict>>;
76
+ engine: z.ZodOptional<z.ZodObject<{
77
+ validators: z.ZodOptional<z.ZodObject<{
78
+ security: z.ZodOptional<z.ZodBoolean>;
79
+ nesting: z.ZodOptional<z.ZodBoolean>;
80
+ accessibility: z.ZodOptional<z.ZodBoolean>;
81
+ }, z.core.$strict>>;
82
+ }, z.core.$strict>>;
64
83
  linter: z.ZodOptional<z.ZodObject<{
65
84
  enabled: z.ZodOptional<z.ZodBoolean>;
66
85
  failLevel: z.ZodOptional<z.ZodEnum<{
@@ -37,8 +37,17 @@ export type FormatterConfig = {
37
37
  post?: string[];
38
38
  };
39
39
  };
40
+ export type ValidatorsConfig = {
41
+ security?: boolean;
42
+ nesting?: boolean;
43
+ accessibility?: boolean;
44
+ };
45
+ export type EngineConfig = {
46
+ validators?: ValidatorsConfig;
47
+ };
40
48
  export type HerbConfigOptions = {
41
49
  files?: FilesConfig;
50
+ engine?: EngineConfig;
42
51
  linter?: LinterConfig;
43
52
  formatter?: FormatterConfig;
44
53
  };
@@ -91,8 +100,9 @@ export declare class Config {
91
100
  isRuleEnabled(ruleName: string): boolean;
92
101
  /**
93
102
  * Get the files configuration for a specific tool.
94
- * Tool-specific file config takes precedence over top-level config.
95
- * Include patterns are additive (defaults are already merged in this.config).
103
+ * Both include and exclude patterns are additive:
104
+ * - Include: defaults + files.include + tool.include
105
+ * - Exclude: defaults + files.exclude + tool.exclude
96
106
  * @param tool - The tool to get files config for ('linter' or 'formatter')
97
107
  * @returns The merged files configuration
98
108
  */
@@ -145,7 +155,7 @@ export declare class Config {
145
155
  private isPathIncluded;
146
156
  /**
147
157
  * Check if a tool (linter or formatter) is enabled for a specific file path.
148
- * Respects both the tool's enabled state and its exclude patterns.
158
+ * Respects the tool's enabled state and all exclude patterns (defaults + files.exclude + tool.exclude).
149
159
  * @param filePath - The file path to check
150
160
  * @param tool - The tool to check ('linter' or 'formatter')
151
161
  * @returns true if the tool is enabled for this path
@@ -167,11 +177,11 @@ export declare class Config {
167
177
  isFormatterEnabledForPath(filePath: string): boolean;
168
178
  /**
169
179
  * Check if a specific rule is enabled for a specific file path.
170
- * Respects linter.enabled, linter.exclude, rule.enabled, rule.include, rule.only, and rule.exclude patterns.
180
+ * Respects rule.enabled, rule.include, rule.only, and rule.exclude patterns.
171
181
  *
172
182
  * Pattern precedence:
173
- * - If rule.only is specified: Only files matching 'only' patterns (ignores all 'include' patterns)
174
- * - If rule.only is NOT specified: Files matching 'include' patterns (if specified, additive)
183
+ * - If rule.only or rule.include matches the path: bypasses parent excludes (linter.exclude, files.exclude, defaults)
184
+ * - If no rule.only/include patterns or path doesn't match: respects all parent excludes
175
185
  * - rule.exclude is always applied regardless of 'only' or 'include'
176
186
  *
177
187
  * @param ruleName - The name of the rule to check
@@ -35,7 +35,7 @@ function readExtensionsJson(filePath) {
35
35
  }
36
36
  return parsed;
37
37
  }
38
- catch (error) {
38
+ catch (_error) {
39
39
  console.warn(`Warning: Could not parse ${filePath}, creating new file`);
40
40
  return { recommendations: [] };
41
41
  }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vscode.js","sourceRoot":"","sources":["../src/vscode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAC3B,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,IAAI,CAAA;AAOvE,MAAM,iBAAiB,GAAG,oBAAoB,CAAA;AAC9C,MAAM,UAAU,GAAG,SAAS,CAAA;AAC5B,MAAM,eAAe,GAAG,iBAAiB,CAAA;AAEzC;;GAEG;AACH,SAAS,qBAAqB,CAAC,WAAmB;IAChD,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,EAAE,UAAU,CAAC,CAAA;IAE/C,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QAC3B,SAAS,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;IAC3C,CAAC;IAED,OAAO,SAAS,CAAA;AAClB,CAAC;AAED;;GAEG;AACH,SAAS,qBAAqB,CAAC,WAAmB;IAChD,MAAM,SAAS,GAAG,qBAAqB,CAAC,WAAW,CAAC,CAAA;IAEpD,OAAO,IAAI,CAAC,SAAS,EAAE,eAAe,CAAC,CAAA;AACzC,CAAC;AAED;;GAEG;AACH,SAAS,kBAAkB,CAAC,QAAgB;IAC1C,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC1B,OAAO,EAAE,eAAe,EAAE,EAAE,EAAE,CAAA;IAChC,CAAC;IAED,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;QAC/C,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;QAElC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,eAAe,CAAC,EAAE,CAAC;YAC3C,MAAM,CAAC,eAAe,GAAG,EAAE,CAAA;QAC7B,CAAC;QAED,OAAO,MAAM,CAAA;IACf,CAAC;IAAC,OAAO,MAAM,EAAE,CAAC;QAChB,OAAO,CAAC,IAAI,CAAC,4BAA4B,QAAQ,qBAAqB,CAAC,CAAA;QAEvE,OAAO,EAAE,eAAe,EAAE,EAAE,EAAE,CAAA;IAChC,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAS,mBAAmB,CAAC,QAAgB,EAAE,IAA0B;IACvE,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAA;IAEpD,aAAa,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,CAAA;AAC3C,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,8BAA8B,CAAC,WAAmB;IAChE,MAAM,cAAc,GAAG,qBAAqB,CAAC,WAAW,CAAC,CAAA;IACzD,MAAM,UAAU,GAAG,kBAAkB,CAAC,cAAc,CAAC,CAAA;IAErD,IAAI,UAAU,CAAC,eAAe,EAAE,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAAC;QAC5D,OAAO,KAAK,CAAA;IACd,CAAC;IAED,IAAI,CAAC,UAAU,CAAC,eAAe,EAAE,CAAC;QAChC,UAAU,CAAC,eAAe,GAAG,EAAE,CAAA;IACjC,CAAC;IAED,UAAU,CAAC,eAAe,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAA;IAElD,mBAAmB,CAAC,cAAc,EAAE,UAAU,CAAC,CAAA;IAE/C,OAAO,IAAI,CAAA;AACb,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,6BAA6B;IAC3C,OAAO,IAAI,CAAC,UAAU,EAAE,eAAe,CAAC,CAAA;AAC1C,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@herb-tools/config",
3
- "version": "0.8.9",
3
+ "version": "0.9.0",
4
4
  "description": "Shared configuration utilities for Herb tools",
5
5
  "license": "MIT",
6
6
  "homepage": "https://herb-tools.dev",
@@ -30,14 +30,14 @@
30
30
  }
31
31
  },
32
32
  "dependencies": {
33
- "@herb-tools/core": "0.8.9",
33
+ "@herb-tools/core": "0.9.0",
34
34
  "picomatch": "^4.0.2",
35
35
  "tinyglobby": "^0.2.15",
36
36
  "yaml": "^2.8.2"
37
37
  },
38
38
  "devDependencies": {
39
39
  "@types/picomatch": "^4.0.2",
40
- "zod": "^4.3.5",
40
+ "zod": "^4.3.6",
41
41
  "zod-validation-error": "^5.0.0"
42
42
  },
43
43
  "files": [
@@ -39,9 +39,20 @@ export const FormatterConfigSchema = z.object({
39
39
  rewriter: RewriterConfigSchema.describe("Rewriter configuration for pre and post-format transformations"),
40
40
  }).strict().optional()
41
41
 
42
+ export const ValidatorsConfigSchema = z.object({
43
+ security: z.boolean().optional().describe("Enable or disable the security validator (default: true)"),
44
+ nesting: z.boolean().optional().describe("Enable or disable the nesting validator (default: true)"),
45
+ accessibility: z.boolean().optional().describe("Enable or disable the accessibility validator (default: true)"),
46
+ }).strict().optional()
47
+
48
+ export const EngineConfigSchema = z.object({
49
+ validators: ValidatorsConfigSchema.describe("Per-validator enable/disable configuration"),
50
+ }).strict().optional()
51
+
42
52
  export const HerbConfigSchema = z.object({
43
53
  version: z.string().describe("Configuration file version"),
44
54
  files: FilesConfigSchema.describe("Top-level file configuration"),
55
+ engine: EngineConfigSchema.describe("Engine configuration"),
45
56
  linter: LinterConfigSchema,
46
57
  formatter: FormatterConfigSchema,
47
58
  }).strict()
@@ -11,7 +11,7 @@
11
11
  # GitHub Repo: https://github.com/marcoroth/herb
12
12
  #
13
13
 
14
- version: 0.8.9
14
+ version: 0.9.0
15
15
 
16
16
  # files:
17
17
  # # Additional patterns beyond the defaults (**.html, **.rhtml, **.html.erb, etc.)
@@ -24,6 +24,12 @@ version: 0.8.9
24
24
  # - 'public/**/*'
25
25
  # - 'tmp/**/*'
26
26
 
27
+ # engine:
28
+ # validators:
29
+ # security: true # default: true
30
+ # nesting: true # default: true
31
+ # accessibility: true # default: true
32
+
27
33
  linter:
28
34
  enabled: true
29
35
 
package/src/config.ts CHANGED
@@ -13,8 +13,10 @@ import { deepMerge } from "./merge.js"
13
13
 
14
14
  import packageJson from "../package.json"
15
15
  import configTemplate from "./config-template.yml"
16
+ import defaultsYaml from "../../../../lib/herb/defaults.yml"
16
17
 
17
18
  const DEFAULT_VERSION = packageJson.version
19
+ const PARSED_DEFAULTS = parse(defaultsYaml) as Omit<HerbConfig, 'version'>
18
20
 
19
21
  export interface ConfigValidationError {
20
22
  message: string
@@ -59,8 +61,19 @@ export type FormatterConfig = {
59
61
  }
60
62
  }
61
63
 
64
+ export type ValidatorsConfig = {
65
+ security?: boolean
66
+ nesting?: boolean
67
+ accessibility?: boolean
68
+ }
69
+
70
+ export type EngineConfig = {
71
+ validators?: ValidatorsConfig
72
+ }
73
+
62
74
  export type HerbConfigOptions = {
63
75
  files?: FilesConfig
76
+ engine?: EngineConfig
64
77
  linter?: LinterConfig
65
78
  formatter?: FormatterConfig
66
79
  }
@@ -168,8 +181,9 @@ export class Config {
168
181
 
169
182
  /**
170
183
  * Get the files configuration for a specific tool.
171
- * Tool-specific file config takes precedence over top-level config.
172
- * Include patterns are additive (defaults are already merged in this.config).
184
+ * Both include and exclude patterns are additive:
185
+ * - Include: defaults + files.include + tool.include
186
+ * - Exclude: defaults + files.exclude + tool.exclude
173
187
  * @param tool - The tool to get files config for ('linter' or 'formatter')
174
188
  * @returns The merged files configuration
175
189
  */
@@ -181,7 +195,9 @@ export class Config {
181
195
  const toolInclude = toolConfig?.include || []
182
196
  const include = [...topLevelInclude, ...toolInclude]
183
197
 
184
- const exclude = toolConfig?.exclude || topLevelFiles.exclude || []
198
+ const topLevelExclude = topLevelFiles.exclude || []
199
+ const toolExclude = toolConfig?.exclude || []
200
+ const exclude = [...topLevelExclude, ...toolExclude]
185
201
 
186
202
  return {
187
203
  include,
@@ -279,7 +295,7 @@ export class Config {
279
295
 
280
296
  /**
281
297
  * Check if a tool (linter or formatter) is enabled for a specific file path.
282
- * Respects both the tool's enabled state and its exclude patterns.
298
+ * Respects the tool's enabled state and all exclude patterns (defaults + files.exclude + tool.exclude).
283
299
  * @param filePath - The file path to check
284
300
  * @param tool - The tool to check ('linter' or 'formatter')
285
301
  * @returns true if the tool is enabled for this path
@@ -291,8 +307,8 @@ export class Config {
291
307
  return false
292
308
  }
293
309
 
294
- const toolConfig = tool === 'linter' ? this.config.linter : this.config.formatter
295
- const excludePatterns = toolConfig?.exclude || []
310
+ const filesConfig = this.getFilesConfigForTool(tool)
311
+ const excludePatterns = filesConfig.exclude || []
296
312
 
297
313
  return !this.isPathExcluded(filePath, excludePatterns)
298
314
  }
@@ -319,11 +335,11 @@ export class Config {
319
335
 
320
336
  /**
321
337
  * Check if a specific rule is enabled for a specific file path.
322
- * Respects linter.enabled, linter.exclude, rule.enabled, rule.include, rule.only, and rule.exclude patterns.
338
+ * Respects rule.enabled, rule.include, rule.only, and rule.exclude patterns.
323
339
  *
324
340
  * Pattern precedence:
325
- * - If rule.only is specified: Only files matching 'only' patterns (ignores all 'include' patterns)
326
- * - If rule.only is NOT specified: Files matching 'include' patterns (if specified, additive)
341
+ * - If rule.only or rule.include matches the path: bypasses parent excludes (linter.exclude, files.exclude, defaults)
342
+ * - If no rule.only/include patterns or path doesn't match: respects all parent excludes
327
343
  * - rule.exclude is always applied regardless of 'only' or 'include'
328
344
  *
329
345
  * @param ruleName - The name of the rule to check
@@ -331,7 +347,7 @@ export class Config {
331
347
  * @returns true if the rule is enabled for this path
332
348
  */
333
349
  public isRuleEnabledForPath(ruleName: string, filePath: string): boolean {
334
- if (!this.isLinterEnabledForPath(filePath)) {
350
+ if (!this.isLinterEnabled) {
335
351
  return false
336
352
  }
337
353
 
@@ -344,12 +360,24 @@ export class Config {
344
360
  const ruleIncludePatterns = ruleConfig?.include || []
345
361
  const ruleExcludePatterns = ruleConfig?.exclude || []
346
362
 
363
+ let bypassParentExcludes = false
364
+
347
365
  if (ruleOnlyPatterns.length > 0) {
348
- if (!this.isPathIncluded(filePath, ruleOnlyPatterns)) {
366
+ if (this.isPathIncluded(filePath, ruleOnlyPatterns)) {
367
+ bypassParentExcludes = true
368
+ } else {
349
369
  return false
350
370
  }
351
371
  } else if (ruleIncludePatterns.length > 0) {
352
- if (!this.isPathIncluded(filePath, ruleIncludePatterns)) {
372
+ if (this.isPathIncluded(filePath, ruleIncludePatterns)) {
373
+ bypassParentExcludes = true
374
+ } else {
375
+ return false
376
+ }
377
+ }
378
+
379
+ if (!bypassParentExcludes) {
380
+ if (!this.isLinterEnabledForPath(filePath)) {
353
381
  return false
354
382
  }
355
383
  }
@@ -755,7 +783,7 @@ export class Config {
755
783
  }
756
784
  }
757
785
 
758
- if (/^ [a-z][\w-]*:/.test(line) && prevLine && /^ /.test(prevLine)) {
786
+ if (/^ [a-z][\w-]*:/.test(line) && prevLine && prevLine.startsWith(' ')) {
759
787
  result.push('')
760
788
  }
761
789
 
@@ -959,7 +987,7 @@ export class Config {
959
987
  if (!silent) {
960
988
  console.error(`✓ Created default configuration at ${configPath}`)
961
989
  }
962
- } catch (error) {
990
+ } catch (_error) {
963
991
  if (!silent) {
964
992
  console.error(`⚠ Could not create config file at ${configPath}, using defaults in-memory`)
965
993
  }
@@ -1073,69 +1101,66 @@ export class Config {
1073
1101
  version: string,
1074
1102
  exitOnError: boolean = false
1075
1103
  ): Promise<Config> {
1076
- try {
1077
- const content = await fs.readFile(configPath, "utf8")
1104
+ const content = await fs.readFile(configPath, "utf8")
1078
1105
 
1079
- let parsed: any
1080
- try {
1081
- parsed = parse(content)
1082
- } catch (error) {
1083
- if (exitOnError) {
1084
- console.error(`\n✗ Invalid YAML syntax in ${configPath}`)
1106
+ let parsed: any
1085
1107
 
1086
- if (error instanceof Error) {
1087
- console.error(` ${error.message}\n`)
1088
- }
1089
- process.exit(1)
1090
- } else {
1091
- throw new Error(`Invalid YAML syntax in ${configPath}: ${error instanceof Error ? error.message : String(error)}`)
1108
+ try {
1109
+ parsed = parse(content)
1110
+ } catch (error) {
1111
+ if (exitOnError) {
1112
+ console.error(`\n✗ Invalid YAML syntax in ${configPath}`)
1113
+
1114
+ if (error instanceof Error) {
1115
+ console.error(` ${error.message}\n`)
1092
1116
  }
1117
+ process.exit(1)
1118
+ } else {
1119
+ throw new Error(`Invalid YAML syntax in ${configPath}: ${error instanceof Error ? error.message : String(error)}`)
1093
1120
  }
1121
+ }
1094
1122
 
1095
- if (parsed === null || parsed === undefined) {
1096
- parsed = {}
1097
- }
1123
+ if (parsed === null || parsed === undefined) {
1124
+ parsed = {}
1125
+ }
1098
1126
 
1099
- if (!parsed.version) {
1100
- parsed.version = version
1101
- }
1127
+ if (!parsed.version) {
1128
+ parsed.version = version
1129
+ }
1102
1130
 
1103
- try {
1104
- HerbConfigSchema.parse(parsed)
1105
- } catch (error) {
1106
- if (error instanceof ZodError) {
1107
- const validationError = fromZodError(error, {
1108
- prefix: `Configuration errors in ${configPath}`,
1109
- })
1110
-
1111
- if (exitOnError) {
1112
- console.error(`\n✗ ${validationError.toString()}\n`)
1113
-
1114
- process.exit(1)
1115
- } else {
1116
- throw new Error(validationError.toString())
1117
- }
1118
- }
1131
+ try {
1132
+ HerbConfigSchema.parse(parsed)
1133
+ } catch (error) {
1134
+ if (error instanceof ZodError) {
1135
+ const validationError = fromZodError(error, {
1136
+ prefix: `Configuration errors in ${configPath}`,
1137
+ })
1119
1138
 
1120
- throw error
1121
- }
1139
+ if (exitOnError) {
1140
+ console.error(`\n✗ ${validationError.toString()}\n`)
1122
1141
 
1123
- if (parsed.version && parsed.version !== version) {
1124
- console.error(`\n⚠️ Configuration version mismatch in ${configPath}`)
1125
- console.error(` Config version: ${parsed.version}`)
1126
- console.error(` Current version: ${version}`)
1127
- console.error(` Consider updating your .herb.yml file.\n`)
1142
+ process.exit(1)
1143
+ } else {
1144
+ throw new Error(validationError.toString())
1145
+ }
1128
1146
  }
1129
1147
 
1130
- const defaults = this.getDefaultConfig(version)
1131
- const resolved = deepMerge(defaults, parsed as Partial<HerbConfig>)
1132
-
1133
- resolved.version = version
1134
-
1135
- return new Config(projectRoot, resolved)
1136
- } catch (error) {
1137
1148
  throw error
1138
1149
  }
1150
+
1151
+ if (parsed.version && parsed.version !== version) {
1152
+ console.error(`\n⚠️ Configuration version mismatch in ${configPath}`)
1153
+ console.error(` Config version: ${parsed.version}`)
1154
+ console.error(` Current version: ${version}`)
1155
+ console.error(` Consider updating your .herb.yml file.\n`)
1156
+ }
1157
+
1158
+ const defaults = this.getDefaultConfig(version)
1159
+ const resolved = deepMerge(defaults, parsed as Partial<HerbConfig>)
1160
+
1161
+ resolved.version = version
1162
+
1163
+ return new Config(projectRoot, resolved)
1139
1164
  }
1140
1165
 
1141
1166
  /**
@@ -1144,29 +1169,7 @@ export class Config {
1144
1169
  private static getDefaultConfig(version: string = DEFAULT_VERSION): HerbConfig {
1145
1170
  return {
1146
1171
  version,
1147
- files: {
1148
- include: [
1149
- '**/*.html',
1150
- '**/*.rhtml',
1151
- '**/*.html.erb',
1152
- '**/*.html+*.erb',
1153
- '**/*.turbo_stream.erb'
1154
- ],
1155
- exclude: [
1156
- 'node_modules/**/*',
1157
- 'vendor/bundle/**/*',
1158
- 'coverage/**/*',
1159
- ]
1160
- },
1161
- linter: {
1162
- enabled: true,
1163
- rules: {}
1164
- },
1165
- formatter: {
1166
- enabled: false,
1167
- indentWidth: 2,
1168
- maxLineLength: 80
1169
- }
1172
+ ...PARSED_DEFAULTS
1170
1173
  }
1171
1174
  }
1172
1175
  }
package/src/merge.ts CHANGED
@@ -25,7 +25,7 @@ export function deepMerge<T extends Record<string, any>>(target: T, source: Deep
25
25
  }
26
26
 
27
27
  if (Array.isArray(sourceValue)) {
28
- if (key === 'include' && Array.isArray(targetValue)) {
28
+ if ((key === 'include' || key === 'exclude') && Array.isArray(targetValue)) {
29
29
  ;(output as any)[key] = [...targetValue, ...sourceValue]
30
30
  } else {
31
31
  ;(output as any)[key] = [...sourceValue]
package/src/vscode.ts CHANGED
@@ -49,7 +49,7 @@ function readExtensionsJson(filePath: string): VSCodeExtensionsJson {
49
49
  }
50
50
 
51
51
  return parsed
52
- } catch (error) {
52
+ } catch (_error) {
53
53
  console.warn(`Warning: Could not parse ${filePath}, creating new file`)
54
54
 
55
55
  return { recommendations: [] }
package/dist/package.json DELETED
@@ -1,49 +0,0 @@
1
- {
2
- "name": "@herb-tools/config",
3
- "version": "0.8.9",
4
- "description": "Shared configuration utilities for Herb tools",
5
- "license": "MIT",
6
- "homepage": "https://herb-tools.dev",
7
- "bugs": "https://github.com/marcoroth/herb/issues/new?title=Package%20%60@herb-tools/config%60:%20",
8
- "repository": {
9
- "type": "git",
10
- "url": "git+https://github.com/marcoroth/herb.git",
11
- "directory": "javascript/packages/config"
12
- },
13
- "main": "./dist/herb-config.cjs",
14
- "module": "./dist/herb-config.esm.js",
15
- "types": "./dist/types/index.d.ts",
16
- "scripts": {
17
- "clean": "rimraf dist",
18
- "build": "yarn clean && tsc -b && rollup -c",
19
- "dev": "tsc -b -w",
20
- "test": "vitest run",
21
- "prepublishOnly": "yarn clean && yarn build && yarn test"
22
- },
23
- "exports": {
24
- "./package.json": "./package.json",
25
- ".": {
26
- "types": "./dist/types/index.d.ts",
27
- "import": "./dist/herb-config.esm.js",
28
- "require": "./dist/herb-config.cjs",
29
- "default": "./dist/herb-config.esm.js"
30
- }
31
- },
32
- "dependencies": {
33
- "@herb-tools/core": "0.8.9",
34
- "picomatch": "^4.0.2",
35
- "tinyglobby": "^0.2.15",
36
- "yaml": "^2.8.2"
37
- },
38
- "devDependencies": {
39
- "@types/picomatch": "^4.0.2",
40
- "zod": "^4.3.5",
41
- "zod-validation-error": "^5.0.0"
42
- },
43
- "files": [
44
- "package.json",
45
- "README.md",
46
- "src/",
47
- "dist/"
48
- ]
49
- }
@@ -1 +0,0 @@
1
- {"version":3,"file":"config-schema.js","sourceRoot":"","sources":["../../src/config-schema.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/config.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACpC,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AACrD,OAAO,EAAE,8BAA8B,EAAE,6BAA6B,EAAE,MAAM,aAAa,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"merge.js","sourceRoot":"","sources":["../../src/merge.ts"],"names":[],"mappings":"AAIA,SAAS,QAAQ,CAAC,IAAa;IAC7B,OAAO,IAAI,KAAK,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;AAC1E,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,SAAS,CAAgC,MAAS,EAAE,MAAsB;IACxF,MAAM,MAAM,GAAG,EAAE,GAAG,MAAM,EAAE,CAAA;IAE5B,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;QACzB,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC;YACtD,MAAM,WAAW,GAAG,MAAM,CAAC,GAAG,CAAC,CAAA;YAC/B,MAAM,WAAW,GAAG,MAAM,CAAC,GAAG,CAAC,CAAA;YAE/B,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;gBAC9B,SAAQ;YACV,CAAC;YAED,IAAI,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;gBAC/B,IAAI,GAAG,KAAK,SAAS,IAAI,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;oBACpD,CAAC;oBAAC,MAAc,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,WAAW,EAAE,GAAG,WAAW,CAAC,CAAA;gBAC1D,CAAC;qBAAM,CAAC;oBACN,CAAC;oBAAC,MAAc,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,WAAW,CAAC,CAAA;gBAC1C,CAAC;gBACD,SAAQ;YACV,CAAC;YAED,IAAI,QAAQ,CAAC,WAAW,CAAC,IAAI,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;gBACnD,CAAC;gBAAC,MAAc,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,WAAW,EAAE,WAAW,CAAC,CAAA;gBAE3D,SAAQ;YACV,CAAC;YAED,CAAC;YAAC,MAAc,CAAC,GAAG,CAAC,GAAG,WAAW,CAAA;QACrC,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAA;AACf,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"vscode.js","sourceRoot":"","sources":["../../src/vscode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAC3B,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,IAAI,CAAA;AAOvE,MAAM,iBAAiB,GAAG,oBAAoB,CAAA;AAC9C,MAAM,UAAU,GAAG,SAAS,CAAA;AAC5B,MAAM,eAAe,GAAG,iBAAiB,CAAA;AAEzC;;GAEG;AACH,SAAS,qBAAqB,CAAC,WAAmB;IAChD,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,EAAE,UAAU,CAAC,CAAA;IAE/C,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QAC3B,SAAS,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;IAC3C,CAAC;IAED,OAAO,SAAS,CAAA;AAClB,CAAC;AAED;;GAEG;AACH,SAAS,qBAAqB,CAAC,WAAmB;IAChD,MAAM,SAAS,GAAG,qBAAqB,CAAC,WAAW,CAAC,CAAA;IAEpD,OAAO,IAAI,CAAC,SAAS,EAAE,eAAe,CAAC,CAAA;AACzC,CAAC;AAED;;GAEG;AACH,SAAS,kBAAkB,CAAC,QAAgB;IAC1C,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC1B,OAAO,EAAE,eAAe,EAAE,EAAE,EAAE,CAAA;IAChC,CAAC;IAED,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;QAC/C,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;QAElC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,eAAe,CAAC,EAAE,CAAC;YAC3C,MAAM,CAAC,eAAe,GAAG,EAAE,CAAA;QAC7B,CAAC;QAED,OAAO,MAAM,CAAA;IACf,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,IAAI,CAAC,4BAA4B,QAAQ,qBAAqB,CAAC,CAAA;QAEvE,OAAO,EAAE,eAAe,EAAE,EAAE,EAAE,CAAA;IAChC,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAS,mBAAmB,CAAC,QAAgB,EAAE,IAA0B;IACvE,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAA;IAEpD,aAAa,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,CAAA;AAC3C,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,8BAA8B,CAAC,WAAmB;IAChE,MAAM,cAAc,GAAG,qBAAqB,CAAC,WAAW,CAAC,CAAA;IACzD,MAAM,UAAU,GAAG,kBAAkB,CAAC,cAAc,CAAC,CAAA;IAErD,IAAI,UAAU,CAAC,eAAe,EAAE,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAAC;QAC5D,OAAO,KAAK,CAAA;IACd,CAAC;IAED,IAAI,CAAC,UAAU,CAAC,eAAe,EAAE,CAAC;QAChC,UAAU,CAAC,eAAe,GAAG,EAAE,CAAA;IACjC,CAAC;IAED,UAAU,CAAC,eAAe,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAA;IAElD,mBAAmB,CAAC,cAAc,EAAE,UAAU,CAAC,CAAA;IAE/C,OAAO,IAAI,CAAA;AACb,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,6BAA6B;IAC3C,OAAO,IAAI,CAAC,UAAU,EAAE,eAAe,CAAC,CAAA;AAC1C,CAAC"}
@@ -1 +0,0 @@
1
- {"root":["../src/config-schema.ts","../src/config.ts","../src/index.ts","../src/merge.ts","../src/vscode.ts","../src/yaml.d.ts"],"version":"5.9.3"}