{"id":22821,"library":"vite-plugin-rtl-css","title":"vite-plugin-rtl-css","description":"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.","status":"active","version":"1.0.9","language":"javascript","source_language":"en","source_url":"https://github.com/SmushyTaco/vite-plugin-rtl-css","tags":["javascript","typescript"],"install":[{"cmd":"npm install vite-plugin-rtl-css","lang":"bash","label":"npm"},{"cmd":"yarn add vite-plugin-rtl-css","lang":"bash","label":"yarn"},{"cmd":"pnpm add vite-plugin-rtl-css","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"Core dependency for CSS RTL transformation","package":"rtlcss","optional":false}],"imports":[{"note":"ESM-only; no default CommonJS support. Plugin is a default export.","wrong":"const viteRtlCssPlugin = require('vite-plugin-rtl-css')","symbol":"viteRtlCssPlugin","correct":"import viteRtlCssPlugin from 'vite-plugin-rtl-css'"},{"note":"Options is a type, not a value. Use type import for TypeScript.","wrong":"import { Options } from 'vite-plugin-rtl-css'","symbol":"Options","correct":"import type { Options } from 'vite-plugin-rtl-css'"},{"note":"The default export is a function; no separate named export for the plugin type.","wrong":"","symbol":"ViteRtlCssPlugin (type)","correct":"import viteRtlCssPlugin from 'vite-plugin-rtl-css';\n// type of plugin function"}],"quickstart":{"code":"import { defineConfig } from 'vite';\nimport viteRtlCssPlugin from 'vite-plugin-rtl-css';\n\nexport default defineConfig({\n  plugins: [\n    viteRtlCssPlugin({\n      fileNameMap: {\n        '.css': '[name].rtl.css',\n        '.min.css': '[name].rtl.min.css'\n      },\n      sourceMap: true,\n      rtlcssConfig: {\n        autoRename: true\n      }\n    })\n  ]\n});","lang":"typescript","description":"Shows minimum Vite config with plugin, including all optional settings for filename mapping, sourcemaps, and rtlcss config."},"warnings":[{"fix":"Use ESM imports only; CommonJS require() will fail.","message":"Vite plugin for rtlcss","severity":"breaking","affected_versions":">=1.0.0"},{"fix":"Run npm install rtlcss --save-dev","message":"rtlcss library is a peer dependency; must be installed separately","severity":"gorcha","affected_versions":">=1.0.0"},{"fix":"","message":"No deprecated features reported.","severity":"deprecated","affected_versions":""}],"env_vars":null,"last_verified":"2026-04-27T00:00:00.000Z","next_check":"2026-07-26T00:00:00.000Z","problems":[{"fix":"npm install rtlcss --save-dev","cause":"Missing peer dependency rtlcss","error":"Error: Cannot find module 'rtlcss'"},{"fix":"Change to dynamic import: const viteRtlCssPlugin = (await import('vite-plugin-rtl-css')).default;","cause":"Using require() instead of import (ESM-only)","error":"TypeError: viteRtlCssPlugin is not a function"},{"fix":"Use import type { Options } from 'vite-plugin-rtl-css';","cause":"Importing Options as a value instead of type","error":"error TS2305: Module 'vite-plugin-rtl-css' has no exported member 'Options'"}],"ecosystem":"npm","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}