{"id":22632,"library":"vite-plugin-csv","title":"vite-plugin-csv","description":"A Vite plugin that enables importing CSV files directly into JavaScript/TypeScript code, returning parsed JSON arrays. Version 1.0.0 stable. It works with Vite 2.x and above, supports any framework (React, Vue, Svelte, etc.), and ships TypeScript declarations. Unlike manual CSV parsing, it integrates seamlessly with Vite's import system and hot module replacement.","status":"active","version":"1.0.0","language":"javascript","source_language":"en","source_url":"https://github.com/SirwanAfifi/vite-plugin-csv","tags":["javascript","vite","vite-plugin","csv","typescript"],"install":[{"cmd":"npm install vite-plugin-csv","lang":"bash","label":"npm"},{"cmd":"yarn add vite-plugin-csv","lang":"bash","label":"yarn"},{"cmd":"pnpm add vite-plugin-csv","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"peer dependency to function as a Vite plugin","package":"vite","optional":false}],"imports":[{"note":"ESM import required; CommonJS require will fail.","wrong":"const CSV = require('vite-plugin-csv')","symbol":"default","correct":"import CSV from 'vite-plugin-csv'"},{"note":"The package exports a default function, not a named export.","wrong":"import { CSV } from 'vite-plugin-csv'","symbol":"CSV","correct":"import CSV from 'vite-plugin-csv'"},{"note":"Returns an array of objects (rows). No named exports from CSV files.","wrong":"import { data } from './data.csv'","symbol":"*.csv","correct":"import data from './data.csv'"}],"quickstart":{"code":"// vite.config.js\nimport { defineConfig } from 'vite';\nimport CSV from 'vite-plugin-csv';\n\nexport default defineConfig({\n  plugins: [CSV()]\n});\n\n// any .js/.ts file\nimport data from './data.csv';\nconsole.log(data); // [{\"col1\": \"val1\"}, ...]","lang":"typescript","description":"Shows how to install, configure the plugin in vite.config.js, and import a CSV file."},"warnings":[{"fix":"Add a declaration file with `declare module '*.csv' {}` to your project.","message":"Without a TypeScript shim, importing a .csv file in a .ts file will cause a type error.","severity":"gotcha","affected_versions":">=0.0.0"},{"fix":"Upgrade Vite to ^2.0.0 or later.","message":"Plugin only works with Vite v2 and above. Older versions not supported.","severity":"gotcha","affected_versions":">=0.0.0"},{"fix":"Consider splitting large CSVs or using a runtime parser for dynamic data.","message":"The CSV is parsed synchronously at build time. Large CSV files may impact build performance.","severity":"gotcha","affected_versions":">=0.0.0"},{"fix":"Do not import CSV files with sensitive data; load them via fetch at runtime instead.","message":"Imported CSV data is bundled into the output, so sensitive information may be exposed.","severity":"gotcha","affected_versions":">=0.0.0"}],"env_vars":null,"last_verified":"2026-04-27T00:00:00.000Z","next_check":"2026-07-26T00:00:00.000Z","problems":[{"fix":"Create a .d.ts file with `declare module '*.csv' { const data: any; export default data; }`","cause":"TypeScript cannot resolve .csv imports without a module declaration.","error":"Cannot find module './data.csv' or its corresponding type declarations."},{"fix":"Use `import CSV from 'vite-plugin-csv'` instead of `import { CSV } from 'vite-plugin-csv'`.","cause":"Plugin was imported using named import instead of default import.","error":"Uncaught TypeError: CSV is not a function"}],"ecosystem":"npm","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}