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
@@ -0,0 +1,624 @@
1
+ import { detectChannel } from "./configs.js";
2
+ import spawn from "nano-spawn";
3
+ import { getMonorepoManager, getPackageManager, logger } from "../../../modules/mod.js";
4
+ import { Graph, ROOT_KEY } from "./graph.js";
5
+ import { packageJsonPath, readAndValidatePacakgeJson, readPackageJson, updatePackageJson } from "../../../utils/packageJson.js";
6
+ import { should } from "./features.js";
7
+ import { CustomScriptError, GitError, GithubCreateReleaseFailedError, GithubGetReleaseError, GithubReleaseNotFoundError, IncreaseVersionFailedError, NpmGetPackageError, NpmPackageNotFoundError, NpmPublishError, UnableToProceedPublishError } from "./errors.js";
8
+ import { generateChangelogAndSave, memoizeGenerateChangelog, TAG_PACKAGE_PREFIX } from "../../../utils/changelog.js";
9
+ import { Bumper } from "conventional-recommended-bump";
10
+ import { DEPENDENCY_KEYS, PUBLISH_COMMIT_SUBJECT } from "./constants.js";
11
+ import semver from "semver/preload.js";
12
+ export async function getAffectedPackages(sinceStart) {
13
+ const channel = detectChannel();
14
+ // the source code for these packages have been updated.
15
+ const onlyChangedPackages = await getChangedPackagesFor(channel, sinceStart);
16
+ // changes will affect other packages as well, this is the full list.
17
+ const allAffectedPackages = await analyzeChangesEffects(onlyChangedPackages);
18
+ return allAffectedPackages;
19
+ }
20
+ async function getChangedPackagesFor(channel, sinceStart) {
21
+ let baseCommit;
22
+ if (channel === 'experimental') {
23
+ const branch = getBaseBranchForExperimental();
24
+ const originBranch = `origin/${branch}`;
25
+ if (await isBranchAncestorOfHead(originBranch)) {
26
+ baseCommit = await getBaseBranchCommitHashId(originBranch);
27
+ }
28
+ else {
29
+ throw new Error('Your branch must be based on `main`.');
30
+ }
31
+ }
32
+ else {
33
+ // Detect last release and what packages has changed since then.
34
+ const useTagForDetectLastRelease = channel === 'prod';
35
+ baseCommit = await getLastReleasedHashId(useTagForDetectLastRelease);
36
+ }
37
+ let changedPkgs;
38
+ if (sinceStart)
39
+ changedPkgs = await workspacePackages();
40
+ else if (baseCommit)
41
+ changedPkgs = await changed(baseCommit);
42
+ else
43
+ throw new Error("Couldn't find the commit hash to compare to for the selected method");
44
+ return changedPkgs;
45
+ }
46
+ async function changed(since) {
47
+ const pkgs = await workspacePackages();
48
+ const all = await Promise.all(pkgs.map((pkg) => {
49
+ let command = ['log', `${since}..HEAD`, '--oneline', '--', pkg.location];
50
+ if (!since) {
51
+ command = ['log', '--oneline', '--', pkg.location];
52
+ }
53
+ return spawn('git', command).then(({ stdout: result }) => {
54
+ return {
55
+ ...pkg,
56
+ changed: !!result,
57
+ };
58
+ });
59
+ }));
60
+ // Kepp only changed packages and then clean up the object to remove `changed` property.
61
+ return all.filter((pkg) => pkg.changed).map(({ changed, ...pkg }) => pkg);
62
+ }
63
+ async function getLastReleasedHashId(useTag = false) {
64
+ if (useTag) {
65
+ const { stdout: hash } = await spawn('git', [
66
+ 'rev-list',
67
+ '--max-count',
68
+ '1',
69
+ '--tags',
70
+ ]);
71
+ return hash;
72
+ }
73
+ else {
74
+ const { stdout: hash } = await spawn('git', [
75
+ 'log',
76
+ '--grep',
77
+ '^chore(release): publish',
78
+ '-n',
79
+ '1',
80
+ '--pretty=format:%H',
81
+ ]);
82
+ return hash;
83
+ }
84
+ }
85
+ // All the experimental releases should be a branch of `main`, if this policy changed (like publish from other base branches like `next`), we can add it here.
86
+ function getBaseBranchForExperimental() {
87
+ return 'main';
88
+ }
89
+ async function isBranchAncestorOfHead(branch) {
90
+ try {
91
+ await spawn('git', ['merge-base', '--is-ancestor', branch, 'HEAD']);
92
+ return true;
93
+ }
94
+ catch {
95
+ return false;
96
+ }
97
+ }
98
+ async function getBaseBranchCommitHashId(branch) {
99
+ const { stdout: hash } = await spawn('git', ['merge-base', branch, 'HEAD']);
100
+ return hash;
101
+ }
102
+ async function getLastCommitHashId() {
103
+ const { stdout: hash } = await spawn('git', ['rev-parse', 'HEAD']);
104
+ return hash;
105
+ }
106
+ async function analyzeChangesEffects(changedPkgs) {
107
+ const monorepoGraph = await getMonorepoManager().graph();
108
+ const graph = new Graph();
109
+ const { nodesCount, edgesCount } = monorepoGraphToGraph(monorepoGraph, graph);
110
+ graph.onlyAffected(changedPkgs.map((pkg) => pkg.name));
111
+ const sortedList = graph.sort();
112
+ const sortedPackagesToPublish = await packageNamesToPackagesWithInfo([
113
+ ...sortedList,
114
+ ]);
115
+ logger.table([
116
+ {
117
+ name: 'Affected pacakges',
118
+ value: sortedPackagesToPublish.length,
119
+ },
120
+ {
121
+ name: 'Nodes',
122
+ value: nodesCount,
123
+ },
124
+ {
125
+ name: 'edges',
126
+ value: edgesCount,
127
+ },
128
+ {
129
+ name: 'Are we good?',
130
+ // Note: these two numbers should be equal.
131
+ value: nodesCount === edgesCount ? 'yes' : 'no',
132
+ },
133
+ ]);
134
+ logger.info(`Ordering: ${sortedPackagesToPublish.map((pkg) => pkg.name).join(',')}`);
135
+ return sortedPackagesToPublish;
136
+ }
137
+ async function packageNamesToPackagesWithInfo(names) {
138
+ const allPackages = await workspacePackages();
139
+ const packages = [];
140
+ names.forEach((pkgName) => {
141
+ const packageInWorkspace = allPackages.find((pkg) => pkg.name === pkgName);
142
+ if (!!packageInWorkspace) {
143
+ packages.push(packageInWorkspace);
144
+ }
145
+ });
146
+ return packages;
147
+ }
148
+ function monorepoGraphToGraph(monorepoGraph, graph) {
149
+ const nodes = monorepoGraph.nodes;
150
+ nodes.forEach((node) => graph.addNode(node));
151
+ const edges = detectEdges(monorepoGraph.dependencies);
152
+ edges.forEach((sourceNodeValue, sourceNode) => {
153
+ if (sourceNodeValue.outdeg.length > 0) {
154
+ sourceNodeValue.outdeg.forEach((targetNode) => {
155
+ graph.addEdge(sourceNode, targetNode);
156
+ });
157
+ }
158
+ // If there is no indeg, it means it's a root package.
159
+ if (sourceNodeValue.indeg.length === 0) {
160
+ graph.addEdge(ROOT_KEY, sourceNode);
161
+ }
162
+ });
163
+ return {
164
+ edgesCount: edges.size,
165
+ nodesCount: nodes.length,
166
+ };
167
+ }
168
+ export function detectEdges(nodesWithDependencies) {
169
+ const output = new Map();
170
+ nodesWithDependencies.forEach((targetNodes, sourceNode) => {
171
+ const data = {
172
+ node: sourceNode,
173
+ outdeg: targetNodes,
174
+ };
175
+ // Add/update source target
176
+ add(data, output);
177
+ // Update target node
178
+ if (nodesWithDependencies.get(sourceNode).length > 0) {
179
+ targetNodes.forEach((targetNode) => {
180
+ add({ node: targetNode, indeg: [sourceNode] }, output);
181
+ });
182
+ }
183
+ });
184
+ return output;
185
+ }
186
+ function add(data, list) {
187
+ const { node, indeg, outdeg } = data;
188
+ if (!list.has(node)) {
189
+ list.set(node, {
190
+ indeg: [],
191
+ outdeg: [],
192
+ });
193
+ }
194
+ const recored = list.get(node);
195
+ if (indeg) {
196
+ recored.indeg.push(...indeg);
197
+ }
198
+ if (outdeg) {
199
+ recored.outdeg.push(...outdeg);
200
+ }
201
+ return list;
202
+ }
203
+ export async function update(pkg) {
204
+ const channel = detectChannel();
205
+ // Increase package version
206
+ const updatedPkg = await increaseVersion(channel, pkg);
207
+ logger.verbose(`Upgrade all the dependent packages of ${updatedPkg.version} to latest version`);
208
+ await upgradeDependents(updatedPkg);
209
+ const tag = should('checkGitTags') ? await gitTagFor(updatedPkg) : null;
210
+ const release = should('checkGithubRelease')
211
+ ? await githubReleaseFor(updatedPkg)
212
+ : null;
213
+ const npmVersionInfo = should('checkNpm')
214
+ ? await npmVersionFor(updatedPkg)
215
+ : null;
216
+ const npmVersion = npmVersionInfo ? npmVersionInfo[channel] : null;
217
+ return {
218
+ version: updatedPkg.version,
219
+ githubRelease: release,
220
+ gitTag: tag,
221
+ npmVersion: npmVersion,
222
+ };
223
+ }
224
+ async function increaseVersion(channel, pkg) {
225
+ if (channel === 'prod') {
226
+ return await increaseVersionForProd(pkg);
227
+ }
228
+ else if (channel === 'next') {
229
+ return await increaseVersionForNext(pkg);
230
+ }
231
+ else if (channel === 'experimental') {
232
+ return await increaseVersionForExperimental(pkg);
233
+ }
234
+ else {
235
+ throw new Error(`Your target channel not supported. channel: ${channel}`);
236
+ }
237
+ }
238
+ async function increaseVersionForExperimental(pkg) {
239
+ const now = new Date();
240
+ const yyyy = now.getUTCFullYear();
241
+ const mm = String(now.getUTCMonth() + 1).padStart(2, '0');
242
+ const dd = now.getUTCDate().toString().padStart(2, '0');
243
+ const date = `${yyyy}${mm}${dd}`;
244
+ const commitId = (await getLastCommitHashId()).slice(0, 8);
245
+ const newVersion = `0.0.0-experimental-${commitId}-${date}`;
246
+ await getPackageManager().setVersion(pkg.name, newVersion).catch(err => {
247
+ throw new IncreaseVersionFailedError(err.stderr);
248
+ });
249
+ return {
250
+ ...pkg,
251
+ version: newVersion,
252
+ };
253
+ }
254
+ async function increaseVersionForNext(pkg) {
255
+ const newVersion = semver.inc(pkg.version, "prerelease", "next");
256
+ await getPackageManager().setVersion(pkg.name, newVersion).catch(err => {
257
+ throw new IncreaseVersionFailedError(err.stderr);
258
+ });
259
+ return {
260
+ ...pkg,
261
+ version: newVersion,
262
+ };
263
+ }
264
+ async function increaseVersionForProd(pkg) {
265
+ const recommendation = await recommendBump(pkg);
266
+ if (!("releaseType" in recommendation)) {
267
+ throw new Error(`Couldn't get a release type for ${pkg.name}`);
268
+ }
269
+ const releaseType = recommendation.releaseType;
270
+ const newVersion = semver.inc(pkg.version, releaseType);
271
+ await getPackageManager().setVersion(pkg.name, newVersion).catch(err => {
272
+ throw new IncreaseVersionFailedError(err.stderr);
273
+ });
274
+ return {
275
+ ...pkg,
276
+ version: newVersion,
277
+ };
278
+ }
279
+ async function recommendBump(pkg) {
280
+ const bumper = new Bumper().loadPreset('angular');
281
+ bumper.tag({
282
+ prefix: TAG_PACKAGE_PREFIX(pkg),
283
+ });
284
+ const recommendation = await bumper.bump();
285
+ return recommendation;
286
+ }
287
+ async function npmVersionFor(pkg) {
288
+ try {
289
+ const npmVersions = await getNpmPackage(pkg);
290
+ return npmVersions;
291
+ }
292
+ catch (err) {
293
+ if (err instanceof NpmPackageNotFoundError) {
294
+ return null;
295
+ }
296
+ throw err;
297
+ }
298
+ }
299
+ async function getNpmPackage(pkg) {
300
+ const packageName = pkg.name;
301
+ const headers = new Headers();
302
+ // This is to use less bandwidth unless we really need to get the full response.
303
+ // See https://github.com/npm/npm-registry-client#request
304
+ headers.append('Accept', 'application/vnd.npm.install-v1+json; q=1.0, application/json; q=0.8, */*');
305
+ // scoped packages contain slashes and the npm registry expects them to be escaped
306
+ const response = await fetch(`https://registry.npmjs.org/${encodeURIComponent(packageName)}`, {
307
+ headers,
308
+ }).catch((err) => {
309
+ const msg = err.message || 'An error has occured when trying to get npm package.';
310
+ throw new NpmGetPackageError(msg);
311
+ });
312
+ const body = await response.json();
313
+ // A new package which never has been published on npm.
314
+ if (response.status === 404) {
315
+ throw new NpmPackageNotFoundError(packageName);
316
+ }
317
+ else if (response.status > 300) {
318
+ const msg = `Package: ${packageName}, Status: ${response.status}, Body: ${body}`;
319
+ throw new NpmGetPackageError(msg);
320
+ }
321
+ const versions = {
322
+ next: body['dist-tags'].next || null,
323
+ prod: body['dist-tags'].latest || null,
324
+ };
325
+ return versions;
326
+ }
327
+ async function githubReleaseFor(pkg) {
328
+ try {
329
+ const release = await getGithubReleaseFor(pkg);
330
+ return release.tagName;
331
+ }
332
+ catch (err) {
333
+ if (err instanceof GithubReleaseNotFoundError) {
334
+ return null;
335
+ }
336
+ throw err;
337
+ }
338
+ }
339
+ async function getGithubReleaseFor(pkg) {
340
+ const tag = generateTagName(pkg);
341
+ const result = await spawn('gh', [
342
+ 'release',
343
+ 'view',
344
+ tag,
345
+ '--json',
346
+ 'tagName',
347
+ ]).catch((err) => {
348
+ if (err.stderr === 'release not found') {
349
+ throw new GithubReleaseNotFoundError(tag);
350
+ }
351
+ throw new GithubGetReleaseError(err.message);
352
+ });
353
+ const release = JSON.parse(result.stdout);
354
+ return release;
355
+ }
356
+ function generateTagName(pkg) {
357
+ return `${packageNameWithoutScope(pkg.name)}@${pkg.version}`;
358
+ }
359
+ function packageNameWithoutScope(name) {
360
+ return name.replace(/@.+\//, '');
361
+ }
362
+ async function gitTagFor(pkg) {
363
+ const tagExist = await isReleaseTagExistFor(pkg);
364
+ if (tagExist) {
365
+ const tagName = generateTagName(pkg);
366
+ return tagName;
367
+ }
368
+ return null;
369
+ }
370
+ async function isReleaseTagExistFor(pkg) {
371
+ const tag = generateTagName(pkg);
372
+ const result = await spawn('git', ['tag', '-l', tag])
373
+ .then((result) => result.stdout)
374
+ .catch((err) => {
375
+ throw new GitError(`An error occurred on getting tags \n ${err.message} \n ${err.stderr}`);
376
+ });
377
+ const isExist = !!result;
378
+ return isExist;
379
+ }
380
+ export function throwIfUnableToProceed(pkgsState) {
381
+ const channel = detectChannel();
382
+ if (channel === 'prod') {
383
+ // TODO: it's better to check `npm` version should be less than `package.version`
384
+ const alreadyPublishedPackages = pkgsState.filter((pkgState) => pkgState.version === pkgState.npmVersion);
385
+ const alreadyHasGithubReleasePackages = pkgsState.filter((pkgState) => !!pkgState.githubRelease);
386
+ const alreadyHasGitTagPackages = pkgsState.filter((pkgState) => !!pkgState.gitTag);
387
+ if (alreadyPublishedPackages.length) {
388
+ const list = alreadyPublishedPackages
389
+ .map((pkg) => pkg.npmVersion)
390
+ .join(',');
391
+ throw new UnableToProceedPublishError(`These versions have been published on NPM already. \n ${list}`);
392
+ }
393
+ else if (alreadyHasGithubReleasePackages.length) {
394
+ const list = alreadyHasGithubReleasePackages
395
+ .map((pkg) => pkg.githubRelease)
396
+ .join(',');
397
+ throw new UnableToProceedPublishError(`These versions have been released on Github before. \n ${list}`);
398
+ }
399
+ else if (alreadyHasGitTagPackages.length) {
400
+ const list = alreadyHasGithubReleasePackages
401
+ .map((pkg) => pkg.gitTag)
402
+ .join(',');
403
+ throw new UnableToProceedPublishError(`These tags already exist. \n ${list}`);
404
+ }
405
+ }
406
+ }
407
+ export async function build(pkgs) {
408
+ performance.mark(`start-publish-build`);
409
+ await getMonorepoManager().build(pkgs.map((pkg) => pkg.name));
410
+ performance.mark(`end-publish-build`);
411
+ const duration_build = performance.measure(`publish-build`, `start-publish-build`, `end-publish-build`).duration;
412
+ logger.info(`Built. ${duration_build}ms`);
413
+ }
414
+ export async function tryPublish(pkgs, { onUpdateState }) {
415
+ const tasks = pkgs.map((pkg) => () => publishTask(pkg, { onUpdateState }).catch((e) => {
416
+ e.cause = {
417
+ pkg,
418
+ };
419
+ throw e;
420
+ }));
421
+ await sequentiallyRun(tasks);
422
+ logger.info(`Published.`);
423
+ }
424
+ async function publishTask(pkg, { onUpdateState }) {
425
+ if (should('generateChangelog')) {
426
+ logger.success(`[1/3] Making changelog`);
427
+ await generateChangelogAndSave(pkg);
428
+ }
429
+ else {
430
+ logger.success(`[1/3] Skipping changelog and github release.`);
431
+ }
432
+ logger.success(`[2/3] Publish ${pkg.name} to npm`);
433
+ await publishOnNpm(pkg);
434
+ onUpdateState(pkg.name, 'npmVersion', pkg.version);
435
+ logger.success(`[3/3] Adding files to staging area`);
436
+ await addPkgFileChangesToStage(pkg);
437
+ logger.success(`🚀 ${pkg.name} published.`);
438
+ }
439
+ async function upgradeDependents(pkg) {
440
+ try {
441
+ logger.info(`Upgrading for ${pkg.name} \n`);
442
+ await upgradeDependentsOf(pkg.name, pkg.version);
443
+ }
444
+ catch (error) {
445
+ throw new CustomScriptError(error);
446
+ }
447
+ }
448
+ async function upgradeDependentsOf(project, version) {
449
+ const workspaces = await getPackageManager().getWorkspaces();
450
+ // Going through all workspace and find packages which depends on `project`
451
+ const dependents = [];
452
+ const pkgs = Object.keys(workspaces);
453
+ pkgs.forEach((pkg) => {
454
+ if (workspaces[pkg].workspaceDependencies.includes(project) ||
455
+ workspaces[pkg].mismatchedWorkspaceDependencies.includes(project)) {
456
+ const pkgJson = readPackageJson(packageJsonPath(workspaces[pkg].location));
457
+ if (!pkgJson.private) {
458
+ dependents.push(pkg);
459
+ }
460
+ else {
461
+ logger.warn(`SKIPPING UPDATING ${project} in ${pkg}`);
462
+ }
463
+ }
464
+ });
465
+ if (dependents.length === 0) {
466
+ logger.info(`It seems ${project} isn't used by any packages. Skip...`);
467
+ return;
468
+ }
469
+ logger.info(`These packages are using ${project}: ${dependents.join(',')} \n`);
470
+ logger.info(`Using fixed version for ${project} which is ${version}. \n`);
471
+ await Promise.all(dependents.map((pkg) => updateVersion({ path: workspaces[pkg].location }, { name: project, version })));
472
+ }
473
+ async function updateVersion(target, upgrade) {
474
+ const { path } = target;
475
+ const { name, version } = upgrade;
476
+ const pkgPath = packageJsonPath(path);
477
+ const updatedPkgJson = readPackageJson(pkgPath);
478
+ let foundPkg = false;
479
+ DEPENDENCY_KEYS.forEach(key => {
480
+ if (updatedPkgJson[key]?.[name]) {
481
+ updatedPkgJson[key][name] = `^${version}`;
482
+ foundPkg = true;
483
+ }
484
+ });
485
+ if (!foundPkg) {
486
+ throw new Error(`${name} not found, neither dependencies or devDependencies or peerDependencies.`);
487
+ }
488
+ updatePackageJson(pkgPath, updatedPkgJson);
489
+ }
490
+ async function publishOnNpm(pkg) {
491
+ const channel = detectChannel();
492
+ const distTag = channel === 'prod' ? 'latest' : channel;
493
+ await getPackageManager().publish(pkg.name, distTag)
494
+ .catch((error) => {
495
+ throw new NpmPublishError(error.stderr);
496
+ });
497
+ }
498
+ export async function addPkgFileChangesToStage(pkg) {
499
+ await addFileToStage(`${pkg.location}/package.json`);
500
+ if (should('generateChangelog')) {
501
+ await addFileToStage(`${pkg.location}/CHANGELOG.md`);
502
+ }
503
+ }
504
+ export async function sequentiallyRun(promises) {
505
+ return promises.reduce((prev, task) => {
506
+ return prev.then(() => {
507
+ return task();
508
+ });
509
+ }, Promise.resolve());
510
+ }
511
+ export async function addFileToStage(path) {
512
+ await spawn('git', ['add', path]).catch((e) => {
513
+ throw new GitError(`"git add" failed. ${e.stderr}`);
514
+ });
515
+ }
516
+ export async function publishCommitAndTags(pkgs) {
517
+ const isTaggingSkipped = !should('createPublishTag');
518
+ const isCommittingSkipped = !should('createPublishCommit');
519
+ const subject = `${PUBLISH_COMMIT_SUBJECT}\n\n`;
520
+ const tags = pkgs.map(generateTagName);
521
+ if (isCommittingSkipped && isTaggingSkipped) {
522
+ logger.info('Creating commit and tag for this publish has been skipped.');
523
+ return;
524
+ }
525
+ if (isCommittingSkipped && !isTaggingSkipped) {
526
+ throw new Error('The enviroment has been setup correctly. when tag is enabled, commit should be enabled as well.');
527
+ }
528
+ const list = tags.map((tag) => `- ${tag}`).join('\n');
529
+ const message = subject + list;
530
+ let body = `Affected packages: ${tags.join(',')}`;
531
+ // Making a publish commit
532
+ await commit([message, body], {
533
+ // When we are pushing a publish commit into main or next, it triggers a redundant workflow run,
534
+ // To avoid this, by adding a [skip ci] the workflow run will be skipped.
535
+ shouldSkipCI: true,
536
+ // We need to pass no-verify to bypass commitlint.
537
+ // NOTE: it will bypass precommit and commit-msg hooks.
538
+ shouldVerify: false,
539
+ });
540
+ // Creating annotated tags based on packages
541
+ if (!isTaggingSkipped) {
542
+ await publishTags(pkgs);
543
+ }
544
+ return tags;
545
+ }
546
+ async function publishTags(pkgs) {
547
+ const tags = pkgs.map(generateTagName);
548
+ // Creating annotated tags based on packages
549
+ await Promise.all(tags.map((tag) => spawn('git', ['tag', '-a', tag, '-m', tag]).catch((error) => {
550
+ throw new GitError(`git tag failed. \n ${error.stderr}`);
551
+ })));
552
+ return tags;
553
+ }
554
+ async function commit(messages, options) {
555
+ const { shouldVerify, shouldSkipCI } = options;
556
+ const messagesWithCI = shouldSkipCI ? [...messages, '[skip ci]'] : messages;
557
+ const commitArgs = [
558
+ 'commit',
559
+ ...messagesWithCI.flatMap((msg) => ['-m', msg]),
560
+ ...(shouldVerify ? [] : ['--no-verify']),
561
+ ];
562
+ try {
563
+ await spawn('git', commitArgs);
564
+ }
565
+ catch (error) {
566
+ throw new GitError(`git commit failed. \n ${error.stderr || error.message}`);
567
+ }
568
+ }
569
+ export async function push(options) {
570
+ const { setupRemote, branch, remote = 'origin' } = options || {};
571
+ let pushOptions = [];
572
+ if (setupRemote) {
573
+ if (!branch) {
574
+ throw new CustomScriptError(`You should also pass branch name as parameter to push.`);
575
+ }
576
+ pushOptions = ['--set-upstream', remote, branch];
577
+ }
578
+ else {
579
+ pushOptions = [remote, '--follow-tags', '--no-verify', '--atomic'];
580
+ }
581
+ const output = await spawn('git', ['push', ...pushOptions])
582
+ .then(({ stdout }) => stdout)
583
+ .catch((error) => {
584
+ throw new GitError(`git push failed. \n ${error.stderr}`);
585
+ });
586
+ return output;
587
+ }
588
+ export async function makeGithubRelease(pkg) {
589
+ let notes = '';
590
+ for await (let chunk of memoizeGenerateChangelog(pkg)) {
591
+ notes += chunk;
592
+ }
593
+ const tagName = generateTagName(pkg);
594
+ const output = await spawn('gh', [
595
+ 'release',
596
+ 'create',
597
+ tagName,
598
+ '--target',
599
+ 'main',
600
+ '--notes',
601
+ notes,
602
+ '--verify-tag',
603
+ ])
604
+ .then(({ stdout }) => stdout)
605
+ .catch((err) => {
606
+ throw new GithubCreateReleaseFailedError(err.stdout);
607
+ });
608
+ return output;
609
+ }
610
+ async function workspacePackages() {
611
+ const workspaces = await getPackageManager().getWorkspaces();
612
+ const packagesName = Object.keys(workspaces);
613
+ const output = packagesName.map((name) => {
614
+ const pkgJson = readAndValidatePacakgeJson(workspaces[name].location);
615
+ return {
616
+ name,
617
+ location: workspaces[name].location,
618
+ version: pkgJson.version,
619
+ private: pkgJson.private || false,
620
+ };
621
+ });
622
+ return output;
623
+ }
624
+ //# sourceMappingURL=helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../../src/commands/library/publish/helpers.ts"],"names":[],"mappings":"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"}
@@ -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/publish/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/publish/mod.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA"}