@formspec/build 0.1.0-alpha.52 → 0.1.0-alpha.54

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/dist/browser.d.ts CHANGED
@@ -15,7 +15,7 @@
15
15
  *
16
16
  * @packageDocumentation
17
17
  */
18
- import type { FormElement, FormSpec } from "@formspec/core";
18
+ import type { FormElement, FormSpec, LoggerLike } from "@formspec/core";
19
19
  import { type GenerateJsonSchemaOptions } from "./json-schema/generator.js";
20
20
  import { type JsonSchema2020 } from "./json-schema/ir-generator.js";
21
21
  import type { UISchema } from "./ui-schema/types.js";
@@ -51,7 +51,13 @@ export interface BuildResult {
51
51
  * Currently identical to `GenerateJsonSchemaOptions`. Defined separately so the
52
52
  * browser-safe surface can grow independently in the future if needed.
53
53
  */
54
- export type BuildFormSchemasOptions = GenerateJsonSchemaOptions;
54
+ export interface BuildFormSchemasOptions extends GenerateJsonSchemaOptions {
55
+ /**
56
+ * Optional logger for diagnostic output. Defaults to a no-op logger so
57
+ * existing callers produce no output.
58
+ */
59
+ readonly logger?: LoggerLike | undefined;
60
+ }
55
61
  /**
56
62
  * Builds both JSON Schema and UI Schema from a FormSpec.
57
63
  *
@@ -1 +1 @@
1
- {"version":3,"file":"browser.d.ts","sourceRoot":"","sources":["../src/browser.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC5D,OAAO,EAAsB,KAAK,yBAAyB,EAAE,MAAM,4BAA4B,CAAC;AAEhG,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,+BAA+B,CAAC;AACpE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAGrD,YAAY,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AACpE,YAAY,EAAE,+BAA+B,EAAE,MAAM,+BAA+B,CAAC;AACrF,YAAY,EAAE,yBAAyB,EAAE,MAAM,4BAA4B,CAAC;AAC5E,YAAY,EACV,uCAAuC,EACvC,yBAAyB,EACzB,4BAA4B,EAC5B,4BAA4B,EAC5B,sBAAsB,EACtB,mBAAmB,GACpB,MAAM,gBAAgB,CAAC;AAExB,YAAY,EACV,WAAW,EACX,cAAc,EACd,mBAAmB,EACnB,wBAAwB,GACzB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAChF,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAChE,YAAY,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAE/D,YAAY,EACV,QAAQ,EACR,eAAe,EACf,mBAAmB,EACnB,mBAAmB,EACnB,cAAc,EACd,cAAc,EACd,gBAAgB,EAChB,WAAW,EACX,cAAc,EACd,QAAQ,EACR,YAAY,EACZ,IAAI,EACJ,UAAU,EACV,mBAAmB,EACnB,oBAAoB,GACrB,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EACL,gBAAgB,EAChB,yBAAyB,EACzB,mBAAmB,EACnB,0BAA0B,EAC1B,UAAU,EACV,aAAa,EACb,oBAAoB,EACpB,sBAAsB,EACtB,iBAAiB,EACjB,oBAAoB,EACpB,cAAc,EACd,kBAAkB,EAClB,qBAAqB,EACrB,QAAQ,IAAI,cAAc,GAC3B,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAGlF,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAG5D,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AAGjF,OAAO,EAAE,UAAU,EAAE,MAAM,oCAAoC,CAAC;AAChE,YAAY,EACV,oBAAoB,EACpB,gBAAgB,EAChB,iBAAiB,GAClB,MAAM,oCAAoC,CAAC;AAE5C;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,yCAAyC;IACzC,QAAQ,CAAC,UAAU,EAAE,cAAc,CAAC;IACpC,yCAAyC;IACzC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;CAC7B;AAED;;;;;GAKG;AACH,MAAM,MAAM,uBAAuB,GAAG,yBAAyB,CAAC;AAEhE;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,SAAS,WAAW,EAAE,EAC/D,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,EACjB,OAAO,CAAC,EAAE,uBAAuB,GAChC,WAAW,CAKb"}
1
+ {"version":3,"file":"browser.d.ts","sourceRoot":"","sources":["../src/browser.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAExE,OAAO,EAAsB,KAAK,yBAAyB,EAAE,MAAM,4BAA4B,CAAC;AAEhG,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,+BAA+B,CAAC;AACpE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAGrD,YAAY,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AACpE,YAAY,EAAE,+BAA+B,EAAE,MAAM,+BAA+B,CAAC;AACrF,YAAY,EAAE,yBAAyB,EAAE,MAAM,4BAA4B,CAAC;AAC5E,YAAY,EACV,uCAAuC,EACvC,yBAAyB,EACzB,4BAA4B,EAC5B,4BAA4B,EAC5B,sBAAsB,EACtB,mBAAmB,GACpB,MAAM,gBAAgB,CAAC;AAExB,YAAY,EACV,WAAW,EACX,cAAc,EACd,mBAAmB,EACnB,wBAAwB,GACzB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAChF,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAChE,YAAY,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAE/D,YAAY,EACV,QAAQ,EACR,eAAe,EACf,mBAAmB,EACnB,mBAAmB,EACnB,cAAc,EACd,cAAc,EACd,gBAAgB,EAChB,WAAW,EACX,cAAc,EACd,QAAQ,EACR,YAAY,EACZ,IAAI,EACJ,UAAU,EACV,mBAAmB,EACnB,oBAAoB,GACrB,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EACL,gBAAgB,EAChB,yBAAyB,EACzB,mBAAmB,EACnB,0BAA0B,EAC1B,UAAU,EACV,aAAa,EACb,oBAAoB,EACpB,sBAAsB,EACtB,iBAAiB,EACjB,oBAAoB,EACpB,cAAc,EACd,kBAAkB,EAClB,qBAAqB,EACrB,QAAQ,IAAI,cAAc,GAC3B,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAGlF,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAG5D,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AAGjF,OAAO,EAAE,UAAU,EAAE,MAAM,oCAAoC,CAAC;AAChE,YAAY,EACV,oBAAoB,EACpB,gBAAgB,EAChB,iBAAiB,GAClB,MAAM,oCAAoC,CAAC;AAE5C;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,yCAAyC;IACzC,QAAQ,CAAC,UAAU,EAAE,cAAc,CAAC;IACpC,yCAAyC;IACzC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;CAC7B;AAED;;;;;GAKG;AACH,MAAM,WAAW,uBAAwB,SAAQ,yBAAyB;IACxE;;;OAGG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC;CAC1C;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,SAAS,WAAW,EAAE,EAC/D,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,EACjB,OAAO,CAAC,EAAE,uBAAuB,GAChC,WAAW,CAOb"}
package/dist/browser.js CHANGED
@@ -1,3 +1,9 @@
1
+ // src/browser.ts
2
+ import { noopLogger as noopLogger3 } from "@formspec/core";
3
+
4
+ // src/json-schema/generator.ts
5
+ import { noopLogger } from "@formspec/core";
6
+
1
7
  // src/canonicalize/chain-dsl-canonicalizer.ts
2
8
  import { IR_VERSION, _getFormSpecMetadataPolicy } from "@formspec/core/internals";
3
9
 
@@ -1542,10 +1548,14 @@ function assignVendorPrefixedExtensionKeywords(schema, extensionSchema, vendorPr
1542
1548
 
1543
1549
  // src/json-schema/generator.ts
1544
1550
  function generateJsonSchema(form, options) {
1551
+ const logger = (options?.logger ?? noopLogger).child({ stage: "ir" });
1545
1552
  const metadata = options?.metadata;
1546
1553
  const vendorPrefix = options?.vendorPrefix;
1547
1554
  const enumSerialization = options?.enumSerialization;
1555
+ logger.debug("canonicalizing chain DSL to IR");
1548
1556
  const ir = canonicalizeChainDSL(form, metadata !== void 0 ? { metadata } : void 0);
1557
+ const schemaLogger = (options?.logger ?? noopLogger).child({ stage: "schema" });
1558
+ schemaLogger.debug("generating JSON Schema from IR");
1549
1559
  const internalOptions = vendorPrefix === void 0 && enumSerialization === void 0 ? void 0 : {
1550
1560
  ...vendorPrefix !== void 0 && { vendorPrefix },
1551
1561
  ...enumSerialization !== void 0 && { enumSerialization }
@@ -1553,6 +1563,9 @@ function generateJsonSchema(form, options) {
1553
1563
  return generateJsonSchemaFromIR(ir, internalOptions);
1554
1564
  }
1555
1565
 
1566
+ // src/ui-schema/generator.ts
1567
+ import { noopLogger as noopLogger2 } from "@formspec/core";
1568
+
1556
1569
  // src/ui-schema/schema.ts
1557
1570
  import { z } from "zod";
1558
1571
  var jsonPointerSchema = z.string();
@@ -1812,10 +1825,14 @@ function collectFieldNameMap(elements) {
1812
1825
 
1813
1826
  // src/ui-schema/generator.ts
1814
1827
  function generateUiSchema(form, options) {
1828
+ const logger = (options?.logger ?? noopLogger2).child({ stage: "ir" });
1829
+ logger.debug("canonicalizing chain DSL to IR for UI Schema generation");
1815
1830
  const ir = canonicalizeChainDSL(
1816
1831
  form,
1817
1832
  options?.metadata !== void 0 ? { metadata: options.metadata } : void 0
1818
1833
  );
1834
+ const schemaLogger = (options?.logger ?? noopLogger2).child({ stage: "schema" });
1835
+ schemaLogger.debug("generating UI Schema from IR");
1819
1836
  return generateUiSchemaFromIR(ir);
1820
1837
  }
1821
1838
 
@@ -2132,6 +2149,8 @@ function validateIR(ir, options) {
2132
2149
 
2133
2150
  // src/browser.ts
2134
2151
  function buildFormSchemas(form, options) {
2152
+ const logger = options?.logger ?? noopLogger3;
2153
+ logger.debug("buildFormSchemas (browser): starting schema generation");
2135
2154
  return {
2136
2155
  jsonSchema: generateJsonSchema(form, options),
2137
2156
  uiSchema: generateUiSchema(form, options)