Skip to content

Commit 59c6899

Browse files
authored
refactor: use file extensions (as per ESM) (#1135)
1 parent 44da8c7 commit 59c6899

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

57 files changed

+121
-119
lines changed

src/bin/generateRule.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ const recommended = options.includes('--recommended');
5454
await fs.writeFile(ruleNamesPath, JSON.stringify(ruleNames, null, 2) + '\n');
5555
console.log('ruleNames', ruleNames);
5656

57-
const ruleTemplate = `import iterateJsdoc from '../iterateJsdoc';
57+
const ruleTemplate = `import iterateJsdoc from '../iterateJsdoc.js';
5858
5959
export default iterateJsdoc(({
6060
context,
@@ -249,9 +249,9 @@ export default iterateJsdoc(({
249249

250250
await replaceInOrder({
251251
checkName: 'index import',
252-
newLine: `import ${camelCasedRuleName} from './rules/${camelCasedRuleName}';`,
252+
newLine: `import ${camelCasedRuleName} from './rules/${camelCasedRuleName}.js';`,
253253
oldIsCamel: true,
254-
oldRegex: /\nimport (?<oldRule>[^ ]*) from '.\/rules\/\1';/gu,
254+
oldRegex: /\nimport (?<oldRule>[^ ]*) from '.\/rules\/\1\.js';/gu,
255255
path: './src/index.js',
256256
});
257257

src/index.js

Lines changed: 56 additions & 54 deletions
Original file line numberDiff line numberDiff line change
@@ -1,59 +1,61 @@
1-
import checkAccess from './rules/checkAccess';
2-
import checkAlignment from './rules/checkAlignment';
3-
import checkExamples from './rules/checkExamples';
4-
import checkIndentation from './rules/checkIndentation';
5-
import checkLineAlignment from './rules/checkLineAlignment';
6-
import checkParamNames from './rules/checkParamNames';
7-
import checkPropertyNames from './rules/checkPropertyNames';
8-
import checkSyntax from './rules/checkSyntax';
9-
import checkTagNames from './rules/checkTagNames';
10-
import checkTypes from './rules/checkTypes';
11-
import checkValues from './rules/checkValues';
12-
import emptyTags from './rules/emptyTags';
13-
import implementsOnClasses from './rules/implementsOnClasses';
14-
import importsAsDependencies from './rules/importsAsDependencies';
15-
import informativeDocs from './rules/informativeDocs';
16-
import matchDescription from './rules/matchDescription';
17-
import matchName from './rules/matchName';
18-
import multilineBlocks from './rules/multilineBlocks';
19-
import noBadBlocks from './rules/noBadBlocks';
20-
import noBlankBlockDescriptions from './rules/noBlankBlockDescriptions';
21-
import noBlankBlocks from './rules/noBlankBlocks';
22-
import noDefaults from './rules/noDefaults';
23-
import noMissingSyntax from './rules/noMissingSyntax';
24-
import noMultiAsterisks from './rules/noMultiAsterisks';
25-
import noRestrictedSyntax from './rules/noRestrictedSyntax';
26-
import noTypes from './rules/noTypes';
27-
import noUndefinedTypes from './rules/noUndefinedTypes';
28-
import requireAsteriskPrefix from './rules/requireAsteriskPrefix';
29-
import requireDescription from './rules/requireDescription';
30-
import requireDescriptionCompleteSentence from './rules/requireDescriptionCompleteSentence';
31-
import requireExample from './rules/requireExample';
32-
import requireFileOverview from './rules/requireFileOverview';
33-
import requireHyphenBeforeParamDescription from './rules/requireHyphenBeforeParamDescription';
34-
import requireJsdoc from './rules/requireJsdoc';
35-
import requireParam from './rules/requireParam';
36-
import requireParamDescription from './rules/requireParamDescription';
37-
import requireParamName from './rules/requireParamName';
38-
import requireParamType from './rules/requireParamType';
39-
import requireProperty from './rules/requireProperty';
40-
import requirePropertyDescription from './rules/requirePropertyDescription';
41-
import requirePropertyName from './rules/requirePropertyName';
42-
import requirePropertyType from './rules/requirePropertyType';
43-
import requireReturns from './rules/requireReturns';
44-
import requireReturnsCheck from './rules/requireReturnsCheck';
45-
import requireReturnsDescription from './rules/requireReturnsDescription';
46-
import requireReturnsType from './rules/requireReturnsType';
47-
import requireThrows from './rules/requireThrows';
48-
import requireYields from './rules/requireYields';
49-
import requireYieldsCheck from './rules/requireYieldsCheck';
50-
import sortTags from './rules/sortTags';
51-
import tagLines from './rules/tagLines';
52-
import textEscaping from './rules/textEscaping';
53-
import validTypes from './rules/validTypes';
1+
import checkAccess from './rules/checkAccess.js';
2+
import checkAlignment from './rules/checkAlignment.js';
3+
import checkExamples from './rules/checkExamples.js';
4+
import checkIndentation from './rules/checkIndentation.js';
5+
import checkLineAlignment from './rules/checkLineAlignment.js';
6+
import checkParamNames from './rules/checkParamNames.js';
7+
import checkPropertyNames from './rules/checkPropertyNames.js';
8+
import checkSyntax from './rules/checkSyntax.js';
9+
import checkTagNames from './rules/checkTagNames.js';
10+
import checkTypes from './rules/checkTypes.js';
11+
import checkValues from './rules/checkValues.js';
12+
import emptyTags from './rules/emptyTags.js';
13+
import implementsOnClasses from './rules/implementsOnClasses.js';
14+
import importsAsDependencies from './rules/importsAsDependencies.js';
15+
import informativeDocs from './rules/informativeDocs.js';
16+
import matchDescription from './rules/matchDescription.js';
17+
import matchName from './rules/matchName.js';
18+
import multilineBlocks from './rules/multilineBlocks.js';
19+
import noBadBlocks from './rules/noBadBlocks.js';
20+
import noBlankBlockDescriptions from './rules/noBlankBlockDescriptions.js';
21+
import noBlankBlocks from './rules/noBlankBlocks.js';
22+
import noDefaults from './rules/noDefaults.js';
23+
import noMissingSyntax from './rules/noMissingSyntax.js';
24+
import noMultiAsterisks from './rules/noMultiAsterisks.js';
25+
import noRestrictedSyntax from './rules/noRestrictedSyntax.js';
26+
import noTypes from './rules/noTypes.js';
27+
import noUndefinedTypes from './rules/noUndefinedTypes.js';
28+
import requireAsteriskPrefix from './rules/requireAsteriskPrefix.js';
29+
import requireDescription from './rules/requireDescription.js';
30+
import requireDescriptionCompleteSentence from './rules/requireDescriptionCompleteSentence.js';
31+
import requireExample from './rules/requireExample.js';
32+
import requireFileOverview from './rules/requireFileOverview.js';
33+
import requireHyphenBeforeParamDescription from './rules/requireHyphenBeforeParamDescription.js';
34+
import requireJsdoc from './rules/requireJsdoc.js';
35+
import requireParam from './rules/requireParam.js';
36+
import requireParamDescription from './rules/requireParamDescription.js';
37+
import requireParamName from './rules/requireParamName.js';
38+
import requireParamType from './rules/requireParamType.js';
39+
import requireProperty from './rules/requireProperty.js';
40+
import requirePropertyDescription from './rules/requirePropertyDescription.js';
41+
import requirePropertyName from './rules/requirePropertyName.js';
42+
import requirePropertyType from './rules/requirePropertyType.js';
43+
import requireReturns from './rules/requireReturns.js';
44+
import requireReturnsCheck from './rules/requireReturnsCheck.js';
45+
import requireReturnsDescription from './rules/requireReturnsDescription.js';
46+
import requireReturnsType from './rules/requireReturnsType.js';
47+
import requireThrows from './rules/requireThrows.js';
48+
import requireYields from './rules/requireYields.js';
49+
import requireYieldsCheck from './rules/requireYieldsCheck.js';
50+
import sortTags from './rules/sortTags.js';
51+
import tagLines from './rules/tagLines.js';
52+
import textEscaping from './rules/textEscaping.js';
53+
import validTypes from './rules/validTypes.js';
5454

5555
/**
56-
* @type {import('eslint').ESLint.Plugin}
56+
* @type {import('eslint').ESLint.Plugin & {
57+
* configs: Record<string, import('eslint').ESLint.ConfigData>
58+
* }}
5759
*/
5860
const index = {
5961
configs: {},

src/iterateJsdoc.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import jsdocUtils from './jsdocUtils';
1+
import jsdocUtils from './jsdocUtils.js';
22
import {
33
commentHandler,
44
getJSDocComment,

src/jsdocUtils.js

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
1-
import getDefaultTagStructureForMode from './getDefaultTagStructureForMode';
1+
import getDefaultTagStructureForMode from './getDefaultTagStructureForMode.js';
22
import {
33
closureTags,
44
jsdocTags,
55
typeScriptTags,
6-
} from './tagNames';
6+
} from './tagNames.js';
77
import {
88
hasReturnValue,
99
hasValueOrExecutorHasNonEmptyResolveValue,
10-
} from './utils/hasReturnValue';
11-
import WarnSettings from './WarnSettings';
10+
} from './utils/hasReturnValue.js';
11+
import WarnSettings from './WarnSettings.js';
1212
import {
1313
tryParse,
1414
} from '@es-joy/jsdoccomment';

src/rules/checkAccess.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import iterateJsdoc from '../iterateJsdoc';
1+
import iterateJsdoc from '../iterateJsdoc.js';
22

33
const accessLevels = [
44
'package', 'private', 'protected', 'public',

src/rules/checkAlignment.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import iterateJsdoc from '../iterateJsdoc';
1+
import iterateJsdoc from '../iterateJsdoc.js';
22

33
/**
44
* @param {string} string

src/rules/checkExamples.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
// Todo: When replace `CLIEngine` with `ESLint` when feature set complete per https://github.com/eslint/eslint/issues/14745
22
// https://github.com/eslint/eslint/blob/master/docs/user-guide/migrating-to-7.0.0.md#-the-cliengine-class-has-been-deprecated
3-
import iterateJsdoc from '../iterateJsdoc';
3+
import iterateJsdoc from '../iterateJsdoc.js';
44
import {
55
// @ts-expect-error - For older ESLint
66
CLIEngine,

src/rules/checkIndentation.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import iterateJsdoc from '../iterateJsdoc';
1+
import iterateJsdoc from '../iterateJsdoc.js';
22

33
/**
44
* @param {string} str

src/rules/checkLineAlignment.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
import alignTransform from '../alignTransform';
2-
import iterateJsdoc from '../iterateJsdoc';
1+
import alignTransform from '../alignTransform.js';
2+
import iterateJsdoc from '../iterateJsdoc.js';
33
import {
44
transforms,
55
} from 'comment-parser';

src/rules/checkParamNames.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import iterateJsdoc from '../iterateJsdoc';
1+
import iterateJsdoc from '../iterateJsdoc.js';
22

33
/**
44
* @param {string} targetTagName

src/rules/checkPropertyNames.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import iterateJsdoc from '../iterateJsdoc';
1+
import iterateJsdoc from '../iterateJsdoc.js';
22

33
/**
44
* @param {string} targetTagName

src/rules/checkSyntax.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import iterateJsdoc from '../iterateJsdoc';
1+
import iterateJsdoc from '../iterateJsdoc.js';
22

33
export default iterateJsdoc(({
44
jsdoc,

src/rules/checkTagNames.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import iterateJsdoc from '../iterateJsdoc';
1+
import iterateJsdoc from '../iterateJsdoc.js';
22
import escapeStringRegexp from 'escape-string-regexp';
33

44
// https://babeljs.io/docs/en/babel-plugin-transform-react-jsx/

src/rules/checkTypes.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import iterateJsdoc from '../iterateJsdoc';
1+
import iterateJsdoc from '../iterateJsdoc.js';
22
import {
33
parse,
44
stringify,

src/rules/checkValues.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import iterateJsdoc from '../iterateJsdoc';
1+
import iterateJsdoc from '../iterateJsdoc.js';
22
import semver from 'semver';
33
import spdxExpressionParse from 'spdx-expression-parse';
44

src/rules/emptyTags.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import iterateJsdoc from '../iterateJsdoc';
1+
import iterateJsdoc from '../iterateJsdoc.js';
22

33
const defaultEmptyTags = new Set([
44
'abstract', 'async', 'generator', 'global', 'hideconstructor',

src/rules/implementsOnClasses.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import iterateJsdoc from '../iterateJsdoc';
1+
import iterateJsdoc from '../iterateJsdoc.js';
22

33
export default iterateJsdoc(({
44
report,

src/rules/importsAsDependencies.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import iterateJsdoc from '../iterateJsdoc';
1+
import iterateJsdoc from '../iterateJsdoc.js';
22
import {
33
parse,
44
traverse,

src/rules/informativeDocs.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import iterateJsdoc from '../iterateJsdoc';
1+
import iterateJsdoc from '../iterateJsdoc.js';
22
import {
33
areDocsInformative,
44
} from 'are-docs-informative';

src/rules/matchDescription.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import iterateJsdoc from '../iterateJsdoc';
1+
import iterateJsdoc from '../iterateJsdoc.js';
22

33
// If supporting Node >= 10, we could loosen the default to this for the
44
// initial letter: \\p{Upper}

src/rules/matchName.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import iterateJsdoc from '../iterateJsdoc';
1+
import iterateJsdoc from '../iterateJsdoc.js';
22

33
// eslint-disable-next-line complexity
44
export default iterateJsdoc(({

src/rules/multilineBlocks.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import iterateJsdoc from '../iterateJsdoc';
1+
import iterateJsdoc from '../iterateJsdoc.js';
22

33
export default iterateJsdoc(({
44
context,

src/rules/noBadBlocks.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import iterateJsdoc from '../iterateJsdoc';
1+
import iterateJsdoc from '../iterateJsdoc.js';
22
import {
33
parse as commentParser,
44
} from 'comment-parser';

src/rules/noBlankBlockDescriptions.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import iterateJsdoc from '../iterateJsdoc';
1+
import iterateJsdoc from '../iterateJsdoc.js';
22

33
const anyWhitespaceLines = /^\s*$/u;
44
const atLeastTwoLinesWhitespace = /^[ \t]*\n[ \t]*\n\s*$/u;

src/rules/noBlankBlocks.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import iterateJsdoc from '../iterateJsdoc';
1+
import iterateJsdoc from '../iterateJsdoc.js';
22

33
export default iterateJsdoc(({
44
context,

src/rules/noDefaults.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import iterateJsdoc from '../iterateJsdoc';
1+
import iterateJsdoc from '../iterateJsdoc.js';
22

33
export default iterateJsdoc(({
44
context,

src/rules/noMissingSyntax.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import iterateJsdoc from '../iterateJsdoc';
1+
import iterateJsdoc from '../iterateJsdoc.js';
22

33
/**
44
* @typedef {{

src/rules/noMultiAsterisks.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import iterateJsdoc from '../iterateJsdoc';
1+
import iterateJsdoc from '../iterateJsdoc.js';
22

33
const middleAsterisksBlockWS = /^([\t ]|\*(?!\*))+/u;
44
const middleAsterisksNoBlockWS = /^\*+/u;

src/rules/noRestrictedSyntax.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import iterateJsdoc from '../iterateJsdoc';
1+
import iterateJsdoc from '../iterateJsdoc.js';
22

33
export default iterateJsdoc(({
44
context,

src/rules/noTypes.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import iterateJsdoc from '../iterateJsdoc';
1+
import iterateJsdoc from '../iterateJsdoc.js';
22

33
/**
44
* @param {import('comment-parser').Line} line

src/rules/noUndefinedTypes.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import iterateJsdoc, {
22
parseComment,
3-
} from '../iterateJsdoc';
3+
} from '../iterateJsdoc.js';
44
import {
55
getJSDocComment,
66
parse as parseType,

src/rules/requireAsteriskPrefix.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import iterateJsdoc from '../iterateJsdoc';
1+
import iterateJsdoc from '../iterateJsdoc.js';
22

33
export default iterateJsdoc(({
44
context,

src/rules/requireDescription.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import iterateJsdoc from '../iterateJsdoc';
1+
import iterateJsdoc from '../iterateJsdoc.js';
22

33
/**
44
* @param {string} description

src/rules/requireDescriptionCompleteSentence.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import iterateJsdoc from '../iterateJsdoc';
1+
import iterateJsdoc from '../iterateJsdoc.js';
22
import escapeStringRegexp from 'escape-string-regexp';
33

44
const otherDescriptiveTags = new Set([

src/rules/requireExample.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import iterateJsdoc from '../iterateJsdoc';
1+
import iterateJsdoc from '../iterateJsdoc.js';
22

33
export default iterateJsdoc(({
44
context,

src/rules/requireFileOverview.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import iterateJsdoc from '../iterateJsdoc';
1+
import iterateJsdoc from '../iterateJsdoc.js';
22

33
const defaultTags = {
44
file: {

src/rules/requireHyphenBeforeParamDescription.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import iterateJsdoc from '../iterateJsdoc';
1+
import iterateJsdoc from '../iterateJsdoc.js';
22

33
export default iterateJsdoc(({
44
sourceCode,

src/rules/requireJsdoc.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
1-
import exportParser from '../exportParser';
1+
import exportParser from '../exportParser.js';
22
import {
33
getSettings,
4-
} from '../iterateJsdoc';
5-
import jsdocUtils from '../jsdocUtils';
4+
} from '../iterateJsdoc.js';
5+
import jsdocUtils from '../jsdocUtils.js';
66
import {
77
getDecorator,
88
getJSDocComment,

src/rules/requireParam.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import iterateJsdoc from '../iterateJsdoc';
1+
import iterateJsdoc from '../iterateJsdoc.js';
22

33
/**
44
* @typedef {[string, boolean, () => RootNamerReturn]} RootNamerReturn

src/rules/requireParamDescription.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import iterateJsdoc from '../iterateJsdoc';
1+
import iterateJsdoc from '../iterateJsdoc.js';
22

33
export default iterateJsdoc(({
44
context,

src/rules/requireParamName.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import iterateJsdoc from '../iterateJsdoc';
1+
import iterateJsdoc from '../iterateJsdoc.js';
22

33
export default iterateJsdoc(({
44
report,

0 commit comments

Comments
 (0)