unplugin-markup-import
v0.2.0
Published
Unplugin for including .svelte and .astro files in bundler output with correct import graph resolution.
Readme
unplugin-markup-import
Experimental build helper for preserving markup modules in the lingui-for project build.
[!WARNING] This package is built specifically for the lingui-for monorepo and is not intended as a general-purpose tool. As such, it is experimental, carries no support commitment, and its API and behavior may change without notice. Unless you are solving a similar packaging problem for shipped
.svelteor.astroruntime files, you probably do not want this package.
What It Does
unplugin-markup-import is an unplugin-based build helper that preserves selected markup files in bundle output and rewrites certain relative imports through generated facade modules.
In this repository it is used during package builds so runtime markup files can be emitted correctly from published packages.
Current framework handling:
svelteastro
Where It Is Used Here
Install
vp add -D unplugin-markup-import
# or run one of:
npm install -D unplugin-markup-import
pnpm add -D unplugin-markup-import
yarn add -D unplugin-markup-importMinimal Usage
Rolldown / tsdown style usage:
import markupImport from "unplugin-markup-import/rolldown";
export default {
plugins: [markupImport()],
};Astro-markup-only usage:
import markupImport from "unplugin-markup-import/rolldown";
export default {
plugins: [markupImport({ frameworks: ["astro"] })],
};Options
import markupImport from "unplugin-markup-import/rolldown";
markupImport({
rootDir: process.cwd(),
sourceDir: "src",
frameworks: ["svelte"],
exclude: ["**/*.test.svelte"],
});Supported options:
rootDir: base directory used to resolve the defaultsourceDirsourceDir: directory containing markup files to scan and rewriteframeworks: markup frameworks to preserve; supported values are"svelte"and"astro"include: glob or globs for markup files to preserveexclude: glob or globs for markup files to skip, such as test fixtures
Entrypoints
unplugin-markup-importunplugin-markup-import/viteunplugin-markup-import/rollupunplugin-markup-import/webpackunplugin-markup-import/esbuildunplugin-markup-import/rolldownunplugin-markup-import/rspackunplugin-markup-import/bununplugin-markup-import/types
Notes
- This package exists to solve a packaging detail in lingui-for, not to provide a polished public abstraction.
- The public surface is intentionally small, but the underlying behavior is specialized.
- Expect rough edges if you try to use it outside this repository.
