example repo for issue: serverless-heaven/serverless-webpack#1439
require preinstalled nvm and unzip
note: dep. 'aws-sdk-q' was used as example cause it is contain 'aws-sdk' as 'peerDep'
- use node14
nvm use 14
- install packages
npm i
- package app
node_modules/.bin/sls package
- unzip created package
cd .serverless
unzip serverless-webpack-app.zip
- check packages
command:
npm ls
result:
├── UNMET PEER DEPENDENCY aws-sdk@>= 2.1.5
└─┬ aws-sdk-q@0.0.2
└── q@1.5.1
command:
npm ls aws-sdk
result:
└── (empty)
as expected it is empty cause we forceExlude it
command:
ls .serverless/node_modules
result:
aws-sdk-q q
- use node14
nvm use 16.16
- install packages
npm i
- package app
node_modules/.bin/sls package
- unzip created package
cd .serverless
unzip serverless-webpack-app.zip
- check packages
command:
npm ls
result:
└── aws-sdk-q@0.0.2
command:
npm ls aws-sdk
result:
└─┬ aws-sdk-q@0.0.2
└── aws-sdk@2.1358.0
^^^ aws-sdk present
wrong! cause we forceExlude it
command:
.serverless/node_modules
result:
available-typed-arrays for-each ieee754 jmespath which-typed-array
aws-sdk function-bind inherits q xml2js
aws-sdk-q get-intrinsic is-arguments querystring xmlbuilder
base64-js gopd is-callable sax
buffer has is-generator-function url
call-bind has-symbols is-typed-array util
events has-tostringtag isarray uuid
^^^^ a lot of unexpected packages
forceExclude does not work correctly with node16(npm v8) in case when excluded packages defined as "peerDep" in list of orignal packages