mirror of
https://github.com/serverless/serverless.git
synced 2026-01-18 14:58:43 +00:00
52 lines
1.3 KiB
JavaScript
52 lines
1.3 KiB
JavaScript
'use strict';
|
|
|
|
const pluginConfig = {
|
|
targetValuePath: ['custom', 'extend', 'value'],
|
|
overwriteValuePath: ['custom', 'extend', 'overwrite'],
|
|
afterInitValuePath: ['custom', 'extend', 'afterInit'],
|
|
refValuePath: ['custom', 'extend', 'ref'],
|
|
};
|
|
|
|
module.exports = class TestPlugin {
|
|
constructor(serverless, options, utils) {
|
|
this.serverless = serverless;
|
|
this.options = options;
|
|
this.utils = utils;
|
|
|
|
this.hooks = {
|
|
initialize: () => this.extendAfterInit(),
|
|
};
|
|
}
|
|
|
|
async asyncInit() {
|
|
const configExt = {
|
|
var: 'value',
|
|
};
|
|
this.serverless.extendConfiguration(pluginConfig.targetValuePath, configExt);
|
|
this.serverless.extendConfiguration(pluginConfig.overwriteValuePath, configExt);
|
|
this.serverless.extendConfiguration(pluginConfig.refValuePath, '${self:custom.extend.value}');
|
|
|
|
try {
|
|
this.serverless.extendConfiguration([], { custom: {} });
|
|
} catch (error) {
|
|
// ignore this
|
|
}
|
|
|
|
try {
|
|
this.serverless.extendConfiguration('custom.target.invalid', {});
|
|
} catch (error) {
|
|
// ignore this
|
|
}
|
|
}
|
|
|
|
extendAfterInit() {
|
|
try {
|
|
this.serverless.extendConfiguration(pluginConfig.afterInitValuePath, 'value');
|
|
} catch (error) {
|
|
// ignore this
|
|
}
|
|
}
|
|
};
|
|
|
|
module.exports.pluginConfig = pluginConfig;
|