sq-vite-plugin-svg-icons
Version:
Vite Plugin for fast creating SVG sprites.
51 lines (46 loc) • 1.53 kB
TypeScript
import { Plugin } from 'vite';
import { OptimizeOptions } from 'svgo';
/// <reference path="../module.d.ts" />
interface ViteSvgIconsPlugin {
/**
* icons folder, all svg files in it will be converted to svg sprite.
*/
iconDirs: string[];
/**
* svgo configuration, used to compress svg
* @default:true
*/
svgoOptions?: boolean | OptimizeOptions;
/**
* icon format
* @default: icon-[dir]-[name]
*/
symbolId?: string;
}
interface FileStats {
relativeName: string;
mtimeMs?: number;
code: string;
symbolId?: string;
}
declare const _default: (opt: ViteSvgIconsPlugin) => Plugin;
declare function createModuleCode(cache: Map<string, FileStats>, svgoOptions: OptimizeOptions, options: ViteSvgIconsPlugin): Promise<{
code: string;
idSet: string;
}>;
/**
* Preload all icons in advance
* @param cache
* @param options
*/
declare function compilerIcons(cache: Map<string, FileStats>, svgOptions: OptimizeOptions, options: ViteSvgIconsPlugin): Promise<{
insertHtml: string;
idSet: Set<string>;
}>;
declare function compilerIcon(file: string, symbolId: string, svgOptions: OptimizeOptions): Promise<string | null>;
declare function createSymbolId(name: string, options: ViteSvgIconsPlugin): string;
declare function discreteDir(name: string): {
fileName: string | undefined;
dirName: string;
};
export { ViteSvgIconsPlugin, compilerIcon, compilerIcons, createModuleCode, createSymbolId, _default as default, discreteDir };