Skip to content

Bug: Parse error with empty files #249

Description

@HolgerJeromin

Environment

ESLint version: v9.39.4
@eslint/json version: 2.0.0
Node version: v24.16.0
Operating System: Windows 11

Which language are you using?

json

What did you do?

Configuration
import { defineConfig } from 'eslint/config';
import json from '@eslint/json';
export default defineConfig([
    {
        files: ['**/*.json'],
        ignores: ['**/tsconfig*.json', '**/package-lock.json', '**/.vscode/**'],
        plugins: { json },
        language: 'json/json',
        extends: ['json/recommended'],
    },
]);

I have some empty files in my repo with the extension .json.

What did you expect to happen?

A clean understandable error message would be nice.

Even better: an option like allow-empty-files.

What actually happened?

> npx eslint --debug .\emptyFile.json
  eslint:cli CLI args: [ '--debug', '.\\emptyFile.json' ] +0ms
  eslint:cli Using flat config? true +2ms
  eslint:cli Running on files +8ms
  eslint:eslint Using config loader LegacyConfigLoader +0ms
  eslint:eslint Using file patterns: .\emptyFile.json +1ms
  eslint:eslint Deleting cache file at C:\git\myProj\.eslintcache +0ms
  eslint:config-loader Calculating config for file C:\git\myProj\emptyFile.json +0ms
  eslint:config-loader Searching for eslint.config.js +0ms
  eslint:config-loader [Legacy]: Calculating config for C:\git\myProj\emptyFile.json +3ms
  eslint:config-loader [Legacy]: Using config file C:\git\myProj\eslint.config.mjs and base path C:\git\myProj +1ms
  eslint:config-loader Calculating config array from config file C:\git\myProj\eslint.config.mjs and base path C:\git\myProj +0ms
  eslint:config-loader Loading config file C:\git\myProj\eslint.config.mjs +2ms
  eslint:config-loader Loading config from C:\git\myProj\eslint.config.mjs +1ms
  eslint:config-loader Config file URL is file:///C:/git/myProj/eslint.config.mjs +0ms
  eslint:config-loader Config file C:\git\myProj\eslint.config.mjs is not empty +51ms
  eslint:eslint 1 file(s) found in 64 ms +64ms
  eslint:eslint Linting in single-thread mode. +1ms
  eslint:config-loader Looking up cached config for C:\git\myProj\emptyFile.json +2ms
  eslint:config-loader [Legacy]: Looking up cached config for C:\git\myProj +0ms
  eslint:eslint-helpers File "C:\git\myProj\emptyFile.json" read in 5 ms +0ms
  eslint:linter Linting code for C:\git\myProj\emptyFile.json (pass 1) +0ms
  eslint:linter Verify +0ms
  eslint:linter With flat config: C:\git\myProj\emptyFile.json +1ms
  eslint:linter Generating fixed text for C:\git\myProj\emptyFile.json (pass 1) +4ms
  eslint:source-code-fixer Applying fixes +0ms
  eslint:source-code-fixer shouldFix parameter was false, not attempting fixes +0ms
  eslint:eslint-helpers File "C:\git\myProj\emptyFile.json" linted in 7 ms +9ms

C:\git\myProj\emptyFile.json
  0:0  error  Parsing error: Cannot read properties of undefined

✖ 1 problem (1 error, 0 warnings)

Link to Minimal Reproducible Example

trivial

Participation

  • I am willing to submit a pull request for this issue.

AI acknowledgment

  • I did not use AI to generate this issue report.
  • (If the above is not checked) I have reviewed the AI-generated content before submitting.

Additional comments

No response

Metadata

Metadata

Assignees

Labels

acceptedbugSomething isn't workingrepro:yesIssues with a reproducible example

Type

No type

Projects

Status
Implementing

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions