@hatem427/code-guard-ci 3.0.0 → 3.1.0
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/config/fastify.config.ts +326 -0
- package/config/hono.config.ts +331 -0
- package/config/nestjs.config.ts +500 -0
- package/config/node.config.ts +425 -0
- package/config/python.config.ts +512 -0
- package/dist/config/fastify.config.d.ts +17 -0
- package/dist/config/fastify.config.d.ts.map +1 -0
- package/dist/config/fastify.config.js +279 -0
- package/dist/config/fastify.config.js.map +1 -0
- package/dist/config/hono.config.d.ts +17 -0
- package/dist/config/hono.config.d.ts.map +1 -0
- package/dist/config/hono.config.js +287 -0
- package/dist/config/hono.config.js.map +1 -0
- package/dist/config/nestjs.config.d.ts +17 -0
- package/dist/config/nestjs.config.d.ts.map +1 -0
- package/dist/config/nestjs.config.js +440 -0
- package/dist/config/nestjs.config.js.map +1 -0
- package/dist/config/node.config.d.ts +17 -0
- package/dist/config/node.config.d.ts.map +1 -0
- package/dist/config/node.config.js +363 -0
- package/dist/config/node.config.js.map +1 -0
- package/dist/config/python.config.d.ts +15 -0
- package/dist/config/python.config.d.ts.map +1 -0
- package/dist/config/python.config.js +475 -0
- package/dist/config/python.config.js.map +1 -0
- package/dist/scripts/auto-fix.d.ts +5 -0
- package/dist/scripts/auto-fix.d.ts.map +1 -1
- package/dist/scripts/auto-fix.js +5 -0
- package/dist/scripts/auto-fix.js.map +1 -1
- package/dist/scripts/cli.js +2 -2
- package/dist/scripts/cli.js.map +1 -1
- package/dist/scripts/config-generators/ai-config-generator.d.ts.map +1 -1
- package/dist/scripts/config-generators/ai-config-generator.js +6 -0
- package/dist/scripts/config-generators/ai-config-generator.js.map +1 -1
- package/dist/scripts/config-generators/eslint-generator.d.ts.map +1 -1
- package/dist/scripts/config-generators/eslint-generator.js +108 -0
- package/dist/scripts/config-generators/eslint-generator.js.map +1 -1
- package/dist/scripts/config-generators/frameworks/fastify.d.ts +6 -0
- package/dist/scripts/config-generators/frameworks/fastify.d.ts.map +1 -0
- package/dist/scripts/config-generators/frameworks/fastify.js +68 -0
- package/dist/scripts/config-generators/frameworks/fastify.js.map +1 -0
- package/dist/scripts/config-generators/frameworks/hono.d.ts +6 -0
- package/dist/scripts/config-generators/frameworks/hono.d.ts.map +1 -0
- package/dist/scripts/config-generators/frameworks/hono.js +63 -0
- package/dist/scripts/config-generators/frameworks/hono.js.map +1 -0
- package/dist/scripts/config-generators/frameworks/index.d.ts +3 -0
- package/dist/scripts/config-generators/frameworks/index.d.ts.map +1 -1
- package/dist/scripts/config-generators/frameworks/index.js +7 -1
- package/dist/scripts/config-generators/frameworks/index.js.map +1 -1
- package/dist/scripts/config-generators/frameworks/nestjs.d.ts +6 -0
- package/dist/scripts/config-generators/frameworks/nestjs.d.ts.map +1 -0
- package/dist/scripts/config-generators/frameworks/nestjs.js +83 -0
- package/dist/scripts/config-generators/frameworks/nestjs.js.map +1 -0
- package/dist/scripts/config-generators/frameworks/node.d.ts +2 -2
- package/dist/scripts/config-generators/frameworks/node.d.ts.map +1 -1
- package/dist/scripts/config-generators/frameworks/node.js +56 -11
- package/dist/scripts/config-generators/frameworks/node.js.map +1 -1
- package/dist/scripts/config-generators/typescript-generator.d.ts.map +1 -1
- package/dist/scripts/config-generators/typescript-generator.js +33 -0
- package/dist/scripts/config-generators/typescript-generator.js.map +1 -1
- package/dist/scripts/config-generators/vscode-generator.d.ts.map +1 -1
- package/dist/scripts/config-generators/vscode-generator.js +73 -0
- package/dist/scripts/config-generators/vscode-generator.js.map +1 -1
- package/dist/scripts/generate-pr-checklist.d.ts +5 -0
- package/dist/scripts/generate-pr-checklist.d.ts.map +1 -1
- package/dist/scripts/generate-pr-checklist.js +6 -1
- package/dist/scripts/generate-pr-checklist.js.map +1 -1
- package/dist/scripts/postinstall.js +38 -0
- package/dist/scripts/postinstall.js.map +1 -1
- package/dist/scripts/precommit-check.d.ts +13 -0
- package/dist/scripts/precommit-check.d.ts.map +1 -1
- package/dist/scripts/precommit-check.js +288 -5
- package/dist/scripts/precommit-check.js.map +1 -1
- package/dist/scripts/utils/naming-validator.d.ts.map +1 -1
- package/dist/scripts/utils/naming-validator.js +96 -2
- package/dist/scripts/utils/naming-validator.js.map +1 -1
- package/dist/scripts/utils/project-detector.d.ts +12 -9
- package/dist/scripts/utils/project-detector.d.ts.map +1 -1
- package/dist/scripts/utils/project-detector.js +63 -11
- package/dist/scripts/utils/project-detector.js.map +1 -1
- package/dist/scripts/utils/structure-validator.d.ts.map +1 -1
- package/dist/scripts/utils/structure-validator.js +50 -0
- package/dist/scripts/utils/structure-validator.js.map +1 -1
- package/package.json +10 -3
- package/scripts/auto-fix.ts +5 -0
- package/scripts/cli.ts +2 -2
- package/scripts/config-generators/ai-config-generator.ts +9 -0
- package/scripts/config-generators/eslint-generator.ts +110 -0
- package/scripts/config-generators/frameworks/fastify.ts +65 -0
- package/scripts/config-generators/frameworks/hono.ts +60 -0
- package/scripts/config-generators/frameworks/index.ts +3 -0
- package/scripts/config-generators/frameworks/nestjs.ts +80 -0
- package/scripts/config-generators/frameworks/node.ts +57 -11
- package/scripts/config-generators/typescript-generator.ts +36 -0
- package/scripts/config-generators/vscode-generator.ts +84 -0
- package/scripts/generate-pr-checklist.ts +6 -1
- package/scripts/postinstall.ts +38 -0
- package/scripts/precommit-check.ts +334 -6
- package/scripts/utils/naming-validator.ts +104 -2
- package/scripts/utils/project-detector.ts +78 -11
- package/scripts/utils/structure-validator.ts +54 -0
- package/templates/feature-doc-backend.md +114 -0
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* fastify.ts — Fastify Backend Guidelines
|
|
4
|
+
* Generated guidelines for Fastify projects.
|
|
5
|
+
*/
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
exports.fastifyGuidelines = fastifyGuidelines;
|
|
8
|
+
function fastifyGuidelines() {
|
|
9
|
+
return `## Fastify Backend Guidelines
|
|
10
|
+
|
|
11
|
+
### Architecture
|
|
12
|
+
- Organise routes into **plugins** — each feature area (auth, users, products) is an encapsulated Fastify plugin
|
|
13
|
+
- Register plugins with \`fastify.register()\` — use \`fastify-plugin\` to expose scope beyond registration
|
|
14
|
+
- Keep the main \`server.ts\` lean: create instance, register plugins, start listening
|
|
15
|
+
|
|
16
|
+
### Schema-First Development
|
|
17
|
+
- Define JSON Schemas for EVERY route's request body, query string, params, and response
|
|
18
|
+
- Use TypeBox (\`@fastify/type-provider-typebox\`) or Zod (\`@fastify/type-provider-zod\`) for type-safe schemas
|
|
19
|
+
- Schema validation runs at the framework level before your handler — never re-validate in handlers
|
|
20
|
+
- Define response schemas to enable faster JSON serialization via fast-json-stringify
|
|
21
|
+
|
|
22
|
+
### Route Handlers
|
|
23
|
+
- Handlers receive typed \`request\` and \`reply\` objects — use generic type parameters
|
|
24
|
+
- Return data directly from handlers — let Fastify serialize it according to the response schema
|
|
25
|
+
- Use \`reply.code(201).send(data)\` for non-200 status codes
|
|
26
|
+
- Extract heavy logic to service functions — keep handlers thin
|
|
27
|
+
- Mark async handlers with \`async\` — never mix callbacks and promises
|
|
28
|
+
|
|
29
|
+
### Hooks & Lifecycle
|
|
30
|
+
- Use the correct lifecycle hook for the job:
|
|
31
|
+
- \`onRequest\` — authentication (runs before parsing)
|
|
32
|
+
- \`preHandler\` — authorization / additional validation
|
|
33
|
+
- \`onSend\` — transform the response payload
|
|
34
|
+
- \`onError\` — custom error handling
|
|
35
|
+
- Prefer hook registration at the plugin level over global hooks for better encapsulation
|
|
36
|
+
|
|
37
|
+
### Plugins & Decorators
|
|
38
|
+
- Use \`fastify.decorate()\` to attach shared state (db, config, logger) to the Fastify instance
|
|
39
|
+
- Access decorations via \`fastify.<name>\` in route handlers
|
|
40
|
+
- Never mutate \`fastify\` outside of plugin scope — use \`fastify-plugin\` to break encapsulation intentionally
|
|
41
|
+
|
|
42
|
+
### Error Handling
|
|
43
|
+
- Throw \`fastify.httpErrors.notFound()\`, \`fastify.httpErrors.unauthorized()\` etc. (from \`@fastify/sensible\`)
|
|
44
|
+
- Use \`setErrorHandler\` for global custom error shaping
|
|
45
|
+
- Never send raw error objects — map to consistent error response shapes with \`statusCode\`, \`message\`, \`error\`
|
|
46
|
+
|
|
47
|
+
### Configuration
|
|
48
|
+
- Load environment variables at startup with \`dotenv\` or \`@fastify/env\`
|
|
49
|
+
- Define a JSON Schema for all expected env vars — validate at startup, fail fast
|
|
50
|
+
- Access config via decorated \`fastify.config\` object — never scatter \`process.env\` reads
|
|
51
|
+
|
|
52
|
+
### Database
|
|
53
|
+
- Use connection pooling (pg-pool, Prisma, MikroORM) — never open a new connection per request
|
|
54
|
+
- Register the DB client as a Fastify plugin/decorator for consistent lifecycle management
|
|
55
|
+
- Use \`onClose\` hook to gracefully close DB connections on shutdown
|
|
56
|
+
|
|
57
|
+
### Testing
|
|
58
|
+
- Use \`fastify.inject()\` for in-process HTTP testing — no real network needed
|
|
59
|
+
- Unit test schema validation and service logic separately
|
|
60
|
+
- Integration test routes via \`inject\` with realistic payloads
|
|
61
|
+
|
|
62
|
+
### Security
|
|
63
|
+
- Always register \`@fastify/helmet\` for security headers
|
|
64
|
+
- Use \`@fastify/cors\` and restrict \`origin\` to known domains
|
|
65
|
+
- Use \`@fastify/rate-limit\` for abuse prevention
|
|
66
|
+
- Enable \`disableRequestLogging\` selectively — avoid logging sensitive request bodies`;
|
|
67
|
+
}
|
|
68
|
+
//# sourceMappingURL=fastify.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fastify.js","sourceRoot":"","sources":["../../../../scripts/config-generators/frameworks/fastify.ts"],"names":[],"mappings":";AAAA;;;GAGG;;AAEH,8CA2DC;AA3DD,SAAgB,iBAAiB;IAC/B,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wFAyD+E,CAAC;AACzF,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hono.d.ts","sourceRoot":"","sources":["../../../../scripts/config-generators/frameworks/hono.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,wBAAgB,cAAc,IAAI,MAAM,CAsDvC"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* hono.ts — Hono Backend Guidelines
|
|
4
|
+
* Generated guidelines for Hono projects.
|
|
5
|
+
*/
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
exports.honoGuidelines = honoGuidelines;
|
|
8
|
+
function honoGuidelines() {
|
|
9
|
+
return `## Hono Backend Guidelines
|
|
10
|
+
|
|
11
|
+
### Philosophy & Architecture
|
|
12
|
+
- Hono is edge-first and runtime-agnostic (Cloudflare Workers, Deno, Bun, Node.js)
|
|
13
|
+
- Keep the app instance lean — compose routes using \`Hono\` sub-apps mounted via \`app.route('/prefix', subApp)\`
|
|
14
|
+
- Organise by feature: each domain has its own file exporting a \`Hono\` instance
|
|
15
|
+
|
|
16
|
+
### Routing
|
|
17
|
+
- Use typed route handlers with Hono's TypeScript generics — \`app.get<'/users/:id', ...>(...)\`
|
|
18
|
+
- Group related routes into sub-apps: \`const users = new Hono()\` then \`app.route('/users', users)\`
|
|
19
|
+
- Use \`c.req.param()\`, \`c.req.query()\`, \`c.req.json()\` for typed access to request data
|
|
20
|
+
- Return responses via \`c.json(data, status)\` — never use raw \`Response\` objects unless necessary
|
|
21
|
+
|
|
22
|
+
### Validation
|
|
23
|
+
- Use Zod + \`@hono/zod-validator\` middleware for request validation
|
|
24
|
+
- Apply the validator as a route middleware: \`app.post('/users', zValidator('json', schema), handler)\`
|
|
25
|
+
- Define schemas close to the route — collocate request and response types
|
|
26
|
+
|
|
27
|
+
### Middleware
|
|
28
|
+
- Create middleware as \`const myMiddleware = createMiddleware(async (c, next) => { ... })\`
|
|
29
|
+
- Apply globally with \`app.use('*', middleware)\` or per-route with \`app.use('/api/*', middleware)\`
|
|
30
|
+
- Use built-in middleware: \`hono/cors\`, \`hono/logger\`, \`hono/etag\`, \`hono/compress\`
|
|
31
|
+
- Pass data between middleware and handlers using \`c.set()\` and \`c.get()\` with typed variables
|
|
32
|
+
|
|
33
|
+
### Context & Variables
|
|
34
|
+
- Use \`createFactory\` and typed \`Variables\` to safely share request-scoped data between middleware
|
|
35
|
+
- Avoid global mutable state — everything goes through the context \`c\`
|
|
36
|
+
|
|
37
|
+
### Error Handling
|
|
38
|
+
- Use \`app.onError((err, c) => c.json({ message: err.message }, 500))\` for global error handling
|
|
39
|
+
- Use \`app.notFound(c => c.json({ message: 'Not Found' }, 404))\` for 404s
|
|
40
|
+
- Throw \`HTTPException\` from middleware/handlers for expected errors: \`throw new HTTPException(401, { message: 'Unauthorized' })\`
|
|
41
|
+
|
|
42
|
+
### Environment & Configuration
|
|
43
|
+
- Access environment variables via \`c.env\` (Cloudflare Workers) or process.env (Node.js/Bun)
|
|
44
|
+
- Use \`@hono/env\` or Zod to validate env vars at startup
|
|
45
|
+
- Never scatter \`process.env\` reads across route files — centralise config access
|
|
46
|
+
|
|
47
|
+
### Edge Runtime Best Practices
|
|
48
|
+
- Avoid Node.js-specific built-ins (\`fs\`, \`path\`, \`crypto\` — use Web Crypto API instead)
|
|
49
|
+
- Keep responses stateless — no in-memory caches (use KV, D1, Redis)
|
|
50
|
+
- Use streaming responses for large payloads: \`c.stream()\` or \`c.streamText()\`
|
|
51
|
+
|
|
52
|
+
### Testing
|
|
53
|
+
- Use Hono's \`app.request()\` helper for in-process testing — no server needed
|
|
54
|
+
- Test each sub-app independently by creating isolated instances
|
|
55
|
+
- Validate both success responses and error cases (400, 401, 404, 500)
|
|
56
|
+
|
|
57
|
+
### Security
|
|
58
|
+
- Always add CORS middleware narrowed to allowed origins
|
|
59
|
+
- Use \`hono/secure-headers\` to add security headers
|
|
60
|
+
- Rate-limit via a Cloudflare WAF rule or \`@hono/rate-limiter\`
|
|
61
|
+
- Validate all user input with Zod before processing`;
|
|
62
|
+
}
|
|
63
|
+
//# sourceMappingURL=hono.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hono.js","sourceRoot":"","sources":["../../../../scripts/config-generators/frameworks/hono.ts"],"names":[],"mappings":";AAAA;;;GAGG;;AAEH,wCAsDC;AAtDD,SAAgB,cAAc;IAC5B,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qDAoD4C,CAAC;AACtD,CAAC"}
|
|
@@ -13,5 +13,8 @@ export { vueGuidelines } from './vue';
|
|
|
13
13
|
export { nuxtGuidelines } from './nuxt';
|
|
14
14
|
export { svelteGuidelines } from './svelte';
|
|
15
15
|
export { nodeGuidelines } from './node';
|
|
16
|
+
export { nestjsGuidelines } from './nestjs';
|
|
17
|
+
export { fastifyGuidelines } from './fastify';
|
|
18
|
+
export { honoGuidelines } from './hono';
|
|
16
19
|
export { generalGuidelines } from './general';
|
|
17
20
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../scripts/config-generators/frameworks/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAC1C,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AACtC,OAAO,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAC;AACxC,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAC;AACxC,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../scripts/config-generators/frameworks/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAC1C,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AACtC,OAAO,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAC;AACxC,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAC;AACxC,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAC;AACxC,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC"}
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
* Import from this index to use in the main ai-config-generator.
|
|
9
9
|
*/
|
|
10
10
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
11
|
-
exports.generalGuidelines = exports.nodeGuidelines = exports.svelteGuidelines = exports.nuxtGuidelines = exports.vueGuidelines = exports.angularGuidelines = exports.nextjsGuidelines = exports.reactGuidelines = void 0;
|
|
11
|
+
exports.generalGuidelines = exports.honoGuidelines = exports.fastifyGuidelines = exports.nestjsGuidelines = exports.nodeGuidelines = exports.svelteGuidelines = exports.nuxtGuidelines = exports.vueGuidelines = exports.angularGuidelines = exports.nextjsGuidelines = exports.reactGuidelines = void 0;
|
|
12
12
|
var react_1 = require("./react");
|
|
13
13
|
Object.defineProperty(exports, "reactGuidelines", { enumerable: true, get: function () { return react_1.reactGuidelines; } });
|
|
14
14
|
var nextjs_1 = require("./nextjs");
|
|
@@ -23,6 +23,12 @@ var svelte_1 = require("./svelte");
|
|
|
23
23
|
Object.defineProperty(exports, "svelteGuidelines", { enumerable: true, get: function () { return svelte_1.svelteGuidelines; } });
|
|
24
24
|
var node_1 = require("./node");
|
|
25
25
|
Object.defineProperty(exports, "nodeGuidelines", { enumerable: true, get: function () { return node_1.nodeGuidelines; } });
|
|
26
|
+
var nestjs_1 = require("./nestjs");
|
|
27
|
+
Object.defineProperty(exports, "nestjsGuidelines", { enumerable: true, get: function () { return nestjs_1.nestjsGuidelines; } });
|
|
28
|
+
var fastify_1 = require("./fastify");
|
|
29
|
+
Object.defineProperty(exports, "fastifyGuidelines", { enumerable: true, get: function () { return fastify_1.fastifyGuidelines; } });
|
|
30
|
+
var hono_1 = require("./hono");
|
|
31
|
+
Object.defineProperty(exports, "honoGuidelines", { enumerable: true, get: function () { return hono_1.honoGuidelines; } });
|
|
26
32
|
var general_1 = require("./general");
|
|
27
33
|
Object.defineProperty(exports, "generalGuidelines", { enumerable: true, get: function () { return general_1.generalGuidelines; } });
|
|
28
34
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../scripts/config-generators/frameworks/index.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG;;;AAEH,iCAA0C;AAAjC,wGAAA,eAAe,OAAA;AACxB,mCAA4C;AAAnC,0GAAA,gBAAgB,OAAA;AACzB,qCAA8C;AAArC,4GAAA,iBAAiB,OAAA;AAC1B,6BAAsC;AAA7B,oGAAA,aAAa,OAAA;AACtB,+BAAwC;AAA/B,sGAAA,cAAc,OAAA;AACvB,mCAA4C;AAAnC,0GAAA,gBAAgB,OAAA;AACzB,+BAAwC;AAA/B,sGAAA,cAAc,OAAA;AACvB,qCAA8C;AAArC,4GAAA,iBAAiB,OAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../scripts/config-generators/frameworks/index.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG;;;AAEH,iCAA0C;AAAjC,wGAAA,eAAe,OAAA;AACxB,mCAA4C;AAAnC,0GAAA,gBAAgB,OAAA;AACzB,qCAA8C;AAArC,4GAAA,iBAAiB,OAAA;AAC1B,6BAAsC;AAA7B,oGAAA,aAAa,OAAA;AACtB,+BAAwC;AAA/B,sGAAA,cAAc,OAAA;AACvB,mCAA4C;AAAnC,0GAAA,gBAAgB,OAAA;AACzB,+BAAwC;AAA/B,sGAAA,cAAc,OAAA;AACvB,mCAA4C;AAAnC,0GAAA,gBAAgB,OAAA;AACzB,qCAA8C;AAArC,4GAAA,iBAAiB,OAAA;AAC1B,+BAAwC;AAA/B,sGAAA,cAAc,OAAA;AACvB,qCAA8C;AAArC,4GAAA,iBAAiB,OAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"nestjs.d.ts","sourceRoot":"","sources":["../../../../scripts/config-generators/frameworks/nestjs.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,wBAAgB,gBAAgB,IAAI,MAAM,CA0EzC"}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* nestjs.ts — NestJS Backend Guidelines
|
|
4
|
+
* Generated guidelines for NestJS projects.
|
|
5
|
+
*/
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
exports.nestjsGuidelines = nestjsGuidelines;
|
|
8
|
+
function nestjsGuidelines() {
|
|
9
|
+
return `## NestJS Backend Guidelines
|
|
10
|
+
|
|
11
|
+
### Architecture & Modules
|
|
12
|
+
- Organize code into **feature modules** — each domain (user, auth, product) gets its own module file
|
|
13
|
+
- Use the module boundary to encapsulate: module → controller → service → repository
|
|
14
|
+
- Never import services from another module directly — use that module's exports instead
|
|
15
|
+
- Shared utilities (guards, pipes, interceptors) go in a \`common/\` or \`shared/\` module
|
|
16
|
+
|
|
17
|
+
### Controllers
|
|
18
|
+
- Controllers handle HTTP concerns ONLY — route binding, request parsing, response shaping
|
|
19
|
+
- Never put business logic in a controller — delegate everything to the service layer
|
|
20
|
+
- Use NestJS built-in decorators: \`@Get()\`, \`@Post()\`, \`@Body()\`, \`@Param()\`, \`@Query()\`
|
|
21
|
+
- Always define the return type of controller methods explicitly
|
|
22
|
+
- Use \`@ApiTags()\` and \`@ApiOperation()\` for Swagger documentation
|
|
23
|
+
|
|
24
|
+
### Services & Business Logic
|
|
25
|
+
- Services contain ALL business logic — keep them framework-agnostic where possible
|
|
26
|
+
- Injected via constructor DI — never instantiate services manually with \`new\`
|
|
27
|
+
- Mark services \`@Injectable()\` and register them in the module's \`providers\` array
|
|
28
|
+
- One service per aggregate/domain concept — avoid god services
|
|
29
|
+
|
|
30
|
+
### DTOs & Validation
|
|
31
|
+
- ALWAYS define DTOs (Data Transfer Objects) for request bodies — never use raw \`any\` or plain objects
|
|
32
|
+
- Use \`class-validator\` decorators on DTOs: \`@IsString()\`, \`@IsEmail()\`, \`@IsNotEmpty()\`
|
|
33
|
+
- Apply \`ValidationPipe\` globally: \`app.useGlobalPipes(new ValidationPipe({ whitelist: true, forbidNonWhitelisted: true }))\`
|
|
34
|
+
- Use \`@Type()\` from \`class-transformer\` for nested object transformation
|
|
35
|
+
- Separate request DTOs from response DTOs — never expose internal entity fields directly
|
|
36
|
+
|
|
37
|
+
### Guards & Authorization
|
|
38
|
+
- Use Guards for authentication and authorization — apply via \`@UseGuards()\` decorator
|
|
39
|
+
- Implement \`CanActivate\` interface for custom guards
|
|
40
|
+
- Apply guards at the controller or handler level — prefer global guards for auth, handler-level for roles
|
|
41
|
+
- Use custom \`@Roles()\` decorator + \`RolesGuard\` pattern for RBAC
|
|
42
|
+
|
|
43
|
+
### Pipes
|
|
44
|
+
- Use Pipes for input transformation and validation: \`ParseIntPipe\`, \`ParseUUIDPipe\`, \`ValidationPipe\`
|
|
45
|
+
- Create custom pipes for complex transformations — implement \`PipeTransform\` interface
|
|
46
|
+
- Apply pipes at the parameter level for targeted transformation
|
|
47
|
+
|
|
48
|
+
### Interceptors
|
|
49
|
+
- Use Interceptors for cross-cutting concerns: logging, caching, response transformation
|
|
50
|
+
- Implement \`NestInterceptor\` interface using RxJS \`Observable\`
|
|
51
|
+
- Apply globally for response wrapping (e.g., \`{ data: ..., statusCode: ... }\` envelope) or per-route
|
|
52
|
+
|
|
53
|
+
### Exception Filters
|
|
54
|
+
- Use NestJS built-in \`HttpException\` subclasses for expected errors: \`NotFoundException\`, \`BadRequestException\`, \`ForbiddenException\`
|
|
55
|
+
- Create custom exception filters by implementing \`ExceptionFilter\` for domain-specific error shaping
|
|
56
|
+
- Apply \`@Catch()\` decorator to target specific exception types
|
|
57
|
+
- Never return raw error stack traces in production responses
|
|
58
|
+
|
|
59
|
+
### Configuration
|
|
60
|
+
- Use \`@nestjs/config\` with \`ConfigModule.forRoot()\` for environment variables
|
|
61
|
+
- Access config via \`ConfigService\` — NEVER use \`process.env\` directly in services or controllers
|
|
62
|
+
- Validate env variables at startup with a Joi or Zod schema passed to \`validationSchema\`
|
|
63
|
+
- Store sensitive values in \`.env\` — never commit secrets to source control
|
|
64
|
+
|
|
65
|
+
### Database & Repositories
|
|
66
|
+
- Use TypeORM or Prisma — avoid raw SQL strings in services
|
|
67
|
+
- Define repository abstraction (Repository pattern) — inject via \`@InjectRepository()\`
|
|
68
|
+
- Transactions: use QueryRunner for multi-step write operations
|
|
69
|
+
- Enable \`synchronize: false\` in production — always use migrations
|
|
70
|
+
|
|
71
|
+
### Testing
|
|
72
|
+
- Unit test services and guards in isolation — mock the repository layer
|
|
73
|
+
- Integration test controllers with \`supertest\` via \`Test.createTestingModule()\`
|
|
74
|
+
- At minimum: test happy path + validation errors + unauthorized access
|
|
75
|
+
- Name test files \`*.spec.ts\` co-located with source files
|
|
76
|
+
|
|
77
|
+
### Security
|
|
78
|
+
- Enable CORS explicitly: \`app.enableCors({ origin: allowedOrigins })\`
|
|
79
|
+
- Use \`helmet\` middleware: \`app.use(helmet())\`
|
|
80
|
+
- Use \`ThrottlerModule\` for rate limiting
|
|
81
|
+
- Sanitize all user inputs through DTOs + ValidationPipe whitelist`;
|
|
82
|
+
}
|
|
83
|
+
//# sourceMappingURL=nestjs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"nestjs.js","sourceRoot":"","sources":["../../../../scripts/config-generators/frameworks/nestjs.ts"],"names":[],"mappings":";AAAA;;;GAGG;;AAEH,4CA0EC;AA1ED,SAAgB,gBAAgB;IAC9B,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mEAwE0D,CAAC;AACpE,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* node.ts — Node.js Backend Guidelines
|
|
3
|
-
* Generated guidelines for Node.js projects.
|
|
2
|
+
* node.ts — Express / Node.js Backend Guidelines
|
|
3
|
+
* Generated guidelines for Express and generic Node.js backend projects.
|
|
4
4
|
*/
|
|
5
5
|
export declare function nodeGuidelines(): string;
|
|
6
6
|
//# sourceMappingURL=node.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"node.d.ts","sourceRoot":"","sources":["../../../../scripts/config-generators/frameworks/node.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,wBAAgB,cAAc,IAAI,MAAM,
|
|
1
|
+
{"version":3,"file":"node.d.ts","sourceRoot":"","sources":["../../../../scripts/config-generators/frameworks/node.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,wBAAgB,cAAc,IAAI,MAAM,CAuDvC"}
|
|
@@ -1,19 +1,64 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
/**
|
|
3
|
-
* node.ts — Node.js Backend Guidelines
|
|
4
|
-
* Generated guidelines for Node.js projects.
|
|
3
|
+
* node.ts — Express / Node.js Backend Guidelines
|
|
4
|
+
* Generated guidelines for Express and generic Node.js backend projects.
|
|
5
5
|
*/
|
|
6
6
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
7
|
exports.nodeGuidelines = nodeGuidelines;
|
|
8
8
|
function nodeGuidelines() {
|
|
9
|
-
return `## Node.js Backend Guidelines
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
-
|
|
13
|
-
-
|
|
14
|
-
-
|
|
15
|
-
-
|
|
16
|
-
|
|
17
|
-
|
|
9
|
+
return `## Express / Node.js Backend Guidelines
|
|
10
|
+
|
|
11
|
+
### Architecture
|
|
12
|
+
- Structure the project in layers: routes → controllers → services → data access
|
|
13
|
+
- Never put business logic in route handlers — keep handlers thin (parse request, call service, send response)
|
|
14
|
+
- Group routes by domain in separate router files: \`users.router.ts\`, \`auth.router.ts\`
|
|
15
|
+
- Apply a barrel file (\`routes/index.ts\`) to mount all routers into the main app
|
|
16
|
+
|
|
17
|
+
### Async & Error Handling
|
|
18
|
+
- Use async/await throughout — avoid callbacks and raw Promises without \`.catch()\`
|
|
19
|
+
- Wrap async route handlers with an error-catching wrapper or use \`express-async-errors\`
|
|
20
|
+
- Always define a global error-handling middleware with 4 parameters: \`(err, req, res, next)\`
|
|
21
|
+
- Use typed custom error classes (extending \`Error\`) with a \`statusCode\` property
|
|
22
|
+
- Never expose stack traces in production responses
|
|
23
|
+
|
|
24
|
+
### Middleware
|
|
25
|
+
- Apply middleware with a clear separation of concerns: auth, validation, logging, error handling
|
|
26
|
+
- Use \`helmet()\` for secure HTTP headers
|
|
27
|
+
- Use \`cors()\` with an explicit allowlist — never \`cors()\` with no options
|
|
28
|
+
- Apply \`express.json()\` and \`express.urlencoded()\` for body parsing
|
|
29
|
+
- Use \`morgan\` or a structured logger (Pino, Winston) — never \`console.log\` in production
|
|
30
|
+
- Rate limit public endpoints with \`express-rate-limit\`
|
|
31
|
+
|
|
32
|
+
### Input Validation
|
|
33
|
+
- ALWAYS validate request inputs before processing — use Zod, Joi, or \`express-validator\`
|
|
34
|
+
- Validate \`req.body\`, \`req.params\`, and \`req.query\` separately
|
|
35
|
+
- Return 400 with a clear error message on validation failure
|
|
36
|
+
|
|
37
|
+
### Security
|
|
38
|
+
- Never trust user input — validate and sanitize everything
|
|
39
|
+
- Use parameterized queries for all database operations — never interpolate user input into SQL
|
|
40
|
+
- Hash passwords with \`bcrypt\` (cost factor ≥ 12) — never store plaintext
|
|
41
|
+
- Store secrets in environment variables — validate at startup (fail fast)
|
|
42
|
+
- Enable \`trust proxy\` correctly when behind a reverse proxy (nginx, Cloudflare)
|
|
43
|
+
|
|
44
|
+
### Configuration
|
|
45
|
+
- Use \`dotenv\` + a config module to centralise all \`process.env\` access
|
|
46
|
+
- Validate required env vars at startup — crash immediately if any are missing
|
|
47
|
+
- Never access \`process.env\` directly in route files or services
|
|
48
|
+
|
|
49
|
+
### Database
|
|
50
|
+
- Use connection pooling — never create a new DB connection per request
|
|
51
|
+
- Use an ORM (Prisma, TypeORM) or query builder (Knex) — avoid raw SQL strings with interpolation
|
|
52
|
+
- Implement graceful shutdown: drain the connection pool before \`process.exit()\`
|
|
53
|
+
|
|
54
|
+
### Graceful Shutdown
|
|
55
|
+
- Listen for \`SIGTERM\` and \`SIGINT\` signals
|
|
56
|
+
- Stop accepting new connections via \`server.close()\`, then close DB connections, then exit
|
|
57
|
+
- Use a timeout (e.g., 10 s) to force-exit if shutdown hangs
|
|
58
|
+
|
|
59
|
+
### Testing
|
|
60
|
+
- Unit test service layer in isolation with mocked repositories
|
|
61
|
+
- Integration test routes with \`supertest\` — test happy path + validation errors + auth failures
|
|
62
|
+
- Co-locate tests with source: \`users.service.spec.ts\` next to \`users.service.ts\``;
|
|
18
63
|
}
|
|
19
64
|
//# sourceMappingURL=node.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"node.js","sourceRoot":"","sources":["../../../../scripts/config-generators/frameworks/node.ts"],"names":[],"mappings":";AAAA;;;GAGG;;AAEH,
|
|
1
|
+
{"version":3,"file":"node.js","sourceRoot":"","sources":["../../../../scripts/config-generators/frameworks/node.ts"],"names":[],"mappings":";AAAA;;;GAGG;;AAEH,wCAuDC;AAvDD,SAAgB,cAAc;IAC5B,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sFAqD6E,CAAC;AACvF,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"typescript-generator.d.ts","sourceRoot":"","sources":["../../../scripts/config-generators/typescript-generator.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAE5D;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,eAAe,GAAG,IAAI,CAkBvE;
|
|
1
|
+
{"version":3,"file":"typescript-generator.d.ts","sourceRoot":"","sources":["../../../scripts/config-generators/typescript-generator.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAE5D;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,eAAe,GAAG,IAAI,CAkBvE;AAoID;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,eAAe,GAAG,MAAM,EAAE,CAG5E"}
|
|
@@ -146,6 +146,39 @@ function buildTsConfig(project) {
|
|
|
146
146
|
delete base.compilerOptions.lib;
|
|
147
147
|
base.compilerOptions.lib = ['ES2022'];
|
|
148
148
|
break;
|
|
149
|
+
case 'nestjs':
|
|
150
|
+
base.compilerOptions.target = 'ES2021';
|
|
151
|
+
base.compilerOptions.module = 'commonjs';
|
|
152
|
+
base.compilerOptions.moduleResolution = 'node';
|
|
153
|
+
base.compilerOptions.outDir = './dist';
|
|
154
|
+
base.compilerOptions.rootDir = './src';
|
|
155
|
+
base.compilerOptions.experimentalDecorators = true;
|
|
156
|
+
base.compilerOptions.emitDecoratorMetadata = true;
|
|
157
|
+
base.compilerOptions.allowSyntheticDefaultImports = true;
|
|
158
|
+
delete base.compilerOptions.lib;
|
|
159
|
+
base.compilerOptions.lib = ['ES2021'];
|
|
160
|
+
// NestJS doesn't want verbatimModuleSyntax (conflicts with metadata emission)
|
|
161
|
+
delete base.compilerOptions.verbatimModuleSyntax;
|
|
162
|
+
base.include = ['src/**/*.ts'];
|
|
163
|
+
break;
|
|
164
|
+
case 'fastify':
|
|
165
|
+
base.compilerOptions.module = 'NodeNext';
|
|
166
|
+
base.compilerOptions.moduleResolution = 'NodeNext';
|
|
167
|
+
base.compilerOptions.outDir = './dist';
|
|
168
|
+
base.compilerOptions.rootDir = './src';
|
|
169
|
+
delete base.compilerOptions.lib;
|
|
170
|
+
base.compilerOptions.lib = ['ES2022'];
|
|
171
|
+
base.include = ['src/**/*.ts'];
|
|
172
|
+
break;
|
|
173
|
+
case 'hono':
|
|
174
|
+
base.compilerOptions.module = 'ESNext';
|
|
175
|
+
base.compilerOptions.moduleResolution = 'bundler';
|
|
176
|
+
base.compilerOptions.outDir = './dist';
|
|
177
|
+
base.compilerOptions.rootDir = './src';
|
|
178
|
+
delete base.compilerOptions.lib;
|
|
179
|
+
base.compilerOptions.lib = ['ES2022'];
|
|
180
|
+
base.include = ['src/**/*.ts'];
|
|
181
|
+
break;
|
|
149
182
|
}
|
|
150
183
|
return base;
|
|
151
184
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"typescript-generator.js","sourceRoot":"","sources":["../../../scripts/config-generators/typescript-generator.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAUH,4DAkBC;
|
|
1
|
+
{"version":3,"file":"typescript-generator.js","sourceRoot":"","sources":["../../../scripts/config-generators/typescript-generator.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vscode-generator.d.ts","sourceRoot":"","sources":["../../../scripts/config-generators/vscode-generator.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAwC5D;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,eAAe,GAAG,IAAI,CAcrE;AAuED;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,eAAe,GAAG,IAAI,CAsBvE;AAqCD;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,eAAe,GAAG,IAAI,CAoBlE;
|
|
1
|
+
{"version":3,"file":"vscode-generator.d.ts","sourceRoot":"","sources":["../../../scripts/config-generators/vscode-generator.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAwC5D;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,eAAe,GAAG,IAAI,CAcrE;AAuED;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,eAAe,GAAG,IAAI,CAsBvE;AAqCD;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,eAAe,GAAG,IAAI,CAoBlE;AA8JD;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,eAAe,GAAG,IAAI,CAoBnE"}
|
|
@@ -339,6 +339,36 @@ function buildTasks(project) {
|
|
|
339
339
|
presentation: { reveal: 'always', panel: 'dedicated' },
|
|
340
340
|
});
|
|
341
341
|
break;
|
|
342
|
+
case 'nestjs':
|
|
343
|
+
tasks.push({
|
|
344
|
+
label: 'Dev Server (NestJS)',
|
|
345
|
+
type: 'shell',
|
|
346
|
+
command: `${runCmd} start:dev`,
|
|
347
|
+
isBackground: true,
|
|
348
|
+
problemMatcher: [],
|
|
349
|
+
presentation: { reveal: 'always', panel: 'dedicated' },
|
|
350
|
+
});
|
|
351
|
+
break;
|
|
352
|
+
case 'fastify':
|
|
353
|
+
tasks.push({
|
|
354
|
+
label: 'Dev Server (Fastify)',
|
|
355
|
+
type: 'shell',
|
|
356
|
+
command: `${runCmd} dev`,
|
|
357
|
+
isBackground: true,
|
|
358
|
+
problemMatcher: [],
|
|
359
|
+
presentation: { reveal: 'always', panel: 'dedicated' },
|
|
360
|
+
});
|
|
361
|
+
break;
|
|
362
|
+
case 'hono':
|
|
363
|
+
tasks.push({
|
|
364
|
+
label: 'Dev Server (Hono)',
|
|
365
|
+
type: 'shell',
|
|
366
|
+
command: `${runCmd} dev`,
|
|
367
|
+
isBackground: true,
|
|
368
|
+
problemMatcher: [],
|
|
369
|
+
presentation: { reveal: 'always', panel: 'dedicated' },
|
|
370
|
+
});
|
|
371
|
+
break;
|
|
342
372
|
}
|
|
343
373
|
// Code Guardian task
|
|
344
374
|
tasks.push({
|
|
@@ -464,6 +494,49 @@ function buildLaunch(project) {
|
|
|
464
494
|
skipFiles: ['<node_internals>/**'],
|
|
465
495
|
});
|
|
466
496
|
break;
|
|
497
|
+
case 'nestjs':
|
|
498
|
+
configurations.push({
|
|
499
|
+
name: 'NestJS: Debug',
|
|
500
|
+
type: 'node',
|
|
501
|
+
request: 'launch',
|
|
502
|
+
runtimeExecutable: '${workspaceFolder}/node_modules/.bin/ts-node',
|
|
503
|
+
args: ['${workspaceFolder}/src/main.ts'],
|
|
504
|
+
sourceMaps: true,
|
|
505
|
+
envFile: '${workspaceFolder}/.env',
|
|
506
|
+
cwd: '${workspaceFolder}',
|
|
507
|
+
skipFiles: ['<node_internals>/**'],
|
|
508
|
+
outFiles: ['${workspaceFolder}/dist/**/*.js'],
|
|
509
|
+
}, {
|
|
510
|
+
name: 'NestJS: Attach (--inspect)',
|
|
511
|
+
type: 'node',
|
|
512
|
+
request: 'attach',
|
|
513
|
+
port: 9229,
|
|
514
|
+
skipFiles: ['<node_internals>/**'],
|
|
515
|
+
restart: true,
|
|
516
|
+
});
|
|
517
|
+
break;
|
|
518
|
+
case 'fastify':
|
|
519
|
+
case 'hono':
|
|
520
|
+
configurations.push({
|
|
521
|
+
name: `${project.label}: Debug`,
|
|
522
|
+
type: 'node',
|
|
523
|
+
request: 'launch',
|
|
524
|
+
runtimeExecutable: '${workspaceFolder}/node_modules/.bin/ts-node',
|
|
525
|
+
args: ['${workspaceFolder}/src/index.ts'],
|
|
526
|
+
sourceMaps: true,
|
|
527
|
+
envFile: '${workspaceFolder}/.env',
|
|
528
|
+
cwd: '${workspaceFolder}',
|
|
529
|
+
skipFiles: ['<node_internals>/**'],
|
|
530
|
+
outFiles: ['${workspaceFolder}/dist/**/*.js'],
|
|
531
|
+
}, {
|
|
532
|
+
name: `${project.label}: Attach (--inspect)`,
|
|
533
|
+
type: 'node',
|
|
534
|
+
request: 'attach',
|
|
535
|
+
port: 9229,
|
|
536
|
+
skipFiles: ['<node_internals>/**'],
|
|
537
|
+
restart: true,
|
|
538
|
+
});
|
|
539
|
+
break;
|
|
467
540
|
default:
|
|
468
541
|
configurations.push({
|
|
469
542
|
name: 'Launch Program',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vscode-generator.js","sourceRoot":"","sources":["../../../scripts/config-generators/vscode-generator.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"vscode-generator.js","sourceRoot":"","sources":["../../../scripts/config-generators/vscode-generator.ts"],"names":[],"mappings":"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"}
|