functional-examples 0.0.0-alpha.2 → 0.0.0-alpha.5

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.
@@ -9,7 +9,7 @@ export declare const scanCommand: import("cli-forge").CLI<{
9
9
  } & {} & {
10
10
  config?: string;
11
11
  } & {} & {
12
- format?: "json" | "table" | "yaml";
12
+ format?: "yaml" | "json" | "table";
13
13
  } & {} & {
14
14
  output?: string;
15
15
  } & {} & {
@@ -17,7 +17,7 @@ declare const app: import("cli-forge").CLI<{
17
17
  } & {} & {
18
18
  config?: string;
19
19
  } & {} & {
20
- format?: "table" | "json" | "yaml";
20
+ format?: "yaml" | "json" | "table";
21
21
  } & {} & {
22
22
  output?: string;
23
23
  } & {} & {
@@ -53,7 +53,7 @@ declare const app: import("cli-forge").CLI<{
53
53
  unmatched: string[];
54
54
  '--'?: string[];
55
55
  } & {
56
- format?: "json" | "ts";
56
+ format?: "ts" | "json";
57
57
  } & {} & {
58
58
  output?: string;
59
59
  } & {} & {
@@ -1 +1 @@
1
- {"version":3,"file":"merger.d.ts","sourceRoot":"","sources":["../../src/schema/merger.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAEhE;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IACnC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IACxC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,KAAK,CAAC,EAAE,UAAU,EAAE,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,wBAAwB;IACvC,aAAa,EAAE,iBAAiB,EAAE,CAAC;CACpC;AAED,MAAM,WAAW,2BAA2B;IAC1C,gEAAgE;IAChE,YAAY,CAAC,EAAE,UAAU,CAAC;IAC1B,8BAA8B;IAC9B,aAAa,EAAE,iBAAiB,EAAE,CAAC;CACpC;AA6DD;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,wBAAwB,GAAG,UAAU,CA4C/E;AA2ED;;;GAGG;AACH,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,2BAA2B,GACnC,UAAU,CA6BZ"}
1
+ {"version":3,"file":"merger.d.ts","sourceRoot":"","sources":["../../src/schema/merger.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAEhE;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IACnC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IACxC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,KAAK,CAAC,EAAE,UAAU,EAAE,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,wBAAwB;IACvC,aAAa,EAAE,iBAAiB,EAAE,CAAC;CACpC;AAED,MAAM,WAAW,2BAA2B;IAC1C,gEAAgE;IAChE,YAAY,CAAC,EAAE,UAAU,CAAC;IAC1B,8BAA8B;IAC9B,aAAa,EAAE,iBAAiB,EAAE,CAAC;CACpC;AA6DD;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,wBAAwB,GAAG,UAAU,CAkE/E;AA2ED;;;GAGG;AACH,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,2BAA2B,GACnC,UAAU,CA6BZ"}
@@ -63,6 +63,11 @@ export function mergeConfigSchema(options) {
63
63
  const schema = createBaseConfigSchema();
64
64
  const pluginRefs = [];
65
65
  for (const { pluginName, options: optionsSchema } of pluginSchemas) {
66
+ // Always add string format for every known plugin
67
+ pluginRefs.push({
68
+ const: pluginName,
69
+ description: `Use the default options for ${pluginName}`,
70
+ });
66
71
  if (!optionsSchema)
67
72
  continue;
68
73
  const defName = `${pluginName.replace(/[^a-zA-Z0-9]/g, '')}Options`;
@@ -74,12 +79,15 @@ export function mergeConfigSchema(options) {
74
79
  description: `Options for ${pluginName} plugin`,
75
80
  };
76
81
  schema.$defs = defs;
82
+ // Tuple format for plugins with options
77
83
  pluginRefs.push({
78
- type: 'object',
79
- properties: {
80
- name: { const: pluginName },
81
- options: { $ref: `#/$defs/${defName}` },
82
- },
84
+ type: 'array',
85
+ prefixItems: [
86
+ { const: pluginName },
87
+ { $ref: `#/$defs/${defName}` },
88
+ ],
89
+ minItems: 2,
90
+ maxItems: 2,
83
91
  });
84
92
  }
85
93
  catch {
@@ -87,16 +95,25 @@ export function mergeConfigSchema(options) {
87
95
  console.warn(`Invalid options schema for plugin ${pluginName}`);
88
96
  }
89
97
  }
90
- // Update plugins array to use anyOf if we have plugin schemas
91
- if (pluginRefs.length > 0) {
92
- const properties = schema.properties ?? {};
93
- properties.plugins = {
94
- type: 'array',
95
- description: 'Plugins to use for scanning and parsing',
96
- items: { anyOf: pluginRefs },
97
- };
98
- schema.properties = properties;
99
- }
98
+ // Add generic fallbacks for unknown plugins
99
+ pluginRefs.push({ type: 'string', description: 'Unknown plugin package name' }, {
100
+ type: 'array',
101
+ description: 'Unknown plugin with options',
102
+ prefixItems: [
103
+ { type: 'string' },
104
+ { type: 'object' },
105
+ ],
106
+ minItems: 1,
107
+ maxItems: 2,
108
+ });
109
+ // Update plugins array to use anyOf
110
+ const properties = schema.properties ?? {};
111
+ properties.plugins = {
112
+ type: 'array',
113
+ description: 'Plugins to use for scanning and parsing',
114
+ items: { anyOf: pluginRefs },
115
+ };
116
+ schema.properties = properties;
100
117
  return schema;
101
118
  }
102
119
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"merger.js","sourceRoot":"","sources":["../../src/schema/merger.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"merger.js","sourceRoot":"","sources":["../../src/schema/merger.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "functional-examples",
3
- "version": "0.0.0-alpha.2",
3
+ "version": "0.0.0-alpha.5",
4
4
  "author": {
5
5
  "name": "Craigory Coppola",
6
6
  "url": "https://craigory.dev"
@@ -36,7 +36,7 @@
36
36
  "jiti": "^2.4.2",
37
37
  "minimatch": "^10.0.0",
38
38
  "tinyglobby": "^0.2.15",
39
- "@functional-examples/devkit": "0.0.0-alpha.2"
39
+ "@functional-examples/devkit": "0.0.0-alpha.5"
40
40
  },
41
41
  "devDependencies": {
42
42
  "@types/node": "22.19.8",
@@ -1,5 +0,0 @@
1
- /**
2
- * Tests for configuration system
3
- */
4
- export {};
5
- //# sourceMappingURL=index.spec.d.ts.map
@@ -1,19 +0,0 @@
1
- /**
2
- * Lazy extractor module loading with caching
3
- */
4
- import type { BaseMetadata } from '../types/index.js';
5
- import type { MetadataExtractorFunction } from './types.js';
6
- /**
7
- * Resolve a module reference to a loaded extractor
8
- * @param ref - Package name, local path, or ExtractorConfig
9
- * @param basePath - Base directory for resolving local paths
10
- * @returns Loaded extractor or throws if module cannot be loaded
11
- */
12
- export declare function loadExtractor(ref: string | {
13
- module: string;
14
- }, basePath?: string): Promise<MetadataExtractorFunction<BaseMetadata>>;
15
- /**
16
- * Clear the module cache (useful for testing or config reload)
17
- */
18
- export declare function clearCache(): void;
19
- //# sourceMappingURL=loader.d.ts.map
@@ -1,19 +0,0 @@
1
- /**
2
- * meta.yml extractor for directory-based examples (function-based).
3
- *
4
- * Expected structure:
5
- * ```
6
- * examples/
7
- * my-example/
8
- * meta.yml
9
- * main.ts
10
- * helper.ts
11
- * ```
12
- */
13
- import type { MetadataExtractorFunction } from './types.js';
14
- import type { BaseMetadata } from '../types/index.js';
15
- /**
16
- * Extractor for directory-based examples with meta.yml.
17
- */
18
- export declare function createMetaYmlExtractor<TMetadata extends BaseMetadata = BaseMetadata>(): MetadataExtractorFunction<TMetadata>;
19
- //# sourceMappingURL=meta-yml-fn.d.ts.map
@@ -1,24 +0,0 @@
1
- /**
2
- * meta.yml extractor for directory-based examples.
3
- *
4
- * Expected structure:
5
- * ```
6
- * examples/
7
- * my-example/
8
- * meta.yml
9
- * main.ts
10
- * helper.ts
11
- * ```
12
- */
13
- import type { MetadataExtractor, ExtractionContext, ExtractedMetadata } from './types.js';
14
- /**
15
- * Extractor for directory-based examples with meta.yml.
16
- * Used by isolated-workers pattern.
17
- */
18
- export declare class MetaYmlExtractor implements MetadataExtractor {
19
- readonly name = "meta-yml";
20
- canExtract(context: ExtractionContext): boolean;
21
- extract(context: ExtractionContext): Promise<ExtractedMetadata>;
22
- private collectFiles;
23
- }
24
- //# sourceMappingURL=meta-yml.d.ts.map
@@ -1,58 +0,0 @@
1
- /**
2
- * Registry for metadata extractors (function-based with lazy loading)
3
- */
4
- import type { BaseMetadata } from '../types/index.js';
5
- import type { ExtractionContext, ExtractedMetadata, MetadataExtractorFunction } from './types.js';
6
- /**
7
- * Registry that holds metadata extractors and dispatches extraction requests.
8
- * Extractors are tried in registration order; first match wins.
9
- */
10
- export declare class ExtractorRegistry<TMetadata extends BaseMetadata = BaseMetadata> {
11
- private entries;
12
- private loadedExtractors;
13
- /**
14
- * Register a new extractor (immediate loading)
15
- */
16
- register(extractor: MetadataExtractorFunction<TMetadata>): this;
17
- /**
18
- * Register a lazy extractor reference (loaded on first use)
19
- */
20
- registerLazy(ref: string | {
21
- module: string;
22
- }, basePath?: string): this;
23
- /**
24
- * Get all registered extractors (immediate only)
25
- */
26
- getExtractors(): readonly MetadataExtractorFunction<TMetadata>[];
27
- /**
28
- * Find first extractor that can handle given context
29
- */
30
- findExtractor(context: ExtractionContext): Promise<MetadataExtractorFunction<TMetadata> | undefined>;
31
- /**
32
- * Extract metadata using first matching extractor
33
- */
34
- extract(context: ExtractionContext): Promise<ExtractedMetadata<TMetadata>>;
35
- /**
36
- * Clear module cache (for testing or config reload)
37
- */
38
- clearCache(): void;
39
- /**
40
- * Get extractor from entry, loading lazily if needed
41
- */
42
- private getExtractorForEntry;
43
- /**
44
- * Check if extractor can handle context
45
- */
46
- private checkCanExtract;
47
- /**
48
- * Perform extraction using extractor
49
- */
50
- private performExtract;
51
- }
52
- /**
53
- * Create a registry with default extractors:
54
- * - MetaYmlExtractor (for directory-based examples with meta.yml)
55
- * - YamlFrontmatterExtractor (for single-file examples with YAML frontmatter)
56
- */
57
- export declare function createDefaultRegistry(): ExtractorRegistry;
58
- //# sourceMappingURL=registry.d.ts.map
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=registry.spec.d.ts.map
@@ -1,18 +0,0 @@
1
- /**
2
- * YAML frontmatter extractor for single-file examples (function-based).
3
- *
4
- * Supports frontmatter in comment blocks:
5
- * ```typescript
6
- * // ---
7
- * // title: Example Title
8
- * // description: What this demonstrates
9
- * // ---
10
- * ```
11
- */
12
- import type { MetadataExtractorFunction } from './types.js';
13
- import type { BaseMetadata } from '../types/index.js';
14
- /**
15
- * Extractor for YAML frontmatter in single-file examples.
16
- */
17
- export declare function createYamlFrontmatterExtractor<TMetadata extends BaseMetadata = BaseMetadata>(): MetadataExtractorFunction<TMetadata>;
18
- //# sourceMappingURL=yaml-frontmatter-fn.d.ts.map
@@ -1,22 +0,0 @@
1
- /**
2
- * YAML frontmatter extractor for single-file examples.
3
- *
4
- * Supports frontmatter in comment blocks:
5
- * ```typescript
6
- * // ---
7
- * // title: Example Title
8
- * // description: What this demonstrates
9
- * // ---
10
- * ```
11
- */
12
- import type { MetadataExtractor, ExtractionContext, ExtractedMetadata } from './types.js';
13
- /**
14
- * Extractor for YAML frontmatter in single-file examples.
15
- * Used by cli-forge and flexibench patterns.
16
- */
17
- export declare class YamlFrontmatterExtractor implements MetadataExtractor {
18
- readonly name = "yaml-frontmatter";
19
- canExtract(context: ExtractionContext): boolean;
20
- extract(context: ExtractionContext): Promise<ExtractedMetadata>;
21
- }
22
- //# sourceMappingURL=yaml-frontmatter.d.ts.map
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=yaml-frontmatter.spec.d.ts.map
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=parser.spec.d.ts.map
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=scanner.spec.d.ts.map