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

project-slippi / slippi-js / 24669372298

20 Apr 2026 01:31PM UTC coverage: 81.159% (+0.04%) from 81.12%
24669372298

push

github

web-flow
fix: lodash ESM bundling (#169)

* fix: lodash imports in esm context

* refactor: reduce hackiness in lazy imports

* chore: update imports

* add comment about issue that this fixes

699 of 925 branches covered (75.57%)

Branch coverage included in aggregate %.

82 of 100 new or added lines in 27 files covered. (82.0%)

2 existing lines in 2 files now uncovered.

1864 of 2233 relevant lines covered (83.48%)

126941.71 hits per line

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

2.5
/src/node/console/loadReconnectCoreModule.ts
1
// Support CJS (v7-) and ESM default export (v8+)
2
// eslint-disable-next-line @typescript-eslint/consistent-type-imports
3
export type ReconnectCoreModule = typeof import("reconnect-core");
4

5
let reconnectCoreModule: ReconnectCoreModule | undefined;
6
let loadPromise: Promise<ReconnectCoreModule | undefined> | undefined;
7

8
async function maybeLoadReconnectCoreModule(): Promise<ReconnectCoreModule | undefined> {
UNCOV
9
  if (reconnectCoreModule) {
×
10
    return reconnectCoreModule;
×
11
  }
12
  if (loadPromise) {
×
13
    return loadPromise;
×
14
  }
15

NEW
16
  loadPromise = (async () => {
×
17
    // Try require first (CJS or bundler environments)
NEW
18
    try {
×
NEW
19
      if (typeof require !== "undefined") {
×
20
        // eslint-disable-next-line @typescript-eslint/no-var-requires, @typescript-eslint/no-require-imports
NEW
21
        const mod = require("reconnect-core") as any;
×
NEW
22
        return (mod?.default ?? mod) as ReconnectCoreModule;
×
23
      }
24
    } catch {
25
      // ignore
26
    }
27

28
    // Fallback: ESM dynamic import
NEW
29
    try {
×
NEW
30
      const mod = await import("reconnect-core");
×
NEW
31
      return (mod?.default ?? mod) as ReconnectCoreModule;
×
32
    } catch {
NEW
33
      return undefined;
×
34
    }
35
  })();
36

37
  reconnectCoreModule = await loadPromise;
×
38
  return reconnectCoreModule;
×
39
}
40

41
export async function loadReconnectCoreModule(): Promise<ReconnectCoreModule> {
12✔
42
  const reconnectCoreModule = await maybeLoadReconnectCoreModule();
×
43
  if (!reconnectCoreModule) {
×
44
    throw new Error("reconnect-core is required to connect to a console. Install it with: npm install reconnect-core");
×
45
  }
46
  return reconnectCoreModule;
×
47
}
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