Migrate to pnpm (#2828)
* chore: 🤖 remove packageManager field from package.json
* chore: 🤖 migrate yarn resolutions to pnpm overrides
* chore: 🤖 generate pnpm-lock.yml by using: pnpm import yarn.lock
* chore: 🤖 remove yarn.lock file
* chore: 🤖 migrate workspace configuration
* chore: 🤖 remove .yarn and .yarnrc.yml config
* chore: 🤖 update .copyright.hcl to ignore root pnpm files
* chore: 🤖 migrate husky pre-commit hook from yarn to pnpm
* chore: 🤖 migrate package.json scripts from yarn to pnpm
* chore: 🤖 update rose package.json & build to use explicit deps
* chore: 🤖 remove unused cp metadata.json command in pjson script
The cp metadata.json to dist was added in:
d19a251
The addons/rose/metadata.json no longer exists so it can't be copied
* chore: 🤖 migrate electron-app package.json scripts to pnpm
* chore: 🤖 create pnpm workspace for electron-app w/ hoisted deps
* chore: 🤖 migrate electron-app yarn lockfile to pnpm lockfile
Used "pnpm import yarn.lock"
* chore: 🤖 migrate electron-app overrides
node-gyp isn't needed since the fork is used via @electron/node-gyp
see: https://github.com/electron/node-gyp?tab=readme-ov-file#node-gyp---nodejs-native-addon-build-tool
* chore: 🤖 add trusted deps to be built to onlyBuiltDependencies
This is a pnpm feature that increases security. By defining these
dependencies they are being trusted to allow install hooks,
including postinstall. See:
https://pnpm.io/settings#onlybuiltdependencies
* chore: 🤖 add electron-app pnpm files to copyright header ignore
* chore: 🤖 remove yarn references from .*ignore files
* chore: 🤖 migrate --yarn to --pnpm for ember-cli-update.json
This isn't clearly documented but something that is supported
and can be found in other ember apps:
https://github.com/search?q=--pnpm+ember-cli-update.json&type=code
* chore: 🤖 migrate ci and related scripts to use pnpm
The cache is migrated to use the cache supported by
actions/setup-node@v4, an action we are already using. This is the
recommended way by pnpm:
https://pnpm.io/continuous-integration#github-actions
This commit also ensures that all github actions are using
consistent versions of actions/setup-node and pnpm/action-setup
* docs: ✏️ update documentation to use pnpm instead of yarn
* chore: 🤖 use explicit asciinema-player dependency
Because we override styles on asciinema-player we depend on their
styles. What might be a minor non-breaking change in their version could
(and did) break our style expectations in our overrides.
* chore: 🤖 run pnpm install and commit lockfile changes
* chore: 🤖 Remove ember-inflector from being overidden
https://github.com/hashicorp/boundary-ui/pull/2828#discussion_r2110380711
* chore: 🤖 remove highlight.js from pnpm overrides
https://github.com/hashicorp/boundary-ui/pull/2828#discussion_r2109847938
* chore: 🤖 remove additional unnecessary files from ignore files
* docs: ✏️ fix pnpm doc links
* chore: 🤖 use corepack to specify packageManager in package.json
* chore: 🤖 let pnpm action in ci use packageManager for version
https://github.com/pnpm/action-setup?tab=readme-ov-file#version
* docs: ✏️ fix broken pnpm website links
This commit is contained in:
1 parent
daa23f66c4
commit
5a302b0bcc
53 files changed
+24335
-28008
No files matched your search
+34
-38
@@ -3,36 +3,29 @@
|
||||
"description": "Monorepo for Boundary UIs and addons.",
|
||||
"license": "BUSL-1.1",
|
||||
"author": "HashiCorp",
|
||||
"workspaces": {
|
||||
"packages": [
|
||||
"addons/*",
|
||||
"ui/*",
|
||||
"e2e-tests"
|
||||
]
|
||||
},
|
||||
"scripts": {
|
||||
"build": "yarn build:ui:admin",
|
||||
"build:ui:admin": "yarn workspace admin build",
|
||||
"build:ui:admin:oss": "yarn workspace admin build:oss",
|
||||
"build:ui:admin:enterprise": "yarn workspace admin build:enterprise",
|
||||
"build:ui:admin:hcp": "yarn workspace admin build:hcp",
|
||||
"build:ui:desktop": "yarn workspace desktop build",
|
||||
"build:ui:desktop:production": "yarn workspace desktop build:production",
|
||||
"build:ui:desktop:app": "yarn workspace desktop build:desktop",
|
||||
"lint": "concurrently \"yarn:lint:*\" --names \"lint:\"",
|
||||
"lint:addons-api": "yarn workspace api lint",
|
||||
"lint:addons-auth": "yarn workspace auth lint",
|
||||
"lint:addons-core": "yarn workspace core lint",
|
||||
"lint:addons-rose": "yarn workspace rose lint",
|
||||
"lint:ui-admin": "yarn workspace admin lint",
|
||||
"lint:ui-desktop": "yarn workspace desktop lint",
|
||||
"test": "concurrently \"yarn:test:*\" --names \"test:\"",
|
||||
"test:addons-api": "yarn workspace api test",
|
||||
"test:addons-auth": "yarn workspace auth test",
|
||||
"test:addons-core": "yarn workspace core test",
|
||||
"test:addons-rose": "yarn workspace rose test",
|
||||
"test:ui-admin": "yarn workspace admin test",
|
||||
"test:ui-desktop": "yarn workspace desktop test",
|
||||
"build": "pnpm build:ui:admin",
|
||||
"build:ui:admin": "pnpm run --filter admin build",
|
||||
"build:ui:admin:oss": "pnpm run --filter admin build:oss",
|
||||
"build:ui:admin:enterprise": "pnpm run --filter admin build:enterprise",
|
||||
"build:ui:admin:hcp": "pnpm run --filter admin build:hcp",
|
||||
"build:ui:desktop": "pnpm run --filter desktop build",
|
||||
"build:ui:desktop:production": "pnpm run --filter desktop build:production",
|
||||
"build:ui:desktop:app": "pnpm run --filter desktop build:desktop",
|
||||
"lint": "concurrently \"pnpm:lint:*\" --names \"lint:\"",
|
||||
"lint:addons-api": "pnpm run --filter api lint",
|
||||
"lint:addons-auth": "pnpm run --filter auth lint",
|
||||
"lint:addons-core": "pnpm run --filter core lint",
|
||||
"lint:addons-rose": "pnpm run --filter rose lint",
|
||||
"lint:ui-admin": "pnpm run --filter admin lint",
|
||||
"lint:ui-desktop": "pnpm run --filter desktop lint",
|
||||
"test": "concurrently \"pnpm:test:*\" --names \"test:\"",
|
||||
"test:addons-api": "pnpm run --filter api test",
|
||||
"test:addons-auth": "pnpm run --filter auth test",
|
||||
"test:addons-core": "pnpm run --filter core test",
|
||||
"test:addons-rose": "pnpm run --filter rose test",
|
||||
"test:ui-admin": "pnpm run --filter admin test",
|
||||
"test:ui-desktop": "pnpm run --filter desktop test",
|
||||
"compliance:licenses": "license-checker --onlyAllow 'Apache*;Apache License, Version 2.0;Apache-2.0;Apache 2.0;Artistic-2.0;BSD;BSD-3-Clause;CC-BY-3.0;CC-BY-4.0;CC0-1.0;ISC;MIT;MPL-2.0;BUSL-1.1;Public Domain;Python-2.0;Unicode-TOU;Unlicense;WTFPL;BlueOak-1.0.0' --excludePackages 'boundary-ui;admin@0.0.0;desktop@0.0.0;e2e-tests@0.0.0;cycle@1.0.3;cldr-core@43.1.0;make-plural@7.2.0;@hashicorp/ember-asciinema-player@0.0.0;path-scurry@1.10.1'",
|
||||
"doc:toc": "doctoc README.md",
|
||||
"prepare": "husky"
|
||||
@@ -45,14 +38,17 @@
|
||||
"license-checker": "^25.0.1",
|
||||
"lint-staged": "^15.2.10"
|
||||
},
|
||||
"resolutions": {
|
||||
"nomnom/underscore": "^1.12.1",
|
||||
"@hashicorp/design-system-components/ember-stargate": "^0.6.0",
|
||||
"micromatch": "^4.0.8",
|
||||
"css-select/nth-check": "^2.0.1",
|
||||
"node-gyp": "^10.0.0",
|
||||
"ansi-html": "^0.0.9",
|
||||
"fireworm/async": "^2.6.4"
|
||||
"pnpm": {
|
||||
"overrides": {
|
||||
"nomnom>underscore": "^1.12.1",
|
||||
"@hashicorp/design-system-components>ember-stargate": "^0.6.0",
|
||||
"@hashicorp/ember-asciinema-player>asciinema-player": "3.4.0",
|
||||
"micromatch": "^4.0.8",
|
||||
"css-select>nth-check": "^2.0.1",
|
||||
"node-gyp": "^10.0.0",
|
||||
"ansi-html": "^0.0.9",
|
||||
"fireworm>async": "^2.6.4"
|
||||
}
|
||||
},
|
||||
"config": {
|
||||
"commitizen": {
|
||||
@@ -62,5 +58,5 @@
|
||||
"engines": {
|
||||
"node": "20.* || 22.*"
|
||||
},
|
||||
"packageManager": "yarn@4.6.0"
|
||||
"packageManager": "pnpm@10.8.1"
|
||||
}
|
||||
Reference in new issue
Block a user