vite-plugin-rtl-css

raw JSON →
1.0.9 verified Mon Apr 27 auth: no javascript

Vite plugin for transforming CSS to right-to-left (RTL) using rtlcss. Current stable version: 1.0.9. Release cadence appears low (single version). Key differentiator: integrates rtlcss directly into the Vite build pipeline, generating RTL CSS files during bundling with optional sourcemaps and configurable rtlcss options. Supports custom filename mappings (e.g., .rtl.css) and respects Vite's build.sourcemap default. Ships TypeScript types.

error Error: Cannot find module 'rtlcss'
cause Missing peer dependency rtlcss
fix
npm install rtlcss --save-dev
error TypeError: viteRtlCssPlugin is not a function
cause Using require() instead of import (ESM-only)
fix
Change to dynamic import: const viteRtlCssPlugin = (await import('vite-plugin-rtl-css')).default;
error error TS2305: Module 'vite-plugin-rtl-css' has no exported member 'Options'
cause Importing Options as a value instead of type
fix
Use import type { Options } from 'vite-plugin-rtl-css';
breaking Vite plugin for rtlcss
fix Use ESM imports only; CommonJS require() will fail.
gorcha rtlcss library is a peer dependency; must be installed separately
fix Run npm install rtlcss --save-dev
deprecated No deprecated features reported.
npm install vite-plugin-rtl-css
yarn add vite-plugin-rtl-css
pnpm add vite-plugin-rtl-css

Shows minimum Vite config with plugin, including all optional settings for filename mapping, sourcemaps, and rtlcss config.

import { defineConfig } from 'vite';
import viteRtlCssPlugin from 'vite-plugin-rtl-css';

export default defineConfig({
  plugins: [
    viteRtlCssPlugin({
      fileNameMap: {
        '.css': '[name].rtl.css',
        '.min.css': '[name].rtl.min.css'
      },
      sourceMap: true,
      rtlcssConfig: {
        autoRename: true
      }
    })
  ]
});