Home / File/ component.ts — vue Source File

component.ts — vue Source File

Architecture documentation for component.ts, a typescript file in the vue codebase. 13 imports, 4 dependents.

File typescript CompilerSFC ScriptAnalyzer 13 imports 4 dependents 2 classes

Entity Profile

Dependency Diagram

graph LR
  a6c11f09_c764_e550_187c_e2c0228cc358["component.ts"]
  a936832e_3507_156a_8272_84ed906b2f99["options.ts"]
  a6c11f09_c764_e550_187c_e2c0228cc358 --> a936832e_3507_156a_8272_84ed906b2f99
  ff719170_7af7_c248_aced_e6154d830e6a["ComponentOptions"]
  a6c11f09_c764_e550_187c_e2c0228cc358 --> ff719170_7af7_c248_aced_e6154d830e6a
  8c54f2a2_a72b_0919_f6c3_bb6b0e61fdae["vnode.ts"]
  a6c11f09_c764_e550_187c_e2c0228cc358 --> 8c54f2a2_a72b_0919_f6c3_bb6b0e61fdae
  016046ec_e700_347f_ec4d_28f0cf0a7f47["ScopedSlotsData"]
  a6c11f09_c764_e550_187c_e2c0228cc358 --> 016046ec_e700_347f_ec4d_28f0cf0a7f47
  f80dd31d_1559_6bda_7ead_287b819c4d3a["VNodeChildren"]
  a6c11f09_c764_e550_187c_e2c0228cc358 --> f80dd31d_1559_6bda_7ead_287b819c4d3a
  9346a995_84a8_5da5_a8c8_d858bb86ad50["VNodeData"]
  a6c11f09_c764_e550_187c_e2c0228cc358 --> 9346a995_84a8_5da5_a8c8_d858bb86ad50
  2a27bd4e_c7ee_f42b_a64f_4bf920b70ca7["global-api.ts"]
  a6c11f09_c764_e550_187c_e2c0228cc358 --> 2a27bd4e_c7ee_f42b_a64f_4bf920b70ca7
  085a38ca_16cc_29e1_37c3_08642fd7c0ea["GlobalAPI"]
  a6c11f09_c764_e550_187c_e2c0228cc358 --> 085a38ca_16cc_29e1_37c3_08642fd7c0ea
  1e01c042_34cd_21ed_a5a8_7b3ff82bc298["GlobalAPI"]
  a6c11f09_c764_e550_187c_e2c0228cc358 --> 1e01c042_34cd_21ed_a5a8_7b3ff82bc298
  f6868225_acf7_afdc_ebd3_15704ddb6566["vnode"]
  a6c11f09_c764_e550_187c_e2c0228cc358 --> f6868225_acf7_afdc_ebd3_15704ddb6566
  816bcd3b_1a7f_7b21_ab25_7a23681aea66["watcher"]
  a6c11f09_c764_e550_187c_e2c0228cc358 --> 816bcd3b_1a7f_7b21_ab25_7a23681aea66
  648c881d_0a8b_2e54_833a_913760ae9a68["apiSetup"]
  a6c11f09_c764_e550_187c_e2c0228cc358 --> 648c881d_0a8b_2e54_833a_913760ae9a68
  b9e2c8f8_e40f_d13c_47c1_35fc432c6051["effectScope"]
  a6c11f09_c764_e550_187c_e2c0228cc358 --> b9e2c8f8_e40f_d13c_47c1_35fc432c6051
  2a27bd4e_c7ee_f42b_a64f_4bf920b70ca7["global-api.ts"]
  2a27bd4e_c7ee_f42b_a64f_4bf920b70ca7 --> a6c11f09_c764_e550_187c_e2c0228cc358
  a936832e_3507_156a_8272_84ed906b2f99["options.ts"]
  a936832e_3507_156a_8272_84ed906b2f99 --> a6c11f09_c764_e550_187c_e2c0228cc358
  927c5f49_01c1_66e9_b2d5_fea2558d2cf8["ssr.ts"]
  927c5f49_01c1_66e9_b2d5_fea2558d2cf8 --> a6c11f09_c764_e550_187c_e2c0228cc358
  style a6c11f09_c764_e550_187c_e2c0228cc358 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

import type VNode from 'core/vdom/vnode'
import type Watcher from 'core/observer/watcher'
import { ComponentOptions } from './options'
import { SetupContext } from 'v3/apiSetup'
import { ScopedSlotsData, VNodeChildren, VNodeData } from './vnode'
import { GlobalAPI } from './global-api'
import { EffectScope } from 'v3/reactivity/effectScope'

// TODO this should be using the same as /component/

/**
 * @internal
 */
export declare class Component {
  constructor(options?: any)
  // constructor information
  static cid: number
  static options: Record<string, any>
  // extend
  static extend: GlobalAPI['extend']
  static superOptions: Record<string, any>
  static extendOptions: Record<string, any>
  static sealedOptions: Record<string, any>
  static super: typeof Component
  // assets
  static directive: GlobalAPI['directive']
  static component: GlobalAPI['component']
  static filter: GlobalAPI['filter']
  // functional context constructor
  static FunctionalRenderContext: Function
  static mixin: GlobalAPI['mixin']
  static use: GlobalAPI['use']

  // public properties
  $el: any // so that we can attach __vue__ to it
  $data: Record<string, any>
  $props: Record<string, any>
  $options: ComponentOptions
  $parent: Component | undefined
  $root: Component
  $children: Array<Component>
  $refs: {
    [key: string]: Component | Element | Array<Component | Element> | undefined
  }
  $slots: { [key: string]: Array<VNode> }
  $scopedSlots: { [key: string]: () => VNode[] | undefined }
  $vnode: VNode // the placeholder node for the component in parent's render tree
  $attrs: { [key: string]: string }
  $listeners: Record<string, Function | Array<Function>>
  $isServer: boolean

  // public methods
  $mount: (
    el?: Element | string,
    hydrating?: boolean
  ) => Component & { [key: string]: any }
  $forceUpdate: () => void
  $destroy: () => void
  $set: <T>(
    target: Record<string, any> | Array<T>,
// ... (153 more lines)

Domain

Subdomains

Frequently Asked Questions

What does component.ts do?
component.ts is a source file in the vue codebase, written in typescript. It belongs to the CompilerSFC domain, ScriptAnalyzer subdomain.
What does component.ts depend on?
component.ts imports 13 module(s): ComponentOptions, GlobalAPI, GlobalAPI, ScopedSlotsData, VNodeChildren, VNodeData, apiSetup, effectScope, and 5 more.
What files import component.ts?
component.ts is imported by 4 file(s): global-api.ts, options.ts, ssr.ts, vnode.ts.
Where is component.ts in the architecture?
component.ts is located at src/types/component.ts (domain: CompilerSFC, subdomain: ScriptAnalyzer, directory: src/types).

Analyze Your Own Codebase

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

Try Supermodel Free