Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/jd1378/nuxt-obfuscator
a css class mangler/obfuscator for nuxt
https://github.com/jd1378/nuxt-obfuscator
class css mangler nuxt nuxt-module nuxtjs obfuscator vue
Last synced: 2 days ago
JSON representation
a css class mangler/obfuscator for nuxt
- Host: GitHub
- URL: https://github.com/jd1378/nuxt-obfuscator
- Owner: jd1378
- License: mit
- Created: 2023-12-08T07:13:27.000Z (10 months ago)
- Default Branch: main
- Last Pushed: 2024-03-16T04:04:22.000Z (6 months ago)
- Last Synced: 2024-09-19T07:43:53.218Z (8 days ago)
- Topics: class, css, mangler, nuxt, nuxt-module, nuxtjs, obfuscator, vue
- Language: TypeScript
- Homepage:
- Size: 172 KB
- Stars: 9
- Watchers: 1
- Forks: 0
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# Nuxt Obfuscator
a nuxt module to easily obfuscate/mangle your css class names when building the project
- [✨ Release Notes](/CHANGELOG.md)
## Quick Setup
1. Add `nuxt-obfuscator` dependency to your project
```bash
# Using pnpm
pnpm add -D nuxt-obfuscator# Using yarn
yarn add --dev nuxt-obfuscator# Using npm
npm install --save-dev nuxt-obfuscator
```2. Add `nuxt-obfuscator` to the end of `modules` section of `nuxt.config.ts`
```js
export default defineNuxtConfig({
modules: [
// your other modules
'nuxt-obfuscator'
],
obfuscator: {
// default config:
mapFile: 'obfuscation.map.json', // where to store class name mappings
nameLength: 7, // how many characters each class name should be
defaultExtensions: ['.html', '.vue', '.jsx', '.tsx', '.ts', '.js'], // which files to check for class names
exclude: [], // if path includes these keywords it will be ignored
excludeClassNames: [/^nuxt-.*$/, /^vue-.*$/, /^.*?(-enter.*|-leave.*)$/], // which class names to skip obfuscation and postcss transform. supports regex.
dev: false, // if true, class names will be obfuscated in development
}
})
```### Optional Steps (Recommended)
3. Build the project once using `yarn generate` or `yarn build` to generate the obfuscation map and add it to git to keep the class names consistent across builds
## Development
```bash
# Install dependencies
npm install# Generate type stubs
npm run dev:prepare# Develop with the playground
npm run dev# Build the playground
npm run dev:build# Run ESLint
npm run lint# Run Vitest
npm run test
npm run test:watch# Release new version
npm run release
```