|
@@ -1,14 +1,23 @@
|
|
|
+const excludes = ['typescript', 'css', 'html']
|
|
|
export function MonacoExcludeLanguages(esbuild) {
|
|
|
if(esbuild){
|
|
|
return {
|
|
|
name: 'esbuild-plugin-monaco-exclude-languages',
|
|
|
setup(build){
|
|
|
- build.onLoad({ filter: /basic-languages[/\\]monaco\.contribution\.js/ }, async (args) => {
|
|
|
+ build.onLoad({ filter: /basic-languages[/\\]monaco\.contribution\.js/ }, async () => {
|
|
|
return {
|
|
|
contents: `import '../editor/editor.api.js';`,
|
|
|
loader: 'ts'
|
|
|
}
|
|
|
})
|
|
|
+ excludes.forEach(id => {
|
|
|
+ build.onLoad({ filter: new RegExp(`language/${id}`) }, async () => {
|
|
|
+ return {
|
|
|
+ contents: ``,
|
|
|
+ loader: 'ts'
|
|
|
+ }
|
|
|
+ })
|
|
|
+ })
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@@ -18,6 +27,9 @@ export function MonacoExcludeLanguages(esbuild) {
|
|
|
if(/basic-languages[/\\]monaco\.contribution\.js/.test(path)){
|
|
|
return `import '../editor/editor.api.js';`
|
|
|
}
|
|
|
+ if(excludes.some(id => path.indexOf(`/monaco-editor/esm/vs/language/${id}/`) > 0)){
|
|
|
+ return ``
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
-}
|
|
|
+}
|