@brunwig/mup-aws-beanstalk 0.8.4 → 0.8.6

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.
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/policies.js"],"names":["trailBucketPolicy","accountId","bucketName","policy","Version","Statement","Sid","Effect","Principal","Service","Action","Resource","Condition","StringEquals","JSON","stringify","rolePolicy","serviceRole","eventTargetRole","passRolePolicy","role","eventTargetRolePolicy","env","region","StringLike","DeregisterEvent","deregisterEventTarget","envName","Id","Arn","RoleArn","InputTransformer","InputPathsMap","instance","InputTemplate","gracefulShutdownAutomationDocument","document","description","schemaVersion","assumeRole","parameters","InstanceId","type","AutomationAssumeRole","default","Commands","ServiceRole","mainSteps","name","action","timeoutSeconds","inputs","DocumentName","InstanceIds","ServiceRoleArn","Parameters","commands"],"mappings":"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","sourcesContent":["export function trailBucketPolicy(accountId, bucketName) {\n const policy = {\n Version: '2012-10-17',\n Statement: [{\n Sid: 'AWSCloudTrailAclCheck20150319',\n Effect: 'Allow',\n Principal: {\n Service: 'cloudtrail.amazonaws.com'\n },\n Action: 's3:GetBucketAcl',\n Resource: `arn:aws:s3:::${bucketName}`\n },\n {\n Sid: 'AWSCloudTrailWrite20150319',\n Effect: 'Allow',\n Principal: {\n Service: 'cloudtrail.amazonaws.com'\n },\n Action: 's3:PutObject',\n Resource: `arn:aws:s3:::${bucketName}/AWSLogs/${accountId}/*`,\n Condition: {\n StringEquals: {\n 's3:x-amz-acl': 'bucket-owner-full-control'\n }\n }\n }\n ]\n };\n\n return JSON.stringify(policy);\n}\n\nexport const rolePolicy = '{ \"Version\": \"2008-10-17\", \"Statement\": [ { \"Effect\": \"Allow\", \"Principal\": { \"Service\": \"ec2.amazonaws.com\" }, \"Action\": \"sts:AssumeRole\" } ] }';\nexport const serviceRole = '{ \"Version\": \"2012-10-17\", \"Statement\": [ { \"Effect\": \"Allow\", \"Principal\": { \"Service\": \"elasticbeanstalk.amazonaws.com\" }, \"Action\": \"sts:AssumeRole\", \"Condition\": { \"StringEquals\": { \"sts:ExternalId\": \"elasticbeanstalk\" } } } ] }';\nexport const eventTargetRole = '{ \"Version\": \"2012-10-17\", \"Statement\": [{ \"Effect\": \"Allow\", \"Principal\": { \"Service\": \"events.amazonaws.com\" }, \"Action\": \"sts:AssumeRole\" }, { \"Effect\": \"Allow\", \"Principal\": { \"Service\": [ \"ssm.amazonaws.com\", \"ec2.amazonaws.com\" ] }, \"Action\": \"sts:AssumeRole\" } ] }';\nexport const passRolePolicy = (accountId, role) => {\n const policy = {\n Version: '2012-10-17',\n Statement: [\n {\n Effect: 'Allow',\n Action: 'iam:PassRole',\n Resource: `arn:aws:iam::${accountId}:role/${role}`\n }\n ]\n };\n\n return JSON.stringify(policy);\n};\n\nexport function eventTargetRolePolicy(accountId, env, region) {\n const policy = {\n Version: '2012-10-17',\n Statement: [\n {\n Action: 'ssm:SendCommand',\n Effect: 'Allow',\n Resource: `arn:aws:ec2:${region}:${accountId}:instance/*`,\n Condition: {\n StringLike: {\n 'ssm:resourceTag/elasticbeanstalk:environment-name': [\n env\n ]\n }\n }\n },\n {\n Action: 'ssm:SendCommand',\n Effect: 'Allow',\n Resource: `arn:aws:ssm:${region}:*:document/AWS-RunShellScript`\n },\n {\n Action: [\n 'ssm:StartAutomationExecution',\n 'ssm:DescribeInstanceInformation',\n 'ssm:ListCommands',\n 'ssm:ListCommandInvocations'\n ],\n Effect: 'Allow',\n Resource: [\n '*'\n ]\n }\n ]\n };\n\n return JSON.stringify(policy);\n}\n\nexport const DeregisterEvent = '{ \"source\": [ \"aws.elasticloadbalancing\" ], \"detail-type\": [ \"AWS API Call via CloudTrail\" ], \"detail\": { \"eventSource\": [ \"elasticloadbalancing.amazonaws.com\" ], \"eventName\": [ \"DeregisterTargets\" ] } }';\n\nexport const deregisterEventTarget = (envName, role, accountId, region) => ({\n Id: `mup-target-${envName}`,\n Arn: `arn:aws:ssm:${region}:${accountId}:automation-definition/mup-graceful-shutdown:$LATEST`,\n RoleArn: `arn:aws:iam::${accountId}:role/${role}`,\n InputTransformer: {\n InputPathsMap: {\n instance: '$.detail.requestParameters.targets[0].id'\n },\n InputTemplate: `{\"InstanceId\":[<instance>], \"AutomationAssumeRole\": [\"arn:aws:iam::${accountId}:role/${role}\"], \"ServiceRole\": [\"arn:aws:iam::${accountId}:role/${role}\"], \"Commands\": [\"cd /mup_graceful_shutdown || exit 1\", \"ls\", \"PATH='/mup_graceful_shutdown'\", <instance>]}`\n }\n});\n\nexport const gracefulShutdownAutomationDocument = () => {\n const document = {\n description: 'Automation document for mup-aws-beanstalk graceful shutdown',\n schemaVersion: '0.3',\n assumeRole: '{{ AutomationAssumeRole }}',\n parameters: {\n InstanceId: {\n type: 'StringList',\n description: '(Required) EC2 Instance(s) to run the command on'\n },\n AutomationAssumeRole: {\n type: 'String',\n description: '(Optional) The ARN of the role that allows Automation to perform the actions on your behalf.',\n default: ''\n },\n Commands: {\n type: 'StringList',\n description: 'Commands to run'\n },\n ServiceRole: {\n type: 'String',\n description: 'The ARN of the role for runCommand'\n }\n },\n mainSteps: [\n {\n name: 'runCommand',\n action: 'aws:runCommand',\n timeoutSeconds: 10,\n inputs: {\n DocumentName: 'AWS-RunShellScript',\n InstanceIds: '{{ InstanceId }}',\n ServiceRoleArn: '{{ ServiceRole }}',\n Parameters: {\n commands: '{{ Commands }}'\n }\n }\n }\n ]\n };\n\n return JSON.stringify(document);\n};\n"],"file":"policies.js"}
1
+ {"version":3,"file":"policies.js","names":["trailBucketPolicy","accountId","bucketName","policy","Version","Statement","Sid","Effect","Principal","Service","Action","Resource","Condition","StringEquals","JSON","stringify","rolePolicy","exports","serviceRole","eventTargetRole","passRolePolicy","role","eventTargetRolePolicy","env","region","StringLike","DeregisterEvent","deregisterEventTarget","envName","Id","Arn","RoleArn","InputTransformer","InputPathsMap","instance","InputTemplate","gracefulShutdownAutomationDocument","document","description","schemaVersion","assumeRole","parameters","InstanceId","type","AutomationAssumeRole","default","Commands","ServiceRole","mainSteps","name","action","timeoutSeconds","inputs","DocumentName","InstanceIds","ServiceRoleArn","Parameters","commands"],"sources":["../src/policies.js"],"sourcesContent":["export function trailBucketPolicy(accountId, bucketName) {\n const policy = {\n Version: '2012-10-17',\n Statement: [{\n Sid: 'AWSCloudTrailAclCheck20150319',\n Effect: 'Allow',\n Principal: {\n Service: 'cloudtrail.amazonaws.com'\n },\n Action: 's3:GetBucketAcl',\n Resource: `arn:aws:s3:::${bucketName}`\n },\n {\n Sid: 'AWSCloudTrailWrite20150319',\n Effect: 'Allow',\n Principal: {\n Service: 'cloudtrail.amazonaws.com'\n },\n Action: 's3:PutObject',\n Resource: `arn:aws:s3:::${bucketName}/AWSLogs/${accountId}/*`,\n Condition: {\n StringEquals: {\n 's3:x-amz-acl': 'bucket-owner-full-control'\n }\n }\n }\n ]\n };\n\n return JSON.stringify(policy);\n}\n\nexport const rolePolicy = '{ \"Version\": \"2008-10-17\", \"Statement\": [ { \"Effect\": \"Allow\", \"Principal\": { \"Service\": \"ec2.amazonaws.com\" }, \"Action\": \"sts:AssumeRole\" } ] }';\nexport const serviceRole = '{ \"Version\": \"2012-10-17\", \"Statement\": [ { \"Effect\": \"Allow\", \"Principal\": { \"Service\": \"elasticbeanstalk.amazonaws.com\" }, \"Action\": \"sts:AssumeRole\", \"Condition\": { \"StringEquals\": { \"sts:ExternalId\": \"elasticbeanstalk\" } } } ] }';\nexport const eventTargetRole = '{ \"Version\": \"2012-10-17\", \"Statement\": [{ \"Effect\": \"Allow\", \"Principal\": { \"Service\": \"events.amazonaws.com\" }, \"Action\": \"sts:AssumeRole\" }, { \"Effect\": \"Allow\", \"Principal\": { \"Service\": [ \"ssm.amazonaws.com\", \"ec2.amazonaws.com\" ] }, \"Action\": \"sts:AssumeRole\" } ] }';\nexport const passRolePolicy = (accountId, role) => {\n const policy = {\n Version: '2012-10-17',\n Statement: [\n {\n Effect: 'Allow',\n Action: 'iam:PassRole',\n Resource: `arn:aws:iam::${accountId}:role/${role}`\n }\n ]\n };\n\n return JSON.stringify(policy);\n};\n\nexport function eventTargetRolePolicy(accountId, env, region) {\n const policy = {\n Version: '2012-10-17',\n Statement: [\n {\n Action: 'ssm:SendCommand',\n Effect: 'Allow',\n Resource: `arn:aws:ec2:${region}:${accountId}:instance/*`,\n Condition: {\n StringLike: {\n 'ssm:resourceTag/elasticbeanstalk:environment-name': [\n env\n ]\n }\n }\n },\n {\n Action: 'ssm:SendCommand',\n Effect: 'Allow',\n Resource: `arn:aws:ssm:${region}:*:document/AWS-RunShellScript`\n },\n {\n Action: [\n 'ssm:StartAutomationExecution',\n 'ssm:DescribeInstanceInformation',\n 'ssm:ListCommands',\n 'ssm:ListCommandInvocations'\n ],\n Effect: 'Allow',\n Resource: [\n '*'\n ]\n }\n ]\n };\n\n return JSON.stringify(policy);\n}\n\nexport const DeregisterEvent = '{ \"source\": [ \"aws.elasticloadbalancing\" ], \"detail-type\": [ \"AWS API Call via CloudTrail\" ], \"detail\": { \"eventSource\": [ \"elasticloadbalancing.amazonaws.com\" ], \"eventName\": [ \"DeregisterTargets\" ] } }';\n\nexport const deregisterEventTarget = (envName, role, accountId, region) => ({\n Id: `mup-target-${envName}`,\n Arn: `arn:aws:ssm:${region}:${accountId}:automation-definition/mup-graceful-shutdown:$LATEST`,\n RoleArn: `arn:aws:iam::${accountId}:role/${role}`,\n InputTransformer: {\n InputPathsMap: {\n instance: '$.detail.requestParameters.targets[0].id'\n },\n InputTemplate: `{\"InstanceId\":[<instance>], \"AutomationAssumeRole\": [\"arn:aws:iam::${accountId}:role/${role}\"], \"ServiceRole\": [\"arn:aws:iam::${accountId}:role/${role}\"], \"Commands\": [\"cd /mup_graceful_shutdown || exit 1\", \"ls\", \"PATH='/mup_graceful_shutdown'\", <instance>]}`\n }\n});\n\nexport const gracefulShutdownAutomationDocument = () => {\n const document = {\n description: 'Automation document for mup-aws-beanstalk graceful shutdown',\n schemaVersion: '0.3',\n assumeRole: '{{ AutomationAssumeRole }}',\n parameters: {\n InstanceId: {\n type: 'StringList',\n description: '(Required) EC2 Instance(s) to run the command on'\n },\n AutomationAssumeRole: {\n type: 'String',\n description: '(Optional) The ARN of the role that allows Automation to perform the actions on your behalf.',\n default: ''\n },\n Commands: {\n type: 'StringList',\n description: 'Commands to run'\n },\n ServiceRole: {\n type: 'String',\n description: 'The ARN of the role for runCommand'\n }\n },\n mainSteps: [\n {\n name: 'runCommand',\n action: 'aws:runCommand',\n timeoutSeconds: 10,\n inputs: {\n DocumentName: 'AWS-RunShellScript',\n InstanceIds: '{{ InstanceId }}',\n ServiceRoleArn: '{{ ServiceRole }}',\n Parameters: {\n commands: '{{ Commands }}'\n }\n }\n }\n ]\n };\n\n return JSON.stringify(document);\n};\n"],"mappings":"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","ignoreList":[]}
@@ -3,74 +3,53 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.injectFiles = injectFiles;
7
6
  exports.archiveApp = archiveApp;
8
-
7
+ exports.injectFiles = injectFiles;
9
8
  var _archiver = _interopRequireDefault(require("archiver"));
10
-
11
9
  var _fs = _interopRequireDefault(require("fs"));
12
-
13
10
  var _ejs = _interopRequireDefault(require("ejs"));
14
-
15
11
  var _lodash = require("lodash");
16
-
17
12
  var _path = _interopRequireDefault(require("path"));
18
-
19
13
  var _utils = require("./utils");
20
-
21
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
22
-
23
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
24
-
25
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
26
-
27
- function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
28
-
14
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
15
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
16
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
17
+ function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
18
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
19
+ function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
29
20
  function copyFolderSync(src, dest) {
30
21
  if (!_fs.default.existsSync(src)) return;
31
22
  if (!_fs.default.existsSync(dest)) _fs.default.mkdirSync(dest, {
32
23
  recursive: true
33
24
  });
34
-
35
25
  _fs.default.readdirSync(src).forEach(dirent => {
36
26
  const [srcPath, destPath] = [src, dest].map(dirPath => _path.default.join(dirPath, dirent));
37
-
38
27
  const stat = _fs.default.lstatSync(srcPath);
39
-
40
28
  switch (true) {
41
29
  case stat.isFile():
42
30
  console.log(` ... copying ${srcPath} ${destPath}`);
43
-
44
31
  _fs.default.copyFileSync(srcPath, destPath);
45
-
46
32
  break;
47
-
48
33
  case stat.isDirectory():
49
34
  copyFolderSync(srcPath, destPath);
50
35
  break;
51
-
52
36
  default:
53
37
  break;
54
38
  }
55
39
  });
56
40
  }
57
-
58
41
  function copy(source, destination, vars = {}) {
59
42
  let contents = _fs.default.readFileSync(source).toString();
60
-
61
43
  contents = _ejs.default.render(contents, _objectSpread(_objectSpread({}, vars), {}, {
62
44
  padScript(content, spaces) {
63
45
  const padding = ''.padStart(spaces, ' ');
64
46
  return content.split('\n').map(line => padding + line).join('\n');
65
47
  }
66
-
67
48
  }), {
68
49
  filename: source
69
50
  });
70
-
71
51
  _fs.default.writeFileSync(destination, contents);
72
52
  }
73
-
74
53
  function injectFiles(api, name, version, appConfig) {
75
54
  const {
76
55
  yumPackages,
@@ -105,10 +84,11 @@ function injectFiles(api, name, version, appConfig) {
105
84
  throw e;
106
85
  }
107
86
  }
108
- }); // For some resources we make two copies of scripts:
87
+ });
88
+
89
+ // For some resources we make two copies of scripts:
109
90
  // 1) In .platform/hooks. These are used in AWS Linux 2
110
91
  // 2) as part of a config file in .ebextensions for older platforms
111
-
112
92
  const {
113
93
  nodeVersion,
114
94
  npmVersion
@@ -135,7 +115,6 @@ function injectFiles(api, name, version, appConfig) {
135
115
  copy(sourcePath, destPath, {
136
116
  forceSSL
137
117
  });
138
-
139
118
  if (yumPackages) {
140
119
  sourcePath = api.resolvePath(__dirname, './assets/packages.yaml');
141
120
  destPath = api.resolvePath(bundlePath, 'bundle/.ebextensions/packages.config');
@@ -143,7 +122,6 @@ function injectFiles(api, name, version, appConfig) {
143
122
  packages: yumPackages
144
123
  });
145
124
  }
146
-
147
125
  if (gracefulShutdown) {
148
126
  sourcePath = api.resolvePath(__dirname, './assets/graceful_shutdown.yaml');
149
127
  destPath = api.resolvePath(bundlePath, 'bundle/.ebextensions/graceful_shutdown.config');
@@ -152,7 +130,6 @@ function injectFiles(api, name, version, appConfig) {
152
130
  destPath = api.resolvePath(bundlePath, 'bundle/.platform/hooks/prebuild/48graceful_shutdown.sh');
153
131
  copy(sourcePath, destPath);
154
132
  }
155
-
156
133
  sourcePath = api.resolvePath(__dirname, './assets/env.yaml');
157
134
  destPath = api.resolvePath(bundlePath, 'bundle/.ebextensions/env.config');
158
135
  copy(sourcePath, destPath, {
@@ -167,42 +144,33 @@ function injectFiles(api, name, version, appConfig) {
167
144
  destPath = api.resolvePath(bundlePath, 'bundle/health-check.js');
168
145
  copy(sourcePath, destPath);
169
146
  let customConfigPath = api.resolvePath(api.getBasePath(), `${appPath}/.ebextensions`);
170
-
171
147
  let customConfig = _fs.default.existsSync(customConfigPath);
172
-
173
148
  if (customConfig) {
174
149
  console.log(' Copying files from project .ebextensions folder');
175
-
176
150
  _fs.default.readdirSync(customConfigPath).forEach(file => {
177
151
  sourcePath = api.resolvePath(customConfigPath, file);
178
152
  destPath = api.resolvePath(bundlePath, `bundle/.ebextensions/${file}`);
179
153
  copy(sourcePath, destPath);
180
154
  });
181
155
  }
182
-
183
156
  customConfigPath = api.resolvePath(api.getBasePath(), `${appPath}/.platform`);
184
157
  customConfig = _fs.default.existsSync(customConfigPath);
185
-
186
158
  if (customConfig) {
187
159
  console.log(' Copying files from project .platform folder');
188
160
  copyFolderSync(customConfigPath, api.resolvePath(bundlePath, 'bundle/.platform'));
189
161
  }
190
162
  }
191
-
192
163
  function archiveApp(buildLocation, api) {
193
164
  const bundlePath = api.resolvePath(buildLocation, 'bundle.zip');
194
-
195
165
  try {
196
166
  _fs.default.unlinkSync(bundlePath);
197
- } catch (e) {// empty
167
+ } catch (e) {
168
+ // empty
198
169
  }
199
-
200
170
  return new Promise((resolve, reject) => {
201
171
  (0, _utils.logStep)('=> Archiving Bundle');
202
172
  const sourceDir = api.resolvePath(buildLocation, 'bundle');
203
-
204
173
  const output = _fs.default.createWriteStream(bundlePath);
205
-
206
174
  const archive = (0, _archiver.default)('zip', {
207
175
  gzip: true,
208
176
  gzipOptions: {
@@ -221,7 +189,6 @@ function archiveApp(buildLocation, api) {
221
189
  }) => {
222
190
  try {
223
191
  const progress = entries.processed / entries.total;
224
-
225
192
  if (progress > nextProgress) {
226
193
  console.log(` ${(0, _lodash.round)(Math.floor(nextProgress * 100), -1)}% Archived`);
227
194
  nextProgress += 0.1;
@@ -237,7 +204,6 @@ function archiveApp(buildLocation, api) {
237
204
  // set it in the zip file
238
205
  entry.mode = 0o777;
239
206
  }
240
-
241
207
  return entry;
242
208
  }).finalize();
243
209
  });
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/prepare-bundle.js"],"names":["copyFolderSync","src","dest","fs","existsSync","mkdirSync","recursive","readdirSync","forEach","dirent","srcPath","destPath","map","dirPath","path","join","stat","lstatSync","isFile","console","log","copyFileSync","isDirectory","copy","source","destination","vars","contents","readFileSync","toString","ejs","render","padScript","content","spaces","padding","padStart","split","line","filename","writeFileSync","injectFiles","api","name","version","appConfig","yumPackages","forceSSL","gracefulShutdown","buildOptions","appPath","bundlePath","buildLocation","bucket","app","sourcePath","resolvePath","__dirname","folder","e","code","nodeVersion","npmVersion","packages","bucketName","customConfigPath","getBasePath","customConfig","file","archiveApp","unlinkSync","Promise","resolve","reject","sourceDir","output","createWriteStream","archive","gzip","gzipOptions","level","pipe","once","err","message","nextProgress","on","entries","progress","processed","total","Math","floor","directory","entry","startsWith","mode","finalize"],"mappings":";;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;;AAEA,SAASA,cAAT,CAAwBC,GAAxB,EAA6BC,IAA7B,EAAmC;AACjC,MAAI,CAACC,YAAGC,UAAH,CAAcH,GAAd,CAAL,EAAyB;AACzB,MAAI,CAACE,YAAGC,UAAH,CAAcF,IAAd,CAAL,EAA0BC,YAAGE,SAAH,CAAaH,IAAb,EAAmB;AAAEI,IAAAA,SAAS,EAAE;AAAb,GAAnB;;AAE1BH,cAAGI,WAAH,CAAeN,GAAf,EAAoBO,OAApB,CAA6BC,MAAD,IAAY;AACtC,UAAM,CAACC,OAAD,EAAUC,QAAV,IAAsB,CAACV,GAAD,EAAMC,IAAN,EAAYU,GAAZ,CAAgBC,OAAO,IAAIC,cAAKC,IAAL,CAAUF,OAAV,EAAmBJ,MAAnB,CAA3B,CAA5B;;AACA,UAAMO,IAAI,GAAGb,YAAGc,SAAH,CAAaP,OAAb,CAAb;;AAEA,YAAQ,IAAR;AACE,WAAKM,IAAI,CAACE,MAAL,EAAL;AACEC,QAAAA,OAAO,CAACC,GAAR,CAAa,iBAAgBV,OAAQ,IAAGC,QAAS,EAAjD;;AACAR,oBAAGkB,YAAH,CAAgBX,OAAhB,EAAyBC,QAAzB;;AACA;;AACF,WAAKK,IAAI,CAACM,WAAL,EAAL;AACEtB,QAAAA,cAAc,CAACU,OAAD,EAAUC,QAAV,CAAd;AACA;;AACF;AACE;AATJ;AAWD,GAfD;AAgBD;;AAED,SAASY,IAAT,CAAcC,MAAd,EAAsBC,WAAtB,EAAmCC,IAAI,GAAG,EAA1C,EAA8C;AAC5C,MAAIC,QAAQ,GAAGxB,YAAGyB,YAAH,CAAgBJ,MAAhB,EAAwBK,QAAxB,EAAf;;AAEAF,EAAAA,QAAQ,GAAGG,aAAIC,MAAJ,CACTJ,QADS,kCAGJD,IAHI;AAIPM,IAAAA,SAAS,CAACC,OAAD,EAAUC,MAAV,EAAkB;AACzB,YAAMC,OAAO,GAAG,GAAGC,QAAH,CAAYF,MAAZ,EAAoB,GAApB,CAAhB;AACA,aAAOD,OAAO,CAACI,KAAR,CAAc,IAAd,EAAoBzB,GAApB,CAAwB0B,IAAI,IAAIH,OAAO,GAAGG,IAA1C,EAAgDvB,IAAhD,CAAqD,IAArD,CAAP;AACD;;AAPM,MAST;AACEwB,IAAAA,QAAQ,EAAEf;AADZ,GATS,CAAX;;AAcArB,cAAGqC,aAAH,CAAiBf,WAAjB,EAA8BE,QAA9B;AACD;;AAEM,SAASc,WAAT,CAAqBC,GAArB,EAA0BC,IAA1B,EAAgCC,OAAhC,EAAyCC,SAAzC,EAAoD;AACzD,QAAM;AACJC,IAAAA,WADI;AAEJC,IAAAA,QAFI;AAGJC,IAAAA,gBAHI;AAIJC,IAAAA,YAJI;AAKJnC,IAAAA,IAAI,EAAEoC;AALF,MAMFL,SANJ;AAOA,QAAMM,UAAU,GAAGF,YAAY,CAACG,aAAhC;AACA,QAAM;AACJC,IAAAA;AADI,MAEF,kBAAM;AAAEC,IAAAA,GAAG,EAAET;AAAP,GAAN,CAFJ;AAIA,MAAIU,UAAU,GAAGb,GAAG,CAACc,WAAJ,CAAgBC,SAAhB,EAA2B,uBAA3B,CAAjB;AACA,MAAI9C,QAAQ,GAAG+B,GAAG,CAACc,WAAJ,CAAgBL,UAAhB,EAA4B,qBAA5B,CAAf;AACA5B,EAAAA,IAAI,CAACgC,UAAD,EAAa5C,QAAb,EAAuB;AACzBgC,IAAAA,IADyB;AAEzBC,IAAAA;AAFyB,GAAvB,CAAJ;AAKAW,EAAAA,UAAU,GAAGb,GAAG,CAACc,WAAJ,CAAgBC,SAAhB,EAA2B,gBAA3B,CAAb;AACA9C,EAAAA,QAAQ,GAAG+B,GAAG,CAACc,WAAJ,CAAgBL,UAAhB,EAA4B,eAA5B,CAAX;AACA5B,EAAAA,IAAI,CAACgC,UAAD,EAAa5C,QAAb,CAAJ;AAEA4C,EAAAA,UAAU,GAAGb,GAAG,CAACc,WAAJ,CAAgBC,SAAhB,EAA2B,mBAA3B,CAAb;AACA9C,EAAAA,QAAQ,GAAG+B,GAAG,CAACc,WAAJ,CAAgBL,UAAhB,EAA4B,iBAA5B,CAAX;AACA5B,EAAAA,IAAI,CAACgC,UAAD,EAAa5C,QAAb,CAAJ;AAEA,GACE,eADF,EAEE,WAFF,EAGE,iBAHF,EAIE,0BAJF,EAKE,iBALF,EAME,wBANF,EAOE,yCAPF,EAQEH,OARF,CAQWkD,MAAD,IAAY;AACpB,QAAI;AACFvD,kBAAGE,SAAH,CAAaqC,GAAG,CAACc,WAAJ,CAAgBL,UAAhB,EAA4B,QAA5B,EAAsCO,MAAtC,CAAb;AACD,KAFD,CAEE,OAAOC,CAAP,EAAU;AACV,UAAIA,CAAC,CAACC,IAAF,KAAW,QAAf,EAAyB;AACvB,cAAMD,CAAN;AACD;AACF;AACF,GAhBD,EA5ByD,CA+CzD;AACA;AACA;;AACA,QAAM;AAAEE,IAAAA,WAAF;AAAeC,IAAAA;AAAf,MAA8B,2BAAepB,GAAf,EAAoBS,UAApB,CAApC;AACAI,EAAAA,UAAU,GAAGb,GAAG,CAACc,WAAJ,CAAgBC,SAAhB,EAA2B,oBAA3B,CAAb;AACA9C,EAAAA,QAAQ,GAAG+B,GAAG,CAACc,WAAJ,CAAgBL,UAAhB,EAA4B,kCAA5B,CAAX;AACA5B,EAAAA,IAAI,CAACgC,UAAD,EAAa5C,QAAb,EAAuB;AAAEkD,IAAAA,WAAF;AAAeC,IAAAA;AAAf,GAAvB,CAAJ;AAEAP,EAAAA,UAAU,GAAGb,GAAG,CAACc,WAAJ,CAAgBC,SAAhB,EAA2B,kBAA3B,CAAb;AACA9C,EAAAA,QAAQ,GAAG+B,GAAG,CAACc,WAAJ,CAAgBL,UAAhB,EAA4B,2CAA5B,CAAX;AACA5B,EAAAA,IAAI,CAACgC,UAAD,EAAa5C,QAAb,EAAuB;AAAEkD,IAAAA,WAAF;AAAeC,IAAAA;AAAf,GAAvB,CAAJ;AAEAP,EAAAA,UAAU,GAAGb,GAAG,CAACc,WAAJ,CAAgBC,SAAhB,EAA2B,qBAA3B,CAAb;AACA9C,EAAAA,QAAQ,GAAG+B,GAAG,CAACc,WAAJ,CAAgBL,UAAhB,EAA4B,mCAA5B,CAAX;AACA5B,EAAAA,IAAI,CAACgC,UAAD,EAAa5C,QAAb,EAAuB;AAAEoC,IAAAA;AAAF,GAAvB,CAAJ;AAEAQ,EAAAA,UAAU,GAAGb,GAAG,CAACc,WAAJ,CAAgBC,SAAhB,EAA2B,4BAA3B,CAAb;AACA9C,EAAAA,QAAQ,GAAG+B,GAAG,CAACc,WAAJ,CAAgBL,UAAhB,EAA4B,oEAA5B,CAAX;AACA5B,EAAAA,IAAI,CAACgC,UAAD,EAAa5C,QAAb,EAAuB;AAAEoC,IAAAA;AAAF,GAAvB,CAAJ;;AAEA,MAAID,WAAJ,EAAiB;AACfS,IAAAA,UAAU,GAAGb,GAAG,CAACc,WAAJ,CAAgBC,SAAhB,EAA2B,wBAA3B,CAAb;AACA9C,IAAAA,QAAQ,GAAG+B,GAAG,CAACc,WAAJ,CAAgBL,UAAhB,EAA4B,sCAA5B,CAAX;AACA5B,IAAAA,IAAI,CAACgC,UAAD,EAAa5C,QAAb,EAAuB;AAAEoD,MAAAA,QAAQ,EAAEjB;AAAZ,KAAvB,CAAJ;AACD;;AAED,MAAIE,gBAAJ,EAAsB;AACpBO,IAAAA,UAAU,GAAGb,GAAG,CAACc,WAAJ,CAAgBC,SAAhB,EAA2B,iCAA3B,CAAb;AACA9C,IAAAA,QAAQ,GAAG+B,GAAG,CAACc,WAAJ,CAAgBL,UAAhB,EAA4B,+CAA5B,CAAX;AACA5B,IAAAA,IAAI,CAACgC,UAAD,EAAa5C,QAAb,CAAJ;AAEA4C,IAAAA,UAAU,GAAGb,GAAG,CAACc,WAAJ,CAAgBC,SAAhB,EAA2B,+BAA3B,CAAb;AACA9C,IAAAA,QAAQ,GAAG+B,GAAG,CAACc,WAAJ,CAAgBL,UAAhB,EAA4B,wDAA5B,CAAX;AACA5B,IAAAA,IAAI,CAACgC,UAAD,EAAa5C,QAAb,CAAJ;AACD;;AAED4C,EAAAA,UAAU,GAAGb,GAAG,CAACc,WAAJ,CAAgBC,SAAhB,EAA2B,mBAA3B,CAAb;AACA9C,EAAAA,QAAQ,GAAG+B,GAAG,CAACc,WAAJ,CAAgBL,UAAhB,EAA4B,iCAA5B,CAAX;AACA5B,EAAAA,IAAI,CAACgC,UAAD,EAAa5C,QAAb,EAAuB;AACzBqD,IAAAA,UAAU,EAAEX;AADa,GAAvB,CAAJ;AAIAE,EAAAA,UAAU,GAAGb,GAAG,CAACc,WAAJ,CAAgBC,SAAhB,EAA2B,iBAA3B,CAAb;AACA9C,EAAAA,QAAQ,GAAG+B,GAAG,CAACc,WAAJ,CAAgBL,UAAhB,EAA4B,0CAA5B,CAAX;AACA5B,EAAAA,IAAI,CAACgC,UAAD,EAAa5C,QAAb,EAAuB;AACzBqD,IAAAA,UAAU,EAAEX;AADa,GAAvB,CAAJ;AAIAE,EAAAA,UAAU,GAAGb,GAAG,CAACc,WAAJ,CAAgBC,SAAhB,EAA2B,0BAA3B,CAAb;AACA9C,EAAAA,QAAQ,GAAG+B,GAAG,CAACc,WAAJ,CAAgBL,UAAhB,EAA4B,wBAA5B,CAAX;AACA5B,EAAAA,IAAI,CAACgC,UAAD,EAAa5C,QAAb,CAAJ;AAEA,MAAIsD,gBAAgB,GAAGvB,GAAG,CAACc,WAAJ,CAAgBd,GAAG,CAACwB,WAAJ,EAAhB,EAAoC,GAAEhB,OAAQ,gBAA9C,CAAvB;;AACA,MAAIiB,YAAY,GAAGhE,YAAGC,UAAH,CAAc6D,gBAAd,CAAnB;;AACA,MAAIE,YAAJ,EAAkB;AAChBhD,IAAAA,OAAO,CAACC,GAAR,CAAY,mDAAZ;;AACAjB,gBAAGI,WAAH,CAAe0D,gBAAf,EAAiCzD,OAAjC,CAA0C4D,IAAD,IAAU;AACjDb,MAAAA,UAAU,GAAGb,GAAG,CAACc,WAAJ,CAAgBS,gBAAhB,EAAkCG,IAAlC,CAAb;AACAzD,MAAAA,QAAQ,GAAG+B,GAAG,CAACc,WAAJ,CAAgBL,UAAhB,EAA6B,wBAAuBiB,IAAK,EAAzD,CAAX;AACA7C,MAAAA,IAAI,CAACgC,UAAD,EAAa5C,QAAb,CAAJ;AACD,KAJD;AAKD;;AAEDsD,EAAAA,gBAAgB,GAAGvB,GAAG,CAACc,WAAJ,CAAgBd,GAAG,CAACwB,WAAJ,EAAhB,EAAoC,GAAEhB,OAAQ,YAA9C,CAAnB;AACAiB,EAAAA,YAAY,GAAGhE,YAAGC,UAAH,CAAc6D,gBAAd,CAAf;;AACA,MAAIE,YAAJ,EAAkB;AAChBhD,IAAAA,OAAO,CAACC,GAAR,CAAY,+CAAZ;AACApB,IAAAA,cAAc,CAACiE,gBAAD,EAAmBvB,GAAG,CAACc,WAAJ,CAAgBL,UAAhB,EAA4B,kBAA5B,CAAnB,CAAd;AACD;AACF;;AAEM,SAASkB,UAAT,CAAoBjB,aAApB,EAAmCV,GAAnC,EAAwC;AAC7C,QAAMS,UAAU,GAAGT,GAAG,CAACc,WAAJ,CAAgBJ,aAAhB,EAA+B,YAA/B,CAAnB;;AAEA,MAAI;AACFjD,gBAAGmE,UAAH,CAAcnB,UAAd;AACD,GAFD,CAEE,OAAOQ,CAAP,EAAU,CACV;AACD;;AAED,SAAO,IAAIY,OAAJ,CAAY,CAACC,OAAD,EAAUC,MAAV,KAAqB;AACtC,wBAAQ,qBAAR;AACA,UAAMC,SAAS,GAAGhC,GAAG,CAACc,WAAJ,CAAgBJ,aAAhB,EAA+B,QAA/B,CAAlB;;AAEA,UAAMuB,MAAM,GAAGxE,YAAGyE,iBAAH,CAAqBzB,UAArB,CAAf;;AACA,UAAM0B,OAAO,GAAG,uBAAS,KAAT,EAAgB;AAC9BC,MAAAA,IAAI,EAAE,IADwB;AAE9BC,MAAAA,WAAW,EAAE;AACXC,QAAAA,KAAK,EAAE;AADI;AAFiB,KAAhB,CAAhB;AAOAH,IAAAA,OAAO,CAACI,IAAR,CAAaN,MAAb;AACAA,IAAAA,MAAM,CAACO,IAAP,CAAY,OAAZ,EAAqBV,OAArB;AAEAK,IAAAA,OAAO,CAACK,IAAR,CAAa,OAAb,EAAuBC,GAAD,IAAS;AAC7B,0BAAQ,sBAAR,EAAgCA,GAAG,CAACC,OAApC;AACAX,MAAAA,MAAM,CAACU,GAAD,CAAN;AACD,KAHD;AAKA,QAAIE,YAAY,GAAG,GAAnB;AACAR,IAAAA,OAAO,CAACS,EAAR,CAAW,UAAX,EAAuB,CAAC;AAAEC,MAAAA;AAAF,KAAD,KAAiB;AACtC,UAAI;AACF,cAAMC,QAAQ,GAAGD,OAAO,CAACE,SAAR,GAAoBF,OAAO,CAACG,KAA7C;;AAEA,YAAIF,QAAQ,GAAGH,YAAf,EAA6B;AAC3BlE,UAAAA,OAAO,CAACC,GAAR,CAAa,KAAI,mBAAMuE,IAAI,CAACC,KAAL,CAAWP,YAAY,GAAG,GAA1B,CAAN,EAAsC,CAAC,CAAvC,CAA0C,YAA3D;AACAA,UAAAA,YAAY,IAAI,GAAhB;AACD;AACF,OAPD,CAOE,OAAO1B,CAAP,EAAU;AACVxC,QAAAA,OAAO,CAACC,GAAR,CAAYuC,CAAZ;AACD;AACF,KAXD;AAaAkB,IAAAA,OAAO,CAACgB,SAAR,CAAkBnB,SAAlB,EAA6B,KAA7B,EAAqCoB,KAAD,IAAW;AAC7C,UAAIA,KAAK,CAACnD,IAAN,CAAWoD,UAAX,CAAsB,kBAAtB,CAAJ,EAA+C;AAC7C;AACA;AACA;AACAD,QAAAA,KAAK,CAACE,IAAN,GAAa,KAAb;AACD;;AACD,aAAOF,KAAP;AACD,KARD,EAQGG,QARH;AASD,GA3CM,CAAP;AA4CD","sourcesContent":["import archiver from 'archiver';\nimport fs from 'fs';\nimport ejs from 'ejs';\nimport { round } from 'lodash';\nimport path from 'path';\nimport { getNodeVersion, logStep, names } from './utils';\n\nfunction copyFolderSync(src, dest) {\n if (!fs.existsSync(src)) return;\n if (!fs.existsSync(dest)) fs.mkdirSync(dest, { recursive: true });\n\n fs.readdirSync(src).forEach((dirent) => {\n const [srcPath, destPath] = [src, dest].map(dirPath => path.join(dirPath, dirent));\n const stat = fs.lstatSync(srcPath);\n\n switch (true) {\n case stat.isFile():\n console.log(` ... copying ${srcPath} ${destPath}`);\n fs.copyFileSync(srcPath, destPath);\n break;\n case stat.isDirectory():\n copyFolderSync(srcPath, destPath);\n break;\n default:\n break;\n }\n });\n}\n\nfunction copy(source, destination, vars = {}) {\n let contents = fs.readFileSync(source).toString();\n\n contents = ejs.render(\n contents,\n {\n ...vars,\n padScript(content, spaces) {\n const padding = ''.padStart(spaces, ' ');\n return content.split('\\n').map(line => padding + line).join('\\n');\n }\n },\n {\n filename: source\n }\n );\n\n fs.writeFileSync(destination, contents);\n}\n\nexport function injectFiles(api, name, version, appConfig) {\n const {\n yumPackages,\n forceSSL,\n gracefulShutdown,\n buildOptions,\n path: appPath\n } = appConfig;\n const bundlePath = buildOptions.buildLocation;\n const {\n bucket\n } = names({ app: appConfig });\n\n let sourcePath = api.resolvePath(__dirname, './assets/package.json');\n let destPath = api.resolvePath(bundlePath, 'bundle/package.json');\n copy(sourcePath, destPath, {\n name,\n version\n });\n\n sourcePath = api.resolvePath(__dirname, './assets/npmrc');\n destPath = api.resolvePath(bundlePath, 'bundle/.npmrc');\n copy(sourcePath, destPath);\n\n sourcePath = api.resolvePath(__dirname, './assets/start.sh');\n destPath = api.resolvePath(bundlePath, 'bundle/start.sh');\n copy(sourcePath, destPath);\n\n [\n '.ebextensions',\n '.platform',\n '.platform/hooks',\n '.platform/hooks/prebuild',\n '.platform/nginx',\n '.platform/nginx/conf.d',\n '.platform/nginx/conf.d/elasticbeanstalk'\n ].forEach((folder) => {\n try {\n fs.mkdirSync(api.resolvePath(bundlePath, 'bundle', folder));\n } catch (e) {\n if (e.code !== 'EEXIST') {\n throw e;\n }\n }\n });\n\n\n // For some resources we make two copies of scripts:\n // 1) In .platform/hooks. These are used in AWS Linux 2\n // 2) as part of a config file in .ebextensions for older platforms\n const { nodeVersion, npmVersion } = getNodeVersion(api, bundlePath);\n sourcePath = api.resolvePath(__dirname, './assets/node.yaml');\n destPath = api.resolvePath(bundlePath, 'bundle/.ebextensions/node.config');\n copy(sourcePath, destPath, { nodeVersion, npmVersion });\n\n sourcePath = api.resolvePath(__dirname, './assets/node.sh');\n destPath = api.resolvePath(bundlePath, 'bundle/.platform/hooks/prebuild/45node.sh');\n copy(sourcePath, destPath, { nodeVersion, npmVersion });\n\n sourcePath = api.resolvePath(__dirname, './assets/nginx.yaml');\n destPath = api.resolvePath(bundlePath, 'bundle/.ebextensions/nginx.config');\n copy(sourcePath, destPath, { forceSSL });\n\n sourcePath = api.resolvePath(__dirname, './assets/nginx-server.conf');\n destPath = api.resolvePath(bundlePath, 'bundle/.platform/nginx/conf.d/elasticbeanstalk/00_application.conf');\n copy(sourcePath, destPath, { forceSSL });\n\n if (yumPackages) {\n sourcePath = api.resolvePath(__dirname, './assets/packages.yaml');\n destPath = api.resolvePath(bundlePath, 'bundle/.ebextensions/packages.config');\n copy(sourcePath, destPath, { packages: yumPackages });\n }\n\n if (gracefulShutdown) {\n sourcePath = api.resolvePath(__dirname, './assets/graceful_shutdown.yaml');\n destPath = api.resolvePath(bundlePath, 'bundle/.ebextensions/graceful_shutdown.config');\n copy(sourcePath, destPath);\n\n sourcePath = api.resolvePath(__dirname, './assets/graceful_shutdown.sh');\n destPath = api.resolvePath(bundlePath, 'bundle/.platform/hooks/prebuild/48graceful_shutdown.sh');\n copy(sourcePath, destPath);\n }\n\n sourcePath = api.resolvePath(__dirname, './assets/env.yaml');\n destPath = api.resolvePath(bundlePath, 'bundle/.ebextensions/env.config');\n copy(sourcePath, destPath, {\n bucketName: bucket\n });\n\n sourcePath = api.resolvePath(__dirname, './assets/env.sh');\n destPath = api.resolvePath(bundlePath, 'bundle/.platform/hooks/prebuild/47env.sh');\n copy(sourcePath, destPath, {\n bucketName: bucket\n });\n\n sourcePath = api.resolvePath(__dirname, './assets/health-check.js');\n destPath = api.resolvePath(bundlePath, 'bundle/health-check.js');\n copy(sourcePath, destPath);\n\n let customConfigPath = api.resolvePath(api.getBasePath(), `${appPath}/.ebextensions`);\n let customConfig = fs.existsSync(customConfigPath);\n if (customConfig) {\n console.log(' Copying files from project .ebextensions folder');\n fs.readdirSync(customConfigPath).forEach((file) => {\n sourcePath = api.resolvePath(customConfigPath, file);\n destPath = api.resolvePath(bundlePath, `bundle/.ebextensions/${file}`);\n copy(sourcePath, destPath);\n });\n }\n\n customConfigPath = api.resolvePath(api.getBasePath(), `${appPath}/.platform`);\n customConfig = fs.existsSync(customConfigPath);\n if (customConfig) {\n console.log(' Copying files from project .platform folder');\n copyFolderSync(customConfigPath, api.resolvePath(bundlePath, 'bundle/.platform'));\n }\n}\n\nexport function archiveApp(buildLocation, api) {\n const bundlePath = api.resolvePath(buildLocation, 'bundle.zip');\n\n try {\n fs.unlinkSync(bundlePath);\n } catch (e) {\n // empty\n }\n\n return new Promise((resolve, reject) => {\n logStep('=> Archiving Bundle');\n const sourceDir = api.resolvePath(buildLocation, 'bundle');\n\n const output = fs.createWriteStream(bundlePath);\n const archive = archiver('zip', {\n gzip: true,\n gzipOptions: {\n level: 9\n }\n });\n\n archive.pipe(output);\n output.once('close', resolve);\n\n archive.once('error', (err) => {\n logStep('=> Archiving failed:', err.message);\n reject(err);\n });\n\n let nextProgress = 0.1;\n archive.on('progress', ({ entries }) => {\n try {\n const progress = entries.processed / entries.total;\n\n if (progress > nextProgress) {\n console.log(` ${round(Math.floor(nextProgress * 100), -1)}% Archived`);\n nextProgress += 0.1;\n }\n } catch (e) {\n console.log(e);\n }\n });\n\n archive.directory(sourceDir, false, (entry) => {\n if (entry.name.startsWith('.platform/hooks/')) {\n // Hooks must be executable for AWS Beanstalk to run them\n // Windows doesn't have a way to make a file be executable, so we\n // set it in the zip file\n entry.mode = 0o777;\n }\n return entry;\n }).finalize();\n });\n}\n"],"file":"prepare-bundle.js"}
1
+ {"version":3,"file":"prepare-bundle.js","names":["_archiver","_interopRequireDefault","require","_fs","_ejs","_lodash","_path","_utils","e","__esModule","default","ownKeys","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_toPropertyKey","value","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","copyFolderSync","src","dest","fs","existsSync","mkdirSync","recursive","readdirSync","dirent","srcPath","destPath","map","dirPath","path","join","stat","lstatSync","isFile","console","log","copyFileSync","isDirectory","copy","source","destination","vars","contents","readFileSync","toString","ejs","render","padScript","content","spaces","padding","padStart","split","line","filename","writeFileSync","injectFiles","api","name","version","appConfig","yumPackages","forceSSL","gracefulShutdown","buildOptions","appPath","bundlePath","buildLocation","bucket","names","app","sourcePath","resolvePath","__dirname","folder","code","nodeVersion","npmVersion","getNodeVersion","packages","bucketName","customConfigPath","getBasePath","customConfig","file","archiveApp","unlinkSync","Promise","resolve","reject","logStep","sourceDir","output","createWriteStream","archive","archiver","gzip","gzipOptions","level","pipe","once","err","message","nextProgress","on","entries","progress","processed","total","round","Math","floor","directory","entry","startsWith","mode","finalize"],"sources":["../src/prepare-bundle.js"],"sourcesContent":["import archiver from 'archiver';\nimport fs from 'fs';\nimport ejs from 'ejs';\nimport { round } from 'lodash';\nimport path from 'path';\nimport { getNodeVersion, logStep, names } from './utils';\n\nfunction copyFolderSync(src, dest) {\n if (!fs.existsSync(src)) return;\n if (!fs.existsSync(dest)) fs.mkdirSync(dest, { recursive: true });\n\n fs.readdirSync(src).forEach((dirent) => {\n const [srcPath, destPath] = [src, dest].map(dirPath => path.join(dirPath, dirent));\n const stat = fs.lstatSync(srcPath);\n\n switch (true) {\n case stat.isFile():\n console.log(` ... copying ${srcPath} ${destPath}`);\n fs.copyFileSync(srcPath, destPath);\n break;\n case stat.isDirectory():\n copyFolderSync(srcPath, destPath);\n break;\n default:\n break;\n }\n });\n}\n\nfunction copy(source, destination, vars = {}) {\n let contents = fs.readFileSync(source).toString();\n\n contents = ejs.render(\n contents,\n {\n ...vars,\n padScript(content, spaces) {\n const padding = ''.padStart(spaces, ' ');\n return content.split('\\n').map(line => padding + line).join('\\n');\n }\n },\n {\n filename: source\n }\n );\n\n fs.writeFileSync(destination, contents);\n}\n\nexport function injectFiles(api, name, version, appConfig) {\n const {\n yumPackages,\n forceSSL,\n gracefulShutdown,\n buildOptions,\n path: appPath\n } = appConfig;\n const bundlePath = buildOptions.buildLocation;\n const {\n bucket\n } = names({ app: appConfig });\n\n let sourcePath = api.resolvePath(__dirname, './assets/package.json');\n let destPath = api.resolvePath(bundlePath, 'bundle/package.json');\n copy(sourcePath, destPath, {\n name,\n version\n });\n\n sourcePath = api.resolvePath(__dirname, './assets/npmrc');\n destPath = api.resolvePath(bundlePath, 'bundle/.npmrc');\n copy(sourcePath, destPath);\n\n sourcePath = api.resolvePath(__dirname, './assets/start.sh');\n destPath = api.resolvePath(bundlePath, 'bundle/start.sh');\n copy(sourcePath, destPath);\n\n [\n '.ebextensions',\n '.platform',\n '.platform/hooks',\n '.platform/hooks/prebuild',\n '.platform/nginx',\n '.platform/nginx/conf.d',\n '.platform/nginx/conf.d/elasticbeanstalk'\n ].forEach((folder) => {\n try {\n fs.mkdirSync(api.resolvePath(bundlePath, 'bundle', folder));\n } catch (e) {\n if (e.code !== 'EEXIST') {\n throw e;\n }\n }\n });\n\n\n // For some resources we make two copies of scripts:\n // 1) In .platform/hooks. These are used in AWS Linux 2\n // 2) as part of a config file in .ebextensions for older platforms\n const { nodeVersion, npmVersion } = getNodeVersion(api, bundlePath);\n sourcePath = api.resolvePath(__dirname, './assets/node.yaml');\n destPath = api.resolvePath(bundlePath, 'bundle/.ebextensions/node.config');\n copy(sourcePath, destPath, { nodeVersion, npmVersion });\n\n sourcePath = api.resolvePath(__dirname, './assets/node.sh');\n destPath = api.resolvePath(bundlePath, 'bundle/.platform/hooks/prebuild/45node.sh');\n copy(sourcePath, destPath, { nodeVersion, npmVersion });\n\n sourcePath = api.resolvePath(__dirname, './assets/nginx.yaml');\n destPath = api.resolvePath(bundlePath, 'bundle/.ebextensions/nginx.config');\n copy(sourcePath, destPath, { forceSSL });\n\n sourcePath = api.resolvePath(__dirname, './assets/nginx-server.conf');\n destPath = api.resolvePath(bundlePath, 'bundle/.platform/nginx/conf.d/elasticbeanstalk/00_application.conf');\n copy(sourcePath, destPath, { forceSSL });\n\n if (yumPackages) {\n sourcePath = api.resolvePath(__dirname, './assets/packages.yaml');\n destPath = api.resolvePath(bundlePath, 'bundle/.ebextensions/packages.config');\n copy(sourcePath, destPath, { packages: yumPackages });\n }\n\n if (gracefulShutdown) {\n sourcePath = api.resolvePath(__dirname, './assets/graceful_shutdown.yaml');\n destPath = api.resolvePath(bundlePath, 'bundle/.ebextensions/graceful_shutdown.config');\n copy(sourcePath, destPath);\n\n sourcePath = api.resolvePath(__dirname, './assets/graceful_shutdown.sh');\n destPath = api.resolvePath(bundlePath, 'bundle/.platform/hooks/prebuild/48graceful_shutdown.sh');\n copy(sourcePath, destPath);\n }\n\n sourcePath = api.resolvePath(__dirname, './assets/env.yaml');\n destPath = api.resolvePath(bundlePath, 'bundle/.ebextensions/env.config');\n copy(sourcePath, destPath, {\n bucketName: bucket\n });\n\n sourcePath = api.resolvePath(__dirname, './assets/env.sh');\n destPath = api.resolvePath(bundlePath, 'bundle/.platform/hooks/prebuild/47env.sh');\n copy(sourcePath, destPath, {\n bucketName: bucket\n });\n\n sourcePath = api.resolvePath(__dirname, './assets/health-check.js');\n destPath = api.resolvePath(bundlePath, 'bundle/health-check.js');\n copy(sourcePath, destPath);\n\n let customConfigPath = api.resolvePath(api.getBasePath(), `${appPath}/.ebextensions`);\n let customConfig = fs.existsSync(customConfigPath);\n if (customConfig) {\n console.log(' Copying files from project .ebextensions folder');\n fs.readdirSync(customConfigPath).forEach((file) => {\n sourcePath = api.resolvePath(customConfigPath, file);\n destPath = api.resolvePath(bundlePath, `bundle/.ebextensions/${file}`);\n copy(sourcePath, destPath);\n });\n }\n\n customConfigPath = api.resolvePath(api.getBasePath(), `${appPath}/.platform`);\n customConfig = fs.existsSync(customConfigPath);\n if (customConfig) {\n console.log(' Copying files from project .platform folder');\n copyFolderSync(customConfigPath, api.resolvePath(bundlePath, 'bundle/.platform'));\n }\n}\n\nexport function archiveApp(buildLocation, api) {\n const bundlePath = api.resolvePath(buildLocation, 'bundle.zip');\n\n try {\n fs.unlinkSync(bundlePath);\n } catch (e) {\n // empty\n }\n\n return new Promise((resolve, reject) => {\n logStep('=> Archiving Bundle');\n const sourceDir = api.resolvePath(buildLocation, 'bundle');\n\n const output = fs.createWriteStream(bundlePath);\n const archive = archiver('zip', {\n gzip: true,\n gzipOptions: {\n level: 9\n }\n });\n\n archive.pipe(output);\n output.once('close', resolve);\n\n archive.once('error', (err) => {\n logStep('=> Archiving failed:', err.message);\n reject(err);\n });\n\n let nextProgress = 0.1;\n archive.on('progress', ({ entries }) => {\n try {\n const progress = entries.processed / entries.total;\n\n if (progress > nextProgress) {\n console.log(` ${round(Math.floor(nextProgress * 100), -1)}% Archived`);\n nextProgress += 0.1;\n }\n } catch (e) {\n console.log(e);\n }\n });\n\n archive.directory(sourceDir, false, (entry) => {\n if (entry.name.startsWith('.platform/hooks/')) {\n // Hooks must be executable for AWS Beanstalk to run them\n // Windows doesn't have a way to make a file be executable, so we\n // set it in the zip file\n entry.mode = 0o777;\n }\n return entry;\n }).finalize();\n });\n}\n"],"mappings":"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","ignoreList":[]}
package/lib/recheck.js CHANGED
@@ -3,11 +3,10 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.getRecheckInterval = getRecheckInterval;
7
6
  exports.checkForThrottlingException = checkForThrottlingException;
7
+ exports.getRecheckInterval = getRecheckInterval;
8
8
  exports.handleThrottlingException = handleThrottlingException;
9
9
  let throttlingExceptionCounter = 0;
10
-
11
10
  function getRecheckInterval() {
12
11
  if (throttlingExceptionCounter === 10) {
13
12
  throw new Error('Maximum throttling backoff exceeded');
@@ -15,11 +14,9 @@ function getRecheckInterval() {
15
14
  return 2 ** throttlingExceptionCounter * 10000;
16
15
  }
17
16
  }
18
-
19
17
  function checkForThrottlingException(exception) {
20
18
  return exception && exception.code === 'Throttling' && exception.message === 'Rate exceeded';
21
19
  }
22
-
23
20
  function handleThrottlingException() {
24
21
  throttlingExceptionCounter++;
25
22
  console.log(`Setting new re-check interval to ${getRecheckInterval()}ms`);
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/recheck.js"],"names":["throttlingExceptionCounter","getRecheckInterval","Error","checkForThrottlingException","exception","code","message","handleThrottlingException","console","log"],"mappings":";;;;;;;;AAAA,IAAIA,0BAA0B,GAAG,CAAjC;;AAEO,SAASC,kBAAT,GAA8B;AACnC,MAAID,0BAA0B,KAAK,EAAnC,EAAuC;AACrC,UAAM,IAAIE,KAAJ,CAAU,qCAAV,CAAN;AACD,GAFD,MAEO;AACL,WAAQ,KAAKF,0BAAL,GAAkC,KAA1C;AACD;AACF;;AAEM,SAASG,2BAAT,CAAqCC,SAArC,EAAgD;AACrD,SAAQA,SAAS,IAAKA,SAAS,CAACC,IAAV,KAAmB,YAAjC,IAAmDD,SAAS,CAACE,OAAV,KAAsB,eAAjF;AACD;;AAEM,SAASC,yBAAT,GAAqC;AAC1CP,EAAAA,0BAA0B;AAC1BQ,EAAAA,OAAO,CAACC,GAAR,CAAa,oCAAmCR,kBAAkB,EAAG,IAArE;AACD","sourcesContent":["let throttlingExceptionCounter = 0;\n\nexport function getRecheckInterval() {\n if (throttlingExceptionCounter === 10) {\n throw new Error('Maximum throttling backoff exceeded');\n } else {\n return (2 ** throttlingExceptionCounter * 10000);\n }\n}\n\nexport function checkForThrottlingException(exception) {\n return (exception && (exception.code === 'Throttling') && (exception.message === 'Rate exceeded'));\n}\n\nexport function handleThrottlingException() {\n throttlingExceptionCounter++;\n console.log(`Setting new re-check interval to ${getRecheckInterval()}ms`);\n}\n"],"file":"recheck.js"}
1
+ {"version":3,"file":"recheck.js","names":["throttlingExceptionCounter","getRecheckInterval","Error","checkForThrottlingException","exception","code","message","handleThrottlingException","console","log"],"sources":["../src/recheck.js"],"sourcesContent":["let throttlingExceptionCounter = 0;\n\nexport function getRecheckInterval() {\n if (throttlingExceptionCounter === 10) {\n throw new Error('Maximum throttling backoff exceeded');\n } else {\n return (2 ** throttlingExceptionCounter * 10000);\n }\n}\n\nexport function checkForThrottlingException(exception) {\n return (exception && (exception.code === 'Throttling') && (exception.message === 'Rate exceeded'));\n}\n\nexport function handleThrottlingException() {\n throttlingExceptionCounter++;\n console.log(`Setting new re-check interval to ${getRecheckInterval()}ms`);\n}\n"],"mappings":";;;;;;;;AAAA,IAAIA,0BAA0B,GAAG,CAAC;AAE3B,SAASC,kBAAkBA,CAAA,EAAG;EACnC,IAAID,0BAA0B,KAAK,EAAE,EAAE;IACrC,MAAM,IAAIE,KAAK,CAAC,qCAAqC,CAAC;EACxD,CAAC,MAAM;IACL,OAAQ,CAAC,IAAIF,0BAA0B,GAAG,KAAK;EACjD;AACF;AAEO,SAASG,2BAA2BA,CAACC,SAAS,EAAE;EACrD,OAAQA,SAAS,IAAKA,SAAS,CAACC,IAAI,KAAK,YAAa,IAAKD,SAAS,CAACE,OAAO,KAAK,eAAgB;AACnG;AAEO,SAASC,yBAAyBA,CAAA,EAAG;EAC1CP,0BAA0B,EAAE;EAC5BQ,OAAO,CAACC,GAAG,CAAC,oCAAoCR,kBAAkB,CAAC,CAAC,IAAI,CAAC;AAC3E","ignoreList":[]}
package/lib/upload.js CHANGED
@@ -5,22 +5,15 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.default = upload;
7
7
  exports.uploadEnvFile = uploadEnvFile;
8
-
9
8
  var _fs = _interopRequireDefault(require("fs"));
10
-
11
9
  var _shellEscape = _interopRequireDefault(require("shell-escape"));
12
-
13
10
  var _aws = require("./aws");
14
-
15
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
16
-
11
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
17
12
  function upload(appConfig, bucket, key, bundlePath) {
18
13
  const params = {
19
14
  Bucket: bucket
20
15
  };
21
-
22
16
  const fileStream = _fs.default.createReadStream(bundlePath);
23
-
24
17
  fileStream.on('error', err => {
25
18
  console.log(err);
26
19
  });
@@ -28,20 +21,15 @@ function upload(appConfig, bucket, key, bundlePath) {
28
21
  params.Key = key;
29
22
  return new Promise((resolve, reject) => {
30
23
  let lastPercentage = -1;
31
-
32
24
  const uploader = _aws.s3.upload(params);
33
-
34
25
  uploader.on('httpUploadProgress', progress => {
35
26
  const percentage = Math.floor(progress.loaded / progress.total * 100);
36
-
37
27
  if (percentage !== lastPercentage) {
38
28
  console.log(` Uploaded ${percentage}%`);
39
-
40
29
  if (percentage === 100) {
41
30
  console.log(' Finishing upload. This could take a couple minutes');
42
31
  }
43
32
  }
44
-
45
33
  lastPercentage = percentage;
46
34
  });
47
35
  uploader.send((err, result) => {
@@ -49,12 +37,10 @@ function upload(appConfig, bucket, key, bundlePath) {
49
37
  reject(err);
50
38
  return;
51
39
  }
52
-
53
40
  resolve(result);
54
41
  });
55
42
  });
56
43
  }
57
-
58
44
  function uploadEnvFile(bucket, version, content) {
59
45
  return new Promise((resolve, reject) => {
60
46
  const uploader = _aws.s3.upload({
@@ -62,12 +48,10 @@ function uploadEnvFile(bucket, version, content) {
62
48
  Body: content,
63
49
  Key: `env/${version}.txt`
64
50
  });
65
-
66
51
  uploader.send((err, result) => {
67
52
  if (err) {
68
53
  return reject(err);
69
54
  }
70
-
71
55
  resolve(result);
72
56
  });
73
57
  });
package/lib/upload.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/upload.js"],"names":["upload","appConfig","bucket","key","bundlePath","params","Bucket","fileStream","fs","createReadStream","on","err","console","log","Body","Key","Promise","resolve","reject","lastPercentage","uploader","s3","progress","percentage","Math","floor","loaded","total","send","result","uploadEnvFile","version","content"],"mappings":";;;;;;;;AAAA;;AACA;;AACA;;;;AAEe,SAASA,MAAT,CAAgBC,SAAhB,EAA2BC,MAA3B,EAAmCC,GAAnC,EAAwCC,UAAxC,EAAoD;AACjE,QAAMC,MAAM,GAAG;AAAEC,IAAAA,MAAM,EAAEJ;AAAV,GAAf;;AACA,QAAMK,UAAU,GAAGC,YAAGC,gBAAH,CAAoBL,UAApB,CAAnB;;AACAG,EAAAA,UAAU,CAACG,EAAX,CAAc,OAAd,EAAwBC,GAAD,IAAS;AAC9BC,IAAAA,OAAO,CAACC,GAAR,CAAYF,GAAZ;AACD,GAFD;AAIAN,EAAAA,MAAM,CAACS,IAAP,GAAcP,UAAd;AACAF,EAAAA,MAAM,CAACU,GAAP,GAAaZ,GAAb;AAEA,SAAO,IAAIa,OAAJ,CAAY,CAACC,OAAD,EAAUC,MAAV,KAAqB;AACtC,QAAIC,cAAc,GAAG,CAAC,CAAtB;;AAEA,UAAMC,QAAQ,GAAGC,QAAGrB,MAAH,CAAUK,MAAV,CAAjB;;AAEAe,IAAAA,QAAQ,CAACV,EAAT,CAAY,oBAAZ,EAAmCY,QAAD,IAAc;AAC9C,YAAMC,UAAU,GAAGC,IAAI,CAACC,KAAL,CAAWH,QAAQ,CAACI,MAAT,GAAkBJ,QAAQ,CAACK,KAA3B,GAAmC,GAA9C,CAAnB;;AAEA,UAAIJ,UAAU,KAAKJ,cAAnB,EAAmC;AACjCP,QAAAA,OAAO,CAACC,GAAR,CAAa,cAAaU,UAAW,GAArC;;AAEA,YAAIA,UAAU,KAAK,GAAnB,EAAwB;AACtBX,UAAAA,OAAO,CAACC,GAAR,CAAY,sDAAZ;AACD;AACF;;AAEDM,MAAAA,cAAc,GAAGI,UAAjB;AACD,KAZD;AAcAH,IAAAA,QAAQ,CAACQ,IAAT,CAAc,CAACjB,GAAD,EAAMkB,MAAN,KAAiB;AAC7B,UAAIlB,GAAJ,EAAS;AACPO,QAAAA,MAAM,CAACP,GAAD,CAAN;AACA;AACD;;AAEDM,MAAAA,OAAO,CAACY,MAAD,CAAP;AACD,KAPD;AAQD,GA3BM,CAAP;AA4BD;;AAEM,SAASC,aAAT,CAAuB5B,MAAvB,EAA+B6B,OAA/B,EAAwCC,OAAxC,EAAiD;AACtD,SAAO,IAAIhB,OAAJ,CAAY,CAACC,OAAD,EAAUC,MAAV,KAAqB;AACtC,UAAME,QAAQ,GAAGC,QAAGrB,MAAH,CAAU;AACzBM,MAAAA,MAAM,EAAEJ,MADiB;AAEzBY,MAAAA,IAAI,EAAEkB,OAFmB;AAGzBjB,MAAAA,GAAG,EAAG,OAAMgB,OAAQ;AAHK,KAAV,CAAjB;;AAKAX,IAAAA,QAAQ,CAACQ,IAAT,CAAc,CAACjB,GAAD,EAAMkB,MAAN,KAAiB;AAC7B,UAAIlB,GAAJ,EAAS;AACP,eAAOO,MAAM,CAACP,GAAD,CAAb;AACD;;AAEDM,MAAAA,OAAO,CAACY,MAAD,CAAP;AACD,KAND;AAOD,GAbM,CAAP;AAcD","sourcesContent":["import fs from 'fs';\nimport shellEscape from 'shell-escape';\nimport { s3 } from './aws';\n\nexport default function upload(appConfig, bucket, key, bundlePath) {\n const params = { Bucket: bucket };\n const fileStream = fs.createReadStream(bundlePath);\n fileStream.on('error', (err) => {\n console.log(err);\n });\n\n params.Body = fileStream;\n params.Key = key;\n\n return new Promise((resolve, reject) => {\n let lastPercentage = -1;\n\n const uploader = s3.upload(params);\n\n uploader.on('httpUploadProgress', (progress) => {\n const percentage = Math.floor(progress.loaded / progress.total * 100);\n\n if (percentage !== lastPercentage) {\n console.log(` Uploaded ${percentage}%`);\n\n if (percentage === 100) {\n console.log(' Finishing upload. This could take a couple minutes');\n }\n }\n\n lastPercentage = percentage;\n });\n\n uploader.send((err, result) => {\n if (err) {\n reject(err);\n return;\n }\n\n resolve(result);\n });\n });\n}\n\nexport function uploadEnvFile(bucket, version, content) {\n return new Promise((resolve, reject) => {\n const uploader = s3.upload({\n Bucket: bucket,\n Body: content,\n Key: `env/${version}.txt`\n });\n uploader.send((err, result) => {\n if (err) {\n return reject(err);\n }\n\n resolve(result);\n });\n });\n}\n"],"file":"upload.js"}
1
+ {"version":3,"file":"upload.js","names":["_fs","_interopRequireDefault","require","_shellEscape","_aws","e","__esModule","default","upload","appConfig","bucket","key","bundlePath","params","Bucket","fileStream","fs","createReadStream","on","err","console","log","Body","Key","Promise","resolve","reject","lastPercentage","uploader","s3","progress","percentage","Math","floor","loaded","total","send","result","uploadEnvFile","version","content"],"sources":["../src/upload.js"],"sourcesContent":["import fs from 'fs';\nimport shellEscape from 'shell-escape';\nimport { s3 } from './aws';\n\nexport default function upload(appConfig, bucket, key, bundlePath) {\n const params = { Bucket: bucket };\n const fileStream = fs.createReadStream(bundlePath);\n fileStream.on('error', (err) => {\n console.log(err);\n });\n\n params.Body = fileStream;\n params.Key = key;\n\n return new Promise((resolve, reject) => {\n let lastPercentage = -1;\n\n const uploader = s3.upload(params);\n\n uploader.on('httpUploadProgress', (progress) => {\n const percentage = Math.floor(progress.loaded / progress.total * 100);\n\n if (percentage !== lastPercentage) {\n console.log(` Uploaded ${percentage}%`);\n\n if (percentage === 100) {\n console.log(' Finishing upload. This could take a couple minutes');\n }\n }\n\n lastPercentage = percentage;\n });\n\n uploader.send((err, result) => {\n if (err) {\n reject(err);\n return;\n }\n\n resolve(result);\n });\n });\n}\n\nexport function uploadEnvFile(bucket, version, content) {\n return new Promise((resolve, reject) => {\n const uploader = s3.upload({\n Bucket: bucket,\n Body: content,\n Key: `env/${version}.txt`\n });\n uploader.send((err, result) => {\n if (err) {\n return reject(err);\n }\n\n resolve(result);\n });\n });\n}\n"],"mappings":";;;;;;;AAAA,IAAAA,GAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,IAAA,GAAAF,OAAA;AAA2B,SAAAD,uBAAAI,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAEZ,SAASG,MAAMA,CAACC,SAAS,EAAEC,MAAM,EAAEC,GAAG,EAAEC,UAAU,EAAE;EACjE,MAAMC,MAAM,GAAG;IAAEC,MAAM,EAAEJ;EAAO,CAAC;EACjC,MAAMK,UAAU,GAAGC,WAAE,CAACC,gBAAgB,CAACL,UAAU,CAAC;EAClDG,UAAU,CAACG,EAAE,CAAC,OAAO,EAAGC,GAAG,IAAK;IAC9BC,OAAO,CAACC,GAAG,CAACF,GAAG,CAAC;EAClB,CAAC,CAAC;EAEFN,MAAM,CAACS,IAAI,GAAGP,UAAU;EACxBF,MAAM,CAACU,GAAG,GAAGZ,GAAG;EAEhB,OAAO,IAAIa,OAAO,CAAC,CAACC,OAAO,EAAEC,MAAM,KAAK;IACtC,IAAIC,cAAc,GAAG,CAAC,CAAC;IAEvB,MAAMC,QAAQ,GAAGC,OAAE,CAACrB,MAAM,CAACK,MAAM,CAAC;IAElCe,QAAQ,CAACV,EAAE,CAAC,oBAAoB,EAAGY,QAAQ,IAAK;MAC9C,MAAMC,UAAU,GAAGC,IAAI,CAACC,KAAK,CAACH,QAAQ,CAACI,MAAM,GAAGJ,QAAQ,CAACK,KAAK,GAAG,GAAG,CAAC;MAErE,IAAIJ,UAAU,KAAKJ,cAAc,EAAE;QACjCP,OAAO,CAACC,GAAG,CAAC,cAAcU,UAAU,GAAG,CAAC;QAExC,IAAIA,UAAU,KAAK,GAAG,EAAE;UACtBX,OAAO,CAACC,GAAG,CAAC,sDAAsD,CAAC;QACrE;MACF;MAEAM,cAAc,GAAGI,UAAU;IAC7B,CAAC,CAAC;IAEFH,QAAQ,CAACQ,IAAI,CAAC,CAACjB,GAAG,EAAEkB,MAAM,KAAK;MAC7B,IAAIlB,GAAG,EAAE;QACPO,MAAM,CAACP,GAAG,CAAC;QACX;MACF;MAEAM,OAAO,CAACY,MAAM,CAAC;IACjB,CAAC,CAAC;EACJ,CAAC,CAAC;AACJ;AAEO,SAASC,aAAaA,CAAC5B,MAAM,EAAE6B,OAAO,EAAEC,OAAO,EAAE;EACtD,OAAO,IAAIhB,OAAO,CAAC,CAACC,OAAO,EAAEC,MAAM,KAAK;IACtC,MAAME,QAAQ,GAAGC,OAAE,CAACrB,MAAM,CAAC;MACzBM,MAAM,EAAEJ,MAAM;MACdY,IAAI,EAAEkB,OAAO;MACbjB,GAAG,EAAE,OAAOgB,OAAO;IACrB,CAAC,CAAC;IACFX,QAAQ,CAACQ,IAAI,CAAC,CAACjB,GAAG,EAAEkB,MAAM,KAAK;MAC7B,IAAIlB,GAAG,EAAE;QACP,OAAOO,MAAM,CAACP,GAAG,CAAC;MACpB;MAEAM,OAAO,CAACY,MAAM,CAAC;IACjB,CAAC,CAAC;EACJ,CAAC,CAAC;AACJ","ignoreList":[]}