Skip to content

Commit 7a9d7c6

Browse files
authored
Merge pull request #46 from drumath2237/feature/#44-pkg-types
use pkg-types
2 parents 9608607 + b20a051 commit 7a9d7c6

File tree

3 files changed

+21
-14
lines changed

3 files changed

+21
-14
lines changed

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@
2929
"@inquirer/prompts": "^5.2.1",
3030
"citty": "^0.1.6",
3131
"consola": "^3.2.3",
32-
"fs-extra": "^11.2.0"
32+
"pkg-types": "^1.1.3"
3333
},
3434
"devDependencies": {
3535
"@biomejs/biome": "^1.8.3",

pnpm-lock.yaml

Lines changed: 3 additions & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/index.ts

Lines changed: 17 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,22 @@
1-
import { mkdir } from "node:fs/promises";
1+
import { cp, mkdir } from "node:fs/promises";
22
import path from "node:path";
33
import { fileURLToPath } from "node:url";
44
import { runMain as _runMain, defineCommand } from "citty";
55
import { consola } from "consola";
66
import { colorize } from "consola/utils";
7-
import { copy, readJSON, writeJson } from "fs-extra/esm";
7+
import { readPackageJSON, writePackageJSON } from "pkg-types";
88

99
export const runMain = () => _runMain(mainCommand);
1010

1111
const mainCommand = defineCommand({
12-
meta: {
13-
description:
14-
"create-babylon-app is a CLI for scaffolding Babylon.js web application project from templates!",
12+
meta: async () => {
13+
const packageJson = await readPackageJSON();
14+
return {
15+
name: "create-babylon-app",
16+
version: packageJson.version,
17+
description:
18+
"A CLI for scaffolding Babylon.js web application project from templates!",
19+
};
1520
},
1621
run: async () => {
1722
const projectName = await consola.prompt("Project Name", {
@@ -44,12 +49,14 @@ const mainCommand = defineCommand({
4449
const appDir = path.join(workingDir, projectName);
4550

4651
await mkdir(appDir);
47-
await copy(templateDir, appDir);
52+
await cp(templateDir, appDir, { recursive: true });
4853

49-
const packageJsonPath = path.join(appDir, "package.json");
50-
const packageJson = await readJSON(packageJsonPath);
51-
packageJson.name = projectName;
52-
await writeJson(packageJsonPath, packageJson, { spaces: "\t" });
54+
const packageJson = await readPackageJSON(appDir);
55+
if (packageJson.name) {
56+
packageJson.name = projectName;
57+
const jsonPath = path.resolve(appDir, "package.json");
58+
await writePackageJSON(jsonPath, packageJson);
59+
}
5360

5461
console.log("\nDone!");
5562
console.log(` cd ${projectName}\n`);

0 commit comments

Comments
 (0)