@nuxt/devtools 0.2.4 → 0.3.0

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 (139) hide show
  1. package/README.md +3 -3
  2. package/dist/chunks/module-main.mjs +693 -207
  3. package/dist/chunks/plugin-metrics.mjs +54 -0
  4. package/dist/chunks/vite-inspect.mjs +12 -13
  5. package/dist/chunks/vscode.mjs +44 -26
  6. package/dist/chunks/vue-inspector.mjs +2 -2
  7. package/dist/cli.mjs +5 -4
  8. package/dist/client/200.html +2 -2
  9. package/dist/client/404.html +2 -2
  10. package/dist/client/__inspecting/index.html +2 -2
  11. package/dist/client/_nuxt/Badge.0f8d5f6f.js +1 -0
  12. package/dist/client/_nuxt/DrawerRight.vue.6b933252.js +1 -0
  13. package/dist/client/_nuxt/DurationDisplay.vue.5c57289e.js +1 -0
  14. package/dist/client/_nuxt/FilepathItem.vue.e8c3a52c.js +1 -0
  15. package/dist/client/_nuxt/LaunchPage.vue.87f21877.js +1 -0
  16. package/dist/client/_nuxt/NCheckbox.vue.4b9ea1cc.js +1 -0
  17. package/dist/client/_nuxt/NCodeBlock.vue.431c1fae.js +1 -0
  18. package/dist/client/_nuxt/NIconButton.vue.9bdc7adc.js +1 -0
  19. package/dist/client/_nuxt/NIconTitle.vue.f40c1405.js +1 -0
  20. package/dist/client/_nuxt/NMarkdown.vue.725d1f67.js +1 -0
  21. package/dist/client/_nuxt/NSectionBlock.aae79980.js +1 -0
  22. package/dist/client/_nuxt/NSelect.vue.b136ef78.js +1 -0
  23. package/dist/client/_nuxt/NSwitch.vue.73a2b8d5.js +1 -0
  24. package/dist/client/_nuxt/NTextInput.vue.543d16d0.js +1 -0
  25. package/dist/client/_nuxt/NTip.vue.130b714b.js +1 -0
  26. package/dist/client/_nuxt/NpmVersionCheck.vue.b49a7a81.js +1 -0
  27. package/dist/client/_nuxt/NuxtLogo.18339464.js +1 -0
  28. package/dist/client/_nuxt/PanelLeftRight.vue.b026a23a.js +1 -0
  29. package/dist/client/_nuxt/StateEditor.vue.dae03388.js +1 -0
  30. package/dist/client/_nuxt/TabIcon.vue.d87fc756.js +1 -0
  31. package/dist/client/_nuxt/{__inspecting.3eb70499.js → __inspecting.9a5a53c2.js} +1 -1
  32. package/dist/client/_nuxt/assets.a9e5a6b0.js +16 -0
  33. package/dist/client/_nuxt/components.70b3c3a4.js +1 -0
  34. package/dist/client/_nuxt/context.c8f67be1.js +1 -0
  35. package/dist/client/_nuxt/custom-_name_.54344ca3.js +1 -0
  36. package/dist/client/_nuxt/default.a8c4c373.js +1 -0
  37. package/dist/client/_nuxt/editor.e302ec86.js +1 -0
  38. package/dist/client/_nuxt/entry.654353dc.css +32 -0
  39. package/dist/client/_nuxt/entry.91db41b9.js +259 -0
  40. package/dist/client/_nuxt/error-404.6d04f9a0.js +1 -0
  41. package/dist/client/_nuxt/error-500.44287dc0.js +1 -0
  42. package/dist/client/_nuxt/error-component.a0e84e89.js +3 -0
  43. package/dist/client/_nuxt/hooks.784bc58b.js +1 -0
  44. package/dist/client/_nuxt/icons.43eaabec.js +1 -0
  45. package/dist/client/_nuxt/imports.2e67f433.js +1 -0
  46. package/dist/client/_nuxt/{index.a6656ecb.js → index.3b3b7aca.js} +5 -5
  47. package/dist/client/_nuxt/index.4213289c.js +1 -0
  48. package/dist/client/_nuxt/index.c769634a.js +3 -0
  49. package/dist/client/_nuxt/layouts.3ece608d.js +1 -0
  50. package/dist/client/_nuxt/middleware.c0b48cbf.js +1 -0
  51. package/dist/client/_nuxt/modules.b85b1f76.js +1 -0
  52. package/dist/client/_nuxt/none.d95ed4cd.js +1 -0
  53. package/dist/client/_nuxt/overview.c2dfff9d.js +1 -0
  54. package/dist/client/_nuxt/pages.c8f066b4.js +1 -0
  55. package/dist/client/_nuxt/payload.299d8527.js +1 -0
  56. package/dist/client/_nuxt/plugins.4b3cd1e3.js +1 -0
  57. package/dist/client/_nuxt/runtime-configs.0f55338b.js +1 -0
  58. package/dist/client/_nuxt/server-routes.e48a8508.js +1 -0
  59. package/dist/client/_nuxt/settings.b70bc182.js +1 -0
  60. package/dist/client/_nuxt/storage.adf41f3f.js +1 -0
  61. package/dist/client/_nuxt/terminals.2f58f3e7.js +1 -0
  62. package/dist/client/_nuxt/terminals.4329aeb9.css +1 -0
  63. package/dist/client/_nuxt/{unocss-runtime.6f823b2d.js → unocss-runtime.f654b492.js} +2 -2
  64. package/dist/client/_nuxt/virtual-files.dbe38c70.js +1 -0
  65. package/dist/client/index.html +2 -2
  66. package/dist/client/modules/assets/index.html +7 -0
  67. package/dist/client/modules/components/index.html +2 -2
  68. package/dist/client/modules/hooks/index.html +2 -2
  69. package/dist/client/modules/imports/index.html +2 -2
  70. package/dist/client/modules/layouts/index.html +2 -2
  71. package/dist/client/modules/middleware/index.html +2 -2
  72. package/dist/client/modules/modules/index.html +2 -2
  73. package/dist/client/modules/overview/index.html +2 -2
  74. package/dist/client/modules/pages/index.html +2 -2
  75. package/dist/client/modules/payload/index.html +2 -2
  76. package/dist/client/modules/plugins/index.html +2 -2
  77. package/dist/client/modules/runtime-configs/index.html +2 -2
  78. package/dist/client/modules/server-routes/index.html +2 -2
  79. package/dist/client/modules/storage/index.html +7 -0
  80. package/dist/client/modules/terminals/index.html +7 -0
  81. package/dist/client/modules/virtual-files/index.html +2 -2
  82. package/dist/client/settings/index.html +7 -0
  83. package/dist/dirs.mjs +2 -2
  84. package/dist/module.d.ts +3 -31
  85. package/dist/module.json +1 -1
  86. package/dist/module.mjs +2 -2
  87. package/dist/runtime/plugins/devtools.client.mjs +7 -1
  88. package/dist/shared/{devtools.b6178134.mjs → devtools.30090c6e.mjs} +1 -1
  89. package/dist/types.d.ts +5 -326
  90. package/dist/types.mjs +1 -1
  91. package/package.json +38 -37
  92. package/dist/client/_nuxt/Badge.35e3d75f.js +0 -1
  93. package/dist/client/_nuxt/FilepathItem.vue.70457130.js +0 -1
  94. package/dist/client/_nuxt/LaunchPage.vue.15ef3f8b.js +0 -1
  95. package/dist/client/_nuxt/NButton.a7fda268.css +0 -1
  96. package/dist/client/_nuxt/NButton.vue.1aeb67fb.js +0 -113
  97. package/dist/client/_nuxt/NCheckbox.vue.7252d00f.js +0 -1
  98. package/dist/client/_nuxt/NIcon.vue.6416325d.js +0 -1
  99. package/dist/client/_nuxt/NSectionBlock.7c35c1a8.js +0 -1
  100. package/dist/client/_nuxt/NSectionBlock.891fa081.css +0 -1
  101. package/dist/client/_nuxt/NTextInput.vue.0fd513ee.js +0 -1
  102. package/dist/client/_nuxt/NuxtLogo.3b286105.js +0 -1
  103. package/dist/client/_nuxt/StateEditor.ce27b0a9.css +0 -1
  104. package/dist/client/_nuxt/StateEditor.vue.4b3d62c1.js +0 -1
  105. package/dist/client/_nuxt/StateEditor.vue.b4b0d299.js +0 -137
  106. package/dist/client/_nuxt/TabIcon.vue.dd710d5f.js +0 -1
  107. package/dist/client/_nuxt/_plugin-vue_export-helper.c27b6911.js +0 -1
  108. package/dist/client/_nuxt/asyncData.f4eab2cf.js +0 -1
  109. package/dist/client/_nuxt/components.b8fa7f92.js +0 -1
  110. package/dist/client/_nuxt/composables.8ff5f6b6.js +0 -1
  111. package/dist/client/_nuxt/context.c1f50e17.js +0 -1
  112. package/dist/client/_nuxt/custom-_name_.681ffd04.js +0 -1
  113. package/dist/client/_nuxt/default.2963fb37.js +0 -1
  114. package/dist/client/_nuxt/editor.b5249ede.js +0 -1
  115. package/dist/client/_nuxt/entry.27ee4abf.css +0 -1
  116. package/dist/client/_nuxt/entry.53ee6248.js +0 -5
  117. package/dist/client/_nuxt/error-404.4d908286.js +0 -1
  118. package/dist/client/_nuxt/error-500.e65c4924.js +0 -1
  119. package/dist/client/_nuxt/error-component.1a84e289.js +0 -3
  120. package/dist/client/_nuxt/hooks.b85de4f3.js +0 -1
  121. package/dist/client/_nuxt/icons.7b11eba5.js +0 -1
  122. package/dist/client/_nuxt/imports.48d7ddd5.js +0 -1
  123. package/dist/client/_nuxt/index.747f17a4.js +0 -1
  124. package/dist/client/_nuxt/layouts.8029422d.js +0 -1
  125. package/dist/client/_nuxt/middleware.671f87b6.js +0 -1
  126. package/dist/client/_nuxt/modules.56768ce2.js +0 -1
  127. package/dist/client/_nuxt/none.fa32461d.js +0 -1
  128. package/dist/client/_nuxt/nuxt-link.bdfe480b.js +0 -1
  129. package/dist/client/_nuxt/overview.71ae3521.js +0 -1
  130. package/dist/client/_nuxt/pages.611146bd.js +0 -1
  131. package/dist/client/_nuxt/payload.e24f2347.js +0 -1
  132. package/dist/client/_nuxt/plugins.a24c21cb.js +0 -1
  133. package/dist/client/_nuxt/runtime-configs.9225ca28.js +0 -1
  134. package/dist/client/_nuxt/server-routes.7c4496d9.js +0 -1
  135. package/dist/client/_nuxt/state.647f0c35.js +0 -1
  136. package/dist/client/_nuxt/virtual-files.33ac3fab.js +0 -9
  137. package/dist/iframe-client.d.ts +0 -13
  138. package/dist/iframe-client.mjs +0 -30
  139. package/iframe-client.d.ts +0 -1
package/dist/types.d.ts CHANGED
@@ -1,285 +1,5 @@
1
- import { Nuxt, NuxtOptions, Component, NuxtPage, NuxtLayout, AppConfig } from 'nuxt/schema';
2
- import { Import, UnimportMeta } from 'unimport';
3
- import { NuxtApp } from 'nuxt/dist/app/nuxt';
4
- import { RouteRecordNormalized } from 'vue-router';
5
- import { VueInspectorClient } from 'vite-plugin-vue-inspector';
6
- import { Hookable } from 'hookable';
7
- import { BirpcReturn } from 'birpc';
8
- import { VNode } from 'vue';
1
+ export * from '@nuxt/devtools-kit/types';
9
2
 
10
- declare function enablePages(nuxt: Nuxt): Promise<void>;
11
-
12
- declare const wizard: {
13
- enablePages: typeof enablePages;
14
- };
15
- type Wizard = typeof wizard;
16
- type WizardActions = keyof Wizard;
17
- type WizardArgs<T extends WizardActions> = Wizard[T] extends (nuxt: any, ...args: infer A) => any ? A : never;
18
-
19
- interface ModuleOptions {
20
- /**
21
- * Enable DevTools
22
- *
23
- * @default true
24
- */
25
- enabled?: boolean;
26
- /**
27
- * VS Code Server integration options.
28
- */
29
- vscode?: VSCodeIntegrationOptions;
30
- /**
31
- * Enable Vue Component Inspector
32
- *
33
- * @default true
34
- */
35
- componentInspector?: boolean;
36
- /**
37
- * Enable vite-plugin-inspect
38
- *
39
- * @default true
40
- */
41
- viteInspect?: boolean;
42
- }
43
- interface ModuleGlobalOptions {
44
- /**
45
- * List of projects to enable devtools for. Only works when devtools is installed globally.
46
- */
47
- projects?: string[];
48
- }
49
- interface ServerFunctions {
50
- getServerConfig(): NuxtOptions;
51
- getComponents(): Component[];
52
- getComponentsRelationships(): Promise<ComponentRelationship[]>;
53
- getAutoImports(): AutoImportsWithMetadata;
54
- getServerPages(): NuxtPage[];
55
- getCustomTabs(): ModuleCustomTab[];
56
- getServerHooks(): HookInfo[];
57
- getServerLayouts(): NuxtLayout[];
58
- usePackageVersions(): UpdateInfo[];
59
- customTabAction(name: string, action: number): Promise<boolean>;
60
- runWizard<T extends WizardActions>(name: T, ...args: WizardArgs<T>): Promise<void>;
61
- openInEditor(filepath: string): void;
62
- }
63
- interface UpdateInfo {
64
- name: string;
65
- current: string;
66
- latest?: string;
67
- needsUpdate?: boolean;
68
- }
69
- interface AutoImportsWithMetadata {
70
- imports: Import[];
71
- metadata?: UnimportMeta;
72
- }
73
- type ClientUpdateEvent = keyof ServerFunctions;
74
- interface ClientFunctions {
75
- refresh(event: ClientUpdateEvent): void;
76
- }
77
- interface RouteInfo extends Pick<RouteRecordNormalized, 'name' | 'path' | 'meta' | 'props' | 'children'> {
78
- file?: string;
79
- }
80
- interface Payload {
81
- url: string;
82
- time: number;
83
- data?: Record<string, any>;
84
- state?: Record<string, any>;
85
- functions?: Record<string, any>;
86
- }
87
- interface BasicModuleInfo {
88
- entryPath?: string;
89
- meta?: {
90
- name?: string;
91
- };
92
- }
93
- interface ModuleMetric {
94
- name: string;
95
- description: string;
96
- repo: string;
97
- npm: string;
98
- icon?: string;
99
- github: string;
100
- website: string;
101
- learn_more: string;
102
- category: string;
103
- type: ModuleType;
104
- maintainers: MaintainerInfo[];
105
- contributors: GitHubContributor[];
106
- compatibility: ModuleCompatibility;
107
- }
108
- interface ModuleCompatibility {
109
- nuxt: string;
110
- requires: {
111
- bridge?: boolean | 'optional';
112
- };
113
- }
114
- type CompatibilityStatus = 'working' | 'wip' | 'unknown' | 'not-working';
115
- type ModuleType = 'community' | 'official' | '3rd-party';
116
- interface MaintainerInfo {
117
- name: string;
118
- github: string;
119
- twitter?: string;
120
- }
121
- interface GitHubContributor {
122
- login: string;
123
- name?: string;
124
- avatar_url?: string;
125
- }
126
- interface ModuleCustomTab {
127
- /**
128
- * The name of the tab, must be unique
129
- */
130
- name: string;
131
- /**
132
- * Icon of the tab, support any Iconify icons, or a url to an image
133
- */
134
- icon?: string;
135
- /**
136
- * Title of the tab
137
- */
138
- title: string;
139
- /**
140
- * Main view of the tab
141
- */
142
- view: ModuleView;
143
- /**
144
- * Insert static vnode to the tab entry
145
- *
146
- * Advanced options. You don't usually need this.
147
- */
148
- extraTabVNode?: VNode;
149
- }
150
- interface ModuleLaunchView {
151
- /**
152
- * A view for module to lazy launch some actions
153
- */
154
- type: 'launch';
155
- title?: string;
156
- icon?: string;
157
- description: string;
158
- /**
159
- * Action buttons
160
- */
161
- actions: ModuleLaunchAction[];
162
- }
163
- interface ModuleIframeView {
164
- /**
165
- * Iframe view
166
- */
167
- type: 'iframe';
168
- /**
169
- * Url of the iframe
170
- */
171
- src: string;
172
- /**
173
- * Persist the iframe instance even if the tab is not active
174
- *
175
- * @default true
176
- */
177
- persistent?: boolean;
178
- }
179
- interface ModuleVNodeView {
180
- /**
181
- * Vue's VNode view
182
- */
183
- type: 'vnode';
184
- /**
185
- * Send vnode to the client, they must be static and serializable
186
- *
187
- * Call `nuxt.hook('devtools:customTabs:refresh')` to trigger manual refresh
188
- */
189
- vnode: VNode;
190
- }
191
- interface ModuleLaunchAction {
192
- /**
193
- * Label of the action button
194
- */
195
- label: string;
196
- /**
197
- * Additional HTML attributes to the action button
198
- */
199
- attrs?: Record<string, string>;
200
- /**
201
- * Indicate if the action is pending, will show a loading indicator and disable the button
202
- */
203
- pending?: boolean;
204
- /**
205
- * Function to handle the action, this is executed on the server side.
206
- * Will automatically refresh the tabs after the action is resolved.
207
- */
208
- handle?: () => void | Promise<void>;
209
- /**
210
- * Treat the action as a link, will open the link in a new tab
211
- */
212
- src?: string;
213
- }
214
- type ModuleView = ModuleIframeView | ModuleLaunchView | ModuleVNodeView;
215
- interface ModuleIframeTabLazyOptions {
216
- description?: string;
217
- onLoad?: () => Promise<void>;
218
- }
219
- interface ModuleBuiltinTab {
220
- name: string;
221
- icon?: string;
222
- title?: string;
223
- path?: string;
224
- requireClient?: boolean;
225
- }
226
- type ModuleTabInfo = ModuleCustomTab | ModuleBuiltinTab;
227
- interface HookInfo {
228
- name: string;
229
- start: number;
230
- end?: number;
231
- duration?: number;
232
- listeners: number;
233
- executions: number[];
234
- }
235
- type VueInspectorData = VueInspectorClient['linkParams'] & VueInspectorClient['position'];
236
- interface NuxtDevtoolsClientHooks {
237
- /**
238
- * When the devtools navigates, used for persisting the current tab
239
- */
240
- 'devtools:navigate': (path: string) => void;
241
- /**
242
- * Event emitted when the component inspector is updated
243
- */
244
- 'host:inspector:update': (data: VueInspectorData) => void;
245
- /**
246
- * Event emitted when the component inspector is clicked
247
- */
248
- 'host:inspector:click': (baseUrl: string, file: string, line: number, column: number) => void;
249
- /**
250
- * Event to close the component inspector
251
- */
252
- 'host:inspector:close': () => void;
253
- /**
254
- * Triggers reactivity manually, since Vue won't be reactive across frames)
255
- */
256
- 'host:update:reactivity': () => void;
257
- }
258
- /**
259
- * Host client from the App
260
- */
261
- interface NuxtDevtoolsHostClient {
262
- nuxt: NuxtApp;
263
- appConfig: AppConfig;
264
- hooks: Hookable<NuxtDevtoolsClientHooks>;
265
- inspector?: {
266
- instance?: VueInspectorClient;
267
- enable: () => void;
268
- disable: () => void;
269
- };
270
- getClientHooksMetrics(): HookInfo[];
271
- closeDevTools(): void;
272
- }
273
- interface NuxtDevtoolsClient {
274
- rpc: BirpcReturn<ServerFunctions>;
275
- }
276
- interface NuxtDevtoolsIframeClient {
277
- host: NuxtDevtoolsHostClient;
278
- devtools: NuxtDevtoolsClient;
279
- }
280
- interface NuxtDevtoolsGlobal {
281
- setClient(client: NuxtDevtoolsHostClient): void;
282
- }
283
3
  interface DevToolsFrameState {
284
4
  width: number;
285
5
  height: number;
@@ -296,50 +16,9 @@ interface DevToolsUISettings {
296
16
  componentsGraphShowLayouts: boolean;
297
17
  componentsGraphShowWorkspace: boolean;
298
18
  interactionCloseOnOutsideClick: boolean;
299
- }
300
- interface ComponentRelationship {
301
- id: string;
302
- deps: string[];
303
- }
304
- interface VSCodeIntegrationOptions {
305
- /**
306
- * Enable VS Code Server integration
307
- */
308
- enabled?: boolean;
309
- /**
310
- * Start VS Code Server on boot
311
- *
312
- * @default false
313
- */
314
- startOnBoot?: boolean;
315
- /**
316
- * Port to start VS Code Server
317
- *
318
- * @default 3080
319
- */
320
- port?: number;
321
- /**
322
- * Reuse existing server if available (same port)
323
- */
324
- reuseExistingServer?: boolean;
325
- /**
326
- * Determine whether to use code-server or vs code tunnel
327
- *
328
- * @default 'local-serve'
329
- */
330
- mode?: 'local-serve' | 'tunnel';
331
- /**
332
- * Options for VS Code tunnel
333
- */
334
- tunnel?: VSCodeTunnelOptions;
335
- }
336
- interface VSCodeTunnelOptions {
337
- /**
338
- * the machine name for port forwarding service
339
- *
340
- * default: device hostname
341
- */
342
- name?: string;
19
+ showExperimentalFeatures: boolean;
20
+ scale: number;
21
+ hiddenTabs: string[];
343
22
  }
344
23
 
345
- export { AutoImportsWithMetadata, BasicModuleInfo, ClientFunctions, ClientUpdateEvent, CompatibilityStatus, ComponentRelationship, DevToolsFrameState, DevToolsUISettings, GitHubContributor, HookInfo, MaintainerInfo, ModuleBuiltinTab, ModuleCompatibility, ModuleCustomTab, ModuleGlobalOptions, ModuleIframeTabLazyOptions, ModuleIframeView, ModuleLaunchAction, ModuleLaunchView, ModuleMetric, ModuleOptions, ModuleTabInfo, ModuleType, ModuleVNodeView, ModuleView, NuxtDevtoolsClient, NuxtDevtoolsClientHooks, NuxtDevtoolsGlobal, NuxtDevtoolsHostClient, NuxtDevtoolsIframeClient, Payload, RouteInfo, ServerFunctions, UpdateInfo, VSCodeIntegrationOptions, VSCodeTunnelOptions, VueInspectorData };
24
+ export { DevToolsFrameState, DevToolsUISettings };
package/dist/types.mjs CHANGED
@@ -1 +1 @@
1
-
1
+ export * from '@nuxt/devtools-kit/types';
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@nuxt/devtools",
3
3
  "type": "module",
4
- "version": "0.2.4",
4
+ "version": "0.3.0",
5
5
  "license": "MIT",
6
6
  "repository": "nuxt/devtools",
7
7
  "exports": {
@@ -14,10 +14,6 @@
14
14
  "types": "./dist/types.d.ts",
15
15
  "import": "./dist/types.mjs"
16
16
  },
17
- "./iframe-client": {
18
- "types": "./dist/iframe-client.d.ts",
19
- "import": "./dist/iframe-client.mjs"
20
- },
21
17
  "./*": "./*"
22
18
  },
23
19
  "main": "./module.cjs",
@@ -29,43 +25,43 @@
29
25
  "*.cjs",
30
26
  "*.mjs"
31
27
  ],
32
- "workspaces": [
33
- "client"
34
- ],
35
28
  "peerDependencies": {
36
- "nuxt": "^3.2.2",
29
+ "nuxt": "^3.3.1",
37
30
  "vite": "*"
38
31
  },
39
32
  "dependencies": {
40
- "@antfu/install-pkg": "^0.1.1",
41
- "@nuxt/kit": "^3.2.2",
42
- "birpc": "^0.2.4",
33
+ "@nuxt/kit": "^3.3.1",
34
+ "birpc": "^0.2.10",
43
35
  "consola": "^2.15.3",
44
- "execa": "^7.0.0",
45
- "h3": "^1.5.0",
46
- "hookable": "^5.4.2",
36
+ "execa": "^7.1.1",
37
+ "fast-glob": "^3.2.12",
38
+ "h3": "^1.6.2",
39
+ "hookable": "^5.5.1",
40
+ "image-meta": "^0.1.1",
47
41
  "is-installed-globally": "^0.4.0",
48
42
  "launch-editor": "^2.6.0",
43
+ "local-pkg": "^0.4.3",
49
44
  "pacote": "^15.1.1",
50
45
  "pathe": "^1.1.0",
51
46
  "pkg-types": "^1.0.2",
52
47
  "rc9": "^2.0.1",
53
- "unimport": "^2.2.4",
54
- "vite-plugin-inspect": "^0.7.15",
55
- "vite-plugin-vue-inspector": "^3.3.2"
48
+ "unimport": "^3.0.3",
49
+ "vite-plugin-inspect": "^0.7.18",
50
+ "vite-plugin-vue-inspector": "^3.4.0",
51
+ "@nuxt/devtools-kit": "0.3.0"
56
52
  },
57
53
  "devDependencies": {
58
54
  "@antfu/utils": "^0.7.2",
59
- "@iconify-json/carbon": "^1.1.15",
55
+ "@iconify-json/carbon": "^1.1.16",
60
56
  "@iconify-json/logos": "^1.1.23",
61
- "@iconify-json/mdi": "^1.1.47",
57
+ "@iconify-json/mdi": "^1.1.50",
62
58
  "@iconify-json/ri": "^1.1.5",
63
- "@iconify-json/tabler": "^1.1.61",
59
+ "@iconify-json/tabler": "^1.1.68",
64
60
  "@nuxtjs/color-mode": "^3.2.0",
65
- "@unocss/nuxt": "^0.50.0",
66
- "@unocss/preset-icons": "^0.50.0",
67
- "@unocss/preset-uno": "^0.50.0",
68
- "@unocss/runtime": "^0.50.0",
61
+ "@unocss/nuxt": "^0.50.6",
62
+ "@unocss/preset-icons": "^0.50.6",
63
+ "@unocss/preset-uno": "^0.50.6",
64
+ "@unocss/runtime": "^0.50.6",
69
65
  "@vueuse/nuxt": "^9.13.0",
70
66
  "esno": "^0.16.3",
71
67
  "flatted": "^3.2.7",
@@ -75,30 +71,35 @@
75
71
  "global-dirs": "^3.0.1",
76
72
  "json-editor-vue": "^0.10.5",
77
73
  "markdown-it": "^13.0.1",
78
- "nuxt": "^3.2.2",
79
- "nuxt-vitest": "^0.6.6",
74
+ "nanoid": "^4.0.1",
75
+ "nuxt": "^3.3.1",
76
+ "nuxt-vitest": "^0.6.9",
77
+ "nypm": "^0.1.0",
80
78
  "ofetch": "^1.0.1",
79
+ "ohash": "^1.0.0",
81
80
  "picocolors": "^1.0.0",
82
81
  "semver": "^7.3.8",
83
82
  "shiki": "^0.14.1",
84
83
  "shiki-es": "^0.2.0",
85
84
  "sirv": "^2.0.2",
86
85
  "splitpanes": "^3.1.5",
87
- "theme-vitesse": "^0.6.2",
86
+ "theme-vitesse": "^0.6.4",
88
87
  "tinyws": "^0.1.0",
89
- "unocss": "^0.50.0",
90
- "vanilla-jsoneditor": "^0.14.9",
91
- "vis-data": "^7.1.4",
92
- "vis-network": "^9.1.2",
93
- "vue-tsc": "^1.1.7",
88
+ "unocss": "^0.50.6",
89
+ "vanilla-jsoneditor": "^0.16.0",
90
+ "vis-data": "^7.1.5",
91
+ "vis-network": "^9.1.5",
92
+ "vue-template-promise": "^0.1.1",
93
+ "vue-tsc": "^1.2.0",
94
94
  "wait-on": "^7.0.1",
95
95
  "which": "^3.0.0",
96
- "ws": "^8.12.1",
97
- "@nuxt/devtools": "0.2.4",
98
- "@nuxt/devtools-ui-kit": "0.2.4"
96
+ "ws": "^8.13.0",
97
+ "xterm": "^5.1.0",
98
+ "xterm-addon-fit": "^0.7.0",
99
+ "@nuxt/devtools": "0.3.0"
99
100
  },
100
101
  "scripts": {
101
- "build": "pnpm dev:prepare && pnpm build:module && pnpm build:client && cp ../../README.md .",
102
+ "build": "pnpm dev:prepare && pnpm build:module && pnpm build:client && esno scripts/prepare.ts",
102
103
  "build:client": "nuxi generate client",
103
104
  "build:module": "nuxt-build-module",
104
105
  "dev": "nuxi dev client",
@@ -1 +0,0 @@
1
- import{_ as o}from"./_plugin-vue_export-helper.c27b6911.js";import{o as t,f as n,r}from"./entry.53ee6248.js";const s={},c={class:"text-12px whitespace-nowrap px-1.5 py-0.5 mx-0.5 rounded"};function _(e,a){return t(),n("span",c,[r(e.$slots,"default")])}const m=o(s,[["render",_]]);export{m as _};
@@ -1 +0,0 @@
1
- import{a as p,k as s}from"./state.647f0c35.js";import{o as l}from"./editor.b5249ede.js";import{a as f,l as m,o as u,f as h,t as c,u as a}from"./entry.53ee6248.js";const E=f({__name:"FilepathItem",props:{filepath:null},setup(e){const o=e,t=p(),i=m(()=>o.filepath&&t.value?s(o.filepath,t.value.rootDir):o.filepath);return(n,r)=>(u(),h("button",{"font-mono":"","hover:underline":"","ws-nowrap":"","of-hidden":"",onClick:r[0]||(r[0]=d=>("openInEditor"in n?n.openInEditor:a(l))(e.filepath))},c(a(i)),1))}});export{E as _};
@@ -1 +0,0 @@
1
- import{_}from"./TabIcon.vue.dd710d5f.js";import{_ as f}from"./NIcon.vue.6416325d.js";import{r as k,_ as p}from"./NButton.vue.1aeb67fb.js";import{a as h,f as a,i as b,h as i,t as s,u as g,m as c,F as x,z as w,o as n,c as l,w as y,k as N,X as B}from"./entry.53ee6248.js";const C={flex:"~ col gap2","h-full":"","items-center":"","justify-center":""},M={"text-xl":""},v=["innerHTML"],L={flex:"~ gap2 wrap"},I=h({__name:"LaunchPage",props:{icon:null,title:null,description:null,actions:null},emits:["action"],setup(e){return(o,T)=>{const d=_,m=f,u=p;return n(),a("div",C,[b(d,{"text-5xl":"",mb4:"",icon:e.icon||e.icon,title:e.title},null,8,["icon","title"]),i("h1",M,s(e.title),1),e.description?(n(),a("div",{key:0,op50:"","text-center":"","text-base":"","mt--1":"",mb2:"",class:"markdown-body",innerHTML:("renderMarkdown"in o?o.renderMarkdown:g(k))(e.description)},null,8,v)):c("",!0),i("div",L,[(n(!0),a(x,null,w(e.actions,(t,r)=>(n(),l(u,B({key:r,n:"solid primary",disabled:t.pending,to:t.src,target:t.src?"_blank":void 0},t.attrs,{onClick:()=>{t.handle?.(),o.$emit("action",r)}}),{default:y(()=>[t.pending?(n(),l(m,{key:0,icon:"carbon-circle-dash","animate-spin":""})):c("",!0),N(" "+s(t.label),1)]),_:2},1040,["disabled","to","target","onClick"]))),128))])])}}});export{I as _};
@@ -1 +0,0 @@
1
- @media (prefers-color-scheme:light){.get-started-gradient-border[data-v-1d757ef3]{background:linear-gradient(90deg,#fff,#fff),linear-gradient(90deg,#00dc82,#1de0b1,#36e4da)}.gradient-border-modules[data-v-1d757ef3]{background:linear-gradient(var(--gradient-angle),#f7d14c,rgba(247,209,76,.6),hsla(0,0%,100%,.8),#f7d14c)}.gradient-border-examples[data-v-1d757ef3]{background:linear-gradient(var(--gradient-angle),#8deaff,rgba(141,234,255,.6),hsla(0,0%,100%,.8),#8deaff)}.gradient-border-documentation[data-v-1d757ef3]{background:linear-gradient(var(--gradient-angle),#00dc82,rgba(0,220,130,.6),hsla(0,0%,100%,.8),#00dc82)}}@media (prefers-color-scheme:dark){.get-started-gradient-border[data-v-1d757ef3]{background:linear-gradient(90deg,#18181b,#18181b),linear-gradient(90deg,#00dc82,#1de0b1,#36e4da)}.gradient-border-modules[data-v-1d757ef3]{background:linear-gradient(var(--gradient-angle),#f7d14c,#a38108,hsla(0,0%,100%,.3),#a38108)}.gradient-border-examples[data-v-1d757ef3]{background:linear-gradient(var(--gradient-angle),#8deaff,#008aa9,hsla(0,0%,100%,.3),#008aa9)}.gradient-border-documentation[data-v-1d757ef3]{background:linear-gradient(var(--gradient-angle),#00dc82,#003f25,hsla(0,0%,100%,.2),#003f25)}}.get-started-gradient-border[data-v-1d757ef3]{background-clip:padding-box,border-box;background-origin:padding-box,border-box;border-color:transparent;border-radius:12px;border-width:1px}.get-started-gradient-border[data-v-1d757ef3]:hover>:is(.get-started-gradient-left,.get-started-gradient-right){opacity:.2}.get-started-gradient-left[data-v-1d757ef3],.get-started-gradient-right[data-v-1d757ef3]{opacity:0}.gradient-border[data-v-1d757ef3]{border-radius:12px;left:0;opacity:0;position:absolute;top:0;transform:translate(-1px,-1px);width:calc(100% + 2px);z-index:-1}.gradient-border-rect[data-v-1d757ef3]{height:calc(100% + 2px)}@media (min-width:1024px){.gradient-border-rect[data-v-1d757ef3]{height:calc(100% + 1px)}}.gradient-border-square[data-v-1d757ef3]{height:calc(100% + 2px)}.modules-gradient-right[data-v-1d757ef3]{opacity:0}.documentation-container:hover>.gradient-border[data-v-1d757ef3],.examples-container:hover>.gradient-border[data-v-1d757ef3],.modules-container:hover>.gradient-border[data-v-1d757ef3]{animation:gradient-rotate 5s linear 0s infinite reverse;opacity:1;transition:all .3s linear}.modules-container:hover>.modules-gradient-right[data-v-1d757ef3]{opacity:.2}.examples-container:hover>.examples-gradient-right[data-v-1d757ef3]{opacity:.2}.examples-gradient-right[data-v-1d757ef3]{opacity:0}.documentation-image-color-dark[data-v-1d757ef3],.documentation-image-color-light[data-v-1d757ef3],.modules-image-color-dark[data-v-1d757ef3],.modules-image-color-light[data-v-1d757ef3],.examples-image-color-dark[data-v-1d757ef3],.examples-image-color-light[data-v-1d757ef3]{display:none}@media (prefers-color-scheme:light){.modules-image-light[data-v-1d757ef3]{display:block}.modules-image-dark[data-v-1d757ef3]{display:none}.modules-container:hover>a>.modules-image-light[data-v-1d757ef3]{display:none}.modules-container:hover>a>.modules-image-color-light[data-v-1d757ef3]{display:block}.examples-image-light[data-v-1d757ef3]{display:block}.examples-image-dark[data-v-1d757ef3]{display:none}.examples-container:hover>a>.examples-image-light[data-v-1d757ef3]{display:none}.examples-container:hover>a>.examples-image-color-light[data-v-1d757ef3]{display:block}.documentation-image-light[data-v-1d757ef3]{display:block}.documentation-image-dark[data-v-1d757ef3]{display:none}.documentation-container:hover>a>div>.documentation-image-light[data-v-1d757ef3]{display:none}.documentation-container:hover>a>div>.documentation-image-color-light[data-v-1d757ef3]{display:block}}@media (prefers-color-scheme:dark){.modules-image-dark[data-v-1d757ef3]{display:block}.modules-image-light[data-v-1d757ef3]{display:none}.modules-container:hover>a>.modules-image-color-dark[data-v-1d757ef3]{display:block}.modules-container:hover>a>.modules-image-dark[data-v-1d757ef3]{display:none}.examples-image-dark[data-v-1d757ef3]{display:block}.examples-image-light[data-v-1d757ef3]{display:none}.examples-container:hover>a>.examples-image-color-dark[data-v-1d757ef3]{display:block}.examples-container:hover>a>.examples-image-dark[data-v-1d757ef3]{display:none}.documentation-image-dark[data-v-1d757ef3]{display:block}.documentation-image-light[data-v-1d757ef3]{display:none}.documentation-container:hover>a>div>.documentation-image-color-dark[data-v-1d757ef3]{display:block}.documentation-container:hover>a>div>.documentation-image-dark[data-v-1d757ef3]{display:none}}.bg-white[data-v-1d757ef3]{--tw-bg-opacity:1;background-color:rgba(255,255,255,var(--tw-bg-opacity))}.bg-gray-100[data-v-1d757ef3]{--tw-bg-opacity:1;background-color:rgba(238,238,238,var(--tw-bg-opacity))}.bg-gradient-to-r[data-v-1d757ef3]{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.bg-gradient-to-l[data-v-1d757ef3]{background-image:linear-gradient(to left,var(--tw-gradient-stops))}.from-green-400[data-v-1d757ef3]{--tw-gradient-from:rgba(55, 233, 144, var(--tw-from-opacity, 1));--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, hsla(0,0%,100%,0))}.from-blue-400[data-v-1d757ef3]{--tw-gradient-from:rgba(56, 189, 248, var(--tw-from-opacity, 1));--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, hsla(0,0%,100%,0))}.from-yellow-400[data-v-1d757ef3]{--tw-gradient-from:rgba(251, 191, 36, var(--tw-from-opacity, 1));--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to, hsla(0,0%,100%,0))}.to-transparent[data-v-1d757ef3]{--tw-gradient-to:transparent}.border-gray-200[data-v-1d757ef3]{--tw-border-opacity:1;border-color:rgba(224,224,224,var(--tw-border-opacity))}.hover\:border-transparent[data-v-1d757ef3]:hover{border-color:transparent}.rounded-xl[data-v-1d757ef3]{border-radius:.75rem}.rounded[data-v-1d757ef3]{border-radius:.25rem}.border[data-v-1d757ef3]{border-width:1px}.border-t[data-v-1d757ef3]{border-top-width:1px}.flex[data-v-1d757ef3]{display:flex}.grid[data-v-1d757ef3]{display:grid}.hidden[data-v-1d757ef3]{display:none}.flex-col[data-v-1d757ef3]{flex-direction:column}.flex-col-reverse[data-v-1d757ef3]{flex-direction:column-reverse}.place-content-center[data-v-1d757ef3]{place-content:center}.items-center[data-v-1d757ef3]{align-items:center}.justify-end[data-v-1d757ef3]{justify-content:flex-end}.justify-center[data-v-1d757ef3]{justify-content:center}.flex-1[data-v-1d757ef3]{flex:1 1 0%}.order-last[data-v-1d757ef3]{order:9999}.font-mono[data-v-1d757ef3]{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.font-semibold[data-v-1d757ef3]{font-weight:600}.font-bold[data-v-1d757ef3]{font-weight:700}.h-32[data-v-1d757ef3]{height:8rem}.h-\[70px\][data-v-1d757ef3]{height:70px}.text-4xl[data-v-1d757ef3]{font-size:2.25rem;line-height:2.5rem}.text-xl[data-v-1d757ef3]{font-size:1.25rem;line-height:1.75rem}.text-sm[data-v-1d757ef3]{font-size:.875rem;line-height:1.25rem}.text-2xl[data-v-1d757ef3]{font-size:1.5rem;line-height:2rem}.mx-auto[data-v-1d757ef3]{margin-left:auto;margin-right:auto}.mb-2[data-v-1d757ef3]{margin-bottom:.5rem}.max-w-\[960px\][data-v-1d757ef3]{max-width:960px}.min-h-screen[data-v-1d757ef3]{min-height:100vh}.p-1[data-v-1d757ef3]{padding:.25rem}.px-4[data-v-1d757ef3]{padding-left:1rem;padding-right:1rem}.py-14[data-v-1d757ef3]{padding-bottom:3.5rem;padding-top:3.5rem}.py-6[data-v-1d757ef3]{padding-bottom:1.5rem;padding-top:1.5rem}.px-5[data-v-1d757ef3]{padding-left:1.25rem;padding-right:1.25rem}.pt-\[58px\][data-v-1d757ef3]{padding-top:58px}.pb-6[data-v-1d757ef3]{padding-bottom:1.5rem}.absolute[data-v-1d757ef3]{position:absolute}.relative[data-v-1d757ef3]{position:relative}.inset-y-0[data-v-1d757ef3]{bottom:0;top:0}.inset-x-0[data-v-1d757ef3]{left:0;right:0}.left-0[data-v-1d757ef3]{left:0}.right-0[data-v-1d757ef3]{right:0}.-top-\[58px\][data-v-1d757ef3]{top:-58px}.-top-3[data-v-1d757ef3]{top:-.75rem}.focus-visible\:ring-2[data-v-1d757ef3]:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.text-center[data-v-1d757ef3]{text-align:center}.text-black[data-v-1d757ef3]{--tw-text-opacity:1;color:rgba(0,0,0,var(--tw-text-opacity))}.text-gray-700[data-v-1d757ef3]{--tw-text-opacity:1;color:rgba(66,66,66,var(--tw-text-opacity))}.hover\:text-black[data-v-1d757ef3]:hover{--tw-text-opacity:1;color:rgba(0,0,0,var(--tw-text-opacity))}.antialiased[data-v-1d757ef3]{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.w-full[data-v-1d757ef3]{width:100%}.w-\[20\%\][data-v-1d757ef3]{width:20%}.z-10[data-v-1d757ef3]{z-index:10}.z-1[data-v-1d757ef3]{z-index:1}.gap-6[data-v-1d757ef3]{grid-gap:1.5rem;gap:1.5rem}.gap-3[data-v-1d757ef3]{grid-gap:.75rem;gap:.75rem}.gap-x-4[data-v-1d757ef3]{grid-column-gap:1rem;-webkit-column-gap:1rem;-moz-column-gap:1rem;column-gap:1rem}.gap-y-16[data-v-1d757ef3]{grid-row-gap:4rem;-webkit-row-gap:4rem;-moz-row-gap:4rem;row-gap:4rem}.gap-y-4[data-v-1d757ef3]{grid-row-gap:1rem;-webkit-row-gap:1rem;-moz-row-gap:1rem;row-gap:1rem}.gap-y-2[data-v-1d757ef3]{grid-row-gap:.5rem;-webkit-row-gap:.5rem;-moz-row-gap:.5rem;row-gap:.5rem}.grid-cols-2[data-v-1d757ef3]{grid-template-columns:repeat(2,minmax(0,1fr))}.col-span-2[data-v-1d757ef3]{-ms-grid-column-span:span 2 / span 2;grid-column:span 2 / span 2}.row-span-2[data-v-1d757ef3]{-ms-grid-row-span:span 2 / span 2;grid-row:span 2 / span 2}.transition-opacity[data-v-1d757ef3]{transition-duration:.15s;transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-300[data-v-1d757ef3]{transition-duration:.3s}@media (min-width:640px){.sm\:flex-row[data-v-1d757ef3]{flex-direction:row}.sm\:justify-between[data-v-1d757ef3]{justify-content:space-between}.sm\:h-34[data-v-1d757ef3]{height:8.5rem}.sm\:text-base[data-v-1d757ef3]{font-size:1rem;line-height:1.5rem}.sm\:text-5xl[data-v-1d757ef3]{font-size:3rem;line-height:1}.sm\:min-h-\[220px\][data-v-1d757ef3]{min-height:220px}.sm\:px-6[data-v-1d757ef3]{padding-left:1.5rem;padding-right:1.5rem}.sm\:px-28[data-v-1d757ef3]{padding-left:7rem;padding-right:7rem}.sm\:col-span-1[data-v-1d757ef3]{-ms-grid-column-span:span 1 / span 1;grid-column:span 1 / span 1}}@media (min-width:768px){.md\:min-h-\[180px\][data-v-1d757ef3]{min-height:180px}}@media (min-width:1024px){.lg\:flex-col[data-v-1d757ef3]{flex-direction:column}.lg\:order-none[data-v-1d757ef3]{order:0}.lg\:min-h-min[data-v-1d757ef3]{min-height:-moz-min-content;min-height:min-content}.lg\:py-7[data-v-1d757ef3]{padding-bottom:1.75rem;padding-top:1.75rem}.lg\:px-8[data-v-1d757ef3]{padding-left:2rem;padding-right:2rem}.lg\:grid-cols-10[data-v-1d757ef3]{grid-template-columns:repeat(10,minmax(0,1fr))}.lg\:col-span-10[data-v-1d757ef3]{-ms-grid-column-span:span 10 / span 10;grid-column:span 10 / span 10}.lg\:col-span-6[data-v-1d757ef3]{-ms-grid-column-span:span 6 / span 6;grid-column:span 6 / span 6}.lg\:col-span-4[data-v-1d757ef3]{-ms-grid-column-span:span 4 / span 4;grid-column:span 4 / span 4}}@media (prefers-color-scheme:dark){.dark\:bg-black[data-v-1d757ef3]{--tw-bg-opacity:1;background-color:rgba(0,0,0,var(--tw-bg-opacity))}.dark\:bg-white\/10[data-v-1d757ef3]{--tw-bg-opacity:.1;background-color:rgba(255,255,255,var(--tw-bg-opacity))}.dark\:bg-gray-900[data-v-1d757ef3]{--tw-bg-opacity:1;background-color:rgba(24,24,27,var(--tw-bg-opacity))}.dark\:border-transparent[data-v-1d757ef3]{border-color:transparent}.dark\:border-gray-900[data-v-1d757ef3]{--tw-border-opacity:1;border-color:rgba(24,24,27,var(--tw-border-opacity))}.dark\:border-none[data-v-1d757ef3]{border-style:none}.dark\:block[data-v-1d757ef3]{display:block}.dark\:hidden[data-v-1d757ef3]{display:none}.dark\:text-white[data-v-1d757ef3]{--tw-text-opacity:1;color:rgba(255,255,255,var(--tw-text-opacity))}.dark\:text-gray-300[data-v-1d757ef3]{--tw-text-opacity:1;color:rgba(189,189,189,var(--tw-text-opacity))}.dark\:hover\:text-white[data-v-1d757ef3]:hover{--tw-text-opacity:1;color:rgba(255,255,255,var(--tw-text-opacity))}}