@baseplate-dev/project-builder-server 0.1.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 (213) hide show
  1. package/LICENSE +390 -0
  2. package/dist/api/context.d.ts +15 -0
  3. package/dist/api/context.d.ts.map +1 -0
  4. package/dist/api/context.js +21 -0
  5. package/dist/api/context.js.map +1 -0
  6. package/dist/api/index.d.ts +287 -0
  7. package/dist/api/index.d.ts.map +1 -0
  8. package/dist/api/index.js +12 -0
  9. package/dist/api/index.js.map +1 -0
  10. package/dist/api/plugins.d.ts +35 -0
  11. package/dist/api/plugins.d.ts.map +1 -0
  12. package/dist/api/plugins.js +13 -0
  13. package/dist/api/plugins.js.map +1 -0
  14. package/dist/api/projects.d.ts +62 -0
  15. package/dist/api/projects.d.ts.map +1 -0
  16. package/dist/api/projects.js +64 -0
  17. package/dist/api/projects.js.map +1 -0
  18. package/dist/api/sync.d.ts +134 -0
  19. package/dist/api/sync.d.ts.map +1 -0
  20. package/dist/api/sync.js +90 -0
  21. package/dist/api/sync.js.map +1 -0
  22. package/dist/api/trpc.d.ts +50 -0
  23. package/dist/api/trpc.d.ts.map +1 -0
  24. package/dist/api/trpc.js +39 -0
  25. package/dist/api/trpc.js.map +1 -0
  26. package/dist/api/types.d.ts +13 -0
  27. package/dist/api/types.d.ts.map +1 -0
  28. package/dist/api/types.js +2 -0
  29. package/dist/api/types.js.map +1 -0
  30. package/dist/api/version.d.ts +40 -0
  31. package/dist/api/version.d.ts.map +1 -0
  32. package/dist/api/version.js +9 -0
  33. package/dist/api/version.js.map +1 -0
  34. package/dist/compiler/admin/crud/displays.d.ts +5 -0
  35. package/dist/compiler/admin/crud/displays.d.ts.map +1 -0
  36. package/dist/compiler/admin/crud/displays.js +46 -0
  37. package/dist/compiler/admin/crud/displays.js.map +1 -0
  38. package/dist/compiler/admin/crud/index.d.ts +5 -0
  39. package/dist/compiler/admin/crud/index.d.ts.map +1 -0
  40. package/dist/compiler/admin/crud/index.js +90 -0
  41. package/dist/compiler/admin/crud/index.js.map +1 -0
  42. package/dist/compiler/admin/crud/inputs.d.ts +5 -0
  43. package/dist/compiler/admin/crud/inputs.d.ts.map +1 -0
  44. package/dist/compiler/admin/crud/inputs.js +146 -0
  45. package/dist/compiler/admin/crud/inputs.js.map +1 -0
  46. package/dist/compiler/admin/index.d.ts +3 -0
  47. package/dist/compiler/admin/index.d.ts.map +1 -0
  48. package/dist/compiler/admin/index.js +95 -0
  49. package/dist/compiler/admin/index.js.map +1 -0
  50. package/dist/compiler/admin/sections.d.ts +5 -0
  51. package/dist/compiler/admin/sections.d.ts.map +1 -0
  52. package/dist/compiler/admin/sections.js +54 -0
  53. package/dist/compiler/admin/sections.js.map +1 -0
  54. package/dist/compiler/app-entry-builder.d.ts +19 -0
  55. package/dist/compiler/app-entry-builder.d.ts.map +1 -0
  56. package/dist/compiler/app-entry-builder.js +45 -0
  57. package/dist/compiler/app-entry-builder.js.map +1 -0
  58. package/dist/compiler/backend/enums.d.ts +4 -0
  59. package/dist/compiler/backend/enums.d.ts.map +1 -0
  60. package/dist/compiler/backend/enums.js +14 -0
  61. package/dist/compiler/backend/enums.js.map +1 -0
  62. package/dist/compiler/backend/fastify.d.ts +5 -0
  63. package/dist/compiler/backend/fastify.d.ts.map +1 -0
  64. package/dist/compiler/backend/fastify.js +62 -0
  65. package/dist/compiler/backend/fastify.js.map +1 -0
  66. package/dist/compiler/backend/feature.d.ts +4 -0
  67. package/dist/compiler/backend/feature.d.ts.map +1 -0
  68. package/dist/compiler/backend/feature.js +26 -0
  69. package/dist/compiler/backend/feature.js.map +1 -0
  70. package/dist/compiler/backend/graphql.d.ts +4 -0
  71. package/dist/compiler/backend/graphql.d.ts.map +1 -0
  72. package/dist/compiler/backend/graphql.js +171 -0
  73. package/dist/compiler/backend/graphql.js.map +1 -0
  74. package/dist/compiler/backend/index.d.ts +3 -0
  75. package/dist/compiler/backend/index.d.ts.map +1 -0
  76. package/dist/compiler/backend/index.js +34 -0
  77. package/dist/compiler/backend/index.js.map +1 -0
  78. package/dist/compiler/backend/models.d.ts +4 -0
  79. package/dist/compiler/backend/models.d.ts.map +1 -0
  80. package/dist/compiler/backend/models.js +79 -0
  81. package/dist/compiler/backend/models.js.map +1 -0
  82. package/dist/compiler/backend/services.d.ts +4 -0
  83. package/dist/compiler/backend/services.d.ts.map +1 -0
  84. package/dist/compiler/backend/services.js +90 -0
  85. package/dist/compiler/backend/services.js.map +1 -0
  86. package/dist/compiler/backend/utils.d.ts +16 -0
  87. package/dist/compiler/backend/utils.d.ts.map +1 -0
  88. package/dist/compiler/backend/utils.js +17 -0
  89. package/dist/compiler/backend/utils.js.map +1 -0
  90. package/dist/compiler/index.d.ts +3 -0
  91. package/dist/compiler/index.d.ts.map +1 -0
  92. package/dist/compiler/index.js +31 -0
  93. package/dist/compiler/index.js.map +1 -0
  94. package/dist/compiler/web/features.d.ts +5 -0
  95. package/dist/compiler/web/features.d.ts.map +1 -0
  96. package/dist/compiler/web/features.js +30 -0
  97. package/dist/compiler/web/features.js.map +1 -0
  98. package/dist/compiler/web/index.d.ts +3 -0
  99. package/dist/compiler/web/index.d.ts.map +1 -0
  100. package/dist/compiler/web/index.js +58 -0
  101. package/dist/compiler/web/index.js.map +1 -0
  102. package/dist/constants/index.d.ts +2 -0
  103. package/dist/constants/index.d.ts.map +1 -0
  104. package/dist/constants/index.js +2 -0
  105. package/dist/constants/index.js.map +1 -0
  106. package/dist/constants/server.d.ts +2 -0
  107. package/dist/constants/server.d.ts.map +1 -0
  108. package/dist/constants/server.js +2 -0
  109. package/dist/constants/server.js.map +1 -0
  110. package/dist/index.d.ts +9 -0
  111. package/dist/index.js +9 -0
  112. package/dist/index.js.map +1 -0
  113. package/dist/plugins/index.d.ts +3 -0
  114. package/dist/plugins/index.d.ts.map +1 -0
  115. package/dist/plugins/index.js +3 -0
  116. package/dist/plugins/index.js.map +1 -0
  117. package/dist/plugins/node-plugin-store.d.ts +6 -0
  118. package/dist/plugins/node-plugin-store.d.ts.map +1 -0
  119. package/dist/plugins/node-plugin-store.js +40 -0
  120. package/dist/plugins/node-plugin-store.js.map +1 -0
  121. package/dist/plugins/plugin-discovery.d.ts +7 -0
  122. package/dist/plugins/plugin-discovery.d.ts.map +1 -0
  123. package/dist/plugins/plugin-discovery.js +50 -0
  124. package/dist/plugins/plugin-discovery.js.map +1 -0
  125. package/dist/server/builder-service-manager.d.ts +32 -0
  126. package/dist/server/builder-service-manager.d.ts.map +1 -0
  127. package/dist/server/builder-service-manager.js +52 -0
  128. package/dist/server/builder-service-manager.js.map +1 -0
  129. package/dist/server/graceful-shutdown.d.ts +2 -0
  130. package/dist/server/graceful-shutdown.d.ts.map +1 -0
  131. package/dist/server/graceful-shutdown.js +25 -0
  132. package/dist/server/graceful-shutdown.js.map +1 -0
  133. package/dist/server/index.d.ts +8 -0
  134. package/dist/server/index.d.ts.map +1 -0
  135. package/dist/server/index.js +33 -0
  136. package/dist/server/index.js.map +1 -0
  137. package/dist/server/plugin.d.ts +12 -0
  138. package/dist/server/plugin.d.ts.map +1 -0
  139. package/dist/server/plugin.js +109 -0
  140. package/dist/server/plugin.js.map +1 -0
  141. package/dist/server/server.d.ts +16 -0
  142. package/dist/server/server.d.ts.map +1 -0
  143. package/dist/server/server.js +47 -0
  144. package/dist/server/server.js.map +1 -0
  145. package/dist/service/builder-service.d.ts +154 -0
  146. package/dist/service/builder-service.d.ts.map +1 -0
  147. package/dist/service/builder-service.js +338 -0
  148. package/dist/service/builder-service.js.map +1 -0
  149. package/dist/sync/build-project.d.ts +54 -0
  150. package/dist/sync/build-project.d.ts.map +1 -0
  151. package/dist/sync/build-project.js +173 -0
  152. package/dist/sync/build-project.js.map +1 -0
  153. package/dist/sync/conflict-file-monitor.d.ts +27 -0
  154. package/dist/sync/conflict-file-monitor.d.ts.map +1 -0
  155. package/dist/sync/conflict-file-monitor.js +125 -0
  156. package/dist/sync/conflict-file-monitor.js.map +1 -0
  157. package/dist/sync/generate-for-directory.d.ts +29 -0
  158. package/dist/sync/generate-for-directory.d.ts.map +1 -0
  159. package/dist/sync/generate-for-directory.js +132 -0
  160. package/dist/sync/generate-for-directory.js.map +1 -0
  161. package/dist/sync/generator-steps-writer.d.ts +3 -0
  162. package/dist/sync/generator-steps-writer.d.ts.map +1 -0
  163. package/dist/sync/generator-steps-writer.js +6 -0
  164. package/dist/sync/generator-steps-writer.js.map +1 -0
  165. package/dist/sync/index.d.ts +4 -0
  166. package/dist/sync/index.d.ts.map +1 -0
  167. package/dist/sync/index.js +4 -0
  168. package/dist/sync/index.js.map +1 -0
  169. package/dist/sync/sync-metadata-controller.d.ts +29 -0
  170. package/dist/sync/sync-metadata-controller.d.ts.map +1 -0
  171. package/dist/sync/sync-metadata-controller.js +95 -0
  172. package/dist/sync/sync-metadata-controller.js.map +1 -0
  173. package/dist/sync/sync-metadata-service.d.ts +20 -0
  174. package/dist/sync/sync-metadata-service.d.ts.map +1 -0
  175. package/dist/sync/sync-metadata-service.js +31 -0
  176. package/dist/sync/sync-metadata-service.js.map +1 -0
  177. package/dist/sync/sync-metadata.d.ts +444 -0
  178. package/dist/sync/sync-metadata.d.ts.map +1 -0
  179. package/dist/sync/sync-metadata.js +80 -0
  180. package/dist/sync/sync-metadata.js.map +1 -0
  181. package/dist/sync/utils.d.ts +8 -0
  182. package/dist/sync/utils.d.ts.map +1 -0
  183. package/dist/sync/utils.js +23 -0
  184. package/dist/sync/utils.js.map +1 -0
  185. package/dist/template-extractor/index.d.ts +2 -0
  186. package/dist/template-extractor/index.d.ts.map +1 -0
  187. package/dist/template-extractor/index.js +2 -0
  188. package/dist/template-extractor/index.js.map +1 -0
  189. package/dist/template-extractor/run-template-extractor.d.ts +4 -0
  190. package/dist/template-extractor/run-template-extractor.d.ts.map +1 -0
  191. package/dist/template-extractor/run-template-extractor.js +60 -0
  192. package/dist/template-extractor/run-template-extractor.js.map +1 -0
  193. package/dist/user-config/index.d.ts +2 -0
  194. package/dist/user-config/index.d.ts.map +1 -0
  195. package/dist/user-config/index.js +2 -0
  196. package/dist/user-config/index.js.map +1 -0
  197. package/dist/user-config/user-config-schema.d.ts +46 -0
  198. package/dist/user-config/user-config-schema.d.ts.map +1 -0
  199. package/dist/user-config/user-config-schema.js +30 -0
  200. package/dist/user-config/user-config-schema.js.map +1 -0
  201. package/dist/utils/case.d.ts +3 -0
  202. package/dist/utils/case.d.ts.map +1 -0
  203. package/dist/utils/case.js +14 -0
  204. package/dist/utils/case.js.map +1 -0
  205. package/dist/utils/errors.d.ts +10 -0
  206. package/dist/utils/errors.d.ts.map +1 -0
  207. package/dist/utils/errors.js +15 -0
  208. package/dist/utils/errors.js.map +1 -0
  209. package/dist/utils/paths.d.ts +8 -0
  210. package/dist/utils/paths.d.ts.map +1 -0
  211. package/dist/utils/paths.js +17 -0
  212. package/dist/utils/paths.js.map +1 -0
  213. package/package.json +84 -0
@@ -0,0 +1,2 @@
1
+ export * from './user-config-schema.js';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/user-config/index.ts"],"names":[],"mappings":"AAAA,cAAc,yBAAyB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from './user-config-schema.js';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/user-config/index.ts"],"names":[],"mappings":"AAAA,cAAc,yBAAyB,CAAC"}
@@ -0,0 +1,46 @@
1
+ import { z } from 'zod';
2
+ /**
3
+ * Schema for validating user configuration stored in ~/.baseplate/config.json
4
+ * This configuration allows users to persist preferences across sessions.
5
+ */
6
+ export declare const userConfigSchema: z.ZodObject<{
7
+ sync: z.ZodOptional<z.ZodObject<{
8
+ /**
9
+ * Whether to write the generator steps JSON file
10
+ */
11
+ writeGeneratorStepsJson: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
12
+ /**
13
+ * The merge driver to use following the custom merge driver command for custom Git merge drivers
14
+ * instead of the default 3-way merge driver.
15
+ *
16
+ * See https://git-scm.com/docs/gitattributes#_defining_a_custom_merge_driver
17
+ */
18
+ customMergeDriver: z.ZodOptional<z.ZodString>;
19
+ /**
20
+ * Editor to open when the user clicks on a file with conflicts
21
+ */
22
+ editor: z.ZodOptional<z.ZodString>;
23
+ }, "strict", z.ZodTypeAny, {
24
+ writeGeneratorStepsJson: boolean;
25
+ customMergeDriver?: string | undefined;
26
+ editor?: string | undefined;
27
+ }, {
28
+ writeGeneratorStepsJson?: boolean | undefined;
29
+ customMergeDriver?: string | undefined;
30
+ editor?: string | undefined;
31
+ }>>;
32
+ }, "strict", z.ZodTypeAny, {
33
+ sync?: {
34
+ writeGeneratorStepsJson: boolean;
35
+ customMergeDriver?: string | undefined;
36
+ editor?: string | undefined;
37
+ } | undefined;
38
+ }, {
39
+ sync?: {
40
+ writeGeneratorStepsJson?: boolean | undefined;
41
+ customMergeDriver?: string | undefined;
42
+ editor?: string | undefined;
43
+ } | undefined;
44
+ }>;
45
+ export type BaseplateUserConfig = z.infer<typeof userConfigSchema>;
46
+ //# sourceMappingURL=user-config-schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user-config-schema.d.ts","sourceRoot":"","sources":["../../src/user-config/user-config-schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;GAGG;AACH,eAAO,MAAM,gBAAgB;;QAIrB;;WAEG;;QAEH;;;;;WAKG;;QAEH;;WAEG;;;;;;;;;;;;;;;;;;;;;;;EAMA,CAAC;AAEZ,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC"}
@@ -0,0 +1,30 @@
1
+ import { z } from 'zod';
2
+ /**
3
+ * Schema for validating user configuration stored in ~/.baseplate/config.json
4
+ * This configuration allows users to persist preferences across sessions.
5
+ */
6
+ export const userConfigSchema = z
7
+ .object({
8
+ sync: z
9
+ .object({
10
+ /**
11
+ * Whether to write the generator steps JSON file
12
+ */
13
+ writeGeneratorStepsJson: z.boolean().optional().default(false),
14
+ /**
15
+ * The merge driver to use following the custom merge driver command for custom Git merge drivers
16
+ * instead of the default 3-way merge driver.
17
+ *
18
+ * See https://git-scm.com/docs/gitattributes#_defining_a_custom_merge_driver
19
+ */
20
+ customMergeDriver: z.string().optional(),
21
+ /**
22
+ * Editor to open when the user clicks on a file with conflicts
23
+ */
24
+ editor: z.string().optional(),
25
+ })
26
+ .strict()
27
+ .optional(),
28
+ })
29
+ .strict();
30
+ //# sourceMappingURL=user-config-schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user-config-schema.js","sourceRoot":"","sources":["../../src/user-config/user-config-schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;GAGG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC;KAC9B,MAAM,CAAC;IACN,IAAI,EAAE,CAAC;SACJ,MAAM,CAAC;QACN;;WAEG;QACH,uBAAuB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;QAC9D;;;;;WAKG;QACH,iBAAiB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QACxC;;WAEG;QACH,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;KAC9B,CAAC;SACD,MAAM,EAAE;SACR,QAAQ,EAAE;CACd,CAAC;KACD,MAAM,EAAE,CAAC"}
@@ -0,0 +1,3 @@
1
+ export declare function dasherizeCamel(str: string): string;
2
+ export declare function titleizeCamel(str: string): string;
3
+ //# sourceMappingURL=case.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"case.d.ts","sourceRoot":"","sources":["../../src/utils/case.ts"],"names":[],"mappings":"AASA,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAElD;AAED,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAEjD"}
@@ -0,0 +1,14 @@
1
+ import { dasherize, titleize, underscore } from 'inflection';
2
+ function lowerCaseFirst(str) {
3
+ if (str.length === 0) {
4
+ return str;
5
+ }
6
+ return str.charAt(0).toLowerCase() + str.slice(1);
7
+ }
8
+ export function dasherizeCamel(str) {
9
+ return dasherize(underscore(lowerCaseFirst(str)));
10
+ }
11
+ export function titleizeCamel(str) {
12
+ return titleize(underscore(str));
13
+ }
14
+ //# sourceMappingURL=case.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"case.js","sourceRoot":"","sources":["../../src/utils/case.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE7D,SAAS,cAAc,CAAC,GAAW;IACjC,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACrB,OAAO,GAAG,CAAC;IACb,CAAC;IACD,OAAO,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACpD,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,GAAW;IACxC,OAAO,SAAS,CAAC,UAAU,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AACpD,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,GAAW;IACvC,OAAO,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;AACnC,CAAC"}
@@ -0,0 +1,10 @@
1
+ import type { TRPC_ERROR_CODE_KEY } from '@trpc/server/rpc';
2
+ import { TRPCError } from '@trpc/server';
3
+ /**
4
+ * Error thrown that will be displayed to the user directly.
5
+ */
6
+ export declare class UserVisibleError extends TRPCError {
7
+ descriptionText?: string | undefined;
8
+ constructor(message: string, descriptionText?: string | undefined, code?: TRPC_ERROR_CODE_KEY);
9
+ }
10
+ //# sourceMappingURL=errors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/utils/errors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAE5D,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC;;GAEG;AACH,qBAAa,gBAAiB,SAAQ,SAAS;IAGpC,eAAe,CAAC,EAAE,MAAM;gBAD/B,OAAO,EAAE,MAAM,EACR,eAAe,CAAC,EAAE,MAAM,YAAA,EAC/B,IAAI,GAAE,mBAA6C;CAOtD"}
@@ -0,0 +1,15 @@
1
+ import { TRPCError } from '@trpc/server';
2
+ /**
3
+ * Error thrown that will be displayed to the user directly.
4
+ */
5
+ export class UserVisibleError extends TRPCError {
6
+ descriptionText;
7
+ constructor(message, descriptionText, code = 'INTERNAL_SERVER_ERROR') {
8
+ super({
9
+ message,
10
+ code,
11
+ });
12
+ this.descriptionText = descriptionText;
13
+ }
14
+ }
15
+ //# sourceMappingURL=errors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/utils/errors.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC;;GAEG;AACH,MAAM,OAAO,gBAAiB,SAAQ,SAAS;IAGpC;IAFT,YACE,OAAe,EACR,eAAwB,EAC/B,OAA4B,uBAAuB;QAEnD,KAAK,CAAC;YACJ,OAAO;YACP,IAAI;SACL,CAAC,CAAC;QANI,oBAAe,GAAf,eAAe,CAAS;IAOjC,CAAC;CACF"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Safely concatenate two paths and prevent directory traversal attacks.
3
+ * @param {string} basePath - The base directory path.
4
+ * @param {string} relativePath - The relative path to concatenate to the base path.
5
+ * @returns {string} The safely concatenated and normalized absolute path.
6
+ */
7
+ export declare function pathSafeJoin(basePath: string, relativePath: string): string | undefined;
8
+ //# sourceMappingURL=paths.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"paths.d.ts","sourceRoot":"","sources":["../../src/utils/paths.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AACH,wBAAgB,YAAY,CAC1B,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,MAAM,GACnB,MAAM,GAAG,SAAS,CAUpB"}
@@ -0,0 +1,17 @@
1
+ import path from 'node:path';
2
+ /**
3
+ * Safely concatenate two paths and prevent directory traversal attacks.
4
+ * @param {string} basePath - The base directory path.
5
+ * @param {string} relativePath - The relative path to concatenate to the base path.
6
+ * @returns {string} The safely concatenated and normalized absolute path.
7
+ */
8
+ export function pathSafeJoin(basePath, relativePath) {
9
+ const normalizedBasePath = path.resolve(basePath);
10
+ const combinedPath = path.join(normalizedBasePath, relativePath);
11
+ // Ensure that the combined path is within the base path
12
+ if (!combinedPath.startsWith(normalizedBasePath)) {
13
+ return undefined;
14
+ }
15
+ return combinedPath;
16
+ }
17
+ //# sourceMappingURL=paths.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"paths.js","sourceRoot":"","sources":["../../src/utils/paths.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B;;;;;GAKG;AACH,MAAM,UAAU,YAAY,CAC1B,QAAgB,EAChB,YAAoB;IAEpB,MAAM,kBAAkB,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAClD,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,YAAY,CAAC,CAAC;IAEjE,wDAAwD;IACxD,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,kBAAkB,CAAC,EAAE,CAAC;QACjD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,OAAO,YAAY,CAAC;AACtB,CAAC"}
package/package.json ADDED
@@ -0,0 +1,84 @@
1
+ {
2
+ "name": "@baseplate-dev/project-builder-server",
3
+ "version": "0.1.1",
4
+ "description": "Server for Project Builder using Baseplate generators",
5
+ "homepage": "https://www.halfdomelabs.com/",
6
+ "repository": {
7
+ "type": "git",
8
+ "url": "https://github.com/halfdomelabs/baseplate",
9
+ "directory": "packages/project-builder-server"
10
+ },
11
+ "license": "SEE LICENSE IN LICENSE",
12
+ "author": "Half Dome Labs LLC",
13
+ "sideEffects": false,
14
+ "type": "module",
15
+ "imports": {
16
+ "#src/*": "./dist/*"
17
+ },
18
+ "exports": {
19
+ ".": "./dist/index.js"
20
+ },
21
+ "main": "dist/index.js",
22
+ "files": [
23
+ "LICENSE",
24
+ "dist/**/*",
25
+ "CHANGELOG",
26
+ "!dist/**/*.d.ts.map"
27
+ ],
28
+ "dependencies": {
29
+ "@fastify/helmet": "13.0.0",
30
+ "@fastify/static": "8.0.3",
31
+ "@fastify/websocket": "11.0.1",
32
+ "@trpc/server": "^11.1.2",
33
+ "chalk": "5.3.0",
34
+ "change-case": "5.4.4",
35
+ "chokidar": "4.0.3",
36
+ "es-toolkit": "1.31.0",
37
+ "execa": "9.3.0",
38
+ "fastify": "5.3.2",
39
+ "fastify-plugin": "5.0.1",
40
+ "fastify-type-provider-zod": "4.0.1",
41
+ "globby": "^14.0.2",
42
+ "immer": "10.1.1",
43
+ "inflection": "3.0.0",
44
+ "mime": "^4.0.3",
45
+ "open": "10.1.0",
46
+ "pino": "9.5.0",
47
+ "zod": "3.24.1",
48
+ "@baseplate-dev/core-generators": "0.1.1",
49
+ "@baseplate-dev/fastify-generators": "0.1.1",
50
+ "@baseplate-dev/project-builder-lib": "0.1.1",
51
+ "@baseplate-dev/react-generators": "0.1.1",
52
+ "@baseplate-dev/sync": "0.1.1",
53
+ "@baseplate-dev/utils": "0.1.1"
54
+ },
55
+ "devDependencies": {
56
+ "@types/node": "^22.0.0",
57
+ "eslint": "9.26.0",
58
+ "memfs": "4.15.1",
59
+ "prettier": "3.5.3",
60
+ "typescript": "5.7.3",
61
+ "vitest": "3.0.7",
62
+ "@baseplate-dev/tools": "0.1.1"
63
+ },
64
+ "engines": {
65
+ "node": "^22.0.0"
66
+ },
67
+ "volta": {
68
+ "extends": "../../package.json"
69
+ },
70
+ "publishConfig": {
71
+ "access": "public",
72
+ "provenance": true
73
+ },
74
+ "scripts": {
75
+ "build": "tsc -p tsconfig.build.json",
76
+ "clean": "rm -rf ./dist",
77
+ "lint": "eslint .",
78
+ "prettier:check": "prettier --check .",
79
+ "prettier:write": "prettier -w .",
80
+ "test": "vitest",
81
+ "typecheck": "tsc --noEmit",
82
+ "watch": "tsc -p tsconfig.build.json --preserveWatchOutput -w"
83
+ }
84
+ }