vite-dev-modified-highlight
v0.1.0
Published
Vite dev-only plugin: injects source file mtime on exported React components + optional UI to highlight recently edited files.
Maintainers
Readme
vite-dev-modified-highlight
Önálló npm-csomag: a demo/ app nem része — csak fejlesztéshez használhatod külön repóban / mappában. A publikált .tgz tartalmát a package.json files mező szűri (dist, README, LICENSE); forráskód és demo nem kerül az npmre.
Vite dev-only plugin + opcionális React UI: a **/src/**/*.tsx fájlokban exportált komponensek JSX-gyökerére injektálja a forrásfájl mtime-ját (data-source-mtime-ms). A dev overlay frissen szerkesztett nézeteket piros kerettel emeli ki.
Miért csak dev?
- A plugin
apply: "serve"→ csakvite/vite devfut,vite buildnem módosít kódot (nincs felesleges attr a production bundle-ben). - A React komponens
import.meta.env.DEVellenőrzés → productionben semmit nem renderel.
Telepítés
npm install -D vite-dev-modified-highlightCsak devDependency kell — éles build nem függ tőle.
Beüzemelés (lépésről lépésre)
- Telepítés (fent):
npm install -D vite-dev-modified-highlight. - Vite plugin —
vite.config.ts-ben a React plugin elé tedd (a csomagenforce: "pre", így általában jó sorrend: először ez, aztán@vitejs/plugin-react). - CSS egyszer — a belépő fájlban (pl.
main.tsx) kötelező:import "vite-dev-modified-highlight/style.css"
Enélkül nincs körvonal / sarok gomb stílus. - React UI (opcionális, de ajánlott) — pl. az
AppJSX végén:import { ModifiedHighlightControl } from "vite-dev-modified-highlight/react"→<ModifiedHighlightControl />. - Dev szerver —
npm run dev. A kiemelés és azmtimeinjektálás csak itt működik (vite build/previewnem kapja a plugin transformot). - Váltás — sarokban „Piros keret”, vagy Alt+Shift+M. Állapot:
localStoragekulcsvite-dev-modified-highlight:enabled.
Minimal példa
vite.config.ts
import { defineConfig } from "vite";
import react from "@vitejs/plugin-react";
import { sourceMtimePlugin } from "vite-dev-modified-highlight";
export default defineConfig({
plugins: [sourceMtimePlugin(), react()],
});main.tsx (vagy ahol a React fa indul)
import "vite-dev-modified-highlight/style.css";
// … többi import …App.tsx
import { ModifiedHighlightControl } from "vite-dev-modified-highlight/react";
export default function App() {
return (
<>
{/* saját tartalom */}
<ModifiedHighlightControl />
</>
);
}Vite (részletek)
A React plugint tartsd előtte (enforce: "pre" a csomagon belül), ha más transform is érinti a TSX-et.
React UI (részletek)
Fontos: a CSS-t külön importáld egyszer — a komponens nem tölti be automatikusan (így a bundler biztosan lássa a stílust).
Közzététel npm-en
cd vite-dev-modified-highlight
npm install
npm run build
npm publish --access publicScoped névhez állítsd a package.json name mezőt (pl. @szervezet/vite-dev-modified-highlight).
Korlátok
- Csak
.tsxfájlok a projektsrcútvonal alatt (ugyanaz a szűrés, mint a referencia implementációban). - Exportált komponensfüggvény JSX return-jére dolgozik.
