diff --git a/scripts/serverless.js b/scripts/serverless.js index cc0e74e9141..6cf81fc4e36 100755 --- a/scripts/serverless.js +++ b/scripts/serverless.js @@ -580,6 +580,7 @@ const processSpanPromise = (async () => { // Report unrecognized variable sources found in variables configured in service config const unresolvedSources = require('../lib/configuration/variables/resolve-unresolved-source-types')(variablesMeta); + const recognizedSourceNames = new Set(Object.keys(resolverConfiguration.sources)); if (!(configuration.variablesResolutionMode >= 20210326)) { const legacyCfVarPropertyPaths = new Set(); const legacySsmVarPropertyPaths = new Set(); @@ -619,7 +620,7 @@ const processSpanPromise = (async () => { { serviceConfig: configuration } ); } - const recognizedSourceNames = new Set(Object.keys(resolverConfiguration.sources)); + const unrecognizedSourceNames = Array.from(unresolvedSources.keys()).filter( (sourceName) => !recognizedSourceNames.has(sourceName) ); @@ -636,10 +637,13 @@ const processSpanPromise = (async () => { ); } } else { + const unrecognizedSourceNames = Array.from(unresolvedSources.keys()).filter( + (sourceName) => !recognizedSourceNames.has(sourceName) + ); throw new ServerlessError( - `Approached unrecognized configuration variable sources: "${Array.from( - unresolvedSources.keys() - ).join('", "')}"`, + `Approached unrecognized configuration variable sources: "${unrecognizedSourceNames.join( + '", "' + )}"`, 'UNRECOGNIZED_VARIABLE_SOURCES' ); }