build: don't mark CSS files as external #852
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
When a file marked as external is imported, it's not included in the JS library bundle: the JS import is left as-is. This is desirable for regular JS dependencies such as react and maplibre-gl, but is undesirable for non-standard imports such as CSS files.
Indeed, CSS imports from our JS library bundle cause pain for downstream users, because they are forced to configure their build system to support CSS imports (these aren't standard JS, e.g. webpack doesn't support this by default). Moreover, this makes it impossible to use the library without a build system (e.g. importing it directly from pure HTML/JS files).
Make users responsible for including the CSS one way or another. Our stories do this using CSS imports already, but other downstream consumers might prefer to use a
<link>
or similar.To test, build the project and check whether the first line in
ui-speedspacechart/dist/index.esm.js
contains a CSS import. It should not.Fixes: 6dd85a7 ("build: fix unresolved dependencies")
Supersedes #837