lsif-util
    TypeScript icon, indicating that this package has built-in type declarations

    0.2.15 • Public • Published

    lsif-util

    Scripts to help LSIF developers.

    Installation

    npm install -g lsif-util

    Usage

    lsif-util [validate|visualize] [file] --inputFormat [line|json] [--stdin] [filters]
    Option Description Default
    --inputFormat Specify input format (choices: "line", "json") line
    --stdin Read from standard input false

    You can use the --stdin flag to pipe LSIF output:

    lsif-tsc -p .\tsconfig.json | lsif-util validate --stdin

    Validation

    Returns whether the LSIF input file is syntatically valid or not.

    Verifies the following:

    • Vertex properties are correct
    • Edge properties are correct
    • Vertices are emitted before connecting edges
    • Vertices are used in at least one edge (except metadata)

    Visualization

    Option Default Description
    --distance 1 Max distance between any vertex and the filtered input

    Outputs a DOT graph.

    You can either visualize it online using Viz.js or install Graphviz and pipe it to the DOT tool:

    lsif-util visualize .\example\line.json --distance 2 | dot -Tpng -o image.png

    graph example

    Filters

    Filters can help you narrow down what you want to validate/visualize. You can filter by some of the most common properties in LSIF. Different values should be separated by space. The "regex" filter is a special case that only accepts one value.

    Property Node Example
    --id Vertex/Edge 1 2 3
    --inV Edge 1 2 3
    --outV Edge 1 2 3
    --type Vertex/Edge vertex edge
    --label Vertex/Edge project range item
    --property Edge references definitions
    --regex Vertex/Edge foo

    Validating outgoing edges from vertices 1, 2 or 3:

    lsif-util validate .\example\line.json --outV 1 2 3

    Visualizing ranges that have "foo" somewhere in them:

    lsif-util visualize .\example\line.json --label range --regex foo

    Install

    npm i lsif-util

    DownloadsWeekly Downloads

    0

    Version

    0.2.15

    License

    MIT

    Unpacked Size

    63.6 kB

    Total Files

    28

    Last publish

    Collaborators

    • jumattos