eslint-plugin-sdl-2
SDL-focused ESLint plugin with modern flat-config presets and TypeScript-first rule implementations.
The plugin targets common security pitfalls and risky web/runtime APIs that are often surfaced during security reviews.
Installationâ
npm install --save-dev eslint-plugin-sdl-2
Quick start (Flat Config)â
import sdl from "eslint-plugin-sdl-2";
export default [...sdl.configs.recommended];
Available presetsâ
sdl.configs.commonsdl.configs.typescriptsdl.configs.angularsdl.configs.angularjssdl.configs.nodesdl.configs.reactsdl.configs.electronsdl.configs.requiredsdl.configs.recommended
See Presets for examples and per-preset rule tables.
Rulesâ
Custom rules currently documented:
no-angular-bypass-sanitizerno-angular-sanitization-trusted-urlsno-angularjs-bypass-sceno-angularjs-enable-svgno-angularjs-sanitization-whitelistno-child-process-execno-cookiesno-document-domainno-document-execcommand-insert-htmlno-document-parse-html-unsafeno-document-writeno-domparser-html-without-sanitizationno-domparser-svg-without-sanitizationno-dynamic-import-unsafe-urlno-electron-allow-running-insecure-contentno-electron-dangerous-blink-featuresno-electron-disable-context-isolationno-electron-disable-sandboxno-electron-disable-web-securityno-electron-enable-webview-tagno-electron-enable-remote-moduleno-electron-experimental-featuresno-electron-expose-raw-ipc-rendererno-electron-insecure-certificate-error-handlerno-electron-node-integrationno-electron-permission-check-handler-allow-allno-electron-untrusted-open-externalno-electron-webview-insecure-webpreferencesno-html-methodno-http-request-to-insecure-protocolno-iframe-srcdocno-inner-htmlno-insecure-randomno-insecure-tls-agent-optionsno-insecure-urlno-location-javascript-urlno-message-event-without-origin-checkno-msapp-exec-unsafeno-node-tls-check-server-identity-bypassno-node-tls-legacy-protocolno-node-tls-reject-unauthorized-zerono-node-tls-security-level-zerono-node-vm-run-in-contextno-node-vm-source-text-moduleno-node-worker-threads-evalno-nonnull-assertion-on-security-inputno-postmessage-star-originno-postmessage-without-origin-allowlistno-range-create-contextual-fragmentno-script-src-data-urlno-script-textno-service-worker-unsafe-script-urlno-set-html-unsafeno-trusted-types-policy-pass-throughno-unsafe-allocno-unsafe-cast-to-trusted-typesno-window-open-without-noopenerno-winjs-html-unsafeno-worker-blob-urlno-worker-data-url
Next stepsâ
- Open Getting Started.
- Review Presets for rollout options.
- Browse rule docs in the sidebar.