@better-t-stack/template-generator 3.17.1 → 3.19.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.
@@ -1,8 +1,27 @@
1
- import { a as VirtualFileTree } from "./types-CSDwmt8U.mjs";
1
+ import { a as VirtualFileTree } from "./types-zSU486rU.mjs";
2
+ import * as better_result0 from "better-result";
3
+ import { Result } from "better-result";
2
4
 
3
5
  //#region src/fs-writer.d.ts
4
- declare function writeTreeToFilesystem(tree: VirtualFileTree, destDir: string): Promise<void>;
5
- declare function writeSelectedFiles(tree: VirtualFileTree, destDir: string, filter: (filePath: string) => boolean): Promise<string[]>;
6
+ declare const FileWriteError_base: better_result0.TaggedErrorClass<"FileWriteError", {
7
+ message: string;
8
+ path?: string;
9
+ cause?: unknown;
10
+ }>;
11
+ /**
12
+ * Error class for filesystem write failures
13
+ */
14
+ declare class FileWriteError extends FileWriteError_base {}
15
+ /**
16
+ * Writes a virtual file tree to the filesystem.
17
+ * Returns a Result type for type-safe error handling.
18
+ */
19
+ declare function writeTree(tree: VirtualFileTree, destDir: string): Promise<Result<void, FileWriteError>>;
20
+ /**
21
+ * Writes selected files from a virtual file tree to the filesystem.
22
+ * Returns a Result with the list of written file paths.
23
+ */
24
+ declare function writeSelected(tree: VirtualFileTree, destDir: string, filter: (filePath: string) => boolean): Promise<Result<string[], FileWriteError>>;
6
25
  //#endregion
7
- export { writeSelectedFiles, writeTreeToFilesystem };
26
+ export { FileWriteError, writeSelected, writeTree };
8
27
  //# sourceMappingURL=fs-writer.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"fs-writer.d.mts","names":[],"sources":["../src/fs-writer.ts"],"sourcesContent":[],"mappings":";;;iBASsB,qBAAA,OAA4B,mCAAmC;iBA2B/D,kBAAA,OACd,0EAGL"}
1
+ {"version":3,"file":"fs-writer.d.mts","names":[],"sources":["../src/fs-writer.ts"],"sourcesContent":[],"mappings":";;;;;cAI2F,qBAAA,cAAA,CAAA;;;EAAA,KAAA,CAAA,EAAA,OAAA;AAS3F,CAAA,CAAA;AAUA;;;AAGW,cAbE,cAAA,SAAuB,mBAAA,CAazB;;AA8CX;;;AAIW,iBArDW,SAAA,CAqDX,IAAA,EApDH,eAoDG,EAAA,OAAA,EAAA,MAAA,CAAA,EAlDR,OAkDQ,CAlDA,MAkDA,CAAA,IAAA,EAlDa,cAkDb,CAAA,CAAA;;;;;iBAJW,aAAA,OACd,0EAGL,QAAQ,iBAAiB"}
@@ -1,13 +1,33 @@
1
1
  import { t as getBinaryTemplatesRoot } from "./template-reader-DOXCnctl.mjs";
2
+ import { Result, TaggedError } from "better-result";
2
3
  import { dirname, join } from "pathe";
3
4
  import * as fs from "node:fs/promises";
4
5
 
5
6
  //#region src/fs-writer.ts
6
7
  const BINARY_FILE_MARKER = "[Binary file]";
7
- async function writeTreeToFilesystem(tree, destDir) {
8
- for (const child of tree.root.children) await writeNode(child, destDir, "");
8
+ /**
9
+ * Error class for filesystem write failures
10
+ */
11
+ var FileWriteError = class extends TaggedError("FileWriteError")() {};
12
+ /**
13
+ * Writes a virtual file tree to the filesystem.
14
+ * Returns a Result type for type-safe error handling.
15
+ */
16
+ async function writeTree(tree, destDir) {
17
+ return Result.tryPromise({
18
+ try: async () => {
19
+ for (const child of tree.root.children) await writeNodeInternal(child, destDir, "");
20
+ },
21
+ catch: (e) => {
22
+ if (FileWriteError.is(e)) return e;
23
+ return new FileWriteError({
24
+ message: e instanceof Error ? e.message : String(e),
25
+ cause: e
26
+ });
27
+ }
28
+ });
9
29
  }
10
- async function writeNode(node, baseDir, relativePath) {
30
+ async function writeNodeInternal(node, baseDir, relativePath) {
11
31
  const fullPath = join(baseDir, relativePath, node.name);
12
32
  const nodePath = relativePath ? join(relativePath, node.name) : node.name;
13
33
  if (node.type === "file") {
@@ -17,15 +37,30 @@ async function writeNode(node, baseDir, relativePath) {
17
37
  else if (fileNode.content !== BINARY_FILE_MARKER) await fs.writeFile(fullPath, fileNode.content, "utf-8");
18
38
  } else {
19
39
  await fs.mkdir(fullPath, { recursive: true });
20
- for (const child of node.children) await writeNode(child, baseDir, nodePath);
40
+ for (const child of node.children) await writeNodeInternal(child, baseDir, nodePath);
21
41
  }
22
42
  }
23
- async function writeSelectedFiles(tree, destDir, filter) {
24
- const writtenFiles = [];
25
- await writeSelectedNode(tree.root, destDir, "", filter, writtenFiles);
26
- return writtenFiles;
43
+ /**
44
+ * Writes selected files from a virtual file tree to the filesystem.
45
+ * Returns a Result with the list of written file paths.
46
+ */
47
+ async function writeSelected(tree, destDir, filter) {
48
+ return Result.tryPromise({
49
+ try: async () => {
50
+ const writtenFiles = [];
51
+ await writeSelectedNodeInternal(tree.root, destDir, "", filter, writtenFiles);
52
+ return writtenFiles;
53
+ },
54
+ catch: (e) => {
55
+ if (FileWriteError.is(e)) return e;
56
+ return new FileWriteError({
57
+ message: e instanceof Error ? e.message : String(e),
58
+ cause: e
59
+ });
60
+ }
61
+ });
27
62
  }
28
- async function writeSelectedNode(node, baseDir, relativePath, filter, writtenFiles) {
63
+ async function writeSelectedNodeInternal(node, baseDir, relativePath, filter, writtenFiles) {
29
64
  const nodePath = relativePath ? `${relativePath}/${node.name}` : node.name;
30
65
  if (node.type === "file") {
31
66
  if (filter(nodePath)) {
@@ -35,17 +70,13 @@ async function writeSelectedNode(node, baseDir, relativePath, filter, writtenFil
35
70
  else if (fileNode.content !== BINARY_FILE_MARKER) await fs.writeFile(join(baseDir, nodePath), fileNode.content, "utf-8");
36
71
  writtenFiles.push(nodePath);
37
72
  }
38
- } else for (const child of node.children) await writeSelectedNode(child, baseDir, nodePath, filter, writtenFiles);
73
+ } else for (const child of node.children) await writeSelectedNodeInternal(child, baseDir, nodePath, filter, writtenFiles);
39
74
  }
40
75
  async function copyBinaryFile(templatePath, destPath) {
41
76
  const sourcePath = join(getBinaryTemplatesRoot(), templatePath);
42
- try {
43
- await fs.copyFile(sourcePath, destPath);
44
- } catch (error) {
45
- console.warn(`Failed to copy binary file: ${templatePath}`, error);
46
- }
77
+ await fs.copyFile(sourcePath, destPath);
47
78
  }
48
79
 
49
80
  //#endregion
50
- export { writeSelectedFiles, writeTreeToFilesystem };
81
+ export { FileWriteError, writeSelected, writeTree };
51
82
  //# sourceMappingURL=fs-writer.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"fs-writer.mjs","names":["writtenFiles: string[]"],"sources":["../src/fs-writer.ts"],"sourcesContent":["import * as fs from \"node:fs/promises\";\nimport { join, dirname } from \"pathe\";\n\nimport type { VirtualFileTree, VirtualNode, VirtualFile, VirtualDirectory } from \"./types\";\n\nimport { getBinaryTemplatesRoot } from \"./core/template-reader\";\n\nconst BINARY_FILE_MARKER = \"[Binary file]\";\n\nexport async function writeTreeToFilesystem(tree: VirtualFileTree, destDir: string): Promise<void> {\n for (const child of tree.root.children) {\n await writeNode(child, destDir, \"\");\n }\n}\n\nasync function writeNode(node: VirtualNode, baseDir: string, relativePath: string): Promise<void> {\n const fullPath = join(baseDir, relativePath, node.name);\n const nodePath = relativePath ? join(relativePath, node.name) : node.name;\n\n if (node.type === \"file\") {\n const fileNode = node as VirtualFile;\n await fs.mkdir(dirname(fullPath), { recursive: true });\n\n if (fileNode.content === BINARY_FILE_MARKER && fileNode.sourcePath) {\n await copyBinaryFile(fileNode.sourcePath, fullPath);\n } else if (fileNode.content !== BINARY_FILE_MARKER) {\n await fs.writeFile(fullPath, fileNode.content, \"utf-8\");\n }\n } else {\n await fs.mkdir(fullPath, { recursive: true });\n for (const child of (node as VirtualDirectory).children) {\n await writeNode(child, baseDir, nodePath);\n }\n }\n}\n\nexport async function writeSelectedFiles(\n tree: VirtualFileTree,\n destDir: string,\n filter: (filePath: string) => boolean,\n): Promise<string[]> {\n const writtenFiles: string[] = [];\n await writeSelectedNode(tree.root, destDir, \"\", filter, writtenFiles);\n return writtenFiles;\n}\n\nasync function writeSelectedNode(\n node: VirtualNode,\n baseDir: string,\n relativePath: string,\n filter: (filePath: string) => boolean,\n writtenFiles: string[],\n): Promise<void> {\n const nodePath = relativePath ? `${relativePath}/${node.name}` : node.name;\n\n if (node.type === \"file\") {\n if (filter(nodePath)) {\n const fileNode = node as VirtualFile;\n await fs.mkdir(dirname(join(baseDir, nodePath)), { recursive: true });\n\n if (fileNode.content === BINARY_FILE_MARKER && fileNode.sourcePath) {\n await copyBinaryFile(fileNode.sourcePath, join(baseDir, nodePath));\n } else if (fileNode.content !== BINARY_FILE_MARKER) {\n await fs.writeFile(join(baseDir, nodePath), fileNode.content, \"utf-8\");\n }\n writtenFiles.push(nodePath);\n }\n } else {\n for (const child of (node as VirtualDirectory).children) {\n await writeSelectedNode(child, baseDir, nodePath, filter, writtenFiles);\n }\n }\n}\n\nasync function copyBinaryFile(templatePath: string, destPath: string): Promise<void> {\n const templatesRoot = getBinaryTemplatesRoot();\n const sourcePath = join(templatesRoot, templatePath);\n\n try {\n await fs.copyFile(sourcePath, destPath);\n } catch (error) {\n console.warn(`Failed to copy binary file: ${templatePath}`, error);\n }\n}\n"],"mappings":";;;;;AAOA,MAAM,qBAAqB;AAE3B,eAAsB,sBAAsB,MAAuB,SAAgC;AACjG,MAAK,MAAM,SAAS,KAAK,KAAK,SAC5B,OAAM,UAAU,OAAO,SAAS,GAAG;;AAIvC,eAAe,UAAU,MAAmB,SAAiB,cAAqC;CAChG,MAAM,WAAW,KAAK,SAAS,cAAc,KAAK,KAAK;CACvD,MAAM,WAAW,eAAe,KAAK,cAAc,KAAK,KAAK,GAAG,KAAK;AAErE,KAAI,KAAK,SAAS,QAAQ;EACxB,MAAM,WAAW;AACjB,QAAM,GAAG,MAAM,QAAQ,SAAS,EAAE,EAAE,WAAW,MAAM,CAAC;AAEtD,MAAI,SAAS,YAAY,sBAAsB,SAAS,WACtD,OAAM,eAAe,SAAS,YAAY,SAAS;WAC1C,SAAS,YAAY,mBAC9B,OAAM,GAAG,UAAU,UAAU,SAAS,SAAS,QAAQ;QAEpD;AACL,QAAM,GAAG,MAAM,UAAU,EAAE,WAAW,MAAM,CAAC;AAC7C,OAAK,MAAM,SAAU,KAA0B,SAC7C,OAAM,UAAU,OAAO,SAAS,SAAS;;;AAK/C,eAAsB,mBACpB,MACA,SACA,QACmB;CACnB,MAAMA,eAAyB,EAAE;AACjC,OAAM,kBAAkB,KAAK,MAAM,SAAS,IAAI,QAAQ,aAAa;AACrE,QAAO;;AAGT,eAAe,kBACb,MACA,SACA,cACA,QACA,cACe;CACf,MAAM,WAAW,eAAe,GAAG,aAAa,GAAG,KAAK,SAAS,KAAK;AAEtE,KAAI,KAAK,SAAS,QAChB;MAAI,OAAO,SAAS,EAAE;GACpB,MAAM,WAAW;AACjB,SAAM,GAAG,MAAM,QAAQ,KAAK,SAAS,SAAS,CAAC,EAAE,EAAE,WAAW,MAAM,CAAC;AAErE,OAAI,SAAS,YAAY,sBAAsB,SAAS,WACtD,OAAM,eAAe,SAAS,YAAY,KAAK,SAAS,SAAS,CAAC;YACzD,SAAS,YAAY,mBAC9B,OAAM,GAAG,UAAU,KAAK,SAAS,SAAS,EAAE,SAAS,SAAS,QAAQ;AAExE,gBAAa,KAAK,SAAS;;OAG7B,MAAK,MAAM,SAAU,KAA0B,SAC7C,OAAM,kBAAkB,OAAO,SAAS,UAAU,QAAQ,aAAa;;AAK7E,eAAe,eAAe,cAAsB,UAAiC;CAEnF,MAAM,aAAa,KADG,wBAAwB,EACP,aAAa;AAEpD,KAAI;AACF,QAAM,GAAG,SAAS,YAAY,SAAS;UAChC,OAAO;AACd,UAAQ,KAAK,+BAA+B,gBAAgB,MAAM"}
1
+ {"version":3,"file":"fs-writer.mjs","names":["writtenFiles: string[]"],"sources":["../src/fs-writer.ts"],"sourcesContent":["import { Result, TaggedError } from \"better-result\";\nimport * as fs from \"node:fs/promises\";\nimport { join, dirname } from \"pathe\";\n\nimport type { VirtualFileTree, VirtualNode, VirtualFile, VirtualDirectory } from \"./types\";\n\nimport { getBinaryTemplatesRoot } from \"./core/template-reader\";\n\nconst BINARY_FILE_MARKER = \"[Binary file]\";\n\n/**\n * Error class for filesystem write failures\n */\nexport class FileWriteError extends TaggedError(\"FileWriteError\")<{\n message: string;\n path?: string;\n cause?: unknown;\n}>() {}\n\n/**\n * Writes a virtual file tree to the filesystem.\n * Returns a Result type for type-safe error handling.\n */\nexport async function writeTree(\n tree: VirtualFileTree,\n destDir: string,\n): Promise<Result<void, FileWriteError>> {\n return Result.tryPromise({\n try: async () => {\n for (const child of tree.root.children) {\n await writeNodeInternal(child, destDir, \"\");\n }\n },\n catch: (e) => {\n if (FileWriteError.is(e)) return e;\n return new FileWriteError({\n message: e instanceof Error ? e.message : String(e),\n cause: e,\n });\n },\n });\n}\n\nasync function writeNodeInternal(\n node: VirtualNode,\n baseDir: string,\n relativePath: string,\n): Promise<void> {\n const fullPath = join(baseDir, relativePath, node.name);\n const nodePath = relativePath ? join(relativePath, node.name) : node.name;\n\n if (node.type === \"file\") {\n const fileNode = node as VirtualFile;\n await fs.mkdir(dirname(fullPath), { recursive: true });\n\n if (fileNode.content === BINARY_FILE_MARKER && fileNode.sourcePath) {\n await copyBinaryFile(fileNode.sourcePath, fullPath);\n } else if (fileNode.content !== BINARY_FILE_MARKER) {\n await fs.writeFile(fullPath, fileNode.content, \"utf-8\");\n }\n } else {\n await fs.mkdir(fullPath, { recursive: true });\n for (const child of (node as VirtualDirectory).children) {\n await writeNodeInternal(child, baseDir, nodePath);\n }\n }\n}\n\n/**\n * Writes selected files from a virtual file tree to the filesystem.\n * Returns a Result with the list of written file paths.\n */\nexport async function writeSelected(\n tree: VirtualFileTree,\n destDir: string,\n filter: (filePath: string) => boolean,\n): Promise<Result<string[], FileWriteError>> {\n return Result.tryPromise({\n try: async () => {\n const writtenFiles: string[] = [];\n await writeSelectedNodeInternal(tree.root, destDir, \"\", filter, writtenFiles);\n return writtenFiles;\n },\n catch: (e) => {\n if (FileWriteError.is(e)) return e;\n return new FileWriteError({\n message: e instanceof Error ? e.message : String(e),\n cause: e,\n });\n },\n });\n}\n\nasync function writeSelectedNodeInternal(\n node: VirtualNode,\n baseDir: string,\n relativePath: string,\n filter: (filePath: string) => boolean,\n writtenFiles: string[],\n): Promise<void> {\n const nodePath = relativePath ? `${relativePath}/${node.name}` : node.name;\n\n if (node.type === \"file\") {\n if (filter(nodePath)) {\n const fileNode = node as VirtualFile;\n await fs.mkdir(dirname(join(baseDir, nodePath)), { recursive: true });\n\n if (fileNode.content === BINARY_FILE_MARKER && fileNode.sourcePath) {\n await copyBinaryFile(fileNode.sourcePath, join(baseDir, nodePath));\n } else if (fileNode.content !== BINARY_FILE_MARKER) {\n await fs.writeFile(join(baseDir, nodePath), fileNode.content, \"utf-8\");\n }\n writtenFiles.push(nodePath);\n }\n } else {\n for (const child of (node as VirtualDirectory).children) {\n await writeSelectedNodeInternal(child, baseDir, nodePath, filter, writtenFiles);\n }\n }\n}\n\nasync function copyBinaryFile(templatePath: string, destPath: string): Promise<void> {\n const templatesRoot = getBinaryTemplatesRoot();\n const sourcePath = join(templatesRoot, templatePath);\n // Let errors propagate - they'll be caught by the Result wrapper\n await fs.copyFile(sourcePath, destPath);\n}\n"],"mappings":";;;;;;AAQA,MAAM,qBAAqB;;;;AAK3B,IAAa,iBAAb,cAAoC,YAAY,iBAAiB,EAI7D,CAAC;;;;;AAML,eAAsB,UACpB,MACA,SACuC;AACvC,QAAO,OAAO,WAAW;EACvB,KAAK,YAAY;AACf,QAAK,MAAM,SAAS,KAAK,KAAK,SAC5B,OAAM,kBAAkB,OAAO,SAAS,GAAG;;EAG/C,QAAQ,MAAM;AACZ,OAAI,eAAe,GAAG,EAAE,CAAE,QAAO;AACjC,UAAO,IAAI,eAAe;IACxB,SAAS,aAAa,QAAQ,EAAE,UAAU,OAAO,EAAE;IACnD,OAAO;IACR,CAAC;;EAEL,CAAC;;AAGJ,eAAe,kBACb,MACA,SACA,cACe;CACf,MAAM,WAAW,KAAK,SAAS,cAAc,KAAK,KAAK;CACvD,MAAM,WAAW,eAAe,KAAK,cAAc,KAAK,KAAK,GAAG,KAAK;AAErE,KAAI,KAAK,SAAS,QAAQ;EACxB,MAAM,WAAW;AACjB,QAAM,GAAG,MAAM,QAAQ,SAAS,EAAE,EAAE,WAAW,MAAM,CAAC;AAEtD,MAAI,SAAS,YAAY,sBAAsB,SAAS,WACtD,OAAM,eAAe,SAAS,YAAY,SAAS;WAC1C,SAAS,YAAY,mBAC9B,OAAM,GAAG,UAAU,UAAU,SAAS,SAAS,QAAQ;QAEpD;AACL,QAAM,GAAG,MAAM,UAAU,EAAE,WAAW,MAAM,CAAC;AAC7C,OAAK,MAAM,SAAU,KAA0B,SAC7C,OAAM,kBAAkB,OAAO,SAAS,SAAS;;;;;;;AASvD,eAAsB,cACpB,MACA,SACA,QAC2C;AAC3C,QAAO,OAAO,WAAW;EACvB,KAAK,YAAY;GACf,MAAMA,eAAyB,EAAE;AACjC,SAAM,0BAA0B,KAAK,MAAM,SAAS,IAAI,QAAQ,aAAa;AAC7E,UAAO;;EAET,QAAQ,MAAM;AACZ,OAAI,eAAe,GAAG,EAAE,CAAE,QAAO;AACjC,UAAO,IAAI,eAAe;IACxB,SAAS,aAAa,QAAQ,EAAE,UAAU,OAAO,EAAE;IACnD,OAAO;IACR,CAAC;;EAEL,CAAC;;AAGJ,eAAe,0BACb,MACA,SACA,cACA,QACA,cACe;CACf,MAAM,WAAW,eAAe,GAAG,aAAa,GAAG,KAAK,SAAS,KAAK;AAEtE,KAAI,KAAK,SAAS,QAChB;MAAI,OAAO,SAAS,EAAE;GACpB,MAAM,WAAW;AACjB,SAAM,GAAG,MAAM,QAAQ,KAAK,SAAS,SAAS,CAAC,EAAE,EAAE,WAAW,MAAM,CAAC;AAErE,OAAI,SAAS,YAAY,sBAAsB,SAAS,WACtD,OAAM,eAAe,SAAS,YAAY,KAAK,SAAS,SAAS,CAAC;YACzD,SAAS,YAAY,mBAC9B,OAAM,GAAG,UAAU,KAAK,SAAS,SAAS,EAAE,SAAS,SAAS,QAAQ;AAExE,gBAAa,KAAK,SAAS;;OAG7B,MAAK,MAAM,SAAU,KAA0B,SAC7C,OAAM,0BAA0B,OAAO,SAAS,UAAU,QAAQ,aAAa;;AAKrF,eAAe,eAAe,cAAsB,UAAiC;CAEnF,MAAM,aAAa,KADG,wBAAwB,EACP,aAAa;AAEpD,OAAM,GAAG,SAAS,YAAY,SAAS"}
package/dist/index.d.mts CHANGED
@@ -1,4 +1,5 @@
1
- import { a as VirtualFileTree, i as VirtualFile, n as GeneratorResult, o as VirtualNode, r as VirtualDirectory, t as GeneratorOptions } from "./types-CSDwmt8U.mjs";
1
+ import { a as VirtualFileTree, i as VirtualFile, n as GeneratorOptions, o as VirtualNode, r as VirtualDirectory, t as GeneratorError } from "./types-zSU486rU.mjs";
2
+ import { Result } from "better-result";
2
3
  import * as memfs0 from "memfs";
3
4
  import Handlebars from "handlebars";
4
5
  import { ProjectConfig } from "@better-t-stack/types";
@@ -42,8 +43,34 @@ declare function processFileContent(filePath: string, content: string, context:
42
43
  //#region src/template-handlers/utils.d.ts
43
44
  type TemplateData = Map<string, string>;
44
45
  //#endregion
46
+ //#region src/template-handlers/addons.d.ts
47
+ declare function processAddonTemplates(vfs: VirtualFileSystem, templates: TemplateData, config: ProjectConfig): Promise<void>;
48
+ //#endregion
45
49
  //#region src/generator.d.ts
46
- declare function generateVirtualProject(options: GeneratorOptions): Promise<GeneratorResult>;
50
+ /**
51
+ * Generates a virtual project file tree from templates and configuration.
52
+ * Returns a Result type for type-safe error handling.
53
+ *
54
+ * @example
55
+ * ```typescript
56
+ * const result = await generate(options);
57
+ * result.match({
58
+ * ok: (tree) => console.log(`Generated ${tree.fileCount} files`),
59
+ * err: (error) => console.error(`Failed: ${error.message}`),
60
+ * });
61
+ * ```
62
+ */
63
+ declare function generate(options: GeneratorOptions): Promise<Result<VirtualFileTree, GeneratorError>>;
64
+ //#endregion
65
+ //#region src/processors/addons-deps.d.ts
66
+ declare function processAddonsDeps(vfs: VirtualFileSystem, config: ProjectConfig): void;
67
+ //#endregion
68
+ //#region src/bts-config.d.ts
69
+ /**
70
+ * Writes the BTS configuration file to the VFS (for new project creation).
71
+ * This is browser-safe as it only writes to VFS, not the real filesystem.
72
+ */
73
+ declare function writeBtsConfigToVfs(vfs: VirtualFileSystem, projectConfig: ProjectConfig, version: string, reproducibleCommand?: string): void;
47
74
  //#endregion
48
75
  //#region src/templates.generated.d.ts
49
76
  declare const EMBEDDED_TEMPLATES: Map<string, string>;
@@ -83,8 +110,8 @@ declare const dependencyVersionMap: {
83
110
  readonly "@vite-pwa/assets-generator": "^1.0.0";
84
111
  readonly "@tauri-apps/cli": "^2.4.0";
85
112
  readonly "@biomejs/biome": "^2.2.0";
86
- readonly oxlint: "^1.34.0";
87
- readonly oxfmt: "^0.19.0";
113
+ readonly oxlint: "^1.41.0";
114
+ readonly oxfmt: "^0.26.0";
88
115
  readonly husky: "^9.1.7";
89
116
  readonly lefthook: "^2.0.13";
90
117
  readonly "lint-staged": "^16.1.2";
@@ -159,5 +186,8 @@ declare const dependencyVersionMap: {
159
186
  };
160
187
  type AvailableDependencies = keyof typeof dependencyVersionMap;
161
188
  //#endregion
162
- export { type AvailableDependencies, EMBEDDED_TEMPLATES, GeneratorOptions, GeneratorResult, Handlebars, TEMPLATE_COUNT, type TemplateData, VirtualDirectory, VirtualFile, VirtualFileSystem, VirtualFileTree, VirtualNode, dependencyVersionMap, generateVirtualProject, isBinaryFile, processFileContent, processTemplateString, transformFilename };
189
+ //#region src/utils/reproducible-command.d.ts
190
+ declare function generateReproducibleCommand(config: ProjectConfig): string;
191
+ //#endregion
192
+ export { type AvailableDependencies, EMBEDDED_TEMPLATES, GeneratorError, GeneratorOptions, Handlebars, TEMPLATE_COUNT, type TemplateData, VirtualDirectory, VirtualFile, VirtualFileSystem, VirtualFileTree, VirtualNode, dependencyVersionMap, generate, generateReproducibleCommand, isBinaryFile, processAddonTemplates, processAddonsDeps, processFileContent, processTemplateString, transformFilename, writeBtsConfigToVfs };
163
193
  //# sourceMappingURL=index.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.mts","names":[],"sources":["../src/core/virtual-fs.ts","../src/core/template-processor.ts","../src/template-handlers/utils.ts","../src/generator.ts","../src/templates.generated.ts","../src/utils/add-deps.ts"],"sourcesContent":[],"mappings":";;;;;;cAOa,iBAAA;;;;;EAAA,SAAA,CAAA,QAAA,EAAiB,MAAA,EAAA,OAAA,EAAA,MAAA,EAAA,UAAA,CAAA,EAAA,MAAA,CAAA,EAAA,IAAA;EA6Ea,QAAA,CAAA,QAAA,EAAA,MAAA,CAAA,EAAA,MAAA,GAAA,SAAA;EAkCX,MAAA,CAAA,IAAA,EAAA,MAAA,CAAA,EAAA,OAAA;EAAgB,UAcrC,CAAA,QAAA,EAAA,MAAA,CAAA,EAAA,OAAA;EAAA,eAGJ,CAAA,OAAA,EAAA,MAAA,CAAA,EAAA,OAAA;EAAA,KAAA,CAAA,OAAA,EAAA,MAAA,CAAA,EAAA,IAAA;;;2CAnDoC;ECzE3B,SAAA,CAAA,QAAA,EAAA,MAAqB,EAAA,IAAA,EAAA,OAA2B,EAAA,MAAa,CAAA,EAAA,MAAA,CAAA,EAAA,IAAA;EAI7D,WAAA,CAAA,CAAA,EAAY,MAAA,EAAA;EAIZ,iBAAA,CAAA,CAAA,EAAiB,MAAA,EAAA;EAUjB,YAAA,CAAA,CAAA,EAAA,MAAkB;;6BDyFF;;EEhHpB,SAAA,CAAA,CAAA,EFgHoC,MAAA,CAcrC,ME9HmB;WF8HnB,MAAA,CAGJ;;;EGxGe,QAAA,YAAA;EAAgC,QAAA,aAAA;;;;iBFpBtC,qBAAA,2BAAgD;iBAIhD,YAAA;iBAIA,iBAAA;iBAUA,kBAAA,6CAGL;;;KC1BC,YAAA,GAAe;;;iBCyBL,sBAAA,UAAgC,mBAAmB,QAAQ;;;cC5BpE,oBAAoB;cAs9xBpB,cAAA;;;cC58xBA;;ELNA,SAAA,aAAiB,EAAA,QAAA;EA6Ea,SAAA,mBAAA,EAAA,QAAA;EAkCX,SAAA,eAAA,EAAA,SAAA;EAAgB,SAcrC,oBAAA,EAAA,SAAA;EAAA,SAGJ,6BAAA,EAAA,SAAA;EAAA,SAAA,mBAAA,EAAA,UAAA;;;;EC5HS,SAAA,gBAAqB,EAAA,SAA2B;EAIhD,SAAA,MAAY,EAAA,QAAA;EAIZ,SAAA,0BAAiB,EAAA,QAAA;EAUjB,SAAA,EAAA,EAAA,SAAkB;;;;ECvBtB,SAAA,MAAY,EAAA,SAAA;;;;ECyBF,SAAA,sBAAsB,EAAA,QAAA;EAAU,SAAA,yBAAA,EAAA,QAAA;EAA2B,SAAA,wBAAA,EAAA,QAAA;EAAR,SAAA,gCAAA,EAAA,QAAA;EAAO,SAAA,oBAAA,EAAA,QAAA;;;;EC5BnE,SAAA,4BAAuB,EAAA,QAAA;EAs9xBvB,SAAA,iBAAc,EAAA,QAAA;;;;EC58xBd,SAAA,KAAA,EAAA,QA4IH;EAEE,SAAA,QAAA,EAAA,SAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAArB,qBAAA,gBAAqC"}
1
+ {"version":3,"file":"index.d.mts","names":[],"sources":["../src/core/virtual-fs.ts","../src/core/template-processor.ts","../src/template-handlers/utils.ts","../src/template-handlers/addons.ts","../src/generator.ts","../src/processors/addons-deps.ts","../src/bts-config.ts","../src/templates.generated.ts","../src/utils/add-deps.ts","../src/utils/reproducible-command.ts"],"sourcesContent":[],"mappings":";;;;;;;cAOa,iBAAA;;;;;;EAAA,QAAA,CAAA,QAAA,EAAA,MAAiB,CAAA,EAAA,MAAA,GAAA,SAAA;EA6Ea,MAAA,CAAA,IAAA,EAAA,MAAA,CAAA,EAAA,OAAA;EAkCX,UAAA,CAAA,QAAA,EAAA,MAAA,CAAA,EAAA,OAAA;EAAgB,eAcrC,CAAA,OAAA,EAAA,MAAA,CAAA,EAAA,OAAA;EAAA,KAGJ,CAAA,OAAA,EAAA,MAAA,CAAA,EAAA,IAAA;EAAA,UAAA,CAAA,QAAA,EAAA,MAAA,CAAA,EAAA,OAAA;;2CAnDoC;;ECzE3B,WAAA,CAAA,CAAA,EAAA,MAAA,EAAA;EAIA,iBAAY,CAAA,CAAA,EAAA,MAAA,EAAA;EAIZ,YAAA,CAAA,CAAA,EAAA,MAAiB;EAUjB,iBAAA,CAAA,CAAA,EAAkB,MAAA;6BDyFF;;eAAgB,MAAA,CAcrC;EE9HC,KAAA,CAAA,CAAA,EF8HD,MAAA,CAGJ,GEjIoB;;;;ECAL,QAAA,aAAA;;;;iBFKN,qBAAA,2BAAgD;iBAIhD,YAAA;iBAIA,iBAAA;iBAUA,kBAAA,6CAGL;;;KC1BC,YAAA,GAAe;;;iBCAL,qBAAA,MACf,8BACM,sBACH,gBACP;;;;;AHHH;;;;;;;;;ACIA;AAIA;AAIgB,iBG8BM,QAAA,CH9BW,OAAA,EG+BtB,gBH/BsB,CAAA,EGgC9B,OHhC8B,CGgCtB,MHhCsB,CGgCf,eHhCe,EGgCE,cHhCF,CAAA,CAAA;;;iBIJjB,iBAAA,MAAuB,2BAA2B;;;;;;;iBCLlD,mBAAA,MACT,kCACU;;;cCTJ,oBAAoB;cA+9xBpB,cAAA;;;cCr9xBA;;;ERNA,SAAA,mBAAiB,EAAA,QAAA;EA6Ea,SAAA,eAAA,EAAA,SAAA;EAkCX,SAAA,oBAAA,EAAA,SAAA;EAAgB,SAcrC,6BAAA,EAAA,SAAA;EAAA,SAGJ,mBAAA,EAAA,UAAA;EAAA,SAAA,aAAA,EAAA,SAAA;;;;EC5HS,SAAA,MAAA,EAAA,QAAqB;EAIrB,SAAA,0BAAY,EAAA,QAAA;EAIZ,SAAA,EAAA,EAAA,SAAiB;EAUjB,SAAA,WAAA,EAAkB,SAAA;;;;ECvBtB,SAAA,gBAAY,EAAG,QAAG;;;;ECAR,SAAA,yBAAqB,EAAA,QAAA;EACpC,SAAA,wBAAA,EAAA,QAAA;EACM,SAAA,gCAAA,EAAA,QAAA;EACH,SAAA,oBAAA,EAAA,QAAA;EACP,SAAA,6BAAA,EAAA,QAAA;EAAO,SAAA,QAAA,EAAA,SAAA;;;;ECuCY,SAAA,gBAAQ,EAAA,QAAA;EACnB,SAAA,MAAA,EAAA,SAAA;EACO,SAAA,KAAA,EAAA,SAAA;EAAiB,SAAA,KAAA,EAAA,QAAA;EAAxB,SAAA,QAAA,EAAA,SAAA;EAAR,SAAA,aAAA,EAAA,SAAA;EAAO,SAAA,GAAA,EAAA,SAAA;;;;ECpCM,SAAA,gBAAiB,EAAA,QAAM;;;;ECLvB,SAAA,mBAAmB,EAAA,QAC5B;;;;ECRM,SAAA,gBA69xBX,EAAA,QA79xB+B;EA+9xBpB,SAAA,aAAc,EAAA,SAAA;;;;ECr9xBd,SAAA,EAAA,EAAA,QAAA;EA8ID,SAAA,gBAAqB,EAAA,QAAA;;;;ECzJjB,SAAA,kBAAA,EAAA,QAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KDyJ/B,qBAAA,gBAAqC;;;iBCzJjC,2BAAA,SAAoC"}