packages: - web/packages/* - e/web/* - e2e allowBuilds: '@swc/core': true cbor-extract: true esbuild: true msw: true node-pty: true protobufjs: true unrs-resolver: true puppeteer: false # 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 # create-react-class and @hookform/resolvers import react/zod without declaring them, which fails to # resolve under the global virtual store. Declare the peers so pnpm co-locates them. packageExtensions: create-react-class@15: peerDependencies: react: '*' '@hookform/resolvers@5': peerDependencies: zod: '*' storybook@10: peerDependencies: '@storybook/react-vite': '*' # 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 # Do not install packages released less than 2 days (2880 minutes) ago minimumReleaseAge: 2880 # These are published as GitHub release tarballs rather than to the npm registry, so they have no # registry publish time for minimumReleaseAge to check and would otherwise fail the policy. minimumReleaseAgeExclude: - '@gravitational/design-system' - '@gravitational/swc-plugin-jsx-marker' - '@gravitational/swc-plugin-styled-components' # The pnpm team releases new versions pretty often, and we don't need to stay at the freshest version at all times. updateNotifier: false supportedArchitectures: # We explicitly set darwin and arm64 (macOS) and `current` here, so if `pnpm install` is ran inside a VM that is neither # darwin or arm64, we don't lose the correct architecture bindings. os: - darwin - linux - current cpu: - arm64 - current