Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
25 commits
Select commit Hold shift + click to select a range
812c2ae
chore(sync): merge main into develop
github-actions[bot] Sep 29, 2026
79362a1
fix(manifest): map execute action commands for MV2
atldays Oct 2, 2026
a787bd2
fix(command): validate shortcuts for the target browser
atldays Oct 3, 2026
d5c90f3
fix(style)!: resolve Sass modules and resources from their source files
atldays Oct 4, 2026
8015806
fix(build): compile JSX entrypoints and components
atldays Oct 5, 2026
6c5ba71
fix(html)!: align HTML options with the tags plugin
atldays Oct 5, 2026
52d6a0f
feat(page): support entrypoint permissions
atldays Oct 5, 2026
5f01f88
fix(ci): update actions and synchronize Sass watch tests
atldays Oct 6, 2026
752f9ec
refactor(view)!: require synchronous render handlers
atldays Oct 6, 2026
70d249f
fix(manifest): preserve explicit background persistence in MV2
atldays Oct 7, 2026
e9691da
feat(offscreen): support entrypoint permissions
atldays Oct 7, 2026
764a716
fix(config): pass initial config to user callback
atldays Oct 7, 2026
060935a
fix(config)!: recalculate dependent defaults after user overrides
atldays Oct 8, 2026
972dee7
fix(manifest): keep raw fields current after builder reads
atldays Oct 8, 2026
335d575
feat(manifest)!: expose types and narrow the builder contract
atldays Oct 8, 2026
723f111
feat(entrypoint)!: restrict workspace discovery for single-page entry…
atldays Oct 9, 2026
b4d15c6
fix(transport)!: throw when a local instance is missing
atldays Oct 9, 2026
e9b920e
fix(typescript): normalize module alias separators on Windows
atldays Oct 9, 2026
08217e5
feat(popup)!: separate document titles from toolbar tooltips
atldays Oct 9, 2026
2b93d8b
build(deps): align addon-core packages on browser 0.12
atldays Oct 14, 2026
87afddf
feat(sidebar)!: separate UI labels from document titles
atldays Oct 14, 2026
7136abb
fix(deps): reduce dependency security vulnerabilities
atldays Oct 27, 2026
6393000
fix(types): install utility-types with the package
atldays Oct 27, 2026
b992c7b
fix(cli): resolve project paths and React dependencies
atldays Oct 27, 2026
885d95f
test(cli): normalize React resource paths on Windows
atldays Oct 27, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
66 changes: 33 additions & 33 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,18 +21,18 @@ on:
jobs:
compute-matrix:
name: Compute matrix
runs-on: ubuntu-latest
runs-on: ubuntu-24.04
outputs:
matrix: ${{ steps.set.outputs.matrix }}
name_suffix: ${{ steps.set.outputs.name_suffix }}
steps:
- id: set
run: |
if [[ "${{ github.event_name }}" != "workflow_call" || "${{ inputs.full }}" == "true" ]]; then
echo 'matrix={"os":["ubuntu-latest","windows-latest"],"node":[22,24]}' >> "$GITHUB_OUTPUT"
echo 'matrix={"os":["ubuntu-24.04","windows-latest"],"node":[22,24]}' >> "$GITHUB_OUTPUT"
echo 'name_suffix=(full matrix)' >> "$GITHUB_OUTPUT"
else
echo 'matrix={"os":["ubuntu-latest"],"node":[22]}' >> "$GITHUB_OUTPUT"
echo 'matrix={"os":["ubuntu-24.04"],"node":[22]}' >> "$GITHUB_OUTPUT"
echo 'name_suffix=' >> "$GITHUB_OUTPUT"
fi

Expand All @@ -47,9 +47,9 @@ jobs:
matrix: ${{ fromJSON(needs.compute-matrix.outputs.matrix) }}
steps:
- name: Checkout
uses: actions/checkout@v4
uses: actions/checkout@v7.0.1
- name: Use Node.js
uses: actions/setup-node@v4
uses: actions/setup-node@v7.0.0
with:
node-version: ${{ matrix.node }}
cache: npm
Expand All @@ -60,14 +60,14 @@ jobs:
- name: Verify test groups
run: npm run test:inventory
- name: Units with coverage (no package build)
if: matrix.os == 'ubuntu-latest' && matrix.node == 22
if: matrix.os == 'ubuntu-24.04' && matrix.node == 22
run: npm run test:run -- --selectProjects unit-node unit-dom --ci --coverage --coverageDirectory=coverage/unit
- name: Units (no package build)
if: matrix.os != 'ubuntu-latest' || matrix.node != 22
if: matrix.os != 'ubuntu-24.04' || matrix.node != 22
run: npm run test:run -- --selectProjects unit-node unit-dom --ci
- name: Upload unit coverage
if: matrix.os == 'ubuntu-latest' && matrix.node == 22
uses: actions/upload-artifact@v4
if: matrix.os == 'ubuntu-24.04' && matrix.node == 22
uses: actions/upload-artifact@v7.0.1
with:
name: coverage-unit-${{ matrix.os }}-node${{ matrix.node }}
path: coverage/unit/coverage-final.json
Expand All @@ -83,9 +83,9 @@ jobs:
matrix: ${{ fromJSON(needs.compute-matrix.outputs.matrix) }}
steps:
- name: Checkout
uses: actions/checkout@v4
uses: actions/checkout@v7.0.1
- name: Use Node.js
uses: actions/setup-node@v4
uses: actions/setup-node@v7.0.0
with:
node-version: ${{ matrix.node }}
cache: npm
Expand All @@ -94,18 +94,18 @@ jobs:
- name: Build package
run: npm run build
- name: Compiler, CLI and declaration integrations with coverage
if: matrix.os == 'ubuntu-latest' && matrix.node == 22
if: matrix.os == 'ubuntu-24.04' && matrix.node == 22
run: npm run test:run -- --selectProjects build types --ci --maxWorkers=2 --coverage --coverageDirectory=coverage/build
- name: Compiler, CLI and declaration integrations
if: matrix.os != 'ubuntu-latest' || matrix.node != 22
if: matrix.os != 'ubuntu-24.04' || matrix.node != 22
run: npm run test:run -- --selectProjects build types --ci --maxWorkers=2
- name: Override builds in isolated sessions
run: npm run test:run -- --selectProjects build --testPathPatterns=tests/integration/build/override --ci --maxWorkers=2
env:
ADNBN_OVERRIDE_BUILD_MODE: session
- name: Upload build coverage
if: matrix.os == 'ubuntu-latest' && matrix.node == 22
uses: actions/upload-artifact@v4
if: matrix.os == 'ubuntu-24.04' && matrix.node == 22
uses: actions/upload-artifact@v7.0.1
with:
name: coverage-build-${{ matrix.os }}-node${{ matrix.node }}
path: coverage/build/coverage-final.json
Expand All @@ -121,9 +121,9 @@ jobs:
matrix: ${{ fromJSON(needs.compute-matrix.outputs.matrix) }}
steps:
- name: Checkout
uses: actions/checkout@v4
uses: actions/checkout@v7.0.1
- name: Use Node.js
uses: actions/setup-node@v4
uses: actions/setup-node@v7.0.0
with:
node-version: ${{ matrix.node }}
cache: npm
Expand All @@ -135,7 +135,7 @@ jobs:
browser:
name: Browser (${{ matrix.browser }}, Node ${{ matrix.node }})
needs: compute-matrix
runs-on: ubuntu-latest
runs-on: ubuntu-24.04
permissions:
contents: read
strategy:
Expand All @@ -145,9 +145,9 @@ jobs:
browser: [chrome, firefox]
steps:
- name: Checkout
uses: actions/checkout@v4
uses: actions/checkout@v7.0.1
- name: Use Node.js
uses: actions/setup-node@v4
uses: actions/setup-node@v7.0.0
with:
node-version: ${{ matrix.node }}
cache: npm
Expand All @@ -174,7 +174,7 @@ jobs:
ADNBN_FIREFOX_BIN: ${{ steps.firefox.outputs.firefox-path }}
- name: Upload browser startup timings
if: always()
uses: actions/upload-artifact@v4
uses: actions/upload-artifact@v7.0.1
with:
name: browser-startup-${{ matrix.browser }}-node-${{ matrix.node }}
path: .cache/integration/browser-startup.json
Expand All @@ -183,45 +183,45 @@ jobs:
retention-days: 7

coverage:
name: Coverage (ubuntu-latest, Node 22)
name: Coverage (ubuntu-24.04, Node 22)
needs: [compute-matrix, unit, build]
runs-on: ubuntu-latest
runs-on: ubuntu-24.04
permissions:
contents: read
steps:
- name: Checkout
uses: actions/checkout@v4
uses: actions/checkout@v7.0.1
- name: Use Node.js
uses: actions/setup-node@v4
uses: actions/setup-node@v7.0.0
with:
node-version: 22
cache: npm
- name: Install dependencies
run: npm ci
- name: Download unit coverage
uses: actions/download-artifact@v4
uses: actions/download-artifact@v8.0.1
with:
name: coverage-unit-ubuntu-latest-node22
name: coverage-unit-ubuntu-24.04-node22
path: coverage/unit
- name: Download build coverage
uses: actions/download-artifact@v4
uses: actions/download-artifact@v8.0.1
with:
name: coverage-build-ubuntu-latest-node22
name: coverage-build-ubuntu-24.04-node22
path: coverage/build
- name: Merge source coverage from both groups
run: node scripts/merge-coverage.mjs coverage/unit/coverage-final.json coverage/build/coverage-final.json
- name: Upload coverage
uses: actions/upload-artifact@v4
uses: actions/upload-artifact@v7.0.1
with:
name: coverage-ubuntu-latest-node22
name: coverage-ubuntu-24.04-node22
path: coverage/merged

# Keep the existing required check names while the work runs in independent jobs.
build-and-test:
name: Test and Build (${{ matrix.os }}, Node ${{ matrix.node }}) ${{ needs.compute-matrix.outputs.name_suffix }}
name: Test and Build (${{ matrix.os == 'ubuntu-24.04' && 'ubuntu-latest' || matrix.os }}, Node ${{ matrix.node }}) ${{ needs.compute-matrix.outputs.name_suffix }}
if: ${{ always() && needs.compute-matrix.result == 'success' }}
needs: [compute-matrix, unit, build, fixtures, browser, coverage]
runs-on: ubuntu-latest
runs-on: ubuntu-24.04
strategy:
fail-fast: false
matrix: ${{ fromJSON(needs.compute-matrix.outputs.matrix) }}
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/main-pr.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,11 +12,11 @@ permissions:
jobs:
source-policy:
name: Main PR source (develop only)
runs-on: ubuntu-latest
runs-on: ubuntu-24.04
timeout-minutes: 5
steps:
- name: Checkout trusted policy
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
ref: ${{ github.workflow_sha }}
persist-credentials: false
Expand Down
10 changes: 5 additions & 5 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -29,12 +29,12 @@ jobs:
if: >-
github.ref == 'refs/heads/main' &&
github.actor != format('{0}[bot]', vars.RELEASE_APP_SLUG)
runs-on: ubuntu-latest
runs-on: ubuntu-24.04
outputs:
should_release: ${{ steps.policy.outputs.should_release }}
steps:
- name: Checkout trusted workflow revision
uses: actions/checkout@v4
uses: actions/checkout@v7.0.1
with:
ref: ${{ github.workflow_sha }}
persist-credentials: false
Expand All @@ -55,7 +55,7 @@ jobs:

release:
name: Release & Publish
runs-on: ubuntu-latest
runs-on: ubuntu-24.04
needs: [policy, ci]
if: needs.policy.outputs.should_release == 'true'
environment: release
Expand All @@ -73,14 +73,14 @@ jobs:
permission-contents: write

- name: Checkout repository
uses: actions/checkout@v4
uses: actions/checkout@v7.0.1
with:
fetch-depth: 0
fetch-tags: true
token: ${{ steps.release-app-token.outputs.token }}

- name: Use Node.js
uses: actions/setup-node@v4
uses: actions/setup-node@v7.0.0
with:
node-version: 22
cache: 'npm'
Expand Down
2 changes: 1 addition & 1 deletion .prettierignore
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,6 @@ dist/
/build/
addon/
src/cli/entrypoint/file/tests/fixtures/
src/cli/plugins/style/tests/fixtures/
src/cli/bundler/styles/tests/fixtures/
tests/integration/build/style/fixtures/
CHANGELOG.md
2 changes: 2 additions & 0 deletions jest.config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,8 @@ const shared: Config = {
modulePathIgnorePatterns: ["<rootDir>/.cache/"],
resolver: "<rootDir>/tests/raw-module-resolver.cjs",
moduleNameMapper: {
"^\\.\\./\\.\\./bundler/loaders/resolve-style-urls$":
"<rootDir>/tests/integration/build/style/resolve-style-urls-loader.cjs",
"^#adnbn/(.*)$": "<rootDir>/src/virtual/$1.ts",
"^@cli/(.*)$": "<rootDir>/src/cli/$1",
"^@entry/(.*)$": "<rootDir>/src/entry/$1",
Expand Down
Loading
Loading