vite-plugin-monaco-editor-esm weekly downloads statistics
By tanghaojie · npm · Vite plugins
A newer vite plugin for the Monaco Editor, support esm.
vite-plugin-monaco-editor-esm has 35,028 recorded weekly downloads on npm, a decrease of 5.5% over the past 30 days, ranking #658 of 2,322 tracked listings.
About vite-plugin-monaco-editor-esm
New Vite Plugin Monaco Editor Support ESM
A plugin to simplify loading the Monaco Editor with vite.
- It uses Vite specific plugin hooks: configResolved, configureServer, transformIndexHtml.
- It uses esbuild to bundle worker in the
node_modules/.monacodirectory, via theserver.middlewaresproxy http server for the bundle worker.
Installing
// make sure you have it installed monaco-editor.
pnpm install -D vite-plugin-monaco-editor-esm
// or
yarn add vite-plugin-monaco-editor-esm -D
// or
npm install --save-dev vite-plugin-monaco-editor-esm
Using
vite.config.ts:
import { defineConfig } from 'vite'
import monacoEditorEsmPlugin from 'vite-plugin-monaco-editor-esm'
export default defineConfig({
plugins: [monacoEditorEsmPlugin()],
})
Import all monaco functions
index.ts:
import * as monaco from 'monaco-editor'
monaco.editor.create(document.getElementById('container'), {
value: 'console.log("Hello, world")',
language: 'javascript',
})
Import part of monaco functions
The import * as monaco from 'monaco-editor' is import all features and languages of the Monaco Editor. Assume you only need part of the features and languages:
customMonaco.ts
import 'monaco-editor/esm/vs/editor/editor.all.js'
import * as monaco from 'monaco-editor/esm/vs/editor/editor.api'
export { monaco }
The Complete list of imports: customMonaco.ts
index.ts
import { monaco } from './customMonaco.ts'
monaco.editor.create(document.getElementById('container'), {
value: 'console.log("Hello, world")',
language: 'javascript',
})
Options
-
languageWorkers(string[]) - include only a subset of the languageWorkers supported.- default value: ['editorWorkerService', 'css', 'html', 'json', 'typescript'].
- Assuming only use css worker(editorWorkerService is must include base worker), you can set ['editorWorkerService', 'css']
-
customWorkers(IWorkerDefinition[]) - include your custom worker.- default value: []
- example value:
[{label: "graphql", entry: "monaco-graphql/esm/graphql.worker"}], Theentryis relative path in the node_modules Or you can set absolute path.
-
publicPath(string) - custom public path for worker scripts, overrides the public path from which files generated by this plugin will be served. Or you can set CDN e.ghttps://unpkg.com/vite-plugin-monaco-editor@1.0.5/cdn- default value:
monacoeditorwork
- default value:
-
globalAPI(boolean) - specifies whether the editor API should be exposed through a globalmonacoobject or not. This option is applicable to0.22.0and newer version ofmonaco-editor. Since0.22.0, the ESM version of the monaco editor does no longer define a globalmonacoobject unlessglobal.MonacoEnvironment = { globalAPI: true }is set (change log).- default value:
false.
- default value:
-
customDistPath((root: string, buildOutDir: string, base: string) => string) - Custom callback returns the worker path -
forceBuildCDN(boolean) - If you use CDN, the build is skipped by default. Set to true if you want to generate woker- default value:
false
- default value:
Some languages share the same web worker. If one of the following languages is included, you must also include the language responsible for instantiating their shared worker:
| Language | Instantiator |
|---|---|
| javascript | typescript |
| handlebars | html |
| scss, less | css |
Description from the npm listing.
- vite-plugin
- monaco
- editor
- monaco editor
README badge
Show your rank in a README or on your website. The badge updates automatically.
Charts
Images: 30d · 1y · all time · 1600×900 dark
Adoption over time
7/30/90-day growth
Ranking history
Listing placement
Listing placement
Filled points are observed values; hollow points come from Internet Archive snapshots of the listing page. Dashed segments span periods with no observations — values between points are not interpolated.
Each band is one page of 20. Weekly downloads on a linear scale. Placement is projected from weekly downloads, so it can differ from the marketplace's own sort order. Hover a dot to see the listing.
Recent observations
Full history (122)Similar npm Vite plugins plugins
All 20 vite-plugin-monaco-editor-esm alternativesData source
Weekly downloads (trailing 7 complete days) come from the official npm downloads API. Downloads include CI and mirrors and are not equivalent to installs or users. npm publishes no ratings.
Listing: https://www.npmjs.com/package/vite-plugin-monaco-editor-esm. First seen Oct 16, 2026; last successful collection Oct 20, 2026. See the methodology.