serverless-bundle
serverless-bundle copied to clipboard
v4.2.3 - Nested Services - Serverless package at root doesn't work
Hello, thanks for this amazing plugin!
I would like to use this monorepo structure:
[root]
- common/
- helper1.js
- helper2.js
- packages/
- package1/
- package.json
- serverless.yml
- lambda1.js
- lambda2.js
- package2/
- package.json
- serverless.yml
- lambda1.js
- lambda2.js
- package1/
- package.json
- serverless.yml
- seed.yml
- .eslintrc.js
...and run yarn build
(serverless package
script) at the root. Unfortunately, it doesn't work. I have this error message:
yarn run v1.22.10
$ serverless package
Serverless: Cleaning dependency symlinks
Serverless: Creating dependency symlinks
Serverless: Bundling with Webpack...
Webpack Options Validation Error -----------------------
WebpackOptionsValidationError: Invalid configuration object. Webpack has been initialised using a configuration object that does not match the API schema.
- configuration.entry should be an non-empty object.
- Multiple entry bundles are created. The key is the chunk name. The value can be a string or an array.
at webpack (C:\Users\username\Documents\project-name\node_modules\webpack\lib\webpack.js:31:9)
at C:\Users\username\Documents\project-name\node_modules\serverless-webpack\lib\compile.js:25:39
at tryCatcher (C:\Users\username\Documents\project-name\node_modules\bluebird\js\release\util.js:16:23)
at Function.Promise.fromNode.Promise.fromCallback (C:\Users\username\Documents\project-name\node_modules\bluebird\js\release\promise.js:209:30)
at webpackCompile (C:\Users\username\Documents\project-name\node_modules\serverless-webpack\lib\compile.js:25:20)
at BbPromise.map.concurrency.concurrency (C:\Users\username\Documents\project-name\node_modules\serverless-webpack\lib\compile.js:41:43)
at tryCatcher (C:\Users\username\Documents\project-name\node_modules\bluebird\js\release\util.js:16:23)
at MappingPromiseArray._promiseFulfilled (C:\Users\username\Documents\project-name\node_modules\bluebird\js\release\map.js:68:38)
at MappingPromiseArray.PromiseArray._iterate (C:\Users\username\Documents\project-name\node_modules\bluebird\js\release\promise_array.js:115:31)
at MappingPromiseArray.init (C:\Users\username\Documents\project-name\node_modules\bluebird\js\release\promise_array.js:79:10)
at MappingPromiseArray._asyncInit (C:\Users\username\Documents\project-name\node_modules\bluebird\js\release\map.js:37:10)
at _drainQueueStep (C:\Users\username\Documents\project-name\node_modules\bluebird\js\release\async.js:97:12)
at _drainQueue (C:\Users\username\Documents\project-name\node_modules\bluebird\js\release\async.js:86:9)
at Async._drainQueues (C:\Users\username\Documents\project-name\node_modules\bluebird\js\release\async.js:102:5)
at Immediate.Async.drainQueues [as _onImmediate] (C:\Users\username\Documents\project-name\node_modules\bluebird\js\release\async.js:15:14)
at processImmediate (internal/timers.js:461:21)
serverless.yml
at root is used to configure serverless plugins.
Is there a way to use the monorepo structure above?
Root package.json
content:
{
"private": true,
"name": "project-name",
"version": "1.0.0",
"scripts": {
"dev": "serverless offline start --noPrependStageInUrl",
"build": "serverless package"
},
"devDependencies": {
"eslint-config-standard": "16.0.2",
"serverless-bundle": "4.2.3",
"serverless-offline": "6.9.0",
"serverless-seed": "0.3.13"
},
"dependencies": {
"lambda-log": "2.4.0"
},
"license": "MIT"
}