@shell-shock/core 0.17.7 → 0.17.8

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 (145) hide show
  1. package/dist/_virtual/_rolldown/runtime.cjs +1 -29
  2. package/dist/api.cjs +1 -95
  3. package/dist/api.d.cts +52 -4
  4. package/dist/api.d.cts.map +1 -1
  5. package/dist/api.d.mts +52 -4
  6. package/dist/api.d.mts.map +1 -1
  7. package/dist/api.mjs +1 -92
  8. package/dist/api.mjs.map +1 -1
  9. package/dist/components/command-validation-logic.cjs +1 -292
  10. package/dist/components/command-validation-logic.mjs +1 -289
  11. package/dist/components/command-validation-logic.mjs.map +1 -1
  12. package/dist/components/docs.cjs +1 -265
  13. package/dist/components/docs.d.cts.map +1 -1
  14. package/dist/components/docs.d.mts.map +1 -1
  15. package/dist/components/docs.mjs +1 -256
  16. package/dist/components/docs.mjs.map +1 -1
  17. package/dist/components/exec-builtin.cjs +13 -429
  18. package/dist/components/exec-builtin.mjs +13 -425
  19. package/dist/components/exec-builtin.mjs.map +1 -1
  20. package/dist/components/helpers.cjs +1 -120
  21. package/dist/components/helpers.mjs +1 -112
  22. package/dist/components/helpers.mjs.map +1 -1
  23. package/dist/components/index.cjs +1 -58
  24. package/dist/components/index.mjs +1 -10
  25. package/dist/components/options-parser-logic.cjs +5 -960
  26. package/dist/components/options-parser-logic.d.cts +1 -1
  27. package/dist/components/options-parser-logic.mjs +5 -945
  28. package/dist/components/options-parser-logic.mjs.map +1 -1
  29. package/dist/components/state-builtin.cjs +8 -629
  30. package/dist/components/state-builtin.d.cts.map +1 -1
  31. package/dist/components/state-builtin.d.mts.map +1 -1
  32. package/dist/components/state-builtin.mjs +8 -622
  33. package/dist/components/state-builtin.mjs.map +1 -1
  34. package/dist/components/usage.cjs +1 -117
  35. package/dist/components/usage.mjs +1 -114
  36. package/dist/components/usage.mjs.map +1 -1
  37. package/dist/components/utils-builtin.cjs +33 -838
  38. package/dist/components/utils-builtin.d.cts.map +1 -1
  39. package/dist/components/utils-builtin.d.mts.map +1 -1
  40. package/dist/components/utils-builtin.mjs +33 -828
  41. package/dist/components/utils-builtin.mjs.map +1 -1
  42. package/dist/config.cjs +1 -31
  43. package/dist/config.mjs +1 -29
  44. package/dist/config.mjs.map +1 -1
  45. package/dist/contexts/command.cjs +1 -26
  46. package/dist/contexts/command.mjs +1 -23
  47. package/dist/contexts/command.mjs.map +1 -1
  48. package/dist/contexts/index.cjs +1 -9
  49. package/dist/contexts/index.mjs +1 -4
  50. package/dist/contexts/options.cjs +1 -63
  51. package/dist/contexts/options.mjs +1 -58
  52. package/dist/contexts/options.mjs.map +1 -1
  53. package/dist/helpers/automd.cjs +1 -71
  54. package/dist/helpers/automd.mjs +1 -70
  55. package/dist/helpers/automd.mjs.map +1 -1
  56. package/dist/helpers/docs-helpers.cjs +1 -23
  57. package/dist/helpers/docs-helpers.mjs +1 -22
  58. package/dist/helpers/docs-helpers.mjs.map +1 -1
  59. package/dist/helpers/paths.cjs +1 -137
  60. package/dist/helpers/paths.mjs +1 -133
  61. package/dist/helpers/paths.mjs.map +1 -1
  62. package/dist/helpers/persistence.cjs +1 -113
  63. package/dist/helpers/persistence.mjs +1 -110
  64. package/dist/helpers/persistence.mjs.map +1 -1
  65. package/dist/helpers/update-package-json.cjs +1 -59
  66. package/dist/helpers/update-package-json.mjs +1 -57
  67. package/dist/helpers/update-package-json.mjs.map +1 -1
  68. package/dist/helpers/utilities.cjs +1 -95
  69. package/dist/helpers/utilities.mjs +1 -93
  70. package/dist/helpers/utilities.mjs.map +1 -1
  71. package/dist/helpers/validations.cjs +1 -71
  72. package/dist/helpers/validations.mjs +1 -71
  73. package/dist/helpers/validations.mjs.map +1 -1
  74. package/dist/index.cjs +1 -52
  75. package/dist/index.d.cts +1 -1
  76. package/dist/index.d.mts +1 -1
  77. package/dist/index.mjs +1 -7
  78. package/dist/plugin-utils/compute-bin.cjs +1 -50
  79. package/dist/plugin-utils/compute-bin.mjs +1 -49
  80. package/dist/plugin-utils/compute-bin.mjs.map +1 -1
  81. package/dist/plugin-utils/context-helpers.cjs +1 -231
  82. package/dist/plugin-utils/context-helpers.mjs +1 -221
  83. package/dist/plugin-utils/context-helpers.mjs.map +1 -1
  84. package/dist/plugin-utils/deepkit.cjs +1 -71
  85. package/dist/plugin-utils/deepkit.mjs +1 -69
  86. package/dist/plugin-utils/deepkit.mjs.map +1 -1
  87. package/dist/plugin-utils/description-helpers.cjs +2 -111
  88. package/dist/plugin-utils/description-helpers.mjs +2 -107
  89. package/dist/plugin-utils/description-helpers.mjs.map +1 -1
  90. package/dist/plugin-utils/get-command-tree.cjs +1 -117
  91. package/dist/plugin-utils/get-command-tree.mjs +1 -114
  92. package/dist/plugin-utils/get-command-tree.mjs.map +1 -1
  93. package/dist/plugin-utils/index.cjs +1 -39
  94. package/dist/plugin-utils/index.mjs +1 -10
  95. package/dist/plugin-utils/reflect.cjs +1 -52
  96. package/dist/plugin-utils/reflect.mjs +1 -52
  97. package/dist/plugin-utils/reflect.mjs.map +1 -1
  98. package/dist/plugin-utils/traverse-command-tree.cjs +1 -64
  99. package/dist/plugin-utils/traverse-command-tree.mjs +1 -62
  100. package/dist/plugin-utils/traverse-command-tree.mjs.map +1 -1
  101. package/dist/plugin-utils/type-checks.cjs +1 -93
  102. package/dist/plugin-utils/type-checks.mjs +1 -88
  103. package/dist/plugin-utils/type-checks.mjs.map +1 -1
  104. package/dist/plugin.cjs +4 -429
  105. package/dist/plugin.d.cts.map +1 -1
  106. package/dist/plugin.d.mts.map +1 -1
  107. package/dist/plugin.mjs +4 -423
  108. package/dist/plugin.mjs.map +1 -1
  109. package/dist/resolver/deepkit.cjs +1 -135
  110. package/dist/resolver/deepkit.mjs +1 -134
  111. package/dist/resolver/deepkit.mjs.map +1 -1
  112. package/dist/resolver/helpers.cjs +1 -173
  113. package/dist/resolver/helpers.mjs +1 -168
  114. package/dist/resolver/helpers.mjs.map +1 -1
  115. package/dist/resolver/module.cjs +1 -145
  116. package/dist/resolver/module.mjs +1 -144
  117. package/dist/resolver/module.mjs.map +1 -1
  118. package/dist/resolver/resolve.cjs +1 -222
  119. package/dist/resolver/resolve.mjs +1 -221
  120. package/dist/resolver/resolve.mjs.map +1 -1
  121. package/dist/types/command.cjs +1 -441
  122. package/dist/types/command.mjs +1 -405
  123. package/dist/types/command.mjs.map +1 -1
  124. package/dist/types/config.cjs +1 -144
  125. package/dist/types/config.d.cts +3 -2
  126. package/dist/types/config.d.cts.map +1 -1
  127. package/dist/types/config.d.mts +3 -2
  128. package/dist/types/config.d.mts.map +1 -1
  129. package/dist/types/config.mjs +1 -138
  130. package/dist/types/config.mjs.map +1 -1
  131. package/dist/types/context.cjs +1 -37
  132. package/dist/types/context.d.cts +3 -2
  133. package/dist/types/context.d.cts.map +1 -1
  134. package/dist/types/context.d.mts +3 -2
  135. package/dist/types/context.d.mts.map +1 -1
  136. package/dist/types/context.mjs +1 -34
  137. package/dist/types/context.mjs.map +1 -1
  138. package/dist/types/env.cjs +1 -52
  139. package/dist/types/env.mjs +1 -50
  140. package/dist/types/env.mjs.map +1 -1
  141. package/dist/types/index.cjs +1 -49
  142. package/dist/types/index.mjs +1 -6
  143. package/dist/types/options.cjs +1 -12
  144. package/dist/types/options.mjs +1 -10
  145. package/package.json +23 -23
@@ -1,29 +1 @@
1
- //#region \0rolldown/runtime.js
2
- var __create = Object.create;
3
- var __defProp = Object.defineProperty;
4
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
- var __getOwnPropNames = Object.getOwnPropertyNames;
6
- var __getProtoOf = Object.getPrototypeOf;
7
- var __hasOwnProp = Object.prototype.hasOwnProperty;
8
- var __copyProps = (to, from, except, desc) => {
9
- if (from && typeof from === "object" || typeof from === "function") {
10
- for (var keys = __getOwnPropNames(from), i = 0, n = keys.length, key; i < n; i++) {
11
- key = keys[i];
12
- if (!__hasOwnProp.call(to, key) && key !== except) {
13
- __defProp(to, key, {
14
- get: ((k) => from[k]).bind(null, key),
15
- enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
16
- });
17
- }
18
- }
19
- }
20
- return to;
21
- };
22
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
23
- value: mod,
24
- enumerable: true
25
- }) : target, mod));
26
-
27
- //#endregion
28
-
29
- exports.__toESM = __toESM;
1
+ var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.getPrototypeOf,a=Object.prototype.hasOwnProperty,o=(e,i,o,s)=>{if(i&&typeof i==`object`||typeof i==`function`)for(var c=r(i),l=0,u=c.length,d;l<u;l++)d=c[l],!a.call(e,d)&&d!==o&&t(e,d,{get:(e=>i[e]).bind(null,d),enumerable:!(s=n(i,d))||s.enumerable});return e},s=(n,r,a)=>(a=n==null?{}:e(i(n)),o(r||!n||!n.__esModule?t(a,`default`,{value:n,enumerable:!0}):a,n));exports.__toESM=s;
package/dist/api.cjs CHANGED
@@ -1,95 +1 @@
1
- Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
2
- const require_runtime = require('./_virtual/_rolldown/runtime.cjs');
3
- const require_plugin = require('./plugin.cjs');
4
- let powerlines = require("powerlines");
5
-
6
- //#region src/api.ts
7
- const __ΩPartial = [
8
- "T",
9
- "Partial",
10
- "l+e#!e\"!fRb!Pde\"!gN#\"w\"y"
11
- ];
12
- /**
13
- * The Shell Shock API class.
14
- *
15
- * @remarks
16
- * This class provides methods to interact with the Shell Shock build system, including cleaning, preparing, linting, building, generating documentation, and finalizing projects.
17
- */
18
- var ShellShockAPI = class ShellShockAPI {
19
- #powerlines;
20
- static async from(config, workspaceRoot) {
21
- const userConfig = {
22
- framework: "shell-shock",
23
- ...config,
24
- plugins: [require_plugin.default(), ...config.plugins ?? []]
25
- };
26
- return new ShellShockAPI(await (workspaceRoot ? powerlines.PowerlinesAPI.from(workspaceRoot, userConfig) : (0, powerlines.createPowerlines)(userConfig)));
27
- }
28
- constructor(powerlines$1) {
29
- this.#powerlines = powerlines$1;
30
- }
31
- async clean(inlineConfig) {
32
- return this.#powerlines.clean(inlineConfig);
33
- }
34
- async prepare(inlineConfig) {
35
- return this.#powerlines.prepare(inlineConfig);
36
- }
37
- async lint(inlineConfig) {
38
- return this.#powerlines.lint(inlineConfig);
39
- }
40
- async build(inlineConfig) {
41
- return this.#powerlines.build(inlineConfig);
42
- }
43
- async docs(inlineConfig) {
44
- return this.#powerlines.docs(inlineConfig);
45
- }
46
- async finalize() {
47
- return this.#powerlines.finalize();
48
- }
49
- static __type = [
50
- "#powerlines",
51
- "UserConfig",
52
- "config",
53
- "workspaceRoot",
54
- () => ShellShockAPI,
55
- "from",
56
- "powerlines",
57
- "constructor",
58
- "inlineConfig",
59
- "clean",
60
- "prepare",
61
- "lint",
62
- "build",
63
- "docs",
64
- "finalize",
65
- "ShellShockAPI",
66
- "The Shell Shock API class.",
67
- "!3!P\"w\"2#&2$8P7%`0&sP!2'\"0(P!2)$`0*P!2)$`0+P!2)$`0,P!2)$`0-P!2)$`0.P$`0/5w0?1"
68
- ];
69
- };
70
- /**
71
- * Creates a new {@link ShellShockAPI} instance.
72
- *
73
- * @param options - The user configuration options.
74
- * @returns A promise that resolves to a {@link ShellShockAPI} instance.
75
- */
76
- async function createShellShock(options = {}) {
77
- return ShellShockAPI.from({
78
- root: process.cwd(),
79
- ...options
80
- });
81
- }
82
- createShellShock.__type = [
83
- () => __ΩPartial,
84
- "UserConfig",
85
- "options",
86
- () => ({}),
87
- () => ShellShockAPI,
88
- "createShellShock",
89
- "Creates a new {@link ShellShockAPI} instance.",
90
- "P\"w\"o!\"2#>$P7%`/&?'"
91
- ];
92
-
93
- //#endregion
94
- exports.ShellShockAPI = ShellShockAPI;
95
- exports.createShellShock = createShellShock;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`}),require(`./_virtual/_rolldown/runtime.cjs`);const e=require(`./plugin.cjs`);let t=require(`powerlines`);var n=class n{#e;static async fromOptions(r){return new n(await(0,t.createAPI)({...r,framework:`shell-shock`},{plugins:[e.default()]}))}get context(){return this.#e.context}constructor(e){this.#e=e}async clean(e){return this.#e.clean(e)}async prepare(e){return this.#e.prepare(e)}async lint(e){return this.#e.lint(e)}async build(e){return this.#e.build(e)}async docs(e){return this.#e.docs(e)}async finalize(){return this.#e.finalize()}static __type=[`#powerlines`,`options`,()=>n,`fromOptions`,`Creates a new instance of the {@link ShellShockAPI} class using the provided configuration options. This method initializes the underlying Powerlines API with the appropriate plugins and settings for Shell Shock.`,`powerlines`,`constructor`,`inlineConfig`,`clean`,"Executes the clean phase of the build process, which typically involves removing generated files and resetting the build environment. The `inlineConfig` parameter allows users to specify additional options or overrides for the clean operation.",`prepare`,"Executes the prepare phase of the build process, which typically involves setting up the build environment and installing dependencies. The `inlineConfig` parameter allows users to specify additional options or overrides for the prepare operation.",`lint`,"Executes the lint phase of the build process, which typically involves analyzing code for quality and style issues. The `inlineConfig` parameter allows users to specify additional options or overrides for the lint operation.",`build`,"Executes the build phase of the build process, which typically involves compiling source code and generating output artifacts. The `inlineConfig` parameter allows users to specify additional options or overrides for the build operation.",`docs`,"Executes the documentation generation phase of the build process, which typically involves creating API documentation and other project documentation. The `inlineConfig` parameter allows users to specify additional options or overrides for the documentation operation.",`finalize`,`Executes the finalize phase of the build process, which typically involves cleanup tasks and final reporting. This method should be called after all other build phases have completed.`,`ShellShockAPI`,`The Shell Shock API class.`,'!3!P!2"P7#`0$s?%!P!2&"0\'P!2($`0)?*P!2($`0+?,P!2($`0-?.P!2($`0/?0P!2($`01?2P$`03?45w5?6']};async function r(e){return n.fromOptions({framework:`shell-shock`,cwd:process.cwd(),...e})}r.__type=[`options`,()=>n,`createShellShock`,`Creates a new {@link ShellShockAPI} instance.`,'P!2!P7"`/#?$'],exports.ShellShockAPI=n,exports.createShellShock=r;
package/dist/api.d.cts CHANGED
@@ -1,5 +1,6 @@
1
- import { UserConfig } from "./types/config.cjs";
2
- import { BuildInlineConfig, CleanInlineConfig, DocsInlineConfig, LintInlineConfig, PrepareInlineConfig } from "powerlines";
1
+ import * as _$powerlines from "powerlines";
2
+ import { BuildInlineConfig, CleanInlineConfig, DocsInlineConfig, EngineOptions, LintInlineConfig, PrepareInlineConfig } from "powerlines";
3
+ import { PartialKeys } from "@stryke/types";
3
4
 
4
5
  //#region src/api.d.ts
5
6
  /**
@@ -10,13 +11,60 @@ import { BuildInlineConfig, CleanInlineConfig, DocsInlineConfig, LintInlineConfi
10
11
  */
11
12
  declare class ShellShockAPI {
12
13
  #private;
13
- static from(config: UserConfig, workspaceRoot?: string): Promise<ShellShockAPI>;
14
+ /**
15
+ * Creates a new instance of the {@link ShellShockAPI} class using the provided configuration options. This method initializes the underlying Powerlines API with the appropriate plugins and settings for Shell Shock.
16
+ *
17
+ * @param options - The user configuration options.
18
+ * @returns A promise that resolves to a {@link ShellShockAPI} instance.
19
+ */
20
+ static fromOptions(options: EngineOptions): Promise<ShellShockAPI>;
21
+ /**
22
+ * Gets the current build context, which includes information about the project, environment, and configuration. This context is used internally by the Shell Shock API to manage the build process and provide relevant data to plugins and other components.
23
+ *
24
+ * @returns The current build context.
25
+ */
26
+ get context(): _$powerlines.ExecutionContext<_$powerlines.ResolvedConfig>;
14
27
  private constructor();
28
+ /**
29
+ * Executes the clean phase of the build process, which typically involves removing generated files and resetting the build environment. The `inlineConfig` parameter allows users to specify additional options or overrides for the clean operation.
30
+ *
31
+ * @param inlineConfig - The inline configuration options for the clean operation.
32
+ * @returns A promise that resolves when the clean operation is complete.
33
+ */
15
34
  clean(inlineConfig: CleanInlineConfig): Promise<void>;
35
+ /**
36
+ * Executes the prepare phase of the build process, which typically involves setting up the build environment and installing dependencies. The `inlineConfig` parameter allows users to specify additional options or overrides for the prepare operation.
37
+ *
38
+ * @param inlineConfig - The inline configuration options for the prepare operation.
39
+ * @returns A promise that resolves when the prepare operation is complete.
40
+ */
16
41
  prepare(inlineConfig: PrepareInlineConfig): Promise<void>;
42
+ /**
43
+ * Executes the lint phase of the build process, which typically involves analyzing code for quality and style issues. The `inlineConfig` parameter allows users to specify additional options or overrides for the lint operation.
44
+ *
45
+ * @param inlineConfig - The inline configuration options for the lint operation.
46
+ * @returns A promise that resolves when the lint operation is complete.
47
+ */
17
48
  lint(inlineConfig: LintInlineConfig): Promise<void>;
49
+ /**
50
+ * Executes the build phase of the build process, which typically involves compiling source code and generating output artifacts. The `inlineConfig` parameter allows users to specify additional options or overrides for the build operation.
51
+ *
52
+ * @param inlineConfig - The inline configuration options for the build operation.
53
+ * @returns A promise that resolves when the build operation is complete.
54
+ */
18
55
  build(inlineConfig: BuildInlineConfig): Promise<void>;
56
+ /**
57
+ * Executes the documentation generation phase of the build process, which typically involves creating API documentation and other project documentation. The `inlineConfig` parameter allows users to specify additional options or overrides for the documentation operation.
58
+ *
59
+ * @param inlineConfig - The inline configuration options for the documentation operation.
60
+ * @returns A promise that resolves when the documentation generation is complete.
61
+ */
19
62
  docs(inlineConfig: DocsInlineConfig): Promise<void>;
63
+ /**
64
+ * Executes the finalize phase of the build process, which typically involves cleanup tasks and final reporting. This method should be called after all other build phases have completed.
65
+ *
66
+ * @returns A promise that resolves when the finalize operation is complete.
67
+ */
20
68
  finalize(): Promise<void>;
21
69
  }
22
70
  /**
@@ -25,7 +73,7 @@ declare class ShellShockAPI {
25
73
  * @param options - The user configuration options.
26
74
  * @returns A promise that resolves to a {@link ShellShockAPI} instance.
27
75
  */
28
- declare function createShellShock(options?: Partial<UserConfig>): Promise<ShellShockAPI>;
76
+ declare function createShellShock(options: PartialKeys<EngineOptions, "cwd" | "framework">): Promise<ShellShockAPI>;
29
77
  //#endregion
30
78
  export { ShellShockAPI, createShellShock };
31
79
  //# sourceMappingURL=api.d.cts.map
@@ -1 +1 @@
1
- {"version":3,"file":"api.d.cts","names":[],"sources":["../src/api.ts"],"mappings":";;;;;;AAoCA;;;;cAAa,aAAA;EAAA;SAGS,IAAA,CAClB,MAAA,EAAQ,UAAA,EACR,aAAA,YACC,OAAA,CAAQ,aAAA;EAAA,QAcJ,WAAA,CAAA;EAIM,KAAA,CAAM,YAAA,EAAc,iBAAA,GAAoB,OAAA;EAIxC,OAAA,CAAQ,YAAA,EAAc,mBAAA,GAAsB,OAAA;EAI5C,IAAA,CAAK,YAAA,EAAc,gBAAA,GAAmB,OAAA;EAItC,KAAA,CAAM,YAAA,EAAc,iBAAA,GAAoB,OAAA;EAIxC,IAAA,CAAK,YAAA,EAAc,gBAAA,GAAmB,OAAA;EAItC,QAAA,CAAA,GAAY,OAAA;AAAA;;;;;;;iBAWL,gBAAA,CACpB,OAAA,GAAS,OAAA,CAAQ,UAAA,IAChB,OAAA,CAAQ,aAAA"}
1
+ {"version":3,"file":"api.d.cts","names":[],"sources":["../src/api.ts"],"mappings":";;;;;;;;AAqCA;;;cAAa,aAAA;EAAA;EAWR;;;;;;EAAA,OAFiB,WAAA,CAClB,OAAA,EAAS,aAAA,GACR,OAAA,CAAQ,aAAA;EAkDqB;;;;;EAAA,IAlCrB,OAAA,CAAA,GAAO,YAAA,CAAA,gBAAA,CAhBR,YAAA,CAgBQ,cAAA;EAAA,QAIX,WAAA,CAAA;EA2DyB;;;;;;EAjDnB,KAAA,CAAM,YAAA,EAAc,iBAAA,GAAoB,OAAA;EA9B1C;;;;;;EAwCE,OAAA,CAAQ,YAAA,EAAc,mBAAA,GAAsB,OAAA;EAVtC;;;;;;EAoBN,IAAA,CAAK,YAAA,EAAc,gBAAA,GAAmB,OAAA;EAAnB;;;;;;EAUnB,KAAA,CAAM,YAAA,EAAc,iBAAA,GAAoB,OAAA;EAUxC;;;;;;EAAA,IAAA,CAAK,YAAA,EAAc,gBAAA,GAAmB,OAAA;EASnB;AAWlC;;;;EAXe,QAAA,CAAA,GAAY,OAAA;AAAA;;;;;;;iBAWL,gBAAA,CACpB,OAAA,EAAS,WAAA,CAAY,aAAA,yBACpB,OAAA,CAAQ,aAAA"}
package/dist/api.d.mts CHANGED
@@ -1,5 +1,6 @@
1
- import { UserConfig } from "./types/config.mjs";
2
- import { BuildInlineConfig, CleanInlineConfig, DocsInlineConfig, LintInlineConfig, PrepareInlineConfig } from "powerlines";
1
+ import * as _$powerlines from "powerlines";
2
+ import { BuildInlineConfig, CleanInlineConfig, DocsInlineConfig, EngineOptions, LintInlineConfig, PrepareInlineConfig } from "powerlines";
3
+ import { PartialKeys } from "@stryke/types";
3
4
 
4
5
  //#region src/api.d.ts
5
6
  /**
@@ -10,13 +11,60 @@ import { BuildInlineConfig, CleanInlineConfig, DocsInlineConfig, LintInlineConfi
10
11
  */
11
12
  declare class ShellShockAPI {
12
13
  #private;
13
- static from(config: UserConfig, workspaceRoot?: string): Promise<ShellShockAPI>;
14
+ /**
15
+ * Creates a new instance of the {@link ShellShockAPI} class using the provided configuration options. This method initializes the underlying Powerlines API with the appropriate plugins and settings for Shell Shock.
16
+ *
17
+ * @param options - The user configuration options.
18
+ * @returns A promise that resolves to a {@link ShellShockAPI} instance.
19
+ */
20
+ static fromOptions(options: EngineOptions): Promise<ShellShockAPI>;
21
+ /**
22
+ * Gets the current build context, which includes information about the project, environment, and configuration. This context is used internally by the Shell Shock API to manage the build process and provide relevant data to plugins and other components.
23
+ *
24
+ * @returns The current build context.
25
+ */
26
+ get context(): _$powerlines.ExecutionContext<_$powerlines.ResolvedConfig>;
14
27
  private constructor();
28
+ /**
29
+ * Executes the clean phase of the build process, which typically involves removing generated files and resetting the build environment. The `inlineConfig` parameter allows users to specify additional options or overrides for the clean operation.
30
+ *
31
+ * @param inlineConfig - The inline configuration options for the clean operation.
32
+ * @returns A promise that resolves when the clean operation is complete.
33
+ */
15
34
  clean(inlineConfig: CleanInlineConfig): Promise<void>;
35
+ /**
36
+ * Executes the prepare phase of the build process, which typically involves setting up the build environment and installing dependencies. The `inlineConfig` parameter allows users to specify additional options or overrides for the prepare operation.
37
+ *
38
+ * @param inlineConfig - The inline configuration options for the prepare operation.
39
+ * @returns A promise that resolves when the prepare operation is complete.
40
+ */
16
41
  prepare(inlineConfig: PrepareInlineConfig): Promise<void>;
42
+ /**
43
+ * Executes the lint phase of the build process, which typically involves analyzing code for quality and style issues. The `inlineConfig` parameter allows users to specify additional options or overrides for the lint operation.
44
+ *
45
+ * @param inlineConfig - The inline configuration options for the lint operation.
46
+ * @returns A promise that resolves when the lint operation is complete.
47
+ */
17
48
  lint(inlineConfig: LintInlineConfig): Promise<void>;
49
+ /**
50
+ * Executes the build phase of the build process, which typically involves compiling source code and generating output artifacts. The `inlineConfig` parameter allows users to specify additional options or overrides for the build operation.
51
+ *
52
+ * @param inlineConfig - The inline configuration options for the build operation.
53
+ * @returns A promise that resolves when the build operation is complete.
54
+ */
18
55
  build(inlineConfig: BuildInlineConfig): Promise<void>;
56
+ /**
57
+ * Executes the documentation generation phase of the build process, which typically involves creating API documentation and other project documentation. The `inlineConfig` parameter allows users to specify additional options or overrides for the documentation operation.
58
+ *
59
+ * @param inlineConfig - The inline configuration options for the documentation operation.
60
+ * @returns A promise that resolves when the documentation generation is complete.
61
+ */
19
62
  docs(inlineConfig: DocsInlineConfig): Promise<void>;
63
+ /**
64
+ * Executes the finalize phase of the build process, which typically involves cleanup tasks and final reporting. This method should be called after all other build phases have completed.
65
+ *
66
+ * @returns A promise that resolves when the finalize operation is complete.
67
+ */
20
68
  finalize(): Promise<void>;
21
69
  }
22
70
  /**
@@ -25,7 +73,7 @@ declare class ShellShockAPI {
25
73
  * @param options - The user configuration options.
26
74
  * @returns A promise that resolves to a {@link ShellShockAPI} instance.
27
75
  */
28
- declare function createShellShock(options?: Partial<UserConfig>): Promise<ShellShockAPI>;
76
+ declare function createShellShock(options: PartialKeys<EngineOptions, "cwd" | "framework">): Promise<ShellShockAPI>;
29
77
  //#endregion
30
78
  export { ShellShockAPI, createShellShock };
31
79
  //# sourceMappingURL=api.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"api.d.mts","names":[],"sources":["../src/api.ts"],"mappings":";;;;;;AAoCA;;;;cAAa,aAAA;EAAA;SAGS,IAAA,CAClB,MAAA,EAAQ,UAAA,EACR,aAAA,YACC,OAAA,CAAQ,aAAA;EAAA,QAcJ,WAAA,CAAA;EAIM,KAAA,CAAM,YAAA,EAAc,iBAAA,GAAoB,OAAA;EAIxC,OAAA,CAAQ,YAAA,EAAc,mBAAA,GAAsB,OAAA;EAI5C,IAAA,CAAK,YAAA,EAAc,gBAAA,GAAmB,OAAA;EAItC,KAAA,CAAM,YAAA,EAAc,iBAAA,GAAoB,OAAA;EAIxC,IAAA,CAAK,YAAA,EAAc,gBAAA,GAAmB,OAAA;EAItC,QAAA,CAAA,GAAY,OAAA;AAAA;;;;;;;iBAWL,gBAAA,CACpB,OAAA,GAAS,OAAA,CAAQ,UAAA,IAChB,OAAA,CAAQ,aAAA"}
1
+ {"version":3,"file":"api.d.mts","names":[],"sources":["../src/api.ts"],"mappings":";;;;;;;;AAqCA;;;cAAa,aAAA;EAAA;EAWR;;;;;;EAAA,OAFiB,WAAA,CAClB,OAAA,EAAS,aAAA,GACR,OAAA,CAAQ,aAAA;EAkDqB;;;;;EAAA,IAlCrB,OAAA,CAAA,GAAO,YAAA,CAAA,gBAAA,CAhBR,YAAA,CAgBQ,cAAA;EAAA,QAIX,WAAA,CAAA;EA2DyB;;;;;;EAjDnB,KAAA,CAAM,YAAA,EAAc,iBAAA,GAAoB,OAAA;EA9B1C;;;;;;EAwCE,OAAA,CAAQ,YAAA,EAAc,mBAAA,GAAsB,OAAA;EAVtC;;;;;;EAoBN,IAAA,CAAK,YAAA,EAAc,gBAAA,GAAmB,OAAA;EAAnB;;;;;;EAUnB,KAAA,CAAM,YAAA,EAAc,iBAAA,GAAoB,OAAA;EAUxC;;;;;;EAAA,IAAA,CAAK,YAAA,EAAc,gBAAA,GAAmB,OAAA;EASnB;AAWlC;;;;EAXe,QAAA,CAAA,GAAY,OAAA;AAAA;;;;;;;iBAWL,gBAAA,CACpB,OAAA,EAAS,WAAA,CAAY,aAAA,yBACpB,OAAA,CAAQ,aAAA"}
package/dist/api.mjs CHANGED
@@ -1,93 +1,2 @@
1
- import plugin from "./plugin.mjs";
2
- import { PowerlinesAPI, createPowerlines } from "powerlines";
3
-
4
- //#region src/api.ts
5
- const __ΩPartial = [
6
- "T",
7
- "Partial",
8
- "l+e#!e\"!fRb!Pde\"!gN#\"w\"y"
9
- ];
10
- /**
11
- * The Shell Shock API class.
12
- *
13
- * @remarks
14
- * This class provides methods to interact with the Shell Shock build system, including cleaning, preparing, linting, building, generating documentation, and finalizing projects.
15
- */
16
- var ShellShockAPI = class ShellShockAPI {
17
- #powerlines;
18
- static async from(config, workspaceRoot) {
19
- const userConfig = {
20
- framework: "shell-shock",
21
- ...config,
22
- plugins: [plugin(), ...config.plugins ?? []]
23
- };
24
- return new ShellShockAPI(await (workspaceRoot ? PowerlinesAPI.from(workspaceRoot, userConfig) : createPowerlines(userConfig)));
25
- }
26
- constructor(powerlines) {
27
- this.#powerlines = powerlines;
28
- }
29
- async clean(inlineConfig) {
30
- return this.#powerlines.clean(inlineConfig);
31
- }
32
- async prepare(inlineConfig) {
33
- return this.#powerlines.prepare(inlineConfig);
34
- }
35
- async lint(inlineConfig) {
36
- return this.#powerlines.lint(inlineConfig);
37
- }
38
- async build(inlineConfig) {
39
- return this.#powerlines.build(inlineConfig);
40
- }
41
- async docs(inlineConfig) {
42
- return this.#powerlines.docs(inlineConfig);
43
- }
44
- async finalize() {
45
- return this.#powerlines.finalize();
46
- }
47
- static __type = [
48
- "#powerlines",
49
- "UserConfig",
50
- "config",
51
- "workspaceRoot",
52
- () => ShellShockAPI,
53
- "from",
54
- "powerlines",
55
- "constructor",
56
- "inlineConfig",
57
- "clean",
58
- "prepare",
59
- "lint",
60
- "build",
61
- "docs",
62
- "finalize",
63
- "ShellShockAPI",
64
- "The Shell Shock API class.",
65
- "!3!P\"w\"2#&2$8P7%`0&sP!2'\"0(P!2)$`0*P!2)$`0+P!2)$`0,P!2)$`0-P!2)$`0.P$`0/5w0?1"
66
- ];
67
- };
68
- /**
69
- * Creates a new {@link ShellShockAPI} instance.
70
- *
71
- * @param options - The user configuration options.
72
- * @returns A promise that resolves to a {@link ShellShockAPI} instance.
73
- */
74
- async function createShellShock(options = {}) {
75
- return ShellShockAPI.from({
76
- root: process.cwd(),
77
- ...options
78
- });
79
- }
80
- createShellShock.__type = [
81
- () => __ΩPartial,
82
- "UserConfig",
83
- "options",
84
- () => ({}),
85
- () => ShellShockAPI,
86
- "createShellShock",
87
- "Creates a new {@link ShellShockAPI} instance.",
88
- "P\"w\"o!\"2#>$P7%`/&?'"
89
- ];
90
-
91
- //#endregion
92
- export { ShellShockAPI, createShellShock };
1
+ import e from"./plugin.mjs";import{createAPI as t}from"powerlines";var n=class n{#e;static async fromOptions(r){return new n(await t({...r,framework:`shell-shock`},{plugins:[e()]}))}get context(){return this.#e.context}constructor(e){this.#e=e}async clean(e){return this.#e.clean(e)}async prepare(e){return this.#e.prepare(e)}async lint(e){return this.#e.lint(e)}async build(e){return this.#e.build(e)}async docs(e){return this.#e.docs(e)}async finalize(){return this.#e.finalize()}static __type=[`#powerlines`,`options`,()=>n,`fromOptions`,`Creates a new instance of the {@link ShellShockAPI} class using the provided configuration options. This method initializes the underlying Powerlines API with the appropriate plugins and settings for Shell Shock.`,`powerlines`,`constructor`,`inlineConfig`,`clean`,"Executes the clean phase of the build process, which typically involves removing generated files and resetting the build environment. The `inlineConfig` parameter allows users to specify additional options or overrides for the clean operation.",`prepare`,"Executes the prepare phase of the build process, which typically involves setting up the build environment and installing dependencies. The `inlineConfig` parameter allows users to specify additional options or overrides for the prepare operation.",`lint`,"Executes the lint phase of the build process, which typically involves analyzing code for quality and style issues. The `inlineConfig` parameter allows users to specify additional options or overrides for the lint operation.",`build`,"Executes the build phase of the build process, which typically involves compiling source code and generating output artifacts. The `inlineConfig` parameter allows users to specify additional options or overrides for the build operation.",`docs`,"Executes the documentation generation phase of the build process, which typically involves creating API documentation and other project documentation. The `inlineConfig` parameter allows users to specify additional options or overrides for the documentation operation.",`finalize`,`Executes the finalize phase of the build process, which typically involves cleanup tasks and final reporting. This method should be called after all other build phases have completed.`,`ShellShockAPI`,`The Shell Shock API class.`,'!3!P!2"P7#`0$s?%!P!2&"0\'P!2($`0)?*P!2($`0+?,P!2($`0-?.P!2($`0/?0P!2($`01?2P$`03?45w5?6']};async function r(e){return n.fromOptions({framework:`shell-shock`,cwd:process.cwd(),...e})}r.__type=[`options`,()=>n,`createShellShock`,`Creates a new {@link ShellShockAPI} instance.`,'P!2!P7"`/#?$'];export{n as ShellShockAPI,r as createShellShock};
93
2
  //# sourceMappingURL=api.mjs.map
package/dist/api.mjs.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"api.mjs","names":[],"sources":["../src/api.ts"],"sourcesContent":["/* -------------------------------------------------------------------\n\n ⚡ Storm Software - Shell Shock\n\n This code was released as part of the Shell Shock project. Shell Shock\n is maintained by Storm Software under the Apache-2.0 license, and is\n free for commercial and private use. For more information, please visit\n our licensing page at https://stormsoftware.com/licenses/projects/shell-shock.\n\n Website: https://stormsoftware.com\n Repository: https://github.com/storm-software/shell-shock\n Documentation: https://docs.stormsoftware.com/projects/shell-shock\n Contact: https://stormsoftware.com/contact\n\n SPDX-License-Identifier: Apache-2.0\n\n ------------------------------------------------------------------- */\n\nimport type {\n BuildInlineConfig,\n CleanInlineConfig,\n DocsInlineConfig,\n LintInlineConfig,\n PluginConfig,\n PrepareInlineConfig\n} from \"powerlines\";\nimport { createPowerlines, PowerlinesAPI } from \"powerlines\";\nimport { plugin } from \"./plugin\";\nimport type { UserConfig } from \"./types/config\";\n\n/**\n * The Shell Shock API class.\n *\n * @remarks\n * This class provides methods to interact with the Shell Shock build system, including cleaning, preparing, linting, building, generating documentation, and finalizing projects.\n */\nexport class ShellShockAPI {\n #powerlines: PowerlinesAPI;\n\n public static async from(\n config: UserConfig,\n workspaceRoot?: string\n ): Promise<ShellShockAPI> {\n const userConfig = {\n framework: \"shell-shock\",\n ...config,\n plugins: [plugin(), ...(config.plugins ?? [])] as PluginConfig<any>[]\n };\n\n const powerlines = await (workspaceRoot\n ? PowerlinesAPI.from(workspaceRoot, userConfig)\n : createPowerlines(userConfig));\n\n return new ShellShockAPI(powerlines);\n }\n\n private constructor(powerlines: PowerlinesAPI) {\n this.#powerlines = powerlines;\n }\n\n public async clean(inlineConfig: CleanInlineConfig): Promise<void> {\n return this.#powerlines.clean(inlineConfig);\n }\n\n public async prepare(inlineConfig: PrepareInlineConfig): Promise<void> {\n return this.#powerlines.prepare(inlineConfig);\n }\n\n public async lint(inlineConfig: LintInlineConfig): Promise<void> {\n return this.#powerlines.lint(inlineConfig);\n }\n\n public async build(inlineConfig: BuildInlineConfig): Promise<void> {\n return this.#powerlines.build(inlineConfig);\n }\n\n public async docs(inlineConfig: DocsInlineConfig): Promise<void> {\n return this.#powerlines.docs(inlineConfig);\n }\n\n public async finalize(): Promise<void> {\n return this.#powerlines.finalize();\n }\n}\n\n/**\n * Creates a new {@link ShellShockAPI} instance.\n *\n * @param options - The user configuration options.\n * @returns A promise that resolves to a {@link ShellShockAPI} instance.\n */\nexport async function createShellShock(\n options: Partial<UserConfig> = {}\n): Promise<ShellShockAPI> {\n return ShellShockAPI.from({ root: process.cwd(), ...options });\n}\n"],"mappings":";;;;AAAA,MAAM,aAAa;CAAC;CAAK;CAAW;CAA2B;;;;;;;AAS/D,IAAa,gBAAb,MAAa,cAAc;CAC1B;CACA,aAAgB,KAAK,QAAK,eAAa;EAChC,MAAM,aAAa;;GAErB,GAAQ;;GAEL;AAIP,SAAA,IAAiB,qCAFP,cAAA,KAAA,eAAA,WAAA,GACV,iBAAiB,WAAA,EACA;;CAEjB,YAAA,YAAgB;AAChB,QAAA,aAAY;;CAEZ,MAAM,MAAA,cAAW;AACX,SAAC,MAAA,WAAkB,MAAA,aAAsB;;CAEjD,MAAO,QAAO,cAAkB;;;CAG7B,MAAI,KAAM,cAAe;AAC3B,SAAA,MAAA,WAAA,KAAA,aAAA;;CAEE,MAAK,MAAM,cAAgB;AAC5B,SAAA,MAAA,WAAA,MAAA,aAAA;;CAEC,MAAA,KAAY,cAAa;;;CAGxB,MAAM,WAAE;AACR,SAAA,MAAgB,WAAA,UAAA;;CAEhB,OAAM,SAAU;EAAC;EAAE;EAAA;EAAA;QAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;;;;;;;;AAQvB,eAAQ,iBAA6B,UAAA,EAAA,EAAA;;;;;;AAGrC,iBAAE,SAAA;OAAA;CAAA;CAAA;QAAA,EAAA;OAAA;CAAA;CAAA;CAAA;CAAA"}
1
+ {"version":3,"file":"api.mjs","names":[],"sources":["../src/api.ts"],"sourcesContent":["/* -------------------------------------------------------------------\n\n ⚡ Storm Software - Shell Shock\n\n This code was released as part of the Shell Shock project. Shell Shock\n is maintained by Storm Software under the Apache-2.0 license, and is\n free for commercial and private use. For more information, please visit\n our licensing page at https://stormsoftware.com/licenses/projects/shell-shock.\n\n Website: https://stormsoftware.com\n Repository: https://github.com/storm-software/shell-shock\n Documentation: https://docs.stormsoftware.com/projects/shell-shock\n Contact: https://stormsoftware.com/contact\n\n SPDX-License-Identifier: Apache-2.0\n\n ------------------------------------------------------------------- */\n\nimport type { PartialKeys } from \"@stryke/types\";\nimport type {\n BuildInlineConfig,\n CleanInlineConfig,\n DocsInlineConfig,\n EngineOptions,\n LintInlineConfig,\n PowerlinesAPI,\n PrepareInlineConfig\n} from \"powerlines\";\nimport { createAPI } from \"powerlines\";\nimport { plugin } from \"./plugin\";\n\n/**\n * The Shell Shock API class.\n *\n * @remarks\n * This class provides methods to interact with the Shell Shock build system, including cleaning, preparing, linting, building, generating documentation, and finalizing projects.\n */\nexport class ShellShockAPI {\n #powerlines: PowerlinesAPI;\n\n /**\n * Creates a new instance of the {@link ShellShockAPI} class using the provided configuration options. This method initializes the underlying Powerlines API with the appropriate plugins and settings for Shell Shock.\n *\n * @param options - The user configuration options.\n * @returns A promise that resolves to a {@link ShellShockAPI} instance.\n */\n public static async fromOptions(\n options: EngineOptions\n ): Promise<ShellShockAPI> {\n const powerlines = await createAPI(\n { ...options, framework: \"shell-shock\" },\n {\n plugins: [plugin()]\n }\n );\n\n return new ShellShockAPI(powerlines);\n }\n\n /**\n * Gets the current build context, which includes information about the project, environment, and configuration. This context is used internally by the Shell Shock API to manage the build process and provide relevant data to plugins and other components.\n *\n * @returns The current build context.\n */\n public get context() {\n return this.#powerlines.context;\n }\n\n private constructor(powerlines: PowerlinesAPI) {\n this.#powerlines = powerlines;\n }\n\n /**\n * Executes the clean phase of the build process, which typically involves removing generated files and resetting the build environment. The `inlineConfig` parameter allows users to specify additional options or overrides for the clean operation.\n *\n * @param inlineConfig - The inline configuration options for the clean operation.\n * @returns A promise that resolves when the clean operation is complete.\n */\n public async clean(inlineConfig: CleanInlineConfig): Promise<void> {\n return this.#powerlines.clean(inlineConfig);\n }\n\n /**\n * Executes the prepare phase of the build process, which typically involves setting up the build environment and installing dependencies. The `inlineConfig` parameter allows users to specify additional options or overrides for the prepare operation.\n *\n * @param inlineConfig - The inline configuration options for the prepare operation.\n * @returns A promise that resolves when the prepare operation is complete.\n */\n public async prepare(inlineConfig: PrepareInlineConfig): Promise<void> {\n return this.#powerlines.prepare(inlineConfig);\n }\n\n /**\n * Executes the lint phase of the build process, which typically involves analyzing code for quality and style issues. The `inlineConfig` parameter allows users to specify additional options or overrides for the lint operation.\n *\n * @param inlineConfig - The inline configuration options for the lint operation.\n * @returns A promise that resolves when the lint operation is complete.\n */\n public async lint(inlineConfig: LintInlineConfig): Promise<void> {\n return this.#powerlines.lint(inlineConfig);\n }\n\n /**\n * Executes the build phase of the build process, which typically involves compiling source code and generating output artifacts. The `inlineConfig` parameter allows users to specify additional options or overrides for the build operation.\n *\n * @param inlineConfig - The inline configuration options for the build operation.\n * @returns A promise that resolves when the build operation is complete.\n */\n public async build(inlineConfig: BuildInlineConfig): Promise<void> {\n return this.#powerlines.build(inlineConfig);\n }\n\n /**\n * Executes the documentation generation phase of the build process, which typically involves creating API documentation and other project documentation. The `inlineConfig` parameter allows users to specify additional options or overrides for the documentation operation.\n *\n * @param inlineConfig - The inline configuration options for the documentation operation.\n * @returns A promise that resolves when the documentation generation is complete.\n */\n public async docs(inlineConfig: DocsInlineConfig): Promise<void> {\n return this.#powerlines.docs(inlineConfig);\n }\n\n /**\n * Executes the finalize phase of the build process, which typically involves cleanup tasks and final reporting. This method should be called after all other build phases have completed.\n *\n * @returns A promise that resolves when the finalize operation is complete.\n */\n public async finalize(): Promise<void> {\n return this.#powerlines.finalize();\n }\n}\n\n/**\n * Creates a new {@link ShellShockAPI} instance.\n *\n * @param options - The user configuration options.\n * @returns A promise that resolves to a {@link ShellShockAPI} instance.\n */\nexport async function createShellShock(\n options: PartialKeys<EngineOptions, \"cwd\" | \"framework\">\n): Promise<ShellShockAPI> {\n return ShellShockAPI.fromOptions({\n framework: \"shell-shock\",\n cwd: process.cwd(),\n ...options\n });\n}\n"],"mappings":"mEAyBA,IAAE,EAAF,MAAE,CAAa,CACb,GAOD,aAAA,YAAA,EAAA,CAOG,OAAA,IAAA,EAAA,MANA,EAAA,CACD,GAAK,EACN,UAAA,cACF,CAAO,CACJ,QAAY,CAAA,GAAA,CAAA,CAAA,CAAA,CAEX,CAOF,IAAE,SAAS,CACT,OAAC,MAAA,EAAuB,QAE1B,YAAS,EAAS,CAChB,MAAA,EAAE,EAQJ,MAAE,MAAA,EAAA,CACA,OAAM,MAAA,EAAkB,MAAA,EAAe,CAQzC,MAAA,QAAQ,EAAY,CAClB,OAAM,MAAA,EAAa,QAAU,EAAA,CAQ/B,MAAE,KAAA,EAAA,CACF,OAAO,MAAA,EAAY,KAAY,EAAE,CAQjC,MAAI,MAAQ,EAAc,CACxB,OAAA,MAAA,EAAA,MAAA,EAAA,CAQF,MAAI,KAAM,EAAe,CACvB,OAAE,MAAA,EAAsB,KAAC,EAAiB,CAO5C,MAAG,UAAa,CACf,OAAA,MAAA,EAAA,UAAA,CAED,OAAI,OAAU,CAAA,cAAa,cAAkB,EAAmB,cAAQ,uNAAA,aAAA,cAAA,eAAA,QAAA,sPAAA,UAAA,0PAAA,OAAA,mOAAA,QAAA,+OAAA,OAAA,+QAAA,WAAA,0LAAA,gBAAA,6BAAA,0FAAA,EAQ1E,eAAG,EAAA,EAAA,CACD,OAAI,EAAM,YAAmB,CAC3B,UAAW,cACX,IAAA,QAAA,KAAA,CACF,GAAA,EACC,CAAC"}