Package Exports
- @castlenine/vite-remove-attribute
Readme
@castlenine/vite-remove-attribute
Vite plugin that allows the removal of specified attributes and supports a variety of options, including file extensions, attributes, ignored folders, and files.
Table of Contents
Features
- Removes specified attributes
- Allows you to specify the file extensions to be processed
- Can ignore certain folders or files based on configuration
- Ensures clean production code by removing unnecessary attributes, like 'data-testid' used in testing
Installation
Use your package manager to install:
npm i --save-dev @castlenine/vite-remove-attributeUsage
Prerequisites
To use this plugin, you need to have a Vite project set up. Import and use the plugin in your vite.config.js or
vite.config.ts file.
Examples
Example 1: Removing 'data-testid' attributes from .svelte files
This configuration will remove data-testid attributes from all .svelte files in the production build.
import { defineConfig } from 'vite';
import { sveltekit } from '@sveltejs/kit/vite';
import removeAttribute from '@castlenine/vite-remove-attribute';
const IS_PRODUCTION = process.env.NODE_ENV == 'production';
export default defineConfig({
plugins: [
sveltekit(),
IS_PRODUCTION
? removeAttribute({
extensions: ['svelte'],
attributes: ['data-testid'],
})
: null,
],
});Example 2: Ignoring specific folders and files
This configuration will remove data-testid and data-id attributes from all .svelte, .ts, and .js files, with the exception of those located in the src/tests and src/utilities folders, as well as the Header.svelte, src/components/Modal.svelte, and src/layouts/LayoutAuth.svelte files in all builds.
import { defineConfig } from 'vite';
import { sveltekit } from '@sveltejs/kit/vite';
import removeAttribute from '@castlenine/vite-remove-attribute';
export default defineConfig({
plugins: [
sveltekit(),
removeAttribute({
extensions: ['svelte', 'ts', 'js'],
attributes: ['data-testid', 'data-id'],
ignoreFolders: ['src/tests', 'src/utilities'],
ignoreFiles: ['Header.svelte', 'src/components/Modal.svelte', 'src/layouts/LayoutAuth.svelte'],
}),
],
});Forked from mustafadalga/remove-attr