Registry / devops / vite-plugin-public-typescript

vite-plugin-public-typescript

JSON →
library4.2.1jsnpmunverified

Vite plugin that injects TypeScript code directly into HTML as inline scripts, transforming TypeScript to JavaScript during build. Current stable version is 4.2.1, with frequent releases following Vite major versions. Key differentiators: allows using TypeScript in public scripts without separate bundling, supports both development and production modes, and provides type-safe script injection. Requires Vite >=5 as peer dependency. Released under MIT license.

npm install vite-plugin-public-typescript
INSTALL
IMPORT
SIG · VITE-PLUGIN-PUBLIC
V
vite-plugin-public-typescript
devopsjavascriptv4.2.1
Install
—
Import
—
Disk
—
Pass rate
0/ 6
Env Coverage0 / 6
glibc
18–22
musl
18–22
Install & Compatibility
Where this runs
tested against v? · npm install
Install × environment matrix
Each cell = how many times install + import succeeded across repeated harness runs. Partial = flaky.
glibc = Debian/Ubuntu slim · musl = Alpine Linux
musl
node 18–223 runs
build_error
glibc
node 18–223 runs
build_error
Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

vitePluginPublicTypescript
✓ import vitePluginPublicTypescript from 'vite-plugin-public-typescript'
✗ const vitePluginPublicTypescript = require('vite-plugin-public-typescript')
ESM-only package; default export is the plugin function
PluginOptions
✓ import type { PluginOptions } from 'vite-plugin-public-typescript'
✗ import { PluginOptions } from 'vite-plugin-public-typescript'
Type only import to avoid bundling; plugin function accepts this type
vitePluginPublicTypescript
✓ import vitePluginPublicTypescript from 'vite-plugin-public-typescript'
✗ import { vitePluginPublicTypescript } from 'vite-plugin-public-typescript'
Default export, not named export

Shows how to configure the plugin in vite.config.ts, injecting two TypeScript files into the HTML.

// vite.config.ts import { defineConfig } from 'vite' import vitePluginPublicTypescript from 'vite-plugin-public-typescript' export default defineConfig({ plugins: [ vitePluginPublicTypescript({ // Paths to TypeScript files to inject into HTML files: ['src/scripts/analytics.ts', 'src/scripts/init.ts'], // Optional: inject into specific HTML files htmlFiles: ['index.html'], // Optional: remove script tags after build removeScriptTags: false }) ] })
Debug
Known issues
breakingVersion 4.x requires Vite >=5; incompatible with Vite 4.x
fix
Upgrade Vite to >=5, or use v3.x of the plugin with Vite 4
affects: >=4.0.0
gotchaTypeScript files are evaluated in the browser; avoid importing Node.js modules
fix
Only use browser-compatible code in your TypeScript files
affects: >=1.0.0
deprecatedThe `base` option is deprecated in v4; use Vite's `base` config instead
fix
Set `base` in Vite's defineConfig, not in plugin options
affects: >=4.0.0
Errors
Common errors & fixes
Error: No matching vite config found
Plugin tried to detect Vite config but failed
fix
Ensure the plugin is called inside `plugins` array of Vite's defineConfig. If using a custom config file, specify via `--config`
SyntaxError: Unexpected token 'export'
Using CommonJS `require` to import the ESM-only plugin
fix
Change to ESM: use `import` syntax, or set `"type": "module"` in package.json
Upgrade
Version history
4.2.1latest on npm
Audit
Dependencies
viterequiredPeer dependency: Vite >=5 required for plugin to function
Agent activity
6 hits · last 30 days
node
6
Resources
vite-plugin-public-typescript — npm install vite-plugin-public-typescript · libregistry