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
+13
-13
@@ -72,7 +72,7 @@ Ensure you install project dependencies and playwright needs.
|
||||
|
||||
```bash
|
||||
cd boundary-ui/e2e-tests/admin
|
||||
yarn install
|
||||
pnpm install
|
||||
npx playwright install # this installs the browsers used by Playwright
|
||||
```
|
||||
|
||||
@@ -124,10 +124,10 @@ Before running e2e tests locally, we need to launch the correct Enos Scenario.
|
||||
|
||||
#### Admin
|
||||
Tests names are tagged (eg: `@docker`) to show which enos scenarios are supported. Some tests will support multiple tags while others require a specific enos scenario in order to run successfully. Put another way, not all tests will run successfully under all enos scenarios. Either check the test name and its corresponding tags or use the `--list` flag for any playwright command to output tests covered:
|
||||
* `yarn admin:ce:aws --list`
|
||||
* `yarn admin:ce:docker --list`
|
||||
* `yarn admin:ent:aws --list`
|
||||
* `yarn admin:ent:docker --list`
|
||||
* `pnpm admin:ce:aws --list`
|
||||
* `pnpm admin:ce:docker --list`
|
||||
* `pnpm admin:ent:aws --list`
|
||||
* `pnpm admin:ent:docker --list`
|
||||
|
||||
Corresponding Enos Scenario for Given Tags
|
||||
| | `@aws` | `@docker` |
|
||||
@@ -176,16 +176,16 @@ cd boundary-ui/e2e-tests
|
||||
Run the command for the corresponding enos scenario to run all supported tests:
|
||||
| | `@aws` | `@docker` |
|
||||
| ------------- | --------------------------------- | ------------------------------------ |
|
||||
| `@ce` | command: `yarn run admin:ce:aws` | command: `admin:ce:docker` |
|
||||
| `@enterprise` | command: `yarn run admin:ent:aws` | command: `yarn run admin:ent:docker` |
|
||||
| `@ce` | command: `pnpm run admin:ce:aws` | command: `admin:ce:docker` |
|
||||
| `@enterprise` | command: `pnpm run admin:ent:aws` | command: `pnpm run admin:ent:docker` |
|
||||
|
||||
|
||||
Here are some additional commands to assist with debugging.
|
||||
|
||||
```bash
|
||||
PWDEBUG=console yarn playwright test --headed --config admin/playwright.config.js login.spec.js
|
||||
PWDEBUG=console yarn playwright test --headed --config admin/playwright.config.js login.spec.js:13 --debug
|
||||
PWDEBUG=console yarn playwright test --headed --config admin/playwright.config.js login.spec.js --debug
|
||||
PWDEBUG=console pnpm playwright test --headed --config admin/playwright.config.js login.spec.js
|
||||
PWDEBUG=console pnpm playwright test --headed --config admin/playwright.config.js login.spec.js:13 --debug
|
||||
PWDEBUG=console pnpm playwright test --headed --config admin/playwright.config.js login.spec.js --debug
|
||||
```
|
||||
|
||||
##### Admin (Using a Local Branch)
|
||||
@@ -193,11 +193,11 @@ PWDEBUG=console yarn playwright test --headed --config admin/playwright.config.j
|
||||
```shell
|
||||
# In one terminal, run the `test_e2e_env.sh` script, and then do the following...
|
||||
cd boundary-ui/
|
||||
ENABLE_MIRAGE=false API_HOST=$BOUNDARY_ADDR yarn workspace admin start
|
||||
ENABLE_MIRAGE=false API_HOST=$BOUNDARY_ADDR pnpm workspace admin start
|
||||
|
||||
# In another terminal, run the `test_e2e_env.sh` script and then do the following...
|
||||
cd boundary-ui/e2e-tests
|
||||
BOUNDARY_ADDR_BRANCH="http://localhost:4200" yarn run admin:{edition}:{infra} # Example: yarn run admin:ce:aws
|
||||
BOUNDARY_ADDR_BRANCH="http://localhost:4200" pnpm run admin:{edition}:{infra} # Example: pnpm run admin:ce:aws
|
||||
```
|
||||
|
||||
#### Desktop
|
||||
@@ -211,7 +211,7 @@ Set the env variables `test_e2e_env.sh` script output in this terminal.
|
||||
|
||||
```bash
|
||||
cd boundary-ui/e2e-tests
|
||||
yarn run desktop
|
||||
pnpm run desktop
|
||||
```
|
||||
|
||||
[Playwright documentation about running tests](https://playwright.dev/docs/running-tests).
|
||||
|
||||
+10
-10
@@ -14,16 +14,16 @@
|
||||
"lint:js:fix": "eslint . --fix",
|
||||
"format": "concurrently \"npm:format:*\" --names \"format:\"",
|
||||
"format:js": "prettier --write './**/*.{js,mjs}'",
|
||||
"admin": "yarn playwright test --config admin/playwright.config.js",
|
||||
"admin:ce:aws": "yarn run admin --grep \"(?=.*@ce)(?=.*@aws)\"",
|
||||
"admin:ce:docker": "yarn run admin --grep \"(?=.*@ce)(?=.*@docker)\"",
|
||||
"admin:ent:aws": "yarn run admin --grep \"(?=.*@ent)(?=.*@aws)\"",
|
||||
"admin:ent:docker": "yarn run admin --grep \"(?=.*@ent)(?=.*@docker)\"",
|
||||
"admin:dev:chrome": "yarn run admin --project=chromium --headed",
|
||||
"admin:dev:firefox": "yarn run admin --project=firefox --headed",
|
||||
"admin:dev:safari": "yarn run admin --project=webkit --headed",
|
||||
"desktop": "yarn workspace desktop build && yarn run desktop:dev",
|
||||
"desktop:dev": "yarn playwright test --config desktop/playwright.config.js --reporter=html"
|
||||
"admin": "pnpm playwright test --config admin/playwright.config.js",
|
||||
"admin:ce:aws": "pnpm run admin --grep \"(?=.*@ce)(?=.*@aws)\"",
|
||||
"admin:ce:docker": "pnpm run admin --grep \"(?=.*@ce)(?=.*@docker)\"",
|
||||
"admin:ent:aws": "pnpm run admin --grep \"(?=.*@ent)(?=.*@aws)\"",
|
||||
"admin:ent:docker": "pnpm run admin --grep \"(?=.*@ent)(?=.*@docker)\"",
|
||||
"admin:dev:chrome": "pnpm run admin --project=chromium --headed",
|
||||
"admin:dev:firefox": "pnpm run admin --project=firefox --headed",
|
||||
"admin:dev:safari": "pnpm run admin --project=webkit --headed",
|
||||
"desktop": "pnpm run --filter desktop build && pnpm run desktop:dev",
|
||||
"desktop:dev": "pnpm playwright test --config desktop/playwright.config.js --reporter=html"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@babel/core": "^7.26.10",
|
||||
|
||||
Reference in new issue
Block a user