@baseplate-dev/project-builder-server 0.3.7 → 0.4.0

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 (146) hide show
  1. package/dist/actions/diff/diff-project.action.js +1 -1
  2. package/dist/actions/diff/diff-project.action.js.map +1 -1
  3. package/dist/actions/snapshot/snapshot-add.action.d.ts.map +1 -1
  4. package/dist/actions/snapshot/snapshot-add.action.js +3 -3
  5. package/dist/actions/snapshot/snapshot-add.action.js.map +1 -1
  6. package/dist/actions/snapshot/snapshot-remove.action.d.ts.map +1 -1
  7. package/dist/actions/snapshot/snapshot-remove.action.js +3 -3
  8. package/dist/actions/snapshot/snapshot-remove.action.js.map +1 -1
  9. package/dist/actions/snapshot/snapshot-save.action.d.ts.map +1 -1
  10. package/dist/actions/snapshot/snapshot-save.action.js +3 -3
  11. package/dist/actions/snapshot/snapshot-save.action.js.map +1 -1
  12. package/dist/actions/snapshot/snapshot-show.action.d.ts.map +1 -1
  13. package/dist/actions/snapshot/snapshot-show.action.js +2 -2
  14. package/dist/actions/snapshot/snapshot-show.action.js.map +1 -1
  15. package/dist/actions/sync/sync-all-projects.action.d.ts.map +1 -1
  16. package/dist/actions/sync/sync-all-projects.action.js +2 -2
  17. package/dist/actions/sync/sync-all-projects.action.js.map +1 -1
  18. package/dist/actions/sync/sync-project.action.d.ts.map +1 -1
  19. package/dist/actions/sync/sync-project.action.js +2 -2
  20. package/dist/actions/sync/sync-project.action.js.map +1 -1
  21. package/dist/actions/types.d.ts +4 -13
  22. package/dist/actions/types.d.ts.map +1 -1
  23. package/dist/actions/types.js.map +1 -1
  24. package/dist/actions/utils/index.d.ts +1 -0
  25. package/dist/actions/utils/index.d.ts.map +1 -1
  26. package/dist/actions/utils/index.js +1 -0
  27. package/dist/actions/utils/index.js.map +1 -1
  28. package/dist/actions/utils/is-example-project.d.ts +7 -0
  29. package/dist/actions/utils/is-example-project.d.ts.map +1 -0
  30. package/dist/actions/utils/is-example-project.js +22 -0
  31. package/dist/actions/utils/is-example-project.js.map +1 -0
  32. package/dist/actions/utils/project-discovery.d.ts +5 -5
  33. package/dist/actions/utils/project-discovery.d.ts.map +1 -1
  34. package/dist/actions/utils/project-discovery.js +5 -2
  35. package/dist/actions/utils/project-discovery.js.map +1 -1
  36. package/dist/actions/utils/projects.d.ts +2 -2
  37. package/dist/actions/utils/projects.d.ts.map +1 -1
  38. package/dist/actions/utils/projects.js.map +1 -1
  39. package/dist/api/index.d.ts +1 -1
  40. package/dist/api/projects.d.ts +2 -6
  41. package/dist/api/projects.d.ts.map +1 -1
  42. package/dist/api/projects.js +1 -30
  43. package/dist/api/projects.js.map +1 -1
  44. package/dist/compiler/app-compiler.d.ts +9 -0
  45. package/dist/compiler/app-compiler.d.ts.map +1 -0
  46. package/dist/compiler/app-compiler.js +18 -0
  47. package/dist/compiler/app-compiler.js.map +1 -0
  48. package/dist/compiler/app-entry-builder.d.ts +4 -3
  49. package/dist/compiler/app-entry-builder.d.ts.map +1 -1
  50. package/dist/compiler/app-entry-builder.js +4 -4
  51. package/dist/compiler/app-entry-builder.js.map +1 -1
  52. package/dist/compiler/backend/backend-compiler.d.ts +17 -0
  53. package/dist/compiler/backend/backend-compiler.d.ts.map +1 -0
  54. package/dist/compiler/backend/backend-compiler.js +40 -0
  55. package/dist/compiler/backend/backend-compiler.js.map +1 -0
  56. package/dist/compiler/backend/fastify.d.ts.map +1 -1
  57. package/dist/compiler/backend/fastify.js +6 -4
  58. package/dist/compiler/backend/fastify.js.map +1 -1
  59. package/dist/compiler/backend/graphql.d.ts.map +1 -1
  60. package/dist/compiler/backend/graphql.js +5 -6
  61. package/dist/compiler/backend/graphql.js.map +1 -1
  62. package/dist/compiler/backend/index.d.ts +1 -2
  63. package/dist/compiler/backend/index.d.ts.map +1 -1
  64. package/dist/compiler/backend/index.js +1 -33
  65. package/dist/compiler/backend/index.js.map +1 -1
  66. package/dist/compiler/backend/services.d.ts.map +1 -1
  67. package/dist/compiler/backend/services.js +50 -48
  68. package/dist/compiler/backend/services.js.map +1 -1
  69. package/dist/compiler/compile-packages.d.ts +13 -0
  70. package/dist/compiler/compile-packages.d.ts.map +1 -0
  71. package/dist/compiler/compile-packages.js +53 -0
  72. package/dist/compiler/compile-packages.js.map +1 -0
  73. package/dist/compiler/index.d.ts +2 -2
  74. package/dist/compiler/index.d.ts.map +1 -1
  75. package/dist/compiler/index.js +2 -26
  76. package/dist/compiler/index.js.map +1 -1
  77. package/dist/compiler/infrastructure-utils.d.ts +36 -0
  78. package/dist/compiler/infrastructure-utils.d.ts.map +1 -0
  79. package/dist/compiler/infrastructure-utils.js +39 -0
  80. package/dist/compiler/infrastructure-utils.js.map +1 -0
  81. package/dist/compiler/package-compiler.d.ts +84 -0
  82. package/dist/compiler/package-compiler.d.ts.map +1 -0
  83. package/dist/compiler/package-compiler.js +67 -0
  84. package/dist/compiler/package-compiler.js.map +1 -0
  85. package/dist/compiler/package-entry.d.ts +18 -0
  86. package/dist/compiler/package-entry.d.ts.map +1 -0
  87. package/dist/compiler/package-entry.js +2 -0
  88. package/dist/compiler/package-entry.js.map +1 -0
  89. package/dist/compiler/root/index.d.ts +2 -0
  90. package/dist/compiler/root/index.d.ts.map +1 -0
  91. package/dist/compiler/root/index.js +2 -0
  92. package/dist/compiler/root/index.js.map +1 -0
  93. package/dist/compiler/root/root-package-compiler.d.ts +23 -0
  94. package/dist/compiler/root/root-package-compiler.d.ts.map +1 -0
  95. package/dist/compiler/root/root-package-compiler.js +147 -0
  96. package/dist/compiler/root/root-package-compiler.js.map +1 -0
  97. package/dist/compiler/web/index.d.ts +1 -2
  98. package/dist/compiler/web/index.d.ts.map +1 -1
  99. package/dist/compiler/web/index.js +1 -124
  100. package/dist/compiler/web/index.js.map +1 -1
  101. package/dist/compiler/web/web-compiler.d.ts +19 -0
  102. package/dist/compiler/web/web-compiler.d.ts.map +1 -0
  103. package/dist/compiler/web/web-compiler.js +156 -0
  104. package/dist/compiler/web/web-compiler.js.map +1 -0
  105. package/dist/dev-server/api/router.d.ts +6 -6
  106. package/dist/diff/diff-project.d.ts +3 -2
  107. package/dist/diff/diff-project.d.ts.map +1 -1
  108. package/dist/diff/diff-project.js +9 -52
  109. package/dist/diff/diff-project.js.map +1 -1
  110. package/dist/diff/snapshot/create-snapshot-for-project.d.ts.map +1 -1
  111. package/dist/diff/snapshot/create-snapshot-for-project.js +4 -4
  112. package/dist/diff/snapshot/create-snapshot-for-project.js.map +1 -1
  113. package/dist/diff/snapshot/snapshot-management.d.ts.map +1 -1
  114. package/dist/diff/snapshot/snapshot-management.js +3 -3
  115. package/dist/diff/snapshot/snapshot-management.js.map +1 -1
  116. package/dist/plugins/node-plugin-store.d.ts +2 -2
  117. package/dist/plugins/node-plugin-store.d.ts.map +1 -1
  118. package/dist/plugins/node-plugin-store.js +4 -2
  119. package/dist/plugins/node-plugin-store.js.map +1 -1
  120. package/dist/project-definition/get-single-app-directory-for-project.d.ts.map +1 -1
  121. package/dist/project-definition/get-single-app-directory-for-project.js +2 -1
  122. package/dist/project-definition/get-single-app-directory-for-project.js.map +1 -1
  123. package/dist/server/builder-service-manager.d.ts +2 -1
  124. package/dist/server/builder-service-manager.d.ts.map +1 -1
  125. package/dist/server/builder-service-manager.js +5 -8
  126. package/dist/server/builder-service-manager.js.map +1 -1
  127. package/dist/service/builder-service.d.ts +6 -6
  128. package/dist/service/builder-service.d.ts.map +1 -1
  129. package/dist/service/builder-service.js +9 -7
  130. package/dist/service/builder-service.js.map +1 -1
  131. package/dist/sync/generate-for-directory.d.ts +2 -2
  132. package/dist/sync/generate-for-directory.d.ts.map +1 -1
  133. package/dist/sync/generate-for-directory.js +3 -3
  134. package/dist/sync/generate-for-directory.js.map +1 -1
  135. package/dist/sync/generator-steps-writer.js +1 -1
  136. package/dist/sync/generator-steps-writer.js.map +1 -1
  137. package/dist/sync/sync-project.js +3 -3
  138. package/dist/sync/sync-project.js.map +1 -1
  139. package/dist/sync/types.d.ts.map +1 -1
  140. package/dist/sync/types.js +3 -2
  141. package/dist/sync/types.js.map +1 -1
  142. package/package.json +8 -8
  143. package/dist/compiler/backend/utils.d.ts +0 -16
  144. package/dist/compiler/backend/utils.d.ts.map +0 -1
  145. package/dist/compiler/backend/utils.js +0 -17
  146. package/dist/compiler/backend/utils.js.map +0 -1
@@ -1,125 +1,2 @@
1
- import { composeNodeGenerator } from '@baseplate-dev/core-generators';
2
- import { AppUtils, FeatureUtils, webAppEntryType, } from '@baseplate-dev/project-builder-lib';
3
- import { adminBullBoardGenerator, adminComponentsGenerator, adminHomeGenerator, adminLayoutGenerator, apolloErrorGenerator, apolloErrorLinkGenerator, apolloSentryGenerator, composeReactGenerators, reactApolloGenerator, reactComponentsGenerator, reactRouterGenerator, reactRoutesGenerator, reactSentryGenerator, reactTailwindGenerator, } from '@baseplate-dev/react-generators';
4
- import { safeMerge } from '@baseplate-dev/utils';
5
- import { kebabCase } from 'es-toolkit';
6
- import { titleizeCamel } from '#src/utils/case.js';
7
- import { AppEntryBuilder } from '../app-entry-builder.js';
8
- import { compileAdminSections } from './admin/index.js';
9
- import { compileWebFeatures } from './features.js';
10
- function buildAdminNavigationLinks(builder) {
11
- const { adminApp } = builder.appConfig;
12
- const { projectDefinition } = builder;
13
- if (!adminApp?.enabled || !adminApp.sections) {
14
- return [];
15
- }
16
- return adminApp.sections.map((section) => ({
17
- type: 'link',
18
- label: titleizeCamel(section.name),
19
- icon: section.icon ?? 'MdHome',
20
- path: `${adminApp.pathPrefix}/${FeatureUtils.getFeatureByIdOrThrow(projectDefinition, section.featureRef)
21
- .name}/${kebabCase(section.name)}`,
22
- }));
23
- }
24
- function buildAdminRoutes(builder) {
25
- const { adminApp } = builder.appConfig;
26
- const { projectDefinition, definitionContainer } = builder;
27
- if (!adminApp?.enabled) {
28
- return undefined;
29
- }
30
- const backendApp = AppUtils.getBackendApp(projectDefinition);
31
- const generalSettings = projectDefinition.settings.general;
32
- return reactRoutesGenerator({
33
- name: 'admin',
34
- children: {
35
- adminLayout: adminLayoutGenerator({
36
- links: [
37
- {
38
- type: 'link',
39
- label: 'Home',
40
- icon: 'MdHome',
41
- path: adminApp.pathPrefix,
42
- },
43
- ...buildAdminNavigationLinks(builder),
44
- ...(backendApp.enableBullQueue
45
- ? [
46
- {
47
- type: 'link',
48
- label: 'Queues',
49
- icon: 'AiOutlineOrderedList',
50
- path: `${adminApp.pathPrefix}/bull-board`,
51
- },
52
- ]
53
- : []),
54
- ],
55
- requiredRoles: adminApp.allowedRoles?.map((roleId) => definitionContainer.nameFromId(roleId)) ?? [],
56
- }),
57
- admin: adminHomeGenerator({}),
58
- adminRoutes: backendApp.enableBullQueue
59
- ? adminBullBoardGenerator({
60
- bullBoardUrl: `http://localhost:${generalSettings.portOffset + 1}`,
61
- })
62
- : undefined,
63
- routes: compileAdminSections(builder),
64
- },
65
- });
66
- }
67
- function buildReact(builder) {
68
- const { projectDefinition, appConfig, appCompiler } = builder;
69
- const backendApp = AppUtils.getBackendApp(projectDefinition);
70
- const backendRelativePath = AppUtils.getBackendRelativePath(appConfig, backendApp);
71
- const rootFeatures = appCompiler.getRootChildren();
72
- const adminRoutes = buildAdminRoutes(builder);
73
- const routerChildren = safeMerge({
74
- features: compileWebFeatures(builder),
75
- ...(adminRoutes ? { adminRoute: adminRoutes } : {}),
76
- }, rootFeatures);
77
- return composeReactGenerators({
78
- title: appConfig.title,
79
- description: appConfig.description,
80
- children: {
81
- reactRouter: reactRouterGenerator({
82
- children: routerChildren,
83
- renderPlaceholderIndex: adminRoutes ? false : true,
84
- }),
85
- reactComponents: reactComponentsGenerator({}),
86
- reactTailwind: reactTailwindGenerator({}),
87
- reactSentry: reactSentryGenerator({}),
88
- reactApollo: reactApolloGenerator({
89
- devApiEndpoint: '/api/graphql',
90
- schemaLocation: `${backendRelativePath}/schema.graphql`,
91
- enableSubscriptions: appConfig.enableSubscriptions,
92
- children: {
93
- apolloErrorLink: apolloErrorLinkGenerator({}),
94
- apolloSentry: apolloSentryGenerator({}),
95
- },
96
- }),
97
- apolloError: apolloErrorGenerator({}),
98
- ...(appConfig.adminApp?.enabled
99
- ? { adminComponents: adminComponentsGenerator({}) }
100
- : {}),
101
- },
102
- }, {
103
- // TODO: Extract out logic
104
- devBackendHost: `http://localhost:${projectDefinition.settings.general.portOffset + 1}`,
105
- });
106
- }
107
- export function compileWeb(definitionContainer, app) {
108
- const appBuilder = new AppEntryBuilder(definitionContainer, app, webAppEntryType);
109
- const { projectDefinition } = appBuilder;
110
- const generalSettings = projectDefinition.settings.general;
111
- const packageName = generalSettings.packageScope
112
- ? `@${generalSettings.packageScope}/${app.name}`
113
- : `${generalSettings.name}-${app.name}`;
114
- const nodeBundle = composeNodeGenerator({
115
- name: `${generalSettings.name}-${app.name}`,
116
- packageName,
117
- description: `Web app for ${generalSettings.name}`,
118
- version: '1.0.0',
119
- children: {
120
- react: buildReact(appBuilder),
121
- },
122
- });
123
- return appBuilder.buildProjectEntry(nodeBundle);
124
- }
1
+ export { WebPackageCompiler } from './web-compiler.js';
125
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/compiler/web/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/compiler/web/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC"}
@@ -0,0 +1,19 @@
1
+ import type { WebAppConfig } from '@baseplate-dev/project-builder-lib';
2
+ import type { PackageTasks } from '../package-compiler.js';
3
+ import type { PackageEntry } from '../package-entry.js';
4
+ import { AppCompiler } from '../app-compiler.js';
5
+ /**
6
+ * Compiler for web packages
7
+ *
8
+ * Generates a React-based web application with:
9
+ * - React Router for client-side routing
10
+ * - Apollo Client for GraphQL queries
11
+ * - Tailwind CSS for styling
12
+ * - Optional admin panel with CRUD sections
13
+ * - Plugin-contributed generators (auth, storage, etc.)
14
+ */
15
+ export declare class WebPackageCompiler extends AppCompiler<WebAppConfig> {
16
+ compile(): PackageEntry;
17
+ getTasks(): PackageTasks;
18
+ }
19
+ //# sourceMappingURL=web-compiler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"web-compiler.d.ts","sourceRoot":"","sources":["../../../src/compiler/web/web-compiler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAgCvE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAExD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAkJjD;;;;;;;;;GASG;AACH,qBAAa,kBAAmB,SAAQ,WAAW,CAAC,YAAY,CAAC;IAC/D,OAAO,IAAI,YAAY;IAuBvB,QAAQ,IAAI,YAAY;CAOzB"}
@@ -0,0 +1,156 @@
1
+ import { composeNodeGenerator } from '@baseplate-dev/core-generators';
2
+ import { AppUtils, FeatureUtils, webAppEntryType, } from '@baseplate-dev/project-builder-lib';
3
+ import { adminBullBoardGenerator, adminComponentsGenerator, adminHomeGenerator, adminLayoutGenerator, apolloErrorGenerator, apolloErrorLinkGenerator, apolloSentryGenerator, composeReactGenerators, reactApolloGenerator, reactComponentsGenerator, reactRouterGenerator, reactRoutesGenerator, reactSentryGenerator, reactTailwindGenerator, } from '@baseplate-dev/react-generators';
4
+ import { safeMerge } from '@baseplate-dev/utils';
5
+ import { kebabCase } from 'es-toolkit';
6
+ import { titleizeCamel } from '#src/utils/case.js';
7
+ import { AppCompiler } from '../app-compiler.js';
8
+ import { createAppEntryBuilderForPackage } from '../package-compiler.js';
9
+ import { compileAdminSections } from './admin/index.js';
10
+ import { compileWebFeatures } from './features.js';
11
+ /**
12
+ * Build navigation links for admin panel sidebar
13
+ *
14
+ * Creates links for each admin section based on feature references
15
+ */
16
+ function buildAdminNavigationLinks(builder) {
17
+ const { adminApp } = builder.appConfig;
18
+ const { projectDefinition } = builder;
19
+ if (!adminApp?.enabled || !adminApp.sections) {
20
+ return [];
21
+ }
22
+ return adminApp.sections.map((section) => ({
23
+ type: 'link',
24
+ label: titleizeCamel(section.name),
25
+ icon: section.icon ?? 'MdHome',
26
+ path: `${adminApp.pathPrefix}/${FeatureUtils.getFeatureByIdOrThrow(projectDefinition, section.featureRef)
27
+ .name}/${kebabCase(section.name)}`,
28
+ }));
29
+ }
30
+ /**
31
+ * Build admin routes generator if admin panel is enabled
32
+ *
33
+ * Includes admin layout, home page, and optional Bull Board integration
34
+ */
35
+ function buildAdminRoutes(builder) {
36
+ const { adminApp } = builder.appConfig;
37
+ const { projectDefinition, definitionContainer } = builder;
38
+ if (!adminApp?.enabled) {
39
+ return undefined;
40
+ }
41
+ const backendApp = AppUtils.getBackendApp(projectDefinition);
42
+ const generalSettings = projectDefinition.settings.general;
43
+ return reactRoutesGenerator({
44
+ name: 'admin',
45
+ children: {
46
+ adminLayout: adminLayoutGenerator({
47
+ links: [
48
+ {
49
+ type: 'link',
50
+ label: 'Home',
51
+ icon: 'MdHome',
52
+ path: adminApp.pathPrefix,
53
+ },
54
+ ...buildAdminNavigationLinks(builder),
55
+ ...(backendApp.enableBullQueue
56
+ ? [
57
+ {
58
+ type: 'link',
59
+ label: 'Queues',
60
+ icon: 'AiOutlineOrderedList',
61
+ path: `${adminApp.pathPrefix}/bull-board`,
62
+ },
63
+ ]
64
+ : []),
65
+ ],
66
+ requiredRoles: adminApp.allowedRoles?.map((roleId) => definitionContainer.nameFromId(roleId)) ?? [],
67
+ }),
68
+ admin: adminHomeGenerator({}),
69
+ adminRoutes: backendApp.enableBullQueue
70
+ ? adminBullBoardGenerator({
71
+ bullBoardUrl: `http://localhost:${generalSettings.portOffset + 1}`,
72
+ })
73
+ : undefined,
74
+ routes: compileAdminSections(builder),
75
+ },
76
+ });
77
+ }
78
+ /**
79
+ * Build React application generator bundle
80
+ *
81
+ * Combines React Router, Apollo Client, Tailwind, Sentry, and admin panel
82
+ */
83
+ function buildReact(builder) {
84
+ const { projectDefinition, appConfig, appCompiler } = builder;
85
+ const backendApp = AppUtils.getBackendApp(projectDefinition);
86
+ const backendRelativePath = AppUtils.getBackendRelativePath(appConfig, backendApp);
87
+ const rootFeatures = appCompiler.getRootChildren();
88
+ const adminRoutes = buildAdminRoutes(builder);
89
+ const routerChildren = safeMerge({
90
+ features: compileWebFeatures(builder),
91
+ ...(adminRoutes ? { adminRoute: adminRoutes } : {}),
92
+ }, rootFeatures);
93
+ return composeReactGenerators({
94
+ title: appConfig.title,
95
+ description: appConfig.description,
96
+ children: {
97
+ reactRouter: reactRouterGenerator({
98
+ children: routerChildren,
99
+ renderPlaceholderIndex: adminRoutes ? false : true,
100
+ }),
101
+ reactComponents: reactComponentsGenerator({}),
102
+ reactTailwind: reactTailwindGenerator({}),
103
+ reactSentry: reactSentryGenerator({}),
104
+ reactApollo: reactApolloGenerator({
105
+ devApiEndpoint: '/api/graphql',
106
+ schemaLocation: `${backendRelativePath}/schema.graphql`,
107
+ enableSubscriptions: appConfig.enableSubscriptions,
108
+ children: {
109
+ apolloErrorLink: apolloErrorLinkGenerator({}),
110
+ apolloSentry: apolloSentryGenerator({}),
111
+ },
112
+ }),
113
+ apolloError: apolloErrorGenerator({}),
114
+ ...(appConfig.adminApp?.enabled
115
+ ? { adminComponents: adminComponentsGenerator({}) }
116
+ : {}),
117
+ },
118
+ }, {
119
+ devBackendHost: `http://localhost:${projectDefinition.settings.general.portOffset + 1}`,
120
+ });
121
+ }
122
+ /**
123
+ * Compiler for web packages
124
+ *
125
+ * Generates a React-based web application with:
126
+ * - React Router for client-side routing
127
+ * - Apollo Client for GraphQL queries
128
+ * - Tailwind CSS for styling
129
+ * - Optional admin panel with CRUD sections
130
+ * - Plugin-contributed generators (auth, storage, etc.)
131
+ */
132
+ export class WebPackageCompiler extends AppCompiler {
133
+ compile() {
134
+ const appBuilder = createAppEntryBuilderForPackage(this.definitionContainer, this.appConfig, webAppEntryType);
135
+ const { projectDefinition } = appBuilder;
136
+ const generalSettings = projectDefinition.settings.general;
137
+ const nodeBundle = composeNodeGenerator({
138
+ name: `${generalSettings.name}-${this.appConfig.name}`,
139
+ packageName: this.getPackageName(),
140
+ description: `Web app for ${generalSettings.name}`,
141
+ version: '1.0.0',
142
+ children: {
143
+ react: buildReact(appBuilder),
144
+ },
145
+ });
146
+ return appBuilder.buildProjectEntry(nodeBundle, this.getPackageDirectory());
147
+ }
148
+ getTasks() {
149
+ return {
150
+ build: ['build'],
151
+ dev: ['dev', 'watch:gql'],
152
+ watch: ['watch:gql'],
153
+ };
154
+ }
155
+ }
156
+ //# sourceMappingURL=web-compiler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"web-compiler.js","sourceRoot":"","sources":["../../../src/compiler/web/web-compiler.ts"],"names":[],"mappings":"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"}
@@ -35,8 +35,8 @@ export declare const devServerRouter: import("@trpc/server/unstable-core-do-not-
35
35
  diffProject: import("@trpc/server").TRPCMutationProcedure<{
36
36
  input: {
37
37
  project: string;
38
- include?: string[] | undefined;
39
38
  packages?: string[] | undefined;
39
+ include?: string[] | undefined;
40
40
  compact?: boolean | undefined;
41
41
  };
42
42
  output: {
@@ -77,8 +77,8 @@ export declare const devServerRouter: import("@trpc/server/unstable-core-do-not-
77
77
  }, import("@trpc/server/unstable-core-do-not-import").DecorateCreateRouterOptions<{
78
78
  extract: import("@trpc/server").TRPCMutationProcedure<{
79
79
  input: {
80
- app: string;
81
80
  project: string;
81
+ app: string;
82
82
  autoGenerateExtractor: boolean;
83
83
  skipClean: boolean;
84
84
  };
@@ -230,9 +230,9 @@ export declare const devServerRouter: import("@trpc/server/unstable-core-do-not-
230
230
  }, import("@trpc/server/unstable-core-do-not-import").DecorateCreateRouterOptions<{
231
231
  add: import("@trpc/server").TRPCMutationProcedure<{
232
232
  input: {
233
+ project: string;
233
234
  files: string[];
234
235
  app: string;
235
- project: string;
236
236
  deleted?: boolean | undefined;
237
237
  snapshotDirectory?: string | undefined;
238
238
  };
@@ -244,9 +244,9 @@ export declare const devServerRouter: import("@trpc/server/unstable-core-do-not-
244
244
  }>;
245
245
  remove: import("@trpc/server").TRPCMutationProcedure<{
246
246
  input: {
247
+ project: string;
247
248
  files: string[];
248
249
  app: string;
249
- project: string;
250
250
  snapshotDirectory?: string | undefined;
251
251
  };
252
252
  output: {
@@ -257,8 +257,8 @@ export declare const devServerRouter: import("@trpc/server/unstable-core-do-not-
257
257
  }>;
258
258
  save: import("@trpc/server").TRPCMutationProcedure<{
259
259
  input: {
260
- app: string;
261
260
  project: string;
261
+ app: string;
262
262
  snapshotDirectory?: string | undefined;
263
263
  force?: boolean | undefined;
264
264
  };
@@ -270,8 +270,8 @@ export declare const devServerRouter: import("@trpc/server/unstable-core-do-not-
270
270
  }>;
271
271
  show: import("@trpc/server").TRPCQueryProcedure<{
272
272
  input: {
273
- app: string;
274
273
  project: string;
274
+ app: string;
275
275
  snapshotDirectory?: string | undefined;
276
276
  };
277
277
  output: {
@@ -1,3 +1,4 @@
1
+ import type { ProjectInfo } from '@baseplate-dev/project-builder-lib';
1
2
  import type { ServiceActionContext } from '#src/actions/types.js';
2
3
  import type { DiffSummary } from './types.js';
3
4
  /**
@@ -5,9 +6,9 @@ import type { DiffSummary } from './types.js';
5
6
  */
6
7
  export interface DiffProjectOptions {
7
8
  /**
8
- * The directory to diff the project in.
9
+ * The project to diff.
9
10
  */
10
- projectDirectory: string;
11
+ project: ProjectInfo;
11
12
  /**
12
13
  * Filter by specific package names.
13
14
  */
@@ -1 +1 @@
1
- {"version":3,"file":"diff-project.d.ts","sourceRoot":"","sources":["../../src/diff/diff-project.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAMlE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAQ9C;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC;;OAEG;IACH,gBAAgB,EAAE,MAAM,CAAC;IACzB;;OAEG;IACH,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,gBAAgB,EAAE,MAAM,CAAC;IACzB;;OAEG;IACH,WAAW,EAAE,WAAW,CAAC;IACzB;;OAEG;IACH,cAAc,EAAE,OAAO,CAAC;CACzB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC;;OAEG;IACH,cAAc,EAAE,iBAAiB,EAAE,CAAC;IACpC;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;IACnB;;OAEG;IACH,cAAc,EAAE,OAAO,CAAC;CACzB;AAED;;;GAGG;AACH,wBAAsB,WAAW,CAC/B,OAAO,EAAE,kBAAkB,EAC3B,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC,iBAAiB,CAAC,CAyG5B"}
1
+ {"version":3,"file":"diff-project.d.ts","sourceRoot":"","sources":["../../src/diff/diff-project.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oCAAoC,CAAC;AAWtE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAMlE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAQ9C;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC;;OAEG;IACH,OAAO,EAAE,WAAW,CAAC;IACrB;;OAEG;IACH,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,gBAAgB,EAAE,MAAM,CAAC;IACzB;;OAEG;IACH,WAAW,EAAE,WAAW,CAAC;IACzB;;OAEG;IACH,cAAc,EAAE,OAAO,CAAC;CACzB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC;;OAEG;IACH,cAAc,EAAE,iBAAiB,EAAE,CAAC;IACpC;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;IACnB;;OAEG;IACH,cAAc,EAAE,OAAO,CAAC;CACzB;AAED;;;GAGG;AACH,wBAAsB,WAAW,CAC/B,OAAO,EAAE,kBAAkB,EAC3B,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC,iBAAiB,CAAC,CA0G5B"}
@@ -1,7 +1,7 @@
1
1
  import { buildGeneratorEntry, executeGeneratorEntry, formatGeneratorOutput, loadIgnorePatterns, } from '@baseplate-dev/sync';
2
2
  import { enhanceErrorWithContext } from '@baseplate-dev/utils';
3
3
  import path from 'node:path';
4
- import { compileApplications } from '#src/compiler/index.js';
4
+ import { compilePackages } from '#src/compiler/index.js';
5
5
  import { createNodeSchemaParserContext } from '#src/plugins/node-plugin-store.js';
6
6
  import { loadProjectDefinition } from '#src/project-definition/load-project-definition.js';
7
7
  import { createTemplateMetadataOptions } from '../sync/template-metadata-utils.js';
@@ -14,11 +14,11 @@ import { resolveSnapshotDirectory } from './snapshot/snapshot-utils.js';
14
14
  * in the working directory, returning structured data.
15
15
  */
16
16
  export async function diffProject(options, context) {
17
- const { projectDirectory, packageFilter, include } = options;
18
- const { logger, plugins } = context;
19
- const parserContext = await createNodeSchemaParserContext(projectDirectory, logger, plugins);
20
- const { definition: projectJson } = await loadProjectDefinition(projectDirectory, parserContext);
21
- const apps = compileApplications(projectJson, parserContext);
17
+ const { project, packageFilter, include } = options;
18
+ const { logger, plugins, cliVersion } = context;
19
+ const parserContext = await createNodeSchemaParserContext(project, logger, plugins, cliVersion);
20
+ const { definition: projectJson } = await loadProjectDefinition(project.directory, parserContext);
21
+ const apps = compilePackages(projectJson, parserContext);
22
22
  // Filter apps if specified
23
23
  const filteredApps = packageFilter?.length
24
24
  ? apps.filter((app) => packageFilter.includes(app.name))
@@ -36,8 +36,8 @@ export async function diffProject(options, context) {
36
36
  let totalDiffs = 0;
37
37
  for (const app of filteredApps) {
38
38
  try {
39
- const appDirectory = path.join(projectDirectory, app.appDirectory);
40
- logger.info(`Building package: ${app.name} (${app.appDirectory})...`);
39
+ const appDirectory = path.join(project.directory, app.packageDirectory);
40
+ logger.info(`Building package: ${app.name} (${app.packageDirectory})...`);
41
41
  // Generate the output without writing files
42
42
  const generatorEntry = await buildGeneratorEntry(app.generatorBundle);
43
43
  const generatorOutput = await executeGeneratorEntry(generatorEntry, {
@@ -65,7 +65,7 @@ export async function diffProject(options, context) {
65
65
  }
66
66
  appResults.push({
67
67
  name: app.name,
68
- packageDirectory: app.appDirectory,
68
+ packageDirectory: app.packageDirectory,
69
69
  diffSummary,
70
70
  hasDifferences,
71
71
  });
@@ -80,47 +80,4 @@ export async function diffProject(options, context) {
80
80
  hasDifferences: totalDiffs > 0,
81
81
  };
82
82
  }
83
- // /**
84
- // * Generates a diff between what would be generated and what currently exists
85
- // * in the working directory, with console output.
86
- // */
87
- // export async function diffProject(options: DiffProjectOptions): Promise<void> {
88
- // const { logger, compact = false } = options;
89
- // try {
90
- // logger.info('Loading project definition...');
91
- // const result = await diffProjectData(options);
92
- // if (result.appResults.length === 0) {
93
- // logger.warn('No applications found matching the filter criteria');
94
- // return;
95
- // }
96
- // logger.info(
97
- // `Generating output for ${result.appResults.length} application(s)...`,
98
- // );
99
- // // Process each app result and output to console
100
- // for (const appResult of result.appResults) {
101
- // logger.info(
102
- // `Generating for app: ${appResult.name} (${appResult.appDirectory})`,
103
- // );
104
- // if (appResult.hasDifferences) {
105
- // logger.info(`\n=== Diff for ${appResult.name} ===`);
106
- // const output = compact
107
- // ? formatCompactDiff(appResult.diffSummary)
108
- // : formatUnifiedDiff(appResult.diffSummary);
109
- // logger.info(output);
110
- // } else {
111
- // logger.info(`No differences found for ${appResult.name}`);
112
- // }
113
- // }
114
- // if (result.hasDifferences) {
115
- // logger.info(
116
- // `Found differences in ${result.totalDiffs} file(s) across all applications`,
117
- // );
118
- // } else {
119
- // logger.info('✓ No differences found across all applications');
120
- // }
121
- // } catch (error) {
122
- // logger.error(`Error during diff generation: ${String(error)}`);
123
- // throw error;
124
- // }
125
- // }
126
83
  //# sourceMappingURL=diff-project.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"diff-project.js","sourceRoot":"","sources":["../../src/diff/diff-project.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"diff-project.js","sourceRoot":"","sources":["../../src/diff/diff-project.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"create-snapshot-for-project.d.ts","sourceRoot":"","sources":["../../../src/diff/snapshot/create-snapshot-for-project.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AAC9E,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAUlD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,wCAAwC,CAAC;AAQlF;;GAEG;AACH,MAAM,WAAW,+BAA+B;IAC9C;;OAEG;IACH,gBAAgB,EAAE,MAAM,CAAC;IACzB;;OAEG;IACH,GAAG,EAAE,MAAM,CAAC;IACZ;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,OAAO,EAAE,mBAAmB,CAAC;IAC7B;;OAEG;IACH,UAAU,EAAE,mBAAmB,CAAC;IAChC;;OAEG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,wBAAsB,wBAAwB,CAC5C,OAAO,EAAE,+BAA+B,GACvC,OAAO,CAAC,IAAI,CAAC,CAiEf"}
1
+ {"version":3,"file":"create-snapshot-for-project.d.ts","sourceRoot":"","sources":["../../../src/diff/snapshot/create-snapshot-for-project.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AAC9E,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAUlD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,wCAAwC,CAAC;AAQlF;;GAEG;AACH,MAAM,WAAW,+BAA+B;IAC9C;;OAEG;IACH,gBAAgB,EAAE,MAAM,CAAC;IACzB;;OAEG;IACH,GAAG,EAAE,MAAM,CAAC;IACZ;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,OAAO,EAAE,mBAAmB,CAAC;IAC7B;;OAEG;IACH,UAAU,EAAE,mBAAmB,CAAC;IAChC;;OAEG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,wBAAsB,wBAAwB,CAC5C,OAAO,EAAE,+BAA+B,GACvC,OAAO,CAAC,IAAI,CAAC,CAmEf"}
@@ -1,6 +1,6 @@
1
1
  import { buildGeneratorEntry, executeGeneratorEntry, formatGeneratorOutput, loadIgnorePatterns, } from '@baseplate-dev/sync';
2
2
  import path from 'node:path';
3
- import { compileApplications } from '#src/compiler/index.js';
3
+ import { compilePackages } from '#src/compiler/index.js';
4
4
  import { loadProjectDefinition } from '#src/project-definition/index.js';
5
5
  import { createTemplateMetadataOptions } from '#src/sync/template-metadata-utils.js';
6
6
  import { saveSnapshot } from './save-snapshot.js';
@@ -13,14 +13,14 @@ export async function createSnapshotForProject(options) {
13
13
  logger.info('Loading project definition...');
14
14
  const { definition: projectJson } = await loadProjectDefinition(directory, context);
15
15
  logger.info('Compiling applications...');
16
- const apps = compileApplications(projectJson, context);
16
+ const apps = compilePackages(projectJson, context);
17
17
  // Filter apps if specified
18
18
  const app = apps.find((app) => appName === app.name);
19
19
  if (!app) {
20
20
  throw new Error(`No applications found named ${appName}. Available apps: ${apps.map((a) => a.name).join(', ')}`);
21
21
  }
22
- const appDirectory = path.join(directory, app.appDirectory);
23
- logger.info(`Creating snapshot for app: ${app.name} (${app.appDirectory})`);
22
+ const appDirectory = path.join(directory, app.packageDirectory);
23
+ logger.info(`Creating snapshot for app: ${app.name} (${app.packageDirectory})`);
24
24
  // Load ignore patterns for this app directory
25
25
  const ignoreInstance = useIgnoreFile
26
26
  ? await loadIgnorePatterns(appDirectory)
@@ -1 +1 @@
1
- {"version":3,"file":"create-snapshot-for-project.js","sourceRoot":"","sources":["../../../src/diff/snapshot/create-snapshot-for-project.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"create-snapshot-for-project.js","sourceRoot":"","sources":["../../../src/diff/snapshot/create-snapshot-for-project.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"snapshot-management.d.ts","sourceRoot":"","sources":["../../../src/diff/snapshot/snapshot-management.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AAC9E,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAOlD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAoB9D,MAAM,WAAW,yBAAyB;IACxC,gBAAgB,EAAE,MAAM,CAAC;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,OAAO,EAAE,mBAAmB,CAAC;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;CAC3C;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CACtC,aAAa,EAAE,MAAM,EAAE,EACvB,SAAS,EAAE,OAAO,EAClB,EACE,gBAAgB,EAChB,iBAAiB,EACjB,OAAO,EACP,OAAO,EACP,MAAM,EACN,mBAAkD,GACnD,EAAE,yBAAyB,GAC3B,OAAO,CAAC,IAAI,CAAC,CAiGf;AAED;;GAEG;AACH,wBAAsB,uBAAuB,CAC3C,aAAa,EAAE,MAAM,EAAE,EACvB,EACE,gBAAgB,EAChB,OAAO,EACP,iBAAiB,EACjB,OAAO,EACP,MAAM,GACP,EAAE,yBAAyB,GAC3B,OAAO,CAAC,IAAI,CAAC,CA4Cf;AAED,MAAM,WAAW,mBAAmB;IAClC,gBAAgB,EAAE,MAAM,CAAC;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,OAAO,EAAE,mBAAmB,CAAC;IAC7B,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,wBAAsB,oBAAoB,CAAC,EACzC,gBAAgB,EAChB,iBAAiB,EACjB,OAAO,EACP,OAAO,EACP,MAAM,GACP,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CAwDrC"}
1
+ {"version":3,"file":"snapshot-management.d.ts","sourceRoot":"","sources":["../../../src/diff/snapshot/snapshot-management.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AAC9E,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAOlD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAoB9D,MAAM,WAAW,yBAAyB;IACxC,gBAAgB,EAAE,MAAM,CAAC;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,OAAO,EAAE,mBAAmB,CAAC;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;CAC3C;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CACtC,aAAa,EAAE,MAAM,EAAE,EACvB,SAAS,EAAE,OAAO,EAClB,EACE,gBAAgB,EAChB,iBAAiB,EACjB,OAAO,EACP,OAAO,EACP,MAAM,EACN,mBAAkD,GACnD,EAAE,yBAAyB,GAC3B,OAAO,CAAC,IAAI,CAAC,CAoGf;AAED;;GAEG;AACH,wBAAsB,uBAAuB,CAC3C,aAAa,EAAE,MAAM,EAAE,EACvB,EACE,gBAAgB,EAChB,OAAO,EACP,iBAAiB,EACjB,OAAO,EACP,MAAM,GACP,EAAE,yBAAyB,GAC3B,OAAO,CAAC,IAAI,CAAC,CA4Cf;AAED,MAAM,WAAW,mBAAmB;IAClC,gBAAgB,EAAE,MAAM,CAAC;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,OAAO,EAAE,mBAAmB,CAAC;IAC7B,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,wBAAsB,oBAAoB,CAAC,EACzC,gBAAgB,EAChB,iBAAiB,EACjB,OAAO,EACP,OAAO,EACP,MAAM,GACP,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CAwDrC"}
@@ -2,7 +2,7 @@ import { enhanceErrorWithContext } from '@baseplate-dev/utils';
2
2
  import { handleFileNotFoundError } from '@baseplate-dev/utils/node';
3
3
  import { readFile } from 'node:fs/promises';
4
4
  import path from 'node:path';
5
- import { compileApplications } from '#src/compiler/index.js';
5
+ import { compilePackages } from '#src/compiler/index.js';
6
6
  import { getSingleAppDirectoryForProject } from '#src/project-definition/get-single-app-directory-for-project.js';
7
7
  import { loadProjectDefinition } from '#src/project-definition/index.js';
8
8
  import { createTemplateMetadataOptions } from '#src/sync/template-metadata-utils.js';
@@ -16,12 +16,12 @@ import { resolveSnapshotDirectory } from './snapshot-utils.js';
16
16
  export async function addFilesToSnapshot(relativePaths, isDeleted, { projectDirectory, snapshotDirectory, appName, context, logger, generatorOperations = DEFAULT_GENERATOR_OPERATIONS, }) {
17
17
  try {
18
18
  const { definition } = await loadProjectDefinition(projectDirectory, context);
19
- const compiledApps = compileApplications(definition, context);
19
+ const compiledApps = compilePackages(definition, context);
20
20
  const compiledApp = compiledApps.find((a) => a.name === appName);
21
21
  if (!compiledApp) {
22
22
  throw new Error(`App ${appName} not found`);
23
23
  }
24
- const appDirectory = path.join(projectDirectory, compiledApp.appDirectory);
24
+ const appDirectory = path.join(projectDirectory, compiledApp.packageDirectory);
25
25
  const snapshotDirectories = resolveSnapshotDirectory(appDirectory, {
26
26
  snapshotDir: snapshotDirectory,
27
27
  });