@locker/eslint-plugin-locker
Version:
Lightning Web Security ESLint rules
228 lines (210 loc) • 18.6 kB
Markdown
<!-- This file is generated by build-readme.mjs from README-template.md -->
# /eslint-plugin-locker
> Lightning Web Security [ESLint] rules
## Installation
```shell
$ yarn add --dev eslint /eslint-plugin-locker
```
## Usage
Add `/eslint-plugin-locker` to the `plugins` section of your configuration.
Then configure the desired rules in the `rules` section.
Example of `.eslintrc`:
```json
{
"plugins": ["@locker/eslint-plugin-locker"],
"rules": {
"@locker/locker/blocked-document-properties": "error",
"@locker/locker/distorted-document-cookie": "warn"
}
}
```
For more details about configuration please refer to the dedicated section in
the ESLint documentation:<br>
https://eslint.org/docs/user-guide/configuring
## Configurations
To choose configuration settings, install the [`/eslint-config-locker`]
sharable configuration package.
## Rules
### Lightning Web Security
<!-- START generated content -->
| Rule ID | Description | Fixable Using |
| --- | --- | --- |
| [/locker/distorted-cachestorage-properties] | distorted CacheStorage properties | |
| [/locker/distorted-cookie-store-blocked-properties] | disallowed CookieStore properties | |
| [/locker/distorted-cookie-store-properties] | distorted CookieStore properties | |
| [/locker/distorted-data-transfer-blocked-properties] | disallow blocked DataTransfer properties | |
| [/locker/distorted-document-blocked-properties] | disallow blocked Document properties | |
| [/locker/distorted-document-cookie] | distorted document.cookie | |
| [/locker/distorted-document-domain-setter] | distort Document#domain setter | |
| [/locker/distorted-document-element-replacechildren] | distort {Document|Element}.prototype.replaceChildren | |
| [/locker/distorted-document-exec-command] | distorted document.execCommand | |
| [/locker/distorted-element-attach-shadow] | distorted Element.prototype.attachShadow | |
| [/locker/distorted-element-blocked-properties] | disallow blocked Element properties | |
| [/locker/distorted-element-get-inner-html] | distort Element.prototype.getInnerHTML | |
| [/locker/distorted-element-inner-html-setter] | distort Element.prototype.innerHTML setter | |
| [/locker/distorted-element-insert-adjacent-html] | distort Element.prototype.insertAdjacentHTML | |
| [/locker/distorted-element-outer-html-setter] | distort Element.prototype.outerHTML setter | |
| [/locker/distorted-element-set-attribute] | distort Element.prototype.setAttribute APIs | |
| [/locker/distorted-element-set-html] | distort Element.prototype.setHTML | |
| [/locker/distorted-element-sethtmlunsafe] | distort Element|ShadowRooot.prototype.setHTMLUnsafe | |
| [/locker/distorted-element-shadow-root-getter] | distort Element.prototype.shadowRoot getter | |
| [/locker/distorted-element-toggle-attribute] | distort Element.prototype.toggleAttribute | |
| [/locker/distorted-html-element-blocked-properties] | disallow blocked HTMLElement properties | |
| [/locker/distorted-html-element-inner-text-setter] | distort HTMLElement.prototype.innerText setter | |
| [/locker/distorted-html-element-outer-text-setter] | distort HTMLElement.prototype.outerText setter | |
| [/locker/distorted-html-embed-object-element-blocked-properties] | disallow blocked HTML{Embed|Object}Element properties | |
| [/locker/distorted-html-iframe-element-blocked-properties] | disallow blocked HTMLIFrameElement properties | |
| [/locker/distorted-html-iframe-script-element-src-setter] | distort HTML{IFrame|Script}Element.prototype.src setter | |
| [/locker/distorted-html-link-element-rel-list-setter] | distort HTMLLinkElement.prototype.relList setter | |
| [/locker/distorted-html-link-element-rel-setter] | distort HTMLLinkElement.prototype.rel setter | |
| [/locker/distorted-named-node-map-set-named-item] | distorted NamedNodeMap.prototype.setNamedItem | |
| [/locker/distorted-navigator-sendbeacon] | distorted navigator.sendBeacon | |
| [/locker/distorted-navigator-service-worker-getter] | distorted navigator.serviceWorker getter | |
| [/locker/distorted-node-insertbefore] | distort Node.prototype.insertBefore | |
| [/locker/distorted-node-removechild] | distort Node.prototype.removeChild | |
| [/locker/distorted-node-replacechild] | distort Node.prototype.replaceChild | |
| [/locker/distorted-node-text-content-setter] | distort Node.prototype.textContent setter | |
| [/locker/distorted-range-create-contextual-fragment] | distorted Range.prototype.createContextualFragment | |
| [/locker/distorted-range-delete-contents] | distorted Range.prototype.deleteContents | |
| [/locker/distorted-range-extract-contents] | distorted Range.prototype.extractContents | |
| [/locker/distorted-range-insertnode] | distorted Range.prototype.insertNode | |
| [/locker/distorted-shared-worker-constructor] | distorted SharedWorker constructor | |
| [/locker/distorted-storage-constructor] | distorted Storage constructor | |
| [/locker/distorted-trusted-type-policy-factory-create-policy] | distort TrustedTypePolicyFactory.prototype.createPolicy | |
| [/locker/distorted-url-create-object-url] | distorted URL.createObjectURL | |
| [/locker/distorted-window-blocked-properties] | disallow blocked Window properties | |
| [/locker/distorted-window-fetch] | distorted window.fetch | |
| [/locker/distorted-window-fetchLater] | distorted window.fetchLater | |
| [/locker/distorted-window-frames-getter] | distorted window.frames getter | |
| [/locker/distorted-window-length-getter] | distorted window.length getter | |
| [/locker/distorted-window-onstorage-setter] | distorted window.onstorage setter | |
| [/locker/distorted-window-set-interval] | distorted window.setInterval | |
| [/locker/distorted-window-set-timeout] | distorted window.setTimeout | |
| [/locker/distorted-worker-constructor] | distorted Worker constructor | |
| [/locker/distorted-xml-http-request-window-open] | distorted {XMLHttpRequest|Window}.prototype.open | |
| [/locker/distorted-xsltprocessor-transformtodocument] | distorted XSLTProcessor.prototype.transformToDocument | |
| [/locker/distorted-xsltprocessor-transformtofragment] | distorted XSLTProcessor.prototype.transformToFragment | |
| [/locker/undefined-document-all] | document.all is undefined | |
<!-- END generated content, please keep comment -->
[`/rollup-plugin`]:
https://www.npmjs.com/package/@locker/rollup-plugin
[`/eslint-config-locker`]:
https://www.npmjs.com/package/@locker/eslint-config-locker
[ESLint]:
https://eslint.org/
[`--fix`]:
https://eslint.org/docs/user-guide/command-line-interface#-fix
<!-- START generated content -->
[/locker/distorted-cachestorage-properties]:
https://github.com/salesforce/lwsec-docs-mirror/blob/v0.25.7/packages/%40locker/eslint-plugin-locker/docs/rules/distorted-cookie-store-properties.md
[/locker/distorted-cookie-store-blocked-properties]:
https://github.com/salesforce/lwsec-docs-mirror/blob/v0.25.7/packages/%40locker/eslint-plugin-locker/docs/rules/distorted-cookie-store-blocked-properties.md
[/locker/distorted-cookie-store-properties]:
https://github.com/salesforce/lwsec-docs-mirror/blob/v0.25.7/packages/%40locker/eslint-plugin-locker/docs/rules/distorted-cookie-store-properties.md
[/locker/distorted-data-transfer-blocked-properties]:
https://github.com/salesforce/lwsec-docs-mirror/blob/v0.25.7/packages/%40locker/eslint-plugin-locker/docs/rules/distorted-data-transfer-blocked-properties.md
[/locker/distorted-document-blocked-properties]:
https://github.com/salesforce/lwsec-docs-mirror/blob/v0.25.7/packages/%40locker/eslint-plugin-locker/docs/rules/distorted-document-blocked-properties.md
[/locker/distorted-document-cookie]:
https://github.com/salesforce/lwsec-docs-mirror/blob/v0.25.7/packages/%40locker/eslint-plugin-locker/docs/rules/distorted-document-cookie.md
[/locker/distorted-document-domain-setter]:
https://github.com/salesforce/lwsec-docs-mirror/blob/v0.25.7/packages/%40locker/eslint-plugin-locker/docs/rules/distorted-document-domain-setter.md
[/locker/distorted-document-element-replacechildren]:
https://github.com/salesforce/lwsec-docs-mirror/blob/v0.25.7/packages/%40locker/eslint-plugin-locker/docs/rules/distorted-document-element-replacechildren.md
[/locker/distorted-document-exec-command]:
https://github.com/salesforce/lwsec-docs-mirror/blob/v0.25.7/packages/%40locker/eslint-plugin-locker/docs/rules/distorted-document-exec-command.md
[/locker/distorted-element-attach-shadow]:
https://github.com/salesforce/lwsec-docs-mirror/blob/v0.25.7/packages/%40locker/eslint-plugin-locker/docs/rules/distorted-element-attach-shadow.md
[/locker/distorted-element-blocked-properties]:
https://github.com/salesforce/lwsec-docs-mirror/blob/v0.25.7/packages/%40locker/eslint-plugin-locker/docs/rules/distorted-element-blocked-properties.md
[/locker/distorted-element-get-inner-html]:
https://github.com/salesforce/lwsec-docs-mirror/blob/v0.25.7/packages/%40locker/eslint-plugin-locker/docs/rules/distorted-element-get-inner-html.md
[/locker/distorted-element-inner-html-setter]:
https://github.com/salesforce/lwsec-docs-mirror/blob/v0.25.7/packages/%40locker/eslint-plugin-locker/docs/rules/distorted-element-inner-html-setter.md
[/locker/distorted-element-insert-adjacent-html]:
https://github.com/salesforce/lwsec-docs-mirror/blob/v0.25.7/packages/%40locker/eslint-plugin-locker/docs/rules/distorted-element-insert-adjacent-html.md
[/locker/distorted-element-outer-html-setter]:
https://github.com/salesforce/lwsec-docs-mirror/blob/v0.25.7/packages/%40locker/eslint-plugin-locker/docs/rules/distorted-element-outer-html-setter.md
[/locker/distorted-element-set-attribute]:
https://github.com/salesforce/lwsec-docs-mirror/blob/v0.25.7/packages/%40locker/eslint-plugin-locker/docs/rules/distorted-element-set-attribute.md
[/locker/distorted-element-set-html]:
https://github.com/salesforce/lwsec-docs-mirror/blob/v0.25.7/packages/%40locker/eslint-plugin-locker/docs/rules/distorted-element-set-html.md
[/locker/distorted-element-sethtmlunsafe]:
https://github.com/salesforce/lwsec-docs-mirror/blob/v0.25.7/packages/%40locker/eslint-plugin-locker/docs/rules/distorted-element-sethtmlunsafe.md
[/locker/distorted-element-shadow-root-getter]:
https://github.com/salesforce/lwsec-docs-mirror/blob/v0.25.7/packages/%40locker/eslint-plugin-locker/docs/rules/distorted-element-shadow-root-getter.md
[/locker/distorted-element-toggle-attribute]:
https://github.com/salesforce/lwsec-docs-mirror/blob/v0.25.7/packages/%40locker/eslint-plugin-locker/docs/rules/distorted-element-toggle-attribute.md
[/locker/distorted-html-element-blocked-properties]:
https://github.com/salesforce/lwsec-docs-mirror/blob/v0.25.7/packages/%40locker/eslint-plugin-locker/docs/rules/distorted-html-element-blocked-properties.md
[/locker/distorted-html-element-inner-text-setter]:
https://github.com/salesforce/lwsec-docs-mirror/blob/v0.25.7/packages/%40locker/eslint-plugin-locker/docs/rules/distorted-html-element-inner-text-setter.md
[/locker/distorted-html-element-outer-text-setter]:
https://github.com/salesforce/lwsec-docs-mirror/blob/v0.25.7/packages/%40locker/eslint-plugin-locker/docs/rules/distorted-html-element-outer-text-setter.md
[/locker/distorted-html-embed-object-element-blocked-properties]:
https://github.com/salesforce/lwsec-docs-mirror/blob/v0.25.7/packages/%40locker/eslint-plugin-locker/docs/rules/distorted-html-embed-object-element-blocked-properties.md
[/locker/distorted-html-iframe-element-blocked-properties]:
https://github.com/salesforce/lwsec-docs-mirror/blob/v0.25.7/packages/%40locker/eslint-plugin-locker/docs/rules/distorted-html-iframe-element-blocked-properties.md
[/locker/distorted-html-iframe-script-element-src-setter]:
https://github.com/salesforce/lwsec-docs-mirror/blob/v0.25.7/packages/%40locker/eslint-plugin-locker/docs/rules/distorted-html-iframe-script-element-src-setter.md
[/locker/distorted-html-link-element-rel-list-setter]:
https://github.com/salesforce/lwsec-docs-mirror/blob/v0.25.7/packages/%40locker/eslint-plugin-locker/docs/rules/distorted-html-link-element-rel-list-setter.md
[/locker/distorted-html-link-element-rel-setter]:
https://github.com/salesforce/lwsec-docs-mirror/blob/v0.25.7/packages/%40locker/eslint-plugin-locker/docs/rules/distorted-html-link-element-rel-setter.md
[/locker/distorted-named-node-map-set-named-item]:
https://github.com/salesforce/lwsec-docs-mirror/blob/v0.25.7/packages/%40locker/eslint-plugin-locker/docs/rules/distorted-named-node-map-set-named-item.md
[/locker/distorted-navigator-sendbeacon]:
https://github.com/salesforce/lwsec-docs-mirror/blob/v0.25.7/packages/%40locker/eslint-plugin-locker/docs/rules/distorted-navigator-sendbeacon.md
[/locker/distorted-navigator-service-worker-getter]:
https://github.com/salesforce/lwsec-docs-mirror/blob/v0.25.7/packages/%40locker/eslint-plugin-locker/docs/rules/distorted-navigator-service-worker-getter.md
[/locker/distorted-node-insertbefore]:
https://github.com/salesforce/lwsec-docs-mirror/blob/v0.25.7/packages/%40locker/eslint-plugin-locker/docs/rules/distorted-node-insertbefore.md
[/locker/distorted-node-removechild]:
https://github.com/salesforce/lwsec-docs-mirror/blob/v0.25.7/packages/%40locker/eslint-plugin-locker/docs/rules/distorted-node-removechild.md
[/locker/distorted-node-replacechild]:
https://github.com/salesforce/lwsec-docs-mirror/blob/v0.25.7/packages/%40locker/eslint-plugin-locker/docs/rules/distorted-node-replacechild.md
[/locker/distorted-node-text-content-setter]:
https://github.com/salesforce/lwsec-docs-mirror/blob/v0.25.7/packages/%40locker/eslint-plugin-locker/docs/rules/distorted-node-text-content-setter.md
[/locker/distorted-range-create-contextual-fragment]:
https://github.com/salesforce/lwsec-docs-mirror/blob/v0.25.7/packages/%40locker/eslint-plugin-locker/docs/rules/distorted-range-create-contextual-fragment.md
[/locker/distorted-range-delete-contents]:
https://github.com/salesforce/lwsec-docs-mirror/blob/v0.25.7/packages/%40locker/eslint-plugin-locker/docs/rules/distorted-range-delete-contents.md
[/locker/distorted-range-extract-contents]:
https://github.com/salesforce/lwsec-docs-mirror/blob/v0.25.7/packages/%40locker/eslint-plugin-locker/docs/rules/distorted-range-extract-contents.md
[/locker/distorted-range-insertnode]:
https://github.com/salesforce/lwsec-docs-mirror/blob/v0.25.7/packages/%40locker/eslint-plugin-locker/docs/rules/distorted-range-insertnode.md
[/locker/distorted-shared-worker-constructor]:
https://github.com/salesforce/lwsec-docs-mirror/blob/v0.25.7/packages/%40locker/eslint-plugin-locker/docs/rules/distorted-shared-worker-constructor.md
[/locker/distorted-storage-constructor]:
https://github.com/salesforce/lwsec-docs-mirror/blob/v0.25.7/packages/%40locker/eslint-plugin-locker/docs/rules/distorted-storage-constructor.md
[/locker/distorted-trusted-type-policy-factory-create-policy]:
https://github.com/salesforce/lwsec-docs-mirror/blob/v0.25.7/packages/%40locker/eslint-plugin-locker/docs/rules/distorted-trusted-type-policy-factory-create-policy.md
[/locker/distorted-url-create-object-url]:
https://github.com/salesforce/lwsec-docs-mirror/blob/v0.25.7/packages/%40locker/eslint-plugin-locker/docs/rules/distorted-url-create-object-url.md
[/locker/distorted-window-blocked-properties]:
https://github.com/salesforce/lwsec-docs-mirror/blob/v0.25.7/packages/%40locker/eslint-plugin-locker/docs/rules/distorted-window-blocked-properties.md
[/locker/distorted-window-fetch]:
https://github.com/salesforce/lwsec-docs-mirror/blob/v0.25.7/packages/%40locker/eslint-plugin-locker/docs/rules/distorted-window-fetch.md
[/locker/distorted-window-fetchLater]:
https://github.com/salesforce/lwsec-docs-mirror/blob/v0.25.7/packages/%40locker/eslint-plugin-locker/docs/rules/distorted-window-fetchLater.md
[/locker/distorted-window-frames-getter]:
https://github.com/salesforce/lwsec-docs-mirror/blob/v0.25.7/packages/%40locker/eslint-plugin-locker/docs/rules/distorted-window-frames-getter.md
[/locker/distorted-window-length-getter]:
https://github.com/salesforce/lwsec-docs-mirror/blob/v0.25.7/packages/%40locker/eslint-plugin-locker/docs/rules/distorted-window-length-getter.md
[/locker/distorted-window-onstorage-setter]:
https://github.com/salesforce/lwsec-docs-mirror/blob/v0.25.7/packages/%40locker/eslint-plugin-locker/docs/rules/distorted-window-onstorage-setter.md
[/locker/distorted-window-set-interval]:
https://github.com/salesforce/lwsec-docs-mirror/blob/v0.25.7/packages/%40locker/eslint-plugin-locker/docs/rules/distorted-window-set-interval.md
[/locker/distorted-window-set-timeout]:
https://github.com/salesforce/lwsec-docs-mirror/blob/v0.25.7/packages/%40locker/eslint-plugin-locker/docs/rules/distorted-window-set-timeout.md
[/locker/distorted-worker-constructor]:
https://github.com/salesforce/lwsec-docs-mirror/blob/v0.25.7/packages/%40locker/eslint-plugin-locker/docs/rules/distorted-worker-constructor.md
[/locker/distorted-xml-http-request-window-open]:
https://github.com/salesforce/lwsec-docs-mirror/blob/v0.25.7/packages/%40locker/eslint-plugin-locker/docs/rules/distorted-xml-http-request-window-open.md
[/locker/distorted-xsltprocessor-transformtodocument]:
https://github.com/salesforce/lwsec-docs-mirror/blob/v0.25.7/packages/%40locker/eslint-plugin-locker/docs/rules/distorted-xsltprocessor-transformtodocument.md
[/locker/distorted-xsltprocessor-transformtofragment]:
https://github.com/salesforce/lwsec-docs-mirror/blob/v0.25.7/packages/%40locker/eslint-plugin-locker/docs/rules/distorted-xsltprocessor-transformtofragment.md
[/locker/undefined-document-all]:
https://github.com/salesforce/lwsec-docs-mirror/blob/v0.25.7/packages/%40locker/eslint-plugin-locker/docs/rules/undefined-document-all.md
<!-- END generated content, please keep comment -->