create-baeta 0.0.1 → 0.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # create-baeta
2
2
 
3
+ ## 0.0.2
4
+
5
+ ### Patch Changes
6
+
7
+ - [#184](https://github.com/andreisergiu98/baeta/pull/184) [`bf2d1a3`](https://github.com/andreisergiu98/baeta/commit/bf2d1a326235e5f34e723a5acc81cd7b974b913b) Thanks [@andreisergiu98](https://github.com/andreisergiu98)! - add runtime selector
8
+
3
9
  ## 0.0.1
4
10
 
5
11
  ### Patch Changes
package/dist/cli.js CHANGED
@@ -14,12 +14,13 @@ var lockfileNames = {
14
14
  bun: "bun.lockb"
15
15
  };
16
16
  var packageManagers = Object.keys(lockfileNames);
17
+ var defaultJavaScriptRuntime = "node";
17
18
  var gitignoreUrl = "https://raw.githubusercontent.com/github/gitignore/refs/heads/main/Node.gitignore";
18
19
 
19
20
  // lib/handler.ts
20
21
  import path4 from "node:path";
21
- import { logger as logger4 } from "@docusaurus/logger";
22
- import shell2 from "shelljs";
22
+ import { logger as logger5 } from "@docusaurus/logger";
23
+ import shell3 from "shelljs";
23
24
  import supportsColor from "supports-color";
24
25
 
25
26
  // lib/app-name.ts
@@ -143,12 +144,39 @@ function getInstallCommand(pkgManager) {
143
144
  return `${pkgManager} install --color always`;
144
145
  }
145
146
 
147
+ // lib/runtime.ts
148
+ import { logger as logger3 } from "@docusaurus/logger";
149
+ import prompts3 from "prompts";
150
+ import shell2 from "shelljs";
151
+ async function getRuntime() {
152
+ const hasBun = shell2.exec("bun --version", { silent: true }).code === 0;
153
+ const hasDeno = shell2.exec("deno --version", { silent: true }).code === 0;
154
+ if (!hasDeno && !hasBun) {
155
+ return "node";
156
+ }
157
+ const choices = ["node", hasBun && "bun", hasDeno && "deno"].filter((p) => Boolean(p)).map((p) => ({ title: p, value: p }));
158
+ const runtime = await prompts3(
159
+ {
160
+ type: "select",
161
+ name: "runtime",
162
+ message: "Select a runtime...",
163
+ choices
164
+ },
165
+ {
166
+ onCancel() {
167
+ logger3.info`Falling back to name=${defaultJavaScriptRuntime}`;
168
+ }
169
+ }
170
+ ).then((result) => result.runtime);
171
+ return runtime ?? defaultJavaScriptRuntime;
172
+ }
173
+
146
174
  // lib/templates.ts
147
175
  import path3, { join } from "node:path";
148
176
  import { fileURLToPath } from "node:url";
149
- import { logger as logger3 } from "@docusaurus/logger";
177
+ import { logger as logger4 } from "@docusaurus/logger";
150
178
  import fs3 from "fs-extra";
151
- import prompts3 from "prompts";
179
+ import prompts4 from "prompts";
152
180
 
153
181
  // meta/apollo/package.json
154
182
  var package_default = {
@@ -158,7 +186,7 @@ var package_default = {
158
186
  type: "module",
159
187
  scripts: {
160
188
  build: "baeta build --generate",
161
- start: "baeta build --watch --generate --onSuccess='node --enable-source-maps --inspect dist/app'"
189
+ start: "baeta build --watch --generate --onSuccess='node --enable-source-maps --inspect dist/app.js'"
162
190
  },
163
191
  dependencies: {
164
192
  "@apollo/server": "^4.11.2",
@@ -171,6 +199,8 @@ var package_default = {
171
199
  "@baeta/cli": "workspace:^",
172
200
  "@baeta/compiler": "workspace:^",
173
201
  "@baeta/plugin-autoload": "workspace:^",
202
+ "@types/bun": "^1.1.14",
203
+ "@types/deno": "^2.0.0",
174
204
  "@types/node": "^22.10.1",
175
205
  typescript: "^5.7.2"
176
206
  }
@@ -184,7 +214,7 @@ var package_default2 = {
184
214
  type: "module",
185
215
  scripts: {
186
216
  build: "baeta build --generate",
187
- start: "baeta build --watch --generate --onSuccess='node --enable-source-maps --inspect dist/app'"
217
+ start: "baeta build --watch --generate --onSuccess='node --enable-source-maps --inspect dist/app.js'"
188
218
  },
189
219
  dependencies: {
190
220
  "@baeta/core": "workspace:^",
@@ -197,6 +227,8 @@ var package_default2 = {
197
227
  "@baeta/cli": "workspace:^",
198
228
  "@baeta/compiler": "workspace:^",
199
229
  "@baeta/plugin-autoload": "workspace:^",
230
+ "@types/bun": "^1.1.14",
231
+ "@types/deno": "^2.0.0",
200
232
  "@types/node": "^22.10.1",
201
233
  typescript: "^5.7.2"
202
234
  }
@@ -204,10 +236,10 @@ var package_default2 = {
204
236
 
205
237
  // versions.json
206
238
  var versions_default = {
207
- "@baeta/cli": "1.0.4",
239
+ "@baeta/cli": "1.0.5",
208
240
  "@baeta/compiler": "0.1.4",
209
241
  "@baeta/core": "0.1.5",
210
- "create-baeta": "0.0.1",
242
+ "create-baeta": "0.0.2",
211
243
  "@baeta/directives": "1.0.5",
212
244
  "@baeta/env": "0.1.3",
213
245
  "@baeta/errors": "0.1.4",
@@ -218,17 +250,17 @@ var versions_default = {
218
250
  "@baeta/extension-cache-redis": "0.0.5",
219
251
  "@baeta/extension-cache-upstash": "0.0.5",
220
252
  "@baeta/extension-complexity": "0.0.4",
221
- "@baeta/generator": "0.1.4",
222
- "@baeta/generator-sdk": "0.1.4",
253
+ "@baeta/generator": "0.1.5",
254
+ "@baeta/generator-sdk": "0.1.5",
223
255
  "@baeta/plugin": "0.1.4",
224
- "@baeta/plugin-autoload": "0.1.4",
225
- "@baeta/plugin-cloudflare": "1.0.5",
226
- "@baeta/plugin-directives": "1.0.5",
227
- "@baeta/plugin-exec": "0.1.4",
228
- "@baeta/plugin-gitignore": "0.1.4",
229
- "@baeta/plugin-graphql": "0.1.4",
230
- "@baeta/plugin-pagination": "0.1.4",
231
- "@baeta/plugin-prisma": "0.1.4",
256
+ "@baeta/plugin-autoload": "0.1.5",
257
+ "@baeta/plugin-cloudflare": "1.0.6",
258
+ "@baeta/plugin-directives": "1.0.6",
259
+ "@baeta/plugin-exec": "0.1.5",
260
+ "@baeta/plugin-gitignore": "0.1.5",
261
+ "@baeta/plugin-graphql": "0.1.5",
262
+ "@baeta/plugin-pagination": "0.1.5",
263
+ "@baeta/plugin-prisma": "0.1.5",
232
264
  "@baeta/cloudflare-subscriptions": "0.1.4",
233
265
  "@baeta/subscriptions-pubsub": "0.0.2",
234
266
  "@baeta/util-encoding": "0.0.4",
@@ -237,6 +269,42 @@ var versions_default = {
237
269
  "@baeta/util-path": "0.1.4"
238
270
  };
239
271
 
272
+ // lib/package-json.ts
273
+ function createPackageJSON(appName, runtime, packageJson) {
274
+ const meta = structuredClone(packageJson);
275
+ for (const [dep, version2] of Object.entries(versions_default)) {
276
+ if (dep in meta.dependencies) {
277
+ meta.dependencies[dep] = version2;
278
+ } else if (dep in packageJson.devDependencies) {
279
+ meta.devDependencies[dep] = version2;
280
+ }
281
+ }
282
+ if (runtime === "node") {
283
+ meta.devDependencies["@types/bun"] = void 0;
284
+ meta.devDependencies["@types/deno"] = void 0;
285
+ }
286
+ if (runtime === "bun") {
287
+ meta.scripts.start = `baeta generate --watch --run='bun --watch --inspect src/app.ts'`;
288
+ meta.devDependencies["@types/node"] = void 0;
289
+ meta.devDependencies["@types/deno"] = void 0;
290
+ }
291
+ if (runtime === "deno") {
292
+ meta.scripts.start = `baeta generate --watch --run='deno --watch --allow-env --allow-read --allow-net src/app.ts'`;
293
+ meta.devDependencies["@types/node"] = void 0;
294
+ meta.devDependencies["@types/bun"] = void 0;
295
+ }
296
+ meta.name = appName;
297
+ return JSON.stringify(meta, null, 2);
298
+ }
299
+ function getPackageJson(appName, runtime, templateName) {
300
+ if (templateName === "yoga") {
301
+ return createPackageJSON(appName, runtime, package_default2);
302
+ }
303
+ if (templateName === "apollo") {
304
+ return createPackageJSON(appName, runtime, package_default);
305
+ }
306
+ }
307
+
240
308
  // ../../tools/tsconfig/tsconfig.json
241
309
  var tsconfig_default = {
242
310
  $schema: "https://json.schemastore.org/tsconfig",
@@ -279,32 +347,11 @@ function createTsconfig() {
279
347
  // lib/templates.ts
280
348
  var recommendedTemplate = "yoga";
281
349
  var templatesDir = fileURLToPath(new URL("../templates", import.meta.url));
282
- function createPackageJSON(appName, packageJson) {
283
- const meta = structuredClone(packageJson);
284
- for (const [dep, version2] of Object.entries(versions_default)) {
285
- if (dep in meta.dependencies) {
286
- meta.dependencies[dep] = version2;
287
- } else if (dep in packageJson.devDependencies) {
288
- meta.devDependencies[dep] = version2;
289
- }
290
- }
291
- meta.name = appName;
292
- return JSON.stringify(meta, null, 2);
293
- }
294
- function getPackageJson(appName, templateName) {
295
- if (templateName === "yoga") {
296
- return createPackageJSON(appName, package_default2);
297
- }
298
- if (templateName === "apollo") {
299
- return createPackageJSON(appName, package_default);
300
- }
301
- }
302
- async function readTemplates(appName) {
350
+ async function readTemplates() {
303
351
  const dirContents = await fs3.readdir(templatesDir);
304
352
  const templates = dirContents.filter((template) => template !== "shared").map((template) => ({
305
353
  name: template,
306
- path: path3.join(templatesDir, template),
307
- packageJson: getPackageJson(appName, template)
354
+ path: path3.join(templatesDir, template)
308
355
  }));
309
356
  return templates.sort(
310
357
  (a, b) => Number(a.name !== recommendedTemplate) - Number(b.name !== recommendedTemplate)
@@ -322,7 +369,7 @@ function createTemplateChoices(templates) {
322
369
  async function askTemplateChoice({
323
370
  templates
324
371
  }) {
325
- return prompts3(
372
+ return prompts4(
326
373
  {
327
374
  type: "select",
328
375
  name: "template",
@@ -331,7 +378,7 @@ async function askTemplateChoice({
331
378
  },
332
379
  {
333
380
  onCancel() {
334
- logger3.error("A choice is required.");
381
+ logger4.error("A choice is required.");
335
382
  process.exit(1);
336
383
  }
337
384
  }
@@ -349,8 +396,8 @@ async function fetchGitignore() {
349
396
  } catch (error) {
350
397
  }
351
398
  }
352
- async function getTemplate(appName, reqTemplate) {
353
- const templates = await readTemplates(appName);
399
+ async function getTemplate(reqTemplate) {
400
+ const templates = await readTemplates();
354
401
  const userProvided = reqTemplate ? templates.find((t) => t.name === reqTemplate) : null;
355
402
  const template = userProvided ?? await askTemplateChoice({ templates });
356
403
  if (!template) {
@@ -358,13 +405,14 @@ async function getTemplate(appName, reqTemplate) {
358
405
  }
359
406
  return template;
360
407
  }
361
- async function copyTemplate(template, dest) {
408
+ async function copyTemplate(appName, runtime, template, dest) {
362
409
  await fs3.copy(path3.join(templatesDir, "shared"), dest);
363
410
  await fs3.copy(template.path, dest, {
364
411
  filter: async (filePath) => !(await fs3.lstat(filePath)).isSymbolicLink()
365
412
  });
366
- if (template.packageJson) {
367
- await fs3.writeFile(join(dest, "package.json"), template.packageJson);
413
+ const packageJson = getPackageJson(appName, runtime, template.name);
414
+ if (packageJson) {
415
+ await fs3.writeFile(join(dest, "package.json"), packageJson);
368
416
  }
369
417
  await fs3.writeFile(join(dest, "tsconfig.json"), JSON.stringify(createTsconfig(), null, 2));
370
418
  const gitignore = await fetchGitignore();
@@ -377,19 +425,20 @@ async function copyTemplate(template, dest) {
377
425
  async function handler(args) {
378
426
  const appName = await getAppName(args.appName, args.rootDir);
379
427
  const dest = path4.resolve(args.rootDir, appName);
380
- const template = await getTemplate(appName, args.template);
381
- logger4.info("Creating new Baeta project...");
428
+ const template = await getTemplate(args.template);
429
+ const runtime = await getRuntime();
430
+ logger5.info("Creating new Baeta project...");
382
431
  try {
383
- await copyTemplate(template, dest);
432
+ await copyTemplate(appName, runtime, template, dest);
384
433
  } catch (err) {
385
- logger4.error`Copying Baeta template name=${template.name} failed!`;
434
+ logger5.error`Copying Baeta template name=${template.name} failed!`;
386
435
  throw err;
387
436
  }
388
437
  const pkgManager = await getPackageManager(dest, args);
389
438
  if (!args.skipInstall) {
390
- shell2.cd(dest);
391
- logger4.info`Installing dependencies with name=${pkgManager}...`;
392
- const result = shell2.exec(getInstallCommand(pkgManager), {
439
+ shell3.cd(dest);
440
+ logger5.info`Installing dependencies with name=${pkgManager}...`;
441
+ const result = shell3.exec(getInstallCommand(pkgManager), {
393
442
  env: {
394
443
  ...process.env,
395
444
  ...supportsColor.stdout ? { FORCE_COLOR: "1" } : {}
@@ -397,8 +446,8 @@ async function handler(args) {
397
446
  });
398
447
  if (result.code !== 0) {
399
448
  console.log("Dependency installation failed.");
400
- logger4.error("Dependency installation failed.");
401
- logger4.info`The app directory has already been created, and you can retry by typing:
449
+ logger5.error("Dependency installation failed.");
450
+ logger5.info`The app directory has already been created, and you can retry by typing:
402
451
 
403
452
  code=${`cd ${dest}`}
404
453
  code=${`${pkgManager} install`}`;
@@ -408,8 +457,8 @@ code=${`${pkgManager} install`}`;
408
457
  const useNpm = pkgManager === "npm";
409
458
  const useBun = pkgManager === "bun";
410
459
  const useRunCommand = useNpm || useBun;
411
- logger4.success`Created name=${dest}.`;
412
- logger4.info`Inside that directory, you can run several commands:
460
+ logger5.success`Created name=${dest}.`;
461
+ logger5.info`Inside that directory, you can run several commands:
413
462
 
414
463
  code=${`${pkgManager} start`}
415
464
  Starts the development server.
@@ -425,7 +474,7 @@ We recommend that you begin by typing:
425
474
  }
426
475
 
427
476
  // package.json
428
- var version = "0.0.1";
477
+ var version = "0.0.2";
429
478
  var engines = {
430
479
  node: ">=22.12.0"
431
480
  };
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../cli.ts","../lib/constants.ts","../lib/handler.ts","../lib/app-name.ts","../lib/package-manager.ts","../lib/templates.ts","../meta/apollo/package.json","../meta/yoga/package.json","../versions.json","../../../tools/tsconfig/tsconfig.json","../lib/tsconfig.ts","../package.json"],"sourcesContent":["#!/usr/bin/env node\n\nimport semver from 'semver';\nimport yargs from 'yargs';\nimport { hideBin } from 'yargs/helpers';\nimport { packageManagers } from './lib/constants.ts';\nimport { handler } from './lib/handler.ts';\nimport { engines, version } from './package.json';\n\nconst requiredVersion = engines.node;\n\nif (!semver.satisfies(process.version, requiredVersion)) {\n\tconsole.log('Minimum Node.js version not met :(');\n\tconsole.info`You are using Node.js number=${process.version}, Requirement: Node.js number=${requiredVersion}.`;\n\tprocess.exit(1);\n}\n\nprocess.on('unhandledRejection', (err) => {\n\tconsole.log(err);\n\tprocess.exit(1);\n});\n\nyargs(hideBin(process.argv))\n\t.version(version)\n\t.command({\n\t\tcommand: '* [appName] [template] [rootDir]',\n\t\tdescribe: 'Initialize Baeta application',\n\t\tbuilder: (yargs) => {\n\t\t\treturn yargs\n\t\t\t\t.option('package-manager', {\n\t\t\t\t\talias: 'p',\n\t\t\t\t\tdescribe: 'The package manager used to install dependencies.',\n\t\t\t\t\ttype: 'string',\n\t\t\t\t\tchoices: packageManagers,\n\t\t\t\t})\n\t\t\t\t.option('skip-install', {\n\t\t\t\t\talias: 's',\n\t\t\t\t\tdescribe: 'Do not run package manager immediately after scaffolding',\n\t\t\t\t\ttype: 'boolean',\n\t\t\t\t})\n\t\t\t\t.positional('appName', {\n\t\t\t\t\ttype: 'string',\n\t\t\t\t\tdescribe: 'Name of the app',\n\t\t\t\t})\n\t\t\t\t.positional('template', {\n\t\t\t\t\ttype: 'string',\n\t\t\t\t\tdescribe: 'Template to use',\n\t\t\t\t\tchoices: ['yoga', 'apollo'],\n\t\t\t\t})\n\t\t\t\t.positional('rootDir', {\n\t\t\t\t\ttype: 'string',\n\t\t\t\t\tdescribe: 'Root directory',\n\t\t\t\t\tdefault: '.',\n\t\t\t\t});\n\t\t},\n\t\thandler: (argv) => handler(argv),\n\t})\n\t.showHelpOnFail(true)\n\t.strict()\n\t.help()\n\t.parse();\n","export const defaultPackageManager = 'npm';\n\nexport const lockfileNames = {\n\tnpm: 'package-lock.json',\n\tyarn: 'yarn.lock',\n\tpnpm: 'pnpm-lock.yaml',\n\tbun: 'bun.lockb',\n};\n\nexport const packageManagers = Object.keys(lockfileNames) as PackageManager[];\n\nexport type PackageManager = keyof typeof lockfileNames;\n\nexport const gitignoreUrl =\n\t'https://raw.githubusercontent.com/github/gitignore/refs/heads/main/Node.gitignore';\n","import path from 'node:path';\nimport { logger } from '@docusaurus/logger';\nimport shell from 'shelljs';\nimport supportsColor from 'supports-color';\nimport { getAppName } from './app-name.ts';\nimport type { PackageManager } from './constants.ts';\nimport { getInstallCommand, getPackageManager } from './package-manager.ts';\nimport { copyTemplate, getTemplate } from './templates.ts';\n\ninterface Args {\n\tpackageManager?: PackageManager;\n\tskipInstall?: boolean;\n\tappName?: string;\n\ttemplate?: string;\n\trootDir: string;\n}\n\nexport async function handler(args: Args) {\n\tconst appName = await getAppName(args.appName, args.rootDir);\n\tconst dest = path.resolve(args.rootDir, appName);\n\n\tconst template = await getTemplate(appName, args.template);\n\n\tlogger.info('Creating new Baeta project...');\n\n\ttry {\n\t\tawait copyTemplate(template, dest);\n\t} catch (err) {\n\t\tlogger.error`Copying Baeta template name=${template.name} failed!`;\n\t\tthrow err;\n\t}\n\n\tconst pkgManager = await getPackageManager(dest, args);\n\n\tif (!args.skipInstall) {\n\t\tshell.cd(dest);\n\t\tlogger.info`Installing dependencies with name=${pkgManager}...`;\n\t\tconst result = shell.exec(getInstallCommand(pkgManager), {\n\t\t\tenv: {\n\t\t\t\t...process.env,\n\t\t\t\t...(supportsColor.stdout ? { FORCE_COLOR: '1' } : {}),\n\t\t\t},\n\t\t});\n\n\t\tif (result.code !== 0) {\n\t\t\tconsole.log('Dependency installation failed.');\n\t\t\tlogger.error('Dependency installation failed.');\n\t\t\tlogger.info`The app directory has already been created, and you can retry by typing:\n\ncode=${`cd ${dest}`}\ncode=${`${pkgManager} install`}`;\n\n\t\t\tprocess.exit(0);\n\t\t}\n\t}\n\n\tconst useNpm = pkgManager === 'npm';\n\tconst useBun = pkgManager === 'bun';\n\tconst useRunCommand = useNpm || useBun;\n\n\tlogger.success`Created name=${dest}.`;\n\n\tlogger.info`Inside that directory, you can run several commands:\n\n code=${`${pkgManager} start`}\n Starts the development server.\n\n code=${`${pkgManager} ${useRunCommand ? 'run ' : ''}build`}\n Bundles your server application.\n\nWe recommend that you begin by typing:\n\n code=${`cd ${dest}`}\n code=${`${pkgManager} start`}\n`;\n}\n","import path from 'node:path';\nimport { logger } from '@docusaurus/logger';\nimport fs from 'fs-extra';\nimport prompts from 'prompts';\n\nexport async function getAppName(reqName: string | undefined, rootDir: string): Promise<string> {\n\tasync function validateAppName(appName: string) {\n\t\tif (!appName) {\n\t\t\treturn 'An app name is required.';\n\t\t}\n\t\tconst dest = path.resolve(rootDir, appName);\n\t\tif (await fs.pathExists(dest)) {\n\t\t\treturn logger.interpolate`Directory already exists at path=${dest}!`;\n\t\t}\n\t\treturn true;\n\t}\n\n\tif (reqName) {\n\t\tconst res = await validateAppName(reqName);\n\t\tif (typeof res === 'string') {\n\t\t\tthrow new Error(res);\n\t\t}\n\t\treturn reqName;\n\t}\n\n\treturn prompts(\n\t\t{\n\t\t\ttype: 'text',\n\t\t\tname: 'appName',\n\t\t\tmessage: 'What should we name this app?',\n\t\t\tinitial: 'baeta-app',\n\t\t\tvalidate: validateAppName,\n\t\t},\n\t\t{\n\t\t\tonCancel() {\n\t\t\t\tlogger.error('An app name is required.');\n\t\t\t\tprocess.exit(1);\n\t\t\t},\n\t\t},\n\t).then((result) => (result as { appName: string }).appName);\n}\n","import path from 'node:path';\nimport { logger } from '@docusaurus/logger';\nimport fs from 'fs-extra';\nimport prompts from 'prompts';\nimport shell from 'shelljs';\nimport type { CliOptions } from './cli-options.ts';\nimport {\n\ttype PackageManager,\n\tdefaultPackageManager,\n\tlockfileNames,\n\tpackageManagers,\n} from './constants.ts';\n\nasync function findPackageManagerFromLockFile(\n\trootDir: string,\n): Promise<PackageManager | undefined> {\n\tfor (const packageManager of packageManagers) {\n\t\tconst lockFilePath = path.join(rootDir, lockfileNames[packageManager]);\n\t\tif (await fs.pathExists(lockFilePath)) {\n\t\t\treturn packageManager;\n\t\t}\n\t}\n\treturn undefined;\n}\n\nfunction findPackageManagerFromUserAgent(): PackageManager | undefined {\n\treturn packageManagers.find((packageManager) =>\n\t\tprocess.env.npm_config_user_agent?.startsWith(packageManager),\n\t);\n}\n\nasync function askForPackageManagerChoice(): Promise<PackageManager> {\n\tconst hasYarn = shell.exec('yarn --version', { silent: true }).code === 0;\n\tconst hasPnpm = shell.exec('pnpm --version', { silent: true }).code === 0;\n\tconst hasBun = shell.exec('bun --version', { silent: true }).code === 0;\n\n\tif (!hasYarn && !hasPnpm && !hasBun) {\n\t\treturn 'npm';\n\t}\n\tconst choices = ['npm', hasYarn && 'yarn', hasPnpm && 'pnpm', hasBun && 'bun']\n\t\t.filter((p): p is string => Boolean(p))\n\t\t.map((p) => ({ title: p, value: p }));\n\n\tconst manager = await prompts(\n\t\t{\n\t\t\ttype: 'select',\n\t\t\tname: 'packageManager',\n\t\t\tmessage: 'Select a package manager...',\n\t\t\tchoices,\n\t\t},\n\t\t{\n\t\t\tonCancel() {\n\t\t\t\tlogger.info`Falling back to name=${defaultPackageManager}`;\n\t\t\t},\n\t\t},\n\t).then((result) => (result as { packageManager?: PackageManager }).packageManager);\n\n\treturn manager ?? defaultPackageManager;\n}\n\nexport async function getPackageManager(\n\tdest: string,\n\t{ packageManager, skipInstall }: CliOptions,\n): Promise<PackageManager> {\n\tif (packageManager && !packageManagers.includes(packageManager)) {\n\t\tthrow new Error(\n\t\t\t`Invalid package manager choice ${packageManager}. Must be one of ${packageManagers.join(\n\t\t\t\t', ',\n\t\t\t)}`,\n\t\t);\n\t}\n\n\tconst fromLockfile = await findPackageManagerFromLockFile(dest);\n\n\tif (fromLockfile) {\n\t\treturn fromLockfile;\n\t}\n\n\tif (packageManager) {\n\t\treturn packageManager;\n\t}\n\n\tconst fromLockfileInCwd = await findPackageManagerFromLockFile('.');\n\n\tif (fromLockfileInCwd) {\n\t\treturn fromLockfileInCwd;\n\t}\n\n\tconst fromUserAgent = findPackageManagerFromUserAgent();\n\n\tif (fromUserAgent) {\n\t\treturn fromUserAgent;\n\t}\n\n\tif (skipInstall) {\n\t\treturn defaultPackageManager;\n\t}\n\n\treturn askForPackageManagerChoice();\n}\n\nexport function getInstallCommand(pkgManager: PackageManager): string {\n\tif (pkgManager === 'yarn') {\n\t\treturn 'yarn';\n\t}\n\tif (pkgManager === 'bun') {\n\t\treturn 'bun install';\n\t}\n\treturn `${pkgManager} install --color always`;\n}\n","import path, { join } from 'node:path';\nimport { fileURLToPath } from 'node:url';\nimport { logger } from '@docusaurus/logger';\nimport fs from 'fs-extra';\nimport prompts, { type Choice } from 'prompts';\nimport apolloPackageJson from '../meta/apollo/package.json';\nimport yogaPackageJson from '../meta/yoga/package.json';\nimport dependenciesVersions from '../versions.json';\nimport { gitignoreUrl } from './constants.ts';\nimport { createTsconfig } from './tsconfig.ts';\n\nconst recommendedTemplate = 'yoga';\nconst templatesDir = fileURLToPath(new URL('../templates', import.meta.url));\n\ntype Template = {\n\tname: string;\n\tpath: string;\n\tpackageJson?: string;\n};\n\nfunction createPackageJSON(\n\tappName: string,\n\tpackageJson: {\n\t\tname: string;\n\t\tdependencies: Record<string, string>;\n\t\tdevDependencies: Record<string, string>;\n\t},\n) {\n\tconst meta = structuredClone(packageJson);\n\n\tfor (const [dep, version] of Object.entries(dependenciesVersions)) {\n\t\tif (dep in meta.dependencies) {\n\t\t\tmeta.dependencies[dep] = version;\n\t\t} else if (dep in packageJson.devDependencies) {\n\t\t\tmeta.devDependencies[dep] = version;\n\t\t}\n\t}\n\n\tmeta.name = appName;\n\n\treturn JSON.stringify(meta, null, 2);\n}\n\nfunction getPackageJson(appName: string, templateName: string) {\n\tif (templateName === 'yoga') {\n\t\treturn createPackageJSON(appName, yogaPackageJson);\n\t}\n\n\tif (templateName === 'apollo') {\n\t\treturn createPackageJSON(appName, apolloPackageJson);\n\t}\n}\n\nasync function readTemplates(appName: string): Promise<Template[]> {\n\tconst dirContents = await fs.readdir(templatesDir);\n\n\tconst templates = dirContents\n\t\t.filter((template) => template !== 'shared')\n\t\t.map((template) => ({\n\t\t\tname: template,\n\t\t\tpath: path.join(templatesDir, template),\n\t\t\tpackageJson: getPackageJson(appName, template),\n\t\t}));\n\n\treturn templates.sort(\n\t\t(a, b) => Number(a.name !== recommendedTemplate) - Number(b.name !== recommendedTemplate),\n\t);\n}\n\nfunction createTemplateChoices(templates: Template[]): Choice[] {\n\tfunction makeNameAndValueChoice(value: string | Template): Choice {\n\t\tif (typeof value === 'string') {\n\t\t\treturn { title: value, value };\n\t\t}\n\t\treturn { title: value.name, value };\n\t}\n\n\treturn templates.map((template) => makeNameAndValueChoice(template));\n}\n\nasync function askTemplateChoice({\n\ttemplates,\n}: {\n\ttemplates: Template[];\n}) {\n\treturn prompts(\n\t\t{\n\t\t\ttype: 'select',\n\t\t\tname: 'template',\n\t\t\tmessage: 'Select a template below...',\n\t\t\tchoices: createTemplateChoices(templates),\n\t\t},\n\t\t{\n\t\t\tonCancel() {\n\t\t\t\tlogger.error('A choice is required.');\n\t\t\t\tprocess.exit(1);\n\t\t\t},\n\t\t},\n\t).then((result) => {\n\t\treturn (result as { template: Template }).template;\n\t});\n}\nasync function fetchGitignore() {\n\ttry {\n\t\tconst response = await fetch(gitignoreUrl);\n\n\t\tif (!response.ok) {\n\t\t\tthrow new Error(`Failed to fetch gitignore: ${response.statusText}`);\n\t\t}\n\n\t\treturn response.text();\n\t} catch (error) {}\n}\n\nexport async function getTemplate(appName: string, reqTemplate: string | undefined) {\n\tconst templates = await readTemplates(appName);\n\n\tconst userProvided = reqTemplate ? templates.find((t) => t.name === reqTemplate) : null;\n\tconst template = userProvided ?? (await askTemplateChoice({ templates }));\n\n\tif (!template) {\n\t\tthrow new Error('Template not found');\n\t}\n\n\treturn template;\n}\n\nexport async function copyTemplate(template: Template, dest: string) {\n\tawait fs.copy(path.join(templatesDir, 'shared'), dest);\n\n\tawait fs.copy(template.path, dest, {\n\t\tfilter: async (filePath) => !(await fs.lstat(filePath)).isSymbolicLink(),\n\t});\n\n\tif (template.packageJson) {\n\t\tawait fs.writeFile(join(dest, 'package.json'), template.packageJson);\n\t}\n\n\tawait fs.writeFile(join(dest, 'tsconfig.json'), JSON.stringify(createTsconfig(), null, 2));\n\n\tconst gitignore = await fetchGitignore();\n\tif (gitignore) {\n\t\tawait fs.writeFile(join(dest, '.gitignore'), gitignore);\n\t}\n}\n","{\n \"name\": \"@baeta/template-apollo\",\n \"version\": \"0.0.0\",\n \"private\": true,\n \"type\": \"module\",\n \"scripts\": {\n \"build\": \"baeta build --generate\",\n \"start\": \"baeta build --watch --generate --onSuccess='node --enable-source-maps --inspect dist/app'\"\n },\n \"dependencies\": {\n \"@apollo/server\": \"^4.11.2\",\n \"@baeta/core\": \"workspace:^\",\n \"@baeta/errors\": \"workspace:^\",\n \"@baeta/extension-complexity\": \"workspace:^\",\n \"graphql\": \"^16.9.0\"\n },\n \"devDependencies\": {\n \"@baeta/cli\": \"workspace:^\",\n \"@baeta/compiler\": \"workspace:^\",\n \"@baeta/plugin-autoload\": \"workspace:^\",\n \"@types/node\": \"^22.10.1\",\n \"typescript\": \"^5.7.2\"\n }\n}\n","{\n \"name\": \"@baeta/template-yoga\",\n \"version\": \"0.0.0\",\n \"private\": true,\n \"type\": \"module\",\n \"scripts\": {\n \"build\": \"baeta build --generate\",\n \"start\": \"baeta build --watch --generate --onSuccess='node --enable-source-maps --inspect dist/app'\"\n },\n \"dependencies\": {\n \"@baeta/core\": \"workspace:^\",\n \"@baeta/errors\": \"workspace:^\",\n \"@baeta/extension-complexity\": \"workspace:^\",\n \"graphql\": \"^16.9.0\",\n \"graphql-yoga\": \"^5.10.4\"\n },\n \"devDependencies\": {\n \"@baeta/cli\": \"workspace:^\",\n \"@baeta/compiler\": \"workspace:^\",\n \"@baeta/plugin-autoload\": \"workspace:^\",\n \"@types/node\": \"^22.10.1\",\n \"typescript\": \"^5.7.2\"\n }\n}\n","{\n \"@baeta/cli\": \"1.0.4\",\n \"@baeta/compiler\": \"0.1.4\",\n \"@baeta/core\": \"0.1.5\",\n \"create-baeta\": \"0.0.1\",\n \"@baeta/directives\": \"1.0.5\",\n \"@baeta/env\": \"0.1.3\",\n \"@baeta/errors\": \"0.1.4\",\n \"@baeta/extension-auth\": \"1.0.5\",\n \"@baeta/extension-cache\": \"0.0.5\",\n \"@baeta/extension-cache-cloudflare\": \"0.0.5\",\n \"@baeta/extension-cache-keyv\": \"0.0.5\",\n \"@baeta/extension-cache-redis\": \"0.0.5\",\n \"@baeta/extension-cache-upstash\": \"0.0.5\",\n \"@baeta/extension-complexity\": \"0.0.4\",\n \"@baeta/generator\": \"0.1.4\",\n \"@baeta/generator-sdk\": \"0.1.4\",\n \"@baeta/plugin\": \"0.1.4\",\n \"@baeta/plugin-autoload\": \"0.1.4\",\n \"@baeta/plugin-cloudflare\": \"1.0.5\",\n \"@baeta/plugin-directives\": \"1.0.5\",\n \"@baeta/plugin-exec\": \"0.1.4\",\n \"@baeta/plugin-gitignore\": \"0.1.4\",\n \"@baeta/plugin-graphql\": \"0.1.4\",\n \"@baeta/plugin-pagination\": \"0.1.4\",\n \"@baeta/plugin-prisma\": \"0.1.4\",\n \"@baeta/cloudflare-subscriptions\": \"0.1.4\",\n \"@baeta/subscriptions-pubsub\": \"0.0.2\",\n \"@baeta/util-encoding\": \"0.0.4\",\n \"@baeta/util-env\": \"0.1.3\",\n \"@baeta/util-log\": \"0.1.3\",\n \"@baeta/util-path\": \"0.1.4\"\n}","{\n \"$schema\": \"https://json.schemastore.org/tsconfig\",\n \"compilerOptions\": {\n \"target\": \"es2023\",\n \"lib\": [\n \"es2024\"\n ],\n \"module\": \"esnext\",\n \"noEmit\": true,\n \"strict\": true,\n \"noImplicitAny\": true,\n \"isolatedModules\": true,\n \"esModuleInterop\": true,\n \"verbatimModuleSyntax\": true,\n \"allowImportingTsExtensions\": true,\n \"allowSyntheticDefaultImports\": true,\n \"skipLibCheck\": true,\n \"forceConsistentCasingInFileNames\": true,\n \"moduleResolution\": \"bundler\"\n }\n}\n","import tsconfig from '../../../tools/tsconfig/tsconfig.json';\n\nexport function createTsconfig() {\n\tconst current = structuredClone(tsconfig);\n\n\treturn {\n\t\t...current,\n\t\tcompilerOptions: {\n\t\t\t...current.compilerOptions,\n\t\t\trootDir: 'src',\n\t\t\toutDir: 'dist',\n\t\t\tnoEmit: true,\n\t\t\temitDeclarationOnly: false,\n\t\t},\n\t\texclude: ['baeta.ts'],\n\t};\n}\n","{\n \"name\": \"create-baeta\",\n \"version\": \"0.0.1\",\n \"keywords\": [\n \"baeta\",\n \"graphql\",\n \"schema\",\n \"types\",\n \"typescript\",\n \"framework\",\n \"builder\"\n ],\n \"homepage\": \"https://github.com/andreisergiu98/baeta#readme\",\n \"bugs\": {\n \"url\": \"https://github.com/andreisergiu98/baeta/issues\"\n },\n \"repository\": {\n \"type\": \"git\",\n \"url\": \"https://github.com/andreisergiu98/baeta.git\",\n \"directory\": \"packages/create-baeta\"\n },\n \"license\": \"MIT\",\n \"author\": {\n \"name\": \"Andrei Pampu\",\n \"url\": \"https://github.com/andreisergiu98\"\n },\n \"type\": \"module\",\n \"bin\": \"dist/cli.js\",\n \"exports\": {\n \".\": {\n \"types\": \"./index.ts\",\n \"default\": \"./dist/index.js\"\n }\n },\n \"types\": \"dist/index.d.ts\",\n \"files\": [\n \"dist\",\n \"templates\",\n \"package.json\"\n ],\n \"scripts\": {\n \"build\": \"yarn build:versions && tsup\",\n \"build:versions\": \"node --no-warnings --experimental-transform-types ./scripts/version-manifest.ts\",\n \"prepack\": \"prep\",\n \"postpack\": \"prep --clean\",\n \"types\": \"yarn build:versions && tsc --noEmit\"\n },\n \"dependencies\": {\n \"@docusaurus/logger\": \"^3.6.3\",\n \"fs-extra\": \"^11.2.0\",\n \"prompts\": \"^2.4.2\",\n \"semver\": \"^7.6.3\",\n \"shelljs\": \"^0.8.5\",\n \"supports-color\": \"^9.4.0\",\n \"yargs\": \"^17.7.2\"\n },\n \"devDependencies\": {\n \"@baeta/builder\": \"workspace:^\",\n \"@baeta/tsconfig\": \"workspace:^\",\n \"@types/fs-extra\": \"^11.0.4\",\n \"@types/node\": \"^22.10.1\",\n \"@types/prompts\": \"^2.4.9\",\n \"@types/semver\": \"^7.5.8\",\n \"@types/shelljs\": \"^0.8.15\",\n \"@types/yargs\": \"^17.0.33\",\n \"typescript\": \"^5.7.2\"\n },\n \"engines\": {\n \"node\": \">=22.12.0\"\n },\n \"publishConfig\": {\n \"access\": \"public\",\n \"exports\": {\n \".\": {\n \"types\": \"./dist/index.d.ts\",\n \"default\": \"./dist/index.js\"\n }\n }\n },\n \"ava\": {\n \"extensions\": {\n \"ts\": \"module\"\n },\n \"nodeArguments\": [\n \"--no-warnings\",\n \"--experimental-transform-types\"\n ]\n },\n \"typedocOptions\": {\n \"entryPoints\": [\n \"./index.ts\"\n ],\n \"readme\": \"none\",\n \"tsconfig\": \"./tsconfig.json\"\n }\n}\n"],"mappings":"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","names":["path","logger","shell","path","logger","fs","prompts","path","fs","prompts","logger","path","logger","fs","prompts","package_default","version","package_default","fs","path","prompts","logger","path","logger","shell","yargs"]}
1
+ {"version":3,"sources":["../cli.ts","../lib/constants.ts","../lib/handler.ts","../lib/app-name.ts","../lib/package-manager.ts","../lib/runtime.ts","../lib/templates.ts","../meta/apollo/package.json","../meta/yoga/package.json","../versions.json","../lib/package-json.ts","../../../tools/tsconfig/tsconfig.json","../lib/tsconfig.ts","../package.json"],"sourcesContent":["#!/usr/bin/env node\n\nimport semver from 'semver';\nimport yargs from 'yargs';\nimport { hideBin } from 'yargs/helpers';\nimport { packageManagers } from './lib/constants.ts';\nimport { handler } from './lib/handler.ts';\nimport { engines, version } from './package.json';\n\nconst requiredVersion = engines.node;\n\nif (!semver.satisfies(process.version, requiredVersion)) {\n\tconsole.log('Minimum Node.js version not met :(');\n\tconsole.info`You are using Node.js number=${process.version}, Requirement: Node.js number=${requiredVersion}.`;\n\tprocess.exit(1);\n}\n\nprocess.on('unhandledRejection', (err) => {\n\tconsole.log(err);\n\tprocess.exit(1);\n});\n\nyargs(hideBin(process.argv))\n\t.version(version)\n\t.command({\n\t\tcommand: '* [appName] [template] [rootDir]',\n\t\tdescribe: 'Initialize Baeta application',\n\t\tbuilder: (yargs) => {\n\t\t\treturn yargs\n\t\t\t\t.option('package-manager', {\n\t\t\t\t\talias: 'p',\n\t\t\t\t\tdescribe: 'The package manager used to install dependencies.',\n\t\t\t\t\ttype: 'string',\n\t\t\t\t\tchoices: packageManagers,\n\t\t\t\t})\n\t\t\t\t.option('skip-install', {\n\t\t\t\t\talias: 's',\n\t\t\t\t\tdescribe: 'Do not run package manager immediately after scaffolding',\n\t\t\t\t\ttype: 'boolean',\n\t\t\t\t})\n\t\t\t\t.positional('appName', {\n\t\t\t\t\ttype: 'string',\n\t\t\t\t\tdescribe: 'Name of the app',\n\t\t\t\t})\n\t\t\t\t.positional('template', {\n\t\t\t\t\ttype: 'string',\n\t\t\t\t\tdescribe: 'Template to use',\n\t\t\t\t\tchoices: ['yoga', 'apollo'],\n\t\t\t\t})\n\t\t\t\t.positional('rootDir', {\n\t\t\t\t\ttype: 'string',\n\t\t\t\t\tdescribe: 'Root directory',\n\t\t\t\t\tdefault: '.',\n\t\t\t\t});\n\t\t},\n\t\thandler: (argv) => handler(argv),\n\t})\n\t.showHelpOnFail(true)\n\t.strict()\n\t.help()\n\t.parse();\n","export const defaultPackageManager = 'npm';\n\nexport const lockfileNames = {\n\tnpm: 'package-lock.json',\n\tyarn: 'yarn.lock',\n\tpnpm: 'pnpm-lock.yaml',\n\tbun: 'bun.lockb',\n};\n\nexport const packageManagers = Object.keys(lockfileNames) as PackageManager[];\n\nexport type PackageManager = keyof typeof lockfileNames;\n\nexport type JavaScriptRuntime = 'node' | 'deno' | 'bun';\n\nexport const defaultJavaScriptRuntime = 'node';\n\nexport const gitignoreUrl =\n\t'https://raw.githubusercontent.com/github/gitignore/refs/heads/main/Node.gitignore';\n","import path from 'node:path';\nimport { logger } from '@docusaurus/logger';\nimport shell from 'shelljs';\nimport supportsColor from 'supports-color';\nimport { getAppName } from './app-name.ts';\nimport type { PackageManager } from './constants.ts';\nimport { getInstallCommand, getPackageManager } from './package-manager.ts';\nimport { getRuntime } from './runtime.ts';\nimport { copyTemplate, getTemplate } from './templates.ts';\n\ninterface Args {\n\tpackageManager?: PackageManager;\n\tskipInstall?: boolean;\n\tappName?: string;\n\ttemplate?: string;\n\trootDir: string;\n}\n\nexport async function handler(args: Args) {\n\tconst appName = await getAppName(args.appName, args.rootDir);\n\tconst dest = path.resolve(args.rootDir, appName);\n\n\tconst template = await getTemplate(args.template);\n\n\tconst runtime = await getRuntime();\n\n\tlogger.info('Creating new Baeta project...');\n\n\ttry {\n\t\tawait copyTemplate(appName, runtime, template, dest);\n\t} catch (err) {\n\t\tlogger.error`Copying Baeta template name=${template.name} failed!`;\n\t\tthrow err;\n\t}\n\n\tconst pkgManager = await getPackageManager(dest, args);\n\n\tif (!args.skipInstall) {\n\t\tshell.cd(dest);\n\t\tlogger.info`Installing dependencies with name=${pkgManager}...`;\n\t\tconst result = shell.exec(getInstallCommand(pkgManager), {\n\t\t\tenv: {\n\t\t\t\t...process.env,\n\t\t\t\t...(supportsColor.stdout ? { FORCE_COLOR: '1' } : {}),\n\t\t\t},\n\t\t});\n\n\t\tif (result.code !== 0) {\n\t\t\tconsole.log('Dependency installation failed.');\n\t\t\tlogger.error('Dependency installation failed.');\n\t\t\tlogger.info`The app directory has already been created, and you can retry by typing:\n\ncode=${`cd ${dest}`}\ncode=${`${pkgManager} install`}`;\n\n\t\t\tprocess.exit(0);\n\t\t}\n\t}\n\n\tconst useNpm = pkgManager === 'npm';\n\tconst useBun = pkgManager === 'bun';\n\tconst useRunCommand = useNpm || useBun;\n\n\tlogger.success`Created name=${dest}.`;\n\n\tlogger.info`Inside that directory, you can run several commands:\n\n code=${`${pkgManager} start`}\n Starts the development server.\n\n code=${`${pkgManager} ${useRunCommand ? 'run ' : ''}build`}\n Bundles your server application.\n\nWe recommend that you begin by typing:\n\n code=${`cd ${dest}`}\n code=${`${pkgManager} start`}\n`;\n}\n","import path from 'node:path';\nimport { logger } from '@docusaurus/logger';\nimport fs from 'fs-extra';\nimport prompts from 'prompts';\n\nexport async function getAppName(reqName: string | undefined, rootDir: string): Promise<string> {\n\tasync function validateAppName(appName: string) {\n\t\tif (!appName) {\n\t\t\treturn 'An app name is required.';\n\t\t}\n\t\tconst dest = path.resolve(rootDir, appName);\n\t\tif (await fs.pathExists(dest)) {\n\t\t\treturn logger.interpolate`Directory already exists at path=${dest}!`;\n\t\t}\n\t\treturn true;\n\t}\n\n\tif (reqName) {\n\t\tconst res = await validateAppName(reqName);\n\t\tif (typeof res === 'string') {\n\t\t\tthrow new Error(res);\n\t\t}\n\t\treturn reqName;\n\t}\n\n\treturn prompts(\n\t\t{\n\t\t\ttype: 'text',\n\t\t\tname: 'appName',\n\t\t\tmessage: 'What should we name this app?',\n\t\t\tinitial: 'baeta-app',\n\t\t\tvalidate: validateAppName,\n\t\t},\n\t\t{\n\t\t\tonCancel() {\n\t\t\t\tlogger.error('An app name is required.');\n\t\t\t\tprocess.exit(1);\n\t\t\t},\n\t\t},\n\t).then((result) => (result as { appName: string }).appName);\n}\n","import path from 'node:path';\nimport { logger } from '@docusaurus/logger';\nimport fs from 'fs-extra';\nimport prompts from 'prompts';\nimport shell from 'shelljs';\nimport type { CliOptions } from './cli-options.ts';\nimport {\n\ttype PackageManager,\n\tdefaultPackageManager,\n\tlockfileNames,\n\tpackageManagers,\n} from './constants.ts';\n\nasync function findPackageManagerFromLockFile(\n\trootDir: string,\n): Promise<PackageManager | undefined> {\n\tfor (const packageManager of packageManagers) {\n\t\tconst lockFilePath = path.join(rootDir, lockfileNames[packageManager]);\n\t\tif (await fs.pathExists(lockFilePath)) {\n\t\t\treturn packageManager;\n\t\t}\n\t}\n\treturn undefined;\n}\n\nfunction findPackageManagerFromUserAgent(): PackageManager | undefined {\n\treturn packageManagers.find((packageManager) =>\n\t\tprocess.env.npm_config_user_agent?.startsWith(packageManager),\n\t);\n}\n\nasync function askForPackageManagerChoice(): Promise<PackageManager> {\n\tconst hasYarn = shell.exec('yarn --version', { silent: true }).code === 0;\n\tconst hasPnpm = shell.exec('pnpm --version', { silent: true }).code === 0;\n\tconst hasBun = shell.exec('bun --version', { silent: true }).code === 0;\n\n\tif (!hasYarn && !hasPnpm && !hasBun) {\n\t\treturn 'npm';\n\t}\n\tconst choices = ['npm', hasYarn && 'yarn', hasPnpm && 'pnpm', hasBun && 'bun']\n\t\t.filter((p): p is string => Boolean(p))\n\t\t.map((p) => ({ title: p, value: p }));\n\n\tconst manager = await prompts(\n\t\t{\n\t\t\ttype: 'select',\n\t\t\tname: 'packageManager',\n\t\t\tmessage: 'Select a package manager...',\n\t\t\tchoices,\n\t\t},\n\t\t{\n\t\t\tonCancel() {\n\t\t\t\tlogger.info`Falling back to name=${defaultPackageManager}`;\n\t\t\t},\n\t\t},\n\t).then((result) => (result as { packageManager?: PackageManager }).packageManager);\n\n\treturn manager ?? defaultPackageManager;\n}\n\nexport async function getPackageManager(\n\tdest: string,\n\t{ packageManager, skipInstall }: CliOptions,\n): Promise<PackageManager> {\n\tif (packageManager && !packageManagers.includes(packageManager)) {\n\t\tthrow new Error(\n\t\t\t`Invalid package manager choice ${packageManager}. Must be one of ${packageManagers.join(\n\t\t\t\t', ',\n\t\t\t)}`,\n\t\t);\n\t}\n\n\tconst fromLockfile = await findPackageManagerFromLockFile(dest);\n\n\tif (fromLockfile) {\n\t\treturn fromLockfile;\n\t}\n\n\tif (packageManager) {\n\t\treturn packageManager;\n\t}\n\n\tconst fromLockfileInCwd = await findPackageManagerFromLockFile('.');\n\n\tif (fromLockfileInCwd) {\n\t\treturn fromLockfileInCwd;\n\t}\n\n\tconst fromUserAgent = findPackageManagerFromUserAgent();\n\n\tif (fromUserAgent) {\n\t\treturn fromUserAgent;\n\t}\n\n\tif (skipInstall) {\n\t\treturn defaultPackageManager;\n\t}\n\n\treturn askForPackageManagerChoice();\n}\n\nexport function getInstallCommand(pkgManager: PackageManager): string {\n\tif (pkgManager === 'yarn') {\n\t\treturn 'yarn';\n\t}\n\tif (pkgManager === 'bun') {\n\t\treturn 'bun install';\n\t}\n\treturn `${pkgManager} install --color always`;\n}\n","import { logger } from '@docusaurus/logger';\nimport prompts from 'prompts';\nimport shell from 'shelljs';\nimport { type JavaScriptRuntime, defaultJavaScriptRuntime } from './constants.ts';\n\nexport async function getRuntime(): Promise<JavaScriptRuntime> {\n\tconst hasBun = shell.exec('bun --version', { silent: true }).code === 0;\n\tconst hasDeno = shell.exec('deno --version', { silent: true }).code === 0;\n\n\tif (!hasDeno && !hasBun) {\n\t\treturn 'node';\n\t}\n\tconst choices = ['node', hasBun && 'bun', hasDeno && 'deno']\n\t\t.filter((p): p is string => Boolean(p))\n\t\t.map((p) => ({ title: p, value: p }));\n\n\tconst runtime = await prompts(\n\t\t{\n\t\t\ttype: 'select',\n\t\t\tname: 'runtime',\n\t\t\tmessage: 'Select a runtime...',\n\t\t\tchoices,\n\t\t},\n\t\t{\n\t\t\tonCancel() {\n\t\t\t\tlogger.info`Falling back to name=${defaultJavaScriptRuntime}`;\n\t\t\t},\n\t\t},\n\t).then((result) => (result as { runtime?: JavaScriptRuntime }).runtime);\n\n\treturn runtime ?? defaultJavaScriptRuntime;\n}\n","import path, { join } from 'node:path';\nimport { fileURLToPath } from 'node:url';\nimport { logger } from '@docusaurus/logger';\nimport fs from 'fs-extra';\nimport prompts, { type Choice } from 'prompts';\nimport { type JavaScriptRuntime, gitignoreUrl } from './constants.ts';\nimport { getPackageJson } from './package-json.ts';\nimport { createTsconfig } from './tsconfig.ts';\n\nconst recommendedTemplate = 'yoga';\nconst templatesDir = fileURLToPath(new URL('../templates', import.meta.url));\n\ntype Template = {\n\tname: string;\n\tpath: string;\n\tpackageJsn?: string;\n};\n\nasync function readTemplates(): Promise<Template[]> {\n\tconst dirContents = await fs.readdir(templatesDir);\n\n\tconst templates = dirContents\n\t\t.filter((template) => template !== 'shared')\n\t\t.map((template) => ({\n\t\t\tname: template,\n\t\t\tpath: path.join(templatesDir, template),\n\t\t}));\n\n\treturn templates.sort(\n\t\t(a, b) => Number(a.name !== recommendedTemplate) - Number(b.name !== recommendedTemplate),\n\t);\n}\n\nfunction createTemplateChoices(templates: Template[]): Choice[] {\n\tfunction makeNameAndValueChoice(value: string | Template): Choice {\n\t\tif (typeof value === 'string') {\n\t\t\treturn { title: value, value };\n\t\t}\n\t\treturn { title: value.name, value };\n\t}\n\n\treturn templates.map((template) => makeNameAndValueChoice(template));\n}\n\nasync function askTemplateChoice({\n\ttemplates,\n}: {\n\ttemplates: Template[];\n}) {\n\treturn prompts(\n\t\t{\n\t\t\ttype: 'select',\n\t\t\tname: 'template',\n\t\t\tmessage: 'Select a template below...',\n\t\t\tchoices: createTemplateChoices(templates),\n\t\t},\n\t\t{\n\t\t\tonCancel() {\n\t\t\t\tlogger.error('A choice is required.');\n\t\t\t\tprocess.exit(1);\n\t\t\t},\n\t\t},\n\t).then((result) => {\n\t\treturn (result as { template: Template }).template;\n\t});\n}\nasync function fetchGitignore() {\n\ttry {\n\t\tconst response = await fetch(gitignoreUrl);\n\n\t\tif (!response.ok) {\n\t\t\tthrow new Error(`Failed to fetch gitignore: ${response.statusText}`);\n\t\t}\n\n\t\treturn response.text();\n\t} catch (error) {}\n}\n\nexport async function getTemplate(reqTemplate: string | undefined) {\n\tconst templates = await readTemplates();\n\n\tconst userProvided = reqTemplate ? templates.find((t) => t.name === reqTemplate) : null;\n\tconst template = userProvided ?? (await askTemplateChoice({ templates }));\n\n\tif (!template) {\n\t\tthrow new Error('Template not found');\n\t}\n\n\treturn template;\n}\n\nexport async function copyTemplate(\n\tappName: string,\n\truntime: JavaScriptRuntime,\n\ttemplate: Template,\n\tdest: string,\n) {\n\tawait fs.copy(path.join(templatesDir, 'shared'), dest);\n\n\tawait fs.copy(template.path, dest, {\n\t\tfilter: async (filePath) => !(await fs.lstat(filePath)).isSymbolicLink(),\n\t});\n\n\tconst packageJson = getPackageJson(appName, runtime, template.name);\n\n\tif (packageJson) {\n\t\tawait fs.writeFile(join(dest, 'package.json'), packageJson);\n\t}\n\n\tawait fs.writeFile(join(dest, 'tsconfig.json'), JSON.stringify(createTsconfig(), null, 2));\n\n\tconst gitignore = await fetchGitignore();\n\tif (gitignore) {\n\t\tawait fs.writeFile(join(dest, '.gitignore'), gitignore);\n\t}\n}\n","{\n \"name\": \"@baeta/template-apollo\",\n \"version\": \"0.0.0\",\n \"private\": true,\n \"type\": \"module\",\n \"scripts\": {\n \"build\": \"baeta build --generate\",\n \"start\": \"baeta build --watch --generate --onSuccess='node --enable-source-maps --inspect dist/app.js'\"\n },\n \"dependencies\": {\n \"@apollo/server\": \"^4.11.2\",\n \"@baeta/core\": \"workspace:^\",\n \"@baeta/errors\": \"workspace:^\",\n \"@baeta/extension-complexity\": \"workspace:^\",\n \"graphql\": \"^16.9.0\"\n },\n \"devDependencies\": {\n \"@baeta/cli\": \"workspace:^\",\n \"@baeta/compiler\": \"workspace:^\",\n \"@baeta/plugin-autoload\": \"workspace:^\",\n \"@types/bun\": \"^1.1.14\",\n \"@types/deno\": \"^2.0.0\",\n \"@types/node\": \"^22.10.1\",\n \"typescript\": \"^5.7.2\"\n }\n}\n","{\n \"name\": \"@baeta/template-yoga\",\n \"version\": \"0.0.0\",\n \"private\": true,\n \"type\": \"module\",\n \"scripts\": {\n \"build\": \"baeta build --generate\",\n \"start\": \"baeta build --watch --generate --onSuccess='node --enable-source-maps --inspect dist/app.js'\"\n },\n \"dependencies\": {\n \"@baeta/core\": \"workspace:^\",\n \"@baeta/errors\": \"workspace:^\",\n \"@baeta/extension-complexity\": \"workspace:^\",\n \"graphql\": \"^16.9.0\",\n \"graphql-yoga\": \"^5.10.4\"\n },\n \"devDependencies\": {\n \"@baeta/cli\": \"workspace:^\",\n \"@baeta/compiler\": \"workspace:^\",\n \"@baeta/plugin-autoload\": \"workspace:^\",\n \"@types/bun\": \"^1.1.14\",\n \"@types/deno\": \"^2.0.0\",\n \"@types/node\": \"^22.10.1\",\n \"typescript\": \"^5.7.2\"\n }\n}\n","{\n \"@baeta/cli\": \"1.0.5\",\n \"@baeta/compiler\": \"0.1.4\",\n \"@baeta/core\": \"0.1.5\",\n \"create-baeta\": \"0.0.2\",\n \"@baeta/directives\": \"1.0.5\",\n \"@baeta/env\": \"0.1.3\",\n \"@baeta/errors\": \"0.1.4\",\n \"@baeta/extension-auth\": \"1.0.5\",\n \"@baeta/extension-cache\": \"0.0.5\",\n \"@baeta/extension-cache-cloudflare\": \"0.0.5\",\n \"@baeta/extension-cache-keyv\": \"0.0.5\",\n \"@baeta/extension-cache-redis\": \"0.0.5\",\n \"@baeta/extension-cache-upstash\": \"0.0.5\",\n \"@baeta/extension-complexity\": \"0.0.4\",\n \"@baeta/generator\": \"0.1.5\",\n \"@baeta/generator-sdk\": \"0.1.5\",\n \"@baeta/plugin\": \"0.1.4\",\n \"@baeta/plugin-autoload\": \"0.1.5\",\n \"@baeta/plugin-cloudflare\": \"1.0.6\",\n \"@baeta/plugin-directives\": \"1.0.6\",\n \"@baeta/plugin-exec\": \"0.1.5\",\n \"@baeta/plugin-gitignore\": \"0.1.5\",\n \"@baeta/plugin-graphql\": \"0.1.5\",\n \"@baeta/plugin-pagination\": \"0.1.5\",\n \"@baeta/plugin-prisma\": \"0.1.5\",\n \"@baeta/cloudflare-subscriptions\": \"0.1.4\",\n \"@baeta/subscriptions-pubsub\": \"0.0.2\",\n \"@baeta/util-encoding\": \"0.0.4\",\n \"@baeta/util-env\": \"0.1.3\",\n \"@baeta/util-log\": \"0.1.3\",\n \"@baeta/util-path\": \"0.1.4\"\n}","import apolloPackageJson from '../meta/apollo/package.json';\nimport yogaPackageJson from '../meta/yoga/package.json';\nimport dependenciesVersions from '../versions.json';\nimport type { JavaScriptRuntime } from './constants.ts';\n\nfunction createPackageJSON(\n\tappName: string,\n\truntime: JavaScriptRuntime,\n\tpackageJson: {\n\t\tname: string;\n\t\tscripts: Record<string, string | undefined>;\n\t\tdependencies: Record<string, string | undefined>;\n\t\tdevDependencies: Record<string, string | undefined>;\n\t},\n) {\n\tconst meta = structuredClone(packageJson);\n\n\tfor (const [dep, version] of Object.entries(dependenciesVersions)) {\n\t\tif (dep in meta.dependencies) {\n\t\t\tmeta.dependencies[dep] = version;\n\t\t} else if (dep in packageJson.devDependencies) {\n\t\t\tmeta.devDependencies[dep] = version;\n\t\t}\n\t}\n\n\tif (runtime === 'node') {\n\t\tmeta.devDependencies['@types/bun'] = undefined;\n\t\tmeta.devDependencies['@types/deno'] = undefined;\n\t}\n\n\tif (runtime === 'bun') {\n\t\tmeta.scripts.start = `baeta generate --watch --run='bun --watch --inspect src/app.ts'`;\n\t\tmeta.devDependencies['@types/node'] = undefined;\n\t\tmeta.devDependencies['@types/deno'] = undefined;\n\t}\n\n\tif (runtime === 'deno') {\n\t\tmeta.scripts.start = `baeta generate --watch --run='deno --watch --allow-env --allow-read --allow-net src/app.ts'`;\n\t\tmeta.devDependencies['@types/node'] = undefined;\n\t\tmeta.devDependencies['@types/bun'] = undefined;\n\t}\n\n\tmeta.name = appName;\n\n\treturn JSON.stringify(meta, null, 2);\n}\n\nexport function getPackageJson(appName: string, runtime: JavaScriptRuntime, templateName: string) {\n\tif (templateName === 'yoga') {\n\t\treturn createPackageJSON(appName, runtime, yogaPackageJson);\n\t}\n\n\tif (templateName === 'apollo') {\n\t\treturn createPackageJSON(appName, runtime, apolloPackageJson);\n\t}\n}\n","{\n \"$schema\": \"https://json.schemastore.org/tsconfig\",\n \"compilerOptions\": {\n \"target\": \"es2023\",\n \"lib\": [\n \"es2024\"\n ],\n \"module\": \"esnext\",\n \"noEmit\": true,\n \"strict\": true,\n \"noImplicitAny\": true,\n \"isolatedModules\": true,\n \"esModuleInterop\": true,\n \"verbatimModuleSyntax\": true,\n \"allowImportingTsExtensions\": true,\n \"allowSyntheticDefaultImports\": true,\n \"skipLibCheck\": true,\n \"forceConsistentCasingInFileNames\": true,\n \"moduleResolution\": \"bundler\"\n }\n}\n","import tsconfig from '../../../tools/tsconfig/tsconfig.json';\n\nexport function createTsconfig() {\n\tconst current = structuredClone(tsconfig);\n\n\treturn {\n\t\t...current,\n\t\tcompilerOptions: {\n\t\t\t...current.compilerOptions,\n\t\t\trootDir: 'src',\n\t\t\toutDir: 'dist',\n\t\t\tnoEmit: true,\n\t\t\temitDeclarationOnly: false,\n\t\t},\n\t\texclude: ['baeta.ts'],\n\t};\n}\n","{\n \"name\": \"create-baeta\",\n \"version\": \"0.0.2\",\n \"keywords\": [\n \"baeta\",\n \"graphql\",\n \"schema\",\n \"types\",\n \"typescript\",\n \"framework\",\n \"builder\"\n ],\n \"homepage\": \"https://github.com/andreisergiu98/baeta#readme\",\n \"bugs\": {\n \"url\": \"https://github.com/andreisergiu98/baeta/issues\"\n },\n \"repository\": {\n \"type\": \"git\",\n \"url\": \"https://github.com/andreisergiu98/baeta.git\",\n \"directory\": \"packages/create-baeta\"\n },\n \"license\": \"MIT\",\n \"author\": {\n \"name\": \"Andrei Pampu\",\n \"url\": \"https://github.com/andreisergiu98\"\n },\n \"type\": \"module\",\n \"bin\": \"dist/cli.js\",\n \"exports\": {\n \".\": {\n \"types\": \"./index.ts\",\n \"default\": \"./dist/index.js\"\n }\n },\n \"types\": \"dist/index.d.ts\",\n \"files\": [\n \"dist\",\n \"templates\",\n \"package.json\"\n ],\n \"scripts\": {\n \"build\": \"yarn build:versions && tsup\",\n \"build:versions\": \"node --no-warnings --experimental-transform-types ./scripts/version-manifest.ts\",\n \"prepack\": \"prep\",\n \"postpack\": \"prep --clean\",\n \"types\": \"yarn build:versions && tsc --noEmit\"\n },\n \"dependencies\": {\n \"@docusaurus/logger\": \"^3.6.3\",\n \"fs-extra\": \"^11.2.0\",\n \"prompts\": \"^2.4.2\",\n \"semver\": \"^7.6.3\",\n \"shelljs\": \"^0.8.5\",\n \"supports-color\": \"^9.4.0\",\n \"yargs\": \"^17.7.2\"\n },\n \"devDependencies\": {\n \"@baeta/builder\": \"workspace:^\",\n \"@baeta/tsconfig\": \"workspace:^\",\n \"@types/fs-extra\": \"^11.0.4\",\n \"@types/node\": \"^22.10.1\",\n \"@types/prompts\": \"^2.4.9\",\n \"@types/semver\": \"^7.5.8\",\n \"@types/shelljs\": \"^0.8.15\",\n \"@types/yargs\": \"^17.0.33\",\n \"typescript\": \"^5.7.2\"\n },\n \"engines\": {\n \"node\": \">=22.12.0\"\n },\n \"publishConfig\": {\n \"access\": \"public\",\n \"exports\": {\n \".\": {\n \"types\": \"./dist/index.d.ts\",\n \"default\": \"./dist/index.js\"\n }\n }\n },\n \"ava\": {\n \"extensions\": {\n \"ts\": \"module\"\n },\n \"nodeArguments\": [\n \"--no-warnings\",\n \"--experimental-transform-types\"\n ]\n },\n \"typedocOptions\": {\n \"entryPoints\": [\n \"./index.ts\"\n ],\n \"readme\": \"none\",\n \"tsconfig\": \"./tsconfig.json\"\n }\n}\n"],"mappings":"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","names":["path","logger","shell","path","logger","fs","prompts","path","fs","prompts","logger","logger","prompts","shell","shell","prompts","logger","path","logger","fs","prompts","package_default","version","package_default","fs","path","prompts","logger","path","logger","shell","yargs"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "create-baeta",
3
- "version": "0.0.1",
3
+ "version": "0.0.2",
4
4
  "keywords": [
5
5
  "baeta",
6
6
  "graphql",