Importing the Sourcegraph API module
In order to use the Sourcegraph extension API, your extension needs to import
the sourcegraph
module at the top of the file.
This import will look like this:
import * as sourcegraph from 'sourcegraph'
Or, with the equivalent require
syntax:
const sourcegraph = require('sourcegraph')
How the import works
Unlike a regular module that is installed with npm
or yarn
and is packaged
or bundled with your project, the sourcegraph
module is actually injected
dynamically when your extension is loaded within a Sourcegraph instance.
The sourcegraph
module that you install as a package.json
dependency is
actually a set of TypeScript type definitions that allow you to use the
Sourcegraph API's interfaces. The module doesn't contain the implementations of
these interfaces.
Testing
Because the sourcegraph
module doesn't actually contain any implementation
code, a separate helper module is provided to create stubs of the API for
testing:
@sourcegraph/extension-api-stubs.
See Testing extensions for more about writing automated tests for your extension.