@baseplate-dev/project-builder-server 0.1.3 → 0.2.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.
- package/dist/api/index.d.ts +1 -0
- package/dist/api/index.d.ts.map +1 -1
- package/dist/api/sync.d.ts +1 -0
- package/dist/api/sync.d.ts.map +1 -1
- package/dist/compiler/admin/crud/index.d.ts +1 -1
- package/dist/compiler/admin/crud/index.d.ts.map +1 -1
- package/dist/compiler/admin/crud/index.js.map +1 -1
- package/dist/compiler/admin/crud/inputs.d.ts +1 -1
- package/dist/compiler/admin/crud/inputs.d.ts.map +1 -1
- package/dist/compiler/admin/crud/inputs.js.map +1 -1
- package/dist/compiler/admin/index.d.ts.map +1 -1
- package/dist/compiler/admin/index.js +1 -3
- package/dist/compiler/admin/index.js.map +1 -1
- package/dist/index.d.ts +0 -1
- package/dist/index.js +0 -1
- package/dist/index.js.map +1 -1
- package/dist/server/builder-service-manager.d.ts +8 -0
- package/dist/server/builder-service-manager.d.ts.map +1 -1
- package/dist/server/builder-service-manager.js +1 -0
- package/dist/server/builder-service-manager.js.map +1 -1
- package/dist/server/index.d.ts.map +1 -1
- package/dist/server/index.js +8 -2
- package/dist/server/index.js.map +1 -1
- package/dist/server/plugin.d.ts.map +1 -1
- package/dist/server/plugin.js.map +1 -1
- package/dist/service/builder-service.d.ts +3 -1
- package/dist/service/builder-service.d.ts.map +1 -1
- package/dist/service/builder-service.js +4 -1
- package/dist/service/builder-service.js.map +1 -1
- package/dist/sync/build-project.d.ts +7 -2
- package/dist/sync/build-project.d.ts.map +1 -1
- package/dist/sync/build-project.js +8 -4
- package/dist/sync/build-project.js.map +1 -1
- package/dist/sync/file-id-map.d.ts +15 -0
- package/dist/sync/file-id-map.d.ts.map +1 -0
- package/dist/sync/file-id-map.js +36 -0
- package/dist/sync/file-id-map.js.map +1 -0
- package/dist/sync/generate-for-directory.d.ts.map +1 -1
- package/dist/sync/generate-for-directory.js +6 -22
- package/dist/sync/generate-for-directory.js.map +1 -1
- package/dist/sync/sync-metadata-controller.d.ts +1 -1
- package/dist/sync/sync-metadata-controller.d.ts.map +1 -1
- package/dist/sync/sync-metadata-controller.js +1 -1
- package/dist/sync/sync-metadata-controller.js.map +1 -1
- package/dist/sync/sync-metadata.d.ts +3 -0
- package/dist/sync/sync-metadata.d.ts.map +1 -1
- package/dist/sync/sync-metadata.js +1 -0
- package/dist/sync/sync-metadata.js.map +1 -1
- package/dist/template-extractor/delete-template.d.ts +25 -0
- package/dist/template-extractor/delete-template.d.ts.map +1 -0
- package/dist/template-extractor/delete-template.js +36 -0
- package/dist/template-extractor/delete-template.js.map +1 -0
- package/dist/template-extractor/discover-generators.d.ts +19 -0
- package/dist/template-extractor/discover-generators.d.ts.map +1 -0
- package/dist/template-extractor/discover-generators.js +63 -0
- package/dist/template-extractor/discover-generators.js.map +1 -0
- package/dist/template-extractor/index.d.ts +2 -0
- package/dist/template-extractor/index.d.ts.map +1 -1
- package/dist/template-extractor/index.js +2 -0
- package/dist/template-extractor/index.js.map +1 -1
- package/dist/template-extractor/run-template-extractor.d.ts +3 -3
- package/dist/template-extractor/run-template-extractor.d.ts.map +1 -1
- package/dist/template-extractor/run-template-extractor.js +29 -52
- package/dist/template-extractor/run-template-extractor.js.map +1 -1
- package/package.json +18 -10
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { buildGeneratorEntry, CancelledSyncError, createCodebaseFileReaderFromDirectory, deleteMetadataFiles, executeGeneratorEntry, writeGeneratorOutput,
|
|
2
|
-
import {
|
|
3
|
-
import { dirExists
|
|
1
|
+
import { buildGeneratorEntry, CancelledSyncError, createCodebaseFileReaderFromDirectory, deleteMetadataFiles, executeGeneratorEntry, writeGeneratorOutput, writeTemplateMetadata, } from '@baseplate-dev/sync';
|
|
2
|
+
import { randomKey } from '@baseplate-dev/utils';
|
|
3
|
+
import { dirExists } from '@baseplate-dev/utils/node';
|
|
4
4
|
import chalk from 'chalk';
|
|
5
5
|
import { mkdir, rename, rm } from 'node:fs/promises';
|
|
6
6
|
import path from 'node:path';
|
|
7
|
-
import {
|
|
7
|
+
import { getPreviousGeneratedFileIdMap, writeGeneratedFileIdMap, } from './file-id-map.js';
|
|
8
8
|
import { writeGeneratorSteps } from './generator-steps-writer.js';
|
|
9
9
|
const defaultGeneratorOperations = {
|
|
10
10
|
buildGeneratorEntry,
|
|
@@ -13,26 +13,11 @@ const defaultGeneratorOperations = {
|
|
|
13
13
|
writeGeneratorOutput,
|
|
14
14
|
writeMetadata: async (project, output, projectDirectory) => {
|
|
15
15
|
await deleteMetadataFiles(projectDirectory);
|
|
16
|
-
await writeGeneratorsMetadata(project, projectDirectory);
|
|
17
16
|
await writeTemplateMetadata(output.files, projectDirectory);
|
|
18
17
|
},
|
|
19
18
|
writeGeneratorSteps,
|
|
20
19
|
};
|
|
21
20
|
const GENERATED_DIRECTORY = 'baseplate/generated';
|
|
22
|
-
const FILE_ID_MAP_PATH = 'baseplate/file-id-map.json';
|
|
23
|
-
async function getPreviousGeneratedFileIdMap(projectDirectory) {
|
|
24
|
-
const generatedFileIdMapPath = path.join(projectDirectory, FILE_ID_MAP_PATH);
|
|
25
|
-
try {
|
|
26
|
-
const fileIdMap = await readJsonWithSchema(generatedFileIdMapPath, z.record(z.string(), z.string())).catch(handleFileNotFoundError);
|
|
27
|
-
if (!fileIdMap) {
|
|
28
|
-
return new Map();
|
|
29
|
-
}
|
|
30
|
-
return new Map(Object.entries(fileIdMap));
|
|
31
|
-
}
|
|
32
|
-
catch (err) {
|
|
33
|
-
throw enhanceErrorWithContext(err, `Failed to get previous generated file id map (${generatedFileIdMapPath})`);
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
21
|
// TODO [>=0.2.0] Remove this once we've released a new major version.
|
|
37
22
|
async function migrateCleanDirectory(projectDirectory, logger) {
|
|
38
23
|
const oldDirectory = path.join(projectDirectory, 'baseplate/.clean');
|
|
@@ -110,8 +95,7 @@ export async function generateForDirectory({ baseDirectory, appEntry, logger, wr
|
|
|
110
95
|
}
|
|
111
96
|
await rename(generatedTemporaryDirectory, generatedDirectory);
|
|
112
97
|
// Write file ID map
|
|
113
|
-
|
|
114
|
-
await writeJson(path.join(projectDirectory, FILE_ID_MAP_PATH), fileIdMap);
|
|
98
|
+
await writeGeneratedFileIdMap(projectDirectory, fileIdToRelativePathMap);
|
|
115
99
|
// Write generator steps
|
|
116
100
|
if (userConfig.sync?.writeGeneratorStepsJson && output.metadata) {
|
|
117
101
|
await operations.writeGeneratorSteps(output.metadata, projectDirectory);
|
|
@@ -135,7 +119,7 @@ export async function generateForDirectory({ baseDirectory, appEntry, logger, wr
|
|
|
135
119
|
return {
|
|
136
120
|
filesWithConflicts,
|
|
137
121
|
failedCommands: failedCommands.map((c) => ({
|
|
138
|
-
id:
|
|
122
|
+
id: randomKey(),
|
|
139
123
|
command: c.command,
|
|
140
124
|
workingDir: c.workingDir,
|
|
141
125
|
output: c.output,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generate-for-directory.js","sourceRoot":"","sources":["../../src/sync/generate-for-directory.ts"],"names":[],"mappings":"AAUA,OAAO,EACL,mBAAmB,EACnB,kBAAkB,EAClB,qCAAqC,EACrC,mBAAmB,EACnB,qBAAqB,EACrB,oBAAoB,EACpB,
|
|
1
|
+
{"version":3,"file":"generate-for-directory.js","sourceRoot":"","sources":["../../src/sync/generate-for-directory.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { Logger } from '@baseplate-dev/sync';
|
|
2
2
|
import { TypedEventEmitter } from '@baseplate-dev/utils';
|
|
3
|
-
import {
|
|
3
|
+
import type { PackageSyncInfo, SyncMetadata } from './sync-metadata.js';
|
|
4
4
|
/**
|
|
5
5
|
* Controller for getting updates about the latest sync metadata.
|
|
6
6
|
* Uses throttling to coalesce multiple write calls into a single save.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sync-metadata-controller.d.ts","sourceRoot":"","sources":["../../src/sync/sync-metadata-controller.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAElD,OAAO,EAEL,iBAAiB,EAClB,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"sync-metadata-controller.d.ts","sourceRoot":"","sources":["../../src/sync/sync-metadata-controller.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAElD,OAAO,EAEL,iBAAiB,EAClB,MAAM,sBAAsB,CAAC;AAK9B,OAAO,KAAK,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AASxE;;;GAGG;AACH,qBAAa,sBAAuB,SAAQ,iBAAiB,CAAC;IAC5D,CAAC,uBAAuB,CAAC,EAAE,YAAY,CAAC;CACzC,CAAC;IAME,SAAS,CAAC,QAAQ,CAAC,gBAAgB,EAAE,MAAM;IAC3C,SAAS,CAAC,MAAM,EAAE,MAAM;IACxB,SAAS,CAAC,OAAO,EAAE;QAAE,iBAAiB,CAAC,EAAE,OAAO,CAAA;KAAE;IAPpD,SAAS,CAAC,YAAY,EAAE,YAAY,GAAG,SAAS,CAAC;IAEjD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAmC;gBAG7C,gBAAgB,EAAE,MAAM,EACjC,MAAM,EAAE,MAAM,EACd,OAAO,GAAE;QAAE,iBAAiB,CAAC,EAAE,OAAO,CAAA;KAAO;IAiBzD,OAAO,CAAC,eAAe;IAIjB,gBAAgB,IAAI,OAAO,CAAC,YAAY,CAAC;IAgB/C,aAAa,IAAI,MAAM,IAAI;IAyBrB,WAAW,IAAI,OAAO,CAAC,YAAY,CAAC;IAM1C,aAAa,CAAC,YAAY,EAAE,YAAY,GAAG,IAAI;IAKzC,wBAAwB,CAC5B,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,CAAC,QAAQ,EAAE,eAAe,KAAK,eAAe,GACrD,OAAO,CAAC,IAAI,CAAC;IAiBV,cAAc,CAClB,MAAM,EAAE,CAAC,QAAQ,EAAE,YAAY,KAAK,YAAY,GAC/C,OAAO,CAAC,IAAI,CAAC;CAKjB"}
|
|
@@ -3,7 +3,7 @@ import { watch } from 'chokidar';
|
|
|
3
3
|
import { isEqual, throttle } from 'es-toolkit';
|
|
4
4
|
import path from 'node:path';
|
|
5
5
|
import { readSyncMetadata, SYNC_METADATA_PATH, writeSyncMetadata, } from './sync-metadata-service.js';
|
|
6
|
-
import { INITIAL_SYNC_METADATA
|
|
6
|
+
import { INITIAL_SYNC_METADATA } from './sync-metadata.js';
|
|
7
7
|
/**
|
|
8
8
|
* Controller for getting updates about the latest sync metadata.
|
|
9
9
|
* Uses throttling to coalesce multiple write calls into a single save.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sync-metadata-controller.js","sourceRoot":"","sources":["../../src/sync/sync-metadata-controller.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,uBAAuB,EACvB,iBAAiB,GAClB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AACjC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,IAAI,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"sync-metadata-controller.js","sourceRoot":"","sources":["../../src/sync/sync-metadata-controller.ts"],"names":[],"mappings":"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"}
|
|
@@ -239,6 +239,7 @@ export declare const syncMetadataSchema: z.ZodObject<{
|
|
|
239
239
|
globalErrors: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
240
240
|
startedAt: z.ZodOptional<z.ZodString>;
|
|
241
241
|
completedAt: z.ZodOptional<z.ZodString>;
|
|
242
|
+
cliFilePath: z.ZodOptional<z.ZodString>;
|
|
242
243
|
packages: z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
243
244
|
name: z.ZodString;
|
|
244
245
|
path: z.ZodString;
|
|
@@ -406,6 +407,7 @@ export declare const syncMetadataSchema: z.ZodObject<{
|
|
|
406
407
|
completedAt?: string | undefined;
|
|
407
408
|
globalErrors?: string[] | undefined;
|
|
408
409
|
startedAt?: string | undefined;
|
|
410
|
+
cliFilePath?: string | undefined;
|
|
409
411
|
}, {
|
|
410
412
|
status: "in-progress" | "success" | "cancelled" | "not-started" | "error";
|
|
411
413
|
packages: Record<string, {
|
|
@@ -437,6 +439,7 @@ export declare const syncMetadataSchema: z.ZodObject<{
|
|
|
437
439
|
completedAt?: string | undefined;
|
|
438
440
|
globalErrors?: string[] | undefined;
|
|
439
441
|
startedAt?: string | undefined;
|
|
442
|
+
cliFilePath?: string | undefined;
|
|
440
443
|
}>;
|
|
441
444
|
export type SyncMetadata = z.output<typeof syncMetadataSchema>;
|
|
442
445
|
export declare const INITIAL_SYNC_METADATA: SyncMetadata;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sync-metadata.d.ts","sourceRoot":"","sources":["../../src/sync/sync-metadata.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,QAAA,MAAM,uBAAuB,iHAe3B,CAAC;AAEH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAExE,QAAA,MAAM,sBAAsB;;;;;;;;;;;;EAW1B,CAAC;AAEH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAEtE,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAsBlC,CAAC;AAEH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAExE,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAOhC,CAAC;AAEH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAEpE,eAAO,MAAM,gBAAgB,4EAW3B,CAAC;AAEH,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAE1D,eAAO,MAAM,kBAAkB
|
|
1
|
+
{"version":3,"file":"sync-metadata.d.ts","sourceRoot":"","sources":["../../src/sync/sync-metadata.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,QAAA,MAAM,uBAAuB,iHAe3B,CAAC;AAEH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAExE,QAAA,MAAM,sBAAsB;;;;;;;;;;;;EAW1B,CAAC;AAEH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAEtE,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAsBlC,CAAC;AAEH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAExE,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAOhC,CAAC;AAEH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAEpE,eAAO,MAAM,gBAAgB,4EAW3B,CAAC;AAEH,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAE1D,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAO7B,CAAC;AAEH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAE/D,eAAO,MAAM,qBAAqB,EAAE,YAGnC,CAAC"}
|
|
@@ -71,6 +71,7 @@ export const syncMetadataSchema = z.object({
|
|
|
71
71
|
globalErrors: z.array(z.string()).optional(),
|
|
72
72
|
startedAt: z.string().optional(),
|
|
73
73
|
completedAt: z.string().optional(),
|
|
74
|
+
cliFilePath: z.string().optional(),
|
|
74
75
|
packages: z.record(z.string(), packageSyncInfoSchema),
|
|
75
76
|
});
|
|
76
77
|
export const INITIAL_SYNC_METADATA = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sync-metadata.js","sourceRoot":"","sources":["../../src/sync/sync-metadata.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"sync-metadata.js","sourceRoot":"","sources":["../../src/sync/sync-metadata.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import type { PluginMetadataWithPaths } from '@baseplate-dev/project-builder-lib';
|
|
2
|
+
import type { Logger } from '@baseplate-dev/sync';
|
|
3
|
+
/**
|
|
4
|
+
* Options for the delete-template command
|
|
5
|
+
*/
|
|
6
|
+
interface DeleteTemplateOptions {
|
|
7
|
+
/**
|
|
8
|
+
* The default plugins to use
|
|
9
|
+
*/
|
|
10
|
+
defaultPlugins: PluginMetadataWithPaths[];
|
|
11
|
+
/**
|
|
12
|
+
* The directory to search for generators
|
|
13
|
+
*/
|
|
14
|
+
directory?: string;
|
|
15
|
+
/**
|
|
16
|
+
* The logger to use
|
|
17
|
+
*/
|
|
18
|
+
logger: Logger;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Deletes a template from a generator extractor.json file
|
|
22
|
+
*/
|
|
23
|
+
export declare function deleteTemplate(generatorName: string, templateName: string, options: DeleteTemplateOptions): Promise<void>;
|
|
24
|
+
export {};
|
|
25
|
+
//# sourceMappingURL=delete-template.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"delete-template.d.ts","sourceRoot":"","sources":["../../src/template-extractor/delete-template.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,oCAAoC,CAAC;AAClF,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAalD;;GAEG;AACH,UAAU,qBAAqB;IAC7B;;OAEG;IACH,cAAc,EAAE,uBAAuB,EAAE,CAAC;IAC1C;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,wBAAsB,cAAc,CAClC,aAAa,EAAE,MAAM,EACrB,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE,qBAAqB,GAC7B,OAAO,CAAC,IAAI,CAAC,CA0Df"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { extractorConfigSchema, parseGeneratorName } from '@baseplate-dev/sync';
|
|
2
|
+
import { stringifyPrettyCompact } from '@baseplate-dev/utils';
|
|
3
|
+
import { handleFileNotFoundError, readJsonWithSchema, } from '@baseplate-dev/utils/node';
|
|
4
|
+
import fs from 'node:fs/promises';
|
|
5
|
+
import path from 'node:path';
|
|
6
|
+
import { discoverGenerators } from './discover-generators.js';
|
|
7
|
+
/**
|
|
8
|
+
* Deletes a template from a generator extractor.json file
|
|
9
|
+
*/
|
|
10
|
+
export async function deleteTemplate(generatorName, templateName, options) {
|
|
11
|
+
const generators = await discoverGenerators(options.directory, options.defaultPlugins, options.logger);
|
|
12
|
+
// Pull the generator config
|
|
13
|
+
const generator = generators.find((g) => {
|
|
14
|
+
const parsedGeneratorName = parseGeneratorName(g.name);
|
|
15
|
+
return (g.name === generatorName ||
|
|
16
|
+
parsedGeneratorName.generatorPath === generatorName);
|
|
17
|
+
});
|
|
18
|
+
if (!generator) {
|
|
19
|
+
throw new Error(`Generator '${generatorName}' not found`);
|
|
20
|
+
}
|
|
21
|
+
const extractorJsonPath = path.join(generator.generatorDirectory, 'extractor.json');
|
|
22
|
+
const templateExtractorJson = await readJsonWithSchema(extractorJsonPath, extractorConfigSchema);
|
|
23
|
+
const templatePath = Object.keys(templateExtractorJson.templates).find((templatePath) => generator.templates[templatePath].name === templateName);
|
|
24
|
+
if (!templatePath) {
|
|
25
|
+
throw new Error(`Template '${templateName}' not found in generator '${generatorName}'`);
|
|
26
|
+
}
|
|
27
|
+
const updatedTemplates = templateExtractorJson.templates;
|
|
28
|
+
// eslint-disable-next-line @typescript-eslint/no-dynamic-delete -- easiest way of deleting without reordering the keys
|
|
29
|
+
delete updatedTemplates[templatePath];
|
|
30
|
+
// Write the updated configuration back to the extractor.json file
|
|
31
|
+
await fs.writeFile(extractorJsonPath, stringifyPrettyCompact(templateExtractorJson), 'utf8');
|
|
32
|
+
// Clean up the actual template file if it exists
|
|
33
|
+
const templateFilePath = path.join(generator.generatorDirectory, 'templates', templatePath);
|
|
34
|
+
await fs.unlink(templateFilePath).catch(handleFileNotFoundError);
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=delete-template.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"delete-template.js","sourceRoot":"","sources":["../../src/template-extractor/delete-template.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAChF,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EACL,uBAAuB,EACvB,kBAAkB,GACnB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAClC,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAoB9D;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,aAAqB,EACrB,YAAoB,EACpB,OAA8B;IAE9B,MAAM,UAAU,GAAG,MAAM,kBAAkB,CACzC,OAAO,CAAC,SAAS,EACjB,OAAO,CAAC,cAAc,EACtB,OAAO,CAAC,MAAM,CACf,CAAC;IAEF,4BAA4B;IAC5B,MAAM,SAAS,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE;QACtC,MAAM,mBAAmB,GAAG,kBAAkB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACvD,OAAO,CACL,CAAC,CAAC,IAAI,KAAK,aAAa;YACxB,mBAAmB,CAAC,aAAa,KAAK,aAAa,CACpD,CAAC;IACJ,CAAC,CAAC,CAAC;IACH,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,cAAc,aAAa,aAAa,CAAC,CAAC;IAC5D,CAAC;IAED,MAAM,iBAAiB,GAAG,IAAI,CAAC,IAAI,CACjC,SAAS,CAAC,kBAAkB,EAC5B,gBAAgB,CACjB,CAAC;IAEF,MAAM,qBAAqB,GAAG,MAAM,kBAAkB,CACpD,iBAAiB,EACjB,qBAAqB,CACtB,CAAC;IAEF,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,qBAAqB,CAAC,SAAS,CAAC,CAAC,IAAI,CACpE,CAAC,YAAY,EAAE,EAAE,CAAC,SAAS,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,IAAI,KAAK,YAAY,CAC1E,CAAC;IAEF,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,MAAM,IAAI,KAAK,CACb,aAAa,YAAY,6BAA6B,aAAa,GAAG,CACvE,CAAC;IACJ,CAAC;IAED,MAAM,gBAAgB,GAAG,qBAAqB,CAAC,SAAS,CAAC;IACzD,uHAAuH;IACvH,OAAO,gBAAgB,CAAC,YAAY,CAAC,CAAC;IAEtC,kEAAkE;IAElE,MAAM,EAAE,CAAC,SAAS,CAChB,iBAAiB,EACjB,sBAAsB,CAAC,qBAAqB,CAAC,EAC7C,MAAM,CACP,CAAC;IAEF,iDAAiD;IACjD,MAAM,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAChC,SAAS,CAAC,kBAAkB,EAC5B,WAAW,EACX,YAAY,CACb,CAAC;IACF,MAAM,EAAE,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;AACnE,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { PluginMetadataWithPaths } from '@baseplate-dev/project-builder-lib';
|
|
2
|
+
import type { Logger, TemplateConfig } from '@baseplate-dev/sync';
|
|
3
|
+
export interface GeneratorInfo {
|
|
4
|
+
name: string;
|
|
5
|
+
packageName: string;
|
|
6
|
+
packagePath: string;
|
|
7
|
+
generatorDirectory: string;
|
|
8
|
+
templates: Record<string, TemplateConfig>;
|
|
9
|
+
templateCount: number;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Build a map of generator package names to their file system paths
|
|
13
|
+
*/
|
|
14
|
+
export declare function buildGeneratorPackageMap(availablePlugins: PluginMetadataWithPaths[]): Promise<Map<string, string>>;
|
|
15
|
+
/**
|
|
16
|
+
* Discover all available generators with extractor.json files
|
|
17
|
+
*/
|
|
18
|
+
export declare function discoverGenerators(directory: string | undefined, defaultPlugins: PluginMetadataWithPaths[], logger: Logger): Promise<GeneratorInfo[]>;
|
|
19
|
+
//# sourceMappingURL=discover-generators.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"discover-generators.d.ts","sourceRoot":"","sources":["../../src/template-extractor/discover-generators.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,oCAAoC,CAAC;AAClF,OAAO,KAAK,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAelE,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IAC1C,aAAa,EAAE,MAAM,CAAC;CACvB;AAED;;GAEG;AACH,wBAAsB,wBAAwB,CAC5C,gBAAgB,EAAE,uBAAuB,EAAE,GAC1C,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CA8B9B;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CACtC,SAAS,oBAAM,EACf,cAAc,EAAE,uBAAuB,EAAE,EACzC,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,aAAa,EAAE,CAAC,CAyB1B"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { indexTemplateConfigs } from '@baseplate-dev/sync';
|
|
2
|
+
import { findNearestPackageJson } from '@baseplate-dev/utils/node';
|
|
3
|
+
import path from 'node:path';
|
|
4
|
+
import { fileURLToPath } from 'node:url';
|
|
5
|
+
import { discoverPlugins } from '#src/plugins/plugin-discovery.js';
|
|
6
|
+
const GENERATOR_PACKAGES = [
|
|
7
|
+
'@baseplate-dev/core-generators',
|
|
8
|
+
'@baseplate-dev/fastify-generators',
|
|
9
|
+
'@baseplate-dev/react-generators',
|
|
10
|
+
];
|
|
11
|
+
/**
|
|
12
|
+
* Build a map of generator package names to their file system paths
|
|
13
|
+
*/
|
|
14
|
+
export async function buildGeneratorPackageMap(availablePlugins) {
|
|
15
|
+
const generatorPackageMap = new Map();
|
|
16
|
+
for (const plugin of availablePlugins) {
|
|
17
|
+
const nearestPackageJsonPath = await findNearestPackageJson({
|
|
18
|
+
cwd: plugin.pluginDirectory,
|
|
19
|
+
stopAtNodeModules: true,
|
|
20
|
+
});
|
|
21
|
+
if (!nearestPackageJsonPath) {
|
|
22
|
+
throw new Error(`Could not find package.json for ${plugin.packageName}`);
|
|
23
|
+
}
|
|
24
|
+
generatorPackageMap.set(plugin.packageName, path.dirname(nearestPackageJsonPath));
|
|
25
|
+
}
|
|
26
|
+
// Attach built-in generator packages
|
|
27
|
+
for (const packageName of GENERATOR_PACKAGES) {
|
|
28
|
+
const nearestPackageJsonPath = await findNearestPackageJson({
|
|
29
|
+
cwd: path.dirname(fileURLToPath(import.meta.resolve(packageName))),
|
|
30
|
+
stopAtNodeModules: true,
|
|
31
|
+
});
|
|
32
|
+
if (!nearestPackageJsonPath) {
|
|
33
|
+
throw new Error(`Could not find package.json for ${packageName}`);
|
|
34
|
+
}
|
|
35
|
+
generatorPackageMap.set(packageName, path.dirname(nearestPackageJsonPath));
|
|
36
|
+
}
|
|
37
|
+
return generatorPackageMap;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Discover all available generators with extractor.json files
|
|
41
|
+
*/
|
|
42
|
+
export async function discoverGenerators(directory = '.', defaultPlugins, logger) {
|
|
43
|
+
const availablePlugins = await discoverPlugins(directory, logger);
|
|
44
|
+
const generatorPackageMap = await buildGeneratorPackageMap([
|
|
45
|
+
...defaultPlugins,
|
|
46
|
+
...availablePlugins,
|
|
47
|
+
]);
|
|
48
|
+
// Index all template configs using the unified utility
|
|
49
|
+
const { extractorEntries } = await indexTemplateConfigs(generatorPackageMap);
|
|
50
|
+
// Convert to GeneratorInfo format
|
|
51
|
+
const generators = extractorEntries.map((entry) => ({
|
|
52
|
+
name: entry.generatorName,
|
|
53
|
+
packageName: entry.packageName,
|
|
54
|
+
packagePath: entry.packagePath,
|
|
55
|
+
generatorDirectory: entry.generatorDirectory,
|
|
56
|
+
templates: entry.config.templates,
|
|
57
|
+
templateCount: Object.keys(entry.config.templates).length,
|
|
58
|
+
}));
|
|
59
|
+
// Sort generators by name for consistent output
|
|
60
|
+
generators.sort((a, b) => a.name.localeCompare(b.name));
|
|
61
|
+
return generators;
|
|
62
|
+
}
|
|
63
|
+
//# sourceMappingURL=discover-generators.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"discover-generators.js","sourceRoot":"","sources":["../../src/template-extractor/discover-generators.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/template-extractor/index.ts"],"names":[],"mappings":"AAAA,cAAc,6BAA6B,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/template-extractor/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AACrC,cAAc,0BAA0B,CAAC;AACzC,cAAc,6BAA6B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/template-extractor/index.ts"],"names":[],"mappings":"AAAA,cAAc,6BAA6B,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/template-extractor/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AACrC,cAAc,0BAA0B,CAAC;AACzC,cAAc,6BAA6B,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
import type { Logger } from '@baseplate-dev/sync';
|
|
3
|
-
export declare function runTemplateExtractorsForProject(directory: string, app: string,
|
|
1
|
+
import type { PluginMetadataWithPaths } from '@baseplate-dev/project-builder-lib';
|
|
2
|
+
import type { Logger, RunTemplateFileExtractorsOptions } from '@baseplate-dev/sync';
|
|
3
|
+
export declare function runTemplateExtractorsForProject(directory: string, app: string, defaultPlugins: PluginMetadataWithPaths[], logger: Logger, options?: RunTemplateFileExtractorsOptions): Promise<void>;
|
|
4
4
|
//# sourceMappingURL=run-template-extractor.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-template-extractor.d.ts","sourceRoot":"","sources":["../../src/template-extractor/run-template-extractor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"run-template-extractor.d.ts","sourceRoot":"","sources":["../../src/template-extractor/run-template-extractor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,oCAAoC,CAAC;AAClF,OAAO,KAAK,EACV,MAAM,EACN,gCAAgC,EACjC,MAAM,qBAAqB,CAAC;AAqB7B,wBAAsB,+BAA+B,CACnD,SAAS,EAAE,MAAM,EACjB,GAAG,EAAE,MAAM,EACX,cAAc,EAAE,uBAAuB,EAAE,EACzC,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,gCAAgC,GACzC,OAAO,CAAC,IAAI,CAAC,CA2Cf"}
|
|
@@ -1,60 +1,37 @@
|
|
|
1
|
-
import { TsTemplateFileExtractor } from '@baseplate-dev/core-generators';
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import
|
|
6
|
-
import {
|
|
7
|
-
const
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
1
|
+
import { RawTemplateFileExtractor, TextTemplateFileExtractor, TsTemplateFileExtractor, } from '@baseplate-dev/core-generators/extractors';
|
|
2
|
+
import { runTemplateFileExtractors } from '@baseplate-dev/sync';
|
|
3
|
+
import { discoverPlugins } from '#src/plugins/plugin-discovery.js';
|
|
4
|
+
import { getPreviousGeneratedFileIdMap } from '#src/sync/file-id-map.js';
|
|
5
|
+
import { readSyncMetadata } from '#src/sync/sync-metadata-service.js';
|
|
6
|
+
import { buildGeneratorPackageMap } from './discover-generators.js';
|
|
7
|
+
const TEMPLATE_EXTRACTORS = [
|
|
8
|
+
RawTemplateFileExtractor,
|
|
9
|
+
TextTemplateFileExtractor,
|
|
10
|
+
TsTemplateFileExtractor,
|
|
11
11
|
];
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
(
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
const generatorPackageMap = new Map();
|
|
19
|
-
for (const plugin of context.pluginStore.availablePlugins) {
|
|
20
|
-
const nearestPackageJsonPath = await findNearestPackageJson({
|
|
21
|
-
cwd: plugin.metadata.pluginDirectory,
|
|
22
|
-
stopAtNodeModules: true,
|
|
23
|
-
});
|
|
24
|
-
if (!nearestPackageJsonPath) {
|
|
25
|
-
throw new Error(`Could not find package.json for ${plugin.metadata.packageName}`);
|
|
26
|
-
}
|
|
27
|
-
generatorPackageMap.set(plugin.metadata.packageName, path.dirname(nearestPackageJsonPath));
|
|
28
|
-
}
|
|
29
|
-
// attach generator packages
|
|
30
|
-
for (const packageName of GENERATOR_PACKAGES) {
|
|
31
|
-
const nearestPackageJsonPath = await findNearestPackageJson({
|
|
32
|
-
cwd: path.dirname(fileURLToPath(import.meta.resolve(packageName))),
|
|
33
|
-
stopAtNodeModules: true,
|
|
34
|
-
});
|
|
35
|
-
if (!nearestPackageJsonPath) {
|
|
36
|
-
throw new Error(`Could not find package.json for ${packageName}`);
|
|
37
|
-
}
|
|
38
|
-
generatorPackageMap.set(packageName, path.dirname(nearestPackageJsonPath));
|
|
12
|
+
export async function runTemplateExtractorsForProject(directory, app, defaultPlugins, logger, options) {
|
|
13
|
+
const availablePlugins = await discoverPlugins(directory, logger);
|
|
14
|
+
const syncMetadata = await readSyncMetadata(directory);
|
|
15
|
+
if (syncMetadata.status === 'not-started' ||
|
|
16
|
+
Object.keys(syncMetadata.packages).length === 0) {
|
|
17
|
+
throw new Error(`No sync metadata found for ${directory}. Please run the sync command first.`);
|
|
39
18
|
}
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
const generatorInfoFiles = await globby(path.join(directory, '**', '.generator-info.json'), { onlyFiles: true, absolute: true });
|
|
45
|
-
const generatorPackageMap = await buildGeneratorPackageMap(context);
|
|
19
|
+
const generatorPackageMap = await buildGeneratorPackageMap([
|
|
20
|
+
...defaultPlugins,
|
|
21
|
+
...availablePlugins,
|
|
22
|
+
]);
|
|
46
23
|
logger.info(`Running template extractors for ${directory}${app ? ` for app ${app}` : ''}...`);
|
|
47
|
-
const appDirectories =
|
|
48
|
-
.
|
|
49
|
-
.
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
return true;
|
|
54
|
-
});
|
|
24
|
+
const appDirectories = Object.values(syncMetadata.packages)
|
|
25
|
+
.filter((packageInfo) => packageInfo.name.includes(app))
|
|
26
|
+
.map((packageInfo) => packageInfo.path);
|
|
27
|
+
if (appDirectories.length === 0) {
|
|
28
|
+
throw new Error(`No app directories found for ${app}`);
|
|
29
|
+
}
|
|
55
30
|
if (appDirectories.length > 1) {
|
|
56
31
|
throw new Error(`Found multiple app directories for ${app}: ${appDirectories.join(', ')}`);
|
|
57
32
|
}
|
|
58
|
-
await
|
|
33
|
+
const fileIdMap = await getPreviousGeneratedFileIdMap(appDirectories[0]);
|
|
34
|
+
await runTemplateFileExtractors(TEMPLATE_EXTRACTORS, appDirectories[0], generatorPackageMap, logger, fileIdMap, options);
|
|
35
|
+
logger.info('Template extraction complete!');
|
|
59
36
|
}
|
|
60
37
|
//# sourceMappingURL=run-template-extractor.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-template-extractor.js","sourceRoot":"","sources":["../../src/template-extractor/run-template-extractor.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"run-template-extractor.js","sourceRoot":"","sources":["../../src/template-extractor/run-template-extractor.ts"],"names":[],"mappings":"AAMA,OAAO,EACL,wBAAwB,EACxB,yBAAyB,EACzB,uBAAuB,GACxB,MAAM,2CAA2C,CAAC;AACnD,OAAO,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAC;AAEhE,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACnE,OAAO,EAAE,6BAA6B,EAAE,MAAM,0BAA0B,CAAC;AACzE,OAAO,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AAEtE,OAAO,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AAEpE,MAAM,mBAAmB,GAAG;IAC1B,wBAAwB;IACxB,yBAAyB;IACzB,uBAAuB;CACxB,CAAC;AAEF,MAAM,CAAC,KAAK,UAAU,+BAA+B,CACnD,SAAiB,EACjB,GAAW,EACX,cAAyC,EACzC,MAAc,EACd,OAA0C;IAE1C,MAAM,gBAAgB,GAAG,MAAM,eAAe,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IAClE,MAAM,YAAY,GAAG,MAAM,gBAAgB,CAAC,SAAS,CAAC,CAAC;IAEvD,IACE,YAAY,CAAC,MAAM,KAAK,aAAa;QACrC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,MAAM,KAAK,CAAC,EAC/C,CAAC;QACD,MAAM,IAAI,KAAK,CACb,8BAA8B,SAAS,sCAAsC,CAC9E,CAAC;IACJ,CAAC;IAED,MAAM,mBAAmB,GAAG,MAAM,wBAAwB,CAAC;QACzD,GAAG,cAAc;QACjB,GAAG,gBAAgB;KACpB,CAAC,CAAC;IACH,MAAM,CAAC,IAAI,CACT,mCAAmC,SAAS,GAC1C,GAAG,CAAC,CAAC,CAAC,YAAY,GAAG,EAAE,CAAC,CAAC,CAAC,EAC5B,KAAK,CACN,CAAC;IACF,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,QAAQ,CAAC;SACxD,MAAM,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;SACvD,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IAC1C,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAChC,MAAM,IAAI,KAAK,CAAC,gCAAgC,GAAG,EAAE,CAAC,CAAC;IACzD,CAAC;IACD,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9B,MAAM,IAAI,KAAK,CACb,sCAAsC,GAAG,KAAK,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAC1E,CAAC;IACJ,CAAC;IACD,MAAM,SAAS,GAAG,MAAM,6BAA6B,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;IACzE,MAAM,yBAAyB,CAC7B,mBAAmB,EACnB,cAAc,CAAC,CAAC,CAAC,EACjB,mBAAmB,EACnB,MAAM,EACN,SAAS,EACT,OAAO,CACR,CAAC;IACF,MAAM,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;AAC/C,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,14 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@baseplate-dev/project-builder-server",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.2.0",
|
|
4
4
|
"description": "Server for Project Builder using Baseplate generators",
|
|
5
|
+
"keywords": [
|
|
6
|
+
"backend",
|
|
7
|
+
"baseplate",
|
|
8
|
+
"full-stack",
|
|
9
|
+
"typescript",
|
|
10
|
+
"code-generation"
|
|
11
|
+
],
|
|
5
12
|
"homepage": "https://www.baseplate.dev",
|
|
6
13
|
"repository": {
|
|
7
14
|
"type": "git",
|
|
@@ -16,7 +23,9 @@
|
|
|
16
23
|
"#src/*": "./dist/*"
|
|
17
24
|
},
|
|
18
25
|
"exports": {
|
|
19
|
-
".": "./dist/index.js"
|
|
26
|
+
".": "./dist/index.js",
|
|
27
|
+
"./template-extractor": "./dist/template-extractor/index.js",
|
|
28
|
+
"./plugins": "./dist/plugins/index.js"
|
|
20
29
|
},
|
|
21
30
|
"main": "dist/index.js",
|
|
22
31
|
"files": [
|
|
@@ -40,19 +49,18 @@
|
|
|
40
49
|
"fastify": "5.3.2",
|
|
41
50
|
"fastify-plugin": "5.0.1",
|
|
42
51
|
"fastify-type-provider-zod": "4.0.1",
|
|
43
|
-
"globby": "^14.0.2",
|
|
44
52
|
"immer": "10.1.1",
|
|
45
53
|
"inflection": "3.0.0",
|
|
46
54
|
"mime": "^4.0.3",
|
|
47
55
|
"open": "10.1.0",
|
|
48
56
|
"pino": "9.5.0",
|
|
49
57
|
"zod": "3.24.1",
|
|
50
|
-
"@baseplate-dev/core-generators": "0.
|
|
51
|
-
"@baseplate-dev/fastify-generators": "0.
|
|
52
|
-
"@baseplate-dev/project-builder-lib": "0.
|
|
53
|
-
"@baseplate-dev/react-generators": "0.
|
|
54
|
-
"@baseplate-dev/sync": "0.
|
|
55
|
-
"@baseplate-dev/utils": "0.
|
|
58
|
+
"@baseplate-dev/core-generators": "0.2.0",
|
|
59
|
+
"@baseplate-dev/fastify-generators": "0.2.0",
|
|
60
|
+
"@baseplate-dev/project-builder-lib": "0.2.0",
|
|
61
|
+
"@baseplate-dev/react-generators": "0.2.0",
|
|
62
|
+
"@baseplate-dev/sync": "0.2.0",
|
|
63
|
+
"@baseplate-dev/utils": "0.2.0"
|
|
56
64
|
},
|
|
57
65
|
"devDependencies": {
|
|
58
66
|
"@types/node": "^22.0.0",
|
|
@@ -61,7 +69,7 @@
|
|
|
61
69
|
"prettier": "3.5.3",
|
|
62
70
|
"typescript": "5.7.3",
|
|
63
71
|
"vitest": "3.0.7",
|
|
64
|
-
"@baseplate-dev/tools": "0.
|
|
72
|
+
"@baseplate-dev/tools": "0.2.0"
|
|
65
73
|
},
|
|
66
74
|
"engines": {
|
|
67
75
|
"node": "^22.0.0"
|