npm / webidl-conversions / 8.0.1

webidl-conversions 8.0.1

Source
https://github.com/jsdom/webidl-conversions
Tag scanned
v8.0.1
Compared with
v8.0.0 (0 signals introduced since)
Files
15 scanned, 1 skipped (binary, oversized, or unrecognised)
Signals
0 critical · 0 warn · 45 info
Scan time
0.1 s
LLM review
LLM review by claude-haiku-5-5 (Anthropic): nothing at warn or critical to review.
Disclude version
4.0.0
Scanned (UTC)
2026-10-14 19:23

Signals

Ordered by severity, then signals introduced in this release. Hidden characters are shown as ⟨U+…⟩.

  1. info unicode-surrogate test/string-types.js:71:23

    surrogate pair \uD83D\uDE00 (non-scalar Unicode codepoints in string literal) (token pass, confidence 0.70)

      it("should return the input for valid Unicode surrogates", () => {
        assert.equal(sut("\uD83D\uDE00"), "\uD83D\uDE00");
      });
  2. info unicode-surrogate test/string-types.js:71:40

    surrogate pair \uD83D\uDE00 (non-scalar Unicode codepoints in string literal) (token pass, confidence 0.70)

      it("should return the input for valid Unicode surrogates", () => {
        assert.equal(sut("\uD83D\uDE00"), "\uD83D\uDE00");
      });
  3. info unicode-surrogate test/string-types.js:75:23

    orphaned high surrogate \uD83D (no matching low surrogate) (token pass, confidence 0.65)

      it("should return the input for invalid Unicode surrogates", () => {
        assert.equal(sut("\uD83D"), "\uD83D");
        assert.equal(sut("\uD83Da"), "\uD83Da");
        assert.equal(sut("a\uD83D"), "a\uD83D");
  4. info unicode-surrogate test/string-types.js:75:34

    orphaned high surrogate \uD83D (no matching low surrogate) (token pass, confidence 0.65)

      it("should return the input for invalid Unicode surrogates", () => {
        assert.equal(sut("\uD83D"), "\uD83D");
        assert.equal(sut("\uD83Da"), "\uD83Da");
        assert.equal(sut("a\uD83D"), "a\uD83D");
  5. info unicode-surrogate test/string-types.js:76:23

    orphaned high surrogate \uD83D (no matching low surrogate) (token pass, confidence 0.65)

        assert.equal(sut("\uD83D"), "\uD83D");
        assert.equal(sut("\uD83Da"), "\uD83Da");
        assert.equal(sut("a\uD83D"), "a\uD83D");
        assert.equal(sut("a\uD83Da"), "a\uD83Da");
  6. info unicode-surrogate test/string-types.js:76:35

    orphaned high surrogate \uD83D (no matching low surrogate) (token pass, confidence 0.65)

        assert.equal(sut("\uD83D"), "\uD83D");
        assert.equal(sut("\uD83Da"), "\uD83Da");
        assert.equal(sut("a\uD83D"), "a\uD83D");
        assert.equal(sut("a\uD83Da"), "a\uD83Da");
  7. info unicode-surrogate test/string-types.js:77:24

    orphaned high surrogate \uD83D (no matching low surrogate) (token pass, confidence 0.65)

        assert.equal(sut("\uD83Da"), "\uD83Da");
        assert.equal(sut("a\uD83D"), "a\uD83D");
        assert.equal(sut("a\uD83Da"), "a\uD83Da");
        assert.equal(sut("\uDE00"), "\uDE00");
  8. info unicode-surrogate test/string-types.js:77:36

    orphaned high surrogate \uD83D (no matching low surrogate) (token pass, confidence 0.65)

        assert.equal(sut("\uD83Da"), "\uD83Da");
        assert.equal(sut("a\uD83D"), "a\uD83D");
        assert.equal(sut("a\uD83Da"), "a\uD83Da");
        assert.equal(sut("\uDE00"), "\uDE00");
  9. info unicode-surrogate test/string-types.js:78:24

    orphaned high surrogate \uD83D (no matching low surrogate) (token pass, confidence 0.65)

        assert.equal(sut("a\uD83D"), "a\uD83D");
        assert.equal(sut("a\uD83Da"), "a\uD83Da");
        assert.equal(sut("\uDE00"), "\uDE00");
        assert.equal(sut("\uDE00a"), "\uDE00a");
  10. info unicode-surrogate test/string-types.js:78:37

    orphaned high surrogate \uD83D (no matching low surrogate) (token pass, confidence 0.65)

        assert.equal(sut("a\uD83D"), "a\uD83D");
        assert.equal(sut("a\uD83Da"), "a\uD83Da");
        assert.equal(sut("\uDE00"), "\uDE00");
        assert.equal(sut("\uDE00a"), "\uDE00a");
  11. info unicode-surrogate test/string-types.js:79:23

    orphaned low surrogate \uDE00 (no preceding high surrogate) (token pass, confidence 0.65)

        assert.equal(sut("a\uD83Da"), "a\uD83Da");
        assert.equal(sut("\uDE00"), "\uDE00");
        assert.equal(sut("\uDE00a"), "\uDE00a");
        assert.equal(sut("a\uDE00"), "a\uDE00");
  12. info unicode-surrogate test/string-types.js:79:34

    orphaned low surrogate \uDE00 (no preceding high surrogate) (token pass, confidence 0.65)

        assert.equal(sut("a\uD83Da"), "a\uD83Da");
        assert.equal(sut("\uDE00"), "\uDE00");
        assert.equal(sut("\uDE00a"), "\uDE00a");
        assert.equal(sut("a\uDE00"), "a\uDE00");
  13. info unicode-surrogate test/string-types.js:80:23

    orphaned low surrogate \uDE00 (no preceding high surrogate) (token pass, confidence 0.65)

        assert.equal(sut("\uDE00"), "\uDE00");
        assert.equal(sut("\uDE00a"), "\uDE00a");
        assert.equal(sut("a\uDE00"), "a\uDE00");
        assert.equal(sut("a\uDE00a"), "a\uDE00a");
  14. info unicode-surrogate test/string-types.js:80:35

    orphaned low surrogate \uDE00 (no preceding high surrogate) (token pass, confidence 0.65)

        assert.equal(sut("\uDE00"), "\uDE00");
        assert.equal(sut("\uDE00a"), "\uDE00a");
        assert.equal(sut("a\uDE00"), "a\uDE00");
        assert.equal(sut("a\uDE00a"), "a\uDE00a");
  15. info unicode-surrogate test/string-types.js:81:24

    orphaned low surrogate \uDE00 (no preceding high surrogate) (token pass, confidence 0.65)

        assert.equal(sut("\uDE00a"), "\uDE00a");
        assert.equal(sut("a\uDE00"), "a\uDE00");
        assert.equal(sut("a\uDE00a"), "a\uDE00a");
        assert.equal(sut("\uDE00\uD830"), "\uDE00\uD830");
  16. info unicode-surrogate test/string-types.js:81:36

    orphaned low surrogate \uDE00 (no preceding high surrogate) (token pass, confidence 0.65)

        assert.equal(sut("\uDE00a"), "\uDE00a");
        assert.equal(sut("a\uDE00"), "a\uDE00");
        assert.equal(sut("a\uDE00a"), "a\uDE00a");
        assert.equal(sut("\uDE00\uD830"), "\uDE00\uD830");
  17. info unicode-surrogate test/string-types.js:82:24

    orphaned low surrogate \uDE00 (no preceding high surrogate) (token pass, confidence 0.65)

        assert.equal(sut("a\uDE00"), "a\uDE00");
        assert.equal(sut("a\uDE00a"), "a\uDE00a");
        assert.equal(sut("\uDE00\uD830"), "\uDE00\uD830");
      });
  18. info unicode-surrogate test/string-types.js:82:37

    orphaned low surrogate \uDE00 (no preceding high surrogate) (token pass, confidence 0.65)

        assert.equal(sut("a\uDE00"), "a\uDE00");
        assert.equal(sut("a\uDE00a"), "a\uDE00a");
        assert.equal(sut("\uDE00\uD830"), "\uDE00\uD830");
      });
  19. info unicode-surrogate test/string-types.js:83:23

    orphaned low surrogate \uDE00 (no preceding high surrogate) (token pass, confidence 0.65)

        assert.equal(sut("a\uDE00a"), "a\uDE00a");
        assert.equal(sut("\uDE00\uD830"), "\uDE00\uD830");
      });
    });
  20. info unicode-surrogate test/string-types.js:83:29

    orphaned high surrogate \uD830 (no matching low surrogate) (token pass, confidence 0.65)

        assert.equal(sut("a\uDE00a"), "a\uDE00a");
        assert.equal(sut("\uDE00\uD830"), "\uDE00\uD830");
      });
    });
  21. info unicode-surrogate test/string-types.js:83:40

    orphaned low surrogate \uDE00 (no preceding high surrogate) (token pass, confidence 0.65)

        assert.equal(sut("a\uDE00a"), "a\uDE00a");
        assert.equal(sut("\uDE00\uD830"), "\uDE00\uD830");
      });
    });
  22. info unicode-surrogate test/string-types.js:83:46

    orphaned high surrogate \uD830 (no matching low surrogate) (token pass, confidence 0.65)

        assert.equal(sut("a\uDE00a"), "a\uDE00a");
        assert.equal(sut("\uDE00\uD830"), "\uDE00\uD830");
      });
    });
  23. info unicode-surrogate test/string-types.js:97:25

    surrogate pair \uD83D\uDE00 (non-scalar Unicode codepoints in string literal) (token pass, confidence 0.70)

      it("should throw a TypeError for valid Unicode surrogates", () => {
        assertThrows(sut, ["\uD83D\uDE00"], TypeError);
      });
  24. info unicode-surrogate test/string-types.js:101:25

    orphaned high surrogate \uD83D (no matching low surrogate) (token pass, confidence 0.65)

      it("should throw a TypeError for invalid Unicode surrogates", () => {
        assertThrows(sut, ["\uD83D"], TypeError);
        assertThrows(sut, ["\uD83Da"], TypeError);
        assertThrows(sut, ["a\uD83D"], TypeError);
  25. info unicode-surrogate test/string-types.js:102:25

    orphaned high surrogate \uD83D (no matching low surrogate) (token pass, confidence 0.65)

        assertThrows(sut, ["\uD83D"], TypeError);
        assertThrows(sut, ["\uD83Da"], TypeError);
        assertThrows(sut, ["a\uD83D"], TypeError);
        assertThrows(sut, ["a\uD83Da"], TypeError);
  26. info unicode-surrogate test/string-types.js:103:26

    orphaned high surrogate \uD83D (no matching low surrogate) (token pass, confidence 0.65)

        assertThrows(sut, ["\uD83Da"], TypeError);
        assertThrows(sut, ["a\uD83D"], TypeError);
        assertThrows(sut, ["a\uD83Da"], TypeError);
        assertThrows(sut, ["\uDE00"], TypeError);
  27. info unicode-surrogate test/string-types.js:104:26

    orphaned high surrogate \uD83D (no matching low surrogate) (token pass, confidence 0.65)

        assertThrows(sut, ["a\uD83D"], TypeError);
        assertThrows(sut, ["a\uD83Da"], TypeError);
        assertThrows(sut, ["\uDE00"], TypeError);
        assertThrows(sut, ["\uDE00a"], TypeError);
  28. info unicode-surrogate test/string-types.js:105:25

    orphaned low surrogate \uDE00 (no preceding high surrogate) (token pass, confidence 0.65)

        assertThrows(sut, ["a\uD83Da"], TypeError);
        assertThrows(sut, ["\uDE00"], TypeError);
        assertThrows(sut, ["\uDE00a"], TypeError);
        assertThrows(sut, ["a\uDE00"], TypeError);
  29. info unicode-surrogate test/string-types.js:106:25

    orphaned low surrogate \uDE00 (no preceding high surrogate) (token pass, confidence 0.65)

        assertThrows(sut, ["\uDE00"], TypeError);
        assertThrows(sut, ["\uDE00a"], TypeError);
        assertThrows(sut, ["a\uDE00"], TypeError);
        assertThrows(sut, ["a\uDE00a"], TypeError);
  30. info unicode-surrogate test/string-types.js:107:26

    orphaned low surrogate \uDE00 (no preceding high surrogate) (token pass, confidence 0.65)

        assertThrows(sut, ["\uDE00a"], TypeError);
        assertThrows(sut, ["a\uDE00"], TypeError);
        assertThrows(sut, ["a\uDE00a"], TypeError);
        assertThrows(sut, ["\uDE00\uD830"], TypeError);
  31. info unicode-surrogate test/string-types.js:108:26

    orphaned low surrogate \uDE00 (no preceding high surrogate) (token pass, confidence 0.65)

        assertThrows(sut, ["a\uDE00"], TypeError);
        assertThrows(sut, ["a\uDE00a"], TypeError);
        assertThrows(sut, ["\uDE00\uD830"], TypeError);
      });
  32. info unicode-surrogate test/string-types.js:109:25

    orphaned low surrogate \uDE00 (no preceding high surrogate) (token pass, confidence 0.65)

        assertThrows(sut, ["a\uDE00a"], TypeError);
        assertThrows(sut, ["\uDE00\uD830"], TypeError);
      });
    });
  33. info unicode-surrogate test/string-types.js:109:31

    orphaned high surrogate \uD830 (no matching low surrogate) (token pass, confidence 0.65)

        assertThrows(sut, ["a\uDE00a"], TypeError);
        assertThrows(sut, ["\uDE00\uD830"], TypeError);
      });
    });
  34. info unicode-surrogate test/string-types.js:123:23

    surrogate pair \uD83D\uDE00 (non-scalar Unicode codepoints in string literal) (token pass, confidence 0.70)

      it("should return the input for valid Unicode surrogates", () => {
        assert.equal(sut("\uD83D\uDE00"), "\uD83D\uDE00");
      });
  35. info unicode-surrogate test/string-types.js:123:40

    surrogate pair \uD83D\uDE00 (non-scalar Unicode codepoints in string literal) (token pass, confidence 0.70)

      it("should return the input for valid Unicode surrogates", () => {
        assert.equal(sut("\uD83D\uDE00"), "\uD83D\uDE00");
      });
  36. info unicode-surrogate test/string-types.js:127:23

    orphaned high surrogate \uD83D (no matching low surrogate) (token pass, confidence 0.65)

      it("should replace invalid Unicode surrogates with U+FFFD REPLACEMENT CHARACTER", () => {
        assert.equal(sut("\uD83D"), "\uFFFD");
        assert.equal(sut("\uD83Da"), "\uFFFDa");
        assert.equal(sut("a\uD83D"), "a\uFFFD");
  37. info unicode-surrogate test/string-types.js:128:23

    orphaned high surrogate \uD83D (no matching low surrogate) (token pass, confidence 0.65)

        assert.equal(sut("\uD83D"), "\uFFFD");
        assert.equal(sut("\uD83Da"), "\uFFFDa");
        assert.equal(sut("a\uD83D"), "a\uFFFD");
        assert.equal(sut("a\uD83Da"), "a\uFFFDa");
  38. info unicode-surrogate test/string-types.js:129:24

    orphaned high surrogate \uD83D (no matching low surrogate) (token pass, confidence 0.65)

        assert.equal(sut("\uD83Da"), "\uFFFDa");
        assert.equal(sut("a\uD83D"), "a\uFFFD");
        assert.equal(sut("a\uD83Da"), "a\uFFFDa");
        assert.equal(sut("\uDE00"), "\uFFFD");
  39. info unicode-surrogate test/string-types.js:130:24

    orphaned high surrogate \uD83D (no matching low surrogate) (token pass, confidence 0.65)

        assert.equal(sut("a\uD83D"), "a\uFFFD");
        assert.equal(sut("a\uD83Da"), "a\uFFFDa");
        assert.equal(sut("\uDE00"), "\uFFFD");
        assert.equal(sut("\uDE00a"), "\uFFFDa");
  40. info unicode-surrogate test/string-types.js:131:23

    orphaned low surrogate \uDE00 (no preceding high surrogate) (token pass, confidence 0.65)

        assert.equal(sut("a\uD83Da"), "a\uFFFDa");
        assert.equal(sut("\uDE00"), "\uFFFD");
        assert.equal(sut("\uDE00a"), "\uFFFDa");
        assert.equal(sut("a\uDE00"), "a\uFFFD");
  41. info unicode-surrogate test/string-types.js:132:23

    orphaned low surrogate \uDE00 (no preceding high surrogate) (token pass, confidence 0.65)

        assert.equal(sut("\uDE00"), "\uFFFD");
        assert.equal(sut("\uDE00a"), "\uFFFDa");
        assert.equal(sut("a\uDE00"), "a\uFFFD");
        assert.equal(sut("a\uDE00a"), "a\uFFFDa");
  42. info unicode-surrogate test/string-types.js:133:24

    orphaned low surrogate \uDE00 (no preceding high surrogate) (token pass, confidence 0.65)

        assert.equal(sut("\uDE00a"), "\uFFFDa");
        assert.equal(sut("a\uDE00"), "a\uFFFD");
        assert.equal(sut("a\uDE00a"), "a\uFFFDa");
        assert.equal(sut("\uDE00\uD830"), "\uFFFD\uFFFD");
  43. info unicode-surrogate test/string-types.js:134:24

    orphaned low surrogate \uDE00 (no preceding high surrogate) (token pass, confidence 0.65)

        assert.equal(sut("a\uDE00"), "a\uFFFD");
        assert.equal(sut("a\uDE00a"), "a\uFFFDa");
        assert.equal(sut("\uDE00\uD830"), "\uFFFD\uFFFD");
      });
  44. info unicode-surrogate test/string-types.js:135:23

    orphaned low surrogate \uDE00 (no preceding high surrogate) (token pass, confidence 0.65)

        assert.equal(sut("a\uDE00a"), "a\uFFFDa");
        assert.equal(sut("\uDE00\uD830"), "\uFFFD\uFFFD");
      });
    });
  45. info unicode-surrogate test/string-types.js:135:29

    orphaned high surrogate \uD830 (no matching low surrogate) (token pass, confidence 0.65)

        assert.equal(sut("a\uDE00a"), "a\uFFFDa");
        assert.equal(sut("\uDE00\uD830"), "\uFFFD\uFFFD");
      });
    });

Reproduce This Scan

Run disclude locally to verify. Add --format sarif for SARIF output. Add --llm (with an API key in the environment) to include the LLM review.

cargo install disclude --version 4.0.0
git clone https://github.com/jsdom/webidl-conversions webidl-conversions && cd webidl-conversions
git checkout v8.0.1
disclude scan --severity info --diff v8.0.0 .