Skip to content

jsx-filename-extension errors on "executeOnText" #662

Closed
@ljharb

Description

@ljharb

When using the JS API for eslint, I'm getting jsx-filename-extension errors.

import { CLIEngine } from 'eslint';
const cli = new CLIEngine({
  useEslintrc: false,
  plugins: ['react'],
  parserOptions: {
    ecmaFeatures: {
      jsx: true,
    },
  },
  ecmaFeatures: {
    jsx: true
  },
  rules: {
    'react/jsx-filename-extension': 2,
  },
});

const { results } = cli.executeOnText(`
var React = require('react');
module.exports = function SFC() { return <div />; };
`);

I would expect results[0].messages to be an empty array, since results[0].filePath is <text>.

However, I get:

{ filePath: '<text>',
  messages: 
   [ { ruleId: 'react/jsx-filename-extension',
       severity: 2,
       message: 'JSX not allowed in files with extension \'\'',
       line: 3,
       column: 42,
       nodeType: 'JSXElement',
       source: 'module.exports = function SFC() { return <div />; };' } ],
  errorCount: 1,
  warningCount: 0 }

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions