Share your code. npm Orgs help your team discover, share, and reuse code. Create a free org »

    tern-def-originpublic

    tern-def-origin

    A tern plugin for determining the definition AST node and origin for JavaScript types.

    Documentation on Sourcegraph

    Build Status status authors Total views

    Usage

    To install dependencies, run npm install.

    This plugin requires tern 0.5.1 (which sets the sourceFile property on AST nodes).

    With the tern server

    Add this plugin to your .tern-project file:

    {
      "plugins": {"/path/to/def-origin.js": {}}
    }

    With the tern condenser

    Load the plugin:

    $ node_modules/tern/bin/condense --plugin def-origin testdata/simple.js

    You'll see the new !data.aval and !data.type` key paths on types in the condensed output:

    {
      "!name": "testdata/simple.js",
      "a": {
        "!type": "fn()",
        "!span": "4[0:4]-5[0:5]",
        "!data": {
          "aval": {
            "originFile": "testdata/simple.js",
            "identSpan": "4-5",
            "defSpan": "8-21"
          },
          "type": {
            "origin": "testdata/simple.js",
            "name": "a"
          }
        }
      },
      "b": {
        "!type": "number",
        "!span": "27[1:4]-28[1:5]",
        "!data": {
          "aval": {
            "originFile": "testdata/simple.js",
            "identSpan": "46-47",
            "defSpan": "49-50"
          },
          "type": {
            "name": "number"
          }
        }
      },
      "c": {
        "d": {
          "!type": "number",
          "!span": "46[3:2]-47[3:3]",
          "!data": {
            "aval": {
              "originFile": "testdata/simple.js",
              "identSpan": "46-47",
              "defSpan": "49-50"
            },
            "type": {
              "name": "number"
            }
          }
        },
        "f": {
          "!type": "fn()",
          "!span": "54[4:2]-55[4:3]",
          "!data": {
            "aval": {
              "originFile": "testdata/simple.js",
              "identSpan": "54-55",
              "defSpan": "57-70"
            },
            "type": {
              "origin": "testdata/simple.js",
              "name": "f"
            }
          }
        },
        "!span": "38[2:4]-39[2:5]",
        "!data": {
          "aval": {
            "originFile": "testdata/simple.js",
            "identSpan": "38-39",
            "defSpan": "42-73"
          },
          "type": {
            "origin": "testdata/simple.js",
            "name": "c"
          }
        }
      },
      "g": {
        "!type": "fn()",
        "!span": "85[7:9]-86[7:10]",
        "!data": {
          "aval": {
            "originFile": "testdata/simple.js",
            "identSpan": "85-86",
            "defSpan": "76-91"
          },
          "type": {
            "origin": "testdata/simple.js",
            "name": "g"
          }
        }
      },
      "e": "Array"
    }

    Running tests

    Run npm test.

    Authors

    Contributions are welcome! Submit a GitHub issue or pull request.

    Keywords

    none

    install

    npm i tern-def-origin

    Downloadslast 7 days

    6

    version

    0.0.6

    license

    none

    last publish

    collaborators

    • avatar