@betty-blocks/cli 26.0.0-beta.1 → 26.0.0-beta.11

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 (173) hide show
  1. package/build/bb-blocks-new.js +28 -0
  2. package/build/bb-blocks-new.js.map +1 -0
  3. package/build/bb-blocks-publish.js +112 -0
  4. package/build/bb-blocks-publish.js.map +1 -0
  5. package/build/bb-blocks-release.js +32 -0
  6. package/build/bb-blocks-release.js.map +1 -0
  7. package/build/bb-blocks.js +19 -0
  8. package/build/bb-blocks.js.map +1 -0
  9. package/build/bb-bundle-init.js +47 -0
  10. package/build/bb-bundle-init.js.map +1 -0
  11. package/build/bb-bundle.js +22 -0
  12. package/build/bb-bundle.js.map +1 -0
  13. package/build/bb-components-build.js +449 -0
  14. package/build/bb-components-build.js.map +1 -0
  15. package/build/bb-components-create.js +55 -0
  16. package/build/bb-components-create.js.map +1 -0
  17. package/build/bb-components-generate.js +182 -0
  18. package/build/bb-components-generate.js.map +1 -0
  19. package/build/bb-components-publish-bundle.js +64 -0
  20. package/build/bb-components-publish-bundle.js.map +1 -0
  21. package/build/bb-components-publish.js +71 -0
  22. package/build/bb-components-publish.js.map +1 -0
  23. package/build/bb-components-serve.js +40 -0
  24. package/build/bb-components-serve.js.map +1 -0
  25. package/build/bb-components.js +30 -0
  26. package/build/bb-components.js.map +1 -0
  27. package/build/bb-functions-build.js +58 -0
  28. package/build/bb-functions-build.js.map +1 -0
  29. package/build/bb-functions-bump.js +78 -0
  30. package/build/bb-functions-bump.js.map +1 -0
  31. package/build/bb-functions-init.js +58 -0
  32. package/build/bb-functions-init.js.map +1 -0
  33. package/build/bb-functions-login.js +31 -0
  34. package/build/bb-functions-login.js.map +1 -0
  35. package/build/bb-functions-logout.js +15 -0
  36. package/build/bb-functions-logout.js.map +1 -0
  37. package/build/bb-functions-new.js +27 -0
  38. package/build/bb-functions-new.js.map +1 -0
  39. package/build/bb-functions-publish.js +61 -0
  40. package/build/bb-functions-publish.js.map +1 -0
  41. package/build/bb-functions-validate.js +44 -0
  42. package/build/bb-functions-validate.js.map +1 -0
  43. package/build/bb-functions.js +35 -0
  44. package/build/bb-functions.js.map +1 -0
  45. package/build/bb.js +31 -0
  46. package/build/bb.js.map +1 -0
  47. package/build/blocks/blockDefinitions.js +66 -0
  48. package/build/blocks/blockDefinitions.js.map +1 -0
  49. package/build/blocks/publishBlocks.js +70 -0
  50. package/build/blocks/publishBlocks.js.map +1 -0
  51. package/build/blocks/releaseBlocks.js +94 -0
  52. package/build/blocks/releaseBlocks.js.map +1 -0
  53. package/build/components/comments.js +81 -0
  54. package/build/components/comments.js.map +1 -0
  55. package/build/components/compatibility.js +62 -0
  56. package/build/components/compatibility.js.map +1 -0
  57. package/build/components/transformers/index.js +42 -0
  58. package/build/components/transformers/index.js.map +1 -0
  59. package/build/components-build/index.js +19 -0
  60. package/build/components-build/index.js.map +1 -0
  61. package/build/components-build/reportDiagnostics.js +21 -0
  62. package/build/components-build/reportDiagnostics.js.map +1 -0
  63. package/build/components-build/styles.js +144 -0
  64. package/build/components-build/styles.js.map +1 -0
  65. package/build/functions/acquireAppFunctionsProject.js +19 -0
  66. package/build/functions/acquireAppFunctionsProject.js.map +1 -0
  67. package/build/functions/acquireCustomFunctionsProject.js +20 -0
  68. package/build/functions/acquireCustomFunctionsProject.js.map +1 -0
  69. package/build/functions/bb-components-functions.js +58 -0
  70. package/build/functions/bb-components-functions.js.map +1 -0
  71. package/build/functions/config.js +193 -0
  72. package/build/functions/config.js.map +1 -0
  73. package/build/functions/functionDefinitions.js +189 -0
  74. package/build/functions/functionDefinitions.js.map +1 -0
  75. package/build/functions/icons.js +48 -0
  76. package/build/functions/icons.js.map +1 -0
  77. package/build/functions/publishAppFunctions.js +108 -0
  78. package/build/functions/publishAppFunctions.js.map +1 -0
  79. package/build/functions/publishCustomFunctions.js +111 -0
  80. package/build/functions/publishCustomFunctions.js.map +1 -0
  81. package/build/functions/publishFunctions.js +113 -0
  82. package/build/functions/publishFunctions.js.map +1 -0
  83. package/build/functions/utils.js +24 -0
  84. package/build/functions/utils.js.map +1 -0
  85. package/build/functions/validations.js +125 -0
  86. package/build/functions/validations.js.map +1 -0
  87. package/build/functions/versions.js +54 -0
  88. package/build/functions/versions.js.map +1 -0
  89. package/build/interactions/compatibility.js +121 -0
  90. package/build/interactions/compatibility.js.map +1 -0
  91. package/build/interactions/diagnostics.js +26 -0
  92. package/build/interactions/diagnostics.js.map +1 -0
  93. package/build/types.js +42 -0
  94. package/build/types.js.map +1 -0
  95. package/build/utils/arguments.js +11 -0
  96. package/build/utils/arguments.js.map +1 -0
  97. package/build/utils/checkPackageVersion.js +23 -0
  98. package/build/utils/checkPackageVersion.js.map +1 -0
  99. package/build/utils/checkUpdateAvailable.js +81 -0
  100. package/build/utils/checkUpdateAvailable.js.map +1 -0
  101. package/build/utils/fusionAuth.js +132 -0
  102. package/build/utils/fusionAuth.js.map +1 -0
  103. package/build/utils/hash.js +8 -0
  104. package/build/utils/hash.js.map +1 -0
  105. package/build/utils/ide.js +167 -0
  106. package/build/utils/ide.js.map +1 -0
  107. package/build/utils/login.js +132 -0
  108. package/build/utils/login.js.map +1 -0
  109. package/build/utils/pick.js +20 -0
  110. package/build/utils/pick.js.map +1 -0
  111. package/build/utils/readFilesByType.js +37 -0
  112. package/build/utils/readFilesByType.js.map +1 -0
  113. package/build/utils/rootDir.js +9 -0
  114. package/build/utils/rootDir.js.map +1 -0
  115. package/build/utils/serveComponentSet.js +66 -0
  116. package/build/utils/serveComponentSet.js.map +1 -0
  117. package/build/utils/transpile.js +30 -0
  118. package/build/utils/transpile.js.map +1 -0
  119. package/build/utils/uploadBlob.js +70 -0
  120. package/build/utils/uploadBlob.js.map +1 -0
  121. package/build/utils/validation.js +83 -0
  122. package/build/utils/validation.js.map +1 -0
  123. package/build/validations/component.js +61 -0
  124. package/build/validations/component.js.map +1 -0
  125. package/build/validations/constants.js +211 -0
  126. package/build/validations/constants.js.map +1 -0
  127. package/build/validations/function-block-validations/index.js +87 -0
  128. package/build/validations/function-block-validations/index.js.map +1 -0
  129. package/build/validations/interaction.js +27 -0
  130. package/build/validations/interaction.js.map +1 -0
  131. package/build/validations/prefab/action.js +105 -0
  132. package/build/validations/prefab/action.js.map +1 -0
  133. package/build/validations/prefab/component.js +295 -0
  134. package/build/validations/prefab/component.js.map +1 -0
  135. package/build/validations/prefab/componentOption.js +153 -0
  136. package/build/validations/prefab/componentOption.js.map +1 -0
  137. package/build/validations/prefab/interaction.js +44 -0
  138. package/build/validations/prefab/interaction.js.map +1 -0
  139. package/build/validations/prefab/linkedOption.js +45 -0
  140. package/build/validations/prefab/linkedOption.js.map +1 -0
  141. package/build/validations/prefab/linkedPartial.js +36 -0
  142. package/build/validations/prefab/linkedPartial.js.map +1 -0
  143. package/build/validations/prefab/variable.js +42 -0
  144. package/build/validations/prefab/variable.js.map +1 -0
  145. package/build/validations/prefab.js +71 -0
  146. package/build/validations/prefab.js.map +1 -0
  147. package/build/validations/styles.js +109 -0
  148. package/build/validations/styles.js.map +1 -0
  149. package/package.json +15 -15
  150. package/build/src/bb-blocks-new.js +0 -6790
  151. package/build/src/bb-blocks-publish.js +0 -32642
  152. package/build/src/bb-blocks-release.js +0 -15529
  153. package/build/src/bb-blocks.js +0 -2149
  154. package/build/src/bb-bundle-init.js +0 -6036
  155. package/build/src/bb-bundle.js +0 -2636
  156. package/build/src/bb-components-build.js +0 -240486
  157. package/build/src/bb-components-create.js +0 -6047
  158. package/build/src/bb-components-generate.js +0 -6175
  159. package/build/src/bb-components-publish-bundle.js +0 -43348
  160. package/build/src/bb-components-publish.js +0 -43355
  161. package/build/src/bb-components-serve.js +0 -15328
  162. package/build/src/bb-components.js +0 -2157
  163. package/build/src/bb-functions-build.js +0 -4285
  164. package/build/src/bb-functions-bump.js +0 -14583
  165. package/build/src/bb-functions-init.js +0 -4750
  166. package/build/src/bb-functions-login.js +0 -15441
  167. package/build/src/bb-functions-logout.js +0 -15435
  168. package/build/src/bb-functions-new.js +0 -9145
  169. package/build/src/bb-functions-publish.js +0 -86694
  170. package/build/src/bb-functions-validate.js +0 -22161
  171. package/build/src/bb-functions.js +0 -2159
  172. package/build/src/bb.js +0 -2741
  173. package/src/bb.ts +0 -31
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/functions/utils.ts"],"names":[],"mappings":";;;;;;AAAA,wDAA0B;AAC1B,kDAAiD;AACjD,gDAAwB;AAEjB,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,uCACK,GAAG,KACN,CAAC,GAAG,CAAC,EAAE,kBAAE,CAAC,YAAY,CAAC,cAAI,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG,CAAW,CAAC,CAAC,IACjE;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,eAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAE7E,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAxBW,QAAA,aAAa,iBAwBxB"}
@@ -0,0 +1,125 @@
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
+ 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();
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) => k.match(/function\.json$/));
46
+ if (!functionSchemaId) {
47
+ throw new Error(`Cannot find Function schema Id, ${functionSchemaId}`);
48
+ }
49
+ const functionSchema = validator.schemas[functionSchemaId];
50
+ return validator.validate(definition, functionSchema);
51
+ };
52
+ const forceVersion = ({ path: functionPath }, functionsDir) => {
53
+ if (!(0, functionDefinitions_1.isFunctionVersion)(path_1.default.dirname(functionPath), functionsDir)) {
54
+ throw new Error(`${path_1.default.dirname(functionPath)} does not apply as a valid version directory`);
55
+ }
56
+ };
57
+ const validateSchema = (functionJson, validator) => {
58
+ const { name, version, path: definitionPath, schema, } = functionJson;
59
+ const { errors } = validateFunctionDefinition(validator, schema);
60
+ const status = errors.length ? 'error' : 'ok';
61
+ return {
62
+ errors,
63
+ functionName: `${name}-${version}`,
64
+ path: definitionPath,
65
+ status,
66
+ };
67
+ };
68
+ exports.validateSchema = validateSchema;
69
+ class FunctionValidator {
70
+ constructor(config, functionsDir) {
71
+ this.config = config;
72
+ this.schemaValidator = new jsonschema_1.Validator();
73
+ this.functionsDir = functionsDir;
74
+ }
75
+ initSchema() {
76
+ return __awaiter(this, void 0, void 0, function* () {
77
+ yield importSchema(this.schemaValidator, this.config);
78
+ });
79
+ }
80
+ validateFunction(definition) {
81
+ const functionPath = definition.path;
82
+ const functionName = functionPath;
83
+ try {
84
+ forceVersion(definition, this.functionsDir);
85
+ return validateSchema(definition, this.schemaValidator);
86
+ }
87
+ catch (error) {
88
+ const message = error instanceof Error ? error.message : String(error);
89
+ return {
90
+ errors: [new Error(message)],
91
+ functionName,
92
+ path: functionPath,
93
+ status: 'error',
94
+ };
95
+ }
96
+ }
97
+ validateFunctions(functionName, blockFunctions) {
98
+ return __awaiter(this, void 0, void 0, function* () {
99
+ const definitions = (0, functionDefinitions_1.functionDefinitions)(this.functionsDir, true);
100
+ const functions = blockFunctions !== null && blockFunctions !== void 0 ? blockFunctions : definitions;
101
+ const validations = [];
102
+ functions.forEach((definition) => {
103
+ const preleadingPath = path_1.default.join(this.functionsDir, functionName !== null && functionName !== void 0 ? functionName : '', path_1.default.sep);
104
+ if (definition.path.indexOf(preleadingPath) === 0) {
105
+ validations.push(this.validateFunction(definition));
106
+ }
107
+ });
108
+ return Promise.all(validations);
109
+ });
110
+ }
111
+ }
112
+ exports.FunctionValidator = FunctionValidator;
113
+ const logValidationResult = ({ path: functionPath, status, functionName, errors, }) => {
114
+ if (status === 'ok') {
115
+ const mark = chalk_1.default.green(`✔`);
116
+ console.log(`${mark} Validate: ${functionName}`);
117
+ }
118
+ else {
119
+ const msg = chalk_1.default.red(`${errors}`);
120
+ const mark = chalk_1.default.red(`✖`);
121
+ console.log(`${mark} Validate: ${functionName !== null && functionName !== void 0 ? functionName : functionPath}\n\t${msg}`);
122
+ }
123
+ };
124
+ exports.logValidationResult = logValidationResult;
125
+ //# sourceMappingURL=validations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validations.js","sourceRoot":"","sources":["../../src/functions/validations.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,54 @@
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
+ exports.migrate = void 0;
7
+ const case_1 = require("case");
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(`✖`);
14
+ const migrate = (functionsPath, verbose = false) => {
15
+ const log = (msg) => {
16
+ if (verbose) {
17
+ console.log(msg);
18
+ }
19
+ };
20
+ log('Checking for unversioned functions ...');
21
+ (0, functionDefinitions_1.functionDirs)(functionsPath, true).forEach((functionPath) => {
22
+ const definition = (0, functionDefinitions_1.functionDefinition)(functionPath, functionsPath);
23
+ const { name } = definition;
24
+ let { version } = definition;
25
+ let postfix = (0, case_1.kebab)(name);
26
+ if ((0, functionDefinitions_1.isFunctionVersion)(functionPath, functionsPath)) {
27
+ postfix = `-${version}`;
28
+ }
29
+ else {
30
+ version = '1.0';
31
+ postfix = ` => ${path_1.default.join(name, version)}`;
32
+ try {
33
+ delete definition.schema.name;
34
+ fs_extra_1.default.writeJSONSync((0, functionDefinitions_1.functionDefinitionPath)(functionPath), definition.schema, {
35
+ spaces: 2,
36
+ });
37
+ const tmpDir = '.tmp';
38
+ const tempDir = path_1.default.join(tmpDir, `${(0, case_1.kebab)(name)}-${version}`);
39
+ const targetDir = path_1.default.join(functionsPath, (0, case_1.kebab)(name));
40
+ fs_extra_1.default.ensureDirSync(tmpDir);
41
+ fs_extra_1.default.renameSync(functionPath, tempDir);
42
+ fs_extra_1.default.mkdirSync(targetDir);
43
+ fs_extra_1.default.moveSync(tempDir, path_1.default.join(targetDir, version));
44
+ }
45
+ catch (_a) {
46
+ log(`${cross} Failed to version: ${name}`);
47
+ return;
48
+ }
49
+ }
50
+ log(`${check} Version: ${name}${postfix}`);
51
+ });
52
+ };
53
+ exports.migrate = migrate;
54
+ //# sourceMappingURL=versions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"versions.js","sourceRoot":"","sources":["../../src/functions/versions.ts"],"names":[],"mappings":";;;;;;AAAA,+BAA6B;AAC7B,kDAA0B;AAC1B,wDAA0B;AAC1B,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,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,IAAA,kCAAY,EAAC,aAAa,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,YAAY,EAAE,EAAE;QACzD,MAAM,UAAU,GAAG,IAAA,wCAAkB,EAAC,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,IAAA,YAAK,EAAC,IAAI,CAAC,CAAC;QAE1B,IAAI,IAAA,uCAAiB,EAAC,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,cAAI,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,CAAC;YAE5C,IAAI,CAAC;gBACH,OAAO,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC;gBAE9B,kBAAE,CAAC,aAAa,CACd,IAAA,4CAAsB,EAAC,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,IAAA,YAAK,EAAC,IAAI,CAAC,IAAI,OAAO,EAAE,CAAC,CAAC;gBAC/D,MAAM,SAAS,GAAG,cAAI,CAAC,IAAI,CAAC,aAAa,EAAE,IAAA,YAAK,EAAC,IAAI,CAAC,CAAC,CAAC;gBAExD,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;YACtD,CAAC;YAAC,WAAM,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;AAEO,0BAAO"}
@@ -0,0 +1,121 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ var __importDefault = (this && this.__importDefault) || function (mod) {
36
+ return (mod && mod.__esModule) ? mod : { "default": mod };
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ const case_1 = __importDefault(require("case"));
40
+ const path_1 = __importDefault(require("path"));
41
+ const ts = __importStar(require("typescript"));
42
+ const allowedTypes = [
43
+ 'Event',
44
+ 'Locale',
45
+ 'Page',
46
+ 'PageVariable',
47
+ 'PageVariableId',
48
+ 'boolean',
49
+ 'number',
50
+ 'string',
51
+ 'unknown',
52
+ 'void',
53
+ ];
54
+ exports.default = (filename) => {
55
+ if (!filename)
56
+ throw new Error(`unable to determine interaction name from ${filename}`);
57
+ const program = ts.createProgram([filename], {});
58
+ const typeChecker = program.getTypeChecker();
59
+ const sourceFile = program.getSourceFile(filename);
60
+ if (!sourceFile)
61
+ throw new Error('no source file');
62
+ const interactionName = case_1.default.camel(path_1.default.basename(filename).replace(/.ts/, ''));
63
+ const interaction = {};
64
+ // Loop through the root AST nodes of the file
65
+ ts.forEachChild(sourceFile, (node) => {
66
+ if (ts.isFunctionDeclaration(node)) {
67
+ // name
68
+ const functionName = node.name ? node.name.text : '';
69
+ if (functionName !== interactionName) {
70
+ throw new RangeError('file contains multiple statements');
71
+ }
72
+ interaction.name = functionName;
73
+ interaction.parameters = {};
74
+ // return type
75
+ const typeNode = node.type;
76
+ if (!typeNode) {
77
+ throw new Error(`You forgot to declare a type for ${interactionName}`);
78
+ }
79
+ const returnType = typeChecker.typeToString(typeChecker.getTypeFromTypeNode(typeNode));
80
+ interaction.type = case_1.default.pascal(returnType);
81
+ if (node.parameters.length > 1) {
82
+ throw new Error(`Only one parameter is allowed for ${interactionName}`);
83
+ }
84
+ const [firstParameter] = node.parameters;
85
+ if (firstParameter) {
86
+ if (!firstParameter.type) {
87
+ throw new Error(`You forgot to add a type to the parameter "${firstParameter.name.getText()}" for ${interactionName}`);
88
+ }
89
+ const t = typeChecker.getTypeFromTypeNode(firstParameter.type);
90
+ const parameters = JSON.parse(typeChecker
91
+ .typeToString(t)
92
+ .replace(/;(?!.*;)/g, '')
93
+ .replace(/;/g, ',')
94
+ .replace(/(\w+)/g, '"$1"'));
95
+ Object.entries(parameters).forEach(([paramName, paramType]) => {
96
+ if (!allowedTypes.includes(paramType)) {
97
+ throw new TypeError(`unsupported type for: ${paramName}`);
98
+ }
99
+ parameters[paramName] = case_1.default.pascal(paramType);
100
+ });
101
+ interaction.parameters = parameters;
102
+ }
103
+ // function body
104
+ const functionBody = node.getText(sourceFile);
105
+ if (!functionBody) {
106
+ throw new Error(`You forgot to add code to your interaction for ${interactionName}`);
107
+ }
108
+ interaction.function = ts.transpileModule(node.getText(), {}).outputText;
109
+ }
110
+ });
111
+ if (!interaction.function) {
112
+ throw new RangeError(`
113
+ expected expression of the kind
114
+ function ${interactionName}({ event, argument }: { event: Event, argument: ArgumentType }): ReturnType {
115
+ // body
116
+ }
117
+ `);
118
+ }
119
+ return interaction;
120
+ };
121
+ //# sourceMappingURL=compatibility.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compatibility.js","sourceRoot":"","sources":["../../src/interactions/compatibility.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,26 @@
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
+ var _a;
7
+ let message = 'Error';
8
+ if (diagnostic.file) {
9
+ const { line, character } = diagnostic.file.getLineAndCharacterOfPosition((_a = diagnostic.start) !== null && _a !== void 0 ? _a : 0);
10
+ message += ` ${diagnostic.file.fileName} (${line + 1},${character + 1})`;
11
+ }
12
+ message += `: ${(0, typescript_1.flattenDiagnosticMessageText)(diagnostic.messageText, '\n')}`;
13
+ console.error(`\u001b[31m${message}\u001b[0m`);
14
+ });
15
+ };
16
+ exports.default = (filePath) => {
17
+ const config = (0, typescript_1.getDefaultCompilerOptions)();
18
+ config.strict = true;
19
+ const program = (0, typescript_1.createProgram)([filePath], config);
20
+ const diagnostics = [...(0, typescript_1.getPreEmitDiagnostics)(program)];
21
+ if (diagnostics.length > 0) {
22
+ reportDiagnostics(diagnostics);
23
+ process.exit(1);
24
+ }
25
+ };
26
+ //# sourceMappingURL=diagnostics.js.map
@@ -0,0 +1 @@
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,CAAC;YACpB,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,UAAU,CAAC,IAAI,CAAC,6BAA6B,CACvE,MAAA,UAAU,CAAC,KAAK,mCAAI,CAAC,CACtB,CAAC;YACF,OAAO,IAAI,IAAI,UAAU,CAAC,IAAI,CAAC,QAAQ,KAAK,IAAI,GAAG,CAAC,IAAI,SAAS,GAAG,CAAC,GAAG,CAAC;QAC3E,CAAC;QACD,OAAO,IAAI,KAAK,IAAA,yCAA4B,EAC1C,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,IAAA,sCAAyB,GAAE,CAAC;IAE3C,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC;IAErB,MAAM,OAAO,GAAG,IAAA,0BAAa,EAAC,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,CAAC;IAElD,MAAM,WAAW,GAAG,CAAC,GAAG,IAAA,kCAAqB,EAAC,OAAO,CAAC,CAAC,CAAC;IAExD,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3B,iBAAiB,CAAC,WAAW,CAAC,CAAC;QAC/B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC"}
package/build/types.js ADDED
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.InteractionType = exports.InteractionOptionTypeToDo = exports.InteractionOptionType = exports.AllowedStateKeys = void 0;
4
+ var AllowedStateKeys;
5
+ (function (AllowedStateKeys) {
6
+ AllowedStateKeys["SELECTED"] = "selected";
7
+ AllowedStateKeys["HOVER"] = "hover";
8
+ AllowedStateKeys["FOCUS"] = "focus";
9
+ AllowedStateKeys["DISABLED"] = "disabled";
10
+ AllowedStateKeys["VALID"] = "valid";
11
+ AllowedStateKeys["INVALID"] = "invalid";
12
+ AllowedStateKeys["READONLY"] = "readOnly";
13
+ })(AllowedStateKeys || (exports.AllowedStateKeys = AllowedStateKeys = {}));
14
+ var InteractionOptionType;
15
+ (function (InteractionOptionType) {
16
+ InteractionOptionType["Boolean"] = "Boolean";
17
+ InteractionOptionType["Number"] = "Number";
18
+ InteractionOptionType["String"] = "String";
19
+ InteractionOptionType["Event"] = "Event";
20
+ InteractionOptionType["Void"] = "Void";
21
+ InteractionOptionType["Page"] = "Page";
22
+ InteractionOptionType["Locale"] = "Locale";
23
+ InteractionOptionType["Unknown"] = "Unknown";
24
+ })(InteractionOptionType || (exports.InteractionOptionType = InteractionOptionType = {}));
25
+ // TODO: Add support
26
+ var InteractionOptionTypeToDo;
27
+ (function (InteractionOptionTypeToDo) {
28
+ InteractionOptionTypeToDo["Color"] = "Color";
29
+ InteractionOptionTypeToDo["Endpoint"] = "Endpoint";
30
+ InteractionOptionTypeToDo["Filter"] = "Filter";
31
+ InteractionOptionTypeToDo["Font"] = "Font";
32
+ InteractionOptionTypeToDo["Properties"] = "Properties";
33
+ InteractionOptionTypeToDo["Property"] = "Property";
34
+ InteractionOptionTypeToDo["Size"] = "Size";
35
+ InteractionOptionTypeToDo["Unit"] = "Unit";
36
+ })(InteractionOptionTypeToDo || (exports.InteractionOptionTypeToDo = InteractionOptionTypeToDo = {}));
37
+ var InteractionType;
38
+ (function (InteractionType) {
39
+ InteractionType["Custom"] = "Custom";
40
+ InteractionType["Global"] = "Global";
41
+ })(InteractionType || (exports.InteractionType = InteractionType = {}));
42
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";;;AAiFA,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,gCAAhB,gBAAgB,QAQ3B;AAuND,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,qCAArB,qBAAqB,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,yCAAzB,yBAAyB,QASpC;AA+BD,IAAY,eAGX;AAHD,WAAY,eAAe;IACzB,oCAAiB,CAAA;IACjB,oCAAiB,CAAA;AACnB,CAAC,EAHW,eAAe,+BAAf,eAAe,QAG1B"}
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.parsePort = exports.parseDir = void 0;
4
+ const parseDir = (args) => args.length === 0 ? '.' : args[0];
5
+ exports.parseDir = parseDir;
6
+ const parsePort = (portRaw, defaultPort) => {
7
+ const port = parseInt(portRaw, 10);
8
+ return Number.isNaN(port) ? defaultPort : port;
9
+ };
10
+ exports.parsePort = parsePort;
11
+ //# sourceMappingURL=arguments.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"arguments.js","sourceRoot":"","sources":["../../src/utils/arguments.ts"],"names":[],"mappings":";;;AAAO,MAAM,QAAQ,GAAG,CAAC,IAAc,EAAU,EAAE,CACjD,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AADvB,QAAA,QAAQ,YACe;AAE7B,MAAM,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;AAPW,QAAA,SAAS,aAOpB"}
@@ -0,0 +1,23 @@
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
+ exports.checkPackageVersion = void 0;
13
+ const child_process_1 = require("child_process");
14
+ const util_1 = require("util");
15
+ const execPromise = (0, util_1.promisify)(child_process_1.exec);
16
+ const checkPackageVersion = (name) => __awaiter(void 0, void 0, void 0, function* () {
17
+ const { stderr: error } = yield execPromise(`npm view ${name} version`);
18
+ if (error) {
19
+ throw new Error(error);
20
+ }
21
+ });
22
+ exports.checkPackageVersion = checkPackageVersion;
23
+ //# sourceMappingURL=checkPackageVersion.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"checkPackageVersion.js","sourceRoot":"","sources":["../../src/utils/checkPackageVersion.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,iDAAqC;AACrC,+BAAiC;AAEjC,MAAM,WAAW,GAAG,IAAA,gBAAS,EAAC,oBAAI,CAAC,CAAC;AAE7B,MAAM,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,CAAC;QACV,MAAM,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC;IACzB,CAAC;AACH,CAAC,CAAA,CAAC;AALW,QAAA,mBAAmB,uBAK9B"}
@@ -0,0 +1,81 @@
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
+ exports.checkUpdateAvailableCLI = void 0;
16
+ const chalk_1 = __importDefault(require("chalk"));
17
+ const child_process_1 = require("child_process");
18
+ const fs_extra_1 = require("fs-extra");
19
+ const os_1 = require("os");
20
+ const semver_1 = require("semver");
21
+ const util_1 = require("util");
22
+ // eslint-disable-next-line
23
+ const { version: versionCLI, name: nameCLI } = require('../../package.json');
24
+ const execPromise = (0, util_1.promisify)(child_process_1.exec);
25
+ const TEMP_FOLDER = `${(0, os_1.tmpdir)()}/bettyblocks`;
26
+ const logUpdateAvailable = (localVersion, remoteVersion, name) => {
27
+ if ((0, semver_1.lt)(localVersion, remoteVersion)) {
28
+ console.log(`${name} update available from ${chalk_1.default.greenBright(localVersion)} to ${chalk_1.default.greenBright(remoteVersion)}`);
29
+ }
30
+ };
31
+ const getRemoteVersionCLI = () => __awaiter(void 0, void 0, void 0, function* () {
32
+ const { stdout: output, stderr: error } = yield execPromise(`npm show @betty-blocks/cli version`);
33
+ const remoteVersionCLI = output.toString().trim();
34
+ if (error) {
35
+ throw new Error(error);
36
+ }
37
+ return remoteVersionCLI;
38
+ });
39
+ const writeToFile = () => __awaiter(void 0, void 0, void 0, function* () {
40
+ const remoteVersionCLI = yield getRemoteVersionCLI();
41
+ yield (0, fs_extra_1.writeJson)(`${TEMP_FOLDER}/versions.json`, {
42
+ timestamp: Date.now(),
43
+ versions: {
44
+ remoteVersionCLI,
45
+ },
46
+ });
47
+ });
48
+ const readFile = () => __awaiter(void 0, void 0, void 0, function* () {
49
+ const folderExist = yield (0, fs_extra_1.pathExists)(TEMP_FOLDER);
50
+ let remoteVersion;
51
+ if (!folderExist) {
52
+ yield (0, fs_extra_1.mkdir)(TEMP_FOLDER);
53
+ }
54
+ const fileExist = yield (0, fs_extra_1.pathExists)(`${TEMP_FOLDER}/versions.json`);
55
+ if (fileExist) {
56
+ const { versions, timestamp } = (yield (0, 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
+ const checkUpdateAvailableCLI = () => __awaiter(void 0, void 0, void 0, function* () {
72
+ try {
73
+ const { remoteVersionCLI } = yield readFile();
74
+ logUpdateAvailable(versionCLI, remoteVersionCLI, nameCLI);
75
+ }
76
+ catch (_a) {
77
+ console.error('Unable to check for a new version');
78
+ }
79
+ });
80
+ exports.checkUpdateAvailableCLI = checkUpdateAvailableCLI;
81
+ //# sourceMappingURL=checkUpdateAvailable.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"checkUpdateAvailable.js","sourceRoot":"","sources":["../../src/utils/checkUpdateAvailable.ts"],"names":[],"mappings":"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"}