obfuscit

Obfuscit

Plugin for Vite that helps you protect your stylesheet code by obfuscating TailwindCSS, Bulma, Bootstrap and more

Tailwind logo

Downloads License npm package Star Start new PR in StackBlitz Codeflow

Obfuscit ⚡

Classes Obfuscator for Svelte. Protect your TailwindCSS, Bulma, Bootstrap and more classes from unauthorized copying. Current support includes Svelte, with upcoming features to support Vite, Webpack and Turbopack as well.

  • 💡 Easy to Use
  • ⚡️ Lightweight and Fast
  • 🛠️ Customizable
  • 📦 Support for Multiple Bundlers
  • 🔩 Comprehensive Functionalities
  • 🔑 Robust Protection for your TailwindCSS, Bulma, Bootstrap and more

[!NOTE]
Some classes like space-{direction}-{size} and divide-{direction}-{size} may not be obfuscated due this time. I'm working on it.

Table of Contents
  1. Getting Started
  2. Roadmap
  3. Usage
  4. Command Properties
  5. Contributing
  6. License
  7. Authors

Roadmap

  • Customizable classname length/prefix/suffix
  • Support for SveteKit
  • Support for Vite
  • Support for Webpack
  • Support for Turbopack

Getting Started

These instructions will get you a copy of the project up and running on your local machine for development and testing purposes. See deployment for notes on how to deploy the project on a live system.

Prerequisites

This project requires NodeJS (version 8 or later) and NPM. Node and NPM are really easy to install. To make sure you have them available on your machine, try running the following command.

$ npm -v && node -v
6.4.1
v8.16.0

Installation

BEFORE YOU INSTALL: please read the prerequisites

To install and set up the library, run:

$ npm install -D obfuscit

Or if you prefer using Yarn:

$ yarn add --dev obfuscit

Or if you prefer using PNPM:

$ pnpm add -D obfuscit

Usage

Add Obfuscit to your SvelteKit Project

import { sveltekit } from '@sveltejs/kit/vite';
import { defineConfig } from 'vite';
import Obfuscit from 'obfuscit';

export default defineConfig({
    plugins: [
        sveltekit({}),
        Obfuscit({
            length: 4,
            prefix: 'obf-',
            suffix: '-test'
        })
    ]
});

Update build command

Update your package.json to include the twobfus command in the build script.

{
  "scripts": {
    "build": "obfus --clean && <your-build-command>"
  }
}

Command Properties

twobfus

$ npx obfus --clean

Arguments

clean - Clean old obfuscated class mappings

Contributing

Please read CONTRIBUTING.md for details on our code of conduct, and the process for submitting pull requests to us.

  1. Fork it!
  2. Create your feature branch: git checkout -b my-new-feature
  3. Add your changes: git add .
  4. Commit your changes: git commit -am 'Add some feature'
  5. Push to the branch: git push origin my-new-feature
  6. Submit a pull request :sunglasses:

Authors

See also the list of contributors who participated in this project.

License

MIT License © waffpi

Top categories

Loading Svelte Themes