Skip to content

Commit

Permalink
fix: windicss extrant target in monorepo (#161)
Browse files Browse the repository at this point in the history
  • Loading branch information
hannoeru committed May 22, 2021
1 parent 1ef3ec1 commit be08b11
Show file tree
Hide file tree
Showing 7 changed files with 41 additions and 7 deletions.
2 changes: 2 additions & 0 deletions packages/client/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@
"@antfu/utils": "^0.1.6",
"@slidev/parser": "workspace:*",
"@slidev/types": "workspace:*",
"@types/resolve": "^1.20.0",
"@vueuse/core": "^4.11.0",
"@vueuse/head": "^0.5.1",
"@vueuse/motion": "^1.5.5",
Expand All @@ -31,6 +32,7 @@
"nanoid": "^3.1.23",
"prettier": "^2.3.0",
"recordrtc": "^5.6.2",
"resolve": "^1.20.0",
"vue": "^3.0.11",
"vue-router": "^4.0.8",
"windicss": "^3.0.9"
Expand Down
14 changes: 13 additions & 1 deletion packages/client/windi.config.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,14 @@
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'
import { sync } from 'resolve'

export function resolveImportPath(importName: string) {
return sync(importName, {
preserveSymlinks: false,
})
}

export default defineConfig({
extract: {
Expand All @@ -12,9 +19,14 @@ export default defineConfig({
],
exclude: [
'.git',
'dist',
'node_modules',
// @slidev/client/node_modules
resolve(__dirname, 'node_modules'),
resolve(__dirname, 'windi.config.ts'),
// for monorepo like demo folder
dirname(resolveImportPath('monaco-editor/package.json')),
dirname(resolveImportPath('katex/package.json')),
],
extractors: [
{
Expand Down
7 changes: 3 additions & 4 deletions packages/slidev/node/options.ts
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ import { ArgumentsType, uniq } from '@antfu/utils'
import { SlidevMarkdown } from '@slidev/types'
import * as parser from '@slidev/parser/fs'
import { packageExists, promptForThemeInstallation, resolveThemeName } from './themes'
import { resolveImportPath } from './utils'

export interface SlidevEntryOptions {
/**
Expand Down Expand Up @@ -54,8 +55,7 @@ export interface SlidevPluginOptions extends SlidevEntryOptions {
}

export function getClientRoot() {
// eslint-disable-next-line no-eval
return dirname(eval('require').resolve('@slidev/client/package.json'))
return dirname(resolveImportPath('@slidev/client/package.json'))
}

export function getCLIRoot() {
Expand All @@ -78,8 +78,7 @@ export function getThemeRoots(name: string, entry: string) {
}
else {
return [
// eslint-disable-next-line no-eval
dirname(eval('require').resolve(`${name}/package.json`)),
dirname(resolveImportPath(`${name}/package.json`)),
]
}
}
Expand Down
4 changes: 2 additions & 2 deletions packages/slidev/node/themes.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
import prompts from 'prompts'
import { parseNi, run } from '@antfu/ni'
import { isRelative } from './options'
import { resolveImportPath } from './utils'

const officialThemes: Record<string, string> = {
'none': '',
Expand All @@ -11,8 +12,7 @@ const officialThemes: Record<string, string> = {

export function packageExists(name: string) {
try {
// eslint-disable-next-line no-eval
if (eval('require').resolve(`${name}/package.json`))
if (resolveImportPath(`${name}/package.json`))
return true
}
catch {}
Expand Down
7 changes: 7 additions & 0 deletions packages/slidev/node/utils.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,12 @@
import { ensurePrefix, slash } from '@antfu/utils'
import { sync } from 'resolve'

export function toAtFS(path: string) {
return `/@fs${ensurePrefix('/', slash(path))}`
}

export function resolveImportPath(importName: string) {
return sync(importName, {
preserveSymlinks: false,
})
}
2 changes: 2 additions & 0 deletions packages/slidev/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -71,6 +71,7 @@
"pdf-lib": "^1.16.0",
"prismjs": "^1.23.0",
"prompts": "^2.4.1",
"resolve": "^1.20.0",
"shiki": "^0.9.4",
"sirv": "^1.0.11",
"vite": "^2.3.3",
Expand All @@ -84,6 +85,7 @@
"yargs": "^17.0.1"
},
"devDependencies": {
"@types/resolve": "^1.20.0",
"fast-deep-equal": "^3.1.3"
}
}
12 changes: 12 additions & 0 deletions pnpm-lock.yaml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

0 comments on commit be08b11

Please sign in to comment.