@formspec/build 0.1.0-alpha.22 → 0.1.0-alpha.23

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.
Files changed (153) hide show
  1. package/README.md +9 -4
  2. package/dist/analyzer/class-analyzer.d.ts +1 -1
  3. package/dist/analyzer/class-analyzer.d.ts.map +1 -1
  4. package/dist/analyzer/jsdoc-constraints.d.ts +1 -1
  5. package/dist/analyzer/jsdoc-constraints.d.ts.map +1 -1
  6. package/dist/analyzer/tsdoc-parser.d.ts +1 -1
  7. package/dist/analyzer/tsdoc-parser.d.ts.map +1 -1
  8. package/dist/browser.cjs +5 -4
  9. package/dist/browser.cjs.map +1 -1
  10. package/dist/browser.js +4 -3
  11. package/dist/browser.js.map +1 -1
  12. package/dist/build-alpha.d.ts +836 -0
  13. package/dist/build-beta.d.ts +836 -0
  14. package/dist/build-internal.d.ts +836 -0
  15. package/dist/build.d.ts +157 -538
  16. package/dist/canonicalize/chain-dsl-canonicalizer.d.ts +2 -1
  17. package/dist/canonicalize/chain-dsl-canonicalizer.d.ts.map +1 -1
  18. package/dist/canonicalize/tsdoc-canonicalizer.d.ts +1 -1
  19. package/dist/canonicalize/tsdoc-canonicalizer.d.ts.map +1 -1
  20. package/dist/cli.cjs +82 -126
  21. package/dist/cli.cjs.map +1 -1
  22. package/dist/cli.js +72 -116
  23. package/dist/cli.js.map +1 -1
  24. package/dist/generators/class-schema.d.ts +20 -3
  25. package/dist/generators/class-schema.d.ts.map +1 -1
  26. package/dist/generators/mixed-authoring.d.ts +3 -2
  27. package/dist/generators/mixed-authoring.d.ts.map +1 -1
  28. package/dist/index.cjs +79 -127
  29. package/dist/index.cjs.map +1 -1
  30. package/dist/index.d.ts +4 -12
  31. package/dist/index.d.ts.map +1 -1
  32. package/dist/index.js +72 -101
  33. package/dist/index.js.map +1 -1
  34. package/dist/internals.cjs +77 -15
  35. package/dist/internals.cjs.map +1 -1
  36. package/dist/internals.d.ts +2 -1
  37. package/dist/internals.d.ts.map +1 -1
  38. package/dist/internals.js +69 -7
  39. package/dist/internals.js.map +1 -1
  40. package/dist/json-schema/generator.d.ts +8 -4
  41. package/dist/json-schema/generator.d.ts.map +1 -1
  42. package/dist/json-schema/ir-generator.d.ts +4 -4
  43. package/dist/json-schema/ir-generator.d.ts.map +1 -1
  44. package/dist/json-schema/schema.d.ts +2 -2
  45. package/dist/json-schema/types.d.ts +6 -6
  46. package/dist/ui-schema/ir-generator.d.ts +1 -1
  47. package/dist/ui-schema/ir-generator.d.ts.map +1 -1
  48. package/dist/ui-schema/schema.d.ts +28 -28
  49. package/dist/ui-schema/types.d.ts +152 -3
  50. package/dist/ui-schema/types.d.ts.map +1 -1
  51. package/dist/validate/constraint-validator.d.ts +1 -1
  52. package/dist/validate/constraint-validator.d.ts.map +1 -1
  53. package/package.json +8 -8
  54. package/dist/__tests__/alias-chain-propagation.test.d.ts +0 -9
  55. package/dist/__tests__/alias-chain-propagation.test.d.ts.map +0 -1
  56. package/dist/__tests__/chain-dsl-canonicalizer.test.d.ts +0 -2
  57. package/dist/__tests__/chain-dsl-canonicalizer.test.d.ts.map +0 -1
  58. package/dist/__tests__/class-schema.test.d.ts +0 -2
  59. package/dist/__tests__/class-schema.test.d.ts.map +0 -1
  60. package/dist/__tests__/cli.test.d.ts +0 -2
  61. package/dist/__tests__/cli.test.d.ts.map +0 -1
  62. package/dist/__tests__/constraint-validator.test.d.ts +0 -2
  63. package/dist/__tests__/constraint-validator.test.d.ts.map +0 -1
  64. package/dist/__tests__/date-extension.integration.test.d.ts +0 -2
  65. package/dist/__tests__/date-extension.integration.test.d.ts.map +0 -1
  66. package/dist/__tests__/edge-cases.test.d.ts +0 -7
  67. package/dist/__tests__/edge-cases.test.d.ts.map +0 -1
  68. package/dist/__tests__/extension-api.test.d.ts +0 -2
  69. package/dist/__tests__/extension-api.test.d.ts.map +0 -1
  70. package/dist/__tests__/extension-runtime.integration.test.d.ts +0 -2
  71. package/dist/__tests__/extension-runtime.integration.test.d.ts.map +0 -1
  72. package/dist/__tests__/fixtures/alias-chains.d.ts +0 -37
  73. package/dist/__tests__/fixtures/alias-chains.d.ts.map +0 -1
  74. package/dist/__tests__/fixtures/class-schema-regressions.d.ts +0 -86
  75. package/dist/__tests__/fixtures/class-schema-regressions.d.ts.map +0 -1
  76. package/dist/__tests__/fixtures/edge-cases.d.ts +0 -132
  77. package/dist/__tests__/fixtures/edge-cases.d.ts.map +0 -1
  78. package/dist/__tests__/fixtures/example-a-builtins.d.ts +0 -31
  79. package/dist/__tests__/fixtures/example-a-builtins.d.ts.map +0 -1
  80. package/dist/__tests__/fixtures/example-date-extension.d.ts +0 -12
  81. package/dist/__tests__/fixtures/example-date-extension.d.ts.map +0 -1
  82. package/dist/__tests__/fixtures/example-interface-types.d.ts +0 -107
  83. package/dist/__tests__/fixtures/example-interface-types.d.ts.map +0 -1
  84. package/dist/__tests__/fixtures/example-numeric-extension.d.ts +0 -20
  85. package/dist/__tests__/fixtures/example-numeric-extension.d.ts.map +0 -1
  86. package/dist/__tests__/fixtures/extension-forms.d.ts +0 -7
  87. package/dist/__tests__/fixtures/extension-forms.d.ts.map +0 -1
  88. package/dist/__tests__/fixtures/mixed-authoring-shipping-address.d.ts +0 -31
  89. package/dist/__tests__/fixtures/mixed-authoring-shipping-address.d.ts.map +0 -1
  90. package/dist/__tests__/fixtures/named-primitive-aliases.d.ts +0 -15
  91. package/dist/__tests__/fixtures/named-primitive-aliases.d.ts.map +0 -1
  92. package/dist/__tests__/fixtures/nested-array-path-constraints.d.ts +0 -14
  93. package/dist/__tests__/fixtures/nested-array-path-constraints.d.ts.map +0 -1
  94. package/dist/__tests__/fixtures/sample-forms.d.ts +0 -65
  95. package/dist/__tests__/fixtures/sample-forms.d.ts.map +0 -1
  96. package/dist/__tests__/generate-schemas.test.d.ts +0 -2
  97. package/dist/__tests__/generate-schemas.test.d.ts.map +0 -1
  98. package/dist/__tests__/generator.test.d.ts +0 -2
  99. package/dist/__tests__/generator.test.d.ts.map +0 -1
  100. package/dist/__tests__/guards.test.d.ts +0 -2
  101. package/dist/__tests__/guards.test.d.ts.map +0 -1
  102. package/dist/__tests__/integration.test.d.ts +0 -8
  103. package/dist/__tests__/integration.test.d.ts.map +0 -1
  104. package/dist/__tests__/ir-analyzer.test.d.ts +0 -11
  105. package/dist/__tests__/ir-analyzer.test.d.ts.map +0 -1
  106. package/dist/__tests__/ir-jsdoc-constraints.test.d.ts +0 -12
  107. package/dist/__tests__/ir-jsdoc-constraints.test.d.ts.map +0 -1
  108. package/dist/__tests__/ir-json-schema-generator.test.d.ts +0 -11
  109. package/dist/__tests__/ir-json-schema-generator.test.d.ts.map +0 -1
  110. package/dist/__tests__/ir-ui-schema-generator.test.d.ts +0 -2
  111. package/dist/__tests__/ir-ui-schema-generator.test.d.ts.map +0 -1
  112. package/dist/__tests__/mixed-authoring.test.d.ts +0 -2
  113. package/dist/__tests__/mixed-authoring.test.d.ts.map +0 -1
  114. package/dist/__tests__/numeric-extension.integration.test.d.ts +0 -2
  115. package/dist/__tests__/numeric-extension.integration.test.d.ts.map +0 -1
  116. package/dist/__tests__/parity/fixtures/address/chain-dsl.d.ts +0 -9
  117. package/dist/__tests__/parity/fixtures/address/chain-dsl.d.ts.map +0 -1
  118. package/dist/__tests__/parity/fixtures/address/expected-ir.d.ts +0 -9
  119. package/dist/__tests__/parity/fixtures/address/expected-ir.d.ts.map +0 -1
  120. package/dist/__tests__/parity/fixtures/address/tsdoc.d.ts +0 -19
  121. package/dist/__tests__/parity/fixtures/address/tsdoc.d.ts.map +0 -1
  122. package/dist/__tests__/parity/fixtures/plan-status/chain-dsl.d.ts +0 -19
  123. package/dist/__tests__/parity/fixtures/plan-status/chain-dsl.d.ts.map +0 -1
  124. package/dist/__tests__/parity/fixtures/plan-status/expected-ir.d.ts +0 -6
  125. package/dist/__tests__/parity/fixtures/plan-status/expected-ir.d.ts.map +0 -1
  126. package/dist/__tests__/parity/fixtures/plan-status/tsdoc.d.ts +0 -17
  127. package/dist/__tests__/parity/fixtures/plan-status/tsdoc.d.ts.map +0 -1
  128. package/dist/__tests__/parity/fixtures/product-config/chain-dsl.d.ts +0 -13
  129. package/dist/__tests__/parity/fixtures/product-config/chain-dsl.d.ts.map +0 -1
  130. package/dist/__tests__/parity/fixtures/product-config/expected-ir.d.ts +0 -9
  131. package/dist/__tests__/parity/fixtures/product-config/expected-ir.d.ts.map +0 -1
  132. package/dist/__tests__/parity/fixtures/product-config/tsdoc.d.ts +0 -28
  133. package/dist/__tests__/parity/fixtures/product-config/tsdoc.d.ts.map +0 -1
  134. package/dist/__tests__/parity/fixtures/usd-cents/chain-dsl.d.ts +0 -9
  135. package/dist/__tests__/parity/fixtures/usd-cents/chain-dsl.d.ts.map +0 -1
  136. package/dist/__tests__/parity/fixtures/usd-cents/expected-ir.d.ts +0 -6
  137. package/dist/__tests__/parity/fixtures/usd-cents/expected-ir.d.ts.map +0 -1
  138. package/dist/__tests__/parity/fixtures/usd-cents/tsdoc.d.ts +0 -19
  139. package/dist/__tests__/parity/fixtures/usd-cents/tsdoc.d.ts.map +0 -1
  140. package/dist/__tests__/parity/fixtures/user-registration/chain-dsl.d.ts +0 -12
  141. package/dist/__tests__/parity/fixtures/user-registration/chain-dsl.d.ts.map +0 -1
  142. package/dist/__tests__/parity/fixtures/user-registration/expected-ir.d.ts +0 -9
  143. package/dist/__tests__/parity/fixtures/user-registration/expected-ir.d.ts.map +0 -1
  144. package/dist/__tests__/parity/fixtures/user-registration/tsdoc.d.ts +0 -19
  145. package/dist/__tests__/parity/fixtures/user-registration/tsdoc.d.ts.map +0 -1
  146. package/dist/__tests__/parity/parity.test.d.ts +0 -18
  147. package/dist/__tests__/parity/parity.test.d.ts.map +0 -1
  148. package/dist/__tests__/parity/utils.d.ts +0 -152
  149. package/dist/__tests__/parity/utils.d.ts.map +0 -1
  150. package/dist/__tests__/path-target-parser.test.d.ts +0 -9
  151. package/dist/__tests__/path-target-parser.test.d.ts.map +0 -1
  152. package/dist/__tests__/write-schemas.test.d.ts +0 -2
  153. package/dist/__tests__/write-schemas.test.d.ts.map +0 -1
package/dist/index.d.ts CHANGED
@@ -24,26 +24,18 @@
24
24
  */
25
25
  import type { FormElement, FormSpec } from "@formspec/core";
26
26
  import { type GenerateJsonSchemaOptions } from "./json-schema/generator.js";
27
- import { type GenerateJsonSchemaFromIROptions, type JsonSchema2020 } from "./json-schema/ir-generator.js";
27
+ import { type JsonSchema2020 } from "./json-schema/ir-generator.js";
28
28
  import type { UISchema } from "./ui-schema/types.js";
29
29
  export type { JsonSchema2020 } from "./json-schema/ir-generator.js";
30
- export type { GenerateJsonSchemaFromIROptions } from "./json-schema/ir-generator.js";
31
30
  export type { GenerateJsonSchemaOptions } from "./json-schema/generator.js";
31
+ export type { AnyField, ArrayField, BooleanField, Conditional, DynamicEnumField, DynamicSchemaField, ExtensionApplicableType, ExtensionDefinition, ExtensionPayloadValue, ExtensionTypeKind, EnumOption, EnumOptionValue, FormElement, FormSpec, Group, NumberField, ObjectField, StaticEnumField, TextField, CustomAnnotationRegistration, CustomConstraintRegistration, CustomTypeRegistration, ConstraintTagRegistration, BuiltinConstraintBroadeningRegistration, BuiltinConstraintName, ConstraintSemanticRole, VocabularyKeywordRegistration, } from "@formspec/core";
32
32
  export type { JSONSchema7, JSONSchemaType, ExtendedJSONSchema7, FormSpecSchemaExtensions, } from "./json-schema/types.js";
33
- export { setSchemaExtension, getSchemaExtension } from "./json-schema/types.js";
34
33
  export { createExtensionRegistry } from "./extensions/index.js";
35
34
  export type { ExtensionRegistry } from "./extensions/index.js";
36
35
  export type { UISchema, UISchemaElement, UISchemaElementBase, UISchemaElementType, ControlElement, VerticalLayout, HorizontalLayout, GroupLayout, Categorization, Category, LabelElement, Rule, RuleEffect, RuleConditionSchema, SchemaBasedCondition, } from "./ui-schema/types.js";
37
- export type { ClassSchemas, GenerateFromClassOptions, GenerateFromClassResult, GenerateSchemasOptions, } from "./generators/class-schema.js";
36
+ export type { StaticSchemaGenerationOptions, GenerateFromClassOptions, GenerateFromClassResult, GenerateSchemasOptions, } from "./generators/class-schema.js";
38
37
  export type { BuildMixedAuthoringSchemasOptions, MixedAuthoringSchemas, } from "./generators/mixed-authoring.js";
39
- export { ruleEffectSchema, uiSchemaElementTypeSchema, ruleConditionSchema, schemaBasedConditionSchema, ruleSchema, controlSchema, verticalLayoutSchema, horizontalLayoutSchema, groupLayoutSchema, categorizationSchema, categorySchema, labelElementSchema, uiSchemaElementSchema, uiSchema as uiSchemaSchema, } from "./ui-schema/schema.js";
40
- export { jsonSchemaTypeSchema, jsonSchema7Schema } from "./json-schema/schema.js";
41
38
  export { generateJsonSchema } from "./json-schema/generator.js";
42
- /**
43
- * Advanced API — consumers are responsible for supplying canonical FormIR.
44
- * Most callers should prefer `generateJsonSchema()` or `buildFormSchemas()`.
45
- */
46
- export { generateJsonSchemaFromIR } from "./json-schema/ir-generator.js";
47
39
  export { generateUiSchema } from "./ui-schema/generator.js";
48
40
  export { generateSchemasFromClass, generateSchemas } from "./generators/class-schema.js";
49
41
  export { buildMixedAuthoringSchemas } from "./generators/mixed-authoring.js";
@@ -102,7 +94,7 @@ export declare function buildFormSchemas<E extends readonly FormElement[]>(form:
102
94
  *
103
95
  * @public
104
96
  */
105
- export interface WriteSchemasOptions extends GenerateJsonSchemaFromIROptions {
97
+ export interface WriteSchemasOptions extends GenerateJsonSchemaOptions {
106
98
  /** Output directory for the schema files */
107
99
  readonly outDir: string;
108
100
  /** Base name for the output files (without extension). Defaults to "schema" */
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC5D,OAAO,EAAsB,KAAK,yBAAyB,EAAE,MAAM,4BAA4B,CAAC;AAEhG,OAAO,EACL,KAAK,+BAA+B,EACpC,KAAK,cAAc,EACpB,MAAM,+BAA+B,CAAC;AACvC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAQrD,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;AAE5E,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;AAE9B,YAAY,EACV,YAAY,EACZ,wBAAwB,EACxB,uBAAuB,EACvB,sBAAsB,GACvB,MAAM,8BAA8B,CAAC;AACtC,YAAY,EACV,iCAAiC,EACjC,qBAAqB,GACtB,MAAM,iCAAiC,CAAC;AAMzC,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;AAMlF,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChE;;;GAGG;AACH,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAM5D,OAAO,EAAE,wBAAwB,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AACzF,OAAO,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAC;AAK7E;;;;GAIG;AACH,MAAM,WAAW,WAAW;IAC1B,yCAAyC;IACzC,QAAQ,CAAC,UAAU,EAAE,cAAc,CAAC;IACpC,yCAAyC;IACzC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;CAC7B;AAED;;;;;;;GAOG;AACH,MAAM,MAAM,uBAAuB,GAAG,yBAAyB,CAAC;AAEhE;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;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;AAED;;;;GAIG;AACH,MAAM,WAAW,mBAAoB,SAAQ,+BAA+B;IAC1E,4CAA4C;IAC5C,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,+EAA+E;IAC/E,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,2DAA2D;IAC3D,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED;;;;GAIG;AACH,MAAM,WAAW,kBAAkB;IACjC,6CAA6C;IAC7C,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,2CAA2C;IAC3C,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;CAC/B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,wBAAgB,YAAY,CAAC,CAAC,SAAS,SAAS,WAAW,EAAE,EAC3D,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,EACjB,OAAO,EAAE,mBAAmB,GAC3B,kBAAkB,CA2BpB"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;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;AAQrD,YAAY,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AACpE,YAAY,EAAE,yBAAyB,EAAE,MAAM,4BAA4B,CAAC;AAC5E,YAAY,EACV,QAAQ,EACR,UAAU,EACV,YAAY,EACZ,WAAW,EACX,gBAAgB,EAChB,kBAAkB,EAClB,uBAAuB,EACvB,mBAAmB,EACnB,qBAAqB,EACrB,iBAAiB,EACjB,UAAU,EACV,eAAe,EACf,WAAW,EACX,QAAQ,EACR,KAAK,EACL,WAAW,EACX,WAAW,EACX,eAAe,EACf,SAAS,EACT,4BAA4B,EAC5B,4BAA4B,EAC5B,sBAAsB,EACtB,yBAAyB,EACzB,uCAAuC,EACvC,qBAAqB,EACrB,sBAAsB,EACtB,6BAA6B,GAC9B,MAAM,gBAAgB,CAAC;AAExB,YAAY,EACV,WAAW,EACX,cAAc,EACd,mBAAmB,EACnB,wBAAwB,GACzB,MAAM,wBAAwB,CAAC;AAEhC,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;AAE9B,YAAY,EACV,6BAA6B,EAC7B,wBAAwB,EACxB,uBAAuB,EACvB,sBAAsB,GACvB,MAAM,8BAA8B,CAAC;AACtC,YAAY,EACV,iCAAiC,EACjC,qBAAqB,GACtB,MAAM,iCAAiC,CAAC;AAMzC,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAE,wBAAwB,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AACzF,OAAO,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAC;AAE7E;;;;GAIG;AACH,MAAM,WAAW,WAAW;IAC1B,yCAAyC;IACzC,QAAQ,CAAC,UAAU,EAAE,cAAc,CAAC;IACpC,yCAAyC;IACzC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;CAC7B;AAED;;;;;;;GAOG;AACH,MAAM,MAAM,uBAAuB,GAAG,yBAAyB,CAAC;AAEhE;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;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;AAED;;;;GAIG;AACH,MAAM,WAAW,mBAAoB,SAAQ,yBAAyB;IACpE,4CAA4C;IAC5C,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,+EAA+E;IAC/E,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,2DAA2D;IAC3D,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED;;;;GAIG;AACH,MAAM,WAAW,kBAAkB;IACjC,6CAA6C;IAC7C,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,2CAA2C;IAC3C,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;CAC/B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,wBAAgB,YAAY,CAAC,CAAC,SAAS,SAAS,WAAW,EAAE,EAC3D,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,EACjB,OAAO,EAAE,mBAAmB,GAC3B,kBAAkB,CAqBpB"}
package/dist/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  // src/canonicalize/chain-dsl-canonicalizer.ts
2
- import { IR_VERSION } from "@formspec/core";
2
+ import { IR_VERSION } from "@formspec/core/internals";
3
3
  var CHAIN_DSL_PROVENANCE = {
4
4
  surface: "chain-dsl",
5
5
  file: "",
@@ -311,7 +311,7 @@ function buildObjectProperties(elements, insideConditional = false) {
311
311
  }
312
312
 
313
313
  // src/canonicalize/tsdoc-canonicalizer.ts
314
- import { IR_VERSION as IR_VERSION2 } from "@formspec/core";
314
+ import { IR_VERSION as IR_VERSION2 } from "@formspec/core/internals";
315
315
  function canonicalizeTSDoc(analysis, source) {
316
316
  const file = source?.file ?? "";
317
317
  const provenance = {
@@ -824,7 +824,8 @@ function assignVendorPrefixedExtensionKeywords(schema, extensionSchema, vendorPr
824
824
  // src/json-schema/generator.ts
825
825
  function generateJsonSchema(form, options) {
826
826
  const ir = canonicalizeChainDSL(form);
827
- return generateJsonSchemaFromIR(ir, options);
827
+ const internalOptions = options?.vendorPrefix === void 0 ? void 0 : { vendorPrefix: options.vendorPrefix };
828
+ return generateJsonSchemaFromIR(ir, internalOptions);
828
829
  }
829
830
 
830
831
  // src/ui-schema/schema.ts
@@ -1060,14 +1061,6 @@ function generateUiSchema(form) {
1060
1061
  import * as fs from "fs";
1061
1062
  import * as path2 from "path";
1062
1063
 
1063
- // src/json-schema/types.ts
1064
- function setSchemaExtension(schema, key, value) {
1065
- schema[key] = value;
1066
- }
1067
- function getSchemaExtension(schema, key) {
1068
- return schema[key];
1069
- }
1070
-
1071
1064
  // src/extensions/registry.ts
1072
1065
  function createExtensionRegistry(extensions) {
1073
1066
  const typeMap = /* @__PURE__ */ new Map();
@@ -1148,68 +1141,6 @@ function createExtensionRegistry(extensions) {
1148
1141
  };
1149
1142
  }
1150
1143
 
1151
- // src/json-schema/schema.ts
1152
- import { z as z3 } from "zod";
1153
- var jsonSchemaTypeSchema = z3.enum([
1154
- "string",
1155
- "number",
1156
- "integer",
1157
- "boolean",
1158
- "object",
1159
- "array",
1160
- "null"
1161
- ]);
1162
- var jsonSchema7Schema = z3.lazy(
1163
- () => z3.object({
1164
- $schema: z3.string().optional(),
1165
- $id: z3.string().optional(),
1166
- $ref: z3.string().optional(),
1167
- // Metadata
1168
- title: z3.string().optional(),
1169
- description: z3.string().optional(),
1170
- deprecated: z3.boolean().optional(),
1171
- // Type
1172
- type: z3.union([jsonSchemaTypeSchema, z3.array(jsonSchemaTypeSchema)]).optional(),
1173
- // String validation
1174
- minLength: z3.number().optional(),
1175
- maxLength: z3.number().optional(),
1176
- pattern: z3.string().optional(),
1177
- // Number validation
1178
- minimum: z3.number().optional(),
1179
- maximum: z3.number().optional(),
1180
- exclusiveMinimum: z3.number().optional(),
1181
- exclusiveMaximum: z3.number().optional(),
1182
- // Enum
1183
- enum: z3.array(z3.union([z3.string(), z3.number(), z3.boolean(), z3.null()])).readonly().optional(),
1184
- const: z3.union([z3.string(), z3.number(), z3.boolean(), z3.null()]).optional(),
1185
- // Object
1186
- properties: z3.record(z3.string(), jsonSchema7Schema).optional(),
1187
- required: z3.array(z3.string()).optional(),
1188
- additionalProperties: z3.union([z3.boolean(), jsonSchema7Schema]).optional(),
1189
- // Array
1190
- items: z3.union([jsonSchema7Schema, z3.array(jsonSchema7Schema)]).optional(),
1191
- minItems: z3.number().optional(),
1192
- maxItems: z3.number().optional(),
1193
- // Composition
1194
- allOf: z3.array(jsonSchema7Schema).optional(),
1195
- anyOf: z3.array(jsonSchema7Schema).optional(),
1196
- oneOf: z3.array(jsonSchema7Schema).optional(),
1197
- not: jsonSchema7Schema.optional(),
1198
- // Conditional
1199
- if: jsonSchema7Schema.optional(),
1200
- then: jsonSchema7Schema.optional(),
1201
- else: jsonSchema7Schema.optional(),
1202
- // Format
1203
- format: z3.string().optional(),
1204
- // Default
1205
- default: z3.unknown().optional(),
1206
- // FormSpec extensions
1207
- "x-formspec-source": z3.string().optional(),
1208
- "x-formspec-params": z3.array(z3.string()).readonly().optional(),
1209
- "x-formspec-schemaSource": z3.string().optional()
1210
- }).passthrough()
1211
- );
1212
-
1213
1144
  // src/analyzer/program.ts
1214
1145
  import * as ts4 from "typescript";
1215
1146
  import * as path from "path";
@@ -1248,7 +1179,8 @@ import {
1248
1179
  BUILTIN_CONSTRAINT_DEFINITIONS,
1249
1180
  normalizeConstraintTagName,
1250
1181
  isBuiltinConstraintName
1251
- } from "@formspec/core";
1182
+ } from "@formspec/core/internals";
1183
+ import "@formspec/core/internals";
1252
1184
  var TAGS_REQUIRING_RAW_TEXT = /* @__PURE__ */ new Set(["pattern", "enumOptions", "defaultValue"]);
1253
1185
  function createFormSpecTSDocConfig(extensionTagNames = []) {
1254
1186
  const config = new TSDocConfiguration();
@@ -1295,10 +1227,71 @@ function sharedTagValueOptions(options) {
1295
1227
  };
1296
1228
  }
1297
1229
  var SYNTHETIC_TYPE_FORMAT_FLAGS = ts.TypeFormatFlags.NoTruncation | ts.TypeFormatFlags.UseAliasDefinedOutsideCurrentScope;
1230
+ function collectImportedNames(sourceFile) {
1231
+ const importedNames = /* @__PURE__ */ new Set();
1232
+ for (const statement of sourceFile.statements) {
1233
+ if (ts.isImportDeclaration(statement) && statement.importClause !== void 0) {
1234
+ const clause = statement.importClause;
1235
+ if (clause.name !== void 0) {
1236
+ importedNames.add(clause.name.text);
1237
+ }
1238
+ if (clause.namedBindings !== void 0) {
1239
+ if (ts.isNamedImports(clause.namedBindings)) {
1240
+ for (const specifier of clause.namedBindings.elements) {
1241
+ importedNames.add(specifier.name.text);
1242
+ }
1243
+ } else if (ts.isNamespaceImport(clause.namedBindings)) {
1244
+ importedNames.add(clause.namedBindings.name.text);
1245
+ }
1246
+ }
1247
+ continue;
1248
+ }
1249
+ if (ts.isImportEqualsDeclaration(statement)) {
1250
+ importedNames.add(statement.name.text);
1251
+ }
1252
+ }
1253
+ return importedNames;
1254
+ }
1255
+ function isNonReferenceIdentifier(node) {
1256
+ const parent = node.parent;
1257
+ if ((ts.isBindingElement(parent) || ts.isClassDeclaration(parent) || ts.isEnumDeclaration(parent) || ts.isEnumMember(parent) || ts.isFunctionDeclaration(parent) || ts.isFunctionExpression(parent) || ts.isImportClause(parent) || ts.isImportEqualsDeclaration(parent) || ts.isImportSpecifier(parent) || ts.isInterfaceDeclaration(parent) || ts.isMethodDeclaration(parent) || ts.isMethodSignature(parent) || ts.isModuleDeclaration(parent) || ts.isNamespaceExport(parent) || ts.isNamespaceImport(parent) || ts.isParameter(parent) || ts.isPropertyDeclaration(parent) || ts.isPropertySignature(parent) || ts.isSetAccessorDeclaration(parent) || ts.isGetAccessorDeclaration(parent) || ts.isTypeAliasDeclaration(parent) || ts.isTypeParameterDeclaration(parent) || ts.isVariableDeclaration(parent)) && parent.name === node) {
1258
+ return true;
1259
+ }
1260
+ if ((ts.isPropertyAssignment(parent) || ts.isPropertyAccessExpression(parent)) && parent.name === node) {
1261
+ return true;
1262
+ }
1263
+ if (ts.isQualifiedName(parent) && parent.right === node) {
1264
+ return true;
1265
+ }
1266
+ return false;
1267
+ }
1268
+ function statementReferencesImportedName(statement, importedNames) {
1269
+ let referencesImportedName = false;
1270
+ const visit = (node) => {
1271
+ if (referencesImportedName) {
1272
+ return;
1273
+ }
1274
+ if (ts.isIdentifier(node) && importedNames.has(node.text) && !isNonReferenceIdentifier(node)) {
1275
+ referencesImportedName = true;
1276
+ return;
1277
+ }
1278
+ ts.forEachChild(node, visit);
1279
+ };
1280
+ visit(statement);
1281
+ return referencesImportedName;
1282
+ }
1298
1283
  function buildSupportingDeclarations(sourceFile) {
1299
- return sourceFile.statements.filter(
1300
- (statement) => !ts.isImportDeclaration(statement) && !ts.isImportEqualsDeclaration(statement) && !(ts.isExportDeclaration(statement) && statement.moduleSpecifier !== void 0)
1301
- ).map((statement) => statement.getText(sourceFile));
1284
+ const importedNames = collectImportedNames(sourceFile);
1285
+ return sourceFile.statements.filter((statement) => {
1286
+ if (ts.isImportDeclaration(statement)) return false;
1287
+ if (ts.isImportEqualsDeclaration(statement)) return false;
1288
+ if (ts.isExportDeclaration(statement) && statement.moduleSpecifier !== void 0)
1289
+ return false;
1290
+ if (importedNames.size > 0 && statementReferencesImportedName(statement, importedNames)) {
1291
+ return false;
1292
+ }
1293
+ return true;
1294
+ }).map((statement) => statement.getText(sourceFile));
1302
1295
  }
1303
1296
  function renderSyntheticArgumentExpression(valueKind, argumentText) {
1304
1297
  const trimmed = argumentText.trim();
@@ -3540,11 +3533,8 @@ function buildFormSchemas(form, options) {
3540
3533
  };
3541
3534
  }
3542
3535
  function writeSchemas(form, options) {
3543
- const { outDir, name = "schema", indent = 2, extensionRegistry, vendorPrefix } = options;
3544
- const buildOptions = extensionRegistry === void 0 && vendorPrefix === void 0 ? void 0 : {
3545
- extensionRegistry,
3546
- vendorPrefix
3547
- };
3536
+ const { outDir, name = "schema", indent = 2, vendorPrefix } = options;
3537
+ const buildOptions = vendorPrefix === void 0 ? void 0 : { vendorPrefix };
3548
3538
  const { jsonSchema, uiSchema: uiSchema2 } = buildFormSchemas(form, buildOptions);
3549
3539
  if (!fs.existsSync(outDir)) {
3550
3540
  fs.mkdirSync(outDir, { recursive: true });
@@ -3558,30 +3548,11 @@ function writeSchemas(form, options) {
3558
3548
  export {
3559
3549
  buildFormSchemas,
3560
3550
  buildMixedAuthoringSchemas,
3561
- categorizationSchema,
3562
- categorySchema,
3563
- controlSchema,
3564
3551
  createExtensionRegistry,
3565
3552
  generateJsonSchema,
3566
- generateJsonSchemaFromIR,
3567
3553
  generateSchemas,
3568
3554
  generateSchemasFromClass,
3569
3555
  generateUiSchema,
3570
- getSchemaExtension,
3571
- groupLayoutSchema,
3572
- horizontalLayoutSchema,
3573
- jsonSchema7Schema,
3574
- jsonSchemaTypeSchema,
3575
- labelElementSchema,
3576
- ruleConditionSchema,
3577
- ruleEffectSchema,
3578
- ruleSchema,
3579
- schemaBasedConditionSchema,
3580
- setSchemaExtension,
3581
- uiSchemaElementSchema,
3582
- uiSchemaElementTypeSchema,
3583
- uiSchema as uiSchemaSchema,
3584
- verticalLayoutSchema,
3585
3556
  writeSchemas
3586
3557
  };
3587
3558
  //# sourceMappingURL=index.js.map