Skip to content

Commit

Permalink
Fix JSX syntax after parser changes (#53)
Browse files Browse the repository at this point in the history
  • Loading branch information
Jacob Wejendorp authored Mar 17, 2022
1 parent 1c1913e commit 55a2585
Show file tree
Hide file tree
Showing 3 changed files with 55 additions and 7 deletions.
7 changes: 5 additions & 2 deletions index.js
Original file line number Diff line number Diff line change
@@ -1,8 +1,11 @@
module.exports = {
parser: '@babel/eslint-parser',
extends: ['standard', 'prettier'],
parserOptions: {
requireConfigFile: false
requireConfigFile: false,
ecmaVersion: 'latest',
ecmaFeatures: {
jsx: true,
},
},
rules: {
'standard/computed-property-even-spacing': 'off',
Expand Down
20 changes: 19 additions & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -72,5 +72,23 @@
"tradeshift",
"es6",
"es2016"
]
],
"prettier": {
"printWidth": 80,
"tabWidth": 2,
"useTabs": true,
"semi": true,
"singleQuote": true,
"quoteProps": "as-needed",
"jsxSingleQuote": false,
"trailingComma": "all",
"bracketSpacing": true,
"arrowParens": "always",
"requirePragma": false,
"insertPragma": false,
"proseWrap": "preserve",
"htmlWhitespaceSensitivity": "css",
"vueIndentScriptAndStyle": false,
"endOfLine": "lf"
}
}
35 changes: 31 additions & 4 deletions test/validate-config.js
Original file line number Diff line number Diff line change
@@ -1,16 +1,16 @@
const { ESLint } = require('eslint');
const test = require('tape');

test('load config in eslint to validate all rule syntax is correct', async function(t) {
test('load config in eslint to validate all rule syntax is correct', async function (t) {
const eslint = new ESLint({
useEslintrc: false,
baseConfig: {
extends: [
require.resolve('../'),
require.resolve('../jest'),
require.resolve('../typescript')
]
}
require.resolve('../typescript'),
],
},
});

const code = `
Expand All @@ -31,3 +31,30 @@ test('load config in eslint to validate all rule syntax is correct', async funct
t.deepEqual(resultsTS[0].messages, []);
t.end();
});

test('check for JSX support', async function (t) {
const eslint = new ESLint({
useEslintrc: false,
baseConfig: {
extends: [require.resolve('../'), require.resolve('../typescript')],
},
});

const code = `
export const AwesomeJSX = () => (
<section className="jsx-section">
woop
</section>
);
`;

const resultsJS = await eslint.lintText(code, { filePath: 'index.js' });
t.deepEqual(resultsJS[0].messages, [], 'Should parse JSX in *.js');
const resultsJSX = await eslint.lintText(code, { filePath: 'index.jsx' });
t.deepEqual(resultsJSX[0].messages, [], 'Should parse JSX in *.jsx');
// Note: typescript conventions dont allow JSX in *.ts files
const resultsTSX = await eslint.lintText(code, { filePath: 'index.tsx' });
t.deepEqual(resultsTSX[0].messages, [], 'Should parse JSX in *.tsx');

t.end();
});

0 comments on commit 55a2585

Please sign in to comment.