• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

source-academy / js-slang / 23205539402

17 Mar 2026 04:42PM UTC coverage: 77.244% (+1.5%) from 75.716%
23205539402

push

github

web-flow
Update vitest monorepo to v4.1.0 (#1918)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

3125 of 4296 branches covered (72.74%)

Branch coverage included in aggregate %.

7150 of 9006 relevant lines covered (79.39%)

172869.92 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

72.73
/src/parser/source/rules/noDeclareMutable.ts
1
import { generate } from 'astring'
2
import type { VariableDeclaration } from 'estree'
3
import { Chapter } from '../../../langs'
4
import { getSourceVariableDeclaration } from '../../../utils/ast/helpers'
5
import { RuleError } from '../../errors'
6
import type { Rule } from '../../types'
7

8
const mutableDeclarators: VariableDeclaration['kind'][] = ['let', 'var']
65✔
9

10
export class NoDeclareMutableError extends RuleError<VariableDeclaration> {
11
  public explain() {
12
    return `Mutable variable declaration using keyword '${this.node.kind}' is not allowed.`
11✔
13
  }
14

15
  public elaborate() {
16
    const {
17
      id: { name },
18
      init
×
19
    } = getSourceVariableDeclaration(this.node)
20
    const value = generate(init)
×
21

22
    return `Use keyword "const" instead, to declare a constant:\n\n\tconst ${name} = ${value};`
×
23
  }
24
}
25

26
const noDeclareMutable: Rule<VariableDeclaration> = {
65✔
27
  name: 'no-declare-mutable',
28
  disableFromChapter: Chapter.SOURCE_3,
29

30
  checkers: {
31
    VariableDeclaration(node) {
32
      if (mutableDeclarators.includes(node.kind)) {
3,871✔
33
        return [new NoDeclareMutableError(node)]
11✔
34
      } else {
35
        return []
3,860✔
36
      }
37
    }
38
  }
39
}
40

41
export default noDeclareMutable
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc