{"id":19934,"library":"eslint-plugin-sitegenesis","title":"eslint-plugin-sitegenesis","description":"ESLint plugin with custom rules for Salesforce Commerce Cloud (Demandware) SiteGenesis projects. Current stable version is 1.0.0. This plugin enforces coding standards specific to SiteGenesis cartridge structure and ISML templates. It is a niche tool for Salesforce Commerce Cloud developers, with limited release cadence. Key differentiator: provides linting for SiteGenesis-specific patterns not covered by general ESLint rules.","status":"active","version":"1.0.0","language":"javascript","source_language":"en","source_url":null,"tags":["javascript","eslint-plugin","eslint","eslintplugin","salesforce","commerce","cloud"],"install":[{"cmd":"npm install eslint-plugin-sitegenesis","lang":"bash","label":"npm"},{"cmd":"yarn add eslint-plugin-sitegenesis","lang":"bash","label":"yarn"},{"cmd":"pnpm add eslint-plugin-sitegenesis","lang":"bash","label":"pnpm"}],"dependencies":[],"imports":[{"note":"ESLint plugins are typically required via module.exports in .eslintrc; CJS require works in Node.js.","wrong":"const sitegenesis = require('eslint-plugin-sitegenesis')","symbol":"default","correct":"import sitegenesis from 'eslint-plugin-sitegenesis'"},{"note":"Rules are exported as a plain object; ESM import may work depending on bundler.","wrong":"import { rules } from 'eslint-plugin-sitegenesis'","symbol":"rules","correct":"const { rules } = require('eslint-plugin-sitegenesis')"},{"note":"Configs object contains shareable configurations like 'recommended'.","wrong":"import { configs } from 'eslint-plugin-sitegenesis'","symbol":"configs","correct":"const { configs } = require('eslint-plugin-sitegenesis')"}],"quickstart":{"code":"// .eslintrc.json\n{\n  \"plugins\": [\"sitegenesis\"],\n  \"extends\": [\"plugin:sitegenesis/recommended\"],\n  \"rules\": {\n    \"sitegenesis/no-direct-dw-usage\": \"error\",\n    \"sitegenesis/require-cartridge-path\": \"warn\"\n  }\n}","lang":"javascript","description":"Shows how to configure ESLint to use the plugin with the recommended config and custom rules."},"warnings":[{"fix":"Update eslint to version 3.0.0 or later.","message":"Plugin requires eslint >=3.0.0. Older versions may not load the plugin correctly.","severity":"gotcha","affected_versions":"<3.0.0"},{"fix":"Use 'sitegenesis/rule-name' in rules configuration.","message":"Rules are prefixed with 'sitegenesis/' in configuration. Omitting the prefix will cause rule not found errors.","severity":"gotcha","affected_versions":">=1.0.0"},{"fix":"Check the package source or open an issue requesting documentation.","message":"No README data available. Users may need to inspect source code or the plugin's GitHub repository for rule documentation.","severity":"gotcha","affected_versions":">=1.0.0"}],"env_vars":null,"last_verified":"2026-04-25T00:00:00.000Z","next_check":"2026-07-24T00:00:00.000Z","problems":[{"fix":"Run 'npm install eslint-plugin-sitegenesis --save-dev'","cause":"Plugin not installed or not in node_modules.","error":"ESLint couldn't find the plugin \"eslint-plugin-sitegenesis\"."},{"fix":"Verify rule names from plugin's source; use correct prefix.","cause":"Rule name misspelled or not existing in the plugin.","error":"Definition for rule 'sitegenesis/rule-name' was not found."},{"fix":"Ensure plugin is in package.json devDependencies and node_modules exists.","cause":"Plugin not installed or module resolution fails.","error":"Cannot find module 'eslint-plugin-sitegenesis'"}],"ecosystem":"npm","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}