diff --git a/package-lock.json b/package-lock.json index 10ceff3..d0253c7 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1391,7 +1391,6 @@ "resolved": "https://registry.npmjs.org/@types/node/-/node-22.18.8.tgz", "integrity": "sha512-pAZSHMiagDR7cARo/cch1f3rXy0AEXwsVsVH09FcyeJVAzCnGgmYis7P3JidtTUjyadhTeSo8TgRPswstghDaw==", "license": "MIT", - "peer": true, "dependencies": { "undici-types": "~6.21.0" } @@ -4414,7 +4413,6 @@ "integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==", "dev": true, "license": "Apache-2.0", - "peer": true, "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" diff --git a/package.json b/package.json index 87e835f..0fe062c 100644 --- a/package.json +++ b/package.json @@ -15,16 +15,7 @@ "main": "dist/index.js", "scripts": { "build": "tsc", - "dev": "npm run build && functions-framework --target=getOfficers --source=dist --port=8080", - "dev:getOfficers": "npm run build && functions-framework --target=getOfficers --source=dist --port=8080", - "dev:getOfficer": "npm run build && functions-framework --target=getOfficer --source=dist --port=8080", - "dev:createOfficer": "npm run build && functions-framework --target=createOfficer --source=dist --port=8080", - "dev:updateOfficer": "npm run build && functions-framework --target=updateOfficer --source=dist --port=8080", - "dev:deleteOfficer": "npm run build && functions-framework --target=deleteOfficer --source=dist --port=8080", - "dev:uploadOfficerPhoto": "npm run build && functions-framework --target=uploadOfficerPhoto --source=dist --port=8080", - "dev:uploadOfficerResume": "npm run build && functions-framework --target=uploadOfficerResume --source=dist --port=8080", - "dev:getOfficerResume": "npm run build && functions-framework --target=getOfficerResume --source=dist --port=8080", - "start": "node dist/server.js" + "dev": "npm run build && node dist/tests/deploy.js" }, "dependencies": { "@google-cloud/functions-framework": "^4.0.0", diff --git a/tests/deploy.ts b/tests/deploy.ts new file mode 100644 index 0000000..da6d52d --- /dev/null +++ b/tests/deploy.ts @@ -0,0 +1,38 @@ +import express from 'express'; + +import { + createOfficer, + deleteOfficer, + getOfficer, + getOfficerResume, + getOfficers, + updateOfficer, + uploadOfficerPhoto, + uploadOfficerResume, +} from '../src/functions'; + +const app = express(); + +app.use(express.json({ limit: '10mb' })); +app.use(express.urlencoded({ extended: true })); + +const handlers: Record = { + createOfficer, + deleteOfficer, + getOfficer, + getOfficerResume, + getOfficers, + updateOfficer, + uploadOfficerPhoto, + uploadOfficerResume +}; + +Object.entries(handlers).forEach(([name, handler]) => { + app.all(`/${name}`, handler); +}); + +const port = Number(process.env.PORT || 8080); +app.listen(port, () => { + console.log(`Local functions running on http://localhost:${port}`); + console.log('Endpoints:', Object.keys(handlers).map((name) => `/${name}`).join(', ')); +}); \ No newline at end of file diff --git a/tsconfig.json b/tsconfig.json index fcf49de..7ae23ac 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -2,7 +2,7 @@ "compilerOptions": { "target": "ES2020", "module": "CommonJS", - "rootDir": "src", + "rootDir": ".", "outDir": "dist", "strict": true, "esModuleInterop": true,