Skip to content

Upgrading @nuxt/devtools 0.8 to 1

Breaking0.8.5 → 1.7.0Breaking1Security3New38Changed30Fixed97

BreakingUpgrade verdict

1 breaking change and 3 security fixes.

  • The package no longer provides a CommonJS entry point, so projects that load it with require() may need to switch to ESM imports.
  • Nuxt Devtools has a Path Traversal: '../filedir'
  • These devtools endpoints now need an authentication token, so unauthenticated requests are rejected.
  • Restarting Nuxt through devtools now requires an authentication token.
4 items need code or config changes

Adds @vue/devtools-core 7.6.8, @vue/devtools-kit 7.6.8, cronstrue ^2.52.0, destr ^2.0.3, fast-npm-meta ^0.2.2, scule ^1.3.0, tinyglobby ^0.2.10.

Drops fast-glob, global-dirs, h3, ofetch, pacote, wait-on.

Installs 235 packages in all (was 422).

Breaking1
Removes the CommonJS entrypoint from the devtools package.
Security3
Nuxt Devtools has a Path Traversal: '../filedir'
High · CVSS 8.8
Requires an auth token for the getImageMeta and getTextAssetContent endpoints.
getImageMetagetTextAssetContent
Requires a token for the restartNuxt endpoint.
restartNuxt

Generated by DepDelta from published .d.ts files. Not mixed with prose notes.

  • changed: const default: _nuxt_schema.NuxtModule<ModuleOptions> → const default: _nuxt_schema.NuxtModule<ModuleOptions, ModuleOptions, false>
  • changed: const client: import('vue').ShallowRef<NuxtDevtoolsHostClient | undefined> → const client: import('vue').ShallowRef<any, any>
  • changed: const popupWindow: import('vue').ShallowRef<Window | null> → const popupWindow: import('vue').ShallowRef<Window | null, Window | null>
  • changed: const state: import('vue').Ref<DevToolsFrameState> → const state: import('vue').Ref<DevToolsFrameState, DevToolsFrameState>
  • changed: function useScreenSafeArea(): { top: Ref<number>; right: Ref<number>; bottom: Ref<number>; left: Ref<number>; update: () => void } → function useScreenSafeArea(): { top: Ref<number, number>; right: Ref<number, number>; bottom: Ref<number, number>; left: Ref<number, number>; update: () => void }
  • added: function useElementBounding(target: Ref<HTMLElement | null | undefined>): { height: Ref<number, number>; bottom: Ref<number, number>; left: Ref<number, number>; right: Ref<number, number>; top: Ref<number, number>; width: Ref<number, number>; x: Ref<number, number>; y: Ref<number, number>; update: () => void }
  • added: const settings: { ui: NuxtDevToolsOptions['ui'] }