Skip to content

The plugin enhances the build process by seamlessly integrating TypeScript, offering powerful features like type checking, automatic generation of .d.ts files, and ensuring robust type safety throughout.

License

Notifications You must be signed in to change notification settings

simonkovtyk/esbuild-plugin-typescript

Repository files navigation

TypeScript Plugin

The plugin enhances the build process by seamlessly integrating TypeScript, offering powerful features like type checking, automatic generation of .d.ts files, and ensuring robust type safety throughout.

NPM Downloads NPM License GitHub package.json version TypeScript types


Add a ⭐ to this repository — it motivates me a lot!

⚡️ Getting started

Simply install this package with your package manager.

npm install -D esbuild-plugin-typescript
📦 other package manager

Here are examples for installing the package with other package manager.

💾 yarn

yarn add -D esbuild-plugin-typescript

💾 pnpm

pnpm install -D esbuild-plugin-typescript

Looks good so far 🔥 — now you have installed the latest version!

💡 Introduction

This esbuild plugin integrates TypeScript, generating .d.ts files and performing type checks based on the user's tsconfig.json. It uses the TypeScript compiler API to ensure strict type checks that esbuild alone can't provide.

During the build, TypeScript is compiled to JavaScript while .d.ts files are created simultaneously. The plugin runs tsc in a subprocess to handle type checking independently from esbuild’s fast bundling. This ensures type safety without sacrificing performance. It respects the user's configuration, ensuring compatibility with various project setups.

🔧 Usage

typescriptPlugin(options);

This function needs to be called inside the esbuild configuration in order to use this plugin. It will provide the plugin inside the build process of esbuild.

Show an example of the integration
esbuild.build({
  // some configuration...
  plugins: [
    typescriptPlugin();
    // more plugins here...
  ]
})
Show an example of the configuration
typescriptPlugin({
  // configure here
});

Properties

overridePathToTsconfig

Default: undefined (esbuild's tsconfig file)

A string that determines the path to the tsconfig.

Show an example
typescriptPlugin({
  overridePathToTsconfig: "libs/my-lib/tsconfig.json" // any path allowed
});

Returns

Type: Plugin

An instance of this plugin, that will be used by esbuild automatically.

License

The MIT License (MIT) - Please have a look at the License file for more details.

Contributing

Want to contribute to an open-source project on GitHub but unsure where to start? Check out this comprehensive step-by-step guide on how to contribute effectively!

From forking the repository to creating pull requests, this guide walks you through every stage of the process, helping you make a successful contribution to this GitHub project. Start collaborating, learn new skills, and make an impact on this project!

See here for the contribute guide at GitHub.


GitHub @simonkovtyk

About

The plugin enhances the build process by seamlessly integrating TypeScript, offering powerful features like type checking, automatic generation of .d.ts files, and ensuring robust type safety throughout.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published