Skip to content

Commit 49a805f

Browse files
committed
chore: add eslint-plugin-import-x
Enforce import ordering, grouping with newlines between sections, no unnecessary extensions, and other import best practices across the codebase.
1 parent 2e50b0e commit 49a805f

File tree

11 files changed

+249
-20
lines changed

11 files changed

+249
-20
lines changed

eslint.config.js

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
'use strict'
22

3+
const eslintPluginImportX = require('eslint-plugin-import-x')
34
const eslintPluginJs = require('@eslint/js')
45
const eslintPluginN = require('eslint-plugin-n')
56
const eslintPluginStylistic = require('@stylistic/eslint-plugin')
@@ -8,18 +9,28 @@ const globals = require('globals')
89

910
module.exports = [
1011
eslintPluginJs.configs.recommended,
12+
eslintPluginImportX.flatConfigs.recommended,
1113
eslintPluginN.configs['flat/recommended-script'],
1214
eslintPluginStylistic.configs.recommended,
1315
eslintPluginUnicorn.configs.recommended,
1416
{
1517
languageOptions: {
18+
ecmaVersion: 2022,
19+
sourceType: 'commonjs',
1620
globals: {
21+
...globals.es2022,
1722
...globals.node,
1823
},
1924
},
2025
rules: {
2126
'@stylistic/brace-style': ['error', '1tbs'],
2227
'@stylistic/space-before-function-paren': ['error', 'always'],
28+
'import-x/extensions': ['error', 'never', { json: 'always' }],
29+
'import-x/no-absolute-path': 'error',
30+
'import-x/no-webpack-loader-syntax': 'error',
31+
'import-x/order': ['error', {
32+
'newlines-between': 'always',
33+
}],
2334
'n/no-process-exit': 'off', // Duplicate of unicorn/no-process-exit
2435
'unicorn/prefer-module': 'off', // We use CJS
2536
'unicorn/prevent-abbreviations': 'off',

package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@
3333
"@eslint/js": "^10.0.1",
3434
"@stylistic/eslint-plugin": "^5.9.0",
3535
"eslint": "^10.0.2",
36+
"eslint-plugin-import-x": "^4.12.2",
3637
"eslint-plugin-n": "^17.24.0",
3738
"eslint-plugin-unicorn": "^63.0.0",
3839
"globals": "^17.4.0"

test/crashtracker/app-seg-fault.js

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,11 @@
11
'use strict'
22

33
const libdatadog = require('../..')
4-
const crashtracker = libdatadog.load('crashtracker')
4+
55
const { initTestCrashtracker } = require('./test-utils')
66

7+
const crashtracker = libdatadog.load('crashtracker')
8+
79
initTestCrashtracker()
810
crashtracker.beginProfilerSerializing()
911
require('@datadog/segfaultify').segfaultify()

test/crashtracker/app-uncaught-exception-non-error.js

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,11 @@
11
'use strict'
22

33
const libdatadog = require('../..')
4-
const crashtracker = libdatadog.load('crashtracker')
4+
55
const { initTestCrashtracker } = require('./test-utils')
66

7+
const crashtracker = libdatadog.load('crashtracker')
8+
79
initTestCrashtracker()
810
crashtracker.beginProfilerSerializing()
911

test/crashtracker/app-uncaught-exception.js

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,11 @@
11
'use strict'
22

33
const libdatadog = require('../..')
4-
const crashtracker = libdatadog.load('crashtracker')
4+
55
const { initTestCrashtracker } = require('./test-utils')
66

7+
const crashtracker = libdatadog.load('crashtracker')
8+
79
initTestCrashtracker()
810
crashtracker.beginProfilerSerializing()
911

test/crashtracker/app-unhandled-rejection-non-error.js

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,11 @@
11
'use strict'
22

33
const libdatadog = require('../..')
4-
const crashtracker = libdatadog.load('crashtracker')
4+
55
const { initTestCrashtracker } = require('./test-utils')
66

7+
const crashtracker = libdatadog.load('crashtracker')
8+
79
initTestCrashtracker()
810
crashtracker.beginProfilerSerializing()
911

test/crashtracker/app-unhandled-rejection.js

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,11 @@
11
'use strict'
22

33
const libdatadog = require('../..')
4-
const crashtracker = libdatadog.load('crashtracker')
4+
55
const { initTestCrashtracker } = require('./test-utils')
66

7+
const crashtracker = libdatadog.load('crashtracker')
8+
79
initTestCrashtracker()
810
crashtracker.beginProfilerSerializing()
911

test/crashtracker/index.js

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,13 @@
11
'use strict'
22

3+
const assert = require('node:assert')
4+
const { existsSync, rmSync } = require('node:fs')
5+
const path = require('node:path')
36
const { execSync, exec } = require('node:child_process')
47

8+
const bodyParser = require('body-parser')
9+
const express = require('express')
10+
511
const cwd = __dirname
612
const stdio = ['inherit', 'inherit', 'inherit']
713
const uid = process.getuid()
@@ -10,12 +16,6 @@ const opts = { cwd, stdio, uid, gid }
1016

1117
execSync('yarn install', opts)
1218

13-
const express = require('express')
14-
const bodyParser = require('body-parser')
15-
const assert = require('node:assert')
16-
const { existsSync, rmSync } = require('node:fs')
17-
const path = require('node:path')
18-
1919
const app = express()
2020

2121
rmSync(path.join(cwd, 'stdout.log'), { force: true })

test/wasm/datadog-js-zstd/index.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
1-
const loader = require('../../../load.js')
21
const assert = require('node:assert')
32

3+
const loader = require('../../../load')
4+
45
const zstd = loader.load('datadog-js-zstd')
56
assert(zstd !== undefined)
67

test/wasm/library_config/index.js

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
1-
const path = require('node:path')
2-
const fs = require('node:fs')
3-
const loader = require('../../../load.js')
41
const assert = require('node:assert')
2+
const fs = require('node:fs')
3+
const path = require('node:path')
4+
5+
const loader = require('../../../load')
56

67
const libconfig = loader.load('library_config')
78
assert(libconfig !== undefined)

0 commit comments

Comments
 (0)