Home / File/ hmr.ts — vite Source File

hmr.ts — vite Source File

Architecture documentation for hmr.ts, a typescript file in the vite codebase. 13 imports, 0 dependents.

File typescript ViteCore ConfigEngine 13 imports 6 functions

Entity Profile

Dependency Diagram

graph LR
  be844d6e_9238_efe5_d28e_7822a013b9ab["hmr.ts"]
  011033a8_455d_fc47_8962_46531af6f43f["hmrDep.js"]
  be844d6e_9238_efe5_d28e_7822a013b9ab --> 011033a8_455d_fc47_8962_46531af6f43f
  65174702_b29c_146d_aa70_2df6aaf01e5e["index.js"]
  be844d6e_9238_efe5_d28e_7822a013b9ab --> 65174702_b29c_146d_aa70_2df6aaf01e5e
  9cc18926_389a_f5e4_aab6_1360fe089eab["index.js"]
  be844d6e_9238_efe5_d28e_7822a013b9ab --> 9cc18926_389a_f5e4_aab6_1360fe089eab
  8f5b9fbc_77c6_21d9_5b29_1c68d6dad63f["parent.js"]
  be844d6e_9238_efe5_d28e_7822a013b9ab --> 8f5b9fbc_77c6_21d9_5b29_1c68d6dad63f
  734a2ac2_7c1f_3c95_e1e7_22831c4c6ff9["index.js"]
  be844d6e_9238_efe5_d28e_7822a013b9ab --> 734a2ac2_7c1f_3c95_e1e7_22831c4c6ff9
  7a49f146_2467_3892_c764_2c5babc5b73b["parent.js"]
  be844d6e_9238_efe5_d28e_7822a013b9ab --> 7a49f146_2467_3892_c764_2c5babc5b73b
  915483db_a406_3fd6_d0c1_204a2cc7fede["index.js"]
  be844d6e_9238_efe5_d28e_7822a013b9ab --> 915483db_a406_3fd6_d0c1_204a2cc7fede
  9f428b2a_6d3a_cacf_d0a9_a3195687d32e["index.js"]
  be844d6e_9238_efe5_d28e_7822a013b9ab --> 9f428b2a_6d3a_cacf_d0a9_a3195687d32e
  d1190008_63be_a391_4421_320f66ac7c71["index.js"]
  be844d6e_9238_efe5_d28e_7822a013b9ab --> d1190008_63be_a391_4421_320f66ac7c71
  563e3ed4_6129_6541_4b9c_3713b48cfe69["./logo.svg"]
  be844d6e_9238_efe5_d28e_7822a013b9ab --> 563e3ed4_6129_6541_4b9c_3713b48cfe69
  90151915_f4b7_e599_c697_797b5115c9d6["./logo-no-inline.svg"]
  be844d6e_9238_efe5_d28e_7822a013b9ab --> 90151915_f4b7_e599_c697_797b5115c9d6
  421e4581_c0aa_341c_4fda_59548269bc67["index.js"]
  be844d6e_9238_efe5_d28e_7822a013b9ab --> 421e4581_c0aa_341c_4fda_59548269bc67
  45a80026_33bf_3f6f_ab27_48f519ed66cf["virtual:file"]
  be844d6e_9238_efe5_d28e_7822a013b9ab --> 45a80026_33bf_3f6f_ab27_48f519ed66cf
  style be844d6e_9238_efe5_d28e_7822a013b9ab fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

import { virtual } from 'virtual:file'
import { foo as depFoo, nestedFoo } from './hmrDep'
import './importing-updated'
import './invalidation-circular-deps'
import './invalidation/parent'
import './file-delete-restore'
import './optional-chaining/parent'
import './intermediate-file-delete'
import './circular'
import './queries'
import logo from './logo.svg'
import logoNoInline from './logo-no-inline.svg'
import { msg as softInvalidationMsg } from './soft-invalidation'

export const foo = 1
text('.app', foo)
text('.dep', depFoo)
text('.nested', nestedFoo)
text('.virtual', virtual)
text('.soft-invalidation', softInvalidationMsg)
setImgSrc('#logo', logo)
setImgSrc('#logo-no-inline', logoNoInline)

globalThis.__HMR__['virtual:increment'] = () => {
  if (import.meta.hot) {
    import.meta.hot.send('virtual:increment')
  }
}

if (import.meta.hot) {
  import.meta.hot.accept(({ foo }) => {
    log('(self-accepting 1) foo is now:', foo)
  })

  import.meta.hot.accept(({ foo }) => {
    log('(self-accepting 2) foo is now:', foo)
  })

  const handleDep = (type, newFoo, newNestedFoo) => {
    log(`(${type}) foo is now: ${newFoo}`)
    log(`(${type}) nested foo is now: ${newNestedFoo}`)
    text('.dep', newFoo)
    text('.nested', newNestedFoo)
  }

  import.meta.hot.accept('./logo.svg', (newUrl) => {
    setImgSrc('#logo', newUrl.default)
    log('Logo updated', newUrl.default)
  })

  import.meta.hot.accept('./logo-no-inline.svg', (newUrl) => {
    setImgSrc('#logo-no-inline', newUrl.default)
    log('Logo-no-inline updated', newUrl.default)
  })

  import.meta.hot.accept('./hmrDep', ({ foo, nestedFoo }) => {
    handleDep('single dep', foo, nestedFoo)
  })

  import.meta.hot.accept(['./hmrDep'], ([{ foo, nestedFoo }]) => {
// ... (61 more lines)

Domain

Subdomains

Dependencies

Frequently Asked Questions

What does hmr.ts do?
hmr.ts is a source file in the vite codebase, written in typescript. It belongs to the ViteCore domain, ConfigEngine subdomain.
What functions are defined in hmr.ts?
hmr.ts defines 6 function(s): globalThis, handleDep, hmr, removeCb, setImgSrc, text.
What does hmr.ts depend on?
hmr.ts imports 13 module(s): ./logo-no-inline.svg, ./logo.svg, hmrDep.js, index.js, index.js, index.js, index.js, index.js, and 5 more.
Where is hmr.ts in the architecture?
hmr.ts is located at playground/hmr-ssr/hmr.ts (domain: ViteCore, subdomain: ConfigEngine, directory: playground/hmr-ssr).

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free