Home / Function/ sirvOptions() — vite Function Reference

sirvOptions() — vite Function Reference

Architecture documentation for the sirvOptions() function in static.ts from the vite codebase.

Entity Profile

Dependency Diagram

graph TD
  449af0c1_44a5_1ad5_ce35_a183c1ef89e6["sirvOptions()"]
  d91d6c8f_e2c2_3b92_12c3_391c9ba06183["static.ts"]
  449af0c1_44a5_1ad5_ce35_a183c1ef89e6 -->|defined in| d91d6c8f_e2c2_3b92_12c3_391c9ba06183
  a7dae3c6_6c90_d5b1_7a7e_6ba70a059339["servePublicMiddleware()"]
  a7dae3c6_6c90_d5b1_7a7e_6ba70a059339 -->|calls| 449af0c1_44a5_1ad5_ce35_a183c1ef89e6
  7e76fb1f_0d85_1b5a_15ce_269a9f256af9["serveStaticMiddleware()"]
  7e76fb1f_0d85_1b5a_15ce_269a9f256af9 -->|calls| 449af0c1_44a5_1ad5_ce35_a183c1ef89e6
  0c4b83a7_ea4d_51f2_a018_23a3dcc25c7b["serveRawFsMiddleware()"]
  0c4b83a7_ea4d_51f2_a018_23a3dcc25c7b -->|calls| 449af0c1_44a5_1ad5_ce35_a183c1ef89e6
  fe25e7e9_e8e7_d04f_5c4c_9b4e6daa8350["checkLoadingAccess()"]
  449af0c1_44a5_1ad5_ce35_a183c1ef89e6 -->|calls| fe25e7e9_e8e7_d04f_5c4c_9b4e6daa8350
  style 449af0c1_44a5_1ad5_ce35_a183c1ef89e6 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

packages/vite/src/node/server/middlewares/static.ts lines 32–78

const sirvOptions = ({
  config,
  getHeaders,
  disableFsServeCheck,
}: {
  config: ResolvedConfig
  getHeaders: () => OutgoingHttpHeaders | undefined
  disableFsServeCheck?: boolean
}): Options => {
  return {
    dev: true,
    etag: true,
    extensions: [],
    setHeaders(res, pathname) {
      // Matches js, jsx, ts, tsx, mts, mjs, cjs, cts, ctx, mtx
      // The reason this is done, is that the .ts and .mts file extensions are
      // reserved for the MIME type video/mp2t. In almost all cases, we can expect
      // these files to be TypeScript files, and for Vite to serve them with
      // this Content-Type.
      if (knownJavascriptExtensionRE.test(pathname)) {
        res.setHeader('Content-Type', 'text/javascript')
      }
      const headers = getHeaders()
      if (headers) {
        for (const name in headers) {
          res.setHeader(name, headers[name]!)
        }
      }
    },
    shouldServe: disableFsServeCheck
      ? undefined
      : (filePath) => {
          const servingAccessResult = checkLoadingAccess(config, filePath)
          if (servingAccessResult === 'denied') {
            const error: any = new Error('denied access')
            error.code = ERR_DENIED_FILE
            error.path = filePath
            throw error
          }
          if (servingAccessResult === 'fallback') {
            return false
          }
          servingAccessResult satisfies 'allowed'
          return true
        },
  }
}

Domain

Subdomains

Frequently Asked Questions

What does sirvOptions() do?
sirvOptions() is a function in the vite codebase, defined in packages/vite/src/node/server/middlewares/static.ts.
Where is sirvOptions() defined?
sirvOptions() is defined in packages/vite/src/node/server/middlewares/static.ts at line 32.
What does sirvOptions() call?
sirvOptions() calls 1 function(s): checkLoadingAccess.
What calls sirvOptions()?
sirvOptions() is called by 3 function(s): servePublicMiddleware, serveRawFsMiddleware, serveStaticMiddleware.

Analyze Your Own Codebase

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

Try Supermodel Free