create-ts-express-app 1.3.0 → 1.3.1

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.
Files changed (2) hide show
  1. package/bin/cli.js +41 -43
  2. package/package.json +11 -20
package/bin/cli.js CHANGED
@@ -1,50 +1,48 @@
1
- #!/usr/bin/env node
2
-
3
- const fs = require('fs-extra');
4
- const path = require('path');
1
+ const fs = require("fs-extra")
2
+ const path = require("path")
5
3
 
6
4
  // Get project name from command line
7
- const projectName = process.argv[2] || 'ts-express-app';
5
+ const projectName = process.argv[2] || "ts-express-app"
8
6
 
9
7
  // Target directory (where user ran the npx command)
10
- const targetDir = path.join(process.cwd(), projectName);
8
+ const targetDir = path.join(process.cwd(), projectName)
11
9
 
12
10
  // Source template directory (relative to this script)
13
- const templateDir = path.join(__dirname, '..', 'template');
11
+ const templateDir = path.join(__dirname, "..", "template")
14
12
 
15
- console.log('Debug info:');
16
- console.log(`Script location: ${__dirname}`);
17
- console.log(`Template directory: ${templateDir}`);
18
- console.log(`Target directory: ${targetDir}`);
13
+ console.log("Debug info:")
14
+ console.log(`Script location: ${__dirname}`)
15
+ console.log(`Template directory: ${templateDir}`)
16
+ console.log(`Target directory: ${targetDir}`)
19
17
 
20
18
  async function createProject() {
21
- console.log(`Creating a new TypeScript Express project in ${targetDir}`);
22
-
19
+ console.log(`Creating a new TypeScript Express project in ${targetDir}`)
20
+
23
21
  // Check if directory exists
24
22
  if (fs.existsSync(targetDir)) {
25
- console.error(`Error: Directory ${projectName} already exists.`);
26
- process.exit(1);
23
+ console.error(`Error: Directory ${projectName} already exists.`)
24
+ process.exit(1)
27
25
  }
28
-
26
+
29
27
  // Create the target directory
30
- fs.mkdirSync(targetDir, { recursive: true });
31
-
28
+ fs.mkdirSync(targetDir, { recursive: true })
29
+
32
30
  // Check if template directory exists
33
31
  if (!fs.existsSync(templateDir)) {
34
- console.error(`Error: Template directory not found at ${templateDir}`);
35
- console.log('Available files in script directory:');
36
- console.log(fs.readdirSync(path.join(__dirname, '..')));
37
- process.exit(1);
32
+ console.error(`Error: Template directory not found at ${templateDir}`)
33
+ console.log("Available files in script directory:")
34
+ console.log(fs.readdirSync(path.join(__dirname, "..")))
35
+ process.exit(1)
38
36
  }
39
-
37
+
40
38
  // Copy template files
41
39
  try {
42
- await fs.copy(templateDir, targetDir);
43
- console.log('Template files copied successfully.');
40
+ await fs.copy(templateDir, targetDir)
41
+ console.log("Template files copied successfully.")
44
42
  // Add this after copying the template files:
45
- await fs.writeFile(
46
- path.join(targetDir, '.gitignore'),
47
- `# Generated .gitignore file
43
+ await fs.writeFile(
44
+ path.join(targetDir, ".gitignore"),
45
+ `# Generated .gitignore file
48
46
  node_modules/
49
47
  dist/
50
48
  .env
@@ -52,24 +50,24 @@ await fs.writeFile(
52
50
  npm-debug.log
53
51
  yarn-error.log
54
52
  `
55
- )
56
- const packageJsonPath = path.join(targetDir, 'package.json');
53
+ )
54
+ const packageJsonPath = path.join(targetDir, "package.json")
57
55
  if (fs.existsSync(packageJsonPath)) {
58
- const packageJson = await fs.readJson(packageJsonPath);
59
- packageJson.name = projectName;
60
- await fs.writeJson(packageJsonPath, packageJson, { spaces: 2 });
56
+ const packageJson = await fs.readJson(packageJsonPath)
57
+ packageJson.name = projectName
58
+ await fs.writeJson(packageJsonPath, packageJson, { spaces: 2 })
61
59
  }
62
-
63
- console.log('Project created successfully!');
64
- console.log('\nNext steps:');
65
- console.log(` cd ${projectName}`);
66
- console.log(' npm install');
67
- console.log(' npm run dev');
60
+
61
+ console.log("Project created successfully!")
62
+ console.log("\nNext steps:")
63
+ console.log(` cd ${projectName}`)
64
+ console.log(" npm install")
65
+ console.log(" npm run dev")
68
66
  } catch (err) {
69
- console.error(`Error creating project: ${err.message}`);
70
- console.error(err.stack);
71
- process.exit(1);
67
+ console.error(`Error creating project: ${err.message}`)
68
+ console.error(err.stack)
69
+ process.exit(1)
72
70
  }
73
71
  }
74
72
 
75
- createProject();
73
+ createProject()
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "create-ts-express-app",
3
- "version": "1.3.0",
3
+ "version": "1.3.1",
4
4
  "main": "index.js",
5
5
  "bin": {
6
6
  "create-ts-express-app": "bin/cli.js"
@@ -11,30 +11,21 @@
11
11
  "dev": "nodemon --exec ts-node src/index.ts",
12
12
  "dev:watch": "nodemon --watch 'src/**/*.ts' --exec 'ts-node' src/index.ts"
13
13
  },
14
- "keywords": ["typescript", "express", "template", "starter"],
14
+ "keywords": [
15
+ "typescript",
16
+ "express",
17
+ "boilerplate",
18
+ "create-app",
19
+ "starter",
20
+ "scaffold",
21
+ "npx",
22
+ "cli"
23
+ ],
15
24
  "author": "Harsh Pal",
16
25
  "license": "MIT",
17
26
  "description": "A simple backend starter for ts",
18
- "devDependencies": {
19
- "@types/node": "^22.14.1",
20
- "@typescript-eslint/eslint-plugin": "^8.30.1",
21
- "@typescript-eslint/parser": "^8.30.1",
22
- "eslint": "^9.24.0",
23
- "eslint-config-prettier": "^10.1.2",
24
- "eslint-plugin-prettier": "^5.2.6",
25
- "nodemon": "^3.1.9",
26
- "prettier": "^3.5.3",
27
- "ts-node": "^10.9.2",
28
- "typescript": "^5.8.3"
29
- },
30
27
  "dependencies": {
31
- "@types/express": "^5.0.1",
32
- "dotenv": "^16.5.0",
33
- "express": "^5.1.0",
34
- "fs": "^0.0.1-security",
35
- "ncp": "^2.0.0",
36
28
  "path": "^0.12.7",
37
- "chalk": "^4.1.2",
38
29
  "fs-extra": "^10.1.0"
39
30
  },
40
31
  "repository": {