rollup-plugin-tidy-templates
v1.0.0
Published
A rollup plugin to transform template literal tags
Maintainers
Readme
rollup-plugin-tidy-templates
A Rollup plugin that removes specific tagged template expressions from your code. This can be useful for eliminating unnecessary template literals, optimizing your code, or stripping out certain types of templates during bundling.
Installation
You can install rollup-plugin-tidy-templates using npm or yarn:
npm install --save-dev rollup-plugin-tidy-templatesor
yarn add --dev rollup-plugin-tidy-templatesUsage
To use rollup-plugin-tidy-templates, include it in your Rollup configuration file.
import removeTemplateTags from "rollup-plugin-tidy-templates";
export default {
input: "src/index.js",
output: {
file: "dist/bundle.js",
format: "esm",
},
plugins: [
removeTemplateTags({
include: "src/**/*.js", // Optional files to include
exclude: "node_modules/**", // Optional files to exclude
tags: ["myCustomTag"], // Optional tags to remove from the template literals (default: all)
parserOptions: {
// Optional parser options for Babel
plugins: ["jsx"],
},
generatorOptions: {
// Optional generator options for Babel
retainLines: true,
},
}),
],
};Options
include (string | string[])
Files to include in the transformation. This uses Rollup's createFilter to match the files. By default, it includes all files.
exclude (string | string[])
Files to exclude from the transformation. Like include, this uses Rollup's filter functionality. You can exclude files or directories.
tags (string[])
An array of tag names to remove from the tagged template expressions. If this array is empty, all template tags will be removed.
- Default:
[](removes all template tags)
parserOptions (Object)
Additional options to configure Babel's parser. This object will be merged with the default options.
- Default:
{}
For example, you can pass in plugins to enable JSX or TypeScript support:
parserOptions: {
plugins: ['jsx', 'typescript'],
}generatorOptions (Object)
Additional options to configure Babel's generator. This object will be passed directly to Babel's generate function.
- Default:
{}
You can use this to retain line numbers or customize how the output code is generated.
Example
Consider this example code:
const x = html`<div>Hello World</div>`;
const y = markdown`
# Markdown Template
`;
console.log(x);
console.log(y);Using the plugin with tags: ['html'] will remove the html tagged template:
const x = `<div>Hello World</div>`;
const y = markdown`
# Markdown Template
`;
console.log(x);
console.log(y);License
MIT License. See LICENSE for more details.
