Giter VIP home page Giter VIP logo

devtools-next's Introduction

Vue DevTools - Unleash Vue Developer Experience

Vue DevTools Next

Unleash Vue Developer Experience

Getting Started

Please follow the documentation at devtools-next.vuejs.org.

Sponsors

Contribution

Please make sure to read the Contributing Guide before making a pull request.

Thank you to all the people who already contributed to Vue DevTools!

License

MIT

devtools-next's People

Contributors

adamdehaven avatar alexzhang1030 avatar alkaidcc avatar autofix-ci[bot] avatar azurewarth0920 avatar baiwusanyu-c avatar brc-dd avatar c0dedance avatar coutinhotts avatar duowb avatar gabsedits avatar innei avatar jianjroh avatar konata33 avatar lotwt avatar meitan-li avatar onegil avatar posva avatar renovate[bot] avatar robertboes avatar simon-he95 avatar soya-xy avatar webfansplz avatar xuzuodong avatar yueyanc avatar yunyoujun avatar yyx990803 avatar zhmushan avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

devtools-next's Issues

feat: refactor UI package plan

Let's track the UI package refactor plan here.

general

  • preset based, like rem preset or pixel preset, related #62

components improvements

  • Select supports multi-select and option slot, related #60

Files in the public directory are served at the root path

Discussed in #115

Originally posted by yenche123 December 30, 2023
What is that?
image

I can make sure they were printed on my VS-Code terminal by vite-plugin-vue-devtools just beacuse I only upgraded it without other dependencies.

Context:
vite-plugin-vue-devtools: 7.0.2

Devtools Kit

โœ๏ธ This is a draft note about a unified set of standard APIs to create devtools. I discussed about this a bit with @antfu too and trying to write down some ideas about it.

The idea is to standardize things to be able to :

  • One one side create shells to host dev tools

    • Various types of shell:
      • browser extension
      • embedded pane
      • standalone app
      • multi-devtools app
    • Implementation is not standardized, but following the standard would make any shell compatible with the applets
  • On the other side create devtools applets/plugins to implement various tooling and development features

    • We would have standard APIs to write logic that could be executed in various contexts:
      • Devtools UI
      • In the page
      • Vite plugin
      • Node process
      • ...
    • Provide standard APIs to communicate seamlessly no matter which context we are in
    • Standard manifest and APIs to expose functionality to the shell, for example:
      • Tabs/Launchers: title, icon, notification...
      • Settings
      • Search results/Command palette
      • Keyboard shortcuts
      • ...

Use cases

Then creating the equivalent of the current Nuxt devtools would be to pick a "embedded pane" shell and add various applets like "pages", "routing", "auto-imports"... For Vue devtools, it would be different set of applets.

Then we could put all of those applets into a "standalone app" shell and it would still work because communication between "Devtools UI" and "In the page" contexts are abstracted away.

A multi-devtools app like guijs could also implement this standard and have working vue components tree directly inside it. New applets ideas coming from it could be installing packages, killing ports, etc.

Dies with a large page

I just tried to switch to the Vite plugin. Now my app freezes, loads extremely slowly, or Edge starts asking if I want to kill the tab when I load the page. Had to disable it again.

I see the same behavior with the current browser plugin, if DevTools is open (on the Vue tab or not) while loading the page. If I wait for the page to load and render, I can usually use the Vue DevTools plugin without issue, though I sometimes have to close and reopen it if my actions involve destroying or creating a large number of components.

Admittedly, this particular page is a beast -- it probably has on the order of 8,000 component instances mounted when loaded, a significant amount of data loaded from the API, and a number of computed props based on that data. RAM use is 250-400MB on average. It's a large, complex, interactive UI. (Unfortunately proprietary, can't share it publicly.)

I'm working to improve the mounted component count, but regardless, DevTools should ideally do as little as possible when the tools aren't actually open yet, to avoid creating performance issues where there are a large number of component instances being created and mounted.

Deserialize issue on editing the Pinia state property

It may also occur on other custom property.
The custom property is not been correctly deserialized on editing.

In the reproduction, the count property should be deserialized as native type number.
Reproduction:

Screen.Recording.2024-01-02.at.12.13.09.mov

Improve Component inspector target selection UX

When clicking the "target" button to select components on the page to inspect:

Screenshot 2023-12-30 at 5 12 31 PM
  • The devtools should be minimized after clicking the button. Otherwise it covers components that need to be selected.
  • When selecting components, the highlighting seems to be a bit off compared to when hovering over the component tree in the inspector, see video below:
Screen.Recording.2023-12-30.at.5.20.22.PM.mov

"Open in editor" doesn't work with VS Code + WSL

First, this new version of Vue DevTools looks really awesome for so many reasons so... thank you! ๐Ÿ™

I'm working on a project with 2 machines: one using Ubuntu, the other one with Windows 11 + WSL.
I installed the Vite plugin and it works fine on my Ubuntu machine but not on my Windows one.

I have the following error message when I try to open a component:

Could not open MyFile.vue in the editor.

My Vue server is running inside WSL but the app is displayed on Windows.

I suspect this is not specific to WSL but likely to any remote environment (since, from my understanding, this is how the VS Code WSL extension works).

Tell me if you need any additional information!

Browser extension pane and electron app

The current devtools are available as a pane in the devtools and as a standalone electron app. IMO we should keep those as some people prefer having the devtools in the browser devtools pane. The electron app is also very useful to debug native environments, for example NativeScript.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.