prttco / obfuscit

Plugin for Vite that helps you protect your stylesheet code by obfuscating TailwindCSS, Bulma, Bootstrap and more
https://www.npmjs.com/package/obfuscit
MIT License
12 stars 0 forks source link
obfuscator postcss svelte sveltekit sveltekit-plugin tailwind tailwindcss
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.

[!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

Notice

Important: This package is currently not being updated. Due to other commitments, I am unable to maintain or update this project at this time. When I have more availability, I plan to release a new version written in Rust with support for Bun and other platforms. Thank you for your understanding and patience.

Roadmap

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