UNPKG

1.27 kBJavaScriptView Raw
1"use strict";
2Object.defineProperty(exports, "__esModule", { value: true });
3const fs = require("fs-extra");
4const ts = require("typescript");
5const generators_1 = require("./generators");
6exports.transformer = (functions) => (context) => {
7 return (tsSourceFile) => {
8 function visit(tsNode) {
9 if (generators_1.isFunctionClass(tsNode)) {
10 const functionName = generators_1.getFunctionName(tsSourceFile);
11 functions.push(functionName);
12 }
13 return tsNode;
14 }
15 return ts.visitEachChild(tsSourceFile, visit, context);
16 };
17};
18exports.default = (authConfigFile, buid, functionsDir) => {
19 return new Promise((resolve, reject) => {
20 const functions = [];
21 new generators_1.FunctionCodeProcessor(functionsDir, exports.transformer(functions))
22 .run()
23 .then(() => {
24 const content = fs.readFileSync(authConfigFile, { encoding: 'utf8' });
25 const config = { functions, buid, auth: JSON.parse(content) };
26 resolve(config);
27 })
28 .catch(error => {
29 reject(error);
30 });
31 });
32};
33exports.HANDLER_NAME = 'index';
34exports.HANDLER_NAME_WITH_EXT = [exports.HANDLER_NAME, 'js'].join('.');