'use strict'; const inquirer = require('@serverless/utils/inquirer'); const steps = { service: require('./service'), dashboardLogin: require('@serverless/dashboard-plugin/lib/cli/interactive-setup/dashboard-login'), dashboardSetOrg: require('@serverless/dashboard-plugin/lib/cli/interactive-setup/dashboard-set-org'), awsCredentials: require('./aws-credentials'), autoUpdate: require('./auto-update'), tabCompletion: require('./tab-completion'), }; module.exports = async (context) => { context = { ...context, inquirer, history: new Map() }; for (const [stepName, step] of Object.entries(steps)) { delete context.stepHistory; const stepData = await step.isApplicable(context); if (stepData) { process.stdout.write('\n'); context.stepHistory = []; context.history.set(stepName, context.stepHistory); await step.run(context, stepData); } } };