@vuemaildev/ui is built with Vite,
and @vuemaildev/editor compiles its .vue files with unplugin-vue.
To build a package run:
package/* (ex: packages/render)
pnpm build on the root of the workspace builds every package with turborepo,
in the order they depend on each other.
Building each package runs tsdown with the settings in its tsdown.config.ts. @vuemaildev/vuemail and @vuemaildev/render are built as both ESM and
CJS, along with the type definitions exported from the entry point, src/index.ts, without bundling vue, which can cause issues.
Why build before publishing?
We build the packages before publishing for a few reasons:- All the exported types can be imported from the same place the JavaScript is imported
- We have proper CommonJS and ES Modules support
- Code that isn’t exported is not published or downloaded