パッケージの詳細

@jgoz/esbuild-plugin-typecheck

jgoz334.9kMIT4.0.3

TypeScript type-checking plugin for esbuild

esbuild-plugin, esbuild, typescript, checking

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 exits
  • write-output — output files will be written to disk as though you had invoked tsc --build

    There 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

    更新履歴

    @jgoz/esbuild-plugin-typecheck

    4.0.3

    Patch Changes

    • cb8851e: Support esbuild 0.25.x
    • b59e53c: Support esbuild 0.25.0
    • Updated dependencies [b59e53c]
      • @jgoz/esbuild-plugin-livereload@2.1.3

    4.0.2

    Patch Changes

    • ec0ef7c: Expand esbuild peer dependency range
    • Updated dependencies [ec0ef7c]
      • @jgoz/esbuild-plugin-livereload@2.1.2

    4.0.1

    Patch Changes

    • 60ec0df: Expand esbuild peer dependency range
    • Updated dependencies [60ec0df]
      • @jgoz/esbuild-plugin-livereload@2.1.1

    4.0.0

    Patch Changes

    • Updated dependencies [b23f695]
      • @jgoz/esbuild-plugin-livereload@2.1.0

    3.1.3

    Patch Changes

    • 5a50176: Expand esbuild peer dep range
    • Updated dependencies [5a50176]
      • @jgoz/esbuild-plugin-livereload@2.0.5

    3.1.2

    Patch Changes

    • 43765db: Use proper basePath for relative 'extends' config
    • 9976307: Ensure non-string messageText errors are reported
    • 60af049: Avoid printing empty lines to console.error

    3.1.1

    Patch Changes

    • 25c5d69: Support esbuild 0.20.x
    • Updated dependencies [25c5d69]
      • @jgoz/esbuild-plugin-livereload@2.0.4

    3.1.0

    Minor Changes

    • 64365b9: Support esbuild 0.19

    3.0.3

    Patch Changes

    • 2dcf438: esbuild 18 support
    • Updated dependencies [2dcf438]
      • @jgoz/esbuild-plugin-livereload@2.0.3

    3.0.2

    Patch Changes

    • 257acff: Update dependencies
    • Updated dependencies [257acff]
      • @jgoz/esbuild-plugin-livereload@2.0.2

    3.0.1

    Patch Changes

    • 8a685b5: Support esbuild 0.17.2 entry format
    • Updated dependencies [8a685b5]
      • @jgoz/esbuild-plugin-livereload@2.0.1

    3.0.0

    Major Changes

    • 3d5d90d: Target esbuild 0.17; 'watch' must be specified explicitly

      As of esbuild 0.17, it is no longer possible to detect via esbuild options if watch mode has been requested (issue). This prevents esbuild-plugin-typecheck from being able to infer whether to run TypeScript in watch mode.

    Patch Changes

    • Updated dependencies [3d5d90d]
    • Updated dependencies [3d5d90d]
      • @jgoz/esbuild-plugin-livereload@2.0.0

    2.0.0

    Patch Changes

    • Updated dependencies [a05325a]
      • @jgoz/esbuild-plugin-livereload@1.1.0

    1.1.0

    Minor Changes

    • a38d9c9: Extract TypecheckRunner for more fine-grained integration

    Patch Changes

    • 3246343: Update dependencies
    • Updated dependencies [3246343]
      • @jgoz/esbuild-plugin-livereload@1.0.1

    1.0.2

    Patch Changes

    • f8dbf49: Don't exclude js files (fix bad publish)

    1.0.1

    Patch Changes

    • f17a5f7: Fix typescript setup and bad publish