@betty-blocks/cli 26.0.0-beta.18 → 26.0.0-beta.19
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/assets/app-functions/wasm-template/.wasm-functions +0 -0
- package/assets/app-functions/wasm-template/functions/say-hello/1.0/Cargo.lock +449 -0
- package/assets/app-functions/wasm-template/functions/say-hello/1.0/Cargo.toml +10 -0
- package/assets/app-functions/wasm-template/functions/say-hello/1.0/Justfile +6 -0
- package/assets/app-functions/wasm-template/functions/say-hello/1.0/function.json +35 -0
- package/assets/app-functions/wasm-template/functions/say-hello/1.0/src/lib.rs +19 -0
- package/assets/app-functions/wasm-template/functions/say-hello/1.0/wit/world.wit +13 -0
- package/build/bb-blocks-new.d.ts +1 -0
- package/build/bb-blocks-publish.d.ts +1 -0
- package/build/bb-blocks-publish.js +6 -6
- package/build/bb-blocks-publish.js.map +1 -1
- package/build/bb-blocks-release.d.ts +1 -0
- package/build/bb-blocks.d.ts +1 -0
- package/build/bb-bundle-init.d.ts +1 -0
- package/build/bb-bundle.d.ts +1 -0
- package/build/bb-components-build.d.ts +1 -0
- package/build/bb-components-create.d.ts +1 -0
- package/build/bb-components-generate.d.ts +1 -0
- package/build/bb-components-publish-bundle.d.ts +1 -0
- package/build/bb-components-publish-bundle.js +1 -1
- package/build/bb-components-publish-bundle.js.map +1 -1
- package/build/bb-components-publish.d.ts +1 -0
- package/build/bb-components-publish.js +1 -1
- package/build/bb-components-publish.js.map +1 -1
- package/build/bb-components-serve.d.ts +1 -0
- package/build/bb-components.d.ts +1 -0
- package/build/bb-functions-bump.d.ts +1 -0
- package/build/bb-functions-bump.js +15 -42
- package/build/bb-functions-bump.js.map +1 -1
- package/build/bb-functions-init.d.ts +1 -0
- package/build/bb-functions-init.js +17 -39
- package/build/bb-functions-init.js.map +1 -1
- package/build/bb-functions-login.d.ts +1 -0
- package/build/bb-functions-logout.d.ts +1 -0
- package/build/bb-functions-new.d.ts +1 -0
- package/build/bb-functions-new.js +15 -12
- package/build/bb-functions-new.js.map +1 -1
- package/build/bb-functions-publish.d.ts +1 -0
- package/build/bb-functions-publish.js +34 -29
- package/build/bb-functions-publish.js.map +1 -1
- package/build/bb-functions-validate.d.ts +1 -0
- package/build/bb-functions-validate.js +4 -2
- package/build/bb-functions-validate.js.map +1 -1
- package/build/bb-functions.d.ts +1 -0
- package/build/bb-functions.js +2 -6
- package/build/bb-functions.js.map +1 -1
- package/build/bb.d.ts +2 -0
- package/build/blocks/blockDefinitions.d.ts +10 -0
- package/build/blocks/blockDefinitions.js +13 -8
- package/build/blocks/blockDefinitions.js.map +1 -1
- package/build/blocks/publishBlocks.d.ts +2 -0
- package/build/blocks/publishBlocks.js +3 -5
- package/build/blocks/publishBlocks.js.map +1 -1
- package/build/blocks/releaseBlocks.d.ts +5 -0
- package/build/components/bb-components-functions.d.ts +10 -0
- package/build/{functions → components}/bb-components-functions.js +1 -1
- package/build/components/bb-components-functions.js.map +1 -0
- package/build/components/comments.d.ts +3 -0
- package/build/components/compatibility.d.ts +7 -0
- package/build/components/transformers/index.d.ts +3 -0
- package/build/components-build/index.d.ts +2 -0
- package/build/components-build/reportDiagnostics.d.ts +2 -0
- package/build/components-build/styles.d.ts +4 -0
- package/build/functions/config.d.ts +67 -0
- package/build/functions/createWasmDefinitionFiles.d.ts +4 -0
- package/build/functions/createWasmDefinitionFiles.js +61 -0
- package/build/functions/createWasmDefinitionFiles.js.map +1 -0
- package/build/functions/functionDefinitions.d.ts +23 -0
- package/build/functions/functionDefinitions.js +68 -19
- package/build/functions/functionDefinitions.js.map +1 -1
- package/build/functions/functionVersionBump.d.ts +19 -0
- package/build/functions/functionVersionBump.js +62 -0
- package/build/functions/functionVersionBump.js.map +1 -0
- package/build/functions/publishAppFunctions.d.ts +13 -0
- package/build/functions/publishAppFunctions.js +4 -6
- package/build/functions/publishAppFunctions.js.map +1 -1
- package/build/functions/publishWasmBlockStoreFunctions.d.ts +1 -0
- package/build/functions/publishWasmBlockStoreFunctions.js +100 -0
- package/build/functions/publishWasmBlockStoreFunctions.js.map +1 -0
- package/build/functions/utils.d.ts +2 -0
- package/build/functions/validateFunctions.d.ts +3 -0
- package/build/functions/validateFunctions.js +20 -0
- package/build/functions/validateFunctions.js.map +1 -0
- package/build/functions/validations.d.ts +30 -0
- package/build/functions/validations.js +40 -7
- package/build/functions/validations.js.map +1 -1
- package/build/interactions/compatibility.d.ts +3 -0
- package/build/interactions/diagnostics.d.ts +2 -0
- package/build/types.d.ts +377 -0
- package/build/types.js.map +1 -1
- package/build/utils/arguments.d.ts +2 -0
- package/build/utils/checkPackageVersion.d.ts +1 -0
- package/build/utils/checkUpdateAvailable.d.ts +1 -0
- package/build/utils/fusionAuth.d.ts +21 -0
- package/build/utils/hash.d.ts +2 -0
- package/build/utils/login.d.ts +15 -0
- package/build/utils/pick.d.ts +7 -0
- package/build/utils/readFilesByType.d.ts +2 -0
- package/build/utils/rootDir.d.ts +2 -0
- package/build/utils/rootDir.js +1 -1
- package/build/utils/rootDir.js.map +1 -1
- package/build/utils/serveComponentSet.d.ts +3 -0
- package/build/utils/transpile.d.ts +2 -0
- package/build/utils/uploadBlob.d.ts +24 -0
- package/build/utils/validation.d.ts +4 -0
- package/build/validations/component.d.ts +3 -0
- package/build/validations/constants.d.ts +16 -0
- package/build/validations/function-block-validations/index.d.ts +22 -0
- package/build/validations/function-block-validations/index.js +3 -1
- package/build/validations/function-block-validations/index.js.map +1 -1
- package/build/validations/interaction.d.ts +3 -0
- package/build/validations/prefab/action.d.ts +2 -0
- package/build/validations/prefab/component.d.ts +10 -0
- package/build/validations/prefab/componentOption.d.ts +3 -0
- package/build/validations/prefab/interaction.d.ts +2 -0
- package/build/validations/prefab/linkedOption.d.ts +3 -0
- package/build/validations/prefab/linkedPartial.d.ts +3 -0
- package/build/validations/prefab/variable.d.ts +3 -0
- package/build/validations/prefab.d.ts +17 -0
- package/build/validations/styles.d.ts +6 -0
- package/package.json +31 -34
- package/assets/app-functions/templates/test/helpers.js +0 -3
- package/assets/app-functions/templates/test/say-hello.test.js +0 -4
- package/assets/functions/packer/package.json +0 -9
- package/assets/functions/packer/webpack.config.js +0 -12
- package/assets/functions/templates/functions.json +0 -14
- package/assets/functions/templates/package.json +0 -11
- package/assets/functions/templates/src/all-users.js +0 -14
- package/assets/functions/templates/src/get-json.js +0 -9
- package/assets/functions/templates/src/index.js +0 -5
- package/assets/functions/templates/src/say-hello.js +0 -13
- package/build/bb-functions-build.js +0 -56
- package/build/bb-functions-build.js.map +0 -1
- package/build/functions/acquireAppFunctionsProject.js +0 -14
- package/build/functions/acquireAppFunctionsProject.js.map +0 -1
- package/build/functions/acquireCustomFunctionsProject.js +0 -15
- package/build/functions/acquireCustomFunctionsProject.js.map +0 -1
- package/build/functions/bb-components-functions.js.map +0 -1
- package/build/functions/icons.js +0 -42
- package/build/functions/icons.js.map +0 -1
- package/build/functions/publishCustomFunctions.js +0 -95
- package/build/functions/publishCustomFunctions.js.map +0 -1
- package/build/functions/publishFunctions.js +0 -98
- package/build/functions/publishFunctions.js.map +0 -1
- package/build/functions/versions.js +0 -48
- package/build/functions/versions.js.map +0 -1
- package/build/utils/ide.js +0 -145
- package/build/utils/ide.js.map +0 -1
- /package/assets/app-functions/{templates → js-template}/.app-functions +0 -0
- /package/assets/app-functions/{templates → js-template}/functions/say-hello/1.0/function.json +0 -0
- /package/assets/app-functions/{templates → js-template}/functions/say-hello/1.0/index.js +0 -0
- /package/assets/app-functions/{templates → js-template}/package.json +0 -0
|
@@ -1,95 +0,0 @@
|
|
|
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';
|
|
10
|
-
const workingDir = process.cwd();
|
|
11
|
-
const groomMetaData = async (config) => {
|
|
12
|
-
console.log('Grooming functions.json ...');
|
|
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;`);
|
|
17
|
-
const ctx = { fn: {} };
|
|
18
|
-
script.runInNewContext(ctx);
|
|
19
|
-
const customFunctions = ctx.fn;
|
|
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;
|
|
39
|
-
}), Promise.resolve({}));
|
|
40
|
-
fs.writeFileSync(functionsJsonFile, JSON.stringify(groomedMetaData, null, 2));
|
|
41
|
-
return groomedMetaData;
|
|
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;
|
|
52
|
-
if (use_new_runtime) {
|
|
53
|
-
return ide.put(`actions/${id}`, { json: { record: { description } } }, `Compiling action "${description}" ...`);
|
|
54
|
-
}
|
|
55
|
-
return Promise.resolve(null);
|
|
56
|
-
}, Promise.resolve(null));
|
|
57
|
-
};
|
|
58
|
-
const cleanMetaData = () => {
|
|
59
|
-
const functionsJsonFile = path.join(workingDir, 'functions.json');
|
|
60
|
-
const metaData = fs.readJsonSync(functionsJsonFile);
|
|
61
|
-
Object.keys(metaData).forEach((name) => {
|
|
62
|
-
delete metaData[name].replace;
|
|
63
|
-
});
|
|
64
|
-
fs.writeFileSync(functionsJsonFile, JSON.stringify(metaData, null, 2));
|
|
65
|
-
};
|
|
66
|
-
const publishCustomFunctions = (host, bumpRevision, skipBuild) => {
|
|
67
|
-
const config = new Config();
|
|
68
|
-
console.log(`Publishing to ${config.host} (${config.zone}) ...`);
|
|
69
|
-
new Promise((resolve) => {
|
|
70
|
-
if (skipBuild) {
|
|
71
|
-
resolve(undefined);
|
|
72
|
-
}
|
|
73
|
-
else {
|
|
74
|
-
const building = ora(`Building custom functions bundle (this can take a while) ...`).start();
|
|
75
|
-
const build = spawn('bb functions build', {
|
|
76
|
-
shell: true,
|
|
77
|
-
});
|
|
78
|
-
build.on('close', () => {
|
|
79
|
-
building.succeed();
|
|
80
|
-
resolve(undefined);
|
|
81
|
-
});
|
|
82
|
-
}
|
|
83
|
-
})
|
|
84
|
-
.then(() => groomMetaData(config))
|
|
85
|
-
.then((metaData) => publishFunctions(config, metaData, bumpRevision))
|
|
86
|
-
.then(cleanMetaData)
|
|
87
|
-
.then(() => {
|
|
88
|
-
console.log('Done.');
|
|
89
|
-
})
|
|
90
|
-
.catch((error) => {
|
|
91
|
-
throw new Error(`${error}\nAbort.`);
|
|
92
|
-
});
|
|
93
|
-
};
|
|
94
|
-
export default publishCustomFunctions;
|
|
95
|
-
//# sourceMappingURL=publishCustomFunctions.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"publishCustomFunctions.js","sourceRoot":"","sources":["../../src/functions/publishCustomFunctions.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,98 +0,0 @@
|
|
|
1
|
-
import prompts from 'prompts';
|
|
2
|
-
import IDE from '../utils/ide';
|
|
3
|
-
const resolveMissingFunction = async ({ defaultInputVariables, groomed, metaData, name, }) => {
|
|
4
|
-
const { replace } = (await prompts({
|
|
5
|
-
active: 'replace',
|
|
6
|
-
inactive: 'add',
|
|
7
|
-
initial: false,
|
|
8
|
-
message: `Function "${name}" is missing. What do you want to do?`,
|
|
9
|
-
name: 'replace',
|
|
10
|
-
type: 'toggle',
|
|
11
|
-
}));
|
|
12
|
-
if (replace) {
|
|
13
|
-
const choices = Object.keys(metaData).filter((key) => !groomed[key]);
|
|
14
|
-
let replacedFunction;
|
|
15
|
-
if (choices.length === 1) {
|
|
16
|
-
const confirm = await prompts({
|
|
17
|
-
initial: true,
|
|
18
|
-
message: `Replace "${choices[0]}"?`,
|
|
19
|
-
name: 'value',
|
|
20
|
-
type: 'confirm',
|
|
21
|
-
});
|
|
22
|
-
if (confirm.value)
|
|
23
|
-
[replacedFunction] = choices;
|
|
24
|
-
else
|
|
25
|
-
throw new Error('Abort.');
|
|
26
|
-
}
|
|
27
|
-
else {
|
|
28
|
-
replacedFunction = (await prompts({
|
|
29
|
-
choices: choices.map((key) => ({ title: key, value: key })),
|
|
30
|
-
initial: 0,
|
|
31
|
-
message: 'Replace',
|
|
32
|
-
name: 'value',
|
|
33
|
-
type: 'select',
|
|
34
|
-
})).value;
|
|
35
|
-
}
|
|
36
|
-
groomed[name] = metaData[replacedFunction];
|
|
37
|
-
groomed[name].replace = replacedFunction;
|
|
38
|
-
// eslint-disable-next-line @typescript-eslint/no-dynamic-delete
|
|
39
|
-
delete metaData[replacedFunction];
|
|
40
|
-
}
|
|
41
|
-
else {
|
|
42
|
-
const { returnType, inputVariables } = await prompts([
|
|
43
|
-
{
|
|
44
|
-
choices: [
|
|
45
|
-
{ title: 'string', value: 'string' },
|
|
46
|
-
{ title: 'integer', value: 'integer' },
|
|
47
|
-
{ title: 'boolean', value: 'boolean' },
|
|
48
|
-
],
|
|
49
|
-
initial: 0,
|
|
50
|
-
message: `What is the return type of the function?`,
|
|
51
|
-
name: 'returnType',
|
|
52
|
-
type: 'select',
|
|
53
|
-
},
|
|
54
|
-
{
|
|
55
|
-
initial: defaultInputVariables,
|
|
56
|
-
message: 'What are the input variables? (`name:type name:type ...`)',
|
|
57
|
-
name: 'inputVariables',
|
|
58
|
-
type: 'text',
|
|
59
|
-
},
|
|
60
|
-
]);
|
|
61
|
-
groomed[name] = {
|
|
62
|
-
inputVariables: inputVariables
|
|
63
|
-
.split(/(\s|,)/)
|
|
64
|
-
.reduce((variables, variable) => {
|
|
65
|
-
if (variable.length) {
|
|
66
|
-
const [varName, varType] = variable.split(':');
|
|
67
|
-
variables[varName] = varType;
|
|
68
|
-
}
|
|
69
|
-
return variables;
|
|
70
|
-
}, {}),
|
|
71
|
-
returnType,
|
|
72
|
-
};
|
|
73
|
-
}
|
|
74
|
-
return groomed;
|
|
75
|
-
};
|
|
76
|
-
const storeCustomFunctions = async (ide, metaData, bumpRevision) => {
|
|
77
|
-
const customFunctions = (await ide.get('bootstrap/custom_functions'));
|
|
78
|
-
const revision = customFunctions.reduce((rev, func) => Math.max(rev, func.revision), 0) +
|
|
79
|
-
(bumpRevision ? 1 : 0);
|
|
80
|
-
const ids = customFunctions.reduce((map, { id, name }) => ({ ...map, [name]: id }), {});
|
|
81
|
-
await Object.keys(metaData).reduce(async (promise, name) => {
|
|
82
|
-
await promise;
|
|
83
|
-
const { replace, returnType, inputVariables } = metaData[name];
|
|
84
|
-
const id = ids[replace ?? name];
|
|
85
|
-
const method = id ? 'put' : 'post';
|
|
86
|
-
const action = id ? 'Updating' : 'Creating';
|
|
87
|
-
const params = {
|
|
88
|
-
input_variables: inputVariables,
|
|
89
|
-
name,
|
|
90
|
-
return_type: returnType,
|
|
91
|
-
revision,
|
|
92
|
-
};
|
|
93
|
-
return ide[method](`custom_functions/${id || 'new'}`, { json: { record: params } }, `${action} custom function "${replace ?? name}" ...`);
|
|
94
|
-
}, Promise.resolve(null));
|
|
95
|
-
return revision;
|
|
96
|
-
};
|
|
97
|
-
export { resolveMissingFunction, storeCustomFunctions };
|
|
98
|
-
//# sourceMappingURL=publishFunctions.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"publishFunctions.js","sourceRoot":"","sources":["../../src/functions/publishFunctions.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,48 +0,0 @@
|
|
|
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(`✖`);
|
|
8
|
-
const migrate = (functionsPath, verbose = false) => {
|
|
9
|
-
const log = (msg) => {
|
|
10
|
-
if (verbose) {
|
|
11
|
-
console.log(msg);
|
|
12
|
-
}
|
|
13
|
-
};
|
|
14
|
-
log('Checking for unversioned functions ...');
|
|
15
|
-
functionDirs(functionsPath, true).forEach((functionPath) => {
|
|
16
|
-
const definition = functionDefinition(functionPath, functionsPath);
|
|
17
|
-
const { name } = definition;
|
|
18
|
-
let { version } = definition;
|
|
19
|
-
let postfix = kebab(name);
|
|
20
|
-
if (isFunctionVersion(functionPath, functionsPath)) {
|
|
21
|
-
postfix = `-${version}`;
|
|
22
|
-
}
|
|
23
|
-
else {
|
|
24
|
-
version = '1.0';
|
|
25
|
-
postfix = ` => ${path.join(name, version)}`;
|
|
26
|
-
try {
|
|
27
|
-
delete definition.schema.name;
|
|
28
|
-
fs.writeJSONSync(functionDefinitionPath(functionPath), definition.schema, {
|
|
29
|
-
spaces: 2,
|
|
30
|
-
});
|
|
31
|
-
const tmpDir = '.tmp';
|
|
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));
|
|
38
|
-
}
|
|
39
|
-
catch {
|
|
40
|
-
log(`${cross} Failed to version: ${name}`);
|
|
41
|
-
return;
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
log(`${check} Version: ${name}${postfix}`);
|
|
45
|
-
});
|
|
46
|
-
};
|
|
47
|
-
export { migrate };
|
|
48
|
-
//# sourceMappingURL=versions.js.map
|
|
@@ -1 +0,0 @@
|
|
|
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"}
|
package/build/utils/ide.js
DELETED
|
@@ -1,145 +0,0 @@
|
|
|
1
|
-
import fs from 'fs-extra';
|
|
2
|
-
import ora from 'ora';
|
|
3
|
-
import os from 'os';
|
|
4
|
-
import path from 'path';
|
|
5
|
-
import prompts from 'prompts';
|
|
6
|
-
import Webhead, {} from 'webhead';
|
|
7
|
-
import Config from '../functions/config';
|
|
8
|
-
import FusionAuth from './fusionAuth';
|
|
9
|
-
class IDE {
|
|
10
|
-
configFile;
|
|
11
|
-
config;
|
|
12
|
-
webhead;
|
|
13
|
-
fusionAuth;
|
|
14
|
-
loggedIn;
|
|
15
|
-
constructor(config) {
|
|
16
|
-
this.configFile = path.join(os.homedir(), '.bb-cli');
|
|
17
|
-
this.config = config;
|
|
18
|
-
if (!fs.pathExistsSync(this.configFile)) {
|
|
19
|
-
fs.writeFileSync(this.configFile, JSON.stringify({ cookies: [] }, null, 2));
|
|
20
|
-
}
|
|
21
|
-
this.webhead = Webhead({
|
|
22
|
-
beforeSend: ({ method, url, options }, { csrfToken }) => {
|
|
23
|
-
if (method !== 'GET' && csrfToken) {
|
|
24
|
-
options.headers ??= {};
|
|
25
|
-
options.headers['X-Csrf-Token'] = csrfToken;
|
|
26
|
-
}
|
|
27
|
-
return { method, options, url };
|
|
28
|
-
},
|
|
29
|
-
complete: (_parameters, session, webhead) => {
|
|
30
|
-
if (!session.csrfToken) {
|
|
31
|
-
const match = webhead.text().match(/Betty\.CSRF = '(.*?)'/);
|
|
32
|
-
if (match) {
|
|
33
|
-
const [, csrfToken] = match;
|
|
34
|
-
session.csrfToken = csrfToken;
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
},
|
|
38
|
-
jarFile: this.configFile,
|
|
39
|
-
});
|
|
40
|
-
this.fusionAuth = new FusionAuth(this.config, async () => this.relogin());
|
|
41
|
-
}
|
|
42
|
-
async get(requestPath, label) {
|
|
43
|
-
return this.request({
|
|
44
|
-
label,
|
|
45
|
-
method: 'get',
|
|
46
|
-
requestPath,
|
|
47
|
-
});
|
|
48
|
-
}
|
|
49
|
-
async post(requestPath, options, label) {
|
|
50
|
-
return this.request({
|
|
51
|
-
label,
|
|
52
|
-
method: 'post',
|
|
53
|
-
options,
|
|
54
|
-
requestPath,
|
|
55
|
-
});
|
|
56
|
-
}
|
|
57
|
-
async put(requestPath, options, label) {
|
|
58
|
-
return this.request({
|
|
59
|
-
label,
|
|
60
|
-
method: 'put',
|
|
61
|
-
options,
|
|
62
|
-
requestPath,
|
|
63
|
-
});
|
|
64
|
-
}
|
|
65
|
-
async request({ label, method, options, requestPath, }) {
|
|
66
|
-
await this.ensureLogin();
|
|
67
|
-
const spinner = label ? ora(label).start() : undefined;
|
|
68
|
-
const { statusCode } = await this.webhead[method](`${this.config.host}/api/${requestPath}`, options);
|
|
69
|
-
if (spinner) {
|
|
70
|
-
spinner[statusCode.toString().match(/^2/) ? 'succeed' : 'fail']();
|
|
71
|
-
}
|
|
72
|
-
return this.webhead.json() ?? this.webhead.text();
|
|
73
|
-
}
|
|
74
|
-
async relogin() {
|
|
75
|
-
this.loggedIn = false;
|
|
76
|
-
this.webhead.clearCookies();
|
|
77
|
-
await this.ensureLogin();
|
|
78
|
-
}
|
|
79
|
-
async ensureLogin() {
|
|
80
|
-
if (this.loggedIn)
|
|
81
|
-
return;
|
|
82
|
-
await this.webhead.get(this.config.host);
|
|
83
|
-
if (this.webhead.text().match('redirect_location')) {
|
|
84
|
-
await this.webhead.get('/login');
|
|
85
|
-
}
|
|
86
|
-
let email = '';
|
|
87
|
-
let password = '';
|
|
88
|
-
const ensureAuth = async () => {
|
|
89
|
-
const cassieLogin = !!this.webhead.$('form [name="username"]').length;
|
|
90
|
-
const fusionAuthLogin = !!this.webhead.$('form [name="loginId"]').length;
|
|
91
|
-
if (cassieLogin || fusionAuthLogin) {
|
|
92
|
-
const config = fs.readJsonSync(this.configFile);
|
|
93
|
-
const credentials = await prompts([
|
|
94
|
-
{
|
|
95
|
-
initial: config.email,
|
|
96
|
-
message: 'Fill in your e-mail address',
|
|
97
|
-
name: 'email',
|
|
98
|
-
type: 'text',
|
|
99
|
-
},
|
|
100
|
-
{
|
|
101
|
-
message: 'Fill in your password',
|
|
102
|
-
name: 'password',
|
|
103
|
-
type: 'password',
|
|
104
|
-
},
|
|
105
|
-
]);
|
|
106
|
-
({ email, password } = credentials);
|
|
107
|
-
config.email = email;
|
|
108
|
-
fs.writeFileSync(this.configFile, JSON.stringify(config, null, 2));
|
|
109
|
-
const identifier = cassieLogin ? 'username' : 'loginId';
|
|
110
|
-
const input = {
|
|
111
|
-
[identifier]: email,
|
|
112
|
-
password,
|
|
113
|
-
};
|
|
114
|
-
await this.webhead.submit('form', input);
|
|
115
|
-
await ensureAuth();
|
|
116
|
-
}
|
|
117
|
-
};
|
|
118
|
-
const ensure2FA = async () => {
|
|
119
|
-
const cassie2FA = !!this.webhead.$('form[name="otp"]').length;
|
|
120
|
-
const fusionAuth2FA = !!this.webhead.$('form[id="2fa-form"]').length;
|
|
121
|
-
if (cassie2FA || fusionAuth2FA) {
|
|
122
|
-
const { code } = await prompts([
|
|
123
|
-
{
|
|
124
|
-
message: 'Fill in your 2FA code',
|
|
125
|
-
name: 'code',
|
|
126
|
-
type: 'text',
|
|
127
|
-
},
|
|
128
|
-
]);
|
|
129
|
-
const name = cassie2FA ? 'otp' : 'code';
|
|
130
|
-
const input = {
|
|
131
|
-
[name]: code,
|
|
132
|
-
};
|
|
133
|
-
await this.webhead.submit('form[name="otp"],form[id="2fa-form"]', input);
|
|
134
|
-
await ensure2FA();
|
|
135
|
-
}
|
|
136
|
-
};
|
|
137
|
-
await ensureAuth();
|
|
138
|
-
await ensure2FA();
|
|
139
|
-
this.fusionAuth.loginId = email;
|
|
140
|
-
this.fusionAuth.password = password;
|
|
141
|
-
this.loggedIn = true;
|
|
142
|
-
}
|
|
143
|
-
}
|
|
144
|
-
export default IDE;
|
|
145
|
-
//# sourceMappingURL=ide.js.map
|
package/build/utils/ide.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ide.js","sourceRoot":"","sources":["../../src/utils/ide.ts"],"names":[],"mappings":"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"}
|
|
File without changes
|
/package/assets/app-functions/{templates → js-template}/functions/say-hello/1.0/function.json
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|