Skip to content

Commit

Permalink
fix: monaco on build
Browse files Browse the repository at this point in the history
  • Loading branch information
antfu committed May 2, 2021
1 parent 9c05798 commit abc2ed0
Show file tree
Hide file tree
Showing 5 changed files with 29 additions and 11 deletions.
1 change: 0 additions & 1 deletion packages/client/setup/monaco.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
import { getCurrentInstance, onMounted } from 'vue'
import * as monaco from 'monaco-editor'
import { createSingletonPromise } from '@antfu/utils'

/* __imports__ */

const setup = createSingletonPromise(async() => {
Expand Down
5 changes: 3 additions & 2 deletions packages/client/windi.config.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { resolve } from 'path'
import { resolve, dirname } from 'path'
import { isTruthy } from '@antfu/utils'
import { DefaultExtractor, defineConfig } from 'vite-plugin-windicss'
import typography from 'windicss/plugin/typography'
Expand All @@ -12,7 +12,8 @@ export default defineConfig({
'*.md',
],
exclude: [
'.git/**',
'.git',
dirname(require.resolve('monaco-editor/package.json')),
],
extractors: [
{
Expand Down
26 changes: 22 additions & 4 deletions packages/slidev/node/plugins/config.ts
Original file line number Diff line number Diff line change
@@ -1,18 +1,17 @@
import { mergeConfig, Plugin } from 'vite'
import { InlineConfig, mergeConfig, Plugin } from 'vite'
import { getIndexHtml } from '../common'
import { dependencies } from '../../../client/package.json'
import { getClientRoot, ResolvedSlidevOptions } from '../options'

const EXCLUDE = [
'theme-vitesse',
'@slidev/types',
]

export function createConfigPlugin(options: ResolvedSlidevOptions): Plugin {
return {
name: 'slidev:config',
config(config) {
return mergeConfig(config, {
const injection: InlineConfig = {
resolve: {
alias: {
'@slidev/client/': `${getClientRoot()}/`,
Expand All @@ -34,7 +33,26 @@ export function createConfigPlugin(options: ResolvedSlidevOptions): Plugin {
'vue-demi',
],
},
})

}
if (options.data.config.monaco) {
// fix for monaco workers
// https://github.com/vitejs/vite/issues/1927#issuecomment-805803918
injection.build = {
rollupOptions: {
output: {
manualChunks: {
jsonWorker: ['monaco-editor/esm/vs/language/json/json.worker'],
cssWorker: ['monaco-editor/esm/vs/language/css/css.worker'],
htmlWorker: ['monaco-editor/esm/vs/language/html/html.worker'],
tsWorker: ['monaco-editor/esm/vs/language/typescript/ts.worker'],
editorWorker: ['monaco-editor/esm/vs/editor/editor.worker'],
},
},
},
}
}
return mergeConfig(config, injection)
},
configureServer(server) {
// serve our index.html after vite history fallback
Expand Down
4 changes: 2 additions & 2 deletions packages/theme-default/windi.config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,10 +7,10 @@ export default mergeWindicssConfig(
defineConfig({
extract: {
include: [
resolve(__dirname, '**/*.{vue,ts}'),
resolve(__dirname, '**/*.{vue}'),
],
exclude: [
resolve(__dirname, 'node_modules/**/*'),
resolve(__dirname, 'node_modules'),
],
},
shortcuts: {
Expand Down
4 changes: 2 additions & 2 deletions packages/theme-seriph/windi.config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,10 +7,10 @@ export default mergeWindicssConfig(
defineConfig({
extract: {
include: [
resolve(__dirname, '**/*.{vue,ts}'),
resolve(__dirname, '**/*.{vue}'),
],
exclude: [
resolve(__dirname, 'node_modules/**/*'),
resolve(__dirname, 'node_modules'),
],
},
shortcuts: {
Expand Down

0 comments on commit abc2ed0

Please sign in to comment.