Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions .depcheckrc.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,10 @@ ignores:
- verdaccio-memory
# ok with using implicit dev dep for now (part of verdaccio)
- '@verdaccio/config'
# needed for type references from verdaccio (not listed in deps)
- '@verdaccio/types'
# not detected in script
- cross-env

ignore-patterns:
# managed separately
Expand Down
3 changes: 0 additions & 3 deletions .eslintignore

This file was deleted.

151 changes: 0 additions & 151 deletions .eslintrc.js

This file was deleted.

2 changes: 1 addition & 1 deletion .github/workflows/docsite.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ jobs:
- name: Check out code
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6

# The docs have a separate installation using Node 22 due to needing newer dependencies
# The docs have a separate installation using Node 22
- name: Install Node.js
uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6
with:
Expand Down
33 changes: 15 additions & 18 deletions .github/workflows/pr.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,12 @@ name: PR

on:
pull_request:
branches: [main]
branches: [main, next]
push:
branches: [main]
branches: [main, next]

env:
npmVersion: 10

concurrency:
# For PRs, use the ref (branch) in the concurrency group so that new pushes cancel any old runs.
Expand All @@ -23,15 +26,8 @@ jobs:
strategy:
matrix:
os: [ubuntu-latest, windows-latest]
npm: [8]
include:
- os: ubuntu-latest
# npm 6 and 8 have slightly different behavior with verdaccio in publishing tests.
# It's unclear if this translates to meaningful differences in behavior in actual scenarios,
# but test against both versions to be safe. (Only do this on the ubuntu build for speed.)
npm: 6

name: build (${{ matrix.os }}, npm ${{ matrix.npm }})
name: build (${{ matrix.os }})

runs-on: ${{ matrix.os }}

Expand All @@ -45,11 +41,11 @@ jobs:
cache: yarn
node-version-file: .nvmrc

# Guarantee a predictable version of npm for the first round of tests
- name: Install npm@${{ matrix.npm }}
run: npm install --global npm@${{ matrix.npm }}
# Guarantee a predictable version of npm
- name: Install npm@${{ env.npmVersion }}
run: npm install --global npm@${{ env.npmVersion }}

- run: yarn --frozen-lockfile
- run: yarn --immutable

- run: yarn build

Expand All @@ -64,9 +60,10 @@ jobs:

- run: yarn test:func

- run: yarn test:e2e
- name: yarn test:e2e (npm ${{ env.npmVersion }})
run: yarn test:e2e

# The docs have a separate installation using Node 22 due to needing newer dependencies
# The docs have a separate installation using Node 22
docs:
name: build docs

Expand All @@ -76,11 +73,11 @@ jobs:
- name: Check out code
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6

- name: Install Node.js 22
- name: Install Node.js
uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6
with:
cache: yarn
node-version: 24
node-version-file: .nvmrc

- run: yarn --immutable
working-directory: ./docs
Expand Down
10 changes: 5 additions & 5 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ on:
workflow_dispatch:

env:
npmVersion: 8
npmVersion: 10

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
Expand All @@ -31,11 +31,11 @@ jobs:
with:
node-version-file: .nvmrc

# Guarantee a predictable version of npm (the PR build tests against both 6 and 8)
- name: Install package managers
run: npm install --global npm@${{ env.npmVersion }} yarn@1
# Guarantee a predictable version of npm
- name: Install npm@${{ env.npmVersion }}
run: npm install --global npm@${{ env.npmVersion }}

- run: yarn --frozen-lockfile
- run: yarn --immutable

- run: yarn build

Expand Down
12 changes: 7 additions & 5 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -8,11 +8,13 @@ lib/
package-lock.json
target
.claude/settings.local.json
# ignore when switching between yarn 1/4 branches
/.yarn

docs/.vuepress/.cache
docs/.vuepress/.temp
docs/.yarn/*
!docs/.yarn/patches/
!docs/.yarn/releases/
docs/.yarn

.yarn/*
!.yarn/patches/
!.yarn/releases/
# Ignore this in case a local .npmrc is added with a token for publishing
.npmrc
3 changes: 0 additions & 3 deletions .husky/pre-commit
Original file line number Diff line number Diff line change
@@ -1,4 +1 @@
#!/usr/bin/env sh
. "$(dirname -- "$0")/_/husky.sh"

yarn lint-staged
2 changes: 1 addition & 1 deletion .nvmrc
Original file line number Diff line number Diff line change
@@ -1 +1 @@
14
22
11 changes: 3 additions & 8 deletions .prettierignore
Original file line number Diff line number Diff line change
@@ -1,20 +1,15 @@
*.log
# As of version 3, Prettier respects .gitignore in addition to this file.

.yarn/
*.snap
*.styl
*.svg
.*ignore
.husky/
.DS_Store
.nojekyll
.nvmrc
docs/.vuepress/dist/
docs/.vuepress/.cache/
docs/.vuepress/.temp/
docs/.yarn
/change/
/CHANGELOG.*
/lib/
LICENSE
node_modules/
SECURITY.md
yarn.lock
18 changes: 13 additions & 5 deletions .vscode/launch.json
Original file line number Diff line number Diff line change
Expand Up @@ -10,14 +10,20 @@
"name": "Debug current open test",
"runtimeExecutable": "npm",
"cwd": "${workspaceFolder}",
"runtimeArgs": ["run-script", "test"],
// In a CJS project ("type": "module" absent from package.json), Jest must be run with
// --experimental-vm-modules to allow dynamic imports of ESM packages.
// When running from the CLI we provide this with cross-env in the "test" script, but that
// approach causes problems with debugging (VS Code sets node options for debugging, which
// must be preserved). So here we use a script that runs jest directly and passes extra
// options via environment variable.
"runtimeArgs": ["run-script", "test:vscode"],
"args": ["--", "--runInBand", "--watch", "--testTimeout=1000000", "${file}"],
"sourceMaps": true,
"outputCapture": "std",
"console": "integratedTerminal",
// Debug with Node 14 via nvm.
// On Windows, you might have to change this to a specific version.
"runtimeVersion": "14"
"env": {
"NODE_OPTIONS": "--experimental-vm-modules"
}
},
{
"type": "node",
Expand Down Expand Up @@ -57,7 +63,9 @@
"${jest.testFile}"
],
"console": "integratedTerminal",
"runtimeVersion": "14"
"env": {
"NODE_OPTIONS": "--experimental-vm-modules"
}
}
]
}
File renamed without changes.
6 changes: 6 additions & 0 deletions .yarnrc.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
nodeLinker: node-modules

# Prefer reusing existing dep ranges if possible, rather than adding duplicates
preferReuse: true

yarnPath: .yarn/releases/yarn-4.13.0.cjs
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -108,7 +108,7 @@ beachball publish -r http://localhost:4873 -t beta

### Overriding concurrency

In large monorepos, the process of fetching versions for sync or before publishing can be time-consuming due to the high number of packages. To optimize performance, you can override the concurrency for fetching from the registry by setting `options.npmReadConcurrency` (default: 5). You can also increase concurrency for hook calls and publish operations via `options.concurrency` (default: 1; respects topological order).
In large monorepos, the process of fetching versions for sync or before publishing can be time-consuming due to the high number of packages. To optimize performance, you can override the concurrency for fetching from the registry by setting `options.npmReadConcurrency` (default: 10). You can also increase concurrency for hook calls and publish operations via `options.concurrency` (default: 1; respects topological order).

### API surface

Expand Down
Loading
Loading