mirror of
https://github.com/Swatinem/rust-cache
synced 2026-11-02 21:13:59 +00:00
Compare commits
2
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
84c0ac41e7 | ||
|
|
c8037a86dd |
@@ -147,7 +147,7 @@ This cache is automatically keyed by:
|
||||
available),
|
||||
- the following values, if `add-rust-environment-hash-key` is `"true"`:
|
||||
- the value of some compiler-specific environment variables (eg. RUSTFLAGS, etc), and
|
||||
- a hash of all `Cargo.lock` / `Cargo.toml` files found anywhere in the repository (if present).
|
||||
- a hash of the workspace's `Cargo.lock` and of the `Cargo.toml` of the workspace root and every workspace member (if present).
|
||||
- a hash of all `rust-toolchain` / `rust-toolchain.toml` files in the root of the repository (if present).
|
||||
- a hash of all `.cargo/config.toml` files in the root of the repository (if present).
|
||||
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
import { x as commonjsGlobal, y as requireTunnel, z as getDefaultExportFromCjs, A as getAugmentedNamespace } from './cleanup-e3M0pm4f.js';
|
||||
import { x as commonjsGlobal, y as requireTunnel, z as getDefaultExportFromCjs, A as getAugmentedNamespace } from './cleanup-DYJDrBaf.js';
|
||||
import os__default from 'os';
|
||||
import crypto__default from 'crypto';
|
||||
import fs__default from 'fs';
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
import { f as debug, m as mkdirP, n as create, l as exec, w as which, o as warning, i as info, H as HttpCodes, p as HttpClientError, q as HttpClient, t as isDebug, u as setSecret, B as BearerCredentialHandler, v as rmRF, e as error } from './cleanup-e3M0pm4f.js';
|
||||
import { f as debug, m as mkdirP, n as create, l as exec, w as which, o as warning, i as info, H as HttpCodes, p as HttpClientError, q as HttpClient, t as isDebug, u as setSecret, B as BearerCredentialHandler, v as rmRF, e as error } from './cleanup-DYJDrBaf.js';
|
||||
import * as path from 'path';
|
||||
import * as crypto from 'crypto';
|
||||
import * as fs from 'fs';
|
||||
+28
-13
@@ -34972,10 +34972,10 @@ async function getCacheProvider() {
|
||||
let cache;
|
||||
switch (cacheProvider) {
|
||||
case "github":
|
||||
cache = await import('./cache-Dl81DHPs.js');
|
||||
cache = await import('./cache-DoD2J4WY.js');
|
||||
break;
|
||||
case "warpbuild":
|
||||
cache = await import('./cache-BzPKClMA.js').then(function (n) { return n.c; });
|
||||
cache = await import('./cache-BaeW9gVW.js').then(function (n) { return n.c; });
|
||||
break;
|
||||
default:
|
||||
throw new Error(`The \`cache-provider\` \`${cacheProvider}\` is not valid.`);
|
||||
@@ -35006,6 +35006,7 @@ class Workspace {
|
||||
async getPackages(cmdFormat, filter, extraArgs) {
|
||||
const cmd = "cargo metadata --all-features --format-version 1" + (extraArgs ? ` ${extraArgs}` : "");
|
||||
let packages = [];
|
||||
let workspaceRoot = this.root;
|
||||
try {
|
||||
debug(`collecting metadata for "${this.root}"`);
|
||||
const meta = JSON.parse(await getCmdOutput(cmdFormat, cmd, {
|
||||
@@ -35013,6 +35014,7 @@ class Workspace {
|
||||
env: { ...process.env, CARGO_ENCODED_RUSTFLAGS: "" },
|
||||
}));
|
||||
debug(`workspace "${this.root}" has ${meta.packages.length} packages`);
|
||||
workspaceRoot = meta.workspace_root;
|
||||
for (const pkg of meta.packages.filter(filter)) {
|
||||
const targets = pkg.targets.filter((t) => t.kind.some((kind) => SAVE_TARGETS.has(kind))).map((t) => t.name);
|
||||
packages.push({ name: pkg.name, version: pkg.version, targets, path: path__default.dirname(pkg.manifest_path) });
|
||||
@@ -35021,13 +35023,16 @@ class Workspace {
|
||||
catch (err) {
|
||||
console.error(err);
|
||||
}
|
||||
return packages;
|
||||
return { packages, workspaceRoot };
|
||||
}
|
||||
async getPackagesOutsideWorkspaceRoot(cmdFormat) {
|
||||
return await this.getPackages(cmdFormat, (pkg) => !pkg.manifest_path.startsWith(this.root));
|
||||
const filter = (pkg) => !pkg.manifest_path.startsWith(this.root);
|
||||
return (await this.getPackages(cmdFormat, filter)).packages;
|
||||
}
|
||||
/** The workspace's members, and the root directory of the cargo workspace they belong to. */
|
||||
async getWorkspaceMembers(cmdFormat) {
|
||||
return await this.getPackages(cmdFormat, (_) => true, "--no-deps");
|
||||
const { packages, workspaceRoot } = await this.getPackages(cmdFormat, (_) => true, "--no-deps");
|
||||
return { members: packages, workspaceRoot };
|
||||
}
|
||||
}
|
||||
|
||||
@@ -35155,9 +35160,15 @@ class CacheConfig {
|
||||
for (const workspace of workspaces) {
|
||||
const root = workspace.root;
|
||||
keyFiles.push(...(await globFiles(`${root}/**/.cargo/config.toml\n${root}/**/rust-toolchain\n${root}/**/rust-toolchain.toml`)));
|
||||
const workspaceMembers = await workspace.getWorkspaceMembers(cmdFormat);
|
||||
const cargo_manifests = sort_and_uniq(workspaceMembers.map((member) => path__default.join(member.path, "Cargo.toml")));
|
||||
for (const cargo_manifest of cargo_manifests) {
|
||||
const { members, workspaceRoot } = await workspace.getWorkspaceMembers(cmdFormat);
|
||||
const cargo_manifests = members.map((member) => path__default.join(member.path, "Cargo.toml"));
|
||||
// A virtual workspace's root manifest belongs to no member, yet its `[profile]` and `[patch]`
|
||||
// sections apply to every member.
|
||||
const root_manifest = path__default.join(workspaceRoot, "Cargo.toml");
|
||||
if (await exists(root_manifest)) {
|
||||
cargo_manifests.push(root_manifest);
|
||||
}
|
||||
for (const cargo_manifest of sort_and_uniq(cargo_manifests)) {
|
||||
try {
|
||||
const content = await fs$1.readFile(cargo_manifest, { encoding: "utf8" });
|
||||
// Use any since TomlPrimitive is not exposed
|
||||
@@ -35168,12 +35179,16 @@ class CacheConfig {
|
||||
pack["version"] = "0.0.0";
|
||||
}
|
||||
}
|
||||
for (const prefix of ["", "build-", "dev-"]) {
|
||||
const section_name = `${prefix}dependencies`;
|
||||
if (!(section_name in parsed)) {
|
||||
const workspace_table = parsed.workspace ?? {};
|
||||
if ("package" in workspace_table && "version" in workspace_table.package) {
|
||||
workspace_table.package["version"] = "0.0.0";
|
||||
}
|
||||
const dependency_tables = ["", "build-", "dev-"].map((prefix) => parsed[`${prefix}dependencies`]);
|
||||
dependency_tables.push(workspace_table.dependencies);
|
||||
for (const deps of dependency_tables) {
|
||||
if (deps === undefined) {
|
||||
continue;
|
||||
}
|
||||
const deps = parsed[section_name];
|
||||
for (const key of Object.keys(deps)) {
|
||||
const dep = deps[key];
|
||||
try {
|
||||
@@ -35198,7 +35213,7 @@ class CacheConfig {
|
||||
keyFiles.push(cargo_manifest);
|
||||
}
|
||||
}
|
||||
const cargo_lock = path__default.join(workspace.root, "Cargo.lock");
|
||||
const cargo_lock = path__default.join(workspaceRoot, "Cargo.lock");
|
||||
if (await exists(cargo_lock)) {
|
||||
try {
|
||||
const content = await fs$1.readFile(cargo_lock, { encoding: "utf8" });
|
||||
Vendored
+1
-1
@@ -1,4 +1,4 @@
|
||||
import { e as error, g as getCacheProvider, a as getInput, b as exportVariable, C as CacheConfig, i as info, c as cleanTargetDir, r as reportError, s as setOutput } from './cleanup-e3M0pm4f.js';
|
||||
import { e as error, g as getCacheProvider, a as getInput, b as exportVariable, C as CacheConfig, i as info, c as cleanTargetDir, r as reportError, s as setOutput } from './cleanup-DYJDrBaf.js';
|
||||
import 'os';
|
||||
import 'crypto';
|
||||
import 'fs';
|
||||
|
||||
Vendored
+3
-3
@@ -1,4 +1,4 @@
|
||||
import { e as error, g as getCacheProvider, a as getInput, d as isCacheUpToDate, i as info, C as CacheConfig, c as cleanTargetDir, f as debug, h as cleanRegistry, j as cleanBin, k as cleanGit, r as reportError, l as exec } from './cleanup-e3M0pm4f.js';
|
||||
import { e as error, g as getCacheProvider, a as getInput, d as isCacheUpToDate, i as info, C as CacheConfig, c as cleanTargetDir, f as debug, h as cleanRegistry, j as cleanBin, k as cleanGit, r as reportError, l as exec } from './cleanup-DYJDrBaf.js';
|
||||
import 'os';
|
||||
import 'crypto';
|
||||
import 'fs';
|
||||
@@ -63,8 +63,8 @@ async function run() {
|
||||
for (const workspace of config.workspaces) {
|
||||
const packages = await workspace.getPackagesOutsideWorkspaceRoot(config.cmdFormat);
|
||||
if (workspaceCrates === "true") {
|
||||
const wsMembers = await workspace.getWorkspaceMembers(config.cmdFormat);
|
||||
packages.push(...wsMembers);
|
||||
const { members } = await workspace.getWorkspaceMembers(config.cmdFormat);
|
||||
packages.push(...members);
|
||||
}
|
||||
allPackages.push(...packages);
|
||||
try {
|
||||
|
||||
Generated
+104
-104
@@ -23,7 +23,7 @@
|
||||
"@rollup/plugin-node-resolve": "^16.0.3",
|
||||
"@types/node": "^26.6.5",
|
||||
"linefix": "^0.1.1",
|
||||
"rollup": "^4.64.12",
|
||||
"rollup": "^4.65.0",
|
||||
"typescript": "7.0.2"
|
||||
},
|
||||
"funding": {
|
||||
@@ -977,9 +977,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@rollup/rollup-android-arm-eabi": {
|
||||
"version": "4.64.12",
|
||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.64.12.tgz",
|
||||
"integrity": "sha512-Z8lz+5UOiCJLonjeqwJlhUtHA/Sr6R1AidkccQxdWF0nigNzP81aLoU+udgOaGfL5s1uzFXzcux/pCwGAMu0lw==",
|
||||
"version": "4.65.0",
|
||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.65.0.tgz",
|
||||
"integrity": "sha512-t2AnVba25baFdq7gczzS13JyVcdubLVbFX1X04mxrggDrTQPUXNv3XM0k9H1hr5tqvg7AVvtQ720QHAj0iYqhg==",
|
||||
"cpu": [
|
||||
"arm"
|
||||
],
|
||||
@@ -991,9 +991,9 @@
|
||||
]
|
||||
},
|
||||
"node_modules/@rollup/rollup-android-arm64": {
|
||||
"version": "4.64.12",
|
||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.64.12.tgz",
|
||||
"integrity": "sha512-+tKxNa2psFmiTb0KfXlXs4Yj7vkEhzAvZ0DrQ5+0gWHQJM10jSleQ3l1FIVm5uvD53YM8lHfM4mgCLDDN9f1Gg==",
|
||||
"version": "4.65.0",
|
||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.65.0.tgz",
|
||||
"integrity": "sha512-dNONUaEwPGhl/nuO2KV8VABWlcjYyU6KtZGN8dQv5OS5JU7JSCxPijVNKXbRJd0iuTzTiJ4TjPt/4bbvDRNiMQ==",
|
||||
"cpu": [
|
||||
"arm64"
|
||||
],
|
||||
@@ -1005,9 +1005,9 @@
|
||||
]
|
||||
},
|
||||
"node_modules/@rollup/rollup-darwin-arm64": {
|
||||
"version": "4.64.12",
|
||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.64.12.tgz",
|
||||
"integrity": "sha512-iiripdfvyRBugV55/Dk7GplNXQtN/PG85OcKeveU1z2UkTg0MofbBF1qk//qgPWiqJbVvQcXAVCfE56oDGO4EQ==",
|
||||
"version": "4.65.0",
|
||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.65.0.tgz",
|
||||
"integrity": "sha512-zWQqUH+9zavr2Bxuzfpuv2SIF3X31cr58TvSQC9o1GhpOvkqRwr60GkZdQcudyT/BEgdpdSafjgd2I13MbTL7g==",
|
||||
"cpu": [
|
||||
"arm64"
|
||||
],
|
||||
@@ -1019,9 +1019,9 @@
|
||||
]
|
||||
},
|
||||
"node_modules/@rollup/rollup-darwin-x64": {
|
||||
"version": "4.64.12",
|
||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.64.12.tgz",
|
||||
"integrity": "sha512-BmATib8swSMAagWNIfDZMnb+k34RXR4bbGOUfZgK8lLlniuMyVoSDDXCOGkdhtUmBXL4aygDh7bhjQ+TmhTvIw==",
|
||||
"version": "4.65.0",
|
||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.65.0.tgz",
|
||||
"integrity": "sha512-RQYreBFWtO4//hIuOaZkYUnF/lPU4lz35dveDimDshWCJvVisVtJ/shmT9bkXK8wFJY+FJF89X6F3Cq1qI3LCw==",
|
||||
"cpu": [
|
||||
"x64"
|
||||
],
|
||||
@@ -1033,9 +1033,9 @@
|
||||
]
|
||||
},
|
||||
"node_modules/@rollup/rollup-freebsd-arm64": {
|
||||
"version": "4.64.12",
|
||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.64.12.tgz",
|
||||
"integrity": "sha512-GzrO0CiUq8vcAI/hYJuIcp6wNm3T3YhOpumYtf9Z3Fz+cfN1VESCVfy7EPcM3/m2K8l+Gn2U+4XtNZjwhUXctQ==",
|
||||
"version": "4.65.0",
|
||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.65.0.tgz",
|
||||
"integrity": "sha512-A0NfMj6Cuh/9BE5k3awJKv6HoxFVXIcLAb6SZqAMoxUHPA1ZNNK4RsGuUPD/vL7nEAm9LG+ZzXWWTrnC0XtkpA==",
|
||||
"cpu": [
|
||||
"arm64"
|
||||
],
|
||||
@@ -1047,9 +1047,9 @@
|
||||
]
|
||||
},
|
||||
"node_modules/@rollup/rollup-freebsd-x64": {
|
||||
"version": "4.64.12",
|
||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.64.12.tgz",
|
||||
"integrity": "sha512-Dpta6gigm4o6SYioXtTkZBlGLA/Sl6OpzgLqY+51uafJE2blPejAtR1w82CVLPN+F9cvo1+/em92x/zcOgY0uQ==",
|
||||
"version": "4.65.0",
|
||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.65.0.tgz",
|
||||
"integrity": "sha512-BI6/H7q3aP0I7S7GOrjyxTjgEJlSnovXE38+bdxBpuKN6z+d//uF+T+VQ3Q7ltJL/71p17ufartARX9Ja5gOGQ==",
|
||||
"cpu": [
|
||||
"x64"
|
||||
],
|
||||
@@ -1061,9 +1061,9 @@
|
||||
]
|
||||
},
|
||||
"node_modules/@rollup/rollup-linux-arm-gnueabihf": {
|
||||
"version": "4.64.12",
|
||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.64.12.tgz",
|
||||
"integrity": "sha512-YpeDwQ5uFaogRvytNC8RK0keDO65kI5wNEhGSs+4GiJc3KHhxj4j5cnQh2nCu9ybJj6RP0/ycB6bkN0yFJ9I+w==",
|
||||
"version": "4.65.0",
|
||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.65.0.tgz",
|
||||
"integrity": "sha512-W1vUprf09RWaVWnsFP1vlUkEWJzTZlpObOEAYZXt9Fq0UVAOYEkeGr7wBX7McKqqIQskXdBnpiOMgwPujordgA==",
|
||||
"cpu": [
|
||||
"arm"
|
||||
],
|
||||
@@ -1078,9 +1078,9 @@
|
||||
]
|
||||
},
|
||||
"node_modules/@rollup/rollup-linux-arm-musleabihf": {
|
||||
"version": "4.64.12",
|
||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.64.12.tgz",
|
||||
"integrity": "sha512-LQrB3/sImIr1ycrlEyaApOLH1rAy8JV4/dH4eoK817aWATdcs4fESXz53/w72NwDnwPM5zEUpoL7socH4ZDnwA==",
|
||||
"version": "4.65.0",
|
||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.65.0.tgz",
|
||||
"integrity": "sha512-s8QTcZWgrl9haFzEGIqyE5BWyo89pFDGLMBFZ752WYxk8DJwNU/O1X6pZgPw829d9/sm6CCHyrMP3aurt76p1Q==",
|
||||
"cpu": [
|
||||
"arm"
|
||||
],
|
||||
@@ -1095,9 +1095,9 @@
|
||||
]
|
||||
},
|
||||
"node_modules/@rollup/rollup-linux-arm64-gnu": {
|
||||
"version": "4.64.12",
|
||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.64.12.tgz",
|
||||
"integrity": "sha512-iAF2iYu9S4SBfNsb4k0ewNBjO83WxHEltIuKQBGMzEKFgrYfmJn+gatBDXR2t/0zJN0UW0kzR4rfvQ1UHzkZ1A==",
|
||||
"version": "4.65.0",
|
||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.65.0.tgz",
|
||||
"integrity": "sha512-ke1f6dLRzkqveyjjF2fkEwQYZvxHtNNwjegY8nJrwcO0Bdqr8CzFO/pKE0Bns13cx0qz2Ba2Y0Hs3dSwMdnHxA==",
|
||||
"cpu": [
|
||||
"arm64"
|
||||
],
|
||||
@@ -1112,9 +1112,9 @@
|
||||
]
|
||||
},
|
||||
"node_modules/@rollup/rollup-linux-arm64-musl": {
|
||||
"version": "4.64.12",
|
||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.64.12.tgz",
|
||||
"integrity": "sha512-0MQdRtdbirJCXPIVeW/hd/LXLR8Qz96pc+2EBptuuV5q/zSGOzND7SZt8gBTE58NC9cUG/8UxcUXQiKRZ2WzzA==",
|
||||
"version": "4.65.0",
|
||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.65.0.tgz",
|
||||
"integrity": "sha512-926SMeUcy4y18Rz/w2aJiUKOnyAnm6czg72bXkQEaeemsll+Wr0hnsjb2BGRpHvWgwAMYy5ACJCotbvfLCfj0A==",
|
||||
"cpu": [
|
||||
"arm64"
|
||||
],
|
||||
@@ -1129,9 +1129,9 @@
|
||||
]
|
||||
},
|
||||
"node_modules/@rollup/rollup-linux-loong64-gnu": {
|
||||
"version": "4.64.12",
|
||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.64.12.tgz",
|
||||
"integrity": "sha512-yGDEwn0AGnrY/KCz2oY8R9KKNiQnTcwNuCWXeSXF0VLxXzlqoCgaS5QHsf1lbQvKWwPuN2Czkjk1wXRCBONTOQ==",
|
||||
"version": "4.65.0",
|
||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.65.0.tgz",
|
||||
"integrity": "sha512-6T7JNRP1hc4hqF2dUsEoVLOt9K8tmODoCLldtQRYnrddGGQY8Gqe2pM/qMMUo7EMowpP7oa2N95k0/8sYK/ipw==",
|
||||
"cpu": [
|
||||
"loong64"
|
||||
],
|
||||
@@ -1146,9 +1146,9 @@
|
||||
]
|
||||
},
|
||||
"node_modules/@rollup/rollup-linux-loong64-musl": {
|
||||
"version": "4.64.12",
|
||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-musl/-/rollup-linux-loong64-musl-4.64.12.tgz",
|
||||
"integrity": "sha512-AjlbD0efZEhHaJ3bsNjxSFDoguNq6VZvC+FKGJGBCA+ZN7BrZq2TuuSWFa6AI8IpOeuvhp2LoYcP7jiZwmtU0Q==",
|
||||
"version": "4.65.0",
|
||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-musl/-/rollup-linux-loong64-musl-4.65.0.tgz",
|
||||
"integrity": "sha512-SImGFl1Je5kpyAgOCPONVT7h6ASV8mAUwGRjY7eZvVjPg//PfHOXgI+P241RF/+HqsA4PP3qD527ysWFKNQyhQ==",
|
||||
"cpu": [
|
||||
"loong64"
|
||||
],
|
||||
@@ -1163,9 +1163,9 @@
|
||||
]
|
||||
},
|
||||
"node_modules/@rollup/rollup-linux-ppc64-gnu": {
|
||||
"version": "4.64.12",
|
||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.64.12.tgz",
|
||||
"integrity": "sha512-sDW0CiPoUCEEUV25uBG5sJ2gKe75DJqLpj91m1eK1vKffywyY7v4i6q1450ZuR6QW4NArXg7JpbMGgKU8di3HQ==",
|
||||
"version": "4.65.0",
|
||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.65.0.tgz",
|
||||
"integrity": "sha512-XeDTbmPF1Yu5asfXGPrMkWoxTDhgryQbmw5Q1+R582O51VNCk23J6f2pDrsAp5YkneBVBwtExx6ZGOb9D2aQ6A==",
|
||||
"cpu": [
|
||||
"ppc64"
|
||||
],
|
||||
@@ -1180,9 +1180,9 @@
|
||||
]
|
||||
},
|
||||
"node_modules/@rollup/rollup-linux-ppc64-musl": {
|
||||
"version": "4.64.12",
|
||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-musl/-/rollup-linux-ppc64-musl-4.64.12.tgz",
|
||||
"integrity": "sha512-VTQYUhMjl8kv999VuYqScgv7P9cR9KuxI/6bkUsEa3bsswqG0+otFjuLZmJ1U+ffEP4IAz0jxOeV0DX6NRBhjg==",
|
||||
"version": "4.65.0",
|
||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-musl/-/rollup-linux-ppc64-musl-4.65.0.tgz",
|
||||
"integrity": "sha512-VS55JUI/1nsljmV/jfqNkLZXFw8uMO8nNlfoHmSevNf6fO3neuhyDvx9dv3c/Ytt8r/431SL8Qax1dpYvOMZTg==",
|
||||
"cpu": [
|
||||
"ppc64"
|
||||
],
|
||||
@@ -1197,9 +1197,9 @@
|
||||
]
|
||||
},
|
||||
"node_modules/@rollup/rollup-linux-riscv64-gnu": {
|
||||
"version": "4.64.12",
|
||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.64.12.tgz",
|
||||
"integrity": "sha512-ppsKwpSjNrzJ8hge3Z3uiCcoRgAAQk2tU7auy3MFF348ffWRldFPnWIT/a/enK7huijlTfnwn4DYpDoapEb45A==",
|
||||
"version": "4.65.0",
|
||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.65.0.tgz",
|
||||
"integrity": "sha512-Vblw84TbX7RS4la1Y4+yQ7aore/oSyaNtFbppuBr5Vs/4LfBeXKq9dIfoExw6zOvRERqd2rRAjnZRaMhH/0x5w==",
|
||||
"cpu": [
|
||||
"riscv64"
|
||||
],
|
||||
@@ -1214,9 +1214,9 @@
|
||||
]
|
||||
},
|
||||
"node_modules/@rollup/rollup-linux-riscv64-musl": {
|
||||
"version": "4.64.12",
|
||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.64.12.tgz",
|
||||
"integrity": "sha512-Gc3cVRC1trFH+GFWWTsJz6YuD4u75fzr/q99jqQGimonN/zvN6Wecck5WGzllOHj+XYXHcq0Ibor0tanGjfI6A==",
|
||||
"version": "4.65.0",
|
||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.65.0.tgz",
|
||||
"integrity": "sha512-7+gHjtONvKgwR9InTKFaLq53f6YzBJkgeMRBENdWTsQr+spahGqQm8HF5aXpq8i4JaRrOqYyv6Zn1WltDTxaZQ==",
|
||||
"cpu": [
|
||||
"riscv64"
|
||||
],
|
||||
@@ -1231,9 +1231,9 @@
|
||||
]
|
||||
},
|
||||
"node_modules/@rollup/rollup-linux-s390x-gnu": {
|
||||
"version": "4.64.12",
|
||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.64.12.tgz",
|
||||
"integrity": "sha512-pjmDTFStvwFE3shTeUDvSDiSp8/qAf5bQXejcEUDDavWz4jEhTIpCdpS06G0PEwSCSNK0Lngjz2v9l4hk3Z74A==",
|
||||
"version": "4.65.0",
|
||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.65.0.tgz",
|
||||
"integrity": "sha512-KvNDC0J6s4vVHhtJ6KrDXU0Er0au/hmRIBq/+1maCV8TseGupeKizq0bWcrbp2HE1T8xoknvN0Q/KZ/YF0qX3w==",
|
||||
"cpu": [
|
||||
"s390x"
|
||||
],
|
||||
@@ -1248,9 +1248,9 @@
|
||||
]
|
||||
},
|
||||
"node_modules/@rollup/rollup-linux-x64-gnu": {
|
||||
"version": "4.64.12",
|
||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.64.12.tgz",
|
||||
"integrity": "sha512-mkbjxPqpR91u1JD7xY4aLZhr/Mqka4/RqGcG4WNGgN/lC1o7TzyCyqJoSJXp9qVVxMwpJGFlEF1VlERb+Ghw1Q==",
|
||||
"version": "4.65.0",
|
||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.65.0.tgz",
|
||||
"integrity": "sha512-GExdD15WPvu/x/drELjVam7vX8EsPgvTMOa/iJL/p/4m/oOqzbb7JXZg8fXR4hlXtg/sF2zyTZ3bR0AEtEMlhQ==",
|
||||
"cpu": [
|
||||
"x64"
|
||||
],
|
||||
@@ -1265,9 +1265,9 @@
|
||||
]
|
||||
},
|
||||
"node_modules/@rollup/rollup-linux-x64-musl": {
|
||||
"version": "4.64.12",
|
||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.64.12.tgz",
|
||||
"integrity": "sha512-vIeut2LkuVc3gcsawLJPahNAzvzBcFRhu2O+yVb//BuQKz7PIItMF0piXRbN/lIDO3d68TSDd368Vg6YwgTybw==",
|
||||
"version": "4.65.0",
|
||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.65.0.tgz",
|
||||
"integrity": "sha512-8sT9PemIZfIMED4Vd4KGoOXVDj5CMSWNcGdbheRUx9TYS03yOWdT2Q0lXPyEyNBB9YTilwewIQKNIBk6Nxi0Kg==",
|
||||
"cpu": [
|
||||
"x64"
|
||||
],
|
||||
@@ -1282,9 +1282,9 @@
|
||||
]
|
||||
},
|
||||
"node_modules/@rollup/rollup-openbsd-x64": {
|
||||
"version": "4.64.12",
|
||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-openbsd-x64/-/rollup-openbsd-x64-4.64.12.tgz",
|
||||
"integrity": "sha512-3Sx+D3r9oPkTdNUcPrIRM2Am+vzEV6VGWoImHG4ZVK2jJeOW+eDjLeTm6nvu/z/m0fiX2YmGLXIypblc336MXg==",
|
||||
"version": "4.65.0",
|
||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-openbsd-x64/-/rollup-openbsd-x64-4.65.0.tgz",
|
||||
"integrity": "sha512-pO6Ehi0jo5yE0R6PltKhJhv9mlIiyzBJk5N5NUF2OF6xtVKI+1bdXxj/rb0jGXy3hck1ELVT0QPY3tzkAm360w==",
|
||||
"cpu": [
|
||||
"x64"
|
||||
],
|
||||
@@ -1296,9 +1296,9 @@
|
||||
]
|
||||
},
|
||||
"node_modules/@rollup/rollup-openharmony-arm64": {
|
||||
"version": "4.64.12",
|
||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.64.12.tgz",
|
||||
"integrity": "sha512-Nn2xh0teFnl71EiiUrKvECWcdGXtWF8q0uGclYwXGVw6QClGAcME0/bJSGdK+xIvd6MLEKYmjkTUvCBV+7m5Kw==",
|
||||
"version": "4.65.0",
|
||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.65.0.tgz",
|
||||
"integrity": "sha512-vo7N3/+cjjPDYr8vtxC+qSNgWa9sDvJ7g8N8R5SWqFY4WiNH1ULcAU70SKVyHeiIZOYYwNP9pTipmhN5sl1NPw==",
|
||||
"cpu": [
|
||||
"arm64"
|
||||
],
|
||||
@@ -1310,9 +1310,9 @@
|
||||
]
|
||||
},
|
||||
"node_modules/@rollup/rollup-win32-arm64-msvc": {
|
||||
"version": "4.64.12",
|
||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.64.12.tgz",
|
||||
"integrity": "sha512-n1/0H9TS+kBa4xp6n9aV7yiynBNfmerjkj2nAMIfY0ZHv1zShWRXnsAuAPAH0sfEK4ZSMK+z24q2RjAPFLCN1w==",
|
||||
"version": "4.65.0",
|
||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.65.0.tgz",
|
||||
"integrity": "sha512-ArwvgFAbjKcDM7qqotZ4OVYf+UMT9xH2YzkCzK4+AuZSDihMlz1Ekoe4INwBVXzn2mnJzuIYOcSx07iTBijGRQ==",
|
||||
"cpu": [
|
||||
"arm64"
|
||||
],
|
||||
@@ -1324,9 +1324,9 @@
|
||||
]
|
||||
},
|
||||
"node_modules/@rollup/rollup-win32-ia32-msvc": {
|
||||
"version": "4.64.12",
|
||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.64.12.tgz",
|
||||
"integrity": "sha512-AdlDbQpsLfGlsHr1NfLZFtdnvxCKNp9TwlYVYExs8JJLWjLafUQEKJk0r9zUbmU57mw9nglMEvzqPHuLWYmaKw==",
|
||||
"version": "4.65.0",
|
||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.65.0.tgz",
|
||||
"integrity": "sha512-QGMmK4/cxKE/36FoLMSHQBCyymv/eFTnsCvvsBF0rgmOvVbvX78VWZRerL3dHa77f4pM6Xcc2iGDhJ10w/svKQ==",
|
||||
"cpu": [
|
||||
"ia32"
|
||||
],
|
||||
@@ -1338,9 +1338,9 @@
|
||||
]
|
||||
},
|
||||
"node_modules/@rollup/rollup-win32-x64-gnu": {
|
||||
"version": "4.64.12",
|
||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.64.12.tgz",
|
||||
"integrity": "sha512-u5SSUJBHod51UamjkigSr+JPre6xMy5vaWTTV2K0SnFG4RuKyYpf66dTSLFKX2cwaldpwyBurXPUCxq8riQMEg==",
|
||||
"version": "4.65.0",
|
||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.65.0.tgz",
|
||||
"integrity": "sha512-XfKYFWHIPs4HPODIMsGF1IKlS3H1e3WokUZIgpmn4+uNnZBlnRDDHEylNyazbQXwhMKZre68OjtRYbKqb5+j8w==",
|
||||
"cpu": [
|
||||
"x64"
|
||||
],
|
||||
@@ -1352,9 +1352,9 @@
|
||||
]
|
||||
},
|
||||
"node_modules/@rollup/rollup-win32-x64-msvc": {
|
||||
"version": "4.64.12",
|
||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.64.12.tgz",
|
||||
"integrity": "sha512-j5rXD4R/4DM5+V991AA9xOnG2Rwu2g3p5TPgu1Eu7apju0NUrLl+Bn/KpWc6wYJtlXqzwz1r+LNV1JeBU4VGvw==",
|
||||
"version": "4.65.0",
|
||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.65.0.tgz",
|
||||
"integrity": "sha512-wPWi++K4Bs1VR4XihOhfGi4IGX6Cub7FlerTf8X2v+2BtDHddgSqWCXwGD+h2yAe4/niIhNDwAltioOC+wEogQ==",
|
||||
"cpu": [
|
||||
"x64"
|
||||
],
|
||||
@@ -2802,9 +2802,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/rollup": {
|
||||
"version": "4.64.12",
|
||||
"resolved": "https://registry.npmjs.org/rollup/-/rollup-4.64.12.tgz",
|
||||
"integrity": "sha512-GhAu8ZglZ61VWSX/ZW3K/qkazgURBIQL0/Yy51QsS8DPyebR5Cf/Z2PANJFpTU0aVZ9byJcyqR6xvBbkXhdGYQ==",
|
||||
"version": "4.65.0",
|
||||
"resolved": "https://registry.npmjs.org/rollup/-/rollup-4.65.0.tgz",
|
||||
"integrity": "sha512-QVCvQUTGDN6JRwi3jVGCY3H4aTHvi9rX0LyoBMkGUvdh/Z6O51CzcLz85BWZaTCDGhl6ySGqYZs+xI1jmPqGcw==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
@@ -2819,31 +2819,31 @@
|
||||
},
|
||||
"optionalDependencies": {
|
||||
"@napi-rs/lzma-linux-x64-gnu": "1.5.1",
|
||||
"@rollup/rollup-android-arm-eabi": "4.64.12",
|
||||
"@rollup/rollup-android-arm64": "4.64.12",
|
||||
"@rollup/rollup-darwin-arm64": "4.64.12",
|
||||
"@rollup/rollup-darwin-x64": "4.64.12",
|
||||
"@rollup/rollup-freebsd-arm64": "4.64.12",
|
||||
"@rollup/rollup-freebsd-x64": "4.64.12",
|
||||
"@rollup/rollup-linux-arm-gnueabihf": "4.64.12",
|
||||
"@rollup/rollup-linux-arm-musleabihf": "4.64.12",
|
||||
"@rollup/rollup-linux-arm64-gnu": "4.64.12",
|
||||
"@rollup/rollup-linux-arm64-musl": "4.64.12",
|
||||
"@rollup/rollup-linux-loong64-gnu": "4.64.12",
|
||||
"@rollup/rollup-linux-loong64-musl": "4.64.12",
|
||||
"@rollup/rollup-linux-ppc64-gnu": "4.64.12",
|
||||
"@rollup/rollup-linux-ppc64-musl": "4.64.12",
|
||||
"@rollup/rollup-linux-riscv64-gnu": "4.64.12",
|
||||
"@rollup/rollup-linux-riscv64-musl": "4.64.12",
|
||||
"@rollup/rollup-linux-s390x-gnu": "4.64.12",
|
||||
"@rollup/rollup-linux-x64-gnu": "4.64.12",
|
||||
"@rollup/rollup-linux-x64-musl": "4.64.12",
|
||||
"@rollup/rollup-openbsd-x64": "4.64.12",
|
||||
"@rollup/rollup-openharmony-arm64": "4.64.12",
|
||||
"@rollup/rollup-win32-arm64-msvc": "4.64.12",
|
||||
"@rollup/rollup-win32-ia32-msvc": "4.64.12",
|
||||
"@rollup/rollup-win32-x64-gnu": "4.64.12",
|
||||
"@rollup/rollup-win32-x64-msvc": "4.64.12",
|
||||
"@rollup/rollup-android-arm-eabi": "4.65.0",
|
||||
"@rollup/rollup-android-arm64": "4.65.0",
|
||||
"@rollup/rollup-darwin-arm64": "4.65.0",
|
||||
"@rollup/rollup-darwin-x64": "4.65.0",
|
||||
"@rollup/rollup-freebsd-arm64": "4.65.0",
|
||||
"@rollup/rollup-freebsd-x64": "4.65.0",
|
||||
"@rollup/rollup-linux-arm-gnueabihf": "4.65.0",
|
||||
"@rollup/rollup-linux-arm-musleabihf": "4.65.0",
|
||||
"@rollup/rollup-linux-arm64-gnu": "4.65.0",
|
||||
"@rollup/rollup-linux-arm64-musl": "4.65.0",
|
||||
"@rollup/rollup-linux-loong64-gnu": "4.65.0",
|
||||
"@rollup/rollup-linux-loong64-musl": "4.65.0",
|
||||
"@rollup/rollup-linux-ppc64-gnu": "4.65.0",
|
||||
"@rollup/rollup-linux-ppc64-musl": "4.65.0",
|
||||
"@rollup/rollup-linux-riscv64-gnu": "4.65.0",
|
||||
"@rollup/rollup-linux-riscv64-musl": "4.65.0",
|
||||
"@rollup/rollup-linux-s390x-gnu": "4.65.0",
|
||||
"@rollup/rollup-linux-x64-gnu": "4.65.0",
|
||||
"@rollup/rollup-linux-x64-musl": "4.65.0",
|
||||
"@rollup/rollup-openbsd-x64": "4.65.0",
|
||||
"@rollup/rollup-openharmony-arm64": "4.65.0",
|
||||
"@rollup/rollup-win32-arm64-msvc": "4.65.0",
|
||||
"@rollup/rollup-win32-ia32-msvc": "4.65.0",
|
||||
"@rollup/rollup-win32-x64-gnu": "4.65.0",
|
||||
"@rollup/rollup-win32-x64-msvc": "4.65.0",
|
||||
"fsevents": "~2.3.2"
|
||||
}
|
||||
},
|
||||
|
||||
+1
-1
@@ -42,7 +42,7 @@
|
||||
"@rollup/plugin-node-resolve": "^16.0.3",
|
||||
"@types/node": "^26.6.5",
|
||||
"linefix": "^0.1.1",
|
||||
"rollup": "^4.64.12",
|
||||
"rollup": "^4.65.0",
|
||||
"typescript": "7.0.2"
|
||||
},
|
||||
"scripts": {
|
||||
|
||||
+19
-8
@@ -167,11 +167,17 @@ export class CacheConfig {
|
||||
)),
|
||||
);
|
||||
|
||||
const workspaceMembers = await workspace.getWorkspaceMembers(cmdFormat);
|
||||
const { members, workspaceRoot } = await workspace.getWorkspaceMembers(cmdFormat);
|
||||
|
||||
const cargo_manifests = sort_and_uniq(workspaceMembers.map((member) => path.join(member.path, "Cargo.toml")));
|
||||
const cargo_manifests = members.map((member) => path.join(member.path, "Cargo.toml"));
|
||||
// A virtual workspace's root manifest belongs to no member, yet its `[profile]` and `[patch]`
|
||||
// sections apply to every member.
|
||||
const root_manifest = path.join(workspaceRoot, "Cargo.toml");
|
||||
if (await exists(root_manifest)) {
|
||||
cargo_manifests.push(root_manifest);
|
||||
}
|
||||
|
||||
for (const cargo_manifest of cargo_manifests) {
|
||||
for (const cargo_manifest of sort_and_uniq(cargo_manifests)) {
|
||||
try {
|
||||
const content = await fs.readFile(cargo_manifest, { encoding: "utf8" });
|
||||
// Use any since TomlPrimitive is not exposed
|
||||
@@ -184,12 +190,17 @@ export class CacheConfig {
|
||||
}
|
||||
}
|
||||
|
||||
for (const prefix of ["", "build-", "dev-"]) {
|
||||
const section_name = `${prefix}dependencies`;
|
||||
if (!(section_name in parsed)) {
|
||||
const workspace_table = parsed.workspace ?? {};
|
||||
if ("package" in workspace_table && "version" in workspace_table.package) {
|
||||
workspace_table.package["version"] = "0.0.0";
|
||||
}
|
||||
|
||||
const dependency_tables = ["", "build-", "dev-"].map((prefix) => parsed[`${prefix}dependencies`]);
|
||||
dependency_tables.push(workspace_table.dependencies);
|
||||
for (const deps of dependency_tables) {
|
||||
if (deps === undefined) {
|
||||
continue;
|
||||
}
|
||||
const deps = parsed[section_name];
|
||||
|
||||
for (const key of Object.keys(deps)) {
|
||||
const dep = deps[key];
|
||||
@@ -217,7 +228,7 @@ export class CacheConfig {
|
||||
}
|
||||
}
|
||||
|
||||
const cargo_lock = path.join(workspace.root, "Cargo.lock");
|
||||
const cargo_lock = path.join(workspaceRoot, "Cargo.lock");
|
||||
if (await exists(cargo_lock)) {
|
||||
try {
|
||||
const content = await fs.readFile(cargo_lock, { encoding: "utf8" });
|
||||
|
||||
+2
-2
@@ -41,8 +41,8 @@ async function run() {
|
||||
for (const workspace of config.workspaces) {
|
||||
const packages = await workspace.getPackagesOutsideWorkspaceRoot(config.cmdFormat);
|
||||
if (workspaceCrates === "true") {
|
||||
const wsMembers = await workspace.getWorkspaceMembers(config.cmdFormat);
|
||||
packages.push(...wsMembers);
|
||||
const { members } = await workspace.getWorkspaceMembers(config.cmdFormat);
|
||||
packages.push(...members);
|
||||
}
|
||||
allPackages.push(...packages);
|
||||
try {
|
||||
|
||||
+11
-5
@@ -15,9 +15,10 @@ export class Workspace {
|
||||
cmdFormat: string,
|
||||
filter: (p: Meta["packages"][0]) => boolean,
|
||||
extraArgs?: string,
|
||||
): Promise<Packages> {
|
||||
): Promise<{ packages: Packages; workspaceRoot: string }> {
|
||||
const cmd = "cargo metadata --all-features --format-version 1" + (extraArgs ? ` ${extraArgs}` : "");
|
||||
let packages: Packages = [];
|
||||
let workspaceRoot = this.root;
|
||||
try {
|
||||
core.debug(`collecting metadata for "${this.root}"`);
|
||||
const meta: Meta = JSON.parse(
|
||||
@@ -27,6 +28,7 @@ export class Workspace {
|
||||
}),
|
||||
);
|
||||
core.debug(`workspace "${this.root}" has ${meta.packages.length} packages`);
|
||||
workspaceRoot = meta.workspace_root;
|
||||
for (const pkg of meta.packages.filter(filter)) {
|
||||
const targets = pkg.targets.filter((t) => t.kind.some((kind) => SAVE_TARGETS.has(kind))).map((t) => t.name);
|
||||
packages.push({ name: pkg.name, version: pkg.version, targets, path: path.dirname(pkg.manifest_path) });
|
||||
@@ -34,15 +36,18 @@ export class Workspace {
|
||||
} catch (err) {
|
||||
console.error(err);
|
||||
}
|
||||
return packages;
|
||||
return { packages, workspaceRoot };
|
||||
}
|
||||
|
||||
public async getPackagesOutsideWorkspaceRoot(cmdFormat: string): Promise<Packages> {
|
||||
return await this.getPackages(cmdFormat, (pkg) => !pkg.manifest_path.startsWith(this.root));
|
||||
const filter = (pkg: Meta["packages"][0]) => !pkg.manifest_path.startsWith(this.root);
|
||||
return (await this.getPackages(cmdFormat, filter)).packages;
|
||||
}
|
||||
|
||||
public async getWorkspaceMembers(cmdFormat: string): Promise<Packages> {
|
||||
return await this.getPackages(cmdFormat, (_) => true, "--no-deps");
|
||||
/** The workspace's members, and the root directory of the cargo workspace they belong to. */
|
||||
public async getWorkspaceMembers(cmdFormat: string): Promise<{ members: Packages; workspaceRoot: string }> {
|
||||
const { packages, workspaceRoot } = await this.getPackages(cmdFormat, (_) => true, "--no-deps");
|
||||
return { members: packages, workspaceRoot };
|
||||
}
|
||||
}
|
||||
|
||||
@@ -56,6 +61,7 @@ export interface PackageDefinition {
|
||||
export type Packages = Array<PackageDefinition>;
|
||||
|
||||
interface Meta {
|
||||
workspace_root: string;
|
||||
packages: Array<{
|
||||
name: string;
|
||||
version: string;
|
||||
|
||||
Reference in New Issue
Block a user