aboutsummaryrefslogtreecommitdiffstats
path: root/vanilla/node_modules/vite/bin/vite.js
diff options
context:
space:
mode:
authorAdam Mathes <adam@adammathes.com>2026-02-13 21:34:48 -0800
committerAdam Mathes <adam@adammathes.com>2026-02-13 21:34:48 -0800
commit76cb9c2a39d477a64824a985ade40507e3bbade1 (patch)
tree41e997aa9c6f538d3a136af61dae9424db2005a9 /vanilla/node_modules/vite/bin/vite.js
parent819a39a21ac992b1393244a4c283bbb125208c69 (diff)
downloadneko-76cb9c2a39d477a64824a985ade40507e3bbade1.tar.gz
neko-76cb9c2a39d477a64824a985ade40507e3bbade1.tar.bz2
neko-76cb9c2a39d477a64824a985ade40507e3bbade1.zip
feat(vanilla): add testing infrastructure and tests (NK-wjnczv)
Diffstat (limited to 'vanilla/node_modules/vite/bin/vite.js')
-rwxr-xr-xvanilla/node_modules/vite/bin/vite.js79
1 files changed, 79 insertions, 0 deletions
diff --git a/vanilla/node_modules/vite/bin/vite.js b/vanilla/node_modules/vite/bin/vite.js
new file mode 100755
index 0000000..79c49ab
--- /dev/null
+++ b/vanilla/node_modules/vite/bin/vite.js
@@ -0,0 +1,79 @@
+#!/usr/bin/env node
+import { performance } from 'node:perf_hooks'
+import module from 'node:module'
+
+if (!import.meta.url.includes('node_modules')) {
+ if (!process.env.DEBUG_DISABLE_SOURCE_MAP) {
+ // eslint-disable-next-line n/no-unsupported-features/node-builtins -- only used in dev
+ process.setSourceMapsEnabled(true)
+ }
+
+ process.on('unhandledRejection', (err) => {
+ throw new Error('UNHANDLED PROMISE REJECTION', { cause: err })
+ })
+}
+
+global.__vite_start_time = performance.now()
+
+// check debug mode first before requiring the CLI.
+const debugIndex = process.argv.findIndex((arg) => /^(?:-d|--debug)$/.test(arg))
+const filterIndex = process.argv.findIndex((arg) =>
+ /^(?:-f|--filter)$/.test(arg),
+)
+const profileIndex = process.argv.indexOf('--profile')
+
+if (debugIndex > 0) {
+ let value = process.argv[debugIndex + 1]
+ if (!value || value[0] === '-') {
+ value = 'vite:*'
+ } else {
+ // support debugging multiple flags with comma-separated list
+ value = value
+ .split(',')
+ .map((v) => `vite:${v}`)
+ .join(',')
+ }
+ process.env.DEBUG = `${
+ process.env.DEBUG ? process.env.DEBUG + ',' : ''
+ }${value}`
+
+ if (filterIndex > 0) {
+ const filter = process.argv[filterIndex + 1]
+ if (filter && filter[0] !== '-') {
+ process.env.VITE_DEBUG_FILTER = filter
+ }
+ }
+}
+
+function start() {
+ try {
+ // eslint-disable-next-line n/no-unsupported-features/node-builtins -- it is supported in Node 22.8.0+ and only called if it exists
+ module.enableCompileCache?.()
+ // flush the cache after 10s because the cache is not flushed until process end
+ // for dev server, the cache is never flushed unless manually flushed because the process.exit is called
+ // also flushing the cache in SIGINT handler seems to cause the process to hang
+ setTimeout(() => {
+ try {
+ // eslint-disable-next-line n/no-unsupported-features/node-builtins -- it is supported in Node 22.12.0+ and only called if it exists
+ module.flushCompileCache?.()
+ } catch {}
+ }, 10 * 1000).unref()
+ } catch {}
+ return import('../dist/node/cli.js')
+}
+
+if (profileIndex > 0) {
+ process.argv.splice(profileIndex, 1)
+ const next = process.argv[profileIndex]
+ if (next && next[0] !== '-') {
+ process.argv.splice(profileIndex, 1)
+ }
+ const inspector = await import('node:inspector').then((r) => r.default)
+ const session = (global.__vite_profile_session = new inspector.Session())
+ session.connect()
+ session.post('Profiler.enable', () => {
+ session.post('Profiler.start', start)
+ })
+} else {
+ start()
+}