vite 4.0.4 → 4.1.0-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of vite might be problematic. Click here for more details.
- package/LICENSE.md +26 -0
- package/dist/client/client.mjs +1 -1
- package/dist/client/client.mjs.map +1 -1
- package/dist/node/chunks/{dep-3049ac5d.js → dep-41ca0ecb.js} +1 -1
- package/dist/node/chunks/{dep-5e7f419b.js → dep-5a9137b7.js} +215 -119
- package/dist/node/cli.js +5 -5
- package/dist/node/index.d.ts +3 -5
- package/dist/node/index.js +1 -1
- package/dist/node-cjs/publicUtils.cjs +7 -0
- package/package.json +8 -7
- package/types/metadata.d.ts +10 -0
package/LICENSE.md
CHANGED
|
@@ -1833,6 +1833,32 @@ Repository: git+https://github.com/isaacs/isexe.git
|
|
|
1833
1833
|
|
|
1834
1834
|
---------------------------------------
|
|
1835
1835
|
|
|
1836
|
+
## json-stable-stringify
|
|
1837
|
+
License: MIT
|
|
1838
|
+
By: James Halliday
|
|
1839
|
+
Repository: git://github.com/ljharb/json-stable-stringify.git
|
|
1840
|
+
|
|
1841
|
+
> This software is released under the MIT license:
|
|
1842
|
+
>
|
|
1843
|
+
> Permission is hereby granted, free of charge, to any person obtaining a copy of
|
|
1844
|
+
> this software and associated documentation files (the "Software"), to deal in
|
|
1845
|
+
> the Software without restriction, including without limitation the rights to
|
|
1846
|
+
> use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
|
|
1847
|
+
> the Software, and to permit persons to whom the Software is furnished to do so,
|
|
1848
|
+
> subject to the following conditions:
|
|
1849
|
+
>
|
|
1850
|
+
> The above copyright notice and this permission notice shall be included in all
|
|
1851
|
+
> copies or substantial portions of the Software.
|
|
1852
|
+
>
|
|
1853
|
+
> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
1854
|
+
> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
|
|
1855
|
+
> FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
|
|
1856
|
+
> COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
|
|
1857
|
+
> IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
|
1858
|
+
> CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
1859
|
+
|
|
1860
|
+
---------------------------------------
|
|
1861
|
+
|
|
1836
1862
|
## launch-editor
|
|
1837
1863
|
License: MIT
|
|
1838
1864
|
By: Evan You
|
package/dist/client/client.mjs
CHANGED
|
@@ -207,7 +207,7 @@ console.debug('[vite] connecting...');
|
|
|
207
207
|
const importMetaUrl = new URL(import.meta.url);
|
|
208
208
|
// use server configuration, then fallback to inference
|
|
209
209
|
const serverHost = __SERVER_HOST__;
|
|
210
|
-
const socketProtocol = __HMR_PROTOCOL__ || (
|
|
210
|
+
const socketProtocol = __HMR_PROTOCOL__ || (importMetaUrl.protocol === 'https:' ? 'wss' : 'ws');
|
|
211
211
|
const hmrPort = __HMR_PORT__;
|
|
212
212
|
const socketHost = `${__HMR_HOSTNAME__ || importMetaUrl.hostname}:${hmrPort || importMetaUrl.port}${__HMR_BASE__}`;
|
|
213
213
|
const directSocketHost = __HMR_DIRECT_TARGET__;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.mjs","sources":["../../src/client/overlay.ts","../../src/client/client.ts"],"sourcesContent":["import type { ErrorPayload } from 'types/hmrPayload'\n\n// injected by the hmr plugin when served\ndeclare const __BASE__: string\n\nconst base = __BASE__ || '/'\n\n// set :host styles to make playwright detect the element as visible\nconst template = /*html*/ `\n<style>\n:host {\n position: fixed;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n z-index: 99999;\n --monospace: 'SFMono-Regular', Consolas,\n 'Liberation Mono', Menlo, Courier, monospace;\n --red: #ff5555;\n --yellow: #e2aa53;\n --purple: #cfa4ff;\n --cyan: #2dd9da;\n --dim: #c9c9c9;\n\n --window-background: #181818;\n --window-color: #d8d8d8;\n}\n\n.backdrop {\n position: fixed;\n z-index: 99999;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n overflow-y: scroll;\n margin: 0;\n background: rgba(0, 0, 0, 0.66);\n}\n\n.window {\n font-family: var(--monospace);\n line-height: 1.5;\n width: 800px;\n color: var(--window-color);\n margin: 30px auto;\n padding: 25px 40px;\n position: relative;\n background: var(--window-background);\n border-radius: 6px 6px 8px 8px;\n box-shadow: 0 19px 38px rgba(0,0,0,0.30), 0 15px 12px rgba(0,0,0,0.22);\n overflow: hidden;\n border-top: 8px solid var(--red);\n direction: ltr;\n text-align: left;\n}\n\npre {\n font-family: var(--monospace);\n font-size: 16px;\n margin-top: 0;\n margin-bottom: 1em;\n overflow-x: scroll;\n scrollbar-width: none;\n}\n\npre::-webkit-scrollbar {\n display: none;\n}\n\n.message {\n line-height: 1.3;\n font-weight: 600;\n white-space: pre-wrap;\n}\n\n.message-body {\n color: var(--red);\n}\n\n.plugin {\n color: var(--purple);\n}\n\n.file {\n color: var(--cyan);\n margin-bottom: 0;\n white-space: pre-wrap;\n word-break: break-all;\n}\n\n.frame {\n color: var(--yellow);\n}\n\n.stack {\n font-size: 13px;\n color: var(--dim);\n}\n\n.tip {\n font-size: 13px;\n color: #999;\n border-top: 1px dotted #999;\n padding-top: 13px;\n}\n\ncode {\n font-size: 13px;\n font-family: var(--monospace);\n color: var(--yellow);\n}\n\n.file-link {\n text-decoration: underline;\n cursor: pointer;\n}\n</style>\n<div class=\"backdrop\" part=\"backdrop\">\n <div class=\"window\" part=\"window\">\n <pre class=\"message\" part=\"message\"><span class=\"plugin\"></span><span class=\"message-body\"></span></pre>\n <pre class=\"file\" part=\"file\"></pre>\n <pre class=\"frame\" part=\"frame\"></pre>\n <pre class=\"stack\" part=\"stack\"></pre>\n <div class=\"tip\" part=\"tip\">\n Click outside or fix the code to dismiss.<br>\n You can also disable this overlay by setting\n <code>server.hmr.overlay</code> to <code>false</code> in <code>vite.config.js.</code>\n </div>\n </div>\n</div>\n`\n\nconst fileRE = /(?:[a-zA-Z]:\\\\|\\/).*?:\\d+:\\d+/g\nconst codeframeRE = /^(?:>?\\s+\\d+\\s+\\|.*|\\s+\\|\\s*\\^.*)\\r?\\n/gm\n\n// Allow `ErrorOverlay` to extend `HTMLElement` even in environments where\n// `HTMLElement` was not originally defined.\nconst { HTMLElement = class {} as typeof globalThis.HTMLElement } = globalThis\nexport class ErrorOverlay extends HTMLElement {\n root: ShadowRoot\n\n constructor(err: ErrorPayload['err'], links = true) {\n super()\n this.root = this.attachShadow({ mode: 'open' })\n this.root.innerHTML = template\n\n codeframeRE.lastIndex = 0\n const hasFrame = err.frame && codeframeRE.test(err.frame)\n const message = hasFrame\n ? err.message.replace(codeframeRE, '')\n : err.message\n if (err.plugin) {\n this.text('.plugin', `[plugin:${err.plugin}] `)\n }\n this.text('.message-body', message.trim())\n\n const [file] = (err.loc?.file || err.id || 'unknown file').split(`?`)\n if (err.loc) {\n this.text('.file', `${file}:${err.loc.line}:${err.loc.column}`, links)\n } else if (err.id) {\n this.text('.file', file)\n }\n\n if (hasFrame) {\n this.text('.frame', err.frame!.trim())\n }\n this.text('.stack', err.stack, links)\n\n this.root.querySelector('.window')!.addEventListener('click', (e) => {\n e.stopPropagation()\n })\n this.addEventListener('click', () => {\n this.close()\n })\n }\n\n text(selector: string, text: string, linkFiles = false): void {\n const el = this.root.querySelector(selector)!\n if (!linkFiles) {\n el.textContent = text\n } else {\n let curIndex = 0\n let match: RegExpExecArray | null\n fileRE.lastIndex = 0\n while ((match = fileRE.exec(text))) {\n const { 0: file, index } = match\n if (index != null) {\n const frag = text.slice(curIndex, index)\n el.appendChild(document.createTextNode(frag))\n const link = document.createElement('a')\n link.textContent = file\n link.className = 'file-link'\n link.onclick = () => {\n fetch(`${base}__open-in-editor?file=` + encodeURIComponent(file))\n }\n el.appendChild(link)\n curIndex += frag.length + file.length\n }\n }\n }\n }\n\n close(): void {\n this.parentNode?.removeChild(this)\n }\n}\n\nexport const overlayId = 'vite-error-overlay'\nconst { customElements } = globalThis // Ensure `customElements` is defined before the next line.\nif (customElements && !customElements.get(overlayId)) {\n customElements.define(overlayId, ErrorOverlay)\n}\n","import type { ErrorPayload, HMRPayload, Update } from 'types/hmrPayload'\nimport type { ModuleNamespace, ViteHotContext } from 'types/hot'\nimport type { InferCustomEventPayload } from 'types/customEvent'\nimport { ErrorOverlay, overlayId } from './overlay'\n// eslint-disable-next-line node/no-missing-import\nimport '@vite/env'\n\n// injected by the hmr plugin when served\ndeclare const __BASE__: string\ndeclare const __SERVER_HOST__: string\ndeclare const __HMR_PROTOCOL__: string | null\ndeclare const __HMR_HOSTNAME__: string | null\ndeclare const __HMR_PORT__: number | null\ndeclare const __HMR_DIRECT_TARGET__: string\ndeclare const __HMR_BASE__: string\ndeclare const __HMR_TIMEOUT__: number\ndeclare const __HMR_ENABLE_OVERLAY__: boolean\n\nconsole.debug('[vite] connecting...')\n\nconst importMetaUrl = new URL(import.meta.url)\n\n// use server configuration, then fallback to inference\nconst serverHost = __SERVER_HOST__\nconst socketProtocol =\n __HMR_PROTOCOL__ || (location.protocol === 'https:' ? 'wss' : 'ws')\nconst hmrPort = __HMR_PORT__\nconst socketHost = `${__HMR_HOSTNAME__ || importMetaUrl.hostname}:${\n hmrPort || importMetaUrl.port\n}${__HMR_BASE__}`\nconst directSocketHost = __HMR_DIRECT_TARGET__\nconst base = __BASE__ || '/'\nconst messageBuffer: string[] = []\n\nlet socket: WebSocket\ntry {\n let fallback: (() => void) | undefined\n // only use fallback when port is inferred to prevent confusion\n if (!hmrPort) {\n fallback = () => {\n // fallback to connecting directly to the hmr server\n // for servers which does not support proxying websocket\n socket = setupWebSocket(socketProtocol, directSocketHost, () => {\n const currentScriptHostURL = new URL(import.meta.url)\n const currentScriptHost =\n currentScriptHostURL.host +\n currentScriptHostURL.pathname.replace(/@vite\\/client$/, '')\n console.error(\n '[vite] failed to connect to websocket.\\n' +\n 'your current setup:\\n' +\n ` (browser) ${currentScriptHost} <--[HTTP]--> ${serverHost} (server)\\n` +\n ` (browser) ${socketHost} <--[WebSocket (failing)]--> ${directSocketHost} (server)\\n` +\n 'Check out your Vite / network configuration and https://vitejs.dev/config/server-options.html#server-hmr .',\n )\n })\n socket.addEventListener(\n 'open',\n () => {\n console.info(\n '[vite] Direct websocket connection fallback. Check out https://vitejs.dev/config/server-options.html#server-hmr to remove the previous connection error.',\n )\n },\n { once: true },\n )\n }\n }\n\n socket = setupWebSocket(socketProtocol, socketHost, fallback)\n} catch (error) {\n console.error(`[vite] failed to connect to websocket (${error}). `)\n}\n\nfunction setupWebSocket(\n protocol: string,\n hostAndPath: string,\n onCloseWithoutOpen?: () => void,\n) {\n const socket = new WebSocket(`${protocol}://${hostAndPath}`, 'vite-hmr')\n let isOpened = false\n\n socket.addEventListener(\n 'open',\n () => {\n isOpened = true\n },\n { once: true },\n )\n\n // Listen for messages\n socket.addEventListener('message', async ({ data }) => {\n handleMessage(JSON.parse(data))\n })\n\n // ping server\n socket.addEventListener('close', async ({ wasClean }) => {\n if (wasClean) return\n\n if (!isOpened && onCloseWithoutOpen) {\n onCloseWithoutOpen()\n return\n }\n\n console.log(`[vite] server connection lost. polling for restart...`)\n await waitForSuccessfulPing(protocol, hostAndPath)\n location.reload()\n })\n\n return socket\n}\n\nfunction warnFailedFetch(err: Error, path: string | string[]) {\n if (!err.message.match('fetch')) {\n console.error(err)\n }\n console.error(\n `[hmr] Failed to reload ${path}. ` +\n `This could be due to syntax errors or importing non-existent ` +\n `modules. (see errors above)`,\n )\n}\n\nfunction cleanUrl(pathname: string): string {\n const url = new URL(pathname, location.toString())\n url.searchParams.delete('direct')\n return url.pathname + url.search\n}\n\nlet isFirstUpdate = true\nconst outdatedLinkTags = new WeakSet<HTMLLinkElement>()\n\nasync function handleMessage(payload: HMRPayload) {\n switch (payload.type) {\n case 'connected':\n console.debug(`[vite] connected.`)\n sendMessageBuffer()\n // proxy(nginx, docker) hmr ws maybe caused timeout,\n // so send ping package let ws keep alive.\n setInterval(() => {\n if (socket.readyState === socket.OPEN) {\n socket.send('{\"type\":\"ping\"}')\n }\n }, __HMR_TIMEOUT__)\n break\n case 'update':\n notifyListeners('vite:beforeUpdate', payload)\n // if this is the first update and there's already an error overlay, it\n // means the page opened with existing server compile error and the whole\n // module script failed to load (since one of the nested imports is 500).\n // in this case a normal update won't work and a full reload is needed.\n if (isFirstUpdate && hasErrorOverlay()) {\n window.location.reload()\n return\n } else {\n clearErrorOverlay()\n isFirstUpdate = false\n }\n await Promise.all(\n payload.updates.map(async (update): Promise<void> => {\n if (update.type === 'js-update') {\n return queueUpdate(fetchUpdate(update))\n }\n\n // css-update\n // this is only sent when a css file referenced with <link> is updated\n const { path, timestamp } = update\n const searchUrl = cleanUrl(path)\n // can't use querySelector with `[href*=]` here since the link may be\n // using relative paths so we need to use link.href to grab the full\n // URL for the include check.\n const el = Array.from(\n document.querySelectorAll<HTMLLinkElement>('link'),\n ).find(\n (e) =>\n !outdatedLinkTags.has(e) && cleanUrl(e.href).includes(searchUrl),\n )\n\n if (!el) {\n return\n }\n\n const newPath = `${base}${searchUrl.slice(1)}${\n searchUrl.includes('?') ? '&' : '?'\n }t=${timestamp}`\n\n // rather than swapping the href on the existing tag, we will\n // create a new link tag. Once the new stylesheet has loaded we\n // will remove the existing link tag. This removes a Flash Of\n // Unstyled Content that can occur when swapping out the tag href\n // directly, as the new stylesheet has not yet been loaded.\n return new Promise((resolve) => {\n const newLinkTag = el.cloneNode() as HTMLLinkElement\n newLinkTag.href = new URL(newPath, el.href).href\n const removeOldEl = () => {\n el.remove()\n console.debug(`[vite] css hot updated: ${searchUrl}`)\n resolve()\n }\n newLinkTag.addEventListener('load', removeOldEl)\n newLinkTag.addEventListener('error', removeOldEl)\n outdatedLinkTags.add(el)\n el.after(newLinkTag)\n })\n }),\n )\n notifyListeners('vite:afterUpdate', payload)\n break\n case 'custom': {\n notifyListeners(payload.event, payload.data)\n break\n }\n case 'full-reload':\n notifyListeners('vite:beforeFullReload', payload)\n if (payload.path && payload.path.endsWith('.html')) {\n // if html file is edited, only reload the page if the browser is\n // currently on that page.\n const pagePath = decodeURI(location.pathname)\n const payloadPath = base + payload.path.slice(1)\n if (\n pagePath === payloadPath ||\n payload.path === '/index.html' ||\n (pagePath.endsWith('/') && pagePath + 'index.html' === payloadPath)\n ) {\n location.reload()\n }\n return\n } else {\n location.reload()\n }\n break\n case 'prune':\n notifyListeners('vite:beforePrune', payload)\n // After an HMR update, some modules are no longer imported on the page\n // but they may have left behind side effects that need to be cleaned up\n // (.e.g style injections)\n // TODO Trigger their dispose callbacks.\n payload.paths.forEach((path) => {\n const fn = pruneMap.get(path)\n if (fn) {\n fn(dataMap.get(path))\n }\n })\n break\n case 'error': {\n notifyListeners('vite:error', payload)\n const err = payload.err\n if (enableOverlay) {\n createErrorOverlay(err)\n } else {\n console.error(\n `[vite] Internal Server Error\\n${err.message}\\n${err.stack}`,\n )\n }\n break\n }\n default: {\n const check: never = payload\n return check\n }\n }\n}\n\nfunction notifyListeners<T extends string>(\n event: T,\n data: InferCustomEventPayload<T>,\n): void\nfunction notifyListeners(event: string, data: any): void {\n const cbs = customListenersMap.get(event)\n if (cbs) {\n cbs.forEach((cb) => cb(data))\n }\n}\n\nconst enableOverlay = __HMR_ENABLE_OVERLAY__\n\nfunction createErrorOverlay(err: ErrorPayload['err']) {\n if (!enableOverlay) return\n clearErrorOverlay()\n document.body.appendChild(new ErrorOverlay(err))\n}\n\nfunction clearErrorOverlay() {\n document\n .querySelectorAll(overlayId)\n .forEach((n) => (n as ErrorOverlay).close())\n}\n\nfunction hasErrorOverlay() {\n return document.querySelectorAll(overlayId).length\n}\n\nlet pending = false\nlet queued: Promise<(() => void) | undefined>[] = []\n\n/**\n * buffer multiple hot updates triggered by the same src change\n * so that they are invoked in the same order they were sent.\n * (otherwise the order may be inconsistent because of the http request round trip)\n */\nasync function queueUpdate(p: Promise<(() => void) | undefined>) {\n queued.push(p)\n if (!pending) {\n pending = true\n await Promise.resolve()\n pending = false\n const loading = [...queued]\n queued = []\n ;(await Promise.all(loading)).forEach((fn) => fn && fn())\n }\n}\n\nasync function waitForSuccessfulPing(\n socketProtocol: string,\n hostAndPath: string,\n ms = 1000,\n) {\n const pingHostProtocol = socketProtocol === 'wss' ? 'https' : 'http'\n\n // eslint-disable-next-line no-constant-condition\n while (true) {\n try {\n // A fetch on a websocket URL will return a successful promise with status 400,\n // but will reject a networking error.\n // When running on middleware mode, it returns status 426, and an cors error happens if mode is not no-cors\n await fetch(`${pingHostProtocol}://${hostAndPath}`, {\n mode: 'no-cors',\n })\n break\n } catch (e) {\n // wait ms before attempting to ping again\n await new Promise((resolve) => setTimeout(resolve, ms))\n }\n }\n}\n\n// https://wicg.github.io/construct-stylesheets\nconst supportsConstructedSheet = (() => {\n // TODO: re-enable this try block once Chrome fixes the performance of\n // rule insertion in really big stylesheets\n // try {\n // new CSSStyleSheet()\n // return true\n // } catch (e) {}\n return false\n})()\n\nconst sheetsMap = new Map<\n string,\n HTMLStyleElement | CSSStyleSheet | undefined\n>()\n\nexport function updateStyle(id: string, content: string): void {\n let style = sheetsMap.get(id)\n if (supportsConstructedSheet && !content.includes('@import')) {\n if (style && !(style instanceof CSSStyleSheet)) {\n removeStyle(id)\n style = undefined\n }\n\n if (!style) {\n style = new CSSStyleSheet()\n style.replaceSync(content)\n document.adoptedStyleSheets = [...document.adoptedStyleSheets, style]\n } else {\n style.replaceSync(content)\n }\n } else {\n if (style && !(style instanceof HTMLStyleElement)) {\n removeStyle(id)\n style = undefined\n }\n\n if (!style) {\n style = document.createElement('style')\n style.setAttribute('type', 'text/css')\n style.setAttribute('data-vite-dev-id', id)\n style.textContent = content\n document.head.appendChild(style)\n } else {\n style.textContent = content\n }\n }\n sheetsMap.set(id, style)\n}\n\nexport function removeStyle(id: string): void {\n const style = sheetsMap.get(id)\n if (style) {\n if (style instanceof CSSStyleSheet) {\n document.adoptedStyleSheets = document.adoptedStyleSheets.filter(\n (s: CSSStyleSheet) => s !== style,\n )\n } else {\n document.head.removeChild(style)\n }\n sheetsMap.delete(id)\n }\n}\n\nasync function fetchUpdate({\n path,\n acceptedPath,\n timestamp,\n explicitImportRequired,\n}: Update) {\n const mod = hotModulesMap.get(path)\n if (!mod) {\n // In a code-splitting project,\n // it is common that the hot-updating module is not loaded yet.\n // https://github.com/vitejs/vite/issues/721\n return\n }\n\n let fetchedModule: ModuleNamespace | undefined\n const isSelfUpdate = path === acceptedPath\n\n // determine the qualified callbacks before we re-import the modules\n const qualifiedCallbacks = mod.callbacks.filter(({ deps }) =>\n deps.includes(acceptedPath),\n )\n\n if (isSelfUpdate || qualifiedCallbacks.length > 0) {\n const disposer = disposeMap.get(acceptedPath)\n if (disposer) await disposer(dataMap.get(acceptedPath))\n const [acceptedPathWithoutQuery, query] = acceptedPath.split(`?`)\n try {\n fetchedModule = await import(\n /* @vite-ignore */\n base +\n acceptedPathWithoutQuery.slice(1) +\n `?${explicitImportRequired ? 'import&' : ''}t=${timestamp}${\n query ? `&${query}` : ''\n }`\n )\n } catch (e) {\n warnFailedFetch(e, acceptedPath)\n }\n }\n\n return () => {\n for (const { deps, fn } of qualifiedCallbacks) {\n fn(deps.map((dep) => (dep === acceptedPath ? fetchedModule : undefined)))\n }\n const loggedPath = isSelfUpdate ? path : `${acceptedPath} via ${path}`\n console.debug(`[vite] hot updated: ${loggedPath}`)\n }\n}\n\nfunction sendMessageBuffer() {\n if (socket.readyState === 1) {\n messageBuffer.forEach((msg) => socket.send(msg))\n messageBuffer.length = 0\n }\n}\n\ninterface HotModule {\n id: string\n callbacks: HotCallback[]\n}\n\ninterface HotCallback {\n // the dependencies must be fetchable paths\n deps: string[]\n fn: (modules: Array<ModuleNamespace | undefined>) => void\n}\n\ntype CustomListenersMap = Map<string, ((data: any) => void)[]>\n\nconst hotModulesMap = new Map<string, HotModule>()\nconst disposeMap = new Map<string, (data: any) => void | Promise<void>>()\nconst pruneMap = new Map<string, (data: any) => void | Promise<void>>()\nconst dataMap = new Map<string, any>()\nconst customListenersMap: CustomListenersMap = new Map()\nconst ctxToListenersMap = new Map<string, CustomListenersMap>()\n\nexport function createHotContext(ownerPath: string): ViteHotContext {\n if (!dataMap.has(ownerPath)) {\n dataMap.set(ownerPath, {})\n }\n\n // when a file is hot updated, a new context is created\n // clear its stale callbacks\n const mod = hotModulesMap.get(ownerPath)\n if (mod) {\n mod.callbacks = []\n }\n\n // clear stale custom event listeners\n const staleListeners = ctxToListenersMap.get(ownerPath)\n if (staleListeners) {\n for (const [event, staleFns] of staleListeners) {\n const listeners = customListenersMap.get(event)\n if (listeners) {\n customListenersMap.set(\n event,\n listeners.filter((l) => !staleFns.includes(l)),\n )\n }\n }\n }\n\n const newListeners: CustomListenersMap = new Map()\n ctxToListenersMap.set(ownerPath, newListeners)\n\n function acceptDeps(deps: string[], callback: HotCallback['fn'] = () => {}) {\n const mod: HotModule = hotModulesMap.get(ownerPath) || {\n id: ownerPath,\n callbacks: [],\n }\n mod.callbacks.push({\n deps,\n fn: callback,\n })\n hotModulesMap.set(ownerPath, mod)\n }\n\n const hot: ViteHotContext = {\n get data() {\n return dataMap.get(ownerPath)\n },\n\n accept(deps?: any, callback?: any) {\n if (typeof deps === 'function' || !deps) {\n // self-accept: hot.accept(() => {})\n acceptDeps([ownerPath], ([mod]) => deps?.(mod))\n } else if (typeof deps === 'string') {\n // explicit deps\n acceptDeps([deps], ([mod]) => callback?.(mod))\n } else if (Array.isArray(deps)) {\n acceptDeps(deps, callback)\n } else {\n throw new Error(`invalid hot.accept() usage.`)\n }\n },\n\n // export names (first arg) are irrelevant on the client side, they're\n // extracted in the server for propagation\n acceptExports(_, callback) {\n acceptDeps([ownerPath], ([mod]) => callback?.(mod))\n },\n\n dispose(cb) {\n disposeMap.set(ownerPath, cb)\n },\n\n prune(cb) {\n pruneMap.set(ownerPath, cb)\n },\n\n // Kept for backward compatibility (#11036)\n // @ts-expect-error untyped\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n decline() {},\n\n // tell the server to re-perform hmr propagation from this module as root\n invalidate(message) {\n notifyListeners('vite:invalidate', { path: ownerPath, message })\n this.send('vite:invalidate', { path: ownerPath, message })\n console.debug(\n `[vite] invalidate ${ownerPath}${message ? `: ${message}` : ''}`,\n )\n },\n\n // custom events\n on(event, cb) {\n const addToMap = (map: Map<string, any[]>) => {\n const existing = map.get(event) || []\n existing.push(cb)\n map.set(event, existing)\n }\n addToMap(customListenersMap)\n addToMap(newListeners)\n },\n\n send(event, data) {\n messageBuffer.push(JSON.stringify({ type: 'custom', event, data }))\n sendMessageBuffer()\n },\n }\n\n return hot\n}\n\n/**\n * urls here are dynamic import() urls that couldn't be statically analyzed\n */\nexport function injectQuery(url: string, queryToInject: string): string {\n // skip urls that won't be handled by vite\n if (!url.startsWith('.') && !url.startsWith('/')) {\n return url\n }\n\n // can't use pathname from URL since it may be relative like ../\n const pathname = url.replace(/#.*$/, '').replace(/\\?.*$/, '')\n const { search, hash } = new URL(url, 'http://vitejs.dev')\n\n return `${pathname}?${queryToInject}${search ? `&` + search.slice(1) : ''}${\n hash || ''\n }`\n}\n\nexport { ErrorOverlay }\n"],"names":["base"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"client.mjs","sources":["../../src/client/overlay.ts","../../src/client/client.ts"],"sourcesContent":["import type { ErrorPayload } from 'types/hmrPayload'\n\n// injected by the hmr plugin when served\ndeclare const __BASE__: string\n\nconst base = __BASE__ || '/'\n\n// set :host styles to make playwright detect the element as visible\nconst template = /*html*/ `\n<style>\n:host {\n position: fixed;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n z-index: 99999;\n --monospace: 'SFMono-Regular', Consolas,\n 'Liberation Mono', Menlo, Courier, monospace;\n --red: #ff5555;\n --yellow: #e2aa53;\n --purple: #cfa4ff;\n --cyan: #2dd9da;\n --dim: #c9c9c9;\n\n --window-background: #181818;\n --window-color: #d8d8d8;\n}\n\n.backdrop {\n position: fixed;\n z-index: 99999;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n overflow-y: scroll;\n margin: 0;\n background: rgba(0, 0, 0, 0.66);\n}\n\n.window {\n font-family: var(--monospace);\n line-height: 1.5;\n width: 800px;\n color: var(--window-color);\n margin: 30px auto;\n padding: 25px 40px;\n position: relative;\n background: var(--window-background);\n border-radius: 6px 6px 8px 8px;\n box-shadow: 0 19px 38px rgba(0,0,0,0.30), 0 15px 12px rgba(0,0,0,0.22);\n overflow: hidden;\n border-top: 8px solid var(--red);\n direction: ltr;\n text-align: left;\n}\n\npre {\n font-family: var(--monospace);\n font-size: 16px;\n margin-top: 0;\n margin-bottom: 1em;\n overflow-x: scroll;\n scrollbar-width: none;\n}\n\npre::-webkit-scrollbar {\n display: none;\n}\n\n.message {\n line-height: 1.3;\n font-weight: 600;\n white-space: pre-wrap;\n}\n\n.message-body {\n color: var(--red);\n}\n\n.plugin {\n color: var(--purple);\n}\n\n.file {\n color: var(--cyan);\n margin-bottom: 0;\n white-space: pre-wrap;\n word-break: break-all;\n}\n\n.frame {\n color: var(--yellow);\n}\n\n.stack {\n font-size: 13px;\n color: var(--dim);\n}\n\n.tip {\n font-size: 13px;\n color: #999;\n border-top: 1px dotted #999;\n padding-top: 13px;\n}\n\ncode {\n font-size: 13px;\n font-family: var(--monospace);\n color: var(--yellow);\n}\n\n.file-link {\n text-decoration: underline;\n cursor: pointer;\n}\n</style>\n<div class=\"backdrop\" part=\"backdrop\">\n <div class=\"window\" part=\"window\">\n <pre class=\"message\" part=\"message\"><span class=\"plugin\"></span><span class=\"message-body\"></span></pre>\n <pre class=\"file\" part=\"file\"></pre>\n <pre class=\"frame\" part=\"frame\"></pre>\n <pre class=\"stack\" part=\"stack\"></pre>\n <div class=\"tip\" part=\"tip\">\n Click outside or fix the code to dismiss.<br>\n You can also disable this overlay by setting\n <code>server.hmr.overlay</code> to <code>false</code> in <code>vite.config.js.</code>\n </div>\n </div>\n</div>\n`\n\nconst fileRE = /(?:[a-zA-Z]:\\\\|\\/).*?:\\d+:\\d+/g\nconst codeframeRE = /^(?:>?\\s+\\d+\\s+\\|.*|\\s+\\|\\s*\\^.*)\\r?\\n/gm\n\n// Allow `ErrorOverlay` to extend `HTMLElement` even in environments where\n// `HTMLElement` was not originally defined.\nconst { HTMLElement = class {} as typeof globalThis.HTMLElement } = globalThis\nexport class ErrorOverlay extends HTMLElement {\n root: ShadowRoot\n\n constructor(err: ErrorPayload['err'], links = true) {\n super()\n this.root = this.attachShadow({ mode: 'open' })\n this.root.innerHTML = template\n\n codeframeRE.lastIndex = 0\n const hasFrame = err.frame && codeframeRE.test(err.frame)\n const message = hasFrame\n ? err.message.replace(codeframeRE, '')\n : err.message\n if (err.plugin) {\n this.text('.plugin', `[plugin:${err.plugin}] `)\n }\n this.text('.message-body', message.trim())\n\n const [file] = (err.loc?.file || err.id || 'unknown file').split(`?`)\n if (err.loc) {\n this.text('.file', `${file}:${err.loc.line}:${err.loc.column}`, links)\n } else if (err.id) {\n this.text('.file', file)\n }\n\n if (hasFrame) {\n this.text('.frame', err.frame!.trim())\n }\n this.text('.stack', err.stack, links)\n\n this.root.querySelector('.window')!.addEventListener('click', (e) => {\n e.stopPropagation()\n })\n this.addEventListener('click', () => {\n this.close()\n })\n }\n\n text(selector: string, text: string, linkFiles = false): void {\n const el = this.root.querySelector(selector)!\n if (!linkFiles) {\n el.textContent = text\n } else {\n let curIndex = 0\n let match: RegExpExecArray | null\n fileRE.lastIndex = 0\n while ((match = fileRE.exec(text))) {\n const { 0: file, index } = match\n if (index != null) {\n const frag = text.slice(curIndex, index)\n el.appendChild(document.createTextNode(frag))\n const link = document.createElement('a')\n link.textContent = file\n link.className = 'file-link'\n link.onclick = () => {\n fetch(`${base}__open-in-editor?file=` + encodeURIComponent(file))\n }\n el.appendChild(link)\n curIndex += frag.length + file.length\n }\n }\n }\n }\n\n close(): void {\n this.parentNode?.removeChild(this)\n }\n}\n\nexport const overlayId = 'vite-error-overlay'\nconst { customElements } = globalThis // Ensure `customElements` is defined before the next line.\nif (customElements && !customElements.get(overlayId)) {\n customElements.define(overlayId, ErrorOverlay)\n}\n","import type { ErrorPayload, HMRPayload, Update } from 'types/hmrPayload'\nimport type { ModuleNamespace, ViteHotContext } from 'types/hot'\nimport type { InferCustomEventPayload } from 'types/customEvent'\nimport { ErrorOverlay, overlayId } from './overlay'\n// eslint-disable-next-line node/no-missing-import\nimport '@vite/env'\n\n// injected by the hmr plugin when served\ndeclare const __BASE__: string\ndeclare const __SERVER_HOST__: string\ndeclare const __HMR_PROTOCOL__: string | null\ndeclare const __HMR_HOSTNAME__: string | null\ndeclare const __HMR_PORT__: number | null\ndeclare const __HMR_DIRECT_TARGET__: string\ndeclare const __HMR_BASE__: string\ndeclare const __HMR_TIMEOUT__: number\ndeclare const __HMR_ENABLE_OVERLAY__: boolean\n\nconsole.debug('[vite] connecting...')\n\nconst importMetaUrl = new URL(import.meta.url)\n\n// use server configuration, then fallback to inference\nconst serverHost = __SERVER_HOST__\nconst socketProtocol =\n __HMR_PROTOCOL__ || (importMetaUrl.protocol === 'https:' ? 'wss' : 'ws')\nconst hmrPort = __HMR_PORT__\nconst socketHost = `${__HMR_HOSTNAME__ || importMetaUrl.hostname}:${\n hmrPort || importMetaUrl.port\n}${__HMR_BASE__}`\nconst directSocketHost = __HMR_DIRECT_TARGET__\nconst base = __BASE__ || '/'\nconst messageBuffer: string[] = []\n\nlet socket: WebSocket\ntry {\n let fallback: (() => void) | undefined\n // only use fallback when port is inferred to prevent confusion\n if (!hmrPort) {\n fallback = () => {\n // fallback to connecting directly to the hmr server\n // for servers which does not support proxying websocket\n socket = setupWebSocket(socketProtocol, directSocketHost, () => {\n const currentScriptHostURL = new URL(import.meta.url)\n const currentScriptHost =\n currentScriptHostURL.host +\n currentScriptHostURL.pathname.replace(/@vite\\/client$/, '')\n console.error(\n '[vite] failed to connect to websocket.\\n' +\n 'your current setup:\\n' +\n ` (browser) ${currentScriptHost} <--[HTTP]--> ${serverHost} (server)\\n` +\n ` (browser) ${socketHost} <--[WebSocket (failing)]--> ${directSocketHost} (server)\\n` +\n 'Check out your Vite / network configuration and https://vitejs.dev/config/server-options.html#server-hmr .',\n )\n })\n socket.addEventListener(\n 'open',\n () => {\n console.info(\n '[vite] Direct websocket connection fallback. Check out https://vitejs.dev/config/server-options.html#server-hmr to remove the previous connection error.',\n )\n },\n { once: true },\n )\n }\n }\n\n socket = setupWebSocket(socketProtocol, socketHost, fallback)\n} catch (error) {\n console.error(`[vite] failed to connect to websocket (${error}). `)\n}\n\nfunction setupWebSocket(\n protocol: string,\n hostAndPath: string,\n onCloseWithoutOpen?: () => void,\n) {\n const socket = new WebSocket(`${protocol}://${hostAndPath}`, 'vite-hmr')\n let isOpened = false\n\n socket.addEventListener(\n 'open',\n () => {\n isOpened = true\n },\n { once: true },\n )\n\n // Listen for messages\n socket.addEventListener('message', async ({ data }) => {\n handleMessage(JSON.parse(data))\n })\n\n // ping server\n socket.addEventListener('close', async ({ wasClean }) => {\n if (wasClean) return\n\n if (!isOpened && onCloseWithoutOpen) {\n onCloseWithoutOpen()\n return\n }\n\n console.log(`[vite] server connection lost. polling for restart...`)\n await waitForSuccessfulPing(protocol, hostAndPath)\n location.reload()\n })\n\n return socket\n}\n\nfunction warnFailedFetch(err: Error, path: string | string[]) {\n if (!err.message.match('fetch')) {\n console.error(err)\n }\n console.error(\n `[hmr] Failed to reload ${path}. ` +\n `This could be due to syntax errors or importing non-existent ` +\n `modules. (see errors above)`,\n )\n}\n\nfunction cleanUrl(pathname: string): string {\n const url = new URL(pathname, location.toString())\n url.searchParams.delete('direct')\n return url.pathname + url.search\n}\n\nlet isFirstUpdate = true\nconst outdatedLinkTags = new WeakSet<HTMLLinkElement>()\n\nasync function handleMessage(payload: HMRPayload) {\n switch (payload.type) {\n case 'connected':\n console.debug(`[vite] connected.`)\n sendMessageBuffer()\n // proxy(nginx, docker) hmr ws maybe caused timeout,\n // so send ping package let ws keep alive.\n setInterval(() => {\n if (socket.readyState === socket.OPEN) {\n socket.send('{\"type\":\"ping\"}')\n }\n }, __HMR_TIMEOUT__)\n break\n case 'update':\n notifyListeners('vite:beforeUpdate', payload)\n // if this is the first update and there's already an error overlay, it\n // means the page opened with existing server compile error and the whole\n // module script failed to load (since one of the nested imports is 500).\n // in this case a normal update won't work and a full reload is needed.\n if (isFirstUpdate && hasErrorOverlay()) {\n window.location.reload()\n return\n } else {\n clearErrorOverlay()\n isFirstUpdate = false\n }\n await Promise.all(\n payload.updates.map(async (update): Promise<void> => {\n if (update.type === 'js-update') {\n return queueUpdate(fetchUpdate(update))\n }\n\n // css-update\n // this is only sent when a css file referenced with <link> is updated\n const { path, timestamp } = update\n const searchUrl = cleanUrl(path)\n // can't use querySelector with `[href*=]` here since the link may be\n // using relative paths so we need to use link.href to grab the full\n // URL for the include check.\n const el = Array.from(\n document.querySelectorAll<HTMLLinkElement>('link'),\n ).find(\n (e) =>\n !outdatedLinkTags.has(e) && cleanUrl(e.href).includes(searchUrl),\n )\n\n if (!el) {\n return\n }\n\n const newPath = `${base}${searchUrl.slice(1)}${\n searchUrl.includes('?') ? '&' : '?'\n }t=${timestamp}`\n\n // rather than swapping the href on the existing tag, we will\n // create a new link tag. Once the new stylesheet has loaded we\n // will remove the existing link tag. This removes a Flash Of\n // Unstyled Content that can occur when swapping out the tag href\n // directly, as the new stylesheet has not yet been loaded.\n return new Promise((resolve) => {\n const newLinkTag = el.cloneNode() as HTMLLinkElement\n newLinkTag.href = new URL(newPath, el.href).href\n const removeOldEl = () => {\n el.remove()\n console.debug(`[vite] css hot updated: ${searchUrl}`)\n resolve()\n }\n newLinkTag.addEventListener('load', removeOldEl)\n newLinkTag.addEventListener('error', removeOldEl)\n outdatedLinkTags.add(el)\n el.after(newLinkTag)\n })\n }),\n )\n notifyListeners('vite:afterUpdate', payload)\n break\n case 'custom': {\n notifyListeners(payload.event, payload.data)\n break\n }\n case 'full-reload':\n notifyListeners('vite:beforeFullReload', payload)\n if (payload.path && payload.path.endsWith('.html')) {\n // if html file is edited, only reload the page if the browser is\n // currently on that page.\n const pagePath = decodeURI(location.pathname)\n const payloadPath = base + payload.path.slice(1)\n if (\n pagePath === payloadPath ||\n payload.path === '/index.html' ||\n (pagePath.endsWith('/') && pagePath + 'index.html' === payloadPath)\n ) {\n location.reload()\n }\n return\n } else {\n location.reload()\n }\n break\n case 'prune':\n notifyListeners('vite:beforePrune', payload)\n // After an HMR update, some modules are no longer imported on the page\n // but they may have left behind side effects that need to be cleaned up\n // (.e.g style injections)\n // TODO Trigger their dispose callbacks.\n payload.paths.forEach((path) => {\n const fn = pruneMap.get(path)\n if (fn) {\n fn(dataMap.get(path))\n }\n })\n break\n case 'error': {\n notifyListeners('vite:error', payload)\n const err = payload.err\n if (enableOverlay) {\n createErrorOverlay(err)\n } else {\n console.error(\n `[vite] Internal Server Error\\n${err.message}\\n${err.stack}`,\n )\n }\n break\n }\n default: {\n const check: never = payload\n return check\n }\n }\n}\n\nfunction notifyListeners<T extends string>(\n event: T,\n data: InferCustomEventPayload<T>,\n): void\nfunction notifyListeners(event: string, data: any): void {\n const cbs = customListenersMap.get(event)\n if (cbs) {\n cbs.forEach((cb) => cb(data))\n }\n}\n\nconst enableOverlay = __HMR_ENABLE_OVERLAY__\n\nfunction createErrorOverlay(err: ErrorPayload['err']) {\n if (!enableOverlay) return\n clearErrorOverlay()\n document.body.appendChild(new ErrorOverlay(err))\n}\n\nfunction clearErrorOverlay() {\n document\n .querySelectorAll(overlayId)\n .forEach((n) => (n as ErrorOverlay).close())\n}\n\nfunction hasErrorOverlay() {\n return document.querySelectorAll(overlayId).length\n}\n\nlet pending = false\nlet queued: Promise<(() => void) | undefined>[] = []\n\n/**\n * buffer multiple hot updates triggered by the same src change\n * so that they are invoked in the same order they were sent.\n * (otherwise the order may be inconsistent because of the http request round trip)\n */\nasync function queueUpdate(p: Promise<(() => void) | undefined>) {\n queued.push(p)\n if (!pending) {\n pending = true\n await Promise.resolve()\n pending = false\n const loading = [...queued]\n queued = []\n ;(await Promise.all(loading)).forEach((fn) => fn && fn())\n }\n}\n\nasync function waitForSuccessfulPing(\n socketProtocol: string,\n hostAndPath: string,\n ms = 1000,\n) {\n const pingHostProtocol = socketProtocol === 'wss' ? 'https' : 'http'\n\n // eslint-disable-next-line no-constant-condition\n while (true) {\n try {\n // A fetch on a websocket URL will return a successful promise with status 400,\n // but will reject a networking error.\n // When running on middleware mode, it returns status 426, and an cors error happens if mode is not no-cors\n await fetch(`${pingHostProtocol}://${hostAndPath}`, {\n mode: 'no-cors',\n })\n break\n } catch (e) {\n // wait ms before attempting to ping again\n await new Promise((resolve) => setTimeout(resolve, ms))\n }\n }\n}\n\n// https://wicg.github.io/construct-stylesheets\nconst supportsConstructedSheet = (() => {\n // TODO: re-enable this try block once Chrome fixes the performance of\n // rule insertion in really big stylesheets\n // try {\n // new CSSStyleSheet()\n // return true\n // } catch (e) {}\n return false\n})()\n\nconst sheetsMap = new Map<\n string,\n HTMLStyleElement | CSSStyleSheet | undefined\n>()\n\nexport function updateStyle(id: string, content: string): void {\n let style = sheetsMap.get(id)\n if (supportsConstructedSheet && !content.includes('@import')) {\n if (style && !(style instanceof CSSStyleSheet)) {\n removeStyle(id)\n style = undefined\n }\n\n if (!style) {\n style = new CSSStyleSheet()\n style.replaceSync(content)\n document.adoptedStyleSheets = [...document.adoptedStyleSheets, style]\n } else {\n style.replaceSync(content)\n }\n } else {\n if (style && !(style instanceof HTMLStyleElement)) {\n removeStyle(id)\n style = undefined\n }\n\n if (!style) {\n style = document.createElement('style')\n style.setAttribute('type', 'text/css')\n style.setAttribute('data-vite-dev-id', id)\n style.textContent = content\n document.head.appendChild(style)\n } else {\n style.textContent = content\n }\n }\n sheetsMap.set(id, style)\n}\n\nexport function removeStyle(id: string): void {\n const style = sheetsMap.get(id)\n if (style) {\n if (style instanceof CSSStyleSheet) {\n document.adoptedStyleSheets = document.adoptedStyleSheets.filter(\n (s: CSSStyleSheet) => s !== style,\n )\n } else {\n document.head.removeChild(style)\n }\n sheetsMap.delete(id)\n }\n}\n\nasync function fetchUpdate({\n path,\n acceptedPath,\n timestamp,\n explicitImportRequired,\n}: Update) {\n const mod = hotModulesMap.get(path)\n if (!mod) {\n // In a code-splitting project,\n // it is common that the hot-updating module is not loaded yet.\n // https://github.com/vitejs/vite/issues/721\n return\n }\n\n let fetchedModule: ModuleNamespace | undefined\n const isSelfUpdate = path === acceptedPath\n\n // determine the qualified callbacks before we re-import the modules\n const qualifiedCallbacks = mod.callbacks.filter(({ deps }) =>\n deps.includes(acceptedPath),\n )\n\n if (isSelfUpdate || qualifiedCallbacks.length > 0) {\n const disposer = disposeMap.get(acceptedPath)\n if (disposer) await disposer(dataMap.get(acceptedPath))\n const [acceptedPathWithoutQuery, query] = acceptedPath.split(`?`)\n try {\n fetchedModule = await import(\n /* @vite-ignore */\n base +\n acceptedPathWithoutQuery.slice(1) +\n `?${explicitImportRequired ? 'import&' : ''}t=${timestamp}${\n query ? `&${query}` : ''\n }`\n )\n } catch (e) {\n warnFailedFetch(e, acceptedPath)\n }\n }\n\n return () => {\n for (const { deps, fn } of qualifiedCallbacks) {\n fn(deps.map((dep) => (dep === acceptedPath ? fetchedModule : undefined)))\n }\n const loggedPath = isSelfUpdate ? path : `${acceptedPath} via ${path}`\n console.debug(`[vite] hot updated: ${loggedPath}`)\n }\n}\n\nfunction sendMessageBuffer() {\n if (socket.readyState === 1) {\n messageBuffer.forEach((msg) => socket.send(msg))\n messageBuffer.length = 0\n }\n}\n\ninterface HotModule {\n id: string\n callbacks: HotCallback[]\n}\n\ninterface HotCallback {\n // the dependencies must be fetchable paths\n deps: string[]\n fn: (modules: Array<ModuleNamespace | undefined>) => void\n}\n\ntype CustomListenersMap = Map<string, ((data: any) => void)[]>\n\nconst hotModulesMap = new Map<string, HotModule>()\nconst disposeMap = new Map<string, (data: any) => void | Promise<void>>()\nconst pruneMap = new Map<string, (data: any) => void | Promise<void>>()\nconst dataMap = new Map<string, any>()\nconst customListenersMap: CustomListenersMap = new Map()\nconst ctxToListenersMap = new Map<string, CustomListenersMap>()\n\nexport function createHotContext(ownerPath: string): ViteHotContext {\n if (!dataMap.has(ownerPath)) {\n dataMap.set(ownerPath, {})\n }\n\n // when a file is hot updated, a new context is created\n // clear its stale callbacks\n const mod = hotModulesMap.get(ownerPath)\n if (mod) {\n mod.callbacks = []\n }\n\n // clear stale custom event listeners\n const staleListeners = ctxToListenersMap.get(ownerPath)\n if (staleListeners) {\n for (const [event, staleFns] of staleListeners) {\n const listeners = customListenersMap.get(event)\n if (listeners) {\n customListenersMap.set(\n event,\n listeners.filter((l) => !staleFns.includes(l)),\n )\n }\n }\n }\n\n const newListeners: CustomListenersMap = new Map()\n ctxToListenersMap.set(ownerPath, newListeners)\n\n function acceptDeps(deps: string[], callback: HotCallback['fn'] = () => {}) {\n const mod: HotModule = hotModulesMap.get(ownerPath) || {\n id: ownerPath,\n callbacks: [],\n }\n mod.callbacks.push({\n deps,\n fn: callback,\n })\n hotModulesMap.set(ownerPath, mod)\n }\n\n const hot: ViteHotContext = {\n get data() {\n return dataMap.get(ownerPath)\n },\n\n accept(deps?: any, callback?: any) {\n if (typeof deps === 'function' || !deps) {\n // self-accept: hot.accept(() => {})\n acceptDeps([ownerPath], ([mod]) => deps?.(mod))\n } else if (typeof deps === 'string') {\n // explicit deps\n acceptDeps([deps], ([mod]) => callback?.(mod))\n } else if (Array.isArray(deps)) {\n acceptDeps(deps, callback)\n } else {\n throw new Error(`invalid hot.accept() usage.`)\n }\n },\n\n // export names (first arg) are irrelevant on the client side, they're\n // extracted in the server for propagation\n acceptExports(_, callback) {\n acceptDeps([ownerPath], ([mod]) => callback?.(mod))\n },\n\n dispose(cb) {\n disposeMap.set(ownerPath, cb)\n },\n\n prune(cb) {\n pruneMap.set(ownerPath, cb)\n },\n\n // Kept for backward compatibility (#11036)\n // @ts-expect-error untyped\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n decline() {},\n\n // tell the server to re-perform hmr propagation from this module as root\n invalidate(message) {\n notifyListeners('vite:invalidate', { path: ownerPath, message })\n this.send('vite:invalidate', { path: ownerPath, message })\n console.debug(\n `[vite] invalidate ${ownerPath}${message ? `: ${message}` : ''}`,\n )\n },\n\n // custom events\n on(event, cb) {\n const addToMap = (map: Map<string, any[]>) => {\n const existing = map.get(event) || []\n existing.push(cb)\n map.set(event, existing)\n }\n addToMap(customListenersMap)\n addToMap(newListeners)\n },\n\n send(event, data) {\n messageBuffer.push(JSON.stringify({ type: 'custom', event, data }))\n sendMessageBuffer()\n },\n }\n\n return hot\n}\n\n/**\n * urls here are dynamic import() urls that couldn't be statically analyzed\n */\nexport function injectQuery(url: string, queryToInject: string): string {\n // skip urls that won't be handled by vite\n if (!url.startsWith('.') && !url.startsWith('/')) {\n return url\n }\n\n // can't use pathname from URL since it may be relative like ../\n const pathname = url.replace(/#.*$/, '').replace(/\\?.*$/, '')\n const { search, hash } = new URL(url, 'http://vitejs.dev')\n\n return `${pathname}?${queryToInject}${search ? `&` + search.slice(1) : ''}${\n hash || ''\n }`\n}\n\nexport { ErrorOverlay }\n"],"names":["base"],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import require$$0__default from 'fs';
|
|
2
2
|
import require$$0 from 'postcss';
|
|
3
|
-
import { C as commonjsGlobal } from './dep-
|
|
3
|
+
import { C as commonjsGlobal } from './dep-5a9137b7.js';
|
|
4
4
|
import require$$0$1 from 'path';
|
|
5
5
|
import require$$5 from 'crypto';
|
|
6
6
|
import require$$0$2 from 'util';
|
|
@@ -2639,11 +2639,11 @@ const attachScopes = function attachScopes(ast, propertyName = 'scope') {
|
|
|
2639
2639
|
};
|
|
2640
2640
|
|
|
2641
2641
|
// Helper since Typescript can't detect readonly arrays with Array.isArray
|
|
2642
|
-
function isArray$
|
|
2642
|
+
function isArray$2(arg) {
|
|
2643
2643
|
return Array.isArray(arg);
|
|
2644
2644
|
}
|
|
2645
2645
|
function ensureArray(thing) {
|
|
2646
|
-
if (isArray$
|
|
2646
|
+
if (isArray$2(thing))
|
|
2647
2647
|
return thing;
|
|
2648
2648
|
if (thing == null)
|
|
2649
2649
|
return [];
|
|
@@ -12803,25 +12803,7 @@ function displaySize(bytes) {
|
|
|
12803
12803
|
})} kB`;
|
|
12804
12804
|
}
|
|
12805
12805
|
|
|
12806
|
-
|
|
12807
|
-
var __defProps = Object.defineProperties;
|
|
12808
|
-
var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
|
|
12809
|
-
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
12810
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
12811
|
-
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
|
12812
|
-
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
12813
|
-
var __spreadValues = (a, b) => {
|
|
12814
|
-
for (var prop in b || (b = {}))
|
|
12815
|
-
if (__hasOwnProp.call(b, prop))
|
|
12816
|
-
__defNormalProp(a, prop, b[prop]);
|
|
12817
|
-
if (__getOwnPropSymbols)
|
|
12818
|
-
for (var prop of __getOwnPropSymbols(b)) {
|
|
12819
|
-
if (__propIsEnum.call(b, prop))
|
|
12820
|
-
__defNormalProp(a, prop, b[prop]);
|
|
12821
|
-
}
|
|
12822
|
-
return a;
|
|
12823
|
-
};
|
|
12824
|
-
var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
|
|
12806
|
+
// src/find.ts
|
|
12825
12807
|
async function find(filename, options) {
|
|
12826
12808
|
let dir = require$$0$4.dirname(require$$0$4.resolve(filename));
|
|
12827
12809
|
const root = (options == null ? void 0 : options.root) ? require$$0$4.resolve(options.root) : null;
|
|
@@ -12999,7 +12981,9 @@ var NATIVE_SEP_RE = new RegExp("\\" + require$$0$4.sep, "g");
|
|
|
12999
12981
|
var PATTERN_REGEX_CACHE = /* @__PURE__ */ new Map();
|
|
13000
12982
|
var GLOB_ALL_PATTERN = `**/*`;
|
|
13001
12983
|
var DEFAULT_EXTENSIONS = [".ts", ".tsx", ".mts", ".cts"];
|
|
13002
|
-
var DEFAULT_EXTENSIONS_RE_GROUP = `\\.(?:${DEFAULT_EXTENSIONS.map((ext) => ext.substring(1)).join(
|
|
12984
|
+
var DEFAULT_EXTENSIONS_RE_GROUP = `\\.(?:${DEFAULT_EXTENSIONS.map((ext) => ext.substring(1)).join(
|
|
12985
|
+
"|"
|
|
12986
|
+
)})`;
|
|
13003
12987
|
new Function("path", "return import(path).then(m => m.default)");
|
|
13004
12988
|
async function resolveTSConfig(filename) {
|
|
13005
12989
|
if (require$$0$4.extname(filename) !== ".json") {
|
|
@@ -13028,7 +13012,9 @@ function resolve2posix(dir, filename) {
|
|
|
13028
13012
|
if (require$$0$4.sep === require$$0$4.posix.sep) {
|
|
13029
13013
|
return dir ? require$$0$4.resolve(dir, filename) : require$$0$4.resolve(filename);
|
|
13030
13014
|
}
|
|
13031
|
-
return native2posix(
|
|
13015
|
+
return native2posix(
|
|
13016
|
+
dir ? require$$0$4.resolve(posix2native(dir), posix2native(filename)) : require$$0$4.resolve(posix2native(filename))
|
|
13017
|
+
);
|
|
13032
13018
|
}
|
|
13033
13019
|
function resolveReferencedTSConfigFiles(result) {
|
|
13034
13020
|
const dir = require$$0$4.dirname(result.tsconfigFile);
|
|
@@ -13039,11 +13025,14 @@ function resolveReferencedTSConfigFiles(result) {
|
|
|
13039
13025
|
}
|
|
13040
13026
|
function resolveSolutionTSConfig(filename, result) {
|
|
13041
13027
|
if (result.referenced && DEFAULT_EXTENSIONS.some((ext) => filename.endsWith(ext)) && !isIncluded(filename, result)) {
|
|
13042
|
-
const solutionTSConfig = result.referenced.find(
|
|
13028
|
+
const solutionTSConfig = result.referenced.find(
|
|
13029
|
+
(referenced) => isIncluded(filename, referenced)
|
|
13030
|
+
);
|
|
13043
13031
|
if (solutionTSConfig) {
|
|
13044
|
-
return
|
|
13032
|
+
return {
|
|
13033
|
+
...solutionTSConfig,
|
|
13045
13034
|
solution: result
|
|
13046
|
-
}
|
|
13035
|
+
};
|
|
13047
13036
|
}
|
|
13048
13037
|
}
|
|
13049
13038
|
return result;
|
|
@@ -13055,7 +13044,11 @@ function isIncluded(filename, result) {
|
|
|
13055
13044
|
if (files.includes(filename)) {
|
|
13056
13045
|
return true;
|
|
13057
13046
|
}
|
|
13058
|
-
const isIncluded2 = isGlobMatch(
|
|
13047
|
+
const isIncluded2 = isGlobMatch(
|
|
13048
|
+
absoluteFilename,
|
|
13049
|
+
dir,
|
|
13050
|
+
result.tsconfig.include || (result.tsconfig.files ? [] : [GLOB_ALL_PATTERN])
|
|
13051
|
+
);
|
|
13059
13052
|
if (isIncluded2) {
|
|
13060
13053
|
const isExcluded = isGlobMatch(absoluteFilename, dir, result.tsconfig.exclude || []);
|
|
13061
13054
|
return !isExcluded;
|
|
@@ -13181,7 +13174,12 @@ async function parseFile$1(tsconfigFile, cache) {
|
|
|
13181
13174
|
cache == null ? void 0 : cache.set(tsconfigFile, result);
|
|
13182
13175
|
return result;
|
|
13183
13176
|
} catch (e) {
|
|
13184
|
-
throw new TSConfckParseError(
|
|
13177
|
+
throw new TSConfckParseError(
|
|
13178
|
+
`parsing ${tsconfigFile} failed: ${e}`,
|
|
13179
|
+
"PARSE_FILE",
|
|
13180
|
+
tsconfigFile,
|
|
13181
|
+
e
|
|
13182
|
+
);
|
|
13185
13183
|
}
|
|
13186
13184
|
}
|
|
13187
13185
|
function normalizeTSConfig(tsconfig, dir) {
|
|
@@ -13212,7 +13210,11 @@ async function parseExtends(result, cache) {
|
|
|
13212
13210
|
const extendedTSConfigFile = resolveExtends(extending.tsconfig.extends, extending.tsconfigFile);
|
|
13213
13211
|
if (extended.some((x) => x.tsconfigFile === extendedTSConfigFile)) {
|
|
13214
13212
|
const circle = extended.concat({ tsconfigFile: extendedTSConfigFile, tsconfig: null }).map((e) => e.tsconfigFile).join(" -> ");
|
|
13215
|
-
throw new TSConfckParseError(
|
|
13213
|
+
throw new TSConfckParseError(
|
|
13214
|
+
`Circular dependency in "extends": ${circle}`,
|
|
13215
|
+
"EXTENDS_CIRCULAR",
|
|
13216
|
+
result.tsconfigFile
|
|
13217
|
+
);
|
|
13216
13218
|
}
|
|
13217
13219
|
extended.push(await parseFile$1(extendedTSConfigFile, cache));
|
|
13218
13220
|
}
|
|
@@ -13236,7 +13238,12 @@ function resolveExtends(extended, from) {
|
|
|
13236
13238
|
error = e;
|
|
13237
13239
|
}
|
|
13238
13240
|
}
|
|
13239
|
-
throw new TSConfckParseError(
|
|
13241
|
+
throw new TSConfckParseError(
|
|
13242
|
+
`failed to resolve "extends":"${extended}" in ${from}`,
|
|
13243
|
+
"EXTENDS_RESOLVE",
|
|
13244
|
+
from,
|
|
13245
|
+
error
|
|
13246
|
+
);
|
|
13240
13247
|
}
|
|
13241
13248
|
var EXTENDABLE_KEYS = [
|
|
13242
13249
|
"compilerOptions",
|
|
@@ -13251,7 +13258,9 @@ var EXTENDABLE_KEYS = [
|
|
|
13251
13258
|
function extendTSConfig(extending, extended) {
|
|
13252
13259
|
const extendingConfig = extending.tsconfig;
|
|
13253
13260
|
const extendedConfig = extended.tsconfig;
|
|
13254
|
-
const relativePath = native2posix(
|
|
13261
|
+
const relativePath = native2posix(
|
|
13262
|
+
require$$0$4.relative(require$$0$4.dirname(extending.tsconfigFile), require$$0$4.dirname(extended.tsconfigFile))
|
|
13263
|
+
);
|
|
13255
13264
|
for (const key of Object.keys(extendedConfig).filter((key2) => EXTENDABLE_KEYS.includes(key2))) {
|
|
13256
13265
|
if (key === "compilerOptions") {
|
|
13257
13266
|
if (!extendingConfig.compilerOptions) {
|
|
@@ -13261,13 +13270,21 @@ function extendTSConfig(extending, extended) {
|
|
|
13261
13270
|
if (Object.prototype.hasOwnProperty.call(extendingConfig.compilerOptions, option)) {
|
|
13262
13271
|
continue;
|
|
13263
13272
|
}
|
|
13264
|
-
extendingConfig.compilerOptions[option] = rebaseRelative(
|
|
13273
|
+
extendingConfig.compilerOptions[option] = rebaseRelative(
|
|
13274
|
+
option,
|
|
13275
|
+
extendedConfig.compilerOptions[option],
|
|
13276
|
+
relativePath
|
|
13277
|
+
);
|
|
13265
13278
|
}
|
|
13266
13279
|
} else if (extendingConfig[key] === void 0) {
|
|
13267
13280
|
if (key === "watchOptions") {
|
|
13268
13281
|
extendingConfig.watchOptions = {};
|
|
13269
13282
|
for (const option of Object.keys(extendedConfig.watchOptions)) {
|
|
13270
|
-
extendingConfig.watchOptions[option] = rebaseRelative(
|
|
13283
|
+
extendingConfig.watchOptions[option] = rebaseRelative(
|
|
13284
|
+
option,
|
|
13285
|
+
extendedConfig.watchOptions[option],
|
|
13286
|
+
relativePath
|
|
13287
|
+
);
|
|
13271
13288
|
}
|
|
13272
13289
|
} else {
|
|
13273
13290
|
extendingConfig[key] = rebaseRelative(key, extendedConfig[key], relativePath);
|
|
@@ -13873,6 +13890,90 @@ function terserPlugin(config) {
|
|
|
13873
13890
|
};
|
|
13874
13891
|
}
|
|
13875
13892
|
|
|
13893
|
+
var json = JSON;
|
|
13894
|
+
|
|
13895
|
+
var isArray$1 = Array.isArray || function (x) {
|
|
13896
|
+
return {}.toString.call(x) === '[object Array]';
|
|
13897
|
+
};
|
|
13898
|
+
|
|
13899
|
+
var objectKeys = Object.keys || function (obj) {
|
|
13900
|
+
var has = Object.prototype.hasOwnProperty || function () { return true; };
|
|
13901
|
+
var keys = [];
|
|
13902
|
+
for (var key in obj) {
|
|
13903
|
+
if (has.call(obj, key)) { keys.push(key); }
|
|
13904
|
+
}
|
|
13905
|
+
return keys;
|
|
13906
|
+
};
|
|
13907
|
+
|
|
13908
|
+
var jsonStableStringify = function (obj, opts) {
|
|
13909
|
+
if (!opts) { opts = {}; }
|
|
13910
|
+
if (typeof opts === 'function') { opts = { cmp: opts }; }
|
|
13911
|
+
var space = opts.space || '';
|
|
13912
|
+
if (typeof space === 'number') { space = Array(space + 1).join(' '); }
|
|
13913
|
+
var cycles = typeof opts.cycles === 'boolean' ? opts.cycles : false;
|
|
13914
|
+
var replacer = opts.replacer || function (key, value) { return value; };
|
|
13915
|
+
|
|
13916
|
+
var cmp = opts.cmp && (function (f) {
|
|
13917
|
+
return function (node) {
|
|
13918
|
+
return function (a, b) {
|
|
13919
|
+
var aobj = { key: a, value: node[a] };
|
|
13920
|
+
var bobj = { key: b, value: node[b] };
|
|
13921
|
+
return f(aobj, bobj);
|
|
13922
|
+
};
|
|
13923
|
+
};
|
|
13924
|
+
}(opts.cmp));
|
|
13925
|
+
|
|
13926
|
+
var seen = [];
|
|
13927
|
+
return (function stringify(parent, key, node, level) {
|
|
13928
|
+
var indent = space ? '\n' + new Array(level + 1).join(space) : '';
|
|
13929
|
+
var colonSeparator = space ? ': ' : ':';
|
|
13930
|
+
|
|
13931
|
+
if (node && node.toJSON && typeof node.toJSON === 'function') {
|
|
13932
|
+
node = node.toJSON();
|
|
13933
|
+
}
|
|
13934
|
+
|
|
13935
|
+
node = replacer.call(parent, key, node);
|
|
13936
|
+
|
|
13937
|
+
if (node === undefined) {
|
|
13938
|
+
return;
|
|
13939
|
+
}
|
|
13940
|
+
if (typeof node !== 'object' || node === null) {
|
|
13941
|
+
return json.stringify(node);
|
|
13942
|
+
}
|
|
13943
|
+
if (isArray$1(node)) {
|
|
13944
|
+
var out = [];
|
|
13945
|
+
for (var i = 0; i < node.length; i++) {
|
|
13946
|
+
var item = stringify(node, i, node[i], level + 1) || json.stringify(null);
|
|
13947
|
+
out.push(indent + space + item);
|
|
13948
|
+
}
|
|
13949
|
+
return '[' + out.join(',') + indent + ']';
|
|
13950
|
+
}
|
|
13951
|
+
|
|
13952
|
+
if (seen.indexOf(node) !== -1) {
|
|
13953
|
+
if (cycles) { return json.stringify('__cycle__'); }
|
|
13954
|
+
throw new TypeError('Converting circular structure to JSON');
|
|
13955
|
+
} else { seen.push(node); }
|
|
13956
|
+
|
|
13957
|
+
var keys = objectKeys(node).sort(cmp && cmp(node));
|
|
13958
|
+
var out = [];
|
|
13959
|
+
for (var i = 0; i < keys.length; i++) {
|
|
13960
|
+
var key = keys[i];
|
|
13961
|
+
var value = stringify(node, key, node[key], level + 1);
|
|
13962
|
+
|
|
13963
|
+
if (!value) { continue; }
|
|
13964
|
+
|
|
13965
|
+
var keyValue = json.stringify(key)
|
|
13966
|
+
+ colonSeparator
|
|
13967
|
+
+ value;
|
|
13968
|
+
|
|
13969
|
+
out.push(indent + space + keyValue);
|
|
13970
|
+
}
|
|
13971
|
+
seen.splice(seen.indexOf(node), 1);
|
|
13972
|
+
return '{' + out.join(',') + indent + '}';
|
|
13973
|
+
|
|
13974
|
+
}({ '': obj }, '', obj, 0));
|
|
13975
|
+
};
|
|
13976
|
+
|
|
13876
13977
|
const mimes$1 = {
|
|
13877
13978
|
"ez": "application/andrew-inset",
|
|
13878
13979
|
"aw": "application/applixware",
|
|
@@ -14653,7 +14754,7 @@ function manifestPlugin(config) {
|
|
|
14653
14754
|
? config.build.manifest
|
|
14654
14755
|
: 'manifest.json',
|
|
14655
14756
|
type: 'asset',
|
|
14656
|
-
source:
|
|
14757
|
+
source: jsonStableStringify(manifest, { space: 2 }),
|
|
14657
14758
|
});
|
|
14658
14759
|
}
|
|
14659
14760
|
},
|
|
@@ -21419,13 +21520,16 @@ function tryFsResolve(fsPath, options, tryIndex = true, targetWeb = true) {
|
|
|
21419
21520
|
}
|
|
21420
21521
|
for (const ext of options.extensions) {
|
|
21421
21522
|
if (postfix &&
|
|
21422
|
-
(res = tryResolveFile(fsPath + ext, '', options, false, targetWeb, options.tryPrefix, options.skipPackageJson))) {
|
|
21523
|
+
(res = tryResolveFile(fsPath + ext, '', options, false, targetWeb, options.tryPrefix, options.skipPackageJson, false))) {
|
|
21423
21524
|
return res;
|
|
21424
21525
|
}
|
|
21425
|
-
if ((res = tryResolveFile(file + ext, postfix, options, false, targetWeb, options.tryPrefix, options.skipPackageJson))) {
|
|
21526
|
+
if ((res = tryResolveFile(file + ext, postfix, options, false, targetWeb, options.tryPrefix, options.skipPackageJson, false))) {
|
|
21426
21527
|
return res;
|
|
21427
21528
|
}
|
|
21428
21529
|
}
|
|
21530
|
+
// if `tryIndex` false, skip as we've already tested above
|
|
21531
|
+
if (!tryIndex)
|
|
21532
|
+
return;
|
|
21429
21533
|
if (postfix &&
|
|
21430
21534
|
(res = tryResolveFile(fsPath, '', options, tryIndex, targetWeb, options.tryPrefix, options.skipPackageJson))) {
|
|
21431
21535
|
return res;
|
|
@@ -21434,9 +21538,10 @@ function tryFsResolve(fsPath, options, tryIndex = true, targetWeb = true) {
|
|
|
21434
21538
|
return res;
|
|
21435
21539
|
}
|
|
21436
21540
|
}
|
|
21437
|
-
function tryResolveFile(file, postfix, options, tryIndex, targetWeb, tryPrefix, skipPackageJson) {
|
|
21438
|
-
|
|
21439
|
-
|
|
21541
|
+
function tryResolveFile(file, postfix, options, tryIndex, targetWeb, tryPrefix, skipPackageJson, skipTsExtension) {
|
|
21542
|
+
const stat = fs$l.statSync(file, { throwIfNoEntry: false });
|
|
21543
|
+
if (stat) {
|
|
21544
|
+
if (!stat.isDirectory()) {
|
|
21440
21545
|
return getRealPath(file, options.preserveSymlinks) + postfix;
|
|
21441
21546
|
}
|
|
21442
21547
|
else if (tryIndex) {
|
|
@@ -21459,11 +21564,13 @@ function tryResolveFile(file, postfix, options, tryIndex, targetWeb, tryPrefix,
|
|
|
21459
21564
|
return index + postfix;
|
|
21460
21565
|
}
|
|
21461
21566
|
}
|
|
21462
|
-
|
|
21463
|
-
if (
|
|
21567
|
+
// try resolve .js import to typescript file
|
|
21568
|
+
if (!skipTsExtension &&
|
|
21569
|
+
options.isFromTsImporter &&
|
|
21570
|
+
isPossibleTsOutput(file)) {
|
|
21464
21571
|
const tsSrcPaths = getPotentialTsSrcPaths(file);
|
|
21465
21572
|
for (const srcPath of tsSrcPaths) {
|
|
21466
|
-
const res = tryResolveFile(srcPath, postfix, options, tryIndex, targetWeb, tryPrefix, skipPackageJson);
|
|
21573
|
+
const res = tryResolveFile(srcPath, postfix, options, tryIndex, targetWeb, tryPrefix, skipPackageJson, true);
|
|
21467
21574
|
if (res)
|
|
21468
21575
|
return res;
|
|
21469
21576
|
}
|
|
@@ -21520,21 +21627,22 @@ function tryNodeResolve(id, importer, options, targetWeb, depsOptimizer, ssr, ex
|
|
|
21520
21627
|
if (nestedRoot) {
|
|
21521
21628
|
basedir = nestedResolveFrom(nestedRoot, basedir, preserveSymlinks);
|
|
21522
21629
|
}
|
|
21630
|
+
let pkg;
|
|
21631
|
+
let pkgId;
|
|
21523
21632
|
// nearest package.json
|
|
21524
21633
|
let nearestPkg;
|
|
21525
|
-
|
|
21526
|
-
|
|
21527
|
-
|
|
21634
|
+
const rootPkgId = possiblePkgIds[0];
|
|
21635
|
+
const rootPkg = resolvePackageData(rootPkgId, basedir, preserveSymlinks, packageCache);
|
|
21636
|
+
const nearestPkgId = [...possiblePkgIds].reverse().find((pkgId) => {
|
|
21528
21637
|
nearestPkg = resolvePackageData(pkgId, basedir, preserveSymlinks, packageCache);
|
|
21529
21638
|
return nearestPkg;
|
|
21530
21639
|
});
|
|
21531
|
-
const rootPkgId = possiblePkgIds[0];
|
|
21532
|
-
const rootPkg = resolvePackageData(rootPkgId, basedir, preserveSymlinks, packageCache);
|
|
21533
21640
|
if (rootPkg?.data?.exports) {
|
|
21534
|
-
pkg = rootPkg;
|
|
21535
21641
|
pkgId = rootPkgId;
|
|
21642
|
+
pkg = rootPkg;
|
|
21536
21643
|
}
|
|
21537
21644
|
else {
|
|
21645
|
+
pkgId = nearestPkgId;
|
|
21538
21646
|
pkg = nearestPkg;
|
|
21539
21647
|
}
|
|
21540
21648
|
if (!pkg || !nearestPkg) {
|
|
@@ -21748,6 +21856,7 @@ function resolvePackageEntry(id, { dir, data, setResolvedCache, getResolvedCache
|
|
|
21748
21856
|
if (data.exports) {
|
|
21749
21857
|
entryPoint = resolveExports(data, '.', options, targetWeb);
|
|
21750
21858
|
}
|
|
21859
|
+
const resolvedFromExports = !!entryPoint;
|
|
21751
21860
|
// if exports resolved to .mjs, still resolve other fields.
|
|
21752
21861
|
// This is because .mjs files can technically import .cjs files which would
|
|
21753
21862
|
// make them invalid for pure ESM environments - so if other module/browser
|
|
@@ -21790,7 +21899,9 @@ function resolvePackageEntry(id, { dir, data, setResolvedCache, getResolvedCache
|
|
|
21790
21899
|
}
|
|
21791
21900
|
}
|
|
21792
21901
|
}
|
|
21793
|
-
if
|
|
21902
|
+
// fallback to mainFields if still not resolved
|
|
21903
|
+
// TODO: review if `.mjs` check is still needed
|
|
21904
|
+
if (!resolvedFromExports && (!entryPoint || entryPoint.endsWith('.mjs'))) {
|
|
21794
21905
|
for (const field of options.mainFields) {
|
|
21795
21906
|
if (field === 'browser')
|
|
21796
21907
|
continue; // already checked above
|
|
@@ -36526,7 +36637,7 @@ async function compileCSS(id, code, config, urlReplacer) {
|
|
|
36526
36637
|
}));
|
|
36527
36638
|
}
|
|
36528
36639
|
if (isModule) {
|
|
36529
|
-
postcssPlugins.unshift((await import('./dep-
|
|
36640
|
+
postcssPlugins.unshift((await import('./dep-41ca0ecb.js').then(function (n) { return n.i; })).default({
|
|
36530
36641
|
...modulesOptions,
|
|
36531
36642
|
localsConvention: modulesOptions?.localsConvention,
|
|
36532
36643
|
getJSON(cssFileName, _modules, outputFileName) {
|
|
@@ -38049,12 +38160,12 @@ async function handleHMRUpdate(file, server) {
|
|
|
38049
38160
|
}
|
|
38050
38161
|
updateModules(shortFile, hmrContext.modules, timestamp, server);
|
|
38051
38162
|
}
|
|
38052
|
-
function updateModules(file, modules, timestamp, { config, ws }, afterInvalidation) {
|
|
38163
|
+
function updateModules(file, modules, timestamp, { config, ws, moduleGraph }, afterInvalidation) {
|
|
38053
38164
|
const updates = [];
|
|
38054
38165
|
const invalidatedModules = new Set();
|
|
38055
38166
|
let needFullReload = false;
|
|
38056
38167
|
for (const mod of modules) {
|
|
38057
|
-
|
|
38168
|
+
moduleGraph.invalidateModule(mod, invalidatedModules, timestamp, true);
|
|
38058
38169
|
if (needFullReload) {
|
|
38059
38170
|
continue;
|
|
38060
38171
|
}
|
|
@@ -38181,22 +38292,6 @@ function propagateUpdate(node, boundaries, currentChain = [node]) {
|
|
|
38181
38292
|
}
|
|
38182
38293
|
return false;
|
|
38183
38294
|
}
|
|
38184
|
-
function invalidate(mod, timestamp, seen) {
|
|
38185
|
-
if (seen.has(mod)) {
|
|
38186
|
-
return;
|
|
38187
|
-
}
|
|
38188
|
-
seen.add(mod);
|
|
38189
|
-
mod.lastHMRTimestamp = timestamp;
|
|
38190
|
-
mod.transformResult = null;
|
|
38191
|
-
mod.ssrModule = null;
|
|
38192
|
-
mod.ssrError = null;
|
|
38193
|
-
mod.ssrTransformResult = null;
|
|
38194
|
-
mod.importers.forEach((importer) => {
|
|
38195
|
-
if (!importer.acceptedHmrDeps.has(mod)) {
|
|
38196
|
-
invalidate(importer, timestamp, seen);
|
|
38197
|
-
}
|
|
38198
|
-
});
|
|
38199
|
-
}
|
|
38200
38295
|
function handlePrunedModules(mods, { ws }) {
|
|
38201
38296
|
// update the disposed modules' hmr timestamp
|
|
38202
38297
|
// since if it's re-imported, it should re-apply side effects
|
|
@@ -43096,13 +43191,8 @@ async function extractExportsData(filePath, config, ssr) {
|
|
|
43096
43191
|
};
|
|
43097
43192
|
return exportsData;
|
|
43098
43193
|
}
|
|
43099
|
-
// https://github.com/vitejs/vite/issues/1724#issuecomment-767619642
|
|
43100
|
-
// a list of modules that pretends to be ESM but still uses `require`.
|
|
43101
|
-
// this causes esbuild to wrap them as CJS even when its entry appears to be ESM.
|
|
43102
|
-
const KNOWN_INTEROP_IDS = new Set(['moment']);
|
|
43103
43194
|
function needsInterop(config, ssr, id, exportsData, output) {
|
|
43104
|
-
if (getDepOptimizationConfig(config, ssr)?.needsInterop?.includes(id)
|
|
43105
|
-
KNOWN_INTEROP_IDS.has(id)) {
|
|
43195
|
+
if (getDepOptimizationConfig(config, ssr)?.needsInterop?.includes(id)) {
|
|
43106
43196
|
return true;
|
|
43107
43197
|
}
|
|
43108
43198
|
const { hasImports, exports } = exportsData;
|
|
@@ -43751,7 +43841,7 @@ function ssrManifestPlugin(config) {
|
|
|
43751
43841
|
? config.build.ssrManifest
|
|
43752
43842
|
: 'ssr-manifest.json',
|
|
43753
43843
|
type: 'asset',
|
|
43754
|
-
source:
|
|
43844
|
+
source: jsonStableStringify(ssrManifest, { space: 2 }),
|
|
43755
43845
|
});
|
|
43756
43846
|
},
|
|
43757
43847
|
};
|
|
@@ -44181,6 +44271,13 @@ function loadEnv(mode, envDir, prefixes = 'VITE_') {
|
|
|
44181
44271
|
if (parsed.NODE_ENV && process.env.VITE_USER_NODE_ENV === undefined) {
|
|
44182
44272
|
process.env.VITE_USER_NODE_ENV = parsed.NODE_ENV;
|
|
44183
44273
|
}
|
|
44274
|
+
// support BROWSER and BROWSER_ARGS env variables
|
|
44275
|
+
if (parsed.BROWSER && process.env.BROWSER === undefined) {
|
|
44276
|
+
process.env.BROWSER = parsed.BROWSER;
|
|
44277
|
+
}
|
|
44278
|
+
if (parsed.BROWSER_ARGS && process.env.BROWSER_ARGS === undefined) {
|
|
44279
|
+
process.env.BROWSER_ARGS = parsed.BROWSER_ARGS;
|
|
44280
|
+
}
|
|
44184
44281
|
try {
|
|
44185
44282
|
// let environment variables use each other
|
|
44186
44283
|
expand_1({ parsed });
|
|
@@ -44329,32 +44426,11 @@ async function resolveBuildPlugins(config) {
|
|
|
44329
44426
|
],
|
|
44330
44427
|
};
|
|
44331
44428
|
}
|
|
44332
|
-
/**
|
|
44333
|
-
* Track parallel build calls and only stop the esbuild service when all
|
|
44334
|
-
* builds are done. (#1098)
|
|
44335
|
-
*/
|
|
44336
|
-
let parallelCallCounts = 0;
|
|
44337
|
-
// we use a separate counter to track since the call may error before the
|
|
44338
|
-
// bundle is even pushed.
|
|
44339
|
-
const parallelBuilds = [];
|
|
44340
44429
|
/**
|
|
44341
44430
|
* Bundles the app for production.
|
|
44342
44431
|
* Returns a Promise containing the build result.
|
|
44343
44432
|
*/
|
|
44344
44433
|
async function build(inlineConfig = {}) {
|
|
44345
|
-
parallelCallCounts++;
|
|
44346
|
-
try {
|
|
44347
|
-
return await doBuild(inlineConfig);
|
|
44348
|
-
}
|
|
44349
|
-
finally {
|
|
44350
|
-
parallelCallCounts--;
|
|
44351
|
-
if (parallelCallCounts <= 0) {
|
|
44352
|
-
await Promise.all(parallelBuilds.map((bundle) => bundle.close()));
|
|
44353
|
-
parallelBuilds.length = 0;
|
|
44354
|
-
}
|
|
44355
|
-
}
|
|
44356
|
-
}
|
|
44357
|
-
async function doBuild(inlineConfig = {}) {
|
|
44358
44434
|
const config = await resolveConfig(inlineConfig, 'build', 'production', 'production');
|
|
44359
44435
|
const options = config.build;
|
|
44360
44436
|
const ssr = !!options.ssr;
|
|
@@ -44399,6 +44475,7 @@ async function doBuild(inlineConfig = {}) {
|
|
|
44399
44475
|
: libOptions
|
|
44400
44476
|
? 'strict'
|
|
44401
44477
|
: false,
|
|
44478
|
+
cache: config.build.watch ? undefined : false,
|
|
44402
44479
|
...options.rollupOptions,
|
|
44403
44480
|
input,
|
|
44404
44481
|
plugins,
|
|
@@ -44417,6 +44494,7 @@ async function doBuild(inlineConfig = {}) {
|
|
|
44417
44494
|
}
|
|
44418
44495
|
config.logger.error(msg, { error: e });
|
|
44419
44496
|
};
|
|
44497
|
+
let bundle;
|
|
44420
44498
|
try {
|
|
44421
44499
|
const buildOutputOptions = (output = {}) => {
|
|
44422
44500
|
// @ts-expect-error See https://github.com/vitejs/vite/issues/5812#issuecomment-984345618
|
|
@@ -44505,17 +44583,13 @@ async function doBuild(inlineConfig = {}) {
|
|
|
44505
44583
|
}
|
|
44506
44584
|
// write or generate files with rollup
|
|
44507
44585
|
const { rollup } = await import('rollup');
|
|
44508
|
-
|
|
44509
|
-
parallelBuilds.push(bundle);
|
|
44510
|
-
const generate = (output = {}) => {
|
|
44511
|
-
return bundle[options.write ? 'write' : 'generate'](output);
|
|
44512
|
-
};
|
|
44586
|
+
bundle = await rollup(rollupOptions);
|
|
44513
44587
|
if (options.write) {
|
|
44514
44588
|
prepareOutDir(outDirs, options.emptyOutDir, config);
|
|
44515
44589
|
}
|
|
44516
44590
|
const res = [];
|
|
44517
44591
|
for (const output of normalizedOutputs) {
|
|
44518
|
-
res.push(await generate(output));
|
|
44592
|
+
res.push(await bundle[options.write ? 'write' : 'generate'](output));
|
|
44519
44593
|
}
|
|
44520
44594
|
return Array.isArray(outputs) ? res : res[0];
|
|
44521
44595
|
}
|
|
@@ -44523,6 +44597,10 @@ async function doBuild(inlineConfig = {}) {
|
|
|
44523
44597
|
outputBuildError(e);
|
|
44524
44598
|
throw e;
|
|
44525
44599
|
}
|
|
44600
|
+
finally {
|
|
44601
|
+
if (bundle)
|
|
44602
|
+
bundle.close();
|
|
44603
|
+
}
|
|
44526
44604
|
}
|
|
44527
44605
|
function prepareOutDir(outDirs, emptyOutDir, config) {
|
|
44528
44606
|
const nonDuplicateDirs = new Set(outDirs);
|
|
@@ -53350,7 +53428,10 @@ function openBrowser(url, opt, logger) {
|
|
|
53350
53428
|
return executeNodeScript(browser, url, logger);
|
|
53351
53429
|
}
|
|
53352
53430
|
else if (browser.toLowerCase() !== 'none') {
|
|
53353
|
-
|
|
53431
|
+
const browserArgs = process.env.BROWSER_ARGS
|
|
53432
|
+
? process.env.BROWSER_ARGS.split(' ')
|
|
53433
|
+
: [];
|
|
53434
|
+
return startBrowserProcess(browser, browserArgs, url);
|
|
53354
53435
|
}
|
|
53355
53436
|
return false;
|
|
53356
53437
|
}
|
|
@@ -53376,7 +53457,7 @@ const supportedChromiumBrowsers = [
|
|
|
53376
53457
|
'Vivaldi',
|
|
53377
53458
|
'Chromium',
|
|
53378
53459
|
];
|
|
53379
|
-
function startBrowserProcess(browser, url) {
|
|
53460
|
+
function startBrowserProcess(browser, browserArgs, url) {
|
|
53380
53461
|
// If we're on OS X, the user hasn't specifically
|
|
53381
53462
|
// requested a different browser, we can try opening
|
|
53382
53463
|
// a Chromium browser with AppleScript. This lets us reuse an
|
|
@@ -53414,7 +53495,9 @@ function startBrowserProcess(browser, url) {
|
|
|
53414
53495
|
// Fallback to open
|
|
53415
53496
|
// (It will always open new tab)
|
|
53416
53497
|
try {
|
|
53417
|
-
const options = browser
|
|
53498
|
+
const options = browser
|
|
53499
|
+
? { app: { name: browser, arguments: browserArgs } }
|
|
53500
|
+
: {};
|
|
53418
53501
|
open_1(url, options).catch(() => { }); // Prevent `unhandledRejection` error.
|
|
53419
53502
|
return true;
|
|
53420
53503
|
}
|
|
@@ -53496,6 +53579,13 @@ const BASE_SHORTCUTS = [
|
|
|
53496
53579
|
openBrowser(url, true, server.config.logger);
|
|
53497
53580
|
},
|
|
53498
53581
|
},
|
|
53582
|
+
{
|
|
53583
|
+
key: 'c',
|
|
53584
|
+
description: 'clear console',
|
|
53585
|
+
action(server) {
|
|
53586
|
+
server.config.logger.clearScreen('error');
|
|
53587
|
+
},
|
|
53588
|
+
},
|
|
53499
53589
|
{
|
|
53500
53590
|
key: 'q',
|
|
53501
53591
|
description: 'quit',
|
|
@@ -60744,15 +60834,6 @@ class ModuleNode {
|
|
|
60744
60834
|
}
|
|
60745
60835
|
}
|
|
60746
60836
|
}
|
|
60747
|
-
function invalidateSSRModule(mod, seen) {
|
|
60748
|
-
if (seen.has(mod)) {
|
|
60749
|
-
return;
|
|
60750
|
-
}
|
|
60751
|
-
seen.add(mod);
|
|
60752
|
-
mod.ssrModule = null;
|
|
60753
|
-
mod.ssrError = null;
|
|
60754
|
-
mod.importers.forEach((importer) => invalidateSSRModule(importer, seen));
|
|
60755
|
-
}
|
|
60756
60837
|
class ModuleGraph {
|
|
60757
60838
|
constructor(resolveId) {
|
|
60758
60839
|
this.resolveId = resolveId;
|
|
@@ -60781,15 +60862,30 @@ class ModuleGraph {
|
|
|
60781
60862
|
});
|
|
60782
60863
|
}
|
|
60783
60864
|
}
|
|
60784
|
-
invalidateModule(mod, seen = new Set(), timestamp = Date.now()) {
|
|
60785
|
-
|
|
60786
|
-
|
|
60787
|
-
|
|
60865
|
+
invalidateModule(mod, seen = new Set(), timestamp = Date.now(), isHmr = false) {
|
|
60866
|
+
if (seen.has(mod)) {
|
|
60867
|
+
return;
|
|
60868
|
+
}
|
|
60869
|
+
seen.add(mod);
|
|
60870
|
+
if (isHmr) {
|
|
60871
|
+
mod.lastHMRTimestamp = timestamp;
|
|
60872
|
+
}
|
|
60873
|
+
else {
|
|
60874
|
+
// Save the timestamp for this invalidation, so we can avoid caching the result of possible already started
|
|
60875
|
+
// processing being done for this module
|
|
60876
|
+
mod.lastInvalidationTimestamp = timestamp;
|
|
60877
|
+
}
|
|
60788
60878
|
// Don't invalidate mod.info and mod.meta, as they are part of the processing pipeline
|
|
60789
60879
|
// Invalidating the transform result is enough to ensure this module is re-processed next time it is requested
|
|
60790
60880
|
mod.transformResult = null;
|
|
60791
60881
|
mod.ssrTransformResult = null;
|
|
60792
|
-
|
|
60882
|
+
mod.ssrModule = null;
|
|
60883
|
+
mod.ssrError = null;
|
|
60884
|
+
mod.importers.forEach((importer) => {
|
|
60885
|
+
if (!importer.acceptedHmrDeps.has(mod)) {
|
|
60886
|
+
this.invalidateModule(importer, seen, timestamp, isHmr);
|
|
60887
|
+
}
|
|
60888
|
+
});
|
|
60793
60889
|
}
|
|
60794
60890
|
invalidateAll() {
|
|
60795
60891
|
const timestamp = Date.now();
|
package/dist/node/cli.js
CHANGED
|
@@ -2,7 +2,7 @@ import path from 'node:path';
|
|
|
2
2
|
import fs from 'node:fs';
|
|
3
3
|
import { performance } from 'node:perf_hooks';
|
|
4
4
|
import { EventEmitter } from 'events';
|
|
5
|
-
import { A as picocolorsExports, B as bindShortcuts, w as createLogger, h as resolveConfig } from './chunks/dep-
|
|
5
|
+
import { A as picocolorsExports, B as bindShortcuts, w as createLogger, h as resolveConfig } from './chunks/dep-5a9137b7.js';
|
|
6
6
|
import { VERSION } from './constants.js';
|
|
7
7
|
import 'node:url';
|
|
8
8
|
import 'node:module';
|
|
@@ -724,7 +724,7 @@ cli
|
|
|
724
724
|
filterDuplicateOptions(options);
|
|
725
725
|
// output structure is preserved even after bundling so require()
|
|
726
726
|
// is ok here
|
|
727
|
-
const { createServer } = await import('./chunks/dep-
|
|
727
|
+
const { createServer } = await import('./chunks/dep-5a9137b7.js').then(function (n) { return n.F; });
|
|
728
728
|
try {
|
|
729
729
|
const server = await createServer({
|
|
730
730
|
root,
|
|
@@ -802,7 +802,7 @@ cli
|
|
|
802
802
|
.option('-w, --watch', `[boolean] rebuilds when modules have changed on disk`)
|
|
803
803
|
.action(async (root, options) => {
|
|
804
804
|
filterDuplicateOptions(options);
|
|
805
|
-
const { build } = await import('./chunks/dep-
|
|
805
|
+
const { build } = await import('./chunks/dep-5a9137b7.js').then(function (n) { return n.E; });
|
|
806
806
|
const buildOptions = cleanOptions(options);
|
|
807
807
|
try {
|
|
808
808
|
await build({
|
|
@@ -830,7 +830,7 @@ cli
|
|
|
830
830
|
.option('--force', `[boolean] force the optimizer to ignore the cache and re-bundle`)
|
|
831
831
|
.action(async (root, options) => {
|
|
832
832
|
filterDuplicateOptions(options);
|
|
833
|
-
const { optimizeDeps } = await import('./chunks/dep-
|
|
833
|
+
const { optimizeDeps } = await import('./chunks/dep-5a9137b7.js').then(function (n) { return n.D; });
|
|
834
834
|
try {
|
|
835
835
|
const config = await resolveConfig({
|
|
836
836
|
root,
|
|
@@ -855,7 +855,7 @@ cli
|
|
|
855
855
|
.option('--outDir <dir>', `[string] output directory (default: dist)`)
|
|
856
856
|
.action(async (root, options) => {
|
|
857
857
|
filterDuplicateOptions(options);
|
|
858
|
-
const { preview } = await import('./chunks/dep-
|
|
858
|
+
const { preview } = await import('./chunks/dep-5a9137b7.js').then(function (n) { return n.G; });
|
|
859
859
|
try {
|
|
860
860
|
const server = await preview({
|
|
861
861
|
root,
|
package/dist/node/index.d.ts
CHANGED
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
import type { Agent } from 'node:http';
|
|
4
4
|
import type { BuildOptions as BuildOptions_2 } from 'esbuild';
|
|
5
|
+
import { ChunkMetadata } from "../../types/metadata";
|
|
5
6
|
import type { ClientRequest } from 'node:http';
|
|
6
7
|
import type { ClientRequestArgs } from 'node:http';
|
|
7
8
|
import { ConnectedPayload } from "../../types/hmrPayload";
|
|
@@ -292,10 +293,7 @@ export declare interface BuildOptions {
|
|
|
292
293
|
watch?: WatcherOptions | null;
|
|
293
294
|
}
|
|
294
295
|
|
|
295
|
-
export
|
|
296
|
-
importedAssets: Set<string>;
|
|
297
|
-
importedCss: Set<string>;
|
|
298
|
-
}
|
|
296
|
+
export { ChunkMetadata }
|
|
299
297
|
|
|
300
298
|
export declare interface CommonServerOptions {
|
|
301
299
|
/**
|
|
@@ -1296,7 +1294,7 @@ export declare class ModuleGraph {
|
|
|
1296
1294
|
getModuleById(id: string): ModuleNode | undefined;
|
|
1297
1295
|
getModulesByFile(file: string): Set<ModuleNode> | undefined;
|
|
1298
1296
|
onFileChange(file: string): void;
|
|
1299
|
-
invalidateModule(mod: ModuleNode, seen?: Set<ModuleNode>, timestamp?: number): void;
|
|
1297
|
+
invalidateModule(mod: ModuleNode, seen?: Set<ModuleNode>, timestamp?: number, isHmr?: boolean): void;
|
|
1300
1298
|
invalidateAll(): void;
|
|
1301
1299
|
/**
|
|
1302
1300
|
* Update the module graph based on a module's updated imports information
|
package/dist/node/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { b as build, e as buildErrorMessage, u as createFilter, w as createLogger, c as createServer, g as defineConfig, f as formatPostcssSourceMap, j as getDepOptimizationConfig, k as isDepsOptimizerEnabled, l as loadConfigFromFile, y as loadEnv, q as mergeAlias, m as mergeConfig, n as normalizePath, o as optimizeDeps, a as preprocessCSS, p as preview, i as resolveBaseUrl, h as resolveConfig, z as resolveEnvPrefix, d as resolvePackageData, r as resolvePackageEntry, x as searchForWorkspaceRoot, v as send, s as sortUserPlugins, t as transformWithEsbuild } from './chunks/dep-
|
|
1
|
+
export { b as build, e as buildErrorMessage, u as createFilter, w as createLogger, c as createServer, g as defineConfig, f as formatPostcssSourceMap, j as getDepOptimizationConfig, k as isDepsOptimizerEnabled, l as loadConfigFromFile, y as loadEnv, q as mergeAlias, m as mergeConfig, n as normalizePath, o as optimizeDeps, a as preprocessCSS, p as preview, i as resolveBaseUrl, h as resolveConfig, z as resolveEnvPrefix, d as resolvePackageData, r as resolvePackageEntry, x as searchForWorkspaceRoot, v as send, s as sortUserPlugins, t as transformWithEsbuild } from './chunks/dep-5a9137b7.js';
|
|
2
2
|
export { VERSION as version } from './constants.js';
|
|
3
3
|
export { version as esbuildVersion } from 'esbuild';
|
|
4
4
|
export { VERSION as rollupVersion } from 'rollup';
|
|
@@ -4264,6 +4264,13 @@ function loadEnv(mode, envDir, prefixes = 'VITE_') {
|
|
|
4264
4264
|
if (parsed.NODE_ENV && process.env.VITE_USER_NODE_ENV === undefined) {
|
|
4265
4265
|
process.env.VITE_USER_NODE_ENV = parsed.NODE_ENV;
|
|
4266
4266
|
}
|
|
4267
|
+
// support BROWSER and BROWSER_ARGS env variables
|
|
4268
|
+
if (parsed.BROWSER && process.env.BROWSER === undefined) {
|
|
4269
|
+
process.env.BROWSER = parsed.BROWSER;
|
|
4270
|
+
}
|
|
4271
|
+
if (parsed.BROWSER_ARGS && process.env.BROWSER_ARGS === undefined) {
|
|
4272
|
+
process.env.BROWSER_ARGS = parsed.BROWSER_ARGS;
|
|
4273
|
+
}
|
|
4267
4274
|
try {
|
|
4268
4275
|
// let environment variables use each other
|
|
4269
4276
|
expand_1({ parsed });
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "vite",
|
|
3
|
-
"version": "4.0.
|
|
3
|
+
"version": "4.1.0-beta.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "Evan You",
|
|
@@ -59,7 +59,7 @@
|
|
|
59
59
|
},
|
|
60
60
|
"//": "READ CONTRIBUTING.md to understand what to put under deps vs. devDeps!",
|
|
61
61
|
"dependencies": {
|
|
62
|
-
"esbuild": "^0.16.
|
|
62
|
+
"esbuild": "^0.16.14",
|
|
63
63
|
"postcss": "^8.4.20",
|
|
64
64
|
"resolve": "^1.22.1",
|
|
65
65
|
"rollup": "^3.7.0"
|
|
@@ -69,12 +69,12 @@
|
|
|
69
69
|
},
|
|
70
70
|
"devDependencies": {
|
|
71
71
|
"@ampproject/remapping": "^2.2.0",
|
|
72
|
-
"@babel/parser": "^7.20.
|
|
73
|
-
"@babel/types": "^7.20.
|
|
72
|
+
"@babel/parser": "^7.20.7",
|
|
73
|
+
"@babel/types": "^7.20.7",
|
|
74
74
|
"@jridgewell/trace-mapping": "^0.3.17",
|
|
75
75
|
"@rollup/plugin-alias": "^4.0.2",
|
|
76
76
|
"@rollup/plugin-commonjs": "^24.0.0",
|
|
77
|
-
"@rollup/plugin-dynamic-import-vars": "^2.0.
|
|
77
|
+
"@rollup/plugin-dynamic-import-vars": "^2.0.2",
|
|
78
78
|
"@rollup/plugin-json": "^6.0.0",
|
|
79
79
|
"@rollup/plugin-node-resolve": "15.0.1",
|
|
80
80
|
"@rollup/plugin-typescript": "^10.0.1",
|
|
@@ -93,10 +93,11 @@
|
|
|
93
93
|
"dotenv": "^16.0.3",
|
|
94
94
|
"dotenv-expand": "^9.0.0",
|
|
95
95
|
"es-module-lexer": "^1.1.0",
|
|
96
|
-
"estree-walker": "^3.0.
|
|
96
|
+
"estree-walker": "^3.0.2",
|
|
97
97
|
"etag": "^1.8.1",
|
|
98
98
|
"fast-glob": "^3.2.12",
|
|
99
99
|
"http-proxy": "^1.18.1",
|
|
100
|
+
"json-stable-stringify": "^1.0.2",
|
|
100
101
|
"launch-editor-middleware": "^2.6.0",
|
|
101
102
|
"magic-string": "^0.27.0",
|
|
102
103
|
"micromatch": "^4.0.5",
|
|
@@ -118,7 +119,7 @@
|
|
|
118
119
|
"source-map-support": "^0.5.21",
|
|
119
120
|
"strip-ansi": "^7.0.1",
|
|
120
121
|
"strip-literal": "^0.4.2",
|
|
121
|
-
"tsconfck": "^2.0.
|
|
122
|
+
"tsconfck": "^2.0.2",
|
|
122
123
|
"tslib": "^2.4.1",
|
|
123
124
|
"types": "link:./types",
|
|
124
125
|
"ufo": "^1.0.1",
|