create-baeta 0.0.4 → 1.0.9

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,19 @@
1
1
  # create-baeta
2
2
 
3
+ ## 1.0.9
4
+
5
+ ### Patch Changes
6
+
7
+ - [`583014f`](https://github.com/andreisergiu98/baeta/commit/583014f0bac810b25d9a8226bda2df4c9039f5e3) Thanks [@andreisergiu98](https://github.com/andreisergiu98)! - Update dependencies
8
+
9
+ ## 1.0.8
10
+
11
+ ### Patch Changes
12
+
13
+ - [#189](https://github.com/andreisergiu98/baeta/pull/189) [`d500378`](https://github.com/andreisergiu98/baeta/commit/d500378198e0a9c48298c4242913bca8ad348228) Thanks [@andreisergiu98](https://github.com/andreisergiu98)! - add jsdocs
14
+
15
+ - [#165](https://github.com/andreisergiu98/baeta/pull/165) [`1334c2a`](https://github.com/andreisergiu98/baeta/commit/1334c2a866676c88f0f3d380b22133d81c4e98bc) Thanks [@andreisergiu98](https://github.com/andreisergiu98)! - mark as stable
16
+
3
17
  ## 0.0.4
4
18
 
5
19
  ### Patch Changes
@@ -170,20 +170,20 @@ var package_default = {
170
170
  start: "baeta build --watch --generate --onSuccess='node --enable-source-maps --inspect dist/app.js'"
171
171
  },
172
172
  dependencies: {
173
- "@apollo/server": "^4.11.2",
173
+ "@apollo/server": "^4.11.3",
174
174
  "@baeta/core": "workspace:^",
175
175
  "@baeta/errors": "workspace:^",
176
176
  "@baeta/extension-complexity": "workspace:^",
177
- graphql: "^16.9.0"
177
+ graphql: "^16.10.0"
178
178
  },
179
179
  devDependencies: {
180
180
  "@baeta/cli": "workspace:^",
181
181
  "@baeta/compiler": "workspace:^",
182
182
  "@baeta/plugin-autoload": "workspace:^",
183
- "@types/bun": "^1.1.14",
184
- "@types/deno": "^2.0.0",
185
- "@types/node": "^22.10.1",
186
- typescript: "^5.7.2"
183
+ "@types/bun": "^1.2.5",
184
+ "@types/deno": "^2.2.0",
185
+ "@types/node": "^22.13.10",
186
+ typescript: "^5.8.2"
187
187
  }
188
188
  };
189
189
 
@@ -201,53 +201,53 @@ var package_default2 = {
201
201
  "@baeta/core": "workspace:^",
202
202
  "@baeta/errors": "workspace:^",
203
203
  "@baeta/extension-complexity": "workspace:^",
204
- graphql: "^16.9.0",
205
- "graphql-yoga": "^5.10.4"
204
+ graphql: "^16.10.0",
205
+ "graphql-yoga": "^5.13.1"
206
206
  },
207
207
  devDependencies: {
208
208
  "@baeta/cli": "workspace:^",
209
209
  "@baeta/compiler": "workspace:^",
210
210
  "@baeta/plugin-autoload": "workspace:^",
211
- "@types/bun": "^1.1.14",
212
- "@types/deno": "^2.0.0",
213
- "@types/node": "^22.10.1",
214
- typescript: "^5.7.2"
211
+ "@types/bun": "^1.2.5",
212
+ "@types/deno": "^2.2.0",
213
+ "@types/node": "^22.13.10",
214
+ typescript: "^5.8.2"
215
215
  }
216
216
  };
217
217
 
218
218
  // versions.json
219
219
  var versions_default = {
220
- "@baeta/cli": "1.0.5",
221
- "@baeta/compiler": "0.1.4",
222
- "@baeta/core": "0.1.5",
223
- "create-baeta": "0.0.4",
224
- "@baeta/directives": "1.0.5",
225
- "@baeta/env": "0.1.3",
226
- "@baeta/errors": "0.1.4",
227
- "@baeta/extension-auth": "1.0.5",
228
- "@baeta/extension-cache": "0.0.5",
229
- "@baeta/extension-cache-cloudflare": "0.0.5",
230
- "@baeta/extension-cache-keyv": "0.0.5",
231
- "@baeta/extension-cache-redis": "0.0.5",
232
- "@baeta/extension-cache-upstash": "0.0.5",
233
- "@baeta/extension-complexity": "0.0.4",
234
- "@baeta/generator": "0.1.5",
235
- "@baeta/generator-sdk": "0.1.5",
236
- "@baeta/plugin": "0.1.4",
237
- "@baeta/plugin-autoload": "0.1.5",
238
- "@baeta/plugin-cloudflare": "1.0.7",
239
- "@baeta/plugin-directives": "1.0.6",
240
- "@baeta/plugin-exec": "0.1.5",
241
- "@baeta/plugin-gitignore": "0.1.5",
242
- "@baeta/plugin-graphql": "0.1.5",
243
- "@baeta/plugin-pagination": "0.1.5",
244
- "@baeta/plugin-prisma": "0.1.5",
245
- "@baeta/subscriptions-cloudflare": "0.1.5",
246
- "@baeta/subscriptions-pubsub": "0.0.2",
247
- "@baeta/util-encoding": "0.0.4",
248
- "@baeta/util-env": "0.1.3",
249
- "@baeta/util-log": "0.1.3",
250
- "@baeta/util-path": "0.1.4"
220
+ "@baeta/cli": "1.0.9",
221
+ "@baeta/compiler": "1.0.9",
222
+ "@baeta/core": "1.0.9",
223
+ "create-baeta": "1.0.9",
224
+ "@baeta/directives": "1.0.9",
225
+ "@baeta/env": "1.0.9",
226
+ "@baeta/errors": "1.0.9",
227
+ "@baeta/extension-auth": "1.0.9",
228
+ "@baeta/extension-cache": "1.0.9",
229
+ "@baeta/extension-cache-cloudflare": "1.0.9",
230
+ "@baeta/extension-cache-keyv": "1.0.9",
231
+ "@baeta/extension-cache-redis": "1.0.9",
232
+ "@baeta/extension-cache-upstash": "1.0.9",
233
+ "@baeta/extension-complexity": "1.0.9",
234
+ "@baeta/generator": "1.0.1",
235
+ "@baeta/generator-sdk": "1.0.1",
236
+ "@baeta/plugin": "1.0.1",
237
+ "@baeta/plugin-autoload": "1.0.9",
238
+ "@baeta/plugin-cloudflare": "1.0.9",
239
+ "@baeta/plugin-directives": "1.0.9",
240
+ "@baeta/plugin-exec": "1.0.9",
241
+ "@baeta/plugin-gitignore": "1.0.9",
242
+ "@baeta/plugin-graphql": "1.0.9",
243
+ "@baeta/plugin-pagination": "1.0.9",
244
+ "@baeta/plugin-prisma": "1.0.9",
245
+ "@baeta/subscriptions-cloudflare": "0.1.6",
246
+ "@baeta/subscriptions-pubsub": "1.0.9",
247
+ "@baeta/util-encoding": "1.0.1",
248
+ "@baeta/util-env": "1.0.1",
249
+ "@baeta/util-log": "1.0.1",
250
+ "@baeta/util-path": "1.0.1"
251
251
  };
252
252
 
253
253
  // lib/package-json.ts
@@ -290,7 +290,7 @@ function getPackageJson(appName, runtime, templateName) {
290
290
  var tsconfig_default = {
291
291
  $schema: "https://json.schemastore.org/tsconfig",
292
292
  compilerOptions: {
293
- target: "es2023",
293
+ target: "es2024",
294
294
  lib: [
295
295
  "es2024"
296
296
  ],
@@ -488,4 +488,4 @@ export {
488
488
  copyTemplate,
489
489
  handler
490
490
  };
491
- //# sourceMappingURL=chunk-R4KUDDY2.js.map
491
+ //# sourceMappingURL=chunk-QGXDOHZ2.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../lib/constants.ts","../lib/app-name.ts","../lib/package-manager.ts","../lib/runtime.ts","../meta/apollo/package.json","../meta/yoga/package.json","../versions.json","../lib/package-json.ts","../../../tools/tsconfig/tsconfig.json","../lib/tsconfig.ts","../lib/templates.ts","../lib/handler.ts"],"sourcesContent":["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 runtimes = ['node', 'deno', 'bun'] as const;\n\nexport type JavaScriptRuntime = (typeof runtimes)[number];\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 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","{\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.3\",\n \"@baeta/core\": \"workspace:^\",\n \"@baeta/errors\": \"workspace:^\",\n \"@baeta/extension-complexity\": \"workspace:^\",\n \"graphql\": \"^16.10.0\"\n },\n \"devDependencies\": {\n \"@baeta/cli\": \"workspace:^\",\n \"@baeta/compiler\": \"workspace:^\",\n \"@baeta/plugin-autoload\": \"workspace:^\",\n \"@types/bun\": \"^1.2.5\",\n \"@types/deno\": \"^2.2.0\",\n \"@types/node\": \"^22.13.10\",\n \"typescript\": \"^5.8.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.10.0\",\n \"graphql-yoga\": \"^5.13.1\"\n },\n \"devDependencies\": {\n \"@baeta/cli\": \"workspace:^\",\n \"@baeta/compiler\": \"workspace:^\",\n \"@baeta/plugin-autoload\": \"workspace:^\",\n \"@types/bun\": \"^1.2.5\",\n \"@types/deno\": \"^2.2.0\",\n \"@types/node\": \"^22.13.10\",\n \"typescript\": \"^5.8.2\"\n }\n}\n","{\n \"@baeta/cli\": \"1.0.9\",\n \"@baeta/compiler\": \"1.0.9\",\n \"@baeta/core\": \"1.0.9\",\n \"create-baeta\": \"1.0.9\",\n \"@baeta/directives\": \"1.0.9\",\n \"@baeta/env\": \"1.0.9\",\n \"@baeta/errors\": \"1.0.9\",\n \"@baeta/extension-auth\": \"1.0.9\",\n \"@baeta/extension-cache\": \"1.0.9\",\n \"@baeta/extension-cache-cloudflare\": \"1.0.9\",\n \"@baeta/extension-cache-keyv\": \"1.0.9\",\n \"@baeta/extension-cache-redis\": \"1.0.9\",\n \"@baeta/extension-cache-upstash\": \"1.0.9\",\n \"@baeta/extension-complexity\": \"1.0.9\",\n \"@baeta/generator\": \"1.0.1\",\n \"@baeta/generator-sdk\": \"1.0.1\",\n \"@baeta/plugin\": \"1.0.1\",\n \"@baeta/plugin-autoload\": \"1.0.9\",\n \"@baeta/plugin-cloudflare\": \"1.0.9\",\n \"@baeta/plugin-directives\": \"1.0.9\",\n \"@baeta/plugin-exec\": \"1.0.9\",\n \"@baeta/plugin-gitignore\": \"1.0.9\",\n \"@baeta/plugin-graphql\": \"1.0.9\",\n \"@baeta/plugin-pagination\": \"1.0.9\",\n \"@baeta/plugin-prisma\": \"1.0.9\",\n \"@baeta/subscriptions-cloudflare\": \"0.1.6\",\n \"@baeta/subscriptions-pubsub\": \"1.0.9\",\n \"@baeta/util-encoding\": \"1.0.1\",\n \"@baeta/util-env\": \"1.0.1\",\n \"@baeta/util-log\": \"1.0.1\",\n \"@baeta/util-path\": \"1.0.1\"\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\": \"es2024\",\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","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, runtimes } 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\nexport type 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\tconst hasRuntimeEntry = await fs.pathExists(join(dest, 'src', `app.${runtime}.ts`));\n\n\tif (hasRuntimeEntry) {\n\t\tawait fs.copyFile(join(dest, 'src', `app.${runtime}.ts`), join(dest, 'src', 'app.ts'));\n\t\tawait Promise.all(\n\t\t\truntimes.map((r) => fs.remove(join(dest, 'src', `app.${r}.ts`)).catch(() => {})),\n\t\t);\n\t}\n}\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\nexport interface 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"],"mappings":"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","names":["path","logger","fs","prompts","path","fs","prompts","logger","logger","prompts","shell","shell","prompts","logger","package_default","package_default","path","logger","fs","prompts","fs","path","prompts","logger","path","logger","shell","path","logger","shell"]}
package/dist/cli.js CHANGED
@@ -2,7 +2,7 @@
2
2
  import {
3
3
  handler,
4
4
  packageManagers
5
- } from "./chunk-R4KUDDY2.js";
5
+ } from "./chunk-QGXDOHZ2.js";
6
6
 
7
7
  // cli.ts
8
8
  import { logger } from "@docusaurus/logger";
@@ -11,7 +11,7 @@ import yargs from "yargs";
11
11
  import { hideBin } from "yargs/helpers";
12
12
 
13
13
  // package.json
14
- var version = "0.0.4";
14
+ var version = "1.0.9";
15
15
  var engines = {
16
16
  node: ">=22.12.0"
17
17
  };
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../cli.ts","../package.json"],"sourcesContent":["#!/usr/bin/env node\n\nimport { logger } from '@docusaurus/logger';\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\tlogger.error('Minimum Node.js version not met :(');\n\tlogger.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\tlogger.error(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","{\n \"name\": \"create-baeta\",\n \"version\": \"0.0.4\",\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":";;;;;;;AAEA,SAAS,cAAc;AACvB,OAAO,YAAY;AACnB,OAAO,WAAW;AAClB,SAAS,eAAe;;;ACHtB,cAAW;AAiEX,cAAW;AAAA,EACT,MAAQ;AACV;;;AD3DF,IAAM,kBAAkB,QAAQ;AAEhC,IAAI,CAAC,OAAO,UAAU,QAAQ,SAAS,eAAe,GAAG;AACxD,SAAO,MAAM,oCAAoC;AACjD,SAAO,oCAAoC,QAAQ,OAAO,iCAAiC,eAAe;AAC1G,UAAQ,KAAK,CAAC;AACf;AAEA,QAAQ,GAAG,sBAAsB,CAAC,QAAQ;AACzC,SAAO,MAAM,GAAG;AAChB,UAAQ,KAAK,CAAC;AACf,CAAC;AAED,MAAM,QAAQ,QAAQ,IAAI,CAAC,EACzB,QAAQ,OAAO,EACf,QAAQ;AAAA,EACR,SAAS;AAAA,EACT,UAAU;AAAA,EACV,SAAS,CAACA,WAAU;AACnB,WAAOA,OACL,OAAO,mBAAmB;AAAA,MAC1B,OAAO;AAAA,MACP,UAAU;AAAA,MACV,MAAM;AAAA,MACN,SAAS;AAAA,IACV,CAAC,EACA,OAAO,gBAAgB;AAAA,MACvB,OAAO;AAAA,MACP,UAAU;AAAA,MACV,MAAM;AAAA,IACP,CAAC,EACA,WAAW,WAAW;AAAA,MACtB,MAAM;AAAA,MACN,UAAU;AAAA,IACX,CAAC,EACA,WAAW,YAAY;AAAA,MACvB,MAAM;AAAA,MACN,UAAU;AAAA,MACV,SAAS,CAAC,QAAQ,QAAQ;AAAA,IAC3B,CAAC,EACA,WAAW,WAAW;AAAA,MACtB,MAAM;AAAA,MACN,UAAU;AAAA,MACV,SAAS;AAAA,IACV,CAAC;AAAA,EACH;AAAA,EACA,SAAS,CAAC,SAAS,QAAQ,IAAI;AAChC,CAAC,EACA,eAAe,IAAI,EACnB,OAAO,EACP,KAAK,EACL,MAAM;","names":["yargs"]}
1
+ {"version":3,"sources":["../cli.ts","../package.json"],"sourcesContent":["#!/usr/bin/env node\n\nimport { logger } from '@docusaurus/logger';\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\tlogger.error('Minimum Node.js version not met :(');\n\tlogger.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\tlogger.error(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","{\n \"name\": \"create-baeta\",\n \"version\": \"1.0.9\",\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.7.0\",\n \"fs-extra\": \"^11.3.0\",\n \"prompts\": \"^2.4.2\",\n \"semver\": \"^7.7.1\",\n \"shelljs\": \"^0.9.1\",\n \"supports-color\": \"^10.0.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.13.10\",\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.8.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 \"sort\": [\n \"kind\",\n \"instance-first\",\n \"required-first\",\n \"alphabetical-ignoring-documents\"\n ]\n }\n}\n"],"mappings":";;;;;;;AAEA,SAAS,cAAc;AACvB,OAAO,YAAY;AACnB,OAAO,WAAW;AAClB,SAAS,eAAe;;;ACHtB,cAAW;AAiEX,cAAW;AAAA,EACT,MAAQ;AACV;;;AD3DF,IAAM,kBAAkB,QAAQ;AAEhC,IAAI,CAAC,OAAO,UAAU,QAAQ,SAAS,eAAe,GAAG;AACxD,SAAO,MAAM,oCAAoC;AACjD,SAAO,oCAAoC,QAAQ,OAAO,iCAAiC,eAAe;AAC1G,UAAQ,KAAK,CAAC;AACf;AAEA,QAAQ,GAAG,sBAAsB,CAAC,QAAQ;AACzC,SAAO,MAAM,GAAG;AAChB,UAAQ,KAAK,CAAC;AACf,CAAC;AAED,MAAM,QAAQ,QAAQ,IAAI,CAAC,EACzB,QAAQ,OAAO,EACf,QAAQ;AAAA,EACR,SAAS;AAAA,EACT,UAAU;AAAA,EACV,SAAS,CAACA,WAAU;AACnB,WAAOA,OACL,OAAO,mBAAmB;AAAA,MAC1B,OAAO;AAAA,MACP,UAAU;AAAA,MACV,MAAM;AAAA,MACN,SAAS;AAAA,IACV,CAAC,EACA,OAAO,gBAAgB;AAAA,MACvB,OAAO;AAAA,MACP,UAAU;AAAA,MACV,MAAM;AAAA,IACP,CAAC,EACA,WAAW,WAAW;AAAA,MACtB,MAAM;AAAA,MACN,UAAU;AAAA,IACX,CAAC,EACA,WAAW,YAAY;AAAA,MACvB,MAAM;AAAA,MACN,UAAU;AAAA,MACV,SAAS,CAAC,QAAQ,QAAQ;AAAA,IAC3B,CAAC,EACA,WAAW,WAAW;AAAA,MACtB,MAAM;AAAA,MACN,UAAU;AAAA,MACV,SAAS;AAAA,IACV,CAAC;AAAA,EACH;AAAA,EACA,SAAS,CAAC,SAAS,QAAQ,IAAI;AAChC,CAAC,EACA,eAAe,IAAI,EACnB,OAAO,EACP,KAAK,EACL,MAAM;","names":["yargs"]}
package/dist/index.d.ts CHANGED
@@ -67,4 +67,4 @@ declare function createTsconfig(): {
67
67
  $schema: string;
68
68
  };
69
69
 
70
- export { type CliOptions, type JavaScriptRuntime, type PackageManager, copyTemplate, createTsconfig, defaultJavaScriptRuntime, defaultPackageManager, getAppName, getInstallCommand, getPackageJson, getPackageManager, getRuntime, getTemplate, gitignoreUrl, handler, lockfileNames, packageManagers, runtimes };
70
+ export { type Args, type CliOptions, type JavaScriptRuntime, type PackageManager, type Template, copyTemplate, createTsconfig, defaultJavaScriptRuntime, defaultPackageManager, getAppName, getInstallCommand, getPackageJson, getPackageManager, getRuntime, getTemplate, gitignoreUrl, handler, lockfileNames, packageManagers, runtimes };
package/dist/index.js CHANGED
@@ -14,7 +14,7 @@ import {
14
14
  lockfileNames,
15
15
  packageManagers,
16
16
  runtimes
17
- } from "./chunk-R4KUDDY2.js";
17
+ } from "./chunk-QGXDOHZ2.js";
18
18
  export {
19
19
  copyTemplate,
20
20
  createTsconfig,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "create-baeta",
3
- "version": "0.0.4",
3
+ "version": "1.0.9",
4
4
  "keywords": [
5
5
  "baeta",
6
6
  "graphql",
@@ -46,24 +46,24 @@
46
46
  "types": "yarn build:versions && tsc --noEmit"
47
47
  },
48
48
  "dependencies": {
49
- "@docusaurus/logger": "^3.6.3",
50
- "fs-extra": "^11.2.0",
49
+ "@docusaurus/logger": "^3.7.0",
50
+ "fs-extra": "^11.3.0",
51
51
  "prompts": "^2.4.2",
52
- "semver": "^7.6.3",
53
- "shelljs": "^0.8.5",
54
- "supports-color": "^9.4.0",
52
+ "semver": "^7.7.1",
53
+ "shelljs": "^0.9.1",
54
+ "supports-color": "^10.0.0",
55
55
  "yargs": "^17.7.2"
56
56
  },
57
57
  "devDependencies": {
58
58
  "@baeta/builder": "^0.0.0",
59
59
  "@baeta/tsconfig": "^0.0.0",
60
60
  "@types/fs-extra": "^11.0.4",
61
- "@types/node": "^22.10.1",
61
+ "@types/node": "^22.13.10",
62
62
  "@types/prompts": "^2.4.9",
63
63
  "@types/semver": "^7.5.8",
64
64
  "@types/shelljs": "^0.8.15",
65
65
  "@types/yargs": "^17.0.33",
66
- "typescript": "^5.7.2"
66
+ "typescript": "^5.8.2"
67
67
  },
68
68
  "engines": {
69
69
  "node": ">=22.12.0"
@@ -91,6 +91,12 @@
91
91
  "./index.ts"
92
92
  ],
93
93
  "readme": "none",
94
- "tsconfig": "./tsconfig.json"
94
+ "tsconfig": "./tsconfig.json",
95
+ "sort": [
96
+ "kind",
97
+ "instance-first",
98
+ "required-first",
99
+ "alphabetical-ignoring-documents"
100
+ ]
95
101
  }
96
102
  }
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../lib/constants.ts","../lib/app-name.ts","../lib/package-manager.ts","../lib/runtime.ts","../meta/apollo/package.json","../meta/yoga/package.json","../versions.json","../lib/package-json.ts","../../../tools/tsconfig/tsconfig.json","../lib/tsconfig.ts","../lib/templates.ts","../lib/handler.ts"],"sourcesContent":["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 runtimes = ['node', 'deno', 'bun'] as const;\n\nexport type JavaScriptRuntime = (typeof runtimes)[number];\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 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","{\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.4\",\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.7\",\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/subscriptions-cloudflare\": \"0.1.5\",\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","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, runtimes } 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\tconst hasRuntimeEntry = await fs.pathExists(join(dest, 'src', `app.${runtime}.ts`));\n\n\tif (hasRuntimeEntry) {\n\t\tawait fs.copyFile(join(dest, 'src', `app.${runtime}.ts`), join(dest, 'src', 'app.ts'));\n\t\tawait Promise.all(\n\t\t\truntimes.map((r) => fs.remove(join(dest, 'src', `app.${r}.ts`)).catch(() => {})),\n\t\t);\n\t}\n}\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"],"mappings":"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","names":["path","logger","fs","prompts","path","fs","prompts","logger","logger","prompts","shell","shell","prompts","logger","package_default","package_default","path","logger","fs","prompts","fs","path","prompts","logger","path","logger","shell","path","logger","shell"]}