@betty-blocks/cli 25.108.0 → 26.0.0-alpha.1

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.
Files changed (208) hide show
  1. package/README.md +11 -0
  2. package/assets/app-functions/{templates → js-template}/functions/say-hello/1.0/index.js +2 -2
  3. package/assets/app-functions/wasm-template/.wasm-functions +0 -0
  4. package/assets/app-functions/wasm-template/functions/say-hello/1.0/Cargo.lock +449 -0
  5. package/assets/app-functions/wasm-template/functions/say-hello/1.0/Cargo.toml +10 -0
  6. package/assets/app-functions/wasm-template/functions/say-hello/1.0/Justfile +6 -0
  7. package/assets/app-functions/wasm-template/functions/say-hello/1.0/function.json +35 -0
  8. package/assets/app-functions/wasm-template/functions/say-hello/1.0/src/lib.rs +19 -0
  9. package/assets/app-functions/wasm-template/functions/say-hello/1.0/wit/world.wit +13 -0
  10. package/assets/component-set/__package.json +2 -2
  11. package/assets/component-set/src/components/helloWorld.js +1 -1
  12. package/assets/component-set/src/prefabs/helloWorld.ts +6 -7
  13. package/build/src/bb-blocks-new.js +9970 -0
  14. package/build/src/bb-blocks-publish.js +25832 -0
  15. package/build/src/bb-blocks-release.js +15548 -0
  16. package/build/src/bb-blocks.js +2149 -0
  17. package/build/src/bb-bundle-init.js +6666 -0
  18. package/build/src/bb-bundle.js +2639 -0
  19. package/build/src/bb-components-build.js +267853 -0
  20. package/build/src/bb-components-create.js +6677 -0
  21. package/build/src/bb-components-generate.js +6805 -0
  22. package/build/src/bb-components-publish-bundle.js +43978 -0
  23. package/build/src/bb-components-publish.js +43985 -0
  24. package/build/src/bb-components-serve.js +15958 -0
  25. package/build/src/bb-components.js +2157 -0
  26. package/build/src/bb-functions-bump.js +17897 -0
  27. package/build/src/bb-functions-init.js +4257 -0
  28. package/build/src/bb-functions-login.js +15460 -0
  29. package/build/src/bb-functions-logout.js +15454 -0
  30. package/build/src/bb-functions-new.js +12414 -0
  31. package/build/src/bb-functions-publish.js +25806 -0
  32. package/build/src/bb-functions-validate.js +25473 -0
  33. package/build/src/bb-functions.js +2157 -0
  34. package/build/src/bb.js +2743 -0
  35. package/package.json +59 -85
  36. package/assets/app-functions/templates/test/helpers.js +0 -3
  37. package/assets/app-functions/templates/test/say-hello.test.js +0 -4
  38. package/assets/functions/packer/package.json +0 -9
  39. package/assets/functions/packer/webpack.config.js +0 -12
  40. package/assets/functions/templates/functions.json +0 -14
  41. package/assets/functions/templates/package.json +0 -11
  42. package/assets/functions/templates/src/all-users.js +0 -14
  43. package/assets/functions/templates/src/get-json.js +0 -9
  44. package/assets/functions/templates/src/index.js +0 -5
  45. package/assets/functions/templates/src/say-hello.js +0 -13
  46. package/build/bb-blocks-new.js +0 -30
  47. package/build/bb-blocks-new.js.map +0 -1
  48. package/build/bb-blocks-publish.js +0 -115
  49. package/build/bb-blocks-publish.js.map +0 -1
  50. package/build/bb-blocks-release.js +0 -32
  51. package/build/bb-blocks-release.js.map +0 -1
  52. package/build/bb-blocks.js +0 -24
  53. package/build/bb-blocks.js.map +0 -1
  54. package/build/bb-bundle-init.js +0 -47
  55. package/build/bb-bundle-init.js.map +0 -1
  56. package/build/bb-bundle.js +0 -24
  57. package/build/bb-bundle.js.map +0 -1
  58. package/build/bb-components-build.js +0 -439
  59. package/build/bb-components-build.js.map +0 -1
  60. package/build/bb-components-create.js +0 -55
  61. package/build/bb-components-create.js.map +0 -1
  62. package/build/bb-components-generate.js +0 -180
  63. package/build/bb-components-generate.js.map +0 -1
  64. package/build/bb-components-publish-bundle.js +0 -58
  65. package/build/bb-components-publish-bundle.js.map +0 -1
  66. package/build/bb-components-publish.js +0 -64
  67. package/build/bb-components-publish.js.map +0 -1
  68. package/build/bb-components-serve.js +0 -43
  69. package/build/bb-components-serve.js.map +0 -1
  70. package/build/bb-components.js +0 -36
  71. package/build/bb-components.js.map +0 -1
  72. package/build/bb-functions-autoversion.js +0 -19
  73. package/build/bb-functions-autoversion.js.map +0 -1
  74. package/build/bb-functions-build.js +0 -60
  75. package/build/bb-functions-build.js.map +0 -1
  76. package/build/bb-functions-bump.js +0 -78
  77. package/build/bb-functions-bump.js.map +0 -1
  78. package/build/bb-functions-convert-icons.js +0 -19
  79. package/build/bb-functions-convert-icons.js.map +0 -1
  80. package/build/bb-functions-init.js +0 -62
  81. package/build/bb-functions-init.js.map +0 -1
  82. package/build/bb-functions-login.js +0 -32
  83. package/build/bb-functions-login.js.map +0 -1
  84. package/build/bb-functions-logout.js +0 -15
  85. package/build/bb-functions-logout.js.map +0 -1
  86. package/build/bb-functions-new.js +0 -29
  87. package/build/bb-functions-new.js.map +0 -1
  88. package/build/bb-functions-publish.js +0 -66
  89. package/build/bb-functions-publish.js.map +0 -1
  90. package/build/bb-functions-test.js +0 -30
  91. package/build/bb-functions-test.js.map +0 -1
  92. package/build/bb-functions-validate.js +0 -48
  93. package/build/bb-functions-validate.js.map +0 -1
  94. package/build/bb-functions.js +0 -40
  95. package/build/bb-functions.js.map +0 -1
  96. package/build/bb-interactions-generate.js +0 -49
  97. package/build/bb-interactions-generate.js.map +0 -1
  98. package/build/bb-interactions.js +0 -21
  99. package/build/bb-interactions.js.map +0 -1
  100. package/build/bb.js +0 -36
  101. package/build/bb.js.map +0 -1
  102. package/build/blocks/blockDefinitions.js +0 -70
  103. package/build/blocks/blockDefinitions.js.map +0 -1
  104. package/build/blocks/publishBlocks.js +0 -75
  105. package/build/blocks/publishBlocks.js.map +0 -1
  106. package/build/blocks/releaseBlocks.js +0 -69
  107. package/build/blocks/releaseBlocks.js.map +0 -1
  108. package/build/components/comments.js +0 -88
  109. package/build/components/comments.js.map +0 -1
  110. package/build/components/compatibility.js +0 -63
  111. package/build/components/compatibility.js.map +0 -1
  112. package/build/components/transformers/index.js +0 -38
  113. package/build/components/transformers/index.js.map +0 -1
  114. package/build/components-build/index.js +0 -8
  115. package/build/components-build/index.js.map +0 -1
  116. package/build/components-build/reportDiagnostics.js +0 -18
  117. package/build/components-build/reportDiagnostics.js.map +0 -1
  118. package/build/components-build/styles.js +0 -118
  119. package/build/components-build/styles.js.map +0 -1
  120. package/build/components-build/v2/buildInteractions.js +0 -74
  121. package/build/components-build/v2/buildInteractions.js.map +0 -1
  122. package/build/functions/acquireAppFunctionsProject.js +0 -19
  123. package/build/functions/acquireAppFunctionsProject.js.map +0 -1
  124. package/build/functions/acquireCustomFunctionsProject.js +0 -21
  125. package/build/functions/acquireCustomFunctionsProject.js.map +0 -1
  126. package/build/functions/bb-components-functions.js +0 -44
  127. package/build/functions/bb-components-functions.js.map +0 -1
  128. package/build/functions/config.js +0 -205
  129. package/build/functions/config.js.map +0 -1
  130. package/build/functions/functionDefinitions.js +0 -194
  131. package/build/functions/functionDefinitions.js.map +0 -1
  132. package/build/functions/icons.js +0 -47
  133. package/build/functions/icons.js.map +0 -1
  134. package/build/functions/publishAppFunctions.js +0 -111
  135. package/build/functions/publishAppFunctions.js.map +0 -1
  136. package/build/functions/publishCustomFunctions.js +0 -114
  137. package/build/functions/publishCustomFunctions.js.map +0 -1
  138. package/build/functions/publishFunctions.js +0 -120
  139. package/build/functions/publishFunctions.js.map +0 -1
  140. package/build/functions/testRunner.js +0 -245
  141. package/build/functions/testRunner.js.map +0 -1
  142. package/build/functions/utils.js +0 -23
  143. package/build/functions/utils.js.map +0 -1
  144. package/build/functions/validations.js +0 -127
  145. package/build/functions/validations.js.map +0 -1
  146. package/build/functions/versions.js +0 -49
  147. package/build/functions/versions.js.map +0 -1
  148. package/build/interactions/compatibility.js +0 -95
  149. package/build/interactions/compatibility.js.map +0 -1
  150. package/build/interactions/diagnostics.js +0 -25
  151. package/build/interactions/diagnostics.js.map +0 -1
  152. package/build/types.js +0 -41
  153. package/build/types.js.map +0 -1
  154. package/build/utils/arguments.js +0 -8
  155. package/build/utils/arguments.js.map +0 -1
  156. package/build/utils/checkPackageVersion.js +0 -21
  157. package/build/utils/checkPackageVersion.js.map +0 -1
  158. package/build/utils/checkUpdateAvailable.js +0 -81
  159. package/build/utils/checkUpdateAvailable.js.map +0 -1
  160. package/build/utils/fusionAuth.js +0 -132
  161. package/build/utils/fusionAuth.js.map +0 -1
  162. package/build/utils/hash.js +0 -10
  163. package/build/utils/hash.js.map +0 -1
  164. package/build/utils/ide.js +0 -156
  165. package/build/utils/ide.js.map +0 -1
  166. package/build/utils/login.js +0 -134
  167. package/build/utils/login.js.map +0 -1
  168. package/build/utils/readFilesByType.js +0 -40
  169. package/build/utils/readFilesByType.js.map +0 -1
  170. package/build/utils/rootDir.js +0 -9
  171. package/build/utils/rootDir.js.map +0 -1
  172. package/build/utils/serveComponentSet.js +0 -68
  173. package/build/utils/serveComponentSet.js.map +0 -1
  174. package/build/utils/transpile.js +0 -31
  175. package/build/utils/transpile.js.map +0 -1
  176. package/build/utils/uploadBlob.js +0 -72
  177. package/build/utils/uploadBlob.js.map +0 -1
  178. package/build/utils/validation.js +0 -80
  179. package/build/utils/validation.js.map +0 -1
  180. package/build/validations/component.js +0 -61
  181. package/build/validations/component.js.map +0 -1
  182. package/build/validations/constants.js +0 -210
  183. package/build/validations/constants.js.map +0 -1
  184. package/build/validations/function-block-validations/index.js +0 -82
  185. package/build/validations/function-block-validations/index.js.map +0 -1
  186. package/build/validations/interaction.js +0 -27
  187. package/build/validations/interaction.js.map +0 -1
  188. package/build/validations/prefab/action.js +0 -104
  189. package/build/validations/prefab/action.js.map +0 -1
  190. package/build/validations/prefab/component.js +0 -279
  191. package/build/validations/prefab/component.js.map +0 -1
  192. package/build/validations/prefab/componentOption.js +0 -152
  193. package/build/validations/prefab/componentOption.js.map +0 -1
  194. package/build/validations/prefab/interaction.js +0 -43
  195. package/build/validations/prefab/interaction.js.map +0 -1
  196. package/build/validations/prefab/linkedOption.js +0 -44
  197. package/build/validations/prefab/linkedOption.js.map +0 -1
  198. package/build/validations/prefab/linkedPartial.js +0 -35
  199. package/build/validations/prefab/linkedPartial.js.map +0 -1
  200. package/build/validations/prefab/variable.js +0 -41
  201. package/build/validations/prefab/variable.js.map +0 -1
  202. package/build/validations/prefab.js +0 -59
  203. package/build/validations/prefab.js.map +0 -1
  204. package/build/validations/styles.js +0 -108
  205. package/build/validations/styles.js.map +0 -1
  206. /package/assets/app-functions/{templates → js-template}/.app-functions +0 -0
  207. /package/assets/app-functions/{templates → js-template}/functions/say-hello/1.0/function.json +0 -0
  208. /package/assets/app-functions/{templates → js-template}/package.json +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/functions/utils.ts"],"names":[],"mappings":";;;;;AAAA,gDAAwB;AACxB,wDAA0B;AAC1B,kDAA4C;AAE5C,SAAgB,aAAa,CAC3B,YAA2B;IAE3B,IAAI,OAAiC,CAAC;IAEtC,IAAI,YAAY,EAAE;QAChB,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;gBACzC,uCACK,GAAG,KACN,CAAC,GAAG,CAAC,EAAE,kBAAE,CAAC,YAAY,CAAC,cAAI,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG,CAAW,CAAC,CAAC,IACjE;aACH;YAED,OAAO,GAAG,CAAC;QACb,CAAC,EACD,YAAY,CACb,CAAC;KACH;IAED,MAAM,KAAK,GAAG,YAAY,IAAI,OAAO,CAAC,CAAC,CAAC,IAAI,eAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAE7E,OAAO,KAAK,CAAC;AACf,CAAC;AAxBD,sCAwBC"}
@@ -1,127 +0,0 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
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
- /* eslint-disable @typescript-eslint/no-unsafe-assignment,@typescript-eslint/restrict-template-expressions */
16
- const node_fetch_1 = __importDefault(require("node-fetch"));
17
- const path_1 = __importDefault(require("path"));
18
- const chalk_1 = __importDefault(require("chalk"));
19
- const jsonschema_1 = require("jsonschema");
20
- const functionDefinitions_1 = require("./functionDefinitions");
21
- const fetchRemoteSchema = (schemaUrl, config) => __awaiter(void 0, void 0, void 0, function* () {
22
- const res = yield node_fetch_1.default(schemaUrl, { agent: config.agent });
23
- const json = yield res.json();
24
- return json;
25
- });
26
- const importNextSchema = (validator, schemaId, config) => __awaiter(void 0, void 0, void 0, function* () {
27
- const schemaJSON = yield fetchRemoteSchema(schemaId, config);
28
- validator.addSchema(schemaJSON, schemaId);
29
- const nextSchemaId = validator.unresolvedRefs.shift();
30
- if (!nextSchemaId) {
31
- return validator;
32
- }
33
- return importNextSchema(validator, nextSchemaId, config);
34
- });
35
- const importSchema = (validator, config) => __awaiter(void 0, void 0, void 0, function* () {
36
- const functionSchemaUrl = config.schemaUrl + config.functionSchemaPath;
37
- return importNextSchema(validator, functionSchemaUrl, config);
38
- });
39
- const functionValidator = (config) => __awaiter(void 0, void 0, void 0, function* () {
40
- const validator = new jsonschema_1.Validator();
41
- return importSchema(validator, config);
42
- });
43
- exports.functionValidator = functionValidator;
44
- const validateFunctionDefinition = (validator, definition) => {
45
- const functionSchemaId = Object.keys(validator.schemas).find((k) => {
46
- return k.match(/function\.json$/);
47
- });
48
- if (!functionSchemaId) {
49
- throw new Error(`Cannot find Function schema Id, ${functionSchemaId}`);
50
- }
51
- const functionSchema = validator.schemas[functionSchemaId];
52
- return validator.validate(definition, functionSchema);
53
- };
54
- const forceVersion = ({ path: functionPath }, functionsDir) => {
55
- if (!functionDefinitions_1.isFunctionVersion(path_1.default.dirname(functionPath), functionsDir)) {
56
- throw new Error(`${path_1.default.dirname(functionPath)} does not apply as a valid version directory`);
57
- }
58
- };
59
- const validateSchema = (functionJson, validator) => {
60
- const { name, version, path: definitionPath, schema, } = functionJson;
61
- const { errors } = validateFunctionDefinition(validator, schema);
62
- const status = errors.length ? 'error' : 'ok';
63
- return {
64
- status,
65
- path: definitionPath,
66
- functionName: `${name}-${version}`,
67
- errors,
68
- };
69
- };
70
- exports.validateSchema = validateSchema;
71
- class FunctionValidator {
72
- constructor(config, functionsDir) {
73
- this.config = config;
74
- this.schemaValidator = new jsonschema_1.Validator();
75
- this.functionsDir = functionsDir;
76
- }
77
- initSchema() {
78
- return __awaiter(this, void 0, void 0, function* () {
79
- yield importSchema(this.schemaValidator, this.config);
80
- });
81
- }
82
- validateFunction(definition) {
83
- const functionPath = definition.path;
84
- const functionName = functionPath;
85
- try {
86
- forceVersion(definition, this.functionsDir);
87
- return validateSchema(definition, this.schemaValidator);
88
- }
89
- catch (error) {
90
- const message = error instanceof Error ? error.message : String(error);
91
- return {
92
- status: 'error',
93
- path: functionPath,
94
- functionName,
95
- errors: [new Error(message)],
96
- };
97
- }
98
- }
99
- validateFunctions(functionName, blockFunctions) {
100
- return __awaiter(this, void 0, void 0, function* () {
101
- const definitions = functionDefinitions_1.functionDefinitions(this.functionsDir, true);
102
- const functions = blockFunctions || definitions;
103
- const validations = [];
104
- functions.forEach((definition) => {
105
- const preleadingPath = path_1.default.join(this.functionsDir, functionName || '', path_1.default.sep);
106
- if (definition.path.indexOf(preleadingPath) === 0) {
107
- validations.push(this.validateFunction(definition));
108
- }
109
- });
110
- return Promise.all(validations);
111
- });
112
- }
113
- }
114
- exports.FunctionValidator = FunctionValidator;
115
- const logValidationResult = ({ path: functionPath, status, functionName, errors, }) => {
116
- if (status === 'ok') {
117
- const mark = chalk_1.default.green(`✔`);
118
- console.log(`${mark} Validate: ${functionName}`);
119
- }
120
- else {
121
- const msg = chalk_1.default.red(`${errors}`);
122
- const mark = chalk_1.default.red(`✖`);
123
- console.log(`${mark} Validate: ${functionName || functionPath}\n\t${msg}`);
124
- }
125
- };
126
- exports.logValidationResult = logValidationResult;
127
- //# sourceMappingURL=validations.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"validations.js","sourceRoot":"","sources":["../../src/functions/validations.ts"],"names":[],"mappings":"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"}
@@ -1,49 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const chalk_1 = __importDefault(require("chalk"));
7
- const fs_extra_1 = __importDefault(require("fs-extra"));
8
- const kebabCase_1 = __importDefault(require("lodash/kebabCase"));
9
- const path_1 = __importDefault(require("path"));
10
- const functionDefinitions_1 = require("./functionDefinitions");
11
- const check = chalk_1.default.green(`✔`);
12
- const cross = chalk_1.default.red(`✖`);
13
- const migrate = (functionsPath, verbose = false) => {
14
- const log = (msg) => verbose && console.log(msg);
15
- log('Checking for unversioned functions ...');
16
- functionDefinitions_1.functionDirs(functionsPath, true).forEach((functionPath) => {
17
- const definition = functionDefinitions_1.functionDefinition(functionPath, functionsPath);
18
- const { name } = definition;
19
- let { version } = definition;
20
- let postfix = kebabCase_1.default(name);
21
- if (functionDefinitions_1.isFunctionVersion(functionPath, functionsPath)) {
22
- postfix = `-${version}`;
23
- }
24
- else {
25
- version = '1.0';
26
- postfix = ` => ${path_1.default.join(name, version)}`;
27
- try {
28
- delete definition.schema.name;
29
- fs_extra_1.default.writeJSONSync(functionDefinitions_1.functionDefinitionPath(functionPath), definition.schema, {
30
- spaces: 2,
31
- });
32
- const tmpDir = '.tmp';
33
- const tempDir = path_1.default.join(tmpDir, `${kebabCase_1.default(name)}-${version}`);
34
- const targetDir = path_1.default.join(functionsPath, kebabCase_1.default(name));
35
- fs_extra_1.default.ensureDirSync(tmpDir);
36
- fs_extra_1.default.renameSync(functionPath, tempDir);
37
- fs_extra_1.default.mkdirSync(targetDir);
38
- fs_extra_1.default.moveSync(tempDir, path_1.default.join(targetDir, version));
39
- }
40
- catch (err) {
41
- log(`${cross} Failed to version: ${name}`);
42
- return;
43
- }
44
- }
45
- log(`${check} Version: ${name}${postfix}`);
46
- });
47
- };
48
- exports.migrate = migrate;
49
- //# sourceMappingURL=versions.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"versions.js","sourceRoot":"","sources":["../../src/functions/versions.ts"],"names":[],"mappings":";;;;;AAAA,kDAA0B;AAC1B,wDAA0B;AAC1B,iEAAyC;AACzC,gDAAwB;AAExB,+DAK+B;AAE/B,MAAM,KAAK,GAAG,eAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AAC/B,MAAM,KAAK,GAAG,eAAK,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,EAAE,EAAE,CAAC,OAAO,IAAI,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAEzD,GAAG,CAAC,wCAAwC,CAAC,CAAC;IAE9C,kCAAY,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,YAAY,EAAE,EAAE;QACzD,MAAM,UAAU,GAAG,wCAAkB,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,mBAAS,CAAC,IAAI,CAAC,CAAC;QAE9B,IAAI,uCAAiB,CAAC,YAAY,EAAE,aAAa,CAAC,EAAE;YAClD,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;SACzB;aAAM;YACL,OAAO,GAAG,KAAK,CAAC;YAChB,OAAO,GAAG,OAAO,cAAI,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,CAAC;YAE5C,IAAI;gBACF,OAAO,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC;gBAE9B,kBAAE,CAAC,aAAa,CACd,4CAAsB,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,cAAI,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,mBAAS,CAAC,IAAI,CAAC,IAAI,OAAO,EAAE,CAAC,CAAC;gBACnE,MAAM,SAAS,GAAG,cAAI,CAAC,IAAI,CAAC,aAAa,EAAE,mBAAS,CAAC,IAAI,CAAC,CAAC,CAAC;gBAE5D,kBAAE,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;gBACzB,kBAAE,CAAC,UAAU,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;gBACrC,kBAAE,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;gBACxB,kBAAE,CAAC,QAAQ,CAAC,OAAO,EAAE,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC;aACrD;YAAC,OAAO,GAAG,EAAE;gBACZ,GAAG,CAAC,GAAG,KAAK,uBAAuB,IAAI,EAAE,CAAC,CAAC;gBAC3C,OAAO;aACR;SACF;QAED,GAAG,CAAC,GAAG,KAAK,aAAa,IAAI,GAAG,OAAO,EAAE,CAAC,CAAC;IAC7C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAEO,0BAAO"}
@@ -1,95 +0,0 @@
1
- "use strict";
2
- var __importStar = (this && this.__importStar) || function (mod) {
3
- if (mod && mod.__esModule) return mod;
4
- var result = {};
5
- if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];
6
- result["default"] = mod;
7
- return result;
8
- };
9
- var __importDefault = (this && this.__importDefault) || function (mod) {
10
- return (mod && mod.__esModule) ? mod : { "default": mod };
11
- };
12
- Object.defineProperty(exports, "__esModule", { value: true });
13
- const ts = __importStar(require("typescript"));
14
- const path_1 = __importDefault(require("path"));
15
- const case_1 = __importDefault(require("case"));
16
- const allowedTypes = [
17
- 'Event',
18
- 'Locale',
19
- 'Page',
20
- 'PageVariable',
21
- 'PageVariableId',
22
- 'boolean',
23
- 'number',
24
- 'string',
25
- 'unknown',
26
- 'void',
27
- ];
28
- exports.default = (filename) => {
29
- if (!filename)
30
- throw new Error(`unable to determine interaction name from ${filename}`);
31
- const program = ts.createProgram([filename], {});
32
- const typeChecker = program.getTypeChecker();
33
- const sourceFile = program.getSourceFile(filename);
34
- if (!sourceFile)
35
- throw new Error('no source file');
36
- const interactionName = case_1.default.camel(path_1.default.basename(filename).replace(/.ts/, ''));
37
- const interaction = {};
38
- // Loop through the root AST nodes of the file
39
- ts.forEachChild(sourceFile, (node) => {
40
- if (ts.isFunctionDeclaration(node)) {
41
- // name
42
- const functionName = node.name ? node.name.text : '';
43
- if (functionName !== interactionName) {
44
- throw new RangeError('file contains multiple statements');
45
- }
46
- interaction.name = functionName;
47
- interaction.parameters = {};
48
- // return type
49
- const typeNode = node.type;
50
- if (!typeNode) {
51
- throw new Error(`You forgot to declare a type for ${interactionName}`);
52
- }
53
- const returnType = typeChecker.typeToString(typeChecker.getTypeFromTypeNode(typeNode));
54
- interaction.type = case_1.default.pascal(returnType);
55
- if (node.parameters.length > 1) {
56
- throw new Error(`Only one parameter is allowed for ${interactionName}`);
57
- }
58
- const [firstParameter] = node.parameters;
59
- if (firstParameter) {
60
- if (!firstParameter.type) {
61
- throw new Error(`You forgot to add a type to the parameter "${firstParameter.name.getText()}" for ${interactionName}`);
62
- }
63
- const t = typeChecker.getTypeFromTypeNode(firstParameter.type);
64
- const parameters = JSON.parse(typeChecker
65
- .typeToString(t)
66
- .replace(/;(?!.*;)/g, '')
67
- .replace(/;/g, ',')
68
- .replace(/(\w+)/g, '"$1"'));
69
- Object.entries(parameters).forEach(([paramName, paramType]) => {
70
- if (!allowedTypes.includes(paramType)) {
71
- throw new TypeError(`unsupported type for: ${paramName}`);
72
- }
73
- parameters[paramName] = case_1.default.pascal(paramType);
74
- });
75
- interaction.parameters = parameters;
76
- }
77
- // function body
78
- const functionBody = node.getText(sourceFile);
79
- if (!functionBody) {
80
- throw new Error(`You forgot to add code to your interaction for ${interactionName}`);
81
- }
82
- interaction.function = ts.transpileModule(node.getText(), {}).outputText;
83
- }
84
- });
85
- if (!interaction.function) {
86
- throw new RangeError(`
87
- expected expression of the kind
88
- function ${interactionName}({ event, argument }: { event: Event, argument: ArgumentType }): ReturnType {
89
- // body
90
- }
91
- `);
92
- }
93
- return interaction;
94
- };
95
- //# sourceMappingURL=compatibility.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"compatibility.js","sourceRoot":"","sources":["../../src/interactions/compatibility.ts"],"names":[],"mappings":"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"}
@@ -1,25 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const typescript_1 = require("typescript");
4
- const reportDiagnostics = (diagnostics) => {
5
- diagnostics.forEach((diagnostic) => {
6
- let message = 'Error';
7
- if (diagnostic.file) {
8
- const { line, character } = diagnostic.file.getLineAndCharacterOfPosition(diagnostic.start || 0);
9
- message += ` ${diagnostic.file.fileName} (${line + 1},${character + 1})`;
10
- }
11
- message += `: ${typescript_1.flattenDiagnosticMessageText(diagnostic.messageText, '\n')}`;
12
- console.error(`\u001b[31m${message}\u001b[0m`);
13
- });
14
- };
15
- exports.default = (filePath) => {
16
- const config = typescript_1.getDefaultCompilerOptions();
17
- config.strict = true;
18
- const program = typescript_1.createProgram([filePath], config);
19
- const diagnostics = [...typescript_1.getPreEmitDiagnostics(program)];
20
- if (diagnostics.length > 0) {
21
- reportDiagnostics(diagnostics);
22
- process.exit(1);
23
- }
24
- };
25
- //# sourceMappingURL=diagnostics.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"diagnostics.js","sourceRoot":"","sources":["../../src/interactions/diagnostics.ts"],"names":[],"mappings":";;AAAA,2CAMoB;AAEpB,MAAM,iBAAiB,GAAG,CAAC,WAAyB,EAAQ,EAAE;IAC5D,WAAW,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,EAAE;QACjC,IAAI,OAAO,GAAG,OAAO,CAAC;QACtB,IAAI,UAAU,CAAC,IAAI,EAAE;YACnB,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;SAC1E;QACD,OAAO,IAAI,KAAK,yCAA4B,CAC1C,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;AAEF,kBAAe,CAAC,QAAgB,EAAQ,EAAE;IACxC,MAAM,MAAM,GAAG,sCAAyB,EAAE,CAAC;IAE3C,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC;IAErB,MAAM,OAAO,GAAG,0BAAa,CAAC,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,CAAC;IAElD,MAAM,WAAW,GAAG,CAAC,GAAG,kCAAqB,CAAC,OAAO,CAAC,CAAC,CAAC;IAExD,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE;QAC1B,iBAAiB,CAAC,WAAW,CAAC,CAAC;QAC/B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;KACjB;AACH,CAAC,CAAC"}
package/build/types.js DELETED
@@ -1,41 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- var AllowedStateKeys;
4
- (function (AllowedStateKeys) {
5
- AllowedStateKeys["SELECTED"] = "selected";
6
- AllowedStateKeys["HOVER"] = "hover";
7
- AllowedStateKeys["FOCUS"] = "focus";
8
- AllowedStateKeys["DISABLED"] = "disabled";
9
- AllowedStateKeys["VALID"] = "valid";
10
- AllowedStateKeys["INVALID"] = "invalid";
11
- AllowedStateKeys["READONLY"] = "readOnly";
12
- })(AllowedStateKeys = exports.AllowedStateKeys || (exports.AllowedStateKeys = {}));
13
- var InteractionOptionType;
14
- (function (InteractionOptionType) {
15
- InteractionOptionType["Boolean"] = "Boolean";
16
- InteractionOptionType["Number"] = "Number";
17
- InteractionOptionType["String"] = "String";
18
- InteractionOptionType["Event"] = "Event";
19
- InteractionOptionType["Void"] = "Void";
20
- InteractionOptionType["Page"] = "Page";
21
- InteractionOptionType["Locale"] = "Locale";
22
- InteractionOptionType["Unknown"] = "Unknown";
23
- })(InteractionOptionType = exports.InteractionOptionType || (exports.InteractionOptionType = {}));
24
- // TODO: Add support
25
- var InteractionOptionTypeToDo;
26
- (function (InteractionOptionTypeToDo) {
27
- InteractionOptionTypeToDo["Color"] = "Color";
28
- InteractionOptionTypeToDo["Endpoint"] = "Endpoint";
29
- InteractionOptionTypeToDo["Filter"] = "Filter";
30
- InteractionOptionTypeToDo["Font"] = "Font";
31
- InteractionOptionTypeToDo["Properties"] = "Properties";
32
- InteractionOptionTypeToDo["Property"] = "Property";
33
- InteractionOptionTypeToDo["Size"] = "Size";
34
- InteractionOptionTypeToDo["Unit"] = "Unit";
35
- })(InteractionOptionTypeToDo = exports.InteractionOptionTypeToDo || (exports.InteractionOptionTypeToDo = {}));
36
- var InteractionType;
37
- (function (InteractionType) {
38
- InteractionType["Custom"] = "Custom";
39
- InteractionType["Global"] = "Global";
40
- })(InteractionType = exports.InteractionType || (exports.InteractionType = {}));
41
- //# sourceMappingURL=types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";;AAmFA,IAAY,gBAQX;AARD,WAAY,gBAAgB;IAC1B,yCAAqB,CAAA;IACrB,mCAAe,CAAA;IACf,mCAAe,CAAA;IACf,yCAAqB,CAAA;IACrB,mCAAe,CAAA;IACf,uCAAmB,CAAA;IACnB,yCAAqB,CAAA;AACvB,CAAC,EARW,gBAAgB,GAAhB,wBAAgB,KAAhB,wBAAgB,QAQ3B;AAsND,IAAY,qBASX;AATD,WAAY,qBAAqB;IAC/B,4CAAmB,CAAA;IACnB,0CAAiB,CAAA;IACjB,0CAAiB,CAAA;IACjB,wCAAe,CAAA;IACf,sCAAa,CAAA;IACb,sCAAa,CAAA;IACb,0CAAiB,CAAA;IACjB,4CAAmB,CAAA;AACrB,CAAC,EATW,qBAAqB,GAArB,6BAAqB,KAArB,6BAAqB,QAShC;AAED,oBAAoB;AACpB,IAAY,yBASX;AATD,WAAY,yBAAyB;IACnC,4CAAe,CAAA;IACf,kDAAqB,CAAA;IACrB,8CAAiB,CAAA;IACjB,0CAAa,CAAA;IACb,sDAAyB,CAAA;IACzB,kDAAqB,CAAA;IACrB,0CAAa,CAAA;IACb,0CAAa,CAAA;AACf,CAAC,EATW,yBAAyB,GAAzB,iCAAyB,KAAzB,iCAAyB,QASpC;AA+BD,IAAY,eAGX;AAHD,WAAY,eAAe;IACzB,oCAAiB,CAAA;IACjB,oCAAiB,CAAA;AACnB,CAAC,EAHW,eAAe,GAAf,uBAAe,KAAf,uBAAe,QAG1B"}
@@ -1,8 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.parseDir = (args) => args.length === 0 ? '.' : args[0];
4
- exports.parsePort = (portRaw, defaultPort) => {
5
- const port = parseInt(portRaw, 10);
6
- return Number.isNaN(port) ? defaultPort : port;
7
- };
8
- //# sourceMappingURL=arguments.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"arguments.js","sourceRoot":"","sources":["../../src/utils/arguments.ts"],"names":[],"mappings":";;AAAa,QAAA,QAAQ,GAAG,CAAC,IAAc,EAAU,EAAE,CACjD,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAEvB,QAAA,SAAS,GAAG,CACvB,OAA2B,EAC3B,WAAmB,EACX,EAAE;IACV,MAAM,IAAI,GAAW,QAAQ,CAAC,OAAiB,EAAE,EAAE,CAAC,CAAC;IAErD,OAAO,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC;AACjD,CAAC,CAAC"}
@@ -1,21 +0,0 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
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
- Object.defineProperty(exports, "__esModule", { value: true });
12
- const util_1 = require("util");
13
- const child_process_1 = require("child_process");
14
- const execPromise = util_1.promisify(child_process_1.exec);
15
- exports.checkPackageVersion = (name) => __awaiter(void 0, void 0, void 0, function* () {
16
- const { stderr: error } = yield execPromise(`npm view ${name} version`);
17
- if (error) {
18
- throw new Error(error);
19
- }
20
- });
21
- //# sourceMappingURL=checkPackageVersion.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"checkPackageVersion.js","sourceRoot":"","sources":["../../src/utils/checkPackageVersion.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,+BAAiC;AACjC,iDAAqC;AAErC,MAAM,WAAW,GAAG,gBAAS,CAAC,oBAAI,CAAC,CAAC;AAEvB,QAAA,mBAAmB,GAAG,CAAO,IAAY,EAAiB,EAAE;IACvE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,WAAW,CAAC,YAAY,IAAI,UAAU,CAAC,CAAC;IACxE,IAAI,KAAK,EAAE;QACT,MAAM,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC;KACxB;AACH,CAAC,CAAA,CAAC"}
@@ -1,81 +0,0 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
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
- const fs_extra_1 = require("fs-extra");
16
- const util_1 = require("util");
17
- const child_process_1 = require("child_process");
18
- const os_1 = require("os");
19
- const semver_1 = require("semver");
20
- const chalk_1 = __importDefault(require("chalk"));
21
- // eslint-disable-next-line
22
- const { version: versionCLI, name: nameCLI } = require('../../package.json');
23
- const execPromise = util_1.promisify(child_process_1.exec);
24
- const TEMP_FOLDER = `${os_1.tmpdir()}/bettyblocks`;
25
- const logUpdateAvailable = (localVersion, remoteVersion, name) => {
26
- if (semver_1.lt(localVersion, remoteVersion)) {
27
- console.log(`${name} update available from ${chalk_1.default.greenBright(localVersion)} to ${chalk_1.default.greenBright(remoteVersion)}`);
28
- }
29
- };
30
- const getRemoteVersionCLI = () => __awaiter(void 0, void 0, void 0, function* () {
31
- const { stdout: output, stderr: error } = yield execPromise(`npm show @betty-blocks/cli version`);
32
- const remoteVersionCLI = output.toString().trim();
33
- if (error) {
34
- // eslint-disable-next-line @typescript-eslint/no-throw-literal
35
- throw error;
36
- }
37
- return remoteVersionCLI;
38
- });
39
- const writeToFile = () => __awaiter(void 0, void 0, void 0, function* () {
40
- const remoteVersionCLI = yield getRemoteVersionCLI();
41
- yield fs_extra_1.writeJson(`${TEMP_FOLDER}/versions.json`, {
42
- versions: {
43
- remoteVersionCLI,
44
- },
45
- timestamp: Date.now(),
46
- });
47
- });
48
- const readFile = () => __awaiter(void 0, void 0, void 0, function* () {
49
- const folderExist = yield fs_extra_1.pathExists(TEMP_FOLDER);
50
- let remoteVersion;
51
- if (!folderExist) {
52
- yield fs_extra_1.mkdir(TEMP_FOLDER);
53
- }
54
- const fileExist = yield fs_extra_1.pathExists(`${TEMP_FOLDER}/versions.json`);
55
- if (fileExist) {
56
- const { versions, timestamp } = (yield fs_extra_1.readJson(`${TEMP_FOLDER}/versions.json`));
57
- if (timestamp + 86400000 < Date.now()) {
58
- console.log('Checking for new versions..');
59
- yield writeToFile();
60
- remoteVersion = yield readFile();
61
- console.log('Done');
62
- }
63
- remoteVersion = versions;
64
- }
65
- else {
66
- yield writeToFile();
67
- remoteVersion = yield readFile();
68
- }
69
- return remoteVersion;
70
- });
71
- exports.checkUpdateAvailableCLI = () => __awaiter(void 0, void 0, void 0, function* () {
72
- try {
73
- const { remoteVersionCLI } = yield readFile();
74
- // eslint-disable-next-line @typescript-eslint/no-unsafe-argument
75
- logUpdateAvailable(versionCLI, remoteVersionCLI, nameCLI);
76
- }
77
- catch (_a) {
78
- console.error('Unable to check for a new version');
79
- }
80
- });
81
- //# sourceMappingURL=checkUpdateAvailable.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"checkUpdateAvailable.js","sourceRoot":"","sources":["../../src/utils/checkUpdateAvailable.ts"],"names":[],"mappings":"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"}
@@ -1,132 +0,0 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
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
- const fs_extra_1 = __importDefault(require("fs-extra"));
16
- const os_1 = __importDefault(require("os"));
17
- const path_1 = __importDefault(require("path"));
18
- const prompts_1 = __importDefault(require("prompts"));
19
- const webhead_1 = __importDefault(require("webhead"));
20
- class FusionAuth {
21
- constructor(config, relogin) {
22
- this.configFile = path_1.default.join(os_1.default.homedir(), '.bb-cli-fa');
23
- this.config = config;
24
- this.relogin = relogin;
25
- this.webhead = webhead_1.default();
26
- }
27
- ensureLogin() {
28
- return __awaiter(this, void 0, void 0, function* () {
29
- const response = yield this.get('/api/user', {
30
- headers: {
31
- Authorization: `Bearer ${this.jwt() || ''}`,
32
- },
33
- });
34
- if (!response || !response.user) {
35
- if (!this.loginId) {
36
- yield this.relogin();
37
- }
38
- yield this.login();
39
- }
40
- });
41
- }
42
- login() {
43
- return __awaiter(this, void 0, void 0, function* () {
44
- const { token, refreshToken, twoFactorId } = yield this.post('/api/login', {
45
- json: {
46
- loginId: this.loginId,
47
- password: this.password,
48
- },
49
- });
50
- if (token) {
51
- this.storeTokens(token, refreshToken);
52
- }
53
- else if (twoFactorId) {
54
- yield this.complete2FA(twoFactorId);
55
- }
56
- });
57
- }
58
- complete2FA(twoFactorId) {
59
- return __awaiter(this, void 0, void 0, function* () {
60
- const { code } = (yield prompts_1.default([
61
- {
62
- type: 'text',
63
- name: 'code',
64
- message: 'Fill in your 2FA code (to upload code)',
65
- },
66
- ]));
67
- const { token, refreshToken } = yield this.post('/api/two-factor/login', {
68
- json: {
69
- code,
70
- twoFactorId,
71
- },
72
- });
73
- if (token) {
74
- this.storeTokens(token, refreshToken);
75
- }
76
- else {
77
- yield this.complete2FA(twoFactorId);
78
- }
79
- });
80
- }
81
- upload(config, zipFile, functionsJson) {
82
- return __awaiter(this, void 0, void 0, function* () {
83
- yield this.ensureLogin();
84
- const applicationId = yield config.applicationId();
85
- const url = `${config.builderApiUrl}/artifacts/actions/${applicationId || ''}/functions`;
86
- const { statusCode } = yield this.webhead.post(url, {
87
- headers: {
88
- Authorization: `Bearer ${this.jwt() || ''}`,
89
- },
90
- multiPartData: [
91
- { name: 'file', file: zipFile },
92
- { name: 'functions', contents: functionsJson },
93
- ],
94
- });
95
- return !!statusCode.toString().match(/^2/);
96
- });
97
- }
98
- get(urlPath, options) {
99
- return __awaiter(this, void 0, void 0, function* () {
100
- return this.request('get', urlPath, options);
101
- });
102
- }
103
- post(urlPath, options) {
104
- return __awaiter(this, void 0, void 0, function* () {
105
- return this.request('post', urlPath, options);
106
- });
107
- }
108
- request(method, urlPath, options) {
109
- return __awaiter(this, void 0, void 0, function* () {
110
- if (!this.webhead.url) {
111
- yield this.webhead.get(this.config.fusionAuthUrl);
112
- }
113
- yield this.webhead[method](urlPath, options);
114
- // eslint-disable-next-line @typescript-eslint/no-unsafe-return
115
- return this.webhead.json() || this.webhead.text();
116
- });
117
- }
118
- storeTokens(jwt, refreshToken) {
119
- fs_extra_1.default.writeJsonSync(this.configFile, { jwt, refreshToken });
120
- }
121
- jwt() {
122
- let jwt;
123
- if (fs_extra_1.default.pathExistsSync(this.configFile)) {
124
- // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access,@typescript-eslint/no-unsafe-assignment
125
- jwt = fs_extra_1.default.readJsonSync(this.configFile).jwt;
126
- }
127
- // eslint-disable-next-line @typescript-eslint/no-unsafe-return
128
- return jwt || null;
129
- }
130
- }
131
- exports.default = FusionAuth;
132
- //# sourceMappingURL=fusionAuth.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"fusionAuth.js","sourceRoot":"","sources":["../../src/utils/fusionAuth.ts"],"names":[],"mappings":"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"}