MCPcopy Index your code
hub / github.com/zenstackhq/zenstack / initProject

Function initProject

packages/create-zenstack/src/index.ts:34–120  ·  view source on GitHub ↗
(name: string)

Source from the content-addressed store, hash-verified

32program.parse(process.argv);
33
34function initProject(name: string) {
35 // create folder
36 if (fs.existsSync(name)) {
37 console.log(colors.red(`Directory ${name} already exists.`));
38 process.exit(1);
39 }
40 fs.mkdirSync(name);
41 process.chdir(name);
42
43 console.log(colors.gray(`Using package manager: ${agent}`));
44
45 // create package.json
46 fs.writeFileSync(
47 'package.json',
48 JSON.stringify(
49 {
50 name: 'zenstack-app',
51 version: '1.0.0',
52 description: 'Scaffolded with create-zenstack',
53 type: 'module',
54 scripts: {
55 dev: 'tsx main.ts',
56 },
57 license: 'ISC',
58 },
59 null,
60 2,
61 ),
62 );
63
64 // create VSCode config files
65 createVsCodeConfig();
66
67 // install packages
68 const packages = [
69 { name: '@zenstackhq/cli@latest', dev: true },
70 { name: '@zenstackhq/schema@latest', dev: false },
71 { name: '@zenstackhq/orm@latest', dev: false },
72 { name: 'better-sqlite3', dev: false },
73 { name: '@types/better-sqlite3', dev: true },
74 { name: 'typescript', dev: true },
75 { name: 'tsx', dev: true },
76 { name: '@types/node', dev: true },
77 ];
78 for (const pkg of packages) {
79 installPackage(pkg);
80 }
81
82 // create tsconfig.json
83 fs.writeFileSync(
84 'tsconfig.json',
85 JSON.stringify(
86 {
87 compilerOptions: {
88 module: 'esnext',
89 target: 'esnext',
90 moduleResolution: 'bundler',
91 sourceMap: true,

Callers 1

index.tsFile · 0.85

Calls 5

createVsCodeConfigFunction · 0.85
installPackageFunction · 0.85
runCommandFunction · 0.85
execSyncFunction · 0.85
logMethod · 0.65

Tested by

no test coverage detected