0.0.6 • Published 7 months ago

unplugin-compression v0.0.6

Weekly downloads
-
License
MIT
Repository
github
Last release
7 months ago

unplugin-compression

Compress dist to zip, tar, taz. Powered by unplugin.

English | 简体中文

Installation

pnpm i -D unplugin-compression

Usage

// vite.config.ts
import Compression from "unplugin-compression/vite";

export default defineConfig({
  plugins: [
    Compression({
      /* options */
    }),
  ],
});

// rollup.config.js
import Compression from "unplugin-compression/rollup";

export default {
  plugins: [
    Compression({
      /* options */
    }),
  ],
};

// webpack.config.js
module.exports = {
  /* ... */
  plugins: [
    require("unplugin-compression/webpack")({
      /* options */
    }),
  ],
};

// vue.config.js
module.exports = {
  configureWebpack: {
    plugins: [
      require("unplugin-compression/webpack")({
        /* options */
      }),
    ],
  },
};

// esbuild.config.js
import { build } from "esbuild";

build({
  /* ... */
  plugins: [
    require("unplugin-compression/esbuild")({
      /* options */
    }),
  ],
});

Configuration

Compression({
  // you can use `zip`, `tar`, `taz`
  adapter: "zip",
  // relative paths to the directory to compress
  source: "dist",
  // relative paths to the directory to output
  outDir: "./",
  // compressed file name
  formatter: "{{name}}.{{ext}}",
});

adapter

Global adapter. When the source does not set the adapter, the global adapter is used.

see compressing

source

The compress source, which can be set as string or Source or Source[]

If you use Source and set adapter or outDir or formatter options, it's cover global options.

Compression({
  source: [
    {
      // zip adapter, dist.zip
      source: "dist",
    },
    {
      // tar adapter, output.tar
      source: "output",
      adapter: "tar",
    },
  ],
});

outDir

The compressed file output dir.

formatter

The compressed filename formatter. default value is {{name}}.{{ext}}.

interface template extends Omit<Source, "formatter"> {
  name: string;
  ext: string;
}

you can also set a handler

Compression({
  formatter(source) {
    return `Hello.${source.adapter}`;
  },
});

compressingOptions

the compressing package opts. see compressing

Compression({
  compressingOptions: {
    ignoreBase: true,
  },
});
0.0.6

7 months ago

0.0.5

9 months ago

0.0.4

1 year ago

0.0.3

2 years ago

0.0.1

2 years ago