rangutopia 0.0.0-experimental-d5da43c68

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 (214) hide show
  1. package/.editorconfig +10 -0
  2. package/.gitattributes +4 -0
  3. package/.yarnrc.yml +1 -0
  4. package/README.md +4 -0
  5. package/dist/commands/library/build/action.d.ts +4 -0
  6. package/dist/commands/library/build/action.d.ts.map +1 -0
  7. package/dist/commands/library/build/action.js +30 -0
  8. package/dist/commands/library/build/action.js.map +1 -0
  9. package/dist/commands/library/build/mod.d.ts +2 -0
  10. package/dist/commands/library/build/mod.d.ts.map +1 -0
  11. package/dist/commands/library/build/mod.js +2 -0
  12. package/dist/commands/library/build/mod.js.map +1 -0
  13. package/dist/commands/library/build/options.d.ts +23 -0
  14. package/dist/commands/library/build/options.d.ts.map +1 -0
  15. package/dist/commands/library/build/options.js +98 -0
  16. package/dist/commands/library/build/options.js.map +1 -0
  17. package/dist/commands/library/check/action.d.ts +2 -0
  18. package/dist/commands/library/check/action.d.ts.map +1 -0
  19. package/dist/commands/library/check/action.js +24 -0
  20. package/dist/commands/library/check/action.js.map +1 -0
  21. package/dist/commands/library/check/mod.d.ts +2 -0
  22. package/dist/commands/library/check/mod.d.ts.map +1 -0
  23. package/dist/commands/library/check/mod.js +2 -0
  24. package/dist/commands/library/check/mod.js.map +1 -0
  25. package/dist/commands/library/mod.d.ts +4 -0
  26. package/dist/commands/library/mod.d.ts.map +1 -0
  27. package/dist/commands/library/mod.js +33 -0
  28. package/dist/commands/library/mod.js.map +1 -0
  29. package/dist/commands/library/publish/action.d.ts +3 -0
  30. package/dist/commands/library/publish/action.d.ts.map +1 -0
  31. package/dist/commands/library/publish/action.js +132 -0
  32. package/dist/commands/library/publish/action.js.map +1 -0
  33. package/dist/commands/library/publish/configs.d.ts +6 -0
  34. package/dist/commands/library/publish/configs.d.ts.map +1 -0
  35. package/dist/commands/library/publish/configs.js +23 -0
  36. package/dist/commands/library/publish/configs.js.map +1 -0
  37. package/dist/commands/library/publish/constants.d.ts +3 -0
  38. package/dist/commands/library/publish/constants.d.ts.map +1 -0
  39. package/dist/commands/library/publish/constants.js +3 -0
  40. package/dist/commands/library/publish/constants.js.map +1 -0
  41. package/dist/commands/library/publish/errors.d.ts +41 -0
  42. package/dist/commands/library/publish/errors.d.ts.map +1 -0
  43. package/dist/commands/library/publish/errors.js +61 -0
  44. package/dist/commands/library/publish/errors.js.map +1 -0
  45. package/dist/commands/library/publish/features.d.ts +7 -0
  46. package/dist/commands/library/publish/features.d.ts.map +1 -0
  47. package/dist/commands/library/publish/features.js +29 -0
  48. package/dist/commands/library/publish/features.js.map +1 -0
  49. package/dist/commands/library/publish/graph.d.ts +15 -0
  50. package/dist/commands/library/publish/graph.d.ts.map +1 -0
  51. package/dist/commands/library/publish/graph.js +82 -0
  52. package/dist/commands/library/publish/graph.js.map +1 -0
  53. package/dist/commands/library/publish/helpers.d.ts +29 -0
  54. package/dist/commands/library/publish/helpers.d.ts.map +1 -0
  55. package/dist/commands/library/publish/helpers.js +624 -0
  56. package/dist/commands/library/publish/helpers.js.map +1 -0
  57. package/dist/commands/library/publish/mod.d.ts +2 -0
  58. package/dist/commands/library/publish/mod.d.ts.map +1 -0
  59. package/dist/commands/library/publish/mod.js +2 -0
  60. package/dist/commands/library/publish/mod.js.map +1 -0
  61. package/dist/commands/library/publish/options.d.ts +9 -0
  62. package/dist/commands/library/publish/options.d.ts.map +1 -0
  63. package/dist/commands/library/publish/options.js +8 -0
  64. package/dist/commands/library/publish/options.js.map +1 -0
  65. package/dist/commands/library/publish/state.d.ts +22 -0
  66. package/dist/commands/library/publish/state.d.ts.map +1 -0
  67. package/dist/commands/library/publish/state.js +44 -0
  68. package/dist/commands/library/publish/state.js.map +1 -0
  69. package/dist/commands/library/publish/types.d.ts +18 -0
  70. package/dist/commands/library/publish/types.d.ts.map +1 -0
  71. package/dist/commands/library/publish/types.js +2 -0
  72. package/dist/commands/library/publish/types.js.map +1 -0
  73. package/dist/commands/tools/husky/init/action.d.ts +4 -0
  74. package/dist/commands/tools/husky/init/action.d.ts.map +1 -0
  75. package/dist/commands/tools/husky/init/action.js +82 -0
  76. package/dist/commands/tools/husky/init/action.js.map +1 -0
  77. package/dist/commands/tools/husky/init/mod.d.ts +2 -0
  78. package/dist/commands/tools/husky/init/mod.d.ts.map +1 -0
  79. package/dist/commands/tools/husky/init/mod.js +2 -0
  80. package/dist/commands/tools/husky/init/mod.js.map +1 -0
  81. package/dist/commands/tools/husky/init/options.d.ts +10 -0
  82. package/dist/commands/tools/husky/init/options.d.ts.map +1 -0
  83. package/dist/commands/tools/husky/init/options.js +10 -0
  84. package/dist/commands/tools/husky/init/options.js.map +1 -0
  85. package/dist/commands/tools/husky/mod.d.ts +4 -0
  86. package/dist/commands/tools/husky/mod.d.ts.map +1 -0
  87. package/dist/commands/tools/husky/mod.js +12 -0
  88. package/dist/commands/tools/husky/mod.js.map +1 -0
  89. package/dist/commands/tools/lint/init/action.d.ts +2 -0
  90. package/dist/commands/tools/lint/init/action.d.ts.map +1 -0
  91. package/dist/commands/tools/lint/init/action.js +19 -0
  92. package/dist/commands/tools/lint/init/action.js.map +1 -0
  93. package/dist/commands/tools/lint/init/mod.d.ts +2 -0
  94. package/dist/commands/tools/lint/init/mod.d.ts.map +1 -0
  95. package/dist/commands/tools/lint/init/mod.js +2 -0
  96. package/dist/commands/tools/lint/init/mod.js.map +1 -0
  97. package/dist/commands/tools/lint/mod.d.ts +4 -0
  98. package/dist/commands/tools/lint/mod.d.ts.map +1 -0
  99. package/dist/commands/tools/lint/mod.js +11 -0
  100. package/dist/commands/tools/lint/mod.js.map +1 -0
  101. package/dist/commands/tools/mod.d.ts +4 -0
  102. package/dist/commands/tools/mod.d.ts.map +1 -0
  103. package/dist/commands/tools/mod.js +10 -0
  104. package/dist/commands/tools/mod.js.map +1 -0
  105. package/dist/configs.d.ts +8 -0
  106. package/dist/configs.d.ts.map +1 -0
  107. package/dist/configs.js +13 -0
  108. package/dist/configs.js.map +1 -0
  109. package/dist/constants.d.ts +6 -0
  110. package/dist/constants.d.ts.map +1 -0
  111. package/dist/constants.js +7 -0
  112. package/dist/constants.js.map +1 -0
  113. package/dist/main.d.ts +3 -0
  114. package/dist/main.d.ts.map +1 -0
  115. package/dist/main.js +12 -0
  116. package/dist/main.js.map +1 -0
  117. package/dist/modules/logger/logger.d.ts +19 -0
  118. package/dist/modules/logger/logger.d.ts.map +1 -0
  119. package/dist/modules/logger/logger.js +47 -0
  120. package/dist/modules/logger/logger.js.map +1 -0
  121. package/dist/modules/logger/mod.d.ts +2 -0
  122. package/dist/modules/logger/mod.d.ts.map +1 -0
  123. package/dist/modules/logger/mod.js +2 -0
  124. package/dist/modules/logger/mod.js.map +1 -0
  125. package/dist/modules/mod.d.ts +4 -0
  126. package/dist/modules/mod.d.ts.map +1 -0
  127. package/dist/modules/mod.js +4 -0
  128. package/dist/modules/mod.js.map +1 -0
  129. package/dist/modules/monorepoManager/mod.d.ts +6 -0
  130. package/dist/modules/monorepoManager/mod.d.ts.map +1 -0
  131. package/dist/modules/monorepoManager/mod.js +26 -0
  132. package/dist/modules/monorepoManager/mod.js.map +1 -0
  133. package/dist/modules/monorepoManager/monorepoManager.d.ts +12 -0
  134. package/dist/modules/monorepoManager/monorepoManager.d.ts.map +1 -0
  135. package/dist/modules/monorepoManager/monorepoManager.js +13 -0
  136. package/dist/modules/monorepoManager/monorepoManager.js.map +1 -0
  137. package/dist/modules/monorepoManager/nxAdapter.d.ts +9 -0
  138. package/dist/modules/monorepoManager/nxAdapter.d.ts.map +1 -0
  139. package/dist/modules/monorepoManager/nxAdapter.js +27 -0
  140. package/dist/modules/monorepoManager/nxAdapter.js.map +1 -0
  141. package/dist/modules/monorepoManager/turborepoAdapter.d.ts +9 -0
  142. package/dist/modules/monorepoManager/turborepoAdapter.d.ts.map +1 -0
  143. package/dist/modules/monorepoManager/turborepoAdapter.js +33 -0
  144. package/dist/modules/monorepoManager/turborepoAdapter.js.map +1 -0
  145. package/dist/modules/monorepoManager/types.d.ts +5 -0
  146. package/dist/modules/monorepoManager/types.d.ts.map +1 -0
  147. package/dist/modules/monorepoManager/types.js +2 -0
  148. package/dist/modules/monorepoManager/types.js.map +1 -0
  149. package/dist/modules/packageManager/helpers.d.ts +3 -0
  150. package/dist/modules/packageManager/helpers.d.ts.map +1 -0
  151. package/dist/modules/packageManager/helpers.js +22 -0
  152. package/dist/modules/packageManager/helpers.js.map +1 -0
  153. package/dist/modules/packageManager/mod.d.ts +5 -0
  154. package/dist/modules/packageManager/mod.d.ts.map +1 -0
  155. package/dist/modules/packageManager/mod.js +30 -0
  156. package/dist/modules/packageManager/mod.js.map +1 -0
  157. package/dist/modules/packageManager/packageManager.d.ts +16 -0
  158. package/dist/modules/packageManager/packageManager.d.ts.map +1 -0
  159. package/dist/modules/packageManager/packageManager.js +19 -0
  160. package/dist/modules/packageManager/packageManager.js.map +1 -0
  161. package/dist/modules/packageManager/types.d.ts +7 -0
  162. package/dist/modules/packageManager/types.d.ts.map +1 -0
  163. package/dist/modules/packageManager/types.js +2 -0
  164. package/dist/modules/packageManager/types.js.map +1 -0
  165. package/dist/modules/packageManager/yarnBerryAdapter.d.ts +9 -0
  166. package/dist/modules/packageManager/yarnBerryAdapter.d.ts.map +1 -0
  167. package/dist/modules/packageManager/yarnBerryAdapter.js +49 -0
  168. package/dist/modules/packageManager/yarnBerryAdapter.js.map +1 -0
  169. package/dist/modules/packageManager/yarnClassicAdapter.d.ts +8 -0
  170. package/dist/modules/packageManager/yarnClassicAdapter.d.ts.map +1 -0
  171. package/dist/modules/packageManager/yarnClassicAdapter.js +38 -0
  172. package/dist/modules/packageManager/yarnClassicAdapter.js.map +1 -0
  173. package/dist/setup.d.ts +3 -0
  174. package/dist/setup.d.ts.map +1 -0
  175. package/dist/setup.js +17 -0
  176. package/dist/setup.js.map +1 -0
  177. package/dist/utils/changelog.d.ts +8 -0
  178. package/dist/utils/changelog.d.ts.map +1 -0
  179. package/dist/utils/changelog.js +86 -0
  180. package/dist/utils/changelog.js.map +1 -0
  181. package/dist/utils/cli.d.ts +2 -0
  182. package/dist/utils/cli.d.ts.map +1 -0
  183. package/dist/utils/cli.js +18 -0
  184. package/dist/utils/cli.js.map +1 -0
  185. package/dist/utils/fs.d.ts +6 -0
  186. package/dist/utils/fs.d.ts.map +1 -0
  187. package/dist/utils/fs.js +36 -0
  188. package/dist/utils/fs.js.map +1 -0
  189. package/dist/utils/log.d.ts +7 -0
  190. package/dist/utils/log.d.ts.map +1 -0
  191. package/dist/utils/log.js +9 -0
  192. package/dist/utils/log.js.map +1 -0
  193. package/dist/utils/packageJson.d.ts +45 -0
  194. package/dist/utils/packageJson.d.ts.map +1 -0
  195. package/dist/utils/packageJson.js +135 -0
  196. package/dist/utils/packageJson.js.map +1 -0
  197. package/dist/utils/parse.d.ts +3 -0
  198. package/dist/utils/parse.d.ts.map +1 -0
  199. package/dist/utils/parse.js +15 -0
  200. package/dist/utils/parse.js.map +1 -0
  201. package/dist/utils/yarn.d.ts +16 -0
  202. package/dist/utils/yarn.d.ts.map +1 -0
  203. package/dist/utils/yarn.js +60 -0
  204. package/dist/utils/yarn.js.map +1 -0
  205. package/package.json +38 -0
  206. package/templates/format/.prettierrc.json +6 -0
  207. package/templates/husky/commit-msg +4 -0
  208. package/templates/husky/post-commit +9 -0
  209. package/templates/husky/pre-commit +4 -0
  210. package/templates/lint/.lintstagedrc.mjs +14 -0
  211. package/templates/lint/commitlint.config.js +5 -0
  212. package/templates/lint/eslint.config.mjs +3 -0
  213. package/tsconfig.json +14 -0
  214. package/vitest.config.ts +11 -0
package/.editorconfig ADDED
@@ -0,0 +1,10 @@
1
+ root = true
2
+
3
+ [*]
4
+ end_of_line = lf
5
+ insert_final_newline = true
6
+
7
+ [*.{js,json,yml}]
8
+ charset = utf-8
9
+ indent_style = space
10
+ indent_size = 2
package/.gitattributes ADDED
@@ -0,0 +1,4 @@
1
+ /.yarn/** linguist-vendored
2
+ /.yarn/releases/* binary
3
+ /.yarn/plugins/**/* binary
4
+ /.pnp.* binary linguist-generated
package/.yarnrc.yml ADDED
@@ -0,0 +1 @@
1
+ nodeLinker: node-modules
package/README.md ADDED
@@ -0,0 +1,4 @@
1
+ # rangutopia
2
+
3
+ A cli to manage our scripts across the organization.
4
+
@@ -0,0 +1,4 @@
1
+ import { z } from "zod/v4";
2
+ import { CommandOptionsSchema } from "./options.js";
3
+ export declare function action(commandOptions: z.infer<typeof CommandOptionsSchema>): Promise<void>;
4
+ //# sourceMappingURL=action.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"action.d.ts","sourceRoot":"","sources":["../../../../src/commands/library/build/action.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAA;AAK1B,OAAO,EAAE,oBAAoB,EAAgB,MAAM,cAAc,CAAC;AAMlE,wBAAsB,MAAM,CAAC,cAAc,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,iBAyBhF"}
@@ -0,0 +1,30 @@
1
+ import { z } from "zod/v4";
2
+ import ora from "ora";
3
+ import { logErrorAndExit, message } from "../../../utils/log.js";
4
+ import { action as checkAction } from "../check/mod.js";
5
+ import { build } from "esbuild";
6
+ import { CommandOptionsSchema, parseOptions } from "./options.js";
7
+ import { objectToCliParams } from "../../../utils/cli.js";
8
+ import { findBinaryPath } from "../../../utils/fs.js";
9
+ import { logger } from "../../../modules/mod.js";
10
+ import spawn from "nano-spawn";
11
+ export async function action(commandOptions) {
12
+ await checkAction(commandOptions);
13
+ const options = await parseOptions(commandOptions).catch(logErrorAndExit);
14
+ const spinner = ora(`Running Typescript and ESBuild on ${options.package.name}\n`).start();
15
+ const tscParams = objectToCliParams(options.typescript);
16
+ const localTsc = await findBinaryPath("tsc");
17
+ const taskTsc = spawn(localTsc || "tsc", tscParams);
18
+ const taskEsbuild = build(options.esbuild).catch((reason) => {
19
+ throw new Error(message({ task: "esbuild" }, reason.errors.map(error => error.text).join("\n")), {
20
+ cause: reason
21
+ });
22
+ });
23
+ await Promise.all([taskTsc, taskEsbuild]).catch((reason) => {
24
+ spinner.stop();
25
+ logger.error(reason.message);
26
+ logErrorAndExit(`Building '${options.package.name}' failed.`);
27
+ });
28
+ spinner.succeed(`'${options.package.name}' built.`);
29
+ }
30
+ //# sourceMappingURL=action.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"action.js","sourceRoot":"","sources":["../../../../src/commands/library/build/action.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAA;AAC1B,OAAO,GAAG,MAAM,KAAK,CAAC;AACtB,OAAO,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,EAAE,MAAM,IAAI,WAAW,EAAE,MAAM,iBAAiB,CAAA;AACvD,OAAO,EAAE,KAAK,EAAoB,MAAM,SAAS,CAAA;AACjD,OAAO,EAAE,oBAAoB,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAClE,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAC,MAAM,EAAC,MAAM,yBAAyB,CAAC;AAC/C,OAAO,KAAK,MAAM,YAAY,CAAC;AAE/B,MAAM,CAAC,KAAK,UAAU,MAAM,CAAC,cAAoD;IACzE,MAAM,WAAW,CAAC,cAAc,CAAC,CAAC;IAClC,MAAM,OAAO,GAAG,MAAM,YAAY,CAAC,cAAc,CAAC,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;IAE1E,MAAM,OAAO,GAAG,GAAG,CAAC,qCAAqC,OAAO,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC;IAE3F,MAAM,SAAS,GAAG,iBAAiB,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IACxD,MAAM,QAAQ,GAAG,MAAM,cAAc,CAAC,KAAK,CAAC,CAAC;IAE7C,MAAM,OAAO,GAAG,KAAK,CAAC,QAAQ,IAAI,KAAK,EAAE,SAAS,CAAC,CAAC;IAEpD,MAAM,WAAW,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,MAAmB,EAAE,EAAE;QACjE,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE;YACzF,KAAK,EAAE,MAAM;SACpB,CAAC,CAAC;IACX,CAAC,CAAC,CAAC;IAGH,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,EAAE;QACnD,OAAO,CAAC,IAAI,EAAE,CAAC;QACf,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAC7B,eAAe,CAAC,aAAa,OAAO,CAAC,OAAO,CAAC,IAAI,WAAW,CAAC,CAAA;IACrE,CAAC,CAAC,CAAC;IAEH,OAAO,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,UAAU,CAAC,CAAA;AAC3D,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { action } from "./action.js";
2
+ //# sourceMappingURL=mod.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mod.d.ts","sourceRoot":"","sources":["../../../../src/commands/library/build/mod.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA"}
@@ -0,0 +1,2 @@
1
+ export { action } from "./action.js";
2
+ //# sourceMappingURL=mod.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mod.js","sourceRoot":"","sources":["../../../../src/commands/library/build/mod.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA"}
@@ -0,0 +1,23 @@
1
+ import { z } from "zod/v4";
2
+ import type { BuildOptions as ESBuildOptions } from "esbuild";
3
+ export declare const CommandOptionsSchema: z.ZodObject<{
4
+ inputs: z.ZodOptional<z.ZodString>;
5
+ external: z.ZodOptional<z.ZodString>;
6
+ externalAllExcept: z.ZodOptional<z.ZodString>;
7
+ splitting: z.ZodOptional<z.ZodBoolean>;
8
+ }, z.core.$strip>;
9
+ interface ParsedOptions {
10
+ package: {
11
+ name: string;
12
+ path: string;
13
+ };
14
+ esbuild: ESBuildOptions;
15
+ typescript: {
16
+ declaration: boolean;
17
+ emitDeclarationOnly: boolean;
18
+ project: string;
19
+ };
20
+ }
21
+ export declare function parseOptions(commandOptions: z.infer<typeof CommandOptionsSchema>): Promise<ParsedOptions>;
22
+ export {};
23
+ //# sourceMappingURL=options.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../../../../src/commands/library/build/options.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAA;AAM1B,OAAO,KAAK,EAAE,YAAY,IAAI,cAAc,EAAE,MAAM,SAAS,CAAA;AAU7D,eAAO,MAAM,oBAAoB;;;;;iBAK/B,CAAC;AAEH,UAAU,aAAa;IACf,OAAO,EAAE;QACD,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;KACpB,CAAC;IACF,OAAO,EAAE,cAAc,CAAC;IACxB,UAAU,EAAE;QACJ,WAAW,EAAE,OAAO,CAAC;QACrB,mBAAmB,EAAE,OAAO,CAAC;QAC7B,OAAO,EAAE,MAAM,CAAC;KACvB,CAAC;CACT;AAED,wBAAsB,YAAY,CAC1B,cAAc,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,GACzD,OAAO,CAAC,aAAa,CAAC,CA+FxB"}
@@ -0,0 +1,98 @@
1
+ import { z } from "zod/v4";
2
+ import { validatedSchemaOrThrow } from "../../../utils/parse.js";
3
+ import { nodeModulesPolyfillPlugin } from 'esbuild-plugins-node-modules-polyfill';
4
+ import { nearestPackageJsonPath, readAndValidatePacakgeJson, readPackageJson } from "../../../utils/packageJson.js";
5
+ import { logErrorAndExit } from "../../../utils/log.js";
6
+ import { accessSync, constants } from "node:fs";
7
+ const DEFAULT_TSCONFIG_FILENAME = "tsconfig.build.json";
8
+ const DEFAULT_OUTPUT_PATH = "dist";
9
+ // One of them will be picked, ordering matters.
10
+ const DEFAULT_ENTRYPOINTS = [`src/index.ts`, `src/mod.ts`];
11
+ export const CommandOptionsSchema = z.object({
12
+ inputs: z.string().optional(),
13
+ external: z.string().optional(),
14
+ externalAllExcept: z.string().optional(),
15
+ splitting: z.boolean().optional(),
16
+ });
17
+ export async function parseOptions(commandOptions) {
18
+ const packageJsonRootPath = await nearestPackageJsonPath();
19
+ if (!packageJsonRootPath) {
20
+ throw new Error("We couldn't found any package.json where you are runing the command. Are you in a correct path?'");
21
+ }
22
+ const packageJsonContent = readAndValidatePacakgeJson(packageJsonRootPath);
23
+ const options = validatedSchemaOrThrow(CommandOptionsSchema, commandOptions);
24
+ if (!!options.external && !!options.externalAllExcept) {
25
+ logErrorAndExit("You should only use one of `external` or `external-all-except` at the sametime.");
26
+ }
27
+ const output = {
28
+ package: {
29
+ name: packageJsonContent.name,
30
+ path: packageJsonRootPath,
31
+ },
32
+ typescript: {
33
+ declaration: true,
34
+ emitDeclarationOnly: true,
35
+ project: DEFAULT_TSCONFIG_FILENAME,
36
+ },
37
+ esbuild: {},
38
+ };
39
+ // esbuild
40
+ // default options
41
+ output.esbuild = {
42
+ // we should handle errors and printing to terminal ourselves.
43
+ logLevel: "silent",
44
+ bundle: true,
45
+ minify: true,
46
+ keepNames: true,
47
+ sourcemap: true,
48
+ platform: 'browser',
49
+ format: 'esm',
50
+ metafile: true,
51
+ splitting: !!options.splitting,
52
+ outdir: `${packageJsonRootPath}/${DEFAULT_OUTPUT_PATH}`,
53
+ plugins: [
54
+ nodeModulesPolyfillPlugin({
55
+ // TODO: CHECK THIS, THE ORIGINAL SCRIPT WAS `global` instead of `modules`
56
+ modules: {
57
+ fs: true,
58
+ },
59
+ }),
60
+ ],
61
+ };
62
+ let entryPoints = [];
63
+ if (!options.inputs) {
64
+ const entryPoint = DEFAULT_ENTRYPOINTS.find(defaultEntryPoint => {
65
+ try {
66
+ accessSync(defaultEntryPoint, constants.F_OK);
67
+ return true;
68
+ }
69
+ catch {
70
+ return false;
71
+ }
72
+ });
73
+ if (entryPoint) {
74
+ entryPoints = [`${packageJsonRootPath}/${entryPoint}`];
75
+ }
76
+ else {
77
+ throw new Error(`We couldn't find any entry point for your code. checked following paths: \n ${DEFAULT_ENTRYPOINTS.join("\n")}`);
78
+ }
79
+ }
80
+ else {
81
+ entryPoints = options.inputs.split(',').map((input) => `${packageJsonRootPath}/${input}`);
82
+ }
83
+ output.esbuild.entryPoints = entryPoints;
84
+ // read more: https://esbuild.github.io/api/#packages
85
+ if (!!options.external) {
86
+ output.esbuild.external = options.external.split(',');
87
+ }
88
+ else if (!!options.externalAllExcept) {
89
+ const excludedPackages = options.externalAllExcept.split(',');
90
+ const dependencies = Object.keys(packageJsonContent.dependencies).filter((name) => !excludedPackages.includes(name));
91
+ output.esbuild.external = dependencies;
92
+ }
93
+ else {
94
+ output.esbuild.packages = 'external';
95
+ }
96
+ return output;
97
+ }
98
+ //# sourceMappingURL=options.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"options.js","sourceRoot":"","sources":["../../../../src/commands/library/build/options.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare function action(_options: unknown): Promise<void>;
2
+ //# sourceMappingURL=action.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"action.d.ts","sourceRoot":"","sources":["../../../../src/commands/library/check/action.ts"],"names":[],"mappings":"AAQA,wBAAsB,MAAM,CAAC,QAAQ,EAAE,OAAO,iBAuB7C"}
@@ -0,0 +1,24 @@
1
+ import { logErrorAndExit } from "../../../utils/log.js";
2
+ import ora from "ora";
3
+ import { lookupPackageJsonFilesToFindDependency } from "../../../utils/packageJson.js";
4
+ const REQUIRED_DEV_DEPENDENCIES = ["typescript", "esbuild"];
5
+ // TODO: Suggest yarn add pkg-name
6
+ export async function action(_options) {
7
+ // Check building tools
8
+ const spinner = ora("Checking required dependencies...").start();
9
+ const listRequiredPackages = await Promise.all(REQUIRED_DEV_DEPENDENCIES.map(name => lookupPackageJsonFilesToFindDependency(name)));
10
+ const missingPackages = [];
11
+ listRequiredPackages.forEach((result, index) => {
12
+ if (!result) {
13
+ missingPackages.push(REQUIRED_DEV_DEPENDENCIES[index]);
14
+ }
15
+ });
16
+ if (missingPackages.length > 0) {
17
+ spinner.fail(`You can install missing dependencies using \n \`yarn add -D ${missingPackages.join(" ")}\``);
18
+ logErrorAndExit(`Ensure you've installed the following dev dependencies: ${missingPackages.join(",")}`);
19
+ }
20
+ else {
21
+ spinner.succeed("Dependencies checked.");
22
+ }
23
+ }
24
+ //# sourceMappingURL=action.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"action.js","sourceRoot":"","sources":["../../../../src/commands/library/check/action.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,GAAG,MAAM,KAAK,CAAC;AACtB,OAAO,EAAE,sCAAsC,EAAE,MAAM,+BAA+B,CAAC;AAEvF,MAAM,yBAAyB,GAAG,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;AAE5D,kCAAkC;AAClC,MAAM,CAAC,KAAK,UAAU,MAAM,CAAC,QAAiB;IAEtC,uBAAuB;IACvB,MAAM,OAAO,GAAG,GAAG,CAAC,mCAAmC,CAAC,CAAC,KAAK,EAAE,CAAC;IACjE,MAAM,oBAAoB,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,sCAAsC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAGpI,MAAM,eAAe,GAAG,EAAE,CAAC;IAC3B,oBAAoB,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;QACvC,IAAI,CAAC,MAAM,EAAE,CAAC;YACN,eAAe,CAAC,IAAI,CAAC,yBAAyB,CAAC,KAAK,CAAC,CAAC,CAAA;QAC9D,CAAC;IACT,CAAC,CAAC,CAAC;IAGH,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzB,OAAO,CAAC,IAAI,CAAC,+DAA+D,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC3G,eAAe,CAAC,2DAA2D,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;IAC/G,CAAC;SAAM,CAAC;QAEA,OAAO,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC;IACjD,CAAC;AAET,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { action } from "./action.js";
2
+ //# sourceMappingURL=mod.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mod.d.ts","sourceRoot":"","sources":["../../../../src/commands/library/check/mod.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA"}
@@ -0,0 +1,2 @@
1
+ export { action } from "./action.js";
2
+ //# sourceMappingURL=mod.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mod.js","sourceRoot":"","sources":["../../../../src/commands/library/check/mod.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA"}
@@ -0,0 +1,4 @@
1
+ import { Command } from "commander";
2
+ declare function libraryCommand(program: Command): void;
3
+ export { libraryCommand };
4
+ //# sourceMappingURL=mod.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mod.d.ts","sourceRoot":"","sources":["../../../src/commands/library/mod.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGpC,iBAAS,cAAc,CAAC,OAAO,EAAE,OAAO,QAgDvC;AAGD,OAAO,EAAE,cAAc,EAAE,CAAA"}
@@ -0,0 +1,33 @@
1
+ import { Command } from "commander";
2
+ function libraryCommand(program) {
3
+ const library = program.command("library").description("Actions you need for your library packages");
4
+ library.command("init").description("init whatever").action(async (_options) => {
5
+ throw new Error("not implemented");
6
+ });
7
+ library.command("check").description("ensure on target package, everything has setup").action(async (options) => {
8
+ const { action } = await import("./check/mod.js");
9
+ action(options);
10
+ });
11
+ library.command("build").description("build your library")
12
+ .option("--inputs <inputs>", "comma separated file paths. e.g. src/main.ts,src/net.ts")
13
+ .option("--external <external>", "Comma separated list. https://esbuild.github.io/api/#external")
14
+ .option("--external-all-except <exception-list>", "When you want to make all the packages external, and only include some specific packages as your library bundle, this will be useful. Comma separated.")
15
+ .option("--splitting", "Enable code splitting", false)
16
+ .action(async (options) => {
17
+ const { action } = await import("./build/mod.js");
18
+ action(options);
19
+ });
20
+ library
21
+ .command("publish")
22
+ .description("Update your public packages' versions and changelogs, publish them on NPM, commit changes, and tag the commit")
23
+ .option("--prod", "Enables production flow, compares changes in the current branch with the last tagged commit", false)
24
+ .option("--next", "Enables next flow, uses regex pattern to match the last published commit title; changes since that commit will be considered for publishing", false)
25
+ .option("--experimental", "Enables experimental flow, compares changes since the current branch diverged from the main branch", false)
26
+ .option("--since-start", "consider all packages in the current branch for publishing", false)
27
+ .action(async (options) => {
28
+ const { action } = await import("./publish/mod.js");
29
+ action(options);
30
+ });
31
+ }
32
+ export { libraryCommand };
33
+ //# sourceMappingURL=mod.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mod.js","sourceRoot":"","sources":["../../../src/commands/library/mod.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGpC,SAAS,cAAc,CAAC,OAAgB;IAChC,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,4CAA4C,CAAC,CAAC;IAErG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC,MAAM,CAAC,KAAK,EAAC,QAAQ,EAAC,EAAE;QACrE,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAA;IAC1C,CAAC,CAAC,CAAC;IACH,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,WAAW,CAAC,gDAAgD,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;QACxG,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,gBAAgB,CAAC,CAAC;QAClD,MAAM,CAAC,OAAO,CAAC,CAAC;IACxB,CAAC,CAAC,CAAC;IACH,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,WAAW,CAAC,oBAAoB,CAAC;SACjD,MAAM,CAAC,mBAAmB,EAAE,yDAAyD,CAAC;SACtF,MAAM,CAAC,uBAAuB,EAAE,+DAA+D,CAAC;SAChG,MAAM,CAAC,wCAAwC,EAAE,wJAAwJ,CAAC;SAC1M,MAAM,CAAC,aAAa,EAAE,uBAAuB,EAAE,KAAK,CAAC;SACrD,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;QAClB,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,gBAAgB,CAAC,CAAC;QAClD,MAAM,CAAC,OAAO,CAAC,CAAC;IACxB,CAAC,CAAC,CAAC;IACf,OAAO;SACF,OAAO,CAAC,SAAS,CAAC;SAClB,WAAW,CACR,+GAA+G,CAClH;SACA,MAAM,CACH,QAAQ,EACR,6FAA6F,EAC7F,KAAK,CACR;SACA,MAAM,CACH,QAAQ,EACR,6IAA6I,EAC7I,KAAK,CACR;SACA,MAAM,CACH,gBAAgB,EAChB,oGAAoG,EACpG,KAAK,CACR;SACA,MAAM,CACH,eAAe,EACf,4DAA4D,EAC5D,KAAK,CACR;SACA,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;QACtB,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAC;QACpD,MAAM,CAAC,OAAO,CAAC,CAAC;IACpB,CAAC,CAAC,CAAC;AACX,CAAC;AAGD,OAAO,EAAE,cAAc,EAAE,CAAA"}
@@ -0,0 +1,3 @@
1
+ import { type OptionsType } from "./options.js";
2
+ export declare function action(commandOptions: OptionsType): Promise<void>;
3
+ //# sourceMappingURL=action.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"action.d.ts","sourceRoot":"","sources":["../../../../src/commands/library/publish/action.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,KAAK,WAAW,EAAC,MAAM,cAAc,CAAC;AAiB9C,wBAAsB,MAAM,CAAC,cAAc,EAAE,WAAW,iBA8JvD"}
@@ -0,0 +1,132 @@
1
+ import { logger } from "../../../modules/mod.js";
2
+ import {} from "./options.js";
3
+ import { trySetConfigs } from "./configs.js";
4
+ import { tryPublish, build, getAffectedPackages, throwIfUnableToProceed, update, addPkgFileChangesToStage, publishCommitAndTags, push, makeGithubRelease, sequentiallyRun, } from "./helpers.js";
5
+ import { State } from "./state.js";
6
+ import { should } from "./features.js";
7
+ export async function action(commandOptions) {
8
+ logger.githubAction.group('🔍 Checking environments...');
9
+ logger.info(commandOptions);
10
+ trySetConfigs(commandOptions);
11
+ logger.githubAction.endGroup();
12
+ // 1. Detect affected packages and increase version
13
+ logger.githubAction.group('🔍 Anlyzing dependencies...');
14
+ const affectedPkgs = await getAffectedPackages(commandOptions.sinceStart);
15
+ const libPkgs = affectedPkgs.filter((pkg) => !pkg.private);
16
+ if (libPkgs.length === 0) {
17
+ logger.info('No library has changed. Skip.');
18
+ process.exit(0);
19
+ }
20
+ logger.info('Current state:');
21
+ logger.table(libPkgs);
22
+ const state = new State(libPkgs);
23
+ const updateTasks = libPkgs.map((pkg) => () => {
24
+ return update(pkg).then((pkgState) => {
25
+ state.setState(pkg.name, 'gitTag', pkgState.gitTag);
26
+ state.setState(pkg.name, 'npmVersion', pkgState.npmVersion);
27
+ state.setState(pkg.name, 'version', pkgState.version);
28
+ });
29
+ });
30
+ await sequentiallyRun(updateTasks);
31
+ const pkgs = state.list();
32
+ const pkgStates = pkgs.map((pkg) => state.getState(pkg.name));
33
+ logger.info('Next state:');
34
+ logger.table(pkgs.map((pkg) => {
35
+ return {
36
+ name: pkg.name,
37
+ ...state.getState(pkg.name),
38
+ };
39
+ }));
40
+ throwIfUnableToProceed(pkgStates);
41
+ logger.githubAction.endGroup();
42
+ // 2. Build all packacges
43
+ /**
44
+ * IMPORTANT NOTE:
45
+ * We are all the libs in parallel, parcel has a limitation on running `parcel` instances.
46
+ * So if you are trying to build multiple parcel apps it goes through some erros. here, for publishing libs
47
+ * We are using esbuild so don't need to do anything.
48
+ * but if we need, the potential solution is filtering parcel apps and run them secquentially.
49
+ */
50
+ logger.githubAction.group(`🔨 Start building...`);
51
+ await build(pkgs);
52
+ logger.githubAction.endGroup();
53
+ // 3. Publish
54
+ logger.githubAction.group(`🚀 Start publishing...`);
55
+ try {
56
+ await tryPublish(pkgs, {
57
+ onUpdateState: state.setState.bind(state),
58
+ });
59
+ }
60
+ catch (e) {
61
+ logger.error(e);
62
+ const pkg = e.cause.pkg;
63
+ if (!pkg) {
64
+ logger.error("🚨 The error hasn't thrown `pkg`. Here is more information to debug");
65
+ logger.info(state.toJSON());
66
+ }
67
+ else {
68
+ // Ignoring error since it's possible to file hasn't changed yet.
69
+ await addPkgFileChangesToStage(pkg).catch(logger.warn);
70
+ }
71
+ }
72
+ logger.githubAction.endGroup();
73
+ // 4. Tag and Push
74
+ /**
75
+ * Our final list will includes only packages that published on NPM.
76
+ * If a package failed on making changelog, github release, ...
77
+ * We are considering it's published and should handle those cases manually.
78
+ */
79
+ const listPkgsForTag = state.list().filter((pkg) => {
80
+ const isPublishedOnNpm = !!state.getState(pkg.name, 'npmVersion');
81
+ return isPublishedOnNpm;
82
+ });
83
+ logger.githubAction.group(`🏷️ Tagging and commit... ${listPkgsForTag.length} packages for tagging.`);
84
+ if (listPkgsForTag.length > 0) {
85
+ performance.mark(`start-publish-tagging`);
86
+ await publishCommitAndTags(listPkgsForTag);
87
+ await push();
88
+ performance.mark(`end-publish-tagging`);
89
+ const duration_build = performance.measure(`publish-tagging`, `start-publish-tagging`, `end-publish-tagging`).duration;
90
+ logger.info(`Tagged. ${duration_build}ms`);
91
+ }
92
+ else {
93
+ logger.info('Skipped.');
94
+ }
95
+ logger.githubAction.endGroup();
96
+ // 5. Making github release
97
+ // NOTE: If any error happens in this step we are don't bail out the process and will continue. A warning will be shown.
98
+ logger.githubAction.group('🐙 Github release');
99
+ if (should('generateChangelog')) {
100
+ if (listPkgsForTag.length > 0) {
101
+ performance.mark(`start-publish-gh-release`);
102
+ const tasks = listPkgsForTag.map((pkg) => {
103
+ return makeGithubRelease(pkg)
104
+ .then(() => {
105
+ state.setState(pkg.name, 'githubRelease', pkg.version);
106
+ })
107
+ .catch(logger.warn);
108
+ });
109
+ await Promise.all(tasks);
110
+ performance.mark(`end-publish-gh-release`);
111
+ const duration_build = performance.measure(`publish-gh-release`, `start-publish-gh-release`, `end-publish-gh-release`).duration;
112
+ logger.info(`Finished. ${duration_build}ms`);
113
+ }
114
+ else {
115
+ logger.info('Skipped.');
116
+ }
117
+ }
118
+ else {
119
+ logger.info('Skipped as it set on environments.');
120
+ }
121
+ logger.githubAction.endGroup();
122
+ // 6. Report
123
+ logger.githubAction.group('::group::📊 Report');
124
+ logger.table(pkgs.map((pkg) => {
125
+ return {
126
+ name: pkg.name,
127
+ ...state.getState(pkg.name),
128
+ };
129
+ }));
130
+ logger.githubAction.endGroup();
131
+ }
132
+ //# sourceMappingURL=action.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"action.js","sourceRoot":"","sources":["../../../../src/commands/library/publish/action.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import type { Channels } from "./types.js";
2
+ import type { OptionsType } from "./options.js";
3
+ export declare const trySetConfigs: (_options: OptionsType) => void;
4
+ /** @deprecated Use {@link getConfig}(`"channel"`) directly */
5
+ export declare const detectChannel: () => Channels;
6
+ //# sourceMappingURL=configs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"configs.d.ts","sourceRoot":"","sources":["../../../../src/commands/library/publish/configs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,QAAQ,EAAC,MAAM,YAAY,CAAC;AAEzC,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,cAAc,CAAC;AAE9C,eAAO,MAAM,aAAa,GAAI,UAAU,WAAW,SAoBlD,CAAA;AAGD,8DAA8D;AAC9D,eAAO,MAAM,aAAa,QAAQ,QAEjC,CAAA"}
@@ -0,0 +1,23 @@
1
+ import { getConfig, setConfigs } from "../../../configs.js";
2
+ export const trySetConfigs = (_options) => {
3
+ const chosenFlowsCount = [
4
+ _options.prod,
5
+ _options.next,
6
+ _options.experimental,
7
+ ].filter(Boolean).length;
8
+ if (chosenFlowsCount === 0)
9
+ throw new Error("You should at least choose one flow between '--prod', '--next' and '--experimental'");
10
+ if (chosenFlowsCount !== 1)
11
+ throw new Error("You should choose only one flow between '--prod', '--next' and '--experimental'");
12
+ let channel = "experimental";
13
+ if (_options.prod)
14
+ channel = "prod";
15
+ if (_options.next)
16
+ channel = "next";
17
+ setConfigs("channel", channel);
18
+ };
19
+ /** @deprecated Use {@link getConfig}(`"channel"`) directly */
20
+ export const detectChannel = () => {
21
+ return getConfig("channel");
22
+ };
23
+ //# sourceMappingURL=configs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"configs.js","sourceRoot":"","sources":["../../../../src/commands/library/publish/configs.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,SAAS,EAAE,UAAU,EAAC,MAAM,qBAAqB,CAAC;AAG1D,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,QAAqB,EAAE,EAAE;IACnD,MAAM,gBAAgB,GAAG;QACrB,QAAQ,CAAC,IAAI;QACb,QAAQ,CAAC,IAAI;QACb,QAAQ,CAAC,YAAY;KACxB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC;IACzB,IAAI,gBAAgB,KAAK,CAAC;QACtB,MAAM,IAAI,KAAK,CACX,qFAAqF,CACxF,CAAC;IACN,IAAI,gBAAgB,KAAK,CAAC;QACtB,MAAM,IAAI,KAAK,CACX,iFAAiF,CACpF,CAAC;IAEN,IAAI,OAAO,GAAa,cAAc,CAAC;IACvC,IAAI,QAAQ,CAAC,IAAI;QAAE,OAAO,GAAG,MAAM,CAAC;IACpC,IAAI,QAAQ,CAAC,IAAI;QAAE,OAAO,GAAG,MAAM,CAAC;IAEpC,UAAU,CAAC,SAAS,EAAE,OAAO,CAAC,CAAA;AAClC,CAAC,CAAA;AAGD,8DAA8D;AAC9D,MAAM,CAAC,MAAM,aAAa,GAAG,GAAc,EAAE;IACzC,OAAO,SAAS,CAAC,SAAS,CAAC,CAAA;AAC/B,CAAC,CAAA"}
@@ -0,0 +1,3 @@
1
+ export declare const PUBLISH_COMMIT_SUBJECT = "chore(release): publish";
2
+ export declare const DEPENDENCY_KEYS: string[];
3
+ //# sourceMappingURL=constants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../src/commands/library/publish/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,sBAAsB,4BAA4B,CAAC;AAChE,eAAO,MAAM,eAAe,UAA0D,CAAC"}
@@ -0,0 +1,3 @@
1
+ export const PUBLISH_COMMIT_SUBJECT = 'chore(release): publish';
2
+ export const DEPENDENCY_KEYS = ["dependencies", "devDependencies", "peerDependencies"];
3
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../src/commands/library/publish/constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,sBAAsB,GAAG,yBAAyB,CAAC;AAChE,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,cAAc,EAAE,iBAAiB,EAAE,kBAAkB,CAAC,CAAC"}
@@ -0,0 +1,41 @@
1
+ export declare class GithubGetReleaseError extends Error {
2
+ name: string;
3
+ constructor(msg: any);
4
+ }
5
+ export declare class GithubReleaseNotFoundError extends Error {
6
+ name: string;
7
+ constructor(tag: any);
8
+ }
9
+ export declare class GitError extends Error {
10
+ name: string;
11
+ constructor(msg: any);
12
+ }
13
+ export declare class NpmPackageNotFoundError extends Error {
14
+ name: string;
15
+ constructor(packageName: any);
16
+ }
17
+ export declare class NpmGetPackageError extends Error {
18
+ name: string;
19
+ constructor(msg: any);
20
+ }
21
+ export declare class IncreaseVersionFailedError extends Error {
22
+ name: string;
23
+ constructor(msg: any);
24
+ }
25
+ export declare class UnableToProceedPublishError extends Error {
26
+ name: string;
27
+ constructor(msg: any);
28
+ }
29
+ export declare class NpmPublishError extends Error {
30
+ name: string;
31
+ constructor(msg: any);
32
+ }
33
+ export declare class CustomScriptError extends Error {
34
+ name: string;
35
+ constructor(msg: any);
36
+ }
37
+ export declare class GithubCreateReleaseFailedError extends Error {
38
+ name: string;
39
+ constructor(msg: any);
40
+ }
41
+ //# sourceMappingURL=errors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../../src/commands/library/publish/errors.ts"],"names":[],"mappings":"AAAA,qBAAa,qBAAsB,SAAQ,KAAK;IAC5C,IAAI,SAA2B;gBACnB,GAAG,KAAA;CAGlB;AAED,qBAAa,0BAA2B,SAAQ,KAAK;IACjD,IAAI,SAAgC;gBACxB,GAAG,KAAA;CAGlB;AAED,qBAAa,QAAS,SAAQ,KAAK;IAC/B,IAAI,SAAc;gBAEN,GAAG,KAAA;CAGlB;AAED,qBAAa,uBAAwB,SAAQ,KAAK;IAC9C,IAAI,SAA6B;gBACrB,WAAW,KAAA;CAG1B;AAED,qBAAa,kBAAmB,SAAQ,KAAK;IACzC,IAAI,SAAwB;gBAChB,GAAG,KAAA;CAGlB;AAED,qBAAa,0BAA2B,SAAQ,KAAK;IACjD,IAAI,SAAgC;gBACxB,GAAG,KAAA;CAGlB;AAED,qBAAa,2BAA4B,SAAQ,KAAK;IAClD,IAAI,SAAiC;gBACzB,GAAG,KAAA;CAGlB;AAED,qBAAa,eAAgB,SAAQ,KAAK;IACtC,IAAI,SAAqB;gBACb,GAAG,KAAA;CAGlB;AAED,qBAAa,iBAAkB,SAAQ,KAAK;IACxC,IAAI,SAAuB;gBAEf,GAAG,KAAA;CAGlB;AAED,qBAAa,8BAA+B,SAAQ,KAAK;IACrD,IAAI,SAAoC;gBAC5B,GAAG,KAAA;CAGlB"}