@deephaven/app-utils 1.22.2-alpha-pivot-builder.0 → 1.22.2-alpha-pivot-builder.0730ba6.0
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.
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConnectionBootstrap.d.ts","sourceRoot":"","sources":["../../src/components/ConnectionBootstrap.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAoD,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"ConnectionBootstrap.d.ts","sourceRoot":"","sources":["../../src/components/ConnectionBootstrap.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAoD,MAAM,OAAO,CAAC;AA8BzE,MAAM,MAAM,wBAAwB,GAAG;IACrC;;;OAGG;IACH,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B,CAAC;AAEF;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,EAClC,QAAQ,GACT,EAAE,wBAAwB,GAAG,GAAG,CAAC,OAAO,CAgOxC;AAED,eAAe,mBAAmB,CAAC"}
|
|
@@ -8,9 +8,9 @@ function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" !=
|
|
|
8
8
|
function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
|
|
9
9
|
import React, { useCallback, useEffect, useMemo, useState } from 'react';
|
|
10
10
|
import { BasicModal, DebouncedModal, InfoModal, LoadingOverlay, LoadingSpinner } from '@deephaven/components';
|
|
11
|
-
import {
|
|
11
|
+
import { ObjectFetcherContext, ObjectFetchManagerContext, sanitizeVariableDescriptor, useApi, useClient, WorkerVariablesContext } from '@deephaven/jsapi-bootstrap';
|
|
12
12
|
import Log from '@deephaven/log';
|
|
13
|
-
import {
|
|
13
|
+
import { createWorkerVariablesStore } from '@deephaven/jsapi-utils';
|
|
14
14
|
import { assertNotNull } from '@deephaven/utils';
|
|
15
15
|
import { vsDebugDisconnect } from '@deephaven/icons';
|
|
16
16
|
import ConnectionContext from "./ConnectionContext.js";
|
|
@@ -130,21 +130,26 @@ export function ConnectionBootstrap(_ref) {
|
|
|
130
130
|
return _ref2.apply(this, arguments);
|
|
131
131
|
};
|
|
132
132
|
}(), [connection]);
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
133
|
+
|
|
134
|
+
// Push-based worker variable store for DHC. Core exposes a single
|
|
135
|
+
// connection, so the resolver ignores the worker key.
|
|
136
|
+
var _useState7 = useState(null),
|
|
137
|
+
_useState8 = _slicedToArray(_useState7, 2),
|
|
138
|
+
workerVariablesStore = _useState8[0],
|
|
139
|
+
setWorkerVariablesStore = _useState8[1];
|
|
140
|
+
useEffect(function manageWorkerVariablesStore() {
|
|
141
|
+
if (connection == null) {
|
|
142
|
+
setWorkerVariablesStore(null);
|
|
143
|
+
return undefined;
|
|
144
|
+
}
|
|
145
|
+
var store = createWorkerVariablesStore(/*#__PURE__*/_asyncToGenerator(function* () {
|
|
146
|
+
return connection;
|
|
147
|
+
}));
|
|
148
|
+
setWorkerVariablesStore(store);
|
|
149
|
+
return () => {
|
|
150
|
+
store.destroy();
|
|
146
151
|
};
|
|
147
|
-
}
|
|
152
|
+
}, [connection]);
|
|
148
153
|
|
|
149
154
|
/** We don't really need to do anything fancy in Core to manage an object, just fetch it */
|
|
150
155
|
var objectManager = useMemo(() => ({
|
|
@@ -175,8 +180,8 @@ export function ConnectionBootstrap(_ref) {
|
|
|
175
180
|
value: connection !== null && connection !== void 0 ? connection : null,
|
|
176
181
|
children: /*#__PURE__*/_jsx(ObjectFetcherContext.Provider, {
|
|
177
182
|
value: objectFetcher,
|
|
178
|
-
children: /*#__PURE__*/_jsx(
|
|
179
|
-
value:
|
|
183
|
+
children: /*#__PURE__*/_jsx(WorkerVariablesContext.Provider, {
|
|
184
|
+
value: workerVariablesStore,
|
|
180
185
|
children: /*#__PURE__*/_jsxs(ObjectFetchManagerContext.Provider, {
|
|
181
186
|
value: objectManager,
|
|
182
187
|
children: [children, /*#__PURE__*/_jsx(DebouncedModal, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConnectionBootstrap.js","names":["React","useCallback","useEffect","useMemo","useState","BasicModal","DebouncedModal","InfoModal","LoadingOverlay","LoadingSpinner","VariableDefinitionFinderContext","ObjectFetcherContext","ObjectFetchManagerContext","sanitizeVariableDescriptor","useApi","useClient","Log","fetchVariableDefinitionByPredicate","assertNotNull","vsDebugDisconnect","ConnectionContext","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","log","module","ConnectionBootstrap","_ref","children","api","client","_useState","_useState2","_slicedToArray","error","setError","_useState3","_useState4","connection","setConnection","_useState5","_useState6","connectionState","setConnectionState","isAuthFailed","isShutdown","isReconnecting","isNotConnecting","initConnection","isCanceled","loadConnection","_loadConnection","apply","arguments","_asyncToGenerator","newConnection","getAsIdeConnection","e","listenForDisconnect","handleDisconnect","event","detail","info","concat","JSON","stringify","removerFn","addEventListener","IdeConnection","EVENT_DISCONNECT","listenForReconnect","handleReconnect","CoreClient","EVENT_RECONNECT","listenForShutdown","handleShutdown","EVENT_SHUTDOWN","listenForAuthFailed","handleAuthFailed","warn","EVENT_RECONNECT_AUTH_FAILED","objectFetcher","_ref2","descriptor","Error","getObject","_x","variableDefinitionFinder","_ref3","predicate","_unused","_x2","objectManager","subscribe","onUpdate","fetch","status","handleRefresh","window","location","reload","isLoading","errorMessage","undefined","Provider","value","isOpen","debounceMs","icon","title","subtitle","confirmButtonText","onConfirm","headerText","bodyText"],"sources":["../../src/components/ConnectionBootstrap.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useMemo, useState } from 'react';\nimport {\n BasicModal,\n DebouncedModal,\n InfoModal,\n LoadingOverlay,\n LoadingSpinner,\n} from '@deephaven/components';\nimport {\n type VariableDefinitionFinder,\n VariableDefinitionFinderContext,\n ObjectFetcherContext,\n type ObjectFetchManager,\n ObjectFetchManagerContext,\n sanitizeVariableDescriptor,\n type UriVariableDescriptor,\n useApi,\n useClient,\n} from '@deephaven/jsapi-bootstrap';\nimport type { dh } from '@deephaven/jsapi-types';\nimport Log from '@deephaven/log';\nimport { fetchVariableDefinitionByPredicate } from '@deephaven/jsapi-utils';\nimport { assertNotNull } from '@deephaven/utils';\nimport { vsDebugDisconnect } from '@deephaven/icons';\nimport ConnectionContext from './ConnectionContext';\n\nconst log = Log.module('@deephaven/app-utils.ConnectionBootstrap');\n\nexport type ConnectionBootstrapProps = {\n /**\n * The children to render wrapped with the ConnectionContext.\n * Will not render children until the connection is created.\n */\n children: React.ReactNode;\n};\n\n/**\n * ConnectionBootstrap component. Handles initializing the connection.\n */\nexport function ConnectionBootstrap({\n children,\n}: ConnectionBootstrapProps): JSX.Element {\n const api = useApi();\n const client = useClient();\n const [error, setError] = useState<unknown>();\n const [connection, setConnection] = useState<dh.IdeConnection>();\n const [connectionState, setConnectionState] = useState<\n | 'not_connecting'\n | 'connecting'\n | 'connected'\n | 'reconnecting'\n | 'failed'\n | 'shutdown'\n >('connecting');\n const isAuthFailed = connectionState === 'failed';\n const isShutdown = connectionState === 'shutdown';\n const isReconnecting = connectionState === 'reconnecting';\n const isNotConnecting = connectionState === 'not_connecting';\n\n useEffect(\n function initConnection() {\n let isCanceled = false;\n async function loadConnection(): Promise<void> {\n try {\n const newConnection = await client.getAsIdeConnection();\n if (isCanceled) {\n return;\n }\n setConnection(newConnection);\n setConnectionState('connected');\n } catch (e) {\n if (isCanceled) {\n return;\n }\n setError(e);\n setConnectionState('not_connecting');\n }\n }\n loadConnection();\n return () => {\n isCanceled = true;\n };\n },\n [api, client]\n );\n\n useEffect(\n function listenForDisconnect() {\n if (connection == null || isShutdown) return;\n\n // handles the disconnect event\n function handleDisconnect(event: dh.Event<unknown>): void {\n const { detail } = event;\n log.info('Disconnect', `${JSON.stringify(detail)}`);\n setConnectionState('reconnecting');\n }\n const removerFn = connection.addEventListener(\n api.IdeConnection.EVENT_DISCONNECT,\n handleDisconnect\n );\n\n return removerFn;\n },\n [api, connection, isShutdown]\n );\n\n useEffect(\n function listenForReconnect() {\n if (connection == null || isShutdown) return;\n\n // handles the reconnect event\n function handleReconnect(event: dh.Event<unknown>): void {\n const { detail } = event;\n log.info('Reconnect', `${JSON.stringify(detail)}`);\n setConnectionState('connected');\n }\n const removerFn = connection.addEventListener(\n api.CoreClient.EVENT_RECONNECT,\n handleReconnect\n );\n\n return removerFn;\n },\n [api, connection, isShutdown]\n );\n\n useEffect(\n function listenForShutdown() {\n if (connection == null) return;\n\n // handles the shutdown event\n function handleShutdown(event: dh.Event<unknown>): void {\n const { detail } = event;\n log.info('Shutdown', `${JSON.stringify(detail)}`);\n setError(`Server shutdown: ${detail ?? 'Unknown reason'}`);\n setConnectionState('shutdown');\n }\n const removerFn = connection.addEventListener(\n api.IdeConnection.EVENT_SHUTDOWN,\n handleShutdown\n );\n\n return removerFn;\n },\n [api, connection]\n );\n\n useEffect(\n function listenForAuthFailed() {\n if (connection == null || isShutdown) return;\n\n // handles the auth failed event\n function handleAuthFailed(event: dh.Event<unknown>): void {\n const { detail } = event;\n log.warn(\n 'Reconnect authentication failed',\n `${JSON.stringify(detail)}`\n );\n setError(\n `Reconnect authentication failed: ${detail ?? 'Unknown reason'}`\n );\n setConnectionState('failed');\n }\n const removerFn = connection.addEventListener(\n api.CoreClient.EVENT_RECONNECT_AUTH_FAILED,\n handleAuthFailed\n );\n\n return removerFn;\n },\n [api, connection, isShutdown]\n );\n\n const objectFetcher = useCallback(\n async (descriptor: dh.ide.VariableDescriptor | UriVariableDescriptor) => {\n assertNotNull(connection, 'No connection available to fetch object with');\n if (typeof descriptor === 'string') {\n throw new Error('No URI resolvers available in Core');\n }\n return connection.getObject(sanitizeVariableDescriptor(descriptor));\n },\n [connection]\n );\n\n const variableDefinitionFinder = useCallback<VariableDefinitionFinder>(\n async predicate => {\n assertNotNull(\n connection,\n 'No connection available to find variable with'\n );\n // Core exposes a single connection, so the worker descriptor is unused.\n try {\n return await fetchVariableDefinitionByPredicate(connection, predicate);\n } catch {\n // Treat \"not found\" and timeouts uniformly as absent.\n return null;\n }\n },\n [connection]\n );\n\n /** We don't really need to do anything fancy in Core to manage an object, just fetch it */\n const objectManager: ObjectFetchManager = useMemo(\n () => ({\n subscribe: (descriptor, onUpdate) => {\n // We send an update with the fetch right away\n onUpdate({\n fetch: () => objectFetcher(descriptor),\n status: 'ready',\n });\n return () => {\n // no-op\n // For Core, if the server dies then we can't reconnect anyway, so no need to bother listening for subscription or cleaning up\n };\n },\n }),\n [objectFetcher]\n );\n\n function handleRefresh(): void {\n log.info('Refreshing application');\n window.location.reload();\n }\n\n if (isShutdown || connectionState === 'connecting' || isNotConnecting) {\n return (\n <LoadingOverlay\n data-testid=\"connection-bootstrap-loading\"\n isLoading={error == null}\n errorMessage={error != null ? `${error}` : undefined}\n />\n );\n }\n\n return (\n <ConnectionContext.Provider value={connection ?? null}>\n <ObjectFetcherContext.Provider value={objectFetcher}>\n <VariableDefinitionFinderContext.Provider\n value={variableDefinitionFinder}\n >\n <ObjectFetchManagerContext.Provider value={objectManager}>\n {children}\n <DebouncedModal isOpen={isReconnecting} debounceMs={1000}>\n <InfoModal\n icon={vsDebugDisconnect}\n title={\n <>\n <LoadingSpinner /> Attempting to reconnect...\n </>\n }\n subtitle=\"Please check your network connection.\"\n />\n </DebouncedModal>\n <BasicModal\n confirmButtonText=\"Refresh\"\n onConfirm={handleRefresh}\n isOpen={isAuthFailed}\n headerText=\"Authentication failed\"\n bodyText=\"Credentials are invalid. Please refresh your browser to try and reconnect.\"\n />\n </ObjectFetchManagerContext.Provider>\n </VariableDefinitionFinderContext.Provider>\n </ObjectFetcherContext.Provider>\n </ConnectionContext.Provider>\n );\n}\n\nexport default ConnectionBootstrap;\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"ConnectionBootstrap.js","names":["React","useCallback","useEffect","useMemo","useState","BasicModal","DebouncedModal","InfoModal","LoadingOverlay","LoadingSpinner","ObjectFetcherContext","ObjectFetchManagerContext","sanitizeVariableDescriptor","useApi","useClient","WorkerVariablesContext","Log","createWorkerVariablesStore","assertNotNull","vsDebugDisconnect","ConnectionContext","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","log","module","ConnectionBootstrap","_ref","children","api","client","_useState","_useState2","_slicedToArray","error","setError","_useState3","_useState4","connection","setConnection","_useState5","_useState6","connectionState","setConnectionState","isAuthFailed","isShutdown","isReconnecting","isNotConnecting","initConnection","isCanceled","loadConnection","_loadConnection","apply","arguments","_asyncToGenerator","newConnection","getAsIdeConnection","e","listenForDisconnect","handleDisconnect","event","detail","info","concat","JSON","stringify","removerFn","addEventListener","IdeConnection","EVENT_DISCONNECT","listenForReconnect","handleReconnect","CoreClient","EVENT_RECONNECT","listenForShutdown","handleShutdown","EVENT_SHUTDOWN","listenForAuthFailed","handleAuthFailed","warn","EVENT_RECONNECT_AUTH_FAILED","objectFetcher","_ref2","descriptor","Error","getObject","_x","_useState7","_useState8","workerVariablesStore","setWorkerVariablesStore","manageWorkerVariablesStore","undefined","store","destroy","objectManager","subscribe","onUpdate","fetch","status","handleRefresh","window","location","reload","isLoading","errorMessage","Provider","value","isOpen","debounceMs","icon","title","subtitle","confirmButtonText","onConfirm","headerText","bodyText"],"sources":["../../src/components/ConnectionBootstrap.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useMemo, useState } from 'react';\nimport {\n BasicModal,\n DebouncedModal,\n InfoModal,\n LoadingOverlay,\n LoadingSpinner,\n} from '@deephaven/components';\nimport {\n ObjectFetcherContext,\n type ObjectFetchManager,\n ObjectFetchManagerContext,\n sanitizeVariableDescriptor,\n type UriVariableDescriptor,\n useApi,\n useClient,\n WorkerVariablesContext,\n} from '@deephaven/jsapi-bootstrap';\nimport type { dh } from '@deephaven/jsapi-types';\nimport Log from '@deephaven/log';\nimport {\n createWorkerVariablesStore,\n type WorkerVariablesStore,\n} from '@deephaven/jsapi-utils';\nimport { assertNotNull } from '@deephaven/utils';\nimport { vsDebugDisconnect } from '@deephaven/icons';\nimport ConnectionContext from './ConnectionContext';\n\nconst log = Log.module('@deephaven/app-utils.ConnectionBootstrap');\n\nexport type ConnectionBootstrapProps = {\n /**\n * The children to render wrapped with the ConnectionContext.\n * Will not render children until the connection is created.\n */\n children: React.ReactNode;\n};\n\n/**\n * ConnectionBootstrap component. Handles initializing the connection.\n */\nexport function ConnectionBootstrap({\n children,\n}: ConnectionBootstrapProps): JSX.Element {\n const api = useApi();\n const client = useClient();\n const [error, setError] = useState<unknown>();\n const [connection, setConnection] = useState<dh.IdeConnection>();\n const [connectionState, setConnectionState] = useState<\n | 'not_connecting'\n | 'connecting'\n | 'connected'\n | 'reconnecting'\n | 'failed'\n | 'shutdown'\n >('connecting');\n const isAuthFailed = connectionState === 'failed';\n const isShutdown = connectionState === 'shutdown';\n const isReconnecting = connectionState === 'reconnecting';\n const isNotConnecting = connectionState === 'not_connecting';\n\n useEffect(\n function initConnection() {\n let isCanceled = false;\n async function loadConnection(): Promise<void> {\n try {\n const newConnection = await client.getAsIdeConnection();\n if (isCanceled) {\n return;\n }\n setConnection(newConnection);\n setConnectionState('connected');\n } catch (e) {\n if (isCanceled) {\n return;\n }\n setError(e);\n setConnectionState('not_connecting');\n }\n }\n loadConnection();\n return () => {\n isCanceled = true;\n };\n },\n [api, client]\n );\n\n useEffect(\n function listenForDisconnect() {\n if (connection == null || isShutdown) return;\n\n // handles the disconnect event\n function handleDisconnect(event: dh.Event<unknown>): void {\n const { detail } = event;\n log.info('Disconnect', `${JSON.stringify(detail)}`);\n setConnectionState('reconnecting');\n }\n const removerFn = connection.addEventListener(\n api.IdeConnection.EVENT_DISCONNECT,\n handleDisconnect\n );\n\n return removerFn;\n },\n [api, connection, isShutdown]\n );\n\n useEffect(\n function listenForReconnect() {\n if (connection == null || isShutdown) return;\n\n // handles the reconnect event\n function handleReconnect(event: dh.Event<unknown>): void {\n const { detail } = event;\n log.info('Reconnect', `${JSON.stringify(detail)}`);\n setConnectionState('connected');\n }\n const removerFn = connection.addEventListener(\n api.CoreClient.EVENT_RECONNECT,\n handleReconnect\n );\n\n return removerFn;\n },\n [api, connection, isShutdown]\n );\n\n useEffect(\n function listenForShutdown() {\n if (connection == null) return;\n\n // handles the shutdown event\n function handleShutdown(event: dh.Event<unknown>): void {\n const { detail } = event;\n log.info('Shutdown', `${JSON.stringify(detail)}`);\n setError(`Server shutdown: ${detail ?? 'Unknown reason'}`);\n setConnectionState('shutdown');\n }\n const removerFn = connection.addEventListener(\n api.IdeConnection.EVENT_SHUTDOWN,\n handleShutdown\n );\n\n return removerFn;\n },\n [api, connection]\n );\n\n useEffect(\n function listenForAuthFailed() {\n if (connection == null || isShutdown) return;\n\n // handles the auth failed event\n function handleAuthFailed(event: dh.Event<unknown>): void {\n const { detail } = event;\n log.warn(\n 'Reconnect authentication failed',\n `${JSON.stringify(detail)}`\n );\n setError(\n `Reconnect authentication failed: ${detail ?? 'Unknown reason'}`\n );\n setConnectionState('failed');\n }\n const removerFn = connection.addEventListener(\n api.CoreClient.EVENT_RECONNECT_AUTH_FAILED,\n handleAuthFailed\n );\n\n return removerFn;\n },\n [api, connection, isShutdown]\n );\n\n const objectFetcher = useCallback(\n async (descriptor: dh.ide.VariableDescriptor | UriVariableDescriptor) => {\n assertNotNull(connection, 'No connection available to fetch object with');\n if (typeof descriptor === 'string') {\n throw new Error('No URI resolvers available in Core');\n }\n return connection.getObject(sanitizeVariableDescriptor(descriptor));\n },\n [connection]\n );\n\n // Push-based worker variable store for DHC. Core exposes a single\n // connection, so the resolver ignores the worker key.\n const [workerVariablesStore, setWorkerVariablesStore] =\n useState<WorkerVariablesStore | null>(null);\n useEffect(\n function manageWorkerVariablesStore() {\n if (connection == null) {\n setWorkerVariablesStore(null);\n return undefined;\n }\n const store = createWorkerVariablesStore(async () => connection);\n setWorkerVariablesStore(store);\n return () => {\n store.destroy();\n };\n },\n [connection]\n );\n\n /** We don't really need to do anything fancy in Core to manage an object, just fetch it */\n const objectManager: ObjectFetchManager = useMemo(\n () => ({\n subscribe: (descriptor, onUpdate) => {\n // We send an update with the fetch right away\n onUpdate({\n fetch: () => objectFetcher(descriptor),\n status: 'ready',\n });\n return () => {\n // no-op\n // For Core, if the server dies then we can't reconnect anyway, so no need to bother listening for subscription or cleaning up\n };\n },\n }),\n [objectFetcher]\n );\n\n function handleRefresh(): void {\n log.info('Refreshing application');\n window.location.reload();\n }\n\n if (isShutdown || connectionState === 'connecting' || isNotConnecting) {\n return (\n <LoadingOverlay\n data-testid=\"connection-bootstrap-loading\"\n isLoading={error == null}\n errorMessage={error != null ? `${error}` : undefined}\n />\n );\n }\n\n return (\n <ConnectionContext.Provider value={connection ?? null}>\n <ObjectFetcherContext.Provider value={objectFetcher}>\n <WorkerVariablesContext.Provider value={workerVariablesStore}>\n <ObjectFetchManagerContext.Provider value={objectManager}>\n {children}\n <DebouncedModal isOpen={isReconnecting} debounceMs={1000}>\n <InfoModal\n icon={vsDebugDisconnect}\n title={\n <>\n <LoadingSpinner /> Attempting to reconnect...\n </>\n }\n subtitle=\"Please check your network connection.\"\n />\n </DebouncedModal>\n <BasicModal\n confirmButtonText=\"Refresh\"\n onConfirm={handleRefresh}\n isOpen={isAuthFailed}\n headerText=\"Authentication failed\"\n bodyText=\"Credentials are invalid. Please refresh your browser to try and reconnect.\"\n />\n </ObjectFetchManagerContext.Provider>\n </WorkerVariablesContext.Provider>\n </ObjectFetcherContext.Provider>\n </ConnectionContext.Provider>\n );\n}\n\nexport default ConnectionBootstrap;\n"],"mappings":"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","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@deephaven/app-utils",
|
|
3
|
-
"version": "1.22.2-alpha-pivot-builder.0+
|
|
3
|
+
"version": "1.22.2-alpha-pivot-builder.0730ba6.0+0730ba6",
|
|
4
4
|
"description": "Deephaven App Utils",
|
|
5
5
|
"author": "Deephaven Data Labs LLC",
|
|
6
6
|
"license": "Apache-2.0",
|
|
@@ -22,30 +22,30 @@
|
|
|
22
22
|
"build:babel": "babel ./src --out-dir ./dist --extensions \".ts,.tsx,.js,.jsx\" --source-maps --root-mode upward"
|
|
23
23
|
},
|
|
24
24
|
"devDependencies": {
|
|
25
|
-
"@deephaven/test-utils": "^1.22.2-alpha-pivot-builder.0+
|
|
25
|
+
"@deephaven/test-utils": "^1.22.2-alpha-pivot-builder.0730ba6.0+0730ba6"
|
|
26
26
|
},
|
|
27
27
|
"dependencies": {
|
|
28
28
|
"@adobe/react-spectrum": "3.47.0",
|
|
29
|
-
"@deephaven/auth-plugins": "^1.22.2-alpha-pivot-builder.0+
|
|
30
|
-
"@deephaven/chart": "^1.22.2-alpha-pivot-builder.0+
|
|
31
|
-
"@deephaven/components": "^1.22.2-alpha-pivot-builder.0+
|
|
32
|
-
"@deephaven/console": "^1.22.2-alpha-pivot-builder.0+
|
|
33
|
-
"@deephaven/dashboard": "^1.22.2-alpha-pivot-builder.0+
|
|
34
|
-
"@deephaven/dashboard-core-plugins": "^1.22.2-alpha-pivot-builder.0+
|
|
35
|
-
"@deephaven/file-explorer": "^1.22.2-alpha-pivot-builder.0+
|
|
36
|
-
"@deephaven/golden-layout": "^1.22.2-alpha-pivot-builder.0+
|
|
37
|
-
"@deephaven/icons": "^1.22.2-alpha-pivot-builder.0+
|
|
38
|
-
"@deephaven/iris-grid": "^1.22.2-alpha-pivot-builder.0+
|
|
39
|
-
"@deephaven/jsapi-bootstrap": "^1.22.2-alpha-pivot-builder.0+
|
|
40
|
-
"@deephaven/jsapi-components": "^1.22.2-alpha-pivot-builder.0+
|
|
29
|
+
"@deephaven/auth-plugins": "^1.22.2-alpha-pivot-builder.0730ba6.0+0730ba6",
|
|
30
|
+
"@deephaven/chart": "^1.22.2-alpha-pivot-builder.0730ba6.0+0730ba6",
|
|
31
|
+
"@deephaven/components": "^1.22.2-alpha-pivot-builder.0730ba6.0+0730ba6",
|
|
32
|
+
"@deephaven/console": "^1.22.2-alpha-pivot-builder.0730ba6.0+0730ba6",
|
|
33
|
+
"@deephaven/dashboard": "^1.22.2-alpha-pivot-builder.0730ba6.0+0730ba6",
|
|
34
|
+
"@deephaven/dashboard-core-plugins": "^1.22.2-alpha-pivot-builder.0730ba6.0+0730ba6",
|
|
35
|
+
"@deephaven/file-explorer": "^1.22.2-alpha-pivot-builder.0730ba6.0+0730ba6",
|
|
36
|
+
"@deephaven/golden-layout": "^1.22.2-alpha-pivot-builder.0730ba6.0+0730ba6",
|
|
37
|
+
"@deephaven/icons": "^1.22.2-alpha-pivot-builder.0730ba6.0+0730ba6",
|
|
38
|
+
"@deephaven/iris-grid": "^1.22.2-alpha-pivot-builder.0730ba6.0+0730ba6",
|
|
39
|
+
"@deephaven/jsapi-bootstrap": "^1.22.2-alpha-pivot-builder.0730ba6.0+0730ba6",
|
|
40
|
+
"@deephaven/jsapi-components": "^1.22.2-alpha-pivot-builder.0730ba6.0+0730ba6",
|
|
41
41
|
"@deephaven/jsapi-types": "^1.0.0-dev0.40.4",
|
|
42
|
-
"@deephaven/jsapi-utils": "^1.22.2-alpha-pivot-builder.0+
|
|
43
|
-
"@deephaven/log": "^1.22.2-alpha-pivot-builder.0+
|
|
44
|
-
"@deephaven/plugin": "^1.22.2-alpha-pivot-builder.0+
|
|
45
|
-
"@deephaven/react-hooks": "^1.22.2-alpha-pivot-builder.0+
|
|
46
|
-
"@deephaven/redux": "^1.22.2-alpha-pivot-builder.0+
|
|
47
|
-
"@deephaven/storage": "^1.22.2-alpha-pivot-builder.0+
|
|
48
|
-
"@deephaven/utils": "^1.22.2-alpha-pivot-builder.0+
|
|
42
|
+
"@deephaven/jsapi-utils": "^1.22.2-alpha-pivot-builder.0730ba6.0+0730ba6",
|
|
43
|
+
"@deephaven/log": "^1.22.2-alpha-pivot-builder.0730ba6.0+0730ba6",
|
|
44
|
+
"@deephaven/plugin": "^1.22.2-alpha-pivot-builder.0730ba6.0+0730ba6",
|
|
45
|
+
"@deephaven/react-hooks": "^1.22.2-alpha-pivot-builder.0730ba6.0+0730ba6",
|
|
46
|
+
"@deephaven/redux": "^1.22.2-alpha-pivot-builder.0730ba6.0+0730ba6",
|
|
47
|
+
"@deephaven/storage": "^1.22.2-alpha-pivot-builder.0730ba6.0+0730ba6",
|
|
48
|
+
"@deephaven/utils": "^1.22.2-alpha-pivot-builder.0730ba6.0+0730ba6",
|
|
49
49
|
"@paciolan/remote-component": "2.13.0",
|
|
50
50
|
"@paciolan/remote-module-loader": "^3.0.2",
|
|
51
51
|
"classnames": "^2.5.1",
|
|
@@ -68,5 +68,5 @@
|
|
|
68
68
|
"publishConfig": {
|
|
69
69
|
"access": "public"
|
|
70
70
|
},
|
|
71
|
-
"gitHead": "
|
|
71
|
+
"gitHead": "0730ba6b285033ec30d1578e855b7a4319c8be99"
|
|
72
72
|
}
|