@locker/eslint-plugin-locker

Locker ESLint rules

Usage no npm install needed!

<script type="module">
  import lockerEslintPluginLocker from 'https://cdn.skypack.dev/@locker/eslint-plugin-locker';
</script>

README

@locker/eslint-plugin-locker

Locker ESLint rules

Installation

$ 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:

{
    "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:
https://eslint.org/docs/user-guide/configuring

Configurations

To choose configuration settings, install the @locker/eslint-config-locker sharable configuration package.

Rules

Locker

Rule ID Description Fixable Using
@locker/locker/distorted-cookie-store-blocked-properties disallowed CookieStore properties
@locker/locker/distorted-cookie-store-properties distorted CookieStore properties
@locker/locker/distorted-custom-element-registry-blocked-properties disallow blocked CustomElementRegistry properties
@locker/locker/distorted-custom-element-registry-properties distorted CustomElementRegistry 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-exec-command distorted document.execCommand
@locker/locker/distorted-element-attach-shadow distorted Element.prototype.attachShadow
@locker/locker/distorted-element-attributes-getter distort Element.prototype.attributes getter
@locker/locker/distorted-element-blocked-properties disallow blocked Element properties
@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-shadow-root-getter distort Element.prototype.shadowRoot getter
@locker/locker/distorted-element-toggle-attribute distort Element.prototype.toggleAttribute
@locker/locker/distorted-html-frame-iframe-object-element-content-document-getter distort HTML{Frame IFrame
@locker/locker/distorted-html-frame-iframe-object-element-content-window-getter distort HTML{Frame IFrame
@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-message-event-source-getter distort MessageEvent.prototype.source getter
@locker/locker/distorted-named-node-map-set-named-item distorted NamedNodeMap.prototype.setNamedItem
@locker/locker/distorted-navigator-service-worker-getter distorted navigator.serviceWorker getter
@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-shadow-root-mode-getter distorted ShadowRoot.prototype.mode getter
@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-fetch distorted window.fetch
@locker/locker/distorted-window-frames-getter distorted window.frames getter
@locker/locker/distorted-window-onstorage-setter distorted window.onstorage setter
@locker/locker/distorted-window-opener-getter distorted window.opener getter
@locker/locker/distorted-window-parent-getter distorted window.parent getter
@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/no-export-platform-resource-loader disallow export from 'lightning/platformResourceLoader'
@locker/locker/uncompiled-empty-window-location window.location is empty @locker/rollup-plugin
@locker/locker/uncompiled-no-async-await disallow 'async await' syntax usage @locker/rollup-plugin
@locker/locker/uncompiled-no-dynamic-import disallow dynamic 'import' @locker/rollup-plugin
@locker/locker/uncompiled-null-document-location document.location is null @locker/rollup-plugin
@locker/locker/uncompiled-null-window-top window.top is null --fix or @locker/rollup-plugin
@locker/locker/undefined-document-all document.all is undefined