@nuxt/devtools-nightly 3.2.1-29532104.1aa3d2d → 3.2.1-29532105.902c60c

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.
@@ -32,8 +32,9 @@ import { parseModule } from 'magicast';
32
32
  import { getDefaultExportOptions, addNuxtModule } from 'magicast/helpers';
33
33
  import { detectPackageManager } from 'nypm';
34
34
  import semver from 'semver';
35
+ import { normalizeBaseKey, normalizeKey } from 'unstorage';
35
36
 
36
- const version$1 = "3.2.1-29532104.1aa3d2d";
37
+ const version$1 = "3.2.1-29532105.902c60c";
37
38
 
38
39
  const urlAlphabet = "useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict";
39
40
  function randomStr(size = 16, dict = urlAlphabet) {
@@ -11045,8 +11046,23 @@ function setupServerDataRPC({
11045
11046
  };
11046
11047
  }
11047
11048
 
11049
+ async function watchStorageMount(storage, mountName, onChange) {
11050
+ const mountKey = normalizeBaseKey(mountName);
11051
+ const mount = storage.getMount(mountKey);
11052
+ if (!mount || normalizeBaseKey(mount.base) !== mountKey || !mount.driver?.watch)
11053
+ return () => {
11054
+ };
11055
+ const unwatch = await mount.driver.watch((event, key) => {
11056
+ const fullKey = key.startsWith(mountKey) ? key : `${mountKey}${key}`;
11057
+ onChange(event, normalizeKey(fullKey));
11058
+ });
11059
+ return unwatch ?? (() => {
11060
+ });
11061
+ }
11062
+
11048
11063
  function setupServerRoutesRPC({ nuxt, refresh }) {
11049
11064
  let nitro;
11065
+ let unwatchStorage;
11050
11066
  let cache = null;
11051
11067
  const refreshDebounced = debounce(() => {
11052
11068
  cache = null;
@@ -11057,12 +11073,19 @@ function setupServerRoutesRPC({ nuxt, refresh }) {
11057
11073
  cache = null;
11058
11074
  refresh("getServerRoutes");
11059
11075
  });
11060
- nuxt.hook("ready", () => {
11061
- nitro?.storage.watch((event, key) => {
11076
+ nuxt.hook("ready", async () => {
11077
+ if (!nitro)
11078
+ return;
11079
+ await unwatchStorage?.();
11080
+ unwatchStorage = await watchStorageMount(nitro.storage, "src", (_event, key) => {
11062
11081
  if (key.startsWith("src:api:") || key.startsWith("src:routes:"))
11063
11082
  refreshDebounced();
11064
11083
  });
11065
11084
  });
11085
+ nuxt.hook("close", async () => {
11086
+ await unwatchStorage?.();
11087
+ unwatchStorage = void 0;
11088
+ });
11066
11089
  function scan() {
11067
11090
  if (cache)
11068
11091
  return cache;
@@ -11095,6 +11118,7 @@ function setupServerRoutesRPC({ nuxt, refresh }) {
11095
11118
 
11096
11119
  function setupServerTasksRPC({ nuxt, refresh }) {
11097
11120
  let nitro;
11121
+ let unwatchStorage;
11098
11122
  let cache = null;
11099
11123
  const refreshDebounced = debounce(() => {
11100
11124
  cache = null;
@@ -11105,12 +11129,19 @@ function setupServerTasksRPC({ nuxt, refresh }) {
11105
11129
  cache = null;
11106
11130
  refresh("getServerTasks");
11107
11131
  });
11108
- nuxt.hook("ready", () => {
11109
- nitro?.storage.watch((event, key) => {
11132
+ nuxt.hook("ready", async () => {
11133
+ if (!nitro)
11134
+ return;
11135
+ await unwatchStorage?.();
11136
+ unwatchStorage = await watchStorageMount(nitro.storage, "src", (_event, key) => {
11110
11137
  if (key.startsWith("src:tasks:"))
11111
11138
  refreshDebounced();
11112
11139
  });
11113
11140
  });
11141
+ nuxt.hook("close", async () => {
11142
+ await unwatchStorage?.();
11143
+ unwatchStorage = void 0;
11144
+ });
11114
11145
  function scan() {
11115
11146
  if (cache)
11116
11147
  return cache;
@@ -11149,25 +11180,34 @@ function setupStorageRPC({
11149
11180
  }) {
11150
11181
  const storageMounts = {};
11151
11182
  let storage;
11183
+ let unwatchStorageMounts = [];
11152
11184
  nuxt.hook("nitro:init", (nitro) => {
11153
11185
  storage = nitro.storage;
11154
- nuxt.hook("ready", () => {
11155
- storage.watch((event, key) => {
11156
- if (shouldIgnoreStorageKey(key))
11157
- return;
11158
- rpc.broadcast.callHook.asEvent("storage:key:update", key, event);
11159
- });
11160
- });
11161
11186
  const mounts = {
11162
11187
  ...nitro.options.storage,
11163
11188
  ...nitro.options.devStorage
11164
11189
  };
11190
+ for (const key of Object.keys(storageMounts))
11191
+ delete storageMounts[key];
11165
11192
  for (const name of Object.keys(mounts)) {
11166
11193
  if (shouldIgnoreStorageKey(name))
11167
11194
  continue;
11168
11195
  storageMounts[name] = mounts[name];
11169
11196
  }
11170
11197
  });
11198
+ nuxt.hook("ready", async () => {
11199
+ const activeStorage = storage;
11200
+ if (!activeStorage)
11201
+ return;
11202
+ await Promise.all(unwatchStorageMounts.map((unwatch) => unwatch()));
11203
+ unwatchStorageMounts = await Promise.all(Object.keys(storageMounts).map((mountName) => watchStorageMount(activeStorage, mountName, (event, key) => {
11204
+ rpc.broadcast.callHook.asEvent("storage:key:update", key, event);
11205
+ })));
11206
+ });
11207
+ nuxt.hook("close", async () => {
11208
+ await Promise.all(unwatchStorageMounts.map((unwatch) => unwatch()));
11209
+ unwatchStorageMounts = [];
11210
+ });
11171
11211
  return {
11172
11212
  async getStorageMounts() {
11173
11213
  return storageMounts;
@@ -36,6 +36,7 @@ import 'magicast';
36
36
  import 'magicast/helpers';
37
37
  import 'nypm';
38
38
  import 'semver';
39
+ import 'unstorage';
39
40
 
40
41
  const codeBinaryOptions = {
41
42
  "ms-code-cli": {
@@ -1 +1 @@
1
- <!DOCTYPE html><html><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1"><script type="importmap">{"imports":{"#entry":"/__NUXT_DEVTOOLS_BASE__/_nuxt/m50f27vs.js"}}</script><link rel="stylesheet" href="/__NUXT_DEVTOOLS_BASE__/_nuxt/entry.css-gx482m17.css" crossorigin><link rel="stylesheet" href="/__NUXT_DEVTOOLS_BASE__/_nuxt/vendor/json-editor-vue.css-lkbe0qhh.css" crossorigin><link rel="modulepreload" as="script" crossorigin href="/__NUXT_DEVTOOLS_BASE__/_nuxt/m50f27vs.js"><link rel="modulepreload" as="script" crossorigin href="/__NUXT_DEVTOOLS_BASE__/_nuxt/rolldown-runtime-oipoa1or.js"><link rel="modulepreload" as="script" crossorigin href="/__NUXT_DEVTOOLS_BASE__/_nuxt/vendor/json-editor-vue-ddj4xtqm.js"><link rel="modulepreload" as="script" crossorigin href="/__NUXT_DEVTOOLS_BASE__/_nuxt/vendor/shiki-kunkft64.js"><link rel="modulepreload" as="script" crossorigin href="/__NUXT_DEVTOOLS_BASE__/_nuxt/dist-joij2tdx.js"><script type="module" src="/__NUXT_DEVTOOLS_BASE__/_nuxt/m50f27vs.js" crossorigin></script></head><body><div id="__nuxt"></div><div id="teleports"></div><script>window.__NUXT__={};window.__NUXT__.config={public:{},app:{baseURL:"/__NUXT_DEVTOOLS_BASE__/",buildId:"e79bcf7c-7cbc-48ee-8f12-ef653fd984df",buildAssetsDir:"/_nuxt/",cdnURL:""}}</script><script type="application/json" data-nuxt-data="nuxt-app" data-ssr="false" id="__NUXT_DATA__">[{"prerenderedAt":1,"serverRendered":2},1771926310998,false]</script></body></html>
1
+ <!DOCTYPE html><html><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1"><script type="importmap">{"imports":{"#entry":"/__NUXT_DEVTOOLS_BASE__/_nuxt/h4j7f5ai.js"}}</script><link rel="stylesheet" href="/__NUXT_DEVTOOLS_BASE__/_nuxt/entry.css-gx482m17.css" crossorigin><link rel="stylesheet" href="/__NUXT_DEVTOOLS_BASE__/_nuxt/vendor/json-editor-vue.css-lkbe0qhh.css" crossorigin><link rel="modulepreload" as="script" crossorigin href="/__NUXT_DEVTOOLS_BASE__/_nuxt/h4j7f5ai.js"><link rel="modulepreload" as="script" crossorigin href="/__NUXT_DEVTOOLS_BASE__/_nuxt/rolldown-runtime-oipoa1or.js"><link rel="modulepreload" as="script" crossorigin href="/__NUXT_DEVTOOLS_BASE__/_nuxt/vendor/json-editor-vue-ddj4xtqm.js"><link rel="modulepreload" as="script" crossorigin href="/__NUXT_DEVTOOLS_BASE__/_nuxt/vendor/shiki-kunkft64.js"><link rel="modulepreload" as="script" crossorigin href="/__NUXT_DEVTOOLS_BASE__/_nuxt/dist-joij2tdx.js"><script type="module" src="/__NUXT_DEVTOOLS_BASE__/_nuxt/h4j7f5ai.js" crossorigin></script></head><body><div id="__nuxt"></div><div id="teleports"></div><script>window.__NUXT__={};window.__NUXT__.config={public:{},app:{baseURL:"/__NUXT_DEVTOOLS_BASE__/",buildId:"120300d9-6237-4cbf-ad2f-0d4c061b4d10",buildAssetsDir:"/_nuxt/",cdnURL:""}}</script><script type="application/json" data-nuxt-data="nuxt-app" data-ssr="false" id="__NUXT_DATA__">[{"prerenderedAt":1,"serverRendered":2},1771926372504,false]</script></body></html>
@@ -1 +1 @@
1
- <!DOCTYPE html><html><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1"><script type="importmap">{"imports":{"#entry":"/__NUXT_DEVTOOLS_BASE__/_nuxt/m50f27vs.js"}}</script><link rel="stylesheet" href="/__NUXT_DEVTOOLS_BASE__/_nuxt/entry.css-gx482m17.css" crossorigin><link rel="stylesheet" href="/__NUXT_DEVTOOLS_BASE__/_nuxt/vendor/json-editor-vue.css-lkbe0qhh.css" crossorigin><link rel="modulepreload" as="script" crossorigin href="/__NUXT_DEVTOOLS_BASE__/_nuxt/m50f27vs.js"><link rel="modulepreload" as="script" crossorigin href="/__NUXT_DEVTOOLS_BASE__/_nuxt/rolldown-runtime-oipoa1or.js"><link rel="modulepreload" as="script" crossorigin href="/__NUXT_DEVTOOLS_BASE__/_nuxt/vendor/json-editor-vue-ddj4xtqm.js"><link rel="modulepreload" as="script" crossorigin href="/__NUXT_DEVTOOLS_BASE__/_nuxt/vendor/shiki-kunkft64.js"><link rel="modulepreload" as="script" crossorigin href="/__NUXT_DEVTOOLS_BASE__/_nuxt/dist-joij2tdx.js"><script type="module" src="/__NUXT_DEVTOOLS_BASE__/_nuxt/m50f27vs.js" crossorigin></script></head><body><div id="__nuxt"></div><div id="teleports"></div><script>window.__NUXT__={};window.__NUXT__.config={public:{},app:{baseURL:"/__NUXT_DEVTOOLS_BASE__/",buildId:"e79bcf7c-7cbc-48ee-8f12-ef653fd984df",buildAssetsDir:"/_nuxt/",cdnURL:""}}</script><script type="application/json" data-nuxt-data="nuxt-app" data-ssr="false" id="__NUXT_DATA__">[{"prerenderedAt":1,"serverRendered":2},1771926311001,false]</script></body></html>
1
+ <!DOCTYPE html><html><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1"><script type="importmap">{"imports":{"#entry":"/__NUXT_DEVTOOLS_BASE__/_nuxt/h4j7f5ai.js"}}</script><link rel="stylesheet" href="/__NUXT_DEVTOOLS_BASE__/_nuxt/entry.css-gx482m17.css" crossorigin><link rel="stylesheet" href="/__NUXT_DEVTOOLS_BASE__/_nuxt/vendor/json-editor-vue.css-lkbe0qhh.css" crossorigin><link rel="modulepreload" as="script" crossorigin href="/__NUXT_DEVTOOLS_BASE__/_nuxt/h4j7f5ai.js"><link rel="modulepreload" as="script" crossorigin href="/__NUXT_DEVTOOLS_BASE__/_nuxt/rolldown-runtime-oipoa1or.js"><link rel="modulepreload" as="script" crossorigin href="/__NUXT_DEVTOOLS_BASE__/_nuxt/vendor/json-editor-vue-ddj4xtqm.js"><link rel="modulepreload" as="script" crossorigin href="/__NUXT_DEVTOOLS_BASE__/_nuxt/vendor/shiki-kunkft64.js"><link rel="modulepreload" as="script" crossorigin href="/__NUXT_DEVTOOLS_BASE__/_nuxt/dist-joij2tdx.js"><script type="module" src="/__NUXT_DEVTOOLS_BASE__/_nuxt/h4j7f5ai.js" crossorigin></script></head><body><div id="__nuxt"></div><div id="teleports"></div><script>window.__NUXT__={};window.__NUXT__.config={public:{},app:{baseURL:"/__NUXT_DEVTOOLS_BASE__/",buildId:"120300d9-6237-4cbf-ad2f-0d4c061b4d10",buildAssetsDir:"/_nuxt/",cdnURL:""}}</script><script type="application/json" data-nuxt-data="nuxt-app" data-ssr="false" id="__NUXT_DATA__">[{"prerenderedAt":1,"serverRendered":2},1771926372507,false]</script></body></html>
@@ -1 +1 @@
1
- {"id":"e79bcf7c-7cbc-48ee-8f12-ef653fd984df","timestamp":1771926275239}
1
+ {"id":"120300d9-6237-4cbf-ad2f-0d4c061b4d10","timestamp":1771926337129}
@@ -0,0 +1 @@
1
+ {"id":"120300d9-6237-4cbf-ad2f-0d4c061b4d10","timestamp":1771926337129,"prerendered":[]}