fix: build caused by @vue/devtools-api

This commit is contained in:
YunYouJun 2024-01-15 03:28:22 +08:00
parent 96643da7b8
commit 98c7775f53
9 changed files with 78 additions and 55 deletions

View File

@ -25,6 +25,7 @@
"build": "pnpm run build:valaxy",
"build:valaxy": "pnpm -C packages/valaxy run build",
"build:demo": "pnpm -C demo/yun run build",
"build:demo:ssg": "pnpm -C demo/yun run build:ssg",
"build:docs": "pnpm -C docs run build",
"ci": "pnpm run build && pnpm -C demo/yun run fuse",
"ci:publish": "pnpm -r publish --access public --no-git-checks",

View File

@ -1,14 +1,16 @@
import { addCustomCommand, addCustomTab } from '@vue/devtools-api'
import type { UserModule } from '../types'
import valaxyLogo from '../assets/images/valaxy-logo.png'
import pkg from '../../package.json'
// import {addCustomCommand, addCustomTab } from '@vue/devtools-api'
/**
* add when enable vue devtools
* https://devtools-next.vuejs.org/plugins/api
*/
export function addValaxyTab() {
export async function addValaxyTabAndCommand() {
const { addCustomTab, addCustomCommand } = await import('@vue/devtools-api')
addCustomTab({
// unique identifier
name: 'valaxy',
@ -24,9 +26,7 @@ export function addValaxyTab() {
// category: 'pinned',
category: 'app',
})
}
function addValaxyCommand() {
addCustomCommand({
id: 'valaxy',
title: 'Valaxy',
@ -55,10 +55,6 @@ function addValaxyCommand() {
})
}
export const install: UserModule = ({ isClient }) => {
const enableDevtools = import.meta.env.DEV && isClient
if (enableDevtools) {
addValaxyTab()
addValaxyCommand()
}
export const install: UserModule = async () => {
await addValaxyTabAndCommand()
}

View File

@ -43,7 +43,7 @@ function shouldHotReload(payload: PageDataPayload): boolean {
return ensureSuffix('/', payloadPath) === ensureSuffix('/', locationPath)
}
export function install({ app, router }: ViteSSGContext, config: ComputedRef<ValaxyConfig<DefaultTheme.Config>>) {
export async function install({ app, router }: ViteSSGContext, config: ComputedRef<ValaxyConfig<DefaultTheme.Config>>) {
const locale = useStorage('valaxy-locale', config?.value.siteConfig.lang || 'en')
// init i18n, by valaxy config

View File

@ -19,15 +19,18 @@ import { install as installPinia } from '../modules/pinia'
import { install as installNprogress } from '../modules/nprogress'
import { install as installSchema } from '../modules/schemaOrg'
// import { install as installDevtools } from '../modules/devtools'
export default function setupMain(ctx: ViteSSGContext, config: ComputedRef<ValaxyConfig<DefaultTheme.Config>>) {
// @ts-expect-error inject in runtime
// eslint-disable-next-line unused-imports/no-unused-vars
const injection_arg = ctx
installValaxy(ctx, config)
// installDevtools(ctx)
if (import.meta.env.DEV && ctx.isClient) {
import('../modules/devtools').then(({ install: installDevtools }) => {
installDevtools(ctx)
})
}
installSchema(ctx)

View File

@ -29,7 +29,7 @@ export async function ssgBuild(
plugins: await ViteValaxyPlugins(options),
ssr: {
// TODO: workaround until they support native ESM
noExternal: ['workbox-window', /vue-i18n/],
noExternal: ['workbox-window', /vue-i18n/, '@vue/devtools-api'],
},
}

View File

@ -36,6 +36,9 @@ const clientDeps = [
'fuse.js',
'medium-zoom',
'vanilla-lazyload',
// dev
'@vue/devtools-api',
]
/**
@ -48,8 +51,13 @@ const EXCLUDE = [
'@vueuse/shared',
'@unocss/reset',
'unocss',
'vue',
'vue-i18n',
'vue-demi',
// separate deps vue-i18n @vue/devtools-api
'vue-router',
'@vue/devtools-api',
// addon, todo add externals for addon
// main field error
@ -141,7 +149,10 @@ export function getDefine(_options: ResolvedValaxyOptions): Record<string, any>
// https://github.com/intlify/vue-i18n-next/blob/dab6db19a1ef917425939275a41dfde9b6c61fe9/packages/vue-i18n-core/src/misc.ts#L20
// I create a issue https://github.com/intlify/vue-i18n-next/issues/961
return {}
return {
__VUE_PROD_DEVTOOLS__: false,
__INTLIFY_PROD_DEVTOOLS__: false,
}
}
export function getAlias(options: ResolvedValaxyOptions): AliasOptions {

View File

@ -2,7 +2,6 @@ import process from 'node:process'
import type { InlineConfig } from 'vite'
import { createServer as createViteServer, mergeConfig as mergeViteConfig } from 'vite'
import VueDevTools from 'vite-plugin-vue-devtools'
import type { ResolvedValaxyOptions, ValaxyServerOptions } from './options'
import { ViteValaxyPlugins } from './plugins/preset'
@ -15,6 +14,8 @@ export async function createServer(
process.env.EDITOR = process.env.EDITOR || 'code'
const plugins = await ViteValaxyPlugins(options, serverOptions)
// dynamic import to avoid bundle it in build
const VueDevTools = (await import('vite-plugin-vue-devtools')).default
const mergedViteConfig = mergeViteConfig(
viteConfig,
{

View File

@ -35,7 +35,7 @@
"./types": "./dist/types/index.d.ts",
"./*": "./*"
},
"main": "dist/node/index.cjs",
"main": "dist/node/index.mjs",
"module": "dist/node/index.mjs",
"types": "index.d.ts",
"bin": {
@ -72,6 +72,7 @@
"@unhead/schema-org": "^1.8.9",
"@unhead/vue": "^1.8.9",
"@vitejs/plugin-vue": "^5.0.3",
"@vue/devtools-api": "^7.0.10",
"@vueuse/core": "^10.7.2",
"@vueuse/integrations": "^10.7.2",
"body-scroll-lock": "4.0.0-beta.0",

View File

@ -247,6 +247,9 @@ importers:
'@vitejs/plugin-vue':
specifier: ^5.0.3
version: 5.0.3(vite@5.0.11)(vue@3.4.13)
'@vue/devtools-api':
specifier: ^7.0.10
version: 7.0.10
'@vueuse/core':
specifier: ^10.7.2
version: 10.7.2(vue@3.4.13)
@ -454,7 +457,7 @@ importers:
version: 17.0.32
debug:
specifier: ^4.3.4
version: 4.3.4(supports-color@8.1.1)
version: 4.3.4(supports-color@5.5.0)
diacritics:
specifier: ^1.3.0
version: 1.3.0
@ -823,7 +826,7 @@ packages:
'@babel/traverse': 7.23.6
'@babel/types': 7.23.6
convert-source-map: 2.0.0
debug: 4.3.4(supports-color@8.1.1)
debug: 4.3.4(supports-color@5.5.0)
gensync: 1.0.0-beta.2
json5: 2.2.3
semver: 6.3.1
@ -917,7 +920,7 @@ packages:
'@babel/core': 7.23.6
'@babel/helper-compilation-targets': 7.23.6
'@babel/helper-plugin-utils': 7.22.5
debug: 4.3.4(supports-color@8.1.1)
debug: 4.3.4(supports-color@5.5.0)
lodash.debounce: 4.0.8
resolve: 1.22.8
transitivePeerDependencies:
@ -2011,7 +2014,7 @@ packages:
'@babel/helper-split-export-declaration': 7.22.6
'@babel/parser': 7.23.6
'@babel/types': 7.23.6
debug: 4.3.4(supports-color@8.1.1)
debug: 4.3.4(supports-color@5.5.0)
globals: 11.12.0
transitivePeerDependencies:
- supports-color
@ -2028,7 +2031,7 @@ packages:
'@babel/helper-split-export-declaration': 7.22.6
'@babel/parser': 7.23.6
'@babel/types': 7.23.6
debug: 4.3.4(supports-color@8.1.1)
debug: 4.3.4(supports-color@5.5.0)
globals: 11.12.0
transitivePeerDependencies:
- supports-color
@ -2584,7 +2587,7 @@ packages:
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
dependencies:
ajv: 6.12.6
debug: 4.3.4(supports-color@8.1.1)
debug: 4.3.4(supports-color@5.5.0)
espree: 9.6.1
globals: 13.24.0
ignore: 5.3.0
@ -2610,7 +2613,7 @@ packages:
engines: {node: '>=10.10.0'}
dependencies:
'@humanwhocodes/object-schema': 2.0.1
debug: 4.3.4(supports-color@8.1.1)
debug: 4.3.4(supports-color@5.5.0)
minimatch: 3.1.2
transitivePeerDependencies:
- supports-color
@ -2669,7 +2672,7 @@ packages:
'@antfu/install-pkg': 0.1.1
'@antfu/utils': 0.7.7
'@iconify/types': 2.0.0
debug: 4.3.4(supports-color@8.1.1)
debug: 4.3.4(supports-color@5.5.0)
kolorist: 1.8.0
local-pkg: 0.4.3
transitivePeerDependencies:
@ -2754,7 +2757,7 @@ packages:
'@intlify/shared': 9.8.0
'@rollup/pluginutils': 5.1.0(rollup@3.29.4)
'@vue/compiler-sfc': 3.3.12
debug: 4.3.4(supports-color@8.1.1)
debug: 4.3.4(supports-color@5.5.0)
fast-glob: 3.3.2
js-yaml: 4.1.0
json5: 2.2.3
@ -3554,7 +3557,7 @@ packages:
'@typescript-eslint/type-utils': 6.18.1(eslint@8.56.0)(typescript@5.3.3)
'@typescript-eslint/utils': 6.18.1(eslint@8.56.0)(typescript@5.3.3)
'@typescript-eslint/visitor-keys': 6.18.1
debug: 4.3.4(supports-color@8.1.1)
debug: 4.3.4(supports-color@5.5.0)
eslint: 8.56.0
graphemer: 1.4.0
ignore: 5.3.0
@ -3580,7 +3583,7 @@ packages:
'@typescript-eslint/types': 6.18.1
'@typescript-eslint/typescript-estree': 6.18.1(typescript@5.3.3)
'@typescript-eslint/visitor-keys': 6.18.1
debug: 4.3.4(supports-color@8.1.1)
debug: 4.3.4(supports-color@5.5.0)
eslint: 8.56.0
typescript: 5.3.3
transitivePeerDependencies:
@ -3615,7 +3618,7 @@ packages:
dependencies:
'@typescript-eslint/typescript-estree': 6.18.1(typescript@5.3.3)
'@typescript-eslint/utils': 6.18.1(eslint@8.56.0)(typescript@5.3.3)
debug: 4.3.4(supports-color@8.1.1)
debug: 4.3.4(supports-color@5.5.0)
eslint: 8.56.0
ts-api-utils: 1.0.3(typescript@5.3.3)
typescript: 5.3.3
@ -3644,7 +3647,7 @@ packages:
dependencies:
'@typescript-eslint/types': 6.16.0
'@typescript-eslint/visitor-keys': 6.16.0
debug: 4.3.4(supports-color@8.1.1)
debug: 4.3.4(supports-color@5.5.0)
globby: 11.1.0
is-glob: 4.0.3
minimatch: 9.0.3
@ -3666,7 +3669,7 @@ packages:
dependencies:
'@typescript-eslint/types': 6.18.1
'@typescript-eslint/visitor-keys': 6.18.1
debug: 4.3.4(supports-color@8.1.1)
debug: 4.3.4(supports-color@5.5.0)
globby: 11.1.0
is-glob: 4.0.3
minimatch: 9.0.3
@ -4196,6 +4199,12 @@ packages:
/@vue/devtools-api@6.5.1:
resolution: {integrity: sha512-+KpckaAQyfbvshdDW5xQylLni1asvNSGme1JFs8I1+/H5pHEhqUKMEQD/qn3Nx5+/nycBq11qAEi8lk+LXI2dA==}
/@vue/devtools-api@7.0.10:
resolution: {integrity: sha512-ahyPg7WfNChvFBBoXuksPWYetbfKQq+9s+1HFFtAW3ZT/KrHw+12K30OARscUVd5waOd8wSf8COdLUZMdV/3rw==}
dependencies:
'@vue/devtools-kit': 7.0.10
dev: false
/@vue/devtools-core@7.0.10(rollup@3.29.4)(vite@5.0.11):
resolution: {integrity: sha512-HBKK2Lh6byAxSDg9yCaUPpDJJxLRrwdbQYPUvd5pDZspHGDwj9XLPPzesGwTCQzN5gCxFDaTx1p76mTy+kYCJg==}
dependencies:
@ -4506,7 +4515,7 @@ packages:
resolution: {integrity: sha512-o/zjMZRhJxny7OyEF+Op8X+efiELC7k7yOjMzgfzVqOzXqkBkWI79YoTdOtsuWd5BWhAGAuOY/Xa6xpiaWXiNg==}
engines: {node: '>= 14'}
dependencies:
debug: 4.3.4(supports-color@8.1.1)
debug: 4.3.4(supports-color@5.5.0)
transitivePeerDependencies:
- supports-color
dev: false
@ -5658,7 +5667,6 @@ packages:
dependencies:
ms: 2.1.2
supports-color: 5.5.0
dev: true
/debug@4.3.4(supports-color@8.1.1):
resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==}
@ -5671,6 +5679,7 @@ packages:
dependencies:
ms: 2.1.2
supports-color: 8.1.1
dev: true
/decamelize@1.2.0:
resolution: {integrity: sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==}
@ -6160,7 +6169,7 @@ packages:
peerDependencies:
eslint: ^7.2.0 || ^8
dependencies:
debug: 4.3.4(supports-color@8.1.1)
debug: 4.3.4(supports-color@5.5.0)
doctrine: 3.0.0
eslint: 8.56.0
eslint-import-resolver-node: 0.3.9
@ -6185,7 +6194,7 @@ packages:
'@es-joy/jsdoccomment': 0.41.0
are-docs-informative: 0.0.2
comment-parser: 1.4.1
debug: 4.3.4(supports-color@8.1.1)
debug: 4.3.4(supports-color@5.5.0)
escape-string-regexp: 4.0.0
eslint: 8.56.0
esquery: 1.5.0
@ -6282,7 +6291,7 @@ packages:
peerDependencies:
eslint: '>=6.0.0'
dependencies:
debug: 4.3.4(supports-color@8.1.1)
debug: 4.3.4(supports-color@5.5.0)
eslint: 8.56.0
eslint-compat-utils: 0.1.2(eslint@8.56.0)
lodash: 4.17.21
@ -6379,7 +6388,7 @@ packages:
peerDependencies:
eslint: '>=6.0.0'
dependencies:
debug: 4.3.4(supports-color@8.1.1)
debug: 4.3.4(supports-color@5.5.0)
eslint: 8.56.0
eslint-compat-utils: 0.1.2(eslint@8.56.0)
lodash: 4.17.21
@ -6432,7 +6441,7 @@ packages:
ajv: 6.12.6
chalk: 4.1.2
cross-spawn: 7.0.3
debug: 4.3.4(supports-color@8.1.1)
debug: 4.3.4(supports-color@5.5.0)
doctrine: 3.0.0
escape-string-regexp: 4.0.0
eslint-scope: 7.2.2
@ -7313,7 +7322,7 @@ packages:
engines: {node: '>= 14'}
dependencies:
agent-base: 7.1.0
debug: 4.3.4(supports-color@8.1.1)
debug: 4.3.4(supports-color@5.5.0)
transitivePeerDependencies:
- supports-color
dev: false
@ -7346,7 +7355,7 @@ packages:
engines: {node: '>= 14'}
dependencies:
agent-base: 7.1.0
debug: 4.3.4(supports-color@8.1.1)
debug: 4.3.4(supports-color@5.5.0)
transitivePeerDependencies:
- supports-color
dev: false
@ -8047,7 +8056,7 @@ packages:
dependencies:
chalk: 5.3.0
commander: 11.1.0
debug: 4.3.4(supports-color@8.1.1)
debug: 4.3.4(supports-color@5.5.0)
execa: 8.0.1
lilconfig: 3.0.0
listr2: 8.0.0
@ -8383,7 +8392,7 @@ packages:
/micromark@2.11.4:
resolution: {integrity: sha512-+WoovN/ppKolQOFIAajxi7Lu9kInbPxFuTBVEavFcL8eAfVstoc5MocPmqBeAdBOJV00uaVjegzH4+MA0DN/uA==}
dependencies:
debug: 4.3.4(supports-color@8.1.1)
debug: 4.3.4(supports-color@5.5.0)
parse-entities: 2.0.0
transitivePeerDependencies:
- supports-color
@ -10154,7 +10163,7 @@ packages:
/spdy-transport@3.0.0:
resolution: {integrity: sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==}
dependencies:
debug: 4.3.4(supports-color@8.1.1)
debug: 4.3.4(supports-color@5.5.0)
detect-node: 2.1.0
hpack.js: 2.1.6
obuf: 1.1.2
@ -10168,7 +10177,7 @@ packages:
resolution: {integrity: sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==}
engines: {node: '>=6.0.0'}
dependencies:
debug: 4.3.4(supports-color@8.1.1)
debug: 4.3.4(supports-color@5.5.0)
handle-thing: 2.0.1
http-deceiver: 1.2.7
select-hose: 2.0.0
@ -10488,7 +10497,7 @@ packages:
cosmiconfig: 9.0.0(typescript@5.3.3)
css-functions-list: 3.2.1
css-tree: 2.3.1
debug: 4.3.4(supports-color@8.1.1)
debug: 4.3.4(supports-color@5.5.0)
fast-glob: 3.3.2
fastest-levenshtein: 1.0.16
file-entry-cache: 8.0.0
@ -10553,6 +10562,7 @@ packages:
engines: {node: '>=10'}
dependencies:
has-flag: 4.0.0
dev: true
/supports-hyperlinks@3.0.0:
resolution: {integrity: sha512-QBDPHyPQDRTy9ku4URNGY5Lah8PAaXs6tAAwp55sL5WCsSW7GIfdf6W5ixfziW+t7wh3GVvHyHHyQ1ESsoRvaA==}
@ -10777,7 +10787,7 @@ packages:
bundle-require: 4.0.2(esbuild@0.19.9)
cac: 6.7.14
chokidar: 3.5.3
debug: 4.3.4(supports-color@8.1.1)
debug: 4.3.4(supports-color@5.5.0)
esbuild: 0.19.9
execa: 5.1.1
globby: 11.1.0
@ -11117,7 +11127,7 @@ packages:
'@antfu/utils': 0.7.7
'@rollup/pluginutils': 5.1.0(rollup@3.29.4)
chokidar: 3.5.3
debug: 4.3.4(supports-color@8.1.1)
debug: 4.3.4(supports-color@5.5.0)
fast-glob: 3.3.2
local-pkg: 0.4.3
magic-string: 0.30.5
@ -11284,7 +11294,7 @@ packages:
hasBin: true
dependencies:
cac: 6.7.14
debug: 4.3.4(supports-color@8.1.1)
debug: 4.3.4(supports-color@5.5.0)
pathe: 1.1.1
picocolors: 1.0.0
vite: 5.0.11(@types/node@20.11.0)(sass@1.69.7)
@ -11311,7 +11321,7 @@ packages:
dependencies:
'@antfu/utils': 0.7.7
'@rollup/pluginutils': 5.1.0(rollup@2.79.1)
debug: 4.3.4(supports-color@8.1.1)
debug: 4.3.4(supports-color@5.5.0)
error-stack-parser-es: 0.1.1
fs-extra: 11.2.0
open: 9.1.0
@ -11335,7 +11345,7 @@ packages:
dependencies:
'@antfu/utils': 0.7.7
'@rollup/pluginutils': 5.1.0(rollup@3.29.4)
debug: 4.3.4(supports-color@8.1.1)
debug: 4.3.4(supports-color@5.5.0)
error-stack-parser-es: 0.1.1
fs-extra: 11.2.0
open: 9.1.0
@ -11355,7 +11365,7 @@ packages:
workbox-build: ^7.0.0
workbox-window: ^7.0.0
dependencies:
debug: 4.3.4(supports-color@8.1.1)
debug: 4.3.4(supports-color@5.5.0)
fast-glob: 3.3.2
pretty-bytes: 6.1.1
vite: 5.0.11(@types/node@20.11.0)(sass@1.69.7)
@ -11412,7 +11422,7 @@ packages:
vue: ^3.2.4
vue-router: ^4.0.11
dependencies:
debug: 4.3.4(supports-color@8.1.1)
debug: 4.3.4(supports-color@5.5.0)
fast-glob: 3.3.2
vite: 5.0.11(@types/node@20.11.0)(sass@1.69.7)
vue: 3.4.13(typescript@5.3.3)
@ -11586,7 +11596,7 @@ packages:
acorn-walk: 8.3.1
cac: 6.7.14
chai: 4.3.10
debug: 4.3.4(supports-color@8.1.1)
debug: 4.3.4(supports-color@5.5.0)
execa: 8.0.1
local-pkg: 0.5.0
magic-string: 0.30.5
@ -11635,7 +11645,7 @@ packages:
peerDependencies:
eslint: '>=6.0.0'
dependencies:
debug: 4.3.4(supports-color@8.1.1)
debug: 4.3.4(supports-color@5.5.0)
eslint: 8.56.0
eslint-scope: 7.2.2
eslint-visitor-keys: 3.4.3