Fixed/simplified tsconfig and docker setup

This commit is contained in:
Lentil Hoffman 2025-06-17 19:59:55 -05:00
parent fdcc01da1c
commit 95dd1c5338
Signed by: lentil
GPG Key ID: 0F5B99F3F4D0C087
4 changed files with 63 additions and 16 deletions

25
Dockerfile.test Normal file
View File

@ -0,0 +1,25 @@
FROM node:24
# Set working directory
WORKDIR /app
# Copy package files first for better layer caching
COPY package.json package-lock.json tsconfig.json ./
# Install dependencies including devDependencies
RUN npm ci --include=dev
# Copy source files
COPY src/ src/
COPY markdown/ markdown/
COPY examples/ examples/
COPY util/ util/
# Build the application
RUN npm run build --verbose
# Set environment variables
ENV NODE_ENV=test
# Command to run the application
CMD ["node", "dist/examples/app.js"]

46
package-lock.json generated
View File

@ -34,6 +34,7 @@
"@types/node": "^22.10.2", "@types/node": "^22.10.2",
"@types/object-hash": "^3.0.6", "@types/object-hash": "^3.0.6",
"@types/showdown": "^2.0.6", "@types/showdown": "^2.0.6",
"@types/tar-fs": "^2.0.4",
"@types/uuid": "^10.0.0", "@types/uuid": "^10.0.0",
"eslint": "^9.17.0", "eslint": "^9.17.0",
"eslint-config-airbnb-base-typescript": "^1.1.0", "eslint-config-airbnb-base-typescript": "^1.1.0",
@ -1899,9 +1900,9 @@
} }
}, },
"node_modules/@types/dockerode": { "node_modules/@types/dockerode": {
"version": "3.3.40", "version": "3.3.41",
"resolved": "https://registry.npmjs.org/@types/dockerode/-/dockerode-3.3.40.tgz", "resolved": "https://registry.npmjs.org/@types/dockerode/-/dockerode-3.3.41.tgz",
"integrity": "sha512-O1ckSFYbcYv/KcnAHMLCnKQYY8/5+6CRzpsOPcQIePHRX2jG4Gmz8uXPMCXIxTGN9OYkE5eox/L67l2sGY1UYg==", "integrity": "sha512-5kOi6bcnEjqfJ68ZNV/bBvSMLNIucc0XbRmBO4hg5OoFCoP99eSRcbMysjkzV7ZxQEmmc/zMnv4A7odwuKFzDA==",
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"@types/docker-modem": "*", "@types/docker-modem": "*",
@ -2121,9 +2122,9 @@
} }
}, },
"node_modules/@types/ssh2/node_modules/@types/node": { "node_modules/@types/ssh2/node_modules/@types/node": {
"version": "18.19.111", "version": "18.19.112",
"resolved": "https://registry.npmjs.org/@types/node/-/node-18.19.111.tgz", "resolved": "https://registry.npmjs.org/@types/node/-/node-18.19.112.tgz",
"integrity": "sha512-90sGdgA+QLJr1F9X79tQuEut0gEYIfkX9pydI4XGRgvFo9g2JWswefI+WUSUHPYVBHYSEfTEqBxA5hQvAZB3Mw==", "integrity": "sha512-i+Vukt9POdS/MBI7YrrkkI5fMfwFtOjphSmt4WXYLfwqsfr6z/HdCx7LqT9M7JktGob8WNgj8nFB4TbGNE4Cog==",
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"undici-types": "~5.26.4" "undici-types": "~5.26.4"
@ -2142,6 +2143,27 @@
"dev": true, "dev": true,
"license": "MIT" "license": "MIT"
}, },
"node_modules/@types/tar-fs": {
"version": "2.0.4",
"resolved": "https://registry.npmjs.org/@types/tar-fs/-/tar-fs-2.0.4.tgz",
"integrity": "sha512-ipPec0CjTmVDWE+QKr9cTmIIoTl7dFG/yARCM5MqK8i6CNLIG1P8x4kwDsOQY1ChZOZjH0wO9nvfgBvWl4R3kA==",
"dev": true,
"license": "MIT",
"dependencies": {
"@types/node": "*",
"@types/tar-stream": "*"
}
},
"node_modules/@types/tar-stream": {
"version": "3.1.4",
"resolved": "https://registry.npmjs.org/@types/tar-stream/-/tar-stream-3.1.4.tgz",
"integrity": "sha512-921gW0+g29mCJX0fRvqeHzBlE/XclDaAG0Ousy1LCghsOhvaKacDeRGEVzQP9IPfKn8Vysy7FEXAIxycpc/CMg==",
"dev": true,
"license": "MIT",
"dependencies": {
"@types/node": "*"
}
},
"node_modules/@types/uuid": { "node_modules/@types/uuid": {
"version": "10.0.0", "version": "10.0.0",
"resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-10.0.0.tgz", "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-10.0.0.tgz",
@ -4358,9 +4380,9 @@
} }
}, },
"node_modules/end-of-stream": { "node_modules/end-of-stream": {
"version": "1.4.4", "version": "1.4.5",
"resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.5.tgz",
"integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", "integrity": "sha512-ooEGc6HP26xXq/N+GCGOT0JKCLDGrq2bQUZrQ7gyrJiZANJ/8YDTxTpQBXGMn+WbIQXNVpyWymm7KYVICQnyOg==",
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"once": "^1.4.0" "once": "^1.4.0"
@ -8848,9 +8870,9 @@
} }
}, },
"node_modules/pump": { "node_modules/pump": {
"version": "3.0.2", "version": "3.0.3",
"resolved": "https://registry.npmjs.org/pump/-/pump-3.0.2.tgz", "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.3.tgz",
"integrity": "sha512-tUPXtzlGM8FE3P0ZL6DVs/3P58k9nk8/jZeQCurTJylQA8qFYzHFfhBJkuqyE0FifOsQ0uKWekiZ5g8wtr28cw==", "integrity": "sha512-todwxLMY7/heScKmntwQG8CXVkWUOdYxIvY2s0VWAAMh/nd8SoYiRaKjlr7+iCs984f2P8zvrfWcDDYVb73NfA==",
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"end-of-stream": "^1.1.0", "end-of-stream": "^1.1.0",

View File

@ -2,7 +2,6 @@
"name": "rhizome-node", "name": "rhizome-node",
"version": "0.1.0", "version": "0.1.0",
"description": "Rhizomatic database engine node", "description": "Rhizomatic database engine node",
"type": "module",
"scripts": { "scripts": {
"build": "tsc", "build": "tsc",
"build:watch": "tsc --watch", "build:watch": "tsc --watch",
@ -50,6 +49,7 @@
"@types/node": "^22.10.2", "@types/node": "^22.10.2",
"@types/object-hash": "^3.0.6", "@types/object-hash": "^3.0.6",
"@types/showdown": "^2.0.6", "@types/showdown": "^2.0.6",
"@types/tar-fs": "^2.0.4",
"@types/uuid": "^10.0.0", "@types/uuid": "^10.0.0",
"eslint": "^9.17.0", "eslint": "^9.17.0",
"eslint-config-airbnb-base-typescript": "^1.1.0", "eslint-config-airbnb-base-typescript": "^1.1.0",

View File

@ -1,13 +1,13 @@
{ {
"compilerOptions": { "compilerOptions": {
"target": "ES2022", "target": "ES6",
"module": "ESNext", "module": "CommonJS",
"esModuleInterop": true, "esModuleInterop": true,
"allowSyntheticDefaultImports": true,
"moduleResolution": "Node", "moduleResolution": "Node",
"sourceMap": true, "sourceMap": true,
"baseUrl": ".", "baseUrl": ".",
"outDir": "dist", "outDir": "dist",
"importsNotUsedAsValues": "remove",
"strict": true, "strict": true,
"skipLibCheck": true, "skipLibCheck": true,
"forceConsistentCasingInFileNames": true "forceConsistentCasingInFileNames": true