Skip to content

Commit feb3e00

Browse files
committed
refactor: drop @pkgr/core as dep
1 parent 2f4e05e commit feb3e00

Some content is hidden

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

49 files changed

+82
-71
lines changed

CHANGELOG.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -317,7 +317,7 @@
317317
export type ResolvedResult = ResultNotFound | ResultFound
318318
```
319319
320-
You will be able to import `NewResolver` from `eslint-plugin-import-x/types`.
320+
You will be able to import `NewResolver` from `eslint-plugin-import-x`.
321321
322322
The most notable change is that `eslint-plugin-import-x` no longer passes the third argument (`options`) to the `resolve` function.
323323

index.d.cts

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
1-
import eslintPluginImportX from './lib/index.js'
1+
import * as eslintPluginImportX from './lib/index.js'
22

33
export = eslintPluginImportX

package.json

-1
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,6 @@
7171
"eslint": "^8.57.0 || ^9.0.0"
7272
},
7373
"dependencies": {
74-
"@pkgr/core": "^0.2.4",
7574
"@typescript-eslint/utils": "^8.31.0",
7675
"comment-parser": "^1.4.1",
7776
"debug": "^4.4.0",

src/index.ts

+3
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ import warnings from './config/warnings.js'
1919
// rules
2020
import { meta } from './meta.js'
2121
import { createNodeResolver } from './node-resolver.js'
22+
import { cjsRequire } from './require.js'
2223
import consistentTypeSpecifierStyle from './rules/consistent-type-specifier-style.js'
2324
import default_ from './rules/default.js'
2425
import dynamicImportChunkname from './rules/dynamic-import-chunkname.js'
@@ -183,6 +184,7 @@ export default {
183184
configs,
184185
flatConfigs,
185186
rules,
187+
cjsRequire,
186188
importXResolverCompat,
187189
createNodeResolver,
188190
}
@@ -192,6 +194,7 @@ export {
192194
configs,
193195
flatConfigs,
194196
rules,
197+
cjsRequire,
195198
importXResolverCompat,
196199
createNodeResolver,
197200
}

src/meta.ts

+1-7
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,4 @@
1-
import { createRequire } from 'node:module'
2-
3-
import type { CjsRequire } from '@pkgr/core'
4-
5-
const cjsRequire: CjsRequire = import.meta.url
6-
? createRequire(import.meta.url)
7-
: /* istanbul ignore next */ require
1+
import { cjsRequire } from './require.js'
82

93
export const { name, version } = cjsRequire<{ name: string; version: string }>(
104
'../package.json',

src/require.ts

+9
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
import { createRequire } from 'node:module'
2+
3+
import type { CjsRequire } from './types.js'
4+
5+
const importMetaUrl = import.meta.url
6+
7+
export const cjsRequire: CjsRequire = importMetaUrl
8+
? createRequire(importMetaUrl)
9+
: /* istanbul ignore next */ require

src/rules/no-duplicates.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
1-
import { cjsRequire } from '@pkgr/core'
21
import type { TSESLint, TSESTree } from '@typescript-eslint/utils'
32
import * as semver from 'semver'
43
import type { PackageJson } from 'type-fest'
54

5+
import { cjsRequire } from '../require.js'
66
import type { RuleContext } from '../types.js'
77
import { createRule, lazy, resolve } from '../utils/index.js'
88

src/rules/no-import-module-exports.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
import path from 'node:path'
22

3-
import { cjsRequire } from '@pkgr/core'
43
import type { TSESLint, TSESTree } from '@typescript-eslint/utils'
54
import { minimatch } from 'minimatch'
65

6+
import { cjsRequire } from '../require.js'
77
import type { RuleContext } from '../types.js'
88
import { createRule, pkgUp } from '../utils/index.js'
99

src/types.ts

+4
Original file line numberDiff line numberDiff line change
@@ -235,3 +235,7 @@ export interface Ranks {
235235
pathGroups: RanksPathGroup[]
236236
maxPosition: number
237237
}
238+
239+
export interface CjsRequire extends NodeJS.Require {
240+
<T>(id: string): T
241+
}

src/utils/export-map.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
import fs from 'node:fs'
22
import path from 'node:path'
33

4-
import { cjsRequire } from '@pkgr/core'
54
import type { TSESLint, TSESTree } from '@typescript-eslint/utils'
65
import type * as commentParser from 'comment-parser'
76
import debug from 'debug'
@@ -11,6 +10,7 @@ import type { TsConfigJsonResolved, TsConfigResult } from 'get-tsconfig'
1110
import { getTsconfig } from 'get-tsconfig'
1211
import { stableHash } from 'stable-hash'
1312

13+
import { cjsRequire } from '../require.js'
1414
import type {
1515
ChildContext,
1616
DocStyle,
@@ -74,7 +74,7 @@ let parseComment_: typeof commentParser.parse | undefined
7474

7575
const parseComment = (comment: string): commentParser.Block => {
7676
parseComment_ ??= cjsRequire<typeof commentParser>('comment-parser').parse
77-
const restored = `/**${comment.split('\n').reduce((acc, line) => {
77+
const restored = `/**${comment.split(/\r?\n/).reduce((acc, line) => {
7878
line = line.trim()
7979
return line && line !== '*' ? acc + '\n ' + line : acc
8080
}, '')}

src/utils/legacy-resolver-settings.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,9 @@
33
import { createRequire } from 'node:module'
44
import path from 'node:path'
55

6-
import { cjsRequire } from '@pkgr/core'
76
import type { LiteralUnion } from 'type-fest'
87

8+
import { cjsRequire } from '../require.js'
99
import type {
1010
NodeResolverOptions,
1111
ResolvedResult,

src/utils/module-require.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import Module from 'node:module'
22
import path from 'node:path'
33

4-
import { cjsRequire } from '@pkgr/core'
4+
import { cjsRequire } from '../require.js'
55

66
function createModule(filename: string) {
77
const mod = new Module(filename)

src/utils/resolve.ts

+4-2
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,10 @@ import {
1818
} from './legacy-resolver-settings.js'
1919
import { ModuleCache } from './module-cache.js'
2020

21-
const _filename = import.meta.url
22-
? fileURLToPath(import.meta.url)
21+
const importMetaUrl = import.meta.url
22+
23+
const _filename = importMetaUrl
24+
? fileURLToPath(importMetaUrl)
2325
: /* istanbul ignore next */ __filename
2426
const _dirname = path.dirname(_filename)
2527

test/fixtures/foo-bar-resolver-v3.js

+17-15
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,19 @@
1+
/** @import {NewResolver} from 'eslint-plugin-import-x' */
2+
13
var path = require('path')
24

3-
exports.foobarResolver =
4-
/** @type {import('eslint-plugin-import-x/types').NewResolver} */ {
5-
name: 'resolver-foo-bar',
6-
interfaceVersion: 3,
7-
resolve(modulePath, sourceFile) {
8-
var sourceFileName = path.basename(sourceFile)
9-
if (sourceFileName === 'foo.js') {
10-
return { found: true, path: path.join(__dirname, 'bar.jsx') }
11-
}
12-
if (sourceFileName === 'exception.js') {
13-
throw new Error('foo-bar-resolver-v3 resolve test exception')
14-
}
15-
return { found: false }
16-
},
17-
}
5+
/** @type {NewResolver} */
6+
exports.foobarResolver = {
7+
name: 'resolver-foo-bar',
8+
interfaceVersion: 3,
9+
resolve(modulePath, sourceFile) {
10+
var sourceFileName = path.basename(sourceFile)
11+
if (sourceFileName === 'foo.js') {
12+
return { found: true, path: path.join(__dirname, 'bar.jsx') }
13+
}
14+
if (sourceFileName === 'exception.js') {
15+
throw new Error('foo-bar-resolver-v3 resolve test exception')
16+
}
17+
return { found: false }
18+
},
19+
}

test/rules/consistent-type-specifier-style.spec.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
1-
import { cjsRequire } from '@pkgr/core'
21
import { RuleTester as TSESLintRuleTester } from '@typescript-eslint/rule-tester'
32
import { AST_NODE_TYPES } from '@typescript-eslint/utils'
43

54
import { parsers, createRuleTestCaseFunctions } from '../utils.js'
65
import type { RuleRunTests } from '../utils.js'
76

7+
import { cjsRequire } from 'eslint-plugin-import-x'
88
import rule from 'eslint-plugin-import-x/rules/consistent-type-specifier-style'
99

1010
const { tValid } = createRuleTestCaseFunctions<typeof rule>()

test/rules/default.spec.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
import path from 'node:path'
22
import { fileURLToPath } from 'node:url'
33

4-
import { cjsRequire as require } from '@pkgr/core'
54
import { RuleTester as TSESLintRuleTester } from '@typescript-eslint/rule-tester'
65

76
import {
@@ -11,6 +10,7 @@ import {
1110
} from '../utils.js'
1211
import type { RuleRunTests } from '../utils.js'
1312

13+
import { cjsRequire as require } from 'eslint-plugin-import-x'
1414
import rule from 'eslint-plugin-import-x/rules/default'
1515
import { CASE_SENSITIVE_FS } from 'eslint-plugin-import-x/utils'
1616

test/rules/dynamic-import-chunkname.spec.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
1-
import { cjsRequire } from '@pkgr/core'
21
import { RuleTester as TSESLintRuleTester } from '@typescript-eslint/rule-tester'
32
import { AST_NODE_TYPES } from '@typescript-eslint/utils'
43
import type { TSESLint } from '@typescript-eslint/utils'
54

65
import { SYNTAX_VALID_CASES, parsers } from '../utils.js'
76
import type { GetRuleModuleOptions, RuleRunTests } from '../utils.js'
87

8+
import { cjsRequire } from 'eslint-plugin-import-x'
99
import rule from 'eslint-plugin-import-x/rules/dynamic-import-chunkname'
1010

1111
const ruleTester = new TSESLintRuleTester()

test/rules/export.spec.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
import { cjsRequire } from '@pkgr/core'
21
import { RuleTester as TSESLintRuleTester } from '@typescript-eslint/rule-tester'
32

43
import {
@@ -9,6 +8,7 @@ import {
98
} from '../utils.js'
109
import type { RuleRunTests } from '../utils.js'
1110

11+
import { cjsRequire } from 'eslint-plugin-import-x'
1212
import rule from 'eslint-plugin-import-x/rules/export'
1313

1414
const ruleTester = new TSESLintRuleTester()

test/rules/first.spec.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
import fs from 'node:fs'
22

3-
import { cjsRequire } from '@pkgr/core'
43
import { RuleTester as TSESLintRuleTester } from '@typescript-eslint/rule-tester'
54

65
import { createRuleTestCaseFunctions, parsers, testFilePath } from '../utils.js'
76

7+
import { cjsRequire } from 'eslint-plugin-import-x'
88
import rule from 'eslint-plugin-import-x/rules/first'
99

1010
const ruleTester = new TSESLintRuleTester()

test/rules/group-exports.spec.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
1-
import { cjsRequire } from '@pkgr/core'
21
import { RuleTester as TSESLintRuleTester } from '@typescript-eslint/rule-tester'
32

43
import { createRuleTestCaseFunctions, parsers } from '../utils.js'
54

5+
import { cjsRequire } from 'eslint-plugin-import-x'
66
import rule from 'eslint-plugin-import-x/rules/group-exports'
77

88
const ruleTester = new TSESLintRuleTester({

test/rules/max-dependencies.spec.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
1-
import { cjsRequire as require } from '@pkgr/core'
21
import { RuleTester as TSESLintRuleTester } from '@typescript-eslint/rule-tester'
32

43
import { parsers, createRuleTestCaseFunctions } from '../utils.js'
54

5+
import { cjsRequire as require } from 'eslint-plugin-import-x'
66
import rule from 'eslint-plugin-import-x/rules/max-dependencies'
77

88
const ruleTester = new TSESLintRuleTester()

test/rules/named.spec.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
import path from 'node:path'
22
import { fileURLToPath } from 'node:url'
33

4-
import { cjsRequire as require } from '@pkgr/core'
54
import { RuleTester as TSESLintRuleTester } from '@typescript-eslint/rule-tester'
65
import type { TestCaseError as TSESLintTestCaseError } from '@typescript-eslint/rule-tester'
76
import type { AST_NODE_TYPES } from '@typescript-eslint/utils'
@@ -14,6 +13,7 @@ import {
1413
} from '../utils.js'
1514
import type { RuleRunTests, GetRuleModuleMessageIds } from '../utils.js'
1615

16+
import { cjsRequire as require } from 'eslint-plugin-import-x'
1717
import rule from 'eslint-plugin-import-x/rules/named'
1818
import { CASE_SENSITIVE_FS } from 'eslint-plugin-import-x/utils'
1919

test/rules/namespace.spec.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
import { cjsRequire as require } from '@pkgr/core'
21
import { RuleTester as TSESLintRuleTester } from '@typescript-eslint/rule-tester'
32
import type { TestCaseError as TSESLintTestCaseError } from '@typescript-eslint/rule-tester'
43
import { AST_NODE_TYPES } from '@typescript-eslint/utils'
@@ -11,6 +10,7 @@ import {
1110
} from '../utils.js'
1211
import type { GetRuleModuleMessageIds, RuleRunTests } from '../utils.js'
1312

13+
import { cjsRequire as require } from 'eslint-plugin-import-x'
1414
import rule from 'eslint-plugin-import-x/rules/namespace'
1515

1616
const ruleTester = new TSESLintRuleTester({

test/rules/newline-after-import.spec.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
1-
import { cjsRequire as require } from '@pkgr/core'
21
import { RuleTester as TSESLintRuleTester } from '@typescript-eslint/rule-tester'
32
import type { TestCaseError as TSESLintTestCaseError } from '@typescript-eslint/rule-tester'
43

54
import { parsers } from '../utils.js'
65
import type { GetRuleModuleMessageIds } from '../utils.js'
76

7+
import { cjsRequire as require } from 'eslint-plugin-import-x'
88
import rule from 'eslint-plugin-import-x/rules/newline-after-import'
99

1010
const ruleTester = new TSESLintRuleTester()

test/rules/no-absolute-path.spec.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
1-
import { cjsRequire as require } from '@pkgr/core'
21
import { RuleTester as TSESLintRuleTester } from '@typescript-eslint/rule-tester'
32
import type { TestCaseError as TSESLintTestCaseError } from '@typescript-eslint/rule-tester'
43

54
import { createRuleTestCaseFunctions, parsers } from '../utils.js'
65
import type { GetRuleModuleMessageIds } from '../utils.js'
76

7+
import { cjsRequire as require } from 'eslint-plugin-import-x'
88
import rule from 'eslint-plugin-import-x/rules/no-absolute-path'
99

1010
const ruleTester = new TSESLintRuleTester()

test/rules/no-anonymous-default-export.spec.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
import { cjsRequire } from '@pkgr/core'
21
import { RuleTester as TSESLintRuleTester } from '@typescript-eslint/rule-tester'
32
import type { TestCaseError as TSESLintTestCaseError } from '@typescript-eslint/rule-tester'
43

@@ -9,6 +8,7 @@ import {
98
} from '../utils.js'
109
import type { GetRuleModuleMessageIds, RuleRunTests } from '../utils.js'
1110

11+
import { cjsRequire } from 'eslint-plugin-import-x'
1212
import rule from 'eslint-plugin-import-x/rules/no-anonymous-default-export'
1313

1414
const ruleTester = new TSESLintRuleTester()

test/rules/no-cycle.spec.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
1-
import { cjsRequire as require } from '@pkgr/core'
21
import { RuleTester as TSESLintRuleTester } from '@typescript-eslint/rule-tester'
32
import type { TestCaseError as TSESLintTestCaseError } from '@typescript-eslint/rule-tester'
43

54
import { createRuleTestCaseFunctions, parsers, testFilePath } from '../utils.js'
65
import type { GetRuleModuleMessageIds } from '../utils.js'
76

7+
import { cjsRequire as require } from 'eslint-plugin-import-x'
88
import rule from 'eslint-plugin-import-x/rules/no-cycle'
99

1010
const ruleTester = new TSESLintRuleTester()

test/rules/no-default-export.spec.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
1-
import { cjsRequire as require } from '@pkgr/core'
21
import { RuleTester as TSESLintRuleTester } from '@typescript-eslint/rule-tester'
32
import type { TestCaseError as TSESLintTestCaseError } from '@typescript-eslint/rule-tester'
43
import type { AST_NODE_TYPES } from '@typescript-eslint/utils'
54

65
import { parsers, createRuleTestCaseFunctions } from '../utils.js'
76
import type { GetRuleModuleMessageIds } from '../utils.js'
87

8+
import { cjsRequire as require } from 'eslint-plugin-import-x'
99
import rule from 'eslint-plugin-import-x/rules/no-default-export'
1010

1111
const ruleTester = new TSESLintRuleTester()

test/rules/no-duplicates.spec.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
import path from 'node:path'
22

3-
import { cjsRequire as require } from '@pkgr/core'
43
import { RuleTester as TSESLintRuleTester } from '@typescript-eslint/rule-tester'
54
import type { TestCaseError as TSESLintTestCaseError } from '@typescript-eslint/rule-tester'
65

@@ -12,6 +11,7 @@ import {
1211
} from '../utils.js'
1312
import type { GetRuleModuleMessageIds, RuleRunTests } from '../utils.js'
1413

14+
import { cjsRequire as require } from 'eslint-plugin-import-x'
1515
import jsxConfig from 'eslint-plugin-import-x/config/flat/react'
1616
import rule from 'eslint-plugin-import-x/rules/no-duplicates'
1717

test/rules/no-dynamic-require.spec.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
1-
import { cjsRequire } from '@pkgr/core'
21
import { RuleTester as TSESLintRuleTester } from '@typescript-eslint/rule-tester'
32
import type { TSESLint } from '@typescript-eslint/utils'
43

54
import { parsers, createRuleTestCaseFunctions } from '../utils.js'
65

6+
import { cjsRequire } from 'eslint-plugin-import-x'
77
import rule from 'eslint-plugin-import-x/rules/no-dynamic-require'
88

99
const ruleTester = new TSESLintRuleTester()

0 commit comments

Comments
 (0)