@alza54/eslint-config-vue
Version:
Strict shareable config for ESLint and TypeScript that I use for my projects
42 lines (33 loc) • 1.03 kB
JavaScript
import fs from 'fs';
import path from 'path';
import eslint from 'eslint';
const defaultConfig = require('..');
const packagePath = path.resolve(__dirname, '..');
const readFixtureFile = fixtureName => {
const fixturePath = `${packagePath}/tests/fixtures/${fixtureName}`;
return String(fs.readFileSync(fixturePath));
};
function eslintConfigTester (fixtureName) {
// noinspection JSCheckFunctionSignatures
const cli = new eslint.CLIEngine({
'cwd': packagePath,
'baseConfig': {
...defaultConfig,
'root': true,
},
'useEslintrc': false,
});
return cli.executeOnText(readFixtureFile(fixtureName));
}
describe('correct fixture', () => {
test('correct fixture', () => {
expect.hasAssertions();
const lintResult = eslintConfigTester('Correct.vue');
expect(lintResult.errorCount).toBe(0);
});
test('incorrect fixture', () => {
expect.hasAssertions();
const lintResult = eslintConfigTester('Incorrect.vue');
expect(lintResult.errorCount).toBe(2);
});
});