Skip to content

Commit a3067b9

Browse files
authored
Merge pull request #159 from bmish/esm
Convert to ESM
2 parents 24565e4 + c0fa19c commit a3067b9

File tree

14 files changed

+41
-29
lines changed

14 files changed

+41
-29
lines changed

.eslintrc.js renamed to .eslintrc.cjs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,11 @@ module.exports = {
1414
tryExtensions: ['.js', '.json', '.node', '.ts', '.d.ts'],
1515
},
1616
},
17+
rules: {
18+
'import/extensions': 'off', // extensions now recommended in ESM
19+
20+
'node/no-missing-import': 'off', // bug with recognizing node: prefix https://github.com/mysticatea/eslint-plugin-node/issues/275
21+
},
1722
overrides: [
1823
{
1924
files: ['test/**/*.js'],

bin/check-dependency-version-consistency.ts

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,15 +2,18 @@
22
/* eslint node/shebang:"off" -- shebang needed so compiled code gets interpreted as JS */
33

44
import { Command } from 'commander';
5-
import { readFileSync } from 'fs';
5+
import { readFileSync } from 'node:fs';
66
import {
77
calculateVersionsForEachDependency,
88
calculateMismatchingVersions,
99
filterOutIgnoredDependencies,
10-
} from '../lib/dependency-versions';
11-
import { mismatchingVersionsToOutputLines } from '../lib/output';
12-
import { join } from 'path';
10+
} from '../lib/dependency-versions.js';
11+
import { mismatchingVersionsToOutputLines } from '../lib/output.js';
12+
import { join, dirname } from 'node:path';
1313
import type { PackageJson } from 'type-fest';
14+
import { fileURLToPath } from 'node:url';
15+
16+
const __dirname = dirname(fileURLToPath(import.meta.url));
1417

1518
function getCurrentPackageVersion(): string {
1619
const packageJson: PackageJson = JSON.parse(

lib/dependency-versions.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
import { readFileSync, existsSync } from 'fs';
1+
import { readFileSync, existsSync } from 'node:fs';
22
import type { PackageJson } from 'type-fest';
3-
import { getPackageJsonPaths } from './workspace';
3+
import { getPackageJsonPaths } from './workspace.js';
44

55
export type DependenciesToVersionsSeen = Map<
66
string,

lib/fs.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { readdirSync } from 'fs';
1+
import { readdirSync } from 'node:fs';
22

33
export function getDirectoriesInPath(path: string): string[] {
44
return readdirSync(path, { withFileTypes: true })

lib/output.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import type { MismatchingDependencyVersions } from './dependency-versions';
1+
import type { MismatchingDependencyVersions } from './dependency-versions.js';
22

33
export function mismatchingVersionsToOutputLines(
44
mismatchingDependencyVersions: MismatchingDependencyVersions

lib/workspace.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
import { join } from 'path';
2-
import { existsSync, readFileSync } from 'fs';
3-
import { getDirectoriesInPath } from './fs';
4-
import { flatMap } from './js';
1+
import { join } from 'node:path';
2+
import { existsSync, readFileSync } from 'node:fs';
3+
import { getDirectoriesInPath } from './fs.js';
4+
import { flatMap } from './js.js';
55
import type { PackageJson } from 'type-fest';
66

77
export function getPackageJsonPaths(root: string): string[] {

package.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
"url": "https://github.com/bmish/check-dependency-version-consistency.git"
1616
},
1717
"license": "MIT",
18+
"type": "module",
1819
"bin": {
1920
"check-dependency-version-consistency": "dist/bin/check-dependency-version-consistency.js"
2021
},
@@ -27,7 +28,7 @@
2728
"lint:types": "tsc",
2829
"prepublishOnly": "tsc",
2930
"release": "release-it",
30-
"test": "nyc mocha -r ts-node/register 'test/**/*.ts'"
31+
"test": "node --loader ts-node/esm node_modules/mocha/lib/cli/cli --extension ts --recursive test"
3132
},
3233
"nyc": {
3334
"branches": 100,

test/fixtures/index.ts

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,7 @@
1-
import { join } from 'path';
1+
import { join, dirname } from 'node:path';
2+
import { fileURLToPath } from 'node:url';
3+
4+
const __dirname = dirname(fileURLToPath(import.meta.url));
25

36
const FIXTURE_PATH = join(__dirname, '..', '/fixtures');
47

test/lib/dependency-versions.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,15 +3,15 @@ import {
33
calculateVersionsForEachDependency,
44
calculateMismatchingVersions,
55
filterOutIgnoredDependencies,
6-
} from '../../lib/dependency-versions';
7-
import { deepStrictEqual, throws } from 'assert';
6+
} from '../../lib/dependency-versions.js';
7+
import { deepStrictEqual, throws } from 'node:assert';
88
import {
99
FIXTURE_PATH_VALID,
1010
FIXTURE_PATH_INCONSISTENT_VERSIONS,
1111
FIXTURE_PATH_NO_PACKAGES,
1212
FIXTURE_PATH_NO_DEPENDENCIES,
1313
FIXTURE_PATH_PACKAGE_MISSING_PACKAGE_JSON,
14-
} from '../fixtures';
14+
} from '../fixtures/index.js';
1515

1616
describe('Utils | dependency-versions', function () {
1717
describe('#calculateMismatchingVersions', function () {

test/lib/fs.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import 'mocha'; // eslint-disable-line import/no-unassigned-import -- to get Mocha types to work
2-
import { getDirectoriesInPath } from '../../lib/fs';
3-
import { deepStrictEqual } from 'assert';
4-
import { FIXTURE_PATH_VALID } from '../fixtures';
2+
import { getDirectoriesInPath } from '../../lib/fs.js';
3+
import { deepStrictEqual } from 'node:assert';
4+
import { FIXTURE_PATH_VALID } from '../fixtures/index.js';
55

66
describe('Utils | fs', function () {
77
describe('#getDirectoriesInPath', function () {

0 commit comments

Comments
 (0)