https://github.com/valeriogc/vite-plugin-uglifier
A Vite plugin for minifying and obfuscating CSS class and ID names in Vue components, reducing bundle size and making reverse-engineering harder.
https://github.com/valeriogc/vite-plugin-uglifier
css uglify vite-plugin vuejs
Last synced: 2 months ago
JSON representation
A Vite plugin for minifying and obfuscating CSS class and ID names in Vue components, reducing bundle size and making reverse-engineering harder.
- Host: GitHub
- URL: https://github.com/valeriogc/vite-plugin-uglifier
- Owner: ValerioGc
- License: 0bsd
- Created: 2025-04-28T00:01:25.000Z (2 months ago)
- Default Branch: main
- Last Pushed: 2025-04-28T10:28:23.000Z (2 months ago)
- Last Synced: 2025-04-28T10:56:28.689Z (2 months ago)
- Topics: css, uglify, vite-plugin, vuejs
- Language: TypeScript
- Homepage:
- Size: 33.2 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.txt
- License: LICENSE
Awesome Lists containing this project
README
# vite-plugin-uglifier beta
> A Vite plugin to shrink and obfuscate CSS classes & IDs in Vue components
![]()
![]()
A Vite plugin for **minifying** and **obfuscating** CSS class and ID names in Vue components, reducing bundle size and making reverse-engineering harder. Ideal for projects with lengthy or numerous class and ID names, it shortens them and masks the originals to optimize component size and protect code privacy.
## Installation
```bash
npm install vite-plugin-uglifier --save-dev
```## Usage
The plugin can be used in the `vite.config.js` file as follows:```javascript
plugins: [
vitePluginUglifier({
enableLogging: true,
renameId: true,
include: ['*'],
exclude: []
});
]
```## Options
- `enableLogging`: (boolean) Set to `true` to enable console logging. Default is `false`.
- `renameId`: (boolean) Set to `true` to enable renaming of IDs. Default is `false`.
- `include`: (array) Specify the files to include for renaming. Default is `['*']` (all files).
- `exclude`: (array) Specify the files to exclude from renaming. Default is `[]` (none).## Classes and ID Coverage
The plugin covers the following classes and IDs in Vue components:
- `class` attributes in HTML elements
- `class` attributes in Vue components
- `id` attributes in HTML elements
- `id` attributes in Vue components
- `class` and `id` attributes in `` blocks
- `class` and `id` attributes in `<style scoped>` blocks
- `class` and `id` attributes in `<style module>` blocks
- `class` and `id` attributes in `<style lang="scss">` blocks
- `class` and `id` attributes in `<style lang="sass">` blocks
- `class` and `id` attributes in `<style lang="less">` blocks
- `class` and `id` attributes in `<style lang="stylus">` blocks
- `class` and `id` attributes in `<style lang="postcss">` blocks
- `class` and `id` attributes in `<style lang="css">` blocks
- Note: The plugin does not cover `class` and `id` attributes in `<style>` blocks that are not scoped or module-based.## License
This project is licensed under the 0BSD License. See the [LICENSE](LICENSE) file for details.
## Contributing
Contributions are welcome! Please open an issue or submit a pull request for any improvements or bug fixes.