aube update on mac breaks CI on linux which uses npm
#938
|
When running e.g When running this
"node_modules/@esbuild/aix-ppc64": {
"version": "0.27.7",
"resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.27.7.tgz",
"integrity": "sha512-EKX3Qwmhz1eMdEJokhALr0YiD0lhQNwDqkPYyPhiSwKrh7/4KRjQc04sZ8db+5DVVnZ1LmbNDI1uAMPEUBnQPg==",
"cpu": [
"ppc64"
],
"dev": true,
"license": "MIT",
"optional": true,
"os": [
"aix"
],
"engines": {
"node": ">=18"
}
},
"node_modules/@esbuild/android-arm": {
"version": "0.27.7",
"resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.27.7.tgz",
"integrity": "sha512-jbPXvB4Yj2yBV7HUfE2KHe4GJX51QplCN1pGbYjvsyCZbQmies29EoJbkEc+vYuU5o45AfQn37vZlyXy4YJ8RQ==",
"cpu": [
"arm"
],
"dev": true,
"license": "MIT",
"optional": true,
"os": [
"android"
],
"engines": {
"node": ">=18"
}
},
[...]
Is there a flag "all archs" or similar? How to make this case work? |
Replies: 2 comments 1 reply
|
@krombel yeah, this is the platform-filtering difference between aube and npm, not esbuild itself. npm locks every No {
"aube": {
"supportedArchitectures": {
"os": ["current", "linux", "win32"],
"cpu": ["current", "x64", "arm64"],
"libc": ["current", "glibc", "musl"]
}
}
}( Add that before aube install --lockfile-onlyYou should see all the Minimal version if CI is just linux x64 glibc: "supportedArchitectures": { "os": ["current", "linux"], "cpu": ["current", "x64"], "libc": ["glibc"] }Other paths:
Also double-check CI isn't passing |
|
Agreed that Once that lands, a macOS This comment was generated by Codex. |
Agreed that
package-lock.jsonshould behave differently here. I opened #942 to make npm lockfile writes follow npm's cross-platform optional-native semantics: aube will record the foreign optional native packages inpackage-lock.json, while still filtering them out before fetch/link for the current host.Once that lands, a macOS
aube add/aube updatefollowed by Linuxnpm cishould keep the esbuild/Vite native package entries without needingsupportedArchitectures. Until it is released, the workaround above still applies: setsupportedArchitecturesor regenerate/repair the npm lockfile on the Linux target.This comment was generated by Codex.