@formspec/cli 0.1.0-alpha.5 → 0.1.0-alpha.7

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
@@ -42,6 +42,137 @@ formspec generate ./src/forms.ts MyClass -o ./generated
42
42
  formspec generate ./src/forms.ts -o ./generated
43
43
  ```
44
44
 
45
+ ## Commands
46
+
47
+ ### `generate` - Build-time Schema Generation
48
+
49
+ Generate JSON Schema and UI Schema files from TypeScript source files.
50
+
51
+ ```bash
52
+ formspec generate <file> [className] [options]
53
+ ```
54
+
55
+ **Arguments:**
56
+ - `<file>` - Path to TypeScript source file
57
+ - `[className]` - Optional class name to analyze (required for decorated classes)
58
+
59
+ **Options:**
60
+ - `-o, --output <dir>` - Output directory (default: `./generated`)
61
+ - `-c, --compiled <path>` - Path to compiled JS file (auto-detected if omitted)
62
+
63
+ **Examples:**
64
+ ```bash
65
+ # Generate from a decorated class
66
+ formspec generate ./src/forms.ts UserForm -o ./generated
67
+
68
+ # Generate from chain DSL exports (requires compiled JS)
69
+ tsc && formspec generate ./src/forms.ts -o ./generated
70
+ ```
71
+
72
+ ### `codegen` - Runtime Type Metadata Generation
73
+
74
+ Generate a TypeScript file that patches decorated classes with type metadata, enabling runtime schema generation.
75
+
76
+ ```bash
77
+ formspec codegen <files...> [options]
78
+ ```
79
+
80
+ **Arguments:**
81
+ - `<files...>` - TypeScript source files to analyze
82
+
83
+ **Options:**
84
+ - `-o, --output <file>` - Output file (default: `./__formspec_types__.ts`)
85
+
86
+ **Examples:**
87
+ ```bash
88
+ # Generate type metadata for a single file
89
+ formspec codegen ./src/forms.ts -o ./src/__formspec_types__.ts
90
+
91
+ # Generate for multiple files
92
+ formspec codegen ./src/**/*.ts -o ./src/__formspec_types__.ts
93
+ ```
94
+
95
+ **Usage in code:**
96
+ ```typescript
97
+ // Import once at application entry point (side-effect import)
98
+ import './__formspec_types__.js';
99
+
100
+ // Then use runtime schema generation
101
+ import { UserForm } from './forms.js';
102
+ import { buildFormSchemas } from '@formspec/decorators';
103
+
104
+ const { jsonSchema, uiSchema } = buildFormSchemas(UserForm);
105
+ ```
106
+
107
+ **When to use `codegen`:**
108
+ - You want to generate schemas at runtime (not build time)
109
+ - You're using the decorator DSL (not chain DSL)
110
+ - You need type information that TypeScript erases at compile time
111
+
112
+ > **Note:** The chain DSL (`@formspec/dsl`) doesn't require codegen because it preserves type information at runtime.
113
+
114
+ ## Output Formats
115
+
116
+ FormSpec supports two output formats for UI schemas:
117
+
118
+ ### FormSpec Native Format (`ux_spec.json`)
119
+
120
+ Generated by the CLI's `generate` command. Uses FormSpec's internal representation:
121
+
122
+ ```json
123
+ {
124
+ "elements": [
125
+ {
126
+ "_field": "text",
127
+ "id": "name",
128
+ "label": "Full Name",
129
+ "required": true
130
+ },
131
+ {
132
+ "_field": "enum",
133
+ "id": "country",
134
+ "label": "Country",
135
+ "options": [
136
+ { "id": "us", "label": "United States" },
137
+ { "id": "ca", "label": "Canada" }
138
+ ]
139
+ }
140
+ ]
141
+ }
142
+ ```
143
+
144
+ ### JSON Forms Format (`uiSchema`)
145
+
146
+ Generated by `buildFormSchemas()` at runtime. Compatible with [JSON Forms](https://jsonforms.io/):
147
+
148
+ ```json
149
+ {
150
+ "type": "VerticalLayout",
151
+ "elements": [
152
+ {
153
+ "type": "Control",
154
+ "scope": "#/properties/name",
155
+ "label": "Full Name"
156
+ },
157
+ {
158
+ "type": "Control",
159
+ "scope": "#/properties/country",
160
+ "label": "Country"
161
+ }
162
+ ]
163
+ }
164
+ ```
165
+
166
+ ### Which Format to Use
167
+
168
+ | Use Case | Format | Generated By |
169
+ |----------|--------|--------------|
170
+ | Custom form renderer | FormSpec Native | `formspec generate` CLI |
171
+ | JSON Forms library | JSON Forms | `buildFormSchemas()` |
172
+ | Server-side generation | Either | Depends on your renderer |
173
+
174
+ Both formats are generated from the same FormSpec definition, ensuring consistency between build-time and runtime generation.
175
+
45
176
  ## When to Use
46
177
 
47
178
  ### Decorators + CLI vs Chain DSL
package/dist/index.js CHANGED
@@ -255,25 +255,41 @@ async function main() {
255
255
  const compiledPath = generateOptions.compiledPath ?? resolveCompiledPath(generateOptions.filePath);
256
256
  // Step 3: Load all FormSpec exports from compiled module
257
257
  let loadedFormSpecs = new Map();
258
+ let loadError;
258
259
  try {
259
260
  const { formSpecs } = await loadFormSpecs(compiledPath);
260
261
  loadedFormSpecs = formSpecs;
261
262
  console.log(`✓ Loaded ${formSpecs.size} FormSpec export(s) from module`);
262
263
  }
263
- catch {
264
- // This is not an error - runtime loading is only needed for:
265
- // 1. Chain DSL FormSpec exports (formspec(...))
266
- // 2. Method parameters using InferSchema<typeof X>
267
- // Static class analysis works without compiled output
264
+ catch (error) {
265
+ // Track load errors for better messaging later
266
+ // Runtime loading is only needed for chain DSL exports and method parameters
267
+ if (error instanceof Error && error.message.includes("Cannot find module")) {
268
+ loadError = `Compiled file not found at: ${compiledPath}`;
269
+ }
268
270
  }
269
271
  // Step 4: If className specified, analyze the class
270
272
  if (!generateOptions.className && loadedFormSpecs.size === 0) {
271
- // No class name and no FormSpec exports - warn the user
273
+ // No class name and no FormSpec exports - provide context-aware error
272
274
  console.warn("⚠️ No class name specified and no FormSpec exports found.");
273
- console.warn(" For decorated classes, specify the class name:");
274
- console.warn(` formspec generate ${generateOptions.filePath} <ClassName> -o ${generateOptions.outDir}`);
275
- console.warn(" For chain DSL, export a FormSpec from your file:");
276
- console.warn(" export const MyForm = formspec(...);");
275
+ console.warn();
276
+ if (loadError) {
277
+ // Compiled file doesn't exist - suggest building first
278
+ console.warn(" For chain DSL forms, compile your TypeScript first:");
279
+ console.warn(` ${loadError}`);
280
+ console.warn();
281
+ console.warn(" Run your build tool (tsc, esbuild, swc, etc.) then try again.");
282
+ console.warn(" Or use -c/--compiled to specify the JS path explicitly:");
283
+ console.warn(` npx formspec generate ${generateOptions.filePath} -c ./dist/forms.js -o ${generateOptions.outDir}`);
284
+ }
285
+ else {
286
+ // Compiled file exists but no FormSpec exports found
287
+ console.warn(" For decorated classes, specify the class name:");
288
+ console.warn(` npx formspec generate ${generateOptions.filePath} <ClassName> -o ${generateOptions.outDir}`);
289
+ console.warn();
290
+ console.warn(" For chain DSL, export a FormSpec from your file:");
291
+ console.warn(" export const MyForm = formspec(...);");
292
+ }
277
293
  console.warn();
278
294
  process.exit(1);
279
295
  }
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@formspec/cli",
3
- "version": "0.1.0-alpha.5",
3
+ "version": "0.1.0-alpha.7",
4
4
  "description": "CLI tool for generating JSON Schema and FormSpec from TypeScript classes",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -20,12 +20,12 @@
20
20
  ],
21
21
  "dependencies": {
22
22
  "typescript": "^5.0.0",
23
- "@formspec/build": "0.1.0-alpha.5"
23
+ "@formspec/build": "0.1.0-alpha.7"
24
24
  },
25
25
  "devDependencies": {
26
26
  "vitest": "^3.0.0",
27
27
  "@formspec/core": "0.1.0-alpha.4",
28
- "@formspec/dsl": "0.1.0-alpha.5"
28
+ "@formspec/dsl": "0.1.0-alpha.6"
29
29
  },
30
30
  "publishConfig": {
31
31
  "access": "public"