ph-cmd 6.0.0-dev.6 → 6.0.0-dev.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 (139) hide show
  1. package/build/cli.js +1495 -0
  2. package/package.json +8 -8
  3. package/dist/scripts/generate-commands-md.d.ts +0 -2
  4. package/dist/scripts/generate-commands-md.d.ts.map +0 -1
  5. package/dist/scripts/generate-commands-md.js +0 -72
  6. package/dist/scripts/generate-commands-md.js.map +0 -1
  7. package/dist/scripts/generate-version.d.ts +0 -2
  8. package/dist/scripts/generate-version.d.ts.map +0 -1
  9. package/dist/scripts/generate-version.js +0 -13
  10. package/dist/scripts/generate-version.js.map +0 -1
  11. package/dist/src/cli.d.ts +0 -3
  12. package/dist/src/cli.d.ts.map +0 -1
  13. package/dist/src/cli.js +0 -120
  14. package/dist/src/cli.js.map +0 -1
  15. package/dist/src/commands/__tests__/update.test.d.ts +0 -2
  16. package/dist/src/commands/__tests__/update.test.d.ts.map +0 -1
  17. package/dist/src/commands/__tests__/update.test.js +0 -157
  18. package/dist/src/commands/__tests__/update.test.js.map +0 -1
  19. package/dist/src/commands/__tests__/use.test.d.ts +0 -2
  20. package/dist/src/commands/__tests__/use.test.d.ts.map +0 -1
  21. package/dist/src/commands/__tests__/use.test.js +0 -496
  22. package/dist/src/commands/__tests__/use.test.js.map +0 -1
  23. package/dist/src/commands/checkout.d.ts +0 -9
  24. package/dist/src/commands/checkout.d.ts.map +0 -1
  25. package/dist/src/commands/checkout.js +0 -37
  26. package/dist/src/commands/checkout.js.map +0 -1
  27. package/dist/src/commands/forward.d.ts +0 -7
  28. package/dist/src/commands/forward.d.ts.map +0 -1
  29. package/dist/src/commands/forward.js +0 -45
  30. package/dist/src/commands/forward.js.map +0 -1
  31. package/dist/src/commands/help.d.ts +0 -7
  32. package/dist/src/commands/help.d.ts.map +0 -1
  33. package/dist/src/commands/help.js +0 -14
  34. package/dist/src/commands/help.js.map +0 -1
  35. package/dist/src/commands/index.d.ts +0 -9
  36. package/dist/src/commands/index.d.ts.map +0 -1
  37. package/dist/src/commands/index.js +0 -15
  38. package/dist/src/commands/index.js.map +0 -1
  39. package/dist/src/commands/init.d.ts +0 -2
  40. package/dist/src/commands/init.d.ts.map +0 -1
  41. package/dist/src/commands/init.js +0 -165
  42. package/dist/src/commands/init.js.map +0 -1
  43. package/dist/src/commands/setup-globals.d.ts +0 -20
  44. package/dist/src/commands/setup-globals.d.ts.map +0 -1
  45. package/dist/src/commands/setup-globals.js +0 -24
  46. package/dist/src/commands/setup-globals.js.map +0 -1
  47. package/dist/src/commands/update.d.ts +0 -2
  48. package/dist/src/commands/update.d.ts.map +0 -1
  49. package/dist/src/commands/update.js +0 -95
  50. package/dist/src/commands/update.js.map +0 -1
  51. package/dist/src/commands/update.old.d.ts +0 -13
  52. package/dist/src/commands/update.old.d.ts.map +0 -1
  53. package/dist/src/commands/update.old.js +0 -105
  54. package/dist/src/commands/update.old.js.map +0 -1
  55. package/dist/src/commands/use-local.d.ts +0 -2
  56. package/dist/src/commands/use-local.d.ts.map +0 -1
  57. package/dist/src/commands/use-local.js +0 -115
  58. package/dist/src/commands/use-local.js.map +0 -1
  59. package/dist/src/commands/use.d.ts +0 -2
  60. package/dist/src/commands/use.d.ts.map +0 -1
  61. package/dist/src/commands/use.js +0 -117
  62. package/dist/src/commands/use.js.map +0 -1
  63. package/dist/src/commands/use.old.d.ts +0 -55
  64. package/dist/src/commands/use.old.d.ts.map +0 -1
  65. package/dist/src/commands/use.old.js +0 -219
  66. package/dist/src/commands/use.old.js.map +0 -1
  67. package/dist/src/commands/version.d.ts +0 -5
  68. package/dist/src/commands/version.d.ts.map +0 -1
  69. package/dist/src/commands/version.js +0 -42
  70. package/dist/src/commands/version.js.map +0 -1
  71. package/dist/src/help.d.ts +0 -25
  72. package/dist/src/help.d.ts.map +0 -1
  73. package/dist/src/help.js +0 -230
  74. package/dist/src/help.js.map +0 -1
  75. package/dist/src/index.d.ts +0 -3
  76. package/dist/src/index.d.ts.map +0 -1
  77. package/dist/src/index.js +0 -3
  78. package/dist/src/index.js.map +0 -1
  79. package/dist/src/types.d.ts +0 -2
  80. package/dist/src/types.d.ts.map +0 -1
  81. package/dist/src/types.js +0 -2
  82. package/dist/src/types.js.map +0 -1
  83. package/dist/src/utils/constants.d.ts +0 -59
  84. package/dist/src/utils/constants.d.ts.map +0 -1
  85. package/dist/src/utils/constants.js +0 -102
  86. package/dist/src/utils/constants.js.map +0 -1
  87. package/dist/src/utils/dependencies.d.ts +0 -4
  88. package/dist/src/utils/dependencies.d.ts.map +0 -1
  89. package/dist/src/utils/dependencies.js +0 -61
  90. package/dist/src/utils/dependencies.js.map +0 -1
  91. package/dist/src/utils/file-system.d.ts +0 -2
  92. package/dist/src/utils/file-system.d.ts.map +0 -1
  93. package/dist/src/utils/file-system.js +0 -12
  94. package/dist/src/utils/file-system.js.map +0 -1
  95. package/dist/src/utils/help-formatting.d.ts +0 -35
  96. package/dist/src/utils/help-formatting.d.ts.map +0 -1
  97. package/dist/src/utils/help-formatting.js +0 -188
  98. package/dist/src/utils/help-formatting.js.map +0 -1
  99. package/dist/src/utils/help.d.ts +0 -31
  100. package/dist/src/utils/help.d.ts.map +0 -1
  101. package/dist/src/utils/help.js +0 -72
  102. package/dist/src/utils/help.js.map +0 -1
  103. package/dist/src/utils/index.d.ts +0 -8
  104. package/dist/src/utils/index.d.ts.map +0 -1
  105. package/dist/src/utils/index.js +0 -7
  106. package/dist/src/utils/index.js.map +0 -1
  107. package/dist/src/utils/package-manager.d.ts +0 -27
  108. package/dist/src/utils/package-manager.d.ts.map +0 -1
  109. package/dist/src/utils/package-manager.js +0 -177
  110. package/dist/src/utils/package-manager.js.map +0 -1
  111. package/dist/src/utils/parsing.d.ts +0 -20
  112. package/dist/src/utils/parsing.d.ts.map +0 -1
  113. package/dist/src/utils/parsing.js +0 -52
  114. package/dist/src/utils/parsing.js.map +0 -1
  115. package/dist/src/utils/run-cmd.d.ts +0 -2
  116. package/dist/src/utils/run-cmd.d.ts.map +0 -1
  117. package/dist/src/utils/run-cmd.js +0 -11
  118. package/dist/src/utils/run-cmd.js.map +0 -1
  119. package/dist/src/utils/types.d.ts +0 -21
  120. package/dist/src/utils/types.d.ts.map +0 -1
  121. package/dist/src/utils/types.js +0 -2
  122. package/dist/src/utils/types.js.map +0 -1
  123. package/dist/src/utils/validate-remote-drive-checkout.d.ts +0 -7
  124. package/dist/src/utils/validate-remote-drive-checkout.d.ts.map +0 -1
  125. package/dist/src/utils/validate-remote-drive-checkout.js +0 -45
  126. package/dist/src/utils/validate-remote-drive-checkout.js.map +0 -1
  127. package/dist/src/utils/validate-remote-drive.d.ts +0 -7
  128. package/dist/src/utils/validate-remote-drive.d.ts.map +0 -1
  129. package/dist/src/utils/validate-remote-drive.js +0 -51
  130. package/dist/src/utils/validate-remote-drive.js.map +0 -1
  131. package/dist/src/version.d.ts +0 -2
  132. package/dist/src/version.d.ts.map +0 -1
  133. package/dist/src/version.js +0 -3
  134. package/dist/src/version.js.map +0 -1
  135. package/dist/tsconfig.tsbuildinfo +0 -1
  136. package/dist/vitest.config.d.ts +0 -3
  137. package/dist/vitest.config.d.ts.map +0 -1
  138. package/dist/vitest.config.js +0 -7
  139. package/dist/vitest.config.js.map +0 -1
@@ -1,115 +0,0 @@
1
- import chalk from "chalk";
2
- import { boolean, command, flag, option, optional, positional, run, string, } from "cmd-ts";
3
- import path from "path";
4
- import { readPackage } from "read-pkg";
5
- import { writePackage } from "write-package";
6
- import { ALL_POWERHOUSE_DEPENDENCIES, APPS_DEPENDENCIES, CLIS_DEPENDENCIES, } from "../utils/constants.js";
7
- import { dirExists } from "../utils/file-system.js";
8
- import { logVersionUpdate } from "../utils/parsing.js";
9
- import { runCmd } from "../utils/run-cmd.js";
10
- const commandParser = command({
11
- name: "ph use-local",
12
- description: "Use your local `powerhouse` monorepo dependencies the current project. NOTE: The monorepo uses `pnpm`, so this only works with `pnpm`.",
13
- args: {
14
- monorepoPathPositional: positional({
15
- type: optional(string),
16
- displayName: "monorepo path",
17
- description: "Path to your local powerhouse monorepo relative to this project",
18
- }),
19
- monorepoPathOption: option({
20
- type: optional(string),
21
- long: "path",
22
- short: "p",
23
- description: "Path to your local powerhouse monorepo relative to this project",
24
- }),
25
- skipInstall: flag({
26
- type: optional(boolean),
27
- long: "skip-install",
28
- short: "s",
29
- description: "Skip running `install` with `pnpm`",
30
- }),
31
- },
32
- handler: async ({ monorepoPathPositional, monorepoPathOption, skipInstall, }) => {
33
- const monorepoPath = monorepoPathPositional ?? monorepoPathOption;
34
- if (!monorepoPath) {
35
- throw new Error("❌ Please provide the path to your local powerhouse monorepo.");
36
- }
37
- const monorepoDirExists = await dirExists(monorepoPath);
38
- if (!monorepoDirExists) {
39
- throw new Error("❌ No directory found at the powerhouse monorepo path you specified.");
40
- }
41
- console.log(`\n▶️ Linking powerhouse dependencies to "${chalk.bold(monorepoPath)}...\n`);
42
- const packageJson = await readPackage();
43
- if (packageJson.dependencies) {
44
- for (const [name, version] of Object.entries(packageJson.dependencies)) {
45
- if (version && ALL_POWERHOUSE_DEPENDENCIES.includes(name)) {
46
- const newVersion = buildPnpmLink(name, monorepoPath);
47
- packageJson.dependencies[name] = newVersion;
48
- logVersionUpdate({
49
- name,
50
- version,
51
- newVersion,
52
- });
53
- }
54
- }
55
- }
56
- if (packageJson.devDependencies) {
57
- for (const [name, version] of Object.entries(packageJson.devDependencies)) {
58
- if (version && ALL_POWERHOUSE_DEPENDENCIES.includes(name)) {
59
- const newVersion = buildPnpmLink(name, monorepoPath);
60
- packageJson.devDependencies[name] = newVersion;
61
- logVersionUpdate({
62
- name,
63
- version,
64
- newVersion,
65
- });
66
- }
67
- }
68
- }
69
- if (packageJson.optionalDependencies) {
70
- for (const [name, version] of Object.entries(packageJson.optionalDependencies)) {
71
- if (version && ALL_POWERHOUSE_DEPENDENCIES.includes(name)) {
72
- const newVersion = buildPnpmLink(name, monorepoPath);
73
- packageJson.optionalDependencies[name] = newVersion;
74
- logVersionUpdate({
75
- name,
76
- version,
77
- newVersion,
78
- });
79
- }
80
- }
81
- }
82
- if (packageJson.peerDependencies) {
83
- for (const [name, version] of Object.entries(packageJson.peerDependencies)) {
84
- if (version && ALL_POWERHOUSE_DEPENDENCIES.includes(name)) {
85
- const newVersion = buildPnpmLink(name, monorepoPath);
86
- packageJson.peerDependencies[name] = newVersion;
87
- logVersionUpdate({
88
- name,
89
- version,
90
- newVersion,
91
- });
92
- }
93
- }
94
- }
95
- await writePackage(packageJson);
96
- console.log(chalk.green(`\n✅ Project linked successfully\n`));
97
- if (skipInstall)
98
- return;
99
- console.log(`Installing linked dependencies with \`pnpm\`\n`);
100
- runCmd(`pnpm install`);
101
- },
102
- });
103
- function buildPnpmLink(packageName, monorepoPath) {
104
- const isCli = CLIS_DEPENDENCIES.includes(packageName);
105
- const isApp = APPS_DEPENDENCIES.includes(packageName);
106
- const packageDir = isCli ? "clis" : isApp ? "apps" : "packages";
107
- const packageNameWithoutNamespace = packageName.replace("@powerhousedao/", "");
108
- const packagePath = path.join(monorepoPath, packageDir, packageNameWithoutNamespace);
109
- const pnpmLink = `link:${packagePath}`;
110
- return pnpmLink;
111
- }
112
- export async function useLocal(args) {
113
- await run(commandParser, args);
114
- }
115
- //# sourceMappingURL=use-local.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"use-local.js","sourceRoot":"","sources":["../../../src/commands/use-local.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EACL,OAAO,EACP,OAAO,EACP,IAAI,EACJ,MAAM,EACN,QAAQ,EACR,UAAU,EACV,GAAG,EACH,MAAM,GACP,MAAM,QAAQ,CAAC;AAChB,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AACvC,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EACL,2BAA2B,EAC3B,iBAAiB,EACjB,iBAAiB,GAClB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAE7C,MAAM,aAAa,GAAG,OAAO,CAAC;IAC5B,IAAI,EAAE,cAAc;IACpB,WAAW,EACT,wIAAwI;IAC1I,IAAI,EAAE;QACJ,sBAAsB,EAAE,UAAU,CAAC;YACjC,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC;YACtB,WAAW,EAAE,eAAe;YAC5B,WAAW,EACT,iEAAiE;SACpE,CAAC;QACF,kBAAkB,EAAE,MAAM,CAAC;YACzB,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC;YACtB,IAAI,EAAE,MAAM;YACZ,KAAK,EAAE,GAAG;YACV,WAAW,EACT,iEAAiE;SACpE,CAAC;QACF,WAAW,EAAE,IAAI,CAAC;YAChB,IAAI,EAAE,QAAQ,CAAC,OAAO,CAAC;YACvB,IAAI,EAAE,cAAc;YACpB,KAAK,EAAE,GAAG;YACV,WAAW,EAAE,oCAAoC;SAClD,CAAC;KACH;IACD,OAAO,EAAE,KAAK,EAAE,EACd,sBAAsB,EACtB,kBAAkB,EAClB,WAAW,GACZ,EAAE,EAAE;QACH,MAAM,YAAY,GAAG,sBAAsB,IAAI,kBAAkB,CAAC;QAElE,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CACb,8DAA8D,CAC/D,CAAC;QACJ,CAAC;QAED,MAAM,iBAAiB,GAAG,MAAM,SAAS,CAAC,YAAY,CAAC,CAAC;QAExD,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACvB,MAAM,IAAI,KAAK,CACb,qEAAqE,CACtE,CAAC;QACJ,CAAC;QAED,OAAO,CAAC,GAAG,CACT,4CAA4C,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAC5E,CAAC;QAEF,MAAM,WAAW,GAAG,MAAM,WAAW,EAAE,CAAC;QAExC,IAAI,WAAW,CAAC,YAAY,EAAE,CAAC;YAC7B,KAAK,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,YAAY,CAAC,EAAE,CAAC;gBACvE,IAAI,OAAO,IAAI,2BAA2B,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC1D,MAAM,UAAU,GAAG,aAAa,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;oBACrD,WAAW,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC;oBAC5C,gBAAgB,CAAC;wBACf,IAAI;wBACJ,OAAO;wBACP,UAAU;qBACX,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;QACH,CAAC;QAED,IAAI,WAAW,CAAC,eAAe,EAAE,CAAC;YAChC,KAAK,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAC1C,WAAW,CAAC,eAAe,CAC5B,EAAE,CAAC;gBACF,IAAI,OAAO,IAAI,2BAA2B,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC1D,MAAM,UAAU,GAAG,aAAa,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;oBACrD,WAAW,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC;oBAC/C,gBAAgB,CAAC;wBACf,IAAI;wBACJ,OAAO;wBACP,UAAU;qBACX,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;QACH,CAAC;QAED,IAAI,WAAW,CAAC,oBAAoB,EAAE,CAAC;YACrC,KAAK,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAC1C,WAAW,CAAC,oBAAoB,CACjC,EAAE,CAAC;gBACF,IAAI,OAAO,IAAI,2BAA2B,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC1D,MAAM,UAAU,GAAG,aAAa,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;oBACrD,WAAW,CAAC,oBAAoB,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC;oBACpD,gBAAgB,CAAC;wBACf,IAAI;wBACJ,OAAO;wBACP,UAAU;qBACX,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;QACH,CAAC;QAED,IAAI,WAAW,CAAC,gBAAgB,EAAE,CAAC;YACjC,KAAK,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAC1C,WAAW,CAAC,gBAAgB,CAC7B,EAAE,CAAC;gBACF,IAAI,OAAO,IAAI,2BAA2B,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC1D,MAAM,UAAU,GAAG,aAAa,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;oBACrD,WAAW,CAAC,gBAAgB,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC;oBAChD,gBAAgB,CAAC;wBACf,IAAI;wBACJ,OAAO;wBACP,UAAU;qBACX,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;QACH,CAAC;QAED,MAAM,YAAY,CAAC,WAAW,CAAC,CAAC;QAEhC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,mCAAmC,CAAC,CAAC,CAAC;QAE9D,IAAI,WAAW;YAAE,OAAO;QAExB,OAAO,CAAC,GAAG,CAAC,gDAAgD,CAAC,CAAC;QAC9D,MAAM,CAAC,cAAc,CAAC,CAAC;IACzB,CAAC;CACF,CAAC,CAAC;AAEH,SAAS,aAAa,CAAC,WAAmB,EAAE,YAAoB;IAC9D,MAAM,KAAK,GAAG,iBAAiB,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;IACtD,MAAM,KAAK,GAAG,iBAAiB,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;IACtD,MAAM,UAAU,GAAG,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC;IAChE,MAAM,2BAA2B,GAAG,WAAW,CAAC,OAAO,CACrD,iBAAiB,EACjB,EAAE,CACH,CAAC;IACF,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAC3B,YAAY,EACZ,UAAU,EACV,2BAA2B,CAC5B,CAAC;IACF,MAAM,QAAQ,GAAG,QAAQ,WAAW,EAAE,CAAC;IAEvC,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,IAAc;IAC3C,MAAM,GAAG,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;AACjC,CAAC"}
@@ -1,2 +0,0 @@
1
- export declare function use(args: string[]): Promise<void>;
2
- //# sourceMappingURL=use.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"use.d.ts","sourceRoot":"","sources":["../../../src/commands/use.ts"],"names":[],"mappings":"AAiKA,wBAAsB,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,iBAEvC"}
@@ -1,117 +0,0 @@
1
- import { getPackageVersion } from "@powerhousedao/codegen/utils";
2
- import chalk from "chalk";
3
- import { boolean, command, flag, oneOf, option, optional, positional, run, string, } from "cmd-ts";
4
- import { detect } from "package-manager-detector/detect";
5
- import { readPackage } from "read-pkg";
6
- import { clean, valid } from "semver";
7
- import { writePackage } from "write-package";
8
- import { ALL_POWERHOUSE_DEPENDENCIES } from "../utils/constants.js";
9
- import { handleMutuallyExclusiveOptions, logVersionUpdate, } from "../utils/parsing.js";
10
- import { runCmd } from "../utils/run-cmd.js";
11
- const commandParser = command({
12
- name: "ph use",
13
- description: "Specify the release version of Powerhouse dependencies to use.\nTo use a release tag, specify `staging`, `dev`, or `latest` as the first argument to this command or with the --tag option.\n You can also use a specific version with the --version option.",
14
- args: {
15
- tagPositional: positional({
16
- type: optional(oneOf(["latest", "staging", "dev"])),
17
- displayName: "tag",
18
- description: `Specify the release tag to use for your project. Can be one of: "latest", "staging", or "dev".`,
19
- }),
20
- tagOption: option({
21
- type: optional(oneOf(["latest", "staging", "dev"])),
22
- long: "tag",
23
- short: "t",
24
- description: `Specify the release tag to use for your project. Can be one of: "latest", "staging", or "dev".`,
25
- }),
26
- version: option({
27
- type: optional(string),
28
- long: "version",
29
- short: "v",
30
- description: "Specify the exact semver release version to use for your project.",
31
- }),
32
- skipInstall: flag({
33
- type: optional(boolean),
34
- long: "skip-install",
35
- short: "s",
36
- description: "Skip running `install` with your package manager",
37
- }),
38
- },
39
- handler: async ({ tagPositional, tagOption, version, skipInstall }) => {
40
- const tag = tagPositional ?? tagOption;
41
- handleMutuallyExclusiveOptions({ tag, version }, "versioning strategy");
42
- if (!tag && !version) {
43
- throw new Error("Please specify either a release tag or a version to use.");
44
- }
45
- if (version && !valid(clean(version))) {
46
- throw new Error(`❌ Invalid version: ${chalk.bold(version)}`);
47
- }
48
- console.log(`▶️ Updating project to use ${chalk.bold(version ?? tag)}...\n`);
49
- const packageJson = await readPackage();
50
- if (packageJson.dependencies) {
51
- for (const [name, existingVersion] of Object.entries(packageJson.dependencies)) {
52
- if (existingVersion && ALL_POWERHOUSE_DEPENDENCIES.includes(name)) {
53
- const newVersion = await getPackageVersion({ name, tag, version });
54
- packageJson.dependencies[name] = newVersion;
55
- logVersionUpdate({
56
- name,
57
- version: existingVersion,
58
- newVersion,
59
- });
60
- }
61
- }
62
- }
63
- if (packageJson.devDependencies) {
64
- for (const [name, existingVersion] of Object.entries(packageJson.devDependencies)) {
65
- if (existingVersion && ALL_POWERHOUSE_DEPENDENCIES.includes(name)) {
66
- const newVersion = await getPackageVersion({ name, tag, version });
67
- packageJson.devDependencies[name] = newVersion;
68
- logVersionUpdate({
69
- name,
70
- version: existingVersion,
71
- newVersion,
72
- });
73
- }
74
- }
75
- }
76
- if (packageJson.optionalDependencies) {
77
- for (const [name, existingVersion] of Object.entries(packageJson.optionalDependencies)) {
78
- if (existingVersion && ALL_POWERHOUSE_DEPENDENCIES.includes(name)) {
79
- const newVersion = await getPackageVersion({ name, tag, version });
80
- packageJson.optionalDependencies[name] = newVersion;
81
- logVersionUpdate({
82
- name,
83
- version: existingVersion,
84
- newVersion,
85
- });
86
- }
87
- }
88
- }
89
- if (packageJson.peerDependencies) {
90
- for (const [name, existingVersion] of Object.entries(packageJson.peerDependencies)) {
91
- if (existingVersion && ALL_POWERHOUSE_DEPENDENCIES.includes(name)) {
92
- const newVersion = await getPackageVersion({ name, tag, version });
93
- packageJson.peerDependencies[name] = newVersion;
94
- logVersionUpdate({
95
- name,
96
- version: existingVersion,
97
- newVersion,
98
- });
99
- }
100
- }
101
- }
102
- await writePackage(packageJson);
103
- console.log(chalk.green(`\n✅ Project updated to use ${chalk.bold(version ?? tag)}\n`));
104
- if (skipInstall)
105
- return;
106
- const packageManager = await detect();
107
- if (!packageManager) {
108
- throw new Error(`❌ Failed to detect your package manager. Run install manually.`);
109
- }
110
- console.log(`▶️ Installing updated dependencies with \`${packageManager.agent}\`\n`);
111
- runCmd(`${packageManager.agent} install`);
112
- },
113
- });
114
- export async function use(args) {
115
- await run(commandParser, args);
116
- }
117
- //# sourceMappingURL=use.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"use.js","sourceRoot":"","sources":["../../../src/commands/use.ts"],"names":[],"mappings":"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"}
@@ -1,55 +0,0 @@
1
- import type { Command } from "commander";
2
- import type { CommandActionType } from "../types.js";
3
- import type { PackageManager } from "../utils/index.js";
4
- export declare const ORG = "@powerhousedao";
5
- export declare const SPECIAL_PACKAGES: string[];
6
- export declare const EXCLUDED_PACKAGES: string[];
7
- /**
8
- * Detects all Powerhouse packages from package.json dependencies
9
- * @param packageJson - The parsed package.json object
10
- * @returns Array of package names to process
11
- */
12
- export declare function detectPowerhousePackages(packageJson: {
13
- dependencies?: Record<string, string>;
14
- devDependencies?: Record<string, string>;
15
- }): string[];
16
- /**
17
- * Maps a package name to its monorepo directory path by reading package.json files
18
- * @param packageName - The package name (e.g., '@powerhousedao/common' or 'document-model')
19
- * @param localPath - The base path to the monorepo
20
- * @returns The full path to the package directory
21
- */
22
- export declare function mapPackageToMonorepoPath(packageName: string, localPath: string): string;
23
- export declare const ENV_MAP: {
24
- dev: string;
25
- staging: string;
26
- prod: string;
27
- latest: string;
28
- };
29
- export type Environment = keyof typeof ENV_MAP;
30
- /**
31
- * Checks if a string is a valid semver version
32
- * Supports formats like: 1.0.0, 1.0.0-beta.1, 1.0.0-dev.123, v1.0.0
33
- */
34
- export declare function isVersionString(str: string): boolean;
35
- export declare const updatePackageJson: (envOrVersion: (typeof ENV_MAP)[keyof typeof ENV_MAP], localPath?: string, packageManager?: PackageManager, debug?: boolean, useResolved?: boolean) => Promise<void>;
36
- export type UseOptions = {
37
- dev?: boolean;
38
- prod?: boolean;
39
- local?: string;
40
- debug?: boolean;
41
- latest?: boolean;
42
- force?: boolean;
43
- packageManager?: string;
44
- pnpm?: boolean;
45
- yarn?: boolean;
46
- bun?: boolean;
47
- useResolved?: boolean;
48
- };
49
- export declare const use: CommandActionType<[
50
- string | undefined,
51
- string | undefined,
52
- UseOptions
53
- ]>;
54
- export declare function useCommand(program: Command): Command;
55
- //# sourceMappingURL=use.old.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"use.old.d.ts","sourceRoot":"","sources":["../../../src/commands/use.old.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIzC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAUxD,eAAO,MAAM,GAAG,mBAAmB,CAAC;AAGpC,eAAO,MAAM,gBAAgB,UAI5B,CAAC;AAGF,eAAO,MAAM,iBAAiB,UAS7B,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,WAAW,EAAE;IACpD,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC1C,GAAG,MAAM,EAAE,CAuBX;AAED;;;;;GAKG;AACH,wBAAgB,wBAAwB,CACtC,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,GAChB,MAAM,CA2CR;AAED,eAAO,MAAM,OAAO;;;;;CAKnB,CAAC;AAGF,MAAM,MAAM,WAAW,GAAG,MAAM,OAAO,OAAO,CAAC;AAE/C;;;GAGG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAOpD;AAED,eAAO,MAAM,iBAAiB,GAC5B,cAAc,CAAC,OAAO,OAAO,EAAE,MAAM,OAAO,OAAO,CAAC,EACpD,YAAY,MAAM,EAClB,iBAAiB,cAAc,EAC/B,QAAQ,OAAO,EACf,cAAc,OAAO,kBAgEtB,CAAC;AAGF,MAAM,MAAM,UAAU,GAAG;IACvB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB,CAAC;AAEF,eAAO,MAAM,GAAG,EAAE,iBAAiB,CACjC;IAAC,MAAM,GAAG,SAAS;IAAE,MAAM,GAAG,SAAS;IAAE,UAAU;CAAC,CA0CrD,CAAC;AAEF,wBAAgB,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAyCpD"}
@@ -1,219 +0,0 @@
1
- import { existsSync, readdirSync, readFileSync } from "node:fs";
2
- import path from "node:path";
3
- import { useHelp } from "../help.js";
4
- import { getPackageManagerFromLockfile, getProjectInfo, installDependency, updateDependencyVersionString, withCustomHelp, } from "../utils/index.js";
5
- import { parsePackageManager } from "../utils/parsing.js";
6
- export const ORG = "@powerhousedao";
7
- // Special packages that don't use the @powerhousedao organization
8
- export const SPECIAL_PACKAGES = [
9
- "document-model",
10
- "document-drive",
11
- "@renown/sdk",
12
- ];
13
- // Packages to exclude from dynamic detection (external dependencies)
14
- export const EXCLUDED_PACKAGES = [
15
- "@powerhousedao/document-engineering",
16
- "@powerhousedao/scalars",
17
- "@powerhousedao/diff-analyzer",
18
- "@powerhousedao/analytics-engine-core",
19
- "@powerhousedao/analytics-engine-graphql",
20
- "@powerhousedao/analytics-engine-pg",
21
- "@powerhousedao/analytics-engine-browser",
22
- "@powerhousedao/analytics-engine-knex",
23
- ];
24
- /**
25
- * Detects all Powerhouse packages from package.json dependencies
26
- * @param packageJson - The parsed package.json object
27
- * @returns Array of package names to process
28
- */
29
- export function detectPowerhousePackages(packageJson) {
30
- const allDependencies = {
31
- ...(packageJson.dependencies || {}),
32
- ...(packageJson.devDependencies || {}),
33
- };
34
- const powerhousePackages = [];
35
- // Find all @powerhousedao packages (excluding document-engineering)
36
- Object.keys(allDependencies).forEach((dep) => {
37
- if (dep.startsWith(ORG + "/") && !EXCLUDED_PACKAGES.includes(dep)) {
38
- powerhousePackages.push(dep);
39
- }
40
- });
41
- // Add special packages if they exist
42
- SPECIAL_PACKAGES.forEach((pkg) => {
43
- if (allDependencies[pkg]) {
44
- powerhousePackages.push(pkg);
45
- }
46
- });
47
- return powerhousePackages;
48
- }
49
- /**
50
- * Maps a package name to its monorepo directory path by reading package.json files
51
- * @param packageName - The package name (e.g., '@powerhousedao/common' or 'document-model')
52
- * @param localPath - The base path to the monorepo
53
- * @returns The full path to the package directory
54
- */
55
- export function mapPackageToMonorepoPath(packageName, localPath) {
56
- // Search in all possible locations
57
- const searchDirs = [
58
- path.join(localPath, "packages"),
59
- path.join(localPath, "apps"),
60
- path.join(localPath, "clis"),
61
- ];
62
- for (const searchDir of searchDirs) {
63
- if (!existsSync(searchDir))
64
- continue;
65
- try {
66
- // Read all subdirectories
67
- const subdirs = readdirSync(searchDir, { withFileTypes: true })
68
- .filter((dirent) => dirent.isDirectory())
69
- .map((dirent) => dirent.name);
70
- // Check each subdirectory's package.json
71
- for (const subdir of subdirs) {
72
- const packageJsonPath = path.join(searchDir, subdir, "package.json");
73
- if (existsSync(packageJsonPath)) {
74
- try {
75
- const content = readFileSync(packageJsonPath, "utf-8");
76
- const pkg = JSON.parse(content);
77
- if (pkg.name === packageName) {
78
- return path.join(searchDir, subdir);
79
- }
80
- }
81
- catch {
82
- // Ignore invalid package.json files
83
- }
84
- }
85
- }
86
- }
87
- catch {
88
- // Ignore errors reading directory
89
- continue;
90
- }
91
- }
92
- // Fallback to old behavior if not found
93
- const baseName = packageName.startsWith(ORG + "/")
94
- ? packageName.substring(ORG.length + 1)
95
- : packageName;
96
- return path.join(localPath, "packages", baseName);
97
- }
98
- export const ENV_MAP = {
99
- dev: "dev",
100
- staging: "staging",
101
- prod: "latest",
102
- latest: "latest",
103
- };
104
- /**
105
- * Checks if a string is a valid semver version
106
- * Supports formats like: 1.0.0, 1.0.0-beta.1, 1.0.0-dev.123, v1.0.0
107
- */
108
- export function isVersionString(str) {
109
- // Remove leading 'v' if present
110
- const version = str.startsWith("v") ? str.slice(1) : str;
111
- // Semver regex pattern
112
- const semverPattern = /^\d+\.\d+\.\d+(-[a-zA-Z0-9]+(\.[a-zA-Z0-9]+)*)?(\+[a-zA-Z0-9]+(\.[a-zA-Z0-9]+)*)?$/;
113
- return semverPattern.test(version);
114
- }
115
- export const updatePackageJson = async (envOrVersion, localPath, packageManager, debug, useResolved) => {
116
- const projectInfo = await getProjectInfo();
117
- const pkgManager = packageManager || getPackageManagerFromLockfile(projectInfo.path);
118
- if (debug) {
119
- console.log(">>> projectInfo", projectInfo);
120
- console.log(">>> pkgManager", pkgManager);
121
- }
122
- // Read the project's package.json
123
- const packageJsonPath = path.join(projectInfo.path, "package.json");
124
- const packageJsonContent = readFileSync(packageJsonPath, "utf-8");
125
- const packageJson = JSON.parse(packageJsonContent);
126
- // Detect all Powerhouse packages from the current package.json
127
- const powerhousePackages = detectPowerhousePackages(packageJson);
128
- const dependencies = [];
129
- if (localPath) {
130
- // For local path, map each detected package to its monorepo path
131
- powerhousePackages.forEach((packageName) => {
132
- const fullPath = mapPackageToMonorepoPath(packageName, localPath);
133
- dependencies.push(fullPath);
134
- });
135
- }
136
- else {
137
- // Determine the version tag to use
138
- // For specific versions, add ^ prefix to allow semver range updates
139
- const versionTag = isVersionString(envOrVersion)
140
- ? `^${envOrVersion.replace(/^v/, "")}` // Remove leading 'v' if present and add ^
141
- : ENV_MAP[envOrVersion];
142
- // For remote dependencies, add version tags
143
- powerhousePackages.forEach((packageName) => {
144
- dependencies.push(`${packageName}@${versionTag}`);
145
- });
146
- }
147
- if (debug) {
148
- console.log(">>> dependencies to update", dependencies);
149
- }
150
- if (dependencies.length === 0) {
151
- console.log("ℹ️ No Powerhouse dependencies found to update");
152
- return;
153
- }
154
- try {
155
- console.log("⚙️ Updating dependencies...");
156
- if (localPath || useResolved) {
157
- installDependency(pkgManager, dependencies, projectInfo.path);
158
- }
159
- else {
160
- updateDependencyVersionString(pkgManager, dependencies, projectInfo.path);
161
- }
162
- console.log("✅ Dependencies updated successfully");
163
- }
164
- catch (error) {
165
- console.error("❌ Failed to update dependencies");
166
- throw error;
167
- }
168
- };
169
- export const use = async (environment, localPath, options) => {
170
- const isVersion = environment ? isVersionString(environment) : false;
171
- if (!environment ||
172
- (!options.force &&
173
- environment !== "local" &&
174
- !isVersion &&
175
- !Object.keys(ENV_MAP).includes(environment))) {
176
- throw new Error(`❌ Invalid environment, use --force or use one of the following: ${Object.keys(ENV_MAP).join(", ")}, or a specific version (e.g., 5.1.0)`);
177
- }
178
- if (environment === "local" && !localPath) {
179
- throw new Error("❌ Local environment requires a local path, please specify the path to the local environment");
180
- }
181
- const { debug } = options;
182
- // environment can be an Environment key or a version string
183
- const envOrVersion = environment;
184
- if (debug) {
185
- console.log(">>> options", options);
186
- }
187
- const projectInfo = await getProjectInfo();
188
- const packageManager = parsePackageManager(options) ??
189
- getPackageManagerFromLockfile(projectInfo.path);
190
- await updatePackageJson(envOrVersion, localPath, packageManager, debug, options.useResolved);
191
- };
192
- export function useCommand(program) {
193
- const useCmd = program
194
- .command("use")
195
- .description("Allows you to change your environment (latest, dev, staging, prod, local) or use a specific version (e.g., 5.1.0)")
196
- .argument("[environment]", "The environment to use (latest, dev, staging, prod, local) or a specific version (e.g., 5.1.0)")
197
- .argument("[localPath]", "The path to the local environment (you have to specify the path to the local environment)")
198
- .option("--force", "force environment to use")
199
- .option("--use-resolved", "Use resolved dependency versions")
200
- .option("--package-manager <packageManager>", "package manager to be used")
201
- .option("--pnpm", "Use 'pnpm' as package manager")
202
- .option("--yarn", "Use 'yarn' as package manager")
203
- .option("--bun", "Use 'bun' as package manager")
204
- .option("--debug", "Show additional logs");
205
- // Use withCustomHelp instead of withHelpAction and addHelpText
206
- return withCustomHelp(useCmd, use, useHelp,
207
- // Pre-check function to validate environment before running the action
208
- (environment) => {
209
- if (!environment &&
210
- !process.argv.includes("--help") &&
211
- !process.argv.includes("-h")) {
212
- console.error('Error: Missing required argument "environment"');
213
- process.exit(1);
214
- return false;
215
- }
216
- return true;
217
- });
218
- }
219
- //# sourceMappingURL=use.old.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"use.old.js","sourceRoot":"","sources":["../../../src/commands/use.old.ts"],"names":[],"mappings":"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"}
@@ -1,5 +0,0 @@
1
- import type { Command } from "commander";
2
- export declare const customVersionHandler: () => Promise<void>;
3
- export declare function versionOption(program: Command): Command;
4
- export declare function versionArgument(program: Command): Command;
5
- //# sourceMappingURL=version.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../../../src/commands/version.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAczC,eAAO,MAAM,oBAAoB,qBAyChC,CAAC;AAEF,wBAAgB,aAAa,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAMvD;AAED,wBAAgB,eAAe,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAMzD"}
@@ -1,42 +0,0 @@
1
- import fs from "node:fs";
2
- import path from "node:path";
3
- import { getPackageManagerFromLockfile, getProjectInfo, } from "../utils/index.js";
4
- // Custom version handler
5
- export const customVersionHandler = async () => {
6
- const projectInfo = await getProjectInfo(undefined, false);
7
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment
8
- // @ts-ignore build time version file
9
- const { version } = (await import("../version.js"));
10
- console.log("PH CMD version: ", version);
11
- if (projectInfo.available) {
12
- const packageManager = getPackageManagerFromLockfile(projectInfo.path);
13
- try {
14
- const packageJsonPath = path.join(projectInfo.path, "package.json");
15
- const packageJsonContent = fs.readFileSync(packageJsonPath, "utf-8");
16
- const packageJson = JSON.parse(packageJsonContent);
17
- const phCliVersion = packageJson.dependencies?.["@powerhousedao/ph-cli"] ||
18
- packageJson.devDependencies?.["@powerhousedao/ph-cli"];
19
- if (phCliVersion) {
20
- console.log("PH CLI version: ", phCliVersion);
21
- }
22
- }
23
- catch (err) {
24
- console.log("Error reading PH CLI version from package.json:", err.message);
25
- }
26
- console.log("-------------------------------------");
27
- console.log("PH CLI path: ", projectInfo.path);
28
- console.log("PH CLI isGlobalProject: ", projectInfo.isGlobal);
29
- console.log("PH CLI packageManager: ", packageManager);
30
- }
31
- else {
32
- console.log("-------------------------------------");
33
- console.log("PH CLI is not available, please run `ph setup-globals` to generate the default global project");
34
- }
35
- };
36
- export function versionOption(program) {
37
- return program.option("-v, --version", "Display version information", customVersionHandler);
38
- }
39
- export function versionArgument(program) {
40
- return program.argument("version", "Display version information", customVersionHandler);
41
- }
42
- //# sourceMappingURL=version.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"version.js","sourceRoot":"","sources":["../../../src/commands/version.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EACL,6BAA6B,EAC7B,cAAc,GACf,MAAM,mBAAmB,CAAC;AAO3B,yBAAyB;AACzB,MAAM,CAAC,MAAM,oBAAoB,GAAG,KAAK,IAAI,EAAE;IAC7C,MAAM,WAAW,GAAG,MAAM,cAAc,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IAE3D,6DAA6D;IAC7D,qCAAqC;IACrC,MAAM,EAAE,OAAO,EAAE,GAAG,CAAC,MAAM,MAAM,CAAC,eAAe,CAAC,CAAwB,CAAC;IAE3E,OAAO,CAAC,GAAG,CAAC,kBAAkB,EAAE,OAAO,CAAC,CAAC;IAEzC,IAAI,WAAW,CAAC,SAAS,EAAE,CAAC;QAC1B,MAAM,cAAc,GAAG,6BAA6B,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAEvE,IAAI,CAAC;YACH,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;YACpE,MAAM,kBAAkB,GAAG,EAAE,CAAC,YAAY,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;YACrE,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAgB,CAAC;YAElE,MAAM,YAAY,GAChB,WAAW,CAAC,YAAY,EAAE,CAAC,uBAAuB,CAAC;gBACnD,WAAW,CAAC,eAAe,EAAE,CAAC,uBAAuB,CAAC,CAAC;YAEzD,IAAI,YAAY,EAAE,CAAC;gBACjB,OAAO,CAAC,GAAG,CAAC,kBAAkB,EAAE,YAAY,CAAC,CAAC;YAChD,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,GAAG,CACT,iDAAiD,EAChD,GAAa,CAAC,OAAO,CACvB,CAAC;QACJ,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,uCAAuC,CAAC,CAAC;QACrD,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC;QAC/C,OAAO,CAAC,GAAG,CAAC,0BAA0B,EAAE,WAAW,CAAC,QAAQ,CAAC,CAAC;QAC9D,OAAO,CAAC,GAAG,CAAC,yBAAyB,EAAE,cAAc,CAAC,CAAC;IACzD,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,uCAAuC,CAAC,CAAC;QACrD,OAAO,CAAC,GAAG,CACT,+FAA+F,CAChG,CAAC;IACJ,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,UAAU,aAAa,CAAC,OAAgB;IAC5C,OAAO,OAAO,CAAC,MAAM,CACnB,eAAe,EACf,6BAA6B,EAC7B,oBAAoB,CACrB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,OAAgB;IAC9C,OAAO,OAAO,CAAC,QAAQ,CACrB,SAAS,EACT,6BAA6B,EAC7B,oBAAoB,CACrB,CAAC;AACJ,CAAC"}