Skip to content

sfcc/rhino-const-compat

Enforces let instead of const in Rhino-unsafe loop-related scopes.

What it checks

  • Flags const declarations in Rhino-critical scopes
  • Targets loop headers and declarations inside loop bodies where Rhino compatibility is a concern

Fix behavior

  • Automatically rewrites the keyword from const to let

Why this rule exists

Rhino does not handle const reliably in some loop-related contexts. This rule keeps the code valid in those places and prevents the fixers from producing code that works in modern JavaScript but not on SFCC sandboxes.

Default behavior

  • Severity: error
  • Auto-fix: yes

Example

Invalid
js
for (const item of items) {
  process(item)
}
Valid
js
for (let item of items) {
  process(item)
}

Released under the MIT License.