/
node.ts
28 lines (24 loc) · 951 Bytes
/
node.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
// Polyfill for loaders
import '@loaders.gl/polyfills';
// Polyfill with JSDOM
import {JSDOM} from 'jsdom';
const dom = new JSDOM('<!DOCTYPE html>');
// These globals are required by @jupyter-widgets/base
const _global: any = globalThis;
/** global setTimeout, clearTimeout */
_global.window = dom.window;
_global.navigator = dom.window.navigator;
_global.document = dom.window.document;
_global.Element = dom.window.Element;
_global.__JSDOM__ = true;
_global.HTMLCanvasElement = dom.window.HTMLCanvasElement;
_global.HTMLVideoElement = dom.window.HTMLVideoElement;
_global.requestAnimationFrame = cb => setTimeout(cb, 0);
_global.cancelAnimationFrame = t => clearTimeout(t);
import {gl} from '@deck.gl/test-utils';
// Create a dummy canvas for the headless gl context
const canvas = globalThis.document.createElement('canvas');
canvas.width = gl.drawingBufferWidth;
canvas.height = gl.drawingBufferHeight;
gl.canvas = canvas;
import './modules';