mirror of
https://github.com/gosticks/DefinitelyTyped.git
synced 2026-10-04 14:57:10 +00:00
Updated clean-css to use 4.2.1
This commit is contained in:
@@ -11,7 +11,7 @@ new CleanCSS().minify(source, function (error, minified) {
|
||||
|
||||
const pathToOutputDirectory = 'path';
|
||||
|
||||
new CleanCSS({ sourceMap: true, target: pathToOutputDirectory })
|
||||
new CleanCSS({ sourceMap: true, rebaseTo: pathToOutputDirectory })
|
||||
.minify(source, function (error, minified) {
|
||||
// access minified.sourceMap for SourceMapGenerator object
|
||||
// see https://github.com/mozilla/source-map/#sourcemapgenerator for more details
|
||||
@@ -20,15 +20,15 @@ new CleanCSS({ sourceMap: true, target: pathToOutputDirectory })
|
||||
});
|
||||
|
||||
const inputSourceMapAsString = 'input';
|
||||
new CleanCSS({ sourceMap: inputSourceMapAsString, target: pathToOutputDirectory })
|
||||
.minify(source, function (error, minified) {
|
||||
new CleanCSS({ sourceMap: true, rebaseTo: pathToOutputDirectory })
|
||||
.minify(source, inputSourceMapAsString, function (error, minified) {
|
||||
// access minified.sourceMap to access SourceMapGenerator object
|
||||
// see https://github.com/mozilla/source-map/#sourcemapgenerator for more details
|
||||
// see https://github.com/jakubpawlowicz/clean-css/blob/master/bin/cleancss#L114 on how it's used in clean-css' CLI
|
||||
console.log(minified.sourceMap);
|
||||
console.log();
|
||||
});
|
||||
|
||||
new CleanCSS({ sourceMap: true, target: pathToOutputDirectory }).minify({
|
||||
new CleanCSS({ sourceMap: true, rebaseTo: pathToOutputDirectory }).minify({
|
||||
'path/to/source/1': {
|
||||
styles: '...styles...',
|
||||
sourceMap: '...source-map...'
|
||||
|
||||
Vendored
+581
-64
@@ -1,108 +1,625 @@
|
||||
// Type definitions for clean-css v3.4.9
|
||||
// Type definitions for clean-css v4.2.1
|
||||
// Project: https://github.com/jakubpawlowicz/clean-css
|
||||
// Definitions by: Tanguy Krotoff <https://github.com/tkrotoff>
|
||||
// Definitions by: Andrew Potter <https://github.com/GolaWaya>
|
||||
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
|
||||
|
||||
/// <reference types="node" />
|
||||
import { RequestOptions as HttpsRequestOptions } from "https";
|
||||
import { RequestOptions as HttpRequestOptions } from "http";
|
||||
|
||||
declare namespace CleanCSS {
|
||||
/**
|
||||
* Options passed when initializing a new instance of CleanCSS
|
||||
*/
|
||||
interface Options {
|
||||
// Set to false to disable advanced optimizations - selector & property merging, reduction, etc.
|
||||
advanced?: boolean;
|
||||
/**
|
||||
* Controls compatibility mode used; defaults to ie10+ using `'*'`
|
||||
*/
|
||||
compatibility?: "*" | "ie9" | "ie8" | "ie7" | CompatibilityOptions;
|
||||
|
||||
// Set to false to disable aggressive merging of properties.
|
||||
aggressiveMerging?: boolean;
|
||||
/**
|
||||
* Controls a function for handling remote requests; Defaults to the build in `loadRemoteResource` function
|
||||
*/
|
||||
fetch?: (uri: string, inlineRequest: HttpRequestOptions | HttpsRequestOptions, inlineTimeout: number, callback: FetchCallback) => void;
|
||||
|
||||
// Turns on benchmarking mode measuring time spent on cleaning up (run npm run bench to see example)
|
||||
benchmark?: boolean;
|
||||
/**
|
||||
* Controls output CSS formatting; defaults to `false`
|
||||
*/
|
||||
format?: "beautify" | "keep-breaks" | Format | false;
|
||||
|
||||
// Enables compatibility mode
|
||||
compatibility?: Object;
|
||||
/**
|
||||
* inline option whitelists which @import rules will be processed. Defaults to `'local'`
|
||||
* Accepts the following values:
|
||||
* 'local': enables local inlining;
|
||||
* 'remote': enables remote inlining;
|
||||
* 'none': disables all inlining;
|
||||
* 'all': enables all inlining, same as ['local', 'remote'];
|
||||
* '[uri]': enables remote inlining from the specified uri;
|
||||
* '![url]': disables remote inlining from the specified uri;
|
||||
*/
|
||||
inline?: string[] | false;
|
||||
|
||||
// Set to true to get minification statistics under stats property (see test/custom-test.js for examples)
|
||||
debug?: boolean;
|
||||
/**
|
||||
* Controls extra options for inlining remote @import rules
|
||||
*/
|
||||
inlineRequest?: HttpRequestOptions | HttpsRequestOptions;
|
||||
|
||||
// A hash of options for @import inliner, see test/protocol-imports-test.js for examples, or this comment for a proxy use case.
|
||||
inliner?: Object;
|
||||
/**
|
||||
* Controls number of milliseconds after which inlining a remote @import fails; defaults to `5000`;
|
||||
*/
|
||||
inlineTimeout?: number;
|
||||
|
||||
// Whether to keep line breaks (default is false)
|
||||
keepBreaks?: boolean;
|
||||
/**
|
||||
* Controls optimization level used; defaults to `1`
|
||||
*/
|
||||
level?: 0 | 1 | 2 | optimizationsOptions;
|
||||
|
||||
// * for keeping all (default), 1 for keeping first one only, 0 for removing all
|
||||
keepSpecialComments?: string | number;
|
||||
|
||||
// Whether to merge @media at-rules (default is true)
|
||||
mediaMerging?: boolean;
|
||||
|
||||
// Whether to process @import rules
|
||||
processImport?: boolean;
|
||||
|
||||
// A list of @import rules, can be ['all'] (default), ['local'], ['remote'], or a blacklisted path e.g. ['!fonts.googleapis.com']
|
||||
processImportFrom?: Array<string>;
|
||||
|
||||
// Set to false to skip URL rebasing
|
||||
/**
|
||||
* Controls URL rebasing; defaults to `true`;
|
||||
*/
|
||||
rebase?: boolean;
|
||||
|
||||
// Path to resolve relative @import rules and URLs
|
||||
relativeTo?: string;
|
||||
/**
|
||||
* controls a directory to which all URLs are rebased, most likely the directory under which the output file
|
||||
* will live; defaults to the current directory;
|
||||
*/
|
||||
rebaseTo?: string;
|
||||
|
||||
// Set to false to disable restructuring in advanced optimizations
|
||||
restructuring?: boolean;
|
||||
/**
|
||||
* If you prefer clean-css to return a Promise object then you need to explicitely ask for it; defaults to `false`
|
||||
*/
|
||||
returnPromise?: boolean;
|
||||
|
||||
// Path to resolve absolute @import rules and rebase relative URLs
|
||||
root?: string;
|
||||
/**
|
||||
* Controls whether an output source map is built; defaults to `false`
|
||||
*/
|
||||
sourceMap?: boolean;
|
||||
|
||||
// Rounding precision; defaults to 2; -1 disables rounding
|
||||
roundingPrecision?: number;
|
||||
|
||||
// Set to true to enable semantic merging mode which assumes BEM-like content (default is false as it's highly likely this will break your stylesheets - use with caution!)
|
||||
semanticMerging?: boolean;
|
||||
|
||||
// Set to false to skip shorthand compacting (default is true unless sourceMap is set when it's false)
|
||||
shorthandCompacting?: boolean;
|
||||
|
||||
// Exposes source map under sourceMap property, e.g. new CleanCSS().minify(source).sourceMap (default is false) If input styles are a product of CSS preprocessor (Less, Sass) an input source map can be passed as a string.
|
||||
sourceMap?: boolean | string;
|
||||
|
||||
// Set to true to inline sources inside a source map's sourcesContent field (defaults to false) It is also required to process inlined sources from input source maps.
|
||||
/**
|
||||
* Controls embedding sources inside a source map's `sourcesContent` field; defaults to `false`
|
||||
*/
|
||||
sourceMapInlineSources?: boolean;
|
||||
|
||||
// Path to a folder or an output file to which rebase all URLs
|
||||
target?: string;
|
||||
}
|
||||
|
||||
/**
|
||||
* Output returned when calling minify functions
|
||||
*/
|
||||
interface Output {
|
||||
// Optimized output CSS as a string
|
||||
/**
|
||||
* Optimized output CSS as a string
|
||||
*/
|
||||
styles: string;
|
||||
|
||||
// Output source map (if requested with sourceMap option)
|
||||
/**
|
||||
* Output source map if requested with `sourceMap` option
|
||||
*/
|
||||
sourceMap: string;
|
||||
|
||||
// A list of errors raised
|
||||
/**
|
||||
* A list of errors raised
|
||||
*/
|
||||
errors: Array<string>;
|
||||
|
||||
// A list of warnings raised
|
||||
/**
|
||||
* A list of warnings raised
|
||||
*/
|
||||
warnings: Array<string>;
|
||||
|
||||
// A hash of statistic information (if requested with debug option)
|
||||
/**
|
||||
* Contains statistics on the minify process
|
||||
*/
|
||||
stats: {
|
||||
// Original content size (after import inlining)
|
||||
/**
|
||||
* Original content size after import inlining
|
||||
*/
|
||||
originalSize: number;
|
||||
|
||||
// Optimized content size
|
||||
/**
|
||||
* Optimized content size
|
||||
*/
|
||||
minifiedSize: number;
|
||||
|
||||
// Time spent on optimizations
|
||||
/**
|
||||
* Time spent on optimizations in milliseconds
|
||||
*/
|
||||
timeSpent: number;
|
||||
|
||||
// A ratio of output size to input size (e.g. 25% if content was reduced from 100 bytes to 75 bytes)
|
||||
/**
|
||||
* `(originalSize - minifiedSize) / originalSize`, e.g. 0.25 if size is reduced from 100 bytes to 75 bytes
|
||||
*/
|
||||
efficiency: number;
|
||||
};
|
||||
}
|
||||
|
||||
/**
|
||||
* Fine grained configuration for compatibility option
|
||||
*/
|
||||
interface CompatibilityOptions {
|
||||
/**
|
||||
* A hash of compatibility options related to color
|
||||
*/
|
||||
colors?: {
|
||||
/**
|
||||
* Controls `rgba()` / `hsla()` color support; defaults to `true`
|
||||
*/
|
||||
opacity?: boolean;
|
||||
},
|
||||
/**
|
||||
* A hash of properties that can be set with compatibility
|
||||
*/
|
||||
properties?: {
|
||||
/**
|
||||
* Controls background-clip merging into shorthand; defaults to `true`
|
||||
*/
|
||||
backgroundClipMerging?: boolean;
|
||||
|
||||
/**
|
||||
* Controls background-origin merging into shorthand; defaults to `true`
|
||||
*/
|
||||
backgroundOriginMerging?: boolean;
|
||||
|
||||
/**
|
||||
* Controls background-size merging into shorthand; defaults to `true`
|
||||
*/
|
||||
backgroundSizeMerging?: boolean;
|
||||
|
||||
/**
|
||||
* controls color optimizations; defaults to `true`
|
||||
*/
|
||||
colors?: boolean, //
|
||||
|
||||
/**
|
||||
* Controls keeping IE bang hack; defaults to `false`
|
||||
*/
|
||||
ieBangHack?: boolean;
|
||||
|
||||
/**
|
||||
* Controls keeping IE `filter` / `-ms-filter`; defaults to `false`
|
||||
*/
|
||||
ieFilters?: boolean;
|
||||
|
||||
/**
|
||||
* Controls keeping IE prefix hack; defaults to `false`
|
||||
*/
|
||||
iePrefixHack?: boolean;
|
||||
|
||||
/**
|
||||
* Controls keeping IE suffix hack; defaults to `false`
|
||||
*/
|
||||
ieSuffixHack?: boolean;
|
||||
|
||||
/**
|
||||
* Controls property merging based on understandability; defaults to `true`
|
||||
*/
|
||||
merging?: boolean;
|
||||
|
||||
/**
|
||||
* Controls shortening pixel units into `pc`, `pt`, or `in` units; defaults to `false`
|
||||
*/
|
||||
shorterLengthUnits?: false;
|
||||
|
||||
/**
|
||||
* Controls keeping space after closing brace - `url() no-repeat` into `url()no-repeat`; defaults to `true`
|
||||
*/
|
||||
spaceAfterClosingBrace?: true;
|
||||
|
||||
/**
|
||||
* Controls keeping quoting inside `url()`; defaults to `false`
|
||||
*/
|
||||
urlQuotes?: boolean;
|
||||
|
||||
/**
|
||||
* Controls removal of units `0` value; defaults to `true`
|
||||
*/
|
||||
zeroUnits?: boolean;
|
||||
},
|
||||
/**
|
||||
* A hash of options related to compatibility of selectors
|
||||
*/
|
||||
selectors?: {
|
||||
/**
|
||||
* Controls extra space before `nav` element; defaults to `false`
|
||||
*/
|
||||
adjacentSpace?: boolean;
|
||||
|
||||
/**
|
||||
* Controls removal of IE7 selector hacks, e.g. `*+html...`; defaults to `true`
|
||||
*/
|
||||
ie7Hack?: boolean;
|
||||
|
||||
/**
|
||||
* Controls a whitelist of mergeable pseudo classes; defaults to `[':active', ...]`
|
||||
*/
|
||||
mergeablePseudoClasses?: string[];
|
||||
|
||||
/**
|
||||
* Controls a whitelist of mergeable pseudo elements; defaults to `['::after', ...]`
|
||||
*/
|
||||
mergeablePseudoElements: string[];
|
||||
|
||||
/**
|
||||
* Controls maximum number of selectors in a single rule (since 4.1.0); defaults to `8191`
|
||||
*/
|
||||
mergeLimit: number;
|
||||
|
||||
/**
|
||||
* Controls merging of rules with multiple pseudo classes / elements (since 4.1.0); defaults to `true`
|
||||
*/
|
||||
multiplePseudoMerging: boolean;
|
||||
},
|
||||
/**
|
||||
* A hash of options related to comparability of supported units
|
||||
*/
|
||||
units?: {
|
||||
/**
|
||||
* Controls treating `ch` as a supported unit; defaults to `true`
|
||||
*/
|
||||
ch?: boolean;
|
||||
|
||||
/**
|
||||
* Controls treating `in` as a supported unit; defaults to `true`
|
||||
*/
|
||||
in?: boolean;
|
||||
|
||||
/**
|
||||
* Controls treating `pc` as a supported unit; defaults to `true`
|
||||
*/
|
||||
pc?: boolean;
|
||||
|
||||
/**
|
||||
* Controls treating `pt` as a supported unit; defaults to `true`
|
||||
*/
|
||||
pt?: boolean;
|
||||
|
||||
/**
|
||||
* Controls treating `rem` as a supported unit; defaults to `true`
|
||||
*/
|
||||
rem?: boolean;
|
||||
|
||||
/**
|
||||
* Controls treating `vh` as a supported unit; defaults to `true`
|
||||
*/
|
||||
vh?: boolean;
|
||||
|
||||
/**
|
||||
* Controls treating `vm` as a supported unit; defaults to `true`
|
||||
*/
|
||||
vm?: boolean;
|
||||
|
||||
/**
|
||||
* Controls treating `vmax` as a supported unit; defaults to `true`
|
||||
*/
|
||||
vmax?: boolean;
|
||||
|
||||
/**
|
||||
* Controls treating `vmin` as a supported unit; defaults to `true`
|
||||
*/
|
||||
vmin?: boolean;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Fine grained options for configuring the CSS formatting
|
||||
*/
|
||||
interface Format {
|
||||
/**
|
||||
* Controls where to insert breaks
|
||||
*/
|
||||
breaks?: {
|
||||
/**
|
||||
* Controls if a line break comes after an at-rule; e.g. `@charset`; defaults to `false`
|
||||
*/
|
||||
afterAtRule?: boolean;
|
||||
|
||||
/**
|
||||
* Controls if a line break comes after a block begins; e.g. `@media`; defaults to `false`
|
||||
*/
|
||||
afterBlockBegins?: boolean;
|
||||
|
||||
/**
|
||||
* Controls if a line break comes after a block ends, defaults to `false`
|
||||
*/
|
||||
afterBlockEnds?: boolean;
|
||||
|
||||
/**
|
||||
* Controls if a line break comes after a comment; defaults to `false`
|
||||
*/
|
||||
afterComment?: boolean;
|
||||
|
||||
/**
|
||||
* Controls if a line break comes after a property; defaults to `false`
|
||||
*/
|
||||
afterProperty?: boolean;
|
||||
|
||||
/**
|
||||
* Controls if a line break comes after a rule begins; defaults to `false`
|
||||
*/
|
||||
afterRuleBegins?: boolean;
|
||||
|
||||
/**
|
||||
* Controls if a line break comes after a rule ends; defaults to `false`
|
||||
*/
|
||||
afterRuleEnds?: boolean;
|
||||
|
||||
/**
|
||||
* Controls if a line break comes before a block ends; defaults to `false`
|
||||
*/
|
||||
beforeBlockEnds?: boolean;
|
||||
|
||||
/**
|
||||
* Controls if a line break comes between selectors; defaults to `false`
|
||||
*/
|
||||
betweenSelectors?: boolean;
|
||||
},
|
||||
/**
|
||||
* Controls the new line character, can be `'\r\n'` or `'\n'`(aliased as `'windows'` and `'unix'`
|
||||
* or `'crlf'` and `'lf'`); defaults to system one, so former on Windows and latter on Unix
|
||||
*/
|
||||
breakWith?: string;
|
||||
|
||||
/**
|
||||
* Controls number of characters to indent with; defaults to `0`
|
||||
*/
|
||||
indentBy?: number;
|
||||
|
||||
/**
|
||||
* Controls a character to indent with, can be `'space'` or `'tab'`; defaults to `'space'`
|
||||
*/
|
||||
indentWith?: "space" | "tab";
|
||||
|
||||
/**
|
||||
* Controls where to insert spaces
|
||||
*/
|
||||
spaces?: {
|
||||
/**
|
||||
* Controls if spaces come around selector relations; e.g. `div > a`; defaults to `false`
|
||||
*/
|
||||
aroundSelectorRelation?: boolean;
|
||||
|
||||
/**
|
||||
* Controls if a space comes before a block begins; e.g. `.block {`; defaults to `false`
|
||||
*/
|
||||
beforeBlockBegins?: boolean;
|
||||
|
||||
/**
|
||||
* Controls if a space comes before a value; e.g. `width: 1rem`; defaults to `false`
|
||||
*/
|
||||
beforeValue?: boolean;
|
||||
},
|
||||
/**
|
||||
* Controls maximum line length; defaults to `false`
|
||||
*/
|
||||
wrapAt?: false | number;
|
||||
}
|
||||
|
||||
/**
|
||||
* Fine grained options for configuring optimizations
|
||||
*/
|
||||
interface optimizationsOptions {
|
||||
1?: {
|
||||
/**
|
||||
* Sets all optimizations at this level unless otherwise specified
|
||||
*/
|
||||
all?: boolean;
|
||||
|
||||
/**
|
||||
* Controls `@charset` moving to the front of a stylesheet; defaults to `true`
|
||||
*/
|
||||
cleanupCharsets?: boolean;
|
||||
|
||||
/**
|
||||
* Controls URL normalization; defaults to `true`
|
||||
*/
|
||||
normalizeUrls?: boolean;
|
||||
|
||||
/**
|
||||
* Controls `background` property optimizations; defaults to `true`
|
||||
*/
|
||||
optimizeBackground?: boolean;
|
||||
|
||||
/**
|
||||
* Controls `border-radius` property optimizations; defaults to `true`
|
||||
*/
|
||||
optimizeBorderRadius?: boolean;
|
||||
|
||||
/**
|
||||
* Controls `filter` property optimizations; defaults to `true`
|
||||
*/
|
||||
optimizeFilter?: boolean;
|
||||
|
||||
/**
|
||||
* Controls `font` property optimizations; defaults to `true`
|
||||
*/
|
||||
optimizeFont?: boolean;
|
||||
|
||||
/**
|
||||
* Controls `font-weight` property optimizations; defaults to `true`
|
||||
*/
|
||||
optimizeFontWeight?: boolean;
|
||||
|
||||
/**
|
||||
* Controls `outline` property optimizations; defaults to `true`
|
||||
*/
|
||||
optimizeOutline?: boolean;
|
||||
|
||||
/**
|
||||
* Controls removing empty rules and nested blocks; defaults to `true`
|
||||
*/
|
||||
removeEmpty?: boolean;
|
||||
|
||||
/**
|
||||
* Controls removing negative paddings; defaults to `true`
|
||||
*/
|
||||
removeNegativePaddings?: boolean;
|
||||
|
||||
/**
|
||||
* Controls removing quotes when unnecessary; defaults to `true`
|
||||
*/
|
||||
removeQuotes?: boolean;
|
||||
|
||||
/**
|
||||
* Controls removing unused whitespace; defaults to `true`
|
||||
*/
|
||||
removeWhitespace?: boolean;
|
||||
|
||||
/**
|
||||
* Contols removing redundant zeros; defaults to `true`
|
||||
*/
|
||||
replaceMultipleZeros?: boolean;
|
||||
|
||||
/**
|
||||
* Controls replacing time units with shorter values; defaults to `true`
|
||||
*/
|
||||
replaceTimeUnits?: boolean;
|
||||
|
||||
/**
|
||||
* Controls replacing zero values with units; defaults to `true`
|
||||
*/
|
||||
replaceZeroUnits?: boolean;
|
||||
|
||||
/**
|
||||
* Rounds pixel values to `N` decimal places; `false` disables rounding; defaults to `false`
|
||||
*/
|
||||
roundingPrecision?: boolean;
|
||||
|
||||
/**
|
||||
* denotes selector sorting method; can be `'natural'` or `'standard'`, `'none'`, or false (the last two
|
||||
* since 4.1.0); defaults to `'standard'`
|
||||
*/
|
||||
selectorsSortingMethod?: "standard" | "natural" | "none";
|
||||
|
||||
/**
|
||||
* denotes a number of /*! ... * / comments preserved; defaults to `all`
|
||||
*/
|
||||
specialComments?: string;
|
||||
|
||||
/**
|
||||
* Controls at-rules (e.g. `@charset`, `@import`) optimizing; defaults to `true`
|
||||
*/
|
||||
tidyAtRules?: boolean;
|
||||
|
||||
/**
|
||||
* Controls block scopes (e.g. `@media`) optimizing; defaults to `true`
|
||||
*/
|
||||
tidyBlockScopes?: boolean;
|
||||
|
||||
/**
|
||||
* Controls selectors optimizing; defaults to `true`
|
||||
*/
|
||||
tidySelectors?: boolean;
|
||||
|
||||
/**
|
||||
* Controls removing trailing semicolons in rule; defaults to `false` - means remove
|
||||
*/
|
||||
semicolonAfterLastProperty?: boolean;
|
||||
|
||||
/**
|
||||
* Defines a callback for fine-grained property optimization; defaults to no-op
|
||||
*/
|
||||
transform?: (propertyName: string, propertyValue: string, selector: string) => string;
|
||||
},
|
||||
2?: {
|
||||
/**
|
||||
* Sets all optimizations at this level unless otherwise specified
|
||||
*/
|
||||
all?: boolean;
|
||||
|
||||
/**
|
||||
* Controls adjacent rules merging; defaults to true
|
||||
*/
|
||||
mergeAdjacentRules?: boolean;
|
||||
|
||||
/**
|
||||
* Controls merging properties into shorthands; defaults to true
|
||||
*/
|
||||
mergeIntoShorthands?: boolean;
|
||||
|
||||
/**
|
||||
* Controls `@media` merging; defaults to true
|
||||
*/
|
||||
mergeMedia?: boolean;
|
||||
|
||||
/**
|
||||
* Controls non-adjacent rule merging; defaults to true
|
||||
*/
|
||||
mergeNonAdjacentRules?: boolean;
|
||||
|
||||
/**
|
||||
* Controls semantic merging; defaults to false
|
||||
*/
|
||||
mergeSemantically?: boolean;
|
||||
|
||||
/**
|
||||
* Controls property overriding based on understandability; defaults to true
|
||||
*/
|
||||
overrideProperties?: boolean;
|
||||
|
||||
/**
|
||||
* Controls removing empty rules and nested blocks; defaults to `true`
|
||||
*/
|
||||
removeEmpty?: boolean;
|
||||
|
||||
/**
|
||||
* Controls non-adjacent rule reducing; defaults to true
|
||||
*/
|
||||
reduceNonAdjacentRules?: boolean;
|
||||
|
||||
/**
|
||||
* Controls duplicate `@font-face` removing; defaults to true
|
||||
*/
|
||||
removeDuplicateFontRules?: boolean;
|
||||
|
||||
/**
|
||||
* Controls duplicate `@media` removing; defaults to true
|
||||
*/
|
||||
removeDuplicateMediaBlocks?: boolean;
|
||||
|
||||
/**
|
||||
* Controls duplicate rules removing; defaults to true
|
||||
*/
|
||||
removeDuplicateRules?: boolean;
|
||||
|
||||
/**
|
||||
* Controls unused at rule removing; defaults to false (available since 4.1.0)
|
||||
*/
|
||||
removeUnusedAtRules?: boolean;
|
||||
|
||||
/**
|
||||
* Controls rule restructuring; defaults to false
|
||||
*/
|
||||
restructureRules?: boolean;
|
||||
|
||||
/**
|
||||
* Controls which properties won't be optimized, defaults to `[]` which means all will be optimized (since 4.1.0)
|
||||
*/
|
||||
skipProperties?: string[];
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Callback type when fetch is used
|
||||
*/
|
||||
type FetchCallback = (message: string | number, body: string) => void;
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
interface Function<T extends (Output | Promise<Output>)> {
|
||||
minify(sources: string | Array<string> | Object, callback?: (error: any, output: T) => void): T;
|
||||
minify(sources: string | Array<string> | Object, inputSourceMap?: string): T;
|
||||
minify(sources: string | Array<string> | Object, inputSourceMap?: string, callback?: (error: any, output: T) => void): T;
|
||||
}
|
||||
|
||||
interface Constructor {
|
||||
new(options: CleanCSS.Options & { returnPromise?: false }): Function<Output>;
|
||||
new(options: CleanCSS.Options & { returnPromise: true }): Function<Promise<Output>>;
|
||||
new(): Function<Output>;
|
||||
}
|
||||
}
|
||||
|
||||
declare class CleanCSS {
|
||||
constructor(options?: CleanCSS.Options);
|
||||
minify(sources: string | Array<string> | Object, callback?: (error: any, minified: CleanCSS.Output) => void): CleanCSS.Output;
|
||||
}
|
||||
/**
|
||||
*
|
||||
*/
|
||||
declare const CleanCSS: CleanCSS.Constructor;
|
||||
|
||||
export = CleanCSS;
|
||||
|
||||
Reference in New Issue
Block a user