diff --git a/bun.lockb b/bun.lockb index 12921d9..f34e01c 100755 Binary files a/bun.lockb and b/bun.lockb differ diff --git a/packages/doorman-api/package.json b/packages/doorman-api/package.json index 6382487..dc4e9cb 100644 --- a/packages/doorman-api/package.json +++ b/packages/doorman-api/package.json @@ -11,19 +11,21 @@ "deploy": "twilio-run deploy --load-system-env --env .env.example --service-name doorman --environment=prod --override-existing-project" }, "dependencies": { - "@aws-sdk/client-dynamodb": "^3.609.0", + "@aws-sdk/client-dynamodb": "^3.821.0", "@twilio-labs/serverless-runtime-types": "^4.0.1", "@twilio/runtime-handler": "1.3.0", - "discord.js": "^14.16.3", + "discord.js": "^14.19.3", + "dynabridge": "^0.3.8", "prom-client": "^15.1.3", "promise.timeout": "^1.2.0", - "twilio": "^3.56", + "twilio": "^3.84.1", "winston": "^3.17.0", - "winston-loki": "^6.1.3" + "winston-loki": "^6.1.3", + "zod": "^3.25.42" }, "devDependencies": { "twilio-run": "^3.5.4", - "concurrently": "^9.1.0" + "concurrently": "^9.1.2" }, "engines": { "node": "18" diff --git a/packages/doorman-api/src/index.ts b/packages/doorman-api/src/index.ts index 2b35544..63f30e1 100644 --- a/packages/doorman-api/src/index.ts +++ b/packages/doorman-api/src/index.ts @@ -12,12 +12,24 @@ const imports = functionFiles.forEach(file => require('./' + path.relative('src' console.log("functions to build:", functionFiles); +const bundledModules = ['dynabridge']; + +const externalModules = Object.keys(require('../package.json').dependencies) + .filter(dep => !bundledModules.includes(dep)); + +console.log("Explicitly bundling dependencies", bundledModules); + +// console.log("external modules: ", externalModules); + console.log("Building functions..."); + await Bun.build({ entrypoints: functionFiles, outdir: './build/functions', - packages: 'external', + packages: 'bundle', target: 'node', + // mark all deps as external EXCEPT for dynabridge, because we need to transpile it for CJS + external: externalModules, root: './src/functions', format: 'cjs', });