You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
As a javascript developer, I want to be able to import the deephaven-core JS API as an es6 module, and avoid other window scope pollution.
Presently, two script files are required to be added, and they each pollute scope in their own way - dh-internal.js creates a window.dhinternal object with its contents, and dh-core.js creates a window.dh object.
CORS: Any <script type=module> tags loaded from a different domain must have CORS headers, so before this is useful as a script loaded from another site, we should add a CORS policy for this file. Note that grpc/websocket calls also don't work without CORS, so this isn't a huge deal right now, but early efforts show this might be interrupting UI dev work. See whatwg/html#1888 for more discussion (short version: by making a script use import or export, it can't be loaded with non-module script tags, so is a way for a server to be secure-by-default for these scripts, and as such, it must opt-in to allowing remote servers to load files).
NPM deployment: This will also be handled in another ticket, after dh-internal is addressed. At this time, it will likely be necessary to include a third package.json just for the sake of examples, which then will have a different copy of the api than what the actual web ide uses. This task, when it is worked on, will also require sourcemaps to be functioning.
The text was updated successfully, but these errors were encountered:
@niloc132 on Enterprise, I know JS API version needed to match the server version exactly for it to work. Is that still the case with community? Just wondering as that would mean we'd need to publish a new UI every time a new JS API is published then.
No, we only have the usual problem of keeping up with API changes and features/bugfixes. By using protobuf and grpc, we are as decoupled as any json api - stuff could be missing/extra/changed, but api authors should try to prevent that where possible.
Both dh-core and dh-internal here have been changed, through the use of
a custom GWT linker.
Also updates html samples and web-client-ui to use the new module
packaging. Note that the web-client-ui build is an alpha release, but
will switch to a stable release soon.
---------
Fixes#2735
Co-authored-by: Colin Alworth <colinalworth@deephaven.io>
This includes more specific JsInterop annotations for nullability, and
introduces TypeScript-specific annotations to more clearly specific TS
semantics in cases where JS doesn't need to be so precise.
Fixes#2735
As a javascript developer, I want to be able to import the deephaven-core JS API as an es6 module, and avoid other window scope pollution.
Presently, two script files are required to be added, and they each pollute scope in their own way -
dh-internal.js
creates awindow.dhinternal
object with its contents, anddh-core.js
creates awindow.dh
object.CORS: Any
<script type=module>
tags loaded from a different domain must have CORS headers, so before this is useful as a script loaded from another site, we should add a CORS policy for this file. Note that grpc/websocket calls also don't work without CORS, so this isn't a huge deal right now, but early efforts show this might be interrupting UI dev work. See whatwg/html#1888 for more discussion (short version: by making a script useimport
orexport
, it can't be loaded with non-module script tags, so is a way for a server to be secure-by-default for these scripts, and as such, it must opt-in to allowing remote servers to load files).NPM deployment: This will also be handled in another ticket, after dh-internal is addressed. At this time, it will likely be necessary to include a third package.json just for the sake of examples, which then will have a different copy of the api than what the actual web ide uses. This task, when it is worked on, will also require sourcemaps to be functioning.
The text was updated successfully, but these errors were encountered: