Skip to content
Merged
Show file tree
Hide file tree
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
.idea
.nyc_output
coverage
.vscode
node_modules/
npm-debug.log
Expand Down
3 changes: 1 addition & 2 deletions eslint.config.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@

const js = require('@eslint/js');
const { FlatCompat } = require('@eslint/eslintrc');
const globals = require('globals');
const markdown = require('eslint-plugin-markdown');
const pluginN = require('eslint-plugin-n');
const eslintPluginConfig = require('eslint-plugin-eslint-plugin/configs/all');
Expand Down Expand Up @@ -54,7 +53,7 @@ module.exports = [
},
{
files: ['tests/**/*.js'],
languageOptions: { globals: globals.mocha },
languageOptions: { sourceType: 'module' },
},
{
files: ['**/*.md'],
Expand Down
18 changes: 6 additions & 12 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
"lint:js-docs": "eslint --no-inline-config \"**/*.md\"",
"lint:package-json": "npmPkgJsonLint .",
"release": "release-it",
"test": "nyc --all --check-coverage --include lib mocha tests --recursive",
"test": "vitest run --coverage",
"test:remote": "eslint-remote-tester -c ./eslint-remote-tester.config.mjs",
"update:eslint-docs": "eslint-doc-generator"
},
Expand All @@ -43,12 +43,6 @@
"@eslint-community/eslint-utils": "^4.4.0",
"estraverse": "^5.3.0"
},
"nyc": {
"branches": 95,
"functions": 99,
"lines": 99,
"statements": 99
},
"devDependencies": {
"@commitlint/cli": "^19.6.0",
"@commitlint/config-conventional": "^19.6.0",
Expand All @@ -60,7 +54,7 @@
"@types/estree": "^1.0.8",
"@typescript-eslint/parser": "^8.34.1",
"@typescript-eslint/utils": "^8.34.1",
"chai": "^4.5.0",
"@vitest/coverage-istanbul": "^3.2.4",
"eslint": "^9.16.0",
"eslint-config-not-an-aardvark": "^2.1.0",
"eslint-config-prettier": "^9.1.0",
Expand All @@ -77,13 +71,12 @@
"husky": "^9.1.7",
"lodash": "^4.17.21",
"markdownlint-cli": "^0.43.0",
"mocha": "^11.0.0",
"npm-package-json-lint": "^8.0.0",
"npm-run-all2": "^7.0.1",
"nyc": "^17.1.0",
"prettier": "^3.4.1",
"release-it": "^17.2.0",
"typescript": "^5.8.3"
"typescript": "^5.8.3",
"vitest": "^3.2.4"
},
"peerDependencies": {
"eslint": ">=8.23.0"
Expand All @@ -107,5 +100,6 @@
"npm": {
"skipChecks": true
}
}
},
"packageManager": "[email protected]+sha512.f0dda8580f0ee9481c5c79a1d927b9164f2c478e90992ad268bbb2465a736984391d6333d2c327913578b2804af33474ca554ba29c04a8b13060a717675ae3ac"
}
15 changes: 0 additions & 15 deletions tests/lib/eslint-rule-tester.js

This file was deleted.

3 changes: 2 additions & 1 deletion tests/lib/fixtures/tsconfig.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
{
"compilerOptions": {
"moduleResolution": "NodeNext"
}
},
"include": ["*.ts"]
}
5 changes: 2 additions & 3 deletions tests/lib/index.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
'use strict';
import { assert, describe, it } from 'vitest';

const assert = require('chai').assert;
const plugin = require('../..');
import plugin from '../../lib/index.js';

const RULE_NAMES = Object.keys(plugin.rules);

Expand Down
20 changes: 11 additions & 9 deletions tests/lib/rule-setup.js
Original file line number Diff line number Diff line change
@@ -1,15 +1,17 @@
'use strict';
import { readdirSync, readFileSync } from 'node:fs';
import path from 'node:path';
import { fileURLToPath } from 'node:url';

const { readdirSync, readFileSync } = require('fs');
const path = require('path');
const assert = require('chai').assert;
const plugin = require('../..');
import { assert, describe, it } from 'vitest';

import plugin from '../../lib/index.js';

const RULE_NAMES = Object.keys(plugin.rules);
const dirname = path.dirname(fileURLToPath(import.meta.url));

describe('rule setup is correct', () => {
it('should have a list of exported rules and rules directory that match', () => {
const filePath = path.join(__dirname, '..', 'lib', 'rules');
const filePath = path.join(dirname, '..', 'lib', 'rules');
const files = readdirSync(filePath);

assert.deepStrictEqual(
Expand All @@ -34,7 +36,7 @@ describe('rule setup is correct', () => {

it('should have the right contents', () => {
const filePath = path.join(
__dirname,
dirname,
'..',
'..',
'lib',
Expand All @@ -53,7 +55,7 @@ describe('rule setup is correct', () => {
});

it('should have tests for all rules', () => {
const filePath = path.join(__dirname, 'rules');
const filePath = path.join(dirname, 'rules');
const files = readdirSync(filePath);

assert.deepStrictEqual(
Expand All @@ -65,7 +67,7 @@ describe('rule setup is correct', () => {
});

it('should have documentation for all rules', () => {
const filePath = path.join(__dirname, '..', '..', 'docs', 'rules');
const filePath = path.join(dirname, '..', '..', 'docs', 'rules');
const files = readdirSync(filePath);

assert.deepStrictEqual(
Expand Down
6 changes: 2 additions & 4 deletions tests/lib/rules/consistent-output.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,14 +3,12 @@
* @author Teddy Katz
*/

'use strict';

// ------------------------------------------------------------------------------
// Requirements
// ------------------------------------------------------------------------------

const rule = require('../../../lib/rules/consistent-output');
const RuleTester = require('../eslint-rule-tester').RuleTester;
import rule from '../../../lib/rules/consistent-output.js';
import { RuleTester } from '../../utils/eslint-rule-tester.js';

const ERROR = { messageId: 'missingOutput', type: 'ObjectExpression' };

Expand Down
6 changes: 2 additions & 4 deletions tests/lib/rules/fixer-return.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,14 +3,12 @@
* @author 薛定谔的猫<[email protected]>
*/

'use strict';

// ------------------------------------------------------------------------------
// Requirements
// ------------------------------------------------------------------------------

const rule = require('../../../lib/rules/fixer-return');
const RuleTester = require('../eslint-rule-tester').RuleTester;
import rule from '../../../lib/rules/fixer-return.js';
import { RuleTester } from '../../utils/eslint-rule-tester.js';

// ------------------------------------------------------------------------------
// Tests
Expand Down
6 changes: 2 additions & 4 deletions tests/lib/rules/meta-property-ordering.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,12 @@
* @fileoverview Enforces the order of meta properties
*/

'use strict';

// ------------------------------------------------------------------------------
// Requirements
// ------------------------------------------------------------------------------

const rule = require('../../../lib/rules/meta-property-ordering');
const RuleTester = require('../eslint-rule-tester').RuleTester;
import rule from '../../../lib/rules/meta-property-ordering.js';
import { RuleTester } from '../../utils/eslint-rule-tester.js';

// ------------------------------------------------------------------------------
// Tests
Expand Down
6 changes: 2 additions & 4 deletions tests/lib/rules/no-deprecated-context-methods.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,14 +3,12 @@
* @author Teddy Katz
*/

'use strict';

// ------------------------------------------------------------------------------
// Requirements
// ------------------------------------------------------------------------------

const rule = require('../../../lib/rules/no-deprecated-context-methods');
const RuleTester = require('../eslint-rule-tester').RuleTester;
import rule from '../../../lib/rules/no-deprecated-context-methods.js';
import { RuleTester } from '../../utils/eslint-rule-tester.js';

// ------------------------------------------------------------------------------
// Tests
Expand Down
6 changes: 2 additions & 4 deletions tests/lib/rules/no-deprecated-report-api.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,14 +3,12 @@
* @author Teddy Katz
*/

'use strict';

// ------------------------------------------------------------------------------
// Requirements
// ------------------------------------------------------------------------------

const rule = require('../../../lib/rules/no-deprecated-report-api');
const RuleTester = require('../eslint-rule-tester').RuleTester;
import rule from '../../../lib/rules/no-deprecated-report-api.js';
import { RuleTester } from '../../utils/eslint-rule-tester.js';

// ------------------------------------------------------------------------------
// Tests
Expand Down
6 changes: 2 additions & 4 deletions tests/lib/rules/no-identical-tests.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,14 +3,12 @@
* @author 薛定谔的猫<[email protected]>
*/

'use strict';

// ------------------------------------------------------------------------------
// Requirements
// ------------------------------------------------------------------------------

const rule = require('../../../lib/rules/no-identical-tests');
const RuleTester = require('../eslint-rule-tester').RuleTester;
import rule from '../../../lib/rules/no-identical-tests.js';
import { RuleTester } from '../../utils/eslint-rule-tester.js';

const ERROR_OBJECT_TEST = { messageId: 'identical', type: 'ObjectExpression' };
const ERROR_STRING_TEST = { messageId: 'identical', type: 'Literal' };
Expand Down
6 changes: 2 additions & 4 deletions tests/lib/rules/no-meta-replaced-by.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,12 @@
* @fileoverview Disallows the usage of `meta.replacedBy` property
*/

'use strict';

// ------------------------------------------------------------------------------
// Requirements
// ------------------------------------------------------------------------------

const rule = require('../../../lib/rules/no-meta-replaced-by');
const RuleTester = require('../eslint-rule-tester').RuleTester;
import rule from '../../../lib/rules/no-meta-replaced-by.js';
import { RuleTester } from '../../utils/eslint-rule-tester.js';

// ------------------------------------------------------------------------------
// Tests
Expand Down
6 changes: 2 additions & 4 deletions tests/lib/rules/no-meta-schema-default.js
Original file line number Diff line number Diff line change
@@ -1,11 +1,9 @@
'use strict';

// ------------------------------------------------------------------------------
// Requirements
// ------------------------------------------------------------------------------

const rule = require('../../../lib/rules/no-meta-schema-default');
const RuleTester = require('../eslint-rule-tester').RuleTester;
import rule from '../../../lib/rules/no-meta-schema-default.js';
import { RuleTester } from '../../utils/eslint-rule-tester.js';

// ------------------------------------------------------------------------------
// Tests
Expand Down
6 changes: 2 additions & 4 deletions tests/lib/rules/no-missing-message-ids.js
Original file line number Diff line number Diff line change
@@ -1,11 +1,9 @@
'use strict';

// ------------------------------------------------------------------------------
// Requirements
// ------------------------------------------------------------------------------

const rule = require('../../../lib/rules/no-missing-message-ids');
const RuleTester = require('../eslint-rule-tester').RuleTester;
import rule from '../../../lib/rules/no-missing-message-ids.js';
import { RuleTester } from '../../utils/eslint-rule-tester.js';

// ------------------------------------------------------------------------------
// Tests
Expand Down
6 changes: 2 additions & 4 deletions tests/lib/rules/no-missing-placeholders.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,14 +3,12 @@
* @author Teddy Katz
*/

'use strict';

// ------------------------------------------------------------------------------
// Requirements
// ------------------------------------------------------------------------------

const rule = require('../../../lib/rules/no-missing-placeholders');
const RuleTester = require('../eslint-rule-tester').RuleTester;
import rule from '../../../lib/rules/no-missing-placeholders.js';
import { RuleTester } from '../../utils/eslint-rule-tester.js';

/**
* Create an error for the given key
Expand Down
6 changes: 2 additions & 4 deletions tests/lib/rules/no-only-tests.js
Original file line number Diff line number Diff line change
@@ -1,11 +1,9 @@
'use strict';

// ------------------------------------------------------------------------------
// Requirements
// ------------------------------------------------------------------------------

const rule = require('../../../lib/rules/no-only-tests');
const RuleTester = require('../eslint-rule-tester').RuleTester;
import rule from '../../../lib/rules/no-only-tests.js';
import { RuleTester } from '../../utils/eslint-rule-tester.js';

// ------------------------------------------------------------------------------
// Tests
Expand Down
11 changes: 5 additions & 6 deletions tests/lib/rules/no-property-in-node.js
Original file line number Diff line number Diff line change
@@ -1,12 +1,11 @@
'use strict';

const RuleTester = require('../eslint-rule-tester').RuleTester;
const path = require('path');
const rule = require('../../../lib/rules/no-property-in-node');
import { RuleTester } from '../../utils/eslint-rule-tester.js';
import path from 'path';
import rule from '../../../lib/rules/no-property-in-node.js';
import parser from '@typescript-eslint/parser';

const ruleTester = new RuleTester({
languageOptions: {
parser: require('@typescript-eslint/parser'),
parser,
parserOptions: {
projectService: {
defaultProject: 'tsconfig.json',
Expand Down
6 changes: 2 additions & 4 deletions tests/lib/rules/no-unused-message-ids.js
Original file line number Diff line number Diff line change
@@ -1,11 +1,9 @@
'use strict';

// ------------------------------------------------------------------------------
// Requirements
// ------------------------------------------------------------------------------

const rule = require('../../../lib/rules/no-unused-message-ids');
const RuleTester = require('../eslint-rule-tester').RuleTester;
import rule from '../../../lib/rules/no-unused-message-ids.js';
import { RuleTester } from '../../utils/eslint-rule-tester.js';

// ------------------------------------------------------------------------------
// Tests
Expand Down
6 changes: 2 additions & 4 deletions tests/lib/rules/no-unused-placeholders.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,14 +3,12 @@
* @author 薛定谔的猫<[email protected]>
*/

'use strict';

// ------------------------------------------------------------------------------
// Requirements
// ------------------------------------------------------------------------------

const rule = require('../../../lib/rules/no-unused-placeholders');
const RuleTester = require('../eslint-rule-tester').RuleTester;
import rule from '../../../lib/rules/no-unused-placeholders.js';
import { RuleTester } from '../../utils/eslint-rule-tester.js';

/**
* Create an error for the given key
Expand Down
Loading