diff --git a/rules/import-style.js b/rules/import-style.js index 5e58261893..6db6674db4 100644 --- a/rules/import-style.js +++ b/rules/import-style.js @@ -117,9 +117,15 @@ const defaultStyles = { path: { default: true, }, + 'node:path': { + default: true, + }, util: { named: true, }, + 'node:util': { + named: true, + }, }; /** @param {import('eslint').Rule.RuleContext} context */ diff --git a/test/import-style.mjs b/test/import-style.mjs index d057fc49e1..cd0a821c1b 100644 --- a/test/import-style.mjs +++ b/test/import-style.mjs @@ -121,10 +121,18 @@ test({ code: 'import {inspect} from \'util\'', options: [], }, + { + code: 'import {inspect} from \'node:util\'', + options: [], + }, { code: 'const {inspect} = require(\'util\')', options: [], }, + { + code: 'const {inspect} = require(\'node:util\')', + options: [], + }, { code: 'import chalk from \'chalk\'', options: [], @@ -137,10 +145,18 @@ test({ code: 'const {inspect} = require(\'util\')', options: [], }, + { + code: 'const {inspect} = require(\'node:util\')', + options: [], + }, { code: 'export {promisify, callbackify} from \'util\'', options: [], }, + { + code: 'export {promisify, callbackify} from \'node:util\'', + options: [], + }, { code: 'require(\'chalk\')', @@ -538,26 +554,51 @@ test({ options: [], errors: [{}], }, + { + code: 'import util from \'node:util\'', + options: [], + errors: [{}], + }, { code: 'import * as util from \'util\'', options: [], errors: [{}], }, + { + code: 'import * as util from \'node:util\'', + options: [], + errors: [{}], + }, { code: 'const util = require(\'util\')', options: [], errors: [{}], }, + { + code: 'const util = require(\'node:util\')', + options: [], + errors: [{}], + }, { code: 'require(\'util\')', options: [], errors: [{}], }, + { + code: 'require(\'node:util\')', + options: [], + errors: [{}], + }, { code: 'require(\'ut\' + \'il\')', options: [], errors: [{}], }, + { + code: 'require(\'node:\' + \'util\')', + options: [], + errors: [{}], + }, { code: 'import {red} from \'chalk\'', options: [], @@ -626,9 +667,13 @@ test.snapshot({ ], invalid: [ 'import util from \'util\'', + 'import util from \'node:util\'', 'import * as util from \'util\'', + 'import * as util from \'node:util\'', 'const util = require(\'util\')', + 'const util = require(\'node:util\')', 'require(\'util\')', + 'require(\'node:util\')', 'import {red} from \'chalk\'', 'import {red as green} from \'chalk\'', outdent` diff --git a/test/snapshots/import-style.mjs.md b/test/snapshots/import-style.mjs.md index 8e3000c24a..997dd9c33c 100644 --- a/test/snapshots/import-style.mjs.md +++ b/test/snapshots/import-style.mjs.md @@ -19,7 +19,22 @@ Generated by [AVA](https://avajs.dev). | ^^^^^^^^^^^^^^^^^^^^^^^ Use named import for module \`util\`.␊ ` -## invalid(2): import * as util from 'util' +## invalid(2): import util from 'node:util' + +> Input + + `␊ + 1 | import util from 'node:util'␊ + ` + +> Error 1/1 + + `␊ + > 1 | import util from 'node:util'␊ + | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Use named import for module \`node:util\`.␊ + ` + +## invalid(3): import * as util from 'util' > Input @@ -34,7 +49,22 @@ Generated by [AVA](https://avajs.dev). | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Use named import for module \`util\`.␊ ` -## invalid(3): const util = require('util') +## invalid(4): import * as util from 'node:util' + +> Input + + `␊ + 1 | import * as util from 'node:util'␊ + ` + +> Error 1/1 + + `␊ + > 1 | import * as util from 'node:util'␊ + | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Use named import for module \`node:util\`.␊ + ` + +## invalid(5): const util = require('util') > Input @@ -49,7 +79,22 @@ Generated by [AVA](https://avajs.dev). | ^^^^^^^^^^^^^^^^^^^^^^ Use named import for module \`util\`.␊ ` -## invalid(4): require('util') +## invalid(6): const util = require('node:util') + +> Input + + `␊ + 1 | const util = require('node:util')␊ + ` + +> Error 1/1 + + `␊ + > 1 | const util = require('node:util')␊ + | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ Use named import for module \`node:util\`.␊ + ` + +## invalid(7): require('util') > Input @@ -64,7 +109,22 @@ Generated by [AVA](https://avajs.dev). | ^^^^^^^^^^^^^^^ Use named import for module \`util\`.␊ ` -## invalid(5): import {red} from 'chalk' +## invalid(8): require('node:util') + +> Input + + `␊ + 1 | require('node:util')␊ + ` + +> Error 1/1 + + `␊ + > 1 | require('node:util')␊ + | ^^^^^^^^^^^^^^^^^^^^ Use named import for module \`node:util\`.␊ + ` + +## invalid(9): import {red} from 'chalk' > Input @@ -79,7 +139,7 @@ Generated by [AVA](https://avajs.dev). | ^^^^^^^^^^^^^^^^^^^^^^^^^ Use default import for module \`chalk\`.␊ ` -## invalid(6): import {red as green} from 'chalk' +## invalid(10): import {red as green} from 'chalk' > Input @@ -94,7 +154,7 @@ Generated by [AVA](https://avajs.dev). | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Use default import for module \`chalk\`.␊ ` -## invalid(7): async () => { const {red} = await import('chalk'); } +## invalid(11): async () => { const {red} = await import('chalk'); } > Input diff --git a/test/snapshots/import-style.mjs.snap b/test/snapshots/import-style.mjs.snap index 2111ea007e..85a935ced4 100644 Binary files a/test/snapshots/import-style.mjs.snap and b/test/snapshots/import-style.mjs.snap differ