You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
// ./src/getPackageDeps.ts: line 137constresult=execa.sync(gitPath||"git",["hash-object","--stdin-paths"],{input: filesToHash.map((x)=>path.resolve(packagePath,x)).join("\n"),});
The buffers execa uses to execute this command have an upper limit. I don't know if that limit is specified in execa, NodeJS, or by the operating system, but on MacOS Ventura 13.3 it appears to be 64KB.
I am attempting to break up a medium-sized monolith into individual packages. With the existing node_modules collection, that monolith's list of 56,038 hashable files is 3.3MB, far exceeding the 64MB limit.
To Reproduce:
Create a simple zero-package project for lage.
Into the empty packages folder, place a large and complex project.
Configure the root package.json to recognize the new workspace, and lage to build it.
Attempt to build the project.
See the error:
Running with 11 workers
node:internal/errors:496
ErrorCaptureStackTrace(err);
^
Error: Command failed with EPIPE: git hash-object --stdin-paths
spawnSync git EPIPE
fatal: Unable to hash /Users/ken/projects/dev/web/node_modules/@goauthentik/web
c6ea78f6224fcba40713d28c20319873aa4733e3
06fccc32b1939efb64b92d9ae37bc21fb9118051
552cb0764a8c0cf7a937b25a04f55f0b70ea51cb
31479ed80f5dc571782e0a4d31658ba78adf0108
1b2db5bd40698e7f8467eb0cfe901cf38517f48d
... (many lines of hash output, ending unexpectedly and with an incomplete last line)
Closing this in favor of Lage hasher crashes trying to run git hash-object on a symlink. This appears to have been a consequence of that bug, and the fact that it crashed within ~40 bytes or so of processing exactly 64KB was a red herring. It seemed a reasonable assumption that 40 bytes was about the length of a path and so this was "going over" some 64KB limit, but further investigation revealed the symlink to have been the real issue.
Describe the bug
The buffers
execa
uses to execute this command have an upper limit. I don't know if that limit is specified in execa, NodeJS, or by the operating system, but on MacOS Ventura 13.3 it appears to be 64KB.I am attempting to break up a medium-sized monolith into individual packages. With the existing
node_modules
collection, that monolith's list of 56,038 hashable files is 3.3MB, far exceeding the 64MB limit.To Reproduce:
packages
folder, place a large and complex project.package.json
to recognize the new workspace, andlage
to build it.Expected behavior
I expected the build to complete.
Environment/Troubleshooting
The text was updated successfully, but these errors were encountered: