@pob/version 1.2.1 → 1.3.0
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.
- package/CHANGELOG.md +12 -0
- package/dist/index-node.mjs +45 -22
- package/dist/index-node.mjs.map +1 -1
- package/package.json +6 -1
- package/src/commands/version.ts +14 -2
- package/src/pm/BunPackageManager.ts +20 -3
- package/src/pm/PackageManager.ts +12 -2
- package/src/pm/YarnPackageManager.ts +28 -18
- package/.editorconfig +0 -13
- package/.yo-rc.json +0 -13
- package/__fixtures__/bun-basic/package.json +0 -4
- package/__fixtures__/bun-no-version/package.json +0 -3
- package/__fixtures__/yarn-basic/package.json +0 -4
- package/__fixtures__/yarn-basic/yarn.lock +0 -12
- package/__fixtures__/yarn-monorepo/package.json +0 -7
- package/__fixtures__/yarn-monorepo/packages/package-1/package.json +0 -4
- package/__fixtures__/yarn-monorepo/packages/package-2/package.json +0 -7
- package/__fixtures__/yarn-monorepo/packages/package-3/package.json +0 -7
- package/__fixtures__/yarn-monorepo/packages/package-4/package.json +0 -7
- package/__fixtures__/yarn-monorepo/packages/package-5/package.json +0 -8
- package/__fixtures__/yarn-monorepo/yarn.lock +0 -0
- package/__fixtures__/yarn-monorepo-duplicate-names/package.json +0 -7
- package/__fixtures__/yarn-monorepo-duplicate-names/packages/pkg-a/package.json +0 -4
- package/__fixtures__/yarn-monorepo-duplicate-names/packages/pkg-b/package.json +0 -4
- package/__fixtures__/yarn-monorepo-invalid-package-json/package.json +0 -7
- package/__fixtures__/yarn-monorepo-invalid-package-json/packages/pkg-with-invalid-json/package.json +0 -5
- package/__fixtures__/yarn-monorepo-nested/package.json +0 -9
- package/__fixtures__/yarn-monorepo-nested/packages/deep-nested/package.json +0 -4
- package/__fixtures__/yarn-monorepo-nested/packages/nested-1/packages/package-nested.json +0 -4
- package/__fixtures__/yarn-monorepo-nested/packages/nested-1/packages/package.json +0 -4
- package/__fixtures__/yarn-monorepo-nested/packages/package-1/package.json +0 -4
- package/__fixtures__/yarn-monorepo-no-name/package.json +0 -7
- package/__fixtures__/yarn-monorepo-no-name/packages/no-name-package/package.json +0 -3
- package/__fixtures__/yarn-monorepo-object-form/package.json +0 -9
- package/__fixtures__/yarn-monorepo-object-form/packages/package-1/package.json +0 -4
- package/__fixtures__/yarn-monorepo-object-form/packages/package-2/package.json +0 -4
- package/__fixtures__/yarn-monorepo-object-form/packages/package-3/package.json +0 -4
- package/__fixtures__/yarn-monorepo-object-form/packages/package-4/package.json +0 -4
- package/__fixtures__/yarn-monorepo-object-form/packages/package-5/package.json +0 -4
- package/__fixtures__/yarn-no-version/package.json +0 -3
- package/__fixtures__/yarn-no-version/yarn.lock +0 -0
- package/__fixtures__/yarn-with-lifecycle/package.json +0 -7
- package/__fixtures__/yarn-with-lifecycle/yarn.lock +0 -11
- package/rollup.config.mjs +0 -12
- package/tsconfig.json +0 -21
- package/vitest.config.js +0 -9
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,18 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
## [1.3.0](https://github.com/christophehurpeau/pob/compare/@pob/version@1.2.2...@pob/version@1.3.0) (2025-12-06)
|
|
7
|
+
|
|
8
|
+
### Features
|
|
9
|
+
|
|
10
|
+
* try to implement provenance publish with bun
|
|
11
|
+
|
|
12
|
+
## [1.2.2](https://github.com/christophehurpeau/pob/compare/@pob/version@1.2.1...@pob/version@1.2.2) (2025-12-06)
|
|
13
|
+
|
|
14
|
+
### Bug Fixes
|
|
15
|
+
|
|
16
|
+
* properly configure app published to npm
|
|
17
|
+
|
|
6
18
|
## [1.2.1](https://github.com/christophehurpeau/pob/compare/@pob/version@1.2.0...@pob/version@1.2.1) (2025-12-06)
|
|
7
19
|
|
|
8
20
|
### Bug Fixes
|
package/dist/index-node.mjs
CHANGED
|
@@ -167,8 +167,18 @@ const BunPackageManager = {
|
|
|
167
167
|
async runScript(workspace, scriptName) {
|
|
168
168
|
await execCommand(workspace, ["bun", "run", scriptName], "inherit");
|
|
169
169
|
},
|
|
170
|
-
async publish(workspace) {
|
|
171
|
-
|
|
170
|
+
async publish(workspace, options) {
|
|
171
|
+
if (options?.provenance) {
|
|
172
|
+
const packResult = await execCommand(workspace, ["bun", "pack"]);
|
|
173
|
+
const lines = packResult.stdout.trim().split("\n");
|
|
174
|
+
const tgzPath = lines.find((line) => line.endsWith(".tgz")) ?? lines.at(-1);
|
|
175
|
+
if (!tgzPath) {
|
|
176
|
+
throw new Error("Failed to extract .tgz path from bun pack output");
|
|
177
|
+
}
|
|
178
|
+
await execCommand(workspace, ["npm", "publish", "--provenance", tgzPath]);
|
|
179
|
+
} else {
|
|
180
|
+
await execCommand(workspace, ["bun", "publish"], "inherit");
|
|
181
|
+
}
|
|
172
182
|
}
|
|
173
183
|
};
|
|
174
184
|
|
|
@@ -179,24 +189,28 @@ const YarnPackageManager = {
|
|
|
179
189
|
async runScript(workspace, scriptName) {
|
|
180
190
|
await execCommand(workspace, ["yarn", "run", scriptName], "inherit");
|
|
181
191
|
},
|
|
182
|
-
async publish(workspace) {
|
|
183
|
-
|
|
192
|
+
async publish(workspace, options) {
|
|
193
|
+
const publishArgs = ["yarn", "npm", "publish"];
|
|
194
|
+
if (options?.provenance) {
|
|
195
|
+
publishArgs.push("--provenance");
|
|
196
|
+
}
|
|
197
|
+
await execCommand(workspace, publishArgs, "inherit");
|
|
184
198
|
},
|
|
185
|
-
async publishWorkspaces(rootWorkspace) {
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
);
|
|
199
|
+
async publishWorkspaces(rootWorkspace, options) {
|
|
200
|
+
const publishArgs = [
|
|
201
|
+
"yarn",
|
|
202
|
+
"workspaces",
|
|
203
|
+
"foreach",
|
|
204
|
+
"--all",
|
|
205
|
+
"--parallel",
|
|
206
|
+
"--no-private",
|
|
207
|
+
"npm",
|
|
208
|
+
"publish"
|
|
209
|
+
];
|
|
210
|
+
if (options?.provenance) {
|
|
211
|
+
publishArgs.push("--provenance");
|
|
212
|
+
}
|
|
213
|
+
await execCommand(rootWorkspace, publishArgs, "inherit");
|
|
200
214
|
}
|
|
201
215
|
};
|
|
202
216
|
|
|
@@ -1313,7 +1327,9 @@ ${tagsInCommitMessage}` : rootNewVersion
|
|
|
1313
1327
|
}
|
|
1314
1328
|
await logger.group("Publishing packages", async () => {
|
|
1315
1329
|
if (packageManager.publishWorkspaces) {
|
|
1316
|
-
await packageManager.publishWorkspaces(rootWorkspace
|
|
1330
|
+
await packageManager.publishWorkspaces(rootWorkspace, {
|
|
1331
|
+
provenance: options.publishProvenance
|
|
1332
|
+
});
|
|
1317
1333
|
} else {
|
|
1318
1334
|
for (const [workspace] of bumpedWorkspaces.entries()) {
|
|
1319
1335
|
if (workspace.pkg.private) {
|
|
@@ -1323,7 +1339,9 @@ ${tagsInCommitMessage}` : rootNewVersion
|
|
|
1323
1339
|
continue;
|
|
1324
1340
|
}
|
|
1325
1341
|
logger.info(`Publishing ${getWorkspaceName(workspace)}`);
|
|
1326
|
-
await packageManager.publish(workspace
|
|
1342
|
+
await packageManager.publish(workspace, {
|
|
1343
|
+
provenance: options.publishProvenance
|
|
1344
|
+
});
|
|
1327
1345
|
}
|
|
1328
1346
|
}
|
|
1329
1347
|
});
|
|
@@ -1411,7 +1429,12 @@ program.command("version", { isDefault: true }).usage("Bump package version usin
|
|
|
1411
1429
|
"--package-manager <manager>",
|
|
1412
1430
|
"Specify the package manager to use (bun or yarn). Autodetected if not specified."
|
|
1413
1431
|
).choices(["bun", "yarn"])
|
|
1414
|
-
).addOption(new Option("--publish", "Publish after versioning").default(false)).
|
|
1432
|
+
).addOption(new Option("--publish", "Publish after versioning").default(false)).addOption(
|
|
1433
|
+
new Option(
|
|
1434
|
+
"--publish-provenance",
|
|
1435
|
+
"Generate provenance attestation when publishing (if supported by package manager)"
|
|
1436
|
+
).default(false)
|
|
1437
|
+
).action((options) => versionCommandAction(options));
|
|
1415
1438
|
|
|
1416
1439
|
const pkg = JSON.parse(
|
|
1417
1440
|
// eslint-disable-next-line unicorn/prefer-json-parse-buffer
|