Files
teleport/pnpm-workspace.yaml
T
Cam Hutchison dbc601cc51 Set packageImportMethod to clone-or-copy for pnpm (#57296)
Setting the pnpm `packageImportMethod` to `clone-or-copy` has resolved
issues I've consistently had trying to build the web UI using a docker
container which I have needed to do to test buildboxes.

Random files are reported as `ENOENT: no such file or directory` when
building the web UI. The linked issue and related items have more
detail.
2025-08-04 01:09:22 +00:00

36 lines
1.6 KiB
YAML

packages:
- web/packages/*
- e/web/*
onlyBuiltDependencies:
- '@swc/core'
- electron
- esbuild
- msw
- node-pty
- protobufjs
- unrs-resolver
# Without this, electron-builder will pull in electron-builder-squirrel-windows (which we don't need)
# and that dep will in turn pull electron-winstaller (which we also don't need). pnpm will then
# start complaining that electron-winstaller is not in onlyBuiltDependencies.
#
# We could instead solve this by adding electron-winstaller to ignoredBuiltDependencies, but why
# pull in deps that we don't use? Ultimately, the problem is that electron-builder-squirrel-windows
# is defined as a peer dep of one of electron-builder deps, while in reality it's more like an
# optional dep.
autoInstallPeers: false
# strictPeerDependencies cannot be set to true. Dependabot updates deps one-by-one and runs `pnpm
# install` after each update. With this option set to true, that command is likely to fail when
# updating a dep without updating its peer deps at the same time.
strictPeerDependencies: false
peerDependencyRules:
ignoreMissing:
# This dep is needed only when using Squirrel.Windows as an installer in electron-build which we
# don't use. https://www.electron.build/squirrel-windows.html
- electron-builder-squirrel-windows
# shellEmulator enables cross-platform scripting, allowing POSIX-style shell variables to work on Windows.
shellEmulator: true
# packageImportMethod avoids an issue building the web UI in docker on mac. It does not seem to
# affect performance outside of docker.
# https://github.com/gravitational/teleport/issues/46019
packageImportMethod: clone-or-copy