1+ ```json
12{
2- "name" : " @ text2iac/ api" ,
3- "version" : " 0.1 .0" ,
4- "description" : " Text2IaC API Service " ,
3+ "name" : " text2iac- api" ,
4+ "version" : " 1.0 .0" ,
5+ "description" : " Text2IaC API Server - Convert natural language to infrastructure code " ,
56 "main" : " dist/index.js" ,
67 "scripts" : {
78 "build" : " tsc" ,
89 "start" : " node dist/index.js" ,
910 "dev" : " ts-node-dev --respawn --transpile-only src/index.ts" ,
10- "test" : " jest --coverage" ,
11- "lint" : " eslint . --ext .ts" ,
12- "format" : " prettier --write \" src/**/*.ts\" " ,
13- "migrate" : " knex migrate:latest"
11+ "test" : " jest" ,
12+ "test:watch" : " jest --watch" ,
13+ "test:coverage" : " jest --coverage" ,
14+ "lint" : " eslint src --ext .ts" ,
15+ "lint:fix" : " eslint src --ext .ts --fix" ,
16+ "format" : " prettier --write 'src/**/*.ts'" ,
17+ "typecheck" : " tsc --noEmit" ,
18+ "clean" : " rimraf dist" ,
19+ "docker:build" : " docker build -t text2iac-api ." ,
20+ "docker:run" : " docker run -p 3000:3000 text2iac-api"
21+ },
22+ "keywords" : [
23+ " infrastructure" ,
24+ " iac" ,
25+ " terraform" ,
26+ " kubernetes" ,
27+ " devops" ,
28+ " llm" ,
29+ " mistral"
30+ ],
31+ "author" : " Platform Engineering Team" ,
32+ "license" : " MIT" ,
33+ "engines" : {
34+ "node" : " >=18.0.0" ,
35+ "npm" : " >=8.0.0"
1436 },
1537 "dependencies" : {
16- "@types/express" : " ^4.17.17" ,
17- "@types/node" : " ^20.4.1" ,
38+ "express" : " ^4.18.2" ,
39+ "express-rate-limit" : " ^7.1.5" ,
40+ "express-prometheus-middleware" : " ^1.2.0" ,
41+ "helmet" : " ^7.1.0" ,
1842 "cors" : " ^2.8.5" ,
43+ "compression" : " ^1.7.4" ,
44+ "morgan" : " ^1.10.0" ,
45+ "winston" : " ^3.11.0" ,
46+ "joi" : " ^17.11.0" ,
47+ "bcryptjs" : " ^2.4.3" ,
48+ "jsonwebtoken" : " ^9.0.2" ,
49+ "axios" : " ^1.6.2" ,
50+ "node-fetch" : " ^3.3.2" ,
51+ "pg" : " ^8.11.3" ,
52+ "redis" : " ^4.6.10" ,
1953 "dotenv" : " ^16.3.1" ,
20- "express" : " ^4.18.2" ,
54+ "uuid" : " ^9.0.1" ,
55+ "multer" : " ^1.4.5-lts.1" ,
2156 "express-validator" : " ^7.0.1" ,
22- "helmet" : " ^7.0.0" ,
23- "knex" : " ^3.0.1" ,
24- "morgan" : " ^1.10.0" ,
25- "openai" : " ^4.12.1" ,
26- "pg" : " ^8.11.1" ,
27- "reflect-metadata" : " ^0.1.13" ,
28- "routing-controllers" : " ^0.10.3" ,
29- "tsyringe" : " ^4.7.0" ,
30- "winston" : " ^3.10.0" ,
31- "zod" : " ^3.21.4"
57+ "node-cron" : " ^3.0.3" ,
58+ "ws" : " ^8.14.2" ,
59+ "handlebars" : " ^4.7.8" ,
60+ "yaml" : " ^2.3.4" ,
61+ "tar" : " ^6.2.0" ,
62+ "archiver" : " ^6.0.1"
3263 },
3364 "devDependencies" : {
34- "@types/cors" : " ^2.8.13" ,
35- "@types/express-serve-static-core" : " ^4.17.33" ,
36- "@types/jest" : " ^29.5.2" ,
37- "@types/morgan" : " ^1.9.7" ,
38- "@types/supertest" : " ^2.0.12" ,
39- "@typescript-eslint/eslint-plugin" : " ^6.0.0" ,
40- "@typescript-eslint/parser" : " ^6.0.0" ,
41- "eslint" : " ^8.45.0" ,
42- "eslint-config-prettier" : " ^8.8.0" ,
43- "eslint-plugin-prettier" : " ^5.0.0" ,
44- "jest" : " ^29.5.0" ,
45- "prettier" : " ^3.0.0" ,
46- "supertest" : " ^6.3.3" ,
47- "ts-jest" : " ^29.1.0" ,
65+ "@types/node" : " ^20.9.0" ,
66+ "@types/express" : " ^4.17.21" ,
67+ "@types/cors" : " ^2.8.17" ,
68+ "@types/compression" : " ^1.7.5" ,
69+ "@types/morgan" : " ^1.9.9" ,
70+ "@types/bcryptjs" : " ^2.4.6" ,
71+ "@types/jsonwebtoken" : " ^9.0.5" ,
72+ "@types/pg" : " ^8.10.7" ,
73+ "@types/uuid" : " ^9.0.7" ,
74+ "@types/multer" : " ^1.4.11" ,
75+ "@types/node-cron" : " ^3.0.11" ,
76+ "@types/ws" : " ^8.5.9" ,
77+ "@types/tar" : " ^6.1.8" ,
78+ "@types/archiver" : " ^6.0.2" ,
79+ "@types/jest" : " ^29.5.8" ,
80+ "@types/supertest" : " ^2.0.16" ,
81+ "typescript" : " ^5.2.2" ,
4882 "ts-node" : " ^10.9.1" ,
4983 "ts-node-dev" : " ^2.0.0" ,
50- "typescript" : " ^5.1.6"
51- },
52- "engines" : {
53- "node" : " >=18.0.0"
84+ "jest" : " ^29.7.0" ,
85+ "ts-jest" : " ^29.1.1" ,
86+ "supertest" : " ^6.3.3" ,
87+ "eslint" : " ^8.54.0" ,
88+ "@typescript-eslint/eslint-plugin" : " ^6.12.0" ,
89+ "@typescript-eslint/parser" : " ^6.12.0" ,
90+ "prettier" : " ^3.1.0" ,
91+ "rimraf" : " ^5.0.5" ,
92+ "nodemon" : " ^3.0.1"
5493 },
5594 "jest" : {
5695 "preset" : " ts-jest" ,
5796 "testEnvironment" : " node" ,
97+ "roots" : [
98+ " <rootDir>/src" ,
99+ " <rootDir>/tests"
100+ ],
58101 "testMatch" : [
59- " **/__tests__/**/*.test.ts"
102+ " **/__tests__/**/*.ts" ,
103+ " **/?(*.)+(spec|test).ts"
60104 ],
105+ "transform" : {
106+ "^.+\\ .ts$" : " ts-jest"
107+ },
61108 "collectCoverageFrom" : [
62109 " src/**/*.ts" ,
63- " !src/index.ts" ,
64- " !src/**/*.d.ts"
110+ " !src/**/*.d.ts" ,
111+ " !src/index.ts"
112+ ],
113+ "coverageDirectory" : " coverage" ,
114+ "coverageReporters" : [
115+ " text" ,
116+ " lcov" ,
117+ " html"
65118 ]
119+ },
120+ "eslintConfig" : {
121+ "extends" : [
122+ " @typescript-eslint/recommended"
123+ ],
124+ "parser" : " @typescript-eslint/parser" ,
125+ "plugins" : [
126+ " @typescript-eslint"
127+ ],
128+ "rules" : {
129+ "@typescript-eslint/no-unused-vars" : " error" ,
130+ "@typescript-eslint/no-explicit-any" : " warn" ,
131+ "@typescript-eslint/explicit-function-return-type" : " off"
132+ }
133+ },
134+ "prettier" : {
135+ "semi" : true ,
136+ "trailingComma" : " es5" ,
137+ "singleQuote" : true ,
138+ "printWidth" : 80 ,
139+ "tabWidth" : 2
66140 }
67141}
142+ ```
0 commit comments