Refactor and enhance type safety across various modules
- Updated function parameters and return types in `page-preview.ts`, `pdf-decrypt.ts`, and `pymupdf-loader.ts` for improved type safety. - Introduced type definitions for `CpdfInstance`, `PyMuPDFInstance`, and other related types to ensure better type checking. - Enhanced error handling in `sanitize.ts` by creating a utility function for error messages. - Removed unnecessary type assertions and improved type inference in `editor.ts`, `serialization.ts`, and `tools.test.ts`. - Added type definitions for markdown-it plugins to improve compatibility and type safety. - Enforced stricter TypeScript settings by enabling `noImplicitAny` in `tsconfig.json`. - Cleaned up test files by refining type assertions and ensuring consistency in type usage.
This commit is contained in:
@@ -1,47 +1,63 @@
|
||||
import globals from "globals";
|
||||
import pluginJs from "@eslint/js";
|
||||
import tseslint from "typescript-eslint";
|
||||
import eslintConfigPrettier from "eslint-config-prettier";
|
||||
import globals from 'globals';
|
||||
import pluginJs from '@eslint/js';
|
||||
import tseslint from 'typescript-eslint';
|
||||
import eslintConfigPrettier from 'eslint-config-prettier';
|
||||
|
||||
export default [
|
||||
{ files: ["**/*.{js,mjs,cjs,ts}"] },
|
||||
{ ignores: ["dist/**", "coverage/**", "node_modules/**", "**/.vitepress/cache/**", "public/**/*.min.js"] },
|
||||
{ languageOptions: { globals: { ...globals.browser, ...globals.node } } },
|
||||
pluginJs.configs.recommended,
|
||||
...tseslint.configs.recommended,
|
||||
eslintConfigPrettier,
|
||||
{
|
||||
rules: {
|
||||
"@typescript-eslint/no-explicit-any": "warn",
|
||||
"@typescript-eslint/no-unused-vars": ["warn", { "argsIgnorePattern": "^_" }],
|
||||
"@typescript-eslint/no-unused-expressions": "warn",
|
||||
"no-redeclare": "warn",
|
||||
"no-constant-condition": "warn",
|
||||
"no-ex-assign": "warn",
|
||||
"no-empty": "warn",
|
||||
"no-case-declarations": "warn",
|
||||
"@typescript-eslint/no-this-alias": "warn",
|
||||
"no-func-assign": "warn",
|
||||
"no-fallthrough": "warn",
|
||||
"no-cond-assign": "warn",
|
||||
"no-irregular-whitespace": "warn",
|
||||
"no-prototype-builtins": "warn",
|
||||
"no-undef": "warn",
|
||||
"no-useless-escape": "warn",
|
||||
"no-unsafe-finally": "warn",
|
||||
"no-self-assign": "warn",
|
||||
"no-control-regex": "warn",
|
||||
"@typescript-eslint/no-require-imports": "warn",
|
||||
"getter-return": "warn",
|
||||
"no-constant-binary-expression": "warn",
|
||||
"@typescript-eslint/ban-ts-comment": "warn",
|
||||
"no-unused-private-class-members": "warn",
|
||||
"no-unreachable": "warn",
|
||||
"no-setter-return": "warn",
|
||||
"no-useless-catch": "warn",
|
||||
"valid-typeof": "warn",
|
||||
"no-sparse-arrays": "warn",
|
||||
"no-misleading-character-class": "warn"
|
||||
}
|
||||
}
|
||||
{ files: ['**/*.{js,mjs,cjs,ts}'] },
|
||||
{
|
||||
ignores: [
|
||||
'dist/**',
|
||||
'coverage/**',
|
||||
'node_modules/**',
|
||||
'**/.vitepress/cache/**',
|
||||
'public/**/*.min.js',
|
||||
],
|
||||
},
|
||||
{ languageOptions: { globals: { ...globals.browser, ...globals.node } } },
|
||||
pluginJs.configs.recommended,
|
||||
...tseslint.configs.recommended,
|
||||
eslintConfigPrettier,
|
||||
{
|
||||
rules: {
|
||||
'@typescript-eslint/no-explicit-any': 'warn',
|
||||
'@typescript-eslint/no-unused-vars': [
|
||||
'warn',
|
||||
{
|
||||
argsIgnorePattern: '^_',
|
||||
varsIgnorePattern: '^_',
|
||||
caughtErrorsIgnorePattern: '^_',
|
||||
destructuredArrayIgnorePattern: '^_',
|
||||
},
|
||||
],
|
||||
'@typescript-eslint/no-unused-expressions': 'warn',
|
||||
'no-redeclare': 'warn',
|
||||
'no-constant-condition': 'warn',
|
||||
'no-ex-assign': 'warn',
|
||||
'no-empty': 'warn',
|
||||
'no-case-declarations': 'warn',
|
||||
'@typescript-eslint/no-this-alias': 'warn',
|
||||
'no-func-assign': 'warn',
|
||||
'no-fallthrough': 'warn',
|
||||
'no-cond-assign': 'warn',
|
||||
'no-irregular-whitespace': 'warn',
|
||||
'no-prototype-builtins': 'warn',
|
||||
'no-undef': 'warn',
|
||||
'no-useless-escape': 'warn',
|
||||
'no-unsafe-finally': 'warn',
|
||||
'no-self-assign': 'warn',
|
||||
'no-control-regex': 'warn',
|
||||
'@typescript-eslint/no-require-imports': 'warn',
|
||||
'getter-return': 'warn',
|
||||
'no-constant-binary-expression': 'warn',
|
||||
'@typescript-eslint/ban-ts-comment': 'warn',
|
||||
'no-unused-private-class-members': 'warn',
|
||||
'no-unreachable': 'warn',
|
||||
'no-setter-return': 'warn',
|
||||
'no-useless-catch': 'warn',
|
||||
'valid-typeof': 'warn',
|
||||
'no-sparse-arrays': 'warn',
|
||||
'no-misleading-character-class': 'warn',
|
||||
},
|
||||
},
|
||||
];
|
||||
|
||||
Reference in New Issue
Block a user