1234567891011121314151617181920212223242526272829303132333435 |
- 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 () => {
- return {
- contents: `import '../editor/editor.api.js';`,
- loader: 'ts'
- }
- })
- excludes.forEach(id => {
- build.onLoad({ filter: new RegExp(`language/${id}`) }, async () => {
- return {
- contents: ``,
- loader: 'ts'
- }
- })
- })
- }
- }
- }
- return {
- name: 'rollup-plugin-monaco-exclude-languages',
- load(path){
- 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 ``
- }
- }
- }
- }
|