Serverless Framework не исключает зависимости разработчиков при упаковке - PullRequest
1 голос
/ 05 мая 2020

Почему мой один компьютер включает зависимости разработчиков при упаковке проекта Serverless Framework, а другой мой компьютер - нет?

При упаковке и развертывании моего проекта Serverless, ориентированного на AWS, я обнаружил, что zip-пакет содержит dev в папке node_modules. Это произошло только на одном из двух моих компьютеров. При выполнении тех же шагов сборки на AWS CodeBuild пакет также был в порядке, не включая зависимости разработчика.

package. json

{
  "name": "project-name",
  "version": "0.0.1",
  "description": "description",
  "main": "index.js",
  "dependencies": {
    "amazon-cognito-identity-js": "^3.0.10",
    "aws-sdk": "^2.488.0",
    "axios": "^0.18.0",
    "js-sha256": "^0.9.0",
    "jsonwebtoken": "^8.5.1",
    "jwk-to-pem": "^2.0.1",
    "node-fetch": "^2.3.0",
    "uuid": "^3.3.2",
    "lodash": "^4.17.11"
  },
  "devDependencies": {
    "chai": "^4.2.0",
    "eslint": "^5.16.0",
    "eslint-config-node": "^4.0.0",
    "mocha": "^6.0.2",
    "serverless": "^1.69.0",
    "sinon": "^7.4.2",
    "sinon-test": "^2.4.0"
  },
  "scripts": {
    "test": "mocha ./test --recursive"
  },
  "repository": {
    "type": "git",
    "url": "https://git-codecommit.us-east-1.amazonaws.com/v1/repos/reponame"
  },
  "author": "",
  "license": "ISC"
}

файл serverless.yml, который пытался упаковать но включены зависимости разработчиков.

service: service-name

# pinning serverless version for this project so all contributors are using the same version for consisten results
frameworkVersion: ">=1.60.0"
provider:
  name: aws
  runtime: nodejs10.x
  stage: ${opt:stage, 'dev'} # default stage to use, unless overridden on command lin
  region: us-east-1

functions:
  create:
    handler: create/index.create
    events:
      - http:
          path: /{id}
          method: post
          cors: true

Оба компьютера были windows 10 со следующими версиями узлов - npm версия 6.4.1 - версия узла 10.15.3

Я попытался полностью удалить Node.js с моего Windows компьютера после Удалить Node.js и переустановить Node.js, но это не сработало.

Я попытался найти другие папки node_modules на своем компьютере и удалить их но проект по-прежнему включал зависимости разработчиков.

Я попытался создать простой бессерверный проект, но он также включал зависимости разработчиков.

1 Ответ

0 голосов
/ 05 мая 2020

Единственное решение, которое я нашел для решения моей проблемы, заключалось в выполнении сброса windows (сохранение пользовательских данных, удаление только данных приложения). Должно быть, что-то было в приложениях, AppData и др. c. это вызвало эту проблему.

После сброса windows 10, где сохранялись пользовательские данные и были удалены только данные приложения, установки Node.js (та же версия, что и раньше) и установки Serverless (та же версия, что и раньше), зависимости разработчика больше не были включены в раздел node_modules созданного пакета.

...