Open
Description
I'm trying this plugin out as i have a function id like to build swagger docs for. However there is no endpoint being created. I wonder if this works with serverless-ebuild
. serverless-esbuild is whats used in the latset aws-nodejs-typescript template. This project was bootstrapped using serverless create --template aws-nodejs-typescript --path api
serverless.ts
import type { AWS } from "@serverless/typescript";
import { CollectionsHandler } from "@functions/collections";
const serverlessConfiguration: AWS = {
service: "api",
frameworkVersion: "3",
plugins: ["serverless-auto-swagger", "serverless-esbuild", "serverless-offline", "serverless-domain-manager"],
useDotenv: true,
provider: {
name: "aws",
region: "us-east-2",
runtime: "nodejs16.x",
apiGateway: {
minimumCompressionSize: 1024,
shouldStartNameWithService: true,
apiKeys: [{ name: "${self:service}-${sls:stage}", description: "api key" }],
},
environment: {
...
},
vpc: {...},
iam: {
role: {
statements: [
{
Effect: "Allow",
Action: ["lambda:InvokeFunction"],
Resource: "*",
},
],
},
},
},
// import the function via paths
functions: {
...CollectionsHandler,
},
package: {
individually: true,
patterns: [
"!node_modules/.prisma/client/libquery_engine-*",
"node_modules/.prisma/client/schema.prisma",
"!node_modules/prisma/libquery_engine-*",
"!node_modules/@prisma/engines/**",
"node_modules/.prisma/client/libquery_engine-${env:PRISMA_BINARY_TARGET}-*",
],
},
custom: {
esbuild: {
bundle: true,
minify: false,
sourcemap: true,
exclude: ["aws-sdk"],
target: "node16",
define: { "require.resolve": undefined },
platform: "node",
concurrency: 10,
},
stage: "${sls:stage}",
domains: {...},
customDomain: {....},
},
};
module.exports = serverlessConfiguration;
CollectionsHandler
import type { AWS } from "@serverless/typescript";
import { handlerPath } from "@src/libs/handler-resolver";
import { CreateCollectionJSONSchema } from "./schema";
export const CollectionsHandler: AWS["functions"] = {
"create-collection": {
handler: `${handlerPath(__dirname)}/controller.CreateCollectionController`,
timeout: 300,
events: [
{
http: {
method: "post",
path: "collections",
request: {
schemas: {
"application/json": CreateCollectionJSONSchema,
},
},
private: true,
},
},
],
},
};
When i run sls offline --stage dev
there is no /dev/swagger function/endpoint created
Metadata
Metadata
Assignees
Labels
No labels