- Refactoring (minor): Add favicon to canvas demo
- Linting (ESLint Markdown JavaScript): Add `eslint-plugin-markdown` with
slightly loosened config (`no-undef` and `padded-blocks` off and
`no-unused-vars` as a warning)
- Linting (ESLint JSDoc code comments): Add `eslint-plugin-jsdoc` and apply to
JSDoc code comments
- Linting (ESLint): Completely avoid unescaped tabs in files
- Docs (Linting): Add linting info file
- npm: Rename `copy-deps` script to `copy`
- Refactoring: Add stackblur-canvas as a dependency and copy it in (until such time as we can do so for canvg)
87 lines
2.3 KiB
Plaintext
87 lines
2.3 KiB
Plaintext
{
|
|
"extends": [
|
|
"standard", "plugin:compat/recommended",
|
|
"plugin:qunit/recommended", "plugin:testcafe/recommended"
|
|
],
|
|
"parserOptions": {
|
|
"sourceType": "module"
|
|
},
|
|
"plugins": ["compat", "qunit", "testcafe", "jsdoc", "markdown"],
|
|
"env": {
|
|
"node": false,
|
|
"browser": true
|
|
},
|
|
"settings": {
|
|
"polyfills": ["url", "promises", "fetch", "queryselector"],
|
|
"jsdoc": {
|
|
"additionalTagNames": {
|
|
"customTags": []
|
|
},
|
|
"tagNamePreference": {
|
|
"arg": "param",
|
|
"return": "returns"
|
|
},
|
|
"allowOverrideWithoutParam": true,
|
|
"allowImplementsWithoutParam": true,
|
|
"allowAugmentsExtendsWithoutParam": true
|
|
}
|
|
},
|
|
"overrides": [{
|
|
"files": ["**/*.md"],
|
|
"rules": {
|
|
"no-undef": ["off"],
|
|
"no-unused-vars": ["warn"],
|
|
"padded-blocks": ["off"]
|
|
}
|
|
}],
|
|
"rules": {
|
|
"semi": [2, "always"],
|
|
"indent": ["error", 2, {"outerIIFEBody": 0}],
|
|
"object-property-newline": 0,
|
|
"one-var": 0,
|
|
"no-var": 2,
|
|
"prefer-const": 2,
|
|
"no-extra-semi": 2,
|
|
"quote-props": [2, "as-needed"],
|
|
"object-curly-spacing": ["error", "never"],
|
|
"jsdoc/check-param-names": 1,
|
|
"jsdoc/check-tag-names": 1,
|
|
"jsdoc/check-types": 1,
|
|
"jsdoc/newline-after-description": 0,
|
|
"jsdoc/require-description": 0,
|
|
"jsdoc/require-description-complete-sentence": 0,
|
|
"jsdoc/require-example": 0,
|
|
"jsdoc/require-hyphen-before-param-description": 0,
|
|
"jsdoc/require-param-description": 0,
|
|
"jsdoc/require-param": 1,
|
|
"jsdoc/require-param-name": 1,
|
|
"jsdoc/require-param-type": 1,
|
|
"jsdoc/require-returns-description": 0,
|
|
"jsdoc/require-returns-type": 1,
|
|
|
|
"jsdoc/no-undefined-types": ["off"],
|
|
"jsdoc/valid-types": ["error"],
|
|
"valid-jsdoc": ["off", {
|
|
"prefer": {
|
|
"arg": "param",
|
|
"argument": "param",
|
|
"return": "returns",
|
|
"virtual": "abstract"
|
|
},
|
|
"preferType": {
|
|
"Boolean": "boolean",
|
|
"Number": "number",
|
|
"String": "string",
|
|
"object": "Object",
|
|
"array": "Array"
|
|
},
|
|
"requireReturn": true,
|
|
"requireReturnType": true,
|
|
"requireParamType": true,
|
|
"matchDescription": "^([A-Z][\\s\\S]*[.`?!])?$",
|
|
"requireParamDescription": false,
|
|
"requireReturnDescription": false
|
|
}]
|
|
}
|
|
}
|