2024-05-29 11:51:04 -04:00

61 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