mirror of
https://github.com/goauthentik/authentik.git
synced 2026-08-30 18:51:39 -07:00
* Replace npm + Corepack with pnpm
Migrate package management from npm + Corepack to pnpm across the root,
web, and website workspaces:
- Swap npm/Corepack tooling for pnpm: drop package-lock.json files and the
bespoke Corepack bootstrap scripts (setup-corepack.mjs, utils/corepack.mjs,
lint-lockfile.mjs); add pnpm-lock.yaml + pnpm-workspace.yaml per workspace.
- CI uses the official pnpm/action-setup + actions/setup-node; pin the pnpm
store dir via PNPM_HOME so setup-node's `cache: pnpm` post-step succeeds.
- Docker sources pnpm from the official ghcr.io/pnpm/pnpm image via a
${BUILDPLATFORM}-pinned stage; the website docs build does a hoisted root
install so @goauthentik/docusaurus-config resolves its own deps.
- Gate the web install on the `node` dep so runtime-only jobs don't invoke
pnpm; scope the from-stable env setup so the new tooling doesn't run against
the stable checkout's npm packageManager field.
- Resolve @goauthentik/api (client-ts) from its TypeScript source instead of a
tsc-built dist, so it no longer depends on an install-time prepare having run
(the storybook build's environment never built it); sfe's rollup gains .ts
resolution to match.
- Netlify builds with pnpm; encode pnpm's supply-chain controls
(onlyBuiltDependencies/allowBuilds, minimumReleaseAge) in the workspace.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Remove custom node action.
* Format.
14 lines
475 B
Plaintext
14 lines
475 B
Plaintext
# Fail fast if the active Node/pnpm doesn't match the "engines" field.
|
|
engine-strict=true
|
|
|
|
# Pin exact versions so `pnpm add <pkg>` writes "1.2.3" not "^1.2.3".
|
|
save-exact=true
|
|
|
|
# Suppress funding banners.
|
|
fund=false
|
|
|
|
# Lifecycle scripts are blocked by default in pnpm 10+. Per-project
|
|
# allow-lists live in the `pnpm.onlyBuiltDependencies` field of each
|
|
# `package.json` (replaces the prior `npm rebuild --foreground-scripts`
|
|
# dance keyed off `.npmrc`'s `ignore-scripts`).
|