mirror of
https://github.com/zen-browser/pdf.js.git
synced 2025-07-08 01:10:08 +02:00
With these changes SystemJS is now only used, during development, on the worker-thread and in the unit/font-tests, since Firefox is currently missing support for worker modules; please see https://bugzilla.mozilla.org/show_bug.cgi?id=1247687 Hence all the JavaScript files in the `web/` and `src/display/` folders are now loaded *natively* by the browser (during development) using standard `import` statements/calls, thanks to a nice `import-maps` polyfill. *Please note:* As soon as https://bugzilla.mozilla.org/show_bug.cgi?id=1247687 is fixed in Firefox, we should be able to remove all traces of SystemJS and thus finally be able to use every possible modern JavaScript feature.
195 lines
5.5 KiB
Text
195 lines
5.5 KiB
Text
{
|
|
"parserOptions": {
|
|
"ecmaVersion": 2020,
|
|
"sourceType": "module",
|
|
},
|
|
|
|
"plugins": [
|
|
"import",
|
|
"mozilla",
|
|
"no-unsanitized",
|
|
"unicorn",
|
|
],
|
|
|
|
"extends": [
|
|
"plugin:prettier/recommended"
|
|
],
|
|
|
|
"env": {
|
|
"browser": true,
|
|
"es2020": true,
|
|
"worker": true,
|
|
"amd": true,
|
|
},
|
|
|
|
"globals": {
|
|
"PDFJSDev": false,
|
|
"exports": false,
|
|
"SystemJS": false,
|
|
},
|
|
|
|
"rules": {
|
|
// Plugins
|
|
"import/extensions": ["error", "always", { "ignorePackages": true, }],
|
|
"import/no-unresolved": "error",
|
|
"mozilla/avoid-removeChild": "error",
|
|
"mozilla/use-includes-instead-of-indexOf": "error",
|
|
"no-unsanitized/method": "error",
|
|
"no-unsanitized/property": "error",
|
|
"unicorn/no-array-instanceof": "error",
|
|
"unicorn/prefer-starts-ends-with": "error",
|
|
|
|
// Possible errors
|
|
"for-direction": "error",
|
|
"getter-return": "error",
|
|
"no-async-promise-executor": "error",
|
|
"no-cond-assign": ["error", "except-parens"],
|
|
"no-constant-condition": ["error", { "checkLoops": false, }],
|
|
"no-dupe-args": "error",
|
|
"no-dupe-else-if": "error",
|
|
"no-dupe-keys": "error",
|
|
"no-duplicate-case": "error",
|
|
"no-empty": ["error", { "allowEmptyCatch": true, }],
|
|
"no-ex-assign": "error",
|
|
"no-extra-boolean-cast": "error",
|
|
"no-func-assign": "error",
|
|
"no-inner-declarations": ["error", "functions"],
|
|
"no-invalid-regexp": "error",
|
|
"no-irregular-whitespace": "error",
|
|
"no-obj-calls": "error",
|
|
"no-regex-spaces": "error",
|
|
"no-setter-return": "error",
|
|
"no-sparse-arrays": "error",
|
|
"no-unexpected-multiline": "error",
|
|
"no-unreachable": "error",
|
|
"no-unsafe-finally": "error",
|
|
"no-unsafe-negation": "error",
|
|
"use-isnan": ["error", { "enforceForIndexOf": true, }],
|
|
"valid-typeof": ["error", { "requireStringLiterals": true, }],
|
|
|
|
// Best Practices
|
|
"accessor-pairs": ["error", {
|
|
"setWithoutGet": true,
|
|
"enforceForClassMembers": true,
|
|
}],
|
|
"consistent-return": "error",
|
|
"curly": ["error", "all"],
|
|
"default-case-last": "error",
|
|
"dot-notation": "error",
|
|
"eqeqeq": ["error", "always"],
|
|
"grouped-accessor-pairs": ["error", "getBeforeSet"],
|
|
"no-caller": "error",
|
|
"no-else-return": "error",
|
|
"no-empty-pattern": "error",
|
|
"no-eval": "error",
|
|
"no-extend-native": "error",
|
|
"no-extra-bind": "error",
|
|
"no-extra-label": "error",
|
|
"no-fallthrough": "error",
|
|
"no-floating-decimal": "error",
|
|
"no-global-assign": "error",
|
|
"no-implied-eval": "error",
|
|
"no-iterator": "error",
|
|
"no-lone-blocks": "error",
|
|
"no-multi-str": "error",
|
|
"no-new-func": "error",
|
|
"no-new-wrappers": "error",
|
|
"no-new": "error",
|
|
"no-octal-escape": "error",
|
|
"no-octal": "error",
|
|
"no-redeclare": "error",
|
|
"no-return-await": "error",
|
|
"no-self-assign": "error",
|
|
"no-self-compare": "error",
|
|
"no-throw-literal": "error",
|
|
"no-unused-expressions": "error",
|
|
"no-unused-labels": "error",
|
|
"no-useless-call": "error",
|
|
"no-useless-catch": "error",
|
|
"no-useless-concat": "error",
|
|
"no-useless-return": "error",
|
|
"prefer-promise-reject-errors": "error",
|
|
"wrap-iife": ["error", "any"],
|
|
"yoda": ["error", "never", {
|
|
"exceptRange": true,
|
|
}],
|
|
|
|
// Strict Mode
|
|
"strict": ["off", "global"],
|
|
|
|
// Variables
|
|
"no-catch-shadow": "error",
|
|
"no-delete-var": "error",
|
|
"no-label-var": "error",
|
|
"no-shadow": "error",
|
|
"no-shadow-restricted-names": "error",
|
|
"no-undef-init": "error",
|
|
"no-undef": ["error", { "typeof": true, }],
|
|
"no-unused-vars": ["error", {
|
|
"vars": "local",
|
|
"args": "none",
|
|
}],
|
|
|
|
// Node.js and CommonJS
|
|
"no-buffer-constructor": "error",
|
|
|
|
// Stylistic Issues
|
|
"lines-between-class-members": ["error", "always"],
|
|
"max-len": ["error", {
|
|
"code": 1000,
|
|
"comments": 80,
|
|
"ignoreUrls": true
|
|
}],
|
|
"new-cap": ["error", { "newIsCap": true, "capIsNew": false, }],
|
|
"no-array-constructor": "error",
|
|
"no-multiple-empty-lines": ["error", { "max": 1, "maxEOF": 0, "maxBOF": 1, }],
|
|
"no-nested-ternary": "error",
|
|
"no-new-object": "error",
|
|
"no-restricted-syntax": ["error",
|
|
{
|
|
"selector": "CallExpression[callee.name='assert'][arguments.length!=2]",
|
|
"message": "`assert()` must always be invoked with two arguments.",
|
|
},
|
|
{
|
|
"selector": "NewExpression[callee.name='Cmd']",
|
|
"message": "Use `Cmd.get()` rather than `new Cmd()`.",
|
|
},
|
|
{
|
|
"selector": "NewExpression[callee.name='Name']",
|
|
"message": "Use `Name.get()` rather than `new Name()`.",
|
|
},
|
|
{
|
|
"selector": "NewExpression[callee.name='Ref']",
|
|
"message": "Use `Ref.get()` rather than `new Ref()`.",
|
|
},
|
|
],
|
|
"no-unneeded-ternary": "error",
|
|
"prefer-exponentiation-operator": "error",
|
|
"spaced-comment": ["error", "always", {
|
|
"block": {
|
|
"balanced": true,
|
|
}
|
|
}],
|
|
|
|
// ECMAScript 6
|
|
"constructor-super": "error",
|
|
"no-class-assign": "error",
|
|
"no-confusing-arrow": "error",
|
|
"no-const-assign": "error",
|
|
"no-dupe-class-members": "error",
|
|
"no-duplicate-imports": "error",
|
|
"no-this-before-super": "error",
|
|
"no-useless-computed-key": "error",
|
|
"no-useless-constructor": "error",
|
|
"no-useless-rename": "error",
|
|
"no-var": "off",
|
|
"object-shorthand": ["error", "always", {
|
|
"avoidQuotes": true,
|
|
}],
|
|
"prefer-const": "error",
|
|
"sort-imports": ["error", {
|
|
"ignoreCase": true,
|
|
}],
|
|
"template-curly-spacing": ["error", "never"],
|
|
},
|
|
}
|