{"id":42194,"library":"unplugin-saykit","title":"unplugin-saykit","description":"Universal build tool plugin for SayKit i18n integration, supporting Vite, Rollup, Rolldown, Webpack, Rspack, esbuild, Farm, and Bun. Current stable version is 0.1.0. Release cadence is early-stage, infrequent. Key differentiator: single plugin that works across all major bundlers via unplugin, eliminating the need for bundler-specific i18n plugins. Configures SayKit within your build pipeline for automatic translation extraction and injection.","status":"active","version":"0.1.0","language":"javascript","source_language":"en","source_url":"https://github.com/k0d13/saykit","tags":["javascript","i18n","rollup","saykit","unplugin","vite","webpack"],"install":[{"cmd":"npm install unplugin-saykit","lang":"bash","label":"npm"},{"cmd":"yarn add unplugin-saykit","lang":"bash","label":"yarn"},{"cmd":"pnpm add unplugin-saykit","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"Core dependency for multi-bundler plugin interface","package":"unplugin","optional":false},{"reason":"Peer dependency; must be installed separately","package":"saykit","optional":false}],"imports":[{"note":"Default export, not named. Must use bundler-specific subpath (e.g., /vite). TypeScript types available.","wrong":"import { saykit } from 'unplugin-saykit'","symbol":"saykit","correct":"import saykit from 'unplugin-saykit/vite'"},{"note":"Rollup entry point. Default export.","wrong":"import saykit from 'unplugin-saykit'","symbol":"saykit","correct":"import saykit from 'unplugin-saykit/rollup'"},{"note":"CommonJS: default export is on the `default` key. For ESM, use import.","wrong":"const saykit = require('unplugin-saykit/webpack')","symbol":"saykit","correct":"const { default: saykit } = require('unplugin-saykit/webpack')"},{"note":"esbuild entry point. Default export.","wrong":"import { saykit } from 'unplugin-saykit/esbuild'","symbol":"saykit","correct":"import saykit from 'unplugin-saykit/esbuild'"}],"quickstart":{"code":"// vite.config.ts\nimport { defineConfig } from 'vite';\nimport saykit from 'unplugin-saykit/vite';\n\nexport default defineConfig({\n  plugins: [saykit()],\n});\n\n// Then run: npx vite build\n// SayKit will automatically extract translations and inject them into your bundle.\n// For other bundlers, import from the appropriate subpath (e.g., 'unplugin-saykit/webpack').","lang":"typescript","description":"Configures SayKit plugin in Vite. Shows correct import subpath and default export usage. Minimal setup for i18n build integration."},"warnings":[{"fix":"Use bundler-specific subpath: /vite, /rollup, /webpack, /rspack, /esbuild, /farm, or /bun.","message":"Importing from 'unplugin-saykit' without subpath fails","severity":"breaking","affected_versions":">=0.1.0"},{"fix":"Use: const { default: saykit } = require('unplugin-saykit/webpack');","message":"CommonJS require mis-handles default export","severity":"gotcha","affected_versions":">=0.1.0"},{"fix":"Declare options type: saykit({ /* options */ }) or use satisfies operator.","message":"TypeScript strict mode may require explicit type annotations for plugin options","severity":"gotcha","affected_versions":">=0.1.0"},{"fix":"Upgrade Node.js to version 14 or later.","message":"Node.js <14 not supported due to ESM features","severity":"breaking","affected_versions":">=0.1.0"}],"env_vars":null,"search_vec":"'0.1.0':26 'across':40 'automat':62 'build':5,59 'bun':21 'bundler':43,51 'bundler-specif':50 'cadenc':28 'configur':55 'current':22 'differenti':35 'earli':31 'early-stag':30 'elimin':46 'esbuild':18 'extract':64 'farm':19 'i18n':10,53,68 'infrequ':33 'inject':66 'integr':11 'javascript':67 'key':34 'major':42 'need':48 'pipelin':60 'plugin':7,37,54 'releas':27 'rolldown':15 'rollup':14,69 'rspack':17 'saykit':3,9,56,70 'singl':36 'specif':52 'stabl':23 'stage':32 'support':12 'tool':6 'translat':63 'univers':4 'unplugin':2,45,71 'unplugin-saykit':1 'version':24 'via':44 'vite':13,72 'webpack':16,73 'within':57 'work':39","created_at":"2026-06-04T18:56:04.648025+00:00","updated_at":"2026-06-04T18:56:04.648025+00:00","problems":[{"fix":"Install the package: `pnpm add -D unplugin-saykit`, then import from a subpath like `import saykit from 'unplugin-saykit/vite'`.","cause":"Missing bundler subpath in import or incorrect package name.","error":"Cannot find module 'unplugin-saykit' or its corresponding type declarations."},{"fix":"Change `import { saykit } from '...'` to `import saykit from '...'`.","cause":"Named import instead of default import when using ESM.","error":"saykit is not a function (or TypeError: (0 , unplugin_saykit_vite_1.default) is not a function)"},{"fix":"Use one of: /vite, /rollup, /rolldown, /webpack, /rspack, /esbuild, /farm, /bun.","cause":"Typo or unsupported bundler name in subpath.","error":"Cannot find module 'unplugin-saykit/vite'"}],"ecosystem":"npm","meta_description":null,"install_score":null,"quickstart_score":null,"quickstart_tag":null,"pypi_latest":null,"cli_name":null,"cli_version":null,"type":"library","homepage":"https://github.com/k0d13/saykit#readme","github":"https://github.com/k0d13/saykit","docs":null,"changelog":null,"pypi":null,"npm":"unplugin-saykit","openapi_spec":null,"status_page":null,"smithery":null,"categories":["devops"],"base_url":null,"auth_type":null,"provenance":{"verified_status":null,"verified_at":null,"last_verified":"2026-06-04","next_check":"2026-09-02","install_tag":null}}