@baseplate-dev/project-builder-server 0.5.0 → 0.5.1

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 (87) hide show
  1. package/dist/compiler/app-compiler.d.ts +1 -1
  2. package/dist/compiler/app-compiler.d.ts.map +1 -1
  3. package/dist/compiler/app-compiler.js +2 -3
  4. package/dist/compiler/app-compiler.js.map +1 -1
  5. package/dist/compiler/app-entry-builder.d.ts +2 -2
  6. package/dist/compiler/app-entry-builder.d.ts.map +1 -1
  7. package/dist/compiler/app-entry-builder.js +1 -1
  8. package/dist/compiler/app-entry-builder.js.map +1 -1
  9. package/dist/compiler/backend/backend-compiler.d.ts +1 -2
  10. package/dist/compiler/backend/backend-compiler.d.ts.map +1 -1
  11. package/dist/compiler/backend/backend-compiler.js +2 -2
  12. package/dist/compiler/backend/backend-compiler.js.map +1 -1
  13. package/dist/compiler/backend/fastify.d.ts.map +1 -1
  14. package/dist/compiler/backend/fastify.js +1 -2
  15. package/dist/compiler/backend/fastify.js.map +1 -1
  16. package/dist/compiler/backend/graphql.js +4 -4
  17. package/dist/compiler/backend/graphql.js.map +1 -1
  18. package/dist/compiler/backend/services.d.ts.map +1 -1
  19. package/dist/compiler/backend/services.js +6 -20
  20. package/dist/compiler/backend/services.js.map +1 -1
  21. package/dist/compiler/compile-packages.d.ts.map +1 -1
  22. package/dist/compiler/compile-packages.js +5 -24
  23. package/dist/compiler/compile-packages.js.map +1 -1
  24. package/dist/compiler/library/index.d.ts +1 -0
  25. package/dist/compiler/library/index.d.ts.map +1 -1
  26. package/dist/compiler/library/index.js +1 -0
  27. package/dist/compiler/library/index.js.map +1 -1
  28. package/dist/compiler/library/library-compiler.d.ts +2 -30
  29. package/dist/compiler/library/library-compiler.d.ts.map +1 -1
  30. package/dist/compiler/library/library-compiler.js +8 -63
  31. package/dist/compiler/library/library-compiler.js.map +1 -1
  32. package/dist/compiler/library/node-library-package-compiler.d.ts +3 -0
  33. package/dist/compiler/library/node-library-package-compiler.d.ts.map +1 -0
  34. package/dist/compiler/library/node-library-package-compiler.js +32 -0
  35. package/dist/compiler/library/node-library-package-compiler.js.map +1 -0
  36. package/dist/compiler/package-compiler.d.ts +0 -69
  37. package/dist/compiler/package-compiler.d.ts.map +1 -1
  38. package/dist/compiler/package-compiler.js +0 -51
  39. package/dist/compiler/package-compiler.js.map +1 -1
  40. package/dist/compiler/root/root-package-compiler.d.ts +2 -2
  41. package/dist/compiler/root/root-package-compiler.d.ts.map +1 -1
  42. package/dist/compiler/root/root-package-compiler.js +9 -7
  43. package/dist/compiler/root/root-package-compiler.js.map +1 -1
  44. package/dist/compiler/web/admin/crud/actions.d.ts.map +1 -1
  45. package/dist/compiler/web/admin/crud/actions.js +5 -29
  46. package/dist/compiler/web/admin/crud/actions.js.map +1 -1
  47. package/dist/compiler/web/admin/crud/columns.d.ts.map +1 -1
  48. package/dist/compiler/web/admin/crud/columns.js +9 -43
  49. package/dist/compiler/web/admin/crud/columns.js.map +1 -1
  50. package/dist/compiler/web/admin/crud/inputs.d.ts.map +1 -1
  51. package/dist/compiler/web/admin/crud/inputs.js +6 -150
  52. package/dist/compiler/web/admin/crud/inputs.js.map +1 -1
  53. package/dist/compiler/web/web-compiler.d.ts +1 -2
  54. package/dist/compiler/web/web-compiler.d.ts.map +1 -1
  55. package/dist/compiler/web/web-compiler.js.map +1 -1
  56. package/dist/core-modules/admin-crud-action-compiler.d.ts +4 -0
  57. package/dist/core-modules/admin-crud-action-compiler.d.ts.map +1 -0
  58. package/dist/core-modules/admin-crud-action-compiler.js +37 -0
  59. package/dist/core-modules/admin-crud-action-compiler.js.map +1 -0
  60. package/dist/core-modules/admin-crud-column-compiler.d.ts +4 -0
  61. package/dist/core-modules/admin-crud-column-compiler.d.ts.map +1 -0
  62. package/dist/core-modules/admin-crud-column-compiler.js +47 -0
  63. package/dist/core-modules/admin-crud-column-compiler.js.map +1 -0
  64. package/dist/core-modules/admin-crud-input-compiler.d.ts +4 -0
  65. package/dist/core-modules/admin-crud-input-compiler.d.ts.map +1 -0
  66. package/dist/core-modules/admin-crud-input-compiler.js +157 -0
  67. package/dist/core-modules/admin-crud-input-compiler.js.map +1 -0
  68. package/dist/core-modules/index.d.ts +3 -0
  69. package/dist/core-modules/index.d.ts.map +1 -0
  70. package/dist/core-modules/index.js +17 -0
  71. package/dist/core-modules/index.js.map +1 -0
  72. package/dist/core-modules/library-type-spec.d.ts +10 -0
  73. package/dist/core-modules/library-type-spec.d.ts.map +1 -0
  74. package/dist/core-modules/library-type-spec.js +18 -0
  75. package/dist/core-modules/library-type-spec.js.map +1 -0
  76. package/dist/core-modules/model-transformer-compiler.d.ts +4 -0
  77. package/dist/core-modules/model-transformer-compiler.d.ts.map +1 -0
  78. package/dist/core-modules/model-transformer-compiler.js +31 -0
  79. package/dist/core-modules/model-transformer-compiler.js.map +1 -0
  80. package/dist/index.d.ts +1 -0
  81. package/dist/index.js +1 -0
  82. package/dist/plugins/node-plugin-store.d.ts.map +1 -1
  83. package/dist/plugins/node-plugin-store.js +3 -10
  84. package/dist/plugins/node-plugin-store.js.map +1 -1
  85. package/dist/project-definition/load-project-definition.js +3 -3
  86. package/dist/project-definition/load-project-definition.js.map +1 -1
  87. package/package.json +8 -8
@@ -0,0 +1,37 @@
1
+ import { adminCrudActionCompilerSpec, createPluginModule, } from '@baseplate-dev/project-builder-lib';
2
+ import { adminCrudDeleteActionGenerator, adminCrudEditActionGenerator, } from '@baseplate-dev/react-generators';
3
+ const adminCrudEditActionCompiler = {
4
+ name: 'edit',
5
+ compileAction: (definition, { order }) => adminCrudEditActionGenerator({
6
+ order,
7
+ position: definition.position,
8
+ }),
9
+ };
10
+ const adminCrudDeleteActionCompiler = {
11
+ name: 'delete',
12
+ compileAction: (definition, { order, model, modelCrudSection, definitionContainer }) => {
13
+ if (model.model.primaryKeyFieldRefs.length !== 1) {
14
+ throw new Error(`Model ${model.name} must have exactly one primary key field`);
15
+ }
16
+ return adminCrudDeleteActionGenerator({
17
+ order,
18
+ position: definition.position,
19
+ modelName: model.name,
20
+ nameField: definitionContainer.nameFromId(modelCrudSection.nameFieldRef),
21
+ idField: definitionContainer.nameFromId(model.model.primaryKeyFieldRefs[0]),
22
+ });
23
+ },
24
+ };
25
+ export const adminCrudActionCoreModule = createPluginModule({
26
+ name: 'admin-crud-action-compiler',
27
+ dependencies: {
28
+ adminCrudActionCompiler: adminCrudActionCompilerSpec,
29
+ },
30
+ initialize: ({ adminCrudActionCompiler }) => {
31
+ adminCrudActionCompiler.actions.addMany([
32
+ adminCrudEditActionCompiler,
33
+ adminCrudDeleteActionCompiler,
34
+ ]);
35
+ },
36
+ });
37
+ //# sourceMappingURL=admin-crud-action-compiler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"admin-crud-action-compiler.js","sourceRoot":"","sources":["../../src/core-modules/admin-crud-action-compiler.ts"],"names":[],"mappings":"AAMA,OAAO,EACL,2BAA2B,EAC3B,kBAAkB,GACnB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EACL,8BAA8B,EAC9B,4BAA4B,GAC7B,MAAM,iCAAiC,CAAC;AAEzC,MAAM,2BAA2B,GAC/B;IACE,IAAI,EAAE,MAAM;IACZ,aAAa,EAAE,CAAC,UAAU,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CACvC,4BAA4B,CAAC;QAC3B,KAAK;QACL,QAAQ,EAAE,UAAU,CAAC,QAAQ;KAC9B,CAAC;CACL,CAAC;AAEJ,MAAM,6BAA6B,GACjC;IACE,IAAI,EAAE,QAAQ;IACd,aAAa,EAAE,CACb,UAAU,EACV,EAAE,KAAK,EAAE,KAAK,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,EACvD,EAAE;QACF,IAAI,KAAK,CAAC,KAAK,CAAC,mBAAmB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACjD,MAAM,IAAI,KAAK,CACb,SAAS,KAAK,CAAC,IAAI,0CAA0C,CAC9D,CAAC;QACJ,CAAC;QACD,OAAO,8BAA8B,CAAC;YACpC,KAAK;YACL,QAAQ,EAAE,UAAU,CAAC,QAAQ;YAC7B,SAAS,EAAE,KAAK,CAAC,IAAI;YACrB,SAAS,EAAE,mBAAmB,CAAC,UAAU,CACvC,gBAAgB,CAAC,YAAY,CAC9B;YACD,OAAO,EAAE,mBAAmB,CAAC,UAAU,CACrC,KAAK,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC,CAAC,CACnC;SACF,CAAC,CAAC;IACL,CAAC;CACF,CAAC;AAEJ,MAAM,CAAC,MAAM,yBAAyB,GAAG,kBAAkB,CAAC;IAC1D,IAAI,EAAE,4BAA4B;IAClC,YAAY,EAAE;QACZ,uBAAuB,EAAE,2BAA2B;KACrD;IACD,UAAU,EAAE,CAAC,EAAE,uBAAuB,EAAE,EAAE,EAAE;QAC1C,uBAAuB,CAAC,OAAO,CAAC,OAAO,CAAC;YACtC,2BAA2B;YAC3B,6BAA6B;SAC9B,CAAC,CAAC;IACL,CAAC;CACF,CAAC,CAAC"}
@@ -0,0 +1,4 @@
1
+ export declare const adminCrudColumnCoreModule: import("@baseplate-dev/project-builder-lib").PluginModule<{
2
+ [x: string]: import("@baseplate-dev/project-builder-lib").PluginSpec<object, object>;
3
+ }>;
4
+ //# sourceMappingURL=admin-crud-column-compiler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"admin-crud-column-compiler.d.ts","sourceRoot":"","sources":["../../src/core-modules/admin-crud-column-compiler.ts"],"names":[],"mappings":"AAuEA,eAAO,MAAM,yBAAyB;;EAWpC,CAAC"}
@@ -0,0 +1,47 @@
1
+ import { adminCrudColumnCompilerSpec, createPluginModule, ModelFieldUtils, ModelUtils, } from '@baseplate-dev/project-builder-lib';
2
+ import { adminCrudForeignColumnGenerator, adminCrudTextColumnGenerator, } from '@baseplate-dev/react-generators';
3
+ const adminCrudTextColumnCompiler = {
4
+ name: 'text',
5
+ compileColumn: (column, options) => adminCrudTextColumnGenerator({
6
+ id: column.id,
7
+ label: column.label,
8
+ order: options.order,
9
+ modelField: options.definitionContainer.nameFromId(column.modelFieldRef),
10
+ }),
11
+ };
12
+ const adminCrudForeignColumnCompiler = {
13
+ name: 'foreign',
14
+ compileColumn: (column, { definitionContainer, model, order }) => {
15
+ const relation = model.model.relations?.find((r) => r.id === column.localRelationRef);
16
+ const localRelationName = definitionContainer.nameFromId(column.localRelationRef);
17
+ if (!relation) {
18
+ throw new Error(`Could not find relation ${localRelationName} in model ${model.name}`);
19
+ }
20
+ if (relation.references.length !== 1) {
21
+ throw new Error(`Only relations with a single reference are supported`);
22
+ }
23
+ const foreignModelIdFields = ModelUtils.byIdOrThrow(definitionContainer.definition, relation.modelRef).model.primaryKeyFieldRefs.map((ref) => definitionContainer.nameFromId(ref));
24
+ return adminCrudForeignColumnGenerator({
25
+ id: column.id,
26
+ label: column.label,
27
+ order,
28
+ relationName: localRelationName,
29
+ foreignModelIdFields,
30
+ isOptional: ModelFieldUtils.isRelationOptional(model, relation),
31
+ labelExpression: column.labelExpression,
32
+ });
33
+ },
34
+ };
35
+ export const adminCrudColumnCoreModule = createPluginModule({
36
+ name: 'admin-crud-column-compiler',
37
+ dependencies: {
38
+ adminCrudColumnCompiler: adminCrudColumnCompilerSpec,
39
+ },
40
+ initialize: ({ adminCrudColumnCompiler }) => {
41
+ adminCrudColumnCompiler.columns.addMany([
42
+ adminCrudTextColumnCompiler,
43
+ adminCrudForeignColumnCompiler,
44
+ ]);
45
+ },
46
+ });
47
+ //# sourceMappingURL=admin-crud-column-compiler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"admin-crud-column-compiler.js","sourceRoot":"","sources":["../../src/core-modules/admin-crud-column-compiler.ts"],"names":[],"mappings":"AAMA,OAAO,EACL,2BAA2B,EAC3B,kBAAkB,EAClB,eAAe,EACf,UAAU,GACX,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EACL,+BAA+B,EAC/B,4BAA4B,GAC7B,MAAM,iCAAiC,CAAC;AAEzC,MAAM,2BAA2B,GAC/B;IACE,IAAI,EAAE,MAAM;IACZ,aAAa,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE,CACjC,4BAA4B,CAAC;QAC3B,EAAE,EAAE,MAAM,CAAC,EAAE;QACb,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,UAAU,EAAE,OAAO,CAAC,mBAAmB,CAAC,UAAU,CAChD,MAAM,CAAC,aAAa,CACrB;KACF,CAAC;CACL,CAAC;AAEJ,MAAM,8BAA8B,GAClC;IACE,IAAI,EAAE,SAAS;IACf,aAAa,EAAE,CAAC,MAAM,EAAE,EAAE,mBAAmB,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE;QAC/D,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,SAAS,EAAE,IAAI,CAC1C,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,MAAM,CAAC,gBAAgB,CACxC,CAAC;QACF,MAAM,iBAAiB,GAAG,mBAAmB,CAAC,UAAU,CACtD,MAAM,CAAC,gBAAgB,CACxB,CAAC;QAEF,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,IAAI,KAAK,CACb,2BAA2B,iBAAiB,aAAa,KAAK,CAAC,IAAI,EAAE,CACtE,CAAC;QACJ,CAAC;QAED,IAAI,QAAQ,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACrC,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;QAC1E,CAAC;QAED,MAAM,oBAAoB,GAAG,UAAU,CAAC,WAAW,CACjD,mBAAmB,CAAC,UAAU,EAC9B,QAAQ,CAAC,QAAQ,CAClB,CAAC,KAAK,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CACtC,mBAAmB,CAAC,UAAU,CAAC,GAAG,CAAC,CACpC,CAAC;QAEF,OAAO,+BAA+B,CAAC;YACrC,EAAE,EAAE,MAAM,CAAC,EAAE;YACb,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,KAAK;YACL,YAAY,EAAE,iBAAiB;YAC/B,oBAAoB;YACpB,UAAU,EAAE,eAAe,CAAC,kBAAkB,CAAC,KAAK,EAAE,QAAQ,CAAC;YAC/D,eAAe,EAAE,MAAM,CAAC,eAAe;SACxC,CAAC,CAAC;IACL,CAAC;CACF,CAAC;AAEJ,MAAM,CAAC,MAAM,yBAAyB,GAAG,kBAAkB,CAAC;IAC1D,IAAI,EAAE,4BAA4B;IAClC,YAAY,EAAE;QACZ,uBAAuB,EAAE,2BAA2B;KACrD;IACD,UAAU,EAAE,CAAC,EAAE,uBAAuB,EAAE,EAAE,EAAE;QAC1C,uBAAuB,CAAC,OAAO,CAAC,OAAO,CAAC;YACtC,2BAA2B;YAC3B,8BAA8B;SAC/B,CAAC,CAAC;IACL,CAAC;CACF,CAAC,CAAC"}
@@ -0,0 +1,4 @@
1
+ export declare const adminCrudInputCoreModule: import("@baseplate-dev/project-builder-lib").PluginModule<{
2
+ [x: string]: import("@baseplate-dev/project-builder-lib").PluginSpec<object, object>;
3
+ }>;
4
+ //# sourceMappingURL=admin-crud-input-compiler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"admin-crud-input-compiler.d.ts","sourceRoot":"","sources":["../../src/core-modules/admin-crud-input-compiler.ts"],"names":[],"mappings":"AAoPA,eAAO,MAAM,wBAAwB;;EAenC,CAAC"}
@@ -0,0 +1,157 @@
1
+ import { adminCrudInputCompilerSpec, createPluginModule, EnumUtils, ModelFieldUtils, ModelUtils, } from '@baseplate-dev/project-builder-lib';
2
+ import { adminCrudEmbeddedInputGenerator, adminCrudEnumInputGenerator, adminCrudForeignInputGenerator, adminCrudPasswordInputGenerator, adminCrudTextInputGenerator, } from '@baseplate-dev/react-generators';
3
+ const adminEnumInputCompiler = {
4
+ name: 'enum',
5
+ compileInput: (definition, { order, definitionContainer, model }) => {
6
+ const fieldConfig = model.model.fields.find((f) => f.id === definition.modelFieldRef);
7
+ if (fieldConfig?.type !== 'enum' || !fieldConfig.options.enumRef) {
8
+ throw new Error(`Admin enum input ${definition.modelFieldRef} is not an enum`);
9
+ }
10
+ const enumBlock = EnumUtils.byId(definitionContainer.definition, fieldConfig.options.enumRef);
11
+ if (!enumBlock) {
12
+ throw new Error(`Could not find enum type ${fieldConfig.options.enumRef ?? ''}`);
13
+ }
14
+ const fieldName = definitionContainer.nameFromId(definition.modelFieldRef);
15
+ return adminCrudEnumInputGenerator({
16
+ order,
17
+ modelField: fieldName,
18
+ label: definition.label,
19
+ isOptional: fieldConfig.isOptional,
20
+ options: enumBlock.values.map((v) => ({
21
+ label: v.friendlyName,
22
+ value: v.name,
23
+ })),
24
+ });
25
+ },
26
+ };
27
+ const adminForeignInputCompiler = {
28
+ name: 'foreign',
29
+ compileInput: (definition, { order, definitionContainer, model }) => {
30
+ const relation = model.model.relations?.find((r) => r.id === definition.localRelationRef);
31
+ if (!relation) {
32
+ throw new Error(`Could not find relation ${definition.localRelationRef} in model ${model.name}`);
33
+ }
34
+ if (relation.references.length !== 1) {
35
+ throw new Error(`Only relations with a single reference are supported`);
36
+ }
37
+ const localField = definitionContainer.nameFromId(relation.references[0].localRef);
38
+ const localFieldType = model.model.fields.find((f) => f.id === relation.references[0].localRef)?.type;
39
+ if (!localFieldType ||
40
+ (localFieldType !== 'string' && localFieldType !== 'uuid')) {
41
+ throw new Error(`Only string and uuid primary keys are supported for foreign inputs`);
42
+ }
43
+ return adminCrudForeignInputGenerator({
44
+ order,
45
+ label: definition.label,
46
+ localRelationName: relation.name,
47
+ isOptional: ModelFieldUtils.isRelationOptional(model, relation),
48
+ localField,
49
+ foreignModelName: definitionContainer.nameFromId(relation.modelRef),
50
+ labelExpression: definition.labelExpression,
51
+ valueExpression: definition.valueExpression,
52
+ valueType: localFieldType,
53
+ defaultLabel: definition.defaultLabel,
54
+ nullLabel: definition.nullLabel,
55
+ });
56
+ },
57
+ };
58
+ function getInputType(fieldConfig) {
59
+ switch (fieldConfig.type) {
60
+ case 'boolean': {
61
+ return 'checked';
62
+ }
63
+ case 'date': {
64
+ return 'date';
65
+ }
66
+ case 'dateTime': {
67
+ return 'dateTime';
68
+ }
69
+ default: {
70
+ return 'text';
71
+ }
72
+ }
73
+ }
74
+ function getIsNumber(fieldConfig) {
75
+ return fieldConfig.type === 'int' || fieldConfig.type === 'float';
76
+ }
77
+ const adminCrudTextInputCompiler = {
78
+ name: 'text',
79
+ compileInput: (definition, { order, definitionContainer, model }) => {
80
+ const fieldConfig = model.model.fields.find((f) => f.id === definition.modelFieldRef);
81
+ if (!fieldConfig) {
82
+ throw new Error(`Field ${definition.modelFieldRef} cannot be found in ${model.name}`);
83
+ }
84
+ const fieldName = definitionContainer.nameFromId(definition.modelFieldRef);
85
+ return adminCrudTextInputGenerator({
86
+ order,
87
+ label: definition.label,
88
+ modelField: fieldName,
89
+ type: getInputType(fieldConfig),
90
+ validation: definition.validation
91
+ ? definition.validation
92
+ : ModelFieldUtils.getModelFieldValidation(definitionContainer.definition, model.id, fieldConfig.id, true),
93
+ isNumber: getIsNumber(fieldConfig),
94
+ });
95
+ },
96
+ };
97
+ const adminCrudEmbeddedInputCompiler = {
98
+ name: 'embedded',
99
+ compileInput: (definition, { order, definitionContainer, model }) => {
100
+ const relationName = definitionContainer.nameFromId(definition.modelRelationRef);
101
+ const relation = ModelUtils.getRelationsToModel(definitionContainer.definition, model.id).find((r) => r.relation.foreignId === definition.modelRelationRef);
102
+ if (!relation) {
103
+ throw new Error(`Could not find relation ${definition.modelRelationRef} in model ${model.name}`);
104
+ }
105
+ const idFields = ModelUtils.getPrimaryKeyFields(relation.model).map((f) => definitionContainer.nameFromId(f.id));
106
+ return adminCrudEmbeddedInputGenerator({
107
+ order,
108
+ id: definition.modelRelationRef,
109
+ idFields,
110
+ label: definition.label,
111
+ modelRelation: relationName,
112
+ embeddedFormRef: definition.embeddedFormRef,
113
+ });
114
+ },
115
+ };
116
+ const adminCrudEmbeddedLocalInputCompiler = {
117
+ name: 'embeddedLocal',
118
+ compileInput(definition, { order, definitionContainer, model }) {
119
+ const localRelation = ModelFieldUtils.relationByIdOrThrow(model, definition.localRelationRef);
120
+ const foreignModel = ModelUtils.byIdOrThrow(definitionContainer.definition, localRelation.modelRef);
121
+ const idFields = ModelUtils.getPrimaryKeyFields(foreignModel).map((f) => definitionContainer.nameFromId(f.id));
122
+ const localRelationName = definitionContainer.nameFromId(definition.localRelationRef);
123
+ return adminCrudEmbeddedInputGenerator({
124
+ order,
125
+ id: definition.localRelationRef,
126
+ idFields,
127
+ label: definition.label,
128
+ modelRelation: localRelationName,
129
+ isRequired: !ModelFieldUtils.isRelationOptional(model, localRelation),
130
+ embeddedFormRef: definition.embeddedFormRef,
131
+ });
132
+ },
133
+ };
134
+ const adminCrudPasswordInputCompiler = {
135
+ name: 'password',
136
+ compileInput: (definition, { order }) => adminCrudPasswordInputGenerator({
137
+ order,
138
+ label: definition.label,
139
+ }),
140
+ };
141
+ export const adminCrudInputCoreModule = createPluginModule({
142
+ name: 'admin-crud-input-compiler',
143
+ dependencies: {
144
+ adminCrudInputCompiler: adminCrudInputCompilerSpec,
145
+ },
146
+ initialize: ({ adminCrudInputCompiler }) => {
147
+ adminCrudInputCompiler.inputs.addMany([
148
+ adminEnumInputCompiler,
149
+ adminForeignInputCompiler,
150
+ adminCrudTextInputCompiler,
151
+ adminCrudEmbeddedInputCompiler,
152
+ adminCrudEmbeddedLocalInputCompiler,
153
+ adminCrudPasswordInputCompiler,
154
+ ]);
155
+ },
156
+ });
157
+ //# sourceMappingURL=admin-crud-input-compiler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"admin-crud-input-compiler.js","sourceRoot":"","sources":["../../src/core-modules/admin-crud-input-compiler.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { PluginModuleWithKey } from '@baseplate-dev/project-builder-lib';
2
+ export declare const SERVER_CORE_MODULES: PluginModuleWithKey[];
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core-modules/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AAQ9E,eAAO,MAAM,mBAAmB,EAAE,mBAAmB,EAUlD,CAAC"}
@@ -0,0 +1,17 @@
1
+ import { adminCrudActionCoreModule } from './admin-crud-action-compiler.js';
2
+ import { adminCrudColumnCoreModule } from './admin-crud-column-compiler.js';
3
+ import { adminCrudInputCoreModule } from './admin-crud-input-compiler.js';
4
+ import { libraryTypeCoreModule } from './library-type-spec.js';
5
+ import { modelTransformerCoreModule } from './model-transformer-compiler.js';
6
+ export const SERVER_CORE_MODULES = [
7
+ adminCrudActionCoreModule,
8
+ modelTransformerCoreModule,
9
+ adminCrudColumnCoreModule,
10
+ adminCrudInputCoreModule,
11
+ libraryTypeCoreModule,
12
+ ].map((module) => ({
13
+ key: `core/server/${module.name}`,
14
+ pluginKey: 'core',
15
+ module,
16
+ }));
17
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/core-modules/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,yBAAyB,EAAE,MAAM,iCAAiC,CAAC;AAC5E,OAAO,EAAE,yBAAyB,EAAE,MAAM,iCAAiC,CAAC;AAC5E,OAAO,EAAE,wBAAwB,EAAE,MAAM,gCAAgC,CAAC;AAC1E,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAC;AAE7E,MAAM,CAAC,MAAM,mBAAmB,GAA0B;IACxD,yBAAyB;IACzB,0BAA0B;IAC1B,yBAAyB;IACzB,wBAAwB;IACxB,qBAAqB;CACtB,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACjB,GAAG,EAAE,eAAe,MAAM,CAAC,IAAI,EAAE;IACjC,SAAS,EAAE,MAAM;IACjB,MAAM;CACP,CAAC,CAAC,CAAC"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Core module that registers package compilers.
3
+ *
4
+ * The schemas are already pre-populated in packageTypeSpec from project-builder-lib.
5
+ * This module registers the compile implementations that require server-side dependencies.
6
+ */
7
+ export declare const libraryTypeCoreModule: import("@baseplate-dev/project-builder-lib").PluginModule<{
8
+ [x: string]: import("@baseplate-dev/project-builder-lib").PluginSpec<object, object>;
9
+ }>;
10
+ //# sourceMappingURL=library-type-spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"library-type-spec.d.ts","sourceRoot":"","sources":["../../src/core-modules/library-type-spec.ts"],"names":[],"mappings":"AAOA;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB;;EAQhC,CAAC"}
@@ -0,0 +1,18 @@
1
+ import { createPluginModule, libraryTypeSpec, } from '@baseplate-dev/project-builder-lib';
2
+ import { nodeLibraryCompilerCreator } from '#src/compiler/index.js';
3
+ /**
4
+ * Core module that registers package compilers.
5
+ *
6
+ * The schemas are already pre-populated in packageTypeSpec from project-builder-lib.
7
+ * This module registers the compile implementations that require server-side dependencies.
8
+ */
9
+ export const libraryTypeCoreModule = createPluginModule({
10
+ name: 'package-compiler',
11
+ dependencies: {
12
+ libraryType: libraryTypeSpec,
13
+ },
14
+ initialize: ({ libraryType }) => {
15
+ libraryType.compilerCreators.add(nodeLibraryCompilerCreator);
16
+ },
17
+ });
18
+ //# sourceMappingURL=library-type-spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"library-type-spec.js","sourceRoot":"","sources":["../../src/core-modules/library-type-spec.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,eAAe,GAChB,MAAM,oCAAoC,CAAC;AAE5C,OAAO,EAAE,0BAA0B,EAAE,MAAM,wBAAwB,CAAC;AAEpE;;;;;GAKG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,kBAAkB,CAAC;IACtD,IAAI,EAAE,kBAAkB;IACxB,YAAY,EAAE;QACZ,WAAW,EAAE,eAAe;KAC7B;IACD,UAAU,EAAE,CAAC,EAAE,WAAW,EAAE,EAAE,EAAE;QAC9B,WAAW,CAAC,gBAAgB,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC;IAC/D,CAAC;CACF,CAAC,CAAC"}
@@ -0,0 +1,4 @@
1
+ export declare const modelTransformerCoreModule: import("@baseplate-dev/project-builder-lib").PluginModule<{
2
+ [x: string]: import("@baseplate-dev/project-builder-lib").PluginSpec<object, object>;
3
+ }>;
4
+ //# sourceMappingURL=model-transformer-compiler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model-transformer-compiler.d.ts","sourceRoot":"","sources":["../../src/core-modules/model-transformer-compiler.ts"],"names":[],"mappings":"AA8CA,eAAO,MAAM,0BAA0B;;EAUrC,CAAC"}
@@ -0,0 +1,31 @@
1
+ import { prismaDataNestedFieldGenerator } from '@baseplate-dev/fastify-generators';
2
+ import { createPluginModule, modelTransformerCompilerSpec, ModelUtils, } from '@baseplate-dev/project-builder-lib';
3
+ const embeddedRelationTransformerCompiler = {
4
+ name: 'embeddedRelation',
5
+ compileField(definition, { definitionContainer, model }) {
6
+ // find foreign relation
7
+ const nestedRelation = ModelUtils.getRelationsToModel(definitionContainer.definition, model.id).find(({ relation }) => relation.foreignId === definition.foreignRelationRef);
8
+ if (!nestedRelation) {
9
+ throw new Error(`Could not find relation ${definition.foreignRelationRef} for nested relation field`);
10
+ }
11
+ return prismaDataNestedFieldGenerator({
12
+ modelName: model.name,
13
+ relationName: definitionContainer.nameFromId(definition.foreignRelationRef),
14
+ nestedModelName: nestedRelation.model.name,
15
+ scalarFieldNames: definition.embeddedFieldNames.map((e) => definitionContainer.nameFromId(e)),
16
+ virtualInputFieldNames: definition.embeddedTransformerNames?.map((t) => definitionContainer.nameFromId(t)),
17
+ });
18
+ },
19
+ };
20
+ export const modelTransformerCoreModule = createPluginModule({
21
+ name: 'model-transformer-compiler',
22
+ dependencies: {
23
+ modelTransformerCompiler: modelTransformerCompilerSpec,
24
+ },
25
+ initialize: ({ modelTransformerCompiler }) => {
26
+ modelTransformerCompiler.transformers.addMany([
27
+ embeddedRelationTransformerCompiler,
28
+ ]);
29
+ },
30
+ });
31
+ //# sourceMappingURL=model-transformer-compiler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model-transformer-compiler.js","sourceRoot":"","sources":["../../src/core-modules/model-transformer-compiler.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,8BAA8B,EAAE,MAAM,mCAAmC,CAAC;AACnF,OAAO,EACL,kBAAkB,EAClB,4BAA4B,EAC5B,UAAU,GACX,MAAM,oCAAoC,CAAC;AAE5C,MAAM,mCAAmC,GACvC;IACE,IAAI,EAAE,kBAAkB;IACxB,YAAY,CAAC,UAAU,EAAE,EAAE,mBAAmB,EAAE,KAAK,EAAE;QACrD,wBAAwB;QACxB,MAAM,cAAc,GAAG,UAAU,CAAC,mBAAmB,CACnD,mBAAmB,CAAC,UAAU,EAC9B,KAAK,CAAC,EAAE,CACT,CAAC,IAAI,CACJ,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,QAAQ,CAAC,SAAS,KAAK,UAAU,CAAC,kBAAkB,CACvE,CAAC;QAEF,IAAI,CAAC,cAAc,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CACb,2BAA2B,UAAU,CAAC,kBAAkB,4BAA4B,CACrF,CAAC;QACJ,CAAC;QAED,OAAO,8BAA8B,CAAC;YACpC,SAAS,EAAE,KAAK,CAAC,IAAI;YACrB,YAAY,EAAE,mBAAmB,CAAC,UAAU,CAC1C,UAAU,CAAC,kBAAkB,CAC9B;YACD,eAAe,EAAE,cAAc,CAAC,KAAK,CAAC,IAAI;YAC1C,gBAAgB,EAAE,UAAU,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CACxD,mBAAmB,CAAC,UAAU,CAAC,CAAC,CAAC,CAClC;YACD,sBAAsB,EAAE,UAAU,CAAC,wBAAwB,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CACrE,mBAAmB,CAAC,UAAU,CAAC,CAAC,CAAC,CAClC;SACF,CAAC,CAAC;IACL,CAAC;CACF,CAAC;AAEJ,MAAM,CAAC,MAAM,0BAA0B,GAAG,kBAAkB,CAAC;IAC3D,IAAI,EAAE,4BAA4B;IAClC,YAAY,EAAE;QACZ,wBAAwB,EAAE,4BAA4B;KACvD;IACD,UAAU,EAAE,CAAC,EAAE,wBAAwB,EAAE,EAAE,EAAE;QAC3C,wBAAwB,CAAC,YAAY,CAAC,OAAO,CAAC;YAC5C,mCAAmC;SACpC,CAAC,CAAC;IACL,CAAC;CACF,CAAC,CAAC"}
package/dist/index.d.ts CHANGED
@@ -2,6 +2,7 @@ export * from './actions/index.js';
2
2
  export * from './api/index.js';
3
3
  export * from './compiler/index.js';
4
4
  export * from './constants/index.js';
5
+ export * from './core-modules/index.js';
5
6
  export * from './diff/index.js';
6
7
  export * from './plugins/index.js';
7
8
  export * from './server/index.js';
package/dist/index.js CHANGED
@@ -2,6 +2,7 @@ export * from './actions/index.js';
2
2
  export * from './api/index.js';
3
3
  export * from './compiler/index.js';
4
4
  export * from './constants/index.js';
5
+ export * from './core-modules/index.js';
5
6
  export * from './diff/index.js';
6
7
  export * from './plugins/index.js';
7
8
  export * from './server/index.js';
@@ -1 +1 @@
1
- {"version":3,"file":"node-plugin-store.d.ts","sourceRoot":"","sources":["../../src/plugins/node-plugin-store.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,uBAAuB,EAEvB,WAAW,EACX,WAAW,EACX,mBAAmB,EACpB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAsBlD,wBAAsB,qBAAqB,CACzC,OAAO,EAAE,uBAAuB,EAAE,GACjC,OAAO,CAAC,WAAW,CAAC,CAuBtB;AAED,wBAAsB,kCAAkC,CACtD,gBAAgB,EAAE,MAAM,EACxB,MAAM,EAAE,MAAM,EACd,cAAc,EAAE,uBAAuB,EAAE,GACxC,OAAO,CAAC,WAAW,CAAC,CAStB;AAED,wBAAsB,6BAA6B,CACjD,OAAO,EAAE,WAAW,EACpB,MAAM,EAAE,MAAM,EACd,cAAc,EAAE,uBAAuB,EAAE,EACzC,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,mBAAmB,CAAC,CAU9B"}
1
+ {"version":3,"file":"node-plugin-store.d.ts","sourceRoot":"","sources":["../../src/plugins/node-plugin-store.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,uBAAuB,EAEvB,WAAW,EACX,WAAW,EACX,mBAAmB,EACpB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AASlD,wBAAsB,qBAAqB,CACzC,OAAO,EAAE,uBAAuB,EAAE,GACjC,OAAO,CAAC,WAAW,CAAC,CAuBtB;AAED,wBAAsB,kCAAkC,CACtD,gBAAgB,EAAE,MAAM,EACxB,MAAM,EAAE,MAAM,EACd,cAAc,EAAE,uBAAuB,EAAE,GACxC,OAAO,CAAC,WAAW,CAAC,CAStB;AAED,wBAAsB,6BAA6B,CACjD,OAAO,EAAE,WAAW,EACpB,MAAM,EAAE,MAAM,EACd,cAAc,EAAE,uBAAuB,EAAE,EACzC,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,mBAAmB,CAAC,CAU9B"}
@@ -1,14 +1,7 @@
1
- import { adminCrudActionCompilerSpec, adminCrudColumnCompilerSpec, adminCrudInputCompilerSpec, appCompilerSpec, modelTransformerCompilerSpec, } from '@baseplate-dev/project-builder-lib';
2
1
  import path from 'node:path';
3
2
  import { pathToFileURL } from 'node:url';
3
+ import { SERVER_CORE_MODULES } from '#src/core-modules/index.js';
4
4
  import { discoverPlugins } from './plugin-discovery.js';
5
- const NODE_SPEC_IMPLEMENTATIONS = [
6
- modelTransformerCompilerSpec,
7
- adminCrudInputCompilerSpec,
8
- adminCrudActionCompilerSpec,
9
- adminCrudColumnCompilerSpec,
10
- appCompilerSpec,
11
- ];
12
5
  export async function createNodePluginStore(plugins) {
13
6
  const pluginsWithModules = await Promise.all(plugins.map(async (plugin) => ({
14
7
  metadata: plugin,
@@ -16,14 +9,14 @@ export async function createNodePluginStore(plugins) {
16
9
  const mod = (await import(pathToFileURL(modulePath).href));
17
10
  const unwrappedModule = 'default' in mod ? mod.default : mod;
18
11
  return {
19
- key: path.relative(plugin.pluginDirectory, modulePath),
12
+ directory: path.relative(plugin.pluginDirectory, modulePath),
20
13
  module: unwrappedModule,
21
14
  };
22
15
  })),
23
16
  })));
24
17
  return {
25
18
  availablePlugins: pluginsWithModules,
26
- builtinSpecImplementations: NODE_SPEC_IMPLEMENTATIONS,
19
+ coreModules: SERVER_CORE_MODULES,
27
20
  };
28
21
  }
29
22
  export async function createNodePluginStoreFromDirectory(projectDirectory, logger, builtinPlugins) {
@@ -1 +1 @@
1
- {"version":3,"file":"node-plugin-store.js","sourceRoot":"","sources":["../../src/plugins/node-plugin-store.ts"],"names":[],"mappings":"AASA,OAAO,EACL,2BAA2B,EAC3B,2BAA2B,EAC3B,0BAA0B,EAC1B,eAAe,EACf,4BAA4B,GAC7B,MAAM,oCAAoC,CAAC;AAC5C,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAExD,MAAM,yBAAyB,GAAG;IAChC,4BAA4B;IAC5B,0BAA0B;IAC1B,2BAA2B;IAC3B,2BAA2B;IAC3B,eAAe;CAChB,CAAC;AAEF,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,OAAkC;IAElC,MAAM,kBAAkB,GAAG,MAAM,OAAO,CAAC,GAAG,CAC1C,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC;QAC7B,QAAQ,EAAE,MAAM;QAChB,OAAO,EAAE,MAAM,OAAO,CAAC,GAAG,CACxB,MAAM,CAAC,eAAe,CAAC,GAAG,CAAC,KAAK,EAAE,UAAU,EAAE,EAAE;YAC9C,MAAM,GAAG,GAAG,CAAC,MAAM,MAAM,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,CAEjC,CAAC;YACzB,MAAM,eAAe,GAAG,SAAS,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;YAE7D,OAAO;gBACL,GAAG,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,eAAe,EAAE,UAAU,CAAC;gBACtD,MAAM,EAAE,eAAe;aACxB,CAAC;QACJ,CAAC,CAAC,CACH;KACF,CAAC,CAAC,CACJ,CAAC;IACF,OAAO;QACL,gBAAgB,EAAE,kBAAkB;QACpC,0BAA0B,EAAE,yBAAyB;KACtD,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kCAAkC,CACtD,gBAAwB,EACxB,MAAc,EACd,cAAyC;IAEzC,MAAM,OAAO,GAAG,MAAM,eAAe,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC;IAChE,MAAM,UAAU,GAAG;QACjB,GAAG,OAAO;QACV,GAAG,cAAc,CAAC,MAAM,CACtB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,WAAW,KAAK,CAAC,CAAC,WAAW,CAAC,CAC/D;KACF,CAAC;IACF,OAAO,qBAAqB,CAAC,UAAU,CAAC,CAAC;AAC3C,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,6BAA6B,CACjD,OAAoB,EACpB,MAAc,EACd,cAAyC,EACzC,UAAkB;IAElB,OAAO;QACL,OAAO;QACP,WAAW,EAAE,MAAM,kCAAkC,CACnD,OAAO,CAAC,SAAS,EACjB,MAAM,EACN,cAAc,CACf;QACD,UAAU;KACX,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"node-plugin-store.js","sourceRoot":"","sources":["../../src/plugins/node-plugin-store.ts"],"names":[],"mappings":"AASA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAEjE,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAExD,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,OAAkC;IAElC,MAAM,kBAAkB,GAAG,MAAM,OAAO,CAAC,GAAG,CAC1C,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC;QAC7B,QAAQ,EAAE,MAAM;QAChB,OAAO,EAAE,MAAM,OAAO,CAAC,GAAG,CACxB,MAAM,CAAC,eAAe,CAAC,GAAG,CAAC,KAAK,EAAE,UAAU,EAAE,EAAE;YAC9C,MAAM,GAAG,GAAG,CAAC,MAAM,MAAM,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,CAEzC,CAAC;YACjB,MAAM,eAAe,GAAG,SAAS,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;YAE7D,OAAO;gBACL,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,eAAe,EAAE,UAAU,CAAC;gBAC5D,MAAM,EAAE,eAAe;aACxB,CAAC;QACJ,CAAC,CAAC,CACH;KACF,CAAC,CAAC,CACJ,CAAC;IACF,OAAO;QACL,gBAAgB,EAAE,kBAAkB;QACpC,WAAW,EAAE,mBAAmB;KACjC,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kCAAkC,CACtD,gBAAwB,EACxB,MAAc,EACd,cAAyC;IAEzC,MAAM,OAAO,GAAG,MAAM,eAAe,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC;IAChE,MAAM,UAAU,GAAG;QACjB,GAAG,OAAO;QACV,GAAG,cAAc,CAAC,MAAM,CACtB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,WAAW,KAAK,CAAC,CAAC,WAAW,CAAC,CAC/D;KACF,CAAC;IACF,OAAO,qBAAqB,CAAC,UAAU,CAAC,CAAC;AAC3C,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,6BAA6B,CACjD,OAAoB,EACpB,MAAc,EACd,cAAyC,EACzC,UAAkB;IAElB,OAAO;QACL,OAAO;QACP,WAAW,EAAE,MAAM,kCAAkC,CACnD,OAAO,CAAC,SAAS,EACjB,MAAM,EACN,cAAc,CACf;QACD,UAAU;KACX,CAAC;AACJ,CAAC"}
@@ -1,4 +1,4 @@
1
- import { createPluginImplementationStore, runPluginMigrations, runSchemaMigrations, } from '@baseplate-dev/project-builder-lib';
1
+ import { createPluginSpecStore, runPluginMigrations, runSchemaMigrations, } from '@baseplate-dev/project-builder-lib';
2
2
  import { enhanceErrorWithContext, hashWithSHA256, stringifyPrettyStable, } from '@baseplate-dev/utils';
3
3
  import { fileExists } from '@baseplate-dev/utils/node';
4
4
  import { readFile, writeFile } from 'node:fs/promises';
@@ -23,8 +23,8 @@ export async function loadProjectDefinition(directory, context) {
23
23
  if (appliedMigrations.length > 0) {
24
24
  await writeFile(projectJsonPath, stringifyPrettyStable(migratedDefinition));
25
25
  }
26
- const pluginImplementationStore = createPluginImplementationStore(context.pluginStore, migratedDefinition);
27
- const definitionWithPluginMigrations = runPluginMigrations(migratedDefinition, pluginImplementationStore);
26
+ const pluginSpecStore = createPluginSpecStore(context.pluginStore, migratedDefinition);
27
+ const definitionWithPluginMigrations = runPluginMigrations(migratedDefinition, pluginSpecStore);
28
28
  return { definition: definitionWithPluginMigrations, hash };
29
29
  }
30
30
  catch (err) {
@@ -1 +1 @@
1
- {"version":3,"file":"load-project-definition.js","sourceRoot":"","sources":["../../src/project-definition/load-project-definition.ts"],"names":[],"mappings":"AAKA,OAAO,EACL,+BAA+B,EAC/B,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EACL,uBAAuB,EACvB,cAAc,EACd,qBAAqB,GACtB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACvD,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,SAAiB,EACjB,OAA4B;IAE5B,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAC/B,SAAS,EACT,mCAAmC,CACpC,CAAC;IAEF,MAAM,iBAAiB,GAAG,MAAM,UAAU,CAAC,eAAe,CAAC,CAAC;IAE5D,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACvB,MAAM,IAAI,KAAK,CAAC,qCAAqC,eAAe,EAAE,CAAC,CAAC;IAC1E,CAAC;IAED,IAAI,CAAC;QACH,MAAM,mBAAmB,GAAG,MAAM,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC;QACpE,MAAM,IAAI,GAAG,MAAM,cAAc,CAAC,mBAAmB,CAAC,CAAC;QAEvD,MAAM,WAAW,GAAY,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;QAE7D,MAAM,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,GAAG,mBAAmB,CACnE,WAAgC,CACjC,CAAC;QACF,IAAI,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACjC,MAAM,SAAS,CACb,eAAe,EACf,qBAAqB,CAAC,kBAAkB,CAAC,CAC1C,CAAC;QACJ,CAAC;QAED,MAAM,yBAAyB,GAAG,+BAA+B,CAC/D,OAAO,CAAC,WAAW,EACnB,kBAAkB,CACnB,CAAC;QAEF,MAAM,8BAA8B,GAAG,mBAAmB,CACxD,kBAAkB,EAClB,yBAAyB,CAC1B,CAAC;QAEF,OAAO,EAAE,UAAU,EAAE,8BAA8B,EAAE,IAAI,EAAE,CAAC;IAC9D,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,uBAAuB,CAC3B,GAAG,EACH,uCAAuC,eAAe,EAAE,CACzD,CAAC;IACJ,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"load-project-definition.js","sourceRoot":"","sources":["../../src/project-definition/load-project-definition.ts"],"names":[],"mappings":"AAKA,OAAO,EACL,qBAAqB,EACrB,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EACL,uBAAuB,EACvB,cAAc,EACd,qBAAqB,GACtB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACvD,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,SAAiB,EACjB,OAA4B;IAE5B,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAC/B,SAAS,EACT,mCAAmC,CACpC,CAAC;IAEF,MAAM,iBAAiB,GAAG,MAAM,UAAU,CAAC,eAAe,CAAC,CAAC;IAE5D,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACvB,MAAM,IAAI,KAAK,CAAC,qCAAqC,eAAe,EAAE,CAAC,CAAC;IAC1E,CAAC;IAED,IAAI,CAAC;QACH,MAAM,mBAAmB,GAAG,MAAM,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC;QACpE,MAAM,IAAI,GAAG,MAAM,cAAc,CAAC,mBAAmB,CAAC,CAAC;QAEvD,MAAM,WAAW,GAAY,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;QAE7D,MAAM,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,GAAG,mBAAmB,CACnE,WAAgC,CACjC,CAAC;QACF,IAAI,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACjC,MAAM,SAAS,CACb,eAAe,EACf,qBAAqB,CAAC,kBAAkB,CAAC,CAC1C,CAAC;QACJ,CAAC;QAED,MAAM,eAAe,GAAG,qBAAqB,CAC3C,OAAO,CAAC,WAAW,EACnB,kBAAkB,CACnB,CAAC;QAEF,MAAM,8BAA8B,GAAG,mBAAmB,CACxD,kBAAkB,EAClB,eAAe,CAChB,CAAC;QAEF,OAAO,EAAE,UAAU,EAAE,8BAA8B,EAAE,IAAI,EAAE,CAAC;IAC9D,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,uBAAuB,CAC3B,GAAG,EACH,uCAAuC,eAAe,EAAE,CACzD,CAAC;IACJ,CAAC;AACH,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@baseplate-dev/project-builder-server",
3
- "version": "0.5.0",
3
+ "version": "0.5.1",
4
4
  "description": "Server for Project Builder using Baseplate generators",
5
5
  "keywords": [
6
6
  "backend",
@@ -65,12 +65,12 @@
65
65
  "pino": "9.5.0",
66
66
  "ts-morph": "26.0.0",
67
67
  "zod": "^4.1.13",
68
- "@baseplate-dev/core-generators": "0.5.0",
69
- "@baseplate-dev/fastify-generators": "0.5.0",
70
- "@baseplate-dev/project-builder-lib": "0.5.0",
71
- "@baseplate-dev/react-generators": "0.5.0",
72
- "@baseplate-dev/sync": "0.5.0",
73
- "@baseplate-dev/utils": "0.5.0"
68
+ "@baseplate-dev/core-generators": "0.5.1",
69
+ "@baseplate-dev/fastify-generators": "0.5.1",
70
+ "@baseplate-dev/project-builder-lib": "0.5.1",
71
+ "@baseplate-dev/react-generators": "0.5.1",
72
+ "@baseplate-dev/sync": "0.5.1",
73
+ "@baseplate-dev/utils": "0.5.1"
74
74
  },
75
75
  "devDependencies": {
76
76
  "@types/micromatch": "^4.0.9",
@@ -81,7 +81,7 @@
81
81
  "tsx": "4.20.6",
82
82
  "typescript": "5.8.3",
83
83
  "vitest": "4.0.16",
84
- "@baseplate-dev/tools": "0.5.0"
84
+ "@baseplate-dev/tools": "0.5.1"
85
85
  },
86
86
  "engines": {
87
87
  "node": "^22.0.0"