Home / File/ source-map-support.ts — vue Source File

source-map-support.ts — vue Source File

Architecture documentation for source-map-support.ts, a typescript file in the vue codebase. 0 imports, 1 dependents.

File typescript ServerRenderer BundleRenderer 1 dependents 3 functions

Entity Profile

Dependency Diagram

graph LR
  1adeac87_d26d_ac40_0174_e261a2e75a41["source-map-support.ts"]
  f74c7f32_6b84_af20_b750_d2532206091d["create-bundle-renderer.ts"]
  f74c7f32_6b84_af20_b750_d2532206091d --> 1adeac87_d26d_ac40_0174_e261a2e75a41
  style 1adeac87_d26d_ac40_0174_e261a2e75a41 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

const SourceMapConsumer = require('source-map').SourceMapConsumer

const filenameRE = /\(([^)]+\.js):(\d+):(\d+)\)$/

export function createSourceMapConsumers(rawMaps: Object) {
  const maps = {}
  Object.keys(rawMaps).forEach(file => {
    maps[file] = new SourceMapConsumer(rawMaps[file])
  })
  return maps
}

export function rewriteErrorTrace(
  e: any,
  mapConsumers: {
    [key: string]: typeof SourceMapConsumer
  }
) {
  if (e && typeof e.stack === 'string') {
    e.stack = e.stack
      .split('\n')
      .map(line => {
        return rewriteTraceLine(line, mapConsumers)
      })
      .join('\n')
  }
}

function rewriteTraceLine(
  trace: string,
  mapConsumers: {
    [key: string]: typeof SourceMapConsumer
  }
) {
  const m = trace.match(filenameRE)
  const map = m && mapConsumers[m[1]]
  if (m != null && map) {
    const originalPosition = map.originalPositionFor({
      line: Number(m[2]),
      column: Number(m[3])
    })
    if (originalPosition.source != null) {
      const { source, line, column } = originalPosition
      const mappedPosition = `(${source.replace(
        /^webpack:\/\/\//,
        ''
      )}:${String(line)}:${String(column)})`
      return trace.replace(filenameRE, mappedPosition)
    } else {
      return trace
    }
  } else {
    return trace
  }
}

Subdomains

Frequently Asked Questions

What does source-map-support.ts do?
source-map-support.ts is a source file in the vue codebase, written in typescript. It belongs to the ServerRenderer domain, BundleRenderer subdomain.
What functions are defined in source-map-support.ts?
source-map-support.ts defines 3 function(s): createSourceMapConsumers, rewriteErrorTrace, rewriteTraceLine.
What files import source-map-support.ts?
source-map-support.ts is imported by 1 file(s): create-bundle-renderer.ts.
Where is source-map-support.ts in the architecture?
source-map-support.ts is located at packages/server-renderer/src/bundle-renderer/source-map-support.ts (domain: ServerRenderer, subdomain: BundleRenderer, directory: packages/server-renderer/src/bundle-renderer).

Analyze Your Own Codebase

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

Try Supermodel Free