@powerhousedao/codegen 5.1.0-dev.36 → 5.1.0-dev.37

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 (145) hide show
  1. package/dist/src/create-lib/create-project.d.ts +8 -27
  2. package/dist/src/create-lib/create-project.d.ts.map +1 -1
  3. package/dist/src/create-lib/create-project.js +78 -231
  4. package/dist/src/create-lib/create-project.js.map +1 -1
  5. package/dist/src/create-lib/utils.d.ts +1 -0
  6. package/dist/src/create-lib/utils.d.ts.map +1 -1
  7. package/dist/src/create-lib/utils.js +6 -0
  8. package/dist/src/create-lib/utils.js.map +1 -1
  9. package/dist/src/file-builders/boilerplate/build-package-json.test.d.ts +2 -0
  10. package/dist/src/file-builders/boilerplate/build-package-json.test.d.ts.map +1 -0
  11. package/dist/src/file-builders/boilerplate/build-package-json.test.js +25 -0
  12. package/dist/src/file-builders/boilerplate/build-package-json.test.js.map +1 -0
  13. package/dist/src/file-builders/boilerplate/constants.d.ts +3 -0
  14. package/dist/src/file-builders/boilerplate/constants.d.ts.map +1 -0
  15. package/dist/src/file-builders/boilerplate/constants.js +19 -0
  16. package/dist/src/file-builders/boilerplate/constants.js.map +1 -0
  17. package/dist/src/file-builders/boilerplate/package-json-versions.test.d.ts +2 -0
  18. package/dist/src/file-builders/boilerplate/package-json-versions.test.d.ts.map +1 -0
  19. package/dist/src/file-builders/boilerplate/package-json-versions.test.js +34 -0
  20. package/dist/src/file-builders/boilerplate/package-json-versions.test.js.map +1 -0
  21. package/dist/src/file-builders/boilerplate/package.json.d.ts +6 -0
  22. package/dist/src/file-builders/boilerplate/package.json.d.ts.map +1 -0
  23. package/dist/src/file-builders/boilerplate/package.json.js +19 -0
  24. package/dist/src/file-builders/boilerplate/package.json.js.map +1 -0
  25. package/dist/src/file-builders/index.d.ts +4 -0
  26. package/dist/src/file-builders/index.d.ts.map +1 -0
  27. package/dist/src/file-builders/index.js +4 -0
  28. package/dist/src/file-builders/index.js.map +1 -0
  29. package/dist/src/file-builders/utils.d.ts +17 -0
  30. package/dist/src/file-builders/utils.d.ts.map +1 -0
  31. package/dist/src/file-builders/utils.js +64 -0
  32. package/dist/src/file-builders/utils.js.map +1 -0
  33. package/dist/src/templates/boilerplate/AGENTS.md.d.ts +2 -0
  34. package/dist/src/templates/boilerplate/AGENTS.md.d.ts.map +1 -0
  35. package/dist/src/templates/boilerplate/AGENTS.md.js +408 -0
  36. package/dist/src/templates/boilerplate/AGENTS.md.js.map +1 -0
  37. package/dist/src/templates/boilerplate/CLAUDE.md.d.ts +2 -0
  38. package/dist/src/templates/boilerplate/CLAUDE.md.d.ts.map +1 -0
  39. package/dist/src/templates/boilerplate/CLAUDE.md.js +408 -0
  40. package/dist/src/templates/boilerplate/CLAUDE.md.js.map +1 -0
  41. package/dist/src/templates/boilerplate/LICENSE.d.ts +2 -0
  42. package/dist/src/templates/boilerplate/LICENSE.d.ts.map +1 -0
  43. package/{LICENSE → dist/src/templates/boilerplate/LICENSE.js} +4 -1
  44. package/dist/src/templates/boilerplate/LICENSE.js.map +1 -0
  45. package/dist/src/templates/boilerplate/README.md.d.ts +2 -0
  46. package/dist/src/templates/boilerplate/README.md.d.ts.map +1 -0
  47. package/dist/src/templates/boilerplate/README.md.js +194 -0
  48. package/dist/src/templates/boilerplate/README.md.js.map +1 -0
  49. package/dist/src/templates/boilerplate/claude/settings.local.json.d.ts +2 -0
  50. package/dist/src/templates/boilerplate/claude/settings.local.json.d.ts.map +1 -0
  51. package/dist/src/templates/boilerplate/claude/settings.local.json.js +18 -0
  52. package/dist/src/templates/boilerplate/claude/settings.local.json.js.map +1 -0
  53. package/dist/src/templates/boilerplate/cursor/mcp.json.d.ts +2 -0
  54. package/dist/src/templates/boilerplate/cursor/mcp.json.d.ts.map +1 -0
  55. package/dist/src/templates/boilerplate/cursor/mcp.json.js +12 -0
  56. package/dist/src/templates/boilerplate/cursor/mcp.json.js.map +1 -0
  57. package/dist/src/templates/boilerplate/document-models/document-models.d.ts.map +1 -0
  58. package/dist/src/templates/boilerplate/document-models/document-models.js.map +1 -0
  59. package/dist/src/templates/boilerplate/document-models/index.d.ts +2 -0
  60. package/dist/src/templates/boilerplate/document-models/index.d.ts.map +1 -0
  61. package/dist/src/templates/boilerplate/document-models/index.js +2 -0
  62. package/dist/src/templates/boilerplate/document-models/index.js.map +1 -0
  63. package/dist/src/templates/boilerplate/editors/editors.d.ts.map +1 -0
  64. package/dist/src/templates/boilerplate/editors/editors.js.map +1 -0
  65. package/dist/src/templates/boilerplate/editors/index.d.ts +2 -0
  66. package/dist/src/templates/boilerplate/editors/index.d.ts.map +1 -0
  67. package/dist/src/templates/boilerplate/editors/index.js +2 -0
  68. package/dist/src/templates/boilerplate/editors/index.js.map +1 -0
  69. package/dist/src/templates/boilerplate/eslint.config.js.d.ts +2 -0
  70. package/dist/src/templates/boilerplate/eslint.config.js.d.ts.map +1 -0
  71. package/dist/src/templates/boilerplate/eslint.config.js.js +140 -0
  72. package/dist/src/templates/boilerplate/eslint.config.js.js.map +1 -0
  73. package/dist/src/templates/boilerplate/gemini/settings.json.d.ts +2 -0
  74. package/dist/src/templates/boilerplate/gemini/settings.json.d.ts.map +1 -0
  75. package/dist/src/templates/boilerplate/gemini/settings.json.js +12 -0
  76. package/dist/src/templates/boilerplate/gemini/settings.json.js.map +1 -0
  77. package/dist/src/templates/boilerplate/gitignore.d.ts +2 -0
  78. package/dist/src/templates/boilerplate/gitignore.d.ts.map +1 -0
  79. package/dist/src/templates/boilerplate/gitignore.js +11 -0
  80. package/dist/src/templates/boilerplate/gitignore.js.map +1 -0
  81. package/dist/src/templates/boilerplate/index.html.legacy.d.ts +2 -0
  82. package/dist/src/templates/boilerplate/index.html.legacy.d.ts.map +1 -0
  83. package/dist/src/templates/boilerplate/index.html.legacy.js +36 -0
  84. package/dist/src/templates/boilerplate/index.html.legacy.js.map +1 -0
  85. package/dist/src/templates/boilerplate/mcp.json.d.ts +2 -0
  86. package/dist/src/templates/boilerplate/mcp.json.d.ts.map +1 -0
  87. package/dist/src/templates/boilerplate/mcp.json.js +12 -0
  88. package/dist/src/templates/boilerplate/mcp.json.js.map +1 -0
  89. package/dist/src/templates/boilerplate/npmrc.d.ts +2 -0
  90. package/dist/src/templates/boilerplate/npmrc.d.ts.map +1 -0
  91. package/dist/src/templates/boilerplate/npmrc.js +2 -0
  92. package/dist/src/templates/boilerplate/npmrc.js.map +1 -0
  93. package/dist/src/templates/boilerplate/package.json.d.ts +1 -54
  94. package/dist/src/templates/boilerplate/package.json.d.ts.map +1 -1
  95. package/dist/src/templates/boilerplate/package.json.js +115 -54
  96. package/dist/src/templates/boilerplate/package.json.js.map +1 -1
  97. package/dist/src/templates/boilerplate/package.json.legacy.d.ts +55 -0
  98. package/dist/src/templates/boilerplate/package.json.legacy.d.ts.map +1 -0
  99. package/dist/src/templates/boilerplate/package.json.legacy.js +55 -0
  100. package/dist/src/templates/boilerplate/package.json.legacy.js.map +1 -0
  101. package/dist/src/templates/boilerplate/powerhouse.config.json.d.ts +6 -0
  102. package/dist/src/templates/boilerplate/powerhouse.config.json.d.ts.map +1 -0
  103. package/dist/src/templates/boilerplate/powerhouse.config.json.js +46 -0
  104. package/dist/src/templates/boilerplate/powerhouse.config.json.js.map +1 -0
  105. package/dist/src/templates/boilerplate/powerhouse.manifest.json.d.ts +2 -0
  106. package/dist/src/templates/boilerplate/powerhouse.manifest.json.d.ts.map +1 -0
  107. package/dist/src/templates/boilerplate/powerhouse.manifest.json.js +19 -0
  108. package/dist/src/templates/boilerplate/powerhouse.manifest.json.js.map +1 -0
  109. package/dist/src/templates/boilerplate/processors/index.d.ts +2 -0
  110. package/dist/src/templates/boilerplate/processors/index.d.ts.map +1 -0
  111. package/dist/src/templates/boilerplate/processors/index.js +2 -0
  112. package/dist/src/templates/boilerplate/processors/index.js.map +1 -0
  113. package/dist/src/templates/boilerplate/style.css.d.ts +2 -0
  114. package/dist/src/templates/boilerplate/style.css.d.ts.map +1 -0
  115. package/dist/src/templates/boilerplate/style.css.js +17 -0
  116. package/dist/src/templates/boilerplate/style.css.js.map +1 -0
  117. package/dist/src/templates/boilerplate/subgraphs/index.d.ts +2 -0
  118. package/dist/src/templates/boilerplate/subgraphs/index.d.ts.map +1 -0
  119. package/dist/src/templates/boilerplate/subgraphs/index.js +2 -0
  120. package/dist/src/templates/boilerplate/subgraphs/index.js.map +1 -0
  121. package/dist/src/templates/boilerplate/vite.config.ts.d.ts +2 -0
  122. package/dist/src/templates/boilerplate/vite.config.ts.d.ts.map +1 -0
  123. package/dist/src/templates/boilerplate/vite.config.ts.js +21 -0
  124. package/dist/src/templates/boilerplate/vite.config.ts.js.map +1 -0
  125. package/dist/src/templates/boilerplate/vitest.config.ts.d.ts +2 -0
  126. package/dist/src/templates/boilerplate/vitest.config.ts.d.ts.map +1 -0
  127. package/dist/src/templates/boilerplate/vitest.config.ts.js +21 -0
  128. package/dist/src/templates/boilerplate/vitest.config.ts.js.map +1 -0
  129. package/dist/src/templates/index.d.ts +24 -2
  130. package/dist/src/templates/index.d.ts.map +1 -1
  131. package/dist/src/templates/index.js +24 -2
  132. package/dist/src/templates/index.js.map +1 -1
  133. package/dist/tsconfig.tsbuildinfo +1 -1
  134. package/dist/vitest.config.d.ts.map +1 -1
  135. package/dist/vitest.config.js +4 -1
  136. package/dist/vitest.config.js.map +1 -1
  137. package/package.json +12 -7
  138. package/dist/src/templates/boilerplate/document-models.d.ts.map +0 -1
  139. package/dist/src/templates/boilerplate/document-models.js.map +0 -1
  140. package/dist/src/templates/boilerplate/editors.d.ts.map +0 -1
  141. package/dist/src/templates/boilerplate/editors.js.map +0 -1
  142. /package/dist/src/templates/boilerplate/{document-models.d.ts → document-models/document-models.d.ts} +0 -0
  143. /package/dist/src/templates/boilerplate/{document-models.js → document-models/document-models.js} +0 -0
  144. /package/dist/src/templates/boilerplate/{editors.d.ts → editors/editors.d.ts} +0 -0
  145. /package/dist/src/templates/boilerplate/{editors.js → editors/editors.js} +0 -0
@@ -1,29 +1,10 @@
1
- export declare const createCommandSpec: {
2
- readonly "--name": StringConstructor;
3
- readonly "--project-name": "--name";
4
- readonly "--branch": StringConstructor;
5
- readonly "--tag": StringConstructor;
6
- readonly "--interactive": BooleanConstructor;
7
- readonly "--dev": BooleanConstructor;
8
- readonly "--staging": BooleanConstructor;
9
- readonly "-p": "--name";
10
- readonly "-b": "--branch";
11
- readonly "-t": "--tag";
12
- readonly "--package-manager": StringConstructor;
13
- };
14
- export interface ICreateProjectOptions {
15
- name: string | undefined;
16
- tag: string;
17
- interactive: boolean;
18
- branch?: string;
19
- packageManager?: string;
20
- vetraDriveUrl?: string;
21
- }
22
- export declare function parseTag(args: {
1
+ type CreateProjectArgs = {
2
+ name: string;
3
+ packageManager: string;
23
4
  tag?: string;
24
- dev?: boolean;
25
- staging?: boolean;
26
- }): string;
27
- export declare function initCli(): Promise<void>;
28
- export declare function createProject(options: ICreateProjectOptions): Promise<void>;
5
+ version?: string;
6
+ remoteDrive?: string;
7
+ };
8
+ export declare function createProject({ name, packageManager, tag, version, remoteDrive, }: CreateProjectArgs): Promise<void>;
9
+ export {};
29
10
  //# sourceMappingURL=create-project.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"create-project.d.ts","sourceRoot":"","sources":["../../../src/create-lib/create-project.ts"],"names":[],"mappings":"AAyHA,eAAO,MAAM,iBAAiB;;;;;;;;;;;;CAYpB,CAAC;AAEX,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;IACzB,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,EAAE,OAAO,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAuED,wBAAgB,QAAQ,CAAC,IAAI,EAAE;IAC7B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,UAWA;AAUD,wBAAgB,OAAO,kBAStB;AAED,wBAAsB,aAAa,CAAC,OAAO,EAAE,qBAAqB,iBAuDjE"}
1
+ {"version":3,"file":"create-project.d.ts","sourceRoot":"","sources":["../../../src/create-lib/create-project.ts"],"names":[],"mappings":"AAmCA,KAAK,iBAAiB,GAAG;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,cAAc,EAAE,MAAM,CAAC;IACvB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AACF,wBAAsB,aAAa,CAAC,EAClC,IAAI,EACJ,cAAc,EACd,GAAG,EACH,OAAO,EACP,WAAW,GACZ,EAAE,iBAAiB,iBAwDnB"}
@@ -1,250 +1,97 @@
1
- import enquirer from "enquirer";
1
+ import { buildBoilerplatePackageJson, runPrettier, } from "@powerhousedao/codegen/file-builders";
2
+ import { agentsTemplate, buildPowerhouseConfigTemplate, claudeSettingsLocalTemplate, claudeTemplate, cursorMcpTemplate, documentModelsIndexTemplate, documentModelsTemplate, editorsIndexTemplate, editorsTemplate, eslintConfigTemplate, geminiSettingsTemplate, gitIgnoreTemplate, indexTsTemplate, legacyIndexHtmlTemplate, licenseTemplate, mcpTemplate, npmrcTemplate, powerhouseManifestTemplate, processorsIndexTemplate, readmeTemplate, styleTemplate, subgraphsIndexTemplate, tsConfigTemplate, viteConfigTemplate, vitestConfigTemplate, } from "@powerhousedao/codegen/templates";
3
+ import chalk from "chalk";
2
4
  import fs from "node:fs";
3
5
  import path from "path";
4
- import { featureFlags } from "./feature-flags.js";
5
- import { envPackageManager, runCmd } from "./utils.js";
6
- import { parseArgs, promptDirectories } from "../utils/cli.js";
7
- const POWERHOUSE_ORG = "@powerhousedao";
8
- // Special packages that don't use the @powerhousedao organization
9
- const SPECIAL_PACKAGES = ["document-model", "document-drive", "@renown/sdk"];
10
- // Packages to exclude from version resolution (external dependencies)
11
- const EXCLUDED_PACKAGES = [
12
- "@powerhousedao/document-engineering",
13
- "@powerhousedao/scalars",
14
- "@powerhousedao/diff-analyzer",
15
- "@powerhousedao/analytics-engine-core",
16
- "@powerhousedao/analytics-engine-graphql",
17
- "@powerhousedao/analytics-engine-pg",
18
- "@powerhousedao/analytics-engine-browser",
19
- "@powerhousedao/analytics-engine-knex",
20
- ];
21
- // Version tags that should be resolved to actual versions
22
- const VERSION_TAGS = ["dev", "staging", "latest"];
23
- /**
24
- * Checks if a version string is a tag that should be resolved
25
- */
26
- function isVersionTag(version) {
27
- return VERSION_TAGS.includes(version);
28
- }
29
- /**
30
- * Gets the installed version of a package from node_modules
31
- */
32
- function getInstalledVersion(appPath, packageName) {
33
- try {
34
- const packageJsonPath = path.join(appPath, "node_modules", packageName, "package.json");
35
- if (fs.existsSync(packageJsonPath)) {
36
- const pkg = JSON.parse(fs.readFileSync(packageJsonPath, "utf-8"));
37
- return pkg.version ?? null;
38
- }
39
- }
40
- catch {
41
- // Ignore errors reading package.json
42
- }
43
- return null;
44
- }
45
- /**
46
- * Resolves version tags (dev, staging, latest) to actual installed versions in package.json
47
- */
48
- function resolveVersionTags(appPath) {
49
- const packageJsonPath = path.join(appPath, "package.json");
50
- const packageJson = JSON.parse(fs.readFileSync(packageJsonPath, "utf-8"));
51
- let hasChanges = false;
52
- const processSection = (deps) => {
53
- if (!deps)
54
- return;
55
- for (const [pkg, version] of Object.entries(deps)) {
56
- // Check if this is a Powerhouse package
57
- const isPowerhouseOrg = pkg.startsWith(POWERHOUSE_ORG + "/");
58
- const isSpecialPackage = SPECIAL_PACKAGES.includes(pkg);
59
- const isExcluded = EXCLUDED_PACKAGES.includes(pkg);
60
- if ((isPowerhouseOrg || isSpecialPackage) && !isExcluded) {
61
- // Check if the version is a tag that should be resolved
62
- if (isVersionTag(version)) {
63
- const installedVersion = getInstalledVersion(appPath, pkg);
64
- if (installedVersion) {
65
- // Add ^ prefix to allow semver range updates with ph update
66
- deps[pkg] = `^${installedVersion}`;
67
- hasChanges = true;
68
- console.log(` ${pkg}: ${version} → ^${installedVersion}`);
69
- }
70
- }
71
- }
72
- }
73
- };
74
- console.log("\x1b[34m", "Resolving version tags...", "\x1b[0m");
75
- processSection(packageJson.dependencies);
76
- processSection(packageJson.devDependencies);
77
- if (hasChanges) {
78
- fs.writeFileSync(packageJsonPath, JSON.stringify(packageJson, null, 2), "utf8");
79
- console.log("\x1b[32m", "Version tags resolved successfully!", "\x1b[0m");
80
- }
81
- else {
82
- console.log(" No version tags to resolve");
83
- }
84
- }
85
- const BOILERPLATE_REPO = "https://github.com/powerhouse-inc/document-model-boilerplate.git";
86
- const defaultDirectories = {
87
- documentModelsDir: "./document-models",
88
- editorsDir: "./editors",
89
- };
90
- export const createCommandSpec = {
91
- "--name": String,
92
- "--project-name": "--name",
93
- "--branch": String,
94
- "--tag": String,
95
- "--interactive": Boolean,
96
- "--dev": Boolean,
97
- "--staging": Boolean,
98
- "-p": "--name",
99
- "-b": "--branch",
100
- "-t": "--tag",
101
- "--package-manager": String,
102
- };
103
- const { prompt } = enquirer;
104
- function buildPackageJson(appPath, projectName) {
105
- const packageJson = JSON.parse(fs.readFileSync(path.join(appPath, "package.json"), "utf-8"));
106
- const newPackage = {
107
- ...packageJson,
108
- name: projectName,
109
- version: "1.0.0",
110
- description: "",
111
- };
112
- fs.writeFileSync(path.join(appPath, "package.json"), JSON.stringify(newPackage, null, 2), "utf8");
113
- }
114
- function buildPowerhouseConfig(appPath, documentModelsDir, editorsDir, vetraDriveUrl) {
115
- const filePath = path.join(appPath, "powerhouse.config.json");
116
- const packageJson = JSON.parse(fs.readFileSync(filePath, "utf-8"));
117
- const newPackage = {
118
- ...packageJson,
119
- documentModelsDir,
120
- editorsDir,
121
- };
122
- // Add vetra configuration if vetraDriveUrl is provided
123
- if (vetraDriveUrl) {
124
- const driveId = vetraDriveUrl.split("/").pop();
125
- newPackage.vetra = {
126
- driveId: driveId ?? "",
127
- driveUrl: vetraDriveUrl,
128
- };
129
- }
130
- fs.writeFileSync(filePath, JSON.stringify(newPackage, null, 2), "utf8");
131
- }
132
- function buildIndex(appPath, documentModelsDir, editorsDir) {
133
- fs.writeFileSync(path.join(appPath, "index.ts"), `import type { Manifest } from "document-model";
134
- import manifestJson from "./powerhouse.manifest.json" with { type: "json" };
135
- import * as documentModelsExports from '${documentModelsDir}/index.js';
136
- import * as editorsExports from '${editorsDir}/index.js';
137
-
138
- export const manifest: Manifest = manifestJson;
139
- export const documentModels = Object.values(documentModelsExports);
140
- export const editors = Object.values(editorsExports);
141
- `, "utf8");
142
- }
143
- export function parseTag(args) {
144
- if (args.tag) {
145
- return args.tag;
146
- }
147
- if (args.dev) {
148
- return "dev";
149
- }
150
- else if (args.staging) {
151
- return "staging";
152
- }
153
- else {
154
- return "main";
155
- }
156
- }
157
- function parseTagArgs(args) {
158
- return parseTag({
159
- tag: args["--tag"],
160
- dev: args["--dev"],
161
- staging: args["--staging"],
162
- });
163
- }
164
- export function initCli() {
165
- const args = parseArgs(process.argv.slice(2), createCommandSpec);
166
- const options = {
167
- name: args["--name"] ?? args._.shift(),
168
- interactive: args["--interactive"] ?? false,
169
- tag: parseTagArgs(args),
170
- branch: args["--branch"],
171
- };
172
- return createProject(options);
173
- }
174
- export async function createProject(options) {
175
- // checks if a project name was provided
176
- let projectName = options.name;
177
- if (!projectName) {
178
- const result = await prompt([
179
- {
180
- type: "input",
181
- name: "projectName",
182
- message: "What is the project name?",
183
- required: true,
184
- result: (value) => value.toLowerCase().trim().replace(/\s+/g, "-"),
185
- },
186
- ]);
187
- if (!result.projectName) {
188
- console.log("\x1b[31m", "You have to provide name to your app.");
189
- process.exit(1);
190
- }
191
- projectName = result.projectName;
192
- }
193
- let documentModelsDir = defaultDirectories.documentModelsDir;
194
- let editorsDir = defaultDirectories.editorsDir;
195
- if (featureFlags.allowCustomDirectories && options.interactive) {
196
- const result = await promptDirectories(defaultDirectories);
197
- documentModelsDir = result.documentModelsDir;
198
- editorsDir = result.editorsDir;
199
- }
200
- const appPath = path.join(process.cwd(), projectName);
6
+ import { runCmd, writeFileEnsuringDir } from "./utils.js";
7
+ export async function createProject({ name, packageManager, tag, version, remoteDrive, }) {
8
+ const appPath = path.join(process.cwd(), name);
201
9
  try {
202
10
  fs.mkdirSync(appPath);
203
11
  }
204
12
  catch (err) {
205
13
  if (err.code === "EEXIST") {
206
- console.log("\x1b[31m", `The folder ${projectName} already exists in the current directory, please give it another name.`, "\x1b[0m");
14
+ console.error(`⛔ The folder "${name}" already exists in the current directory, please give it another name.`);
207
15
  }
208
16
  else {
209
- console.log(err);
17
+ console.error(err);
210
18
  }
211
19
  process.exit(1);
212
20
  }
213
- handleCreateProject(projectName, documentModelsDir, editorsDir, options.tag, options.branch, options.packageManager, options.vetraDriveUrl);
214
- }
215
- function handleCreateProject(projectName, documentModelsDir, editorsDir, tag = "main", branch, packageManager, vetraDriveUrl) {
216
- branch = branch ?? tag;
217
- packageManager = packageManager ?? envPackageManager;
218
21
  try {
219
- console.log("\x1b[33m", "Downloading the project structure...", "\x1b[0m");
220
- runCmd(`git clone --depth 1 -b ${branch} ${BOILERPLATE_REPO} ${projectName}`);
221
- const appPath = path.join(process.cwd(), projectName);
22
+ // Create a new directory for the project
23
+ console.log(chalk.blue(`▶️ Creating directory for project "${name}"...\n`));
24
+ const appPath = path.join(process.cwd(), name);
222
25
  process.chdir(appPath);
223
- console.log("\x1b[34m", `Installing dependencies with ${packageManager}...`, "\x1b[0m");
224
- runCmd(`${packageManager} install --loglevel error`);
225
- // Resolve version tags (dev, staging, latest) to actual installed versions
226
- resolveVersionTags(appPath);
227
- fs.rmSync(path.join(appPath, "./.git"), { recursive: true });
228
- runCmd(`git init -b ${tag}`);
229
- try {
230
- fs.mkdirSync(path.join(appPath, documentModelsDir));
231
- fs.writeFileSync(path.join(appPath, documentModelsDir, "index.ts"), "");
232
- fs.mkdirSync(path.join(appPath, editorsDir));
233
- fs.writeFileSync(path.join(appPath, editorsDir, "index.ts"), "");
234
- }
235
- catch (error) {
236
- if (!error.message.includes("EEXIST")) {
237
- throw error;
238
- }
239
- }
240
- buildPackageJson(appPath, projectName);
241
- buildPowerhouseConfig(appPath, documentModelsDir, editorsDir, vetraDriveUrl);
242
- buildIndex(appPath, documentModelsDir, editorsDir);
243
- console.log("\x1b[32m", "The installation is done!", "\x1b[0m");
244
- console.log();
26
+ console.log(chalk.green(`✅ Project directory created\n`));
27
+ // Create a .gitignore file, then initialize the git repository
28
+ console.log(chalk.blue(`▶️ Initializing git repository...\n`));
29
+ await writeFileEnsuringDir(".gitignore", gitIgnoreTemplate);
30
+ runCmd(`git init`);
31
+ console.log(chalk.green(`\n✅ Git repository initialized\n`));
32
+ // Write the boilerplate files for the project
33
+ console.log(chalk.blue(`▶️ Creating project boilerplate files...\n`));
34
+ await writeProjectRootFiles({ name, tag, version, remoteDrive });
35
+ await writeModuleFiles();
36
+ await writeAiConfigFiles();
37
+ console.log(chalk.green(`✅ Project boilerplate files created\n`));
38
+ // Install the project dependencies with the specified package manager
39
+ console.log(chalk.blue(`▶️ Installing project dependencies with ${packageManager}...\n`));
40
+ runCmd(`${packageManager} install`);
41
+ console.log(chalk.green(`\n✅ Project dependencies installed\n`));
42
+ // Use the installed version of `prettier` to format the generated code
43
+ console.log(chalk.blue(`▶️ Formatting boilerplate project files...\n`));
44
+ await runPrettier();
45
+ console.log(chalk.green(`✅ Boilerplate files formatted\n`));
46
+ // Project creation complete
47
+ console.log(chalk.bold(`🎉 Successfully created project "${name}" 🎉\n`));
245
48
  }
246
49
  catch (error) {
247
- console.log(error);
50
+ console.error(error);
51
+ process.exit(1);
248
52
  }
249
53
  }
54
+ async function writeProjectRootFiles(args) {
55
+ const { name, tag, version, remoteDrive } = args;
56
+ await writeFileEnsuringDir("LICENSE", licenseTemplate);
57
+ await writeFileEnsuringDir("README.md", readmeTemplate);
58
+ await writeFileEnsuringDir(".npmrc", npmrcTemplate);
59
+ const packageJson = await buildBoilerplatePackageJson({
60
+ name,
61
+ tag,
62
+ version,
63
+ });
64
+ const powerhouseManifest = powerhouseManifestTemplate(name);
65
+ await writeFileEnsuringDir("powerhouse.manifest.json", powerhouseManifest);
66
+ const powerhouseConfig = await buildPowerhouseConfigTemplate({
67
+ tag,
68
+ version,
69
+ remoteDrive,
70
+ });
71
+ await writeFileEnsuringDir("powerhouse.config.json", powerhouseConfig);
72
+ await writeFileEnsuringDir("package.json", packageJson);
73
+ await writeFileEnsuringDir("tsconfig.json", tsConfigTemplate);
74
+ await writeFileEnsuringDir("index.html", legacyIndexHtmlTemplate);
75
+ await writeFileEnsuringDir("eslint.config.js", eslintConfigTemplate);
76
+ await writeFileEnsuringDir("index.ts", indexTsTemplate);
77
+ await writeFileEnsuringDir("style.css", styleTemplate);
78
+ await writeFileEnsuringDir("vite.config.ts", viteConfigTemplate);
79
+ await writeFileEnsuringDir("vitest.config.ts", vitestConfigTemplate);
80
+ }
81
+ async function writeModuleFiles() {
82
+ await writeFileEnsuringDir("document-models/document-models.ts", documentModelsTemplate);
83
+ await writeFileEnsuringDir("document-models/index.ts", documentModelsIndexTemplate);
84
+ await writeFileEnsuringDir("editors/editors.ts", editorsTemplate);
85
+ await writeFileEnsuringDir("editors/index.ts", editorsIndexTemplate);
86
+ await writeFileEnsuringDir("processors/index.ts", processorsIndexTemplate);
87
+ await writeFileEnsuringDir("subgraphs/index.ts", subgraphsIndexTemplate);
88
+ }
89
+ async function writeAiConfigFiles() {
90
+ await writeFileEnsuringDir("CLAUDE.md", claudeTemplate);
91
+ await writeFileEnsuringDir("AGENTS.md", agentsTemplate);
92
+ await writeFileEnsuringDir(".mcp.json", mcpTemplate);
93
+ await writeFileEnsuringDir(".gemini/settings.json", geminiSettingsTemplate);
94
+ await writeFileEnsuringDir(".cursor/mcp.json", cursorMcpTemplate);
95
+ await writeFileEnsuringDir(".claude/settings.local.json", claudeSettingsLocalTemplate);
96
+ }
250
97
  //# sourceMappingURL=create-project.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"create-project.js","sourceRoot":"","sources":["../../../src/create-lib/create-project.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"create-project.js","sourceRoot":"","sources":["../../../src/create-lib/create-project.ts"],"names":[],"mappings":"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"}
@@ -3,5 +3,6 @@ export type PackageManager = (typeof packageManagers)[number];
3
3
  export declare function getPackageManager(userAgent?: string): PackageManager;
4
4
  export declare const envPackageManager: "npm" | "yarn" | "pnpm" | "bun";
5
5
  export declare function runCmd(command: string): void;
6
+ export declare function writeFileEnsuringDir(filePath: string, contents: string | Buffer): Promise<void>;
6
7
  export {};
7
8
  //# sourceMappingURL=utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/create-lib/utils.ts"],"names":[],"mappings":"AAEA,QAAA,MAAM,eAAe,yCAA0C,CAAC;AAGhE,MAAM,MAAM,cAAc,GAAG,CAAC,OAAO,eAAe,CAAC,CAAC,MAAM,CAAC,CAAC;AAE9D,wBAAgB,iBAAiB,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,cAAc,CAcpE;AAED,eAAO,MAAM,iBAAiB,iCAE7B,CAAC;AAEF,wBAAgB,MAAM,CAAC,OAAO,EAAE,MAAM,QAOrC"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/create-lib/utils.ts"],"names":[],"mappings":"AAIA,QAAA,MAAM,eAAe,yCAA0C,CAAC;AAGhE,MAAM,MAAM,cAAc,GAAG,CAAC,OAAO,eAAe,CAAC,CAAC,MAAM,CAAC,CAAC;AAE9D,wBAAgB,iBAAiB,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,cAAc,CAcpE;AAED,eAAO,MAAM,iBAAiB,iCAE7B,CAAC;AAEF,wBAAgB,MAAM,CAAC,OAAO,EAAE,MAAM,QAOrC;AAED,wBAAsB,oBAAoB,CACxC,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,GAAG,MAAM,iBAI1B"}
@@ -1,4 +1,6 @@
1
1
  import { execSync } from "child_process";
2
+ import { mkdir, writeFile } from "node:fs/promises";
3
+ import { dirname } from "node:path";
2
4
  const packageManagers = ["npm", "yarn", "pnpm", "bun"];
3
5
  const defaultPackageManager = "npm";
4
6
  export function getPackageManager(userAgent) {
@@ -25,4 +27,8 @@ export function runCmd(command) {
25
27
  throw error;
26
28
  }
27
29
  }
30
+ export async function writeFileEnsuringDir(filePath, contents) {
31
+ await mkdir(dirname(filePath), { recursive: true });
32
+ await writeFile(filePath, contents, { encoding: "utf-8" });
33
+ }
28
34
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/create-lib/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC,MAAM,eAAe,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,CAAU,CAAC;AAChE,MAAM,qBAAqB,GAAG,KAAK,CAAC;AAIpC,MAAM,UAAU,iBAAiB,CAAC,SAAkB;IAClD,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,OAAO,qBAAqB,CAAC;IAC/B,CAAC;IAED,MAAM,OAAO,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACxC,MAAM,UAAU,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACtC,MAAM,IAAI,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;IAE3B,IAAI,eAAe,CAAC,QAAQ,CAAC,IAAsB,CAAC,EAAE,CAAC;QACrD,OAAO,IAAsB,CAAC;IAChC,CAAC;SAAM,CAAC;QACN,OAAO,qBAAqB,CAAC;IAC/B,CAAC;AACH,CAAC;AAED,MAAM,CAAC,MAAM,iBAAiB,GAAG,iBAAiB,CAChD,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAClC,CAAC;AAEF,MAAM,UAAU,MAAM,CAAC,OAAe;IACpC,IAAI,CAAC;QACH,QAAQ,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;IAC1C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;QAC1C,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/create-lib/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,MAAM,eAAe,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,CAAU,CAAC;AAChE,MAAM,qBAAqB,GAAG,KAAK,CAAC;AAIpC,MAAM,UAAU,iBAAiB,CAAC,SAAkB;IAClD,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,OAAO,qBAAqB,CAAC;IAC/B,CAAC;IAED,MAAM,OAAO,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACxC,MAAM,UAAU,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACtC,MAAM,IAAI,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;IAE3B,IAAI,eAAe,CAAC,QAAQ,CAAC,IAAsB,CAAC,EAAE,CAAC;QACrD,OAAO,IAAsB,CAAC;IAChC,CAAC;SAAM,CAAC;QACN,OAAO,qBAAqB,CAAC;IAC/B,CAAC;AACH,CAAC;AAED,MAAM,CAAC,MAAM,iBAAiB,GAAG,iBAAiB,CAChD,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAClC,CAAC;AAEF,MAAM,UAAU,MAAM,CAAC,OAAe;IACpC,IAAI,CAAC;QACH,QAAQ,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;IAC1C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;QAC1C,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,QAAgB,EAChB,QAAyB;IAEzB,MAAM,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACpD,MAAM,SAAS,CAAC,QAAQ,EAAE,QAAQ,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;AAC7D,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=build-package-json.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"build-package-json.test.d.ts","sourceRoot":"","sources":["../../../../src/file-builders/boilerplate/build-package-json.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,25 @@
1
+ import { describe, test } from "vitest";
2
+ import { buildBoilerplatePackageJson } from "./package.json.js";
3
+ describe("Build boilerplate package.json file", () => {
4
+ test("Should build a versioned boilerplate with version", async () => {
5
+ const name = "test-project";
6
+ const version = "5.0.1";
7
+ const packageJson = await buildBoilerplatePackageJson({
8
+ name,
9
+ version,
10
+ });
11
+ console.log(packageJson);
12
+ });
13
+ test("Should build a versioned boilerplate with tag", { timeout: 100000 }, async () => {
14
+ const name = "test-project";
15
+ const testTags = ["", "latest", "dev", "staging"];
16
+ for (const tag of testTags) {
17
+ const packageJson = await buildBoilerplatePackageJson({
18
+ name,
19
+ tag,
20
+ });
21
+ console.log(packageJson);
22
+ }
23
+ });
24
+ });
25
+ //# sourceMappingURL=build-package-json.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"build-package-json.test.js","sourceRoot":"","sources":["../../../../src/file-builders/boilerplate/build-package-json.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AACxC,OAAO,EAAE,2BAA2B,EAAE,MAAM,mBAAmB,CAAC;AAEhE,QAAQ,CAAC,qCAAqC,EAAE,GAAG,EAAE;IACnD,IAAI,CAAC,mDAAmD,EAAE,KAAK,IAAI,EAAE;QACnE,MAAM,IAAI,GAAG,cAAc,CAAC;QAC5B,MAAM,OAAO,GAAG,OAAO,CAAC;QACxB,MAAM,WAAW,GAAG,MAAM,2BAA2B,CAAC;YACpD,IAAI;YACJ,OAAO;SACR,CAAC,CAAC;QACH,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IAC3B,CAAC,CAAC,CAAC;IACH,IAAI,CACF,+CAA+C,EAC/C,EAAE,OAAO,EAAE,MAAM,EAAE,EACnB,KAAK,IAAI,EAAE;QACT,MAAM,IAAI,GAAG,cAAc,CAAC;QAC5B,MAAM,QAAQ,GAAG,CAAC,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,CAAa,CAAC;QAC9D,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;YAC3B,MAAM,WAAW,GAAG,MAAM,2BAA2B,CAAC;gBACpD,IAAI;gBACJ,GAAG;aACJ,CAAC,CAAC;YACH,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QAC3B,CAAC;IACH,CAAC,CACF,CAAC;AACJ,CAAC,CAAC,CAAC"}
@@ -0,0 +1,3 @@
1
+ export declare const VERSIONED_DEPENDENCIES: string[];
2
+ export declare const VERSIONED_DEV_DEPENDENCIES: string[];
3
+ //# sourceMappingURL=constants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../src/file-builders/boilerplate/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,sBAAsB,UAMlC,CAAC;AAEF,eAAO,MAAM,0BAA0B,UAUtC,CAAC"}
@@ -0,0 +1,19 @@
1
+ export const VERSIONED_DEPENDENCIES = [
2
+ "@powerhousedao/common",
3
+ "@powerhousedao/design-system",
4
+ "@powerhousedao/vetra",
5
+ "@powerhousedao/builder-tools",
6
+ "document-model",
7
+ ];
8
+ export const VERSIONED_DEV_DEPENDENCIES = [
9
+ "@powerhousedao/codegen",
10
+ "@powerhousedao/config",
11
+ "@powerhousedao/ph-cli",
12
+ "@powerhousedao/reactor-api",
13
+ "@powerhousedao/reactor-browser",
14
+ "@powerhousedao/reactor-local",
15
+ "@powerhousedao/switchboard",
16
+ "@powerhousedao/connect",
17
+ "document-drive",
18
+ ];
19
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../src/file-builders/boilerplate/constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,sBAAsB,GAAG;IACpC,uBAAuB;IACvB,8BAA8B;IAC9B,sBAAsB;IACtB,8BAA8B;IAC9B,gBAAgB;CACjB,CAAC;AAEF,MAAM,CAAC,MAAM,0BAA0B,GAAG;IACxC,wBAAwB;IACxB,uBAAuB;IACvB,uBAAuB;IACvB,4BAA4B;IAC5B,gCAAgC;IAChC,8BAA8B;IAC9B,4BAA4B;IAC5B,wBAAwB;IACxB,gBAAgB;CACjB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=package-json-versions.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"package-json-versions.test.d.ts","sourceRoot":"","sources":["../../../../src/file-builders/boilerplate/package-json-versions.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,34 @@
1
+ import { describe, expect, test } from "vitest";
2
+ import { fetchNpmVersionFromRegistryForTag } from "../utils.js";
3
+ import { VERSIONED_DEPENDENCIES, VERSIONED_DEV_DEPENDENCIES, } from "./constants.js";
4
+ const powerhousePackages = [
5
+ ...VERSIONED_DEPENDENCIES,
6
+ ...VERSIONED_DEV_DEPENDENCIES,
7
+ ];
8
+ describe("Fetch npm version for package at tag from npm registry", () => {
9
+ test("Fetch versions without specified tag", { timeout: 15000 }, async () => {
10
+ const powerhousePackageVersionsWithoutSpecifiedTag = await Promise.all(powerhousePackages.map((packageName) => fetchNpmVersionFromRegistryForTag(packageName, "")));
11
+ console.log({ powerhousePackageVersionsWithoutSpecifiedTag });
12
+ expect(powerhousePackageVersionsWithoutSpecifiedTag.length).toEqual(powerhousePackages.length);
13
+ expect(new Set(powerhousePackageVersionsWithoutSpecifiedTag).size).toBe(1);
14
+ });
15
+ test("Fetch versions @latest", { timeout: 15000 }, async () => {
16
+ const powerhousePackageVersionsAtLatest = await Promise.all(powerhousePackages.map((packageName) => fetchNpmVersionFromRegistryForTag(packageName, "latest")));
17
+ console.log({ powerhousePackageVersionsAtLatest });
18
+ expect(powerhousePackageVersionsAtLatest.length).toEqual(powerhousePackages.length);
19
+ expect(new Set(powerhousePackageVersionsAtLatest).size).toBe(1);
20
+ });
21
+ test("Fetch versions @dev", { timeout: 15000 }, async () => {
22
+ const powerhousePackageVersionsAtDev = await Promise.all(powerhousePackages.map((packageName) => fetchNpmVersionFromRegistryForTag(packageName, "dev")));
23
+ console.log({ powerhousePackageVersionsAtDev });
24
+ expect(powerhousePackageVersionsAtDev.length).toEqual(powerhousePackages.length);
25
+ expect(new Set(powerhousePackageVersionsAtDev).size).toBe(1);
26
+ });
27
+ test("Fetch versions @staging", { timeout: 15000 }, async () => {
28
+ const powerhousePackageVersionsAtStaging = await Promise.all(powerhousePackages.map((packageName) => fetchNpmVersionFromRegistryForTag(packageName, "staging")));
29
+ console.log({ powerhousePackageVersionsAtStaging });
30
+ expect(powerhousePackageVersionsAtStaging.length).toEqual(powerhousePackages.length);
31
+ expect(new Set(powerhousePackageVersionsAtStaging).size).toBe(1);
32
+ });
33
+ });
34
+ //# sourceMappingURL=package-json-versions.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"package-json-versions.test.js","sourceRoot":"","sources":["../../../../src/file-builders/boilerplate/package-json-versions.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ export declare function buildBoilerplatePackageJson(args: {
2
+ name: string;
3
+ tag?: string;
4
+ version?: string;
5
+ }): Promise<string>;
6
+ //# sourceMappingURL=package.json.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"package.json.d.ts","sourceRoot":"","sources":["../../../../src/file-builders/boilerplate/package.json.ts"],"names":[],"mappings":"AAOA,wBAAsB,2BAA2B,CAAC,IAAI,EAAE;IACtD,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,mBAoBA"}
@@ -0,0 +1,19 @@
1
+ import { packageJsonTemplate } from "@powerhousedao/codegen/templates";
2
+ import { makeVersionedDependencies } from "../utils.js";
3
+ import { VERSIONED_DEPENDENCIES, VERSIONED_DEV_DEPENDENCIES, } from "./constants.js";
4
+ export async function buildBoilerplatePackageJson(args) {
5
+ const { name, tag, version } = args;
6
+ const versionedDependencies = await makeVersionedDependencies({
7
+ names: VERSIONED_DEPENDENCIES,
8
+ tag,
9
+ version,
10
+ });
11
+ const versionedDevDependencies = await makeVersionedDependencies({
12
+ names: VERSIONED_DEV_DEPENDENCIES,
13
+ tag,
14
+ version,
15
+ });
16
+ const template = packageJsonTemplate(name, versionedDependencies, versionedDevDependencies);
17
+ return template;
18
+ }
19
+ //# sourceMappingURL=package.json.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"package.json.js","sourceRoot":"","sources":["../../../../src/file-builders/boilerplate/package.json.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AACvE,OAAO,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AACxD,OAAO,EACL,sBAAsB,EACtB,0BAA0B,GAC3B,MAAM,gBAAgB,CAAC;AAExB,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAAC,IAIjD;IACC,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IACpC,MAAM,qBAAqB,GAAG,MAAM,yBAAyB,CAAC;QAC5D,KAAK,EAAE,sBAAsB;QAC7B,GAAG;QACH,OAAO;KACR,CAAC,CAAC;IACH,MAAM,wBAAwB,GAAG,MAAM,yBAAyB,CAAC;QAC/D,KAAK,EAAE,0BAA0B;QACjC,GAAG;QACH,OAAO;KACR,CAAC,CAAC;IAEH,MAAM,QAAQ,GAAG,mBAAmB,CAClC,IAAI,EACJ,qBAAqB,EACrB,wBAAwB,CACzB,CAAC;IAEF,OAAO,QAAQ,CAAC;AAClB,CAAC"}