diff --git a/LayerManagerPlugin.js b/LayerManagerPlugin.js index a0f43c0..06a4fef 100644 --- a/LayerManagerPlugin.js +++ b/LayerManagerPlugin.js @@ -8,6 +8,7 @@ const fs = require('fs'); const DEFAULT_CONFIG = { installLayers: true, + installOptions: [], exportLayers: true, upgradeLayerReferences: true, exportPrefix: '${AWS::StackName}-' @@ -63,10 +64,11 @@ class LayerManagerPlugin { installLayer(path) { const nodeLayerPath = `${path}/nodejs`; + const installArgsString = this.config.installOptions ? this.config.installOptions.join(' ') : ''; if (fs.existsSync(nodeLayerPath)) { verbose(this, `Installing nodejs layer ${path}`); - execSync('npm install', { + execSync(`npm install ${installArgsString}`, { stdio: 'inherit', cwd: nodeLayerPath }); diff --git a/README.md b/README.md index 15f82c0..4113998 100644 --- a/README.md +++ b/README.md @@ -55,9 +55,10 @@ You may customize the features by adding a `layerConfig` object under `custom`, custom: layerConfig: installLayers: + installOptions: exportLayers: upgradeLayerReferences: exportPrefix: ``` -By default, all config options are true and the `exportPrefix` is set to `${AWS:StackName}-`. +By default, all config options are true, the `exportPrefix` is set to `${AWS:StackName}-` and installOptions is an empty array. diff --git a/test/test.js b/test/test.js index 6be472f..a55906b 100644 --- a/test/test.js +++ b/test/test.js @@ -5,6 +5,7 @@ const DEFAULT_CONFIG = { exportLayers: true, exportPrefix: '${AWS::StackName}-', installLayers: true, + installOptions: [], upgradeLayerReferences: true };