@vibe-validate/config 0.14.3 → 0.15.0-rc.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/README.md CHANGED
@@ -37,7 +37,7 @@ All templates: https://github.com/jdutton/vibe-validate/tree/main/packages/cli/c
37
37
 
38
38
  <!-- config:example -->
39
39
  ```yaml
40
- $schema: https://raw.githubusercontent.com/jdutton/vibe-validate/main/packages/config/vibe-validate.schema.json
40
+ $schema: https://unpkg.com/@vibe-validate/config/config.schema.json
41
41
 
42
42
  # Git settings
43
43
  git:
@@ -74,15 +74,26 @@ The `$schema` property enables IDE autocomplete and validation:
74
74
 
75
75
  <!-- config:partial -->
76
76
  ```yaml
77
- $schema: https://raw.githubusercontent.com/jdutton/vibe-validate/main/packages/config/vibe-validate.schema.json
77
+ # Version-pinned (recommended for production)
78
+ $schema: https://unpkg.com/@vibe-validate/config@0.15.0/config.schema.json
79
+
80
+ # Latest version (auto-updates to newest)
81
+ $schema: https://unpkg.com/@vibe-validate/config/config.schema.json
78
82
  ```
79
83
 
84
+ **Versioning Strategy:**
85
+ - **Version-pinned URLs** - Match your installed package version, stable API
86
+ - **Latest URLs** - Auto-update to newest schema, good for docs/prototyping
87
+ - **`vibe-validate init`** - Automatically generates version-pinned URLs
88
+
80
89
  This gives you:
81
90
  - ✅ Autocomplete for all configuration properties
82
91
  - ✅ Inline validation errors
83
92
  - ✅ Hover documentation for each field
84
93
  - ✅ Type checking for YAML configs
85
94
 
95
+ See [Schema Documentation](../../docs/schemas.md) for complete details on versioning and all published schemas.
96
+
86
97
  ## API (Programmatic Usage)
87
98
 
88
99
  ### `loadConfig(cwd?)`
package/dist/index.d.ts CHANGED
@@ -7,7 +7,7 @@
7
7
  * @example Basic YAML configuration
8
8
  * ```yaml
9
9
  * # vibe-validate.config.yaml
10
- * $schema: https://raw.githubusercontent.com/jdutton/vibe-validate/main/packages/config/vibe-validate.schema.json
10
+ * $schema: https://raw.githubusercontent.com/jdutton/vibe-validate/main/packages/config/config.schema.json
11
11
  *
12
12
  * git:
13
13
  * mainBranch: main
package/dist/index.js CHANGED
@@ -7,7 +7,7 @@
7
7
  * @example Basic YAML configuration
8
8
  * ```yaml
9
9
  * # vibe-validate.config.yaml
10
- * $schema: https://raw.githubusercontent.com/jdutton/vibe-validate/main/packages/config/vibe-validate.schema.json
10
+ * $schema: https://raw.githubusercontent.com/jdutton/vibe-validate/main/packages/config/config.schema.json
11
11
  *
12
12
  * git:
13
13
  * mainBranch: main
package/dist/loader.js CHANGED
@@ -49,8 +49,8 @@ export async function findAndLoadConfig(cwd = process.cwd()) {
49
49
  try {
50
50
  return await loadConfigFromFile(configPath);
51
51
  }
52
- catch (err) {
53
- console.debug(`Failed to load config from ${configPath}: ${err instanceof Error ? err.message : String(err)}`);
52
+ catch {
53
+ // Config file doesn't exist or failed to load - return undefined
54
54
  return undefined;
55
55
  }
56
56
  }
@@ -9,7 +9,7 @@
9
9
  *
10
10
  * This schema can be referenced in YAML files using the $schema property:
11
11
  * ```yaml
12
- * $schema: ./node_modules/@vibe-validate/config/vibe-validate.schema.json
12
+ * $schema: ./node_modules/@vibe-validate/config/config.schema.json
13
13
  * validation:
14
14
  * phases: []
15
15
  * ```
@@ -11,7 +11,7 @@ import { VibeValidateConfigSchema } from './schema.js';
11
11
  *
12
12
  * This schema can be referenced in YAML files using the $schema property:
13
13
  * ```yaml
14
- * $schema: ./node_modules/@vibe-validate/config/vibe-validate.schema.json
14
+ * $schema: ./node_modules/@vibe-validate/config/config.schema.json
15
15
  * validation:
16
16
  * phases: []
17
17
  * ```
package/dist/schema.d.ts CHANGED
@@ -759,14 +759,20 @@ export type VibeValidateConfig = z.input<typeof VibeValidateConfigSchema>;
759
759
  */
760
760
  export declare function validateConfig(config: unknown): VibeValidateConfig;
761
761
  /**
762
- * Safely validate configuration with detailed error messages
762
+ * Safe validation function for VibeValidateConfig
763
763
  *
764
- * @param config - Configuration object to validate
765
- * @returns Result object with success flag and data or errors
764
+ * NOTE: This duplicates the pattern from @vibe-validate/core's createSafeValidator.
765
+ * We can't import from core here due to circular dependency (core → config).
766
+ * This is an acceptable trade-off for a foundational package.
767
+ *
768
+ * @param config - Configuration data to validate
769
+ * @returns Validation result with success/error information
766
770
  */
767
771
  export declare function safeValidateConfig(config: unknown): {
768
- success: boolean;
769
- data?: VibeValidateConfig;
770
- errors?: string[];
772
+ success: true;
773
+ data: VibeValidateConfig;
774
+ } | {
775
+ success: false;
776
+ errors: string[];
771
777
  };
772
778
  //# sourceMappingURL=schema.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"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"}
package/dist/schema.js CHANGED
@@ -184,20 +184,24 @@ export function validateConfig(config) {
184
184
  return VibeValidateConfigSchema.parse(config);
185
185
  }
186
186
  /**
187
- * Safely validate configuration with detailed error messages
187
+ * Safe validation function for VibeValidateConfig
188
188
  *
189
- * @param config - Configuration object to validate
190
- * @returns Result object with success flag and data or errors
189
+ * NOTE: This duplicates the pattern from @vibe-validate/core's createSafeValidator.
190
+ * We can't import from core here due to circular dependency (core → config).
191
+ * This is an acceptable trade-off for a foundational package.
192
+ *
193
+ * @param config - Configuration data to validate
194
+ * @returns Validation result with success/error information
191
195
  */
192
196
  export function safeValidateConfig(config) {
193
197
  const result = VibeValidateConfigSchema.safeParse(config);
194
198
  if (result.success) {
195
199
  return { success: true, data: result.data };
196
200
  }
197
- // Format Zod errors into readable messages
198
- const errors = result.error.issues.map(err => {
199
- const path = err.path.map(String).join('.');
200
- return `${path}: ${err.message}`;
201
+ // Extract error messages with full path
202
+ const errors = result.error.errors.map(err => {
203
+ const path = err.path.join('.');
204
+ return path ? `${path}: ${err.message}` : err.message;
201
205
  });
202
206
  return { success: false, errors };
203
207
  }
@@ -2,7 +2,7 @@
2
2
  /**
3
3
  * Generate JSON Schema File
4
4
  *
5
- * Creates vibe-validate.schema.json in the package root for use in YAML configs.
5
+ * Creates config.schema.json in the package root for use in YAML configs.
6
6
  * This script runs during the build process.
7
7
  */
8
8
  export {};
@@ -2,7 +2,7 @@
2
2
  /**
3
3
  * Generate JSON Schema File
4
4
  *
5
- * Creates vibe-validate.schema.json in the package root for use in YAML configs.
5
+ * Creates config.schema.json in the package root for use in YAML configs.
6
6
  * This script runs during the build process.
7
7
  */
8
8
  import { writeFileSync } from 'node:fs';
@@ -12,7 +12,7 @@ import { vibeValidateJsonSchema } from '../schema-export.js';
12
12
  const __filename = fileURLToPath(import.meta.url);
13
13
  const __dirname = dirname(__filename);
14
14
  const packageRoot = join(__dirname, '..', '..');
15
- const schemaPath = join(packageRoot, 'vibe-validate.schema.json');
15
+ const schemaPath = join(packageRoot, 'config.schema.json');
16
16
  // Generate and write schema file
17
17
  writeFileSync(schemaPath, JSON.stringify(vibeValidateJsonSchema, null, 2), 'utf-8');
18
- console.log('✓ Generated vibe-validate.schema.json');
18
+ console.log('✓ Generated config.schema.json');
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vibe-validate/config",
3
- "version": "0.14.3",
3
+ "version": "0.15.0-rc.1",
4
4
  "description": "Configuration system for vibe-validate with TypeScript-first design and config templates",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -13,7 +13,7 @@
13
13
  },
14
14
  "files": [
15
15
  "dist",
16
- "vibe-validate.schema.json"
16
+ "config.schema.json"
17
17
  ],
18
18
  "keywords": [
19
19
  "validation",
@@ -46,6 +46,6 @@
46
46
  },
47
47
  "scripts": {
48
48
  "build": "tsc && node --import tsx ./src/scripts/generate-schema.ts",
49
- "clean": "rm -rf dist vibe-validate.schema.json"
49
+ "clean": "rm -rf dist config.schema.json"
50
50
  }
51
51
  }