@deck.gl/test-utils 9.3.0-alpha.3 → 9.3.0-alpha.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs +64 -24
- package/dist/index.cjs.map +4 -4
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/dist/lifecycle-test.d.ts +31 -27
- package/dist/lifecycle-test.d.ts.map +1 -1
- package/dist/lifecycle-test.js +40 -21
- package/dist/lifecycle-test.js.map +1 -1
- package/dist/tape.d.ts +22 -0
- package/dist/tape.d.ts.map +1 -0
- package/dist/tape.js +50 -0
- package/dist/tape.js.map +1 -0
- package/dist/test-runner.js +3 -3
- package/dist/test-runner.js.map +1 -1
- package/dist/utils/setup-gl.d.ts +1 -2
- package/dist/utils/setup-gl.d.ts.map +1 -1
- package/dist/utils/setup-gl.js +1 -0
- package/dist/utils/setup-gl.js.map +1 -1
- package/dist/vitest.cjs +465 -0
- package/dist/vitest.cjs.map +7 -0
- package/dist/vitest.d.ts +17 -0
- package/dist/vitest.d.ts.map +1 -0
- package/dist/vitest.js +28 -0
- package/dist/vitest.js.map +1 -0
- package/package.json +19 -8
- package/src/globals.d.ts +42 -0
- package/src/index.ts +3 -7
- package/src/lifecycle-test.ts +98 -50
- package/src/tape.ts +85 -0
- package/src/test-runner.ts +3 -3
- package/src/utils/setup-gl.ts +1 -2
- package/src/vitest.ts +49 -0
package/dist/lifecycle-test.js
CHANGED
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
// SPDX-License-Identifier: MIT
|
|
3
3
|
// Copyright (c) vis.gl contributors
|
|
4
4
|
import { LayerManager, MapView, DeckRenderer } from '@deck.gl/core';
|
|
5
|
-
import { makeSpy } from '@probe.gl/test-utils';
|
|
6
5
|
import { device } from "./utils/setup-gl.js";
|
|
7
6
|
const testViewport = new MapView({}).makeViewport({
|
|
8
7
|
width: 100,
|
|
@@ -51,17 +50,17 @@ export async function testInitializeLayerAsync(opts) {
|
|
|
51
50
|
* Use `testLayerAsync` if the layer's update flow contains async operations.
|
|
52
51
|
*/
|
|
53
52
|
export function testLayer(opts) {
|
|
54
|
-
const { Layer, testCases = [], spies = [], onError = defaultOnError } = opts;
|
|
53
|
+
const { Layer, testCases = [], spies = [], onError = defaultOnError, createSpy, resetSpy } = opts;
|
|
55
54
|
const resources = setupLayerTests(`testing ${Layer.layerName}`, opts);
|
|
56
55
|
let layer = new Layer();
|
|
57
56
|
// Run successive update tests
|
|
58
57
|
for (const testCase of testCases) {
|
|
59
58
|
// Save old state before update
|
|
60
59
|
const oldState = { ...layer.state };
|
|
61
|
-
const { layer: newLayer, spyMap } = runLayerTestUpdate(testCase, resources, layer, spies);
|
|
60
|
+
const { layer: newLayer, spyMap } = runLayerTestUpdate(testCase, resources, layer, spies, createSpy);
|
|
62
61
|
runLayerTestPostUpdateCheck(testCase, newLayer, oldState, spyMap);
|
|
63
|
-
//
|
|
64
|
-
Object.keys(spyMap).forEach(k => spyMap[k]
|
|
62
|
+
// Reset spies between test cases
|
|
63
|
+
Object.keys(spyMap).forEach(k => resetSpy(spyMap[k]));
|
|
65
64
|
layer = newLayer;
|
|
66
65
|
}
|
|
67
66
|
const error = cleanupAfterLayerTests(resources);
|
|
@@ -74,24 +73,25 @@ export function testLayer(opts) {
|
|
|
74
73
|
* Each test case is awaited until the layer's isLoaded flag is true.
|
|
75
74
|
*/
|
|
76
75
|
export async function testLayerAsync(opts) {
|
|
77
|
-
const { Layer, testCases = [], spies = [], onError = defaultOnError } = opts;
|
|
76
|
+
const { Layer, testCases = [], spies = [], onError = defaultOnError, createSpy, resetSpy } = opts;
|
|
78
77
|
const resources = setupLayerTests(`testing ${Layer.layerName}`, opts);
|
|
79
78
|
let layer = new Layer();
|
|
80
79
|
// Run successive update tests
|
|
81
80
|
for (const testCase of testCases) {
|
|
82
81
|
// Save old state before update
|
|
83
82
|
const oldState = { ...layer.state };
|
|
84
|
-
const { layer: newLayer, spyMap } = runLayerTestUpdate(testCase, resources, layer, spies);
|
|
83
|
+
const { layer: newLayer, spyMap } = runLayerTestUpdate(testCase, resources, layer, spies, createSpy);
|
|
85
84
|
runLayerTestPostUpdateCheck(testCase, newLayer, oldState, spyMap);
|
|
86
85
|
while (!newLayer.isLoaded) {
|
|
87
86
|
await update(resources);
|
|
88
87
|
runLayerTestPostUpdateCheck(testCase, newLayer, oldState, spyMap);
|
|
89
88
|
}
|
|
90
|
-
//
|
|
91
|
-
Object.keys(spyMap).forEach(k => spyMap[k]
|
|
89
|
+
// Reset spies between test cases
|
|
90
|
+
Object.keys(spyMap).forEach(k => resetSpy(spyMap[k]));
|
|
92
91
|
layer = newLayer;
|
|
93
92
|
}
|
|
94
|
-
|
|
93
|
+
// Use async cleanup to allow pending luma.gl async operations to complete
|
|
94
|
+
const error = await cleanupAfterLayerTestsAsync(resources);
|
|
95
95
|
if (error) {
|
|
96
96
|
onError(error, `${Layer.layerName} should delete all resources`);
|
|
97
97
|
}
|
|
@@ -113,13 +113,23 @@ function cleanupAfterLayerTests({ layerManager, deckRenderer, oldResourceCounts
|
|
|
113
113
|
layerManager.setLayers([]);
|
|
114
114
|
layerManager.finalize();
|
|
115
115
|
deckRenderer.finalize();
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
116
|
+
return getResourceCountDelta(oldResourceCounts);
|
|
117
|
+
}
|
|
118
|
+
/**
|
|
119
|
+
* Async cleanup that waits for pending async operations before finalizing resources.
|
|
120
|
+
* This prevents unhandled rejections from luma.gl's async shader error reporting
|
|
121
|
+
* which may try to access destroyed WebGL resources if cleanup happens too early.
|
|
122
|
+
*/
|
|
123
|
+
async function cleanupAfterLayerTestsAsync({ layerManager, deckRenderer, oldResourceCounts }) {
|
|
124
|
+
layerManager.setLayers([]);
|
|
125
|
+
// Wait for any pending async operations (e.g., luma.gl's deferred shader compilation
|
|
126
|
+
// error handling) to complete before destroying resources. This prevents
|
|
127
|
+
// "getProgramInfoLog" errors when async error reporting tries to access
|
|
128
|
+
// already-destroyed WebGL programs.
|
|
129
|
+
await new Promise(resolve => setTimeout(resolve, 0));
|
|
130
|
+
layerManager.finalize();
|
|
131
|
+
deckRenderer.finalize();
|
|
132
|
+
return getResourceCountDelta(oldResourceCounts);
|
|
123
133
|
}
|
|
124
134
|
function getResourceCounts() {
|
|
125
135
|
/* global luma */
|
|
@@ -129,11 +139,20 @@ function getResourceCounts() {
|
|
|
129
139
|
Buffer: resourceStats.get('Buffers Active').count
|
|
130
140
|
};
|
|
131
141
|
}
|
|
132
|
-
function
|
|
142
|
+
function getResourceCountDelta(oldResourceCounts) {
|
|
143
|
+
const resourceCounts = getResourceCounts();
|
|
144
|
+
for (const resourceName in resourceCounts) {
|
|
145
|
+
if (resourceCounts[resourceName] !== oldResourceCounts[resourceName]) {
|
|
146
|
+
return new Error(`${resourceCounts[resourceName] - oldResourceCounts[resourceName]} ${resourceName}s`);
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
return null;
|
|
150
|
+
}
|
|
151
|
+
function injectSpies(layer, spies, spyFactory) {
|
|
133
152
|
const spyMap = {};
|
|
134
153
|
if (spies) {
|
|
135
154
|
for (const functionName of spies) {
|
|
136
|
-
spyMap[functionName] =
|
|
155
|
+
spyMap[functionName] = spyFactory(Object.getPrototypeOf(layer), functionName);
|
|
137
156
|
}
|
|
138
157
|
}
|
|
139
158
|
return spyMap;
|
|
@@ -157,7 +176,7 @@ function runLayerTestPostUpdateCheck(testCase, newLayer, oldState, spyMap) {
|
|
|
157
176
|
});
|
|
158
177
|
}
|
|
159
178
|
}
|
|
160
|
-
function runLayerTestUpdate(testCase, { layerManager, deckRenderer }, layer, spies) {
|
|
179
|
+
function runLayerTestUpdate(testCase, { layerManager, deckRenderer }, layer, spies, spyFactory) {
|
|
161
180
|
const { props, updateProps, onBeforeUpdate, viewport = layerManager.context.viewport } = testCase;
|
|
162
181
|
if (onBeforeUpdate) {
|
|
163
182
|
onBeforeUpdate({ layer, testCase });
|
|
@@ -172,7 +191,7 @@ function runLayerTestUpdate(testCase, { layerManager, deckRenderer }, layer, spi
|
|
|
172
191
|
}
|
|
173
192
|
// Create a map of spies that the test case can inspect
|
|
174
193
|
spies = testCase.spies || spies;
|
|
175
|
-
const spyMap = injectSpies(layer, spies);
|
|
194
|
+
const spyMap = injectSpies(layer, spies, spyFactory);
|
|
176
195
|
const drawLayers = () => {
|
|
177
196
|
deckRenderer.renderLayers({
|
|
178
197
|
pass: 'test',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lifecycle-test.js","sourceRoot":"","sources":["../src/lifecycle-test.ts"],"names":[],"mappings":"AAAA,UAAU;AACV,+BAA+B;AAC/B,oCAAoC;AAEpC,OAAO,EAAC,YAAY,EAAE,OAAO,EAAE,YAAY,EAAC,MAAM,eAAe,CAAC;AAElE,OAAO,EAAC,
|
|
1
|
+
{"version":3,"file":"lifecycle-test.js","sourceRoot":"","sources":["../src/lifecycle-test.ts"],"names":[],"mappings":"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"}
|
package/dist/tape.d.ts
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { testInitializeLayer, testInitializeLayerAsync } from "./lifecycle-test.js";
|
|
2
|
+
import type { Layer } from '@deck.gl/core';
|
|
3
|
+
import type { LayerClass, LayerTestCase, ResetSpy, SpyFactory, TestLayerOptions } from "./lifecycle-test.js";
|
|
4
|
+
export { testInitializeLayer, testInitializeLayerAsync };
|
|
5
|
+
export type { LayerClass, LayerTestCase, ResetSpy, SpyFactory };
|
|
6
|
+
/**
|
|
7
|
+
* Initialize and updates a layer over a sequence of scenarios (test cases).
|
|
8
|
+
* Use `testLayerAsync` if the layer's update flow contains async operations.
|
|
9
|
+
*/
|
|
10
|
+
export declare function testLayer<LayerT extends Layer>(opts: Omit<TestLayerOptions<LayerT>, 'createSpy' | 'resetSpy'> & {
|
|
11
|
+
createSpy?: SpyFactory;
|
|
12
|
+
resetSpy?: ResetSpy;
|
|
13
|
+
}): void;
|
|
14
|
+
/**
|
|
15
|
+
* Initialize and updates a layer over a sequence of scenarios (test cases).
|
|
16
|
+
* Each test case is awaited until the layer's isLoaded flag is true.
|
|
17
|
+
*/
|
|
18
|
+
export declare function testLayerAsync<LayerT extends Layer>(opts: Omit<TestLayerOptions<LayerT>, 'createSpy' | 'resetSpy'> & {
|
|
19
|
+
createSpy?: SpyFactory;
|
|
20
|
+
resetSpy?: ResetSpy;
|
|
21
|
+
}): Promise<void>;
|
|
22
|
+
//# sourceMappingURL=tape.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tape.d.ts","sourceRoot":"","sources":["../src/tape.ts"],"names":[],"mappings":"AAQA,OAAO,EAGL,mBAAmB,EACnB,wBAAwB,EACzB,4BAAyB;AAC1B,OAAO,KAAK,EAAC,KAAK,EAAC,MAAM,eAAe,CAAC;AACzC,OAAO,KAAK,EACV,UAAU,EACV,aAAa,EACb,QAAQ,EACR,UAAU,EACV,gBAAgB,EACjB,4BAAyB;AAE1B,OAAO,EAAC,mBAAmB,EAAE,wBAAwB,EAAC,CAAC;AACvD,YAAY,EAAC,UAAU,EAAE,aAAa,EAAE,QAAQ,EAAE,UAAU,EAAC,CAAC;AAgC9D;;;GAGG;AACH,wBAAgB,SAAS,CAAC,MAAM,SAAS,KAAK,EAC5C,IAAI,EAAE,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,EAAE,WAAW,GAAG,UAAU,CAAC,GAAG;IAC/D,SAAS,CAAC,EAAE,UAAU,CAAC;IACvB,QAAQ,CAAC,EAAE,QAAQ,CAAC;CACrB,GACA,IAAI,CAIN;AAED;;;GAGG;AACH,wBAAsB,cAAc,CAAC,MAAM,SAAS,KAAK,EACvD,IAAI,EAAE,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,EAAE,WAAW,GAAG,UAAU,CAAC,GAAG;IAC/D,SAAS,CAAC,EAAE,UAAU,CAAC;IACvB,QAAQ,CAAC,EAAE,QAAQ,CAAC;CACrB,GACA,OAAO,CAAC,IAAI,CAAC,CAIf"}
|
package/dist/tape.js
ADDED
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
// deck.gl
|
|
2
|
+
// SPDX-License-Identifier: MIT
|
|
3
|
+
// Copyright (c) vis.gl contributors
|
|
4
|
+
// Tape entry point - wraps lifecycle-test and adds @probe.gl/test-utils as the default spy factory
|
|
5
|
+
// For vitest users, use @deck.gl/test-utils/vitest which doesn't import probe.gl
|
|
6
|
+
import { makeSpy } from '@probe.gl/test-utils';
|
|
7
|
+
import { testLayer as testLayerCore, testLayerAsync as testLayerAsyncCore, testInitializeLayer, testInitializeLayerAsync } from "./lifecycle-test.js";
|
|
8
|
+
export { testInitializeLayer, testInitializeLayerAsync };
|
|
9
|
+
let _hasWarnedCreateSpy = false;
|
|
10
|
+
let _hasWarnedResetSpy = false;
|
|
11
|
+
function getDefaultSpyFactory() {
|
|
12
|
+
if (!_hasWarnedCreateSpy) {
|
|
13
|
+
_hasWarnedCreateSpy = true;
|
|
14
|
+
// eslint-disable-next-line no-console
|
|
15
|
+
console.warn('[@deck.gl/test-utils] Implicit @probe.gl/test-utils usage is deprecated. ' +
|
|
16
|
+
'Pass createSpy option: createSpy: (obj, method) => vi.spyOn(obj, method) for vitest, ' +
|
|
17
|
+
'or createSpy: makeSpy for probe.gl.');
|
|
18
|
+
}
|
|
19
|
+
return makeSpy;
|
|
20
|
+
}
|
|
21
|
+
/** Default reset for probe.gl spies - clears call tracking but keeps spy active */
|
|
22
|
+
function getDefaultResetSpy() {
|
|
23
|
+
if (!_hasWarnedResetSpy) {
|
|
24
|
+
_hasWarnedResetSpy = true;
|
|
25
|
+
// eslint-disable-next-line no-console
|
|
26
|
+
console.warn('[@deck.gl/test-utils] Implicit spy reset is deprecated. ' +
|
|
27
|
+
'Pass resetSpy option: resetSpy: (spy) => spy.mockRestore() for vitest, ' +
|
|
28
|
+
'or resetSpy: (spy) => spy.reset() for probe.gl.');
|
|
29
|
+
}
|
|
30
|
+
return spy => spy.reset();
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Initialize and updates a layer over a sequence of scenarios (test cases).
|
|
34
|
+
* Use `testLayerAsync` if the layer's update flow contains async operations.
|
|
35
|
+
*/
|
|
36
|
+
export function testLayer(opts) {
|
|
37
|
+
const createSpy = opts.createSpy || getDefaultSpyFactory();
|
|
38
|
+
const resetSpy = opts.resetSpy || getDefaultResetSpy();
|
|
39
|
+
testLayerCore({ ...opts, createSpy, resetSpy });
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Initialize and updates a layer over a sequence of scenarios (test cases).
|
|
43
|
+
* Each test case is awaited until the layer's isLoaded flag is true.
|
|
44
|
+
*/
|
|
45
|
+
export async function testLayerAsync(opts) {
|
|
46
|
+
const createSpy = opts.createSpy || getDefaultSpyFactory();
|
|
47
|
+
const resetSpy = opts.resetSpy || getDefaultResetSpy();
|
|
48
|
+
await testLayerAsyncCore({ ...opts, createSpy, resetSpy });
|
|
49
|
+
}
|
|
50
|
+
//# sourceMappingURL=tape.js.map
|
package/dist/tape.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tape.js","sourceRoot":"","sources":["../src/tape.ts"],"names":[],"mappings":"AAAA,UAAU;AACV,+BAA+B;AAC/B,oCAAoC;AAEpC,mGAAmG;AACnG,iFAAiF;AAEjF,OAAO,EAAC,OAAO,EAAC,MAAM,sBAAsB,CAAC;AAC7C,OAAO,EACL,SAAS,IAAI,aAAa,EAC1B,cAAc,IAAI,kBAAkB,EACpC,mBAAmB,EACnB,wBAAwB,EACzB,4BAAyB;AAU1B,OAAO,EAAC,mBAAmB,EAAE,wBAAwB,EAAC,CAAC;AAGvD,IAAI,mBAAmB,GAAG,KAAK,CAAC;AAChC,IAAI,kBAAkB,GAAG,KAAK,CAAC;AAE/B,SAAS,oBAAoB;IAC3B,IAAI,CAAC,mBAAmB,EAAE,CAAC;QACzB,mBAAmB,GAAG,IAAI,CAAC;QAC3B,sCAAsC;QACtC,OAAO,CAAC,IAAI,CACV,2EAA2E;YACzE,uFAAuF;YACvF,qCAAqC,CACxC,CAAC;IACJ,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,mFAAmF;AACnF,SAAS,kBAAkB;IACzB,IAAI,CAAC,kBAAkB,EAAE,CAAC;QACxB,kBAAkB,GAAG,IAAI,CAAC;QAC1B,sCAAsC;QACtC,OAAO,CAAC,IAAI,CACV,0DAA0D;YACxD,yEAAyE;YACzE,iDAAiD,CACpD,CAAC;IACJ,CAAC;IACD,OAAO,GAAG,CAAC,EAAE,CAAE,GAAkC,CAAC,KAAK,EAAE,CAAC;AAC5D,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,SAAS,CACvB,IAGC;IAED,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,IAAI,oBAAoB,EAAE,CAAC;IAC3D,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,kBAAkB,EAAE,CAAC;IACvD,aAAa,CAAC,EAAC,GAAG,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAC,CAAC,CAAC;AAChD,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,IAGC;IAED,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,IAAI,oBAAoB,EAAE,CAAC;IAC3D,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,kBAAkB,EAAE,CAAC;IACvD,MAAM,kBAAkB,CAAC,EAAC,GAAG,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAC,CAAC,CAAC;AAC3D,CAAC"}
|
package/dist/test-runner.js
CHANGED
|
@@ -111,7 +111,7 @@ export class TestRunner {
|
|
|
111
111
|
const task = this.runTestCase(testCase);
|
|
112
112
|
const timeoutTask = new Promise((_, reject) => {
|
|
113
113
|
setTimeout(() => {
|
|
114
|
-
reject(
|
|
114
|
+
reject(`Timeout after ${timeout}ms`);
|
|
115
115
|
}, timeout);
|
|
116
116
|
});
|
|
117
117
|
try {
|
|
@@ -119,8 +119,8 @@ export class TestRunner {
|
|
|
119
119
|
await this.assert(testCase);
|
|
120
120
|
}
|
|
121
121
|
catch (err) {
|
|
122
|
-
if (err === 'Timeout') {
|
|
123
|
-
this.fail({ error:
|
|
122
|
+
if (typeof err === 'string' && err.startsWith('Timeout')) {
|
|
123
|
+
this.fail({ error: err });
|
|
124
124
|
}
|
|
125
125
|
}
|
|
126
126
|
}
|
package/dist/test-runner.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"test-runner.js","sourceRoot":"","sources":["../src/test-runner.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"test-runner.js","sourceRoot":"","sources":["../src/test-runner.ts"],"names":[],"mappings":"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"}
|
package/dist/utils/setup-gl.d.ts
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import { WebGLDevice } from '@luma.gl/webgl';
|
|
2
1
|
import { NullDevice } from '@luma.gl/test-utils';
|
|
3
|
-
export declare const device: WebGLDevice | NullDevice;
|
|
2
|
+
export declare const device: import("@luma.gl/webgl").WebGLDevice | NullDevice;
|
|
4
3
|
export declare const gl: number | WebGL2RenderingContext;
|
|
5
4
|
//# sourceMappingURL=setup-gl.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setup-gl.d.ts","sourceRoot":"","sources":["../../src/utils/setup-gl.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"setup-gl.d.ts","sourceRoot":"","sources":["../../src/utils/setup-gl.ts"],"names":[],"mappings":"AAIA,OAAO,EAAc,UAAU,EAAC,MAAM,qBAAqB,CAAC;AAG5D,eAAO,MAAM,MAAM,mDAAoC,CAAC;AACxD,eAAO,MAAM,EAAE,iCAAuB,CAAC"}
|
package/dist/utils/setup-gl.js
CHANGED
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
// SPDX-License-Identifier: MIT
|
|
3
3
|
// Copyright (c) vis.gl contributors
|
|
4
4
|
import { webglDevice, NullDevice } from '@luma.gl/test-utils';
|
|
5
|
+
// Use pre-created device from @luma.gl/test-utils, fall back to NullDevice in Node
|
|
5
6
|
export const device = webglDevice || new NullDevice({});
|
|
6
7
|
export const gl = webglDevice?.gl || 1;
|
|
7
8
|
globalThis.glContext = globalThis.glContext || gl;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setup-gl.js","sourceRoot":"","sources":["../../src/utils/setup-gl.ts"],"names":[],"mappings":"AAAA,UAAU;AACV,+BAA+B;AAC/B,oCAAoC;
|
|
1
|
+
{"version":3,"file":"setup-gl.js","sourceRoot":"","sources":["../../src/utils/setup-gl.ts"],"names":[],"mappings":"AAAA,UAAU;AACV,+BAA+B;AAC/B,oCAAoC;AAEpC,OAAO,EAAC,WAAW,EAAE,UAAU,EAAC,MAAM,qBAAqB,CAAC;AAE5D,mFAAmF;AACnF,MAAM,CAAC,MAAM,MAAM,GAAG,WAAW,IAAI,IAAI,UAAU,CAAC,EAAE,CAAC,CAAC;AACxD,MAAM,CAAC,MAAM,EAAE,GAAG,WAAW,EAAE,EAAE,IAAI,CAAC,CAAC;AAEvC,UAAU,CAAC,SAAS,GAAG,UAAU,CAAC,SAAS,IAAI,EAAE,CAAC"}
|