Skip to content

Use import attributes for importing JSON#6393

Merged
lukastaegert merged 2 commits into
rollup:masterfrom
selfisekai:esbuildable
Jun 19, 2026
Merged

Use import attributes for importing JSON#6393
lukastaegert merged 2 commits into
rollup:masterfrom
selfisekai:esbuildable

Conversation

@selfisekai

Copy link
Copy Markdown
Contributor

This PR contains:

  • bugfix
  • feature
  • refactor
  • documentation
  • other

Are tests included?

  • yes (bugfixes and features will not be merged without tests)
  • no

Breaking Changes?

  • yes (breaking changes will not be merged unless absolutely necessary)
  • no

List any relevant issue numbers:

Description

Use import with { type: "json" } for importing JSON files. This is not required for rollup to be built by rollup, but allows to also build rollup with esbuild instead.

@vercel

vercel Bot commented May 27, 2026

Copy link
Copy Markdown

@selfisekai is attempting to deploy a commit to the rollup-js Team on Vercel.

A member of the Team first needs to authorize it.

@lukastaegert lukastaegert left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Initially, I did not implement this as this would have added the entire package.json to the bundle. But as we now have object property tree-shaking, this is no longer an issue, I double-checked that this approach would just include an object { version: "<version>" }, which is fine for me.
You should probably address my comment, though, if you want full support for other build tools. Admittedly at some point, we might also add proper JSON support to rollup.

Comment thread src/browser-entry.ts Outdated
Comment thread src/node-entry.ts Outdated
@vercel

vercel Bot commented Jun 4, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
rollup Ready Ready Preview, Comment Jun 19, 2026 10:41am

Request Review

@codecov

codecov Bot commented Jun 4, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 80.00000% with 1 line in your changes missing coverage. Please review.
✅ Project coverage is 98.78%. Comparing base (dfac590) to head (70536a8).
⚠️ Report is 1 commits behind head on master.

Files with missing lines Patch % Lines
cli/cli.ts 0.00% 1 Missing ⚠️
Additional details and impacted files
@@           Coverage Diff           @@
##           master    #6393   +/-   ##
=======================================
  Coverage   98.78%   98.78%           
=======================================
  Files         274      275    +1     
  Lines       10806    10810    +4     
  Branches     2882     2882           
=======================================
+ Hits        10675    10679    +4     
  Misses         89       89           
  Partials       42       42           

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@lukastaegert lukastaegert left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I took the liberty of adding my changes myself as this should not break anything and there is no need to leave it lying around.

@lukastaegert lukastaegert disabled auto-merge June 19, 2026 11:23
@lukastaegert lukastaegert merged commit 532bd0a into rollup:master Jun 19, 2026
46 of 47 checks passed
@github-actions

Copy link
Copy Markdown

This PR has been released as part of rollup@4.62.1. You can test it via npm install rollup.

bjw-s added a commit to bjw-s-labs/action-changed-files that referenced this pull request Jun 28, 2026
This PR contains the following updates:

| Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) |
|---|---|---|---|
| [@rollup/rollup-linux-x64-gnu](https://rollupjs.org/) ([source](https://github.com/rollup/rollup)) | [`4.62.0` → `4.62.2`](https://renovatebot.com/diffs/npm/@rollup%2frollup-linux-x64-gnu/4.62.0/4.62.2) | ![age](https://developer.mend.io/api/mc/badges/age/npm/@rollup%2frollup-linux-x64-gnu/4.62.2?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@rollup%2frollup-linux-x64-gnu/4.62.0/4.62.2?slim=true) |
| [@typescript-eslint/eslint-plugin](https://typescript-eslint.io/packages/eslint-plugin) ([source](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin)) | [`8.61.1` → `8.62.0`](https://renovatebot.com/diffs/npm/@typescript-eslint%2feslint-plugin/8.61.1/8.62.0) | ![age](https://developer.mend.io/api/mc/badges/age/npm/@typescript-eslint%2feslint-plugin/8.62.0?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@typescript-eslint%2feslint-plugin/8.61.1/8.62.0?slim=true) |
| [@typescript-eslint/parser](https://typescript-eslint.io/packages/parser) ([source](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser)) | [`8.61.1` → `8.62.0`](https://renovatebot.com/diffs/npm/@typescript-eslint%2fparser/8.61.1/8.62.0) | ![age](https://developer.mend.io/api/mc/badges/age/npm/@typescript-eslint%2fparser/8.62.0?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@typescript-eslint%2fparser/8.61.1/8.62.0?slim=true) |
| [eslint](https://eslint.org) ([source](https://github.com/eslint/eslint)) | [`10.5.0` → `10.6.0`](https://renovatebot.com/diffs/npm/eslint/10.5.0/10.6.0) | ![age](https://developer.mend.io/api/mc/badges/age/npm/eslint/10.6.0?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/eslint/10.5.0/10.6.0?slim=true) |
| [eslint-plugin-jest](https://github.com/jest-community/eslint-plugin-jest) | [`29.15.2` → `29.15.3`](https://renovatebot.com/diffs/npm/eslint-plugin-jest/29.15.2/29.15.3) | ![age](https://developer.mend.io/api/mc/badges/age/npm/eslint-plugin-jest/29.15.3?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/eslint-plugin-jest/29.15.2/29.15.3?slim=true) |
| [globals](https://github.com/sindresorhus/globals) | [`17.6.0` → `17.7.0`](https://renovatebot.com/diffs/npm/globals/17.6.0/17.7.0) | ![age](https://developer.mend.io/api/mc/badges/age/npm/globals/17.7.0?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/globals/17.6.0/17.7.0?slim=true) |
| [prettier](https://prettier.io) ([source](https://github.com/prettier/prettier)) | [`3.8.4` → `3.9.1`](https://renovatebot.com/diffs/npm/prettier/3.8.4/3.9.1) | ![age](https://developer.mend.io/api/mc/badges/age/npm/prettier/3.9.1?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/prettier/3.8.4/3.9.1?slim=true) |
| [rollup](https://rollupjs.org/) ([source](https://github.com/rollup/rollup)) | [`4.62.0` → `4.62.2`](https://renovatebot.com/diffs/npm/rollup/4.62.0/4.62.2) | ![age](https://developer.mend.io/api/mc/badges/age/npm/rollup/4.62.2?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/rollup/4.62.0/4.62.2?slim=true) |

---

### Release Notes

<details>
<summary>rollup/rollup (@&#8203;rollup/rollup-linux-x64-gnu)</summary>

### [`v4.62.2`](https://github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#4622)

[Compare Source](rollup/rollup@v4.62.1...v4.62.2)

*2026-06-19*

##### Bug Fixes

- Do not add spurious side-effect-free external imports to chunks when using minChunkSize ([#&#8203;6411](rollup/rollup#6411))

##### Pull Requests

- [#&#8203;6411](rollup/rollup#6411): Skip side-effect-free external imports when hoisting is disabled ([@&#8203;morgan-coded](https://github.com/morgan-coded), [@&#8203;lukastaegert](https://github.com/lukastaegert))
- [#&#8203;6416](rollup/rollup#6416): refactor(rust/parser\_ast): extract property AstConverter write buffer kind logic to new method ([@&#8203;fabianbernhart](https://github.com/fabianbernhart), [@&#8203;lukastaegert](https://github.com/lukastaegert))

### [`v4.62.1`](https://github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#4621)

[Compare Source](rollup/rollup@v4.62.0...v4.62.1)

*2026-06-19*

##### Bug Fixes

- Preserve multipart file extensions when deconflicting output chunks ([#&#8203;6408](rollup/rollup#6408))
- Fix an issue where getLogFilter would match additional logs ([#&#8203;6415](rollup/rollup#6415))

##### Pull Requests

- [#&#8203;6393](rollup/rollup#6393): Use import attributes for importing JSON ([@&#8203;selfisekai](https://github.com/selfisekai), [@&#8203;lukastaegert](https://github.com/lukastaegert))
- [#&#8203;6408](rollup/rollup#6408): fix: insert conflict numbers before first extension in multi-extension filenames ([@&#8203;LeSingh1](https://github.com/LeSingh1), [@&#8203;lukastaegert](https://github.com/lukastaegert))
- [#&#8203;6415](rollup/rollup#6415): fix: advance value past wildcard prefix before suffix check in getLogFilter ([@&#8203;JSap0914](https://github.com/JSap0914), [@&#8203;lukastaegert](https://github.com/lukastaegert))
- [#&#8203;6417](rollup/rollup#6417): chore(deps): update msys2/setup-msys2 digest to [`66cd2cc`](rollup/rollup@66cd2cc) ([@&#8203;renovate](https://github.com/renovate)\[bot])
- [#&#8203;6418](rollup/rollup#6418): fix(deps): update minor/patch updates ([@&#8203;renovate](https://github.com/renovate)\[bot], [@&#8203;lukastaegert](https://github.com/lukastaegert))
- [#&#8203;6419](rollup/rollup#6419): chore(deps): update dependency eslint-plugin-unicorn to v66 ([@&#8203;renovate](https://github.com/renovate)\[bot])
- [#&#8203;6420](rollup/rollup#6420): chore(deps): lock file maintenance minor/patch updates ([@&#8203;renovate](https://github.com/renovate)\[bot], [@&#8203;lukastaegert](https://github.com/lukastaegert))

</details>

<details>
<summary>typescript-eslint/typescript-eslint (@&#8203;typescript-eslint/eslint-plugin)</summary>

### [`v8.62.0`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#8620-2026-06-22)

[Compare Source](typescript-eslint/typescript-eslint@v8.61.1...v8.62.0)

##### 🚀 Features

- remove redundant package.json "files" ([#&#8203;12444](typescript-eslint/typescript-eslint#12444))

##### ❤️ Thank You

- Kirk Waiblinger [@&#8203;kirkwaiblinger](https://github.com/kirkwaiblinger)

See [GitHub Releases](https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.62.0) for more information.

You can read about our [versioning strategy](https://typescript-eslint.io/users/versioning) and [releases](https://typescript-eslint.io/users/releases) on our website.

</details>

<details>
<summary>typescript-eslint/typescript-eslint (@&#8203;typescript-eslint/parser)</summary>

### [`v8.62.0`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/parser/CHANGELOG.md#8620-2026-06-22)

[Compare Source](typescript-eslint/typescript-eslint@v8.61.1...v8.62.0)

##### 🚀 Features

- remove redundant package.json "files" ([#&#8203;12444](typescript-eslint/typescript-eslint#12444))

##### ❤️ Thank You

- Kirk Waiblinger [@&#8203;kirkwaiblinger](https://github.com/kirkwaiblinger)

See [GitHub Releases](https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.62.0) for more information.

You can read about our [versioning strategy](https://typescript-eslint.io/users/versioning) and [releases](https://typescript-eslint.io/users/releases) on our website.

</details>

<details>
<summary>eslint/eslint (eslint)</summary>

### [`v10.6.0`](https://github.com/eslint/eslint/releases/tag/v10.6.0)

[Compare Source](eslint/eslint@v10.5.0...v10.6.0)

#### Features

- [`b1f9106`](eslint/eslint@b1f9106) feat: detect Symbol() and BigInt() in no-constant-binary-expression ([#&#8203;20981](eslint/eslint#20981)) (Taejin Kim)
- [`f291007`](eslint/eslint@f291007) feat: add checkRelationalComparisons to no-constant-binary-expression ([#&#8203;20948](eslint/eslint#20948)) (sethamus)

#### Bug Fixes

- [`6b05784`](eslint/eslint@6b05784) fix: prefer-exponentiation-operator invalid autofix at statement start ([#&#8203;20997](eslint/eslint#20997)) (Milos Djermanovic)
- [`bb9eb2a`](eslint/eslint@bb9eb2a) fix: account for shadowed `Boolean` in `no-extra-boolean-cast` ([#&#8203;21013](eslint/eslint#21013)) (den$)
- [`8fd8741`](eslint/eslint@8fd8741) fix: don't report shadowed undefined in `radix` rule ([#&#8203;21011](eslint/eslint#21011)) (Pixel)
- [`5784980`](eslint/eslint@5784980) fix: don't report shadowed undefined in no-throw-literal ([#&#8203;21010](eslint/eslint#21010)) (Pixel)
- [`9cd1e6d`](eslint/eslint@9cd1e6d) fix: suppress invalid class suggestion in no-promise-executor-return ([#&#8203;21008](eslint/eslint#21008)) (Pixel)
- [`d4eb2dc`](eslint/eslint@d4eb2dc) fix: don't report shadowed undefined in prefer-promise-reject-errors ([#&#8203;21006](eslint/eslint#21006)) (Pixel)
- [`2360464`](eslint/eslint@2360464) fix: prefer-promise-reject-errors false positives for shadowed Promise ([#&#8203;21003](eslint/eslint#21003)) (den$)
- [`63d52d2`](eslint/eslint@63d52d2) fix: restore max-classes-per-file report range ([#&#8203;21002](eslint/eslint#21002)) (Pixel)
- [`7feaff0`](eslint/eslint@7feaff0) fix: callback detection logic for IIFEs in max-nested-callbacks ([#&#8203;20979](eslint/eslint#20979)) (fnx)
- [`399a2ec`](eslint/eslint@399a2ec) fix: don't report inner non-callbacks in `max-nested-callbacks` ([#&#8203;20995](eslint/eslint#20995)) (Milos Djermanovic)

#### Documentation

- [`a83683d`](eslint/eslint@a83683d) docs: Update README (GitHub Actions Bot)
- [`f5449f9`](eslint/eslint@f5449f9) docs: document userland patterns for global assertionOptions in RuleT… ([#&#8203;20986](eslint/eslint#20986)) (playgirl)
- [`bea49f7`](eslint/eslint@bea49f7) docs: Update README (GitHub Actions Bot)
- [`e5f70f9`](eslint/eslint@e5f70f9) docs: update code-path diagrams ([#&#8203;20984](eslint/eslint#20984)) (Tanuj Kanti)
- [`8890c2d`](eslint/eslint@8890c2d) docs: add TypeScript config guidance for MCP server ([#&#8203;20796](eslint/eslint#20796)) (Pierluigi Lenoci)
- [`3eb3d9b`](eslint/eslint@3eb3d9b) docs: Update README (GitHub Actions Bot)
- [`c5bb59c`](eslint/eslint@c5bb59c) docs: Update README (GitHub Actions Bot)
- [`eb3c97c`](eslint/eslint@eb3c97c) docs: fix grammar in prefer-const rule description ([#&#8203;20983](eslint/eslint#20983)) (lumir)

#### Chores

- [`6a42034`](eslint/eslint@6a42034) ci: run ecosystem tests on main branch ([#&#8203;20891](eslint/eslint#20891)) (sethamus)
- [`3dbacdb`](eslint/eslint@3dbacdb) ci: bump actions/checkout from 6 to 7 ([#&#8203;21014](eslint/eslint#21014)) (dependabot\[bot])
- [`c3abfca`](eslint/eslint@c3abfca) chore: correct JSDoc param types in html formatter ([#&#8203;21018](eslint/eslint#21018)) (Minseon Kim)
- [`a832320`](eslint/eslint@a832320) ci: split ecosystem tests into separate jobs ([#&#8203;21001](eslint/eslint#21001)) (xbinaryx)
- [`27166e7`](eslint/eslint@27166e7) chore: update ecosystem plugins ([#&#8203;21005](eslint/eslint#21005)) (ESLint Bot)
- [`865d76e`](eslint/eslint@865d76e) ci: bump pnpm/action-setup from 6.0.8 to 6.0.9 ([#&#8203;20989](eslint/eslint#20989)) (dependabot\[bot])
- [`27a88c9`](eslint/eslint@27a88c9) chore: update dependency markdown-it to v14 in root ([#&#8203;20994](eslint/eslint#20994)) (Milos Djermanovic)
- [`970cea6`](eslint/eslint@970cea6) chore: update dependency markdown-it to v14 ([#&#8203;20993](eslint/eslint#20993)) (Milos Djermanovic)
- [`b482120`](eslint/eslint@b482120) chore: update dependency prettier to v3.8.4 ([#&#8203;20990](eslint/eslint#20990)) (renovate\[bot])
- [`6993fb3`](eslint/eslint@6993fb3) chore: update ecosystem plugins ([#&#8203;20985](eslint/eslint#20985)) (ESLint Bot)

</details>

<details>
<summary>jest-community/eslint-plugin-jest (eslint-plugin-jest)</summary>

### [`v29.15.3`](https://github.com/jest-community/eslint-plugin-jest/blob/HEAD/CHANGELOG.md#29153-2026-06-26)

[Compare Source](jest-community/eslint-plugin-jest@v29.15.2...v29.15.3)

##### Bug Fixes

- **no-export:** treat describe blocks as test files ([#&#8203;1978](jest-community/eslint-plugin-jest#1978)) ([70568b0](jest-community/eslint-plugin-jest@70568b0))

</details>

<details>
<summary>sindresorhus/globals (globals)</summary>

### [`v17.7.0`](https://github.com/sindresorhus/globals/releases/tag/v17.7.0)

[Compare Source](sindresorhus/globals@v17.6.0...v17.7.0)

- Update globals (2026-06-22) ([#&#8203;345](sindresorhus/globals#345))  [`33b75f9`](sindresorhus/globals@33b75f9)

***

</details>

<details>
<summary>prettier/prettier (prettier)</summary>

### [`v3.9.1`](https://github.com/prettier/prettier/blob/HEAD/CHANGELOG.md#391)

[Compare Source](prettier/prettier@3.9.0...3.9.1)

[diff](prettier/prettier@3.9.0...3.9.1)

##### CLI: Fix ignored file has been cached incorrectly ([#&#8203;19483](prettier/prettier#19483) by [@&#8203;kovsu](https://github.com/kovsu))

Bug details [#&#8203;18016](prettier/prettier#18016)

### [`v3.9.0`](https://github.com/prettier/prettier/blob/HEAD/CHANGELOG.md#390)

[Compare Source](prettier/prettier@3.8.5...3.9.0)

[diff](prettier/prettier@3.8.5...3.9.0)

🔗 [Release Notes](https://prettier.io/blog/2026/06/27/3.9.0)

### [`v3.8.5`](https://github.com/prettier/prettier/blob/HEAD/CHANGELOG.md#385)

[Compare Source](prettier/prettier@3.8.4...3.8.5)

[diff](prettier/prettier@3.8.4...3.8.5)

##### Flow: Support `readonly` as a variance annotation ([#&#8203;19022](prettier/prettier#19022) by [@&#8203;marcoww6](https://github.com/marcoww6))

Flow now accepts `readonly` as a property variance annotation, equivalent to `+` (covariant/read-only).

<!-- prettier-ignore -->

```jsx
// Input
type T = {
  readonly foo: string,
};

// Prettier 3.8.4
SyntaxError

// Prettier 3.8.5
type T = {
  readonly foo: string,
};
```

</details>

---

### Configuration

📅 **Schedule**: (in timezone Europe/Amsterdam)

- Branch creation
  - "before 6am on monday"
- Automerge
  - At any time (no schedule defined)

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](undefined) if that's undesired.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Mend Renovate](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4yMjIuMSIsInVwZGF0ZWRJblZlciI6IjQzLjIzNC4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJ0eXBlL21pbm9yIiwidHlwZS9wYXRjaCJdfQ==-->

Co-authored-by: Bernd Schorgers <me@bjw-s.dev>
Co-authored-by: lab-assistant <lab-assistant@git.bjw-s.dev>
Reviewed-on: https://git.bjw-s.dev/bjw-s/action-changed-files/pulls/56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants