Socket
Book a DemoInstallSign in
Socket

@sourcegraph/extension-api-stubs

Package Overview
Dependencies
Maintainers
9
Versions
29
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@sourcegraph/extension-api-stubs

Stubs for the Sourcegraph extension API to unit-test Sourcegraph extensions

latest
Source
npmnpm
Version
1.6.2
Version published
Maintainers
9
Created
Source

@sourcegraph/extension-api-stubs

npm downloads master build status codecov code style: prettier semantic-release

⚠️ Deprecation notice

Sourcegraph extensions have been deprecated with the September 2022 Sourcegraph release. Learn more.

The repo and the docs below are kept to support older Sourcegraph versions.

Description

Stubs for the Sourcegraph extension API to unit-test Sourcegraph extensions

Install

npm install @sourcegraph/extension-api-stubs
# or
yarn add @sourcegraph/extension-api-stubs

Example

import mock from 'mock-require'
import { createStubSourcegraphAPI, createStubExtensionContext } from '@sourcegraph/extension-api-stubs'
const sourcegraph = createStubSourcegraphAPI()
// For modules importing Range/Location/Position/URI/etc
mock('sourcegraph', sourcegraph)

import * as sinon from 'sinon'
import { activate } from './extension'

describe('my extension', () => {
  it('should register a hover provider', async () => {
    const context = createStubExtensionContext()
    await activate(context)
    sinon.assert.calledOnce(sourcegraph.languages.registerHoverProvider)
    const provider = sourcegraph.languages.registerHoverProvider.args[0][1]
    const result = provider()
    // More assertions ...
  })
})

See the Sinon documentation for more info on how to use the stubs.

Build

yarn
yarn build

Test

yarn test

Release

Releases are done automatically in CI when commits are merged into master by analyzing Conventional Commit Messages. After running yarn, commit messages will be linted automatically when committing though a git hook. The git hook can be circumvented for fixup commits with git's fixup! autosquash feature, or by passing --no-verify to git commit. You may have to rebase a branch before merging to ensure it has a proper commit history, or squash merge with a manually edited commit message that conforms to the convention.

FAQs

Package last updated on 31 Oct 2022

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts