Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Remove @deephaven/app-utils from @deephaven/dashboard-core-plugins dependencies #1593

Closed
mattrunyon opened this issue Oct 20, 2023 · 0 comments · Fixed by #1596 or deephaven/deephaven-core#4712
Assignees
Labels
bug Something isn't working

Comments

@mattrunyon
Copy link
Collaborator

Description

This is an issue w/ DHE dev mode only (there is an easy workaround by modifying the Vite config there).

The issue is that @deephaven/app-utils was added as a dependency to @deephaven/dashboard-core-plugins. As a result, it became an indirect dependency in DHE when upgrading to 0.50.0 (dependency change was in 0.49.0).

In dev mode, Vite uses esbuild to pre-bundle and cache all dependencies. As part of its tree traversal (so it can do tree shaking), it hits the import 'fira' in FontBootstrap and esbuild throws that it can't handle font files like .ttf. This doesn't seem to be an issue when building since rollup is used for production builds.

Even though @deephaven/app-utils is not used by DHE, it is part of the import tree (and then would get shaken out). This issue is a downside of using barrel files to house all the imports for the package.

The things needed from app-utils can be split out into other packages. Specifically the ConnectionContext and useConnection can be put in jsapi-utils or jsapi-components. Then app-utils just creates the provider used in the app.

Steps to reproduce

Install DHC 0.50.0 packages in DHE and run npm start.

Expected results

Functional dev mode

Actual results

Broken dev mode complaining that esbuild doesn't know how to deal w/ font files.

Additional details and attachments

Adding optimizeDeps.exclude = ['@deephaven/app-utils'] seems to make dev mode functional again in DHE.

Versions

  • Web UI Version: 0.49.0
@mattrunyon mattrunyon added bug Something isn't working triage Issue requires triage labels Oct 20, 2023
@mattrunyon mattrunyon self-assigned this Oct 20, 2023
@vbabich vbabich removed the triage Issue requires triage label Oct 24, 2023
@vbabich vbabich added this to the October 2023 milestone Oct 24, 2023
mattrunyon added a commit that referenced this issue Oct 24, 2023
…ns dependency list (#1596)

Fixes #1593

I don't think these breaking changes should affect enterprise since it
doesn't use `@deephaven/app-utils`

BREAKING CHANGE:
- `usePlugins` and `PluginsContext` were moved from
`@deephaven/app-utils` to `@deephaven/plugin`.
- `useLoadTablePlugin` was moved from `@deephaven/app-utils` to
`@deephaven/dashboard-core-plugins`.
- `useConnection` and `ConnectionContext` were moved from
`@deephaven/app-utils` to `@deephaven/jsapi-components`.
- `DeephavenPluginModuleMap` was removed from `@deephaven/redux`. Use
`PluginModuleMap` from `@deephaven/plugin` instead.
mofojed pushed a commit to deephaven/deephaven-core that referenced this issue Oct 25, 2023
Release notes https://github.com/deephaven/web-client-ui/releases/tag/v0.51.0

# [0.51.0](deephaven/web-client-ui@v0.50.0...v0.51.0) (2023-10-24)


### Bug Fixes

* Adjusted Monaco "white" colors ([#1594](deephaven/web-client-ui#1594)) ([c736708](deephaven/web-client-ui@c736708)), closes [#1592](deephaven/web-client-ui#1592)
* cap width of columns with long names ([#1574](deephaven/web-client-ui#1574)) ([876a6ac](deephaven/web-client-ui@876a6ac)), closes [#1276](deephaven/web-client-ui#1276)
* Enabled pointer capabilities for Firefox in Playwright ([#1589](deephaven/web-client-ui#1589)) ([f440a38](deephaven/web-client-ui@f440a38)), closes [#1588](deephaven/web-client-ui#1588)
* Remove @deephaven/app-utils from @deephaven/dashboard-core-plugins dependency list ([#1596](deephaven/web-client-ui#1596)) ([7b59763](deephaven/web-client-ui@7b59763)), closes [#1593](deephaven/web-client-ui#1593)
* Tab in console input triggers autocomplete instead of indent ([#1591](deephaven/web-client-ui#1591)) ([fbe1e70](deephaven/web-client-ui@fbe1e70))


### Features

* Theming - Spectrum Provider ([#1582](deephaven/web-client-ui#1582)) ([a4013c0](deephaven/web-client-ui@a4013c0)), closes [#1543](deephaven/web-client-ui#1543)
* Theming Iris Grid ([#1568](deephaven/web-client-ui#1568)) ([ed8f4b7](deephaven/web-client-ui@ed8f4b7))
* web-client-ui changes required for deephaven.ui ([#1567](deephaven/web-client-ui#1567)) ([94ab25c](deephaven/web-client-ui@94ab25c))
* Widget plugins ([#1564](deephaven/web-client-ui#1564)) ([94cc82c](deephaven/web-client-ui@94cc82c)), closes [#1455](deephaven/web-client-ui#1455) [#1167](deephaven/web-client-ui#1167)


### BREAKING CHANGES

- `usePlugins` and `PluginsContext` were moved from
`@deephaven/app-utils` to `@deephaven/plugin`.
- `useLoadTablePlugin` was moved from `@deephaven/app-utils` to
`@deephaven/dashboard-core-plugins`.
- `useConnection` and `ConnectionContext` were moved from
`@deephaven/app-utils` to `@deephaven/jsapi-components`.
- `DeephavenPluginModuleMap` was removed from `@deephaven/redux`. Use
`PluginModuleMap` from `@deephaven/plugin` instead.
* Enterprise will need ThemeProvider for the css
variables to be available





Co-authored-by: deephaven-internal <deephaven-internal@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
2 participants