vite-plugin-filter-replace
TypeScript icon, indicating that this package has built-in type declarations

0.1.14 • Public • Published

vite-plugin-filter-replace npm

Apply filename based replacements.

import vue from '@vitejs/plugin-vue';
import replace from 'vite-plugin-filter-replace';

export default {
  plugins: [
    replace(
      [
        {
          filter: /\.css$/,
          replace: {
            from: /__foo__/g,
            to: 'foo',
          },
        },
        {
          filter: /\.css$/,
          replace: [
            { from: /__foo__/g, to: 'foo' },
            { from: /__(foo)__/g, to: '$1' },
          ],
        },
        {
          filter: ['node_modules/moment/dist/moment.js'],
          replace(source, path) {
            return 'some code';
          },
        },
      ],
      { enforce: 'pre' },
    ),
  ],
};

Options

function replace(replacements: Replacement[]): Plugin;
function replace(replacements: Replacement[], options: Options): Plugin;

interface Replacement {
  filter: RegExp | string | string[];
  replace: { from: RegExp | string | string[]; to: string | number };
}

interface Replacement {
  filter: RegExp | string | string[];
  replace: (source: string, path: string) => string;
}

interface Replacement {
  filter: RegExp | string | string[];
  replace: { from: RegExp | string | string[]; to: string | number }[];
}

interface Replacement {
  filter: RegExp | string | string[];
  replace: ((source: string, path: string) => string)[];
}

interface Options {
  enforce?: 'pre' | 'post';
  apply?: 'serve' | 'build';
}

License

MIT

Readme

Keywords

Package Sidebar

Install

npm i vite-plugin-filter-replace

Weekly Downloads

6,095

Version

0.1.14

License

MIT

Unpacked Size

13.1 kB

Total Files

6

Last publish

Collaborators

  • ikeq