npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

engines.vscode-lint

v1.0.3

Published

Discover the minimum version of vscode your extension needs to run (based on parts of the API used).

Readme

engines.vscode-lint

An npm package which tells you what minimum version of vscode your extension needs to run (based on parts of the API used).

Latest Supported VS Code API Version

Installation

Add this as a devDependency to your project with the following command. This needs to be globally installed because it contributes commands to the terminal.

npm install engines.vscode-lint --save-dev -g

Usage

Note: For the sake of simplicity (and time), this linter assumes you are using at least 1.63.0 as that is the version required for pre-release versions of extenions. This may change in the future once I finish combing changelogs up to the present.

File linting

Important: Some configuration is likely required! See configuration.

To lint a file, run the following command in your terminal where path is the relative path to the file you want to lint.

engines.vscode-lint lint file <path>

The linter does not follow imports, so you will need to run it on every file you wish to lint.

Exports

If you want to incorporate this into your build process, you can require the module. The module export is an object with two properties.

MAX_VSCODE_VERSION is an number representing the highest version the linter will return (as newer apis are not yet supported.)

lintFile is a function that accepts a string as the only parameter. This string should be a relative path to the file you wish to lint. The return value will be a number representing the minimum version of vscode the file supports.

Configuration

The linter will attempt to read a configuration file when linting. (You can change the path of the file using the argument --config-file-path.) Below is a table explaining each value.

| Setting | Type | Description | Default | | :---------------: | :-------: | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :-----: | | mappings | Object | The linter does not autodetect any aliases you use for your code. (For example const vsc = require("vscode").) Using these without setting mappings silently breaks the linter. For this example, you would set mappings to "mappings": {"vsc": "require('vscode')}. (You must use require('vscode') to reference the requirable module; aliases will silently break the linter.) This also applies to the properties of the module. If you use const window = vscode.window, you must add it to mappings. ("window": "require('vscode').window") | {} | | useDefaultAlias | Boolean | By default, the linter assumes you are using the const vscode = require("vscode") pattern somewhere. (This is done because if you are the extension needs to run a specific workaround so that require("vscode") doesn't become require(require("vscode")) on the backend). If you are not, change useDefaultAlias to false. | true |

You can reset your configuration file with the following command.

engines.vscode-lint config reset