Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/xiaoxian521/vite-plugin-remove-console

Vite plugin that remove all the specified console types in the production environment
https://github.com/xiaoxian521/vite-plugin-remove-console

Last synced: about 2 months ago
JSON representation

Vite plugin that remove all the specified console types in the production environment

Awesome Lists containing this project

README

        

vite-plugin-remove-console


A vite plugin that remove all the specified console types in the production environment


NPM version
NPM Downloads

English | [็ฎ€ไฝ“ไธญๆ–‡](./README.zh_CN.md)

## ๐Ÿš€ Features

#### โšก **High precision, zero intrusion**: Accurately and completely remove the `console` type specified in the code, and currently support the removal of file formats `.js`ใ€`.ts`ใ€`.jsx`ใ€`.tsx`ใ€`.vue`ใ€`.svelte`

#### ๐Ÿงช **Perfect example**: Currently we have added `nuxt3`ใ€`preact-js`ใ€`preact-ts`ใ€`react-js`ใ€`react-ts`ใ€`solid-js`ใ€ `solid-ts`ใ€ `svelte-js`ใ€`svelte-ts`ใ€`vue-js`ใ€`vue-ts` examples to the [playgrounds](https://github.com/xiaoxian521/vite-plugin-remove-console/tree/main/playgrounds) folder, zero usage cost

#### ๐Ÿฆพ **Configurable**:

| configuration | must | meaning | type | example |
| :-------------- | :--- | :----------------------------------------------------------- | :-------------- | :----------------------------------------------------------- |
| `external` | No | supported to pass external to represent certain files not to delete the specified `console` type of operation | `Array` | `removeConsole({external: ["src/assets/iconfont/iconfont.js",...]})` |
| `includes` | No | supports passing `includes` to specify the type of `console` that needs to be removed๏ผŒIf `includes` is not passed, `console.log` will be removed by default | `Array` | `removeConsole({ includes: ["log", "warn", "error", "info", ...] })` |
| `externalValue` | No | some `console` statements are reserved, if there is an incoming `externalValue` value in the `value` of the `console`, the `console ` will be preserved | `Array` | `removeConsole({ externalValue: ["่ฟ™ไธชไธๅˆ ", "noRemove", ...] })` |
| `custom` | No | Completely customize the statements that need to be removed, which will overwrite `includes` | `Array` | `removeConsole({ custom: ["console.log()", "console.warn()", "debugger", ...] })` |

## ๐Ÿ“ฆ install

```bash
# npm
npm install vite-plugin-remove-console -D

# or yarn
yarn add vite-plugin-remove-console -D

# or pnpm
pnpm add vite-plugin-remove-console -D
```

## ๐Ÿ“• Usage

```ts
// vite.config.ts

import { defineConfig } from "vite";
import vue from "@vitejs/plugin-vue";
import removeConsole from "vite-plugin-remove-console";

// https://vitejs.dev/config/
export default defineConfig({
plugins: [vue(), removeConsole()]
});
```

Refer to [more examples](https://github.com/xiaoxian521/vite-plugin-remove-console/tree/main/playgrounds)

## License

[MIT ยฉ 2022-present, xiaoxian521](./LICENSE)