@visulima/vis 1.0.0-alpha.35 → 1.0.0-alpha.36

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 (193) hide show
  1. package/CHANGELOG.md +67 -0
  2. package/LICENSE.md +3244 -1611
  3. package/README.md +44 -0
  4. package/dashboard/dist/index.html +11 -11
  5. package/dist/bin.js +1 -1
  6. package/dist/binx.js +1 -1
  7. package/dist/config/index.d.ts +74 -2
  8. package/dist/config/index.js +1 -1
  9. package/dist/generate/index.js +1 -1
  10. package/dist/packem_chunks/bin.js +584 -588
  11. package/dist/packem_chunks/bloom-status.js +2 -2
  12. package/dist/packem_chunks/bloom-sync.js +2 -2
  13. package/dist/packem_chunks/cache-attestation.js +1 -1
  14. package/dist/packem_chunks/config.js +18 -16
  15. package/dist/packem_chunks/devtools.js +56 -57
  16. package/dist/packem_chunks/doctor-probe.js +2 -2
  17. package/dist/packem_chunks/fix.js +11 -11
  18. package/dist/packem_chunks/handler.js +1 -1
  19. package/dist/packem_chunks/handler10.js +1 -1
  20. package/dist/packem_chunks/handler11.js +5 -5
  21. package/dist/packem_chunks/handler12.js +1 -1
  22. package/dist/packem_chunks/handler13.js +7 -7
  23. package/dist/packem_chunks/handler14.js +4 -4
  24. package/dist/packem_chunks/handler15.js +1 -1
  25. package/dist/packem_chunks/handler16.js +1 -1
  26. package/dist/packem_chunks/handler17.js +1 -1
  27. package/dist/packem_chunks/handler18.js +1 -1
  28. package/dist/packem_chunks/handler19.js +1 -1
  29. package/dist/packem_chunks/handler2.js +3 -3
  30. package/dist/packem_chunks/handler20.js +5 -5
  31. package/dist/packem_chunks/handler21.js +2 -2
  32. package/dist/packem_chunks/handler22.js +2 -2
  33. package/dist/packem_chunks/handler23.js +1 -1
  34. package/dist/packem_chunks/handler24.js +1 -1
  35. package/dist/packem_chunks/handler25.js +1 -5
  36. package/dist/packem_chunks/handler26.js +5 -1
  37. package/dist/packem_chunks/handler27.js +1 -3
  38. package/dist/packem_chunks/handler28.js +3 -1
  39. package/dist/packem_chunks/handler29.js +1 -7
  40. package/dist/packem_chunks/handler3.js +4 -4
  41. package/dist/packem_chunks/handler30.js +6 -32
  42. package/dist/packem_chunks/handler31.js +33 -3
  43. package/dist/packem_chunks/handler32.js +3 -8
  44. package/dist/packem_chunks/handler33.js +8 -1
  45. package/dist/packem_chunks/handler34.js +4 -5
  46. package/dist/packem_chunks/handler35.js +1 -11
  47. package/dist/packem_chunks/handler36.js +5 -3
  48. package/dist/packem_chunks/handler37.js +11 -22
  49. package/dist/packem_chunks/handler38.js +3 -61
  50. package/dist/packem_chunks/handler39.js +22 -3
  51. package/dist/packem_chunks/handler4.js +6 -6
  52. package/dist/packem_chunks/handler40.js +61 -6
  53. package/dist/packem_chunks/handler41.js +3 -24
  54. package/dist/packem_chunks/handler42.js +6 -25
  55. package/dist/packem_chunks/handler43.js +24 -153
  56. package/dist/packem_chunks/handler44.js +25 -10
  57. package/dist/packem_chunks/handler45.js +152 -707
  58. package/dist/packem_chunks/handler46.js +10 -24
  59. package/dist/packem_chunks/handler47.js +24 -322
  60. package/dist/packem_chunks/handler48.js +322 -48
  61. package/dist/packem_chunks/handler49.js +708 -3
  62. package/dist/packem_chunks/handler5.js +7 -7
  63. package/dist/packem_chunks/handler50.js +48 -27
  64. package/dist/packem_chunks/handler51.js +21 -189
  65. package/dist/packem_chunks/handler52.js +3 -34
  66. package/dist/packem_chunks/handler53.js +200 -0
  67. package/dist/packem_chunks/handler54.js +38 -0
  68. package/dist/packem_chunks/handler6.js +1 -1
  69. package/dist/packem_chunks/handler7.js +1 -1
  70. package/dist/packem_chunks/handler8.js +1 -1
  71. package/dist/packem_chunks/handler9.js +1 -1
  72. package/dist/packem_chunks/heal-accept.js +7 -7
  73. package/dist/packem_chunks/heal.js +11 -11
  74. package/dist/packem_chunks/help-command.js +30 -7
  75. package/dist/packem_chunks/index.js +6 -6
  76. package/dist/packem_chunks/keys-refresh.js +4 -4
  77. package/dist/packem_chunks/list.js +2 -2
  78. package/dist/packem_chunks/loader.js +4 -4
  79. package/dist/packem_chunks/loader2.js +1 -1
  80. package/dist/packem_chunks/prune.js +3 -3
  81. package/dist/packem_chunks/run.js +1 -1
  82. package/dist/packem_chunks/status.js +2 -2
  83. package/dist/packem_chunks/sync.js +2 -2
  84. package/dist/packem_chunks/sync2.js +2 -2
  85. package/dist/packem_chunks/tar.js +3 -3
  86. package/dist/packem_chunks/tripwire.js +2 -2
  87. package/dist/packem_chunks/verify-lockfile.js +2 -2
  88. package/dist/packem_shared/CONFIG_FILES-BfaR0jKT.js +1 -0
  89. package/dist/packem_shared/MultiSpinner-B9U0-aE3-B-gIXhFk.js +3 -0
  90. package/dist/packem_shared/Table-CcVkyULl-B_ef6zfS.js +35 -0
  91. package/dist/packem_shared/_commonjsHelpers-B5Y90VFO.js +1 -0
  92. package/dist/packem_shared/advisories-DLeO5KMN.js +1 -0
  93. package/dist/packem_shared/affected-shas-cVnX8-zs.js +1 -0
  94. package/dist/packem_shared/ai-analysis-DT3bU-_M.js +68 -0
  95. package/dist/packem_shared/ai-fix-BkNqd5nP.js +43 -0
  96. package/dist/packem_shared/build-scripts-CCCi8U66.js +1 -0
  97. package/dist/packem_shared/cyclonedx-86-DbHtf.js +4 -0
  98. package/dist/packem_shared/definePlugin-DoUcoYSy.js +1 -0
  99. package/dist/packem_shared/dependency-scan-BDTH898x.js +1 -0
  100. package/dist/packem_shared/docker-tNrDU3oK.js +59 -0
  101. package/dist/packem_shared/failure-log-Dwqt6_Ga.js +2 -0
  102. package/dist/packem_shared/giget-DHY1sQZC.js +2 -0
  103. package/dist/packem_shared/glob-fqg4KepW-B7EjLRvw.js +1 -0
  104. package/dist/packem_shared/index-BDmTbWX1.js +19 -0
  105. package/dist/packem_shared/index-C0Vj3XF8.js +30 -0
  106. package/dist/packem_shared/index-CB4p298r.js +1 -0
  107. package/dist/packem_shared/index-DMefdF51.js +1 -0
  108. package/dist/packem_shared/license-t5KnNX6v.js +1 -0
  109. package/dist/packem_shared/lifecycle-4z9hHE5b.js +2 -0
  110. package/dist/packem_shared/lockfile-C8Q1_4KK.js +1 -0
  111. package/dist/packem_shared/manifests-Dj3pRKBT.js +1 -0
  112. package/dist/packem_shared/min-release-age-D1alDE3K.js +34 -0
  113. package/dist/packem_shared/missing-package-json-41VUWFBY.js +1 -0
  114. package/dist/packem_shared/native-config-sync-BKAZ0NIs.js +21 -0
  115. package/dist/packem_shared/osv-bloom-B03tUWf3.js +2 -0
  116. package/dist/packem_shared/otelPlugin-DmKDBaPo.js +1 -0
  117. package/dist/packem_shared/peer-warnings-BXAzXqY3.js +1 -0
  118. package/dist/packem_shared/pm-runner-pVihAfxV.js +1 -0
  119. package/dist/packem_shared/provenance-DMuEftgc.js +1 -0
  120. package/dist/packem_shared/registry-keys-Bf2zzlcZ.js +1 -0
  121. package/dist/packem_shared/resolve-explicit-jH0RKyMJ.js +5 -0
  122. package/dist/packem_shared/runtime-check-Stc9AI78.js +1 -0
  123. package/dist/packem_shared/s1ngularity-BkfgC6NO.js +1 -0
  124. package/dist/packem_shared/scan-progress-JBbd9QeT.js +2 -0
  125. package/dist/packem_shared/selectors-GCJIe342.js +3 -0
  126. package/dist/packem_shared/signatures-D1H6h6GH.js +2 -0
  127. package/dist/packem_shared/spinner-BXSl864p.js +1 -0
  128. package/dist/packem_shared/subtree-C7bZuiSQ.js +2 -0
  129. package/dist/packem_shared/symbols-DPTlrJ3B.js +1 -0
  130. package/dist/packem_shared/tabs-BqUepRaD.js +1 -0
  131. package/dist/packem_shared/toolchain-pR7AJ-tB.js +5 -0
  132. package/dist/packem_shared/typosquats-C8qg1neE.js +1 -0
  133. package/dist/packem_shared/use-measured-height-BBJ9intr.js +1 -0
  134. package/dist/packem_shared/utils-Cxree603.js +1 -0
  135. package/dist/packem_shared/verify-Du7xZ2BJ.js +1 -0
  136. package/dist/packem_shared/vis-update-app-CTwRkNgj.js +1 -0
  137. package/dist/packem_shared/watch-BvIwLG4N.js +1 -0
  138. package/dist/packem_shared/watch-loop-DWkvv2tK.js +11 -0
  139. package/index.d.ts +201 -201
  140. package/index.js +751 -567
  141. package/package.json +16 -16
  142. package/schemas/vis-config.schema.json +4 -0
  143. package/dist/packem_shared/Table-3pFgIUZ2-DABgc6rj.js +0 -12
  144. package/dist/packem_shared/_commonjsHelpers-CLblCigl.js +0 -1
  145. package/dist/packem_shared/advisories-CGKZo9Rx.js +0 -1
  146. package/dist/packem_shared/affected-shas-BdnlfiV1.js +0 -1
  147. package/dist/packem_shared/ai-analysis-3QD_RS6F.js +0 -68
  148. package/dist/packem_shared/ai-fix-TsjDQz_0.js +0 -43
  149. package/dist/packem_shared/applyDefaults-BogleaFi.js +0 -1
  150. package/dist/packem_shared/build-scripts-DE6U8jVq.js +0 -1
  151. package/dist/packem_shared/cyclonedx-zf9R2jCs.js +0 -4
  152. package/dist/packem_shared/definePlugin-CWm4Dv_t.js +0 -1
  153. package/dist/packem_shared/dependency-scan-B70azq4x.js +0 -1
  154. package/dist/packem_shared/docker-EJiTY0Sz.js +0 -60
  155. package/dist/packem_shared/failure-log-Dxafk3t4.js +0 -2
  156. package/dist/packem_shared/giget-CcEy_Elm.js +0 -2
  157. package/dist/packem_shared/glob-D_7bct6p-D8itOHsr.js +0 -1
  158. package/dist/packem_shared/index-BpbjpCNL.js +0 -1
  159. package/dist/packem_shared/index-DH-5hsrC.js +0 -1
  160. package/dist/packem_shared/index-Dc3ht2bL.js +0 -30
  161. package/dist/packem_shared/license-zZU7aavK.js +0 -1
  162. package/dist/packem_shared/lifecycle-DvVTL8nx.js +0 -2
  163. package/dist/packem_shared/lockfile-CedmXr44.js +0 -1
  164. package/dist/packem_shared/lockfile-Cu2BH6bl.js +0 -1
  165. package/dist/packem_shared/manifests-BzWpKW8F.js +0 -1
  166. package/dist/packem_shared/min-release-age-DKMW2N_v.js +0 -34
  167. package/dist/packem_shared/missing-package-json-DKAwoiWK.js +0 -1
  168. package/dist/packem_shared/native-config-sync-DBkJ-hsF.js +0 -21
  169. package/dist/packem_shared/osv-bloom-0Vu8YRhg.js +0 -2
  170. package/dist/packem_shared/otelPlugin-CJR2T_lk.js +0 -1
  171. package/dist/packem_shared/peer-warnings-EvSJ18gE.js +0 -1
  172. package/dist/packem_shared/pm-runner-DmKT2FqF.js +0 -1
  173. package/dist/packem_shared/provenance-Cu6VR1Hy.js +0 -1
  174. package/dist/packem_shared/readFileSync-DseCu8sg-DEq4Fn3a.js +0 -1
  175. package/dist/packem_shared/registry-keys-CuBAVdsk.js +0 -1
  176. package/dist/packem_shared/resolve-explicit-Xue0oq8V.js +0 -5
  177. package/dist/packem_shared/runtime-check-CilFOqUU.js +0 -1
  178. package/dist/packem_shared/s1ngularity-adnHbyTd.js +0 -1
  179. package/dist/packem_shared/scan-progress-lZdk5KJ-.js +0 -2
  180. package/dist/packem_shared/selectors-DkgYFzdq.js +0 -3
  181. package/dist/packem_shared/signatures-FGbYV5QE.js +0 -2
  182. package/dist/packem_shared/spinner-0acw5pd_.js +0 -1
  183. package/dist/packem_shared/spinners-f91Rbo99-Bjf3NcO0.js +0 -1
  184. package/dist/packem_shared/symbols-CQmER5MT.js +0 -1
  185. package/dist/packem_shared/tabs-zUSdR1HI.js +0 -1
  186. package/dist/packem_shared/toolchain-DoG6b_G_.js +0 -5
  187. package/dist/packem_shared/typosquats-acxQ7blw.js +0 -1
  188. package/dist/packem_shared/use-measured-height-DyCBfLtu.js +0 -1
  189. package/dist/packem_shared/utils-DrNg0XTR.js +0 -1
  190. package/dist/packem_shared/verify-BYzxSKWD.js +0 -1
  191. package/dist/packem_shared/vis-update-app-D0QyGneK.js +0 -1
  192. package/dist/packem_shared/watch-DEL0yol9.js +0 -1
  193. package/dist/packem_shared/watch-loop-jmQQl2Qe.js +0 -11
package/dist/bin.js CHANGED
@@ -1,2 +1,2 @@
1
1
  #!/usr/bin/env node
2
- import"./packem_shared/index-Dc3ht2bL.js";import"./packem_chunks/bin.js";import"./packem_chunks/config.js";import"./packem_shared/readFileSync-DseCu8sg-DEq4Fn3a.js";
2
+ import"./packem_shared/index-C0Vj3XF8.js";import"./packem_chunks/bin.js";import"./packem_shared/index-BDmTbWX1.js";import"./packem_chunks/config.js";
package/dist/binx.js CHANGED
@@ -1,3 +1,3 @@
1
1
  #!/usr/bin/env node
2
- import{$ as r,m as o,a as c,I as i,p as a,i as n}from"./packem_shared/index-Dc3ht2bL.js";r();process.argv.includes("--no-color")&&(process.env.NO_COLOR="1",process.env.FORCE_COLOR="0");process.argv.slice(2).some(s=>s==="--version"||s==="-v"||s==="-V")&&(process.stdout.write(`${o.version}
2
+ import{P as r,c as o,a as c,V as i,h as a,e as n}from"./packem_shared/index-C0Vj3XF8.js";r();process.argv.includes("--no-color")&&(process.env.NO_COLOR="1",process.env.FORCE_COLOR="0");process.argv.slice(2).some(s=>s==="--version"||s==="-v"||s==="-V")&&(process.stdout.write(`${o.version}
3
3
  `),process.exit(0));process.argv.splice(2,0,"dlx");c();const e=i("visx",{packageName:"visx",packageVersion:o.version}),p=process.argv.includes("--debug")||!!process.env.DEBUG;e.addPlugin(a({detailed:p,exitOnError:!1}));e.addCommand(n);(async()=>{try{await e.run({shouldExitProcess:!1})}catch{process.exitCode=process.exitCode||1}finally{process.exit(process.exitCode??0)}})();
@@ -1,6 +1,5 @@
1
1
  import { TargetConfiguration, TaskResult, Task, FingerprintContributor, ConstraintsConfig, NamedInputs, TaskRunnerOptions } from '@visulima/task-runner';
2
- export { type FingerprintContributor } from '@visulima/task-runner';
3
- import { Hookable } from 'hookable';
2
+ export type { FingerprintContributor } from '@visulima/task-runner';
4
3
  /**
5
4
  * One family of upstream-coupled packages.
6
5
  *
@@ -485,6 +484,61 @@ interface VisTargetConfiguration extends Omit<TargetConfiguration, "options"> {
485
484
  */
486
485
  type?: TargetType;
487
486
  }
487
+ type HookCallback = (...arguments_: any) => Promise<void> | void;
488
+ type HookKeys<T> = keyof T & string;
489
+ type DeprecatedHook<T> = {
490
+ message?: string;
491
+ to: HookKeys<T>;
492
+ };
493
+ type ValueOf<C> = C extends Record<any, any> ? C[keyof C] : never;
494
+ type Strings<T> = Exclude<keyof T, number | symbol>;
495
+ type KnownKeys<T> = keyof { [K in keyof T as string extends K ? never : number extends K ? never : K]: never };
496
+ type StripGeneric<T> = Pick<T, KnownKeys<T> extends keyof T ? KnownKeys<T> : never>;
497
+ type OnlyGeneric<T> = Omit<T, KnownKeys<T> extends keyof T ? KnownKeys<T> : never>;
498
+ type Namespaces<T> = ValueOf<{ [key in Strings<T>]: key extends `${infer Namespace}:${string}` ? Namespace : never }>;
499
+ type BareHooks<T> = ValueOf<{ [key in Strings<T>]: key extends `${string}:${string}` ? never : key }>;
500
+ type HooksInNamespace<T, Namespace extends string> = ValueOf<{ [key in Strings<T>]: key extends `${Namespace}:${infer HookName}` ? HookName : never }>;
501
+ type WithoutNamespace<T, Namespace extends string> = { [key in HooksInNamespace<T, Namespace>]: `${Namespace}:${key}` extends keyof T ? T[`${Namespace}:${key}`] : never };
502
+ type NestedHooks<T> = (Partial<StripGeneric<T>> | Partial<OnlyGeneric<T>>) & Partial<{ [key in Namespaces<StripGeneric<T>>]: NestedHooks<WithoutNamespace<T, key>> }> & Partial<{ [key in BareHooks<StripGeneric<T>>]: T[key] }>;
503
+ type InferCallback<HT, HN extends keyof HT> = HT[HN] extends HookCallback ? HT[HN] : never;
504
+ type InferSpyEvent<HT extends Record<string, any>> = { [key in keyof HT]: {
505
+ name: key;
506
+ args: Parameters<HT[key]>;
507
+ context: Record<string, any>;
508
+ } }[keyof HT];
509
+ declare class Hookable<HooksT extends Record<string, any> = Record<string, HookCallback>, HookNameT extends HookKeys<HooksT> = HookKeys<HooksT>> {
510
+ private _hooks;
511
+ private _before?;
512
+ private _after?;
513
+ private _deprecatedHooks;
514
+ private _deprecatedMessages?;
515
+ constructor();
516
+ hook<NameT extends HookNameT>(name: NameT, function_: InferCallback<HooksT, NameT>, options?: {
517
+ allowDeprecated?: boolean;
518
+ }): () => void;
519
+ hookOnce<NameT extends HookNameT>(name: NameT, function_: InferCallback<HooksT, NameT>): () => void;
520
+ removeHook<NameT extends HookNameT>(name: NameT, function_: InferCallback<HooksT, NameT>): void;
521
+ clearHook<NameT extends HookNameT>(name: NameT): void;
522
+ deprecateHook<NameT extends HookNameT>(name: NameT, deprecated: HookKeys<HooksT> | DeprecatedHook<HooksT>): void;
523
+ deprecateHooks(deprecatedHooks: Partial<Record<HookNameT, DeprecatedHook<HooksT>>>): void;
524
+ addHooks(configHooks: NestedHooks<HooksT>): () => void;
525
+ removeHooks(configHooks: NestedHooks<HooksT>): void;
526
+ removeAllHooks(): void;
527
+ callHook<NameT extends HookNameT>(name: NameT, ...args: Parameters<InferCallback<HooksT, NameT>>): Promise<any> | void;
528
+ callHookParallel<NameT extends HookNameT>(name: NameT, ...args: Parameters<InferCallback<HooksT, NameT>>): Promise<any[]> | void;
529
+ callHookWith<NameT extends HookNameT, CallFunction extends (hooks: HookCallback[], args: Parameters<InferCallback<HooksT, NameT>>, name: NameT) => any>(caller: CallFunction, name: NameT, args: Parameters<InferCallback<HooksT, NameT>>): ReturnType<CallFunction>;
530
+ beforeEach(function_: (event: InferSpyEvent<HooksT>) => void): () => void;
531
+ afterEach(function_: (event: InferSpyEvent<HooksT>) => void): () => void;
532
+ }
533
+ type CreateTask = (name?: string) => {
534
+ run: (function_: () => Promise<any> | any) => Promise<any> | any;
535
+ };
536
+ declare global {
537
+ interface Console {
538
+ createTask?: CreateTask;
539
+ }
540
+ }
541
+ /** @deprecated */
488
542
  /**
489
543
  * Typed hook surface exposed to vis plugins.
490
544
  *
@@ -1543,6 +1597,24 @@ interface VisConfig {
1543
1597
  */
1544
1598
  ciGrouping?: "auto" | "azure" | "buildkite" | "github" | "gitlab" | "off";
1545
1599
  /**
1600
+ * Stay quiet when a run succeeds. When enabled:
1601
+ * - non-interactive output suppresses successful and cached tasks
1602
+ * and prints only failures (failed tasks always render in full —
1603
+ * in CI as expanded log blocks), equivalent to
1604
+ * `--output-style=quiet`; and
1605
+ * - the interactive TUI auto-closes a few seconds after a clean run
1606
+ * via a countdown dialog. A run with any failure stays open so the
1607
+ * user can inspect it.
1608
+ *
1609
+ * The explicit `--output-style` CLI flag overrides the output side,
1610
+ * a per-target `options.outputStyle` overrides both, and
1611
+ * `tui.autoExit` overrides the auto-close countdown.
1612
+ *
1613
+ * Default: `false` — every task's output is echoed and the TUI waits
1614
+ * for the user. Set to `true` to opt into quiet, auto-closing runs.
1615
+ */
1616
+ quietOnSuccess?: boolean;
1617
+ /**
1546
1618
  * One knob controlling auto-start of missing service deps.
1547
1619
  * - `auto` (default in TTY): pick by task — `dev` → ephemeral,
1548
1620
  * others → persistent.
@@ -1 +1 @@
1
- import{h as s,l as f,V as o,m as e,c as n,a as l,j as C,G as g,e as d,r}from"../packem_chunks/config.js";import{definePlugin as T}from"../packem_shared/definePlugin-CWm4Dv_t.js";import{otelPlugin as t}from"../packem_shared/otelPlugin-CJR2T_lk.js";export{s as CONFIG_FILES,f as SECURITY_DEFAULTS,o as TASK_CONFIG_FILES,e as applyDefaults,n as defineConfig,T as definePlugin,l as defineTaskConfig,C as findVisConfigFile,g as findVisTaskConfigFile,d as loadVisConfig,r as loadVisTaskConfig,t as otelPlugin};
1
+ import{m as a,C as o,h as f,k as e,r as n,o as C,b as l,j as g,Z as d,i as r}from"../packem_chunks/config.js";import{definePlugin as T}from"../packem_shared/definePlugin-DoUcoYSy.js";import{otelPlugin as t}from"../packem_shared/otelPlugin-DmKDBaPo.js";export{a as CONFIG_FILES,o as SECURITY_DEFAULTS,f as TASK_CONFIG_FILES,e as applyDefaults,n as defineConfig,T as definePlugin,C as defineTaskConfig,l as findVisConfigFile,g as findVisTaskConfigFile,d as loadVisConfig,r as loadVisTaskConfig,t as otelPlugin};
@@ -1 +1 @@
1
- var t=Object.defineProperty;var r=(e,a)=>t(e,"name",{value:a,configurable:!0});var c=Object.defineProperty,l=r((e,a)=>c(e,"name",{value:a,configurable:!0}),"a");const o=l(e=>e,"createTemplate");export{o as createTemplate};
1
+ const t=e=>e;export{t as createTemplate};