@betty-blocks/cli 26.0.0-beta.14 → 26.0.0-beta.16
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 +10 -15
- package/build/bb-blocks-new.js.map +1 -1
- package/build/bb-blocks-publish.js +41 -55
- package/build/bb-blocks-publish.js.map +1 -1
- package/build/bb-blocks-release.js +6 -20
- package/build/bb-blocks-release.js.map +1 -1
- package/build/bb-blocks.js +2 -4
- package/build/bb-blocks.js.map +1 -1
- package/build/bb-bundle-init.js +15 -29
- package/build/bb-bundle-init.js.map +1 -1
- package/build/bb-bundle.js +4 -9
- package/build/bb-bundle.js.map +1 -1
- package/build/bb-components-build.js +165 -198
- package/build/bb-components-build.js.map +1 -1
- package/build/bb-components-create.js +15 -29
- package/build/bb-components-create.js.map +1 -1
- package/build/bb-components-generate.js +26 -40
- package/build/bb-components-generate.js.map +1 -1
- package/build/bb-components-publish-bundle.js +20 -34
- package/build/bb-components-publish-bundle.js.map +1 -1
- package/build/bb-components-publish.js +21 -35
- package/build/bb-components-publish.js.map +1 -1
- package/build/bb-components-serve.js +9 -14
- package/build/bb-components-serve.js.map +1 -1
- package/build/bb-components.js +3 -4
- package/build/bb-components.js.map +1 -1
- package/build/bb-functions-build.js +31 -33
- package/build/bb-functions-build.js.map +1 -1
- package/build/bb-functions-bump.js +25 -39
- package/build/bb-functions-bump.js.map +1 -1
- package/build/bb-functions-init.js +14 -19
- package/build/bb-functions-init.js.map +1 -1
- package/build/bb-functions-login.js +9 -23
- package/build/bb-functions-login.js.map +1 -1
- package/build/bb-functions-logout.js +6 -11
- package/build/bb-functions-logout.js.map +1 -1
- package/build/bb-functions-new.js +8 -13
- package/build/bb-functions-new.js.map +1 -1
- package/build/bb-functions-publish.js +26 -40
- package/build/bb-functions-publish.js.map +1 -1
- package/build/bb-functions-validate.js +18 -32
- package/build/bb-functions-validate.js.map +1 -1
- package/build/bb-functions.js +2 -4
- package/build/bb-functions.js.map +1 -1
- package/build/bb.js +7 -11
- package/build/bb.js.map +1 -1
- package/build/blocks/blockDefinitions.js +12 -21
- package/build/blocks/blockDefinitions.js.map +1 -1
- package/build/blocks/publishBlocks.js +34 -48
- package/build/blocks/publishBlocks.js.map +1 -1
- package/build/blocks/releaseBlocks.js +27 -43
- package/build/blocks/releaseBlocks.js.map +1 -1
- package/build/components/comments.js +15 -18
- package/build/components/comments.js.map +1 -1
- package/build/components/compatibility.js +13 -15
- package/build/components/compatibility.js.map +1 -1
- package/build/components/transformers/index.js +8 -14
- package/build/components/transformers/index.js.map +1 -1
- package/build/components-build/index.js +2 -18
- package/build/components-build/index.js.map +1 -1
- package/build/components-build/reportDiagnostics.js +4 -12
- package/build/components-build/reportDiagnostics.js.map +1 -1
- package/build/components-build/styles.js +35 -92
- package/build/components-build/styles.js.map +1 -1
- package/build/functions/acquireAppFunctionsProject.js +5 -10
- package/build/functions/acquireAppFunctionsProject.js.map +1 -1
- package/build/functions/acquireCustomFunctionsProject.js +5 -10
- package/build/functions/acquireCustomFunctionsProject.js.map +1 -1
- package/build/functions/bb-components-functions.js +12 -30
- package/build/functions/bb-components-functions.js.map +1 -1
- package/build/functions/config.js +88 -91
- package/build/functions/config.js.map +1 -1
- package/build/functions/functionDefinitions.js +42 -56
- package/build/functions/functionDefinitions.js.map +1 -1
- package/build/functions/icons.js +10 -16
- package/build/functions/icons.js.map +1 -1
- package/build/functions/publishAppFunctions.js +47 -63
- package/build/functions/publishAppFunctions.js.map +1 -1
- package/build/functions/publishCustomFunctions.js +53 -69
- package/build/functions/publishCustomFunctions.js.map +1 -1
- package/build/functions/publishFunctions.js +18 -33
- package/build/functions/publishFunctions.js.map +1 -1
- package/build/functions/utils.js +9 -13
- package/build/functions/utils.js.map +1 -1
- package/build/functions/validations.js +41 -59
- package/build/functions/validations.js.map +1 -1
- package/build/functions/versions.js +21 -27
- package/build/functions/versions.js.map +1 -1
- package/build/interactions/compatibility.js +8 -45
- package/build/interactions/compatibility.js.map +1 -1
- package/build/interactions/diagnostics.js +7 -10
- package/build/interactions/diagnostics.js.map +1 -1
- package/build/types.js +9 -11
- package/build/types.js.map +1 -1
- package/build/utils/arguments.js +2 -7
- package/build/utils/arguments.js.map +1 -1
- package/build/utils/checkPackageVersion.js +6 -19
- package/build/utils/checkPackageVersion.js.map +1 -1
- package/build/utils/checkUpdateAvailable.js +31 -47
- package/build/utils/checkUpdateAvailable.js.map +1 -1
- package/build/utils/fusionAuth.js +84 -108
- package/build/utils/fusionAuth.js.map +1 -1
- package/build/utils/hash.js +2 -7
- package/build/utils/hash.js.map +1 -1
- package/build/utils/ide.js +111 -133
- package/build/utils/ide.js.map +1 -1
- package/build/utils/login.js +62 -78
- package/build/utils/login.js.map +1 -1
- package/build/utils/pick.js +1 -5
- package/build/utils/pick.js.map +1 -1
- package/build/utils/readFilesByType.js +13 -27
- package/build/utils/readFilesByType.js.map +1 -1
- package/build/utils/rootDir.js +3 -8
- package/build/utils/rootDir.js.map +1 -1
- package/build/utils/serveComponentSet.js +15 -29
- package/build/utils/serveComponentSet.js.map +1 -1
- package/build/utils/transpile.js +10 -15
- package/build/utils/transpile.js.map +1 -1
- package/build/utils/uploadBlob.js +22 -36
- package/build/utils/uploadBlob.js.map +1 -1
- package/build/utils/validation.js +9 -18
- package/build/utils/validation.js.map +1 -1
- package/build/validations/component.js +32 -37
- package/build/validations/component.js.map +1 -1
- package/build/validations/constants.js +16 -19
- package/build/validations/constants.js.map +1 -1
- package/build/validations/function-block-validations/index.js +27 -44
- package/build/validations/function-block-validations/index.js.map +1 -1
- package/build/validations/interaction.js +11 -16
- package/build/validations/interaction.js.map +1 -1
- package/build/validations/prefab/action.js +54 -60
- package/build/validations/prefab/action.js.map +1 -1
- package/build/validations/prefab/component.js +97 -102
- package/build/validations/prefab/component.js.map +1 -1
- package/build/validations/prefab/componentOption.js +125 -102
- package/build/validations/prefab/componentOption.js.map +1 -1
- package/build/validations/prefab/interaction.js +22 -28
- package/build/validations/prefab/interaction.js.map +1 -1
- package/build/validations/prefab/linkedOption.js +29 -35
- package/build/validations/prefab/linkedOption.js.map +1 -1
- package/build/validations/prefab/linkedPartial.js +21 -27
- package/build/validations/prefab/linkedPartial.js.map +1 -1
- package/build/validations/prefab/variable.js +20 -26
- package/build/validations/prefab/variable.js.map +1 -1
- package/build/validations/prefab.js +34 -39
- package/build/validations/prefab.js.map +1 -1
- package/build/validations/styles.js +31 -37
- package/build/validations/styles.js.map +1 -1
- package/package.json +2 -2
|
@@ -1,94 +1,78 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
};
|
|
11
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
-
};
|
|
14
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
-
const child_process_1 = require("child_process");
|
|
16
|
-
const fs_extra_1 = __importDefault(require("fs-extra"));
|
|
17
|
-
const ora_1 = __importDefault(require("ora"));
|
|
18
|
-
const os_1 = __importDefault(require("os"));
|
|
19
|
-
const path_1 = __importDefault(require("path"));
|
|
20
|
-
const vm_1 = __importDefault(require("vm"));
|
|
21
|
-
const ide_1 = __importDefault(require("../utils/ide"));
|
|
22
|
-
const config_1 = __importDefault(require("./config"));
|
|
23
|
-
const publishFunctions_1 = require("./publishFunctions");
|
|
1
|
+
import { spawn } from 'child_process';
|
|
2
|
+
import fs from 'fs-extra';
|
|
3
|
+
import ora from 'ora';
|
|
4
|
+
import os from 'os';
|
|
5
|
+
import path from 'path';
|
|
6
|
+
import vm from 'vm';
|
|
7
|
+
import IDE from '../utils/ide';
|
|
8
|
+
import Config from './config';
|
|
9
|
+
import { resolveMissingFunction, storeCustomFunctions, } from './publishFunctions';
|
|
24
10
|
const workingDir = process.cwd();
|
|
25
|
-
const groomMetaData = (config) =>
|
|
11
|
+
const groomMetaData = async (config) => {
|
|
26
12
|
console.log('Grooming functions.json ...');
|
|
27
|
-
const buildDir =
|
|
28
|
-
const customJsFile =
|
|
29
|
-
const customJs =
|
|
30
|
-
const script = new
|
|
13
|
+
const buildDir = path.join(os.tmpdir(), config.buildDir);
|
|
14
|
+
const customJsFile = path.join(buildDir, 'dist', 'custom.js');
|
|
15
|
+
const customJs = fs.readFileSync(customJsFile, 'utf8');
|
|
16
|
+
const script = new vm.Script(`${customJs}; fn = custom;`);
|
|
31
17
|
const ctx = { fn: {} };
|
|
32
18
|
script.runInNewContext(ctx);
|
|
33
19
|
const customFunctions = ctx.fn;
|
|
34
|
-
const functionsJsonFile =
|
|
35
|
-
const metaData =
|
|
36
|
-
const groomedMetaData =
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
return groomed;
|
|
54
|
-
}));
|
|
20
|
+
const functionsJsonFile = path.join(workingDir, 'functions.json');
|
|
21
|
+
const metaData = fs.readJsonSync(functionsJsonFile);
|
|
22
|
+
const groomedMetaData = await Object.keys(customFunctions).reduce(async (promise, name) => promise.then(async (groomed) => {
|
|
23
|
+
groomed[name] = metaData[name];
|
|
24
|
+
if (!groomed[name]) {
|
|
25
|
+
const matches = customFunctions[name]
|
|
26
|
+
.toString()
|
|
27
|
+
.match(/await context\((["'])(.*?)\1\)/g);
|
|
28
|
+
const defaultInputVariables = (matches ?? [])
|
|
29
|
+
.map((m) => `${m.slice(15, -2)}:string`)
|
|
30
|
+
.join(' ');
|
|
31
|
+
groomed = await resolveMissingFunction({
|
|
32
|
+
defaultInputVariables,
|
|
33
|
+
groomed,
|
|
34
|
+
metaData,
|
|
35
|
+
name,
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
return groomed;
|
|
55
39
|
}), Promise.resolve({}));
|
|
56
|
-
|
|
40
|
+
fs.writeFileSync(functionsJsonFile, JSON.stringify(groomedMetaData, null, 2));
|
|
57
41
|
return groomedMetaData;
|
|
58
|
-
}
|
|
59
|
-
const publishFunctions = (config, metaData, bumpRevision) =>
|
|
60
|
-
const ide = new
|
|
61
|
-
const revision =
|
|
62
|
-
const buildDir =
|
|
63
|
-
const customJsFile =
|
|
64
|
-
|
|
65
|
-
const actions = (
|
|
66
|
-
|
|
67
|
-
|
|
42
|
+
};
|
|
43
|
+
const publishFunctions = async (config, metaData, bumpRevision) => {
|
|
44
|
+
const ide = new IDE(config);
|
|
45
|
+
const revision = await storeCustomFunctions(ide, metaData, bumpRevision);
|
|
46
|
+
const buildDir = path.join(os.tmpdir(), config.buildDir);
|
|
47
|
+
const customJsFile = path.join(buildDir, 'dist', 'custom.js');
|
|
48
|
+
await ide.post(`custom_functions/${revision}`, { multiPartData: [{ file: customJsFile, name: 'code' }] }, `Uploading "${revision}.js" ...`);
|
|
49
|
+
const actions = (await ide.get('actions'));
|
|
50
|
+
await actions.reduce(async (promise, { id, use_new_runtime, description }) => {
|
|
51
|
+
await promise;
|
|
68
52
|
if (use_new_runtime) {
|
|
69
53
|
return ide.put(`actions/${id}`, { json: { record: { description } } }, `Compiling action "${description}" ...`);
|
|
70
54
|
}
|
|
71
55
|
return Promise.resolve(null);
|
|
72
|
-
}
|
|
73
|
-
}
|
|
56
|
+
}, Promise.resolve(null));
|
|
57
|
+
};
|
|
74
58
|
const cleanMetaData = () => {
|
|
75
|
-
const functionsJsonFile =
|
|
76
|
-
const metaData =
|
|
59
|
+
const functionsJsonFile = path.join(workingDir, 'functions.json');
|
|
60
|
+
const metaData = fs.readJsonSync(functionsJsonFile);
|
|
77
61
|
Object.keys(metaData).forEach((name) => {
|
|
78
62
|
delete metaData[name].replace;
|
|
79
63
|
});
|
|
80
|
-
|
|
64
|
+
fs.writeFileSync(functionsJsonFile, JSON.stringify(metaData, null, 2));
|
|
81
65
|
};
|
|
82
66
|
const publishCustomFunctions = (host, bumpRevision, skipBuild) => {
|
|
83
|
-
const config = new
|
|
67
|
+
const config = new Config();
|
|
84
68
|
console.log(`Publishing to ${config.host} (${config.zone}) ...`);
|
|
85
69
|
new Promise((resolve) => {
|
|
86
70
|
if (skipBuild) {
|
|
87
71
|
resolve(undefined);
|
|
88
72
|
}
|
|
89
73
|
else {
|
|
90
|
-
const building = (
|
|
91
|
-
const build =
|
|
74
|
+
const building = ora(`Building custom functions bundle (this can take a while) ...`).start();
|
|
75
|
+
const build = spawn('bb functions build', {
|
|
92
76
|
shell: true,
|
|
93
77
|
});
|
|
94
78
|
build.on('close', () => {
|
|
@@ -107,5 +91,5 @@ const publishCustomFunctions = (host, bumpRevision, skipBuild) => {
|
|
|
107
91
|
throw new Error(`${error}\nAbort.`);
|
|
108
92
|
});
|
|
109
93
|
};
|
|
110
|
-
|
|
94
|
+
export default publishCustomFunctions;
|
|
111
95
|
//# sourceMappingURL=publishCustomFunctions.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"publishCustomFunctions.js","sourceRoot":"","sources":["../../src/functions/publishCustomFunctions.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"publishCustomFunctions.js","sourceRoot":"","sources":["../../src/functions/publishCustomFunctions.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,21 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
-
};
|
|
14
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
-
exports.storeCustomFunctions = exports.resolveMissingFunction = void 0;
|
|
16
|
-
const prompts_1 = __importDefault(require("prompts"));
|
|
17
|
-
const resolveMissingFunction = (_a) => __awaiter(void 0, [_a], void 0, function* ({ defaultInputVariables, groomed, metaData, name, }) {
|
|
18
|
-
const { replace } = (yield (0, prompts_1.default)({
|
|
1
|
+
import prompts from 'prompts';
|
|
2
|
+
import IDE from '../utils/ide';
|
|
3
|
+
const resolveMissingFunction = async ({ defaultInputVariables, groomed, metaData, name, }) => {
|
|
4
|
+
const { replace } = (await prompts({
|
|
19
5
|
active: 'replace',
|
|
20
6
|
inactive: 'add',
|
|
21
7
|
initial: false,
|
|
@@ -27,7 +13,7 @@ const resolveMissingFunction = (_a) => __awaiter(void 0, [_a], void 0, function*
|
|
|
27
13
|
const choices = Object.keys(metaData).filter((key) => !groomed[key]);
|
|
28
14
|
let replacedFunction;
|
|
29
15
|
if (choices.length === 1) {
|
|
30
|
-
const confirm =
|
|
16
|
+
const confirm = await prompts({
|
|
31
17
|
initial: true,
|
|
32
18
|
message: `Replace "${choices[0]}"?`,
|
|
33
19
|
name: 'value',
|
|
@@ -39,7 +25,7 @@ const resolveMissingFunction = (_a) => __awaiter(void 0, [_a], void 0, function*
|
|
|
39
25
|
throw new Error('Abort.');
|
|
40
26
|
}
|
|
41
27
|
else {
|
|
42
|
-
replacedFunction = (
|
|
28
|
+
replacedFunction = (await prompts({
|
|
43
29
|
choices: choices.map((key) => ({ title: key, value: key })),
|
|
44
30
|
initial: 0,
|
|
45
31
|
message: 'Replace',
|
|
@@ -53,7 +39,7 @@ const resolveMissingFunction = (_a) => __awaiter(void 0, [_a], void 0, function*
|
|
|
53
39
|
delete metaData[replacedFunction];
|
|
54
40
|
}
|
|
55
41
|
else {
|
|
56
|
-
const { returnType, inputVariables } =
|
|
42
|
+
const { returnType, inputVariables } = await prompts([
|
|
57
43
|
{
|
|
58
44
|
choices: [
|
|
59
45
|
{ title: 'string', value: 'string' },
|
|
@@ -86,17 +72,16 @@ const resolveMissingFunction = (_a) => __awaiter(void 0, [_a], void 0, function*
|
|
|
86
72
|
};
|
|
87
73
|
}
|
|
88
74
|
return groomed;
|
|
89
|
-
}
|
|
90
|
-
|
|
91
|
-
const
|
|
92
|
-
const customFunctions = (yield ide.get('bootstrap/custom_functions'));
|
|
75
|
+
};
|
|
76
|
+
const storeCustomFunctions = async (ide, metaData, bumpRevision) => {
|
|
77
|
+
const customFunctions = (await ide.get('bootstrap/custom_functions'));
|
|
93
78
|
const revision = customFunctions.reduce((rev, func) => Math.max(rev, func.revision), 0) +
|
|
94
79
|
(bumpRevision ? 1 : 0);
|
|
95
|
-
const ids = customFunctions.reduce((map, { id, name }) => (
|
|
96
|
-
|
|
97
|
-
|
|
80
|
+
const ids = customFunctions.reduce((map, { id, name }) => ({ ...map, [name]: id }), {});
|
|
81
|
+
await Object.keys(metaData).reduce(async (promise, name) => {
|
|
82
|
+
await promise;
|
|
98
83
|
const { replace, returnType, inputVariables } = metaData[name];
|
|
99
|
-
const id = ids[replace
|
|
84
|
+
const id = ids[replace ?? name];
|
|
100
85
|
const method = id ? 'put' : 'post';
|
|
101
86
|
const action = id ? 'Updating' : 'Creating';
|
|
102
87
|
const params = {
|
|
@@ -105,9 +90,9 @@ const storeCustomFunctions = (ide, metaData, bumpRevision) => __awaiter(void 0,
|
|
|
105
90
|
return_type: returnType,
|
|
106
91
|
revision,
|
|
107
92
|
};
|
|
108
|
-
return ide[method](`custom_functions/${id || 'new'}`, { json: { record: params } }, `${action} custom function "${replace
|
|
109
|
-
}
|
|
93
|
+
return ide[method](`custom_functions/${id || 'new'}`, { json: { record: params } }, `${action} custom function "${replace ?? name}" ...`);
|
|
94
|
+
}, Promise.resolve(null));
|
|
110
95
|
return revision;
|
|
111
|
-
}
|
|
112
|
-
|
|
96
|
+
};
|
|
97
|
+
export { resolveMissingFunction, storeCustomFunctions };
|
|
113
98
|
//# sourceMappingURL=publishFunctions.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"publishFunctions.js","sourceRoot":"","sources":["../../src/functions/publishFunctions.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"publishFunctions.js","sourceRoot":"","sources":["../../src/functions/publishFunctions.ts"],"names":[],"mappings":"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"}
|
package/build/functions/utils.js
CHANGED
|
@@ -1,24 +1,20 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.setHttpsAgent = void 0;
|
|
7
|
-
const fs_extra_1 = __importDefault(require("fs-extra"));
|
|
8
|
-
const https_1 = __importDefault(require("https"));
|
|
9
|
-
const path_1 = __importDefault(require("path"));
|
|
10
|
-
const setHttpsAgent = (agentOptions) => {
|
|
1
|
+
import fs from 'fs-extra';
|
|
2
|
+
import https, {} from 'https';
|
|
3
|
+
import path from 'path';
|
|
4
|
+
export const setHttpsAgent = (agentOptions) => {
|
|
11
5
|
let options;
|
|
12
6
|
if (agentOptions) {
|
|
13
7
|
options = ['ca', 'cert', 'key'].reduce((acc, key) => {
|
|
14
8
|
if (typeof agentOptions[key] === 'string') {
|
|
15
|
-
return
|
|
9
|
+
return {
|
|
10
|
+
...acc,
|
|
11
|
+
[key]: fs.readFileSync(path.resolve(agentOptions[key])),
|
|
12
|
+
};
|
|
16
13
|
}
|
|
17
14
|
return acc;
|
|
18
15
|
}, agentOptions);
|
|
19
16
|
}
|
|
20
|
-
const agent = agentOptions && options ? new
|
|
17
|
+
const agent = agentOptions && options ? new https.Agent(options) : undefined;
|
|
21
18
|
return agent;
|
|
22
19
|
};
|
|
23
|
-
exports.setHttpsAgent = setHttpsAgent;
|
|
24
20
|
//# sourceMappingURL=utils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/functions/utils.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/functions/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,UAAU,CAAC;AAC1B,OAAO,KAAK,EAAE,EAAqB,MAAM,OAAO,CAAC;AACjD,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,MAAM,CAAC,MAAM,aAAa,GAAG,CAC3B,YAA2B,EACF,EAAE;IAC3B,IAAI,OAAiC,CAAC;IAEtC,IAAI,YAAY,EAAE,CAAC;QACjB,OAAO,GAAI,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAW,CAAC,MAAM,CAC/C,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;YACX,IAAI,OAAO,YAAY,CAAC,GAAG,CAAC,KAAK,QAAQ,EAAE,CAAC;gBAC1C,OAAO;oBACL,GAAG,GAAG;oBACN,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG,CAAW,CAAC,CAAC;iBAClE,CAAC;YACJ,CAAC;YAED,OAAO,GAAG,CAAC;QACb,CAAC,EACD,YAAY,CACb,CAAC;IACJ,CAAC;IAED,MAAM,KAAK,GAAG,YAAY,IAAI,OAAO,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAE7E,OAAO,KAAK,CAAC;AACf,CAAC,CAAC"}
|
|
@@ -1,46 +1,31 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
};
|
|
11
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
-
};
|
|
14
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
-
exports.validateSchema = exports.logValidationResult = exports.functionValidator = exports.FunctionValidator = void 0;
|
|
16
|
-
const chalk_1 = __importDefault(require("chalk"));
|
|
17
|
-
const jsonschema_1 = require("jsonschema");
|
|
18
|
-
const node_fetch_1 = __importDefault(require("node-fetch"));
|
|
19
|
-
const path_1 = __importDefault(require("path"));
|
|
20
|
-
const functionDefinitions_1 = require("./functionDefinitions");
|
|
21
|
-
const fetchRemoteSchema = (schemaUrl, config) => __awaiter(void 0, void 0, void 0, function* () {
|
|
22
|
-
const res = yield (0, node_fetch_1.default)(schemaUrl, { agent: config.agent });
|
|
23
|
-
const json = yield res.json();
|
|
1
|
+
import chalk from 'chalk';
|
|
2
|
+
import { ValidationError, Validator, ValidatorResult } from 'jsonschema';
|
|
3
|
+
import fetch from 'node-fetch';
|
|
4
|
+
import path from 'path';
|
|
5
|
+
import Config from './config';
|
|
6
|
+
import { functionDefinitions, isFunctionVersion, } from './functionDefinitions';
|
|
7
|
+
const fetchRemoteSchema = async (schemaUrl, config) => {
|
|
8
|
+
const res = await fetch(schemaUrl, { agent: config.agent });
|
|
9
|
+
const json = await res.json();
|
|
24
10
|
return json;
|
|
25
|
-
}
|
|
26
|
-
const importNextSchema = (validator, schemaId, config) =>
|
|
27
|
-
const schemaJSON =
|
|
11
|
+
};
|
|
12
|
+
const importNextSchema = async (validator, schemaId, config) => {
|
|
13
|
+
const schemaJSON = await fetchRemoteSchema(schemaId, config);
|
|
28
14
|
validator.addSchema(schemaJSON, schemaId);
|
|
29
15
|
const nextSchemaId = validator.unresolvedRefs.shift();
|
|
30
16
|
if (!nextSchemaId) {
|
|
31
17
|
return validator;
|
|
32
18
|
}
|
|
33
19
|
return importNextSchema(validator, nextSchemaId, config);
|
|
34
|
-
}
|
|
35
|
-
const importSchema = (validator, config) =>
|
|
20
|
+
};
|
|
21
|
+
const importSchema = async (validator, config) => {
|
|
36
22
|
const functionSchemaUrl = config.schemaUrl + config.functionSchemaPath;
|
|
37
23
|
return importNextSchema(validator, functionSchemaUrl, config);
|
|
38
|
-
}
|
|
39
|
-
const functionValidator = (config) =>
|
|
40
|
-
const validator = new
|
|
24
|
+
};
|
|
25
|
+
const functionValidator = async (config) => {
|
|
26
|
+
const validator = new Validator();
|
|
41
27
|
return importSchema(validator, config);
|
|
42
|
-
}
|
|
43
|
-
exports.functionValidator = functionValidator;
|
|
28
|
+
};
|
|
44
29
|
const validateFunctionDefinition = (validator, definition) => {
|
|
45
30
|
const functionSchemaId = Object.keys(validator.schemas).find((k) => k.match(/function\.json$/));
|
|
46
31
|
if (!functionSchemaId) {
|
|
@@ -50,8 +35,8 @@ const validateFunctionDefinition = (validator, definition) => {
|
|
|
50
35
|
return validator.validate(definition, functionSchema);
|
|
51
36
|
};
|
|
52
37
|
const forceVersion = ({ path: functionPath }, functionsDir) => {
|
|
53
|
-
if (!
|
|
54
|
-
throw new Error(`${
|
|
38
|
+
if (!isFunctionVersion(path.dirname(functionPath), functionsDir)) {
|
|
39
|
+
throw new Error(`${path.dirname(functionPath)} does not apply as a valid version directory`);
|
|
55
40
|
}
|
|
56
41
|
};
|
|
57
42
|
const validateSchema = (functionJson, validator) => {
|
|
@@ -65,17 +50,17 @@ const validateSchema = (functionJson, validator) => {
|
|
|
65
50
|
status,
|
|
66
51
|
};
|
|
67
52
|
};
|
|
68
|
-
exports.validateSchema = validateSchema;
|
|
69
53
|
class FunctionValidator {
|
|
54
|
+
schemaValidator;
|
|
55
|
+
config;
|
|
56
|
+
functionsDir;
|
|
70
57
|
constructor(config, functionsDir) {
|
|
71
58
|
this.config = config;
|
|
72
|
-
this.schemaValidator = new
|
|
59
|
+
this.schemaValidator = new Validator();
|
|
73
60
|
this.functionsDir = functionsDir;
|
|
74
61
|
}
|
|
75
|
-
initSchema() {
|
|
76
|
-
|
|
77
|
-
yield importSchema(this.schemaValidator, this.config);
|
|
78
|
-
});
|
|
62
|
+
async initSchema() {
|
|
63
|
+
await importSchema(this.schemaValidator, this.config);
|
|
79
64
|
}
|
|
80
65
|
validateFunction(definition) {
|
|
81
66
|
const functionPath = definition.path;
|
|
@@ -94,32 +79,29 @@ class FunctionValidator {
|
|
|
94
79
|
};
|
|
95
80
|
}
|
|
96
81
|
}
|
|
97
|
-
validateFunctions(functionName, blockFunctions) {
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
}
|
|
107
|
-
});
|
|
108
|
-
return Promise.all(validations);
|
|
82
|
+
async validateFunctions(functionName, blockFunctions) {
|
|
83
|
+
const definitions = functionDefinitions(this.functionsDir, true);
|
|
84
|
+
const functions = blockFunctions ?? definitions;
|
|
85
|
+
const validations = [];
|
|
86
|
+
functions.forEach((definition) => {
|
|
87
|
+
const preleadingPath = path.join(this.functionsDir, functionName ?? '', path.sep);
|
|
88
|
+
if (definition.path.indexOf(preleadingPath) === 0) {
|
|
89
|
+
validations.push(this.validateFunction(definition));
|
|
90
|
+
}
|
|
109
91
|
});
|
|
92
|
+
return Promise.all(validations);
|
|
110
93
|
}
|
|
111
94
|
}
|
|
112
|
-
exports.FunctionValidator = FunctionValidator;
|
|
113
95
|
const logValidationResult = ({ path: functionPath, status, functionName, errors, }) => {
|
|
114
96
|
if (status === 'ok') {
|
|
115
|
-
const mark =
|
|
97
|
+
const mark = chalk.green(`✔`);
|
|
116
98
|
console.log(`${mark} Validate: ${functionName}`);
|
|
117
99
|
}
|
|
118
100
|
else {
|
|
119
|
-
const msg =
|
|
120
|
-
const mark =
|
|
121
|
-
console.log(`${mark} Validate: ${functionName
|
|
101
|
+
const msg = chalk.red(`${errors}`);
|
|
102
|
+
const mark = chalk.red(`✖`);
|
|
103
|
+
console.log(`${mark} Validate: ${functionName ?? functionPath}\n\t${msg}`);
|
|
122
104
|
}
|
|
123
105
|
};
|
|
124
|
-
|
|
106
|
+
export { FunctionValidator, functionValidator, logValidationResult, validateSchema, };
|
|
125
107
|
//# sourceMappingURL=validations.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validations.js","sourceRoot":"","sources":["../../src/functions/validations.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"validations.js","sourceRoot":"","sources":["../../src/functions/validations.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,16 +1,10 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
const
|
|
8
|
-
const chalk_1 = __importDefault(require("chalk"));
|
|
9
|
-
const fs_extra_1 = __importDefault(require("fs-extra"));
|
|
10
|
-
const path_1 = __importDefault(require("path"));
|
|
11
|
-
const functionDefinitions_1 = require("./functionDefinitions");
|
|
12
|
-
const check = chalk_1.default.green(`✔`);
|
|
13
|
-
const cross = chalk_1.default.red(`✖`);
|
|
1
|
+
import { kebab } from 'case';
|
|
2
|
+
import chalk from 'chalk';
|
|
3
|
+
import fs from 'fs-extra';
|
|
4
|
+
import path from 'path';
|
|
5
|
+
import { functionDefinition, functionDefinitionPath, functionDirs, isFunctionVersion, } from './functionDefinitions';
|
|
6
|
+
const check = chalk.green(`✔`);
|
|
7
|
+
const cross = chalk.red(`✖`);
|
|
14
8
|
const migrate = (functionsPath, verbose = false) => {
|
|
15
9
|
const log = (msg) => {
|
|
16
10
|
if (verbose) {
|
|
@@ -18,31 +12,31 @@ const migrate = (functionsPath, verbose = false) => {
|
|
|
18
12
|
}
|
|
19
13
|
};
|
|
20
14
|
log('Checking for unversioned functions ...');
|
|
21
|
-
|
|
22
|
-
const definition =
|
|
15
|
+
functionDirs(functionsPath, true).forEach((functionPath) => {
|
|
16
|
+
const definition = functionDefinition(functionPath, functionsPath);
|
|
23
17
|
const { name } = definition;
|
|
24
18
|
let { version } = definition;
|
|
25
|
-
let postfix =
|
|
26
|
-
if (
|
|
19
|
+
let postfix = kebab(name);
|
|
20
|
+
if (isFunctionVersion(functionPath, functionsPath)) {
|
|
27
21
|
postfix = `-${version}`;
|
|
28
22
|
}
|
|
29
23
|
else {
|
|
30
24
|
version = '1.0';
|
|
31
|
-
postfix = ` => ${
|
|
25
|
+
postfix = ` => ${path.join(name, version)}`;
|
|
32
26
|
try {
|
|
33
27
|
delete definition.schema.name;
|
|
34
|
-
|
|
28
|
+
fs.writeJSONSync(functionDefinitionPath(functionPath), definition.schema, {
|
|
35
29
|
spaces: 2,
|
|
36
30
|
});
|
|
37
31
|
const tmpDir = '.tmp';
|
|
38
|
-
const tempDir =
|
|
39
|
-
const targetDir =
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
32
|
+
const tempDir = path.join(tmpDir, `${kebab(name)}-${version}`);
|
|
33
|
+
const targetDir = path.join(functionsPath, kebab(name));
|
|
34
|
+
fs.ensureDirSync(tmpDir);
|
|
35
|
+
fs.renameSync(functionPath, tempDir);
|
|
36
|
+
fs.mkdirSync(targetDir);
|
|
37
|
+
fs.moveSync(tempDir, path.join(targetDir, version));
|
|
44
38
|
}
|
|
45
|
-
catch
|
|
39
|
+
catch {
|
|
46
40
|
log(`${cross} Failed to version: ${name}`);
|
|
47
41
|
return;
|
|
48
42
|
}
|
|
@@ -50,5 +44,5 @@ const migrate = (functionsPath, verbose = false) => {
|
|
|
50
44
|
log(`${check} Version: ${name}${postfix}`);
|
|
51
45
|
});
|
|
52
46
|
};
|
|
53
|
-
|
|
47
|
+
export { migrate };
|
|
54
48
|
//# sourceMappingURL=versions.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"versions.js","sourceRoot":"","sources":["../../src/functions/versions.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"versions.js","sourceRoot":"","sources":["../../src/functions/versions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,MAAM,CAAC;AAC7B,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,MAAM,UAAU,CAAC;AAC1B,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,OAAO,EACL,kBAAkB,EAClB,sBAAsB,EACtB,YAAY,EACZ,iBAAiB,GAClB,MAAM,uBAAuB,CAAC;AAE/B,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AAC/B,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAE7B,MAAM,OAAO,GAAG,CAAC,aAAqB,EAAE,OAAO,GAAG,KAAK,EAAQ,EAAE;IAC/D,MAAM,GAAG,GAAG,CAAC,GAAW,EAAQ,EAAE;QAChC,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACnB,CAAC;IACH,CAAC,CAAC;IAEF,GAAG,CAAC,wCAAwC,CAAC,CAAC;IAE9C,YAAY,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,YAAY,EAAE,EAAE;QACzD,MAAM,UAAU,GAAG,kBAAkB,CAAC,YAAY,EAAE,aAAa,CAAC,CAAC;QACnE,MAAM,EAAE,IAAI,EAAE,GAAG,UAAU,CAAC;QAE5B,IAAI,EAAE,OAAO,EAAE,GAAG,UAAU,CAAC;QAC7B,IAAI,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;QAE1B,IAAI,iBAAiB,CAAC,YAAY,EAAE,aAAa,CAAC,EAAE,CAAC;YACnD,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;QAC1B,CAAC;aAAM,CAAC;YACN,OAAO,GAAG,KAAK,CAAC;YAChB,OAAO,GAAG,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,CAAC;YAE5C,IAAI,CAAC;gBACH,OAAO,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC;gBAE9B,EAAE,CAAC,aAAa,CACd,sBAAsB,CAAC,YAAY,CAAC,EACpC,UAAU,CAAC,MAAM,EACjB;oBACE,MAAM,EAAE,CAAC;iBACV,CACF,CAAC;gBAEF,MAAM,MAAM,GAAG,MAAM,CAAC;gBACtB,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,OAAO,EAAE,CAAC,CAAC;gBAC/D,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;gBAExD,EAAE,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;gBACzB,EAAE,CAAC,UAAU,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;gBACrC,EAAE,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;gBACxB,EAAE,CAAC,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC;YACtD,CAAC;YAAC,MAAM,CAAC;gBACP,GAAG,CAAC,GAAG,KAAK,uBAAuB,IAAI,EAAE,CAAC,CAAC;gBAC3C,OAAO;YACT,CAAC;QACH,CAAC;QAED,GAAG,CAAC,GAAG,KAAK,aAAa,IAAI,GAAG,OAAO,EAAE,CAAC,CAAC;IAC7C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,OAAO,EAAE,OAAO,EAAE,CAAC"}
|