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 🙏

© 2024 – Pkg Stats / Ryan Hefner

@jgoz/esbuild-plugin-typecheck

v4.0.2

Published

TypeScript type-checking plugin for esbuild

Downloads

61,277

Readme

@jgoz/esbuild-plugin-typecheck

An esbuild plugin for TypeScript type checking and side-channel compilation.

Features

  • Runs asynchronously in a worker thread
  • Supports project references and build mode
  • Reports errors to @jgoz/esbuild-plugin-livereload

Install

$ npm i @jgoz/esbuild-plugin-typecheck

Usage

Add it to your esbuild plugins:

const esbuild = require('esbuild');
const { typecheckPlugin } = require('@jgoz/esbuild-plugin-typecheck');

await esbuild.build({
  // ...
  plugins: [typecheckPlugin()],
});

API

function typecheckPlugin(options?: TypecheckPluginOptions): Plugin

Plugin options:

| Name | Type | Default | Description | | ---- | ---- | ------- | ----------- | | build | boolean \| BuildOptions | - | Run the compiler in build mode, equivalent to running tsc --build. Normally, this will be inferred if tsconfig.json sets "composite": true but it can be overridden by this option.This option also accepts an object, which implicitly turns build mode on. The object accepts build-mode-specific options that will be passed to the TypeScript compiler API. | | buildMode | "readonly" \| "write-output" | "readonly" | Changes the behavior of build mode with respect to program output (JavaScript, type definitions, sourcemaps, and .tsbuildinfo files).readonly (default) — output files will be written to an in-memory file system and discared after esbuild exitswrite-output — output files will be written to disk as though you had invoked tsc --buildThere are tradeoffs between the two modes. In readonly mode, the initial typecheck may be slower, especially if the output/.tsbuildinfo files do not match the source files. However, subsequent incremental typechecks may be slightly faster since no I/O is involved. This mode is also the least surprising because typechecking implies a different intent than compilation, but TypeScript's build mode needs to produce output in order to remain fast for incremental compilation.In write-output mode, the output files will always be in sync with the input files, so the initial compilation may be slightly faster. However, subsequent incremental typechecks might be slightly slower due to I/O overhead. This mode would be appropriate to enable as an alternative to invoking tsc --build manually, e.g., in the case where the TypeScript output itself may be used outside of esbuild. | | compilerOptions | CompilerOptions | {} | TypeScript compiler option overrides that will be merged into the options in "tsconfig.json". | | configFile | string | - | Path to "tsconfig.json". If not specified, this will use ESBuild's "tsconfig" option, finally falling back to TypeScript's config file resolution algorithm. | | logger | Logger | - | Logger to use instead of the default. | | omitStartLog | boolean | false | Omit "Typecheck started" messages. | | watch | boolean | - | Enable typescript's watch mode |