Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
yeukfei02 opened this issue Feb 5, 2022 · 5 comments

Comments

@yeukfei02
Copy link

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.

@Rafat97
Copy link

Rafat97 commented Feb 15, 2022

Use top of this plugin.

plugins:
  - serverless-layers
  - serverless-plugin-typescript
  - serverless-offline
  - serverless-openapi-documentation

to

plugins:
  - serverless-openapi-documentation
  - serverless-layers
  - serverless-plugin-typescript
  - serverless-offline

Also add custom.documentation

custom:
  documentation:
    version: '1'
    title: 'My API'
    description: 'This is my API'
    models: {}

@yeukfei02
Copy link
Author

@Rafat97

use at the top of the plugin also has an error, and this repo the doc said should be after serverless-offline.

btw I did not use this lib already also this repo is not maintained

@Rafat97
Copy link

Rafat97 commented Feb 15, 2022

@yeukfei02
Yaa, you are right . this repo is not maintained any more.
are you use use any alternative for documentation generation ?

@yeukfei02
Copy link
Author

@Rafat97

I use postman collection to publish documenation

@Rafat97
Copy link

Rafat97 commented Feb 15, 2022

@Rafat97

I use postman collection to publish documenation

Ok. nice

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants