rangutopia 0.0.1 → 0.0.3

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 (126) hide show
  1. package/.yarnrc.yml +1 -0
  2. package/dist/commands/library/build/action.d.ts.map +1 -1
  3. package/dist/commands/library/build/action.js +5 -4
  4. package/dist/commands/library/build/action.js.map +1 -1
  5. package/dist/commands/library/mod.d.ts.map +1 -1
  6. package/dist/commands/library/mod.js +10 -2
  7. package/dist/commands/library/mod.js.map +1 -1
  8. package/dist/commands/library/publish/action.d.ts +3 -0
  9. package/dist/commands/library/publish/action.d.ts.map +1 -0
  10. package/dist/commands/library/publish/action.js +132 -0
  11. package/dist/commands/library/publish/action.js.map +1 -0
  12. package/dist/commands/library/publish/configs.d.ts +6 -0
  13. package/dist/commands/library/publish/configs.d.ts.map +1 -0
  14. package/dist/commands/library/publish/configs.js +23 -0
  15. package/dist/commands/library/publish/configs.js.map +1 -0
  16. package/dist/commands/library/publish/constants.d.ts +2 -0
  17. package/dist/commands/library/publish/constants.d.ts.map +1 -0
  18. package/dist/commands/library/publish/constants.js +2 -0
  19. package/dist/commands/library/publish/constants.js.map +1 -0
  20. package/dist/commands/library/publish/errors.d.ts +41 -0
  21. package/dist/commands/library/publish/errors.d.ts.map +1 -0
  22. package/dist/commands/library/publish/errors.js +61 -0
  23. package/dist/commands/library/publish/errors.js.map +1 -0
  24. package/dist/commands/library/publish/features.d.ts +7 -0
  25. package/dist/commands/library/publish/features.d.ts.map +1 -0
  26. package/dist/commands/library/publish/features.js +29 -0
  27. package/dist/commands/library/publish/features.js.map +1 -0
  28. package/dist/commands/library/publish/graph.d.ts +15 -0
  29. package/dist/commands/library/publish/graph.d.ts.map +1 -0
  30. package/dist/commands/library/publish/graph.js +82 -0
  31. package/dist/commands/library/publish/graph.js.map +1 -0
  32. package/dist/commands/library/publish/helpers.d.ts +29 -0
  33. package/dist/commands/library/publish/helpers.d.ts.map +1 -0
  34. package/dist/commands/library/publish/helpers.js +676 -0
  35. package/dist/commands/library/publish/helpers.js.map +1 -0
  36. package/dist/commands/library/publish/mod.d.ts +2 -0
  37. package/dist/commands/library/publish/mod.d.ts.map +1 -0
  38. package/dist/commands/library/publish/mod.js +2 -0
  39. package/dist/commands/library/publish/mod.js.map +1 -0
  40. package/dist/commands/library/publish/options.d.ts +9 -0
  41. package/dist/commands/library/publish/options.d.ts.map +1 -0
  42. package/dist/commands/library/publish/options.js +8 -0
  43. package/dist/commands/library/publish/options.js.map +1 -0
  44. package/dist/commands/library/publish/state.d.ts +22 -0
  45. package/dist/commands/library/publish/state.d.ts.map +1 -0
  46. package/dist/commands/library/publish/state.js +44 -0
  47. package/dist/commands/library/publish/state.js.map +1 -0
  48. package/dist/commands/library/publish/types.d.ts +27 -0
  49. package/dist/commands/library/publish/types.d.ts.map +1 -0
  50. package/dist/commands/library/publish/types.js +2 -0
  51. package/dist/commands/library/publish/types.js.map +1 -0
  52. package/dist/commands/tools/husky/init/action.d.ts.map +1 -1
  53. package/dist/commands/tools/husky/init/action.js +4 -4
  54. package/dist/commands/tools/husky/init/action.js.map +1 -1
  55. package/dist/commands/tools/lint/init/action.js +2 -2
  56. package/dist/commands/tools/lint/init/action.js.map +1 -1
  57. package/dist/configs.d.ts +8 -0
  58. package/dist/configs.d.ts.map +1 -0
  59. package/dist/configs.js +13 -0
  60. package/dist/configs.js.map +1 -0
  61. package/dist/main.js +2 -1
  62. package/dist/main.js.map +1 -1
  63. package/dist/modules/logger/logger.d.ts +19 -0
  64. package/dist/modules/logger/logger.d.ts.map +1 -0
  65. package/dist/modules/logger/logger.js +47 -0
  66. package/dist/modules/logger/logger.js.map +1 -0
  67. package/dist/modules/logger/mod.d.ts +2 -0
  68. package/dist/modules/logger/mod.d.ts.map +1 -0
  69. package/dist/modules/logger/mod.js +2 -0
  70. package/dist/modules/logger/mod.js.map +1 -0
  71. package/dist/modules/mod.d.ts +3 -0
  72. package/dist/modules/mod.d.ts.map +1 -0
  73. package/dist/modules/mod.js +3 -0
  74. package/dist/modules/mod.js.map +1 -0
  75. package/dist/modules/monorepoManager/mod.d.ts +6 -0
  76. package/dist/modules/monorepoManager/mod.d.ts.map +1 -0
  77. package/dist/modules/monorepoManager/mod.js +26 -0
  78. package/dist/modules/monorepoManager/mod.js.map +1 -0
  79. package/dist/modules/monorepoManager/monorepoManager.d.ts +12 -0
  80. package/dist/modules/monorepoManager/monorepoManager.d.ts.map +1 -0
  81. package/dist/modules/monorepoManager/monorepoManager.js +13 -0
  82. package/dist/modules/monorepoManager/monorepoManager.js.map +1 -0
  83. package/dist/modules/monorepoManager/nxAdapter.d.ts +9 -0
  84. package/dist/modules/monorepoManager/nxAdapter.d.ts.map +1 -0
  85. package/dist/modules/monorepoManager/nxAdapter.js +27 -0
  86. package/dist/modules/monorepoManager/nxAdapter.js.map +1 -0
  87. package/dist/modules/monorepoManager/turborepoAdapter.d.ts +9 -0
  88. package/dist/modules/monorepoManager/turborepoAdapter.d.ts.map +1 -0
  89. package/dist/modules/monorepoManager/turborepoAdapter.js +33 -0
  90. package/dist/modules/monorepoManager/turborepoAdapter.js.map +1 -0
  91. package/dist/modules/monorepoManager/types.d.ts +5 -0
  92. package/dist/modules/monorepoManager/types.d.ts.map +1 -0
  93. package/dist/modules/monorepoManager/types.js +2 -0
  94. package/dist/modules/monorepoManager/types.js.map +1 -0
  95. package/dist/setup.d.ts +3 -0
  96. package/dist/setup.d.ts.map +1 -0
  97. package/dist/setup.js +16 -0
  98. package/dist/setup.js.map +1 -0
  99. package/dist/utils/changelog.d.ts +8 -0
  100. package/dist/utils/changelog.d.ts.map +1 -0
  101. package/dist/utils/changelog.js +86 -0
  102. package/dist/utils/changelog.js.map +1 -0
  103. package/dist/utils/fs.d.ts +1 -0
  104. package/dist/utils/fs.d.ts.map +1 -1
  105. package/dist/utils/fs.js +5 -0
  106. package/dist/utils/fs.js.map +1 -1
  107. package/dist/utils/log.d.ts +0 -8
  108. package/dist/utils/log.d.ts.map +1 -1
  109. package/dist/utils/log.js +2 -31
  110. package/dist/utils/log.js.map +1 -1
  111. package/dist/utils/packageJson.d.ts +22 -0
  112. package/dist/utils/packageJson.d.ts.map +1 -1
  113. package/dist/utils/packageJson.js +30 -4
  114. package/dist/utils/packageJson.js.map +1 -1
  115. package/dist/utils/yarn.d.ts +15 -1
  116. package/dist/utils/yarn.d.ts.map +1 -1
  117. package/dist/utils/yarn.js +59 -10
  118. package/dist/utils/yarn.js.map +1 -1
  119. package/package.json +15 -5
  120. package/tsconfig.json +3 -1
  121. package/vitest.config.ts +11 -0
  122. package/.npmrc +0 -2
  123. package/dist/utils/ps.d.ts +0 -4
  124. package/dist/utils/ps.d.ts.map +0 -1
  125. package/dist/utils/ps.js +0 -21
  126. package/dist/utils/ps.js.map +0 -1
@@ -0,0 +1,33 @@
1
+ import spawn from "nano-spawn";
2
+ const findAndParseJsonFromOutput = (output) => {
3
+ const start = output.indexOf('{');
4
+ const end = output.lastIndexOf('}');
5
+ if (start === -1 || end === -1)
6
+ throw new Error(`No JSON found in output:\n${output}`);
7
+ return JSON.parse(output.slice(start, end + 1));
8
+ };
9
+ export class TurborepoAdapter {
10
+ async graph() {
11
+ const lsResult = await spawn('yarn', ['turbo', 'ls', '--output=json']).catch((error) => {
12
+ throw new Error(`Listing packages failed.\n ${error.stderr}`);
13
+ });
14
+ const turboLs = findAndParseJsonFromOutput(lsResult.stdout);
15
+ const dryResult = await spawn('yarn', ['turbo', 'run', 'build', '--dry=json']).catch((error) => {
16
+ throw new Error(`Creating dry-run failed.\n ${error.stderr}`);
17
+ });
18
+ const turboDry = findAndParseJsonFromOutput(dryResult.stdout);
19
+ return {
20
+ nodes: turboLs.packages.items.map(pkg => pkg.name),
21
+ dependencies: new Map(turboDry.tasks.map(task => [
22
+ task.package,
23
+ task.dependencies.map(dep => dep.split('#')[0])
24
+ ])),
25
+ };
26
+ }
27
+ async build(projects) {
28
+ await spawn('yarn', ['turbo', 'run', 'build',
29
+ ...projects.map(p => `--filter=${p}`),
30
+ ]);
31
+ }
32
+ }
33
+ //# sourceMappingURL=turborepoAdapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"turborepoAdapter.js","sourceRoot":"","sources":["../../../src/modules/monorepoManager/turborepoAdapter.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,YAAY,CAAC;AAiB/B,MAAM,0BAA0B,GAAG,CAAC,MAAc,EAAW,EAAE;IAC3D,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAClC,MAAM,GAAG,GAAG,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IACpC,IAAI,KAAK,KAAK,CAAC,CAAC,IAAI,GAAG,KAAK,CAAC,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,6BAA6B,MAAM,EAAE,CAAC,CAAC;IACvF,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;AACpD,CAAC,CAAC;AAEF,MAAM,OAAO,gBAAgB;IACzB,KAAK,CAAC,KAAK;QACP,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,eAAe,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;YACnF,MAAM,IAAI,KAAK,CAAC,8BAA8B,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;QAClE,CAAC,CAAC,CAAC;QAEH,MAAM,OAAO,GAAG,0BAA0B,CAAC,QAAQ,CAAC,MAAM,CAAsB,CAAC;QAEjF,MAAM,SAAS,GAAG,MAAM,KAAK,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;YAC3F,MAAM,IAAI,KAAK,CAAC,8BAA8B,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;QAClE,CAAC,CAAC,CAAC;QAEH,MAAM,QAAQ,GAAG,0BAA0B,CAAC,SAAS,CAAC,MAAM,CAAoB,CAAC;QAEjF,OAAO;YACH,KAAK,EAAE,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC;YAClD,YAAY,EAAE,IAAI,GAAG,CACjB,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;gBACvB,IAAI,CAAC,OAAO;gBACZ,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;aAClD,CAAC,CACL;SACJ,CAAC;IACN,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,QAAkB;QAC1B,MAAM,KAAK,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE,KAAK,EAAE,OAAO;YACxC,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC;SACxC,CAAC,CAAC;IACP,CAAC;CACJ"}
@@ -0,0 +1,5 @@
1
+ export interface MonorepoGraph {
2
+ nodes: string[];
3
+ dependencies: Map<string, string[]>;
4
+ }
5
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/modules/monorepoManager/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,aAAa;IAC1B,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;CACvC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/modules/monorepoManager/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ import type { Command } from "commander";
2
+ export declare const setup: (program: Command) => void;
3
+ //# sourceMappingURL=setup.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../src/setup.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,OAAO,EAAC,MAAM,WAAW,CAAC;AAGvC,eAAO,MAAM,KAAK,GAAI,SAAS,OAAO,SAQrC,CAAA"}
package/dist/setup.js ADDED
@@ -0,0 +1,16 @@
1
+ import { setupLogger, setupMonorepoManager } from "./modules/mod.js";
2
+ export const setup = (program) => {
3
+ setupGeneralInfoAndOptions(program);
4
+ program.hook("preAction", (thisCommand) => {
5
+ const options = thisCommand.opts();
6
+ setupLogger({ verbose: options.verbose ?? false });
7
+ setupMonorepoManager();
8
+ });
9
+ };
10
+ const setupGeneralInfoAndOptions = (program) => {
11
+ program
12
+ .name("Rangutopia")
13
+ .description("Scripts across rango organization.")
14
+ .option("-v, --verbose", "Verbose", false);
15
+ };
16
+ //# sourceMappingURL=setup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setup.js","sourceRoot":"","sources":["../src/setup.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,WAAW,EAAE,oBAAoB,EAAC,MAAM,kBAAkB,CAAC;AAEnE,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,OAAgB,EAAE,EAAE;IACtC,0BAA0B,CAAC,OAAO,CAAC,CAAA;IAEnC,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,WAAW,EAAE,EAAE;QACtC,MAAM,OAAO,GAAG,WAAW,CAAC,IAAI,EAAE,CAAC;QACnC,WAAW,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,KAAK,EAAE,CAAC,CAAC;QACnD,oBAAoB,EAAE,CAAA;IAC1B,CAAC,CAAC,CAAC;AACP,CAAC,CAAA;AAED,MAAM,0BAA0B,GAAG,CAAC,OAAgB,EAAE,EAAE;IACpD,OAAO;SACF,IAAI,CAAC,YAAY,CAAC;SAClB,WAAW,CAAC,oCAAoC,CAAC;SACjD,MAAM,CAAC,eAAe,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;AACnD,CAAC,CAAA"}
@@ -0,0 +1,8 @@
1
+ import type { Package } from "../commands/library/publish/types.js";
2
+ export declare const TAG_PACKAGE_PREFIX: (pkg: {
3
+ name: string;
4
+ }) => string;
5
+ export declare function generateChangelogAndSave(pkg: Package): Promise<unknown>;
6
+ export declare function memoizeGenerateChangelog(pkg: Package): import("stream").Readable;
7
+ export declare function generateChangelog(pkg: Package): import("stream").Readable;
8
+ //# sourceMappingURL=changelog.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"changelog.d.ts","sourceRoot":"","sources":["../../src/utils/changelog.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,OAAO,EAAC,MAAM,sCAAsC,CAAC;AAYlE,eAAO,MAAM,kBAAkB,GAAI,KAAK;IAAC,IAAI,EAAE,MAAM,CAAA;CAAC,WACX,CAAC;AAM5C,wBAAsB,wBAAwB,CAAC,GAAG,EAAE,OAAO,oBAS1D;AAGD,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,OAAO,6BAcpD;AAiDD,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,OAAO,6BAc7C"}
@@ -0,0 +1,86 @@
1
+ import { ConventionalChangelog } from 'conventional-changelog';
2
+ import path, { join } from "node:path";
3
+ import { ROOT_PATH } from "../constants.js";
4
+ import { packageJsonPath, packagePath } from "./packageJson.js";
5
+ import { createReadStream, createWriteStream, existsSync, mkdirSync } from "node:fs";
6
+ import { Writable } from "stream";
7
+ import { access, rename, unlink } from "node:fs/promises";
8
+ import { pipeline } from "node:stream/promises";
9
+ import { logger } from "../modules/mod.js";
10
+ import { tmpdir } from "node:os";
11
+ export const TAG_PACKAGE_PREFIX = (pkg) => `${packageNameWithoutScope(pkg.name)}@`;
12
+ function packageNameWithoutScope(name) {
13
+ return name.replace(/@.+\//, '');
14
+ }
15
+ export async function generateChangelogAndSave(pkg) {
16
+ return new Promise((resolve, reject) => {
17
+ const changelog = memoizeGenerateChangelog(pkg);
18
+ const writeStream = changelog.pipe(changelogFileStream(pkg));
19
+ writeStream.on('finish', resolve);
20
+ writeStream.on('error', reject);
21
+ });
22
+ }
23
+ export function memoizeGenerateChangelog(pkg) {
24
+ const memoizeFolder = join(tmpdir(), "CHANGELOGS");
25
+ // escaped pkg.name slashes since scoped packages (e.g. @scope/name) contain a slash
26
+ // which would be interpreted as a folder path
27
+ const escapedName = pkg.name.replace(/\//g, '_');
28
+ const changelogMemoizePath = join(memoizeFolder, `${escapedName}@${pkg.version}.tmp`);
29
+ if (existsSync(changelogMemoizePath)) {
30
+ return createReadStream(changelogMemoizePath);
31
+ }
32
+ else {
33
+ mkdirSync(join(tmpdir(), "CHANGELOGS"), { recursive: true });
34
+ const source = generateChangelog(pkg);
35
+ source.pipe(createWriteStream(changelogMemoizePath));
36
+ return source;
37
+ }
38
+ }
39
+ function changelogFileStream(pkg) {
40
+ const changelogPath = packageChangelogPath(pkg.location);
41
+ const changelogPathTmp = changelogPath + '.tmp';
42
+ // Creating a temp writer to don't load the whole file in memory at once, at the end will append the old changelog to the temp, then rename it.
43
+ const tempWriteStream = createWriteStream(changelogPathTmp);
44
+ const proxyStream = new Writable({
45
+ write(chunk, encoding, cb) {
46
+ tempWriteStream.write(chunk, encoding, cb);
47
+ },
48
+ final(cb) {
49
+ tempWriteStream.end(async () => {
50
+ try {
51
+ // if a changelog already exists, we append the old one top the temp.
52
+ await access(changelogPath)
53
+ .then(() => pipeline(createReadStream(changelogPath), createWriteStream(changelogPathTmp, { flags: 'a' })))
54
+ .catch(() => {
55
+ // ignore.
56
+ });
57
+ // replace temp as the main changelog.
58
+ await rename(changelogPathTmp, changelogPath);
59
+ cb();
60
+ }
61
+ catch (err) {
62
+ logger.error(`Failed to prepend changelog: ${{ err }}`);
63
+ void unlink(changelogPathTmp);
64
+ cb(err);
65
+ }
66
+ });
67
+ },
68
+ });
69
+ return proxyStream;
70
+ }
71
+ function packageChangelogPath(packageLocation = '') {
72
+ return path.join(packagePath(packageLocation), 'CHANGELOG.md');
73
+ }
74
+ export function generateChangelog(pkg) {
75
+ const generator = new ConventionalChangelog(ROOT_PATH);
76
+ generator.loadPreset('angular');
77
+ generator.readPackage(packageJsonPath(pkg.location));
78
+ generator.commits({
79
+ path: pkg.location,
80
+ });
81
+ generator.tags({
82
+ prefix: TAG_PACKAGE_PREFIX(pkg),
83
+ });
84
+ return generator.writeStream();
85
+ }
86
+ //# sourceMappingURL=changelog.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"changelog.js","sourceRoot":"","sources":["../../src/utils/changelog.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  export declare function findBinaryPath(binary: string): Promise<string | undefined>;
2
2
  export declare function copy(src: string, dest: string): void;
3
3
  export declare function copyDir(srcDir: string, destDir: string): void;
4
+ export declare function importJson<T>(filename: string): Promise<T>;
4
5
  //# sourceMappingURL=fs.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"fs.d.ts","sourceRoot":"","sources":["../../src/utils/fs.ts"],"names":[],"mappings":"AAIA,wBAAsB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAShF;AAID,wBAAgB,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,QAO7C;AAED,wBAAgB,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,QAOtD"}
1
+ {"version":3,"file":"fs.d.ts","sourceRoot":"","sources":["../../src/utils/fs.ts"],"names":[],"mappings":"AAKA,wBAAsB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAShF;AAID,wBAAgB,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,QAO7C;AAED,wBAAgB,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,QAOtD;AAED,wBAAsB,UAAU,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAIhE"}
package/dist/utils/fs.js CHANGED
@@ -1,6 +1,7 @@
1
1
  import { findUp, pathExists } from "find-up";
2
2
  import path from "node:path";
3
3
  import fs from "node:fs";
4
+ import { readFile } from "fs/promises";
4
5
  export async function findBinaryPath(binary) {
5
6
  const localBinPath = (directory) => path.join(directory, "node_modules", '.bin', binary);
6
7
  const result = await findUp(async (directory) => {
@@ -26,4 +27,8 @@ export function copyDir(srcDir, destDir) {
26
27
  copy(srcFile, destFile);
27
28
  }
28
29
  }
30
+ export async function importJson(filename) {
31
+ const json = JSON.parse(await readFile(filename, 'utf-8'));
32
+ return json;
33
+ }
29
34
  //# sourceMappingURL=fs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"fs.js","sourceRoot":"","sources":["../../src/utils/fs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAC5C,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,MAAM,SAAS,CAAC;AAEzB,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,MAAc;IAC3C,MAAM,YAAY,GAAG,CAAC,SAAiB,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAEjG,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE;QACxC,MAAM,SAAS,GAAG,MAAM,UAAU,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC;QAC5D,OAAO,SAAS,IAAI,SAAS,CAAC;IACtC,CAAC,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAA;IAEzB,OAAO,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AACzD,CAAC;AAID,MAAM,UAAU,IAAI,CAAC,GAAW,EAAE,IAAY;IACtC,MAAM,IAAI,GAAG,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAA;IAC7B,IAAI,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;QACjB,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;IAC1B,CAAC;SAAM,CAAC;QACA,EAAE,CAAC,YAAY,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;IAClC,CAAC;AACT,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,MAAc,EAAE,OAAe;IAC/C,EAAE,CAAC,SAAS,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;IAC1C,KAAK,MAAM,IAAI,IAAI,EAAE,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;QACpC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;QAC1C,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;QAC5C,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAA;IAC/B,CAAC;AACT,CAAC"}
1
+ {"version":3,"file":"fs.js","sourceRoot":"","sources":["../../src/utils/fs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAC5C,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,EAAC,QAAQ,EAAC,MAAM,aAAa,CAAC;AAErC,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,MAAc;IAC3C,MAAM,YAAY,GAAG,CAAC,SAAiB,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAEjG,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE;QACxC,MAAM,SAAS,GAAG,MAAM,UAAU,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC;QAC5D,OAAO,SAAS,IAAI,SAAS,CAAC;IACtC,CAAC,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAA;IAEzB,OAAO,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AACzD,CAAC;AAID,MAAM,UAAU,IAAI,CAAC,GAAW,EAAE,IAAY;IACtC,MAAM,IAAI,GAAG,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAA;IAC7B,IAAI,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;QACjB,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;IAC1B,CAAC;SAAM,CAAC;QACA,EAAE,CAAC,YAAY,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;IAClC,CAAC;AACT,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,MAAc,EAAE,OAAe;IAC/C,EAAE,CAAC,SAAS,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;IAC1C,KAAK,MAAM,IAAI,IAAI,EAAE,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;QACpC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;QAC1C,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;QAC5C,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAA;IAC/B,CAAC;AACT,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,UAAU,CAAI,QAAgB;IAChD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAM,CAAC;IAEhE,OAAO,IAAI,CAAC;AAChB,CAAC"}
@@ -1,11 +1,3 @@
1
- export declare enum Level {
2
- Trace = 0,
3
- Debug = 1,
4
- Info = 2,
5
- Warn = 3,
6
- Error = 4
7
- }
8
- export declare function log(level: Level, message: string): void;
9
1
  export declare function logErrorAndExit(message: string): never;
10
2
  interface MessageContext {
11
3
  task: "tsc" | "esbuild";
@@ -1 +1 @@
1
- {"version":3,"file":"log.d.ts","sourceRoot":"","sources":["../../src/utils/log.ts"],"names":[],"mappings":"AAGA,oBAAY,KAAK;IACT,KAAK,IAAI;IACT,KAAK,IAAI;IACT,IAAI,IAAI;IACR,IAAI,IAAI;IACR,KAAK,IAAI;CAChB;AAGD,wBAAgB,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,QAkBhD;AAED,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,KAAK,CAGtD;AAGD,UAAU,cAAc;IAChB,IAAI,EAAE,KAAK,GAAG,SAAS,CAAC;CAC/B;AAED,wBAAgB,OAAO,CAAC,OAAO,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,UAE/D"}
1
+ {"version":3,"file":"log.d.ts","sourceRoot":"","sources":["../../src/utils/log.ts"],"names":[],"mappings":"AAEA,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,KAAK,CAGtD;AAGD,UAAU,cAAc;IAChB,IAAI,EAAE,KAAK,GAAG,SAAS,CAAC;CAC/B;AAED,wBAAgB,OAAO,CAAC,OAAO,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,UAE/D"}
package/dist/utils/log.js CHANGED
@@ -1,35 +1,6 @@
1
- import logSymbols from 'log-symbols';
2
- /* eslint-disable @typescript-eslint/no-magic-numbers */
3
- export var Level;
4
- (function (Level) {
5
- Level[Level["Trace"] = 0] = "Trace";
6
- Level[Level["Debug"] = 1] = "Debug";
7
- Level[Level["Info"] = 2] = "Info";
8
- Level[Level["Warn"] = 3] = "Warn";
9
- Level[Level["Error"] = 4] = "Error";
10
- })(Level || (Level = {}));
11
- export function log(level, message) {
12
- if (level === Level.Trace) {
13
- console.log("[trace]", message);
14
- }
15
- else if (level === Level.Debug) {
16
- console.log("[debug]", message);
17
- }
18
- else if (level === Level.Info) {
19
- console.log(logSymbols.info, message);
20
- }
21
- else if (level === Level.Warn) {
22
- console.log(logSymbols.warning, message);
23
- }
24
- else if (level === Level.Error) {
25
- console.log(logSymbols.error, message);
26
- }
27
- else {
28
- throw new Error("not implemented");
29
- }
30
- }
1
+ import { logger } from "../modules/mod.js";
31
2
  export function logErrorAndExit(message) {
32
- log(Level.Error, message);
3
+ logger.error(message);
33
4
  process.exit(1);
34
5
  }
35
6
  export function message(context, message) {
@@ -1 +1 @@
1
- {"version":3,"file":"log.js","sourceRoot":"","sources":["../../src/utils/log.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,aAAa,CAAC;AAErC,wDAAwD;AACxD,MAAM,CAAN,IAAY,KAMX;AAND,WAAY,KAAK;IACT,mCAAS,CAAA;IACT,mCAAS,CAAA;IACT,iCAAQ,CAAA;IACR,iCAAQ,CAAA;IACR,mCAAS,CAAA;AACjB,CAAC,EANW,KAAK,KAAL,KAAK,QAMhB;AAGD,MAAM,UAAU,GAAG,CAAC,KAAY,EAAE,OAAe;IACzC,IAAI,KAAK,KAAK,KAAK,CAAC,KAAK,EAAE,CAAC;QACpB,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,CAAA;IACvC,CAAC;SACI,IAAI,KAAK,KAAK,KAAK,CAAC,KAAK,EAAE,CAAC;QACzB,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,CAAA;IACvC,CAAC;SACI,IAAI,KAAK,KAAK,KAAK,CAAC,IAAI,EAAE,CAAC;QACxB,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;IAC7C,CAAC;SACI,IAAI,KAAK,KAAK,KAAK,CAAC,IAAI,EAAE,CAAC;QACxB,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;IAChD,CAAC;SACI,IAAI,KAAK,KAAK,KAAK,CAAC,KAAK,EAAE,CAAC;QACzB,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,EAAE,OAAO,CAAC,CAAA;IAC9C,CAAC;SAAM,CAAC;QACA,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IAC3C,CAAC;AACT,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,OAAe;IACvC,GAAG,CAAC,KAAK,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAC1B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACxB,CAAC;AAOD,MAAM,UAAU,OAAO,CAAC,OAAuB,EAAE,OAAe;IACxD,OAAO,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;AAC9C,CAAC"}
1
+ {"version":3,"file":"log.js","sourceRoot":"","sources":["../../src/utils/log.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,MAAM,EAAC,MAAM,mBAAmB,CAAC;AAEzC,MAAM,UAAU,eAAe,CAAC,OAAe;IAC7C,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACtB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAOD,MAAM,UAAU,OAAO,CAAC,OAAuB,EAAE,OAAe;IACxD,OAAO,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;AAC9C,CAAC"}
@@ -17,6 +17,28 @@ export declare function readAndValidatePacakgeJson(path: string): {
17
17
  dependencies?: Record<string, string>;
18
18
  devDependencies?: Record<string, string>;
19
19
  scripts?: Record<string, string>;
20
+ private?: boolean;
20
21
  };
21
22
  export declare function findMissingDependencies(requiredDependencies: string[]): Promise<any[]>;
23
+ /**
24
+ * Returns the full path of a package including the root path.
25
+ * If no package location is provided, returns the root path.
26
+ *
27
+ * @param {string} [packageLocation=''] - The relative path to the package from root
28
+ * @returns {string} The full path to the package directory
29
+ * @example
30
+ * // Returns root path
31
+ * packagePath()
32
+ *
33
+ */
34
+ export declare function packagePath(packageLocation?: string): string;
35
+ /**
36
+ * Returns the full path to the package.json file of a package.
37
+ * If no package location is provided, returns the root package.json path.
38
+ *
39
+ * // Returns './package.json'
40
+ * packageJsonPath()
41
+ *
42
+ */
43
+ export declare function packageJsonPath(packageLocation?: string): string;
22
44
  //# sourceMappingURL=packageJson.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"packageJson.d.ts","sourceRoot":"","sources":["../../src/utils/packageJson.ts"],"names":[],"mappings":"AASA,wBAAsB,sBAAsB,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAS1E;AAGD,wBAAsB,sCAAsC,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;IAAE,kBAAkB,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CA6BlJ;AAGD;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAyBzE;AAED,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAYvF;AAED,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,MAAM;;;;;;;;EAkBtD;AAGD,wBAAsB,uBAAuB,CAAC,oBAAoB,EAAE,MAAM,EAAE,kBAW3E"}
1
+ {"version":3,"file":"packageJson.d.ts","sourceRoot":"","sources":["../../src/utils/packageJson.ts"],"names":[],"mappings":"AASA,wBAAsB,sBAAsB,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAS1E;AAGD,wBAAsB,sCAAsC,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;IAAE,kBAAkB,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CA6BlJ;AAGD;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAyBzE;AAED,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAYvF;AAED,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,MAAM;;;;;;;;;EAoBtD;AAGD,wBAAsB,uBAAuB,CAAC,oBAAoB,EAAE,MAAM,EAAE,kBAW3E;AAID;;;;;;;;;;GAUG;AACH,wBAAgB,WAAW,CAAC,eAAe,SAAK,UAE/C;AAED;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,eAAe,SAAK,UAEnD"}
@@ -1,10 +1,10 @@
1
1
  import { findUp, findUpMultiple } from "find-up";
2
2
  import { closeSync, openSync, readFileSync, writeSync } from "node:fs";
3
- import { dirname, join } from "node:path";
3
+ import path, { dirname, join } from "node:path";
4
4
  import { z } from "zod/v4";
5
5
  import { validatedSchemaOrThrow } from "./parse.js";
6
- import { log } from "node:console";
7
- import { Level } from "./log.js";
6
+ import { logger } from "../modules/mod.js";
7
+ import { ROOT_PATH } from "../constants.js";
8
8
  export async function nearestPackageJsonPath() {
9
9
  const firstPackageJson = await findUp("package.json");
10
10
  if (!firstPackageJson) {
@@ -23,7 +23,7 @@ export async function lookupPackageJsonFilesToFindDependency(name, options) {
23
23
  }
24
24
  catch (e) {
25
25
  console.log({ e });
26
- log(Level.Warn, `Seems ${path} is not a valid json. this file will be skipped.`);
26
+ logger.warn(`Seems ${path} is not a valid json. this file will be skipped.`);
27
27
  // Skiping this iterate
28
28
  return false;
29
29
  }
@@ -91,6 +91,7 @@ export function readAndValidatePacakgeJson(path) {
91
91
  dependencies: z.record(z.string(), z.string()).optional(),
92
92
  devDependencies: z.record(z.string(), z.string()).optional(),
93
93
  scripts: z.record(z.string(), z.string()).optional(),
94
+ private: z.boolean().optional()
94
95
  });
95
96
  const output = validatedSchemaOrThrow(PackageJsonSchema, packageJsonContent);
96
97
  return output;
@@ -105,4 +106,29 @@ export async function findMissingDependencies(requiredDependencies) {
105
106
  });
106
107
  return missingPackages;
107
108
  }
109
+ /**
110
+ * Returns the full path of a package including the root path.
111
+ * If no package location is provided, returns the root path.
112
+ *
113
+ * @param {string} [packageLocation=''] - The relative path to the package from root
114
+ * @returns {string} The full path to the package directory
115
+ * @example
116
+ * // Returns root path
117
+ * packagePath()
118
+ *
119
+ */
120
+ export function packagePath(packageLocation = '') {
121
+ return path.join(ROOT_PATH, packageLocation);
122
+ }
123
+ /**
124
+ * Returns the full path to the package.json file of a package.
125
+ * If no package location is provided, returns the root package.json path.
126
+ *
127
+ * // Returns './package.json'
128
+ * packageJsonPath()
129
+ *
130
+ */
131
+ export function packageJsonPath(packageLocation = '') {
132
+ return path.join(packagePath(packageLocation), 'package.json');
133
+ }
108
134
  //# sourceMappingURL=packageJson.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"packageJson.js","sourceRoot":"","sources":["../../src/utils/packageJson.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"packageJson.js","sourceRoot":"","sources":["../../src/utils/packageJson.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,16 @@
1
- export declare function add(packages: string[], type?: "dev" | undefined): Promise<void>;
1
+ export declare const yarnCommands: {
2
+ add(packages: string[], type?: "dev"): import("nano-spawn").Subprocess;
3
+ getWorkspaces(json?: boolean): Promise<{
4
+ stdout: string;
5
+ stderr: string;
6
+ output: string;
7
+ command: string;
8
+ durationMs: number;
9
+ pipedFrom?: import("nano-spawn").Result | import("nano-spawn").SubprocessError;
10
+ }>;
11
+ bumpProductionVersion(packageName: string, releaseType: "patch" | "minor" | "major"): import("nano-spawn").Subprocess;
12
+ bumpPrereleaseVersion(packageName: string): import("nano-spawn").Subprocess;
13
+ bumpToVersion(packageName: string, newVersion: string): import("nano-spawn").Subprocess;
14
+ publish(pkgLocation: string, tag: string): import("nano-spawn").Subprocess;
15
+ };
2
16
  //# sourceMappingURL=yarn.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"yarn.d.ts","sourceRoot":"","sources":["../../src/utils/yarn.ts"],"names":[],"mappings":"AAGA,wBAAsB,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,IAAI,CAAC,EAAE,KAAK,GAAG,SAAS,iBASrE"}
1
+ {"version":3,"file":"yarn.d.ts","sourceRoot":"","sources":["../../src/utils/yarn.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,YAAY;kBACP,MAAM,EAAE,SAAS,KAAK;;;;;;;;;uCAWD,MAAM,eAAe,OAAO,GAAG,OAAO,GAAG,OAAO;uCAWhD,MAAM;+BAYd,MAAM,cAAc,MAAM;yBAYhC,MAAM,OAAO,MAAM;CAQ3C,CAAC"}
@@ -1,11 +1,60 @@
1
- import { spawnAsync } from "./ps.js";
2
- // TODO: This fails when trying to add package to root of monorepo.
3
- export async function add(packages, type) {
4
- let args = ["add"];
5
- if (type === 'dev') {
6
- args.push('-D');
7
- }
8
- args = args.concat(packages);
9
- await spawnAsync("yarn", args);
10
- }
1
+ import { stripVTControlCharacters } from "node:util";
2
+ import spawn from "nano-spawn";
3
+ export const yarnCommands = {
4
+ add(packages, type) {
5
+ let args = ["add"];
6
+ if (type === "dev")
7
+ args.push("-D");
8
+ args = args.concat(packages);
9
+ return spawn("yarn", args);
10
+ },
11
+ async getWorkspaces(json = true) {
12
+ // --json flag guarantees that whether it is run with yarn or node, the output always has a consistent result.
13
+ const result = await spawn("yarn", ['--silent', 'workspaces', 'info', json ? '--json' : '']);
14
+ return { ...result, stdout: stripVTControlCharacters(result.stdout) };
15
+ },
16
+ bumpProductionVersion(packageName, releaseType) {
17
+ return spawn('yarn', [
18
+ '--silent',
19
+ 'workspace',
20
+ packageName,
21
+ 'version',
22
+ `--${releaseType}`,
23
+ '--no-git-tag-version',
24
+ '--json',
25
+ ]);
26
+ },
27
+ bumpPrereleaseVersion(packageName) {
28
+ return spawn('yarn', [
29
+ '--silent',
30
+ 'workspace',
31
+ packageName,
32
+ 'version',
33
+ '--preid=next',
34
+ '--prerelease',
35
+ '--no-git-tag-version',
36
+ '--json',
37
+ ]);
38
+ },
39
+ bumpToVersion(packageName, newVersion) {
40
+ return spawn('yarn', [
41
+ '--silent',
42
+ 'workspace',
43
+ packageName,
44
+ 'version',
45
+ '--new-version',
46
+ newVersion,
47
+ '--no-git-tag-version',
48
+ '--json',
49
+ ]);
50
+ },
51
+ publish(pkgLocation, tag) {
52
+ return spawn('yarn', [
53
+ 'publish',
54
+ pkgLocation,
55
+ '--tag',
56
+ tag,
57
+ ]);
58
+ },
59
+ };
11
60
  //# sourceMappingURL=yarn.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"yarn.js","sourceRoot":"","sources":["../../src/utils/yarn.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAC,MAAM,SAAS,CAAC;AAEnC,mEAAmE;AACnE,MAAM,CAAC,KAAK,UAAU,GAAG,CAAC,QAAkB,EAAE,IAAwB;IAC9D,IAAI,IAAI,GAAG,CAAC,KAAK,CAAC,CAAA;IAClB,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC;QACb,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACvB,CAAC;IACD,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;IAG5B,MAAM,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;AACvC,CAAC"}
1
+ {"version":3,"file":"yarn.js","sourceRoot":"","sources":["../../src/utils/yarn.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,WAAW,CAAC;AACrD,OAAO,KAAK,MAAM,YAAY,CAAC;AAE/B,MAAM,CAAC,MAAM,YAAY,GAAG;IACxB,GAAG,CAAC,QAAkB,EAAE,IAAY;QAChC,IAAI,IAAI,GAAG,CAAC,KAAK,CAAC,CAAA;QAClB,IAAI,IAAI,KAAK,KAAK;YAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACnC,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;QAC5B,OAAO,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;IAC9B,CAAC;IACD,KAAK,CAAC,aAAa,CAAC,IAAI,GAAG,IAAI;QAC3B,8GAA8G;QAC9G,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,MAAM,EAAE,CAAC,UAAU,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;QAC5F,OAAO,EAAE,GAAG,MAAM,EAAE,MAAM,EAAE,wBAAwB,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAA;IACzE,CAAC;IACD,qBAAqB,CAAC,WAAmB,EAAE,WAAwC;QAC/E,OAAO,KAAK,CAAC,MAAM,EAAE;YACjB,UAAU;YACV,WAAW;YACX,WAAW;YACX,SAAS;YACT,KAAK,WAAW,EAAE;YAClB,sBAAsB;YACtB,QAAQ;SACX,CAAC,CAAA;IACN,CAAC;IACD,qBAAqB,CAAC,WAAmB;QACrC,OAAO,KAAK,CAAC,MAAM,EAAE;YACjB,UAAU;YACV,WAAW;YACX,WAAW;YACX,SAAS;YACT,cAAc;YACd,cAAc;YACd,sBAAsB;YACtB,QAAQ;SACX,CAAC,CAAA;IACN,CAAC;IACD,aAAa,CAAC,WAAmB,EAAE,UAAkB;QACjD,OAAO,KAAK,CAAC,MAAM,EAAE;YACjB,UAAU;YACV,WAAW;YACX,WAAW;YACX,SAAS;YACT,eAAe;YACf,UAAU;YACV,sBAAsB;YACtB,QAAQ;SACX,CAAC,CAAA;IACN,CAAC;IACD,OAAO,CAAC,WAAmB,EAAE,GAAW;QACpC,OAAO,KAAK,CAAC,MAAM,EAAE;YACjB,SAAS;YACT,WAAW;YACX,OAAO;YACP,GAAG;SACN,CAAC,CAAA;IACN,CAAC;CACJ,CAAC"}
package/package.json CHANGED
@@ -1,25 +1,35 @@
1
1
  {
2
2
  "name": "rangutopia",
3
3
  "type": "module",
4
- "version": "0.0.1",
4
+ "version": "0.0.3",
5
5
  "packageManager": "yarn@4.4.1",
6
6
  "bin": "./dist/main.js",
7
7
  "dependencies": {
8
+ "ci-info": "^4.4.0",
8
9
  "commander": "^14.0.0",
10
+ "conventional-changelog": "^7.2.0",
11
+ "conventional-changelog-angular": "^8.3.1",
12
+ "conventional-recommended-bump": "^11.2.0",
9
13
  "find-up": "^7.0.0",
10
- "log-symbols": "^7.0.1",
14
+ "nano-spawn": "^2.1.0",
11
15
  "ora": "^8.2.0",
16
+ "pino": "^10.3.1",
17
+ "pino-pretty": "^13.1.3",
12
18
  "zod": "^3.25.71"
13
19
  },
14
20
  "devDependencies": {
15
21
  "@types/node": "^22.15.21",
22
+ "@vitest/coverage-v8": "^3.2.0",
16
23
  "esbuild": "^0.25.4",
17
24
  "esbuild-plugins-node-modules-polyfill": "^1.7.1",
18
- "typescript": "^5.8.3"
25
+ "typescript": "^5.8.3",
26
+ "vitest": "^3.2.0"
19
27
  },
20
28
  "scripts": {
21
29
  "build": "tsc",
22
30
  "dev": "yarn build && node dist/main.js",
23
- "publish-from-cli": "YARN_NPM_AUTH_TOKEN=$(pass rng/npm-dev | head -n1) yarn npm publish"
31
+ "test": "vitest run",
32
+ "test:watch": "vitest",
33
+ "test:coverage": "vitest run --coverage"
24
34
  }
25
- }
35
+ }
package/tsconfig.json CHANGED
@@ -1,4 +1,6 @@
1
1
  {
2
+ "include": ["src"],
3
+ "exclude": ["node_modules"],
2
4
  "compilerOptions": {
3
5
  "target": "es2022", /* Set the JavaScript language version for emitted JavaScript and include compatible library declarations. */
4
6
  "module": "node16", /* Specify what module code is generated. */
@@ -6,7 +8,7 @@
6
8
  "declaration": true,
7
9
  "sourceMap": true,
8
10
  "declarationMap": true,
9
-
11
+ "rootDir": "./src/",
10
12
  "outDir": "dist"
11
13
  }
12
14
  }
@@ -0,0 +1,11 @@
1
+ import { defineConfig } from "vitest/config";
2
+
3
+ export default defineConfig({
4
+ test: {
5
+ globals: true,
6
+ include: ["tests/**/*.test.ts"],
7
+ environment: "node",
8
+ testTimeout: 20000,
9
+ hookTimeout: 20000,
10
+ },
11
+ });
package/.npmrc DELETED
@@ -1,2 +0,0 @@
1
- //registry.npmjs.org/:_authToken=${NPM_TOKEN}
2
-
@@ -1,4 +0,0 @@
1
- import { type SpawnOptions } from "node:child_process";
2
- import type { Readable } from "node:stream";
3
- export declare function spawnAsync(command: string, args?: string[], options?: SpawnOptions): Promise<Readable>;
4
- //# sourceMappingURL=ps.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ps.d.ts","sourceRoot":"","sources":["../../src/utils/ps.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,KAAK,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAE5C,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,GAAE,MAAM,EAAO,EAAE,OAAO,GAAE,YAAiB,GAAG,OAAO,CAAC,QAAQ,CAAC,CAqB9G"}
package/dist/utils/ps.js DELETED
@@ -1,21 +0,0 @@
1
- import { spawn } from "node:child_process";
2
- export function spawnAsync(command, args = [], options = {}) {
3
- return new Promise((resolve, reject) => {
4
- const child = spawn(command, args, {
5
- stdio: 'inherit',
6
- ...options,
7
- });
8
- child.on("exit", (code) => {
9
- if (code !== 0) {
10
- reject(new Error(`Process exited with code ${code}`));
11
- }
12
- else {
13
- resolve(child.stdout);
14
- }
15
- });
16
- child.on("error", (error) => {
17
- reject(error);
18
- });
19
- });
20
- }
21
- //# sourceMappingURL=ps.js.map