@betty-blocks/cli 26.0.0-beta.8 → 26.0.0

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 (255) hide show
  1. package/assets/app-functions/wasm-template/.wasm-functions +0 -0
  2. package/assets/app-functions/wasm-template/functions/say-hello/1.0/Cargo.lock +449 -0
  3. package/assets/app-functions/wasm-template/functions/say-hello/1.0/Cargo.toml +10 -0
  4. package/assets/app-functions/wasm-template/functions/say-hello/1.0/Justfile +12 -0
  5. package/assets/app-functions/wasm-template/functions/say-hello/1.0/function.json +35 -0
  6. package/assets/app-functions/wasm-template/functions/say-hello/1.0/src/lib.rs +19 -0
  7. package/assets/app-functions/wasm-template/functions/say-hello/1.0/wit/world.wit +13 -0
  8. package/build/bb-blocks-new.d.ts +1 -0
  9. package/build/bb-blocks-new.js +26 -0
  10. package/build/bb-blocks-new.js.map +1 -0
  11. package/build/bb-blocks-publish.d.ts +1 -0
  12. package/build/bb-blocks-publish.js +98 -0
  13. package/build/bb-blocks-publish.js.map +1 -0
  14. package/build/bb-blocks-release.d.ts +1 -0
  15. package/build/bb-blocks-release.js +18 -0
  16. package/build/bb-blocks-release.js.map +1 -0
  17. package/build/bb-blocks.d.ts +1 -0
  18. package/build/bb-blocks.js +17 -0
  19. package/build/bb-blocks.js.map +1 -0
  20. package/build/bb-bundle-init.d.ts +1 -0
  21. package/build/bb-bundle-init.js +33 -0
  22. package/build/bb-bundle-init.js.map +1 -0
  23. package/build/bb-bundle.d.ts +1 -0
  24. package/build/bb-bundle.js +17 -0
  25. package/build/bb-bundle.js.map +1 -0
  26. package/build/bb-components-build.d.ts +1 -0
  27. package/build/bb-components-build.js +416 -0
  28. package/build/bb-components-build.js.map +1 -0
  29. package/build/bb-components-create.d.ts +1 -0
  30. package/build/bb-components-create.js +41 -0
  31. package/build/bb-components-create.js.map +1 -0
  32. package/build/bb-components-generate.d.ts +1 -0
  33. package/build/bb-components-generate.js +168 -0
  34. package/build/bb-components-generate.js.map +1 -0
  35. package/build/bb-components-publish-bundle.d.ts +1 -0
  36. package/build/bb-components-publish-bundle.js +50 -0
  37. package/build/bb-components-publish-bundle.js.map +1 -0
  38. package/build/bb-components-publish.d.ts +1 -0
  39. package/build/bb-components-publish.js +57 -0
  40. package/build/bb-components-publish.js.map +1 -0
  41. package/build/bb-components-serve.d.ts +1 -0
  42. package/build/bb-components-serve.js +35 -0
  43. package/build/bb-components-serve.js.map +1 -0
  44. package/build/bb-components.d.ts +1 -0
  45. package/build/bb-components.js +29 -0
  46. package/build/bb-components.js.map +1 -0
  47. package/build/bb-functions-bump.d.ts +1 -0
  48. package/build/bb-functions-bump.js +37 -0
  49. package/build/bb-functions-bump.js.map +1 -0
  50. package/build/bb-functions-init.d.ts +1 -0
  51. package/build/bb-functions-init.js +31 -0
  52. package/build/bb-functions-init.js.map +1 -0
  53. package/build/bb-functions-login.d.ts +1 -0
  54. package/build/bb-functions-login.js +17 -0
  55. package/build/bb-functions-login.js.map +1 -0
  56. package/build/bb-functions-logout.d.ts +1 -0
  57. package/build/bb-functions-logout.js +10 -0
  58. package/build/bb-functions-logout.js.map +1 -0
  59. package/build/bb-functions-new.d.ts +1 -0
  60. package/build/bb-functions-new.js +25 -0
  61. package/build/bb-functions-new.js.map +1 -0
  62. package/build/bb-functions-publish.d.ts +1 -0
  63. package/build/bb-functions-publish.js +52 -0
  64. package/build/bb-functions-publish.js.map +1 -0
  65. package/build/bb-functions-validate.d.ts +1 -0
  66. package/build/bb-functions-validate.js +17 -0
  67. package/build/bb-functions-validate.js.map +1 -0
  68. package/build/bb-functions.d.ts +1 -0
  69. package/build/bb-functions.js +29 -0
  70. package/build/bb-functions.js.map +1 -0
  71. package/build/bb.d.ts +2 -0
  72. package/build/bb.js +27 -0
  73. package/build/bb.js.map +1 -0
  74. package/build/blocks/blockDefinitions.d.ts +10 -0
  75. package/build/blocks/blockDefinitions.js +62 -0
  76. package/build/blocks/blockDefinitions.js.map +1 -0
  77. package/build/blocks/publishBlocks.d.ts +2 -0
  78. package/build/blocks/publishBlocks.js +54 -0
  79. package/build/blocks/publishBlocks.js.map +1 -0
  80. package/build/blocks/releaseBlocks.d.ts +5 -0
  81. package/build/blocks/releaseBlocks.js +78 -0
  82. package/build/blocks/releaseBlocks.js.map +1 -0
  83. package/build/components/bb-components-functions.d.ts +10 -0
  84. package/build/components/bb-components-functions.js +40 -0
  85. package/build/components/bb-components-functions.js.map +1 -0
  86. package/build/components/comments.d.ts +3 -0
  87. package/build/components/comments.js +78 -0
  88. package/build/components/comments.js.map +1 -0
  89. package/build/components/compatibility.d.ts +7 -0
  90. package/build/components/compatibility.js +60 -0
  91. package/build/components/compatibility.js.map +1 -0
  92. package/build/components/transformers/index.d.ts +3 -0
  93. package/build/components/transformers/index.js +36 -0
  94. package/build/components/transformers/index.js.map +1 -0
  95. package/build/components-build/index.d.ts +2 -0
  96. package/build/components-build/index.js +3 -0
  97. package/build/components-build/index.js.map +1 -0
  98. package/build/components-build/reportDiagnostics.d.ts +2 -0
  99. package/build/components-build/reportDiagnostics.js +13 -0
  100. package/build/components-build/reportDiagnostics.js.map +1 -0
  101. package/build/components-build/styles.d.ts +4 -0
  102. package/build/components-build/styles.js +87 -0
  103. package/build/components-build/styles.js.map +1 -0
  104. package/build/functions/config.d.ts +67 -0
  105. package/build/functions/config.js +190 -0
  106. package/build/functions/config.js.map +1 -0
  107. package/build/functions/createWasmDefinitionFiles.d.ts +4 -0
  108. package/build/functions/createWasmDefinitionFiles.js +61 -0
  109. package/build/functions/createWasmDefinitionFiles.js.map +1 -0
  110. package/build/functions/functionDefinitions.d.ts +23 -0
  111. package/build/functions/functionDefinitions.js +229 -0
  112. package/build/functions/functionDefinitions.js.map +1 -0
  113. package/build/functions/functionVersionBump.d.ts +19 -0
  114. package/build/functions/functionVersionBump.js +62 -0
  115. package/build/functions/functionVersionBump.js.map +1 -0
  116. package/build/functions/publishAppFunctions.d.ts +13 -0
  117. package/build/functions/publishAppFunctions.js +90 -0
  118. package/build/functions/publishAppFunctions.js.map +1 -0
  119. package/build/functions/publishWasmBlockStoreFunctions.d.ts +1 -0
  120. package/build/functions/publishWasmBlockStoreFunctions.js +100 -0
  121. package/build/functions/publishWasmBlockStoreFunctions.js.map +1 -0
  122. package/build/functions/utils.d.ts +2 -0
  123. package/build/functions/utils.js +20 -0
  124. package/build/functions/utils.js.map +1 -0
  125. package/build/functions/validateFunctions.d.ts +3 -0
  126. package/build/functions/validateFunctions.js +23 -0
  127. package/build/functions/validateFunctions.js.map +1 -0
  128. package/build/functions/validations.d.ts +31 -0
  129. package/build/functions/validations.js +140 -0
  130. package/build/functions/validations.js.map +1 -0
  131. package/build/interactions/compatibility.d.ts +3 -0
  132. package/build/interactions/compatibility.js +84 -0
  133. package/build/interactions/compatibility.js.map +1 -0
  134. package/build/interactions/diagnostics.d.ts +2 -0
  135. package/build/interactions/diagnostics.js +23 -0
  136. package/build/interactions/diagnostics.js.map +1 -0
  137. package/build/types.d.ts +377 -0
  138. package/build/types.js +40 -0
  139. package/build/types.js.map +1 -0
  140. package/build/utils/arguments.d.ts +2 -0
  141. package/build/utils/arguments.js +6 -0
  142. package/build/utils/arguments.js.map +1 -0
  143. package/build/utils/checkPackageVersion.d.ts +1 -0
  144. package/build/utils/checkPackageVersion.js +10 -0
  145. package/build/utils/checkPackageVersion.js.map +1 -0
  146. package/build/utils/checkUpdateAvailable.d.ts +1 -0
  147. package/build/utils/checkUpdateAvailable.js +65 -0
  148. package/build/utils/checkUpdateAvailable.js.map +1 -0
  149. package/build/utils/fusionAuth.d.ts +21 -0
  150. package/build/utils/fusionAuth.js +108 -0
  151. package/build/utils/fusionAuth.js.map +1 -0
  152. package/build/utils/hash.d.ts +2 -0
  153. package/build/utils/hash.js +3 -0
  154. package/build/utils/hash.js.map +1 -0
  155. package/build/utils/login.d.ts +15 -0
  156. package/build/utils/login.js +116 -0
  157. package/build/utils/login.js.map +1 -0
  158. package/build/utils/pick.d.ts +7 -0
  159. package/build/utils/pick.js +16 -0
  160. package/build/utils/pick.js.map +1 -0
  161. package/build/utils/readFilesByType.d.ts +2 -0
  162. package/build/utils/readFilesByType.js +23 -0
  163. package/build/utils/readFilesByType.js.map +1 -0
  164. package/build/utils/rootDir.d.ts +2 -0
  165. package/build/utils/rootDir.js +4 -0
  166. package/build/utils/rootDir.js.map +1 -0
  167. package/build/utils/serveComponentSet.d.ts +3 -0
  168. package/build/utils/serveComponentSet.js +52 -0
  169. package/build/utils/serveComponentSet.js.map +1 -0
  170. package/build/utils/transpile.d.ts +2 -0
  171. package/build/utils/transpile.js +25 -0
  172. package/build/utils/transpile.js.map +1 -0
  173. package/build/utils/uploadBlob.d.ts +24 -0
  174. package/build/utils/uploadBlob.js +56 -0
  175. package/build/utils/uploadBlob.js.map +1 -0
  176. package/build/utils/validation.d.ts +4 -0
  177. package/build/utils/validation.js +74 -0
  178. package/build/utils/validation.js.map +1 -0
  179. package/build/validations/component.d.ts +3 -0
  180. package/build/validations/component.js +56 -0
  181. package/build/validations/component.js.map +1 -0
  182. package/build/validations/constants.d.ts +16 -0
  183. package/build/validations/constants.js +208 -0
  184. package/build/validations/constants.js.map +1 -0
  185. package/build/validations/function-block-validations/index.d.ts +22 -0
  186. package/build/validations/function-block-validations/index.js +72 -0
  187. package/build/validations/function-block-validations/index.js.map +1 -0
  188. package/build/validations/interaction.d.ts +3 -0
  189. package/build/validations/interaction.js +22 -0
  190. package/build/validations/interaction.js.map +1 -0
  191. package/build/validations/prefab/action.d.ts +2 -0
  192. package/build/validations/prefab/action.js +99 -0
  193. package/build/validations/prefab/action.js.map +1 -0
  194. package/build/validations/prefab/component.d.ts +10 -0
  195. package/build/validations/prefab/component.js +290 -0
  196. package/build/validations/prefab/component.js.map +1 -0
  197. package/build/validations/prefab/componentOption.d.ts +3 -0
  198. package/build/validations/prefab/componentOption.js +176 -0
  199. package/build/validations/prefab/componentOption.js.map +1 -0
  200. package/build/validations/prefab/interaction.d.ts +2 -0
  201. package/build/validations/prefab/interaction.js +38 -0
  202. package/build/validations/prefab/interaction.js.map +1 -0
  203. package/build/validations/prefab/linkedOption.d.ts +3 -0
  204. package/build/validations/prefab/linkedOption.js +39 -0
  205. package/build/validations/prefab/linkedOption.js.map +1 -0
  206. package/build/validations/prefab/linkedPartial.d.ts +3 -0
  207. package/build/validations/prefab/linkedPartial.js +30 -0
  208. package/build/validations/prefab/linkedPartial.js.map +1 -0
  209. package/build/validations/prefab/variable.d.ts +3 -0
  210. package/build/validations/prefab/variable.js +36 -0
  211. package/build/validations/prefab/variable.js.map +1 -0
  212. package/build/validations/prefab.d.ts +17 -0
  213. package/build/validations/prefab.js +66 -0
  214. package/build/validations/prefab.js.map +1 -0
  215. package/build/validations/styles.d.ts +6 -0
  216. package/build/validations/styles.js +103 -0
  217. package/build/validations/styles.js.map +1 -0
  218. package/package.json +41 -44
  219. package/assets/app-functions/templates/test/helpers.js +0 -3
  220. package/assets/app-functions/templates/test/say-hello.test.js +0 -4
  221. package/assets/functions/packer/package.json +0 -9
  222. package/assets/functions/packer/webpack.config.js +0 -12
  223. package/assets/functions/templates/functions.json +0 -14
  224. package/assets/functions/templates/package.json +0 -11
  225. package/assets/functions/templates/src/all-users.js +0 -14
  226. package/assets/functions/templates/src/get-json.js +0 -9
  227. package/assets/functions/templates/src/index.js +0 -5
  228. package/assets/functions/templates/src/say-hello.js +0 -13
  229. package/build/src/bb-blocks-new.js +0 -6789
  230. package/build/src/bb-blocks-publish.js +0 -32641
  231. package/build/src/bb-blocks-release.js +0 -15528
  232. package/build/src/bb-blocks.js +0 -2149
  233. package/build/src/bb-bundle-init.js +0 -6035
  234. package/build/src/bb-bundle.js +0 -2636
  235. package/build/src/bb-components-build.js +0 -240547
  236. package/build/src/bb-components-create.js +0 -6046
  237. package/build/src/bb-components-generate.js +0 -6174
  238. package/build/src/bb-components-publish-bundle.js +0 -43347
  239. package/build/src/bb-components-publish.js +0 -43354
  240. package/build/src/bb-components-serve.js +0 -15327
  241. package/build/src/bb-components.js +0 -2157
  242. package/build/src/bb-functions-build.js +0 -4284
  243. package/build/src/bb-functions-bump.js +0 -14582
  244. package/build/src/bb-functions-init.js +0 -4749
  245. package/build/src/bb-functions-login.js +0 -15440
  246. package/build/src/bb-functions-logout.js +0 -15434
  247. package/build/src/bb-functions-new.js +0 -9144
  248. package/build/src/bb-functions-publish.js +0 -86693
  249. package/build/src/bb-functions-validate.js +0 -22160
  250. package/build/src/bb-functions.js +0 -2159
  251. package/build/src/bb.js +0 -2741
  252. /package/assets/app-functions/{templates → js-template}/.app-functions +0 -0
  253. /package/assets/app-functions/{templates → js-template}/functions/say-hello/1.0/function.json +0 -0
  254. /package/assets/app-functions/{templates → js-template}/functions/say-hello/1.0/index.js +0 -0
  255. /package/assets/app-functions/{templates → js-template}/package.json +0 -0
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,18 @@
1
+ import { Command } from 'commander';
2
+ import releaseBlocks from './blocks/releaseBlocks';
3
+ const program = new Command();
4
+ program
5
+ .usage('[options] [blockIds...]')
6
+ .option('-a, --all', 'release all dev blocks that are attached to your account')
7
+ .name('bb blocks release')
8
+ .parse(process.argv);
9
+ const { all } = program.opts();
10
+ const blockIds = program.args;
11
+ if (!all && !blockIds.length) {
12
+ console.error('No block IDs provided');
13
+ process.exit(1);
14
+ }
15
+ void (async () => {
16
+ await releaseBlocks({ all, blockIds });
17
+ })();
18
+ //# sourceMappingURL=bb-blocks-release.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bb-blocks-release.js","sourceRoot":"","sources":["../src/bb-blocks-release.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,aAAa,MAAM,wBAAwB,CAAC;AAEnD,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,KAAK,CAAC,yBAAyB,CAAC;KAChC,MAAM,CACL,WAAW,EACX,0DAA0D,CAC3D;KACA,IAAI,CAAC,mBAAmB,CAAC;KACzB,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AAEvB,MAAM,EAAE,GAAG,EAAE,GAAsB,OAAO,CAAC,IAAI,EAAE,CAAC;AAClD,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;AAE9B,IAAI,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;IAC7B,OAAO,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;IACvC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAED,KAAK,CAAC,KAAK,IAAmB,EAAE;IAC9B,MAAM,aAAa,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,CAAC;AACzC,CAAC,CAAC,EAAE,CAAC"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,17 @@
1
+ import { Command } from 'commander';
2
+ const availableCommands = ['publish', 'release', 'new'];
3
+ const program = new Command();
4
+ program
5
+ .usage(`<${availableCommands.join('|')}>`)
6
+ .name('bb blocks')
7
+ .command('new [blocks-name]', 'Initialize a new block')
8
+ .command('publish', 'publish blocks of current working directory')
9
+ .command('release', 'release dev blocks')
10
+ .on('command:*', ([command]) => {
11
+ if (!availableCommands.includes(command)) {
12
+ console.error('Invalid command: %s\n', command);
13
+ program.outputHelp();
14
+ }
15
+ })
16
+ .parse(process.argv);
17
+ //# sourceMappingURL=bb-blocks.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bb-blocks.js","sourceRoot":"","sources":["../src/bb-blocks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIpC,MAAM,iBAAiB,GAAoB,CAAC,SAAS,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;AAEzE,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,KAAK,CAAC,IAAI,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;KACzC,IAAI,CAAC,WAAW,CAAC;KACjB,OAAO,CAAC,mBAAmB,EAAE,wBAAwB,CAAC;KACtD,OAAO,CAAC,SAAS,EAAE,6CAA6C,CAAC;KACjE,OAAO,CAAC,SAAS,EAAE,oBAAoB,CAAC;KACxC,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC,OAAO,CAAW,EAAQ,EAAE;IAC7C,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,OAAwB,CAAC,EAAE,CAAC;QAC1D,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"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,33 @@
1
+ /* npm dependencies */
2
+ import chalk from 'chalk';
3
+ import { Command } from 'commander';
4
+ import { copy, existsSync, moveSync } from 'fs-extra';
5
+ import path from 'path';
6
+ import { checkUpdateAvailableCLI } from './utils/checkUpdateAvailable';
7
+ const program = new Command();
8
+ program
9
+ .argument('<path>', 'path where to initialize the bundle')
10
+ .name('bb bundle init')
11
+ .parse(process.argv);
12
+ const { args } = program;
13
+ if (args.length === 0) {
14
+ program.help();
15
+ }
16
+ const dest = args[0];
17
+ if (existsSync(dest)) {
18
+ throw Error(chalk.red(`\nCould not initialize bundle: directory (${dest}) already exists.\n`));
19
+ }
20
+ void (async () => {
21
+ await checkUpdateAvailableCLI();
22
+ try {
23
+ await copy(path.join(__dirname, '../assets/bundle'), dest);
24
+ moveSync(`${dest}/__package.json`, `${dest}/package.json`);
25
+ console.log(chalk.green(`Bundle succesfully initialized in directory '${dest}'.`));
26
+ }
27
+ catch (error) {
28
+ if (error instanceof Error) {
29
+ throw Error(chalk.red(`\nCould not initialize bundle in directory ${dest}: ${error.message}.\n`));
30
+ }
31
+ }
32
+ })();
33
+ //# sourceMappingURL=bb-bundle-init.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bb-bundle-init.js","sourceRoot":"","sources":["../src/bb-bundle-init.ts"],"names":[],"mappings":"AAAA,sBAAsB;AACtB,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AACtD,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAEvE,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,QAAQ,CAAC,QAAQ,EAAE,qCAAqC,CAAC;KACzD,IAAI,CAAC,gBAAgB,CAAC;KACtB,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AAEvB,MAAM,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC;AAEzB,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;IACtB,OAAO,CAAC,IAAI,EAAE,CAAC;AACjB,CAAC;AAED,MAAM,IAAI,GAAW,IAAI,CAAC,CAAC,CAAC,CAAC;AAE7B,IAAI,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;IACrB,MAAM,KAAK,CACT,KAAK,CAAC,GAAG,CACP,6CAA6C,IAAI,qBAAqB,CACvE,CACF,CAAC;AACJ,CAAC;AAED,KAAK,CAAC,KAAK,IAAmB,EAAE;IAC9B,MAAM,uBAAuB,EAAE,CAAC;IAChC,IAAI,CAAC;QACH,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,kBAAkB,CAAC,EAAE,IAAI,CAAC,CAAC;QAC3D,QAAQ,CAAC,GAAG,IAAI,iBAAiB,EAAE,GAAG,IAAI,eAAe,CAAC,CAAC;QAC3D,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,KAAK,CAAC,gDAAgD,IAAI,IAAI,CAAC,CACtE,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;YAC3B,MAAM,KAAK,CACT,KAAK,CAAC,GAAG,CACP,8CAA8C,IAAI,KAAK,KAAK,CAAC,OAAO,KAAK,CAC1E,CACF,CAAC;QACJ,CAAC;IACH,CAAC;AACH,CAAC,CAAC,EAAE,CAAC"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,17 @@
1
+ /* npm dependencies */
2
+ import chalk from 'chalk';
3
+ import { Command } from 'commander';
4
+ const availableCommands = ['init'];
5
+ const program = new Command();
6
+ program
7
+ .usage(`<${availableCommands.join('|')}>`)
8
+ .name('bb bundle')
9
+ .command('init <path>', 'create a new vendor bundle')
10
+ .on('command:*', ([command]) => {
11
+ if (!availableCommands.includes(command)) {
12
+ console.error(chalk.red('\nInvalid command: %s\n'), command);
13
+ program.outputHelp();
14
+ }
15
+ })
16
+ .parse(process.argv);
17
+ //# sourceMappingURL=bb-bundle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bb-bundle.js","sourceRoot":"","sources":["../src/bb-bundle.ts"],"names":[],"mappings":"AAAA,sBAAsB;AAEtB,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIpC,MAAM,iBAAiB,GAAoB,CAAC,MAAM,CAAC,CAAC;AAEpD,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,KAAK,CAAC,IAAI,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;KACzC,IAAI,CAAC,WAAW,CAAC;KACjB,OAAO,CAAC,aAAa,EAAE,4BAA4B,CAAC;KACpD,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC,OAAO,CAAW,EAAQ,EAAE;IAC7C,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,OAAwB,CAAC,EAAE,CAAC;QAC1D,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,yBAAyB,CAAC,EAAE,OAAO,CAAC,CAAC;QAC7D,OAAO,CAAC,UAAU,EAAE,CAAC;IACvB,CAAC;AACH,CAAC,CAAC;KACD,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,416 @@
1
+ import chalk from 'chalk';
2
+ import { Command } from 'commander';
3
+ import fs from 'fs';
4
+ import { ensureDir, outputJson, pathExists, readFile, readFileSync, remove, } from 'fs-extra';
5
+ import ora from 'ora';
6
+ import path from 'path';
7
+ import ts, { JsxEmit, ModuleKind, ScriptTarget } from 'typescript';
8
+ import extractComponentCompatibility from './components/compatibility';
9
+ import { doTranspile } from './components/transformers';
10
+ import { buildReferenceStyle, buildStyle, readStyles, reportDiagnostics, } from './components-build';
11
+ import extractInteractionCompatibility from './interactions/compatibility';
12
+ import getDiagnostics from './interactions/diagnostics';
13
+ import { parseDir } from './utils/arguments';
14
+ import { checkPackageVersion } from './utils/checkPackageVersion';
15
+ import { checkUpdateAvailableCLI } from './utils/checkUpdateAvailable';
16
+ import hash from './utils/hash';
17
+ import readFilesByType from './utils/readFilesByType';
18
+ import transpile from './utils/transpile';
19
+ import { checkNameReferences, checkOptionCategoryReferences, } from './utils/validation';
20
+ import validateComponents from './validations/component';
21
+ import validateInteractions from './validations/interaction';
22
+ import validatePrefabs from './validations/prefab';
23
+ import validateStyles from './validations/styles';
24
+ const program = new Command();
25
+ program
26
+ .usage('[path]')
27
+ .name('bb components build')
28
+ .option('-t, --transpile', 'enable new transpilation')
29
+ .option('--offline', 'skip update check')
30
+ .option('--fast', 'Build the last edited component.')
31
+ .parse(process.argv);
32
+ const { args } = program;
33
+ const options = program.opts();
34
+ const rootDir = parseDir(args);
35
+ const distDir = `${rootDir}/dist`;
36
+ const enableNewTranspile = !!options.transpile;
37
+ const arg = process.argv.slice(2);
38
+ const startTime = Date.now();
39
+ const buildAll = !arg.includes('--fast');
40
+ const hasOfflineFlag = arg.includes('--offline');
41
+ /* execute command */
42
+ const readComponents = async () => {
43
+ const srcDir = `${rootDir}/src/components`;
44
+ const exists = await pathExists(srcDir);
45
+ if (!exists) {
46
+ throw new Error(chalk.red('\nComponents folder not found\n'));
47
+ }
48
+ const componentFiles = await readFilesByType(srcDir, 'js', buildAll);
49
+ const components = componentFiles.map(async (file) => {
50
+ try {
51
+ const code = await readFile(`${srcDir}/${file}`, 'utf-8');
52
+ const compatibility = extractComponentCompatibility(code);
53
+ const transpiledFunction = Function(`return ${transpile(code, ['jsx', 'styles'])}`)();
54
+ if (!transpiledFunction) {
55
+ throw new Error("Component doesn't return anything");
56
+ }
57
+ if (enableNewTranspile) {
58
+ transpiledFunction.transpiledJsx = doTranspile(transpiledFunction.jsx);
59
+ transpiledFunction.transpiledStyles = doTranspile(transpiledFunction.styles);
60
+ }
61
+ if (transpiledFunction.dependencies && !hasOfflineFlag) {
62
+ const usedPackages = transpiledFunction.dependencies.map((usedDependency) => usedDependency.package);
63
+ const dependencyPromises = usedPackages.map(async (usedPackage) => {
64
+ await checkPackageVersion(usedPackage.replace(/^npm:/g, ''));
65
+ });
66
+ await Promise.all(dependencyPromises);
67
+ }
68
+ return {
69
+ ...compatibility,
70
+ ...transpiledFunction,
71
+ };
72
+ }
73
+ catch (error) {
74
+ throw new Error(`in ${file}: ${error}`);
75
+ }
76
+ });
77
+ return Promise.all(components);
78
+ };
79
+ const readtsPrefabs = async (isPartial = false) => {
80
+ const absoluteRootDir = path.resolve(process.cwd(), rootDir);
81
+ const srcDir = `${absoluteRootDir}/src/prefabs`;
82
+ const outDir = `${absoluteRootDir}/tmp/${Math.floor(Date.now() / 1000)}`;
83
+ const exists = await pathExists(srcDir);
84
+ if (!exists) {
85
+ throw new Error(chalk.red('\nPrefabs folder not found\n'));
86
+ }
87
+ let prefabTsFiles = [];
88
+ let prefabTsxFiles = [];
89
+ let partialTsxFiles = [];
90
+ if (isPartial) {
91
+ partialTsxFiles = await readFilesByType(`${srcDir}/partials`, 'tsx', buildAll);
92
+ }
93
+ else {
94
+ prefabTsFiles = await readFilesByType(srcDir, 'ts', buildAll);
95
+ prefabTsxFiles = await readFilesByType(srcDir, 'tsx', buildAll);
96
+ }
97
+ const prefabFiles = [...prefabTsFiles, ...prefabTsxFiles];
98
+ const files = isPartial ? partialTsxFiles : prefabFiles;
99
+ const basePath = isPartial ? `${srcDir}/partials/` : `${srcDir}/`;
100
+ const prefabProgram = ts.createProgram(files.map((file) => `${basePath}/${file}`), {
101
+ allowSyntheticDefaultImports: false,
102
+ esModuleInterop: true,
103
+ jsx: JsxEmit.React,
104
+ listEmittedFiles: true,
105
+ module: ModuleKind.CommonJS,
106
+ outDir,
107
+ target: ScriptTarget.ESNext,
108
+ });
109
+ const diagnostics = [...ts.getPreEmitDiagnostics(prefabProgram)];
110
+ if (diagnostics.length > 0) {
111
+ reportDiagnostics(diagnostics);
112
+ process.exit(1);
113
+ }
114
+ const results = prefabProgram.emit();
115
+ if (results.diagnostics.length > 0) {
116
+ reportDiagnostics([...results.diagnostics]);
117
+ process.exit(1);
118
+ }
119
+ const globalDiagnostics = [...prefabProgram.getGlobalDiagnostics()];
120
+ if (globalDiagnostics.length > 0) {
121
+ reportDiagnostics(globalDiagnostics);
122
+ process.exit(1);
123
+ }
124
+ const declarationDiagnostics = [...prefabProgram.getDeclarationDiagnostics()];
125
+ if (declarationDiagnostics.length > 0) {
126
+ reportDiagnostics(declarationDiagnostics);
127
+ process.exit(1);
128
+ }
129
+ const configDiagnostics = [
130
+ ...prefabProgram.getConfigFileParsingDiagnostics(),
131
+ ];
132
+ if (configDiagnostics.length > 0) {
133
+ reportDiagnostics(configDiagnostics);
134
+ process.exit(1);
135
+ }
136
+ const prefabs = (results.emittedFiles ?? [])
137
+ .filter((filename) => isPartial
138
+ ? /prefabs\/partials\/\w+\.js$/.test(filename)
139
+ : /prefabs\/\w+\.js$/.test(filename))
140
+ .map((filename) => new Promise((resolve) => {
141
+ import(filename)
142
+ .then((prefab) => {
143
+ // JSON schema validation
144
+ resolve(prefab.default);
145
+ })
146
+ .catch((error) => {
147
+ throw new Error(`in ${filename}: ${error}`);
148
+ });
149
+ }));
150
+ return Promise.all(prefabs);
151
+ };
152
+ const readPrefabs = async () => {
153
+ const srcDir = `${rootDir}/src/prefabs`;
154
+ const exists = await pathExists(srcDir);
155
+ if (!exists) {
156
+ throw new Error(chalk.red('\nPrefabs folder not found\n'));
157
+ }
158
+ const prefabFiles = await readFilesByType(srcDir, 'js', buildAll);
159
+ const prefabs = prefabFiles.map(async (file) => {
160
+ try {
161
+ const code = await readFile(`${srcDir}/${file}`, 'utf-8');
162
+ const transpiledFunction = Function(`return ${transpile(code, ['beforeCreate'])}`)();
163
+ if (!transpiledFunction) {
164
+ throw new Error("Prefab doesn't return anything");
165
+ }
166
+ return transpiledFunction;
167
+ }
168
+ catch (error) {
169
+ throw new Error(`in ${file}: ${error}`);
170
+ }
171
+ });
172
+ return Promise.all(prefabs);
173
+ };
174
+ const readPartialPrefabs = async () => {
175
+ const srcDir = `${rootDir}/src/prefabs/partials`;
176
+ const exists = await pathExists(srcDir);
177
+ if (!exists) {
178
+ await ensureDir(srcDir);
179
+ }
180
+ const partialPrefabFiles = await readFilesByType(srcDir, 'js', buildAll);
181
+ const partialPrefabs = partialPrefabFiles.map(async (file) => {
182
+ try {
183
+ const code = await readFile(`${srcDir}/${file}`, 'utf-8');
184
+ const transpiledFunction = Function(`return ${transpile(code, ['beforeCreate'])}`)();
185
+ if (!transpiledFunction) {
186
+ throw new Error("Prefab doesn't return anything");
187
+ }
188
+ return transpiledFunction;
189
+ }
190
+ catch (error) {
191
+ throw new Error(`in ${file}: ${error}`);
192
+ }
193
+ });
194
+ return Promise.all(partialPrefabs);
195
+ };
196
+ const readInteractions = async () => {
197
+ const srcDir = `${rootDir}/src/interactions`;
198
+ const exists = await pathExists(srcDir);
199
+ if (!exists) {
200
+ return new Promise((resolve) => {
201
+ resolve([]);
202
+ });
203
+ }
204
+ const interactionFiles = await readFilesByType(srcDir, 'ts', buildAll);
205
+ return Promise.all(interactionFiles.map(async (file) => {
206
+ try {
207
+ getDiagnostics(`${srcDir}/${file}`);
208
+ return {
209
+ ...extractInteractionCompatibility(`${srcDir}/${file}`),
210
+ };
211
+ }
212
+ catch (error) {
213
+ throw new Error(`in ${file}: ${error}`);
214
+ }
215
+ }));
216
+ };
217
+ void (async () => {
218
+ if (!hasOfflineFlag) {
219
+ await checkUpdateAvailableCLI();
220
+ }
221
+ const buildStart = ora(`Building component set...`).start();
222
+ try {
223
+ const [styles, tsxPrefabs, jsPrefabs, components, interactions, tsxPartialPrefabs, partialprefabs,] = await Promise.all([
224
+ readStyles(rootDir),
225
+ readtsPrefabs(),
226
+ readPrefabs(),
227
+ readComponents(),
228
+ readInteractions(),
229
+ readPartialPrefabs(),
230
+ readtsPrefabs(true),
231
+ ]);
232
+ const templatesPath = path.join(distDir, 'templates.json');
233
+ let existingComponents = [];
234
+ if (fs.existsSync(templatesPath)) {
235
+ const templatesData = fs.readFileSync(templatesPath, 'utf8');
236
+ existingComponents = JSON.parse(templatesData);
237
+ }
238
+ else {
239
+ console.warn('templates.json file not found: building template.json');
240
+ }
241
+ const validStyleTypes = styles.map(({ type }) => type);
242
+ const prefabs = jsPrefabs
243
+ .concat(tsxPrefabs)
244
+ .filter((prefab) => !!prefab)
245
+ .filter((prefab) => prefab.name);
246
+ const allPartialPrefabs = partialprefabs
247
+ .concat(tsxPartialPrefabs)
248
+ .filter((prefab) => !!prefab);
249
+ const stylesGroupedByTypeAndName = styles.reduce((object, e) => {
250
+ const { name, type } = e;
251
+ const byType = object[type] || {};
252
+ return {
253
+ ...object,
254
+ [type]: {
255
+ ...byType,
256
+ [name]: e,
257
+ },
258
+ };
259
+ }, {});
260
+ let finalComponents;
261
+ if (fs.existsSync(templatesPath)) {
262
+ const templatesData = fs.readFileSync(templatesPath, 'utf8');
263
+ finalComponents = JSON.parse(templatesData);
264
+ }
265
+ else {
266
+ // Here we have to build templates
267
+ finalComponents = components;
268
+ }
269
+ const componentNames = finalComponents.map(({ name }) => name);
270
+ checkNameReferences(prefabs, finalComponents);
271
+ const { availableNames: availableComponentNames, styleMap: componentStyleMap, } = components.reduce(({ availableNames, styleMap }, component) => {
272
+ const newNames = availableNames.includes(component.name)
273
+ ? availableNames
274
+ : [...availableNames, component.name];
275
+ const newStyleMap = component.styleType
276
+ ? Object.assign(styleMap, {
277
+ [component.name]: { styleType: component.styleType },
278
+ })
279
+ : styleMap;
280
+ return { availableNames: newNames, styleMap: newStyleMap };
281
+ }, { availableNames: [], styleMap: {} });
282
+ await Promise.all([
283
+ validateStyles(styles, componentNames),
284
+ validateComponents(components, validStyleTypes),
285
+ validatePrefabs({
286
+ availableComponentNames,
287
+ componentStyleMap,
288
+ prefabs,
289
+ styles: stylesGroupedByTypeAndName,
290
+ }),
291
+ validatePrefabs({
292
+ availableComponentNames,
293
+ componentStyleMap,
294
+ prefabType: 'partial',
295
+ prefabs: allPartialPrefabs,
296
+ styles: stylesGroupedByTypeAndName,
297
+ }),
298
+ interactions && validateInteractions(interactions),
299
+ ]);
300
+ checkOptionCategoryReferences(prefabs);
301
+ const componentsWithHash = components.map((component) => ({
302
+ ...component,
303
+ componentHash: hash(component),
304
+ }));
305
+ const buildPrefab = (prefab) => {
306
+ const buildStructure = (structure) => {
307
+ if (structure.type === 'PARTIAL') {
308
+ return structure;
309
+ }
310
+ if (structure.type === 'WRAPPER') {
311
+ const { descendants = [], ...rest } = structure;
312
+ const wrapperStructure = {
313
+ ...rest,
314
+ descendants: descendants.map(buildStructure),
315
+ };
316
+ return wrapperStructure;
317
+ }
318
+ const { style, descendants, ...rest } = structure;
319
+ const styleReference = buildReferenceStyle(style);
320
+ const newStructure = {
321
+ ...rest,
322
+ ...(styleReference ? { style: styleReference } : {}),
323
+ descendants: descendants.map(buildStructure),
324
+ hash: hash(structure.options),
325
+ };
326
+ return newStructure;
327
+ };
328
+ return {
329
+ ...prefab,
330
+ structure: prefab.structure.map(buildStructure),
331
+ };
332
+ };
333
+ const buildStyles = styles.map(buildStyle);
334
+ const buildPrefabs = prefabs.map(buildPrefab);
335
+ const buildPartialprefabs = allPartialPrefabs.map(buildPrefab);
336
+ await ensureDir(distDir);
337
+ const defaultPrefabs = buildPrefabs.filter((prefab) => prefab.type !== 'page');
338
+ const pagePrefabs = prefabs.filter((prefab) => prefab.type === 'page');
339
+ const existingPath = await pathExists(`${distDir}/pagePrefabs.json`);
340
+ const existingPartialPath = await pathExists(`${distDir}/partials.json`);
341
+ if (buildAll) {
342
+ const outputPromises = [
343
+ outputJson(`${distDir}/prefabs.json`, defaultPrefabs),
344
+ outputJson(`${distDir}/templates.json`, componentsWithHash),
345
+ interactions &&
346
+ outputJson(`${distDir}/interactions.json`, interactions),
347
+ ];
348
+ if (buildStyles.length > 0) {
349
+ outputPromises.push(outputJson(`${distDir}/styles.json`, buildStyles));
350
+ }
351
+ if (pagePrefabs.length > 0) {
352
+ outputPromises.push(outputJson(`${distDir}/pagePrefabs.json`, pagePrefabs));
353
+ }
354
+ if (buildPartialprefabs.length > 0) {
355
+ outputPromises.push(outputJson(`${distDir}/partials.json`, buildPartialprefabs));
356
+ }
357
+ await Promise.all(outputPromises);
358
+ }
359
+ else {
360
+ const existingPrefabs = JSON.parse(readFileSync(`${distDir}/prefabs.json`, 'utf8'));
361
+ const replaceInSet = (existingElements, newElements) => existingElements.map((existingElement) => {
362
+ if (newElements.length > 0 &&
363
+ existingElement.name === newElements[0].name) {
364
+ return newElements[0];
365
+ }
366
+ return existingElement;
367
+ });
368
+ const updatedPrefabs = replaceInSet(existingPrefabs, prefabs);
369
+ const updatedComponents = replaceInSet(existingComponents, componentsWithHash);
370
+ const existingInteractions = JSON.parse(readFileSync(`${distDir}/interactions.json`, 'utf8'));
371
+ const updatedInteractions = replaceInSet(existingInteractions, interactions);
372
+ const newOutputPromises = [
373
+ outputJson(`${distDir}/prefabs.json`, updatedPrefabs),
374
+ outputJson(`${distDir}/templates.json`, updatedComponents),
375
+ interactions &&
376
+ outputJson(`${distDir}/interactions.json`, updatedInteractions),
377
+ ];
378
+ const existingPagePrefabs = JSON.parse(readFileSync(`${distDir}/pagePrefabs.json`, 'utf8'));
379
+ const updatedPagePrefabs = replaceInSet(existingPagePrefabs, pagePrefabs);
380
+ if (existingPath && pagePrefabs.length > 0) {
381
+ newOutputPromises.push(outputJson(`${distDir}/pagePrefabs.json`, updatedPagePrefabs));
382
+ }
383
+ const existingPartials = JSON.parse(readFileSync(`${distDir}/partials.json`, 'utf8'));
384
+ const updatedPartials = replaceInSet(existingPartials, buildPartialprefabs);
385
+ if (existingPartialPath && buildPartialprefabs.length > 0) {
386
+ newOutputPromises.push(outputJson(`${distDir}/partials.json`, updatedPartials));
387
+ }
388
+ await Promise.all(newOutputPromises);
389
+ }
390
+ if (buildPartialprefabs.length === 0 && existingPartialPath && buildAll) {
391
+ await remove(`${distDir}/partials.json`);
392
+ }
393
+ if (pagePrefabs.length === 0 && existingPath && buildAll) {
394
+ await remove(`${distDir}/pagePrefabs.json`);
395
+ }
396
+ buildStart.succeed();
397
+ console.info(chalk.green('Success, the component set has been built'));
398
+ }
399
+ catch (error) {
400
+ // Handle both Error objects and custom error objects
401
+ if (error &&
402
+ typeof error === 'object' &&
403
+ 'name' in error &&
404
+ 'file' in error &&
405
+ 'message' in error) {
406
+ const { name, file, message } = error;
407
+ throw new Error(`${name} in ${file}: ${message}`);
408
+ }
409
+ if (error instanceof Error) {
410
+ throw new Error(`Error: ${error.message}`);
411
+ }
412
+ throw new Error(`An unknown error occurred: ${error}`);
413
+ }
414
+ console.info(`Total time: ${(Date.now() - startTime) / 1000} seconds`);
415
+ })();
416
+ //# sourceMappingURL=bb-components-build.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bb-components-build.js","sourceRoot":"","sources":["../src/bb-components-build.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,41 @@
1
+ import chalk from 'chalk';
2
+ import { Command } from 'commander';
3
+ import { copy, existsSync, move } from 'fs-extra';
4
+ import path from 'path';
5
+ import { checkUpdateAvailableCLI } from './utils/checkUpdateAvailable';
6
+ const program = new Command();
7
+ const LIST = [
8
+ 'nodemon.json',
9
+ 'package.json',
10
+ '.eslintignore',
11
+ '.eslintrc.json',
12
+ '.gitignore',
13
+ '.prettierignore',
14
+ '.prettierrc.json',
15
+ ];
16
+ program
17
+ .argument('<path>', 'path where to create the component set')
18
+ .name('bb components create')
19
+ .parse(process.argv);
20
+ const { args } = program;
21
+ if (args.length === 0) {
22
+ program.help();
23
+ }
24
+ const dest = args[0];
25
+ if (existsSync(dest)) {
26
+ throw Error(chalk.red(`\nCould not create component set: directory (${dest}) already exists.\n`));
27
+ }
28
+ void (async () => {
29
+ await checkUpdateAvailableCLI();
30
+ try {
31
+ await copy(path.join(__dirname, '../assets/component-set'), dest);
32
+ await Promise.all(LIST.map((fileName) => move(`${dest}/__${fileName}`, `${dest}/${fileName}`)));
33
+ console.log(chalk.green(`\nComponent set succesfully created in directory '${dest}'.\n`));
34
+ }
35
+ catch (error) {
36
+ if (error instanceof Error) {
37
+ throw Error(chalk.red(`\nCould not create component set in directory ${dest}: ${error.message}.\n`));
38
+ }
39
+ }
40
+ })();
41
+ //# sourceMappingURL=bb-components-create.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bb-components-create.js","sourceRoot":"","sources":["../src/bb-components-create.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAClD,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAEvE,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;AAE9B,MAAM,IAAI,GAAG;IACX,cAAc;IACd,cAAc;IACd,eAAe;IACf,gBAAgB;IAChB,YAAY;IACZ,iBAAiB;IACjB,kBAAkB;CACnB,CAAC;AAEF,OAAO;KACJ,QAAQ,CAAC,QAAQ,EAAE,wCAAwC,CAAC;KAC5D,IAAI,CAAC,sBAAsB,CAAC;KAC5B,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AAEvB,MAAM,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC;AAEzB,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;IACtB,OAAO,CAAC,IAAI,EAAE,CAAC;AACjB,CAAC;AAED,MAAM,IAAI,GAAW,IAAI,CAAC,CAAC,CAAC,CAAC;AAE7B,IAAI,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;IACrB,MAAM,KAAK,CACT,KAAK,CAAC,GAAG,CACP,gDAAgD,IAAI,qBAAqB,CAC1E,CACF,CAAC;AACJ,CAAC;AAED,KAAK,CAAC,KAAK,IAAmB,EAAE;IAC9B,MAAM,uBAAuB,EAAE,CAAC;IAChC,IAAI,CAAC;QACH,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,yBAAyB,CAAC,EAAE,IAAI,CAAC,CAAC;QAElE,MAAM,OAAO,CAAC,GAAG,CACf,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CACpB,IAAI,CAAC,GAAG,IAAI,MAAM,QAAQ,EAAE,EAAE,GAAG,IAAI,IAAI,QAAQ,EAAE,CAAC,CACrD,CACF,CAAC;QAEF,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,KAAK,CACT,qDAAqD,IAAI,MAAM,CAChE,CACF,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;YAC3B,MAAM,KAAK,CACT,KAAK,CAAC,GAAG,CACP,iDAAiD,IAAI,KAAK,KAAK,CAAC,OAAO,KAAK,CAC7E,CACF,CAAC;QACJ,CAAC;IACH,CAAC;AACH,CAAC,CAAC,EAAE,CAAC"}
@@ -0,0 +1 @@
1
+ export {};