@eclipse-glsp/cli 2.9.0-next.2 → 2.9.0-next.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.
package/README.md CHANGED
@@ -207,7 +207,9 @@ always forms one consistent, reproducible set. If an unaffected package has no p
207
207
  yet (e.g. a brand-new package), a full publish is performed instead. A change to the root
208
208
  `tsconfig.json` affects the compiled output of all packages and therefore also forces a full publish,
209
209
  as does a missing/invalid baseline or the `--full` flag. If no group is affected (e.g. docs- or CI-only
210
- changes), the command succeeds without publishing anything.
210
+ changes), the command succeeds without publishing anything. Canary versions that already exist on the
211
+ registry are skipped: the commit count only grows, so they can only stem from an earlier run over the
212
+ same commit — this makes re-runs (e.g. to heal a partially failed publish) idempotent.
211
213
 
212
214
  `pnpm publish -r` does the publishing, so it rewrites `workspace:` dependency ranges to exact
213
215
  versions; npm provenance/trusted publishing (`NPM_CONFIG_PROVENANCE`) is preserved.
package/dist/cli.js CHANGED
@@ -23252,7 +23252,7 @@ var child = __toESM(require("child_process"));
23252
23252
  var path6 = __toESM(require("path"));
23253
23253
 
23254
23254
  // package.json
23255
- var version = "2.9.0-next.2";
23255
+ var version = "2.9.0-next.3";
23256
23256
 
23257
23257
  // src/util/logger.ts
23258
23258
  var levels = {
@@ -24027,9 +24027,10 @@ var VersionType;
24027
24027
  }
24028
24028
  VersionType2.deriveVersion = deriveVersion;
24029
24029
  })(VersionType || (VersionType = {}));
24030
- function npmVersionExists(packageName, version2) {
24030
+ function npmVersionExists(packageName, version2, registry) {
24031
+ const registryArg = registry ? ` --registry ${registry}` : "";
24031
24032
  try {
24032
- const result = exec(`npm view ${packageName}@${version2} version`, { silent: true }).trim();
24033
+ const result = exec(`npm view ${packageName}@${version2} version${registryArg}`, { silent: true }).trim();
24033
24034
  return result.trim() === version2;
24034
24035
  } catch {
24035
24036
  return false;
@@ -24559,6 +24560,21 @@ async function publishNext(options) {
24559
24560
  publishNames = void 0;
24560
24561
  }
24561
24562
  }
24563
+ const candidates = publishNames ?? packages.filter((pkg) => !pkg.content.private).map((pkg) => pkg.name);
24564
+ const toPublish = candidates.filter((name) => {
24565
+ if (npmVersionExists(name, canary.version, options.registry)) {
24566
+ LOGGER.info(`Skipping ${name}@${canary.version} - already published`);
24567
+ return false;
24568
+ }
24569
+ return true;
24570
+ });
24571
+ if (toPublish.length === 0) {
24572
+ LOGGER.info("All affected package versions are already published. Nothing to publish.");
24573
+ return;
24574
+ }
24575
+ if (toPublish.length < candidates.length) {
24576
+ publishNames = toPublish;
24577
+ }
24562
24578
  applyVersions(packages, canary, pinnedVersions, options);
24563
24579
  await pnpmPublish("next", options, publishNames);
24564
24580
  }
@@ -24638,7 +24654,7 @@ async function publishLatest(options) {
24638
24654
  }
24639
24655
  const publicPackages = getWorkspacePackages(options.repoDir).filter((pkg) => !pkg.content.private);
24640
24656
  const unpublished = publicPackages.filter((pkg) => {
24641
- if (npmVersionExists(pkg.name, pkg.content.version)) {
24657
+ if (npmVersionExists(pkg.name, pkg.content.version, options.registry)) {
24642
24658
  LOGGER.info(`Skipping ${pkg.name}@${pkg.content.version} - already published`);
24643
24659
  return false;
24644
24660
  }