|
1 | 1 | 'use strict';
|
2 | 2 |
|
3 |
| -const BbPromise = require('bluebird'); |
4 |
| -const path = require('path'); |
5 | 3 | const _ = require('lodash');
|
6 | 4 |
|
7 | 5 | module.exports = {
|
8 | 6 | yamlParse() {
|
9 |
| - const servicePath = this.serverless.config.servicePath; |
10 |
| - if (!servicePath) { |
11 |
| - return BbPromise.resolve(); |
| 7 | + const parsedObject = this.serverless.configurationInput; |
| 8 | + |
| 9 | + this.serverless.service.stepFunctions = { |
| 10 | + validate: parsedObject.stepFunctions ? parsedObject.stepFunctions.validate : false, |
| 11 | + noOutput: parsedObject.stepFunctions ? parsedObject.stepFunctions.noOutput : false, |
| 12 | + }; |
| 13 | + this.serverless.service.stepFunctions.stateMachines = parsedObject.stepFunctions |
| 14 | + && parsedObject.stepFunctions.stateMachines |
| 15 | + ? parsedObject.stepFunctions.stateMachines : {}; |
| 16 | + this.serverless.service.stepFunctions.activities = parsedObject.stepFunctions |
| 17 | + && parsedObject.stepFunctions.activities |
| 18 | + ? parsedObject.stepFunctions.activities : []; |
| 19 | + |
| 20 | + if (!this.serverless.pluginManager.cliOptions.stage) { |
| 21 | + this.serverless.pluginManager.cliOptions.stage = this.options.stage |
| 22 | + || (this.serverless.service.provider && this.serverless.service.provider.stage) |
| 23 | + || 'dev'; |
12 | 24 | }
|
13 | 25 |
|
14 |
| - const fromYamlFile = serverlessYmlPath => this.serverless.yamlParser.parse(serverlessYmlPath); |
15 |
| - |
16 |
| - let parse = null; |
17 |
| - const serviceFileName = this.options.config || this.serverless.config.serverless.service.serviceFilename || 'serverless.yml'; |
18 |
| - const serverlessYmlPath = path.join(servicePath, serviceFileName); |
19 |
| - |
20 |
| - if (['.js', '.json', '.ts'].includes(path.extname(serverlessYmlPath))) { |
21 |
| - parse = this.loadFromRequiredFile; |
22 |
| - } else { |
23 |
| - parse = fromYamlFile; |
| 26 | + if (!this.serverless.pluginManager.cliOptions.region) { |
| 27 | + this.serverless.pluginManager.cliOptions.region = this.options.region |
| 28 | + || (this.serverless.service.provider && this.serverless.service.provider.region) |
| 29 | + || 'us-east-1'; |
24 | 30 | }
|
25 |
| - return parse(serverlessYmlPath) |
26 |
| - .then(serverlessFileParam => this.serverless.variables.populateObject(serverlessFileParam) |
27 |
| - .then((parsedObject) => { |
28 |
| - this.serverless.service.stepFunctions = { |
29 |
| - validate: parsedObject.stepFunctions ? parsedObject.stepFunctions.validate : false, |
30 |
| - noOutput: parsedObject.stepFunctions ? parsedObject.stepFunctions.noOutput : false, |
31 |
| - }; |
32 |
| - this.serverless.service.stepFunctions.stateMachines = parsedObject.stepFunctions |
33 |
| - && parsedObject.stepFunctions.stateMachines |
34 |
| - ? parsedObject.stepFunctions.stateMachines : {}; |
35 |
| - this.serverless.service.stepFunctions.activities = parsedObject.stepFunctions |
36 |
| - && parsedObject.stepFunctions.activities |
37 |
| - ? parsedObject.stepFunctions.activities : []; |
38 |
| - |
39 |
| - if (!this.serverless.pluginManager.cliOptions.stage) { |
40 |
| - this.serverless.pluginManager.cliOptions.stage = this.options.stage |
41 |
| - || (this.serverless.service.provider && this.serverless.service.provider.stage) |
42 |
| - || 'dev'; |
43 |
| - } |
44 |
| - |
45 |
| - if (!this.serverless.pluginManager.cliOptions.region) { |
46 |
| - this.serverless.pluginManager.cliOptions.region = this.options.region |
47 |
| - || (this.serverless.service.provider && this.serverless.service.provider.region) |
48 |
| - || 'us-east-1'; |
49 |
| - } |
50 |
| - |
51 |
| - this.serverless.variables.populateService(this.serverless.pluginManager.cliOptions); |
52 |
| - return BbPromise.resolve(); |
53 |
| - })); |
54 |
| - }, |
55 |
| - |
56 |
| - // This function must be ignored since mocking the require system is more |
57 |
| - // dangerous than beneficial |
58 |
| - loadFromRequiredFile(serverlessYmlPath) { |
59 |
| - /* istanbul ignore next */ |
60 |
| - // eslint-disable-next-line global-require, import/no-dynamic-require |
61 |
| - const fileContents = require(serverlessYmlPath); |
62 |
| - /* istanbul ignore next */ |
63 |
| - return BbPromise.resolve(fileContents); |
64 | 31 | },
|
65 | 32 |
|
66 | 33 | getAllStateMachines() {
|
|
0 commit comments