create-express-esm 1.0.2 โ†’ 1.0.4

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/README.md +81 -0
  2. package/package.json +6 -2
package/README.md ADDED
@@ -0,0 +1,81 @@
1
+ # ๐Ÿš€ Create Express ESM (CLI)
2
+
3
+ > **Modern Express Generator**
4
+ >
5
+ > "๋” ์ด์ƒ ๊ตฌ์‹ ๋ฌธ๋ฒ•(`require`)๊ณผ ๋ณต์žกํ•œ ์„ค์ •์— ์‹œ๊ฐ„์„ ๋‚ญ๋น„ํ•˜์ง€ ๋งˆ์„ธ์š”."
6
+ > ๋ช…๋ น์–ด ํ•œ ์ค„๋กœ **ES Modules**์™€ **Layered Architecture**๊ฐ€ ์ ์šฉ๋œ ํ”„๋กœ์ ํŠธ๋ฅผ 1์ดˆ ๋งŒ์— ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.
7
+
8
+ [![npm version](https://img.shields.io/npm/v/create-express-esm.svg)](https://www.npmjs.com/package/create-express-esm)
9
+ [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
10
+
11
+ ## โœจ Key Features (ํ•ต์‹ฌ ๊ธฐ๋Šฅ)
12
+
13
+ ๊ธฐ์กด `express-generator`์˜ ํ•œ๊ณ„๋ฅผ ๋ถ„์„ํ•˜๊ณ  ๊ฐœ์„ ํ•˜์—ฌ ๊ฐœ๋ฐœํ–ˆ์Šต๋‹ˆ๋‹ค.
14
+
15
+ - **โšก๏ธ 100% ES Modules**: ๊ตฌ์‹ CommonJS(`require`)๋ฅผ ๋ฒ„๋ฆฌ๊ณ  ์ตœ์‹  `import/export` ๋ฌธ๋ฒ•์„ ๊ธฐ๋ณธ์œผ๋กœ ์ฑ„ํƒํ–ˆ์Šต๋‹ˆ๋‹ค.
16
+ - **๐Ÿ— Layered Architecture**: ์‹ค๋ฌด ํ‘œ์ค€์ธ `Controller` - `Service` - `Model` ๊ตฌ์กฐ๋ฅผ ์ž๋™์œผ๋กœ ์žก์•„์ค๋‹ˆ๋‹ค.
17
+ - **๐Ÿ“ฆ Auto Installation**: ํ”„๋กœ์ ํŠธ ์ƒ์„ฑ ํ›„ ๊ท€์ฐฎ์€ `npm install` ๊ณผ์ •์„ ์ž๋™์œผ๋กœ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.
18
+ - **๐Ÿ›  Ready-to-Use**: `dotenv`, `cors`, `morgan`, `nodemon` ๋“ฑ ํ•„์ˆ˜ ๊ฐœ๋ฐœ ํ™˜๊ฒฝ์ด ์„ธํŒ…๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.
19
+
20
+ ## ๐Ÿš€ Quick Start (์‚ฌ์šฉ๋ฒ•)
21
+
22
+ ๋ณ„๋„์˜ ์„ค์น˜ ์—†์ด `npx` ๋ช…๋ น์–ด๋กœ ์ฆ‰์‹œ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
23
+
24
+ ```bash
25
+ npx create-express-esm
26
+ ```
27
+
28
+ ๋˜๋Š” ์ „์—ญ์œผ๋กœ ์„ค์น˜ํ•˜์—ฌ ์‚ฌ์šฉํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.
29
+
30
+ ```
31
+ npm install -g create-express-esm
32
+ create-express-esm
33
+ ```
34
+
35
+ ## ๐Ÿ“‚ Project Structure (ํด๋” ๊ตฌ์กฐ)
36
+
37
+ ์ด ๋„๊ตฌ๋Š” **Layered Architecture (๊ณ„์ธตํ˜• ์•„ํ‚คํ…์ฒ˜)**๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ”„๋กœ์ ํŠธ๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.
38
+ **๊ด€์‹ฌ์‚ฌ ๋ถ„๋ฆฌ(Separation of Concerns)** ์›์น™์„ ์ ์šฉํ•˜์—ฌ, ๋กœ์ง์ด ์„ž์ด์ง€ ์•Š๊ณ  ์œ ์ง€๋ณด์ˆ˜๊ฐ€ ์‰ฌ์šด ๊ตฌ์กฐ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.
39
+
40
+ ```text
41
+ my-app/
42
+ โ”œโ”€โ”€ src/
43
+ โ”‚ โ”œโ”€โ”€ config/ # โš™๏ธ ํ™˜๊ฒฝ๋ณ€์ˆ˜ ๋ฐ DB ์—ฐ๊ฒฐ ์„ค์ •
44
+ โ”‚ โ”œโ”€โ”€ controllers/ # ๐Ÿ•น๏ธ ์š”์ฒญ๊ณผ ์‘๋‹ต ์ฒ˜๋ฆฌ (Controller Layer)
45
+ โ”‚ โ”œโ”€โ”€ models/ # ๐Ÿ—„๏ธ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์Šคํ‚ค๋งˆ (Data Access Layer)
46
+ โ”‚ โ”œโ”€โ”€ routes/ # ๐Ÿšฆ API ๋ผ์šฐํŒ… ์ •์˜ (Route Definitions)
47
+ โ”‚ โ”œโ”€โ”€ services/ # ๐Ÿง  ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง (Service Layer) - ํ•ต์‹ฌ ๋กœ์ง!
48
+ โ”‚ โ”œโ”€โ”€ app.js # ๐Ÿ—๏ธ Express App ์„ค์ • (Middleware, CORS ๋“ฑ)
49
+ โ”‚ โ””โ”€โ”€ server.js # ๐Ÿš€ ์„œ๋ฒ„ ์‹คํ–‰ ์ง„์ž…์  (Entry Point)
50
+ โ”œโ”€โ”€ .env # ๐Ÿ” ํ™˜๊ฒฝ ๋ณ€์ˆ˜ (Port, DB Key ๋“ฑ)
51
+ โ”œโ”€โ”€ .gitignore # ๐Ÿ™ˆ Git ๋ฌด์‹œ ์„ค์ •
52
+ โ””โ”€โ”€ package.json # ๐Ÿ“ฆ ํ”„๋กœ์ ํŠธ ์˜์กด์„ฑ ๋ฐ ์Šคํฌ๋ฆฝํŠธ
53
+ ```
54
+
55
+ ## ๐Ÿ›  Tech Stack (๊ธฐ์ˆ  ์Šคํƒ)
56
+
57
+ Runtime: Node.js
58
+
59
+ Framework: Express.js
60
+
61
+ Architecture: Layered Pattern (Controller-Service-Model)
62
+
63
+ Language: JavaScript (ES6+ Modules)
64
+
65
+ Tools:
66
+
67
+ dotenv (ํ™˜๊ฒฝ๋ณ€์ˆ˜ ๊ด€๋ฆฌ)
68
+
69
+ cors (CORS ์„ค์ •)
70
+
71
+ morgan (HTTP ๋กœ๊ทธ)
72
+
73
+ nodemon (๊ฐœ๋ฐœ์šฉ ์„œ๋ฒ„ ์ž๋™ ์žฌ์‹œ์ž‘)
74
+
75
+ ## ๐Ÿค Contributing
76
+
77
+ ๋ฒ„๊ทธ ์‹ ๊ณ , ๊ธฐ๋Šฅ ์ œ์•ˆ, PR์€ ์–ธ์ œ๋‚˜ ํ™˜์˜ํ•ฉ๋‹ˆ๋‹ค! ์ด์Šˆ๋Š” Issues ํƒญ์„ ์ด์šฉํ•ด ์ฃผ์„ธ์š”.
78
+
79
+ ## ๐Ÿ“ License
80
+
81
+ This project is MIT licensed.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "create-express-esm",
3
- "version": "1.0.2",
3
+ "version": "1.0.4",
4
4
  "description": "A modern CLI tool to bootstrap Express.js applications with ES Modules and Layered Architecture.",
5
5
  "main": "index.js",
6
6
  "bin": {
@@ -18,5 +18,9 @@
18
18
  "commander": "^14.0.2",
19
19
  "fs-extra": "^11.3.2",
20
20
  "inquirer": "^13.0.1"
21
- }
21
+ },
22
+ "files": [
23
+ "bin",
24
+ "template"
25
+ ]
22
26
  }