{"id":22832,"library":"vite-plugin-sdk","title":"vite-plugin-sdk","description":"Vite plugin to bundle SDKs with support for ESM and CJS outputs. Current stable version: 0.1.5. Active development with frequent releases. Extensible via defu. Only works with Vite 4, 5, 6, or 7. Provides TypeScript type declarations. Key differentiator: focused solely on SDK bundling, with automatic externalization based on package.json dependencies, built-in DTS generation, and support for internal dependencies. Lightweight alternative to full Rollup setups for SDK authors.","status":"active","version":"0.1.5","language":"javascript","source_language":"en","source_url":"ssh://git@github.com/prismicio-community/vite-plugin-sdk","tags":["javascript","typescript","vite-plugin"],"install":[{"cmd":"npm install vite-plugin-sdk","lang":"bash","label":"npm"},{"cmd":"yarn add vite-plugin-sdk","lang":"bash","label":"yarn"},{"cmd":"pnpm add vite-plugin-sdk","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"peer dependency; required as plugin host","package":"vite","optional":false},{"reason":"peer dependency; used for type declaration generation","package":"typescript","optional":true},{"reason":"peer dependency; runtime helpers for TypeScript","package":"tslib","optional":true}],"imports":[{"note":"ESM-only package; default export is the plugin function","wrong":"const sdk = require('vite-plugin-sdk')","symbol":"sdk","correct":"import sdk from 'vite-plugin-sdk'"},{"note":"Package only exports a default function; named imports will fail","wrong":"import { sdk } from 'vite-plugin-sdk'","symbol":"default","correct":"import sdk from 'vite-plugin-sdk'"},{"note":"Type-only export; use import type to avoid runtime import warning","wrong":"import { PluginOptions } from 'vite-plugin-sdk'","symbol":"PluginOptions","correct":"import type { PluginOptions } from 'vite-plugin-sdk'"}],"quickstart":{"code":"// vite.config.ts\nimport { defineConfig } from 'vite';\nimport sdk from 'vite-plugin-sdk';\n\nexport default defineConfig({\n  plugins: [\n    sdk({\n      dts: true,\n      internalDependencies: [],\n      srcDir: 'src',\n    }),\n  ],\n});","lang":"typescript","description":"Minimal Vite config using vite-plugin-sdk to bundle an SDK with type declarations."},"warnings":[{"fix":"Use `import sdk from 'vite-plugin-sdk'` in your Vite config. Ensure `\"type\": \"module\"` in package.json or use .mjs extension.","message":"Package is ESM-only. Use `import` syntax; `require()` will throw.","severity":"gotcha","affected_versions":">=0.0.1"},{"fix":"Update Vite to ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0.","message":"Peer dependency Vite supports major versions 4, 5, 6, and 7. Using older Vite versions may break.","severity":"breaking","affected_versions":">=0.1.0"},{"fix":"Always provide an explicit `packageJSON` option to avoid relying on CWD-based discovery.","message":"Option `packageJSON` path resolution may be deprecated in favor of explicit path in future versions.","severity":"deprecated","affected_versions":"unknown"},{"fix":"Install typescript >=5 as a devDependency.","message":"If `dts: true`, TypeScript must be installed (peer dependency). Build will fail otherwise.","severity":"gotcha","affected_versions":">=0.0.1"},{"fix":"Use the `internalDependencies` array to explicitly include packages that should be bundled.","message":"Plugin automatically externalizes all dependencies listed in `dependencies` and `peerDependencies` of package.json. To bundle them, add to `internalDependencies`.","severity":"gotcha","affected_versions":">=0.0.1"},{"fix":"Set `srcDir` to the correct source directory relative to project root.","message":"Source directory defaults to `src`. If your SDK code is elsewhere (e.g., `lib`), builds will produce empty output.","severity":"gotcha","affected_versions":">=0.0.1"}],"env_vars":null,"last_verified":"2026-04-27T00:00:00.000Z","next_check":"2026-07-26T00:00:00.000Z","problems":[{"fix":"Run `npm install --save-dev typescript` or set `dts: false`.","cause":"TypeScript is not installed when `dts: true`.","error":"Error: Plugin vite-plugin-sdk: `dts` option requires `typescript` as a peer dependency."},{"fix":"Switch to `import sdk from 'vite-plugin-sdk'` in an ESM-configured project.","cause":"Using CommonJS `require()` to import an ESM-only package.","error":"Error [ERR_REQUIRE_ESM]: require() of ES Module /path/to/vite-plugin-sdk not supported."},{"fix":"Provide an explicit `packageJSON` option pointing to your package.json.","cause":"`packageJSON` option not provided and plugin cannot find a package.json from CWD.","error":"TypeError: Cannot read properties of undefined (reading 'dependencies')"},{"fix":"Set `srcDir` correctly, e.g., `srcDir: 'lib'` if your entry is in `lib/index.ts`.","cause":"`srcDir` does not point to a valid directory containing source files.","error":"vite build output is empty (no files generated)"}],"ecosystem":"npm","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}