From 0ad4d8d576c149b49a5e669df82d1371c6d3aadb Mon Sep 17 00:00:00 2001 From: Lentil Hoffman Date: Tue, 17 Jun 2025 19:59:55 -0500 Subject: [PATCH] Fixed/simplified tsconfig and docker setup --- Dockerfile.test | 25 +++++++++++++++++++++++++ package-lock.json | 46 ++++++++++++++++++++++++++++++++++------------ package.json | 2 +- tsconfig.json | 6 +++--- 4 files changed, 63 insertions(+), 16 deletions(-) create mode 100644 Dockerfile.test diff --git a/Dockerfile.test b/Dockerfile.test new file mode 100644 index 0000000..2684cba --- /dev/null +++ b/Dockerfile.test @@ -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"] diff --git a/package-lock.json b/package-lock.json index 305e1d5..6acdbf4 100644 --- a/package-lock.json +++ b/package-lock.json @@ -34,6 +34,7 @@ "@types/node": "^22.10.2", "@types/object-hash": "^3.0.6", "@types/showdown": "^2.0.6", + "@types/tar-fs": "^2.0.4", "@types/uuid": "^10.0.0", "eslint": "^9.17.0", "eslint-config-airbnb-base-typescript": "^1.1.0", @@ -1899,9 +1900,9 @@ } }, "node_modules/@types/dockerode": { - "version": "3.3.40", - "resolved": "https://registry.npmjs.org/@types/dockerode/-/dockerode-3.3.40.tgz", - "integrity": "sha512-O1ckSFYbcYv/KcnAHMLCnKQYY8/5+6CRzpsOPcQIePHRX2jG4Gmz8uXPMCXIxTGN9OYkE5eox/L67l2sGY1UYg==", + "version": "3.3.41", + "resolved": "https://registry.npmjs.org/@types/dockerode/-/dockerode-3.3.41.tgz", + "integrity": "sha512-5kOi6bcnEjqfJ68ZNV/bBvSMLNIucc0XbRmBO4hg5OoFCoP99eSRcbMysjkzV7ZxQEmmc/zMnv4A7odwuKFzDA==", "license": "MIT", "dependencies": { "@types/docker-modem": "*", @@ -2121,9 +2122,9 @@ } }, "node_modules/@types/ssh2/node_modules/@types/node": { - "version": "18.19.111", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.19.111.tgz", - "integrity": "sha512-90sGdgA+QLJr1F9X79tQuEut0gEYIfkX9pydI4XGRgvFo9g2JWswefI+WUSUHPYVBHYSEfTEqBxA5hQvAZB3Mw==", + "version": "18.19.112", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.19.112.tgz", + "integrity": "sha512-i+Vukt9POdS/MBI7YrrkkI5fMfwFtOjphSmt4WXYLfwqsfr6z/HdCx7LqT9M7JktGob8WNgj8nFB4TbGNE4Cog==", "license": "MIT", "dependencies": { "undici-types": "~5.26.4" @@ -2142,6 +2143,27 @@ "dev": true, "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": { "version": "10.0.0", "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-10.0.0.tgz", @@ -4358,9 +4380,9 @@ } }, "node_modules/end-of-stream": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", - "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "version": "1.4.5", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.5.tgz", + "integrity": "sha512-ooEGc6HP26xXq/N+GCGOT0JKCLDGrq2bQUZrQ7gyrJiZANJ/8YDTxTpQBXGMn+WbIQXNVpyWymm7KYVICQnyOg==", "license": "MIT", "dependencies": { "once": "^1.4.0" @@ -8848,9 +8870,9 @@ } }, "node_modules/pump": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.2.tgz", - "integrity": "sha512-tUPXtzlGM8FE3P0ZL6DVs/3P58k9nk8/jZeQCurTJylQA8qFYzHFfhBJkuqyE0FifOsQ0uKWekiZ5g8wtr28cw==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.3.tgz", + "integrity": "sha512-todwxLMY7/heScKmntwQG8CXVkWUOdYxIvY2s0VWAAMh/nd8SoYiRaKjlr7+iCs984f2P8zvrfWcDDYVb73NfA==", "license": "MIT", "dependencies": { "end-of-stream": "^1.1.0", diff --git a/package.json b/package.json index c3ff91b..16ad869 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,6 @@ "name": "rhizome-node", "version": "0.1.0", "description": "Rhizomatic database engine node", - "type": "module", "scripts": { "build": "tsc", "build:watch": "tsc --watch", @@ -50,6 +49,7 @@ "@types/node": "^22.10.2", "@types/object-hash": "^3.0.6", "@types/showdown": "^2.0.6", + "@types/tar-fs": "^2.0.4", "@types/uuid": "^10.0.0", "eslint": "^9.17.0", "eslint-config-airbnb-base-typescript": "^1.1.0", diff --git a/tsconfig.json b/tsconfig.json index 888dcfa..45cf479 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,13 +1,13 @@ { "compilerOptions": { - "target": "ES2022", - "module": "ESNext", + "target": "ES6", + "module": "CommonJS", "esModuleInterop": true, - "allowSyntheticDefaultImports": true, "moduleResolution": "Node", "sourceMap": true, "baseUrl": ".", "outDir": "dist", + "importsNotUsedAsValues": "remove", "strict": true, "skipLibCheck": true, "forceConsistentCasingInFileNames": true