@nuxt/hints 1.0.0-alpha.5 → 1.0.0-alpha.7

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 (104) hide show
  1. package/README.md +13 -0
  2. package/dist/client/200.html +1 -1
  3. package/dist/client/404.html +1 -1
  4. package/dist/client/_nuxt/-coei5WE.js +4 -0
  5. package/dist/client/_nuxt/5X7smno1.js +1 -0
  6. package/dist/client/_nuxt/{CMFEf1DS.js → 83L43bj1.js} +1 -1
  7. package/dist/client/_nuxt/B1nHQOfq.js +1 -0
  8. package/dist/client/_nuxt/{otccQYWM.js → BDdCTdUI.js} +1 -1
  9. package/dist/client/_nuxt/BR7nweas.js +1 -0
  10. package/dist/client/_nuxt/BUw7H-hv.js +1 -0
  11. package/dist/client/_nuxt/C3Wv6jpd.js +1 -0
  12. package/dist/client/_nuxt/C47S-Tmv.js +1 -0
  13. package/dist/client/_nuxt/{C-Jbm3Hp.js → C4gqWexZ.js} +1 -1
  14. package/dist/client/_nuxt/C7hBqjlR.js +1 -0
  15. package/dist/client/_nuxt/CC58r8DQ.js +1 -0
  16. package/dist/client/_nuxt/CGrEsiZq.js +1 -0
  17. package/dist/client/_nuxt/CMTm3GFP.js +1 -0
  18. package/dist/client/_nuxt/CMjwMIkn.js +1 -0
  19. package/dist/client/_nuxt/{BhEtv9w2.js → CO-t741Y.js} +1 -1
  20. package/dist/client/_nuxt/{CpX0l1y3.js → CPCqepq_.js} +1 -1
  21. package/dist/client/_nuxt/CTimJaOZ.js +1 -0
  22. package/dist/client/_nuxt/CW8IKDeL.js +1 -0
  23. package/dist/client/_nuxt/CjoLj4QM.js +1 -0
  24. package/dist/client/_nuxt/{DI96rpYV.js → DCmwhz07.js} +1 -1
  25. package/dist/client/_nuxt/DEthMvLe.js +1 -0
  26. package/dist/client/_nuxt/DGBsmNPI.js +1 -0
  27. package/dist/client/_nuxt/DJjDtW9f.js +1 -0
  28. package/dist/client/_nuxt/DYoxhk2S.js +1 -0
  29. package/dist/client/_nuxt/De9_lo2O.js +1 -0
  30. package/dist/client/_nuxt/DeEbof0M.js +6 -0
  31. package/dist/client/_nuxt/DqQDbK_p.js +1 -0
  32. package/dist/client/_nuxt/DsF60Hh0.js +1 -0
  33. package/dist/client/_nuxt/Dspwwk_N.js +1 -0
  34. package/dist/client/_nuxt/GGTyZ2re.js +1 -0
  35. package/dist/client/_nuxt/{CgjmDhmW.js → W9tJ9s81.js} +1 -1
  36. package/dist/client/_nuxt/builds/latest.json +1 -1
  37. package/dist/client/_nuxt/builds/meta/fbd27eb3-33d2-4da5-874f-0d93f7752a53.json +1 -0
  38. package/dist/client/_nuxt/entry.DKSlCyYS.css +1 -0
  39. package/dist/client/_nuxt/error-404.CR9CpgUf.css +1 -0
  40. package/dist/client/_nuxt/error-500.CaOly-jC.css +1 -0
  41. package/dist/client/_nuxt/hydration.CLUG10u4.css +1 -0
  42. package/dist/client/_nuxt/uOY9vQtj.js +36 -0
  43. package/dist/client/component-lazy-load/index.html +1 -0
  44. package/dist/client/hydration/index.html +1 -1
  45. package/dist/client/index.html +1 -1
  46. package/dist/client/third-party-scripts/index.html +1 -1
  47. package/dist/client/web-vitals/index.html +1 -1
  48. package/dist/module.json +1 -1
  49. package/dist/module.mjs +185 -15
  50. package/dist/runtime/core/components/nuxt-island.js +3 -2
  51. package/dist/runtime/core/server/sse.js +16 -0
  52. package/dist/runtime/core/server/types.d.ts +12 -0
  53. package/dist/runtime/core/server/types.js +2 -0
  54. package/dist/runtime/hydration/composables.js +15 -12
  55. package/dist/runtime/hydration/nitro.plugin.d.ts +2 -0
  56. package/dist/runtime/hydration/nitro.plugin.js +65 -0
  57. package/dist/runtime/hydration/utils.d.ts +2 -2
  58. package/dist/runtime/hydration/utils.js +3 -2
  59. package/dist/runtime/lazy-load/composables.d.ts +7 -0
  60. package/dist/runtime/lazy-load/composables.js +52 -0
  61. package/dist/runtime/lazy-load/nitro.plugin.d.ts +2 -0
  62. package/dist/runtime/lazy-load/nitro.plugin.js +59 -0
  63. package/dist/runtime/lazy-load/plugin.client.d.ts +2 -0
  64. package/dist/runtime/lazy-load/plugin.client.js +73 -0
  65. package/dist/runtime/lazy-load/schema.d.ts +28 -0
  66. package/dist/runtime/lazy-load/schema.js +16 -0
  67. package/dist/runtime/lazy-load/utils.d.ts +1 -0
  68. package/dist/runtime/lazy-load/utils.js +2 -0
  69. package/dist/runtime/logger.d.ts +1 -0
  70. package/dist/runtime/logger.js +2 -0
  71. package/dist/runtime/third-party-scripts/plugin.client.js +5 -4
  72. package/dist/runtime/types.d.ts +14 -0
  73. package/dist/runtime/web-vitals/plugin.client.js +25 -24
  74. package/package.json +33 -29
  75. package/dist/client/_nuxt/BSOx1wTR.js +0 -1
  76. package/dist/client/_nuxt/BZNZ3uhE.js +0 -1
  77. package/dist/client/_nuxt/BbfnXyuh.js +0 -1
  78. package/dist/client/_nuxt/Begz4AOL.js +0 -6
  79. package/dist/client/_nuxt/CFPKd07t.js +0 -1
  80. package/dist/client/_nuxt/CXsvEkWC.js +0 -1
  81. package/dist/client/_nuxt/Cnhn90sM.js +0 -1
  82. package/dist/client/_nuxt/Cv9koXgw.js +0 -1
  83. package/dist/client/_nuxt/CzKOi7Jv.js +0 -1
  84. package/dist/client/_nuxt/D6ZzJpIK.js +0 -1
  85. package/dist/client/_nuxt/DAb3G4RE.js +0 -1
  86. package/dist/client/_nuxt/DDBovgxi.js +0 -1
  87. package/dist/client/_nuxt/DNMeEaky.js +0 -1
  88. package/dist/client/_nuxt/DdCWK8Sp.js +0 -1
  89. package/dist/client/_nuxt/DiinP2Uv.js +0 -1
  90. package/dist/client/_nuxt/DtIwcMt9.js +0 -6
  91. package/dist/client/_nuxt/KEVM2KzW.js +0 -36
  92. package/dist/client/_nuxt/PoHY5YXO.js +0 -1
  93. package/dist/client/_nuxt/Xqf5ue2O.js +0 -1
  94. package/dist/client/_nuxt/aF-l9SMX.js +0 -1
  95. package/dist/client/_nuxt/builds/meta/a5258e2b-a12d-475a-8f36-441ee2727d81.json +0 -1
  96. package/dist/client/_nuxt/cgN_UPQ0.js +0 -1
  97. package/dist/client/_nuxt/entry.BHEgHyMn.css +0 -1
  98. package/dist/client/_nuxt/error-404.CAnB1sNT.css +0 -1
  99. package/dist/client/_nuxt/error-500.CHqHY76U.css +0 -1
  100. package/dist/client/_nuxt/hydration.BDJR-Z6Z.css +0 -1
  101. package/dist/runtime/hydration/handler.nitro.d.ts +0 -5
  102. package/dist/runtime/hydration/handler.nitro.js +0 -52
  103. package/dist/runtime/hydration/sse.nitro.js +0 -22
  104. /package/dist/runtime/{hydration/sse.nitro.d.ts → core/server/sse.d.ts} +0 -0
@@ -0,0 +1,16 @@
1
+ import { array, boolean, object, string } from "valibot";
2
+ export const ComponentLazyLoadImportSchema = object({
3
+ componentName: string(),
4
+ importSource: string(),
5
+ importedBy: string(),
6
+ rendered: boolean()
7
+ });
8
+ export const ComponentLazyLoadDataSchema = object({
9
+ id: string(),
10
+ route: string(),
11
+ state: object({
12
+ pageLoaded: boolean(),
13
+ hasReported: boolean(),
14
+ directImports: array(ComponentLazyLoadImportSchema)
15
+ })
16
+ });
@@ -0,0 +1 @@
1
+ export declare const LAZY_LOAD_ROUTE = "/__nuxt_hints/lazy-load";
@@ -0,0 +1,2 @@
1
+ import { HINTS_ROUTE } from "../core/server/types.js";
2
+ export const LAZY_LOAD_ROUTE = `${HINTS_ROUTE}/lazy-load`;
@@ -0,0 +1 @@
1
+ export declare const logger: import("consola").ConsolaInstance;
@@ -0,0 +1,2 @@
1
+ import { createConsola } from "consola";
2
+ export const logger = createConsola().withTag("hints");
@@ -1,4 +1,5 @@
1
1
  import { defineNuxtPlugin, ref, useNuxtApp } from "#imports";
2
+ import { logger } from "../logger.js";
2
3
  const EXTENSIONS_SCHEMES_RE = /^(chrome-extension|moz-extension|safari-extension|ms-browser-extension):/;
3
4
  function isExtensionScript(src) {
4
5
  try {
@@ -33,7 +34,7 @@ export default defineNuxtPlugin({
33
34
  if (existingScript) {
34
35
  existingScript.loaded = true;
35
36
  } else {
36
- console.warn(`[@nuxt/hints]: Script loaded event received for a script not tracked: ${script.src}. Please open an issue with a minimal reproduction if you think this is a bug.`);
37
+ logger.warn(`Script loaded event received for a script not tracked: ${script.src}. Please open an issue with a minimal reproduction if you think this is a bug.`);
37
38
  scripts.value.push({ element: script, loaded: true });
38
39
  }
39
40
  });
@@ -46,7 +47,7 @@ export default defineNuxtPlugin({
46
47
  }
47
48
  }
48
49
  if (hasThirdPartyScript && !isUsingNuxtScripts) {
49
- console.info("\u2139\uFE0F [@nuxt/hints]: Third-party scripts detected on page load: consider using @nuxt/scripts");
50
+ logger.info("Third-party scripts detected on page load: consider using @nuxt/scripts");
50
51
  }
51
52
  });
52
53
  const observer = new MutationObserver((mutations) => {
@@ -66,7 +67,7 @@ export default defineNuxtPlugin({
66
67
  });
67
68
  function onScriptAdded(script) {
68
69
  if (!script.crossOrigin) {
69
- console.warn(`[@nuxt/hints]: Third-party script "${script.src}" is missing crossorigin attribute. Consider adding crossorigin="anonymous" for better security and error reporting.`);
70
+ logger.warn(`Third-party script "${script.src}" is missing crossorigin attribute. Consider adding crossorigin="anonymous" for better security and error reporting.`);
70
71
  }
71
72
  nuxtApp.callHook("hints:scripts:added", script).then(() => {
72
73
  if (!script.loaded) {
@@ -79,7 +80,7 @@ export default defineNuxtPlugin({
79
80
  nuxtApp.callHook("hints:scripts:loaded", script);
80
81
  }
81
82
  });
82
- console.info(`\u2139\uFE0F [@nuxt/hints]: Dynamically added third-party script detected: ${script.src}`);
83
+ logger.info(`Dynamically added third-party script detected: ${script.src}`);
83
84
  }
84
85
  }
85
86
  });
@@ -1,6 +1,7 @@
1
1
  import type { VNode, Ref } from 'vue'
2
2
  import type { LCPMetricWithAttribution, INPMetricWithAttribution, CLSMetricWithAttribution } from 'web-vitals/attribution'
3
3
  import type { HydrationMismatchPayload, LocalHydrationMismatch } from './hydration/types'
4
+ import type { DirectImportInfo, LazyHydrationState } from './lazy-load/composables'
4
5
 
5
6
  declare global {
6
7
  interface Window {
@@ -36,6 +37,7 @@ declare module '#app' {
36
37
  __hints_tpc: Ref<{ element: HTMLScriptElement, loaded: boolean }[]>
37
38
  __hints: {
38
39
  hydration: LocalHydrationMismatch[]
40
+ lazyComponents: DirectImportInfo[]
39
41
  webvitals: {
40
42
  lcp: Ref<LCPMetricWithAttribution[]>
41
43
  inp: Ref<INPMetricWithAttribution[]>
@@ -45,12 +47,24 @@ declare module '#app' {
45
47
  __tracerOverlay: typeof import('vite-plugin-vue-tracer/client/overlay')
46
48
  __tracerRecord: typeof import('vite-plugin-vue-tracer/client/record')
47
49
  }
50
+
51
+ interface NuxtPayload {
52
+ _lazyHydrationState?: LazyHydrationState
53
+ }
48
54
  }
49
55
 
50
56
  declare module 'nitropack' {
51
57
  interface NitroRuntimeHooks {
58
+ // Core hints hooks
59
+ 'hints:sse:setup': (context: import('./core/server/types').HintsSseContext) => void
60
+
61
+ // Hydration hooks
52
62
  'hints:hydration:mismatch': (payload: HydrationMismatchPayload) => void
53
63
  'hints:hydration:cleared': (payload: { id: string[] }) => void
64
+
65
+ // Lazy-load hooks
66
+ 'hints:lazy-load:report': (payload: import('./lazy-load/schema').ComponentLazyLoadData) => void
67
+ 'hints:lazy-load:cleared': (payload: { id: string }) => void
54
68
  }
55
69
  }
56
70
 
@@ -2,6 +2,7 @@ import { defineNuxtPlugin, useNuxtApp } from "#imports";
2
2
  import { onINP, onLCP, onCLS } from "web-vitals/attribution";
3
3
  import { defu } from "defu";
4
4
  import { ref } from "vue";
5
+ import { logger } from "../logger.js";
5
6
  function isImgElement(element) {
6
7
  return element instanceof Element && element.tagName === "IMG";
7
8
  }
@@ -26,8 +27,8 @@ export default defineNuxtPlugin({
26
27
  if (metric.rating === "good") {
27
28
  return;
28
29
  }
29
- console.info(
30
- "[@nuxt/hints:web-vitals] INP Metric: ",
30
+ logger.info(
31
+ "[web-vitals] INP Metric: ",
31
32
  metric
32
33
  );
33
34
  nuxtApp.__hints.webvitals.inp.value.push(metric);
@@ -39,8 +40,8 @@ export default defineNuxtPlugin({
39
40
  if (metric.rating === "good") {
40
41
  return;
41
42
  }
42
- console.info(
43
- `[@nuxt/hints:web-vitals] LCP Metric: `,
43
+ logger.info(
44
+ `[web-vitals] LCP Metric: `,
44
45
  metric
45
46
  );
46
47
  nuxtApp.__hints.webvitals.lcp.value.push(metric);
@@ -50,37 +51,37 @@ export default defineNuxtPlugin({
50
51
  continue;
51
52
  }
52
53
  if (performanceEntry.element.attributes?.getNamedItem("loading")?.value === "lazy") {
53
- console.warn(
54
- '[@nuxt/hints:performance] LCP Element should not have `loading="lazy"` \n\n Learn more: https://web.dev/optimize-lcp/#optimize-the-priority-the-resource-is-given'
54
+ logger.warn(
55
+ '[performance] LCP Element should not have `loading="lazy"` \n\n Learn more: https://web.dev/optimize-lcp/#optimize-the-priority-the-resource-is-given'
55
56
  );
56
57
  }
57
58
  if (hasImageFormat(performanceEntry.element.src)) {
58
59
  if (!performanceEntry.element.src.includes("webp") || !performanceEntry.element.src.includes("avif")) {
59
- console.warn(
60
- "[@nuxt/hints:performance] LCP Element can be served in a next gen format like `webp` or `avif` \n\n Learn more: https://web.dev/choose-the-right-image-format/ \n\n Use: https://image.nuxt.com/usage/nuxt-img#format"
60
+ logger.warn(
61
+ "[performance] LCP Element can be served in a next gen format like `webp` or `avif` \n\n Learn more: https://web.dev/choose-the-right-image-format/ \n\n Use: https://image.nuxt.com/usage/nuxt-img#format"
61
62
  );
62
63
  }
63
64
  }
64
65
  if (performanceEntry.element.fetchPriority !== "high") {
65
- console.warn(
66
- '[@nuxt/hints:performance] LCP Element can have `fetchPriority="high"` to load as soon as possible \n\n Learn more: https://web.dev/optimize-lcp/#optimize-the-priority-the-resource-is-given'
66
+ logger.warn(
67
+ '[performance] LCP Element can have `fetchPriority="high"` to load as soon as possible \n\n Learn more: https://web.dev/optimize-lcp/#optimize-the-priority-the-resource-is-given'
67
68
  );
68
69
  }
69
70
  if (!performanceEntry.element.attributes.getNamedItem("height") || !performanceEntry.element.attributes.getNamedItem("width")) {
70
- console.warn(
71
- "[@nuxt/hints:performance] Images should have `width` and `height` sizes set \n\n Learn more: https://web.dev/optimize-cls/#images-without-dimensions \n\n Use: https://image.nuxt.com/usage/nuxt-img#width-height"
71
+ logger.warn(
72
+ "[performance] Images should have `width` and `height` sizes set \n\n Learn more: https://web.dev/optimize-cls/#images-without-dimensions \n\n Use: https://image.nuxt.com/usage/nuxt-img#width-height"
72
73
  );
73
74
  }
74
75
  if (performanceEntry.startTime > 2500) {
75
- console.warn(
76
- `[@nuxt/hints:performance] LCP Element loaded in ${performanceEntry.startTime} miliseconds. Good result is below 2500 miliseconds
76
+ logger.warn(
77
+ `[performance] LCP Element loaded in ${performanceEntry.startTime} miliseconds. Good result is below 2500 miliseconds
77
78
 
78
79
  Learn more: https://web.dev/lcp/#what-is-a-good-lcp-score`
79
80
  );
80
81
  }
81
82
  if (!isElementPreloaded(performanceEntry.element.src)) {
82
- console.warn(
83
- "[@nuxt/hints:performance] LCP Element can be preloaded in `head` to improve load time \n\n Learn more: https://web.dev/optimize-lcp/#optimize-when-the-resource-is-discovered \n\n Use: https://image.nuxt.com/usage/nuxt-img#preload"
83
+ logger.warn(
84
+ "[performance] LCP Element can be preloaded in `head` to improve load time \n\n Learn more: https://web.dev/optimize-lcp/#optimize-when-the-resource-is-discovered \n\n Use: https://image.nuxt.com/usage/nuxt-img#preload"
84
85
  );
85
86
  }
86
87
  }
@@ -91,8 +92,8 @@ export default defineNuxtPlugin({
91
92
  if (metric.rating === "good") {
92
93
  return;
93
94
  }
94
- console.info(
95
- "[@nuxt/hints:web-vitals] CLS Metric: ",
95
+ logger.info(
96
+ "[web-vitals] CLS Metric: ",
96
97
  metric
97
98
  );
98
99
  nuxtApp.callHook(
@@ -105,20 +106,20 @@ export default defineNuxtPlugin({
105
106
  if (!performanceEntry.sources?.[0]) return;
106
107
  const sourceElement = performanceEntry.sources?.[0].node;
107
108
  if (!sourceElement || sourceElement.parentElement?.className.includes("nuxt-devtools")) return;
108
- console.info(
109
- "[@nuxt/hints:performance] Potential CLS Element: ",
109
+ logger.info(
110
+ "[performance] Potential CLS Element: ",
110
111
  sourceElement
111
112
  );
112
113
  if ((performanceEntry.value ?? 0) > 0.1) {
113
- console.warn(
114
- `[@nuxt/hints:performance] CLS was ${performanceEntry.value}. Good result is below 0.1
114
+ logger.warn(
115
+ `[performance] CLS was ${performanceEntry.value}. Good result is below 0.1
115
116
 
116
117
  Learn more: https://web.dev/articles/cls#what-is-a-good-cls-score`
117
118
  );
118
119
  }
119
120
  if (isImgElement(sourceElement) && (!sourceElement.attributes.getNamedItem("height") || !sourceElement.attributes.getNamedItem("width"))) {
120
- console.warn(
121
- "[@nuxt/hints:performance] Images should have `width` and `height` sizes set \n\n Learn more: https://web.dev/optimize-cls/#images-without-dimensions \n\n Use: https://image.nuxt.com/usage/nuxt-img#width-height"
121
+ logger.warn(
122
+ "[performance] Images should have `width` and `height` sizes set \n\n Learn more: https://web.dev/optimize-cls/#images-without-dimensions \n\n Use: https://image.nuxt.com/usage/nuxt-img#width-height"
122
123
  );
123
124
  }
124
125
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nuxt/hints",
3
- "version": "1.0.0-alpha.5",
3
+ "version": "1.0.0-alpha.7",
4
4
  "description": "Nuxt module that shows hints for aspects of your application such as Performance, Security, and more!",
5
5
  "repository": "https://github.com/nuxt/hints",
6
6
  "homepage": "https://github.com/nuxt/hints",
@@ -21,39 +21,43 @@
21
21
  "dist"
22
22
  ],
23
23
  "dependencies": {
24
- "@nuxt/devtools-kit": "^3.0.0",
25
- "@nuxt/kit": "^4.1.2",
26
- "h3": "^1.15.4",
24
+ "@nuxt/devtools-kit": "^3.2.1",
25
+ "@nuxt/kit": "^4.3.1",
26
+ "consola": "^3.4.2",
27
+ "h3": "^1.15.5",
27
28
  "knitwork": "^1.3.0",
28
- "magic-string": "^0.30.19",
29
- "nitropack": "^2.12.6",
30
- "oxc-parser": "^0.105.0",
29
+ "magic-string": "^0.30.21",
30
+ "nitropack": "^2.13.1",
31
+ "oxc-parser": "^0.114.0",
31
32
  "sirv": "^3.0.2",
32
- "unplugin": "^2.3.10",
33
- "vite-plugin-vue-tracer": "^1.0.1",
33
+ "unplugin": "^3.0.0",
34
+ "unstorage": "^1.17.4",
35
+ "valibot": "^1.2.0",
36
+ "vite-plugin-vue-tracer": "^1.2.0",
34
37
  "web-vitals": "^5.1.0"
35
38
  },
36
39
  "devDependencies": {
37
- "@nuxt/devtools": "^3.0.0",
38
- "@nuxt/devtools-ui-kit": "^3.0.0",
39
- "@nuxt/eslint": "^1.9.0",
40
- "@nuxt/icon": "^2.0.0",
41
- "@nuxt/module-builder": "^1.0.0",
42
- "@nuxt/schema": "^4.1.2",
43
- "@nuxt/test-utils": "^3.19.2",
44
- "@shikijs/transformers": "^3.15.0",
45
- "@types/node": "^24.0.0",
46
- "changelogen": "^0.6.0",
47
- "diff": "^8.0.2",
48
- "eslint": "^9.36.0",
49
- "happy-dom": "^20.0.10",
50
- "pkg-pr-new": "0.0.62",
51
- "rimraf": "^6.0.1",
52
- "sass-embedded": "^1.93.3",
53
- "shiki": "^3.13.0",
54
- "shiki-transformer-fold": "^0.1.0",
55
- "vitest": "^4.0.0",
56
- "@nuxt/hints": "^1.0.0-alpha.5"
40
+ "@nuxt/devtools": "^3.2.1",
41
+ "@nuxt/devtools-ui-kit": "^3.2.1",
42
+ "@nuxt/eslint": "^1.15.1",
43
+ "@nuxt/icon": "^2.2.1",
44
+ "@nuxt/module-builder": "^1.0.2",
45
+ "@nuxt/schema": "^4.3.1",
46
+ "@nuxt/test-utils": "^3.23.0",
47
+ "@shikijs/transformers": "^3.22.0",
48
+ "@types/node": "^24.10.13",
49
+ "@vue/test-utils": "^2.4.6",
50
+ "changelogen": "^0.6.2",
51
+ "diff": "^8.0.3",
52
+ "eslint": "^10.0.0",
53
+ "happy-dom": "^20.6.1",
54
+ "pkg-pr-new": "0.0.63",
55
+ "rimraf": "^6.1.3",
56
+ "sass-embedded": "^1.97.3",
57
+ "shiki": "^3.22.0",
58
+ "shiki-transformer-fold": "^0.2.0",
59
+ "vitest": "^4.0.18",
60
+ "@nuxt/hints": "^1.0.0-alpha.7"
57
61
  },
58
62
  "scripts": {
59
63
  "client:build": "nuxi generate client",
@@ -1 +0,0 @@
1
- import{_ as d}from"./DdCWK8Sp.js";import l from"./Begz4AOL.js";import{g as u,C as i,k as p,c as n,o,b as a,m as x,y as f,n as t,w as b,d as h,F as k,a as g,t as C,_ as N,r as w}from"./DtIwcMt9.js";const H={flex:"","px-4":"",border:"b base","h-49px":"","items-center":"","font-semibold":"","text-neutral-800":"","dark:text-white":"","gap-1":"","n-border-base":""},V=u({__name:"Header",setup(r){const s=i(),e=p(()=>s.meta.title);return($,_)=>{const c=d,m=l;return o(),n("header",H,[a(c,{to:"/",class:f(t(e)?"text-neutral-500 dark:text-neutral-400":"text-neutral-800 dark:text-white")},{default:b(()=>[..._[0]||(_[0]=[h("Hints",-1)])]),_:1},8,["class"]),t(e)?(o(),n(k,{key:0},[a(m,{name:"carbon:chevron-right"}),g("div",null,C(t(e)),1)],64)):x("",!0)])}}}),v=Object.assign(V,{__name:"Header"}),y={};function B(r,s){const e=v;return o(),n("div",null,[a(e),w(r.$slots,"default")])}const j=N(y,[["render",B]]);export{j as default};
@@ -1 +0,0 @@
1
- import{c as n,o as c,y as o}from"./DtIwcMt9.js";const t={__name:"NIcon",props:{icon:{type:String,required:!1}},setup(e){return(r,s)=>(c(),n("div",{class:o(["n-icon",e.icon])},null,2))}};export{t as _};
@@ -1 +0,0 @@
1
- import{_ as o,c as s,o as a,a as t,t as r}from"./DtIwcMt9.js";import{u as i}from"./otccQYWM.js";const u={class:"antialiased bg-white dark:bg-[#020420] dark:text-white font-sans grid min-h-screen overflow-hidden place-content-center text-[#020420] tracking-wide"},c={class:"max-w-520px text-center"},l=["textContent"],d=["textContent"],p=["textContent"],f={__name:"error-500",props:{appName:{type:String,default:"Nuxt"},statusCode:{type:Number,default:500},statusMessage:{type:String,default:"Internal server error"},description:{type:String,default:"This page is temporarily unavailable."},refresh:{type:String,default:"Refresh this page"}},setup(e){const n=e;return i({title:`${n.statusCode} - ${n.statusMessage} | ${n.appName}`,script:[{innerHTML:`!function(){const e=document.createElement("link").relList;if(!(e&&e.supports&&e.supports("modulepreload"))){for(const e of document.querySelectorAll('link[rel="modulepreload"]'))r(e);new MutationObserver(e=>{for(const o of e)if("childList"===o.type)for(const e of o.addedNodes)"LINK"===e.tagName&&"modulepreload"===e.rel&&r(e)}).observe(document,{childList:!0,subtree:!0})}function r(e){if(e.ep)return;e.ep=!0;const r=function(e){const r={};return e.integrity&&(r.integrity=e.integrity),e.referrerPolicy&&(r.referrerPolicy=e.referrerPolicy),"use-credentials"===e.crossOrigin?r.credentials="include":"anonymous"===e.crossOrigin?r.credentials="omit":r.credentials="same-origin",r}(e);fetch(e.href,r)}}();`}],style:[{innerHTML:'*,:after,:before{border-color:var(--un-default-border-color,#e5e7eb);border-style:solid;border-width:0;box-sizing:border-box}:after,:before{--un-content:""}html{line-height:1.5;-webkit-text-size-adjust:100%;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-moz-tab-size:4;tab-size:4;-webkit-tap-highlight-color:transparent}body{line-height:inherit;margin:0}h1,h2{font-size:inherit;font-weight:inherit}h1,h2,p{margin:0}*,:after,:before{--un-rotate:0;--un-rotate-x:0;--un-rotate-y:0;--un-rotate-z:0;--un-scale-x:1;--un-scale-y:1;--un-scale-z:1;--un-skew-x:0;--un-skew-y:0;--un-translate-x:0;--un-translate-y:0;--un-translate-z:0;--un-pan-x: ;--un-pan-y: ;--un-pinch-zoom: ;--un-scroll-snap-strictness:proximity;--un-ordinal: ;--un-slashed-zero: ;--un-numeric-figure: ;--un-numeric-spacing: ;--un-numeric-fraction: ;--un-border-spacing-x:0;--un-border-spacing-y:0;--un-ring-offset-shadow:0 0 transparent;--un-ring-shadow:0 0 transparent;--un-shadow-inset: ;--un-shadow:0 0 transparent;--un-ring-inset: ;--un-ring-offset-width:0px;--un-ring-offset-color:#fff;--un-ring-width:0px;--un-ring-color:rgba(147,197,253,.5);--un-blur: ;--un-brightness: ;--un-contrast: ;--un-drop-shadow: ;--un-grayscale: ;--un-hue-rotate: ;--un-invert: ;--un-saturate: ;--un-sepia: ;--un-backdrop-blur: ;--un-backdrop-brightness: ;--un-backdrop-contrast: ;--un-backdrop-grayscale: ;--un-backdrop-hue-rotate: ;--un-backdrop-invert: ;--un-backdrop-opacity: ;--un-backdrop-saturate: ;--un-backdrop-sepia: }'}]}),(g,h)=>(a(),s("div",u,[t("div",c,[t("h1",{class:"font-semibold leading-none mb-4 sm:text-[110px] tabular-nums text-[80px]",textContent:r(e.statusCode)},null,8,l),t("h2",{class:"font-semibold mb-2 sm:text-3xl text-2xl",textContent:r(e.statusMessage)},null,8,d),t("p",{class:"mb-4 px-2 text-[#64748B] text-md",textContent:r(e.description)},null,8,p)])]))}},x=o(f,[["__scopeId","data-v-c1bd7891"]]);export{x as default};
@@ -1,6 +0,0 @@
1
- import{W as w,k as S,X as b,Y as A,g as x,e as C,s as T,B as N,Z as R,$ as P}from"./DtIwcMt9.js";const W=Object.freeze({left:0,top:0,width:16,height:16}),j=Object.freeze({rotate:0,vFlip:!1,hFlip:!1}),I=Object.freeze({...W,...j});Object.freeze({...I,body:"",hidden:!1});function E(e){const[n,s,r,t]=e;if(r!==t){const o=Math.max(r,t);return[n-(o-r)/2,s-(o-t)/2,o,o]}return e}const L=/(-?[0-9.]*[0-9]+[0-9.]*)/g,M=/^-?[0-9.]*[0-9]+[0-9.]*$/g;function v(e,n,s){if(n===1)return e;if(s=s||100,typeof e=="number")return Math.ceil(e*n*s)/s;if(typeof e!="string")return e;const r=e.split(L);if(r===null||!r.length)return e;const t=[];let o=r.shift(),i=M.test(o);for(;;){if(i){const c=parseFloat(o);isNaN(c)?t.push(o):t.push(Math.ceil(c*n*s)/s)}else t.push(o);if(o=r.shift(),o===void 0)return t.join("");i=!i}}const V=Object.freeze({width:null,height:null}),_=Object.freeze({...V,...j});function D(e,n="defs"){let s="";const r=e.indexOf("<"+n);for(;r>=0;){const t=e.indexOf(">",r),o=e.indexOf("</"+n);if(t===-1||o===-1)break;const i=e.indexOf(">",o);if(i===-1)break;s+=e.slice(t+1,o).trim(),e=e.slice(0,r).trim()+e.slice(i+1)}return{defs:s,content:e}}function G(e,n){return e?"<defs>"+e+"</defs>"+n:n}function H(e,n,s){const r=D(e);return G(r.defs,n+r.content+s)}const U=e=>e==="unset"||e==="undefined"||e==="none";function K(e,n){const s={...I,...e},r={..._,...n},t={left:s.left,top:s.top,width:s.width,height:s.height};let o=s.body;[s,r].forEach(g=>{const f=[],B=g.hFlip,O=g.vFlip;let m=g.rotate;B?O?m+=2:(f.push("translate("+(t.width+t.left).toString()+" "+(0-t.top).toString()+")"),f.push("scale(-1 1)"),t.top=t.left=0):O&&(f.push("translate("+(0-t.left).toString()+" "+(t.height+t.top).toString()+")"),f.push("scale(1 -1)"),t.top=t.left=0);let d;switch(m<0&&(m-=Math.floor(m/4)*4),m=m%4,m){case 1:d=t.height/2+t.top,f.unshift("rotate(90 "+d.toString()+" "+d.toString()+")");break;case 2:f.unshift("rotate(180 "+(t.width/2+t.left).toString()+" "+(t.height/2+t.top).toString()+")");break;case 3:d=t.width/2+t.left,f.unshift("rotate(-90 "+d.toString()+" "+d.toString()+")");break}m%2===1&&(t.left!==t.top&&(d=t.left,t.left=t.top,t.top=d),t.width!==t.height&&(d=t.width,t.width=t.height,t.height=d)),f.length&&(o=H(o,'<g transform="'+f.join(" ")+'">',"</g>"))});const i=r.width,c=r.height,a=t.width,l=t.height;let u,h;i===null?(h=c===null?"1em":c==="auto"?l:c,u=v(h,a/l)):(u=i==="auto"?a:i,h=c===null?v(u,l/a):c==="auto"?l:c);const y={},z=(g,f)=>{U(f)||(y[g]=f.toString())};z("width",u),z("height",h);const $=[t.left,t.top,a,l];return y.viewBox=$.join(" "),{attributes:y,viewBox:$,body:o}}function X(e){return e.replace(/"/g,"'").replace(/%/g,"%25").replace(/#/g,"%23").replace(/</g,"%3C").replace(/>/g,"%3E").replace(/\s+/g," ")}function Y(e){return"data:image/svg+xml,"+X(e)}function Z(e){return'url("'+Y(e)+'")'}function J(e,n){let s=e.indexOf("xlink:")===-1?"":' xmlns:xlink="http://www.w3.org/1999/xlink"';for(const r in n)s+=" "+r+'="'+n[r]+'"';return'<svg xmlns="http://www.w3.org/2000/svg"'+s+">"+e+"</svg>"}function Q(e){const n={display:"inline-block",width:"1em",height:"1em"},s=e.varName;switch(e.pseudoSelector&&(n.content="''"),e.mode){case"background":s&&(n["background-image"]="var(--"+s+")"),n["background-repeat"]="no-repeat",n["background-size"]="100% 100%";break;case"mask":n["background-color"]="currentColor",s&&(n["mask-image"]=n["-webkit-mask-image"]="var(--"+s+")"),n["mask-repeat"]=n["-webkit-mask-repeat"]="no-repeat",n["mask-size"]=n["-webkit-mask-size"]="100% 100%";break}return n}function ee(e,n){const s={},r=n.varName,t=K(e);let o=t.viewBox;o[2]!==o[3]&&(n.forceSquare?o=E(o):s.width=v("1em",o[2]/o[3]));const i=Z(J(t.body.replace(/currentColor/g,n.color||"black"),{viewBox:`${o[0]} ${o[1]} ${o[2]} ${o[3]}`,width:`${o[2]}`,height:`${o[3]}`}));if(r)s["--"+r]=i;else switch(n.mode){case"background":s["background-image"]=i;break;case"mask":s["mask-image"]=s["-webkit-mask-image"]=i;break}return s}const k={selectorStart:{compressed:"{",compact:" {",expanded:" {"},selectorEnd:{compressed:"}",compact:`; }
2
- `,expanded:`;
3
- }
4
- `},rule:{compressed:"{key}:",compact:" {key}: ",expanded:`
5
- {key}: `}};function te(e,n="expanded"){const s=[];for(let r=0;r<e.length;r++){const{selector:t,rules:o}=e[r];let i=(t instanceof Array?t.join(n==="compressed"?",":", "):t)+k.selectorStart[n],c=!0;for(const a in o)c||(i+=";"),i+=k.rule[n].replace("{key}",a)+o[a],c=!1;i+=k.selectorEnd[n],s.push(i)}return s.join(n==="compressed"?"":`
6
- `)}function ne(e,n={}){const s=n.customise?n.customise(e.body):e.body,r=n.mode||(n.color||!s.includes("currentColor")?"background":"mask");let t=n.varName;t===void 0&&r==="mask"&&(t="svg");const o={...n,mode:r,varName:t};r==="background"&&delete o.varName;const i={...n.rules,...Q(o),...ee({...I,...e,body:s},o)};return te([{selector:n.iconSelector||".icon",rules:i}],o.format)}async function se(e,n){if(!e)return null;const s=b(e);return s||(await A(e).catch(()=>(console.warn(`[Icon] failed to load icon \`${e}\``),null)),b(e))}function q(e){const n=w().icon,s=(n.collections||[]).sort((r,t)=>t.length-r.length);return S(()=>{const r=e(),t=r.startsWith(n.cssSelectorPrefix)?r.slice(n.cssSelectorPrefix.length):r,o=n.aliases?.[t]||t;if(!o.includes(":")){const i=s.find(c=>o.startsWith(c+"-"));return i?i+":"+o.slice(i.length+1):o}return o})}function F(e,n){if(e!==!1)return e===!0||e===null?n:e}let p;function oe(e){return e.replace(/([^\w-])/g,"\\$1")}function re(){if(p)return p;p=new Set;const e=s=>{if(s=s.replace(/^:where\((.*)\)$/,"$1").trim(),s.startsWith("."))return s},n=s=>{if(s?.length)for(const r of s){r?.cssRules&&n(r.cssRules);const t=r?.selectorText;if(typeof t=="string"){const o=e(t);o&&p.add(o)}}};if(typeof document<"u")for(const s of document.styleSheets)try{const r=s.cssRules||s.rules;n(r)}catch{}return p}const ie=x({name:"NuxtIconCss",props:{name:{type:String,required:!0},customize:{type:[Function,Boolean,null],default:null,required:!1}},setup(e){const n=C(),s=w().icon,r=S(()=>e.name?s.cssSelectorPrefix+e.name:"");function t(c){if(!c)return;const a=b(c);if(a)return a;const l=n.payload?.data?.[c];if(l)return R(c,l),l}const o=S(()=>"."+oe(r.value));function i(c,a=!0){let l=o.value;s.cssWherePseudo&&(l=`:where(${l})`);const u=ne(c,{iconSelector:l,format:"compressed",customise:F(e.customize,s.customize)});return s.cssLayer&&a?`@layer ${s.cssLayer} { ${u} }`:u}{const c=re();async function a(l){if(c.has(o.value)||typeof document>"u")return;const u=document.createElement("style");u.textContent=i(l);const h=document.head.querySelector('style, link[rel="stylesheet"]');h?document.head.insertBefore(u,h):document.head.appendChild(u),c.add(o.value)}T(()=>e.name,()=>{if(c.has(o.value))return;const l=t(e.name);l?a(l):se(e.name).then(u=>{u&&a(u)}).catch(()=>null)},{immediate:!0})}return()=>N("span",{class:["iconify",r.value]})}}),ce=x({name:"NuxtIconSvg",props:{name:{type:String,required:!0},customize:{type:[Function,Boolean,null],default:null,required:!1}},setup(e,{slots:n}){const s=C(),r=w().icon,t=q(()=>e.name),o="i-"+t.value;if(t.value){const i=s.payload.data[o];i&&R(t.value,i)}return()=>N(P,{icon:t.value,ssr:!0,customise:F(e.customize,r.customize)},n)}}),ae=x({name:"NuxtIcon",props:{name:{type:String,required:!0},mode:{type:String,required:!1,default:null},size:{type:[Number,String],required:!1,default:null},customize:{type:[Function,Boolean,null],default:null,required:!1}},setup(e,{slots:n}){const s=C(),r=w().icon,t=q(()=>e.name),o=S(()=>s.vueApp?.component(t.value)||((e.mode||r.mode)==="svg"?ce:ie)),i=S(()=>{const c=e.size||r.size;return c?{fontSize:Number.isNaN(+c)?c:c+"px"}:null});return()=>N(o.value,{...r.attrs,name:t.value,class:r.class,style:i.value,customize:e.customize},n)}});export{ae as default};
@@ -1 +0,0 @@
1
- import{_ as s}from"./DdCWK8Sp.js";import{_ as a,c as i,o as u,a as t,t as n,b as c,w as l,d}from"./DtIwcMt9.js";import{u as f}from"./otccQYWM.js";const p={class:"antialiased bg-white dark:bg-[#020420] dark:text-white font-sans grid min-h-screen overflow-hidden place-content-center text-[#020420] tracking-wide"},m={class:"max-w-520px text-center"},h=["textContent"],g=["textContent"],b=["textContent"],x={class:"flex items-center justify-center w-full"},y={__name:"error-404",props:{appName:{type:String,default:"Nuxt"},statusCode:{type:Number,default:404},statusMessage:{type:String,default:"Page not found"},description:{type:String,default:"Sorry, the page you are looking for could not be found."},backHome:{type:String,default:"Go back home"}},setup(e){const r=e;return f({title:`${r.statusCode} - ${r.statusMessage} | ${r.appName}`,script:[{innerHTML:`!function(){const e=document.createElement("link").relList;if(!(e&&e.supports&&e.supports("modulepreload"))){for(const e of document.querySelectorAll('link[rel="modulepreload"]'))r(e);new MutationObserver(e=>{for(const o of e)if("childList"===o.type)for(const e of o.addedNodes)"LINK"===e.tagName&&"modulepreload"===e.rel&&r(e)}).observe(document,{childList:!0,subtree:!0})}function r(e){if(e.ep)return;e.ep=!0;const r=function(e){const r={};return e.integrity&&(r.integrity=e.integrity),e.referrerPolicy&&(r.referrerPolicy=e.referrerPolicy),"use-credentials"===e.crossOrigin?r.credentials="include":"anonymous"===e.crossOrigin?r.credentials="omit":r.credentials="same-origin",r}(e);fetch(e.href,r)}}();`}],style:[{innerHTML:'*,:after,:before{border-color:var(--un-default-border-color,#e5e7eb);border-style:solid;border-width:0;box-sizing:border-box}:after,:before{--un-content:""}html{line-height:1.5;-webkit-text-size-adjust:100%;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-moz-tab-size:4;tab-size:4;-webkit-tap-highlight-color:transparent}body{line-height:inherit;margin:0}h1,h2{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}h1,h2,p{margin:0}*,:after,:before{--un-rotate:0;--un-rotate-x:0;--un-rotate-y:0;--un-rotate-z:0;--un-scale-x:1;--un-scale-y:1;--un-scale-z:1;--un-skew-x:0;--un-skew-y:0;--un-translate-x:0;--un-translate-y:0;--un-translate-z:0;--un-pan-x: ;--un-pan-y: ;--un-pinch-zoom: ;--un-scroll-snap-strictness:proximity;--un-ordinal: ;--un-slashed-zero: ;--un-numeric-figure: ;--un-numeric-spacing: ;--un-numeric-fraction: ;--un-border-spacing-x:0;--un-border-spacing-y:0;--un-ring-offset-shadow:0 0 transparent;--un-ring-shadow:0 0 transparent;--un-shadow-inset: ;--un-shadow:0 0 transparent;--un-ring-inset: ;--un-ring-offset-width:0px;--un-ring-offset-color:#fff;--un-ring-width:0px;--un-ring-color:rgba(147,197,253,.5);--un-blur: ;--un-brightness: ;--un-contrast: ;--un-drop-shadow: ;--un-grayscale: ;--un-hue-rotate: ;--un-invert: ;--un-saturate: ;--un-sepia: ;--un-backdrop-blur: ;--un-backdrop-brightness: ;--un-backdrop-contrast: ;--un-backdrop-grayscale: ;--un-backdrop-hue-rotate: ;--un-backdrop-invert: ;--un-backdrop-opacity: ;--un-backdrop-saturate: ;--un-backdrop-sepia: }'}]}),(k,_)=>{const o=s;return u(),i("div",p,[t("div",m,[t("h1",{class:"font-semibold leading-none mb-4 sm:text-[110px] tabular-nums text-[80px]",textContent:n(e.statusCode)},null,8,h),t("h2",{class:"font-semibold mb-2 sm:text-3xl text-2xl",textContent:n(e.statusMessage)},null,8,g),t("p",{class:"mb-4 px-2 text-[#64748B] text-md",textContent:n(e.description)},null,8,b),t("div",x,[c(o,{to:"/",class:"font-medium hover:text-[#00DC82] text-sm underline underline-offset-3"},{default:l(()=>[d(n(e.backHome),1)]),_:1})])])])}}},N=a(y,[["__scopeId","data-v-2f78f668"]]);export{N as default};
@@ -1 +0,0 @@
1
- import t from"./aF-l9SMX.js";import e from"./wDzz0qaB.js";import"./DPfMkruS.js";import"./BPQ3VLAy.js";import"./Cp-IABpG.js";import"./DGP4VlC8.js";import"./CnnebwVN.js";const n=Object.freeze(JSON.parse(`{"displayName":"Vue HTML","fileTypes":[],"name":"vue-html","patterns":[{"include":"source.vue#vue-interpolations"},{"begin":"(<)([A-Z][-0-:A-Za-z]*)(?=[^>]*></\\\\2>)","beginCaptures":{"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"support.class.component.html"}},"end":"(>)(<)(/)(\\\\2)(>)","endCaptures":{"1":{"name":"punctuation.definition.tag.end.html"},"2":{"name":"punctuation.definition.tag.begin.html meta.scope.between-tag-pair.html"},"3":{"name":"punctuation.definition.tag.begin.html"},"4":{"name":"support.class.component.html"},"5":{"name":"punctuation.definition.tag.end.html"}},"name":"meta.tag.any.html","patterns":[{"include":"#tag-stuff"}]},{"begin":"(<)([a-z][-0-:A-Za-z]*)(?=[^>]*></\\\\2>)","beginCaptures":{"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"entity.name.tag.html"}},"end":"(>)(<)(/)(\\\\2)(>)","endCaptures":{"1":{"name":"punctuation.definition.tag.end.html"},"2":{"name":"punctuation.definition.tag.begin.html meta.scope.between-tag-pair.html"},"3":{"name":"punctuation.definition.tag.begin.html"},"4":{"name":"entity.name.tag.html"},"5":{"name":"punctuation.definition.tag.end.html"}},"name":"meta.tag.any.html","patterns":[{"include":"#tag-stuff"}]},{"begin":"(<\\\\?)(xml)","captures":{"1":{"name":"punctuation.definition.tag.html"},"2":{"name":"entity.name.tag.xml.html"}},"end":"(\\\\?>)","name":"meta.tag.preprocessor.xml.html","patterns":[{"include":"#tag-generic-attribute"},{"include":"#string-double-quoted"},{"include":"#string-single-quoted"}]},{"begin":"<!--","captures":{"0":{"name":"punctuation.definition.comment.html"}},"end":"-->","name":"comment.block.html"},{"begin":"<!","captures":{"0":{"name":"punctuation.definition.tag.html"}},"end":">","name":"meta.tag.sgml.html","patterns":[{"begin":"(?i:DOCTYPE)","captures":{"1":{"name":"entity.name.tag.doctype.html"}},"end":"(?=>)","name":"meta.tag.sgml.doctype.html","patterns":[{"match":"\\"[^\\">]*\\"","name":"string.quoted.double.doctype.identifiers-and-DTDs.html"}]},{"begin":"\\\\[CDATA\\\\[","end":"]](?=>)","name":"constant.other.inline-data.html"},{"match":"(\\\\s*)(?!--|>)\\\\S(\\\\s*)","name":"invalid.illegal.bad-comments-or-CDATA.html"}]},{"begin":"(</?)([A-Z][-0-:A-Za-z]*)\\\\b","beginCaptures":{"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"support.class.component.html"}},"end":"(>)","endCaptures":{"1":{"name":"punctuation.definition.tag.end.html"}},"name":"meta.tag.block.any.html","patterns":[{"include":"#tag-stuff"}]},{"begin":"(</?)([a-z][-0-:A-Za-z]*)\\\\b","beginCaptures":{"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"entity.name.tag.block.any.html"}},"end":"(>)","endCaptures":{"1":{"name":"punctuation.definition.tag.end.html"}},"name":"meta.tag.block.any.html","patterns":[{"include":"#tag-stuff"}]},{"begin":"(</?)((?i:body|head|html))\\\\b","captures":{"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"entity.name.tag.structure.any.html"}},"end":"(>)","endCaptures":{"1":{"name":"punctuation.definition.tag.end.html"}},"name":"meta.tag.structure.any.html","patterns":[{"include":"#tag-stuff"}]},{"begin":"(</?)((?i:address|blockquote|dd|div|dl|dt|fieldset|form|frame|frameset|h1|h2|h3|h4|h5|h6|iframe|noframes|object|ol|p|ul|applet|center|dir|hr|menu|pre)(?!-))\\\\b","beginCaptures":{"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"entity.name.tag.block.any.html"}},"end":"(>)","endCaptures":{"1":{"name":"punctuation.definition.tag.end.html"}},"name":"meta.tag.block.any.html","patterns":[{"include":"#tag-stuff"}]},{"begin":"(</?)((?i:a|abbr|acronym|area|b|base|basefont|bdo|big|br|button|caption|cite|code|col|colgroup|del|dfn|em|font|head|html|i|img|input|ins|isindex|kbd|label|legend|li|link|map|meta|noscript|optgroup|option|param|[qs]|samp|script|select|small|span|strike|strong|style|sub|sup|table|tbody|td|textarea|tfoot|th|thead|title|tr|tt|u|var)(?!-))\\\\b","beginCaptures":{"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"entity.name.tag.inline.any.html"}},"end":"(/?>)","endCaptures":{"1":{"name":"punctuation.definition.tag.end.html"}},"name":"meta.tag.inline.any.html","patterns":[{"include":"#tag-stuff"}]},{"begin":"(</?)([-0-:A-Za-z]+)","beginCaptures":{"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"entity.name.tag.other.html"}},"end":"(/?>)","endCaptures":{"1":{"name":"punctuation.definition.tag.end.html"}},"name":"meta.tag.other.html","patterns":[{"include":"#tag-stuff"}]},{"include":"#entities"},{"match":"<>","name":"invalid.illegal.incomplete.html"},{"match":"<","name":"invalid.illegal.bad-angle-bracket.html"}],"repository":{"entities":{"patterns":[{"captures":{"1":{"name":"punctuation.definition.entity.html"},"3":{"name":"punctuation.definition.entity.html"}},"match":"(&)([0-9A-Za-z]+|#[0-9]+|#x\\\\h+)(;)","name":"constant.character.entity.html"},{"match":"&","name":"invalid.illegal.bad-ampersand.html"}]},"string-double-quoted":{"begin":"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.html"}},"end":"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.html"}},"name":"string.quoted.double.html","patterns":[{"include":"source.vue#vue-interpolations"},{"include":"#entities"}]},"string-single-quoted":{"begin":"'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.html"}},"end":"'","endCaptures":{"0":{"name":"punctuation.definition.string.end.html"}},"name":"string.quoted.single.html","patterns":[{"include":"source.vue#vue-interpolations"},{"include":"#entities"}]},"tag-generic-attribute":{"match":"(?<=[^=])\\\\b([-0-:A-Z_a-z]+)","name":"entity.other.attribute-name.html"},"tag-id-attribute":{"begin":"\\\\b(id)\\\\b\\\\s*(=)","captures":{"1":{"name":"entity.other.attribute-name.id.html"},"2":{"name":"punctuation.separator.key-value.html"}},"end":"(?!\\\\G)(?<=[\\"'[^/<>\\\\s]])","name":"meta.attribute-with-value.id.html","patterns":[{"begin":"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.html"}},"contentName":"meta.toc-list.id.html","end":"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.html"}},"name":"string.quoted.double.html","patterns":[{"include":"source.vue#vue-interpolations"},{"include":"#entities"}]},{"begin":"'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.html"}},"contentName":"meta.toc-list.id.html","end":"'","endCaptures":{"0":{"name":"punctuation.definition.string.end.html"}},"name":"string.quoted.single.html","patterns":[{"include":"source.vue#vue-interpolations"},{"include":"#entities"}]},{"captures":{"0":{"name":"meta.toc-list.id.html"}},"match":"(?<==)(?:[^\\"'/<>\\\\s]|/(?!>))+","name":"string.unquoted.html"}]},"tag-stuff":{"patterns":[{"include":"#vue-directives"},{"include":"#tag-id-attribute"},{"include":"#tag-generic-attribute"},{"include":"#string-double-quoted"},{"include":"#string-single-quoted"},{"include":"#unquoted-attribute"}]},"unquoted-attribute":{"match":"(?<==)(?:[^\\"'/<>\\\\s]|/(?!>))+","name":"string.unquoted.html"},"vue-directives":{"begin":"(?:\\\\b(v-)|([#:@]))([-0-9A-Z_a-z]+)(?::([-A-Z_a-z]+))?(?:\\\\.([-A-Z_a-z]+))*\\\\s*(=)","captures":{"1":{"name":"entity.other.attribute-name.html"},"2":{"name":"punctuation.separator.key-value.html"},"3":{"name":"entity.other.attribute-name.html"},"4":{"name":"entity.other.attribute-name.html"},"5":{"name":"entity.other.attribute-name.html"},"6":{"name":"punctuation.separator.key-value.html"}},"end":"(?<=[\\"'])|(?=[<>\`\\\\s])","name":"meta.directive.vue","patterns":[{"begin":"\`","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.html"}},"end":"\`","endCaptures":{"0":{"name":"punctuation.definition.string.end.html"}},"name":"source.directive.vue","patterns":[{"include":"source.js#expression"}]},{"begin":"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.html"}},"end":"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.html"}},"name":"source.directive.vue","patterns":[{"include":"source.js#expression"}]},{"begin":"'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.html"}},"end":"'","endCaptures":{"0":{"name":"punctuation.definition.string.end.html"}},"name":"source.directive.vue","patterns":[{"include":"source.js#expression"}]}]}},"scopeName":"text.html.vue-html","embeddedLangs":["vue","javascript"],"embeddedLangsLazy":[]}`)),d=[...t,...e,n];export{d as default};
@@ -1 +0,0 @@
1
- import h from"./Begz4AOL.js";import{_ as g,c as f,o,r as k,g as w,j as N,e as $,k as C,b as e,w as s,a as t,l as _,m as u,n,d as p,t as x}from"./DtIwcMt9.js";import{_ as V}from"./CzKOi7Jv.js";import{_ as B}from"./DdCWK8Sp.js";import{_ as S}from"./D6ZzJpIK.js";import"./BZNZ3uhE.js";const j={},L={class:"n-badge"};function z(d,r){return o(),f("span",L,[k(d.$slots,"default")])}const A=Object.assign(g(j,[["render",z]]),{__name:"NBadge"}),H={class:"grid grid-cols-1 md:grid-cols-3 gap-3 p-4"},I={class:"flex items-center gap-3 min-w-0"},M={class:"flex items-center gap-3 min-w-0"},q=w({__name:"index",setup(d){const{allMetrics:r}=N(),b=$().$hydrationMismatches,m=C(()=>b.value.length);return(P,a)=>{const l=h,v=A,i=V,c=B,y=S;return o(),f("div",H,[e(c,{to:"/web-vitals",class:"block"},{default:s(()=>[e(i,{class:"flex items-center justify-between p-4 hover:border-neutral-400 dark:hover:border-neutral-500"},{default:s(()=>[t("div",I,[e(l,{name:"material-symbols:monitoring",class:"text-xl text-blue-500"}),a[0]||(a[0]=t("div",{class:"min-w-0"},[t("div",{class:"text-sm font-medium truncate"}," Web Vitals "),t("div",{class:"text-xs text-neutral-500"}," LCP / INP / CLS ")],-1))]),n(r).length?(o(),_(v,{key:0},{default:s(()=>[p(x(n(r).length)+" issues ",1)]),_:1})):u("",!0)]),_:1})]),_:1}),e(c,{to:"/hydration",class:"block"},{default:s(()=>[e(i,{class:"flex items-center justify-between p-4 hover:border-neutral-400 dark:hover:border-neutral-500"},{default:s(()=>[t("div",M,[e(l,{name:"material-symbols:water-full",class:"text-xl text-cyan-500"}),a[1]||(a[1]=t("div",{class:"min-w-0"},[t("div",{class:"text-sm font-medium truncate"}," Hydration "),t("div",{class:"text-xs text-neutral-500"}," SSR vs client diffs ")],-1))]),n(m)?(o(),_(y,{key:0,size:"small",type:"error",bordered:!1},{default:s(()=>[p(x(n(m))+" issues ",1)]),_:1})):u("",!0)]),_:1})]),_:1}),e(c,{to:"/third-party-scripts",class:"block"},{default:s(()=>[e(i,{class:"p-4 flex items-center gap-3 hover:border-neutral-400 dark:hover:border-neutral-500"},{default:s(()=>[e(l,{name:"material-symbols:extension",class:"text-xl text-violet-500"}),a[2]||(a[2]=t("div",{class:"min-w-0"},[t("div",{class:"text-sm font-medium truncate"}," Third party scripts "),t("div",{class:"text-xs text-neutral-500"}," Analyze third-party scripts speed. ")],-1))]),_:1})]),_:1})])}}});export{q as default};
@@ -1 +0,0 @@
1
- const e=Object.freeze(JSON.parse('{"colors":{"activityBar.activeBorder":"#e6b450b3","activityBar.background":"#0b0e14","activityBar.border":"#0b0e14","activityBar.foreground":"#565b66cc","activityBar.inactiveForeground":"#565b6699","activityBarBadge.background":"#e6b450","activityBarBadge.foreground":"#0b0e14","badge.background":"#e6b45033","badge.foreground":"#e6b450","button.background":"#e6b450","button.foreground":"#0b0e14","button.hoverBackground":"#e1af4b","button.secondaryBackground":"#565b6633","button.secondaryForeground":"#bfbdb6","button.secondaryHoverBackground":"#565b6680","debugConsoleInputIcon.foreground":"#e6b450","debugExceptionWidget.background":"#0f131a","debugExceptionWidget.border":"#11151c","debugIcon.breakpointDisabledForeground":"#f2966880","debugIcon.breakpointForeground":"#f29668","debugToolBar.background":"#0f131a","descriptionForeground":"#565b66","diffEditor.diagonalFill":"#11151c","diffEditor.insertedTextBackground":"#7fd9621f","diffEditor.removedTextBackground":"#f26d781f","dropdown.background":"#0d1017","dropdown.border":"#565b6645","dropdown.foreground":"#565b66","editor.background":"#0b0e14","editor.findMatchBackground":"#6c5980","editor.findMatchBorder":"#6c5980","editor.findMatchHighlightBackground":"#6c598066","editor.findMatchHighlightBorder":"#5f4c7266","editor.findRangeHighlightBackground":"#6c598040","editor.foreground":"#bfbdb6","editor.inactiveSelectionBackground":"#409fff21","editor.lineHighlightBackground":"#131721","editor.rangeHighlightBackground":"#6c598033","editor.selectionBackground":"#409fff4d","editor.selectionHighlightBackground":"#7fd96226","editor.selectionHighlightBorder":"#7fd96200","editor.snippetTabstopHighlightBackground":"#7fd96233","editor.wordHighlightBackground":"#73b8ff14","editor.wordHighlightBorder":"#73b8ff80","editor.wordHighlightStrongBackground":"#7fd96214","editor.wordHighlightStrongBorder":"#7fd96280","editorBracketMatch.background":"#6c73804d","editorBracketMatch.border":"#6c73804d","editorCodeLens.foreground":"#acb6bf8c","editorCursor.foreground":"#e6b450","editorError.foreground":"#d95757","editorGroup.background":"#0f131a","editorGroup.border":"#11151c","editorGroupHeader.noTabsBackground":"#0b0e14","editorGroupHeader.tabsBackground":"#0b0e14","editorGroupHeader.tabsBorder":"#0b0e14","editorGutter.addedBackground":"#7fd962cc","editorGutter.deletedBackground":"#f26d78cc","editorGutter.modifiedBackground":"#73b8ffcc","editorHoverWidget.background":"#0f131a","editorHoverWidget.border":"#11151c","editorIndentGuide.activeBackground":"#6c738080","editorIndentGuide.background":"#6c738033","editorLineNumber.activeForeground":"#6c7380e6","editorLineNumber.foreground":"#6c738099","editorLink.activeForeground":"#e6b450","editorMarkerNavigation.background":"#0f131a","editorOverviewRuler.addedForeground":"#7fd962","editorOverviewRuler.border":"#11151c","editorOverviewRuler.bracketMatchForeground":"#6c7380b3","editorOverviewRuler.deletedForeground":"#f26d78","editorOverviewRuler.errorForeground":"#d95757","editorOverviewRuler.findMatchForeground":"#6c5980","editorOverviewRuler.modifiedForeground":"#73b8ff","editorOverviewRuler.warningForeground":"#e6b450","editorOverviewRuler.wordHighlightForeground":"#73b8ff66","editorOverviewRuler.wordHighlightStrongForeground":"#7fd96266","editorRuler.foreground":"#6c738033","editorSuggestWidget.background":"#0f131a","editorSuggestWidget.border":"#11151c","editorSuggestWidget.highlightForeground":"#e6b450","editorSuggestWidget.selectedBackground":"#47526640","editorWarning.foreground":"#e6b450","editorWhitespace.foreground":"#6c738099","editorWidget.background":"#0f131a","editorWidget.border":"#11151c","errorForeground":"#d95757","extensionButton.prominentBackground":"#e6b450","extensionButton.prominentForeground":"#0d1017","extensionButton.prominentHoverBackground":"#e1af4b","focusBorder":"#e6b450b3","foreground":"#565b66","gitDecoration.conflictingResourceForeground":"","gitDecoration.deletedResourceForeground":"#f26d78b3","gitDecoration.ignoredResourceForeground":"#565b6680","gitDecoration.modifiedResourceForeground":"#73b8ffb3","gitDecoration.submoduleResourceForeground":"#d2a6ffb3","gitDecoration.untrackedResourceForeground":"#7fd962b3","icon.foreground":"#565b66","input.background":"#0d1017","input.border":"#565b6645","input.foreground":"#bfbdb6","input.placeholderForeground":"#565b6680","inputOption.activeBackground":"#e6b45033","inputOption.activeBorder":"#e6b4504d","inputOption.activeForeground":"#e6b450","inputValidation.errorBackground":"#0d1017","inputValidation.errorBorder":"#d95757","inputValidation.infoBackground":"#0b0e14","inputValidation.infoBorder":"#39bae6","inputValidation.warningBackground":"#0b0e14","inputValidation.warningBorder":"#ffb454","keybindingLabel.background":"#565b661a","keybindingLabel.border":"#bfbdb61a","keybindingLabel.bottomBorder":"#bfbdb61a","keybindingLabel.foreground":"#bfbdb6","list.activeSelectionBackground":"#47526640","list.activeSelectionForeground":"#bfbdb6","list.deemphasizedForeground":"#d95757","list.errorForeground":"#d95757","list.filterMatchBackground":"#5f4c7266","list.filterMatchBorder":"#6c598066","list.focusBackground":"#47526640","list.focusForeground":"#bfbdb6","list.focusOutline":"#47526640","list.highlightForeground":"#e6b450","list.hoverBackground":"#47526640","list.inactiveSelectionBackground":"#47526633","list.inactiveSelectionForeground":"#565b66","list.invalidItemForeground":"#565b664d","listFilterWidget.background":"#0f131a","listFilterWidget.noMatchesOutline":"#d95757","listFilterWidget.outline":"#e6b450","minimap.background":"#0b0e14","minimap.errorHighlight":"#d95757","minimap.findMatchHighlight":"#6c5980","minimap.selectionHighlight":"#409fff4d","minimapGutter.addedBackground":"#7fd962","minimapGutter.deletedBackground":"#f26d78","minimapGutter.modifiedBackground":"#73b8ff","panel.background":"#0b0e14","panel.border":"#11151c","panelTitle.activeBorder":"#e6b450","panelTitle.activeForeground":"#bfbdb6","panelTitle.inactiveForeground":"#565b66","peekView.border":"#47526640","peekViewEditor.background":"#0f131a","peekViewEditor.matchHighlightBackground":"#6c598066","peekViewEditor.matchHighlightBorder":"#5f4c7266","peekViewResult.background":"#0f131a","peekViewResult.fileForeground":"#bfbdb6","peekViewResult.lineForeground":"#565b66","peekViewResult.matchHighlightBackground":"#6c598066","peekViewResult.selectionBackground":"#47526640","peekViewTitle.background":"#47526640","peekViewTitleDescription.foreground":"#565b66","peekViewTitleLabel.foreground":"#bfbdb6","pickerGroup.border":"#11151c","pickerGroup.foreground":"#565b6680","progressBar.background":"#e6b450","scrollbar.shadow":"#11151c00","scrollbarSlider.activeBackground":"#565b66b3","scrollbarSlider.background":"#565b6666","scrollbarSlider.hoverBackground":"#565b6699","selection.background":"#409fff4d","settings.headerForeground":"#bfbdb6","settings.modifiedItemIndicator":"#73b8ff","sideBar.background":"#0b0e14","sideBar.border":"#0b0e14","sideBarSectionHeader.background":"#0b0e14","sideBarSectionHeader.border":"#0b0e14","sideBarSectionHeader.foreground":"#565b66","sideBarTitle.foreground":"#565b66","statusBar.background":"#0b0e14","statusBar.border":"#0b0e14","statusBar.debuggingBackground":"#f29668","statusBar.debuggingForeground":"#0d1017","statusBar.foreground":"#565b66","statusBar.noFolderBackground":"#0f131a","statusBarItem.activeBackground":"#565b6633","statusBarItem.hoverBackground":"#565b6633","statusBarItem.prominentBackground":"#11151c","statusBarItem.prominentHoverBackground":"#00000030","statusBarItem.remoteBackground":"#e6b450","statusBarItem.remoteForeground":"#0d1017","tab.activeBackground":"#0b0e14","tab.activeBorder":"#e6b450","tab.activeForeground":"#bfbdb6","tab.border":"#0b0e14","tab.inactiveBackground":"#0b0e14","tab.inactiveForeground":"#565b66","tab.unfocusedActiveBorder":"#565b66","tab.unfocusedActiveForeground":"#565b66","tab.unfocusedInactiveForeground":"#565b66","terminal.ansiBlack":"#11151c","terminal.ansiBlue":"#53bdfa","terminal.ansiBrightBlack":"#686868","terminal.ansiBrightBlue":"#59c2ff","terminal.ansiBrightCyan":"#95e6cb","terminal.ansiBrightGreen":"#aad94c","terminal.ansiBrightMagenta":"#d2a6ff","terminal.ansiBrightRed":"#f07178","terminal.ansiBrightWhite":"#ffffff","terminal.ansiBrightYellow":"#ffb454","terminal.ansiCyan":"#90e1c6","terminal.ansiGreen":"#7fd962","terminal.ansiMagenta":"#cda1fa","terminal.ansiRed":"#ea6c73","terminal.ansiWhite":"#c7c7c7","terminal.ansiYellow":"#f9af4f","terminal.background":"#0b0e14","terminal.foreground":"#bfbdb6","textBlockQuote.background":"#0f131a","textLink.activeForeground":"#e6b450","textLink.foreground":"#e6b450","textPreformat.foreground":"#bfbdb6","titleBar.activeBackground":"#0b0e14","titleBar.activeForeground":"#bfbdb6","titleBar.border":"#0b0e14","titleBar.inactiveBackground":"#0b0e14","titleBar.inactiveForeground":"#565b66","tree.indentGuidesStroke":"#6c738080","walkThrough.embeddedEditorBackground":"#0f131a","welcomePage.buttonBackground":"#e6b45066","welcomePage.progress.background":"#131721","welcomePage.tileBackground":"#0b0e14","welcomePage.tileShadow":"#00000080","widget.shadow":"#00000080"},"displayName":"Ayu Dark","name":"ayu-dark","semanticHighlighting":true,"semanticTokenColors":{"parameter.label":"#bfbdb6"},"tokenColors":[{"settings":{"background":"#0b0e14","foreground":"#bfbdb6"}},{"scope":["comment"],"settings":{"fontStyle":"italic","foreground":"#acb6bf8c"}},{"scope":["string","constant.other.symbol"],"settings":{"foreground":"#aad94c"}},{"scope":["string.regexp","constant.character","constant.other"],"settings":{"foreground":"#95e6cb"}},{"scope":["constant.numeric"],"settings":{"foreground":"#d2a6ff"}},{"scope":["constant.language"],"settings":{"foreground":"#d2a6ff"}},{"scope":["variable","variable.parameter.function-call"],"settings":{"foreground":"#bfbdb6"}},{"scope":["variable.member"],"settings":{"foreground":"#f07178"}},{"scope":["variable.language"],"settings":{"fontStyle":"italic","foreground":"#39bae6"}},{"scope":["storage"],"settings":{"foreground":"#ff8f40"}},{"scope":["keyword"],"settings":{"foreground":"#ff8f40"}},{"scope":["keyword.operator"],"settings":{"foreground":"#f29668"}},{"scope":["punctuation.separator","punctuation.terminator"],"settings":{"foreground":"#bfbdb6b3"}},{"scope":["punctuation.section"],"settings":{"foreground":"#bfbdb6"}},{"scope":["punctuation.accessor"],"settings":{"foreground":"#f29668"}},{"scope":["punctuation.definition.template-expression"],"settings":{"foreground":"#ff8f40"}},{"scope":["punctuation.section.embedded"],"settings":{"foreground":"#ff8f40"}},{"scope":["meta.embedded"],"settings":{"foreground":"#bfbdb6"}},{"scope":["source.java storage.type","source.haskell storage.type","source.c storage.type"],"settings":{"foreground":"#59c2ff"}},{"scope":["entity.other.inherited-class"],"settings":{"foreground":"#39bae6"}},{"scope":["storage.type.function"],"settings":{"foreground":"#ff8f40"}},{"scope":["source.java storage.type.primitive"],"settings":{"foreground":"#39bae6"}},{"scope":["entity.name.function"],"settings":{"foreground":"#ffb454"}},{"scope":["variable.parameter","meta.parameter"],"settings":{"foreground":"#d2a6ff"}},{"scope":["variable.function","variable.annotation","meta.function-call.generic","support.function.go"],"settings":{"foreground":"#ffb454"}},{"scope":["support.function","support.macro"],"settings":{"foreground":"#f07178"}},{"scope":["entity.name.import","entity.name.package"],"settings":{"foreground":"#aad94c"}},{"scope":["entity.name"],"settings":{"foreground":"#59c2ff"}},{"scope":["entity.name.tag","meta.tag.sgml"],"settings":{"foreground":"#39bae6"}},{"scope":["support.class.component"],"settings":{"foreground":"#59c2ff"}},{"scope":["punctuation.definition.tag.end","punctuation.definition.tag.begin","punctuation.definition.tag"],"settings":{"foreground":"#39bae680"}},{"scope":["entity.other.attribute-name"],"settings":{"foreground":"#ffb454"}},{"scope":["support.constant"],"settings":{"fontStyle":"italic","foreground":"#f29668"}},{"scope":["support.type","support.class","source.go storage.type"],"settings":{"foreground":"#39bae6"}},{"scope":["meta.decorator variable.other","meta.decorator punctuation.decorator","storage.type.annotation"],"settings":{"foreground":"#e6b673"}},{"scope":["invalid"],"settings":{"foreground":"#d95757"}},{"scope":["meta.diff","meta.diff.header"],"settings":{"foreground":"#c594c5"}},{"scope":["source.ruby variable.other.readwrite"],"settings":{"foreground":"#ffb454"}},{"scope":["source.css entity.name.tag","source.sass entity.name.tag","source.scss entity.name.tag","source.less entity.name.tag","source.stylus entity.name.tag"],"settings":{"foreground":"#59c2ff"}},{"scope":["source.css support.type","source.sass support.type","source.scss support.type","source.less support.type","source.stylus support.type"],"settings":{"foreground":"#acb6bf8c"}},{"scope":["support.type.property-name"],"settings":{"fontStyle":"normal","foreground":"#39bae6"}},{"scope":["constant.numeric.line-number.find-in-files - match"],"settings":{"foreground":"#acb6bf8c"}},{"scope":["constant.numeric.line-number.match"],"settings":{"foreground":"#ff8f40"}},{"scope":["entity.name.filename.find-in-files"],"settings":{"foreground":"#aad94c"}},{"scope":["message.error"],"settings":{"foreground":"#d95757"}},{"scope":["markup.heading","markup.heading entity.name"],"settings":{"fontStyle":"bold","foreground":"#aad94c"}},{"scope":["markup.underline.link","string.other.link"],"settings":{"foreground":"#39bae6"}},{"scope":["markup.italic"],"settings":{"fontStyle":"italic","foreground":"#f07178"}},{"scope":["markup.bold"],"settings":{"fontStyle":"bold","foreground":"#f07178"}},{"scope":["markup.italic markup.bold","markup.bold markup.italic"],"settings":{"fontStyle":"bold italic"}},{"scope":["markup.raw"],"settings":{"background":"#bfbdb605"}},{"scope":["markup.raw.inline"],"settings":{"background":"#bfbdb60f"}},{"scope":["meta.separator"],"settings":{"background":"#bfbdb60f","fontStyle":"bold","foreground":"#acb6bf8c"}},{"scope":["markup.quote"],"settings":{"fontStyle":"italic","foreground":"#95e6cb"}},{"scope":["markup.list punctuation.definition.list.begin"],"settings":{"foreground":"#ffb454"}},{"scope":["markup.inserted"],"settings":{"foreground":"#7fd962"}},{"scope":["markup.changed"],"settings":{"foreground":"#73b8ff"}},{"scope":["markup.deleted"],"settings":{"foreground":"#f26d78"}},{"scope":["markup.strike"],"settings":{"foreground":"#e6b673"}},{"scope":["markup.table"],"settings":{"background":"#bfbdb60f","foreground":"#39bae6"}},{"scope":["text.html.markdown markup.inline.raw"],"settings":{"foreground":"#f29668"}},{"scope":["text.html.markdown meta.dummy.line-break"],"settings":{"background":"#acb6bf8c","foreground":"#acb6bf8c"}},{"scope":["punctuation.definition.markdown"],"settings":{"background":"#bfbdb6","foreground":"#acb6bf8c"}}],"type":"dark"}'));export{e as default};
@@ -1 +0,0 @@
1
- import{_ as n,c as s,o as c,r as o}from"./DtIwcMt9.js";const r={},t={class:"n-card n-card-base"};function _(e,a){return c(),s("div",t,[o(e.$slots,"default")])}const l=Object.assign(n(r,[["render",_]]),{__name:"NCard"});export{l as _};
@@ -1 +0,0 @@
1
- import{_ as c}from"./BZNZ3uhE.js";import{c as a,o as n,r as s,a as i,l as r,m as l}from"./DtIwcMt9.js";const m={class:"n-tip n-tip-base"},u={__name:"NTip",props:{icon:{type:String,required:!1}},setup(e){return(o,p)=>{const t=c;return n(),a("div",m,[s(o.$slots,"icon",{},()=>[e.icon?(n(),r(t,{key:0,icon:e.icon,class:"n-tip-icon"},null,8,["icon"])):l("",!0)]),i("div",null,[s(o.$slots,"default")])])}}};export{u as _};
@@ -1 +0,0 @@
1
- import{_ as S}from"./CzKOi7Jv.js";import{_ as D}from"./D6ZzJpIK.js";import E from"./Begz4AOL.js";import{_ as A}from"./CpX0l1y3.js";import{g as H,A as q,k as f,c as b,o as d,a as t,l as a,m,b as u,w as n,n as p,F as I,x as M,t as i,d as c}from"./DtIwcMt9.js";import"./BZNZ3uhE.js";import"./DdCWK8Sp.js";const U={class:"p-4 space-y-4"},V={class:"grid gap-3 md:grid-cols-5 grid-cols-2"},$={class:"text-2xl font-bold"},F={class:"text-2xl font-bold"},O={class:"text-xs text-neutral-500"},j={class:"text-2xl font-bold text-yellow-600"},G={class:"text-xs text-neutral-500"},J={class:"text-2xl font-bold text-orange-600"},K={class:"text-2xl font-bold text-red-600"},Q={class:"grid gap-3 md:grid-cols-2"},W={class:"flex items-start justify-between gap-3"},X={class:"min-w-0"},Y={class:"text-xs text-neutral-500"},Z=["href"],ee={class:"flex items-center gap-2 shrink-0"},te={class:"mt-2 flex flex-wrap gap-2 text-[11px]"},se={class:"mt-3 grid grid-cols-2 gap-2"},oe={class:"n-border-base border rounded p-2"},re={class:"font-mono"},ne={class:"n-border-base border rounded p-2"},ie={class:"font-mono"},le={class:"n-border-base border rounded p-2"},de={class:"font-mono"},ae={class:"n-border-base border rounded p-2"},ce={class:"font-mono"},ue={class:"mt-3 flex items-center gap-2"},ve=H({__name:"third-party-scripts",setup(me){const{scripts:w,isUsingNuxtScripts:T}=q(),g={network:300,parse:200},x=f(()=>(w.value||[]).map(e=>{const s=e.element,l=s.src,_=new URL(l,location.href),o=!!(s.ownerDocument&&s.ownerDocument.head&&s.ownerDocument.head.contains(s))&&!s.async&&!s.defer&&s.type!=="module";return{element:s,url:l,domain:_.host,https:_.protocol==="https:",loaded:e.loaded,renderBlocking:o,requestTime:s.requestTime,downloadTime:s.downloadTime,totalNetworkTime:s.totalNetworkTime,parseExecuteTime:s.parseExecuteTime,crossorigin:s.getAttribute("crossorigin"),integrity:s.getAttribute("integrity"),referrerPolicy:s.getAttribute("referrerpolicy"),async:s.async,defer:s.defer,isModule:s.type==="module"}})),h=f(()=>x.value.slice().sort((r,e)=>{const s=(r.totalNetworkTime||0)+(r.parseExecuteTime||0);return(e.totalNetworkTime||0)+(e.parseExecuteTime||0)-s})),v=f(()=>x.value.length),C=f(()=>x.value.filter(r=>r.loaded).length),N=f(()=>x.value.filter(r=>(r.totalNetworkTime||0)>g.network).length),z=f(()=>x.value.filter(r=>(r.parseExecuteTime||0)>g.parse).length),P=f(()=>x.value.filter(r=>r.renderBlocking).length);function y(r){return typeof r=="number"?`${r.toFixed(0)}ms`:"N/A"}function B(r){console.log("[@nuxt/hints]: Third-party script element",r)}async function L(r){try{await navigator.clipboard.writeText(r)}catch{}}return(r,e)=>{const s=S,l=D,_=E,k=A;return d(),b("div",U,[t("div",V,[u(s,{"p-3":""},{default:n(()=>[e[0]||(e[0]=t("div",{class:"text-xs text-neutral-500"}," 3rd-party scripts ",-1)),t("div",$,i(p(v)),1)]),_:1}),u(s,{"p-3":""},{default:n(()=>[e[1]||(e[1]=t("div",{class:"text-xs text-neutral-500"}," Loaded ",-1)),t("div",F,i(p(C)),1)]),_:1}),u(s,{"p-3":""},{default:n(()=>[t("div",O," Slow network (>"+i(g.network)+"ms) ",1),t("div",j,i(p(N)),1)]),_:1}),u(s,{"p-3":""},{default:n(()=>[t("div",G," Long parse (>"+i(g.parse)+"ms) ",1),t("div",J,i(p(z)),1)]),_:1}),u(s,{"p-3":""},{default:n(()=>[e[2]||(e[2]=t("div",{class:"text-xs text-neutral-500"}," Render-blocking ",-1)),t("div",K,i(p(P)),1)]),_:1})]),p(v)>0&&!p(T)?(d(),a(l,{key:0,n:"yellow6"},{default:n(()=>[...e[3]||(e[3]=[c(" Third-party scripts detected. Consider using @nuxt/scripts for best-practice loading and management. ",-1)])]),_:1})):m("",!0),t("div",Q,[(d(!0),b(I,null,M(p(h),o=>(d(),a(s,{key:o.url,"p-3":""},{default:n(()=>[t("div",W,[t("div",X,[t("div",Y,i(o.domain),1),t("a",{href:o.url,target:"_blank",rel:"noopener",class:"block truncate text-sm text-blue-600"},i(o.url),9,Z)]),t("div",ee,[u(l,{type:o.loaded?"success":"warning",size:"small"},{default:n(()=>[c(i(o.loaded?"Loaded":"Pending"),1)]),_:2},1032,["type"])])]),t("div",te,[o.renderBlocking?(d(),a(l,{key:0,type:"error",size:"small",title:"In document head and not async/defer/module; blocks HTML parsing and delays first paint. Prefer defer or type=module."},{default:n(()=>[...e[4]||(e[4]=[c(" render-blocking ",-1)])]),_:1})):m("",!0),o.isModule?(d(),a(l,{key:1,size:"small",title:"Module scripts are deferred by default and don't block parsing; execution order differs from classic scripts."},{default:n(()=>[...e[5]||(e[5]=[c(" module ",-1)])]),_:1})):m("",!0),o.async?(d(),a(l,{key:2,size:"small",title:"Doesn't block parsing; executes as soon as it's downloaded. Order is not guaranteed."},{default:n(()=>[...e[6]||(e[6]=[c(" async ",-1)])]),_:1})):m("",!0),o.defer?(d(),a(l,{key:3,size:"small",title:"Doesn't block parsing; executes after document parsing, preserving script order."},{default:n(()=>[...e[7]||(e[7]=[c(" defer ",-1)])]),_:1})):m("",!0),o.crossorigin?(d(),a(l,{key:4,size:"small",title:"CORS mode for this script. Use 'anonymous' for cross-origin with SRI and better error reporting."},{default:n(()=>[c(" crossorigin="+i(o.crossorigin),1)]),_:2},1024)):(d(),a(l,{key:5,type:"warning",size:"small",title:"Cross-origin script without crossorigin. Add crossorigin='anonymous' for SRI and better error reporting."},{default:n(()=>[...e[8]||(e[8]=[c(" missing crossorigin ",-1)])]),_:1})),o.integrity?(d(),a(l,{key:6,size:"small",title:"Subresource Integrity: protects against CDN/script tampering."},{default:n(()=>[...e[9]||(e[9]=[c(" sri ",-1)])]),_:1})):m("",!0),o.referrerPolicy?(d(),a(l,{key:7,size:"small",title:"Referrer policy controls the Referer header for this request."},{default:n(()=>[c(" referrer="+i(o.referrerPolicy),1)]),_:2},1024)):m("",!0),o.https===!1?(d(),a(l,{key:8,type:"error",size:"small",title:"Loaded over HTTP; use HTTPS to avoid mixed content and security risks."},{default:n(()=>[...e[10]||(e[10]=[c(" insecure http ",-1)])]),_:1})):m("",!0)]),t("div",se,[t("div",oe,[e[11]||(e[11]=t("div",{class:"text-xs text-neutral-500"}," Total network ",-1)),t("div",re,i(y(o.totalNetworkTime)),1)]),t("div",ne,[e[12]||(e[12]=t("div",{class:"text-xs text-neutral-500"}," Parse + execute ",-1)),t("div",ie,i(y(o.parseExecuteTime)),1)]),t("div",le,[e[13]||(e[13]=t("div",{class:"text-xs text-neutral-500"}," Request ",-1)),t("div",de,i(y(o.requestTime)),1)]),t("div",ae,[e[14]||(e[14]=t("div",{class:"text-xs text-neutral-500"}," Download ",-1)),t("div",ce,i(y(o.downloadTime)),1)])]),t("div",ue,[u(k,{onClick:R=>B(o.element)},{default:n(()=>[u(_,{name:"material-symbols:terminal",class:"text-lg"}),e[15]||(e[15]=t("span",{class:"ml-1"},"Log element",-1))]),_:1},8,["onClick"]),u(k,{onClick:R=>L(o.url)},{default:n(()=>[u(_,{name:"material-symbols:content-copy-outline",class:"text-lg"}),e[16]||(e[16]=t("span",{class:"ml-1"},"Copy URL",-1))]),_:1},8,["onClick"])])]),_:2},1024))),128))])])}}});export{ve as default};
@@ -1 +0,0 @@
1
- import e from"./wDzz0qaB.js";import t from"./BPQ3VLAy.js";import n from"./DPfMkruS.js";import s from"./CXtECtnM.js";const a=Object.freeze(JSON.parse(`{"displayName":"Svelte","fileTypes":["svelte"],"injections":{"L:(meta.script.svelte | meta.style.svelte) (meta.lang.js | meta.lang.javascript) - (meta source)":{"patterns":[{"begin":"(?<=>)(?!</)","contentName":"source.js","end":"(?=</)","name":"meta.embedded.block.svelte","patterns":[{"include":"source.js"}]}]},"L:(meta.script.svelte | meta.style.svelte) (meta.lang.ts | meta.lang.typescript) - (meta source)":{"patterns":[{"begin":"(?<=>)(?!</)","contentName":"source.ts","end":"(?=</)","name":"meta.embedded.block.svelte","patterns":[{"include":"source.ts"}]}]},"L:(meta.script.svelte | meta.style.svelte) meta.lang.coffee - (meta source)":{"patterns":[{"begin":"(?<=>)(?!</)","contentName":"source.coffee","end":"(?=</)","name":"meta.embedded.block.svelte","patterns":[{"include":"source.coffee"}]}]},"L:(source.ts, source.js, source.coffee)":{"patterns":[{"match":"(?<![\\"$'./_[:alnum:]])\\\\$(?=[_[:alpha:]][$_[:alnum:]]*)","name":"punctuation.definition.variable.svelte"},{"match":"(?<![\\"$'./_[:alnum:]])(\\\\$\\\\$)(?=props|restProps|slots)","name":"punctuation.definition.variable.svelte"}]},"L:meta.script.svelte - meta.lang - (meta source)":{"patterns":[{"begin":"(?<=>)(?!</)","contentName":"source.js","end":"(?=</)","name":"meta.embedded.block.svelte","patterns":[{"include":"source.js"}]}]},"L:meta.style.svelte - meta.lang - (meta source)":{"patterns":[{"begin":"(?<=>)(?!</)","contentName":"source.css","end":"(?=</)","name":"meta.embedded.block.svelte","patterns":[{"include":"source.css"}]}]},"L:meta.style.svelte meta.lang.css - (meta source)":{"patterns":[{"begin":"(?<=>)(?!</)","contentName":"source.css","end":"(?=</)","name":"meta.embedded.block.svelte","patterns":[{"include":"source.css"}]}]},"L:meta.style.svelte meta.lang.less - (meta source)":{"patterns":[{"begin":"(?<=>)(?!</)","contentName":"source.css.less","end":"(?=</)","name":"meta.embedded.block.svelte","patterns":[{"include":"source.css.less"}]}]},"L:meta.style.svelte meta.lang.postcss - (meta source)":{"patterns":[{"begin":"(?<=>)(?!</)","contentName":"source.css.postcss","end":"(?=</)","name":"meta.embedded.block.svelte","patterns":[{"include":"source.css.postcss"}]}]},"L:meta.style.svelte meta.lang.sass - (meta source)":{"patterns":[{"begin":"(?<=>)(?!</)","contentName":"source.sass","end":"(?=</)","name":"meta.embedded.block.svelte","patterns":[{"include":"source.sass"}]}]},"L:meta.style.svelte meta.lang.scss - (meta source)":{"patterns":[{"begin":"(?<=>)(?!</)","contentName":"source.css.scss","end":"(?=</)","name":"meta.embedded.block.svelte","patterns":[{"include":"source.css.scss"}]}]},"L:meta.style.svelte meta.lang.stylus - (meta source)":{"patterns":[{"begin":"(?<=>)(?!</)","contentName":"source.stylus","end":"(?=</)","name":"meta.embedded.block.svelte","patterns":[{"include":"source.stylus"}]}]},"L:meta.template.svelte - meta.lang - (meta source)":{"patterns":[{"begin":"(?<=>)\\\\s","end":"(?=</template)","patterns":[{"include":"#scope"}]}]},"L:meta.template.svelte meta.lang.pug - (meta source)":{"patterns":[{"begin":"(?<=>)(?!</)","contentName":"text.pug","end":"(?=</)","name":"meta.embedded.block.svelte","patterns":[{"include":"text.pug"}]}]}},"name":"svelte","patterns":[{"include":"#scope"}],"repository":{"attributes":{"patterns":[{"include":"#attributes-directives"},{"include":"#attributes-keyvalue"},{"include":"#attributes-attach"},{"include":"#attributes-interpolated"}]},"attributes-attach":{"begin":"(?<![:=])\\\\s*(\\\\{@attach\\\\s)","captures":{"1":{"name":"entity.other.attribute-name.svelte"}},"contentName":"meta.embedded.expression.svelte source.ts","end":"(})","patterns":[{"include":"source.ts"}]},"attributes-directives":{"begin":"(?<!<)(on|use|bind|transition|in|out|animate|let|class|style)(:)(?:((?:--)?[$_[:alpha:]][-$_[:alnum:]]*(?=\\\\s*=))|((?:--)?[$_[:alpha:]][-$_[:alnum:]]*))((\\\\|\\\\w+)*)","beginCaptures":{"1":{"patterns":[{"include":"#attributes-directives-keywords"}]},"2":{"name":"punctuation.definition.keyword.svelte"},"3":{"patterns":[{"include":"#attributes-directives-types-assigned"}]},"4":{"patterns":[{"include":"#attributes-directives-types"}]},"5":{"patterns":[{"match":"\\\\w+","name":"support.function.svelte"},{"match":"\\\\|","name":"punctuation.separator.svelte"}]}},"end":"(?=\\\\s*+[^=\\\\s])","name":"meta.directive.$1.svelte","patterns":[{"begin":"=","beginCaptures":{"0":{"name":"punctuation.separator.key-value.svelte"}},"end":"(?<=[^=\\\\s])(?!\\\\s*=)|(?=/?>)","patterns":[{"include":"#attributes-value"}]}]},"attributes-directives-keywords":{"patterns":[{"match":"on|use|bind","name":"keyword.control.svelte"},{"match":"transition|in|out|animate","name":"keyword.other.animation.svelte"},{"match":"let","name":"storage.type.svelte"},{"match":"class|style","name":"entity.other.attribute-name.svelte"}]},"attributes-directives-types":{"patterns":[{"match":"(?<=(on):).*$","name":"entity.name.type.svelte"},{"match":"(?<=(bind):).*$","name":"variable.parameter.svelte"},{"match":"(?<=(use|transition|in|out|animate):).*$","name":"variable.function.svelte"},{"match":"(?<=(let|class|style):).*$","name":"variable.parameter.svelte"}]},"attributes-directives-types-assigned":{"patterns":[{"match":"(?<=(bind):)this$","name":"variable.language.svelte"},{"match":"(?<=(bind):).*$","name":"entity.name.type.svelte"},{"match":"(?<=(class):).*$","name":"entity.other.attribute-name.class.svelte"},{"match":"(?<=(style):).*$","name":"support.type.property-name.svelte"},{"include":"#attributes-directives-types"}]},"attributes-generics":{"begin":"(generics)(=)([\\"'])","beginCaptures":{"1":{"name":"entity.other.attribute-name.svelte"},"2":{"name":"punctuation.separator.key-value.svelte"},"3":{"name":"punctuation.definition.string.begin.svelte"}},"contentName":"meta.embedded.expression.svelte source.ts","end":"(\\\\3)","endCaptures":{"1":{"name":"punctuation.definition.string.end.svelte"}},"patterns":[{"include":"#type-parameters"}]},"attributes-interpolated":{"begin":"(?<![:=])\\\\s*(\\\\{)","captures":{"1":{"name":"entity.other.attribute-name.svelte"}},"contentName":"meta.embedded.expression.svelte source.ts","end":"(})","patterns":[{"include":"source.ts"}]},"attributes-keyvalue":{"begin":"((?:--)?[$_[:alpha:]][-$_[:alnum:]]*)","beginCaptures":{"0":{"patterns":[{"match":"--.*","name":"support.type.property-name.svelte"},{"match":".*","name":"entity.other.attribute-name.svelte"}]}},"end":"(?=\\\\s*+[^=\\\\s])","name":"meta.attribute.$1.svelte","patterns":[{"begin":"=","beginCaptures":{"0":{"name":"punctuation.separator.key-value.svelte"}},"end":"(?<=[^=\\\\s])(?!\\\\s*=)|(?=/?>)","patterns":[{"include":"#attributes-value"}]}]},"attributes-value":{"patterns":[{"include":"#interpolation"},{"captures":{"1":{"name":"punctuation.definition.string.begin.svelte"},"2":{"name":"constant.numeric.decimal.svelte"},"3":{"name":"punctuation.definition.string.end.svelte"},"4":{"name":"constant.numeric.decimal.svelte"}},"match":"([\\"'])([.0-9_]+[%\\\\w]{0,4})(\\\\1)|([.0-9_]+[%\\\\w]{0,4})(?=\\\\s|/?>)"},{"match":"([^\\"'/<=>\`\\\\s]|/(?!>))+","name":"string.unquoted.svelte","patterns":[{"include":"#interpolation"}]},{"begin":"([\\"'])","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.svelte"}},"end":"\\\\1","endCaptures":{"0":{"name":"punctuation.definition.string.end.svelte"}},"name":"string.quoted.svelte","patterns":[{"include":"#interpolation"}]}]},"comments":{"begin":"<!--","captures":{"0":{"name":"punctuation.definition.comment.svelte"}},"end":"-->","name":"comment.block.svelte","patterns":[{"begin":"(@)(component)","beginCaptures":{"1":{"name":"punctuation.definition.keyword.svelte"},"2":{"name":"storage.type.class.component.svelte keyword.declaration.class.component.svelte"}},"contentName":"comment.block.documentation.svelte","end":"(?=-->)","patterns":[{"captures":{"0":{"patterns":[{"include":"text.html.markdown"}]}},"match":".*?(?=-->)"},{"include":"text.html.markdown"}]},{"match":"\\\\G-?>|<!--(?!>)|<!-(?=-->)|--!>","name":"invalid.illegal.characters-not-allowed-here.svelte"}]},"destructuring":{"patterns":[{"begin":"(?=\\\\{)","end":"(?<=})","name":"meta.embedded.expression.svelte source.ts","patterns":[{"include":"source.ts#object-binding-pattern"}]},{"begin":"(?=\\\\[)","end":"(?<=])","name":"meta.embedded.expression.svelte source.ts","patterns":[{"include":"source.ts#array-binding-pattern"}]}]},"destructuring-const":{"patterns":[{"begin":"(?=\\\\{)","end":"(?<=})","name":"meta.embedded.expression.svelte source.ts","patterns":[{"include":"source.ts#object-binding-pattern-const"}]},{"begin":"(?=\\\\[)","end":"(?<=])","name":"meta.embedded.expression.svelte source.ts","patterns":[{"include":"source.ts#array-binding-pattern-const"}]}]},"interpolation":{"patterns":[{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.section.embedded.begin.svelte"}},"contentName":"meta.embedded.expression.svelte source.ts","end":"}","endCaptures":{"0":{"name":"punctuation.section.embedded.end.svelte"}},"patterns":[{"begin":"\\\\G\\\\s*(?=\\\\{)","end":"(?<=})","patterns":[{"include":"source.ts#object-literal"}]},{"include":"source.ts"}]}]},"scope":{"patterns":[{"include":"#comments"},{"include":"#special-tags"},{"include":"#tags"},{"include":"#interpolation"},{"begin":"(?<=[>}])","end":"(?=[<{])","name":"text.svelte"}]},"special-tags":{"patterns":[{"include":"#special-tags-void"},{"include":"#special-tags-block-begin"},{"include":"#special-tags-block-end"}]},"special-tags-block-begin":{"begin":"(\\\\{)\\\\s*(#([a-z]*))","beginCaptures":{"1":{"name":"punctuation.definition.block.begin.svelte"},"2":{"patterns":[{"include":"#special-tags-keywords"}]}},"end":"(})","endCaptures":{"0":{"name":"punctuation.definition.block.end.svelte"}},"name":"meta.special.$3.svelte meta.special.start.svelte","patterns":[{"include":"#special-tags-modes"}]},"special-tags-block-end":{"begin":"(\\\\{)\\\\s*(/([a-z]*))","beginCaptures":{"1":{"name":"punctuation.definition.block.begin.svelte"},"2":{"patterns":[{"include":"#special-tags-keywords"}]}},"end":"(})","endCaptures":{"1":{"name":"punctuation.definition.block.end.svelte"}},"name":"meta.special.$3.svelte meta.special.end.svelte"},"special-tags-keywords":{"captures":{"1":{"name":"punctuation.definition.keyword.svelte"},"2":{"patterns":[{"match":"if|else\\\\s+if|else","name":"keyword.control.conditional.svelte"},{"match":"each|key","name":"keyword.control.svelte"},{"match":"await|then|catch","name":"keyword.control.flow.svelte"},{"match":"snippet","name":"keyword.control.svelte"},{"match":"html","name":"keyword.other.svelte"},{"match":"render","name":"keyword.other.svelte"},{"match":"debug","name":"keyword.other.debugger.svelte"},{"match":"const","name":"storage.type.svelte"}]}},"match":"([#/:@])(else\\\\s+if|[a-z]*)"},"special-tags-modes":{"patterns":[{"begin":"(?<=(if|key|then|catch|html|render).*?)\\\\G","end":"(?=})","name":"meta.embedded.expression.svelte source.ts","patterns":[{"include":"source.ts"}]},{"begin":"(?<=snippet.*?)\\\\G","end":"(?=})","name":"meta.embedded.expression.svelte source.ts","patterns":[{"captures":{"1":{"name":"entity.name.function.ts"}},"match":"\\\\G\\\\s*([$_[:alpha:]][$_[:alnum:]]*)\\\\s*(?=<)"},{"begin":"(?<=<)","contentName":"meta.type.parameters.ts","end":"(?=>)","patterns":[{"include":"source.ts"}]},{"begin":"(?<=>\\\\s*\\\\()","end":"(?=})","name":"meta.embedded.expression.svelte source.ts","patterns":[{"include":"source.ts"}]},{"begin":"\\\\G","end":"(?=})","name":"meta.embedded.expression.svelte source.ts","patterns":[{"include":"source.ts"}]}]},{"begin":"(?<=const.*?)\\\\G","end":"(?=})","patterns":[{"include":"#destructuring-const"},{"begin":"\\\\G\\\\s*([$_[:alpha:]][$_[:alnum:]]+)\\\\s*","beginCaptures":{"1":{"name":"variable.other.constant.svelte"}},"end":"(?=[:=])"},{"begin":"(?=:)","end":"(?==)","name":"meta.type.annotation.svelte","patterns":[{"include":"source.ts"}]},{"begin":"(?==)","end":"(?=})","name":"meta.embedded.expression.svelte source.ts","patterns":[{"include":"source.ts"}]}]},{"begin":"(?<=each.*?)\\\\G","end":"(?=})","patterns":[{"begin":"\\\\G\\\\s*?(?=\\\\S)","contentName":"meta.embedded.expression.svelte source.ts","end":"(?=(?:^\\\\s*|\\\\s+)(as)|\\\\s*([,}]))","patterns":[{"include":"source.ts"}]},{"begin":"(as)|(?=[,}])","beginCaptures":{"1":{"name":"keyword.control.as.svelte"}},"end":"(?=})","patterns":[{"include":"#destructuring"},{"begin":"\\\\(","captures":{"0":{"name":"meta.brace.round.svelte"}},"contentName":"meta.embedded.expression.svelte source.ts","end":"\\\\)|(?=})","patterns":[{"include":"source.ts"}]},{"captures":{"1":{"name":"meta.embedded.expression.svelte source.ts","patterns":[{"include":"source.ts"}]}},"match":"(\\\\s*([$_[:alpha:]][$_[:alnum:]]*)\\\\s*)"},{"match":",","name":"punctuation.separator.svelte"}]}]},{"begin":"(?<=await.*?)\\\\G","end":"(?=})","patterns":[{"begin":"\\\\G\\\\s*?(?=\\\\S)","contentName":"meta.embedded.expression.svelte source.ts","end":"\\\\s+(then)|(?=})","endCaptures":{"1":{"name":"keyword.control.flow.svelte"}},"patterns":[{"include":"source.ts"}]},{"begin":"(?<=then\\\\b)","contentName":"meta.embedded.expression.svelte source.ts","end":"(?=})","patterns":[{"include":"source.ts"}]}]},{"begin":"(?<=debug.*?)\\\\G","end":"(?=})","patterns":[{"captures":{"0":{"name":"meta.embedded.expression.svelte source.ts","patterns":[{"include":"source.ts"}]}},"match":"[$_[:alpha:]][$_[:alnum:]]*"},{"match":",","name":"punctuation.separator.svelte"}]}]},"special-tags-void":{"begin":"(\\\\{)\\\\s*([:@](else\\\\s+if|[a-z]*))","beginCaptures":{"1":{"name":"punctuation.definition.block.begin.svelte"},"2":{"patterns":[{"include":"#special-tags-keywords"}]}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.block.end.svelte"}},"name":"meta.special.$3.svelte","patterns":[{"include":"#special-tags-modes"}]},"tags":{"patterns":[{"include":"#tags-lang"},{"include":"#tags-void"},{"include":"#tags-general-end"},{"include":"#tags-general-start"}]},"tags-end-node":{"captures":{"1":{"name":"meta.tag.end.svelte punctuation.definition.tag.begin.svelte"},"2":{"name":"meta.tag.end.svelte","patterns":[{"include":"#tags-name"}]},"3":{"name":"meta.tag.end.svelte punctuation.definition.tag.end.svelte"},"4":{"name":"meta.tag.start.svelte punctuation.definition.tag.end.svelte"}},"match":"(</)(.*?)\\\\s*(>)|(/>)"},"tags-general-end":{"begin":"(</)([^/>\\\\s]*)","beginCaptures":{"1":{"name":"meta.tag.end.svelte punctuation.definition.tag.begin.svelte"},"2":{"name":"meta.tag.end.svelte","patterns":[{"include":"#tags-name"}]}},"end":"(>)","endCaptures":{"1":{"name":"meta.tag.end.svelte punctuation.definition.tag.end.svelte"}},"name":"meta.scope.tag.$2.svelte"},"tags-general-start":{"begin":"(<)([^/>\\\\s]*)","beginCaptures":{"0":{"patterns":[{"include":"#tags-start-node"}]}},"end":"(/?>)","endCaptures":{"1":{"name":"meta.tag.start.svelte punctuation.definition.tag.end.svelte"}},"name":"meta.scope.tag.$2.svelte","patterns":[{"include":"#tags-start-attributes"}]},"tags-lang":{"begin":"<(script|style|template)","beginCaptures":{"0":{"patterns":[{"include":"#tags-start-node"}]}},"end":"</\\\\1\\\\s*>|/>","endCaptures":{"0":{"patterns":[{"include":"#tags-end-node"}]}},"name":"meta.$1.svelte","patterns":[{"begin":"\\\\G(?=\\\\s*[^>]*?(type|lang)\\\\s*=\\\\s*([\\"']?)(?:text/)?(\\\\w+)\\\\2)","end":"(?=</|/>)","name":"meta.lang.$3.svelte","patterns":[{"include":"#tags-lang-start-attributes"}]},{"include":"#tags-lang-start-attributes"}]},"tags-lang-start-attributes":{"begin":"\\\\G","end":"(?=/>)|>","endCaptures":{"0":{"name":"punctuation.definition.tag.end.svelte"}},"name":"meta.tag.start.svelte","patterns":[{"include":"#attributes-generics"},{"include":"#attributes"}]},"tags-name":{"patterns":[{"captures":{"1":{"name":"keyword.control.svelte"},"2":{"name":"punctuation.definition.keyword.svelte"},"3":{"name":"entity.name.tag.svelte"}},"match":"(svelte)(:)([a-z][-:\\\\w]*)"},{"match":"slot","name":"keyword.control.svelte"},{"captures":{"1":{"patterns":[{"match":"\\\\w+","name":"support.class.component.svelte"},{"match":"\\\\.","name":"punctuation.definition.keyword.svelte"}]},"2":{"name":"support.class.component.svelte"}},"match":"(\\\\w+(?:\\\\.\\\\w+)+)|([A-Z]\\\\w*)"},{"match":"[a-z][0-:\\\\w]*-[-0-:\\\\w]*","name":"meta.tag.custom.svelte entity.name.tag.svelte"},{"match":"[a-z][-0-:\\\\w]*","name":"entity.name.tag.svelte"}]},"tags-start-attributes":{"begin":"\\\\G","end":"(?=/?>)","name":"meta.tag.start.svelte","patterns":[{"include":"#attributes"}]},"tags-start-node":{"captures":{"1":{"name":"punctuation.definition.tag.begin.svelte"},"2":{"patterns":[{"include":"#tags-name"}]}},"match":"(<)([^/>\\\\s]*)","name":"meta.tag.start.svelte"},"tags-void":{"begin":"(<)(area|base|br|col|embed|hr|img|input|link|meta|param|source|track|wbr)(?=\\\\s|/?>)","beginCaptures":{"1":{"name":"punctuation.definition.tag.begin.svelte"},"2":{"name":"entity.name.tag.svelte"}},"end":"/?>","endCaptures":{"0":{"name":"punctuation.definition.tag.begin.svelte"}},"name":"meta.tag.void.svelte","patterns":[{"include":"#attributes"}]},"type-parameters":{"name":"meta.type.parameters.ts","patterns":[{"include":"source.ts#comment"},{"match":"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(extends|in|out|const)(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))","name":"storage.modifier.ts"},{"include":"source.ts#type"},{"include":"source.ts#punctuation-comma"},{"match":"(=)(?!>)","name":"keyword.operator.assignment.ts"}]}},"scopeName":"source.svelte","embeddedLangs":["javascript","typescript","css","postcss"],"embeddedLangsLazy":["coffee","stylus","sass","scss","less","pug","markdown"]}`)),m=[...e,...t,...n,...s,a];export{m as default};