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

ota-meshi / jsonc-eslint-parser / 17888386344

21 Sep 2025 03:28AM UTC coverage: 88.63%. Remained the same
17888386344

push

github

web-flow
chore: release jsonc-eslint-parser (#242)

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

308 of 366 branches covered (84.15%)

Branch coverage included in aggregate %.

2 of 2 new or added lines in 1 file covered. (100.0%)

604 of 663 relevant lines covered (91.1%)

63.98 hits per line

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

78.26
/src/parser/modules/acorn.ts
1
import type * as acorn from "acorn";
2
import { createRequire } from "module";
1✔
3
import {
1✔
4
  getRequireFromCwd,
5
  getRequireFromLinter,
6
  loadNewest,
7
  requireFromCwd,
8
  requireFromLinter,
9
} from "./require-utils";
10

11
let acornCache: typeof acorn | undefined;
12
/**
13
 * Load `acorn` from the loaded ESLint.
14
 * If the loaded ESLint was not found, just returns `require("acorn")`.
15
 */
16
export function getAcorn(): typeof acorn {
1✔
17
  if (!acornCache) {
282✔
18
    acornCache = loadNewest([
1✔
19
      {
20
        getPkg() {
21
          return requireFromCwd("acorn/package.json");
1✔
22
        },
23
        get() {
24
          return requireFromCwd("acorn");
×
25
        },
26
      },
27
      {
28
        getPkg() {
29
          return requireFromEspree("acorn/package.json");
1✔
30
        },
31
        get() {
32
          return requireFromEspree("acorn");
×
33
        },
34
      },
35
      {
36
        getPkg() {
37
          // eslint-disable-next-line @typescript-eslint/no-require-imports -- special require
38
          return require("acorn/package.json");
1✔
39
        },
40
        get() {
41
          // eslint-disable-next-line @typescript-eslint/no-require-imports -- special require
42
          return require("acorn");
1✔
43
        },
44
      },
45
    ]);
46
  }
47
  return acornCache!;
282✔
48
}
49

50
/**
51
 * Get module from espree
52
 */
53
function requireFromEspree<T>(module: string): T | null {
54
  // Lookup the loaded espree
55
  try {
1✔
56
    return createRequire(getEspreePath())(module);
1✔
57
  } catch {
58
    // ignore
59
  }
60
  return null;
×
61
}
62

63
/** Get espree path */
64
function getEspreePath(): string {
65
  return loadNewest([
1✔
66
    {
67
      getPkg() {
68
        return requireFromCwd("espree/package.json");
1✔
69
      },
70
      get() {
71
        return getRequireFromCwd()!.resolve("espree");
×
72
      },
73
    },
74
    {
75
      getPkg() {
76
        return requireFromLinter("espree/package.json");
1✔
77
      },
78
      get() {
79
        return getRequireFromLinter()!.resolve("espree");
×
80
      },
81
    },
82
    {
83
      getPkg() {
84
        // eslint-disable-next-line @typescript-eslint/no-require-imports -- special require
85
        return require("espree/package.json");
1✔
86
      },
87
      get() {
88
        return require.resolve("espree");
1✔
89
      },
90
    },
91
  ]);
92
}
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

© 2025 Coveralls, Inc