@hazeljs/cli 0.2.0-beta.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.
- package/@template/README.md +61 -0
- package/@template/package.json +48 -0
- package/@template/src/app.module.ts +7 -0
- package/@template/src/hello.controller.ts +9 -0
- package/@template/src/index.ts +10 -0
- package/README.md +675 -0
- package/dist/commands/add.d.ts +2 -0
- package/dist/commands/add.js +90 -0
- package/dist/commands/build.d.ts +2 -0
- package/dist/commands/build.js +52 -0
- package/dist/commands/generate-agent.d.ts +2 -0
- package/dist/commands/generate-agent.js +56 -0
- package/dist/commands/generate-ai-service.d.ts +2 -0
- package/dist/commands/generate-ai-service.js +49 -0
- package/dist/commands/generate-app.d.ts +2 -0
- package/dist/commands/generate-app.js +246 -0
- package/dist/commands/generate-controller.d.ts +2 -0
- package/dist/commands/generate-controller.js +59 -0
- package/dist/commands/generate-crud.d.ts +2 -0
- package/dist/commands/generate-crud.js +203 -0
- package/dist/commands/generate-dto.d.ts +2 -0
- package/dist/commands/generate-dto.js +56 -0
- package/dist/commands/generate-exception-filter.d.ts +2 -0
- package/dist/commands/generate-exception-filter.js +50 -0
- package/dist/commands/generate-guard.d.ts +2 -0
- package/dist/commands/generate-guard.js +35 -0
- package/dist/commands/generate-interceptor.d.ts +2 -0
- package/dist/commands/generate-interceptor.js +37 -0
- package/dist/commands/generate-middleware.d.ts +2 -0
- package/dist/commands/generate-middleware.js +79 -0
- package/dist/commands/generate-module.d.ts +2 -0
- package/dist/commands/generate-module.js +96 -0
- package/dist/commands/generate-pipe.d.ts +2 -0
- package/dist/commands/generate-pipe.js +33 -0
- package/dist/commands/generate-repository.d.ts +2 -0
- package/dist/commands/generate-repository.js +38 -0
- package/dist/commands/generate-serverless-handler.d.ts +2 -0
- package/dist/commands/generate-serverless-handler.js +46 -0
- package/dist/commands/generate-service.d.ts +2 -0
- package/dist/commands/generate-service.js +51 -0
- package/dist/commands/generate-websocket-gateway.d.ts +2 -0
- package/dist/commands/generate-websocket-gateway.js +47 -0
- package/dist/commands/info.d.ts +2 -0
- package/dist/commands/info.js +91 -0
- package/dist/commands/start.d.ts +2 -0
- package/dist/commands/start.js +61 -0
- package/dist/commands/test.d.ts +2 -0
- package/dist/commands/test.js +63 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.js +61 -0
- package/dist/utils/generator.d.ts +14 -0
- package/dist/utils/generator.js +79 -0
- package/package.json +67 -0
- package/src/commands/add.ts +101 -0
- package/src/commands/build.ts +56 -0
- package/src/commands/generate-agent.ts +58 -0
- package/src/commands/generate-ai-service.ts +52 -0
- package/src/commands/generate-app.ts +270 -0
- package/src/commands/generate-controller.ts +61 -0
- package/src/commands/generate-crud.ts +214 -0
- package/src/commands/generate-dto.ts +61 -0
- package/src/commands/generate-exception-filter.ts +53 -0
- package/src/commands/generate-guard.ts +37 -0
- package/src/commands/generate-interceptor.ts +39 -0
- package/src/commands/generate-middleware.ts +86 -0
- package/src/commands/generate-module.ts +102 -0
- package/src/commands/generate-pipe.ts +36 -0
- package/src/commands/generate-repository.ts +41 -0
- package/src/commands/generate-serverless-handler.ts +53 -0
- package/src/commands/generate-service.ts +53 -0
- package/src/commands/generate-websocket-gateway.ts +50 -0
- package/src/commands/info.ts +106 -0
- package/src/commands/start.ts +61 -0
- package/src/commands/test.ts +70 -0
- package/src/index.ts +68 -0
- package/src/utils/generator.ts +93 -0
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
# HazelJS Starter App
|
|
2
|
+
|
|
3
|
+
This project was generated with the [HazelJS CLI](https://github.com/your-org/hazeljs) and serves as a starting point for building scalable, modular Node.js applications with TypeScript.
|
|
4
|
+
|
|
5
|
+
## Features
|
|
6
|
+
|
|
7
|
+
- **TypeScript-first**: All code and configs are TypeScript.
|
|
8
|
+
- **Decorator-based API**: Clean, intuitive module/controller/service structure.
|
|
9
|
+
- **Built-in Dependency Injection**.
|
|
10
|
+
- **Validation, Guards, Interceptors, and Middleware** support.
|
|
11
|
+
- **Swagger/OpenAPI** integration out of the box.
|
|
12
|
+
- **Ready for Testing**: Includes Jest setup.
|
|
13
|
+
|
|
14
|
+
## Project Structure
|
|
15
|
+
|
|
16
|
+
```
|
|
17
|
+
src/
|
|
18
|
+
core/ # HazelJS core framework (decorators, pipes, guards, swagger, types)
|
|
19
|
+
example/ # Example application code
|
|
20
|
+
index.ts # Main entry point
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
## Getting Started
|
|
24
|
+
|
|
25
|
+
1. **Install dependencies:**
|
|
26
|
+
```bash
|
|
27
|
+
npm install
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
2. **Run the app:**
|
|
31
|
+
```bash
|
|
32
|
+
npm run start
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
3. **Run tests:**
|
|
36
|
+
```bash
|
|
37
|
+
npm test
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
4. **Build for production:**
|
|
41
|
+
```bash
|
|
42
|
+
npm run build
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
## Example Usage
|
|
46
|
+
|
|
47
|
+
- See `src/example/` for a sample module, controller, and DTO.
|
|
48
|
+
- Modify or add modules/controllers/services in `src/` as needed.
|
|
49
|
+
|
|
50
|
+
## Customization
|
|
51
|
+
|
|
52
|
+
- Edit `src/core/` to extend or override framework features.
|
|
53
|
+
- Add new modules, controllers, services, DTOs, and middleware as your app grows.
|
|
54
|
+
|
|
55
|
+
## Documentation
|
|
56
|
+
|
|
57
|
+
- See the [HazelJS documentation](https://github.com/your-org/hazeljs) for more details on decorators, DI, validation, and advanced features.
|
|
58
|
+
|
|
59
|
+
## License
|
|
60
|
+
|
|
61
|
+
MIT
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "hazeljs-example",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"description": "Example application using HazelJS",
|
|
5
|
+
"main": "dist/index.js",
|
|
6
|
+
"scripts": {
|
|
7
|
+
"build": "tsc",
|
|
8
|
+
"start": "node dist/index.js",
|
|
9
|
+
"dev": "ts-node-dev --respawn --transpile-only src/index.ts",
|
|
10
|
+
"test": "jest",
|
|
11
|
+
"test:ci": "jest --coverage --coverageReporters=text --coverageReporters=lcov --coverageReporters=clover --no-coverage-threshold",
|
|
12
|
+
"lint": "eslint \"src/**/*.ts\" --max-warnings 0",
|
|
13
|
+
"lint:fix": "eslint \"src/**/*.ts\" --fix --max-warnings 0",
|
|
14
|
+
"format": "prettier --write \"src/**/*.ts\""
|
|
15
|
+
},
|
|
16
|
+
"dependencies": {
|
|
17
|
+
"@hazeljs/core": "file:..",
|
|
18
|
+
"bcryptjs": "^2.4.3",
|
|
19
|
+
"class-transformer": "^0.5.1",
|
|
20
|
+
"class-validator": "^0.14.1",
|
|
21
|
+
"dotenv": "^16.4.5",
|
|
22
|
+
"jsonwebtoken": "^9.0.2",
|
|
23
|
+
"reflect-metadata": "^0.2.1",
|
|
24
|
+
"winston": "^3.12.0"
|
|
25
|
+
},
|
|
26
|
+
"devDependencies": {
|
|
27
|
+
"@types/axios": "^0.9.36",
|
|
28
|
+
"@types/bcryptjs": "^2.4.6",
|
|
29
|
+
"@types/express": "^4.17.21",
|
|
30
|
+
"@types/jest": "^29.5.12",
|
|
31
|
+
"@types/jsonwebtoken": "^9.0.6",
|
|
32
|
+
"@types/node": "^20.11.24",
|
|
33
|
+
"@types/swagger-ui-express": "^4.1.6",
|
|
34
|
+
"@typescript-eslint/eslint-plugin": "^7.0.0",
|
|
35
|
+
"@typescript-eslint/parser": "^7.0.0",
|
|
36
|
+
"axios": "^1.9.0",
|
|
37
|
+
"eslint": "^8.0.0",
|
|
38
|
+
"eslint-config-prettier": "^9.0.0",
|
|
39
|
+
"eslint-plugin-jest": "^27.0.0",
|
|
40
|
+
"eslint-plugin-prettier": "^5.0.0",
|
|
41
|
+
"jest": "^29.7.0",
|
|
42
|
+
"prettier": "^3.0.0",
|
|
43
|
+
"ts-jest": "^29.1.2",
|
|
44
|
+
"ts-node": "^10.9.2",
|
|
45
|
+
"ts-node-dev": "^2.0.0",
|
|
46
|
+
"typescript": "^5.3.3"
|
|
47
|
+
}
|
|
48
|
+
}
|