7f4cc10d25
Vue Router 4.1.6 -> 4.6.4, Pinia 2.0.33 -> 2.3.1, @vueuse/core 9 -> 13.9.0, vue-i18n 9.0.0 -> 9.14.5, echarts 5.6 -> 6.1.0, vue-echarts 7 -> 8.1.0. Pinia 3, Vue Router 5 и Vite 8 сознательно не берутся: ни один из них не даёт проекту ничего, кроме номера версии, а Vite 8 — это переезд на Rolldown. vue-i18n и echarts обновлены не ради свежести: `pnpm audit --prod` на базовой линии показывал 4 moderate, из них GHSA-x8qp-wqqm-57ph (vue-i18n, исправлено в 9.14.5) и GHSA-fgmj-fm8m-jvvx (echarts XSS, исправлено в 6.1.0). Теперь `pnpm audit --prod` чист. Четвёртая advisory — GHSA-5m5x-9j46-h678 в el-link — исправленной версии не имеет, но в продукте недостижима: el-link не используется ни в одном представлении. pnpm audit анализа достижимости не делает, в отличие от govulncheck, поэтому это приходится проверять руками. VueUse 13 сломал сборку: `[auto-import] identifier toRef already defined with vue`. Причина — авто-импорт всего @vueuse/core, то есть пятисот с лишним имён, среди которых реэкспорты toRef и toValue. Список сужен до двух функций, которые действительно используются без явного импорта; src/types/auto-imports.d.ts сократился с 526 строк до 124. Заодно включена генерация .eslintrc-auto-import.json: файл подключён через extends в .eslintrc.cjs, но не генерировался, то есть перечислял глобальные имена, которых в авто-импорте давно нет. Устаревший список молча отключает предупреждение eslint об обращении к несуществующему имени. bundle: 2 604 924 против 2 404 202 на базовой линии (+8%). typecheck: 0, eslint: 0, go build с встроенным dist: OK.
62 lines
1.4 KiB
JSON
62 lines
1.4 KiB
JSON
{
|
|
"globals": {
|
|
"EffectScope": true,
|
|
"ElForm": true,
|
|
"ElMessage": true,
|
|
"ElMessageBox": true,
|
|
"computed": true,
|
|
"createApp": true,
|
|
"customRef": true,
|
|
"defineAsyncComponent": true,
|
|
"defineComponent": true,
|
|
"effectScope": true,
|
|
"getCurrentInstance": true,
|
|
"getCurrentScope": true,
|
|
"h": true,
|
|
"inject": true,
|
|
"isProxy": true,
|
|
"isReactive": true,
|
|
"isReadonly": true,
|
|
"isRef": true,
|
|
"markRaw": true,
|
|
"nextTick": true,
|
|
"onActivated": true,
|
|
"onBeforeMount": true,
|
|
"onBeforeUnmount": true,
|
|
"onBeforeUpdate": true,
|
|
"onDeactivated": true,
|
|
"onErrorCaptured": true,
|
|
"onMounted": true,
|
|
"onRenderTracked": true,
|
|
"onRenderTriggered": true,
|
|
"onScopeDispose": true,
|
|
"onServerPrefetch": true,
|
|
"onUnmounted": true,
|
|
"onUpdated": true,
|
|
"provide": true,
|
|
"reactive": true,
|
|
"readonly": true,
|
|
"ref": true,
|
|
"resolveComponent": true,
|
|
"resolveDirective": true,
|
|
"shallowReactive": true,
|
|
"shallowReadonly": true,
|
|
"shallowRef": true,
|
|
"toRaw": true,
|
|
"toRef": true,
|
|
"toRefs": true,
|
|
"triggerRef": true,
|
|
"unref": true,
|
|
"useAttrs": true,
|
|
"useCssModule": true,
|
|
"useCssVars": true,
|
|
"useFullscreen": true,
|
|
"useSlots": true,
|
|
"useVModel": true,
|
|
"watch": true,
|
|
"watchEffect": true,
|
|
"watchPostEffect": true,
|
|
"watchSyncEffect": true
|
|
}
|
|
}
|