Skip to content

TypeScript plugin to remove assert in production mode of webpack

Notifications You must be signed in to change notification settings

januswel/typescript-plugin-unassert

Repository files navigation

typescript-plugin-unassert

CircleCI

Motivation

Assertion Functions is available from TypeScript 3.7, but assertion functions are called and processed always, even in production codes.

This plugin eliminates all of assert and assertIsDefined calls, that are introduced at the official page.

Getting Started

npm install --save-dev typescript-plugin-unassert ts-loader
# or
yarn add --dev typescript-plugin-unassert ts-loader

Write following lines in your webpack.config.json.

const unassertTransformer = require('typescript-plugin-unassert')

// snip

module.exports = {
  // snip
  module: {
    rules: [
      {
        test: /\.tsx?$/,
        loader: 'ts-loader',
        options: {
          getCustomTransformers: () => ({
            before: [unassertTransformer],
          }),
        },
        exclude: /node_modules/,
      },
    ],
  },
  // snip
}

Make sure to specify something except for "CommonJS" for the "module" property in tsconfig.json if you need tree shaking.

See example dir which is minimum usage.

About

TypeScript plugin to remove assert in production mode of webpack

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published