@brunwig/mup-aws-beanstalk 0.8.7 → 2.0.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.babelrc +15 -4
- package/.eslintrc.yml +2 -2
- package/.yarn/install-state.gz +0 -0
- package/docs/getting-started.md +1 -1
- package/docs/index.md +22 -6
- package/index.js +1 -1
- package/lib/assets/Procfile +1 -0
- package/lib/assets/health-check.js +9 -1
- package/lib/assets/health-check.js.map +1 -1
- package/lib/assets/nginx-server.conf +5 -0
- package/lib/assets/node.sh +37 -7
- package/lib/assets/npm.sh +14 -0
- package/lib/assets/prevent-npm.sh +4 -0
- package/lib/assets/role-start.sh +61 -0
- package/lib/assets/start.sh +1 -1
- package/lib/assets/yarn.sh +17 -0
- package/lib/aws.js +43 -77
- package/lib/aws.js.map +1 -1
- package/lib/certificates.js +56 -59
- package/lib/certificates.js.map +1 -1
- package/lib/command-handlers.js +613 -637
- package/lib/command-handlers.js.map +1 -1
- package/lib/commands.js +144 -111
- package/lib/commands.js.map +1 -1
- package/lib/deployment-logs.js +127 -0
- package/lib/deployment-logs.js.map +1 -0
- package/lib/download.js +11 -18
- package/lib/download.js.map +1 -1
- package/lib/eb-config.js +246 -242
- package/lib/eb-config.js.map +1 -1
- package/lib/env-ready.js +87 -88
- package/lib/env-ready.js.map +1 -1
- package/lib/env-settings.js +13 -14
- package/lib/env-settings.js.map +1 -1
- package/lib/index.js +111 -81
- package/lib/index.js.map +1 -1
- package/lib/policies.js +130 -115
- package/lib/policies.js.map +1 -1
- package/lib/prepare-bundle.js +187 -194
- package/lib/prepare-bundle.js.map +1 -1
- package/lib/recheck.js +16 -13
- package/lib/recheck.js.map +1 -1
- package/lib/tsconfig.tsbuildinfo +1 -0
- package/lib/types.js +3 -0
- package/lib/types.js.map +1 -0
- package/lib/upload.js +35 -49
- package/lib/upload.js.map +1 -1
- package/lib/utils.js +556 -577
- package/lib/utils.js.map +1 -1
- package/lib/validate.js +61 -59
- package/lib/validate.js.map +1 -1
- package/lib/versions.js +74 -81
- package/lib/versions.js.map +1 -1
- package/package.json +60 -26
- package/readme.md +2 -1
- package/tsconfig.json +41 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command-handlers.js","names":["_chalk","_interopRequireDefault","require","_ssh","_aws","_certificates","_policies","_upload","_interopRequireWildcard","_prepareBundle","_utils","_versions","_envSettings","_ebConfig","_envReady","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","ownKeys","keys","getOwnPropertySymbols","o","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","value","configurable","writable","_toPrimitive","Symbol","toPrimitive","TypeError","String","Number","setup","api","config","getConfig","appConfig","app","bucket","bucketName","appName","instanceProfile","serviceRole","serviceRoleName","trailBucketPrefix","trailName","deregisterRuleName","environment","environmentName","eventTargetRole","eventTargetRoleName","eventTargetPolicyName","eventTargetPassRoleName","automationDocument","names","logStep","Buckets","s3","listBuckets","promise","beanstalkBucketCreated","ensureBucketExists","region","console","log","ensureRoleExists","rolePolicy","ensureInstanceProfileExists","ensurePoliciesAttached","gracefulShutdown","ensureRoleAdded","accountId","getAccountId","policy","eventTargetRolePolicy","passPolicy","passRolePolicy","ensureInlinePolicyAttached","Applications","beanstalk","describeApplications","find","ApplicationName","params","Description","name","createApplication","existingBucket","findBucketWithPrefix","trailBucketName","Name","createUniqueName","trailBucketPolicy","trailBucketCreated","ensureBucketPolicyAttached","trailNameList","trailList","cloudTrail","describeTrails","createParams","S3BucketName","createTrail","createdDocument","ensureSsmDocument","gracefulShutdownAutomationDocument","createdRule","ensureCloudWatchRule","DeregisterEvent","target","deregisterEventTarget","createdTarget","ensureRuleTargetExists","deploy","runCommand","bundlePrefix","version","largestVersion","nextVersion","buildOptions","buildLocation","tmpBuildPath","path","bundlePath","resolvePath","willBuild","shouldRebuild","getOptions","injectFiles","archiveApp","key","upload","createApplicationVersion","VersionLabel","toString","createVersionDescription","SourceBundle","S3Bucket","S3Key","waitForEnvReady","toRemove","toUpdate","prepareUpdateEnvironment","verbose","dir","updateEnvironment","EnvironmentName","OptionSettings","OptionsToRemove","Environments","describeEnvironments","EnvironmentNames","finalEnvironments","chalk","green","CNAME","red","process","exitCode","logs","logsContent","getLogs","instance","data","fullLogs","downloadFullServerLogs","JSON","stringify","logsNginx","logsEb","start","EnvironmentResources","describeEnvironmentResources","autoScalingGroup","AutoScalingGroups","minInstances","maxInstances","autoScaling","updateAutoScalingGroup","AutoScalingGroupName","MaxSize","MinSize","DesiredCapacity","waitForHealth","stop","restart","restartAppServer","clean","versions","oldVersions","envVersions","oldEnvVersions","promises","deleteApplicationVersion","DeleteSourceBundle","deleteObject","Bucket","Key","Promise","all","reconfig","deploying","commandHistory","entry","env","Status","desiredEbConfig","createDesiredConfig","getSettings","longEnvVars","envContent","createEnvFile","uploadEnvFile","platformArn","selectPlatformArn","awsPlatformBranchName","ebVersions","createEnvironment","PlatformArn","ConfigurationSettings","describeConfigurationSettings","scalingConfigChanged","scalingConfig","events","Events","envEvents","describeEvents","map","ev","EventDate","Message","join","status","result","describeEnvironmentHealth","AttributeNames","message","includes","InstanceHealthList","describeInstancesHealth","RequestCount","Duration","StatusCodes","Latency","ApplicationMetrics","coloredStatusText","Color","HealthStatus","Causes","cause","Status2xx","Status3xx","Status4xx","Status5xx","P999","P99","P95","P90","P85","P75","P50","P10","InstanceId","ssl","sslDomains","updateSSLConfig","domains","CertificateSummaryList","acm","listCertificates","found","DomainName","CertificateArn","Certificate","describeCertificate","SubjectAlternativeNames","certificateArn","requestCertificate","shift","emailsProvided","checks","certificate","validationOptions","DomainValidationOptions","ValidationEmails","resolve","setTimeout","ValidationDomain","ValidationStatus","yellow","email","shell","selected","description","pickInstance","getArgs","sshOptions","removeSSHAccess","connectToInstance","conn","Client","on","exec","pty","err","stream","end","exit","stdin","setRawMode","pipe","stdout","stderr","setWindow","rows","columns","connect","debug","executeSSHCommand","output","server","pem","sshKey","privateKey","loggedConnection","forwardPort","localAddress","localPort","remoteAddress","remotePort","onError","error","onReady","onConnection"],"sources":["../src/command-handlers.js"],"sourcesContent":["import chalk from 'chalk';\nimport { Client } from 'ssh2';\nimport {\n acm,\n s3,\n beanstalk,\n autoScaling,\n cloudTrail\n} from './aws';\nimport updateSSLConfig from './certificates';\nimport {\n rolePolicy,\n trailBucketPolicy,\n DeregisterEvent,\n deregisterEventTarget,\n serviceRole,\n eventTargetRolePolicy,\n eventTargetRole,\n gracefulShutdownAutomationDocument,\n passRolePolicy\n} from './policies';\nimport upload, { uploadEnvFile } from './upload';\nimport {\n archiveApp,\n injectFiles\n} from './prepare-bundle';\nimport {\n coloredStatusText,\n ensureBucketExists,\n ensureInstanceProfileExists,\n ensureRoleExists,\n ensureRoleAdded,\n ensurePoliciesAttached,\n ensureBucketPolicyAttached,\n getAccountId,\n getLogs,\n downloadFullServerLogs,\n logStep,\n names,\n tmpBuildPath,\n shouldRebuild,\n ensureCloudWatchRule,\n ensureRuleTargetExists,\n ensureInlinePolicyAttached,\n findBucketWithPrefix,\n createUniqueName,\n createVersionDescription,\n ensureSsmDocument,\n selectPlatformArn,\n pickInstance,\n connectToInstance,\n executeSSHCommand\n} from './utils';\nimport {\n largestVersion,\n ebVersions,\n oldVersions,\n oldEnvVersions\n} from './versions';\nimport { createEnvFile } from './env-settings';\nimport {\n createDesiredConfig,\n prepareUpdateEnvironment,\n scalingConfig,\n scalingConfigChanged\n} from './eb-config';\n\nimport {\n waitForEnvReady,\n waitForHealth\n} from './env-ready';\n\nexport async function setup(api) {\n const config = api.getConfig();\n const appConfig = config.app;\n\n const {\n bucket: bucketName,\n app: appName,\n instanceProfile,\n serviceRole: serviceRoleName,\n trailBucketPrefix,\n trailName,\n deregisterRuleName,\n environment: environmentName,\n eventTargetRole: eventTargetRoleName,\n eventTargetPolicyName,\n eventTargetPassRoleName,\n automationDocument\n } = names(config);\n\n logStep('=> @Brunwig/mup-aws-beanstalk');\n logStep('=> Setting up');\n\n // Create bucket if needed\n const {\n Buckets\n } = await s3.listBuckets().promise();\n\n const beanstalkBucketCreated = await ensureBucketExists(Buckets, bucketName, appConfig.region);\n\n if (beanstalkBucketCreated) {\n console.log(' Created Bucket');\n }\n\n logStep('=> Ensuring IAM Roles and Instance Profiles are setup');\n\n // Create role and instance profile\n await ensureRoleExists(instanceProfile, rolePolicy);\n await ensureInstanceProfileExists(config, instanceProfile);\n await ensurePoliciesAttached(config, instanceProfile, [\n 'arn:aws:iam::aws:policy/AWSElasticBeanstalkWebTier',\n 'arn:aws:iam::aws:policy/AWSElasticBeanstalkMulticontainerDocker',\n 'arn:aws:iam::aws:policy/AWSElasticBeanstalkWorkerTier',\n ...appConfig.gracefulShutdown ? ['arn:aws:iam::aws:policy/service-role/AmazonEC2RoleforSSM'] : []\n ]);\n await ensureRoleAdded(config, instanceProfile, instanceProfile);\n\n // Create role used by enhanced health\n await ensureRoleExists(serviceRoleName, serviceRole);\n await ensurePoliciesAttached(config, serviceRoleName, [\n 'arn:aws:iam::aws:policy/service-role/AWSElasticBeanstalkEnhancedHealth',\n 'arn:aws:iam::aws:policy/service-role/AWSElasticBeanstalkService'\n ]);\n\n if (appConfig.gracefulShutdown) {\n const accountId = await getAccountId();\n const policy = eventTargetRolePolicy(accountId, environmentName, appConfig.region || 'us-east-1');\n const passPolicy = passRolePolicy(accountId, eventTargetRoleName);\n\n await ensureRoleExists(eventTargetRoleName, eventTargetRole, true);\n await ensureInlinePolicyAttached(eventTargetRoleName, eventTargetPolicyName, policy);\n await ensureInlinePolicyAttached(eventTargetRoleName, eventTargetPassRoleName, passPolicy);\n }\n\n // Create beanstalk application if needed\n const {\n Applications\n } = await beanstalk.describeApplications().promise();\n\n if (!Applications.find(app => app.ApplicationName === appName)) {\n const params = {\n ApplicationName: appName,\n Description: `App \"${appConfig.name}\" managed by Meteor Up`\n };\n\n await beanstalk.createApplication(params).promise();\n console.log(' Created Beanstalk application');\n }\n\n if (appConfig.gracefulShutdown) {\n logStep('=> Ensuring Graceful Shutdown is setup');\n\n const existingBucket = findBucketWithPrefix(Buckets, trailBucketPrefix);\n const trailBucketName = existingBucket ?\n existingBucket.Name :\n createUniqueName(trailBucketPrefix);\n const region = appConfig.region || 'us-east-1';\n const accountId = await getAccountId();\n const policy = trailBucketPolicy(accountId, trailBucketName);\n\n const trailBucketCreated = await ensureBucketExists(Buckets, trailBucketName, appConfig.region);\n await ensureBucketPolicyAttached(trailBucketName, policy);\n\n if (trailBucketCreated) {\n console.log(' Created bucket for Cloud Trail');\n }\n\n const params = {\n trailNameList: [\n trailName\n ]\n };\n\n const {\n trailList\n } = await cloudTrail.describeTrails(params).promise();\n\n if (trailList.length === 0) {\n const createParams = {\n Name: trailName,\n S3BucketName: trailBucketName\n };\n\n await cloudTrail.createTrail(createParams).promise();\n\n console.log(' Created CloudTrail trail');\n }\n\n const createdDocument = await ensureSsmDocument(\n automationDocument,\n gracefulShutdownAutomationDocument()\n );\n if (createdDocument) {\n console.log(' Created SSM Automation Document');\n }\n\n const createdRule = await ensureCloudWatchRule(deregisterRuleName, 'Used by Meteor Up for graceful shutdown', DeregisterEvent);\n\n if (createdRule) {\n console.log(' Created Cloud Watch rule');\n }\n\n const target = deregisterEventTarget(environmentName, eventTargetRoleName, accountId, region);\n const createdTarget = await ensureRuleTargetExists(deregisterRuleName, target, accountId);\n\n if (createdTarget) {\n console.log(' Created target for Cloud Watch rule');\n }\n }\n}\n\nexport async function deploy(api) {\n await api.runCommand('beanstalk.setup');\n\n const config = api.getConfig();\n const {\n app,\n bucket,\n bundlePrefix,\n environment\n } = names(config);\n\n\n const version = await largestVersion(api);\n const nextVersion = version + 1;\n\n // Mutates the config, so the meteor.build command will have the correct build location\n config.app.buildOptions.buildLocation = config.app.buildOptions.buildLocation ||\n tmpBuildPath(config.app.path, api);\n\n const bundlePath = api.resolvePath(config.app.buildOptions.buildLocation, 'bundle.zip');\n const willBuild = shouldRebuild(bundlePath, api.getOptions()['cached-build']);\n\n if (willBuild) {\n await api.runCommand('meteor.build');\n injectFiles(\n api,\n app,\n nextVersion,\n config.app\n );\n await archiveApp(config.app.buildOptions.buildLocation, api);\n }\n\n logStep('=> Uploading bundle');\n\n const key = `${bundlePrefix}${nextVersion}`;\n await upload(config.app, bucket, `${bundlePrefix}${nextVersion}`, bundlePath);\n\n logStep('=> Creating version');\n\n await beanstalk.createApplicationVersion({\n ApplicationName: app,\n VersionLabel: nextVersion.toString(),\n Description: createVersionDescription(api, config.app),\n SourceBundle: {\n S3Bucket: bucket,\n S3Key: key\n }\n }).promise();\n\n await api.runCommand('beanstalk.reconfig');\n await waitForEnvReady(config, true);\n\n logStep('=> Deploying new version');\n\n const {\n toRemove,\n toUpdate\n } = await prepareUpdateEnvironment(api);\n\n if (api.verbose) {\n console.log('EB Config changes:');\n console.dir({\n toRemove,\n toUpdate\n });\n }\n\n await beanstalk.updateEnvironment({\n EnvironmentName: environment,\n VersionLabel: nextVersion.toString(),\n OptionSettings: toUpdate,\n OptionsToRemove: toRemove\n }).promise();\n\n await waitForEnvReady(config, true);\n\n const {\n Environments\n } = await beanstalk.describeEnvironments({\n ApplicationName: app,\n EnvironmentNames: [environment]\n }).promise();\n\n await api.runCommand('beanstalk.clean');\n\n await api.runCommand('beanstalk.ssl');\n\n // Check if deploy succeeded\n const {\n Environments: finalEnvironments\n } = await beanstalk.describeEnvironments({\n ApplicationName: app,\n EnvironmentNames: [environment]\n }).promise();\n\n if (nextVersion.toString() === finalEnvironments[0].VersionLabel) {\n console.log(chalk.green(`App is running at ${Environments[0].CNAME}`));\n } else {\n console.log(chalk.red`Deploy Failed. Visit the Aws Elastic Beanstalk console to view the logs from the failed deploy.`);\n process.exitCode = 1;\n }\n}\n\nexport async function logs(api) {\n const logsContent = await getLogs(api, ['web.stdout.log', 'nodejs/nodejs.log']);\n\n logsContent.forEach(({\n instance,\n data\n }) => {\n console.log(`${instance} `, data[0] || data[1]);\n });\n}\n\nexport async function fullLogs(api) {\n const logsContent = await downloadFullServerLogs(api);\n logStep(`=> downloadFullServerLogs: ${JSON.stringify(logsContent, null, '\\t')}`);\n}\n\n\nexport async function logsNginx(api) {\n const logsContent = await getLogs(api, ['nginx/error.log', 'nginx/access.log']);\n\n logsContent.forEach(({\n instance,\n data\n }) => {\n console.log(`${instance} `, data[0]);\n console.log(`${instance} `, data[1]);\n });\n}\n\nexport async function logsEb(api) {\n const logsContent = await getLogs(api, ['eb-engine.log', 'eb-activity.log']);\n\n logsContent.forEach(({\n data,\n instance\n }) => {\n console.log(`${instance} `, data[0] || data[1]);\n });\n}\n\nexport async function start(api) {\n const config = api.getConfig();\n const {\n environment\n } = names(config);\n\n logStep('=> Starting App');\n\n const {\n EnvironmentResources\n } = await beanstalk.describeEnvironmentResources({\n EnvironmentName: environment\n }).promise();\n\n const autoScalingGroup = EnvironmentResources.AutoScalingGroups[0].Name;\n\n const {\n minInstances,\n maxInstances\n } = config.app;\n\n await autoScaling.updateAutoScalingGroup({\n AutoScalingGroupName: autoScalingGroup,\n MaxSize: maxInstances,\n MinSize: minInstances,\n DesiredCapacity: minInstances\n }).promise();\n\n await waitForHealth(config);\n}\n\nexport async function stop(api) {\n const config = api.getConfig();\n const {\n environment\n } = names(config);\n\n logStep('=> Stopping App');\n\n const {\n EnvironmentResources\n } = await beanstalk.describeEnvironmentResources({\n EnvironmentName: environment\n }).promise();\n\n const autoScalingGroup = EnvironmentResources.AutoScalingGroups[0].Name;\n\n await autoScaling.updateAutoScalingGroup({\n AutoScalingGroupName: autoScalingGroup,\n MaxSize: 0,\n MinSize: 0,\n DesiredCapacity: 0\n }).promise();\n\n await waitForHealth(config, 'Grey');\n}\n\nexport async function restart(api) {\n const config = api.getConfig();\n const {\n environment\n } = names(config);\n\n logStep('=> Restarting App');\n\n await beanstalk.restartAppServer({\n EnvironmentName: environment\n }).promise();\n\n await waitForEnvReady(config, false);\n}\n\nexport async function clean(api) {\n const config = api.getConfig();\n const {\n app,\n bucket\n } = names(config);\n\n logStep('=> Finding old versions');\n const {\n versions\n } = await oldVersions(api);\n const envVersions = await oldEnvVersions(api);\n\n logStep('=> Removing old versions');\n\n const promises = [];\n for (let i = 0; i < versions.length; i++) {\n promises.push(beanstalk.deleteApplicationVersion({\n ApplicationName: app,\n VersionLabel: versions[i].toString(),\n DeleteSourceBundle: true\n }).promise());\n }\n\n for (let i = 0; i < envVersions.length; i++) {\n promises.push(s3.deleteObject({\n Bucket: bucket,\n Key: `env/${envVersions[i]}.txt`\n }).promise());\n }\n\n // TODO: remove bundles\n\n await Promise.all(promises);\n}\n\nexport async function reconfig(api) {\n const config = api.getConfig();\n const {\n app,\n environment,\n bucket\n } = names(config);\n const deploying = !!api.commandHistory.find(entry => entry.name === 'beanstalk.deploy');\n\n logStep('=> @Brunwig/mup-aws-beanstalk');\n logStep('=> Configuring Beanstalk environment');\n\n // check if env exists\n const {\n Environments\n } = await beanstalk.describeEnvironments({\n ApplicationName: app,\n EnvironmentNames: [environment]\n }).promise();\n\n if (!Environments.find(env => env.Status !== 'Terminated')) {\n const desiredEbConfig = createDesiredConfig(\n api.getConfig(),\n api.getSettings(),\n config.app.longEnvVars ? 1 : false\n );\n\n if (config.app.longEnvVars) {\n const envContent = createEnvFile(config.app.env, api.getSettings());\n\n await uploadEnvFile(bucket, 1, envContent);\n }\n\n const platformArn = await selectPlatformArn(api.getConfig().app.awsPlatformBranchName);\n\n const [version] = await ebVersions(api);\n await beanstalk.createEnvironment({\n ApplicationName: app,\n EnvironmentName: environment,\n Description: `Environment for ${config.app.name}, managed by Meteor Up`,\n VersionLabel: version.toString(),\n PlatformArn: platformArn,\n OptionSettings: desiredEbConfig.OptionSettings\n }).promise();\n\n console.log(' Created Environment');\n await waitForEnvReady(config, false);\n } else if (!deploying) {\n // If we are deploying, the environment will be updated\n // at the same time we update the environment version\n const {\n toRemove,\n toUpdate\n } = await prepareUpdateEnvironment(api);\n\n if (api.verbose) {\n console.log('EB Config changes:');\n console.dir({\n toRemove,\n toUpdate\n });\n }\n\n if (toRemove.length > 0 || toUpdate.length > 0) {\n await waitForEnvReady(config, true);\n await beanstalk.updateEnvironment({\n EnvironmentName: environment,\n OptionSettings: toUpdate,\n OptionsToRemove: toRemove\n }).promise();\n console.log(' Updated Environment');\n await waitForEnvReady(config, true);\n }\n }\n\n const {\n ConfigurationSettings\n } = await beanstalk.describeConfigurationSettings({\n EnvironmentName: environment,\n ApplicationName: app\n }).promise();\n\n if (scalingConfigChanged(ConfigurationSettings[0].OptionSettings, config)) {\n logStep('=> Configuring scaling');\n await beanstalk.updateEnvironment({\n EnvironmentName: environment,\n OptionSettings: scalingConfig(config.app).OptionSettings\n }).promise();\n await waitForEnvReady(config, true);\n }\n}\n\nexport async function events(api) {\n const {\n environment\n } = names(api.getConfig());\n\n const {\n Events: envEvents\n } = await beanstalk.describeEvents({\n EnvironmentName: environment\n }).promise();\n\n console.log(envEvents.map(ev => `${ev.EventDate}: ${ev.Message}`).join('\\n'));\n}\n\nexport async function status(api) {\n const {\n environment\n } = names(api.getConfig());\n\n let result;\n\n try {\n result = await beanstalk.describeEnvironmentHealth({\n AttributeNames: [\n 'All'\n ],\n EnvironmentName: environment\n }).promise();\n } catch (e) {\n if (e.message.includes('No Environment found for EnvironmentName')) {\n console.log(' AWS Beanstalk environment does not exist');\n return;\n }\n\n throw e;\n }\n\n const {\n InstanceHealthList\n } = await beanstalk.describeInstancesHealth({\n AttributeNames: [\n 'All'\n ],\n EnvironmentName: environment\n }).promise();\n\n const {\n RequestCount,\n Duration,\n StatusCodes,\n Latency\n } = result.ApplicationMetrics;\n\n console.log(`Environment Status: ${result.Status}`);\n console.log(`Health Status: ${coloredStatusText(result.Color, result.HealthStatus)}`);\n if (result.Causes.length > 0) {\n console.log('Causes: ');\n result.Causes.forEach(cause => console.log(` ${cause}`));\n }\n console.log('');\n console.log(`=== Metrics For Last ${Duration || 'Unknown'} Minutes ===`);\n console.log(` Requests: ${RequestCount}`);\n if (StatusCodes) {\n console.log(' Status Codes');\n console.log(` 2xx: ${StatusCodes.Status2xx}`);\n console.log(` 3xx: ${StatusCodes.Status3xx}`);\n console.log(` 4xx: ${StatusCodes.Status4xx}`);\n console.log(` 5xx: ${StatusCodes.Status5xx}`);\n }\n if (Latency) {\n console.log(' Latency');\n console.log(` 99.9%: ${Latency.P999}`);\n console.log(` 99% : ${Latency.P99}`);\n console.log(` 95% : ${Latency.P95}`);\n console.log(` 90% : ${Latency.P90}`);\n console.log(` 85% : ${Latency.P85}`);\n console.log(` 75% : ${Latency.P75}`);\n console.log(` 50% : ${Latency.P50}`);\n console.log(` 10% : ${Latency.P10}`);\n }\n console.log('');\n console.log('=== Instances ===');\n InstanceHealthList.forEach((instance) => {\n console.log(` ${instance.InstanceId}: ${coloredStatusText(instance.Color, instance.HealthStatus)}`);\n });\n if (InstanceHealthList.length === 0) {\n console.log(' 0 Instances');\n }\n}\n\nexport async function ssl(api) {\n const config = api.getConfig();\n\n await waitForEnvReady(config, true);\n\n if (!config.app || !config.app.sslDomains) {\n logStep('=> Updating Beanstalk SSL Config');\n await updateSSLConfig(config);\n return;\n }\n\n logStep('=> Checking Certificate Status');\n\n const domains = config.app.sslDomains;\n const {\n CertificateSummaryList\n } = await acm.listCertificates().promise();\n let found = null;\n\n for (let i = 0; i < CertificateSummaryList.length; i++) {\n const {\n DomainName,\n CertificateArn\n } = CertificateSummaryList[i];\n\n if (DomainName === domains[0]) {\n const {\n Certificate\n } = await acm.describeCertificate({ // eslint-disable-line no-await-in-loop\n CertificateArn\n }).promise();\n\n if (domains.join(',') === Certificate.SubjectAlternativeNames.join(',')) {\n found = CertificateSummaryList[i];\n }\n }\n }\n\n let certificateArn;\n\n if (!found) {\n logStep('=> Requesting Certificate');\n\n const result = await acm.requestCertificate({\n DomainName: domains.shift(),\n SubjectAlternativeNames: domains.length > 0 ? domains : null\n }).promise();\n\n certificateArn = result.CertificateArn;\n }\n\n if (found) {\n certificateArn = found.CertificateArn;\n }\n\n let emailsProvided = false;\n let checks = 0;\n let certificate;\n\n /* eslint-disable no-await-in-loop */\n while (!emailsProvided && checks < 5) {\n const {\n Certificate\n } = await acm.describeCertificate({\n CertificateArn: certificateArn\n }).promise();\n const validationOptions = Certificate.DomainValidationOptions[0];\n\n if (typeof validationOptions.ValidationEmails === 'undefined') {\n emailsProvided = true;\n certificate = Certificate;\n } else if (validationOptions.ValidationEmails.length > 0 || checks === 6) {\n emailsProvided = true;\n certificate = Certificate;\n } else {\n checks += 1;\n\n await new Promise((resolve) => {\n setTimeout(resolve, 1000 * 10);\n });\n }\n }\n\n if (certificate.Status === 'PENDING_VALIDATION') {\n console.log('Certificate is pending validation.');\n certificate.DomainValidationOptions.forEach(({\n DomainName,\n ValidationEmails,\n ValidationDomain,\n ValidationStatus\n }) => {\n if (ValidationStatus === 'SUCCESS') {\n console.log(chalk.green(`${ValidationDomain || DomainName} has been verified`));\n return;\n }\n\n console.log(chalk.yellow(`${ValidationDomain || DomainName} is pending validation`));\n\n if (ValidationEmails) {\n console.log('Emails with instructions have been sent to:');\n\n ValidationEmails.forEach((email) => {\n console.log(` ${email}`);\n });\n }\n\n console.log('Run \"mup beanstalk ssl\" after you have verified the domains, or to check the verification status');\n });\n } else if (certificate.Status === 'ISSUED') {\n console.log(chalk.green('Certificate has been issued'));\n logStep('=> Updating Beanstalk SSL config');\n await updateSSLConfig(config, certificateArn);\n }\n}\n\nexport async function shell(api) {\n const {\n selected,\n description\n } = await pickInstance(api.getConfig(), api.getArgs()[2]);\n\n if (!selected) {\n console.log(description);\n console.log('Run \"mup beanstalk shell <instance id>\"');\n process.exitCode = 1;\n\n return;\n }\n\n const {\n sshOptions,\n removeSSHAccess\n } = await connectToInstance(api, selected, 'mup beanstalk shell');\n const conn = new Client();\n conn.on('ready', () => {\n conn.exec('sudo node /home/webapp/meteor-shell.js', {\n pty: true\n }, (err, stream) => {\n if (err) {\n throw err;\n }\n stream.on('close', async () => {\n conn.end();\n await removeSSHAccess();\n process.exit();\n });\n\n process.stdin.setRawMode(true);\n process.stdin.pipe(stream);\n\n stream.pipe(process.stdout);\n stream.stderr.pipe(process.stderr);\n stream.setWindow(process.stdout.rows, process.stdout.columns);\n\n process.stdout.on('resize', () => {\n stream.setWindow(process.stdout.rows, process.stdout.columns);\n });\n });\n }).connect(sshOptions);\n}\n\nexport async function debug(api) {\n const config = api.getConfig();\n const {\n selected,\n description\n } = await pickInstance(config, api.getArgs()[2]);\n\n if (!selected) {\n console.log(description);\n console.log('Run \"mup beanstalk debug <instance id>\"');\n process.exitCode = 1;\n\n return;\n }\n\n const {\n sshOptions,\n removeSSHAccess\n } = await connectToInstance(api, selected, 'mup beanstalk debug');\n\n const conn = new Client();\n conn.on('ready', async () => {\n const result = await executeSSHCommand(\n conn,\n 'sudo pkill -USR1 -u webapp -n node || sudo pkill -USR1 -u nodejs -n node'\n );\n\n if (api.verbose) {\n console.log(result.output);\n }\n\n const server = {\n ...sshOptions,\n pem: api.resolvePath(config.app.sshKey.privateKey)\n };\n\n let loggedConnection = false;\n\n api.forwardPort({\n server,\n localAddress: '0.0.0.0',\n localPort: 9229,\n remoteAddress: '127.0.0.1',\n remotePort: 9229,\n onError(error) {\n console.error(error);\n },\n onReady() {\n console.log('Connected to server');\n console.log('');\n console.log('Debugger listening on ws://127.0.0.1:9229');\n console.log('');\n console.log('To debug:');\n console.log('1. Open chrome://inspect in Chrome');\n console.log('2. Select \"Open dedicated DevTools for Node\"');\n console.log('3. Wait a minute while it connects and loads the app.');\n console.log(' When it is ready, the app\\'s files will appear in the Sources tab');\n console.log('');\n console.log('Warning: Do not use breakpoints when debugging a production server.');\n console.log('They will pause your server when hit, causing it to not handle methods or subscriptions.');\n console.log('Use logpoints or something else that does not pause the server');\n console.log('');\n console.log('The debugger will be enabled until the next time the app is restarted,');\n console.log('though only accessible while this command is running');\n },\n onConnection() {\n if (!loggedConnection) {\n // It isn't guaranteed the debugger is connected, but not many\n // other tools will try to connect to port 9229.\n console.log('');\n console.log('Detected by debugger');\n loggedConnection = true;\n }\n }\n });\n }).connect(sshOptions);\n\n process.on('SIGINT', async () => {\n await removeSSHAccess();\n process.exit();\n });\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,IAAA,GAAAD,OAAA;AACA,IAAAE,IAAA,GAAAF,OAAA;AAOA,IAAAG,aAAA,GAAAJ,sBAAA,CAAAC,OAAA;AACA,IAAAI,SAAA,GAAAJ,OAAA;AAWA,IAAAK,OAAA,GAAAC,uBAAA,CAAAN,OAAA;AACA,IAAAO,cAAA,GAAAP,OAAA;AAIA,IAAAQ,MAAA,GAAAR,OAAA;AA2BA,IAAAS,SAAA,GAAAT,OAAA;AAMA,IAAAU,YAAA,GAAAV,OAAA;AACA,IAAAW,SAAA,GAAAX,OAAA;AAOA,IAAAY,SAAA,GAAAZ,OAAA;AAGqB,SAAAa,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAR,wBAAAQ,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,OAAAC,cAAA,CAAAC,IAAA,CAAAhB,CAAA,EAAAc,CAAA,SAAAG,CAAA,GAAAP,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAG,CAAA,KAAAA,CAAA,CAAAV,GAAA,IAAAU,CAAA,CAAAC,GAAA,IAAAP,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAG,CAAA,IAAAT,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAe,GAAA,CAAAlB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAAA,SAAAvB,uBAAAe,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAI,UAAA,GAAAJ,CAAA,KAAAK,OAAA,EAAAL,CAAA;AAAA,SAAAmB,QAAAnB,CAAA,EAAAE,CAAA,QAAAC,CAAA,GAAAQ,MAAA,CAAAS,IAAA,CAAApB,CAAA,OAAAW,MAAA,CAAAU,qBAAA,QAAAC,CAAA,GAAAX,MAAA,CAAAU,qBAAA,CAAArB,CAAA,GAAAE,CAAA,KAAAoB,CAAA,GAAAA,CAAA,CAAAC,MAAA,WAAArB,CAAA,WAAAS,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAE,CAAA,EAAAsB,UAAA,OAAArB,CAAA,CAAAsB,IAAA,CAAAC,KAAA,CAAAvB,CAAA,EAAAmB,CAAA,YAAAnB,CAAA;AAAA,SAAAwB,cAAA3B,CAAA,aAAAE,CAAA,MAAAA,CAAA,GAAA0B,SAAA,CAAAC,MAAA,EAAA3B,CAAA,UAAAC,CAAA,WAAAyB,SAAA,CAAA1B,CAAA,IAAA0B,SAAA,CAAA1B,CAAA,QAAAA,CAAA,OAAAiB,OAAA,CAAAR,MAAA,CAAAR,CAAA,OAAA2B,OAAA,WAAA5B,CAAA,IAAA6B,eAAA,CAAA/B,CAAA,EAAAE,CAAA,EAAAC,CAAA,CAAAD,CAAA,SAAAS,MAAA,CAAAqB,yBAAA,GAAArB,MAAA,CAAAsB,gBAAA,CAAAjC,CAAA,EAAAW,MAAA,CAAAqB,yBAAA,CAAA7B,CAAA,KAAAgB,OAAA,CAAAR,MAAA,CAAAR,CAAA,GAAA2B,OAAA,WAAA5B,CAAA,IAAAS,MAAA,CAAAC,cAAA,CAAAZ,CAAA,EAAAE,CAAA,EAAAS,MAAA,CAAAE,wBAAA,CAAAV,CAAA,EAAAD,CAAA,iBAAAF,CAAA;AAAA,SAAA+B,gBAAA/B,CAAA,EAAAE,CAAA,EAAAC,CAAA,YAAAD,CAAA,GAAAgC,cAAA,CAAAhC,CAAA,MAAAF,CAAA,GAAAW,MAAA,CAAAC,cAAA,CAAAZ,CAAA,EAAAE,CAAA,IAAAiC,KAAA,EAAAhC,CAAA,EAAAqB,UAAA,MAAAY,YAAA,MAAAC,QAAA,UAAArC,CAAA,CAAAE,CAAA,IAAAC,CAAA,EAAAH,CAAA;AAAA,SAAAkC,eAAA/B,CAAA,QAAAc,CAAA,GAAAqB,YAAA,CAAAnC,CAAA,uCAAAc,CAAA,GAAAA,CAAA,GAAAA,CAAA;AAAA,SAAAqB,aAAAnC,CAAA,EAAAD,CAAA,2BAAAC,CAAA,KAAAA,CAAA,SAAAA,CAAA,MAAAH,CAAA,GAAAG,CAAA,CAAAoC,MAAA,CAAAC,WAAA,kBAAAxC,CAAA,QAAAiB,CAAA,GAAAjB,CAAA,CAAAgB,IAAA,CAAAb,CAAA,EAAAD,CAAA,uCAAAe,CAAA,SAAAA,CAAA,YAAAwB,SAAA,yEAAAvC,CAAA,GAAAwC,MAAA,GAAAC,MAAA,EAAAxC,CAAA;AAEd,eAAeyC,KAAKA,CAACC,GAAG,EAAE;EAC/B,MAAMC,MAAM,GAAGD,GAAG,CAACE,SAAS,CAAC,CAAC;EAC9B,MAAMC,SAAS,GAAGF,MAAM,CAACG,GAAG;EAE5B,MAAM;IACJC,MAAM,EAAEC,UAAU;IAClBF,GAAG,EAAEG,OAAO;IACZC,eAAe;IACfC,WAAW,EAAEC,eAAe;IAC5BC,iBAAiB;IACjBC,SAAS;IACTC,kBAAkB;IAClBC,WAAW,EAAEC,eAAe;IAC5BC,eAAe,EAAEC,mBAAmB;IACpCC,qBAAqB;IACrBC,uBAAuB;IACvBC;EACF,CAAC,GAAG,IAAAC,YAAK,EAACpB,MAAM,CAAC;EAEjB,IAAAqB,cAAO,EAAC,+BAA+B,CAAC;EACxC,IAAAA,cAAO,EAAC,eAAe,CAAC;;EAExB;EACA,MAAM;IACJC;EACF,CAAC,GAAG,MAAMC,OAAE,CAACC,WAAW,CAAC,CAAC,CAACC,OAAO,CAAC,CAAC;EAEpC,MAAMC,sBAAsB,GAAG,MAAM,IAAAC,yBAAkB,EAACL,OAAO,EAAEjB,UAAU,EAAEH,SAAS,CAAC0B,MAAM,CAAC;EAE9F,IAAIF,sBAAsB,EAAE;IAC1BG,OAAO,CAACC,GAAG,CAAC,kBAAkB,CAAC;EACjC;EAEA,IAAAT,cAAO,EAAC,uDAAuD,CAAC;;EAEhE;EACA,MAAM,IAAAU,uBAAgB,EAACxB,eAAe,EAAEyB,oBAAU,CAAC;EACnD,MAAM,IAAAC,kCAA2B,EAACjC,MAAM,EAAEO,eAAe,CAAC;EAC1D,MAAM,IAAA2B,6BAAsB,EAAClC,MAAM,EAAEO,eAAe,EAAE,CACpD,oDAAoD,EACpD,iEAAiE,EACjE,uDAAuD,EACvD,IAAGL,SAAS,CAACiC,gBAAgB,GAAG,CAAC,0DAA0D,CAAC,GAAG,EAAE,EAClG,CAAC;EACF,MAAM,IAAAC,sBAAe,EAACpC,MAAM,EAAEO,eAAe,EAAEA,eAAe,CAAC;;EAE/D;EACA,MAAM,IAAAwB,uBAAgB,EAACtB,eAAe,EAAED,qBAAW,CAAC;EACpD,MAAM,IAAA0B,6BAAsB,EAAClC,MAAM,EAAES,eAAe,EAAE,CACpD,wEAAwE,EACxE,iEAAiE,CAClE,CAAC;EAEF,IAAIP,SAAS,CAACiC,gBAAgB,EAAE;IAC9B,MAAME,SAAS,GAAG,MAAM,IAAAC,mBAAY,EAAC,CAAC;IACtC,MAAMC,MAAM,GAAG,IAAAC,+BAAqB,EAACH,SAAS,EAAEvB,eAAe,EAAEZ,SAAS,CAAC0B,MAAM,IAAI,WAAW,CAAC;IACjG,MAAMa,UAAU,GAAG,IAAAC,wBAAc,EAACL,SAAS,EAAErB,mBAAmB,CAAC;IAEjE,MAAM,IAAAe,uBAAgB,EAACf,mBAAmB,EAAED,yBAAe,EAAE,IAAI,CAAC;IAClE,MAAM,IAAA4B,iCAA0B,EAAC3B,mBAAmB,EAAEC,qBAAqB,EAAEsB,MAAM,CAAC;IACpF,MAAM,IAAAI,iCAA0B,EAAC3B,mBAAmB,EAAEE,uBAAuB,EAAEuB,UAAU,CAAC;EAC5F;;EAEA;EACA,MAAM;IACJG;EACF,CAAC,GAAG,MAAMC,cAAS,CAACC,oBAAoB,CAAC,CAAC,CAACrB,OAAO,CAAC,CAAC;EAEpD,IAAI,CAACmB,YAAY,CAACG,IAAI,CAAC5C,GAAG,IAAIA,GAAG,CAAC6C,eAAe,KAAK1C,OAAO,CAAC,EAAE;IAC9D,MAAM2C,MAAM,GAAG;MACbD,eAAe,EAAE1C,OAAO;MACxB4C,WAAW,EAAE,QAAQhD,SAAS,CAACiD,IAAI;IACrC,CAAC;IAED,MAAMN,cAAS,CAACO,iBAAiB,CAACH,MAAM,CAAC,CAACxB,OAAO,CAAC,CAAC;IACnDI,OAAO,CAACC,GAAG,CAAC,iCAAiC,CAAC;EAChD;EAEA,IAAI5B,SAAS,CAACiC,gBAAgB,EAAE;IAC9B,IAAAd,cAAO,EAAC,wCAAwC,CAAC;IAEjD,MAAMgC,cAAc,GAAG,IAAAC,2BAAoB,EAAChC,OAAO,EAAEZ,iBAAiB,CAAC;IACvE,MAAM6C,eAAe,GAAGF,cAAc,GACpCA,cAAc,CAACG,IAAI,GACnB,IAAAC,uBAAgB,EAAC/C,iBAAiB,CAAC;IACrC,MAAMkB,MAAM,GAAG1B,SAAS,CAAC0B,MAAM,IAAI,WAAW;IAC9C,MAAMS,SAAS,GAAG,MAAM,IAAAC,mBAAY,EAAC,CAAC;IACtC,MAAMC,MAAM,GAAG,IAAAmB,2BAAiB,EAACrB,SAAS,EAAEkB,eAAe,CAAC;IAE5D,MAAMI,kBAAkB,GAAG,MAAM,IAAAhC,yBAAkB,EAACL,OAAO,EAAEiC,eAAe,EAAErD,SAAS,CAAC0B,MAAM,CAAC;IAC/F,MAAM,IAAAgC,iCAA0B,EAACL,eAAe,EAAEhB,MAAM,CAAC;IAEzD,IAAIoB,kBAAkB,EAAE;MACtB9B,OAAO,CAACC,GAAG,CAAC,kCAAkC,CAAC;IACjD;IAEA,MAAMmB,MAAM,GAAG;MACbY,aAAa,EAAE,CACblD,SAAS;IAEb,CAAC;IAED,MAAM;MACJmD;IACF,CAAC,GAAG,MAAMC,eAAU,CAACC,cAAc,CAACf,MAAM,CAAC,CAACxB,OAAO,CAAC,CAAC;IAErD,IAAIqC,SAAS,CAAC/E,MAAM,KAAK,CAAC,EAAE;MAC1B,MAAMkF,YAAY,GAAG;QACnBT,IAAI,EAAE7C,SAAS;QACfuD,YAAY,EAAEX;MAChB,CAAC;MAED,MAAMQ,eAAU,CAACI,WAAW,CAACF,YAAY,CAAC,CAACxC,OAAO,CAAC,CAAC;MAEpDI,OAAO,CAACC,GAAG,CAAC,4BAA4B,CAAC;IAC3C;IAEA,MAAMsC,eAAe,GAAG,MAAM,IAAAC,wBAAiB,EAC7ClD,kBAAkB,EAClB,IAAAmD,4CAAkC,EAAC,CACrC,CAAC;IACD,IAAIF,eAAe,EAAE;MACnBvC,OAAO,CAACC,GAAG,CAAC,mCAAmC,CAAC;IAClD;IAEA,MAAMyC,WAAW,GAAG,MAAM,IAAAC,2BAAoB,EAAC5D,kBAAkB,EAAE,yCAAyC,EAAE6D,yBAAe,CAAC;IAE9H,IAAIF,WAAW,EAAE;MACf1C,OAAO,CAACC,GAAG,CAAC,4BAA4B,CAAC;IAC3C;IAEA,MAAM4C,MAAM,GAAG,IAAAC,+BAAqB,EAAC7D,eAAe,EAAEE,mBAAmB,EAAEqB,SAAS,EAAET,MAAM,CAAC;IAC7F,MAAMgD,aAAa,GAAG,MAAM,IAAAC,6BAAsB,EAACjE,kBAAkB,EAAE8D,MAAM,EAAErC,SAAS,CAAC;IAEzF,IAAIuC,aAAa,EAAE;MACjB/C,OAAO,CAACC,GAAG,CAAC,uCAAuC,CAAC;IACtD;EACF;AACF;AAEO,eAAegD,MAAMA,CAAC/E,GAAG,EAAE;EAChC,MAAMA,GAAG,CAACgF,UAAU,CAAC,iBAAiB,CAAC;EAEvC,MAAM/E,MAAM,GAAGD,GAAG,CAACE,SAAS,CAAC,CAAC;EAC9B,MAAM;IACJE,GAAG;IACHC,MAAM;IACN4E,YAAY;IACZnE;EACF,CAAC,GAAG,IAAAO,YAAK,EAACpB,MAAM,CAAC;EAGjB,MAAMiF,OAAO,GAAG,MAAM,IAAAC,wBAAc,EAACnF,GAAG,CAAC;EACzC,MAAMoF,WAAW,GAAGF,OAAO,GAAG,CAAC;;EAE/B;EACAjF,MAAM,CAACG,GAAG,CAACiF,YAAY,CAACC,aAAa,GAAGrF,MAAM,CAACG,GAAG,CAACiF,YAAY,CAACC,aAAa,IAC3E,IAAAC,mBAAY,EAACtF,MAAM,CAACG,GAAG,CAACoF,IAAI,EAAExF,GAAG,CAAC;EAEpC,MAAMyF,UAAU,GAAGzF,GAAG,CAAC0F,WAAW,CAACzF,MAAM,CAACG,GAAG,CAACiF,YAAY,CAACC,aAAa,EAAE,YAAY,CAAC;EACvF,MAAMK,SAAS,GAAG,IAAAC,oBAAa,EAACH,UAAU,EAAEzF,GAAG,CAAC6F,UAAU,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC;EAE7E,IAAIF,SAAS,EAAE;IACb,MAAM3F,GAAG,CAACgF,UAAU,CAAC,cAAc,CAAC;IACpC,IAAAc,0BAAW,EACT9F,GAAG,EACHI,GAAG,EACHgF,WAAW,EACXnF,MAAM,CAACG,GACT,CAAC;IACD,MAAM,IAAA2F,yBAAU,EAAC9F,MAAM,CAACG,GAAG,CAACiF,YAAY,CAACC,aAAa,EAAEtF,GAAG,CAAC;EAC9D;EAEA,IAAAsB,cAAO,EAAC,qBAAqB,CAAC;EAE9B,MAAM0E,GAAG,GAAG,GAAGf,YAAY,GAAGG,WAAW,EAAE;EAC3C,MAAM,IAAAa,eAAM,EAAChG,MAAM,CAACG,GAAG,EAAEC,MAAM,EAAE,GAAG4E,YAAY,GAAGG,WAAW,EAAE,EAAEK,UAAU,CAAC;EAE7E,IAAAnE,cAAO,EAAC,qBAAqB,CAAC;EAE9B,MAAMwB,cAAS,CAACoD,wBAAwB,CAAC;IACvCjD,eAAe,EAAE7C,GAAG;IACpB+F,YAAY,EAAEf,WAAW,CAACgB,QAAQ,CAAC,CAAC;IACpCjD,WAAW,EAAE,IAAAkD,+BAAwB,EAACrG,GAAG,EAAEC,MAAM,CAACG,GAAG,CAAC;IACtDkG,YAAY,EAAE;MACZC,QAAQ,EAAElG,MAAM;MAChBmG,KAAK,EAAER;IACT;EACF,CAAC,CAAC,CAACtE,OAAO,CAAC,CAAC;EAEZ,MAAM1B,GAAG,CAACgF,UAAU,CAAC,oBAAoB,CAAC;EAC1C,MAAM,IAAAyB,yBAAe,EAACxG,MAAM,EAAE,IAAI,CAAC;EAEnC,IAAAqB,cAAO,EAAC,0BAA0B,CAAC;EAEnC,MAAM;IACJoF,QAAQ;IACRC;EACF,CAAC,GAAG,MAAM,IAAAC,kCAAwB,EAAC5G,GAAG,CAAC;EAEvC,IAAIA,GAAG,CAAC6G,OAAO,EAAE;IACf/E,OAAO,CAACC,GAAG,CAAC,oBAAoB,CAAC;IACjCD,OAAO,CAACgF,GAAG,CAAC;MACVJ,QAAQ;MACRC;IACF,CAAC,CAAC;EACJ;EAEA,MAAM7D,cAAS,CAACiE,iBAAiB,CAAC;IAChCC,eAAe,EAAElG,WAAW;IAC5BqF,YAAY,EAAEf,WAAW,CAACgB,QAAQ,CAAC,CAAC;IACpCa,cAAc,EAAEN,QAAQ;IACxBO,eAAe,EAAER;EACnB,CAAC,CAAC,CAAChF,OAAO,CAAC,CAAC;EAEZ,MAAM,IAAA+E,yBAAe,EAACxG,MAAM,EAAE,IAAI,CAAC;EAEnC,MAAM;IACJkH;EACF,CAAC,GAAG,MAAMrE,cAAS,CAACsE,oBAAoB,CAAC;IACvCnE,eAAe,EAAE7C,GAAG;IACpBiH,gBAAgB,EAAE,CAACvG,WAAW;EAChC,CAAC,CAAC,CAACY,OAAO,CAAC,CAAC;EAEZ,MAAM1B,GAAG,CAACgF,UAAU,CAAC,iBAAiB,CAAC;EAEvC,MAAMhF,GAAG,CAACgF,UAAU,CAAC,eAAe,CAAC;;EAErC;EACA,MAAM;IACJmC,YAAY,EAAEG;EAChB,CAAC,GAAG,MAAMxE,cAAS,CAACsE,oBAAoB,CAAC;IACvCnE,eAAe,EAAE7C,GAAG;IACpBiH,gBAAgB,EAAE,CAACvG,WAAW;EAChC,CAAC,CAAC,CAACY,OAAO,CAAC,CAAC;EAEZ,IAAI0D,WAAW,CAACgB,QAAQ,CAAC,CAAC,KAAKkB,iBAAiB,CAAC,CAAC,CAAC,CAACnB,YAAY,EAAE;IAChErE,OAAO,CAACC,GAAG,CAACwF,cAAK,CAACC,KAAK,CAAC,qBAAqBL,YAAY,CAAC,CAAC,CAAC,CAACM,KAAK,EAAE,CAAC,CAAC;EACxE,CAAC,MAAM;IACL3F,OAAO,CAACC,GAAG,CAACwF,cAAK,CAACG,GAAG,iGAAiG,CAAC;IACvHC,OAAO,CAACC,QAAQ,GAAG,CAAC;EACtB;AACF;AAEO,eAAeC,IAAIA,CAAC7H,GAAG,EAAE;EAC9B,MAAM8H,WAAW,GAAG,MAAM,IAAAC,cAAO,EAAC/H,GAAG,EAAE,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,CAAC;EAE/E8H,WAAW,CAAC7I,OAAO,CAAC,CAAC;IACnB+I,QAAQ;IACRC;EACF,CAAC,KAAK;IACJnG,OAAO,CAACC,GAAG,CAAC,GAAGiG,QAAQ,GAAG,EAAEC,IAAI,CAAC,CAAC,CAAC,IAAIA,IAAI,CAAC,CAAC,CAAC,CAAC;EACjD,CAAC,CAAC;AACJ;AAEO,eAAeC,QAAQA,CAAClI,GAAG,EAAE;EAClC,MAAM8H,WAAW,GAAG,MAAM,IAAAK,6BAAsB,EAACnI,GAAG,CAAC;EACrD,IAAAsB,cAAO,EAAC,8BAA8B8G,IAAI,CAACC,SAAS,CAACP,WAAW,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC;AAClF;AAGO,eAAeQ,SAASA,CAACtI,GAAG,EAAE;EACnC,MAAM8H,WAAW,GAAG,MAAM,IAAAC,cAAO,EAAC/H,GAAG,EAAE,CAAC,iBAAiB,EAAE,kBAAkB,CAAC,CAAC;EAE/E8H,WAAW,CAAC7I,OAAO,CAAC,CAAC;IACnB+I,QAAQ;IACRC;EACF,CAAC,KAAK;IACJnG,OAAO,CAACC,GAAG,CAAC,GAAGiG,QAAQ,GAAG,EAAEC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpCnG,OAAO,CAACC,GAAG,CAAC,GAAGiG,QAAQ,GAAG,EAAEC,IAAI,CAAC,CAAC,CAAC,CAAC;EACtC,CAAC,CAAC;AACJ;AAEO,eAAeM,MAAMA,CAACvI,GAAG,EAAE;EAChC,MAAM8H,WAAW,GAAG,MAAM,IAAAC,cAAO,EAAC/H,GAAG,EAAE,CAAC,eAAe,EAAE,iBAAiB,CAAC,CAAC;EAE5E8H,WAAW,CAAC7I,OAAO,CAAC,CAAC;IACnBgJ,IAAI;IACJD;EACF,CAAC,KAAK;IACJlG,OAAO,CAACC,GAAG,CAAC,GAAGiG,QAAQ,GAAG,EAAEC,IAAI,CAAC,CAAC,CAAC,IAAIA,IAAI,CAAC,CAAC,CAAC,CAAC;EACjD,CAAC,CAAC;AACJ;AAEO,eAAeO,KAAKA,CAACxI,GAAG,EAAE;EAC/B,MAAMC,MAAM,GAAGD,GAAG,CAACE,SAAS,CAAC,CAAC;EAC9B,MAAM;IACJY;EACF,CAAC,GAAG,IAAAO,YAAK,EAACpB,MAAM,CAAC;EAEjB,IAAAqB,cAAO,EAAC,iBAAiB,CAAC;EAE1B,MAAM;IACJmH;EACF,CAAC,GAAG,MAAM3F,cAAS,CAAC4F,4BAA4B,CAAC;IAC/C1B,eAAe,EAAElG;EACnB,CAAC,CAAC,CAACY,OAAO,CAAC,CAAC;EAEZ,MAAMiH,gBAAgB,GAAGF,oBAAoB,CAACG,iBAAiB,CAAC,CAAC,CAAC,CAACnF,IAAI;EAEvE,MAAM;IACJoF,YAAY;IACZC;EACF,CAAC,GAAG7I,MAAM,CAACG,GAAG;EAEd,MAAM2I,gBAAW,CAACC,sBAAsB,CAAC;IACvCC,oBAAoB,EAAEN,gBAAgB;IACtCO,OAAO,EAAEJ,YAAY;IACrBK,OAAO,EAAEN,YAAY;IACrBO,eAAe,EAAEP;EACnB,CAAC,CAAC,CAACnH,OAAO,CAAC,CAAC;EAEZ,MAAM,IAAA2H,uBAAa,EAACpJ,MAAM,CAAC;AAC7B;AAEO,eAAeqJ,IAAIA,CAACtJ,GAAG,EAAE;EAC9B,MAAMC,MAAM,GAAGD,GAAG,CAACE,SAAS,CAAC,CAAC;EAC9B,MAAM;IACJY;EACF,CAAC,GAAG,IAAAO,YAAK,EAACpB,MAAM,CAAC;EAEjB,IAAAqB,cAAO,EAAC,iBAAiB,CAAC;EAE1B,MAAM;IACJmH;EACF,CAAC,GAAG,MAAM3F,cAAS,CAAC4F,4BAA4B,CAAC;IAC/C1B,eAAe,EAAElG;EACnB,CAAC,CAAC,CAACY,OAAO,CAAC,CAAC;EAEZ,MAAMiH,gBAAgB,GAAGF,oBAAoB,CAACG,iBAAiB,CAAC,CAAC,CAAC,CAACnF,IAAI;EAEvE,MAAMsF,gBAAW,CAACC,sBAAsB,CAAC;IACvCC,oBAAoB,EAAEN,gBAAgB;IACtCO,OAAO,EAAE,CAAC;IACVC,OAAO,EAAE,CAAC;IACVC,eAAe,EAAE;EACnB,CAAC,CAAC,CAAC1H,OAAO,CAAC,CAAC;EAEZ,MAAM,IAAA2H,uBAAa,EAACpJ,MAAM,EAAE,MAAM,CAAC;AACrC;AAEO,eAAesJ,OAAOA,CAACvJ,GAAG,EAAE;EACjC,MAAMC,MAAM,GAAGD,GAAG,CAACE,SAAS,CAAC,CAAC;EAC9B,MAAM;IACJY;EACF,CAAC,GAAG,IAAAO,YAAK,EAACpB,MAAM,CAAC;EAEjB,IAAAqB,cAAO,EAAC,mBAAmB,CAAC;EAE5B,MAAMwB,cAAS,CAAC0G,gBAAgB,CAAC;IAC/BxC,eAAe,EAAElG;EACnB,CAAC,CAAC,CAACY,OAAO,CAAC,CAAC;EAEZ,MAAM,IAAA+E,yBAAe,EAACxG,MAAM,EAAE,KAAK,CAAC;AACtC;AAEO,eAAewJ,KAAKA,CAACzJ,GAAG,EAAE;EAC/B,MAAMC,MAAM,GAAGD,GAAG,CAACE,SAAS,CAAC,CAAC;EAC9B,MAAM;IACJE,GAAG;IACHC;EACF,CAAC,GAAG,IAAAgB,YAAK,EAACpB,MAAM,CAAC;EAEjB,IAAAqB,cAAO,EAAC,yBAAyB,CAAC;EAClC,MAAM;IACJoI;EACF,CAAC,GAAG,MAAM,IAAAC,qBAAW,EAAC3J,GAAG,CAAC;EAC1B,MAAM4J,WAAW,GAAG,MAAM,IAAAC,wBAAc,EAAC7J,GAAG,CAAC;EAE7C,IAAAsB,cAAO,EAAC,0BAA0B,CAAC;EAEnC,MAAMwI,QAAQ,GAAG,EAAE;EACnB,KAAK,IAAI1L,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGsL,QAAQ,CAAC1K,MAAM,EAAEZ,CAAC,EAAE,EAAE;IACxC0L,QAAQ,CAAClL,IAAI,CAACkE,cAAS,CAACiH,wBAAwB,CAAC;MAC/C9G,eAAe,EAAE7C,GAAG;MACpB+F,YAAY,EAAEuD,QAAQ,CAACtL,CAAC,CAAC,CAACgI,QAAQ,CAAC,CAAC;MACpC4D,kBAAkB,EAAE;IACtB,CAAC,CAAC,CAACtI,OAAO,CAAC,CAAC,CAAC;EACf;EAEA,KAAK,IAAItD,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGwL,WAAW,CAAC5K,MAAM,EAAEZ,CAAC,EAAE,EAAE;IAC3C0L,QAAQ,CAAClL,IAAI,CAAC4C,OAAE,CAACyI,YAAY,CAAC;MAC5BC,MAAM,EAAE7J,MAAM;MACd8J,GAAG,EAAE,OAAOP,WAAW,CAACxL,CAAC,CAAC;IAC5B,CAAC,CAAC,CAACsD,OAAO,CAAC,CAAC,CAAC;EACf;;EAEA;;EAEA,MAAM0I,OAAO,CAACC,GAAG,CAACP,QAAQ,CAAC;AAC7B;AAEO,eAAeQ,QAAQA,CAACtK,GAAG,EAAE;EAClC,MAAMC,MAAM,GAAGD,GAAG,CAACE,SAAS,CAAC,CAAC;EAC9B,MAAM;IACJE,GAAG;IACHU,WAAW;IACXT;EACF,CAAC,GAAG,IAAAgB,YAAK,EAACpB,MAAM,CAAC;EACjB,MAAMsK,SAAS,GAAG,CAAC,CAACvK,GAAG,CAACwK,cAAc,CAACxH,IAAI,CAACyH,KAAK,IAAIA,KAAK,CAACrH,IAAI,KAAK,kBAAkB,CAAC;EAEvF,IAAA9B,cAAO,EAAC,+BAA+B,CAAC;EACxC,IAAAA,cAAO,EAAC,sCAAsC,CAAC;;EAE/C;EACA,MAAM;IACJ6F;EACF,CAAC,GAAG,MAAMrE,cAAS,CAACsE,oBAAoB,CAAC;IACvCnE,eAAe,EAAE7C,GAAG;IACpBiH,gBAAgB,EAAE,CAACvG,WAAW;EAChC,CAAC,CAAC,CAACY,OAAO,CAAC,CAAC;EAEZ,IAAI,CAACyF,YAAY,CAACnE,IAAI,CAAC0H,GAAG,IAAIA,GAAG,CAACC,MAAM,KAAK,YAAY,CAAC,EAAE;IAC1D,MAAMC,eAAe,GAAG,IAAAC,6BAAmB,EACzC7K,GAAG,CAACE,SAAS,CAAC,CAAC,EACfF,GAAG,CAAC8K,WAAW,CAAC,CAAC,EACjB7K,MAAM,CAACG,GAAG,CAAC2K,WAAW,GAAG,CAAC,GAAG,KAC/B,CAAC;IAED,IAAI9K,MAAM,CAACG,GAAG,CAAC2K,WAAW,EAAE;MAC1B,MAAMC,UAAU,GAAG,IAAAC,0BAAa,EAAChL,MAAM,CAACG,GAAG,CAACsK,GAAG,EAAE1K,GAAG,CAAC8K,WAAW,CAAC,CAAC,CAAC;MAEnE,MAAM,IAAAI,qBAAa,EAAC7K,MAAM,EAAE,CAAC,EAAE2K,UAAU,CAAC;IAC5C;IAEA,MAAMG,WAAW,GAAG,MAAM,IAAAC,wBAAiB,EAACpL,GAAG,CAACE,SAAS,CAAC,CAAC,CAACE,GAAG,CAACiL,qBAAqB,CAAC;IAEtF,MAAM,CAACnG,OAAO,CAAC,GAAG,MAAM,IAAAoG,oBAAU,EAACtL,GAAG,CAAC;IACvC,MAAM8C,cAAS,CAACyI,iBAAiB,CAAC;MAChCtI,eAAe,EAAE7C,GAAG;MACpB4G,eAAe,EAAElG,WAAW;MAC5BqC,WAAW,EAAE,mBAAmBlD,MAAM,CAACG,GAAG,CAACgD,IAAI,wBAAwB;MACvE+C,YAAY,EAAEjB,OAAO,CAACkB,QAAQ,CAAC,CAAC;MAChCoF,WAAW,EAAEL,WAAW;MACxBlE,cAAc,EAAE2D,eAAe,CAAC3D;IAClC,CAAC,CAAC,CAACvF,OAAO,CAAC,CAAC;IAEZI,OAAO,CAACC,GAAG,CAAC,sBAAsB,CAAC;IACnC,MAAM,IAAA0E,yBAAe,EAACxG,MAAM,EAAE,KAAK,CAAC;EACtC,CAAC,MAAM,IAAI,CAACsK,SAAS,EAAE;IACrB;IACA;IACA,MAAM;MACJ7D,QAAQ;MACRC;IACF,CAAC,GAAG,MAAM,IAAAC,kCAAwB,EAAC5G,GAAG,CAAC;IAEvC,IAAIA,GAAG,CAAC6G,OAAO,EAAE;MACf/E,OAAO,CAACC,GAAG,CAAC,oBAAoB,CAAC;MACjCD,OAAO,CAACgF,GAAG,CAAC;QACVJ,QAAQ;QACRC;MACF,CAAC,CAAC;IACJ;IAEA,IAAID,QAAQ,CAAC1H,MAAM,GAAG,CAAC,IAAI2H,QAAQ,CAAC3H,MAAM,GAAG,CAAC,EAAE;MAC9C,MAAM,IAAAyH,yBAAe,EAACxG,MAAM,EAAE,IAAI,CAAC;MACnC,MAAM6C,cAAS,CAACiE,iBAAiB,CAAC;QAChCC,eAAe,EAAElG,WAAW;QAC5BmG,cAAc,EAAEN,QAAQ;QACxBO,eAAe,EAAER;MACnB,CAAC,CAAC,CAAChF,OAAO,CAAC,CAAC;MACZI,OAAO,CAACC,GAAG,CAAC,uBAAuB,CAAC;MACpC,MAAM,IAAA0E,yBAAe,EAACxG,MAAM,EAAE,IAAI,CAAC;IACrC;EACF;EAEA,MAAM;IACJwL;EACF,CAAC,GAAG,MAAM3I,cAAS,CAAC4I,6BAA6B,CAAC;IAChD1E,eAAe,EAAElG,WAAW;IAC5BmC,eAAe,EAAE7C;EACnB,CAAC,CAAC,CAACsB,OAAO,CAAC,CAAC;EAEZ,IAAI,IAAAiK,8BAAoB,EAACF,qBAAqB,CAAC,CAAC,CAAC,CAACxE,cAAc,EAAEhH,MAAM,CAAC,EAAE;IACzE,IAAAqB,cAAO,EAAC,wBAAwB,CAAC;IACjC,MAAMwB,cAAS,CAACiE,iBAAiB,CAAC;MAChCC,eAAe,EAAElG,WAAW;MAC5BmG,cAAc,EAAE,IAAA2E,uBAAa,EAAC3L,MAAM,CAACG,GAAG,CAAC,CAAC6G;IAC5C,CAAC,CAAC,CAACvF,OAAO,CAAC,CAAC;IACZ,MAAM,IAAA+E,yBAAe,EAACxG,MAAM,EAAE,IAAI,CAAC;EACrC;AACF;AAEO,eAAe4L,MAAMA,CAAC7L,GAAG,EAAE;EAChC,MAAM;IACJc;EACF,CAAC,GAAG,IAAAO,YAAK,EAACrB,GAAG,CAACE,SAAS,CAAC,CAAC,CAAC;EAE1B,MAAM;IACJ4L,MAAM,EAAEC;EACV,CAAC,GAAG,MAAMjJ,cAAS,CAACkJ,cAAc,CAAC;IACjChF,eAAe,EAAElG;EACnB,CAAC,CAAC,CAACY,OAAO,CAAC,CAAC;EAEZI,OAAO,CAACC,GAAG,CAACgK,SAAS,CAACE,GAAG,CAACC,EAAE,IAAI,GAAGA,EAAE,CAACC,SAAS,KAAKD,EAAE,CAACE,OAAO,EAAE,CAAC,CAACC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC/E;AAEO,eAAeC,MAAMA,CAACtM,GAAG,EAAE;EAChC,MAAM;IACJc;EACF,CAAC,GAAG,IAAAO,YAAK,EAACrB,GAAG,CAACE,SAAS,CAAC,CAAC,CAAC;EAE1B,IAAIqM,MAAM;EAEV,IAAI;IACFA,MAAM,GAAG,MAAMzJ,cAAS,CAAC0J,yBAAyB,CAAC;MACjDC,cAAc,EAAE,CACd,KAAK,CACN;MACDzF,eAAe,EAAElG;IACnB,CAAC,CAAC,CAACY,OAAO,CAAC,CAAC;EACd,CAAC,CAAC,OAAOvE,CAAC,EAAE;IACV,IAAIA,CAAC,CAACuP,OAAO,CAACC,QAAQ,CAAC,0CAA0C,CAAC,EAAE;MAClE7K,OAAO,CAACC,GAAG,CAAC,2CAA2C,CAAC;MACxD;IACF;IAEA,MAAM5E,CAAC;EACT;EAEA,MAAM;IACJyP;EACF,CAAC,GAAG,MAAM9J,cAAS,CAAC+J,uBAAuB,CAAC;IAC1CJ,cAAc,EAAE,CACd,KAAK,CACN;IACDzF,eAAe,EAAElG;EACnB,CAAC,CAAC,CAACY,OAAO,CAAC,CAAC;EAEZ,MAAM;IACJoL,YAAY;IACZC,QAAQ;IACRC,WAAW;IACXC;EACF,CAAC,GAAGV,MAAM,CAACW,kBAAkB;EAE7BpL,OAAO,CAACC,GAAG,CAAC,uBAAuBwK,MAAM,CAAC5B,MAAM,EAAE,CAAC;EACnD7I,OAAO,CAACC,GAAG,CAAC,kBAAkB,IAAAoL,wBAAiB,EAACZ,MAAM,CAACa,KAAK,EAAEb,MAAM,CAACc,YAAY,CAAC,EAAE,CAAC;EACrF,IAAId,MAAM,CAACe,MAAM,CAACtO,MAAM,GAAG,CAAC,EAAE;IAC5B8C,OAAO,CAACC,GAAG,CAAC,UAAU,CAAC;IACvBwK,MAAM,CAACe,MAAM,CAACrO,OAAO,CAACsO,KAAK,IAAIzL,OAAO,CAACC,GAAG,CAAC,KAAKwL,KAAK,EAAE,CAAC,CAAC;EAC3D;EACAzL,OAAO,CAACC,GAAG,CAAC,EAAE,CAAC;EACfD,OAAO,CAACC,GAAG,CAAC,wBAAwBgL,QAAQ,IAAI,SAAS,cAAc,CAAC;EACxEjL,OAAO,CAACC,GAAG,CAAC,eAAe+K,YAAY,EAAE,CAAC;EAC1C,IAAIE,WAAW,EAAE;IACflL,OAAO,CAACC,GAAG,CAAC,gBAAgB,CAAC;IAC7BD,OAAO,CAACC,GAAG,CAAC,YAAYiL,WAAW,CAACQ,SAAS,EAAE,CAAC;IAChD1L,OAAO,CAACC,GAAG,CAAC,YAAYiL,WAAW,CAACS,SAAS,EAAE,CAAC;IAChD3L,OAAO,CAACC,GAAG,CAAC,YAAYiL,WAAW,CAACU,SAAS,EAAE,CAAC;IAChD5L,OAAO,CAACC,GAAG,CAAC,YAAYiL,WAAW,CAACW,SAAS,EAAE,CAAC;EAClD;EACA,IAAIV,OAAO,EAAE;IACXnL,OAAO,CAACC,GAAG,CAAC,WAAW,CAAC;IACxBD,OAAO,CAACC,GAAG,CAAC,cAAckL,OAAO,CAACW,IAAI,EAAE,CAAC;IACzC9L,OAAO,CAACC,GAAG,CAAC,cAAckL,OAAO,CAACY,GAAG,EAAE,CAAC;IACxC/L,OAAO,CAACC,GAAG,CAAC,cAAckL,OAAO,CAACa,GAAG,EAAE,CAAC;IACxChM,OAAO,CAACC,GAAG,CAAC,cAAckL,OAAO,CAACc,GAAG,EAAE,CAAC;IACxCjM,OAAO,CAACC,GAAG,CAAC,cAAckL,OAAO,CAACe,GAAG,EAAE,CAAC;IACxClM,OAAO,CAACC,GAAG,CAAC,cAAckL,OAAO,CAACgB,GAAG,EAAE,CAAC;IACxCnM,OAAO,CAACC,GAAG,CAAC,cAAckL,OAAO,CAACiB,GAAG,EAAE,CAAC;IACxCpM,OAAO,CAACC,GAAG,CAAC,cAAckL,OAAO,CAACkB,GAAG,EAAE,CAAC;EAC1C;EACArM,OAAO,CAACC,GAAG,CAAC,EAAE,CAAC;EACfD,OAAO,CAACC,GAAG,CAAC,mBAAmB,CAAC;EAChC6K,kBAAkB,CAAC3N,OAAO,CAAE+I,QAAQ,IAAK;IACvClG,OAAO,CAACC,GAAG,CAAC,KAAKiG,QAAQ,CAACoG,UAAU,KAAK,IAAAjB,wBAAiB,EAACnF,QAAQ,CAACoF,KAAK,EAAEpF,QAAQ,CAACqF,YAAY,CAAC,EAAE,CAAC;EACtG,CAAC,CAAC;EACF,IAAIT,kBAAkB,CAAC5N,MAAM,KAAK,CAAC,EAAE;IACnC8C,OAAO,CAACC,GAAG,CAAC,eAAe,CAAC;EAC9B;AACF;AAEO,eAAesM,GAAGA,CAACrO,GAAG,EAAE;EAC7B,MAAMC,MAAM,GAAGD,GAAG,CAACE,SAAS,CAAC,CAAC;EAE9B,MAAM,IAAAuG,yBAAe,EAACxG,MAAM,EAAE,IAAI,CAAC;EAEnC,IAAI,CAACA,MAAM,CAACG,GAAG,IAAI,CAACH,MAAM,CAACG,GAAG,CAACkO,UAAU,EAAE;IACzC,IAAAhN,cAAO,EAAC,kCAAkC,CAAC;IAC3C,MAAM,IAAAiN,qBAAe,EAACtO,MAAM,CAAC;IAC7B;EACF;EAEA,IAAAqB,cAAO,EAAC,gCAAgC,CAAC;EAEzC,MAAMkN,OAAO,GAAGvO,MAAM,CAACG,GAAG,CAACkO,UAAU;EACrC,MAAM;IACJG;EACF,CAAC,GAAG,MAAMC,QAAG,CAACC,gBAAgB,CAAC,CAAC,CAACjN,OAAO,CAAC,CAAC;EAC1C,IAAIkN,KAAK,GAAG,IAAI;EAEhB,KAAK,IAAIxQ,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGqQ,sBAAsB,CAACzP,MAAM,EAAEZ,CAAC,EAAE,EAAE;IACtD,MAAM;MACJyQ,UAAU;MACVC;IACF,CAAC,GAAGL,sBAAsB,CAACrQ,CAAC,CAAC;IAE7B,IAAIyQ,UAAU,KAAKL,OAAO,CAAC,CAAC,CAAC,EAAE;MAC7B,MAAM;QACJO;MACF,CAAC,GAAG,MAAML,QAAG,CAACM,mBAAmB,CAAC;QAAE;QAClCF;MACF,CAAC,CAAC,CAACpN,OAAO,CAAC,CAAC;MAEZ,IAAI8M,OAAO,CAACnC,IAAI,CAAC,GAAG,CAAC,KAAK0C,WAAW,CAACE,uBAAuB,CAAC5C,IAAI,CAAC,GAAG,CAAC,EAAE;QACvEuC,KAAK,GAAGH,sBAAsB,CAACrQ,CAAC,CAAC;MACnC;IACF;EACF;EAEA,IAAI8Q,cAAc;EAElB,IAAI,CAACN,KAAK,EAAE;IACV,IAAAtN,cAAO,EAAC,2BAA2B,CAAC;IAEpC,MAAMiL,MAAM,GAAG,MAAMmC,QAAG,CAACS,kBAAkB,CAAC;MAC1CN,UAAU,EAAEL,OAAO,CAACY,KAAK,CAAC,CAAC;MAC3BH,uBAAuB,EAAET,OAAO,CAACxP,MAAM,GAAG,CAAC,GAAGwP,OAAO,GAAG;IAC1D,CAAC,CAAC,CAAC9M,OAAO,CAAC,CAAC;IAEZwN,cAAc,GAAG3C,MAAM,CAACuC,cAAc;EACxC;EAEA,IAAIF,KAAK,EAAE;IACTM,cAAc,GAAGN,KAAK,CAACE,cAAc;EACvC;EAEA,IAAIO,cAAc,GAAG,KAAK;EAC1B,IAAIC,MAAM,GAAG,CAAC;EACd,IAAIC,WAAW;;EAEf;EACA,OAAO,CAACF,cAAc,IAAIC,MAAM,GAAG,CAAC,EAAE;IACpC,MAAM;MACJP;IACF,CAAC,GAAG,MAAML,QAAG,CAACM,mBAAmB,CAAC;MAChCF,cAAc,EAAEI;IAClB,CAAC,CAAC,CAACxN,OAAO,CAAC,CAAC;IACZ,MAAM8N,iBAAiB,GAAGT,WAAW,CAACU,uBAAuB,CAAC,CAAC,CAAC;IAEhE,IAAI,OAAOD,iBAAiB,CAACE,gBAAgB,KAAK,WAAW,EAAE;MAC7DL,cAAc,GAAG,IAAI;MACrBE,WAAW,GAAGR,WAAW;IAC3B,CAAC,MAAM,IAAIS,iBAAiB,CAACE,gBAAgB,CAAC1Q,MAAM,GAAG,CAAC,IAAIsQ,MAAM,KAAK,CAAC,EAAE;MACxED,cAAc,GAAG,IAAI;MACrBE,WAAW,GAAGR,WAAW;IAC3B,CAAC,MAAM;MACLO,MAAM,IAAI,CAAC;MAEX,MAAM,IAAIlF,OAAO,CAAEuF,OAAO,IAAK;QAC7BC,UAAU,CAACD,OAAO,EAAE,IAAI,GAAG,EAAE,CAAC;MAChC,CAAC,CAAC;IACJ;EACF;EAEA,IAAIJ,WAAW,CAAC5E,MAAM,KAAK,oBAAoB,EAAE;IAC/C7I,OAAO,CAACC,GAAG,CAAC,oCAAoC,CAAC;IACjDwN,WAAW,CAACE,uBAAuB,CAACxQ,OAAO,CAAC,CAAC;MAC3C4P,UAAU;MACVa,gBAAgB;MAChBG,gBAAgB;MAChBC;IACF,CAAC,KAAK;MACJ,IAAIA,gBAAgB,KAAK,SAAS,EAAE;QAClChO,OAAO,CAACC,GAAG,CAACwF,cAAK,CAACC,KAAK,CAAC,GAAGqI,gBAAgB,IAAIhB,UAAU,oBAAoB,CAAC,CAAC;QAC/E;MACF;MAEA/M,OAAO,CAACC,GAAG,CAACwF,cAAK,CAACwI,MAAM,CAAC,GAAGF,gBAAgB,IAAIhB,UAAU,wBAAwB,CAAC,CAAC;MAEpF,IAAIa,gBAAgB,EAAE;QACpB5N,OAAO,CAACC,GAAG,CAAC,6CAA6C,CAAC;QAE1D2N,gBAAgB,CAACzQ,OAAO,CAAE+Q,KAAK,IAAK;UAClClO,OAAO,CAACC,GAAG,CAAC,KAAKiO,KAAK,EAAE,CAAC;QAC3B,CAAC,CAAC;MACJ;MAEAlO,OAAO,CAACC,GAAG,CAAC,kGAAkG,CAAC;IACjH,CAAC,CAAC;EACJ,CAAC,MAAM,IAAIwN,WAAW,CAAC5E,MAAM,KAAK,QAAQ,EAAE;IAC1C7I,OAAO,CAACC,GAAG,CAACwF,cAAK,CAACC,KAAK,CAAC,6BAA6B,CAAC,CAAC;IACvD,IAAAlG,cAAO,EAAC,kCAAkC,CAAC;IAC3C,MAAM,IAAAiN,qBAAe,EAACtO,MAAM,EAAEiP,cAAc,CAAC;EAC/C;AACF;AAEO,eAAee,KAAKA,CAACjQ,GAAG,EAAE;EAC/B,MAAM;IACJkQ,QAAQ;IACRC;EACF,CAAC,GAAG,MAAM,IAAAC,mBAAY,EAACpQ,GAAG,CAACE,SAAS,CAAC,CAAC,EAAEF,GAAG,CAACqQ,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;EAEzD,IAAI,CAACH,QAAQ,EAAE;IACbpO,OAAO,CAACC,GAAG,CAACoO,WAAW,CAAC;IACxBrO,OAAO,CAACC,GAAG,CAAC,yCAAyC,CAAC;IACtD4F,OAAO,CAACC,QAAQ,GAAG,CAAC;IAEpB;EACF;EAEA,MAAM;IACJ0I,UAAU;IACVC;EACF,CAAC,GAAG,MAAM,IAAAC,wBAAiB,EAACxQ,GAAG,EAAEkQ,QAAQ,EAAE,qBAAqB,CAAC;EACjE,MAAMO,IAAI,GAAG,IAAIC,WAAM,CAAC,CAAC;EACzBD,IAAI,CAACE,EAAE,CAAC,OAAO,EAAE,MAAM;IACrBF,IAAI,CAACG,IAAI,CAAC,wCAAwC,EAAE;MAClDC,GAAG,EAAE;IACP,CAAC,EAAE,CAACC,GAAG,EAAEC,MAAM,KAAK;MAClB,IAAID,GAAG,EAAE;QACP,MAAMA,GAAG;MACX;MACAC,MAAM,CAACJ,EAAE,CAAC,OAAO,EAAE,YAAY;QAC7BF,IAAI,CAACO,GAAG,CAAC,CAAC;QACV,MAAMT,eAAe,CAAC,CAAC;QACvB5I,OAAO,CAACsJ,IAAI,CAAC,CAAC;MAChB,CAAC,CAAC;MAEFtJ,OAAO,CAACuJ,KAAK,CAACC,UAAU,CAAC,IAAI,CAAC;MAC9BxJ,OAAO,CAACuJ,KAAK,CAACE,IAAI,CAACL,MAAM,CAAC;MAE1BA,MAAM,CAACK,IAAI,CAACzJ,OAAO,CAAC0J,MAAM,CAAC;MAC3BN,MAAM,CAACO,MAAM,CAACF,IAAI,CAACzJ,OAAO,CAAC2J,MAAM,CAAC;MAClCP,MAAM,CAACQ,SAAS,CAAC5J,OAAO,CAAC0J,MAAM,CAACG,IAAI,EAAE7J,OAAO,CAAC0J,MAAM,CAACI,OAAO,CAAC;MAE7D9J,OAAO,CAAC0J,MAAM,CAACV,EAAE,CAAC,QAAQ,EAAE,MAAM;QAChCI,MAAM,CAACQ,SAAS,CAAC5J,OAAO,CAAC0J,MAAM,CAACG,IAAI,EAAE7J,OAAO,CAAC0J,MAAM,CAACI,OAAO,CAAC;MAC/D,CAAC,CAAC;IACJ,CAAC,CAAC;EACJ,CAAC,CAAC,CAACC,OAAO,CAACpB,UAAU,CAAC;AACxB;AAEO,eAAeqB,KAAKA,CAAC3R,GAAG,EAAE;EAC/B,MAAMC,MAAM,GAAGD,GAAG,CAACE,SAAS,CAAC,CAAC;EAC9B,MAAM;IACJgQ,QAAQ;IACRC;EACF,CAAC,GAAG,MAAM,IAAAC,mBAAY,EAACnQ,MAAM,EAAED,GAAG,CAACqQ,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;EAEhD,IAAI,CAACH,QAAQ,EAAE;IACbpO,OAAO,CAACC,GAAG,CAACoO,WAAW,CAAC;IACxBrO,OAAO,CAACC,GAAG,CAAC,yCAAyC,CAAC;IACtD4F,OAAO,CAACC,QAAQ,GAAG,CAAC;IAEpB;EACF;EAEA,MAAM;IACJ0I,UAAU;IACVC;EACF,CAAC,GAAG,MAAM,IAAAC,wBAAiB,EAACxQ,GAAG,EAAEkQ,QAAQ,EAAE,qBAAqB,CAAC;EAEjE,MAAMO,IAAI,GAAG,IAAIC,WAAM,CAAC,CAAC;EACzBD,IAAI,CAACE,EAAE,CAAC,OAAO,EAAE,YAAY;IAC3B,MAAMpE,MAAM,GAAG,MAAM,IAAAqF,wBAAiB,EACpCnB,IAAI,EACJ,0EACF,CAAC;IAED,IAAIzQ,GAAG,CAAC6G,OAAO,EAAE;MACf/E,OAAO,CAACC,GAAG,CAACwK,MAAM,CAACsF,MAAM,CAAC;IAC5B;IAEA,MAAMC,MAAM,GAAAhT,aAAA,CAAAA,aAAA,KACPwR,UAAU;MACbyB,GAAG,EAAE/R,GAAG,CAAC0F,WAAW,CAACzF,MAAM,CAACG,GAAG,CAAC4R,MAAM,CAACC,UAAU;IAAC,EACnD;IAED,IAAIC,gBAAgB,GAAG,KAAK;IAE5BlS,GAAG,CAACmS,WAAW,CAAC;MACdL,MAAM;MACNM,YAAY,EAAE,SAAS;MACvBC,SAAS,EAAE,IAAI;MACfC,aAAa,EAAE,WAAW;MAC1BC,UAAU,EAAE,IAAI;MAChBC,OAAOA,CAACC,KAAK,EAAE;QACb3Q,OAAO,CAAC2Q,KAAK,CAACA,KAAK,CAAC;MACtB,CAAC;MACDC,OAAOA,CAAA,EAAG;QACR5Q,OAAO,CAACC,GAAG,CAAC,qBAAqB,CAAC;QAClCD,OAAO,CAACC,GAAG,CAAC,EAAE,CAAC;QACfD,OAAO,CAACC,GAAG,CAAC,2CAA2C,CAAC;QACxDD,OAAO,CAACC,GAAG,CAAC,EAAE,CAAC;QACfD,OAAO,CAACC,GAAG,CAAC,WAAW,CAAC;QACxBD,OAAO,CAACC,GAAG,CAAC,oCAAoC,CAAC;QACjDD,OAAO,CAACC,GAAG,CAAC,8CAA8C,CAAC;QAC3DD,OAAO,CAACC,GAAG,CAAC,uDAAuD,CAAC;QACpED,OAAO,CAACC,GAAG,CAAC,sEAAsE,CAAC;QACnFD,OAAO,CAACC,GAAG,CAAC,EAAE,CAAC;QACfD,OAAO,CAACC,GAAG,CAAC,qEAAqE,CAAC;QAClFD,OAAO,CAACC,GAAG,CAAC,0FAA0F,CAAC;QACvGD,OAAO,CAACC,GAAG,CAAC,gEAAgE,CAAC;QAC7ED,OAAO,CAACC,GAAG,CAAC,EAAE,CAAC;QACfD,OAAO,CAACC,GAAG,CAAC,wEAAwE,CAAC;QACrFD,OAAO,CAACC,GAAG,CAAC,sDAAsD,CAAC;MACrE,CAAC;MACD4Q,YAAYA,CAAA,EAAG;QACb,IAAI,CAACT,gBAAgB,EAAE;UACrB;UACA;UACApQ,OAAO,CAACC,GAAG,CAAC,EAAE,CAAC;UACfD,OAAO,CAACC,GAAG,CAAC,sBAAsB,CAAC;UACnCmQ,gBAAgB,GAAG,IAAI;QACzB;MACF;IACF,CAAC,CAAC;EACJ,CAAC,CAAC,CAACR,OAAO,CAACpB,UAAU,CAAC;EAEtB3I,OAAO,CAACgJ,EAAE,CAAC,QAAQ,EAAE,YAAY;IAC/B,MAAMJ,eAAe,CAAC,CAAC;IACvB5I,OAAO,CAACsJ,IAAI,CAAC,CAAC;EAChB,CAAC,CAAC;AACJ","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"command-handlers.js","sourceRoot":"","sources":["../src/command-handlers.ts"],"names":[],"mappings":"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"}
|
package/lib/commands.js
CHANGED
|
@@ -1,118 +1,151 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
5
17
|
});
|
|
6
|
-
|
|
7
|
-
var
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
36
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
37
|
+
};
|
|
38
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
+
exports.debug = exports.shell = exports.status = exports.reconfig = exports.ssl = exports.clean = exports.events = exports.restart = exports.stop = exports.start = exports.logsEb = exports.logsNginx = exports.fullLogs = exports.logs = exports.deploy = exports.setup = void 0;
|
|
40
|
+
const commandHandlers = __importStar(require("./command-handlers"));
|
|
41
|
+
const aws_1 = __importDefault(require("./aws"));
|
|
12
42
|
let prepared = false;
|
|
13
43
|
function prepare(commandHandler) {
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
44
|
+
return function handler(api) {
|
|
45
|
+
if (!prepared) {
|
|
46
|
+
(0, aws_1.default)(api.getConfig().app);
|
|
47
|
+
prepared = true;
|
|
48
|
+
}
|
|
49
|
+
return commandHandler(api);
|
|
50
|
+
};
|
|
21
51
|
}
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
};
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
};
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
};
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
};
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
52
|
+
exports.setup = {
|
|
53
|
+
description: 'Prepare AWS to deploy app',
|
|
54
|
+
handler: prepare(commandHandlers.setup)
|
|
55
|
+
};
|
|
56
|
+
exports.deploy = {
|
|
57
|
+
description: 'Deploy app to AWS Elastic Beanstalk',
|
|
58
|
+
builder(subYargs) {
|
|
59
|
+
return subYargs.option('cached-build', {
|
|
60
|
+
description: 'Use build from previous deploy',
|
|
61
|
+
boolean: true
|
|
62
|
+
});
|
|
63
|
+
},
|
|
64
|
+
handler: commandHandlers.deploy
|
|
65
|
+
};
|
|
66
|
+
exports.logs = {
|
|
67
|
+
description: 'View app\'s logs',
|
|
68
|
+
builder(yargs) {
|
|
69
|
+
return yargs
|
|
70
|
+
.strict(false)
|
|
71
|
+
.option('tail', {
|
|
72
|
+
description: 'Number of lines to show from the end of the logs',
|
|
73
|
+
alias: 't',
|
|
74
|
+
number: true
|
|
75
|
+
})
|
|
76
|
+
.option('follow', {
|
|
77
|
+
description: 'Follow log output',
|
|
78
|
+
alias: 'f',
|
|
79
|
+
boolean: true
|
|
80
|
+
});
|
|
81
|
+
},
|
|
82
|
+
handler: prepare(commandHandlers.logs)
|
|
83
|
+
};
|
|
84
|
+
exports.fullLogs = {
|
|
85
|
+
name: 'fullLogs',
|
|
86
|
+
description: 'Download fullLogs',
|
|
87
|
+
handler: prepare(commandHandlers.fullLogs)
|
|
88
|
+
};
|
|
89
|
+
exports.logsNginx = {
|
|
90
|
+
name: 'logs-nginx',
|
|
91
|
+
description: 'View Nginx logs',
|
|
92
|
+
handler: prepare(commandHandlers.logsNginx)
|
|
93
|
+
};
|
|
94
|
+
exports.logsEb = {
|
|
95
|
+
name: 'logs-eb',
|
|
96
|
+
description: 'Logs from setting up server and installing npm dependencies',
|
|
97
|
+
handler: prepare(commandHandlers.logsEb)
|
|
98
|
+
};
|
|
99
|
+
exports.start = {
|
|
100
|
+
description: 'Start app',
|
|
101
|
+
handler: prepare(commandHandlers.start)
|
|
102
|
+
};
|
|
103
|
+
exports.stop = {
|
|
104
|
+
description: 'Stop app',
|
|
105
|
+
handler: prepare(commandHandlers.stop)
|
|
106
|
+
};
|
|
107
|
+
exports.restart = {
|
|
108
|
+
description: 'Restart app',
|
|
109
|
+
handler: prepare(commandHandlers.restart)
|
|
110
|
+
};
|
|
111
|
+
exports.events = {
|
|
112
|
+
description: 'Environment Events',
|
|
113
|
+
handler: prepare(commandHandlers.events)
|
|
114
|
+
};
|
|
115
|
+
exports.clean = {
|
|
116
|
+
description: 'Remove old bundles and app versions',
|
|
117
|
+
handler: prepare(commandHandlers.clean)
|
|
118
|
+
};
|
|
119
|
+
exports.ssl = {
|
|
120
|
+
description: 'Setup and view status of ssl certificate',
|
|
121
|
+
handler: prepare(commandHandlers.ssl)
|
|
122
|
+
};
|
|
123
|
+
exports.reconfig = {
|
|
124
|
+
description: 'Update env variables, instance count, and Meteor settings.json',
|
|
125
|
+
handler: prepare(commandHandlers.reconfig)
|
|
126
|
+
};
|
|
127
|
+
exports.status = {
|
|
128
|
+
description: 'View status of app',
|
|
129
|
+
handler: prepare(commandHandlers.status)
|
|
130
|
+
};
|
|
131
|
+
exports.shell = {
|
|
132
|
+
name: 'shell [instance-id]',
|
|
133
|
+
description: 'Open production Meteor shell',
|
|
134
|
+
builder(yargs) {
|
|
135
|
+
yargs.positional('instance-id', {
|
|
136
|
+
description: 'Instance id. If not provided, will show a list of instances'
|
|
137
|
+
}).strict(false);
|
|
138
|
+
},
|
|
139
|
+
handler: prepare(commandHandlers.shell)
|
|
140
|
+
};
|
|
141
|
+
exports.debug = {
|
|
142
|
+
name: 'debug [instance-id]',
|
|
143
|
+
description: 'Connect your local Node developer tools',
|
|
144
|
+
builder(yargs) {
|
|
145
|
+
yargs.positional('instance-id', {
|
|
146
|
+
description: 'Instance id. If not provided, will show a list of instances'
|
|
147
|
+
}).strict(false);
|
|
148
|
+
},
|
|
149
|
+
handler: prepare(commandHandlers.debug)
|
|
117
150
|
};
|
|
118
151
|
//# sourceMappingURL=commands.js.map
|
package/lib/commands.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"commands.js","
|
|
1
|
+
{"version":3,"file":"commands.js","sourceRoot":"","sources":["../src/commands.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.startLogStreamListener = startLogStreamListener;
|
|
7
|
+
exports.stopLogStreamListener = stopLogStreamListener;
|
|
8
|
+
const uniq_1 = __importDefault(require("lodash/uniq"));
|
|
9
|
+
const aws_1 = require("./aws");
|
|
10
|
+
const utils_1 = require("./utils");
|
|
11
|
+
let instanceFinderInterval = {};
|
|
12
|
+
let activeInstanceListeners = {};
|
|
13
|
+
let stopped = false;
|
|
14
|
+
async function listen(logGroupName, logStreamName, nextToken) {
|
|
15
|
+
const params = {
|
|
16
|
+
logGroupName,
|
|
17
|
+
logStreamName,
|
|
18
|
+
};
|
|
19
|
+
if (nextToken) {
|
|
20
|
+
params.nextToken = nextToken;
|
|
21
|
+
}
|
|
22
|
+
try {
|
|
23
|
+
const { events, nextForwardToken } = await aws_1.logs.getLogEvents(params);
|
|
24
|
+
events.forEach(event => {
|
|
25
|
+
(0, utils_1.logStreamEvent)(`<${logStreamName}> ${event.message}`);
|
|
26
|
+
});
|
|
27
|
+
if (events && events.length > 0 || nextToken) {
|
|
28
|
+
return nextForwardToken;
|
|
29
|
+
}
|
|
30
|
+
return nextToken;
|
|
31
|
+
}
|
|
32
|
+
catch (err) {
|
|
33
|
+
// @ts-ignore
|
|
34
|
+
if (err && err.name === "ResourceNotFoundException") {
|
|
35
|
+
// Log stream is not yet available, takes a little time
|
|
36
|
+
// console.error("Unable to find log stream", logGroupName, logStreamName);
|
|
37
|
+
// const { logStreams } = await logs.describeLogStreams({
|
|
38
|
+
// logGroupName,
|
|
39
|
+
// });
|
|
40
|
+
// if (logStreams && logStreams.length > 0) {
|
|
41
|
+
// console.log("Available log streams", logStreams.map(stream => stream.logStreamName));
|
|
42
|
+
// }
|
|
43
|
+
return nextToken;
|
|
44
|
+
}
|
|
45
|
+
console.error("Error", err);
|
|
46
|
+
return nextToken;
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
// Cheeky function that uses the dynamically updated event log (provided by
|
|
50
|
+
// the `showEvents` function) to find the instances that were created during
|
|
51
|
+
// the deployment.
|
|
52
|
+
function getInstancesFromLogs(eventLog) {
|
|
53
|
+
const instances = [];
|
|
54
|
+
eventLog.forEach(event => {
|
|
55
|
+
var _a;
|
|
56
|
+
const match = (_a = event.Message) === null || _a === void 0 ? void 0 : _a.match(/EC2 instance\(s\) \[(.*)\]/);
|
|
57
|
+
if (match) {
|
|
58
|
+
const newInstances = match[1].split(', ');
|
|
59
|
+
newInstances.forEach(instance => {
|
|
60
|
+
instances.push(instance.trim());
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
});
|
|
64
|
+
return (0, uniq_1.default)(instances);
|
|
65
|
+
}
|
|
66
|
+
async function startInstanceLogListener(logGroupName, instanceName) {
|
|
67
|
+
if (stopped)
|
|
68
|
+
return;
|
|
69
|
+
const logStreamName = instanceName;
|
|
70
|
+
try {
|
|
71
|
+
let nextToken = await listen(logGroupName, logStreamName);
|
|
72
|
+
return setInterval(async () => {
|
|
73
|
+
if (stopped)
|
|
74
|
+
return;
|
|
75
|
+
nextToken = await listen(logGroupName, logStreamName, nextToken);
|
|
76
|
+
}, 5000);
|
|
77
|
+
}
|
|
78
|
+
catch (err) {
|
|
79
|
+
// @ts-ignore
|
|
80
|
+
if (err.name === "ResourceNotFoundException") {
|
|
81
|
+
console.error("Unable to find log streams for", logGroupName);
|
|
82
|
+
}
|
|
83
|
+
else {
|
|
84
|
+
console.error("Log stream error", err);
|
|
85
|
+
}
|
|
86
|
+
return;
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
async function startInstanceListeners(logGroupName, instanceNames) {
|
|
90
|
+
instanceNames.forEach(async (instanceName) => {
|
|
91
|
+
if (activeInstanceListeners[instanceName]) {
|
|
92
|
+
return;
|
|
93
|
+
}
|
|
94
|
+
const instanceListener = await startInstanceLogListener(logGroupName, instanceName);
|
|
95
|
+
if (instanceListener) {
|
|
96
|
+
activeInstanceListeners[instanceName] = instanceListener;
|
|
97
|
+
}
|
|
98
|
+
});
|
|
99
|
+
}
|
|
100
|
+
async function startLogStreamListener(api, eventLog, logFileName) {
|
|
101
|
+
const config = api.getConfig();
|
|
102
|
+
(0, utils_1.logStreamEvent)(`Start log stream listener ${logFileName}`);
|
|
103
|
+
const { environment } = (0, utils_1.names)(config);
|
|
104
|
+
const logGroupName = `/aws/elasticbeanstalk/${environment}/${logFileName}`;
|
|
105
|
+
await startInstanceListeners(logGroupName, getInstancesFromLogs(eventLog));
|
|
106
|
+
instanceFinderInterval[logFileName] = setInterval(async () => {
|
|
107
|
+
if (stopped)
|
|
108
|
+
return;
|
|
109
|
+
await startInstanceListeners(logGroupName, getInstancesFromLogs(eventLog));
|
|
110
|
+
}, 5000);
|
|
111
|
+
}
|
|
112
|
+
async function stopLogStreamListener() {
|
|
113
|
+
stopped = true;
|
|
114
|
+
for (const logName in instanceFinderInterval) {
|
|
115
|
+
const listener = instanceFinderInterval[logName];
|
|
116
|
+
(0, utils_1.logStreamEvent)(`Stop log stream listener ${logName}`);
|
|
117
|
+
clearInterval(listener);
|
|
118
|
+
delete instanceFinderInterval[logName];
|
|
119
|
+
}
|
|
120
|
+
for (const instanceName in activeInstanceListeners) {
|
|
121
|
+
const listener = activeInstanceListeners[instanceName];
|
|
122
|
+
(0, utils_1.logStreamEvent)(`Stop log stream listener ${instanceName}`);
|
|
123
|
+
clearInterval(listener);
|
|
124
|
+
delete activeInstanceListeners[instanceName];
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
//# sourceMappingURL=deployment-logs.js.map
|