UNPKG

@locker/eslint-plugin-locker

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