1 | 'use strict';
|
2 |
|
3 |
|
4 |
|
5 |
|
6 |
|
7 |
|
8 |
|
9 |
|
10 |
|
11 |
|
12 |
|
13 | const fs = require('fs');
|
14 | const path = require('path');
|
15 |
|
16 | const ServerlessConfig = require('../src/Serverless/Config');
|
17 |
|
18 | require('./env');
|
19 |
|
20 | const parseRoutes = (directory) => {
|
21 | if (!fs.existsSync(directory)) {
|
22 | return {};
|
23 | }
|
24 |
|
25 | const slsConfig = new ServerlessConfig(directory);
|
26 | const results = {};
|
27 |
|
28 | fs.readdirSync(directory).forEach(function (file) {
|
29 | if (file.match('.js')) {
|
30 | Object.assign(results, slsConfig.load(file).render());
|
31 | }
|
32 | }, this);
|
33 |
|
34 | return results;
|
35 | };
|
36 |
|
37 | module.exports = (baseDirectory) => {
|
38 | baseDirectory = baseDirectory || process.cwd();
|
39 | const directories = require(path.join(baseDirectory, 'config/app')).functions;
|
40 | const results = {};
|
41 |
|
42 | process.env.LESSWORK_FUNCTION_MODE = true;
|
43 |
|
44 | directories.map(function (directory) {
|
45 | Object.assign(results, parseRoutes(path.join(baseDirectory, 'app', directory, '/')));
|
46 | });
|
47 |
|
48 | delete process.env.LESSWORK_FUNCTION_MODE;
|
49 |
|
50 | return results;
|
51 | }; |
\ | No newline at end of file |