Skip to content

Commit

Permalink
fix: deps
Browse files Browse the repository at this point in the history
  • Loading branch information
antfu committed Apr 16, 2021
1 parent ee0077b commit 3ebf3fe
Show file tree
Hide file tree
Showing 7 changed files with 103 additions and 497 deletions.
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
},
"devDependencies": {
"@antfu/eslint-config": "^0.6.2",
"@antfu/utils": "^0.0.8",
"@antfu/utils": "^0.0.9",
"@types/node": "^14.14.41",
"@types/prettier": "^2.2.3",
"@typescript-eslint/eslint-plugin": "^4.22.0",
Expand Down
54 changes: 54 additions & 0 deletions packages/vite-slides/node/plugins/config.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
import { mergeConfig, Plugin } from 'vite'
import { getIndexHtml } from '../common'

export function createConfigPlugin(): Plugin {
return {
name: 'vite-slides:config',
config(config) {
return mergeConfig(config, {
optimizeDeps: {
include: [
'@antfu/utils',
'@vueuse/core',
'@vueuse/head',
'js-base64',
'monaco-editor',
'prettier',
'prettier/esm/parser-babel',
'prettier/esm/parser-html',
'prettier/esm/parser-typescript',
'vite-ssg',
'vue-router',
'vue',
],
exclude: [
'@iconify/json',
'@vitejs/plugin-vue',
'@vue/compiler-sfc',
'markdown-it-prism',
'minimist',
'vite-plugin-components',
'vite-plugin-icons',
'vite-plugin-md',
'vite-plugin-windicss',
'vite',
'vue-demi',
],
},
})
},
configureServer(server) {
// serve our index.html after vite history fallback
return () => {
server.middlewares.use(async(req, res, next) => {
if (req.url!.endsWith('.html')) {
res.statusCode = 200
res.end(await getIndexHtml())
return
}
next()
})
}
},
}
}
12 changes: 12 additions & 0 deletions packages/vite-slides/node/plugins/monaco.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
import { Plugin, resolvePackageData } from 'vite'
import base64 from 'js-base64'

export function createMonacoLoader(): Plugin {
return {
Expand Down Expand Up @@ -31,3 +32,14 @@ export function createMonacoLoader(): Plugin {
},
}
}

export function transformMarkdownMonaco(code: string) {
// transform monaco
code = code.replace(/\n```(\w+?){monaco([\w:,-]*)}[\s\n]*([\s\S]+?)\n```/mg, (full, lang = 'ts', options: string, code: string) => {
options = options || ''
code = base64.encode(code, true)
return `<Monaco :code="'${code}'" :lang="'${lang}'" :readonly="${options.includes('readonly')}" />`
})

return code
}
74 changes: 7 additions & 67 deletions packages/vite-slides/node/plugins/preset.ts
Original file line number Diff line number Diff line change
@@ -1,17 +1,16 @@

import { mergeConfig, Plugin } from 'vite'
import { Plugin } from 'vite'
import Vue from '@vitejs/plugin-vue'
import ViteIcons, { ViteIconsResolver } from 'vite-plugin-icons'
import ViteComponents from 'vite-plugin-components'
import Markdown from 'vite-plugin-md'
import WindiCSS from 'vite-plugin-windicss'
import Prism from 'markdown-it-prism'
import base64 from 'js-base64'
import { getPackageRoot, getThemeRoot } from '../env'
import { getDefultWindiConfig } from '../windicss'
import { getIndexHtml } from '../common'
import { getDefultWindiConfig } from './windicss'
import { createConfigPlugin } from './config'
import { createSlidesLoader } from './slides'
import { createMonacoLoader } from './monaco'
import { createMonacoLoader, transformMarkdownMonaco } from './monaco'
import { createEntryPlugin } from './entry'

export type ArgumentsType<T> = T extends ((...args: infer A) => void) ? A : never
Expand All @@ -36,58 +35,6 @@ export function ViteSlides(options: ViteSlidesOptions = {}): Plugin[] {
const packageRoot = getPackageRoot()

return [
{
name: 'vite-slides:config',
config(config) {
return mergeConfig(config, {
optimizeDeps: {
include: [
'vue',
'vue-router',
'@vueuse/core',
'monaco-editor',
'js-base64',
'@vueuse/head',
'@antfu/utils',
'prettier',
'prettier/esm/parser-html',
'prettier/esm/parser-babel',
'prettier/esm/parser-typescript',
],
exclude: [
'vue-demi',
'@iconify/json',
'@vitejs/plugin-vue',
'@vue/compiler-sfc',
'cac',
'markdown-it-prism',
'vite',
'vite-ssg',
'vite-plugin-components',
'vite-plugin-icons',
'vite-plugin-md',
'vite-plugin-windicss',
'vue-router',
],
},
})
},
configureServer(server) {
// serve our index.html after vite history fallback
return () => {
server.middlewares.use(async(req, res, next) => {
if (req.url!.endsWith('.html')) {
res.statusCode = 200
res.end(await getIndexHtml())
return
}
next()
})
}
},

},

Vue({
include: [/\.vue$/, /\.md$/],
...vueOptions,
Expand All @@ -106,16 +53,7 @@ export function ViteSlides(options: ViteSlidesOptions = {}): Plugin[] {
md.use(Prism)
},
transforms: {
before(code) {
// transform monaco
code = code.replace(/\n```(\w+?){monaco([\w:,-]*)}[\s\n]*([\s\S]+?)\n```/mg, (full, lang = 'ts', options: string, code: string) => {
options = options || ''
code = base64.encode(code, true)
return `<Monaco :code="'${code}'" :lang="'${lang}'" :readonly="${options.includes('readonly')}" />`
})

return code
},
before: transformMarkdownMonaco,
},
...mdOptions,
}),
Expand Down Expand Up @@ -156,10 +94,12 @@ export function ViteSlides(options: ViteSlidesOptions = {}): Plugin[] {
}),

...WindiCSS({
// TODO: merge with theme/user config
config: getDefultWindiConfig(),
...windicssOptions,
}),

createConfigPlugin(),
createEntryPlugin(),
createSlidesLoader(),
createMonacoLoader(),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,19 +2,26 @@ import { resolve } from 'path'
import { defineConfig } from 'windicss/helpers'
import { Config as WindiConfig } from 'windicss/types/interfaces'
import { deepMerge } from '@antfu/utils'
import { getPackageRoot, getThemeRoot } from './env'
import { getPackageRoot, getThemeRoot } from '../env'

export function getDefultWindiConfig() {
return defineConfig({
extract: {
include: [
resolve(getPackageRoot(), 'client/**/*.{vue,ts}'),
resolve(getThemeRoot(), '**/*.{vue,ts}'),
'**/*.{vue,ts}',
'src/**/*.{vue,ts}',
'components/**/*.{vue,ts}',
'slides.md',
],
exclude: [
'.git/**',
resolve(getThemeRoot(), 'node_modules/*'),
],
},
safelist: '!opacity-0',
safelist: [
'!opacity-0',
],
darkMode: 'class',
preflight: {
includeAll: true,
Expand Down
11 changes: 5 additions & 6 deletions packages/vite-slides/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -26,14 +26,13 @@
"dist"
],
"dependencies": {
"@antfu/utils": "^0.0.9",
"@iconify/json": "^1.1.330",
"@vite-slides/theme-default": "workspace:*",
"@vitejs/plugin-vue": "^1.2.1",
"@vue/compiler-sfc": "^3.0.11",
"@vueuse/core": "^4.8.1",
"@vueuse/head": "^0.5.1",
"@vueuse/integrations": "^4.8.1",
"cac": "^6.7.2",
"chalk": "^4.1.0",
"fast-glob": "^3.2.5",
"js-base64": "^3.6.0",
Expand All @@ -48,13 +47,14 @@
"vite-plugin-icons": "^0.5.0",
"vite-plugin-md": "^0.6.3",
"vite-plugin-windicss": "^0.14.2",
"vite-ssg": "^0.9.2",
"vue": "^3.0.11",
"vue-router": "^4.0.6"
"vue-router": "^4.0.6",
"windicss": "^2.5.14"
},
"devDependencies": {
"@antfu/eslint-config": "^0.6.2",
"@antfu/ni": "^0.5.7",
"@antfu/utils": "^0.0.9",
"@types/minimist": "^1.2.1",
"@types/node": "^14.14.41",
"@types/prettier": "^2.2.3",
Expand All @@ -65,7 +65,6 @@
"pnpm": "^6.1.0",
"rimraf": "^3.0.2",
"tsup": "^4.8.21",
"typescript": "^4.2.4",
"vite-ssg": "^0.9.2"
"typescript": "^4.2.4"
}
}

0 comments on commit 3ebf3fe

Please sign in to comment.