@betty-blocks/cli 26.0.0-beta.15 → 26.0.0-beta.17
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.
- package/build/bb-blocks-new.js +23 -0
- package/build/bb-blocks-new.js.map +1 -0
- package/build/bb-blocks-publish.js +98 -0
- package/build/bb-blocks-publish.js.map +1 -0
- package/build/bb-blocks-release.js +18 -0
- package/build/bb-blocks-release.js.map +1 -0
- package/build/bb-blocks.js +17 -0
- package/build/bb-blocks.js.map +1 -0
- package/build/bb-bundle-init.js +33 -0
- package/build/bb-bundle-init.js.map +1 -0
- package/build/bb-bundle.js +17 -0
- package/build/bb-bundle.js.map +1 -0
- package/build/bb-components-build.js +416 -0
- package/build/bb-components-build.js.map +1 -0
- package/build/bb-components-create.js +41 -0
- package/build/bb-components-create.js.map +1 -0
- package/build/bb-components-generate.js +168 -0
- package/build/bb-components-generate.js.map +1 -0
- package/build/bb-components-publish-bundle.js +50 -0
- package/build/bb-components-publish-bundle.js.map +1 -0
- package/build/bb-components-publish.js +57 -0
- package/build/bb-components-publish.js.map +1 -0
- package/build/bb-components-serve.js +35 -0
- package/build/bb-components-serve.js.map +1 -0
- package/build/bb-components.js +29 -0
- package/build/bb-components.js.map +1 -0
- package/build/bb-functions-build.js +56 -0
- package/build/bb-functions-build.js.map +1 -0
- package/build/bb-functions-bump.js +64 -0
- package/build/bb-functions-bump.js.map +1 -0
- package/build/bb-functions-init.js +53 -0
- package/build/bb-functions-init.js.map +1 -0
- package/build/bb-functions-login.js +17 -0
- package/build/bb-functions-login.js.map +1 -0
- package/build/bb-functions-logout.js +10 -0
- package/build/bb-functions-logout.js.map +1 -0
- package/build/bb-functions-new.js +22 -0
- package/build/bb-functions-new.js.map +1 -0
- package/build/bb-functions-publish.js +47 -0
- package/build/bb-functions-publish.js.map +1 -0
- package/build/bb-functions-validate.js +30 -0
- package/build/bb-functions-validate.js.map +1 -0
- package/build/bb-functions.js +33 -0
- package/build/bb-functions.js.map +1 -0
- package/build/bb.js +27 -0
- package/build/bb.js.map +1 -0
- package/build/blocks/blockDefinitions.js +57 -0
- package/build/blocks/blockDefinitions.js.map +1 -0
- package/build/blocks/publishBlocks.js +56 -0
- package/build/blocks/publishBlocks.js.map +1 -0
- package/build/blocks/releaseBlocks.js +78 -0
- package/build/blocks/releaseBlocks.js.map +1 -0
- package/build/components/comments.js +78 -0
- package/build/components/comments.js.map +1 -0
- package/build/components/compatibility.js +60 -0
- package/build/components/compatibility.js.map +1 -0
- package/build/components/transformers/index.js +36 -0
- package/build/components/transformers/index.js.map +1 -0
- package/build/components-build/index.js +3 -0
- package/build/components-build/index.js.map +1 -0
- package/build/components-build/reportDiagnostics.js +13 -0
- package/build/components-build/reportDiagnostics.js.map +1 -0
- package/build/components-build/styles.js +87 -0
- package/build/components-build/styles.js.map +1 -0
- package/build/functions/acquireAppFunctionsProject.js +14 -0
- package/build/functions/acquireAppFunctionsProject.js.map +1 -0
- package/build/functions/acquireCustomFunctionsProject.js +15 -0
- package/build/functions/acquireCustomFunctionsProject.js.map +1 -0
- package/build/functions/bb-components-functions.js +40 -0
- package/build/functions/bb-components-functions.js.map +1 -0
- package/build/functions/config.js +190 -0
- package/build/functions/config.js.map +1 -0
- package/build/functions/functionDefinitions.js +175 -0
- package/build/functions/functionDefinitions.js.map +1 -0
- package/build/functions/icons.js +42 -0
- package/build/functions/icons.js.map +1 -0
- package/build/functions/publishAppFunctions.js +92 -0
- package/build/functions/publishAppFunctions.js.map +1 -0
- package/build/functions/publishCustomFunctions.js +95 -0
- package/build/functions/publishCustomFunctions.js.map +1 -0
- package/build/functions/publishFunctions.js +98 -0
- package/build/functions/publishFunctions.js.map +1 -0
- package/build/functions/utils.js +20 -0
- package/build/functions/utils.js.map +1 -0
- package/build/functions/validations.js +107 -0
- package/build/functions/validations.js.map +1 -0
- package/build/functions/versions.js +48 -0
- package/build/functions/versions.js.map +1 -0
- package/build/interactions/compatibility.js +84 -0
- package/build/interactions/compatibility.js.map +1 -0
- package/build/interactions/diagnostics.js +23 -0
- package/build/interactions/diagnostics.js.map +1 -0
- package/build/types.js +40 -0
- package/build/types.js.map +1 -0
- package/build/utils/arguments.js +6 -0
- package/build/utils/arguments.js.map +1 -0
- package/build/utils/checkPackageVersion.js +10 -0
- package/build/utils/checkPackageVersion.js.map +1 -0
- package/build/utils/checkUpdateAvailable.js +65 -0
- package/build/utils/checkUpdateAvailable.js.map +1 -0
- package/build/utils/fusionAuth.js +108 -0
- package/build/utils/fusionAuth.js.map +1 -0
- package/build/utils/hash.js +3 -0
- package/build/utils/hash.js.map +1 -0
- package/build/utils/ide.js +145 -0
- package/build/utils/ide.js.map +1 -0
- package/build/utils/login.js +116 -0
- package/build/utils/login.js.map +1 -0
- package/build/utils/pick.js +16 -0
- package/build/utils/pick.js.map +1 -0
- package/build/utils/readFilesByType.js +23 -0
- package/build/utils/readFilesByType.js.map +1 -0
- package/build/utils/rootDir.js +4 -0
- package/build/utils/rootDir.js.map +1 -0
- package/build/utils/serveComponentSet.js +52 -0
- package/build/utils/serveComponentSet.js.map +1 -0
- package/build/utils/transpile.js +25 -0
- package/build/utils/transpile.js.map +1 -0
- package/build/utils/uploadBlob.js +56 -0
- package/build/utils/uploadBlob.js.map +1 -0
- package/build/utils/validation.js +74 -0
- package/build/utils/validation.js.map +1 -0
- package/build/validations/component.js +56 -0
- package/build/validations/component.js.map +1 -0
- package/build/validations/constants.js +208 -0
- package/build/validations/constants.js.map +1 -0
- package/build/validations/function-block-validations/index.js +70 -0
- package/build/validations/function-block-validations/index.js.map +1 -0
- package/build/validations/interaction.js +22 -0
- package/build/validations/interaction.js.map +1 -0
- package/build/validations/prefab/action.js +99 -0
- package/build/validations/prefab/action.js.map +1 -0
- package/build/validations/prefab/component.js +290 -0
- package/build/validations/prefab/component.js.map +1 -0
- package/build/validations/prefab/componentOption.js +176 -0
- package/build/validations/prefab/componentOption.js.map +1 -0
- package/build/validations/prefab/interaction.js +38 -0
- package/build/validations/prefab/interaction.js.map +1 -0
- package/build/validations/prefab/linkedOption.js +39 -0
- package/build/validations/prefab/linkedOption.js.map +1 -0
- package/build/validations/prefab/linkedPartial.js +30 -0
- package/build/validations/prefab/linkedPartial.js.map +1 -0
- package/build/validations/prefab/variable.js +36 -0
- package/build/validations/prefab/variable.js.map +1 -0
- package/build/validations/prefab.js +66 -0
- package/build/validations/prefab.js.map +1 -0
- package/build/validations/styles.js +103 -0
- package/build/validations/styles.js.map +1 -0
- package/package.json +2 -2
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { flattenDiagnosticMessageText, JsxEmit, ScriptTarget, transpileModule, } from 'typescript';
|
|
2
|
+
const { React } = JsxEmit;
|
|
3
|
+
const { ES5 } = ScriptTarget;
|
|
4
|
+
export const transpile = (code, before) => {
|
|
5
|
+
const { diagnostics, outputText } = transpileModule(code, {
|
|
6
|
+
compilerOptions: {
|
|
7
|
+
allowJs: true,
|
|
8
|
+
checkJs: true,
|
|
9
|
+
downlevelIteration: true,
|
|
10
|
+
jsx: React,
|
|
11
|
+
// Requires tslib
|
|
12
|
+
noEmitHelpers: true,
|
|
13
|
+
target: ES5,
|
|
14
|
+
},
|
|
15
|
+
reportDiagnostics: true,
|
|
16
|
+
transformers: {
|
|
17
|
+
before,
|
|
18
|
+
},
|
|
19
|
+
});
|
|
20
|
+
let messageText = '';
|
|
21
|
+
if (diagnostics) {
|
|
22
|
+
diagnostics.forEach((diagnostic) => {
|
|
23
|
+
if (diagnostic.file) {
|
|
24
|
+
const { line, character } = diagnostic.file.getLineAndCharacterOfPosition(diagnostic.start ?? 0);
|
|
25
|
+
messageText += ` ${diagnostic.file.fileName} (${line + 1},${character + 1})`;
|
|
26
|
+
}
|
|
27
|
+
messageText += `: ${flattenDiagnosticMessageText(diagnostic.messageText, '\n')}`;
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
if (messageText) {
|
|
31
|
+
throw new Error(messageText);
|
|
32
|
+
}
|
|
33
|
+
return outputText;
|
|
34
|
+
};
|
|
35
|
+
export const doTranspile = (code) => transpile(code, []);
|
|
36
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/transformers/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,4BAA4B,EAC5B,OAAO,EACP,YAAY,EAGZ,eAAe,GAChB,MAAM,YAAY,CAAC;AAEpB,MAAM,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC;AAC1B,MAAM,EAAE,GAAG,EAAE,GAAG,YAAY,CAAC;AAE7B,MAAM,CAAC,MAAM,SAAS,GAAG,CACvB,IAAY,EACZ,MAAqE,EAC7D,EAAE;IACV,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,GAAG,eAAe,CAAC,IAAI,EAAE;QACxD,eAAe,EAAE;YACf,OAAO,EAAE,IAAI;YACb,OAAO,EAAE,IAAI;YACb,kBAAkB,EAAE,IAAI;YACxB,GAAG,EAAE,KAAK;YACV,iBAAiB;YACjB,aAAa,EAAE,IAAI;YACnB,MAAM,EAAE,GAAG;SACZ;QACD,iBAAiB,EAAE,IAAI;QACvB,YAAY,EAAE;YACZ,MAAM;SACP;KACF,CAAC,CAAC;IAEH,IAAI,WAAW,GAAG,EAAE,CAAC;IACrB,IAAI,WAAW,EAAE,CAAC;QAChB,WAAW,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,EAAE;YACjC,IAAI,UAAU,CAAC,IAAI,EAAE,CAAC;gBACpB,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,GACvB,UAAU,CAAC,IAAI,CAAC,6BAA6B,CAAC,UAAU,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC;gBACvE,WAAW,IAAI,IAAI,UAAU,CAAC,IAAI,CAAC,QAAQ,KAAK,IAAI,GAAG,CAAC,IACtD,SAAS,GAAG,CACd,GAAG,CAAC;YACN,CAAC;YACD,WAAW,IAAI,KAAK,4BAA4B,CAC9C,UAAU,CAAC,WAAW,EACtB,IAAI,CACL,EAAE,CAAC;QACN,CAAC,CAAC,CAAC;IACL,CAAC;IAED,IAAI,WAAW,EAAE,CAAC;QAChB,MAAM,IAAI,KAAK,CAAC,WAAW,CAAC,CAAC;IAC/B,CAAC;IAED,OAAO,UAAU,CAAC;AACpB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,IAAY,EAAU,EAAE,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/components-build/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,UAAU,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import ts from 'typescript';
|
|
2
|
+
export const reportDiagnostics = (diagnostics) => {
|
|
3
|
+
diagnostics.forEach((diagnostic) => {
|
|
4
|
+
let message = 'Error';
|
|
5
|
+
if (diagnostic.file) {
|
|
6
|
+
const { line, character } = diagnostic.file.getLineAndCharacterOfPosition(diagnostic.start ?? 0);
|
|
7
|
+
message += ` ${diagnostic.file.fileName} (${line + 1},${character + 1})`;
|
|
8
|
+
}
|
|
9
|
+
message += `: ${ts.flattenDiagnosticMessageText(diagnostic.messageText, '\n')}`;
|
|
10
|
+
console.error(`\u001b[31m${message}\u001b[0m`);
|
|
11
|
+
});
|
|
12
|
+
};
|
|
13
|
+
//# sourceMappingURL=reportDiagnostics.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reportDiagnostics.js","sourceRoot":"","sources":["../../src/components-build/reportDiagnostics.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,YAAY,CAAC;AAE5B,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,WAA4B,EAAQ,EAAE;IACtE,WAAW,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,EAAE;QACjC,IAAI,OAAO,GAAG,OAAO,CAAC;QACtB,IAAI,UAAU,CAAC,IAAI,EAAE,CAAC;YACpB,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,UAAU,CAAC,IAAI,CAAC,6BAA6B,CACvE,UAAU,CAAC,KAAK,IAAI,CAAC,CACtB,CAAC;YACF,OAAO,IAAI,IAAI,UAAU,CAAC,IAAI,CAAC,QAAQ,KAAK,IAAI,GAAG,CAAC,IAAI,SAAS,GAAG,CAAC,GAAG,CAAC;QAC3E,CAAC;QACD,OAAO,IAAI,KAAK,EAAE,CAAC,4BAA4B,CAC7C,UAAU,CAAC,WAAW,EACtB,IAAI,CACL,EAAE,CAAC;QACJ,OAAO,CAAC,KAAK,CAAC,aAAa,OAAO,WAAW,CAAC,CAAC;IACjD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC"}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
import { ensureDir, pathExists } from 'fs-extra';
|
|
2
|
+
import path from 'path';
|
|
3
|
+
import ts from 'typescript';
|
|
4
|
+
import readFilesByType from '../utils/readFilesByType';
|
|
5
|
+
import { reportDiagnostics } from './reportDiagnostics';
|
|
6
|
+
export const readStyles = async (rootDir) => {
|
|
7
|
+
const absoluteRootDir = path.resolve(process.cwd(), rootDir);
|
|
8
|
+
const srcDir = `${absoluteRootDir}/src/styles`;
|
|
9
|
+
const exists = await pathExists(srcDir);
|
|
10
|
+
if (!exists) {
|
|
11
|
+
await ensureDir(srcDir);
|
|
12
|
+
}
|
|
13
|
+
const styleFiles = await readFilesByType(srcDir, 'ts');
|
|
14
|
+
const styleProgram = ts.createProgram(styleFiles.map((file) => `${srcDir}/${file}`), {
|
|
15
|
+
allowSyntheticDefaultImports: false,
|
|
16
|
+
esModuleInterop: true,
|
|
17
|
+
listEmittedFiles: true,
|
|
18
|
+
module: 1,
|
|
19
|
+
outDir: '.styles',
|
|
20
|
+
target: 99,
|
|
21
|
+
});
|
|
22
|
+
const diagnostics = [...ts.getPreEmitDiagnostics(styleProgram)];
|
|
23
|
+
if (diagnostics.length > 0) {
|
|
24
|
+
reportDiagnostics(diagnostics);
|
|
25
|
+
process.exit(1);
|
|
26
|
+
}
|
|
27
|
+
const results = styleProgram.emit();
|
|
28
|
+
if (results.diagnostics.length > 0) {
|
|
29
|
+
reportDiagnostics([...results.diagnostics]);
|
|
30
|
+
process.exit(1);
|
|
31
|
+
}
|
|
32
|
+
const globalDiagnostics = [...styleProgram.getGlobalDiagnostics()];
|
|
33
|
+
if (globalDiagnostics.length > 0) {
|
|
34
|
+
reportDiagnostics(globalDiagnostics);
|
|
35
|
+
process.exit(1);
|
|
36
|
+
}
|
|
37
|
+
const declarationDiagnostics = [...styleProgram.getDeclarationDiagnostics()];
|
|
38
|
+
if (declarationDiagnostics.length > 0) {
|
|
39
|
+
reportDiagnostics(declarationDiagnostics);
|
|
40
|
+
process.exit(1);
|
|
41
|
+
}
|
|
42
|
+
const configDiagnostics = [...styleProgram.getConfigFileParsingDiagnostics()];
|
|
43
|
+
if (configDiagnostics.length > 0) {
|
|
44
|
+
reportDiagnostics(configDiagnostics);
|
|
45
|
+
process.exit(1);
|
|
46
|
+
}
|
|
47
|
+
const styles = (results.emittedFiles ?? [])
|
|
48
|
+
.filter((filename) => /\.(\w+\/){1}\w+\.js/.test(filename))
|
|
49
|
+
.map((filename) => new Promise((resolve) => {
|
|
50
|
+
import(`${absoluteRootDir}/${filename}`)
|
|
51
|
+
.then((style) => {
|
|
52
|
+
// JSON schema validation
|
|
53
|
+
resolve(style.default);
|
|
54
|
+
})
|
|
55
|
+
.catch((error) => {
|
|
56
|
+
throw new Error(`in ${filename}: ${error}`);
|
|
57
|
+
});
|
|
58
|
+
}));
|
|
59
|
+
return Promise.all(styles);
|
|
60
|
+
};
|
|
61
|
+
export const buildStyle = ({ states, basis, ...style }) => {
|
|
62
|
+
const buildContent = states.reduce((acc, { name, content }) => ({
|
|
63
|
+
...acc,
|
|
64
|
+
[name]: content,
|
|
65
|
+
}), { basis });
|
|
66
|
+
return { ...style, content: buildContent };
|
|
67
|
+
};
|
|
68
|
+
const isStyleDefinitionContentOverwrite = (overwrite) => Array.isArray(overwrite);
|
|
69
|
+
export const buildReferenceStyle = (style) => {
|
|
70
|
+
if (typeof style === 'undefined') {
|
|
71
|
+
return undefined;
|
|
72
|
+
}
|
|
73
|
+
const { overwrite, name } = style;
|
|
74
|
+
const nameObject = name ? { name } : {};
|
|
75
|
+
if (typeof overwrite === 'undefined') {
|
|
76
|
+
return { ...nameObject };
|
|
77
|
+
}
|
|
78
|
+
if (isStyleDefinitionContentOverwrite(overwrite)) {
|
|
79
|
+
const buildOverwrite = overwrite.reduce((acc, { name: key, content }) => ({
|
|
80
|
+
...acc,
|
|
81
|
+
[key]: content,
|
|
82
|
+
}), {});
|
|
83
|
+
return { ...nameObject, overwrite: buildOverwrite };
|
|
84
|
+
}
|
|
85
|
+
return { ...nameObject, overwrite };
|
|
86
|
+
};
|
|
87
|
+
//# sourceMappingURL=styles.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"styles.js","sourceRoot":"","sources":["../../src/components-build/styles.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import fs from 'fs';
|
|
2
|
+
import path from 'path';
|
|
3
|
+
const acquireAppFunctionsProject = (dir) => {
|
|
4
|
+
const expected = ['functions', 'package.json', '.app-functions'];
|
|
5
|
+
const intersection = fs
|
|
6
|
+
.readdirSync(dir)
|
|
7
|
+
.filter((file) => expected.includes(file));
|
|
8
|
+
if (intersection.length === expected.length) {
|
|
9
|
+
return path.basename(dir);
|
|
10
|
+
}
|
|
11
|
+
throw new Error('The current directory is not an app functions project. Abort.');
|
|
12
|
+
};
|
|
13
|
+
export default acquireAppFunctionsProject;
|
|
14
|
+
//# sourceMappingURL=acquireAppFunctionsProject.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"acquireAppFunctionsProject.js","sourceRoot":"","sources":["../../src/functions/acquireAppFunctionsProject.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,MAAM,0BAA0B,GAAG,CAAC,GAAW,EAAU,EAAE;IACzD,MAAM,QAAQ,GAAG,CAAC,WAAW,EAAE,cAAc,EAAE,gBAAgB,CAAC,CAAC;IACjE,MAAM,YAAY,GAAG,EAAE;SACpB,WAAW,CAAC,GAAG,CAAC;SAChB,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;IAE7C,IAAI,YAAY,CAAC,MAAM,KAAK,QAAQ,CAAC,MAAM,EAAE,CAAC;QAC5C,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IAC5B,CAAC;IAED,MAAM,IAAI,KAAK,CACb,+DAA+D,CAChE,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,0BAA0B,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import fs from 'fs';
|
|
2
|
+
import path from 'path';
|
|
3
|
+
const acquireCustomFunctionsProject = (dir) => {
|
|
4
|
+
const expected = ['functions.json', 'package.json', 'src'];
|
|
5
|
+
const intersection = fs
|
|
6
|
+
.readdirSync(dir)
|
|
7
|
+
.filter((file) => expected.includes(file));
|
|
8
|
+
if (intersection.length === expected.length) {
|
|
9
|
+
return path.basename(dir);
|
|
10
|
+
}
|
|
11
|
+
console.log('The current directory is not a custom functions project. Abort.');
|
|
12
|
+
process.exit();
|
|
13
|
+
};
|
|
14
|
+
export default acquireCustomFunctionsProject;
|
|
15
|
+
//# sourceMappingURL=acquireCustomFunctionsProject.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"acquireCustomFunctionsProject.js","sourceRoot":"","sources":["../../src/functions/acquireCustomFunctionsProject.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,MAAM,6BAA6B,GAAG,CAAC,GAAW,EAAU,EAAE;IAC5D,MAAM,QAAQ,GAAG,CAAC,gBAAgB,EAAE,cAAc,EAAE,KAAK,CAAC,CAAC;IAC3D,MAAM,YAAY,GAAG,EAAE;SACpB,WAAW,CAAC,GAAG,CAAC;SAChB,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;IAE7C,IAAI,YAAY,CAAC,MAAM,KAAK,QAAQ,CAAC,MAAM,EAAE,CAAC;QAC5C,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IAC5B,CAAC;IAED,OAAO,CAAC,GAAG,CACT,iEAAiE,CAClE,CAAC;IAEF,OAAO,CAAC,IAAI,EAAE,CAAC;AACjB,CAAC,CAAC;AAEF,eAAe,6BAA6B,CAAC"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import chalk from 'chalk';
|
|
2
|
+
import uploadBlob, {} from '../utils/uploadBlob';
|
|
3
|
+
export const upload = async ({ blobContentType, bucketName, fileName, objects, }) => {
|
|
4
|
+
try {
|
|
5
|
+
return await uploadBlob({
|
|
6
|
+
blobContainerName: bucketName,
|
|
7
|
+
blobContent: objects,
|
|
8
|
+
blobContentType,
|
|
9
|
+
blobName: fileName,
|
|
10
|
+
});
|
|
11
|
+
}
|
|
12
|
+
catch (error) {
|
|
13
|
+
const defaultMessage = 'There was an error trying to publish your component set';
|
|
14
|
+
const errorObject = error;
|
|
15
|
+
const { body, message } = errorObject;
|
|
16
|
+
if (!body) {
|
|
17
|
+
throw new Error(chalk.red([defaultMessage, message].join('\n')));
|
|
18
|
+
}
|
|
19
|
+
const { code, message: bodyMessage } = body;
|
|
20
|
+
const extraMessage = code === 'AuthenticationFailed'
|
|
21
|
+
? 'Make sure your azure blob account and key are correct'
|
|
22
|
+
: bodyMessage;
|
|
23
|
+
throw new Error(chalk.red([defaultMessage, extraMessage].join('\n')));
|
|
24
|
+
}
|
|
25
|
+
};
|
|
26
|
+
export const publish = async ({ blobContentType, bucketName, fileName, objects, }) => {
|
|
27
|
+
console.log(`Publishing ${fileName}.`);
|
|
28
|
+
return upload({
|
|
29
|
+
blobContentType,
|
|
30
|
+
bucketName,
|
|
31
|
+
fileName,
|
|
32
|
+
objects,
|
|
33
|
+
});
|
|
34
|
+
};
|
|
35
|
+
export const validateBucketName = (name) => {
|
|
36
|
+
if (!name || typeof name !== 'string' || !name.length) {
|
|
37
|
+
throw new Error(chalk.red('\n-b or --bucket [name] is required\n'));
|
|
38
|
+
}
|
|
39
|
+
};
|
|
40
|
+
//# sourceMappingURL=bb-components-functions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bb-components-functions.js","sourceRoot":"","sources":["../../src/functions/bb-components-functions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,UAAU,EAAE,EAElB,MAAM,qBAAqB,CAAC;AAS7B,MAAM,CAAC,MAAM,MAAM,GAAG,KAAK,EAAE,EAC3B,eAAe,EACf,UAAU,EACV,QAAQ,EACR,OAAO,GACK,EAA4C,EAAE;IAC1D,IAAI,CAAC;QACH,OAAO,MAAM,UAAU,CAAC;YACtB,iBAAiB,EAAE,UAAU;YAC7B,WAAW,EAAE,OAAO;YACpB,eAAe;YACf,QAAQ,EAAE,QAAQ;SACnB,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,cAAc,GAClB,yDAAyD,CAAC;QAE5D,MAAM,WAAW,GAAG,KAGnB,CAAC;QACF,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,WAAW,CAAC;QAEtC,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,MAAM,IAAI,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACnE,CAAC;QAED,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC;QAE5C,MAAM,YAAY,GAChB,IAAI,KAAK,sBAAsB;YAC7B,CAAC,CAAC,uDAAuD;YACzD,CAAC,CAAC,WAAW,CAAC;QAElB,MAAM,IAAI,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,cAAc,EAAE,YAAY,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACxE,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,OAAO,GAAG,KAAK,EAAE,EAC5B,eAAe,EACf,UAAU,EACV,QAAQ,EACR,OAAO,GACK,EAA4C,EAAE;IAC1D,OAAO,CAAC,GAAG,CAAC,cAAc,QAAQ,GAAG,CAAC,CAAC;IAEvC,OAAO,MAAM,CAAC;QACZ,eAAe;QACf,UAAU;QACV,QAAQ;QACR,OAAO;KACR,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,IAAY,EAAQ,EAAE;IACvD,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;QACtD,MAAM,IAAI,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,uCAAuC,CAAC,CAAC,CAAC;IACtE,CAAC;AACH,CAAC,CAAC"}
|
|
@@ -0,0 +1,190 @@
|
|
|
1
|
+
import fs from 'fs-extra';
|
|
2
|
+
import https, {} from 'https';
|
|
3
|
+
import os from 'os';
|
|
4
|
+
import path from 'path';
|
|
5
|
+
import prompts from 'prompts';
|
|
6
|
+
import { setHttpsAgent } from './utils';
|
|
7
|
+
class Config {
|
|
8
|
+
/* static */
|
|
9
|
+
static localConfigPath = path.join(process.cwd(), 'config.json');
|
|
10
|
+
static globalConfigPath = path.join(os.homedir(), '.bb-cli.json');
|
|
11
|
+
static writeToGlobalConfig(key, value) {
|
|
12
|
+
const config = this.readGlobalConfig();
|
|
13
|
+
this.writeGlobalConfig({
|
|
14
|
+
...config,
|
|
15
|
+
[key]: value,
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
static registerApplicationId(identifier, zone, applicationId) {
|
|
19
|
+
this.writeToGlobalConfig('applicationMap', {
|
|
20
|
+
...Config.readGlobalConfig().applicationMap,
|
|
21
|
+
[this.applicationIdKey(identifier, zone)]: applicationId,
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
static readGlobalConfig() {
|
|
25
|
+
this.ensureGlobalConfigExists();
|
|
26
|
+
return fs.readJSONSync(this.globalConfigPath);
|
|
27
|
+
}
|
|
28
|
+
static ensureGlobalConfigExists() {
|
|
29
|
+
if (!fs.existsSync(this.globalConfigPath)) {
|
|
30
|
+
fs.writeJSONSync(this.globalConfigPath, {
|
|
31
|
+
applicationMap: {},
|
|
32
|
+
auth: {},
|
|
33
|
+
}, { spaces: 2 });
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
static writeGlobalConfig(map) {
|
|
37
|
+
this.ensureGlobalConfigExists();
|
|
38
|
+
fs.writeJSONSync(this.globalConfigPath, map, { spaces: 2 });
|
|
39
|
+
}
|
|
40
|
+
static async promptApplicationId(identifier, zone) {
|
|
41
|
+
const { applicationId } = (await prompts([
|
|
42
|
+
{
|
|
43
|
+
message: `Please provide the UUID for '${identifier}' (${zone})`,
|
|
44
|
+
name: 'applicationId',
|
|
45
|
+
type: 'text',
|
|
46
|
+
},
|
|
47
|
+
]));
|
|
48
|
+
if (!applicationId) {
|
|
49
|
+
return this.promptApplicationId(identifier, zone);
|
|
50
|
+
}
|
|
51
|
+
this.registerApplicationId(identifier, zone, applicationId);
|
|
52
|
+
return applicationId;
|
|
53
|
+
}
|
|
54
|
+
static applicationIdKey = (identifier, zone) => `${identifier}.${zone}`;
|
|
55
|
+
static readConfig = () => {
|
|
56
|
+
const cfgPath = Config.localConfigPath;
|
|
57
|
+
if (fs.pathExistsSync(cfgPath)) {
|
|
58
|
+
return fs.readJsonSync(cfgPath);
|
|
59
|
+
}
|
|
60
|
+
return {};
|
|
61
|
+
};
|
|
62
|
+
static defaultConfig = () => ({
|
|
63
|
+
agentOptions: undefined,
|
|
64
|
+
blockstoreApiUrl: 'https://my{ZONEPOSTFIX}.bettyblocks.com/block-store-api',
|
|
65
|
+
builderApiUrl: '{HOST}/api/builder',
|
|
66
|
+
cacheDir: '.tmp/',
|
|
67
|
+
domain: 'bettyblocks.com',
|
|
68
|
+
functionSchemaPath: '/bettyblocks/json-schema/master/schemas/actions/function.json',
|
|
69
|
+
fusionAuthUrl: 'https://id{ZONEPOSTFIX}.bettyblocks.com',
|
|
70
|
+
includes: [],
|
|
71
|
+
schemaUrl: 'https://raw.githubusercontent.com',
|
|
72
|
+
skipCompile: false,
|
|
73
|
+
});
|
|
74
|
+
/* instance */
|
|
75
|
+
config;
|
|
76
|
+
_identifier;
|
|
77
|
+
_zone;
|
|
78
|
+
_host;
|
|
79
|
+
_applicationId;
|
|
80
|
+
constructor(config) {
|
|
81
|
+
this.config = {
|
|
82
|
+
...Config.defaultConfig(),
|
|
83
|
+
...Config.readConfig(),
|
|
84
|
+
...(config ?? {}),
|
|
85
|
+
};
|
|
86
|
+
}
|
|
87
|
+
get skipCompile() {
|
|
88
|
+
return !!this.config.skipCompile;
|
|
89
|
+
}
|
|
90
|
+
get agent() {
|
|
91
|
+
return setHttpsAgent(this.config.agentOptions);
|
|
92
|
+
}
|
|
93
|
+
get identifier() {
|
|
94
|
+
this._identifier ??=
|
|
95
|
+
this.config.identifier ?? path.basename(process.cwd()).split('.')[0];
|
|
96
|
+
return this._identifier;
|
|
97
|
+
}
|
|
98
|
+
get zone() {
|
|
99
|
+
this._zone ??=
|
|
100
|
+
this.config.zone ??
|
|
101
|
+
path.basename(process.cwd()).split('.')[1] ??
|
|
102
|
+
'production';
|
|
103
|
+
return this._zone;
|
|
104
|
+
}
|
|
105
|
+
get buildDir() {
|
|
106
|
+
if (this.zone === 'production') {
|
|
107
|
+
return this.identifier;
|
|
108
|
+
}
|
|
109
|
+
return `${this.identifier}.${this.zone}`;
|
|
110
|
+
}
|
|
111
|
+
get host() {
|
|
112
|
+
this._host ??= this.config.host ?? this.defaultHost();
|
|
113
|
+
return this._host;
|
|
114
|
+
}
|
|
115
|
+
get fusionAuthUrl() {
|
|
116
|
+
let postfix = '';
|
|
117
|
+
if (this.zone === 'acceptance') {
|
|
118
|
+
postfix = '.acceptance';
|
|
119
|
+
}
|
|
120
|
+
else if (this.zone === 'edge') {
|
|
121
|
+
postfix = '.edge';
|
|
122
|
+
}
|
|
123
|
+
return this.config.fusionAuthUrl.replace('{ZONEPOSTFIX}', postfix);
|
|
124
|
+
}
|
|
125
|
+
get builderApiUrl() {
|
|
126
|
+
return this.config.builderApiUrl.replace('{HOST}', this.host);
|
|
127
|
+
}
|
|
128
|
+
get blockstoreApiUrl() {
|
|
129
|
+
let postfix = '';
|
|
130
|
+
if (this.zone.match(/^(acceptance|edge)$/)) {
|
|
131
|
+
postfix = `.${this.zone}`;
|
|
132
|
+
}
|
|
133
|
+
return this.config.blockstoreApiUrl.replace('{ZONEPOSTFIX}', postfix);
|
|
134
|
+
}
|
|
135
|
+
additionalHeaders() {
|
|
136
|
+
let tenantId = null;
|
|
137
|
+
if (this.config.tenantId) {
|
|
138
|
+
({ tenantId } = this.config);
|
|
139
|
+
}
|
|
140
|
+
else {
|
|
141
|
+
switch (this.zone) {
|
|
142
|
+
case 'edge':
|
|
143
|
+
tenantId = '62313937-6230-3361-3465-643833656463';
|
|
144
|
+
break;
|
|
145
|
+
default:
|
|
146
|
+
tenantId = null;
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
if (tenantId) {
|
|
150
|
+
return {
|
|
151
|
+
'X-FusionAuth-TenantId': tenantId,
|
|
152
|
+
};
|
|
153
|
+
}
|
|
154
|
+
return {};
|
|
155
|
+
}
|
|
156
|
+
async applicationId() {
|
|
157
|
+
this._applicationId ??=
|
|
158
|
+
this.config.applicationId ?? (await this.fetchApplicationId());
|
|
159
|
+
return this._applicationId;
|
|
160
|
+
}
|
|
161
|
+
async fetchApplicationId() {
|
|
162
|
+
const map = Config.readGlobalConfig();
|
|
163
|
+
const key = Config.applicationIdKey(this.identifier, this.zone);
|
|
164
|
+
if (map.applicationMap[key]) {
|
|
165
|
+
return map.applicationMap[key];
|
|
166
|
+
}
|
|
167
|
+
return Config.promptApplicationId(this.identifier, this.zone);
|
|
168
|
+
}
|
|
169
|
+
get schemaUrl() {
|
|
170
|
+
return this.config.schemaUrl;
|
|
171
|
+
}
|
|
172
|
+
get agentOptions() {
|
|
173
|
+
return this.config.agentOptions;
|
|
174
|
+
}
|
|
175
|
+
get functionSchemaPath() {
|
|
176
|
+
return this.config.functionSchemaPath;
|
|
177
|
+
}
|
|
178
|
+
defaultHost() {
|
|
179
|
+
let subdomain = this.identifier;
|
|
180
|
+
if (this.zone !== 'production') {
|
|
181
|
+
subdomain = `${subdomain}.${this.zone}`;
|
|
182
|
+
}
|
|
183
|
+
return `https://${subdomain}.${this.config.domain}`;
|
|
184
|
+
}
|
|
185
|
+
get includes() {
|
|
186
|
+
return this.config.includes ?? [];
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
export default Config;
|
|
190
|
+
//# sourceMappingURL=config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/functions/config.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,175 @@
|
|
|
1
|
+
import AdmZip from 'adm-zip';
|
|
2
|
+
import { camel, title } from 'case';
|
|
3
|
+
import fs from 'fs-extra';
|
|
4
|
+
import glob from 'glob';
|
|
5
|
+
import path from 'path';
|
|
6
|
+
/* @doc functionDefinitionPath
|
|
7
|
+
Expands the function dir with `function.json`.
|
|
8
|
+
*/
|
|
9
|
+
const functionDefinitionPath = (functionPath) => path.join(functionPath, 'function.json');
|
|
10
|
+
/* @doc functionImplementationPath
|
|
11
|
+
Expands the function dir with `index.js`.
|
|
12
|
+
*/
|
|
13
|
+
const functionImplementationPath = (functionPath) => path.join(functionPath, 'index.js');
|
|
14
|
+
/* @doc isFunctionDefinition
|
|
15
|
+
Checks the given functions dir for a file named function.json.
|
|
16
|
+
Returns true if the file exists.
|
|
17
|
+
*/
|
|
18
|
+
const isFunctionDefinition = (functionPath) => fs.pathExistsSync(functionDefinitionPath(functionPath));
|
|
19
|
+
/* @doc isFunctionVersion
|
|
20
|
+
Checks the given functions dir to be a function version.
|
|
21
|
+
Returns true if applies to versioning conventions.
|
|
22
|
+
*/
|
|
23
|
+
const isFunctionVersion = (functionPath, functionsDir) => !!path.basename(functionPath).match(/^\d+\.\d+$/) &&
|
|
24
|
+
parseFloat(path.basename(functionPath)) >= 1.0 &&
|
|
25
|
+
path.dirname(path.dirname(functionPath)) === functionsDir;
|
|
26
|
+
/* @doc isFunction
|
|
27
|
+
Checks the given functions dir for a file named index.js.
|
|
28
|
+
Returns true if the file exists.
|
|
29
|
+
*/
|
|
30
|
+
const isFunction = (functionPath) => fs.pathExistsSync(functionImplementationPath(functionPath));
|
|
31
|
+
/* @doc functionDirs
|
|
32
|
+
Returns a list of directories inside the given functionsDir that have a function.json and index.js.
|
|
33
|
+
*/
|
|
34
|
+
const functionDirs = (functionsDir, includeNonversioned = false) => glob
|
|
35
|
+
.sync(path.join(functionsDir, '**', 'function.json').replace(/\\/g, '/'))
|
|
36
|
+
.reduce((dirs, functionDefinition) => {
|
|
37
|
+
const dir = path.dirname(functionDefinition).replace(/\//g, path.sep);
|
|
38
|
+
if (isFunction(dir) &&
|
|
39
|
+
(includeNonversioned || isFunctionVersion(dir, functionsDir))) {
|
|
40
|
+
dirs.push(dir);
|
|
41
|
+
}
|
|
42
|
+
return dirs;
|
|
43
|
+
}, []);
|
|
44
|
+
/* @doc functionDefinition
|
|
45
|
+
Reads the function.json from the given directory.
|
|
46
|
+
Returns the parsed function.json as object.
|
|
47
|
+
*/
|
|
48
|
+
const functionDefinition = (functionPath, functionsDir) => {
|
|
49
|
+
let name = '';
|
|
50
|
+
let version = '';
|
|
51
|
+
if (isFunctionVersion(functionPath, functionsDir)) {
|
|
52
|
+
name = camel(path.basename(path.dirname(functionPath)));
|
|
53
|
+
version = path.basename(functionPath);
|
|
54
|
+
}
|
|
55
|
+
else {
|
|
56
|
+
name = camel(path.basename(functionPath));
|
|
57
|
+
}
|
|
58
|
+
const filePath = functionDefinitionPath(functionPath);
|
|
59
|
+
const schema = fs.readJSONSync(filePath);
|
|
60
|
+
try {
|
|
61
|
+
return {
|
|
62
|
+
name,
|
|
63
|
+
path: filePath,
|
|
64
|
+
schema,
|
|
65
|
+
version,
|
|
66
|
+
};
|
|
67
|
+
}
|
|
68
|
+
catch (err) {
|
|
69
|
+
throw new Error(`could not load json from ${filePath}: ${err}`);
|
|
70
|
+
}
|
|
71
|
+
};
|
|
72
|
+
/* @doc functionDefinitions
|
|
73
|
+
Returns an object containing all function.json definitions
|
|
74
|
+
inside the given functionsDir, indexed by function name.
|
|
75
|
+
*/
|
|
76
|
+
const functionDefinitions = (functionsDir, includeNonversioned = false) => functionDirs(functionsDir, includeNonversioned).map((functionDir) => functionDefinition(functionDir, functionsDir));
|
|
77
|
+
const stringifyDefinitions = (definitions) => {
|
|
78
|
+
const updatedDefinitions = definitions.map(({ name, version, schema }) => ({
|
|
79
|
+
name,
|
|
80
|
+
version,
|
|
81
|
+
...schema,
|
|
82
|
+
options: JSON.stringify(schema.options ?? []),
|
|
83
|
+
paths: JSON.stringify(schema.paths ?? {}),
|
|
84
|
+
}));
|
|
85
|
+
return JSON.stringify(updatedDefinitions);
|
|
86
|
+
};
|
|
87
|
+
/* @doc newFunctionDefinition
|
|
88
|
+
Creates a new folder for the given name and fills that folder with a function.json file
|
|
89
|
+
and an index.js.
|
|
90
|
+
*/
|
|
91
|
+
const newFunctionDefinition = (functionsDir, functionName) => {
|
|
92
|
+
const functionDefName = functionName.replace(/-./g, (x) => x.toUpperCase()[1]);
|
|
93
|
+
const functionDir = path.join(functionsDir, functionName, '1.0');
|
|
94
|
+
try {
|
|
95
|
+
fs.mkdirpSync(functionDir);
|
|
96
|
+
fs.writeJSONSync(functionDefinitionPath(functionDir), {
|
|
97
|
+
category: 'Misc',
|
|
98
|
+
description: 'Description',
|
|
99
|
+
icon: { color: 'Orange', name: 'ActionsIcon' },
|
|
100
|
+
label: title(functionName),
|
|
101
|
+
options: [],
|
|
102
|
+
yields: 'NONE',
|
|
103
|
+
}, { spaces: 2 });
|
|
104
|
+
fs.writeFileSync(path.join(functionDir, 'index.js'), `const ${functionDefName} = async () => {\n\n}\n\nexport default ${functionDefName};`);
|
|
105
|
+
}
|
|
106
|
+
catch (err) {
|
|
107
|
+
throw new Error(`could not initialize new function ${functionDir}: ${err}`);
|
|
108
|
+
}
|
|
109
|
+
};
|
|
110
|
+
const toVariableName = ({ name, version }) => `${camel(name)}_${version.replace('.', '_')}`;
|
|
111
|
+
/* @doc importFunctions
|
|
112
|
+
Returns an array of strings, each item being an imported function:
|
|
113
|
+
`import { default as functionName_1_0 } from './function-name/1.0';`;
|
|
114
|
+
*/
|
|
115
|
+
const importFunctions = (definitions, functionsPath) => definitions.map((definition) => `import { default as ${toVariableName(definition)} } from '${path
|
|
116
|
+
.dirname(definition.path.replace(functionsPath, `./${path.basename(functionsPath)}`))
|
|
117
|
+
.replace(/\\/g, '/')}';`);
|
|
118
|
+
/* @doc exportFunctions
|
|
119
|
+
Returns a string in which functions will be exported in an object;
|
|
120
|
+
*/
|
|
121
|
+
const exportFunctions = (definitions) => {
|
|
122
|
+
const exports = definitions.map((definition) => {
|
|
123
|
+
const { name, version } = definition;
|
|
124
|
+
return ` "${name} ${version}": ${toVariableName(definition)},`;
|
|
125
|
+
});
|
|
126
|
+
return ['const fn = {', ...exports, '};', '', 'export default fn;'];
|
|
127
|
+
};
|
|
128
|
+
/* @doc whitelistedFunctions
|
|
129
|
+
Returns an array containing all functions based on the whitelist.
|
|
130
|
+
*/
|
|
131
|
+
const whitelistedFunctions = (definitions, whitelist) => whitelist.map((whitelisted) => {
|
|
132
|
+
const definition = definitions.find((def) => [def.name, def.version].join(' ') === whitelisted);
|
|
133
|
+
if (!definition)
|
|
134
|
+
throw new Error(`Function ${whitelisted} could not be found. Check if function and version exists.`);
|
|
135
|
+
return definition;
|
|
136
|
+
});
|
|
137
|
+
/* @doc generateIndex
|
|
138
|
+
Fetches all functions and re-exports them.
|
|
139
|
+
Returns the result as a Buffer.
|
|
140
|
+
*/
|
|
141
|
+
const generateIndex = (functionsPath, whitelist) => {
|
|
142
|
+
const definitions = functionDefinitions(functionsPath);
|
|
143
|
+
const functions = whitelist
|
|
144
|
+
? whitelistedFunctions(definitions, whitelist)
|
|
145
|
+
: definitions;
|
|
146
|
+
const code = [];
|
|
147
|
+
code.push(...importFunctions(functions, functionsPath));
|
|
148
|
+
code.push('');
|
|
149
|
+
code.push(...exportFunctions(functions));
|
|
150
|
+
code.push('');
|
|
151
|
+
return code.join('\n');
|
|
152
|
+
};
|
|
153
|
+
/* @doc zipFunctionDefinitions
|
|
154
|
+
Takes functionsPath as path to a directory with function definitions.
|
|
155
|
+
Scans each directory for a function.json file, and if present adds it
|
|
156
|
+
to the zip file. Generates an index.js and adds it to the zip file.
|
|
157
|
+
Returns path to the zip file.
|
|
158
|
+
*/
|
|
159
|
+
const zipFunctionDefinitions = (functionsPath, includes) => {
|
|
160
|
+
const zip = new AdmZip();
|
|
161
|
+
const tmpDir = '.tmp';
|
|
162
|
+
const zipFilePath = path.join(tmpDir, 'app.zip');
|
|
163
|
+
const cwd = path.dirname(functionsPath);
|
|
164
|
+
fs.ensureDirSync(tmpDir);
|
|
165
|
+
zip.addLocalFile(path.join(path.dirname(functionsPath), 'package.json'));
|
|
166
|
+
zip.addFile('index.js', Buffer.from(generateIndex(functionsPath)));
|
|
167
|
+
zip.addLocalFolder(functionsPath, functionsPath.replace(cwd, ''));
|
|
168
|
+
(includes ?? []).forEach((include) => {
|
|
169
|
+
zip.addLocalFolder(path.join(cwd, include), include);
|
|
170
|
+
});
|
|
171
|
+
zip.writeZip(zipFilePath);
|
|
172
|
+
return zipFilePath;
|
|
173
|
+
};
|
|
174
|
+
export { functionDefinition, functionDefinitionPath, functionDefinitions, functionDirs, generateIndex, isFunctionDefinition, isFunctionVersion, newFunctionDefinition, stringifyDefinitions, whitelistedFunctions, zipFunctionDefinitions, };
|
|
175
|
+
//# sourceMappingURL=functionDefinitions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"functionDefinitions.js","sourceRoot":"","sources":["../../src/functions/functionDefinitions.ts"],"names":[],"mappings":"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"}
|