vite-plugin-vue-devtools 0.1.0 → 0.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (35) hide show
  1. package/dist/client/assets/{IframeView.vue_vue_type_script_setup_true_lang-0449d6b9.js → IframeView.vue_vue_type_script_setup_true_lang-2e28be97.js} +21 -3
  2. package/dist/client/assets/StateFields.vue_vue_type_script_setup_true_lang-79e496d1.js +367 -0
  3. package/dist/client/assets/{VCard-29b1adce.js → VCard-7f086ce2.js} +1 -1
  4. package/dist/client/assets/{VIcon.vue_vue_type_script_setup_true_lang-f66901cc.js → VIcon.vue_vue_type_script_setup_true_lang-4e5c5629.js} +1 -1
  5. package/dist/client/assets/{VIconButton.vue_vue_type_script_setup_true_lang-d5adb3a3.js → VIconButton.vue_vue_type_script_setup_true_lang-aa76fcd1.js} +2 -2
  6. package/dist/client/assets/{VIconTitle.vue_vue_type_script_setup_true_lang-88051acd.js → VIconTitle.vue_vue_type_script_setup_true_lang-f04635a9.js} +1 -1
  7. package/dist/client/assets/{VPanelGrids-abfaa973.js → VPanelGrids-52d64f52.js} +1 -1
  8. package/dist/client/assets/{VTextInput.vue_vue_type_script_setup_true_lang-1c9578c9.js → VSectionBlock-597971e4.js} +10 -45
  9. package/dist/client/assets/VTextInput.vue_vue_type_script_setup_true_lang-a597f8b8.js +39 -0
  10. package/dist/client/assets/{__inspecting-10ac6572.js → __inspecting-d57587e1.js} +2 -2
  11. package/dist/client/assets/{assets-845f9f7f.js → assets-1330e489.js} +9 -8
  12. package/dist/client/assets/component-doc-351d62d5.css +114 -0
  13. package/dist/client/assets/component-doc-e26a9fbd.js +1692 -0
  14. package/dist/client/assets/{components-2ebcce62.js → components-9fbf887f.js} +8 -7
  15. package/dist/client/assets/{documentations-e7bc5c48.js → documentations-b3725461.js} +4 -4
  16. package/dist/client/assets/{graph-9547ed1e.js → graph-03cdd540.js} +2 -2
  17. package/dist/client/assets/{index-d015c21f.css → index-4825b66d.css} +1 -1
  18. package/dist/client/assets/{index-f0b756d9.js → index-71609956.js} +27 -19
  19. package/dist/client/assets/{index-92885597.js → index-930a3e08.js} +1 -1
  20. package/dist/client/assets/{inspect-14ec3ba4.js → inspect-0e407b47.js} +3 -3
  21. package/dist/client/assets/{npm-20e4b0ab.js → npm-16e1ac25.js} +7 -6
  22. package/dist/client/assets/{overview-4e60a278.js → overview-7c9d6d24.js} +5 -5
  23. package/dist/client/assets/{pages-c7c02f81.js → pages-e045d444.js} +5 -4
  24. package/dist/client/assets/{pinia-1020b7d8.js → pinia-979b088d.js} +6 -5
  25. package/dist/client/assets/{routes-9fac0370.js → routes-0206c13d.js} +8 -7
  26. package/dist/client/assets/{rpc-d18195f5.js → rpc-4e27506e.js} +1 -1
  27. package/dist/client/assets/{settings-d7601de4.js → settings-2660dfcc.js} +28 -6
  28. package/dist/client/assets/{splitpanes.es-af9ab4de.js → splitpanes.es-0a01f462.js} +2 -366
  29. package/dist/client/assets/{timeline-e220561d.js → timeline-7ed97430.js} +8 -7
  30. package/dist/client/index.html +2 -2
  31. package/dist/index.cjs +19 -0
  32. package/dist/index.mjs +19 -0
  33. package/package.json +4 -1
  34. package/src/node/Container.vue +54 -20
  35. /package/dist/client/assets/{VTextInput-52804693.css → VSectionBlock-52804693.css} +0 -0
package/dist/index.mjs CHANGED
@@ -23,6 +23,7 @@ import require$$0$3$1 from 'assert';
23
23
  import require$$0$5 from 'buffer';
24
24
  import { debuglog } from 'node:util';
25
25
  import require$$1 from 'tty';
26
+ import { parseComponent } from '@webfansplz/vuedoc-parser';
26
27
 
27
28
  function createRPCServer(name, ws, functions) {
28
29
  const event = `${name}:rpc`;
@@ -13645,6 +13646,22 @@ async function installPackage(packages, options = {}) {
13645
13646
  });
13646
13647
  }
13647
13648
 
13649
+ async function getVueSFCList(root) {
13650
+ const files = await fg([
13651
+ "**/*.vue"
13652
+ ], {
13653
+ cwd: root,
13654
+ onlyFiles: true,
13655
+ ignore: ["**/node_modules/**", "**/dist/**"]
13656
+ });
13657
+ return files;
13658
+ }
13659
+ async function getComponentInfo(root, filename) {
13660
+ return await parseComponent({
13661
+ filename: path$3$1.resolve(root, filename)
13662
+ });
13663
+ }
13664
+
13648
13665
  const NAME = "vite-plugin-vue-devtools";
13649
13666
  function getVueDevtoolsPath() {
13650
13667
  const pluginPath = normalizePath(path$3$1.dirname(fileURLToPath(import.meta.url)));
@@ -13669,6 +13686,8 @@ function VitePluginVueDevTools(options = { appendTo: "" }) {
13669
13686
  getImageMeta,
13670
13687
  getTextAssetContent,
13671
13688
  getPackages: () => getPackages(config.root),
13689
+ getVueSFCList: () => getVueSFCList(config.root),
13690
+ getComponentInfo: (filename) => getComponentInfo(config.root, filename),
13672
13691
  installPackage: (packages, options2 = {}) => installPackage(packages, {
13673
13692
  ...options2,
13674
13693
  cwd: config.root,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vite-plugin-vue-devtools",
3
- "version": "0.1.0",
3
+ "version": "0.1.2",
4
4
  "packageManager": "pnpm@8.4.0",
5
5
  "description": "A vite plugin for Vue Devtools",
6
6
  "author": "webfansplz",
@@ -56,12 +56,15 @@
56
56
  },
57
57
  "dependencies": {
58
58
  "@vueuse/core": "^10.1.2",
59
+ "@webfansplz/vuedoc-parser": "^0.0.1",
59
60
  "algoliasearch": "^4.17.1",
60
61
  "birpc": "^0.2.12",
61
62
  "execa": "^7.1.1",
63
+ "json-editor-vue": "^0.10.6",
62
64
  "nanoid": "^4.0.2",
63
65
  "sirv": "^2.0.3",
64
66
  "splitpanes": "^3.1.5",
67
+ "vanilla-jsoneditor": "^0.17.5",
65
68
  "vite-hot-client": "^0.2.1",
66
69
  "vite-plugin-inspect": "^0.7.28",
67
70
  "vite-plugin-vue-inspector": "^3.4.2",
@@ -378,42 +378,76 @@ onMounted(() => {
378
378
  togglePanel()
379
379
  })
380
380
  })
381
+
382
+ const toggleButtonRef = ref(null)
383
+ const modalRef = ref(null)
384
+
385
+ window.addEventListener('click', (event) => {
386
+ const modalEl = modalRef.value
387
+ const toggleButtonEl = toggleButtonRef.value
388
+ if (!modalEl || !toggleButtonEl || event.composedPath().includes(modalEl) || event.composedPath().includes(toggleButtonEl))
389
+ return
390
+ const frameState = localStorage.getItem('__vue-devtools-frame-state__')
391
+ if (frameState) {
392
+ const parsedFrameState = JSON.parse(frameState)
393
+ if (parsedFrameState.closeOnOutsideClick)
394
+ panelVisible.value = false
395
+ }
396
+ })
381
397
  </script>
382
398
 
383
399
  <template>
384
- <div class="vue-devtools-panel" :style="panelPosition">
400
+ <div ref="modalRef" class="vue-devtools-panel" :style="panelPosition">
385
401
  <!-- client -->
386
- <iframe ref="iframe" :src="clientUrl" :style="{
387
- 'pointer-events': isDragging ? 'none' : 'auto',
388
- }" @load="onLoad" />
402
+ <iframe
403
+ ref="iframe" :src="clientUrl" :style="{
404
+ 'pointer-events': isDragging ? 'none' : 'auto',
405
+ }" @load="onLoad"
406
+ />
389
407
  <!-- resize -->
390
408
  <template v-if="panelState.viewMode === 'default'">
391
409
  <template v-if="panelState.position !== 'top'">
392
410
  <div :class="resizeHorizontalClassName" :style="{ top: 0 }" @mousedown.prevent="toggleDragging('horizontal')" />
393
- <div v-if="panelState.position !== 'left'" :class="resizeCornerClassName"
394
- :style="{ top: 0, left: 0, cursor: 'nwse-resize' }" @mousedown.prevent="toggleDragging('both')" />
395
- <div v-if="panelState.position !== 'right'" :class="resizeCornerClassName"
396
- :style="{ top: 0, right: 0, cursor: 'nesw-resize' }" @mousedown.prevent="toggleDragging('both')" />
411
+ <div
412
+ v-if="panelState.position !== 'left'" :class="resizeCornerClassName"
413
+ :style="{ top: 0, left: 0, cursor: 'nwse-resize' }" @mousedown.prevent="toggleDragging('both')"
414
+ />
415
+ <div
416
+ v-if="panelState.position !== 'right'" :class="resizeCornerClassName"
417
+ :style="{ top: 0, right: 0, cursor: 'nesw-resize' }" @mousedown.prevent="toggleDragging('both')"
418
+ />
397
419
  </template>
398
420
 
399
421
  <template v-if="panelState.position !== 'bottom'">
400
- <div :class="resizeHorizontalClassName" :style="{ bottom: 0 }"
401
- @mousedown.prevent="toggleDragging('horizontal')" />
402
- <div v-if="panelState.position !== 'right'" :class="resizeCornerClassName"
403
- :style="{ bottom: 0, right: 0, cursor: 'nwse-resize' }" @mousedown.prevent="toggleDragging('both')" />
404
- <div v-if="panelState.position !== 'left'" :class="resizeCornerClassName"
405
- :style="{ bottom: 0, left: 0, cursor: 'nesw-resize' }" @mousedown.prevent="toggleDragging('both')" />
422
+ <div
423
+ :class="resizeHorizontalClassName" :style="{ bottom: 0 }"
424
+ @mousedown.prevent="toggleDragging('horizontal')"
425
+ />
426
+ <div
427
+ v-if="panelState.position !== 'right'" :class="resizeCornerClassName"
428
+ :style="{ bottom: 0, right: 0, cursor: 'nwse-resize' }" @mousedown.prevent="toggleDragging('both')"
429
+ />
430
+ <div
431
+ v-if="panelState.position !== 'left'" :class="resizeCornerClassName"
432
+ :style="{ bottom: 0, left: 0, cursor: 'nesw-resize' }" @mousedown.prevent="toggleDragging('both')"
433
+ />
406
434
  </template>
407
435
 
408
- <div v-if="panelState.position !== 'left'" :class="resizeVerticalClassName" :style="{ left: 0 }"
409
- @mousedown.prevent="toggleDragging('vertical')" />
410
- <div v-if="panelState.position !== 'right'" :class="resizeVerticalClassName" :style="{ right: 0 }"
411
- @mousedown.prevent="toggleDragging('vertical')" />
436
+ <div
437
+ v-if="panelState.position !== 'left'" :class="resizeVerticalClassName" :style="{ left: 0 }"
438
+ @mousedown.prevent="toggleDragging('vertical')"
439
+ />
440
+ <div
441
+ v-if="panelState.position !== 'right'" :class="resizeVerticalClassName" :style="{ right: 0 }"
442
+ @mousedown.prevent="toggleDragging('vertical')"
443
+ />
412
444
  </template>
413
445
  </div>
414
446
  <!-- toggle button -->
415
- <button class="vue-devtools-toggle" aria-label="Toggle devtools panel" :style="toggleButtonPosition"
416
- @click.prevent="togglePanel">
447
+ <button
448
+ ref="toggleButtonRef" class="vue-devtools-toggle" aria-label="Toggle devtools panel" :style="toggleButtonPosition"
449
+ @click.prevent="togglePanel"
450
+ >
417
451
  <svg viewBox="0 0 256 198" fill="none" xmlns="http://www.w3.org/2000/svg">
418
452
  <path fill="#41B883" d="M204.8 0H256L128 220.8L0 0h97.92L128 51.2L157.44 0h47.36Z" />
419
453
  <path fill="#41B883" d="m0 0l128 220.8L256 0h-51.2L128 132.48L50.56 0H0Z" />