Skip to content

Commit abc2ed0

Browse files
committed
fix: monaco on build
1 parent 9c05798 commit abc2ed0

File tree

5 files changed

+29
-11
lines changed

5 files changed

+29
-11
lines changed

packages/client/setup/monaco.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
import { getCurrentInstance, onMounted } from 'vue'
22
import * as monaco from 'monaco-editor'
33
import { createSingletonPromise } from '@antfu/utils'
4-
54
/* __imports__ */
65

76
const setup = createSingletonPromise(async() => {

packages/client/windi.config.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { resolve } from 'path'
1+
import { resolve, dirname } from 'path'
22
import { isTruthy } from '@antfu/utils'
33
import { DefaultExtractor, defineConfig } from 'vite-plugin-windicss'
44
import typography from 'windicss/plugin/typography'
@@ -12,7 +12,8 @@ export default defineConfig({
1212
'*.md',
1313
],
1414
exclude: [
15-
'.git/**',
15+
'.git',
16+
dirname(require.resolve('monaco-editor/package.json')),
1617
],
1718
extractors: [
1819
{

packages/slidev/node/plugins/config.ts

Lines changed: 22 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,17 @@
1-
import { mergeConfig, Plugin } from 'vite'
1+
import { InlineConfig, mergeConfig, Plugin } from 'vite'
22
import { getIndexHtml } from '../common'
33
import { dependencies } from '../../../client/package.json'
44
import { getClientRoot, ResolvedSlidevOptions } from '../options'
55

66
const EXCLUDE = [
7-
'theme-vitesse',
87
'@slidev/types',
98
]
109

1110
export function createConfigPlugin(options: ResolvedSlidevOptions): Plugin {
1211
return {
1312
name: 'slidev:config',
1413
config(config) {
15-
return mergeConfig(config, {
14+
const injection: InlineConfig = {
1615
resolve: {
1716
alias: {
1817
'@slidev/client/': `${getClientRoot()}/`,
@@ -34,7 +33,26 @@ export function createConfigPlugin(options: ResolvedSlidevOptions): Plugin {
3433
'vue-demi',
3534
],
3635
},
37-
})
36+
37+
}
38+
if (options.data.config.monaco) {
39+
// fix for monaco workers
40+
// https://github.com/vitejs/vite/issues/1927#issuecomment-805803918
41+
injection.build = {
42+
rollupOptions: {
43+
output: {
44+
manualChunks: {
45+
jsonWorker: ['monaco-editor/esm/vs/language/json/json.worker'],
46+
cssWorker: ['monaco-editor/esm/vs/language/css/css.worker'],
47+
htmlWorker: ['monaco-editor/esm/vs/language/html/html.worker'],
48+
tsWorker: ['monaco-editor/esm/vs/language/typescript/ts.worker'],
49+
editorWorker: ['monaco-editor/esm/vs/editor/editor.worker'],
50+
},
51+
},
52+
},
53+
}
54+
}
55+
return mergeConfig(config, injection)
3856
},
3957
configureServer(server) {
4058
// serve our index.html after vite history fallback

packages/theme-default/windi.config.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,10 @@ export default mergeWindicssConfig(
77
defineConfig({
88
extract: {
99
include: [
10-
resolve(__dirname, '**/*.{vue,ts}'),
10+
resolve(__dirname, '**/*.{vue}'),
1111
],
1212
exclude: [
13-
resolve(__dirname, 'node_modules/**/*'),
13+
resolve(__dirname, 'node_modules'),
1414
],
1515
},
1616
shortcuts: {

packages/theme-seriph/windi.config.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,10 @@ export default mergeWindicssConfig(
77
defineConfig({
88
extract: {
99
include: [
10-
resolve(__dirname, '**/*.{vue,ts}'),
10+
resolve(__dirname, '**/*.{vue}'),
1111
],
1212
exclude: [
13-
resolve(__dirname, 'node_modules/**/*'),
13+
resolve(__dirname, 'node_modules'),
1414
],
1515
},
1616
shortcuts: {

0 commit comments

Comments
 (0)