forked from AxisCommunications/media-stream-library-js
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path.eslint-import-groups.cjs
34 lines (31 loc) · 907 Bytes
/
.eslint-import-groups.cjs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
const packageJsons = ['./overlay', './player', './streams'].map((path) =>
require(path + '/package.json')
)
const externalDeps = [
...new Set(
packageJsons
.flatMap(({ dependencies, peerDependencies, devDependencies }) => {
return [
...Object.keys(dependencies ?? {}),
...Object.keys(peerDependencies ?? {}),
...Object.keys(devDependencies ?? {}),
]
})
.map((dep) => dep.replace(/\/.*$/, ''))
),
].sort()
const reactDeps = ['react', 'react-dom']
const baseUrlPatterns = ['^[a-z_]']
const parentPatterns = ['^\\.\\.']
const siblingPatterns = ['^\\.']
const nakedImports = ['^\\u0000']
const explicitNodeImports = ['^node:']
module.exports = [
nakedImports,
explicitNodeImports,
reactDeps.map((dep) => `^${dep}(\\/|$)`),
externalDeps.map((dep) => `^${dep}(\\/|$)`),
baseUrlPatterns,
parentPatterns,
siblingPatterns,
]