@nuxt/cli-nightly 3.26.3-20250720-161528-23ec0e3 → 3.26.3-20250720-164539-7ba5063

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.
@@ -11,14 +11,14 @@ import { resolve } from 'pathe';
11
11
  import { readPackageJSON } from 'pkg-types';
12
12
  import { satisfies } from 'semver';
13
13
  import { joinURL } from 'ufo';
14
- import { r as runCommand } from '../shared/cli-nightly.BKkbC07n.mjs';
14
+ import { r as runCommand } from '../shared/cli-nightly.D00fWVMy.mjs';
15
15
  import { l as logger } from '../shared/cli-nightly.B9AmABr3.mjs';
16
- import { a as logLevelArgs, c as cwdArgs } from '../shared/cli-nightly.zfJwcksB.mjs';
16
+ import { a as logLevelArgs, c as cwdArgs } from '../shared/cli-nightly.BviJi7Ra.mjs';
17
17
  import { f as fetchModules, g as getNuxtVersion, c as checkNuxtCompatibility, a as getRegistryFromContent } from '../shared/cli-nightly.jA1DRKbi.mjs';
18
18
  import 'node:url';
19
19
  import 'node:crypto';
20
20
  import 'std-env';
21
- import '../shared/cli-nightly.DORCgA1r.mjs';
21
+ import '../shared/cli-nightly.dcvlkhJ0.mjs';
22
22
  import 'consola';
23
23
  import 'confbox';
24
24
 
@@ -5,7 +5,7 @@ import { resolve, extname, dirname } from 'pathe';
5
5
  import { l as loadKit } from '../shared/cli-nightly.qKvs7FJ2.mjs';
6
6
  import { l as logger } from '../shared/cli-nightly.B9AmABr3.mjs';
7
7
  import { pascalCase, camelCase } from 'scule';
8
- import { a as logLevelArgs, c as cwdArgs } from '../shared/cli-nightly.zfJwcksB.mjs';
8
+ import { a as logLevelArgs, c as cwdArgs } from '../shared/cli-nightly.BviJi7Ra.mjs';
9
9
  import 'node:url';
10
10
  import 'exsolve';
11
11
  import 'consola';
@@ -9,7 +9,7 @@ import { o as overrideEnv } from '../shared/cli-nightly.DkO5RR_e.mjs';
9
9
  import { c as clearDir } from '../shared/cli-nightly.DPmMxQ6h.mjs';
10
10
  import { l as loadKit } from '../shared/cli-nightly.qKvs7FJ2.mjs';
11
11
  import { l as logger } from '../shared/cli-nightly.B9AmABr3.mjs';
12
- import { e as extendsArgs, d as dotEnvArgs, l as legacyRootDirArgs, a as logLevelArgs, c as cwdArgs } from '../shared/cli-nightly.zfJwcksB.mjs';
12
+ import { e as extendsArgs, d as dotEnvArgs, l as legacyRootDirArgs, a as logLevelArgs, c as cwdArgs } from '../shared/cli-nightly.BviJi7Ra.mjs';
13
13
  import 'node:url';
14
14
  import 'exsolve';
15
15
  import 'consola';
@@ -6,7 +6,7 @@ import { o as overrideEnv } from '../shared/cli-nightly.DkO5RR_e.mjs';
6
6
  import { a as clearBuildDir } from '../shared/cli-nightly.DPmMxQ6h.mjs';
7
7
  import { l as loadKit } from '../shared/cli-nightly.qKvs7FJ2.mjs';
8
8
  import { l as logger } from '../shared/cli-nightly.B9AmABr3.mjs';
9
- import { l as legacyRootDirArgs, e as extendsArgs, b as envNameArgs, d as dotEnvArgs, a as logLevelArgs, c as cwdArgs } from '../shared/cli-nightly.zfJwcksB.mjs';
9
+ import { l as legacyRootDirArgs, e as extendsArgs, b as envNameArgs, d as dotEnvArgs, a as logLevelArgs, c as cwdArgs } from '../shared/cli-nightly.BviJi7Ra.mjs';
10
10
  import 'node:fs';
11
11
  import 'consola/utils';
12
12
  import 'exsolve';
@@ -2,7 +2,7 @@ import { defineCommand } from 'citty';
2
2
  import { resolve } from 'pathe';
3
3
  import { l as loadKit } from '../shared/cli-nightly.qKvs7FJ2.mjs';
4
4
  import { c as cleanupNuxtDirs } from '../shared/cli-nightly.Bu_9IHj2.mjs';
5
- import { l as legacyRootDirArgs, c as cwdArgs } from '../shared/cli-nightly.zfJwcksB.mjs';
5
+ import { l as legacyRootDirArgs, c as cwdArgs } from '../shared/cli-nightly.BviJi7Ra.mjs';
6
6
  import 'node:url';
7
7
  import 'exsolve';
8
8
  import 'node:fs';
@@ -2,7 +2,7 @@ import process from 'node:process';
2
2
  import { defineCommand } from 'citty';
3
3
  import { resolve } from 'pathe';
4
4
  import { isTest } from 'std-env';
5
- import { l as legacyRootDirArgs, d as dotEnvArgs, b as envNameArgs, a as logLevelArgs, c as cwdArgs } from '../shared/cli-nightly.zfJwcksB.mjs';
5
+ import { l as legacyRootDirArgs, d as dotEnvArgs, b as envNameArgs, a as logLevelArgs, c as cwdArgs } from '../shared/cli-nightly.BviJi7Ra.mjs';
6
6
  import 'node:path';
7
7
  import 'consola';
8
8
  import '../shared/cli-nightly.B9AmABr3.mjs';
@@ -1,23 +1,23 @@
1
1
  import { fork } from 'node:child_process';
2
2
  import process from 'node:process';
3
3
  import { defineCommand } from 'citty';
4
+ import { isSocketSupported } from 'get-port-please';
4
5
  import { createProxyServer } from 'httpxy';
5
6
  import { listen } from 'listhen';
6
7
  import { getArgs, parseArgs } from 'listhen/cli';
7
8
  import { resolve } from 'pathe';
8
9
  import { satisfies } from 'semver';
9
- import { provider, isTest, isBun } from 'std-env';
10
+ import { isTest, isBun, isDeno } from 'std-env';
10
11
  import { i as initialize, r as resolveLoadingTemplate, a as renderError, b as isSocketURL, p as parseSocketURL } from './index.mjs';
11
12
  import { s as showVersions } from '../shared/cli-nightly.DltNmcvh.mjs';
12
13
  import { o as overrideEnv } from '../shared/cli-nightly.DkO5RR_e.mjs';
13
14
  import { l as loadKit } from '../shared/cli-nightly.qKvs7FJ2.mjs';
14
15
  import { l as logger } from '../shared/cli-nightly.B9AmABr3.mjs';
15
- import { e as extendsArgs, b as envNameArgs, l as legacyRootDirArgs, d as dotEnvArgs, a as logLevelArgs, c as cwdArgs } from '../shared/cli-nightly.zfJwcksB.mjs';
16
+ import { e as extendsArgs, b as envNameArgs, l as legacyRootDirArgs, d as dotEnvArgs, a as logLevelArgs, c as cwdArgs } from '../shared/cli-nightly.BviJi7Ra.mjs';
16
17
  import 'defu';
17
- import 'node:fs';
18
18
  import 'node:http';
19
- import 'node:os';
20
19
  import 'node:events';
20
+ import 'node:fs';
21
21
  import 'node:fs/promises';
22
22
  import 'node:url';
23
23
  import 'exsolve';
@@ -130,7 +130,7 @@ const command = defineCommand({
130
130
  }
131
131
  const devProxy = await createDevProxy(cwd, nuxtOptions, listenOptions);
132
132
  const nuxtSocketEnv = process.env.NUXT_SOCKET ? process.env.NUXT_SOCKET === "1" : void 0;
133
- const useSocket = nuxtSocketEnv ?? (nuxtOptions._majorVersion === 4 && provider !== "stackblitz");
133
+ const useSocket = nuxtSocketEnv ?? (nuxtOptions._majorVersion === 4 && await isSocketSupported());
134
134
  const urls = await devProxy.listener.getURLs();
135
135
  const { onRestart, onReady, close } = await initialize({
136
136
  cwd,
@@ -241,7 +241,7 @@ async function startSubprocess(cwd, args, rawArgs, listenOptions) {
241
241
  let ready;
242
242
  const kill = (signal) => {
243
243
  if (childProc) {
244
- childProc.kill(signal);
244
+ childProc.kill(signal === 0 && isDeno ? "SIGTERM" : signal);
245
245
  childProc = void 0;
246
246
  }
247
247
  };
@@ -3,7 +3,7 @@ import { defineCommand } from 'citty';
3
3
  import { resolve } from 'pathe';
4
4
  import { x } from 'tinyexec';
5
5
  import { l as logger } from '../shared/cli-nightly.B9AmABr3.mjs';
6
- import { l as legacyRootDirArgs, c as cwdArgs } from '../shared/cli-nightly.zfJwcksB.mjs';
6
+ import { l as legacyRootDirArgs, c as cwdArgs } from '../shared/cli-nightly.BviJi7Ra.mjs';
7
7
  import 'consola';
8
8
  import 'node:path';
9
9
  import 'std-env';
@@ -1,5 +1,5 @@
1
1
  import { defineCommand } from 'citty';
2
- import { l as legacyRootDirArgs, e as extendsArgs, b as envNameArgs, d as dotEnvArgs, a as logLevelArgs, c as cwdArgs } from '../shared/cli-nightly.zfJwcksB.mjs';
2
+ import { l as legacyRootDirArgs, e as extendsArgs, b as envNameArgs, d as dotEnvArgs, a as logLevelArgs, c as cwdArgs } from '../shared/cli-nightly.BviJi7Ra.mjs';
3
3
  import buildCommand from './build.mjs';
4
4
  import 'node:path';
5
5
  import 'node:process';
@@ -1,15 +1,15 @@
1
1
  import process from 'node:process';
2
2
  import defu from 'defu';
3
3
  import { listen } from 'listhen';
4
- import { existsSync, unlinkSync, watch } from 'node:fs';
5
4
  import { Server } from 'node:http';
6
- import os from 'node:os';
7
- import { join, resolve } from 'pathe';
5
+ import { getSocketAddress, cleanSocket } from 'get-port-please';
8
6
  import EventEmitter from 'node:events';
7
+ import { watch, existsSync } from 'node:fs';
9
8
  import { mkdir } from 'node:fs/promises';
10
9
  import { pathToFileURL } from 'node:url';
11
10
  import { resolveModulePath } from 'exsolve';
12
11
  import { toNodeListener } from 'h3';
12
+ import { resolve } from 'pathe';
13
13
  import { debounce } from 'perfect-debounce';
14
14
  import { provider } from 'std-env';
15
15
  import { joinURL } from 'ufo';
@@ -18,14 +18,6 @@ import { l as loadKit } from '../shared/cli-nightly.qKvs7FJ2.mjs';
18
18
  import { l as loadNuxtManifest, r as resolveNuxtManifest, w as writeNuxtManifest } from '../shared/cli-nightly.Bu_9IHj2.mjs';
19
19
  import { Youch } from 'youch';
20
20
 
21
- function generateSocketPath(prefix) {
22
- const timestamp = Date.now();
23
- const random = Math.random().toString(36).slice(2, 8);
24
- if (process.platform === "win32") {
25
- return `\\\\.\\pipe\\${prefix}-${timestamp}-${random}`;
26
- }
27
- return join(os.tmpdir(), `${prefix}-${timestamp}-${random}.sock`);
28
- }
29
21
  function formatSocketURL(socketPath, ssl = false) {
30
22
  const protocol = ssl ? "https" : "http";
31
23
  const encodedPath = process.platform === "win32" ? encodeURIComponent(socketPath) : socketPath.replace(/\//g, "%2F");
@@ -44,14 +36,12 @@ function parseSocketURL(url) {
44
36
  return { socketPath, protocol: ssl ? "https" : "http" };
45
37
  }
46
38
  async function createSocketListener(handler, proxyAddress) {
47
- const socketPath = generateSocketPath("nuxt-dev");
39
+ const socketPath = getSocketAddress({
40
+ name: "nuxt-dev",
41
+ random: true
42
+ });
48
43
  const server = new Server(handler);
49
- if (process.platform !== "win32" && existsSync(socketPath)) {
50
- try {
51
- unlinkSync(socketPath);
52
- } catch {
53
- }
54
- }
44
+ await cleanSocket(socketPath);
55
45
  await new Promise((resolve) => server.listen({ path: socketPath }, resolve));
56
46
  const url = formatSocketURL(socketPath);
57
47
  return {
@@ -62,12 +52,7 @@ async function createSocketListener(handler, proxyAddress) {
62
52
  server.removeAllListeners();
63
53
  await new Promise((resolve, reject) => server.close((err) => err ? reject(err) : resolve()));
64
54
  } finally {
65
- if (process.platform !== "win32") {
66
- try {
67
- unlinkSync(socketPath);
68
- } catch {
69
- }
70
- }
55
+ await cleanSocket(socketPath);
71
56
  }
72
57
  },
73
58
  getURLs: async () => [{ url, type: "network" }],
@@ -302,7 +287,11 @@ function resolveDevServerOverrides(listenOptions) {
302
287
  function resolveDevServerDefaults(listenOptions, urls = []) {
303
288
  const defaultConfig = {};
304
289
  if (urls) {
305
- defaultConfig.vite = { server: { allowedHosts: urls.map((u) => new URL(u).hostname) } };
290
+ defaultConfig.vite = {
291
+ server: {
292
+ allowedHosts: urls.filter((u) => !isSocketURL(u)).map((u) => new URL(u).hostname)
293
+ }
294
+ };
306
295
  }
307
296
  if (listenOptions.hostname) {
308
297
  const protocol = listenOptions.https ? "https" : "http";
@@ -7,11 +7,11 @@ import { resolve } from 'pathe';
7
7
  import { readPackageJSON } from 'pkg-types';
8
8
  import { splitByCase } from 'scule';
9
9
  import { isMinimal } from 'std-env';
10
- import { v as version } from '../shared/cli-nightly.DORCgA1r.mjs';
10
+ import { v as version } from '../shared/cli-nightly.dcvlkhJ0.mjs';
11
11
  import { t as tryResolveNuxt } from '../shared/cli-nightly.qKvs7FJ2.mjs';
12
12
  import { l as logger } from '../shared/cli-nightly.B9AmABr3.mjs';
13
13
  import { g as getPackageManagerVersion } from '../shared/cli-nightly.BSm0_9Hr.mjs';
14
- import { l as legacyRootDirArgs, c as cwdArgs } from '../shared/cli-nightly.zfJwcksB.mjs';
14
+ import { l as legacyRootDirArgs, c as cwdArgs } from '../shared/cli-nightly.BviJi7Ra.mjs';
15
15
  import 'node:url';
16
16
  import 'exsolve';
17
17
  import 'consola';
@@ -8,13 +8,13 @@ import { $fetch } from 'ofetch';
8
8
  import { resolve, relative, join } from 'pathe';
9
9
  import { hasTTY } from 'std-env';
10
10
  import { x } from 'tinyexec';
11
- import { r as runCommand } from '../shared/cli-nightly.BKkbC07n.mjs';
11
+ import { r as runCommand } from '../shared/cli-nightly.D00fWVMy.mjs';
12
12
  import { l as logger } from '../shared/cli-nightly.B9AmABr3.mjs';
13
- import { a as logLevelArgs, c as cwdArgs } from '../shared/cli-nightly.zfJwcksB.mjs';
13
+ import { a as logLevelArgs, c as cwdArgs } from '../shared/cli-nightly.BviJi7Ra.mjs';
14
14
  import 'node:url';
15
15
  import 'node:crypto';
16
16
  import 'node:path';
17
- import '../shared/cli-nightly.DORCgA1r.mjs';
17
+ import '../shared/cli-nightly.dcvlkhJ0.mjs';
18
18
  import 'consola';
19
19
 
20
20
  const themeColor = "\x1B[38;2;0;220;130m";
@@ -4,7 +4,7 @@ import { resolve, relative } from 'pathe';
4
4
  import { a as clearBuildDir } from '../shared/cli-nightly.DPmMxQ6h.mjs';
5
5
  import { l as loadKit } from '../shared/cli-nightly.qKvs7FJ2.mjs';
6
6
  import { l as logger } from '../shared/cli-nightly.B9AmABr3.mjs';
7
- import { l as legacyRootDirArgs, e as extendsArgs, b as envNameArgs, a as logLevelArgs, c as cwdArgs, d as dotEnvArgs } from '../shared/cli-nightly.zfJwcksB.mjs';
7
+ import { l as legacyRootDirArgs, e as extendsArgs, b as envNameArgs, a as logLevelArgs, c as cwdArgs, d as dotEnvArgs } from '../shared/cli-nightly.BviJi7Ra.mjs';
8
8
  import 'node:fs';
9
9
  import 'node:url';
10
10
  import 'exsolve';
@@ -9,7 +9,7 @@ import { resolve } from 'pathe';
9
9
  import { x } from 'tinyexec';
10
10
  import { l as loadKit } from '../shared/cli-nightly.qKvs7FJ2.mjs';
11
11
  import { l as logger } from '../shared/cli-nightly.B9AmABr3.mjs';
12
- import { d as dotEnvArgs, l as legacyRootDirArgs, e as extendsArgs, b as envNameArgs, a as logLevelArgs, c as cwdArgs } from '../shared/cli-nightly.zfJwcksB.mjs';
12
+ import { d as dotEnvArgs, l as legacyRootDirArgs, e as extendsArgs, b as envNameArgs, a as logLevelArgs, c as cwdArgs } from '../shared/cli-nightly.BviJi7Ra.mjs';
13
13
  import 'node:url';
14
14
  import 'exsolve';
15
15
  import 'consola';
@@ -3,7 +3,7 @@ import { colors } from 'consola/utils';
3
3
  import Fuse from 'fuse.js';
4
4
  import { upperFirst, kebabCase } from 'scule';
5
5
  import { l as logger } from '../shared/cli-nightly.B9AmABr3.mjs';
6
- import { c as cwdArgs } from '../shared/cli-nightly.zfJwcksB.mjs';
6
+ import { c as cwdArgs } from '../shared/cli-nightly.BviJi7Ra.mjs';
7
7
  import { g as getNuxtVersion, f as fetchModules, c as checkNuxtCompatibility } from '../shared/cli-nightly.jA1DRKbi.mjs';
8
8
  import 'consola';
9
9
  import 'node:path';
@@ -2,7 +2,7 @@ import process from 'node:process';
2
2
  import { defineCommand } from 'citty';
3
3
  import { resolve } from 'pathe';
4
4
  import { l as logger } from '../shared/cli-nightly.B9AmABr3.mjs';
5
- import { l as legacyRootDirArgs, a as logLevelArgs, c as cwdArgs } from '../shared/cli-nightly.zfJwcksB.mjs';
5
+ import { l as legacyRootDirArgs, a as logLevelArgs, c as cwdArgs } from '../shared/cli-nightly.BviJi7Ra.mjs';
6
6
  import 'consola';
7
7
  import 'node:path';
8
8
  import 'std-env';
@@ -6,7 +6,7 @@ import { readTSConfig } from 'pkg-types';
6
6
  import { isBun } from 'std-env';
7
7
  import { x } from 'tinyexec';
8
8
  import { l as loadKit } from '../shared/cli-nightly.qKvs7FJ2.mjs';
9
- import { l as legacyRootDirArgs, e as extendsArgs, d as dotEnvArgs, a as logLevelArgs, c as cwdArgs } from '../shared/cli-nightly.zfJwcksB.mjs';
9
+ import { l as legacyRootDirArgs, e as extendsArgs, d as dotEnvArgs, a as logLevelArgs, c as cwdArgs } from '../shared/cli-nightly.BviJi7Ra.mjs';
10
10
  import 'node:url';
11
11
  import 'node:path';
12
12
  import 'consola';
@@ -9,7 +9,7 @@ import { l as loadKit } from '../shared/cli-nightly.qKvs7FJ2.mjs';
9
9
  import { l as logger } from '../shared/cli-nightly.B9AmABr3.mjs';
10
10
  import { c as cleanupNuxtDirs, n as nuxtVersionToGitIdentifier } from '../shared/cli-nightly.Bu_9IHj2.mjs';
11
11
  import { g as getPackageManagerVersion } from '../shared/cli-nightly.BSm0_9Hr.mjs';
12
- import { l as legacyRootDirArgs, a as logLevelArgs, c as cwdArgs } from '../shared/cli-nightly.zfJwcksB.mjs';
12
+ import { l as legacyRootDirArgs, a as logLevelArgs, c as cwdArgs } from '../shared/cli-nightly.BviJi7Ra.mjs';
13
13
  import 'node:url';
14
14
  import 'exsolve';
15
15
  import 'consola';
@@ -2,15 +2,15 @@ export { i as initialize } from '../chunks/index.mjs';
2
2
  import 'node:process';
3
3
  import 'defu';
4
4
  import 'listhen';
5
- import 'node:fs';
6
5
  import 'node:http';
7
- import 'node:os';
8
- import 'pathe';
6
+ import 'get-port-please';
9
7
  import 'node:events';
8
+ import 'node:fs';
10
9
  import 'node:fs/promises';
11
10
  import 'node:url';
12
11
  import 'exsolve';
13
12
  import 'h3';
13
+ import 'pathe';
14
14
  import 'perfect-debounce';
15
15
  import 'std-env';
16
16
  import 'ufo';
package/dist/index.mjs CHANGED
@@ -1,4 +1,4 @@
1
- export { m as main, r as runCommand, h as runMain } from './shared/cli-nightly.zfJwcksB.mjs';
1
+ export { m as main, r as runCommand, h as runMain } from './shared/cli-nightly.BviJi7Ra.mjs';
2
2
  import 'node:path';
3
3
  import 'node:process';
4
4
  import 'citty';
@@ -128,7 +128,7 @@ async function checkEngines() {
128
128
  }
129
129
 
130
130
  const name = "@nuxt/cli-nightly";
131
- const version = "3.26.3-20250720-161528-23ec0e3";
131
+ const version = "3.26.3-20250720-164539-7ba5063";
132
132
  const description = "Nuxt CLI";
133
133
 
134
134
  const main = defineCommand({
@@ -1,11 +1,11 @@
1
1
  import process from 'node:process';
2
2
  import { fileURLToPath } from 'node:url';
3
3
  import { defineCommand, runCommand as runCommand$1 } from 'citty';
4
- import { f as commands, c as cwdArgs, s as setupGlobalConsole, g as checkEngines } from './cli-nightly.zfJwcksB.mjs';
4
+ import { f as commands, c as cwdArgs, s as setupGlobalConsole, g as checkEngines } from './cli-nightly.BviJi7Ra.mjs';
5
5
  import nodeCrypto from 'node:crypto';
6
6
  import { resolve } from 'node:path';
7
7
  import { provider } from 'std-env';
8
- import { d as description, v as version, n as name } from './cli-nightly.DORCgA1r.mjs';
8
+ import { d as description, v as version, n as name } from './cli-nightly.dcvlkhJ0.mjs';
9
9
  import { l as logger } from './cli-nightly.B9AmABr3.mjs';
10
10
 
11
11
  if (!globalThis.crypto) {
@@ -1,5 +1,5 @@
1
1
  const name = "nuxi-nightly";
2
- const version = "3.26.3-20250720-161508-23ec0e3";
2
+ const version = "3.26.3-20250720-164519-7ba5063";
3
3
  const description = "Nuxt CLI";
4
4
 
5
5
  export { description as d, name as n, version as v };
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@nuxt/cli-nightly",
3
3
  "type": "module",
4
- "version": "3.26.3-20250720-161528-23ec0e3",
4
+ "version": "3.26.3-20250720-164539-7ba5063",
5
5
  "description": "Nuxt CLI",
6
6
  "license": "MIT",
7
7
  "repository": {
@@ -41,6 +41,7 @@
41
41
  "defu": "^6.1.4",
42
42
  "exsolve": "^1.0.7",
43
43
  "fuse.js": "^7.1.0",
44
+ "get-port-please": "^3.2.0",
44
45
  "giget": "^2.0.0",
45
46
  "h3": "^1.15.3",
46
47
  "httpxy": "^0.1.7",
@@ -63,7 +64,6 @@
63
64
  "@nuxt/kit": "^4.0.0",
64
65
  "@nuxt/schema": "^4.0.0",
65
66
  "@types/node": "^22.16.3",
66
- "get-port-please": "^3.2.0",
67
67
  "rollup": "^4.45.0",
68
68
  "rollup-plugin-visualizer": "^6.0.3",
69
69
  "typescript": "^5.8.3",