@baseplate-dev/project-builder-lib 0.2.2 → 0.2.4

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 (38) hide show
  1. package/dist/definition/project-definition-container.d.ts.map +1 -1
  2. package/dist/definition/project-definition-container.js +6 -2
  3. package/dist/definition/project-definition-container.js.map +1 -1
  4. package/dist/plugins/metadata/types.d.ts +8 -0
  5. package/dist/plugins/metadata/types.d.ts.map +1 -1
  6. package/dist/plugins/metadata/types.js +6 -0
  7. package/dist/plugins/metadata/types.js.map +1 -1
  8. package/dist/plugins/migrations/run-migrations.d.ts.map +1 -1
  9. package/dist/plugins/migrations/run-migrations.js +1 -1
  10. package/dist/plugins/migrations/run-migrations.js.map +1 -1
  11. package/dist/plugins/spec/config-spec.d.ts +10 -1
  12. package/dist/plugins/spec/config-spec.d.ts.map +1 -1
  13. package/dist/plugins/spec/config-spec.js.map +1 -1
  14. package/dist/references/extract-definition-refs.d.ts.map +1 -1
  15. package/dist/references/extract-definition-refs.js +8 -0
  16. package/dist/references/extract-definition-refs.js.map +1 -1
  17. package/dist/schema/creator/extend-parser-context-with-defaults.d.ts +13 -0
  18. package/dist/schema/creator/extend-parser-context-with-defaults.d.ts.map +1 -0
  19. package/dist/schema/creator/extend-parser-context-with-defaults.js +52 -0
  20. package/dist/schema/creator/extend-parser-context-with-defaults.js.map +1 -0
  21. package/dist/schema/creator/schema-creator.d.ts.map +1 -1
  22. package/dist/schema/creator/schema-creator.js +2 -0
  23. package/dist/schema/creator/schema-creator.js.map +1 -1
  24. package/dist/schema/creator/types.d.ts +22 -0
  25. package/dist/schema/creator/types.d.ts.map +1 -1
  26. package/dist/schema/models/graphql.d.ts +138 -54
  27. package/dist/schema/models/graphql.d.ts.map +1 -1
  28. package/dist/schema/models/graphql.js +30 -73
  29. package/dist/schema/models/graphql.js.map +1 -1
  30. package/dist/schema/models/index.d.ts +321 -153
  31. package/dist/schema/models/index.d.ts.map +1 -1
  32. package/dist/schema/project-definition.d.ts +183 -99
  33. package/dist/schema/project-definition.d.ts.map +1 -1
  34. package/dist/tools/model-merger/model-merger.d.ts +9 -8
  35. package/dist/tools/model-merger/model-merger.d.ts.map +1 -1
  36. package/dist/tools/model-merger/model-merger.js +8 -4
  37. package/dist/tools/model-merger/model-merger.js.map +1 -1
  38. package/package.json +6 -6
@@ -1 +1 @@
1
- {"version":3,"file":"project-definition-container.d.ts","sourceRoot":"","sources":["../../src/definition/project-definition-container.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAChE,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AACvE,OAAO,KAAK,EACV,gBAAgB,EAChB,mBAAmB,EACnB,oBAAoB,EACpB,qBAAqB,EACtB,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAW9D,OAAO,EAAE,6BAA6B,EAAE,MAAM,sBAAsB,CAAC;AAErE;;;;;GAKG;AACH,qBAAa,0BAA0B;IAU5B,WAAW,EAAE,yBAAyB;IAT/C,UAAU,EAAE,qBAAqB,CAAC,iBAAiB,CAAC,CAAC;IACrD,UAAU,EAAE,iBAAiB,CAAC;IAC9B,UAAU,EAAE,mBAAmB,EAAE,CAAC;IAClC,QAAQ,EAAE,gBAAgB,EAAE,CAAC;IAC7B,aAAa,EAAE,mBAAmB,CAAC;gBAGjC,MAAM,EAAE,qBAAqB,CAAC,iBAAiB,CAAC,EAChD,aAAa,EAAE,mBAAmB,EAC3B,WAAW,EAAE,yBAAyB;IAS/C;;;;;OAKG;IACH,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM;IAC9B,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS;IAYtD;;;;;OAKG;IACH,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS;IAO1D;;;;;OAKG;IACH,eAAe,CACb,MAAM,EAAE,CAAC,WAAW,EAAE,iBAAiB,KAAK,IAAI,GAC/C,oBAAoB,CAAC,OAAO,6BAA6B,CAAC;IAO7D;;;;OAIG;IACH,oBAAoB,IAAI,MAAM;IAM9B;;;;;;OAMG;IACH,MAAM,CAAC,cAAc,CACnB,UAAU,EAAE,iBAAiB,EAC7B,OAAO,EAAE,mBAAmB,GAC3B,0BAA0B;IAU7B;;;;;;OAMG;IACH,MAAM,CAAC,oBAAoB,CACzB,MAAM,EAAE,OAAO,EACf,OAAO,EAAE,mBAAmB,GAC3B,0BAA0B;CAe9B"}
1
+ {"version":3,"file":"project-definition-container.d.ts","sourceRoot":"","sources":["../../src/definition/project-definition-container.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAChE,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AACvE,OAAO,KAAK,EACV,gBAAgB,EAChB,mBAAmB,EACnB,oBAAoB,EACpB,qBAAqB,EACtB,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAW9D,OAAO,EAAE,6BAA6B,EAAE,MAAM,sBAAsB,CAAC;AAErE;;;;;GAKG;AACH,qBAAa,0BAA0B;IAU5B,WAAW,EAAE,yBAAyB;IAT/C,UAAU,EAAE,qBAAqB,CAAC,iBAAiB,CAAC,CAAC;IACrD,UAAU,EAAE,iBAAiB,CAAC;IAC9B,UAAU,EAAE,mBAAmB,EAAE,CAAC;IAClC,QAAQ,EAAE,gBAAgB,EAAE,CAAC;IAC7B,aAAa,EAAE,mBAAmB,CAAC;gBAGjC,MAAM,EAAE,qBAAqB,CAAC,iBAAiB,CAAC,EAChD,aAAa,EAAE,mBAAmB,EAC3B,WAAW,EAAE,yBAAyB;IAS/C;;;;;OAKG;IACH,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM;IAC9B,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS;IAYtD;;;;;OAKG;IACH,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS;IAO1D;;;;;OAKG;IACH,eAAe,CACb,MAAM,EAAE,CAAC,WAAW,EAAE,iBAAiB,KAAK,IAAI,GAC/C,oBAAoB,CAAC,OAAO,6BAA6B,CAAC;IAO7D;;;;OAIG;IACH,oBAAoB,IAAI,MAAM;IAY9B;;;;;;OAMG;IACH,MAAM,CAAC,cAAc,CACnB,UAAU,EAAE,iBAAiB,EAC7B,OAAO,EAAE,mBAAmB,GAC3B,0BAA0B;IAU7B;;;;;;OAMG;IACH,MAAM,CAAC,oBAAoB,CACzB,MAAM,EAAE,OAAO,EACf,OAAO,EAAE,mBAAmB,GAC3B,0BAA0B;CAe9B"}
@@ -1,7 +1,7 @@
1
1
  import { stringifyPrettyStable } from '@baseplate-dev/utils';
2
2
  import { produce } from 'immer';
3
3
  import { createPluginImplementationStore, parseProjectDefinitionWithReferences, } from '#src/parser/parser.js';
4
- import { deserializeSchemaWithTransformedReferences, fixRefDeletions, serializeSchemaFromRefPayload, } from '#src/references/index.js';
4
+ import { deserializeSchemaWithTransformedReferences, fixRefDeletions, serializeSchema, } from '#src/references/index.js';
5
5
  import { createProjectDefinitionSchema } from '#src/schema/index.js';
6
6
  /**
7
7
  * Container for a project definition that includes references and entities.
@@ -92,7 +92,11 @@ export class ProjectDefinitionContainer {
92
92
  * @returns The serialized contents of the project definition
93
93
  */
94
94
  toSerializedContents() {
95
- return stringifyPrettyStable(serializeSchemaFromRefPayload(this.refPayload));
95
+ const serializedContents = serializeSchema(createProjectDefinitionSchema, this.definition, {
96
+ defaultMode: 'strip',
97
+ plugins: this.pluginStore,
98
+ });
99
+ return stringifyPrettyStable(serializedContents);
96
100
  }
97
101
  /**
98
102
  * Creates a new ProjectDefinitionContainer from a raw project definition.
@@ -1 +1 @@
1
- {"version":3,"file":"project-definition-container.js","sourceRoot":"","sources":["../../src/definition/project-definition-container.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAYhC,OAAO,EACL,+BAA+B,EAC/B,oCAAoC,GACrC,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,0CAA0C,EAC1C,eAAe,EACf,6BAA6B,GAC9B,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,6BAA6B,EAAE,MAAM,sBAAsB,CAAC;AAErE;;;;;GAKG;AACH,MAAM,OAAO,0BAA0B;IAOrC,YACE,MAAgD,EAChD,aAAkC,EAC3B,WAAsC;QAA7C;;;;mBAAO,WAAW;WAA2B;QAT/C;;;;;WAAqD;QACrD;;;;;WAA8B;QAC9B;;;;;WAAkC;QAClC;;;;;WAA6B;QAC7B;;;;;WAAmC;QAOjC,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC;QACzB,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC;QAC9B,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;QACpC,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;QAChC,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;IACrC,CAAC;IAUD,UAAU,CAAC,EAAsB;QAC/B,IAAI,CAAC,EAAE;YAAE,OAAO,SAAS,CAAC;QAC1B,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,CAAC;QAE1D,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,MAAM,IAAI,KAAK,CAAC,8BAA8B,EAAE,EAAE,CAAC,CAAC;QACtD,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;OAKG;IACH,cAAc,CAAC,EAAsB;QACnC,IAAI,CAAC,EAAE;YAAE,OAAO,SAAS,CAAC;QAC1B,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,CAAC;QAE1D,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;OAKG;IACH,eAAe,CACb,MAAgD;QAEhD,MAAM,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACvD,OAAO,eAAe,CAAC,6BAA6B,EAAE,aAAa,EAAE;YACnE,OAAO,EAAE,IAAI,CAAC,WAAW;SAC1B,CAAC,CAAC;IACL,CAAC;IAED;;;;OAIG;IACH,oBAAoB;QAClB,OAAO,qBAAqB,CAC1B,6BAA6B,CAAC,IAAI,CAAC,UAAU,CAAC,CAC/C,CAAC;IACJ,CAAC;IAED;;;;;;OAMG;IACH,MAAM,CAAC,cAAc,CACnB,UAA6B,EAC7B,OAA4B;QAE5B,MAAM,EAAE,UAAU,EAAE,gBAAgB,EAAE,WAAW,EAAE,GACjD,oCAAoC,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QAC5D,OAAO,IAAI,0BAA0B,CACnC,gBAAgB,EAChB,OAAO,EACP,WAAW,CACZ,CAAC;IACJ,CAAC;IAED;;;;;;OAMG;IACH,MAAM,CAAC,oBAAoB,CACzB,MAAe,EACf,OAA4B;QAE5B,MAAM,OAAO,GAAG,+BAA+B,CAC7C,OAAO,CAAC,WAAW,EACnB,MAAM,CACP,CAAC;QACF,OAAO,IAAI,0BAA0B,CACnC,0CAA0C,CACxC,6BAA6B,EAC7B,MAAM,EACN,EAAE,OAAO,EAAE,CACZ,EACD,OAAO,EACP,OAAO,CACR,CAAC;IACJ,CAAC;CACF"}
1
+ {"version":3,"file":"project-definition-container.js","sourceRoot":"","sources":["../../src/definition/project-definition-container.ts"],"names":[],"mappings":"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"}
@@ -98,6 +98,12 @@ export declare const pluginMetadataSchema: z.ZodObject<{
98
98
  version: string;
99
99
  }[] | undefined;
100
100
  }>>;
101
+ /**
102
+ * Whether the plugin should be hidden in the project builder UI
103
+ *
104
+ * (It can be used once in the definition but cannot be added)
105
+ */
106
+ hidden: z.ZodOptional<z.ZodBoolean>;
101
107
  }, "strip", z.ZodTypeAny, {
102
108
  version: string;
103
109
  name: string;
@@ -115,6 +121,7 @@ export declare const pluginMetadataSchema: z.ZodObject<{
115
121
  version: string;
116
122
  }[] | undefined;
117
123
  } | undefined;
124
+ hidden?: boolean | undefined;
118
125
  }, {
119
126
  version: string;
120
127
  name: string;
@@ -132,6 +139,7 @@ export declare const pluginMetadataSchema: z.ZodObject<{
132
139
  version: string;
133
140
  }[] | undefined;
134
141
  } | undefined;
142
+ hidden?: boolean | undefined;
135
143
  }>;
136
144
  export type PluginMetadata = z.infer<typeof pluginMetadataSchema>;
137
145
  export interface PluginMetadataWithPaths extends PluginMetadata {
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/plugins/metadata/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,eAAO,MAAM,uBAAuB;;;;;;;;;EAGlC,CAAC;AAEH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAExE,eAAO,MAAM,0BAA0B;;;;;;;;;EAGrC,CAAC;AAEH,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAE9E;;GAEG;AACH,eAAO,MAAM,oBAAoB;IAC/B;;OAEG;;IAKH;;OAEG;;IAEH;;OAEG;;IAEH;;OAEG;;IAEH;;OAEG;;IAEH;;OAEG;;IAEH;;OAEG;;QAGC;;WAEG;;;;;;;;;;;QAEH;;WAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAIP,CAAC;AAEH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAElE,MAAM,WAAW,uBAAwB,SAAQ,cAAc;IAC7D;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;IACX;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;IACpB;;OAEG;IACH,eAAe,EAAE,MAAM,CAAC;IACxB;;OAEG;IACH,iBAAiB,EAAE,MAAM,CAAC;IAC1B;;OAEG;IACH,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B;;OAEG;IACH,cAAc,EAAE,MAAM,EAAE,CAAC;CAC1B"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/plugins/metadata/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,eAAO,MAAM,uBAAuB;;;;;;;;;EAGlC,CAAC;AAEH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAExE,eAAO,MAAM,0BAA0B;;;;;;;;;EAGrC,CAAC;AAEH,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAE9E;;GAEG;AACH,eAAO,MAAM,oBAAoB;IAC/B;;OAEG;;IAKH;;OAEG;;IAEH;;OAEG;;IAEH;;OAEG;;IAEH;;OAEG;;IAEH;;OAEG;;IAEH;;OAEG;;QAGC;;WAEG;;;;;;;;;;;QAEH;;WAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAIP;;;;OAIG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAEH,CAAC;AAEH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAElE,MAAM,WAAW,uBAAwB,SAAQ,cAAc;IAC7D;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;IACX;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;IACpB;;OAEG;IACH,eAAe,EAAE,MAAM,CAAC;IACxB;;OAEG;IACH,iBAAiB,EAAE,MAAM,CAAC;IAC1B;;OAEG;IACH,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B;;OAEG;IACH,cAAc,EAAE,MAAM,EAAE,CAAC;CAC1B"}
@@ -55,5 +55,11 @@ export const pluginMetadataSchema = z.object({
55
55
  dependencies: z.array(pluginSpecDependencySchema).optional(),
56
56
  })
57
57
  .optional(),
58
+ /**
59
+ * Whether the plugin should be hidden in the project builder UI
60
+ *
61
+ * (It can be used once in the definition but cannot be added)
62
+ */
63
+ hidden: z.boolean().optional(),
58
64
  });
59
65
  //# sourceMappingURL=types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/plugins/metadata/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,iBAAiB;AACjB,MAAM,aAAa,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;AAE5D,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC9C,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACvB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;CAC3B,CAAC,CAAC;AAIH,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,CAAC,MAAM,CAAC;IACjD,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;CACpB,CAAC,CAAC;AAIH;;GAEG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3C;;OAEG;IACH,IAAI,EAAE,CAAC;SACJ,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,CAAC;SACN,KAAK,CAAC,cAAc,CAAC;IACxB;;OAEG;IACH,iBAAiB,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IACjD;;OAEG;IACH,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC9B;;OAEG;IACH,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC3B;;OAEG;IACH,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;IACvB;;OAEG;IACH,OAAO,EAAE,aAAa;IACtB;;OAEG;IACH,KAAK,EAAE,CAAC;SACL,MAAM,CAAC;QACN;;WAEG;QACH,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC,QAAQ,EAAE;QACpD;;WAEG;QACH,YAAY,EAAE,CAAC,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC,QAAQ,EAAE;KAC7D,CAAC;SACD,QAAQ,EAAE;CACd,CAAC,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/plugins/metadata/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,iBAAiB;AACjB,MAAM,aAAa,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;AAE5D,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC9C,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACvB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;CAC3B,CAAC,CAAC;AAIH,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,CAAC,MAAM,CAAC;IACjD,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;CACpB,CAAC,CAAC;AAIH;;GAEG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3C;;OAEG;IACH,IAAI,EAAE,CAAC;SACJ,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,CAAC;SACN,KAAK,CAAC,cAAc,CAAC;IACxB;;OAEG;IACH,iBAAiB,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IACjD;;OAEG;IACH,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC9B;;OAEG;IACH,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC3B;;OAEG;IACH,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;IACvB;;OAEG;IACH,OAAO,EAAE,aAAa;IACtB;;OAEG;IACH,KAAK,EAAE,CAAC;SACL,MAAM,CAAC;QACN;;WAEG;QACH,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC,QAAQ,EAAE;QACpD;;WAEG;QACH,YAAY,EAAE,CAAC,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC,QAAQ,EAAE;KAC7D,CAAC;SACD,QAAQ,EAAE;IACb;;;;OAIG;IACH,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;CAC/B,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"run-migrations.d.ts","sourceRoot":"","sources":["../../../src/plugins/migrations/run-migrations.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AAI3E,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,oBAAoB,CAAC;AAIpE,wBAAgB,mBAAmB,CACjC,iBAAiB,EAAE,iBAAiB,EACpC,yBAAyB,EAAE,yBAAyB,GACnD,iBAAiB,CA8BnB"}
1
+ {"version":3,"file":"run-migrations.d.ts","sourceRoot":"","sources":["../../../src/plugins/migrations/run-migrations.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AAI3E,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,oBAAoB,CAAC;AAIpE,wBAAgB,mBAAmB,CACjC,iBAAiB,EAAE,iBAAiB,EACpC,yBAAyB,EAAE,yBAAyB,GACnD,iBAAiB,CA+BnB"}
@@ -16,7 +16,7 @@ export function runPluginMigrations(projectDefinition, pluginImplementationStore
16
16
  for (const migration of pluginMigrations) {
17
17
  if (migration.version > currentSchemaVersion) {
18
18
  try {
19
- pluginDefinition.config = migration.migrate(pluginDefinition.config);
19
+ pluginDefinition.config = migration.migrate(pluginDefinition.config, draft);
20
20
  }
21
21
  catch (error) {
22
22
  throw new Error(`Error migrating plugin ${pluginDefinition.id} to version ${migration.version}: ${String(error)}`);
@@ -1 +1 @@
1
- {"version":3,"file":"run-migrations.js","sourceRoot":"","sources":["../../../src/plugins/migrations/run-migrations.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAI/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AAIvE,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE1D,MAAM,UAAU,mBAAmB,CACjC,iBAAoC,EACpC,yBAAoD;IAEpD,MAAM,mBAAmB,GACvB,yBAAyB,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC;IAC5D,aAAa,CAAC,KAAK,CAAC,CAAC;IACrB,OAAO,OAAO,CAAC,iBAAiB,EAAE,CAAC,KAAK,EAAE,EAAE;QAC1C,KAAK,MAAM,gBAAgB,IAAI,KAAK,CAAC,OAAO,IAAI,EAAE,EAAE,CAAC;YACnD,MAAM,gBAAgB,GAAG,mBAAmB,CAAC,aAAa,CACxD,gBAAgB,CAAC,SAAS,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAChD,CAAC;YACF,MAAM,oBAAoB,GAAG,gBAAgB,CAAC,mBAAmB,IAAI,CAAC,CAAC,CAAC;YACxE,IAAI,CAAC,gBAAgB;gBAAE,SAAS;YAChC,MAAM,mBAAmB,GAAG,gBAAgB,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;YACpD,IAAI,CAAC,mBAAmB;gBAAE,SAAS;YAEnC,KAAK,MAAM,SAAS,IAAI,gBAAgB,EAAE,CAAC;gBACzC,IAAI,SAAS,CAAC,OAAO,GAAG,oBAAoB,EAAE,CAAC;oBAC7C,IAAI,CAAC;wBACH,gBAAgB,CAAC,MAAM,GAAG,SAAS,CAAC,OAAO,CACzC,gBAAgB,CAAC,MAAM,CACxB,CAAC;oBACJ,CAAC;oBAAC,OAAO,KAAK,EAAE,CAAC;wBACf,MAAM,IAAI,KAAK,CACb,0BAA0B,gBAAgB,CAAC,EAAE,eAAe,SAAS,CAAC,OAAO,KAAK,MAAM,CAAC,KAAK,CAAC,EAAE,CAClG,CAAC;oBACJ,CAAC;gBACH,CAAC;YACH,CAAC;YACD,gBAAgB,CAAC,mBAAmB,GAAG,mBAAmB,CAAC,OAAO,CAAC;QACrE,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"run-migrations.js","sourceRoot":"","sources":["../../../src/plugins/migrations/run-migrations.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAI/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AAIvE,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE1D,MAAM,UAAU,mBAAmB,CACjC,iBAAoC,EACpC,yBAAoD;IAEpD,MAAM,mBAAmB,GACvB,yBAAyB,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC;IAC5D,aAAa,CAAC,KAAK,CAAC,CAAC;IACrB,OAAO,OAAO,CAAC,iBAAiB,EAAE,CAAC,KAAK,EAAE,EAAE;QAC1C,KAAK,MAAM,gBAAgB,IAAI,KAAK,CAAC,OAAO,IAAI,EAAE,EAAE,CAAC;YACnD,MAAM,gBAAgB,GAAG,mBAAmB,CAAC,aAAa,CACxD,gBAAgB,CAAC,SAAS,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAChD,CAAC;YACF,MAAM,oBAAoB,GAAG,gBAAgB,CAAC,mBAAmB,IAAI,CAAC,CAAC,CAAC;YACxE,IAAI,CAAC,gBAAgB;gBAAE,SAAS;YAChC,MAAM,mBAAmB,GAAG,gBAAgB,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;YACpD,IAAI,CAAC,mBAAmB;gBAAE,SAAS;YAEnC,KAAK,MAAM,SAAS,IAAI,gBAAgB,EAAE,CAAC;gBACzC,IAAI,SAAS,CAAC,OAAO,GAAG,oBAAoB,EAAE,CAAC;oBAC7C,IAAI,CAAC;wBACH,gBAAgB,CAAC,MAAM,GAAG,SAAS,CAAC,OAAO,CACzC,gBAAgB,CAAC,MAAM,EACvB,KAAK,CACN,CAAC;oBACJ,CAAC;oBAAC,OAAO,KAAK,EAAE,CAAC;wBACf,MAAM,IAAI,KAAK,CACb,0BAA0B,gBAAgB,CAAC,EAAE,eAAe,SAAS,CAAC,OAAO,KAAK,MAAM,CAAC,KAAK,CAAC,EAAE,CAClG,CAAC;oBACJ,CAAC;gBACH,CAAC;YACH,CAAC;YACD,gBAAgB,CAAC,mBAAmB,GAAG,mBAAmB,CAAC,OAAO,CAAC;QACrE,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -3,7 +3,16 @@ import type { PluginSpecImplementation } from './types.js';
3
3
  export interface PluginConfigMigration {
4
4
  version: number;
5
5
  name: string;
6
- migrate: (config: unknown) => unknown;
6
+ /**
7
+ * The function to migrate the plugin config.
8
+ *
9
+ * TODO: We should figure out a better way of mutating the project definition
10
+ *
11
+ * @param config - The plugin config to migrate
12
+ * @param projectDefinition - The project definition (it is mutable but be careful)
13
+ * @returns The migrated plugin config
14
+ */
15
+ migrate: (config: unknown, projectDefinition: unknown) => unknown;
7
16
  }
8
17
  /**
9
18
  * Spec for registering plugin config schema
@@ -1 +1 @@
1
- {"version":3,"file":"config-spec.d.ts","sourceRoot":"","sources":["../../../src/plugins/spec/config-spec.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAEpE,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAC;AAI3D,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,OAAO,CAAC;CACvC;AAED;;GAEG;AACH,MAAM,WAAW,gBAAiB,SAAQ,wBAAwB;IAChE,qBAAqB,EAAE,CACrB,SAAS,EAAE,MAAM,EACjB,aAAa,EAAE,uBAAuB,KACnC,IAAI,CAAC;IACV,kBAAkB,EAAE,CAClB,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,qBAAqB,EAAE,KAChC,IAAI,CAAC;IACV,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,uBAAuB,GAAG,SAAS,CAAC;IACzE,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,qBAAqB,EAAE,GAAG,SAAS,CAAC;IACrE,uBAAuB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;CAC/D;AAoBD,wBAAgB,gCAAgC,IAAI,gBAAgB,CA+BnE;AAED;;;;;;;;;;GAUG;AACH,eAAO,MAAM,gBAAgB,kEAE3B,CAAC"}
1
+ {"version":3,"file":"config-spec.d.ts","sourceRoot":"","sources":["../../../src/plugins/spec/config-spec.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAEpE,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAC;AAI3D,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb;;;;;;;;OAQG;IACH,OAAO,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,iBAAiB,EAAE,OAAO,KAAK,OAAO,CAAC;CACnE;AAED;;GAEG;AACH,MAAM,WAAW,gBAAiB,SAAQ,wBAAwB;IAChE,qBAAqB,EAAE,CACrB,SAAS,EAAE,MAAM,EACjB,aAAa,EAAE,uBAAuB,KACnC,IAAI,CAAC;IACV,kBAAkB,EAAE,CAClB,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,qBAAqB,EAAE,KAChC,IAAI,CAAC;IACV,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,uBAAuB,GAAG,SAAS,CAAC;IACzE,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,qBAAqB,EAAE,GAAG,SAAS,CAAC;IACrE,uBAAuB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;CAC/D;AAoBD,wBAAgB,gCAAgC,IAAI,gBAAgB,CA+BnE;AAED;;;;;;;;;;GAUG;AACH,eAAO,MAAM,gBAAgB,kEAE3B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"config-spec.js","sourceRoot":"","sources":["../../../src/plugins/spec/config-spec.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAyB9C,SAAS,yBAAyB,CAChC,UAAmC;IAEnC,qEAAqE;IACrE,MAAM,gBAAgB,GAAG,CAAC,GAAG,UAAU,CAAC,CAAC,IAAI,CAC3C,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,CAChC,CAAC;IACF,IAAI,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,EAAE,CAAC;QACjD,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;IAClE,CAAC;IACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QACrD,IAAI,gBAAgB,CAAC,CAAC,CAAC,CAAC,OAAO,KAAK,gBAAgB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;YACpE,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;QACvD,CAAC;IACH,CAAC;IACD,OAAO,gBAAgB,CAAC;AAC1B,CAAC;AAED,MAAM,UAAU,gCAAgC;IAC9C,MAAM,OAAO,GAAG,IAAI,GAAG,EAAmC,CAAC;IAC3D,MAAM,aAAa,GAAG,IAAI,GAAG,EAAmC,CAAC;IAEjE,OAAO;QACL,qBAAqB,CAAC,SAAS,EAAE,aAAa;YAC5C,IAAI,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC3B,MAAM,IAAI,KAAK,CAAC,qBAAqB,SAAS,wBAAwB,CAAC,CAAC;YAC1E,CAAC;YACD,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;QACxC,CAAC;QACD,kBAAkB,CAAC,SAAS,EAAE,UAAU;YACtC,IAAI,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;gBACjC,MAAM,IAAI,KAAK,CACb,yBAAyB,SAAS,yBAAyB,CAC5D,CAAC;YACJ,CAAC;YACD,MAAM,gBAAgB,GAAG,yBAAyB,CAAC,UAAU,CAAC,CAAC;YAC/D,aAAa,CAAC,GAAG,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC;QACjD,CAAC;QACD,gBAAgB,CAAC,SAAS;YACxB,OAAO,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAChC,CAAC;QACD,aAAa,CAAC,SAAS;YACrB,OAAO,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACtC,CAAC;QACD,uBAAuB,CAAC,SAAS;YAC/B,MAAM,UAAU,GAAG,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YAChD,OAAO,UAAU,EAAE,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC;QACtD,CAAC;KACF,CAAC;AACJ,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,gBAAgB,CAAC,oBAAoB,EAAE;IACrE,kBAAkB,EAAE,gCAAgC;CACrD,CAAC,CAAC"}
1
+ {"version":3,"file":"config-spec.js","sourceRoot":"","sources":["../../../src/plugins/spec/config-spec.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAkC9C,SAAS,yBAAyB,CAChC,UAAmC;IAEnC,qEAAqE;IACrE,MAAM,gBAAgB,GAAG,CAAC,GAAG,UAAU,CAAC,CAAC,IAAI,CAC3C,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,CAChC,CAAC;IACF,IAAI,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,EAAE,CAAC;QACjD,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;IAClE,CAAC;IACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QACrD,IAAI,gBAAgB,CAAC,CAAC,CAAC,CAAC,OAAO,KAAK,gBAAgB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;YACpE,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;QACvD,CAAC;IACH,CAAC;IACD,OAAO,gBAAgB,CAAC;AAC1B,CAAC;AAED,MAAM,UAAU,gCAAgC;IAC9C,MAAM,OAAO,GAAG,IAAI,GAAG,EAAmC,CAAC;IAC3D,MAAM,aAAa,GAAG,IAAI,GAAG,EAAmC,CAAC;IAEjE,OAAO;QACL,qBAAqB,CAAC,SAAS,EAAE,aAAa;YAC5C,IAAI,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC3B,MAAM,IAAI,KAAK,CAAC,qBAAqB,SAAS,wBAAwB,CAAC,CAAC;YAC1E,CAAC;YACD,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;QACxC,CAAC;QACD,kBAAkB,CAAC,SAAS,EAAE,UAAU;YACtC,IAAI,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;gBACjC,MAAM,IAAI,KAAK,CACb,yBAAyB,SAAS,yBAAyB,CAC5D,CAAC;YACJ,CAAC;YACD,MAAM,gBAAgB,GAAG,yBAAyB,CAAC,UAAU,CAAC,CAAC;YAC/D,aAAa,CAAC,GAAG,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC;QACjD,CAAC;QACD,gBAAgB,CAAC,SAAS;YACxB,OAAO,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAChC,CAAC;QACD,aAAa,CAAC,SAAS;YACrB,OAAO,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACtC,CAAC;QACD,uBAAuB,CAAC,SAAS;YAC/B,MAAM,UAAU,GAAG,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YAChD,OAAO,UAAU,EAAE,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC;QACtD,CAAC;KACF,CAAC;AACJ,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,gBAAgB,CAAC,oBAAoB,EAAE;IACrE,kBAAkB,EAAE,gCAAgC;CACrD,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"extract-definition-refs.d.ts","sourceRoot":"","sources":["../../src/references/extract-definition-refs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,4BAA4B,EAE5B,iBAAiB,EACjB,aAAa,EACd,MAAM,6BAA6B,CAAC;AAErC,OAAO,KAAK,EACV,gBAAgB,EAChB,mBAAmB,EACnB,aAAa,EACd,MAAM,YAAY,CAAC;AAQpB;;GAEG;AACH,MAAM,WAAW,gCACf,SAAQ,IAAI,CAAC,gBAAgB,EAAE,MAAM,CAAC;IACtC,YAAY,EAAE,4BAA4B,CAAC;CAC5C;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,iBAAiB,CAAC;IAC3B,UAAU,EAAE,mBAAmB,EAAE,CAAC;IAClC,wBAAwB,EAAE,gCAAgC,EAAE,CAAC;CAC9D;AAED,wBAAgB,8BAA8B,CAC5C,KAAK,EAAE,OAAO,EACd,OAAO,EAAE,aAAa,EACtB,IAAI,EAAE,aAAa,GAClB,OAAO,CAyET;AAED,wBAAgB,qBAAqB,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC,CAgBnE"}
1
+ {"version":3,"file":"extract-definition-refs.d.ts","sourceRoot":"","sources":["../../src/references/extract-definition-refs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,4BAA4B,EAE5B,iBAAiB,EACjB,aAAa,EACd,MAAM,6BAA6B,CAAC;AAErC,OAAO,KAAK,EACV,gBAAgB,EAChB,mBAAmB,EACnB,aAAa,EACd,MAAM,YAAY,CAAC;AAQpB;;GAEG;AACH,MAAM,WAAW,gCACf,SAAQ,IAAI,CAAC,gBAAgB,EAAE,MAAM,CAAC;IACtC,YAAY,EAAE,4BAA4B,CAAC;CAC5C;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,iBAAiB,CAAC;IAC3B,UAAU,EAAE,mBAAmB,EAAE,CAAC;IAClC,wBAAwB,EAAE,gCAAgC,EAAE,CAAC;CAC9D;AAED,wBAAgB,8BAA8B,CAC5C,KAAK,EAAE,OAAO,EACd,OAAO,EAAE,aAAa,EACtB,IAAI,EAAE,aAAa,GAClB,OAAO,CAyET;AAED,wBAAgB,qBAAqB,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC,CAyBnE"}
@@ -54,6 +54,14 @@ export function extractDefinitionRefs(value) {
54
54
  entitiesWithNameResolver: [],
55
55
  };
56
56
  const cleanData = extractDefinitionRefsRecursive(value, refContext, []);
57
+ // Simple sanity check to make sure we don't have duplicate IDs
58
+ const idSet = new Set();
59
+ for (const entity of refContext.entitiesWithNameResolver) {
60
+ if (idSet.has(entity.id)) {
61
+ throw new Error(`Duplicate ID found: ${entity.id}`);
62
+ }
63
+ idSet.add(entity.id);
64
+ }
57
65
  return {
58
66
  data: cleanData,
59
67
  references: refContext.references,
@@ -1 +1 @@
1
- {"version":3,"file":"extract-definition-refs.js","sourceRoot":"","sources":["../../src/references/extract-definition-refs.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"extract-definition-refs.js","sourceRoot":"","sources":["../../src/references/extract-definition-refs.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ import { z } from 'zod';
2
+ import type { DefinitionSchemaCreatorOptions } from './types.js';
3
+ export type WithDefaultType = <T extends z.ZodTypeAny>(schema: T, defaultValue: z.infer<T>) => z.ZodEffects<z.ZodOptional<T>, z.output<z.ZodOptional<T>>, z.input<z.ZodOptional<T>>>;
4
+ /**
5
+ * Extends the parser context with default value handling functionality.
6
+ *
7
+ * @param options - The schema creator options containing the defaultMode
8
+ * @returns An object containing the withDefault method
9
+ */
10
+ export declare function extendParserContextWithDefaults(options: DefinitionSchemaCreatorOptions): {
11
+ withDefault: WithDefaultType;
12
+ };
13
+ //# sourceMappingURL=extend-parser-context-with-defaults.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extend-parser-context-with-defaults.d.ts","sourceRoot":"","sources":["../../../src/schema/creator/extend-parser-context-with-defaults.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,YAAY,CAAC;AAYjE,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,UAAU,EACnD,MAAM,EAAE,CAAC,EACT,YAAY,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KACrB,CAAC,CAAC,UAAU,CACf,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAChB,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAC1B,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAC1B,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,+BAA+B,CAC7C,OAAO,EAAE,8BAA8B,GACtC;IACD,WAAW,EAAE,eAAe,CAAC;CAC9B,CAuCA"}
@@ -0,0 +1,52 @@
1
+ import { z } from 'zod';
2
+ function isEmpty(value) {
3
+ if (Array.isArray(value)) {
4
+ return value.length === 0;
5
+ }
6
+ if (typeof value === 'object' && value !== null) {
7
+ return Object.values(value).every((val) => val === undefined);
8
+ }
9
+ return value === false || value === '';
10
+ }
11
+ /**
12
+ * Extends the parser context with default value handling functionality.
13
+ *
14
+ * @param options - The schema creator options containing the defaultMode
15
+ * @returns An object containing the withDefault method
16
+ */
17
+ export function extendParserContextWithDefaults(options) {
18
+ const mode = options.defaultMode ?? 'populate';
19
+ return {
20
+ withDefault: function withDefault(schema, defaultValue) {
21
+ // Auto-add .optional() to the schema
22
+ const optionalSchema = schema.optional();
23
+ switch (mode) {
24
+ case 'populate': {
25
+ // Use preprocess to inject defaults before validation
26
+ return z.preprocess((value) => {
27
+ if (value === undefined) {
28
+ return defaultValue;
29
+ }
30
+ return value;
31
+ }, optionalSchema);
32
+ }
33
+ case 'strip': {
34
+ // Use transform to remove values matching defaults after validation
35
+ return optionalSchema.transform((value) => {
36
+ if (isEmpty(value)) {
37
+ return undefined;
38
+ }
39
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-return -- it's typed to a generic
40
+ return value;
41
+ });
42
+ }
43
+ case 'preserve': {
44
+ // Return schema with .optional() added
45
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-return -- it's typed to a generic
46
+ return optionalSchema.transform((x) => x);
47
+ }
48
+ }
49
+ },
50
+ };
51
+ }
52
+ //# sourceMappingURL=extend-parser-context-with-defaults.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extend-parser-context-with-defaults.js","sourceRoot":"","sources":["../../../src/schema/creator/extend-parser-context-with-defaults.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,SAAS,OAAO,CAAC,KAAc;IAC7B,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC;IAC5B,CAAC;IACD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QAChD,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC;IAChE,CAAC;IACD,OAAO,KAAK,KAAK,KAAK,IAAI,KAAK,KAAK,EAAE,CAAC;AACzC,CAAC;AAWD;;;;;GAKG;AACH,MAAM,UAAU,+BAA+B,CAC7C,OAAuC;IAIvC,MAAM,IAAI,GAAG,OAAO,CAAC,WAAW,IAAI,UAAU,CAAC;IAE/C,OAAO;QACL,WAAW,EAAE,SAAS,WAAW,CAC/B,MAAS,EACT,YAAwB;YAExB,qCAAqC;YACrC,MAAM,cAAc,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;YAEzC,QAAQ,IAAI,EAAE,CAAC;gBACb,KAAK,UAAU,CAAC,CAAC,CAAC;oBAChB,sDAAsD;oBACtD,OAAO,CAAC,CAAC,UAAU,CAAC,CAAC,KAAgC,EAAE,EAAE;wBACvD,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;4BACxB,OAAO,YAAY,CAAC;wBACtB,CAAC;wBACD,OAAO,KAAK,CAAC;oBACf,CAAC,EAAE,cAAc,CAAC,CAAC;gBACrB,CAAC;gBACD,KAAK,OAAO,CAAC,CAAC,CAAC;oBACb,oEAAoE;oBACpE,OAAO,cAAc,CAAC,SAAS,CAAC,CAAC,KAAK,EAAE,EAAE;wBACxC,IAAI,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;4BACnB,OAAO,SAAS,CAAC;wBACnB,CAAC;wBACD,0FAA0F;wBAC1F,OAAO,KAAK,CAAC;oBACf,CAAC,CAAC,CAAC;gBACL,CAAC;gBACD,KAAK,UAAU,CAAC,CAAC,CAAC;oBAChB,uCAAuC;oBACvC,0FAA0F;oBAC1F,OAAO,cAAc,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;gBAC5C,CAAC;YACH,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"schema-creator.d.ts","sourceRoot":"","sources":["../../../src/schema/creator/schema-creator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAI7B,OAAO,KAAK,EACV,uBAAuB,EACvB,8BAA8B,EAC9B,6BAA6B,EAC9B,MAAM,YAAY,CAAC;AAEpB,wBAAgB,mCAAmC,CACjD,OAAO,EAAE,8BAA8B,GACtC,6BAA6B,CAK/B;AAED,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,CAAC,CAAC,UAAU,EACrD,OAAO,EAAE,uBAAuB,CAAC,CAAC,CAAC,GAClC,CAAC,OAAO,EAAE,6BAA6B,KAAK,CAAC,CAE/C"}
1
+ {"version":3,"file":"schema-creator.d.ts","sourceRoot":"","sources":["../../../src/schema/creator/schema-creator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAI7B,OAAO,KAAK,EACV,uBAAuB,EACvB,8BAA8B,EAC9B,6BAA6B,EAC9B,MAAM,YAAY,CAAC;AAIpB,wBAAgB,mCAAmC,CACjD,OAAO,EAAE,8BAA8B,GACtC,6BAA6B,CAM/B;AAED,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,CAAC,CAAC,UAAU,EACrD,OAAO,EAAE,uBAAuB,CAAC,CAAC,CAAC,GAClC,CAAC,OAAO,EAAE,6BAA6B,KAAK,CAAC,CAE/C"}
@@ -1,8 +1,10 @@
1
1
  import { extendParserContextWithRefs } from '#src/references/extend-parser-context-with-refs.js';
2
+ import { extendParserContextWithDefaults } from './extend-parser-context-with-defaults.js';
2
3
  export function createDefinitionSchemaParserContext(options) {
3
4
  return {
4
5
  ...options,
5
6
  ...extendParserContextWithRefs(options),
7
+ ...extendParserContextWithDefaults(options),
6
8
  };
7
9
  }
8
10
  export function definitionSchema(creator) {
@@ -1 +1 @@
1
- {"version":3,"file":"schema-creator.js","sourceRoot":"","sources":["../../../src/schema/creator/schema-creator.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,2BAA2B,EAAE,MAAM,oDAAoD,CAAC;AAQjG,MAAM,UAAU,mCAAmC,CACjD,OAAuC;IAEvC,OAAO;QACL,GAAG,OAAO;QACV,GAAG,2BAA2B,CAAC,OAAO,CAAC;KACxC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,gBAAgB,CAC9B,OAAmC;IAEnC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;AACvC,CAAC"}
1
+ {"version":3,"file":"schema-creator.js","sourceRoot":"","sources":["../../../src/schema/creator/schema-creator.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,2BAA2B,EAAE,MAAM,oDAAoD,CAAC;AAQjG,OAAO,EAAE,+BAA+B,EAAE,MAAM,0CAA0C,CAAC;AAE3F,MAAM,UAAU,mCAAmC,CACjD,OAAuC;IAEvC,OAAO;QACL,GAAG,OAAO;QACV,GAAG,2BAA2B,CAAC,OAAO,CAAC;QACvC,GAAG,+BAA+B,CAAC,OAAO,CAAC;KAC5C,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,gBAAgB,CAC9B,OAAmC;IAEnC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;AACvC,CAAC"}
@@ -1,6 +1,7 @@
1
1
  import type { z } from 'zod';
2
2
  import type { PluginImplementationStore } from '#src/plugins/index.js';
3
3
  import type { WithEntType, WithRefBuilder, WithRefType } from '#src/references/extend-parser-context-with-refs.js';
4
+ import type { WithDefaultType } from './extend-parser-context-with-defaults.js';
4
5
  /**
5
6
  * Options for creating a definition schema.
6
7
  */
@@ -17,6 +18,16 @@ export interface DefinitionSchemaCreatorOptions {
17
18
  * to convert the parsed data to the correct type.
18
19
  */
19
20
  transformReferences?: boolean;
21
+ /**
22
+ * How to handle default values in the schema.
23
+ *
24
+ * - 'populate': Ensure defaults are present (useful for React Hook Form)
25
+ * - 'strip': Remove values that match their defaults (useful for clean JSON serialization)
26
+ * - 'preserve': Keep values as-is without transformation
27
+ *
28
+ * @default 'populate'
29
+ */
30
+ defaultMode?: 'populate' | 'strip' | 'preserve';
20
31
  }
21
32
  export interface DefinitionSchemaParserContext {
22
33
  /**
@@ -27,6 +38,10 @@ export interface DefinitionSchemaParserContext {
27
38
  * If true, the schema will be transformed to include references.
28
39
  */
29
40
  transformReferences?: boolean;
41
+ /**
42
+ * How to handle default values in the schema.
43
+ */
44
+ defaultMode?: 'populate' | 'strip' | 'preserve';
30
45
  /**
31
46
  * Adds a reference to the schema.
32
47
  */
@@ -39,6 +54,13 @@ export interface DefinitionSchemaParserContext {
39
54
  * Provides access to the reference builder functions for the schema.
40
55
  */
41
56
  withRefBuilder: WithRefBuilder;
57
+ /**
58
+ * Wraps a schema with default value handling based on the defaultMode.
59
+ * - 'populate': Uses preprocess to ensure defaults are present
60
+ * - 'strip': Uses transform to remove values matching defaults
61
+ * - 'preserve': Returns schema unchanged
62
+ */
63
+ withDefault: WithDefaultType;
42
64
  }
43
65
  export type DefinitionSchemaCreator<T extends z.ZodTypeAny = z.ZodTypeAny> = (ctx: DefinitionSchemaParserContext) => T;
44
66
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/schema/creator/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAE7B,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AACvE,OAAO,KAAK,EACV,WAAW,EACX,cAAc,EACd,WAAW,EACZ,MAAM,oDAAoD,CAAC;AAE5D;;GAEG;AACH,MAAM,WAAW,8BAA8B;IAC7C;;OAEG;IACH,OAAO,EAAE,yBAAyB,CAAC;IACnC;;;;;;OAMG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;CAC/B;AAED,MAAM,WAAW,6BAA6B;IAC5C;;OAEG;IACH,OAAO,EAAE,yBAAyB,CAAC;IACnC;;OAEG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B;;OAEG;IACH,OAAO,EAAE,WAAW,CAAC;IACrB;;OAEG;IACH,OAAO,EAAE,WAAW,CAAC;IACrB;;OAEG;IACH,cAAc,EAAE,cAAc,CAAC;CAChC;AAED,MAAM,MAAM,uBAAuB,CAAC,CAAC,SAAS,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,UAAU,IAAI,CAC3E,GAAG,EAAE,6BAA6B,KAC/B,CAAC,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/schema/creator/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAE7B,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AACvE,OAAO,KAAK,EACV,WAAW,EACX,cAAc,EACd,WAAW,EACZ,MAAM,oDAAoD,CAAC;AAE5D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0CAA0C,CAAC;AAEhF;;GAEG;AACH,MAAM,WAAW,8BAA8B;IAC7C;;OAEG;IACH,OAAO,EAAE,yBAAyB,CAAC;IACnC;;;;;;OAMG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B;;;;;;;;OAQG;IACH,WAAW,CAAC,EAAE,UAAU,GAAG,OAAO,GAAG,UAAU,CAAC;CACjD;AAED,MAAM,WAAW,6BAA6B;IAC5C;;OAEG;IACH,OAAO,EAAE,yBAAyB,CAAC;IACnC;;OAEG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B;;OAEG;IACH,WAAW,CAAC,EAAE,UAAU,GAAG,OAAO,GAAG,UAAU,CAAC;IAChD;;OAEG;IACH,OAAO,EAAE,WAAW,CAAC;IACrB;;OAEG;IACH,OAAO,EAAE,WAAW,CAAC;IACrB;;OAEG;IACH,cAAc,EAAE,cAAc,CAAC;IAC/B;;;;;OAKG;IACH,WAAW,EAAE,eAAe,CAAC;CAC9B;AAED,MAAM,MAAM,uBAAuB,CAAC,CAAC,SAAS,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,UAAU,IAAI,CAC3E,GAAG,EAAE,6BAA6B,KAC/B,CAAC,CAAC"}