Вы можете использовать lerna .
Lerna также поможет вам, если у вас есть зависимости между вашими пакетами.
В основном вам просто нужно добавить lerna.jsonв корневой каталог и установите свои зависимости с помощью lerna.
lerna.json:
{
"lerna": "2.11.0",
"packages": [
"lambda-functions/*"
],
"version": "0.0.0"
}
Я предполагаю, что вы используете AWS CodeBuild, поэтому вот несколько примеровкак вы можете настроить этап установки:
buildspec.yml с lerna:
version: 0.2
phases:
install:
commands:
- echo Entered the install phase...
- npm install --global lerna
- lerna bootstrap --concurrency=1 -- --production
...
lerna bootstrap
создаст node_modules
для каждого пакета.
Если вы не хотите использовать lerna, вы можете добавить одну команду для каждого пакета.Что-то вроде:
buildspec.yml с пряжей:
version: 0.2
phases:
install:
commands:
- echo Entered the install phase...
- npm install --global yarn
- yarn --cwd lambda-functions/function-1 --production install
- yarn --cwd lambda-functions/function-2 --production install
- yarn --cwd lambda-functions/function-3 --production install
...
или:
buildspec.yml с npm:
version: 0.2
phases:
install:
commands:
- echo Entered the install phase...
- cd lambda-functions/function-1 && npm install --production
- cd lambda-functions/function-2 && npm install --production
- cd lambda-functions/function-3 && npm install --production
...