Skip to content

Commit 8a6055b

Browse files
author
Tom Softreck
committed
update
1 parent d4c5ac7 commit 8a6055b

File tree

8 files changed

+1081
-41
lines changed

8 files changed

+1081
-41
lines changed

api/package.json

Lines changed: 116 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -1,67 +1,142 @@
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

Comments
 (0)