Skip to content

Commit 6b1e40b

Browse files
committed
Require file extensions on relative imports
Add file extensions to all relative imports to better align with the requirements of spec-compliant ECMAScript modules.
1 parent 15b16b8 commit 6b1e40b

38 files changed

+90
-105
lines changed

.eslintrc.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ module.exports = {
2525
extends: ['eslint:recommended', 'plugin:import/recommended', 'prettier'],
2626
plugins: ['import', 'prettier'],
2727
rules: {
28-
'import/extensions': ['error', 'never'],
28+
'import/extensions': ['error', 'ignorePackages'],
2929
'import/first': 'error',
3030
'import/newline-after-import': 'error',
3131
'import/no-absolute-path': 'error',

babel.config.js

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@
2121
*/
2222

2323
const path = require('path');
24-
const { DEFAULT_EXTENSIONS } = require('@babel/core');
2524

2625
module.exports = (api) => {
2726
const ENV = api.env();
@@ -45,10 +44,6 @@ module.exports = (api) => {
4544
onlyRemoveTypeImports: true,
4645
};
4746

48-
const addImportExtensionOptions = {
49-
extension: DEV || TEST ? 'ts' : 'js',
50-
};
51-
5247
// Options for the module-resolver plugin.
5348
// Used for resolving source files during development.
5449
const resolverOptions = {
@@ -60,7 +55,6 @@ module.exports = (api) => {
6055
}
6156
: null),
6257
},
63-
extensions: ['.ts', '.tsx', ...DEFAULT_EXTENSIONS],
6458
};
6559

6660
// Options for the @babel/transform-runtime plugin.
@@ -75,7 +69,6 @@ module.exports = (api) => {
7569
plugins: [
7670
'@babel/plugin-proposal-class-properties',
7771
['@babel/transform-runtime', runtimeOptions],
78-
['add-import-extension', addImportExtensionOptions],
7972
['module-resolver', resolverOptions],
8073
'preserve-comment-header',
8174
...(TEST ? ['istanbul'] : []),

package.json

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,6 @@
4646
"@typescript-eslint/parser": "^4.20.0",
4747
"ajv": "^6.11.0",
4848
"babel-loader": "^8.0.5",
49-
"babel-plugin-add-import-extension": "^1.4.1",
5049
"babel-plugin-istanbul": "^6.0.0",
5150
"babel-plugin-module-resolver": "^4.0.0",
5251
"babel-plugin-preserve-comment-header": "^1.0.1",

packages/dom/src/css.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,8 @@
2222

2323
import optimalSelect from 'optimal-select';
2424
import type { CssSelector, Matcher } from '@apache-annotator/selector';
25-
import { ownerDocument } from './owner-document';
26-
import { toRange } from './to-range';
25+
import { ownerDocument } from './owner-document.js';
26+
import { toRange } from './to-range.js';
2727

2828
/**
2929
* Find the elements corresponding to the given {@link

packages/dom/src/highlight-text.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,8 @@
2020
* under the License.
2121
*/
2222

23-
import { ownerDocument } from './owner-document';
24-
import { toRange } from './to-range';
23+
import { ownerDocument } from './owner-document.js';
24+
import { toRange } from './to-range.js';
2525

2626
/**
2727
* Wrap each text node in a given Node or Range with a `<mark>` or other

packages/dom/src/index.ts

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,8 @@
2020
* under the License.
2121
*/
2222

23-
export * from './css';
24-
export * from './range';
25-
export * from './text-quote';
26-
export * from './text-position';
27-
export * from './highlight-text';
23+
export * from './css.js';
24+
export * from './range/index.js';
25+
export * from './text-quote/index.js';
26+
export * from './text-position/index.js';
27+
export * from './highlight-text.js';

packages/dom/src/normalize-range.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
* under the License.
2121
*/
2222

23-
import { ownerDocument } from './owner-document';
23+
import { ownerDocument } from './owner-document.js';
2424

2525
/**
2626
* TextRange is a Range that guarantees to always have Text nodes as its start

packages/dom/src/range/index.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,4 +20,4 @@
2020
* under the License.
2121
*/
2222

23-
export * from './match';
23+
export * from './match.js';

packages/dom/src/range/match.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,9 +25,9 @@ import type {
2525
RangeSelector,
2626
Selector,
2727
} from '@apache-annotator/selector';
28-
import { ownerDocument } from '../owner-document';
29-
import { toRange } from '../to-range';
30-
import { cartesian } from './cartesian';
28+
import { ownerDocument } from '../owner-document.js';
29+
import { toRange } from '../to-range.js';
30+
import { cartesian } from './cartesian.js';
3131

3232
/**
3333
* Find the range(s) corresponding to the given {@link RangeSelector}.

packages/dom/src/text-node-chunker.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,9 +21,9 @@
2121
*/
2222

2323
import type { Chunk, Chunker, ChunkRange } from '@apache-annotator/selector';
24-
import { normalizeRange } from './normalize-range';
25-
import { ownerDocument } from './owner-document';
26-
import { toRange } from './to-range';
24+
import { normalizeRange } from './normalize-range.js';
25+
import { ownerDocument } from './owner-document.js';
26+
import { toRange } from './to-range.js';
2727

2828
export interface PartialTextNode extends Chunk<string> {
2929
readonly node: Text;

0 commit comments

Comments
 (0)