Skip to content

Commit

Permalink
refactor: use file extensions (as per ESM) (#1135)
Browse files Browse the repository at this point in the history
  • Loading branch information
brettz9 committed Jul 27, 2023
1 parent 44da8c7 commit 59c6899
Show file tree
Hide file tree
Showing 57 changed files with 121 additions and 119 deletions.
6 changes: 3 additions & 3 deletions src/bin/generateRule.js
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ const recommended = options.includes('--recommended');
await fs.writeFile(ruleNamesPath, JSON.stringify(ruleNames, null, 2) + '\n');
console.log('ruleNames', ruleNames);

const ruleTemplate = `import iterateJsdoc from '../iterateJsdoc';
const ruleTemplate = `import iterateJsdoc from '../iterateJsdoc.js';
export default iterateJsdoc(({
context,
Expand Down Expand Up @@ -249,9 +249,9 @@ export default iterateJsdoc(({

await replaceInOrder({
checkName: 'index import',
newLine: `import ${camelCasedRuleName} from './rules/${camelCasedRuleName}';`,
newLine: `import ${camelCasedRuleName} from './rules/${camelCasedRuleName}.js';`,
oldIsCamel: true,
oldRegex: /\nimport (?<oldRule>[^ ]*) from '.\/rules\/\1';/gu,
oldRegex: /\nimport (?<oldRule>[^ ]*) from '.\/rules\/\1\.js';/gu,
path: './src/index.js',
});

Expand Down
110 changes: 56 additions & 54 deletions src/index.js
Original file line number Diff line number Diff line change
@@ -1,59 +1,61 @@
import checkAccess from './rules/checkAccess';
import checkAlignment from './rules/checkAlignment';
import checkExamples from './rules/checkExamples';
import checkIndentation from './rules/checkIndentation';
import checkLineAlignment from './rules/checkLineAlignment';
import checkParamNames from './rules/checkParamNames';
import checkPropertyNames from './rules/checkPropertyNames';
import checkSyntax from './rules/checkSyntax';
import checkTagNames from './rules/checkTagNames';
import checkTypes from './rules/checkTypes';
import checkValues from './rules/checkValues';
import emptyTags from './rules/emptyTags';
import implementsOnClasses from './rules/implementsOnClasses';
import importsAsDependencies from './rules/importsAsDependencies';
import informativeDocs from './rules/informativeDocs';
import matchDescription from './rules/matchDescription';
import matchName from './rules/matchName';
import multilineBlocks from './rules/multilineBlocks';
import noBadBlocks from './rules/noBadBlocks';
import noBlankBlockDescriptions from './rules/noBlankBlockDescriptions';
import noBlankBlocks from './rules/noBlankBlocks';
import noDefaults from './rules/noDefaults';
import noMissingSyntax from './rules/noMissingSyntax';
import noMultiAsterisks from './rules/noMultiAsterisks';
import noRestrictedSyntax from './rules/noRestrictedSyntax';
import noTypes from './rules/noTypes';
import noUndefinedTypes from './rules/noUndefinedTypes';
import requireAsteriskPrefix from './rules/requireAsteriskPrefix';
import requireDescription from './rules/requireDescription';
import requireDescriptionCompleteSentence from './rules/requireDescriptionCompleteSentence';
import requireExample from './rules/requireExample';
import requireFileOverview from './rules/requireFileOverview';
import requireHyphenBeforeParamDescription from './rules/requireHyphenBeforeParamDescription';
import requireJsdoc from './rules/requireJsdoc';
import requireParam from './rules/requireParam';
import requireParamDescription from './rules/requireParamDescription';
import requireParamName from './rules/requireParamName';
import requireParamType from './rules/requireParamType';
import requireProperty from './rules/requireProperty';
import requirePropertyDescription from './rules/requirePropertyDescription';
import requirePropertyName from './rules/requirePropertyName';
import requirePropertyType from './rules/requirePropertyType';
import requireReturns from './rules/requireReturns';
import requireReturnsCheck from './rules/requireReturnsCheck';
import requireReturnsDescription from './rules/requireReturnsDescription';
import requireReturnsType from './rules/requireReturnsType';
import requireThrows from './rules/requireThrows';
import requireYields from './rules/requireYields';
import requireYieldsCheck from './rules/requireYieldsCheck';
import sortTags from './rules/sortTags';
import tagLines from './rules/tagLines';
import textEscaping from './rules/textEscaping';
import validTypes from './rules/validTypes';
import checkAccess from './rules/checkAccess.js';
import checkAlignment from './rules/checkAlignment.js';
import checkExamples from './rules/checkExamples.js';
import checkIndentation from './rules/checkIndentation.js';
import checkLineAlignment from './rules/checkLineAlignment.js';
import checkParamNames from './rules/checkParamNames.js';
import checkPropertyNames from './rules/checkPropertyNames.js';
import checkSyntax from './rules/checkSyntax.js';
import checkTagNames from './rules/checkTagNames.js';
import checkTypes from './rules/checkTypes.js';
import checkValues from './rules/checkValues.js';
import emptyTags from './rules/emptyTags.js';
import implementsOnClasses from './rules/implementsOnClasses.js';
import importsAsDependencies from './rules/importsAsDependencies.js';
import informativeDocs from './rules/informativeDocs.js';
import matchDescription from './rules/matchDescription.js';
import matchName from './rules/matchName.js';
import multilineBlocks from './rules/multilineBlocks.js';
import noBadBlocks from './rules/noBadBlocks.js';
import noBlankBlockDescriptions from './rules/noBlankBlockDescriptions.js';
import noBlankBlocks from './rules/noBlankBlocks.js';
import noDefaults from './rules/noDefaults.js';
import noMissingSyntax from './rules/noMissingSyntax.js';
import noMultiAsterisks from './rules/noMultiAsterisks.js';
import noRestrictedSyntax from './rules/noRestrictedSyntax.js';
import noTypes from './rules/noTypes.js';
import noUndefinedTypes from './rules/noUndefinedTypes.js';
import requireAsteriskPrefix from './rules/requireAsteriskPrefix.js';
import requireDescription from './rules/requireDescription.js';
import requireDescriptionCompleteSentence from './rules/requireDescriptionCompleteSentence.js';
import requireExample from './rules/requireExample.js';
import requireFileOverview from './rules/requireFileOverview.js';
import requireHyphenBeforeParamDescription from './rules/requireHyphenBeforeParamDescription.js';
import requireJsdoc from './rules/requireJsdoc.js';
import requireParam from './rules/requireParam.js';
import requireParamDescription from './rules/requireParamDescription.js';
import requireParamName from './rules/requireParamName.js';
import requireParamType from './rules/requireParamType.js';
import requireProperty from './rules/requireProperty.js';
import requirePropertyDescription from './rules/requirePropertyDescription.js';
import requirePropertyName from './rules/requirePropertyName.js';
import requirePropertyType from './rules/requirePropertyType.js';
import requireReturns from './rules/requireReturns.js';
import requireReturnsCheck from './rules/requireReturnsCheck.js';
import requireReturnsDescription from './rules/requireReturnsDescription.js';
import requireReturnsType from './rules/requireReturnsType.js';
import requireThrows from './rules/requireThrows.js';
import requireYields from './rules/requireYields.js';
import requireYieldsCheck from './rules/requireYieldsCheck.js';
import sortTags from './rules/sortTags.js';
import tagLines from './rules/tagLines.js';
import textEscaping from './rules/textEscaping.js';
import validTypes from './rules/validTypes.js';

/**
* @type {import('eslint').ESLint.Plugin}
* @type {import('eslint').ESLint.Plugin & {
* configs: Record<string, import('eslint').ESLint.ConfigData>
* }}
*/
const index = {
configs: {},
Expand Down
2 changes: 1 addition & 1 deletion src/iterateJsdoc.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import jsdocUtils from './jsdocUtils';
import jsdocUtils from './jsdocUtils.js';
import {
commentHandler,
getJSDocComment,
Expand Down
8 changes: 4 additions & 4 deletions src/jsdocUtils.js
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
import getDefaultTagStructureForMode from './getDefaultTagStructureForMode';
import getDefaultTagStructureForMode from './getDefaultTagStructureForMode.js';
import {
closureTags,
jsdocTags,
typeScriptTags,
} from './tagNames';
} from './tagNames.js';
import {
hasReturnValue,
hasValueOrExecutorHasNonEmptyResolveValue,
} from './utils/hasReturnValue';
import WarnSettings from './WarnSettings';
} from './utils/hasReturnValue.js';
import WarnSettings from './WarnSettings.js';
import {
tryParse,
} from '@es-joy/jsdoccomment';
Expand Down
2 changes: 1 addition & 1 deletion src/rules/checkAccess.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import iterateJsdoc from '../iterateJsdoc';
import iterateJsdoc from '../iterateJsdoc.js';

const accessLevels = [
'package', 'private', 'protected', 'public',
Expand Down
2 changes: 1 addition & 1 deletion src/rules/checkAlignment.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import iterateJsdoc from '../iterateJsdoc';
import iterateJsdoc from '../iterateJsdoc.js';

/**
* @param {string} string
Expand Down
2 changes: 1 addition & 1 deletion src/rules/checkExamples.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
// Todo: When replace `CLIEngine` with `ESLint` when feature set complete per https://github.com/eslint/eslint/issues/14745
// https://github.com/eslint/eslint/blob/master/docs/user-guide/migrating-to-7.0.0.md#-the-cliengine-class-has-been-deprecated
import iterateJsdoc from '../iterateJsdoc';
import iterateJsdoc from '../iterateJsdoc.js';
import {
// @ts-expect-error - For older ESLint
CLIEngine,
Expand Down
2 changes: 1 addition & 1 deletion src/rules/checkIndentation.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import iterateJsdoc from '../iterateJsdoc';
import iterateJsdoc from '../iterateJsdoc.js';

/**
* @param {string} str
Expand Down
4 changes: 2 additions & 2 deletions src/rules/checkLineAlignment.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import alignTransform from '../alignTransform';
import iterateJsdoc from '../iterateJsdoc';
import alignTransform from '../alignTransform.js';
import iterateJsdoc from '../iterateJsdoc.js';
import {
transforms,
} from 'comment-parser';
Expand Down
2 changes: 1 addition & 1 deletion src/rules/checkParamNames.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import iterateJsdoc from '../iterateJsdoc';
import iterateJsdoc from '../iterateJsdoc.js';

/**
* @param {string} targetTagName
Expand Down
2 changes: 1 addition & 1 deletion src/rules/checkPropertyNames.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import iterateJsdoc from '../iterateJsdoc';
import iterateJsdoc from '../iterateJsdoc.js';

/**
* @param {string} targetTagName
Expand Down
2 changes: 1 addition & 1 deletion src/rules/checkSyntax.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import iterateJsdoc from '../iterateJsdoc';
import iterateJsdoc from '../iterateJsdoc.js';

export default iterateJsdoc(({
jsdoc,
Expand Down
2 changes: 1 addition & 1 deletion src/rules/checkTagNames.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import iterateJsdoc from '../iterateJsdoc';
import iterateJsdoc from '../iterateJsdoc.js';
import escapeStringRegexp from 'escape-string-regexp';

// https://babeljs.io/docs/en/babel-plugin-transform-react-jsx/
Expand Down
2 changes: 1 addition & 1 deletion src/rules/checkTypes.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import iterateJsdoc from '../iterateJsdoc';
import iterateJsdoc from '../iterateJsdoc.js';
import {
parse,
stringify,
Expand Down
2 changes: 1 addition & 1 deletion src/rules/checkValues.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import iterateJsdoc from '../iterateJsdoc';
import iterateJsdoc from '../iterateJsdoc.js';
import semver from 'semver';
import spdxExpressionParse from 'spdx-expression-parse';

Expand Down
2 changes: 1 addition & 1 deletion src/rules/emptyTags.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import iterateJsdoc from '../iterateJsdoc';
import iterateJsdoc from '../iterateJsdoc.js';

const defaultEmptyTags = new Set([
'abstract', 'async', 'generator', 'global', 'hideconstructor',
Expand Down
2 changes: 1 addition & 1 deletion src/rules/implementsOnClasses.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import iterateJsdoc from '../iterateJsdoc';
import iterateJsdoc from '../iterateJsdoc.js';

export default iterateJsdoc(({
report,
Expand Down
2 changes: 1 addition & 1 deletion src/rules/importsAsDependencies.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import iterateJsdoc from '../iterateJsdoc';
import iterateJsdoc from '../iterateJsdoc.js';
import {
parse,
traverse,
Expand Down
2 changes: 1 addition & 1 deletion src/rules/informativeDocs.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import iterateJsdoc from '../iterateJsdoc';
import iterateJsdoc from '../iterateJsdoc.js';
import {
areDocsInformative,
} from 'are-docs-informative';
Expand Down
2 changes: 1 addition & 1 deletion src/rules/matchDescription.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import iterateJsdoc from '../iterateJsdoc';
import iterateJsdoc from '../iterateJsdoc.js';

// If supporting Node >= 10, we could loosen the default to this for the
// initial letter: \\p{Upper}
Expand Down
2 changes: 1 addition & 1 deletion src/rules/matchName.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import iterateJsdoc from '../iterateJsdoc';
import iterateJsdoc from '../iterateJsdoc.js';

// eslint-disable-next-line complexity
export default iterateJsdoc(({
Expand Down
2 changes: 1 addition & 1 deletion src/rules/multilineBlocks.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import iterateJsdoc from '../iterateJsdoc';
import iterateJsdoc from '../iterateJsdoc.js';

export default iterateJsdoc(({
context,
Expand Down
2 changes: 1 addition & 1 deletion src/rules/noBadBlocks.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import iterateJsdoc from '../iterateJsdoc';
import iterateJsdoc from '../iterateJsdoc.js';
import {
parse as commentParser,
} from 'comment-parser';
Expand Down
2 changes: 1 addition & 1 deletion src/rules/noBlankBlockDescriptions.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import iterateJsdoc from '../iterateJsdoc';
import iterateJsdoc from '../iterateJsdoc.js';

const anyWhitespaceLines = /^\s*$/u;
const atLeastTwoLinesWhitespace = /^[ \t]*\n[ \t]*\n\s*$/u;
Expand Down
2 changes: 1 addition & 1 deletion src/rules/noBlankBlocks.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import iterateJsdoc from '../iterateJsdoc';
import iterateJsdoc from '../iterateJsdoc.js';

export default iterateJsdoc(({
context,
Expand Down
2 changes: 1 addition & 1 deletion src/rules/noDefaults.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import iterateJsdoc from '../iterateJsdoc';
import iterateJsdoc from '../iterateJsdoc.js';

export default iterateJsdoc(({
context,
Expand Down
2 changes: 1 addition & 1 deletion src/rules/noMissingSyntax.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import iterateJsdoc from '../iterateJsdoc';
import iterateJsdoc from '../iterateJsdoc.js';

/**
* @typedef {{
Expand Down
2 changes: 1 addition & 1 deletion src/rules/noMultiAsterisks.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import iterateJsdoc from '../iterateJsdoc';
import iterateJsdoc from '../iterateJsdoc.js';

const middleAsterisksBlockWS = /^([\t ]|\*(?!\*))+/u;
const middleAsterisksNoBlockWS = /^\*+/u;
Expand Down
2 changes: 1 addition & 1 deletion src/rules/noRestrictedSyntax.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import iterateJsdoc from '../iterateJsdoc';
import iterateJsdoc from '../iterateJsdoc.js';

export default iterateJsdoc(({
context,
Expand Down
2 changes: 1 addition & 1 deletion src/rules/noTypes.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import iterateJsdoc from '../iterateJsdoc';
import iterateJsdoc from '../iterateJsdoc.js';

/**
* @param {import('comment-parser').Line} line
Expand Down
2 changes: 1 addition & 1 deletion src/rules/noUndefinedTypes.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import iterateJsdoc, {
parseComment,
} from '../iterateJsdoc';
} from '../iterateJsdoc.js';
import {
getJSDocComment,
parse as parseType,
Expand Down
2 changes: 1 addition & 1 deletion src/rules/requireAsteriskPrefix.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import iterateJsdoc from '../iterateJsdoc';
import iterateJsdoc from '../iterateJsdoc.js';

export default iterateJsdoc(({
context,
Expand Down
2 changes: 1 addition & 1 deletion src/rules/requireDescription.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import iterateJsdoc from '../iterateJsdoc';
import iterateJsdoc from '../iterateJsdoc.js';

/**
* @param {string} description
Expand Down
2 changes: 1 addition & 1 deletion src/rules/requireDescriptionCompleteSentence.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import iterateJsdoc from '../iterateJsdoc';
import iterateJsdoc from '../iterateJsdoc.js';
import escapeStringRegexp from 'escape-string-regexp';

const otherDescriptiveTags = new Set([
Expand Down
2 changes: 1 addition & 1 deletion src/rules/requireExample.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import iterateJsdoc from '../iterateJsdoc';
import iterateJsdoc from '../iterateJsdoc.js';

export default iterateJsdoc(({
context,
Expand Down
2 changes: 1 addition & 1 deletion src/rules/requireFileOverview.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import iterateJsdoc from '../iterateJsdoc';
import iterateJsdoc from '../iterateJsdoc.js';

const defaultTags = {
file: {
Expand Down
2 changes: 1 addition & 1 deletion src/rules/requireHyphenBeforeParamDescription.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import iterateJsdoc from '../iterateJsdoc';
import iterateJsdoc from '../iterateJsdoc.js';

export default iterateJsdoc(({
sourceCode,
Expand Down
6 changes: 3 additions & 3 deletions src/rules/requireJsdoc.js
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
import exportParser from '../exportParser';
import exportParser from '../exportParser.js';
import {
getSettings,
} from '../iterateJsdoc';
import jsdocUtils from '../jsdocUtils';
} from '../iterateJsdoc.js';
import jsdocUtils from '../jsdocUtils.js';
import {
getDecorator,
getJSDocComment,
Expand Down
2 changes: 1 addition & 1 deletion src/rules/requireParam.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import iterateJsdoc from '../iterateJsdoc';
import iterateJsdoc from '../iterateJsdoc.js';

/**
* @typedef {[string, boolean, () => RootNamerReturn]} RootNamerReturn
Expand Down
2 changes: 1 addition & 1 deletion src/rules/requireParamDescription.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import iterateJsdoc from '../iterateJsdoc';
import iterateJsdoc from '../iterateJsdoc.js';

export default iterateJsdoc(({
context,
Expand Down
2 changes: 1 addition & 1 deletion src/rules/requireParamName.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import iterateJsdoc from '../iterateJsdoc';
import iterateJsdoc from '../iterateJsdoc.js';

export default iterateJsdoc(({
report,
Expand Down

0 comments on commit 59c6899

Please sign in to comment.