@open-pioneer/build-package@3.0.0
Major Changes
- e4ae880: Switch to
type: module
Minor Changes
-
e4ae880: Implement additional validations when importing modules from other packages.
- When importing modules from normal node packages,
build-package
will now check that the imported module actually exists. - When importing modules from another trails package in the same repository,
build-package
now verifies that the imported module is an actual entry point of that package (declared in thebuild.config.mjs
).
These validations are designed to fix errors where a package would run locally (in Vite's development mode)
but end up broken when published (see also open-pioneer/trails-core-packages#42). - When importing modules from normal node packages,
-
e4ae880: Implement automatic rewrite for certain problematic import statements.
Under certain conditions,
build-package
will add extensions to imported modules when the imported module does not (strictly) exist.
For example, this rewritesimport * from "ol/proj/proj4";
to
import * from "ol/proj/proj4.js";
While the first import works with bundlers such as Vite or Rollup, Node will refuse to import it.
Because node is strict about extensions, the first snippet cannot execute in some environments (such as Vitest).This new behavior is intended as a fix for open-pioneer/trails-openlayers-base-packages#314.
Please open an issue if this fix causes any problems for your packages. -
e4ae880: Introduce an option to configure the root directory (
-r
for the CLI,rootDirectory
for the JavaScript API).The root directory is used to detect which packages are local to the project.
The option defaults to the root of the current workspace (e.g. the PNPM workspace root), or, if that doesn't work, to the root of the current git repository.
However, it can also be configured manually.