@betty-blocks/cli 26.0.0-beta.14 → 26.0.0-beta.15

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 (149) hide show
  1. package/package.json +1 -1
  2. package/build/bb-blocks-new.js +0 -28
  3. package/build/bb-blocks-new.js.map +0 -1
  4. package/build/bb-blocks-publish.js +0 -112
  5. package/build/bb-blocks-publish.js.map +0 -1
  6. package/build/bb-blocks-release.js +0 -32
  7. package/build/bb-blocks-release.js.map +0 -1
  8. package/build/bb-blocks.js +0 -19
  9. package/build/bb-blocks.js.map +0 -1
  10. package/build/bb-bundle-init.js +0 -47
  11. package/build/bb-bundle-init.js.map +0 -1
  12. package/build/bb-bundle.js +0 -22
  13. package/build/bb-bundle.js.map +0 -1
  14. package/build/bb-components-build.js +0 -449
  15. package/build/bb-components-build.js.map +0 -1
  16. package/build/bb-components-create.js +0 -55
  17. package/build/bb-components-create.js.map +0 -1
  18. package/build/bb-components-generate.js +0 -182
  19. package/build/bb-components-generate.js.map +0 -1
  20. package/build/bb-components-publish-bundle.js +0 -64
  21. package/build/bb-components-publish-bundle.js.map +0 -1
  22. package/build/bb-components-publish.js +0 -71
  23. package/build/bb-components-publish.js.map +0 -1
  24. package/build/bb-components-serve.js +0 -40
  25. package/build/bb-components-serve.js.map +0 -1
  26. package/build/bb-components.js +0 -30
  27. package/build/bb-components.js.map +0 -1
  28. package/build/bb-functions-build.js +0 -58
  29. package/build/bb-functions-build.js.map +0 -1
  30. package/build/bb-functions-bump.js +0 -78
  31. package/build/bb-functions-bump.js.map +0 -1
  32. package/build/bb-functions-init.js +0 -58
  33. package/build/bb-functions-init.js.map +0 -1
  34. package/build/bb-functions-login.js +0 -31
  35. package/build/bb-functions-login.js.map +0 -1
  36. package/build/bb-functions-logout.js +0 -15
  37. package/build/bb-functions-logout.js.map +0 -1
  38. package/build/bb-functions-new.js +0 -27
  39. package/build/bb-functions-new.js.map +0 -1
  40. package/build/bb-functions-publish.js +0 -61
  41. package/build/bb-functions-publish.js.map +0 -1
  42. package/build/bb-functions-validate.js +0 -44
  43. package/build/bb-functions-validate.js.map +0 -1
  44. package/build/bb-functions.js +0 -35
  45. package/build/bb-functions.js.map +0 -1
  46. package/build/bb.js +0 -31
  47. package/build/bb.js.map +0 -1
  48. package/build/blocks/blockDefinitions.js +0 -66
  49. package/build/blocks/blockDefinitions.js.map +0 -1
  50. package/build/blocks/publishBlocks.js +0 -70
  51. package/build/blocks/publishBlocks.js.map +0 -1
  52. package/build/blocks/releaseBlocks.js +0 -94
  53. package/build/blocks/releaseBlocks.js.map +0 -1
  54. package/build/components/comments.js +0 -81
  55. package/build/components/comments.js.map +0 -1
  56. package/build/components/compatibility.js +0 -62
  57. package/build/components/compatibility.js.map +0 -1
  58. package/build/components/transformers/index.js +0 -42
  59. package/build/components/transformers/index.js.map +0 -1
  60. package/build/components-build/index.js +0 -19
  61. package/build/components-build/index.js.map +0 -1
  62. package/build/components-build/reportDiagnostics.js +0 -21
  63. package/build/components-build/reportDiagnostics.js.map +0 -1
  64. package/build/components-build/styles.js +0 -144
  65. package/build/components-build/styles.js.map +0 -1
  66. package/build/functions/acquireAppFunctionsProject.js +0 -19
  67. package/build/functions/acquireAppFunctionsProject.js.map +0 -1
  68. package/build/functions/acquireCustomFunctionsProject.js +0 -20
  69. package/build/functions/acquireCustomFunctionsProject.js.map +0 -1
  70. package/build/functions/bb-components-functions.js +0 -58
  71. package/build/functions/bb-components-functions.js.map +0 -1
  72. package/build/functions/config.js +0 -193
  73. package/build/functions/config.js.map +0 -1
  74. package/build/functions/functionDefinitions.js +0 -189
  75. package/build/functions/functionDefinitions.js.map +0 -1
  76. package/build/functions/icons.js +0 -48
  77. package/build/functions/icons.js.map +0 -1
  78. package/build/functions/publishAppFunctions.js +0 -108
  79. package/build/functions/publishAppFunctions.js.map +0 -1
  80. package/build/functions/publishCustomFunctions.js +0 -111
  81. package/build/functions/publishCustomFunctions.js.map +0 -1
  82. package/build/functions/publishFunctions.js +0 -113
  83. package/build/functions/publishFunctions.js.map +0 -1
  84. package/build/functions/utils.js +0 -24
  85. package/build/functions/utils.js.map +0 -1
  86. package/build/functions/validations.js +0 -125
  87. package/build/functions/validations.js.map +0 -1
  88. package/build/functions/versions.js +0 -54
  89. package/build/functions/versions.js.map +0 -1
  90. package/build/interactions/compatibility.js +0 -121
  91. package/build/interactions/compatibility.js.map +0 -1
  92. package/build/interactions/diagnostics.js +0 -26
  93. package/build/interactions/diagnostics.js.map +0 -1
  94. package/build/types.js +0 -42
  95. package/build/types.js.map +0 -1
  96. package/build/utils/arguments.js +0 -11
  97. package/build/utils/arguments.js.map +0 -1
  98. package/build/utils/checkPackageVersion.js +0 -23
  99. package/build/utils/checkPackageVersion.js.map +0 -1
  100. package/build/utils/checkUpdateAvailable.js +0 -81
  101. package/build/utils/checkUpdateAvailable.js.map +0 -1
  102. package/build/utils/fusionAuth.js +0 -132
  103. package/build/utils/fusionAuth.js.map +0 -1
  104. package/build/utils/hash.js +0 -8
  105. package/build/utils/hash.js.map +0 -1
  106. package/build/utils/ide.js +0 -167
  107. package/build/utils/ide.js.map +0 -1
  108. package/build/utils/login.js +0 -132
  109. package/build/utils/login.js.map +0 -1
  110. package/build/utils/pick.js +0 -20
  111. package/build/utils/pick.js.map +0 -1
  112. package/build/utils/readFilesByType.js +0 -37
  113. package/build/utils/readFilesByType.js.map +0 -1
  114. package/build/utils/rootDir.js +0 -9
  115. package/build/utils/rootDir.js.map +0 -1
  116. package/build/utils/serveComponentSet.js +0 -66
  117. package/build/utils/serveComponentSet.js.map +0 -1
  118. package/build/utils/transpile.js +0 -30
  119. package/build/utils/transpile.js.map +0 -1
  120. package/build/utils/uploadBlob.js +0 -70
  121. package/build/utils/uploadBlob.js.map +0 -1
  122. package/build/utils/validation.js +0 -83
  123. package/build/utils/validation.js.map +0 -1
  124. package/build/validations/component.js +0 -61
  125. package/build/validations/component.js.map +0 -1
  126. package/build/validations/constants.js +0 -211
  127. package/build/validations/constants.js.map +0 -1
  128. package/build/validations/function-block-validations/index.js +0 -87
  129. package/build/validations/function-block-validations/index.js.map +0 -1
  130. package/build/validations/interaction.js +0 -27
  131. package/build/validations/interaction.js.map +0 -1
  132. package/build/validations/prefab/action.js +0 -105
  133. package/build/validations/prefab/action.js.map +0 -1
  134. package/build/validations/prefab/component.js +0 -295
  135. package/build/validations/prefab/component.js.map +0 -1
  136. package/build/validations/prefab/componentOption.js +0 -153
  137. package/build/validations/prefab/componentOption.js.map +0 -1
  138. package/build/validations/prefab/interaction.js +0 -44
  139. package/build/validations/prefab/interaction.js.map +0 -1
  140. package/build/validations/prefab/linkedOption.js +0 -45
  141. package/build/validations/prefab/linkedOption.js.map +0 -1
  142. package/build/validations/prefab/linkedPartial.js +0 -36
  143. package/build/validations/prefab/linkedPartial.js.map +0 -1
  144. package/build/validations/prefab/variable.js +0 -42
  145. package/build/validations/prefab/variable.js.map +0 -1
  146. package/build/validations/prefab.js +0 -71
  147. package/build/validations/prefab.js.map +0 -1
  148. package/build/validations/styles.js +0 -109
  149. package/build/validations/styles.js.map +0 -1
@@ -1,31 +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 commander_1 = require("commander");
16
- const config_1 = __importDefault(require("./functions/config"));
17
- const login_1 = __importDefault(require("./utils/login"));
18
- const program = new commander_1.Command();
19
- program.name('bb functions login').parse(process.argv);
20
- void (() => __awaiter(void 0, void 0, void 0, function* () {
21
- const config = new config_1.default();
22
- const fusionAuth = new login_1.default(config);
23
- const loggedIn = yield fusionAuth.login();
24
- if (loggedIn) {
25
- console.log(`You are now logged in.`);
26
- }
27
- else {
28
- console.log(`Couldn't log you in.`);
29
- }
30
- }))();
31
- //# sourceMappingURL=bb-functions-login.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"bb-functions-login.js","sourceRoot":"","sources":["../src/bb-functions-login.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,yCAAoC;AAEpC,gEAAwC;AACxC,0DAAuC;AAEvC,MAAM,OAAO,GAAG,IAAI,mBAAO,EAAE,CAAC;AAE9B,OAAO,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AAEvD,KAAK,CAAC,GAAwB,EAAE;IAC9B,MAAM,MAAM,GAAG,IAAI,gBAAM,EAAE,CAAC;IAC5B,MAAM,UAAU,GAAG,IAAI,eAAU,CAAC,MAAM,CAAC,CAAC;IAE1C,MAAM,QAAQ,GAAG,MAAM,UAAU,CAAC,KAAK,EAAE,CAAC;IAE1C,IAAI,QAAQ,EAAE,CAAC;QACb,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;IACxC,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;IACtC,CAAC;AACH,CAAC,CAAA,CAAC,EAAE,CAAC"}
@@ -1,15 +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 commander_1 = require("commander");
7
- const config_1 = __importDefault(require("./functions/config"));
8
- const login_1 = __importDefault(require("./utils/login"));
9
- const program = new commander_1.Command();
10
- program.name('bb functions logout').parse(process.argv);
11
- const config = new config_1.default();
12
- const fusionAuth = new login_1.default(config);
13
- fusionAuth.clearTokens();
14
- console.log('You are now logged out!');
15
- //# sourceMappingURL=bb-functions-logout.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"bb-functions-logout.js","sourceRoot":"","sources":["../src/bb-functions-logout.ts"],"names":[],"mappings":";;;;;AAAA,yCAAoC;AAEpC,gEAAwC;AACxC,0DAAuC;AAEvC,MAAM,OAAO,GAAG,IAAI,mBAAO,EAAE,CAAC;AAE9B,OAAO,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AACxD,MAAM,MAAM,GAAG,IAAI,gBAAM,EAAE,CAAC;AAC5B,MAAM,UAAU,GAAG,IAAI,eAAU,CAAC,MAAM,CAAC,CAAC;AAE1C,UAAU,CAAC,WAAW,EAAE,CAAC;AAEzB,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC"}
@@ -1,27 +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 commander_1 = require("commander");
7
- const fs_extra_1 = __importDefault(require("fs-extra"));
8
- const path_1 = __importDefault(require("path"));
9
- const functionDefinitions_1 = require("./functions/functionDefinitions");
10
- const program = new commander_1.Command();
11
- program.usage('[function-name]').name('bb functions new').parse(process.argv);
12
- const { args: [inputFunctionName], } = program;
13
- const workingDir = process.cwd();
14
- if (fs_extra_1.default.existsSync(path_1.default.join(workingDir, '.app-functions'))) {
15
- try {
16
- const functionsDir = path_1.default.join(workingDir, 'functions');
17
- (0, functionDefinitions_1.newFunctionDefinition)(functionsDir, inputFunctionName);
18
- console.log(`functions/${inputFunctionName} created`);
19
- }
20
- catch (error) {
21
- throw new Error(`functions/${inputFunctionName} could not be created. Error: ${error}`);
22
- }
23
- }
24
- else {
25
- throw new Error(`${workingDir} doesn't seem to be a functions project.\nPlease make sure you're in the root of the project.`);
26
- }
27
- //# sourceMappingURL=bb-functions-new.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"bb-functions-new.js","sourceRoot":"","sources":["../src/bb-functions-new.ts"],"names":[],"mappings":";;;;;AAAA,yCAAoC;AACpC,wDAA0B;AAC1B,gDAAwB;AAExB,yEAAwE;AAExE,MAAM,OAAO,GAAG,IAAI,mBAAO,EAAE,CAAC;AAE9B,OAAO,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AAE9E,MAAM,EACJ,IAAI,EAAE,CAAC,iBAAiB,CAAC,GAC1B,GAAG,OAAO,CAAC;AAEZ,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;AACjC,IAAI,kBAAE,CAAC,UAAU,CAAC,cAAI,CAAC,IAAI,CAAC,UAAU,EAAE,gBAAgB,CAAC,CAAC,EAAE,CAAC;IAC3D,IAAI,CAAC;QACH,MAAM,YAAY,GAAG,cAAI,CAAC,IAAI,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;QACxD,IAAA,2CAAqB,EAAC,YAAY,EAAE,iBAAiB,CAAC,CAAC;QAEvD,OAAO,CAAC,GAAG,CAAC,aAAa,iBAAiB,UAAU,CAAC,CAAC;IACxD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CACb,aAAa,iBAAiB,iCAAiC,KAAK,EAAE,CACvE,CAAC;IACJ,CAAC;AACH,CAAC;KAAM,CAAC;IACN,MAAM,IAAI,KAAK,CACb,GAAG,UAAU,+FAA+F,CAC7G,CAAC;AACJ,CAAC"}
@@ -1,61 +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 chalk_1 = __importDefault(require("chalk"));
16
- const commander_1 = require("commander");
17
- const fs_extra_1 = __importDefault(require("fs-extra"));
18
- const path_1 = __importDefault(require("path"));
19
- const config_1 = __importDefault(require("./functions/config"));
20
- const publishAppFunctions_1 = __importDefault(require("./functions/publishAppFunctions"));
21
- const publishCustomFunctions_1 = __importDefault(require("./functions/publishCustomFunctions"));
22
- const validations_1 = require("./functions/validations");
23
- const program = new commander_1.Command();
24
- program
25
- .name('bb functions publish')
26
- .option('-b, --bump', 'Bump the revision number.')
27
- .option('-s, --skip', 'Skip building the custom functions bundle.')
28
- .option('--skip-compile', 'Skip the compilation of the application.')
29
- .option('-h, --host <host>', 'Set hostname to publish to. Defaults to <identifier>.bettyblocks.com')
30
- .parse(process.argv);
31
- const { host, skip, bump, skipCompile } = program.opts();
32
- const workingDir = process.cwd();
33
- const baseFunctionsPath = path_1.default.join(workingDir, 'functions');
34
- const config = new config_1.default();
35
- const validateFunctions = () => __awaiter(void 0, void 0, void 0, function* () {
36
- const validator = new validations_1.FunctionValidator(config, baseFunctionsPath);
37
- yield validator.initSchema();
38
- console.log(chalk_1.default.bold(`Validating functions in ${baseFunctionsPath}`));
39
- const results = yield validator.validateFunctions();
40
- results.forEach(validations_1.logValidationResult);
41
- const valid = results.every((result) => result.status === 'ok');
42
- if (valid) {
43
- console.log(`\n${chalk_1.default.green.underline(`✔ All your functions are valid and ready to be published!`)}`);
44
- }
45
- else {
46
- console.log(`\n${chalk_1.default.red.underline(`✖ Certain functions in your project are invalid.`)}`);
47
- }
48
- return { valid };
49
- });
50
- void (() => __awaiter(void 0, void 0, void 0, function* () {
51
- if (fs_extra_1.default.existsSync(path_1.default.join(workingDir, '.app-functions'))) {
52
- const { valid } = yield validateFunctions();
53
- if (valid) {
54
- yield (0, publishAppFunctions_1.default)({ skipCompile });
55
- }
56
- }
57
- else {
58
- (0, publishCustomFunctions_1.default)(host, bump, skip);
59
- }
60
- }))();
61
- //# sourceMappingURL=bb-functions-publish.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"bb-functions-publish.js","sourceRoot":"","sources":["../src/bb-functions-publish.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,kDAA0B;AAC1B,yCAAoC;AACpC,wDAA0B;AAC1B,gDAAwB;AAExB,gEAAwC;AACxC,0FAAkE;AAClE,gGAAwE;AACxE,yDAGiC;AAEjC,MAAM,OAAO,GAAG,IAAI,mBAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,IAAI,CAAC,sBAAsB,CAAC;KAC5B,MAAM,CAAC,YAAY,EAAE,2BAA2B,CAAC;KACjD,MAAM,CAAC,YAAY,EAAE,4CAA4C,CAAC;KAClE,MAAM,CAAC,gBAAgB,EAAE,0CAA0C,CAAC;KACpE,MAAM,CACL,mBAAmB,EACnB,sEAAsE,CACvE;KACA,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AAEvB,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;AAEzD,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;AAEjC,MAAM,iBAAiB,GAAG,cAAI,CAAC,IAAI,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;AAE7D,MAAM,MAAM,GAAG,IAAI,gBAAM,EAAE,CAAC;AAE5B,MAAM,iBAAiB,GAAG,GAAsC,EAAE;IAChE,MAAM,SAAS,GAAG,IAAI,+BAAiB,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;IACnE,MAAM,SAAS,CAAC,UAAU,EAAE,CAAC;IAE7B,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,2BAA2B,iBAAiB,EAAE,CAAC,CAAC,CAAC;IAExE,MAAM,OAAO,GAAG,MAAM,SAAS,CAAC,iBAAiB,EAAE,CAAC;IACpD,OAAO,CAAC,OAAO,CAAC,iCAAmB,CAAC,CAAC;IAErC,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC;IAEhE,IAAI,KAAK,EAAE,CAAC;QACV,OAAO,CAAC,GAAG,CACT,KAAK,eAAK,CAAC,KAAK,CAAC,SAAS,CACxB,2DAA2D,CAC5D,EAAE,CACJ,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CACT,KAAK,eAAK,CAAC,GAAG,CAAC,SAAS,CACtB,kDAAkD,CACnD,EAAE,CACJ,CAAC;IACJ,CAAC;IAED,OAAO,EAAE,KAAK,EAAE,CAAC;AACnB,CAAC,CAAA,CAAC;AAEF,KAAK,CAAC,GAAwB,EAAE;IAC9B,IAAI,kBAAE,CAAC,UAAU,CAAC,cAAI,CAAC,IAAI,CAAC,UAAU,EAAE,gBAAgB,CAAC,CAAC,EAAE,CAAC;QAC3D,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,iBAAiB,EAAE,CAAC;QAE5C,IAAI,KAAK,EAAE,CAAC;YACV,MAAM,IAAA,6BAAmB,EAAC,EAAE,WAAW,EAAE,CAAC,CAAC;QAC7C,CAAC;IACH,CAAC;SAAM,CAAC;QACN,IAAA,gCAAsB,EAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IAC3C,CAAC;AACH,CAAC,CAAA,CAAC,EAAE,CAAC"}
@@ -1,44 +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 chalk_1 = __importDefault(require("chalk"));
16
- const commander_1 = require("commander");
17
- const path_1 = __importDefault(require("path"));
18
- const config_1 = __importDefault(require("./functions/config"));
19
- const validations_1 = require("./functions/validations");
20
- const program = new commander_1.Command();
21
- program
22
- .usage('[function-name]')
23
- .name('bb functions validate')
24
- .parse(process.argv);
25
- const { args: [inputFunctionName], } = program;
26
- const workingDir = process.cwd();
27
- const baseFunctionsPath = path_1.default.join(workingDir, 'functions');
28
- const config = new config_1.default();
29
- const validateFunctions = () => __awaiter(void 0, void 0, void 0, function* () {
30
- const validator = new validations_1.FunctionValidator(config, baseFunctionsPath);
31
- yield validator.initSchema();
32
- console.log(chalk_1.default.bold(`Validating functions in ${baseFunctionsPath}`));
33
- const results = yield validator.validateFunctions(inputFunctionName);
34
- results.forEach(validations_1.logValidationResult);
35
- const valid = results.every((result) => result.status === 'ok');
36
- if (valid) {
37
- console.log(`\n${chalk_1.default.green.underline(`✔ All your functions are valid and ready to be published!`)}`);
38
- }
39
- else {
40
- console.log(`\n${chalk_1.default.red.underline(`✖ Certain functions in your project are invalid.`)}`);
41
- }
42
- });
43
- void (() => __awaiter(void 0, void 0, void 0, function* () { return validateFunctions(); }))();
44
- //# sourceMappingURL=bb-functions-validate.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"bb-functions-validate.js","sourceRoot":"","sources":["../src/bb-functions-validate.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,kDAA0B;AAC1B,yCAAoC;AACpC,gDAAwB;AAExB,gEAAwC;AACxC,yDAGiC;AAEjC,MAAM,OAAO,GAAG,IAAI,mBAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,KAAK,CAAC,iBAAiB,CAAC;KACxB,IAAI,CAAC,uBAAuB,CAAC;KAC7B,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AAEvB,MAAM,EACJ,IAAI,EAAE,CAAC,iBAAiB,CAAC,GAC1B,GAAG,OAAO,CAAC;AAEZ,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;AACjC,MAAM,iBAAiB,GAAG,cAAI,CAAC,IAAI,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;AAE7D,MAAM,MAAM,GAAG,IAAI,gBAAM,EAAE,CAAC;AAE5B,MAAM,iBAAiB,GAAG,GAAwB,EAAE;IAClD,MAAM,SAAS,GAAG,IAAI,+BAAiB,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;IACnE,MAAM,SAAS,CAAC,UAAU,EAAE,CAAC;IAE7B,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,2BAA2B,iBAAiB,EAAE,CAAC,CAAC,CAAC;IAExE,MAAM,OAAO,GAAG,MAAM,SAAS,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,CAAC;IACrE,OAAO,CAAC,OAAO,CAAC,iCAAmB,CAAC,CAAC;IAErC,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC;IAEhE,IAAI,KAAK,EAAE,CAAC;QACV,OAAO,CAAC,GAAG,CACT,KAAK,eAAK,CAAC,KAAK,CAAC,SAAS,CACxB,2DAA2D,CAC5D,EAAE,CACJ,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CACT,KAAK,eAAK,CAAC,GAAG,CAAC,SAAS,CACtB,kDAAkD,CACnD,EAAE,CACJ,CAAC;IACJ,CAAC;AACH,CAAC,CAAA,CAAC;AAEF,KAAK,CAAC,GAAwB,EAAE,kDAAC,OAAA,iBAAiB,EAAE,CAAA,GAAA,CAAC,EAAE,CAAC"}
@@ -1,35 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const commander_1 = require("commander");
4
- const availableCommands = [
5
- 'init',
6
- 'login',
7
- 'logout',
8
- 'new',
9
- 'build',
10
- 'publish',
11
- 'validate',
12
- 'bump',
13
- 'test',
14
- ];
15
- const program = new commander_1.Command();
16
- program
17
- .usage(`<${availableCommands.join('|')}>`)
18
- .name('bb functions')
19
- .command('build', 'build functions bundle file of current working directory')
20
- .command('bump', 'increase the major/minor version of a specific function')
21
- .command('init [identifier]', 'initialize functions project')
22
- .command('login', 'login using the same credentials as the IDE')
23
- .command('logout', 'remove all tokens used to authenticate with the APIs')
24
- .command('new [function-name]', 'Initialize a new function')
25
- .command('publish', 'publish functions of current working directory')
26
- .command('validate', 'validate functions of current working directory')
27
- .command('test', 'test your functions within a local light-weight version of the ActionJS environment')
28
- .on('command:*', ([command]) => {
29
- if (!availableCommands.includes(command)) {
30
- console.error('Invalid command: %s\n', command);
31
- program.outputHelp();
32
- }
33
- })
34
- .parse(process.argv);
35
- //# sourceMappingURL=bb-functions.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"bb-functions.js","sourceRoot":"","sources":["../src/bb-functions.ts"],"names":[],"mappings":";;AAAA,yCAAoC;AAIpC,MAAM,iBAAiB,GAAuB;IAC5C,MAAM;IACN,OAAO;IACP,QAAQ;IACR,KAAK;IACL,OAAO;IACP,SAAS;IACT,UAAU;IACV,MAAM;IACN,MAAM;CACP,CAAC;AAEF,MAAM,OAAO,GAAG,IAAI,mBAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,KAAK,CAAC,IAAI,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;KACzC,IAAI,CAAC,cAAc,CAAC;KACpB,OAAO,CAAC,OAAO,EAAE,0DAA0D,CAAC;KAC5E,OAAO,CAAC,MAAM,EAAE,yDAAyD,CAAC;KAC1E,OAAO,CAAC,mBAAmB,EAAE,8BAA8B,CAAC;KAC5D,OAAO,CAAC,OAAO,EAAE,6CAA6C,CAAC;KAC/D,OAAO,CAAC,QAAQ,EAAE,sDAAsD,CAAC;KACzE,OAAO,CAAC,qBAAqB,EAAE,2BAA2B,CAAC;KAC3D,OAAO,CAAC,SAAS,EAAE,gDAAgD,CAAC;KACpE,OAAO,CAAC,UAAU,EAAE,iDAAiD,CAAC;KACtE,OAAO,CACN,MAAM,EACN,qFAAqF,CACtF;KACA,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC,OAAO,CAAW,EAAQ,EAAE;IAC7C,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,OAA2B,CAAC,EAAE,CAAC;QAC7D,OAAO,CAAC,KAAK,CAAC,uBAAuB,EAAE,OAAO,CAAC,CAAC;QAChD,OAAO,CAAC,UAAU,EAAE,CAAC;IACvB,CAAC;AACH,CAAC,CAAC;KACD,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC"}
package/build/bb.js DELETED
@@ -1,31 +0,0 @@
1
- #!/usr/bin/env bun
2
- "use strict";
3
- var __importDefault = (this && this.__importDefault) || function (mod) {
4
- return (mod && mod.__esModule) ? mod : { "default": mod };
5
- };
6
- Object.defineProperty(exports, "__esModule", { value: true });
7
- const chalk_1 = __importDefault(require("chalk"));
8
- const commander_1 = require("commander");
9
- const package_json_1 = __importDefault(require("../package.json"));
10
- const availableCommands = [
11
- 'blocks',
12
- 'components',
13
- 'functions',
14
- 'bundle',
15
- 'help',
16
- ];
17
- const program = new commander_1.Command();
18
- program
19
- .description('Betty Blocks CLI')
20
- .version(package_json_1.default.version, '-v, --version')
21
- .command('components [cmd]', 'manage your component sets')
22
- .command('blocks [cmd]', 'manage your blocks')
23
- .command('functions [cmd]', 'manage your custom functions')
24
- .command('bundle [cmd]', 'manage your vendor bundle')
25
- .on('command:*', ([command]) => {
26
- if (!availableCommands.includes(command)) {
27
- throw new Error(chalk_1.default.red(`\nInvalid command: ${command}\n`));
28
- }
29
- })
30
- .parse(process.argv);
31
- //# sourceMappingURL=bb.js.map
package/build/bb.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"bb.js","sourceRoot":"","sources":["../src/bb.ts"],"names":[],"mappings":";;;;;;AAEA,kDAA0B;AAC1B,yCAAoC;AAEpC,mEAAkC;AAGlC,MAAM,iBAAiB,GAAgB;IACrC,QAAQ;IACR,YAAY;IACZ,WAAW;IACX,QAAQ;IACR,MAAM;CACP,CAAC;AAEF,MAAM,OAAO,GAAG,IAAI,mBAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,WAAW,CAAC,kBAAkB,CAAC;KAC/B,OAAO,CAAC,sBAAG,CAAC,OAAO,EAAE,eAAe,CAAC;KACrC,OAAO,CAAC,kBAAkB,EAAE,4BAA4B,CAAC;KACzD,OAAO,CAAC,cAAc,EAAE,oBAAoB,CAAC;KAC7C,OAAO,CAAC,iBAAiB,EAAE,8BAA8B,CAAC;KAC1D,OAAO,CAAC,cAAc,EAAE,2BAA2B,CAAC;KACpD,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC,OAAO,CAAW,EAAQ,EAAE;IAC7C,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,OAAoB,CAAC,EAAE,CAAC;QACtD,MAAM,IAAI,KAAK,CAAC,eAAK,CAAC,GAAG,CAAC,sBAAsB,OAAO,IAAI,CAAC,CAAC,CAAC;IAChE,CAAC;AACH,CAAC,CAAC;KACD,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC"}
@@ -1,66 +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
- exports.newBlockDefinition = exports.createPackageJson = exports.blockDefinitions = exports.blockDefinitionPath = void 0;
7
- const fs_extra_1 = __importDefault(require("fs-extra"));
8
- const glob_1 = __importDefault(require("glob"));
9
- const path_1 = __importDefault(require("path"));
10
- const pick_1 = require("../utils/pick");
11
- /* @doc createPackageJson
12
- Returns an object containing all data needed for the block package json
13
- */
14
- const createPackageJson = (name, rootPackageJson, dependencies) => {
15
- const rootDependencies = (0, pick_1.pick)(fs_extra_1.default.readJsonSync(rootPackageJson).dependencies, dependencies);
16
- const packageJson = JSON.stringify({
17
- dependencies: rootDependencies,
18
- name,
19
- private: 'true',
20
- version: '1.0.0',
21
- }, null, 2);
22
- return packageJson;
23
- };
24
- exports.createPackageJson = createPackageJson;
25
- /* @doc functionDirs
26
- Returns a list of blocks.
27
- */
28
- const blockFiles = (blockDir) => glob_1.default
29
- .sync(path_1.default.join(blockDir, '*.json').replace(/\\/g, '/'))
30
- .reduce((blocks, blockDefinition) => {
31
- blocks.push(blockDefinition);
32
- return blocks;
33
- }, []);
34
- /* @doc blockDefinitions
35
- Returns an array containing all block definitions
36
- inside the given blocksDir.
37
- */
38
- const blockDefinitions = (blocksDir) => blockFiles(blocksDir).map((blocks) => blocks);
39
- exports.blockDefinitions = blockDefinitions;
40
- /* @doc blockDefinitionPath
41
- Expands the block dir with a json file with the given blockname.
42
- */
43
- const blockDefinitionPath = (blockPath, blockName) => path_1.default.join(blockPath, `${blockName}.json`);
44
- exports.blockDefinitionPath = blockDefinitionPath;
45
- /* @doc newBlockDefinition
46
- If block does not exists it will create a new json file with the given blockname.
47
- */
48
- const newBlockDefinition = (blocksDir, blockName) => {
49
- try {
50
- const existingBlock = fs_extra_1.default.existsSync(blockDefinitionPath(blocksDir, blockName));
51
- if (existingBlock)
52
- return 'Block already exists';
53
- fs_extra_1.default.mkdirpSync(blocksDir);
54
- fs_extra_1.default.writeJSONSync(blockDefinitionPath(blocksDir, blockName), {
55
- dependencies: [],
56
- functions: [],
57
- includes: [],
58
- }, { spaces: 2 });
59
- return `blocks/${blockName}.json created`;
60
- }
61
- catch (err) {
62
- throw new Error(`could not initialize new block ${blocksDir}: ${err}`);
63
- }
64
- };
65
- exports.newBlockDefinition = newBlockDefinition;
66
- //# sourceMappingURL=blockDefinitions.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"blockDefinitions.js","sourceRoot":"","sources":["../../src/blocks/blockDefinitions.ts"],"names":[],"mappings":";;;;;;AAAA,wDAA0B;AAC1B,gDAAwB;AACxB,gDAAwB;AAExB,wCAAqC;AAYrC;;EAEE;AACF,MAAM,iBAAiB,GAAG,CACxB,IAAY,EACZ,eAAuB,EACvB,YAAsB,EACd,EAAE;IACV,MAAM,gBAAgB,GAAG,IAAA,WAAI,EAC1B,kBAAE,CAAC,YAAY,CAAC,eAAe,CAAqB,CAAC,YAAY,EAClE,YAAY,CACb,CAAC;IACF,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAChC;QACE,YAAY,EAAE,gBAAgB;QAC9B,IAAI;QACJ,OAAO,EAAE,MAAM;QACf,OAAO,EAAE,OAAO;KACjB,EACD,IAAI,EACJ,CAAC,CACF,CAAC;IAEF,OAAO,WAAW,CAAC;AACrB,CAAC,CAAC;AAuDA,8CAAiB;AArDnB;;EAEE;AACF,MAAM,UAAU,GAAG,CAAC,QAAgB,EAAY,EAAE,CAChD,cAAI;KACD,IAAI,CAAC,cAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;KACvD,MAAM,CAAC,CAAC,MAAM,EAAE,eAAe,EAAE,EAAE;IAClC,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IAC7B,OAAO,MAAM,CAAC;AAChB,CAAC,EAAE,EAAc,CAAC,CAAC;AAEvB;;;EAGE;AACF,MAAM,gBAAgB,GAAG,CAAC,SAAiB,EAAY,EAAE,CACvD,UAAU,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC;AAoC9C,4CAAgB;AAlClB;;EAEE;AACF,MAAM,mBAAmB,GAAG,CAAC,SAAiB,EAAE,SAAiB,EAAU,EAAE,CAC3E,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,SAAS,OAAO,CAAC,CAAC;AA6B1C,kDAAmB;AA3BrB;;EAEE;AACF,MAAM,kBAAkB,GAAG,CAAC,SAAiB,EAAE,SAAiB,EAAU,EAAE;IAC1E,IAAI,CAAC;QACH,MAAM,aAAa,GAAG,kBAAE,CAAC,UAAU,CACjC,mBAAmB,CAAC,SAAS,EAAE,SAAS,CAAC,CAC1C,CAAC;QAEF,IAAI,aAAa;YAAE,OAAO,sBAAsB,CAAC;QACjD,kBAAE,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;QACzB,kBAAE,CAAC,aAAa,CACd,mBAAmB,CAAC,SAAS,EAAE,SAAS,CAAC,EACzC;YACE,YAAY,EAAE,EAAE;YAChB,SAAS,EAAE,EAAE;YACb,QAAQ,EAAE,EAAE;SACb,EACD,EAAE,MAAM,EAAE,CAAC,EAAE,CACd,CAAC;QACF,OAAO,UAAU,SAAS,eAAe,CAAC;IAC5C,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,kCAAkC,SAAS,KAAK,GAAG,EAAE,CAAC,CAAC;IACzE,CAAC;AACH,CAAC,CAAC;AAMA,gDAAkB"}
@@ -1,70 +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 chalk_1 = __importDefault(require("chalk"));
16
- const form_data_1 = __importDefault(require("form-data"));
17
- const fs_extra_1 = __importDefault(require("fs-extra"));
18
- const node_fetch_1 = __importDefault(require("node-fetch"));
19
- const path_1 = __importDefault(require("path"));
20
- const config_1 = __importDefault(require("../functions/config"));
21
- const functionDefinitions_1 = require("../functions/functionDefinitions");
22
- const login_1 = __importDefault(require("../utils/login"));
23
- const workingDir = process.cwd();
24
- const uploadBlock = (blockDefinitionsFile, functionsJson, config) => __awaiter(void 0, void 0, void 0, function* () {
25
- const fusionAuth = new login_1.default(config);
26
- const form = new form_data_1.default();
27
- form.append('name', path_1.default.basename(blockDefinitionsFile, '.zip'));
28
- form.append('functions', functionsJson);
29
- form.append('file', fs_extra_1.default.createReadStream(blockDefinitionsFile));
30
- const applicationId = yield config.applicationId();
31
- if (!applicationId) {
32
- throw new Error("Couldn't publish block(s), Error: application id not found");
33
- }
34
- const url = `${config.blockstoreApiUrl}/blocks/publish`;
35
- return (0, node_fetch_1.default)(url, {
36
- agent: config.agent,
37
- body: form,
38
- headers: {
39
- Accept: 'application/json',
40
- ApplicationId: applicationId,
41
- Authorization: `Bearer ${fusionAuth.jwt()}`,
42
- },
43
- method: 'POST',
44
- }).then((res) => __awaiter(void 0, void 0, void 0, function* () {
45
- if (res.status === 401 || res.status === 403) {
46
- yield fusionAuth.ensureLogin();
47
- return uploadBlock(blockDefinitionsFile, functionsJson, config);
48
- }
49
- if (res.status !== 201) {
50
- const error = yield res.text();
51
- throw new Error(`Couldn't publish block(s), Error: ${res.status}, ${error.match('## Connection details') ? 'Something went wrong' : error}`);
52
- }
53
- return true;
54
- }));
55
- });
56
- const createAndPublishFiles = (config, functions, zip) => __awaiter(void 0, void 0, void 0, function* () {
57
- const functionsDir = path_1.default.join(workingDir, 'functions');
58
- const funcDefinitions = (0, functionDefinitions_1.functionDefinitions)(functionsDir);
59
- const blockFunctions = (0, functionDefinitions_1.whitelistedFunctions)(funcDefinitions, functions);
60
- const functionsJson = (0, functionDefinitions_1.stringifyDefinitions)(blockFunctions);
61
- yield uploadBlock(zip, functionsJson, config);
62
- });
63
- const publishBlocks = (functions, zip) => __awaiter(void 0, void 0, void 0, function* () {
64
- const config = new config_1.default();
65
- console.log(chalk_1.default.bold(`\nPublishing to ${config.host} (${config.zone})`));
66
- yield createAndPublishFiles(config, functions, zip);
67
- console.log(chalk_1.default.green.underline(`✔ Your blocks are published to the block store.`));
68
- });
69
- exports.default = publishBlocks;
70
- //# sourceMappingURL=publishBlocks.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"publishBlocks.js","sourceRoot":"","sources":["../../src/blocks/publishBlocks.ts"],"names":[],"mappings":"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"}
@@ -1,94 +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 node_fetch_1 = __importDefault(require("node-fetch"));
16
- const config_1 = __importDefault(require("../functions/config"));
17
- const login_1 = __importDefault(require("../utils/login"));
18
- const GET_DEV_BLOCKS = '/blocks/my-dev-blocks';
19
- const POST_RELEASE_BLOCKS = '/blocks/release';
20
- const sendBlockstoreRequest = (_a) => __awaiter(void 0, [_a], void 0, function* ({ urlPath, method, body, config, fusionAuth, applicationId, }) {
21
- const url = `${config.blockstoreApiUrl}${urlPath}`;
22
- return (0, node_fetch_1.default)(url, {
23
- agent: config.agent,
24
- body,
25
- headers: {
26
- Accept: 'application/json',
27
- ApplicationId: applicationId,
28
- Authorization: `Bearer ${fusionAuth.jwt()}`,
29
- 'content-type': 'application/json',
30
- },
31
- method,
32
- }).then((res) => __awaiter(void 0, void 0, void 0, function* () {
33
- if (res.status === 401 || res.status === 403) {
34
- yield fusionAuth.ensureLogin();
35
- return sendBlockstoreRequest({
36
- applicationId,
37
- body,
38
- config,
39
- fusionAuth,
40
- method,
41
- urlPath,
42
- });
43
- }
44
- return res;
45
- }));
46
- });
47
- const fetchAllDevBlocks = (config, fusionAuth, applicationId) => __awaiter(void 0, void 0, void 0, function* () {
48
- return sendBlockstoreRequest({
49
- applicationId,
50
- body: undefined,
51
- config,
52
- fusionAuth,
53
- method: 'GET',
54
- urlPath: GET_DEV_BLOCKS,
55
- });
56
- });
57
- const releaseBlocksInBlockstore = (_a) => __awaiter(void 0, [_a], void 0, function* ({ blockIds, config, fusionAuth, applicationId, }) {
58
- const response = yield sendBlockstoreRequest({
59
- applicationId,
60
- body: JSON.stringify({ block_ids: blockIds }),
61
- config,
62
- fusionAuth,
63
- method: 'POST',
64
- urlPath: POST_RELEASE_BLOCKS,
65
- });
66
- if (!response.ok) {
67
- yield response
68
- .text()
69
- .then((text) => console.error(`Failed to release blocks in Blockstore: ${text}`));
70
- return false;
71
- }
72
- return true;
73
- });
74
- const releaseBlocks = (_a) => __awaiter(void 0, [_a], void 0, function* ({ all, blockIds, }) {
75
- const config = new config_1.default();
76
- const fusionAuth = new login_1.default(config);
77
- const applicationId = yield config.applicationId();
78
- if (!applicationId) {
79
- throw new Error("Couldn't publish block(s), Error: application id not found");
80
- }
81
- let blockIdsToBeReleased = blockIds;
82
- if (all) {
83
- const res = yield fetchAllDevBlocks(config, fusionAuth, applicationId);
84
- blockIdsToBeReleased = (yield res.json());
85
- }
86
- return releaseBlocksInBlockstore({
87
- applicationId,
88
- blockIds: blockIdsToBeReleased,
89
- config,
90
- fusionAuth,
91
- });
92
- });
93
- exports.default = releaseBlocks;
94
- //# sourceMappingURL=releaseBlocks.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"releaseBlocks.js","sourceRoot":"","sources":["../../src/blocks/releaseBlocks.ts"],"names":[],"mappings":"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"}
@@ -1,81 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.createLiteralObjectExpression = exports.walkCompilerAstAndFindComments = void 0;
4
- const jsdoc_api_1 = require("jsdoc-api");
5
- const typescript_1 = require("typescript");
6
- /**
7
- * Retrieves the JSDoc-style comments associated with a specific AST node.
8
- *
9
- * Based on ts.getJSDocCommentRanges() from the compiler.
10
- * https://github.com/microsoft/TypeScript/blob/v3.0.3/src/compiler/utilities.ts#L924
11
- */
12
- const getJSDocCommentRanges = (node, text) => {
13
- var _a, _b;
14
- const commentRanges = [];
15
- const { Parameter, TypeParameter, FunctionExpression, ArrowFunction, ParenthesizedExpression, } = typescript_1.SyntaxKind;
16
- switch (node.kind) {
17
- case Parameter:
18
- case TypeParameter:
19
- case FunctionExpression:
20
- case ArrowFunction:
21
- case ParenthesizedExpression:
22
- commentRanges.push(...((_a = (0, typescript_1.getTrailingCommentRanges)(text, node.pos)) !== null && _a !== void 0 ? _a : []));
23
- break;
24
- default:
25
- break;
26
- }
27
- commentRanges.push(...((_b = (0, typescript_1.getLeadingCommentRanges)(text, node.pos)) !== null && _b !== void 0 ? _b : []));
28
- // True if the comment starts with '/**' but not if it is '/**/'
29
- return commentRanges.filter((comment) => text.charCodeAt(comment.pos + 1) ===
30
- 0x2a /* ts.CharacterCodes.asterisk */ &&
31
- text.charCodeAt(comment.pos + 2) ===
32
- 0x2a /* ts.CharacterCodes.asterisk */ &&
33
- text.charCodeAt(comment.pos + 3) !== 0x2f /* ts.CharacterCodes.slash */);
34
- };
35
- const walkCompilerAstAndFindComments = (node, foundComments) => {
36
- // The TypeScript AST doesn't store code comments directly. If you want to find *every* comment,
37
- // you would need to rescan the SourceFile tokens similar to how tsutils.forEachComment() works:
38
- // https://github.com/ajafff/tsutils/blob/v3.0.0/util/util.ts#L453
39
- //
40
- // However, for this demo we are modeling a tool that discovers declarations and then analyzes their doc comments,
41
- // so we only care about TSDoc that would conventionally be associated with an interesting AST node.
42
- const buffer = node.getSourceFile().getFullText(); // don't use getText() here!
43
- // Only consider nodes that are part of a declaration form. Without this, we could discover
44
- // the same comment twice (e.g. for a MethodDeclaration and its PublicKeyword).
45
- // Find "/** */" style comments associated with this node.
46
- // Note that this reinvokes the compiler's scanner -- the result is not cached.
47
- const comments = getJSDocCommentRanges(node, buffer);
48
- comments.forEach((c) => {
49
- const source = buffer.slice(c.pos, c.end);
50
- const comment = (0, jsdoc_api_1.explainSync)({ source });
51
- const [{ name, params, returns }] = comment;
52
- const parameters = params.reduce((acc, cur) => (Object.assign(Object.assign({}, acc), { [cur.name]: cur.type.names })), {});
53
- const returnType = returns.reduce((acc, curr) => acc.concat(curr.type.names), []);
54
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment
55
- // @ts-ignore
56
- const hasComment = foundComments.some((f) => Boolean(f[name]));
57
- if (!hasComment) {
58
- foundComments.push({ [name]: { parameters, returnType } });
59
- }
60
- });
61
- return node.forEachChild((child) => (0, exports.walkCompilerAstAndFindComments)(child, foundComments));
62
- };
63
- exports.walkCompilerAstAndFindComments = walkCompilerAstAndFindComments;
64
- const createParams = (params) => {
65
- const { createArrayLiteralExpression, createStringLiteral, createObjectLiteralExpression, createPropertyAssignment, } = typescript_1.factory;
66
- return Object.entries(params).map(([key, value]) => {
67
- const result = Array.isArray(value)
68
- ? createArrayLiteralExpression(value.map((n) => createStringLiteral(n)))
69
- : createObjectLiteralExpression(createParams(value));
70
- return createPropertyAssignment(createStringLiteral(key), result);
71
- });
72
- };
73
- const createLiteralObjectExpression = (params) => {
74
- const { createStringLiteral, createObjectLiteralExpression, createPropertyAssignment, } = typescript_1.factory;
75
- return params.map((param) => {
76
- const [[key, value]] = Object.entries(param);
77
- return createPropertyAssignment(createStringLiteral(key), createObjectLiteralExpression(createParams(value)));
78
- });
79
- };
80
- exports.createLiteralObjectExpression = createLiteralObjectExpression;
81
- //# sourceMappingURL=comments.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"comments.js","sourceRoot":"","sources":["../../src/components/comments.ts"],"names":[],"mappings":"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"}