tailar 0.4.1 → 0.5.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 (106) hide show
  1. package/README.md +4 -1
  2. package/README.npm.md +4 -1
  3. package/dist/api/client.d.ts +22 -28
  4. package/dist/api/client.d.ts.map +1 -1
  5. package/dist/api/client.js +111 -236
  6. package/dist/api/client.js.map +1 -1
  7. package/dist/api/errors.d.ts +16 -0
  8. package/dist/api/errors.d.ts.map +1 -0
  9. package/dist/api/errors.js +32 -0
  10. package/dist/api/errors.js.map +1 -0
  11. package/dist/auth/flow.js +1 -1
  12. package/dist/auth/flow.js.map +1 -1
  13. package/dist/commands/add.d.ts +9 -0
  14. package/dist/commands/add.d.ts.map +1 -1
  15. package/dist/commands/add.js +63 -113
  16. package/dist/commands/add.js.map +1 -1
  17. package/dist/commands/init.d.ts.map +1 -1
  18. package/dist/commands/init.js +106 -70
  19. package/dist/commands/init.js.map +1 -1
  20. package/dist/commands/list.d.ts.map +1 -1
  21. package/dist/commands/list.js +1 -23
  22. package/dist/commands/list.js.map +1 -1
  23. package/dist/commands/playground.d.ts.map +1 -1
  24. package/dist/commands/playground.js +2 -1
  25. package/dist/commands/playground.js.map +1 -1
  26. package/dist/commands/sync.d.ts.map +1 -1
  27. package/dist/commands/sync.js +9 -4
  28. package/dist/commands/sync.js.map +1 -1
  29. package/dist/installers/agent-files.d.ts +26 -0
  30. package/dist/installers/agent-files.d.ts.map +1 -0
  31. package/dist/installers/agent-files.js +110 -0
  32. package/dist/installers/agent-files.js.map +1 -0
  33. package/dist/installers/dependencies.d.ts +10 -0
  34. package/dist/installers/dependencies.d.ts.map +1 -1
  35. package/dist/installers/dependencies.js +52 -8
  36. package/dist/installers/dependencies.js.map +1 -1
  37. package/dist/installers/files.d.ts +2 -6
  38. package/dist/installers/files.d.ts.map +1 -1
  39. package/dist/installers/files.js +30 -35
  40. package/dist/installers/files.js.map +1 -1
  41. package/dist/installers/install-feature.d.ts +25 -1
  42. package/dist/installers/install-feature.d.ts.map +1 -1
  43. package/dist/installers/install-feature.js +100 -59
  44. package/dist/installers/install-feature.js.map +1 -1
  45. package/dist/installers/managed-blocks.d.ts +26 -0
  46. package/dist/installers/managed-blocks.d.ts.map +1 -0
  47. package/dist/installers/managed-blocks.js +47 -0
  48. package/dist/installers/managed-blocks.js.map +1 -0
  49. package/dist/installers/post-install.d.ts +12 -0
  50. package/dist/installers/post-install.d.ts.map +1 -1
  51. package/dist/installers/post-install.js +19 -0
  52. package/dist/installers/post-install.js.map +1 -1
  53. package/dist/installers/setup-guide.d.ts +38 -0
  54. package/dist/installers/setup-guide.d.ts.map +1 -0
  55. package/dist/installers/setup-guide.js +206 -0
  56. package/dist/installers/setup-guide.js.map +1 -0
  57. package/dist/installers/variant-switch.d.ts +34 -0
  58. package/dist/installers/variant-switch.d.ts.map +1 -0
  59. package/dist/installers/variant-switch.js +139 -0
  60. package/dist/installers/variant-switch.js.map +1 -0
  61. package/dist/installers/when.d.ts +22 -0
  62. package/dist/installers/when.d.ts.map +1 -0
  63. package/dist/installers/when.js +35 -0
  64. package/dist/installers/when.js.map +1 -0
  65. package/dist/registry/query.d.ts +6 -1
  66. package/dist/registry/query.d.ts.map +1 -1
  67. package/dist/registry/query.js +22 -0
  68. package/dist/registry/query.js.map +1 -1
  69. package/dist/types/config.d.ts +2 -0
  70. package/dist/types/config.d.ts.map +1 -1
  71. package/dist/types/registry.d.ts +65 -6
  72. package/dist/types/registry.d.ts.map +1 -1
  73. package/dist/types/wizard.d.ts +34 -8
  74. package/dist/types/wizard.d.ts.map +1 -1
  75. package/dist/types/wizard.js +74 -40
  76. package/dist/types/wizard.js.map +1 -1
  77. package/dist/utils/clack-wizard.d.ts +3 -1
  78. package/dist/utils/clack-wizard.d.ts.map +1 -1
  79. package/dist/utils/clack-wizard.js +205 -107
  80. package/dist/utils/clack-wizard.js.map +1 -1
  81. package/dist/utils/config.d.ts.map +1 -1
  82. package/dist/utils/config.js +12 -5
  83. package/dist/utils/config.js.map +1 -1
  84. package/dist/utils/init-flags.d.ts +43 -8
  85. package/dist/utils/init-flags.d.ts.map +1 -1
  86. package/dist/utils/init-flags.js +119 -32
  87. package/dist/utils/init-flags.js.map +1 -1
  88. package/dist/utils/local-options.js +1 -1
  89. package/dist/utils/local-options.js.map +1 -1
  90. package/dist/utils/next-steps.d.ts +9 -0
  91. package/dist/utils/next-steps.d.ts.map +1 -0
  92. package/dist/utils/next-steps.js +15 -0
  93. package/dist/utils/next-steps.js.map +1 -0
  94. package/dist/utils/presets.d.ts +34 -0
  95. package/dist/utils/presets.d.ts.map +1 -0
  96. package/dist/utils/presets.js +82 -0
  97. package/dist/utils/presets.js.map +1 -0
  98. package/dist/utils/recipe-id.d.ts +19 -0
  99. package/dist/utils/recipe-id.d.ts.map +1 -0
  100. package/dist/utils/recipe-id.js +72 -0
  101. package/dist/utils/recipe-id.js.map +1 -0
  102. package/dist/utils/recipe.d.ts +49 -0
  103. package/dist/utils/recipe.d.ts.map +1 -0
  104. package/dist/utils/recipe.js +227 -0
  105. package/dist/utils/recipe.js.map +1 -0
  106. package/package.json +2 -1
@@ -1 +1 @@
1
- {"version":3,"file":"install-feature.js","sourceRoot":"","sources":["../../src/installers/install-feature.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"install-feature.js","sourceRoot":"","sources":["../../src/installers/install-feature.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,26 @@
1
+ /**
2
+ * Managed blocks
3
+ *
4
+ * Tailar-owned sections inside files the user also edits (CLAUDE.md,
5
+ * AGENTS.md). A block is fenced by comment markers; text outside the
6
+ * markers is never touched.
7
+ */
8
+ export interface ManagedBlock {
9
+ id: string;
10
+ body: string;
11
+ }
12
+ /**
13
+ * Blocks found in a file, in order.
14
+ */
15
+ export declare function extractManagedBlocks(content: string): ManagedBlock[];
16
+ /**
17
+ * Replace the block with this id in place, or append it when missing.
18
+ * Running it twice with the same input returns the same text.
19
+ */
20
+ export declare function upsertManagedBlock(content: string, id: string, body: string): string;
21
+ /**
22
+ * Apply every block of `source` to `existing`. Other blocks and user text in
23
+ * `existing` stay as they are.
24
+ */
25
+ export declare function mergeManagedContent(existing: string, source: string): string;
26
+ //# sourceMappingURL=managed-blocks.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"managed-blocks.d.ts","sourceRoot":"","sources":["../../src/installers/managed-blocks.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;CACd;AASD;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,YAAY,EAAE,CAKpE;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,MAAM,EACf,EAAE,EAAE,MAAM,EACV,IAAI,EAAE,MAAM,GACX,MAAM,CAgBR;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAM5E"}
@@ -0,0 +1,47 @@
1
+ /**
2
+ * Managed blocks
3
+ *
4
+ * Tailar-owned sections inside files the user also edits (CLAUDE.md,
5
+ * AGENTS.md). A block is fenced by comment markers; text outside the
6
+ * markers is never touched.
7
+ */
8
+ const BLOCK_PATTERN = /<!-- tailar:begin ([\w-]+) -->\n([\s\S]*?)\n?<!-- tailar:end \1 -->/g;
9
+ function render(id, body) {
10
+ return `<!-- tailar:begin ${id} -->\n${body.trim()}\n<!-- tailar:end ${id} -->`;
11
+ }
12
+ /**
13
+ * Blocks found in a file, in order.
14
+ */
15
+ export function extractManagedBlocks(content) {
16
+ return [...content.matchAll(BLOCK_PATTERN)].map((match) => ({
17
+ id: match[1],
18
+ body: match[2].trim(),
19
+ }));
20
+ }
21
+ /**
22
+ * Replace the block with this id in place, or append it when missing.
23
+ * Running it twice with the same input returns the same text.
24
+ */
25
+ export function upsertManagedBlock(content, id, body) {
26
+ const block = render(id, body);
27
+ const existing = [...content.matchAll(BLOCK_PATTERN)].find((match) => match[1] === id);
28
+ if (existing && existing.index !== undefined) {
29
+ return (content.slice(0, existing.index) +
30
+ block +
31
+ content.slice(existing.index + existing[0].length));
32
+ }
33
+ const trimmed = content.replace(/\s+$/, "");
34
+ return trimmed ? `${trimmed}\n\n${block}\n` : `${block}\n`;
35
+ }
36
+ /**
37
+ * Apply every block of `source` to `existing`. Other blocks and user text in
38
+ * `existing` stay as they are.
39
+ */
40
+ export function mergeManagedContent(existing, source) {
41
+ let result = existing;
42
+ for (const block of extractManagedBlocks(source)) {
43
+ result = upsertManagedBlock(result, block.id, block.body);
44
+ }
45
+ return result;
46
+ }
47
+ //# sourceMappingURL=managed-blocks.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"managed-blocks.js","sourceRoot":"","sources":["../../src/installers/managed-blocks.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAOH,MAAM,aAAa,GACjB,sEAAsE,CAAC;AAEzE,SAAS,MAAM,CAAC,EAAU,EAAE,IAAY;IACtC,OAAO,qBAAqB,EAAE,SAAS,IAAI,CAAC,IAAI,EAAE,qBAAqB,EAAE,MAAM,CAAC;AAClF,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAAC,OAAe;IAClD,OAAO,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAC1D,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC;QACZ,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;KACtB,CAAC,CAAC,CAAC;AACN,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,kBAAkB,CAChC,OAAe,EACf,EAAU,EACV,IAAY;IAEZ,MAAM,KAAK,GAAG,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;IAC/B,MAAM,QAAQ,GAAG,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CACxD,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,EAAE,CAC3B,CAAC;IAEF,IAAI,QAAQ,IAAI,QAAQ,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;QAC7C,OAAO,CACL,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,KAAK,CAAC;YAChC,KAAK;YACL,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CACnD,CAAC;IACJ,CAAC;IAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IAC5C,OAAO,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,GAAG,KAAK,IAAI,CAAC;AAC7D,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,mBAAmB,CAAC,QAAgB,EAAE,MAAc;IAClE,IAAI,MAAM,GAAG,QAAQ,CAAC;IACtB,KAAK,MAAM,KAAK,IAAI,oBAAoB,CAAC,MAAM,CAAC,EAAE,CAAC;QACjD,MAAM,GAAG,kBAAkB,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;IAC5D,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -17,5 +17,17 @@ export declare function executePostInstallStep(projectPath: string, step: PostIn
17
17
  export declare function executePostInstallSteps(projectPath: string, steps: PostInstallStep[], context?: ProjectContext, options?: {
18
18
  skipCommands?: boolean;
19
19
  skipNextSteps?: boolean;
20
+ /**
21
+ * Write the env block and the module notes to SETUP.md. Unless `print` is
22
+ * set, the terminal then shows only a pointer to the file.
23
+ */
24
+ setupGuide?: {
25
+ projectName?: string;
26
+ preset?: string;
27
+ hasDatabase: boolean;
28
+ runDevCommand: string;
29
+ /** Also print the full notes (verbose). */
30
+ print?: boolean;
31
+ };
20
32
  }): Promise<void>;
21
33
  //# sourceMappingURL=post-install.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"post-install.d.ts","sourceRoot":"","sources":["../../src/installers/post-install.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAGpE;;GAEG;AACH,wBAAsB,sBAAsB,CAC1C,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,eAAe,GACpB,OAAO,CAAC,IAAI,CAAC,CA4Bf;AAED;;;;GAIG;AACH,wBAAsB,uBAAuB,CAC3C,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,eAAe,EAAE,EACxB,OAAO,CAAC,EAAE,cAAc,EACxB,OAAO,GAAE;IAAE,YAAY,CAAC,EAAE,OAAO,CAAC;IAAC,aAAa,CAAC,EAAE,OAAO,CAAA;CAAO,GAChE,OAAO,CAAC,IAAI,CAAC,CAoFf"}
1
+ {"version":3,"file":"post-install.d.ts","sourceRoot":"","sources":["../../src/installers/post-install.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAIpE;;GAEG;AACH,wBAAsB,sBAAsB,CAC1C,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,eAAe,GACpB,OAAO,CAAC,IAAI,CAAC,CA4Bf;AAED;;;;GAIG;AACH,wBAAsB,uBAAuB,CAC3C,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,eAAe,EAAE,EACxB,OAAO,CAAC,EAAE,cAAc,EACxB,OAAO,GAAE;IACP,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;;;OAGG;IACH,UAAU,CAAC,EAAE;QACX,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,WAAW,EAAE,OAAO,CAAC;QACrB,aAAa,EAAE,MAAM,CAAC;QACtB,2CAA2C;QAC3C,KAAK,CAAC,EAAE,OAAO,CAAC;KACjB,CAAC;CACE,GACL,OAAO,CAAC,IAAI,CAAC,CA0Gf"}
@@ -9,6 +9,7 @@ import { existsSync } from "fs";
9
9
  import { join } from "path";
10
10
  import { execSync } from "child_process";
11
11
  import { logger } from "../utils/logger.js";
12
+ import { SETUP_FILE, writeSetupGuide } from "./setup-guide.js";
12
13
  /**
13
14
  * Execute a single post-install step
14
15
  */
@@ -94,6 +95,24 @@ export async function executePostInstallSteps(projectPath, steps, context, optio
94
95
  throw error;
95
96
  }
96
97
  }
98
+ // Long env blocks and vendor setup notes go to SETUP.md.
99
+ const guide = options.setupGuide;
100
+ if (guide &&
101
+ !options.skipNextSteps &&
102
+ (envSteps.length > 0 || instructionSteps.length > 0)) {
103
+ const result = await writeSetupGuide(projectPath, {
104
+ steps: [...envSteps, ...instructionSteps],
105
+ projectName: guide.projectName,
106
+ preset: guide.preset,
107
+ hasDatabase: guide.hasDatabase,
108
+ runDevCommand: guide.runDevCommand,
109
+ });
110
+ if (result !== "unchanged") {
111
+ logger.info(`${result === "created" ? "Wrote" : "Updated"} ${SETUP_FILE} with the environment variables and setup notes.`);
112
+ }
113
+ if (!guide.print)
114
+ return;
115
+ }
97
116
  // Display next steps section
98
117
  if (!options.skipNextSteps &&
99
118
  (envSteps.length > 0 || instructionSteps.length > 0)) {
@@ -1 +1 @@
1
- {"version":3,"file":"post-install.js","sourceRoot":"","sources":["../../src/installers/post-install.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"post-install.js","sourceRoot":"","sources":["../../src/installers/post-install.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,38 @@
1
+ /**
2
+ * SETUP.md
3
+ *
4
+ * The env block and the vendor setup notes that modules print after install are
5
+ * long, so they go into a SETUP.md in the project and the terminal only shows a
6
+ * short summary. The content is built from the same post-install steps the
7
+ * registry already carries, so it follows the selected modules and providers.
8
+ *
9
+ * The file is regenerated in marked regions (`<!-- tailar:... -->`), so
10
+ * `tailar add` and `tailar sync` can update it and anything the user writes
11
+ * outside the markers is kept.
12
+ */
13
+ import type { PostInstallStep } from "../types/index.js";
14
+ export declare const SETUP_FILE = "SETUP.md";
15
+ export interface SetupGuideOptions {
16
+ /** Steps with `next-steps-env` / `next-steps-instruction` types are used; others are ignored. */
17
+ steps: PostInstallStep[];
18
+ projectName?: string;
19
+ preset?: string;
20
+ /** The project has a database module (adds the schema push to the checklist). */
21
+ hasDatabase: boolean;
22
+ /** `npm run dev`, `pnpm dev`, ... */
23
+ runDevCommand: string;
24
+ }
25
+ /** The package manager's dev command, for the checklist. */
26
+ export declare function runDevCommandFor(packageManager: string): string;
27
+ export type SetupGuideResult = "created" | "updated" | "unchanged";
28
+ /**
29
+ * Add env text blocks to the existing env text, skipping variables that are
30
+ * already there (several modules declare NEXT_PUBLIC_APP_URL, for example). A
31
+ * block whose variables were all seen before is dropped with its comments, and
32
+ * a comment-only block is added once (re-running `add` or `sync` must not
33
+ * repeat it).
34
+ */
35
+ export declare function mergeEnvBlocks(existing: string, additions: string[]): string;
36
+ /** Create or update SETUP.md from post-install steps. Never throws on a bad existing file. */
37
+ export declare function writeSetupGuide(projectPath: string, options: SetupGuideOptions): Promise<SetupGuideResult>;
38
+ //# sourceMappingURL=setup-guide.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setup-guide.d.ts","sourceRoot":"","sources":["../../src/installers/setup-guide.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAKH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEzD,eAAO,MAAM,UAAU,aAAa,CAAC;AAWrC,MAAM,WAAW,iBAAiB;IAChC,iGAAiG;IACjG,KAAK,EAAE,eAAe,EAAE,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,iFAAiF;IACjF,WAAW,EAAE,OAAO,CAAC;IACrB,qCAAqC;IACrC,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,4DAA4D;AAC5D,wBAAgB,gBAAgB,CAAC,cAAc,EAAE,MAAM,GAAG,MAAM,CAE/D;AAED,MAAM,MAAM,gBAAgB,GAAG,SAAS,GAAG,SAAS,GAAG,WAAW,CAAC;AAInE;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,MAAM,CAyC5E;AAmFD,8FAA8F;AAC9F,wBAAsB,eAAe,CACnC,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,iBAAiB,GACzB,OAAO,CAAC,gBAAgB,CAAC,CA+D3B"}
@@ -0,0 +1,206 @@
1
+ /**
2
+ * SETUP.md
3
+ *
4
+ * The env block and the vendor setup notes that modules print after install are
5
+ * long, so they go into a SETUP.md in the project and the terminal only shows a
6
+ * short summary. The content is built from the same post-install steps the
7
+ * registry already carries, so it follows the selected modules and providers.
8
+ *
9
+ * The file is regenerated in marked regions (`<!-- tailar:... -->`), so
10
+ * `tailar add` and `tailar sync` can update it and anything the user writes
11
+ * outside the markers is kept.
12
+ */
13
+ import { existsSync } from "fs";
14
+ import { readFile, writeFile } from "fs/promises";
15
+ import { join } from "path";
16
+ export const SETUP_FILE = "SETUP.md";
17
+ const ENV_OPEN = "<!-- tailar:env -->";
18
+ const ENV_CLOSE = "<!-- /tailar:env -->";
19
+ const CHECKLIST_OPEN = "<!-- tailar:checklist -->";
20
+ const CHECKLIST_CLOSE = "<!-- /tailar:checklist -->";
21
+ const MODULES_OPEN = "<!-- tailar:modules -->";
22
+ const MODULES_CLOSE = "<!-- /tailar:modules -->";
23
+ const MODULE_RE = /<!-- tailar:module name="([^"]+)" -->([\s\S]*?)<!-- \/tailar:module -->/g;
24
+ /** The package manager's dev command, for the checklist. */
25
+ export function runDevCommandFor(packageManager) {
26
+ return packageManager === "npm" ? "npm run dev" : `${packageManager} dev`;
27
+ }
28
+ const ASSIGNMENT = /^\s*#?\s*([A-Z][A-Z0-9_]*)=/;
29
+ /**
30
+ * Add env text blocks to the existing env text, skipping variables that are
31
+ * already there (several modules declare NEXT_PUBLIC_APP_URL, for example). A
32
+ * block whose variables were all seen before is dropped with its comments, and
33
+ * a comment-only block is added once (re-running `add` or `sync` must not
34
+ * repeat it).
35
+ */
36
+ export function mergeEnvBlocks(existing, additions) {
37
+ const seen = new Set();
38
+ for (const line of existing.split("\n")) {
39
+ const match = line.match(ASSIGNMENT);
40
+ if (match)
41
+ seen.add(match[1]);
42
+ }
43
+ const seenBlocks = new Set(existing
44
+ .split(/\n\s*\n/)
45
+ .map((block) => block.trim())
46
+ .filter(Boolean));
47
+ const blocks = existing.trim() ? [existing.trim()] : [];
48
+ for (const text of additions) {
49
+ for (const block of text.split(/\n\s*\n/)) {
50
+ const kept = [];
51
+ let hadKeys = false;
52
+ let newKeys = 0;
53
+ for (const line of block.split("\n")) {
54
+ const match = line.match(ASSIGNMENT);
55
+ if (!match) {
56
+ kept.push(line);
57
+ continue;
58
+ }
59
+ hadKeys = true;
60
+ if (seen.has(match[1]))
61
+ continue;
62
+ seen.add(match[1]);
63
+ newKeys++;
64
+ kept.push(line);
65
+ }
66
+ const out = kept.join("\n").trim();
67
+ // Comment-only blocks are added once; blocks whose variables were all seen go.
68
+ if (!out)
69
+ continue;
70
+ if (!hadKeys && seenBlocks.has(out))
71
+ continue;
72
+ if (hadKeys && newKeys === 0)
73
+ continue;
74
+ seenBlocks.add(out);
75
+ blocks.push(out);
76
+ }
77
+ }
78
+ return blocks.join("\n\n");
79
+ }
80
+ function slug(label) {
81
+ return label
82
+ .toLowerCase()
83
+ .replace(/[^a-z0-9\s-]/g, "")
84
+ .trim()
85
+ .replace(/\s+/g, "-");
86
+ }
87
+ function envBlock(text) {
88
+ return `${ENV_OPEN}\n\`\`\`env\n${text}\n\`\`\`\n${ENV_CLOSE}`;
89
+ }
90
+ function readEnv(doc) {
91
+ const start = doc.indexOf(ENV_OPEN);
92
+ const end = doc.indexOf(ENV_CLOSE);
93
+ if (start === -1 || end === -1)
94
+ return "";
95
+ const inner = doc.slice(start + ENV_OPEN.length, end);
96
+ const match = inner.match(/```env\n([\s\S]*?)\n```/);
97
+ return match ? match[1] : "";
98
+ }
99
+ function readModules(doc) {
100
+ const modules = new Map();
101
+ for (const match of doc.matchAll(MODULE_RE)) {
102
+ const heading = match[2].match(/^\s*### (.+)$/m);
103
+ const body = match[2].replace(/^\s*### .+\n/, "").trim();
104
+ modules.set(match[1], {
105
+ label: heading ? heading[1].trim() : match[1],
106
+ notes: body ? body.split(/\n\n---\n\n/) : [],
107
+ });
108
+ }
109
+ return modules;
110
+ }
111
+ function moduleRegion(name, module) {
112
+ return [
113
+ `<!-- tailar:module name="${name}" -->`,
114
+ `### ${module.label}`,
115
+ "",
116
+ module.notes.join("\n\n---\n\n"),
117
+ "<!-- /tailar:module -->",
118
+ ].join("\n");
119
+ }
120
+ function checklist(labels, options) {
121
+ const items = [
122
+ "- [ ] Create `.env` in the project root and paste the values from [Environment variables](#environment-variables), then fill them in.",
123
+ ];
124
+ if (options.hasDatabase) {
125
+ items.push("- [ ] Push the database schema: `npx prisma db push`");
126
+ }
127
+ if (labels.length > 0) {
128
+ const links = labels.map((label) => `[${label}](#${slug(label)})`).join(", ");
129
+ items.push(`- [ ] Work through the module guides below (accounts, keys, buckets): ${links}.`);
130
+ }
131
+ items.push(`- [ ] Start the app: \`${options.runDevCommand}\``);
132
+ return `${CHECKLIST_OPEN}\n${items.join("\n")}\n${CHECKLIST_CLOSE}`;
133
+ }
134
+ function intro(options, labels) {
135
+ const lines = ["# Setup", ""];
136
+ const about = [
137
+ options.projectName ? `**${options.projectName}**` : "This project",
138
+ options.preset ? ` (preset: ${options.preset})` : "",
139
+ ].join("");
140
+ lines.push(`${about} was generated by Tailar. This file is the setup guide for the modules you picked${labels.length > 0 ? `: ${labels.join(", ")}` : ""}. \`tailar add\` and \`tailar sync\` keep the marked sections up to date; text you add outside them is kept.`);
141
+ return lines.join("\n");
142
+ }
143
+ /** Create or update SETUP.md from post-install steps. Never throws on a bad existing file. */
144
+ export async function writeSetupGuide(projectPath, options) {
145
+ const file = join(projectPath, SETUP_FILE);
146
+ const existed = existsSync(file);
147
+ const before = existed ? await readFile(file, "utf-8") : "";
148
+ const envTexts = options.steps
149
+ .filter((step) => step.type === "next-steps-env")
150
+ .map((step) => step.description);
151
+ // A module that is part of this run gets its current notes; the others stay.
152
+ const incoming = new Map();
153
+ for (const step of options.steps) {
154
+ if (step.type !== "next-steps-instruction")
155
+ continue;
156
+ const name = step.source ?? "general";
157
+ const module = incoming.get(name) ?? {
158
+ label: step.sourceLabel ?? "General",
159
+ notes: [],
160
+ };
161
+ const note = step.description.trim();
162
+ if (note && !module.notes.includes(note))
163
+ module.notes.push(note);
164
+ incoming.set(name, module);
165
+ }
166
+ const modules = readModules(before);
167
+ for (const [name, module] of incoming)
168
+ modules.set(name, module);
169
+ const env = mergeEnvBlocks(readEnv(before), envTexts);
170
+ const labels = [...modules.values()].map((m) => m.label);
171
+ const modulesText = [...modules.entries()]
172
+ .map(([name, module]) => moduleRegion(name, module))
173
+ .join("\n\n");
174
+ let doc;
175
+ if (!existed || !before.includes(CHECKLIST_OPEN)) {
176
+ doc =
177
+ [
178
+ intro(options, labels),
179
+ "## Checklist",
180
+ checklist(labels, options),
181
+ "## Environment variables",
182
+ "Add these to `.env`. Variables that appear more than once are listed once.",
183
+ envBlock(env),
184
+ "## Module guides",
185
+ `${MODULES_OPEN}\n${modulesText}\n${MODULES_CLOSE}`,
186
+ ].join("\n\n") + "\n";
187
+ }
188
+ else {
189
+ doc = replaceRegion(before, CHECKLIST_OPEN, CHECKLIST_CLOSE, checklist(labels, options));
190
+ doc = replaceRegion(doc, ENV_OPEN, ENV_CLOSE, envBlock(env));
191
+ doc = replaceRegion(doc, MODULES_OPEN, MODULES_CLOSE, `${MODULES_OPEN}\n${modulesText}\n${MODULES_CLOSE}`);
192
+ }
193
+ if (existed && doc === before)
194
+ return "unchanged";
195
+ await writeFile(file, doc, "utf-8");
196
+ return existed ? "updated" : "created";
197
+ }
198
+ /** Replace the text from `open` through `close` (inclusive) with `replacement`. */
199
+ function replaceRegion(doc, open, close, replacement) {
200
+ const start = doc.indexOf(open);
201
+ const end = doc.indexOf(close);
202
+ if (start === -1 || end === -1 || end < start)
203
+ return doc;
204
+ return doc.slice(0, start) + replacement + doc.slice(end + close.length);
205
+ }
206
+ //# sourceMappingURL=setup-guide.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setup-guide.js","sourceRoot":"","sources":["../../src/installers/setup-guide.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,34 @@
1
+ /**
2
+ * Variant switch cleanup
3
+ *
4
+ * Installing a different variant of an installed module (`add --variant X
5
+ * --force`, `sync --variant/--provider X`) copies the new variant's files over
6
+ * the module but used to leave files that only the previous variant owned
7
+ * (storage r2 -> s3 left providers/r2.ts and its contract test behind).
8
+ *
9
+ * The leftovers are computed from the registry alone: the previous variant's
10
+ * own mapped targets, minus every target the new install writes. Nothing else
11
+ * is ever deleted.
12
+ */
13
+ import type { ProjectConfig, ProjectContext, RegistryEntry } from "../types/index.js";
14
+ /**
15
+ * Files only the previous variant installed: its own mapped targets (with the
16
+ * installer's `when` and template logic) that the new install does not write.
17
+ * Returns [] unless the recorded variant differs from the new one.
18
+ */
19
+ export declare function staleVariantTargets(entry: RegistryEntry, previousVariant: string | undefined, nextVariant: string | undefined, context: ProjectContext, vars?: Record<string, string>): string[];
20
+ /** Delete the leftovers that exist inside the project. Returns the paths removed. */
21
+ export declare function removeStaleFiles(projectRoot: string, targets: string[]): Promise<string[]>;
22
+ /** Env var names that differ between the two variants' env.example files. */
23
+ export declare function envVarChanges(entry: RegistryEntry, previousVariant: string, nextVariant: string, config: ProjectConfig | null | undefined): Promise<{
24
+ removed: string[];
25
+ added: string[];
26
+ } | null>;
27
+ /**
28
+ * Run after the new variant's files are written. Removes the previous
29
+ * variant's leftovers and reports which env vars changed.
30
+ */
31
+ export declare function cleanupPreviousVariant(entry: RegistryEntry, previousVariant: string | undefined, nextVariant: string | undefined, context: ProjectContext, vars?: Record<string, string>): Promise<{
32
+ removed: string[];
33
+ }>;
34
+ //# sourceMappingURL=variant-switch.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"variant-switch.d.ts","sourceRoot":"","sources":["../../src/installers/variant-switch.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAKH,OAAO,KAAK,EAEV,aAAa,EACb,cAAc,EACd,aAAa,EACd,MAAM,mBAAmB,CAAC;AAuB3B;;;;GAIG;AACH,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,aAAa,EACpB,eAAe,EAAE,MAAM,GAAG,SAAS,EACnC,WAAW,EAAE,MAAM,GAAG,SAAS,EAC/B,OAAO,EAAE,cAAc,EACvB,IAAI,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAM,GAChC,MAAM,EAAE,CAwBV;AAED,qFAAqF;AACrF,wBAAsB,gBAAgB,CACpC,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,EAAE,GAChB,OAAO,CAAC,MAAM,EAAE,CAAC,CAanB;AA0CD,6EAA6E;AAC7E,wBAAsB,aAAa,CACjC,KAAK,EAAE,aAAa,EACpB,eAAe,EAAE,MAAM,EACvB,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,aAAa,GAAG,IAAI,GAAG,SAAS,GACvC,OAAO,CAAC;IAAE,OAAO,EAAE,MAAM,EAAE,CAAC;IAAC,KAAK,EAAE,MAAM,EAAE,CAAA;CAAE,GAAG,IAAI,CAAC,CAQxD;AAED;;;GAGG;AACH,wBAAsB,sBAAsB,CAC1C,KAAK,EAAE,aAAa,EACpB,eAAe,EAAE,MAAM,GAAG,SAAS,EACnC,WAAW,EAAE,MAAM,GAAG,SAAS,EAC/B,OAAO,EAAE,cAAc,EACvB,IAAI,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAM,GAChC,OAAO,CAAC;IAAE,OAAO,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,CAqBhC"}