UNPKG

1.08 kBJavaScriptView Raw
1'use strict';
2
3/**
4 * WIP
5 * - refactor to class
6 * - export new class().handle()
7 *
8 * Functions
9 * - export Kernel data to serverless.
10 *
11 */
12
13const fs = require('fs');
14const path = require('path');
15
16const ServerlessConfig = require('../src/Serverless/Config');
17
18require('./env');
19
20const 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
37module.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