mirror of
https://github.com/liriliri/eruda.git
synced 2026-02-02 09:49:00 +08:00
chore: update ESLint to v9
This commit is contained in:
20
.eslintrc.js
20
.eslintrc.js
@@ -1,20 +0,0 @@
|
||||
module.exports = {
|
||||
parser: 'babel-eslint',
|
||||
env: {
|
||||
browser: true,
|
||||
commonjs: true,
|
||||
es6: true,
|
||||
},
|
||||
extends: 'eslint:recommended',
|
||||
parserOptions: {
|
||||
sourceType: 'module',
|
||||
},
|
||||
globals: {
|
||||
VERSION: true,
|
||||
ENV: true,
|
||||
},
|
||||
rules: {
|
||||
quotes: ['error', 'single'],
|
||||
'prefer-const': 2,
|
||||
},
|
||||
}
|
||||
@@ -4,6 +4,7 @@ const clean = require('postcss-clean')
|
||||
const webpack = require('webpack')
|
||||
const pkg = require('../package.json')
|
||||
const path = require('path')
|
||||
const ESLintPlugin = require('eslint-webpack-plugin');
|
||||
|
||||
process.traceDeprecation = true
|
||||
|
||||
@@ -34,8 +35,6 @@ module.exports = {
|
||||
entry: './src/index',
|
||||
resolve: {
|
||||
symlinks: false,
|
||||
},
|
||||
resolve: {
|
||||
alias: {
|
||||
axios: path.resolve(__dirname, '../src/lib/empty.js'),
|
||||
micromark: path.resolve(__dirname, '../src/lib/micromark.js'),
|
||||
@@ -82,7 +81,6 @@ module.exports = {
|
||||
],
|
||||
},
|
||||
},
|
||||
'eslint-loader',
|
||||
],
|
||||
},
|
||||
{
|
||||
@@ -105,5 +103,6 @@ module.exports = {
|
||||
new webpack.DefinePlugin({
|
||||
VERSION: '"' + pkg.version + '"',
|
||||
}),
|
||||
new ESLintPlugin()
|
||||
],
|
||||
}
|
||||
|
||||
34
eslint.config.mjs
Normal file
34
eslint.config.mjs
Normal file
@@ -0,0 +1,34 @@
|
||||
import babelEslintParser from '@babel/eslint-parser'
|
||||
import eslintJs from '@eslint/js'
|
||||
import globals from 'globals'
|
||||
|
||||
export default [
|
||||
eslintJs.configs.recommended,
|
||||
{
|
||||
languageOptions: {
|
||||
parser: babelEslintParser,
|
||||
parserOptions: {
|
||||
requireConfigFile: false,
|
||||
babelOptions: {
|
||||
babelrc: false,
|
||||
configFile: false,
|
||||
},
|
||||
},
|
||||
globals: {
|
||||
...globals.builtin,
|
||||
...globals.browser,
|
||||
...globals.commonjs,
|
||||
VERSION: true,
|
||||
ENV: true,
|
||||
},
|
||||
},
|
||||
rules: {
|
||||
quotes: ['error', 'single', { 'avoidEscape': true, 'allowTemplateLiterals': false }],
|
||||
'prefer-const': 2,
|
||||
},
|
||||
},
|
||||
{files: ['build/**/*.js'], languageOptions:{globals: {...globals.node}}},
|
||||
{
|
||||
ignores: ['test','dist','coverage'],
|
||||
}
|
||||
]
|
||||
10
package.json
10
package.json
@@ -14,7 +14,7 @@
|
||||
"dev": "webpack-dev-server --config build/webpack.dev.js --host 0.0.0.0",
|
||||
"test": "karma start",
|
||||
"format": "lsla prettier \"*.{js,ts}\" \"src/**/*.{js,scss,css}\" \"build/*.js\" \"test/*.{js,html}\" --write",
|
||||
"lint": "eslint src/**/*.js",
|
||||
"lint": "eslint .",
|
||||
"lint:fix": "npm run lint -- --fix",
|
||||
"es5": "es-check es5 dist/eruda.js dist/eruda-polyfill.js",
|
||||
"setup": "lsla shx mkdir -p test/lib && lsla shx cp node_modules/jasmine-core/lib/jasmine-core/{jasmine.css,jasmine.js,jasmine-html.js,boot.js} test/lib && lsla shx cp node_modules/jasmine-jquery/lib/jasmine-jquery.js test/lib && lsla shx cp node_modules/jquery/dist/jquery.js test/lib",
|
||||
@@ -37,20 +37,22 @@
|
||||
"homepage": "https://eruda.liriliri.io/",
|
||||
"devDependencies": {
|
||||
"@babel/core": "^7.18.6",
|
||||
"@babel/eslint-parser": "^7.26.10",
|
||||
"@babel/plugin-proposal-class-properties": "^7.18.6",
|
||||
"@babel/plugin-transform-runtime": "^7.18.6",
|
||||
"@babel/preset-env": "^7.18.6",
|
||||
"@babel/runtime": "^7.18.6",
|
||||
"@eslint/js": "^9.22.0",
|
||||
"@jsdevtools/coverage-istanbul-loader": "^3.0.5",
|
||||
"autoprefixer": "^9.7.4",
|
||||
"babel-eslint": "^10.1.0",
|
||||
"babel-loader": "^8.2.5",
|
||||
"chobitsu": "^1.8.4",
|
||||
"core-js": "^3.37.1",
|
||||
"css-loader": "^3.4.2",
|
||||
"es-check": "^6.2.1",
|
||||
"eslint": "^6.8.0",
|
||||
"eslint-loader": "^3.0.3",
|
||||
"eslint": "^9.22.0",
|
||||
"eslint-webpack-plugin": "^5.0.0",
|
||||
"globals": "^16.0.0",
|
||||
"jasmine-core": "^2.99.1",
|
||||
"jasmine-jquery": "^2.1.1",
|
||||
"jquery": "^3.4.1",
|
||||
|
||||
@@ -43,7 +43,7 @@ export default class CssStore {
|
||||
try {
|
||||
// Started with version 64, Chrome does not allow cross origin script to access this property.
|
||||
if (!styleSheet.cssRules) return
|
||||
} catch (e) {
|
||||
} catch {
|
||||
return
|
||||
}
|
||||
|
||||
@@ -53,8 +53,9 @@ export default class CssStore {
|
||||
// Mobile safari will throw DOM Exception 12 error, need to try catch it.
|
||||
try {
|
||||
matchesEl = this._elMatchesSel(cssRule.selectorText)
|
||||
/* eslint-disable no-empty */
|
||||
} catch (e) {}
|
||||
} catch {
|
||||
// No op
|
||||
}
|
||||
|
||||
if (!matchesEl) return
|
||||
|
||||
|
||||
@@ -261,8 +261,9 @@ export default class Elements extends Tool {
|
||||
try {
|
||||
const { node } = chobitsu.domain('DOM').getNode({ nodeId: backendNodeId })
|
||||
this.select(node)
|
||||
/* eslint-disable no-empty */
|
||||
} catch (e) {}
|
||||
} catch {
|
||||
// No op
|
||||
}
|
||||
}
|
||||
_setNode = (node) => {
|
||||
if (node === this._curNode) return
|
||||
|
||||
@@ -18,7 +18,6 @@ export function curlStr(request) {
|
||||
if (platform === 'windows') {
|
||||
platform = 'win'
|
||||
}
|
||||
/* eslint-disable */
|
||||
let command = []
|
||||
const ignoredHeaders = arrToMap([
|
||||
'accept-encoding',
|
||||
@@ -36,7 +35,7 @@ export function curlStr(request) {
|
||||
str
|
||||
.replace(/\\/g, '\\\\')
|
||||
.replace(/"/g, '\\"')
|
||||
.replace(/[^a-zA-Z0-9\s_\-:=+~'\/.',?;()*`&]/g, '^$&')
|
||||
.replace(/[^a-zA-Z0-9\s_\-:=+~'/.',?;()*`&]/g, '^$&')
|
||||
.replace(/%(?=[a-zA-Z0-9_])/g, '%^')
|
||||
.replace(/\r?\n/g, '^\n\n') +
|
||||
encapsChars
|
||||
@@ -54,14 +53,16 @@ export function curlStr(request) {
|
||||
return '\\u' + hexString
|
||||
}
|
||||
|
||||
if (/[\0-\x1F\x7F-\x9F!]|\'/.test(str)) {
|
||||
// eslint-disable-next-line no-control-regex
|
||||
if (/[\0-\x1F\x7F-\x9F!]|'/.test(str)) {
|
||||
return (
|
||||
"$'" +
|
||||
str
|
||||
.replace(/\\/g, '\\\\')
|
||||
.replace(/\'/g, "\\'")
|
||||
.replace(/'/g, "\\'")
|
||||
.replace(/\n/g, '\\n')
|
||||
.replace(/\r/g, '\\r')
|
||||
// eslint-disable-next-line no-control-regex
|
||||
.replace(/[\0-\x1F\x7F-\x9F!]/g, escapeCharacter) +
|
||||
"'"
|
||||
)
|
||||
|
||||
@@ -147,7 +147,7 @@ export default class Cookie {
|
||||
|
||||
try {
|
||||
showSources('object', JSON.parse(val))
|
||||
} catch (e) {
|
||||
} catch {
|
||||
showSources('raw', val)
|
||||
}
|
||||
})
|
||||
|
||||
@@ -174,7 +174,7 @@ export default class Storage {
|
||||
|
||||
try {
|
||||
showSources('object', JSON.parse(val))
|
||||
} catch (e) {
|
||||
} catch {
|
||||
showSources('raw', val)
|
||||
}
|
||||
})
|
||||
|
||||
@@ -220,8 +220,9 @@ export default class Sources extends Tool {
|
||||
if (isStr(val)) {
|
||||
val = JSON.parse(val)
|
||||
}
|
||||
/* eslint-disable no-empty */
|
||||
} catch (e) {}
|
||||
} catch {
|
||||
// No op
|
||||
}
|
||||
|
||||
const objViewer = new LunaObjectViewer(
|
||||
this._$el.find('.eruda-json').get(0),
|
||||
|
||||
@@ -34,7 +34,6 @@ export function hasSafeArea() {
|
||||
}
|
||||
|
||||
export function escapeJsonStr(str) {
|
||||
/* eslint-disable quotes */
|
||||
return escapeJsStr(str).replace(/\\'/g, "'").replace(/\t/g, '\\t')
|
||||
}
|
||||
|
||||
@@ -59,7 +58,7 @@ export function safeStorage(type, memReplacement) {
|
||||
const y = ret.getItem(x)
|
||||
ret.removeItem(x)
|
||||
if (y !== x) throw new Error()
|
||||
} catch (e) {
|
||||
} catch {
|
||||
if (memReplacement) return memStorage
|
||||
return
|
||||
}
|
||||
@@ -116,7 +115,7 @@ export function classPrefix(str) {
|
||||
}
|
||||
})
|
||||
return html.stringify(tree)
|
||||
} catch (e) {
|
||||
} catch {
|
||||
return processClass(str)
|
||||
}
|
||||
}
|
||||
@@ -135,7 +134,7 @@ function traverseTree(tree, handler) {
|
||||
}
|
||||
|
||||
function processClass(str) {
|
||||
const prefix = `eruda-`
|
||||
const prefix = 'eruda-'
|
||||
|
||||
return map(trim(str).split(/\s+/), (singleClass) => {
|
||||
if (contain(singleClass, prefix)) {
|
||||
|
||||
Reference in New Issue
Block a user