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 +6 -0
- package/dist/cli.js +109 -60
- package/dist/cli.js.map +1 -1
- package/package.json +1 -1
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
|
|
22
|
-
import
|
|
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
|
|
177
|
+
import { logger as logger4 } from "@docusaurus/logger";
|
|
150
178
|
import fs3 from "fs-extra";
|
|
151
|
-
import
|
|
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.
|
|
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.
|
|
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.
|
|
222
|
-
"@baeta/generator-sdk": "0.1.
|
|
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.
|
|
225
|
-
"@baeta/plugin-cloudflare": "1.0.
|
|
226
|
-
"@baeta/plugin-directives": "1.0.
|
|
227
|
-
"@baeta/plugin-exec": "0.1.
|
|
228
|
-
"@baeta/plugin-gitignore": "0.1.
|
|
229
|
-
"@baeta/plugin-graphql": "0.1.
|
|
230
|
-
"@baeta/plugin-pagination": "0.1.
|
|
231
|
-
"@baeta/plugin-prisma": "0.1.
|
|
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
|
|
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
|
|
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
|
-
|
|
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(
|
|
353
|
-
const templates = await readTemplates(
|
|
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
|
-
|
|
367
|
-
|
|
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(
|
|
381
|
-
|
|
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
|
-
|
|
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
|
-
|
|
391
|
-
|
|
392
|
-
const result =
|
|
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
|
-
|
|
401
|
-
|
|
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
|
-
|
|
412
|
-
|
|
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.
|
|
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"]}
|