Skip to content

Error: [ERROR clone] Invalid parameters after run serverless openapi generate #47

@yeukfei02

Description

@yeukfei02

serverless.yml

org: yeukfei05
app: random-user-api-serverless
service: random-user-api-serverless

frameworkVersion: '2'
useDotenv: true

provider:
  name: aws
  runtime: nodejs14.x
  stage: prod
  region: ap-southeast-1
  apiName: random-user-api-serverless-prod
  tracing:
    apiGateway: true
    lambda: true
  environment:
    NODE_ENV: production
    MY_AWS_ACCESS_KEY: ${param:MY_AWS_ACCESS_KEY}
    MY_AWS_SECRET_ACCESS_KEY: ${param:MY_AWS_SECRET_ACCESS_KEY}
    JWT_SECRET: ${param:JWT_SECRET}
  iam:
    role:
      statements:
        - Effect: 'Allow'
          Action:
            - 'xray:PutTraceSegments'
            - 'xray:PutTelemetryRecords'
          Resource:
            - '*'
  apiGateway:
    shouldStartNameWithService: true
    description: random user api serverless prod
  lambdaHashingVersion: 20201221
  architecture: arm64
  timeout: 30

functions:
  main:
    handler: src/main/handler.getMain
    events:
      - http:
          path: /api
          method: get
          cors: true

  signup:
    handler: src/signup/handler.signup
    events:
      - http:
          path: /api/user/signup
          method: post
          cors: true

  login:
    handler: src/login/handler.login
    events:
      - http:
          path: /api/user/login
          method: post
          cors: true

  authorize:
    handler: src/authorize/handler.authorize

  createRandomUser:
    handler: src/createRandomUser/handler.createRandomUser
    events:
      - http:
          path: /api/random-user
          method: post
          cors: true
          authorizer:
            name: authorize

  getRandomUser:
    handler: src/getRandomUser/handler.getRandomUser
    events:
      - http:
          path: /api/random-user
          method: get
          cors: true
          authorizer:
            name: authorize

  getRandomUserById:
    handler: src/getRandomUserById/handler.getRandomUserById
    events:
      - http:
          path: /api/random-user/{id}
          method: get
          cors: true
          authorizer:
            name: authorize

  updateRandomUserById:
    handler: src/updateRandomUserById/handler.updateRandomUserById
    events:
      - http:
          path: /api/random-user/{id}
          method: put
          cors: true
          authorizer:
            name: authorize

  deleteRandomUserById:
    handler: src/deleteRandomUserById/handler.deleteRandomUserById
    events:
      - http:
          path: /api/random-user/{id}
          method: delete
          cors: true
          authorizer:
            name: authorize

plugins:
  - serverless-layers
  - serverless-plugin-typescript
  - serverless-offline
  - serverless-openapi-documentation
  
custom:
  serverless-layers:
    - common:
        packageManager: yarn
        dependenciesPath: ./package.json
        layersDeploymentBucket: random-user-api-serverless-serverless-layers

package.json

{
  "name": "random-user-api-serverless",
  "version": "0.2.8",
  "main": "app.js",
  "repository": "https://github.com/yeukfei02/random-user-api-serverless.git",
  "author": "Donald Wu <yeukfei02@gmail.com>",
  "license": "MIT",
  "dependencies": {
    "aws-sdk": "^2.772.0",
    "aws-xray-sdk": "^3.2.0",
    "axios": "0.19.2",
    "bcryptjs": "^2.4.3",
    "dotenv": "^8.2.0",
    "dynamoose": "^2.5.0",
    "jsonwebtoken": "^8.5.1",
    "lodash": "^4.17.20",
    "moment": "^2.29.1",
    "moment-timezone": "^0.5.31",
    "uuid": "^8.3.1"
  },
  "devDependencies": {
    "@types/aws-lambda": "^8.10.63",
    "@types/aws-sdk": "^2.7.0",
    "@types/bcryptjs": "^2.4.2",
    "@types/jest": "^26.0.14",
    "@types/jsonwebtoken": "^8.5.0",
    "@types/lambda-tester": "^3.6.0",
    "@types/lodash": "^4.14.161",
    "@types/moment-timezone": "^0.5.30",
    "@types/node": "^17.0.13",
    "@types/serverless": "^1.78.44",
    "@types/uuid": "^8.3.0",
    "@typescript-eslint/eslint-plugin": "^4.4.0",
    "@typescript-eslint/parser": "^4.4.0",
    "aws-lambda": "^1.0.6",
    "codecov": "^3.8.0",
    "eslint": "^7.10.0",
    "eslint-config-prettier": "^6.12.0",
    "eslint-plugin-prettier": "^3.1.4",
    "git-cz": "^4.7.1",
    "husky": "^4.3.0",
    "jest": "^26.5.2",
    "lambda-tester": "^4.0.1",
    "prettier": "^2.1.2",
    "serverless": "2.72.2",
    "serverless-layers": "^2.5.1",
    "serverless-offline": "^8.4.0",
    "serverless-openapi-documentation": "^0.4.0",
    "serverless-plugin-typescript": "^2.1.1",
    "standard-version": "^9.0.0",
    "ts-jest": "^26.4.1",
    "ts-node": "^9.0.0",
    "typescript": "^4.0.3"
  },
  "scripts": {
    "dev": "serverless offline start",
    "deploy": "serverless deploy",
    "package": "serverless package",
    "dashboard": "serverless dashboard",
    "remove": "serverless remove",
    "lint": "eslint '*/**/*.{ts,tsx}' --quiet --fix",
    "test": "jest --detectOpenHandles",
    "commit": "git-cz",
    "release": "standard-version"
  },
  "husky": {
    "hooks": {
      "pre-commit": "yarn lint",
      "pre-push": "yarn lint"
    }
  }
}

error:

serverless openapi generate
Running "serverless" from node_modules
Serverless: Using provider credentials, configured via dashboard: https://app.serverless.com/yeukfei05/apps/random-user-api-serverless/random-user-api-serverless/prod/ap-southeast-1/providers
 
 Serverless Warning --------------------------------------
 
  CLI options definitions were upgraded with "type" property (which could be one of "string", "boolean", "multiple"). Below listed plugins do not predefine type for introduced options:
   - ServerlessOpenApiDocumentation for "output", "format", "indent"
  
  Please report this issue in plugin issue tracker.
 
OpenAPI v3 Documentation Generator

 
 Error ---------------------------------------------------
 
  Error: [ERROR clone] Invalid parameters
      at Object.Clone.clone (/Users/donaldwu/Documents/GitHub/random-user-api-serverless/node_modules/lutils/clone/clone.js:18:23)
      at new DefinitionGenerator (/Users/donaldwu/Documents/GitHub/random-user-api-serverless/node_modules/serverless-openapi-documentation/DefinitionGenerator.js:21:31)
      at ServerlessOpenApiDocumentation.generate (/Users/donaldwu/Documents/GitHub/random-user-api-serverless/node_modules/serverless-openapi-documentation/ServerlessOpenApiDocumentation.js:83:27)
      at PluginManager.runHooks (/Users/donaldwu/Documents/GitHub/random-user-api-serverless/node_modules/serverless/lib/classes/PluginManager.js:601:41)
      at PluginManager.invoke (/Users/donaldwu/Documents/GitHub/random-user-api-serverless/node_modules/serverless/lib/classes/PluginManager.js:639:20)
      at processTicksAndRejections (internal/process/task_queues.js:95:5)
      at async PluginManager.run (/Users/donaldwu/Documents/GitHub/random-user-api-serverless/node_modules/serverless/lib/classes/PluginManager.js:700:7)
      at async Serverless.run (/Users/donaldwu/Documents/GitHub/random-user-api-serverless/node_modules/serverless/lib/Serverless.js:468:5)
      at async /Users/donaldwu/Documents/GitHub/random-user-api-serverless/node_modules/serverless/scripts/serverless.js:836:9
 
     For debugging logs, run again after setting the "SLS_DEBUG=*" environment variable.
 
  Get Support --------------------------------------------
     Docs:          docs.serverless.com
     Bugs:          github.com/serverless/serverless/issues
     Issues:        forum.serverless.com
 
  Your Environment Information ---------------------------
     Operating System:          darwin
     Node Version:              14.18.0
     Framework Version:         2.72.2 (local)
     Plugin Version:            5.5.4
     SDK Version:               4.3.0
     Components Version:        3.18.2

sls version: 2.72.2
node version: 14.18.0

I try to play with this plugin with my sls project, but got this error.
looking for suggestions and bug fixes, thank you.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions