create-endy-pixigame
Version:
> A custom Remix + PixiJS project generator for pixel art web games — powered by Vite, Redux, and TypeScript.
42 lines (33 loc) • 1.27 kB
JavaScript
import fs from "fs-extra";
import path from "path";
import { fileURLToPath } from "url";
import prompts from "prompts";
const __dirname = path.dirname(fileURLToPath(import.meta.url));
async function main() {
const { projectName } = await prompts({
type: "text",
name: "projectName",
message: "Enter the name of your new project:",
initial: "my-project",
});
const src = path.join(__dirname, "template");
const dest = path.join(process.cwd(), projectName);
if (fs.existsSync(dest)) {
console.error(
`Directory ${projectName} already exists. Please choose a different name.`
);
process.exit(1);
}
await fs.copy(src, dest);
//replace placeholders in package.json
const packageJsonPath = path.join(dest, "package.json");
const packageJson = await fs.readJson(packageJsonPath);
packageJson.name = projectName;
await fs.writeJson(packageJsonPath, packageJson, { spaces: 2 });
console.log(`Project ${projectName} created successfully!`);
console.log(`Navigate to your project directory: cd ${projectName}`);
console.log("Run `npm install` to install dependencies.");
console.log("Run `npm run dev` to start the development server.");
}
main();