html-minifier-next 6.2.8 → 6.2.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,33 +1,147 @@
1
- export function isIgnoredComment(text: any, options: any): boolean;
2
- export function isEventAttribute(attrName: any, options: any): boolean;
3
- export function canRemoveAttributeQuotes(value: any): boolean;
4
- export function attributesInclude(attributes: any, attribute: any): boolean;
5
- export function isAttributeRedundant(tag: any, attrName: any, attrValue: any, attrs: any): boolean;
1
+ /**
2
+ * Internal counterpart of the public typedef in `htmlminifier.js`—keep in sync.
3
+ */
4
+ export type HTMLAttribute = {
5
+ name: string;
6
+ value?: string | undefined;
7
+ quote?: string;
8
+ customAssign?: string;
9
+ customOpen?: string;
10
+ customClose?: string;
11
+ };
12
+ /**
13
+ * @param {string} text
14
+ * @param {{ignoreCustomComments: RegExp[]}} options
15
+ */
16
+ export function isIgnoredComment(text: string, options: {
17
+ ignoreCustomComments: RegExp[];
18
+ }): boolean;
19
+ /**
20
+ * @param {string} attrName
21
+ * @param {{customEventAttributes?: RegExp[]}} options
22
+ */
23
+ export function isEventAttribute(attrName: string, options: {
24
+ customEventAttributes?: RegExp[];
25
+ }): boolean;
26
+ /** @param {string} value */
27
+ export function canRemoveAttributeQuotes(value: string): boolean;
28
+ /**
29
+ * @param {HTMLAttribute[]} attributes
30
+ * @param {string} attribute
31
+ */
32
+ export function attributesInclude(attributes: HTMLAttribute[], attribute: string): boolean;
33
+ /**
34
+ * @param {string} tag
35
+ * @param {string} attrName
36
+ * @param {string} attrValue
37
+ * @param {HTMLAttribute[]} attrs
38
+ */
39
+ export function isAttributeRedundant(tag: string, attrName: string, attrValue: string, attrs: HTMLAttribute[]): boolean;
6
40
  export function isScriptTypeAttribute(attrValue?: string): boolean;
7
41
  export function keepScriptTypeAttribute(attrValue?: string): boolean;
8
- export function isExecutableScript(tag: any, attrs: any): boolean;
42
+ /**
43
+ * @param {string} tag
44
+ * @param {HTMLAttribute[]} attrs
45
+ */
46
+ export function isExecutableScript(tag: string, attrs: HTMLAttribute[]): boolean;
9
47
  export function isStyleLinkTypeAttribute(attrValue?: string): boolean;
10
- export function isStyleElement(tag: any, attrs: any): boolean;
11
- export function isBooleanAttribute(attrName: any, attrValue: any): boolean;
12
- export function isUriTypeAttribute(attrName: any, tag: any): boolean;
13
- export function isNumberTypeAttribute(attrName: any, tag: any): boolean;
14
- export function isLinkType(tag: any, attrs: any, value: any): boolean;
15
- export function isMediaQuery(tag: any, attrs: any, attrName: any): boolean;
16
- export function isSrcset(attrName: any, tag: any): boolean;
17
- export function isMetaViewport(tag: any, attrs: any): boolean;
18
- export function isContentSecurityPolicy(tag: any, attrs: any): boolean;
19
- export function canDeleteEmptyAttribute(tag: any, attrName: any, attrValue: any, options: any): any;
20
- export function hasAttrName(name: any, attrs: any): boolean;
21
- export function cleanAttributeValue(tag: any, attrName: any, attrValue: any, options: any, attrs: any, minifyHTMLSelf: any): any;
22
- export function normalizeAttr(attr: any, attrs: any, tag: any, options: any, minifyHTML: any): any;
23
- export function buildAttr(normalized: any, hasUnarySlash: any, options: any, isLast: any, uidAttr: any): any;
48
+ /**
49
+ * @param {string} tag
50
+ * @param {HTMLAttribute[]} attrs
51
+ */
52
+ export function isStyleElement(tag: string, attrs: HTMLAttribute[]): boolean;
53
+ /**
54
+ * @param {string} attrName
55
+ * @param {string} attrValue
56
+ */
57
+ export function isBooleanAttribute(attrName: string, attrValue: string): boolean | undefined;
58
+ /**
59
+ * @param {string} attrName
60
+ * @param {string} tag
61
+ */
62
+ export function isUriTypeAttribute(attrName: string, tag: string): boolean;
63
+ /**
64
+ * @param {string} attrName
65
+ * @param {string} tag
66
+ */
67
+ export function isNumberTypeAttribute(attrName: string, tag: string): boolean;
68
+ /**
69
+ * @param {string} tag
70
+ * @param {HTMLAttribute[]} attrs
71
+ * @param {string} value
72
+ */
73
+ export function isLinkType(tag: string, attrs: HTMLAttribute[], value: string): boolean;
74
+ /**
75
+ * @param {string} tag
76
+ * @param {HTMLAttribute[]} attrs
77
+ * @param {string} attrName
78
+ */
79
+ export function isMediaQuery(tag: string, attrs: HTMLAttribute[], attrName: string): boolean;
80
+ /**
81
+ * @param {string} attrName
82
+ * @param {string} tag
83
+ */
84
+ export function isSrcset(attrName: string, tag: string): boolean;
85
+ /**
86
+ * @param {string} tag
87
+ * @param {HTMLAttribute[]} attrs
88
+ */
89
+ export function isMetaViewport(tag: string, attrs: HTMLAttribute[]): boolean;
90
+ /**
91
+ * @param {string} tag
92
+ * @param {HTMLAttribute[]} attrs
93
+ */
94
+ export function isContentSecurityPolicy(tag: string, attrs: HTMLAttribute[]): boolean;
95
+ /**
96
+ * @param {string} tag
97
+ * @param {string} attrName
98
+ * @param {string | undefined} attrValue
99
+ * @param {{removeEmptyAttributes?: boolean | Function}} options
100
+ */
101
+ export function canDeleteEmptyAttribute(tag: string, attrName: string, attrValue: string | undefined, options: {
102
+ removeEmptyAttributes?: boolean | Function;
103
+ }): any;
104
+ /**
105
+ * @param {string} name
106
+ * @param {HTMLAttribute[]} attrs
107
+ */
108
+ export function hasAttrName(name: string, attrs: HTMLAttribute[]): boolean;
109
+ /**
110
+ * @param {string} tag
111
+ * @param {string} attrName
112
+ * @param {string} attrValue
113
+ * @param {Record<string, any>} options
114
+ * @param {HTMLAttribute[]} attrs
115
+ * @param {Function} minifyHTMLSelf
116
+ */
117
+ export function cleanAttributeValue(tag: string, attrName: string, attrValue: string, options: Record<string, any>, attrs: HTMLAttribute[], minifyHTMLSelf: Function): any;
118
+ /**
119
+ * @param {HTMLAttribute} attr
120
+ * @param {HTMLAttribute[]} attrs
121
+ * @param {string} tag
122
+ * @param {Record<string, any>} options
123
+ * @param {Function} minifyHTML
124
+ */
125
+ export function normalizeAttr(attr: HTMLAttribute, attrs: HTMLAttribute[], tag: string, options: Record<string, any>, minifyHTML: Function): any;
126
+ /**
127
+ * @param {{name: string, value?: string, attr: HTMLAttribute}} normalized
128
+ * @param {string | boolean | undefined} hasUnarySlash
129
+ * @param {Record<string, any>} options
130
+ * @param {boolean} isLast
131
+ * @param {string | undefined} uidAttr
132
+ */
133
+ export function buildAttr(normalized: {
134
+ name: string;
135
+ value?: string;
136
+ attr: HTMLAttribute;
137
+ }, hasUnarySlash: string | boolean | undefined, options: Record<string, any>, isLast: boolean, uidAttr: string | undefined): string;
24
138
  /**
25
139
  * Remove duplicate attributes from an attribute list.
26
140
  * Per HTML spec, when an attribute appears multiple times, the first occurrence wins.
27
141
  * Duplicate attributes result in invalid HTML, so only the first is kept.
28
- * @param {Array} attrs - Array of attribute objects with `name` property
142
+ * @param {HTMLAttribute[]} attrs - Array of attribute objects with `name` property
29
143
  * @param {boolean} caseSensitive - Whether to compare names case-sensitively (for XML/SVG)
30
- * @returns {Array} Deduplicated attribute array (modifies in place and returns)
144
+ * @returns {HTMLAttribute[]} Deduplicated attribute array (modifies in place and returns)
31
145
  */
32
- export function deduplicateAttributes(attrs: any[], caseSensitive: boolean): any[];
146
+ export function deduplicateAttributes(attrs: HTMLAttribute[], caseSensitive: boolean): HTMLAttribute[];
33
147
  //# sourceMappingURL=attributes.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"attributes.d.ts","sourceRoot":"","sources":["../../../src/lib/attributes.js"],"names":[],"mappings":"AAmCA,mEAOC;AAED,uEAWC;AAED,8DAGC;AAED,4EAOC;AAgCD,mGAuCC;AAED,mEAGC;AAED,qEAGC;AAED,kEAWC;AAED,sEAGC;AAED,8DAWC;AAED,2EAIC;AAmBD,qEAGC;AAgBD,wEAGC;AAED,sEAUC;AAED,2EAEC;AAED,2DAEC;AAED,8DAUC;AAED,uEAUC;AAED,oGASC;AAED,4DAOC;AAUD,iIA6LC;AAwBD,mGAYC;AA0CD,6GAuHC;AAzmBD;;;;;;;GAOG;AACH,mEAHW,OAAO,SAuBjB"}
1
+ {"version":3,"file":"attributes.d.ts","sourceRoot":"","sources":["../../../src/lib/attributes.js"],"names":[],"mappings":";;;4BAwBa;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAAE;AAiB3I;;;GAGG;AACH,uCAHW,MAAM,WACN;IAAC,oBAAoB,EAAE,MAAM,EAAE,CAAA;CAAC,WAW1C;AAED;;;GAGG;AACH,2CAHW,MAAM,WACN;IAAC,qBAAqB,CAAC,EAAE,MAAM,EAAE,CAAA;CAAC,WAa5C;AAED,4BAA4B;AAC5B,gDADY,MAAM,WAIjB;AAED;;;GAGG;AACH,8CAHW,aAAa,EAAE,aACf,MAAM,WAShB;AA+BD;;;;;GAKG;AACH,0CALW,MAAM,YACN,MAAM,aACN,MAAM,SACN,aAAa,EAAE,WAyCzB;AAED,mEAGC;AAED,qEAGC;AAED;;;GAGG;AACH,wCAHW,MAAM,SACN,aAAa,EAAE,WAYzB;AAED,sEAGC;AAED;;;GAGG;AACH,oCAHW,MAAM,SACN,aAAa,EAAE,WAYzB;AAED;;;GAGG;AACH,6CAHW,MAAM,aACN,MAAM,uBAMhB;AAmBD;;;GAGG;AACH,6CAHW,MAAM,OACN,MAAM,WAKhB;AAgBD;;;GAGG;AACH,gDAHW,MAAM,OACN,MAAM,WAKhB;AAED;;;;GAIG;AACH,gCAJW,MAAM,SACN,aAAa,EAAE,SACf,MAAM,WAYhB;AAED;;;;GAIG;AACH,kCAJW,MAAM,SACN,aAAa,EAAE,YACf,MAAM,WAIhB;AAED;;;GAGG;AACH,mCAHW,MAAM,OACN,MAAM,WAIhB;AAED;;;GAGG;AACH,oCAHW,MAAM,SACN,aAAa,EAAE,WAYzB;AAED;;;GAGG;AACH,6CAHW,MAAM,SACN,aAAa,EAAE,WAYzB;AAED;;;;;GAKG;AACH,6CALW,MAAM,YACN,MAAM,aACN,MAAM,GAAG,SAAS,WAClB;IAAC,qBAAqB,CAAC,EAAE,OAAO,WAAW,CAAA;CAAC,OAWtD;AAED;;;GAGG;AACH,kCAHW,MAAM,SACN,aAAa,EAAE,WASzB;AAUD;;;;;;;GAOG;AACH,yCAPW,MAAM,YACN,MAAM,aACN,MAAM,WACN,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,SACnB,aAAa,EAAE,iCAiMzB;AAwBD;;;;;;GAMG;AACH,oCANW,aAAa,SACb,aAAa,EAAE,OACf,MAAM,WACN,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,6BAe7B;AA0DD;;;;;;GAMG;AACH,sCANW;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,aAAa,CAAA;CAAC,iBACnD,MAAM,GAAG,OAAO,GAAG,SAAS,WAC5B,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,UACnB,OAAO,WACP,MAAM,GAAG,SAAS,UA0H5B;AAxsBD;;;;;;;GAOG;AACH,6CAJW,aAAa,EAAE,iBACf,OAAO,GACL,aAAa,EAAE,CAqB3B"}
@@ -1,6 +1,38 @@
1
- export function wrapCSS(text: any, type: any): any;
2
- export function unwrapCSS(text: any, type: any): any;
3
- export function minifyJson(text: any, options: any): any;
4
- export function hasJsonScriptType(attrs: any): boolean;
5
- export function processScript(text: any, options: any, currentAttrs: any, minifyHTML: any): Promise<any>;
1
+ /**
2
+ * @param {string} text
3
+ * @param {string} type
4
+ */
5
+ export function wrapCSS(text: string, type: string): string;
6
+ /**
7
+ * @param {string} text
8
+ * @param {string} type
9
+ */
10
+ export function unwrapCSS(text: string, type: string): string;
11
+ /**
12
+ * @param {string} text
13
+ * @param {{continueOnMinifyError?: boolean, log?: Function}} options
14
+ */
15
+ export function minifyJson(text: string, options: {
16
+ continueOnMinifyError?: boolean;
17
+ log?: Function;
18
+ }): string;
19
+ /** @param {Array<{name: string, value?: string}>} attrs */
20
+ export function hasJsonScriptType(attrs: Array<{
21
+ name: string;
22
+ value?: string;
23
+ }>): boolean;
24
+ /**
25
+ * @param {string} text
26
+ * @param {{continueOnMinifyError?: boolean, log?: Function, processScripts?: string[]}} options
27
+ * @param {Array<{name: string, value?: string | undefined}>} currentAttrs
28
+ * @param {Function} minifyHTML
29
+ */
30
+ export function processScript(text: string, options: {
31
+ continueOnMinifyError?: boolean;
32
+ log?: Function;
33
+ processScripts?: string[];
34
+ }, currentAttrs: Array<{
35
+ name: string;
36
+ value?: string | undefined;
37
+ }>, minifyHTML: Function): Promise<any>;
6
38
  //# sourceMappingURL=content.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"content.d.ts","sourceRoot":"","sources":["../../../src/lib/content.js"],"names":[],"mappings":"AAWA,mDASC;AAED,qDAWC;AAID,yDAWC;AAED,uDAWC;AAED,yGAiBC"}
1
+ {"version":3,"file":"content.d.ts","sourceRoot":"","sources":["../../../src/lib/content.js"],"names":[],"mappings":"AASA;;;GAGG;AACH,8BAHW,MAAM,QACN,MAAM,UAWhB;AAED;;;GAGG;AACH,gCAHW,MAAM,QACN,MAAM,UAahB;AAID;;;GAGG;AACH,iCAHW,MAAM,WACN;IAAC,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAAC,GAAG,CAAC,WAAU;CAAC,UAa3D;AAED,2DAA2D;AAC3D,yCADY,KAAK,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAC,CAAC,WAWhD;AAED;;;;;GAKG;AACH,oCALW,MAAM,WACN;IAAC,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAAC,GAAG,CAAC,WAAW;IAAC,cAAc,CAAC,EAAE,MAAM,EAAE,CAAA;CAAC,gBAC5E,KAAK,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAAC,CAAC,sCAoB3D"}
@@ -1,7 +1,31 @@
1
- export function canRemoveParentTag(optionalStartTag: any, tag: any): boolean;
2
- export function isStartTagMandatory(optionalEndTag: any, tag: any): boolean;
3
- export function canRemovePrecedingTag(optionalEndTag: any, tag: any): boolean;
4
- export function canRemoveElement(tag: any, attrs: any): boolean;
1
+ export type MinifierOptions = {
2
+ name: (str: string) => string;
3
+ log?: Function;
4
+ };
5
+ /** @import { HTMLAttribute } from './attributes.js' */
6
+ /**
7
+ * @typedef {{ name: (str: string) => string, log?: Function }} MinifierOptions
8
+ */
9
+ /**
10
+ * @param {string} optionalStartTag
11
+ * @param {string} tag
12
+ */
13
+ export function canRemoveParentTag(optionalStartTag: string, tag: string): boolean;
14
+ /**
15
+ * @param {string} optionalEndTag
16
+ * @param {string} tag
17
+ */
18
+ export function isStartTagMandatory(optionalEndTag: string, tag: string): boolean;
19
+ /**
20
+ * @param {string} optionalEndTag
21
+ * @param {string} tag
22
+ */
23
+ export function canRemovePrecedingTag(optionalEndTag: string, tag: string): boolean;
24
+ /**
25
+ * @param {string} tag
26
+ * @param {HTMLAttribute[]} attrs
27
+ */
28
+ export function canRemoveElement(tag: string, attrs: HTMLAttribute[]): boolean;
5
29
  /**
6
30
  * @param {string} str - Tag name or HTML-like element spec (e.g., “td” or “<span aria-hidden='true'>”)
7
31
  * @param {MinifierOptions} options - Options object for name normalization
@@ -36,4 +60,5 @@ export function shouldPreserveEmptyElement(tag: string, attrs: HTMLAttribute[],
36
60
  [x: string]: string | undefined;
37
61
  } | null;
38
62
  }>): boolean;
63
+ import type { HTMLAttribute } from './attributes.js';
39
64
  //# sourceMappingURL=elements.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"elements.d.ts","sourceRoot":"","sources":["../../../src/lib/elements.js"],"names":[],"mappings":"AAiBA,6EAaC;AAED,4EAQC;AAED,8EAmCC;AAID,gEAsCC;AAED;;;;GAIG;AACH,sCAJW,MAAM,WACN,eAAe,GACb;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE;YAAQ,MAAM,GAAE,MAAM,GAAC,SAAS;KAAC,GAAC,IAAI,CAAA;CAAC,GAAC,IAAI,CA+C7E;AAED;;;;GAIG;AACH,sDAJW,MAAM,EAAE,WACR,eAAe,GACb,KAAK,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE;YAAQ,MAAM,GAAE,MAAM,GAAC,SAAS;KAAC,GAAC,IAAI,CAAA;CAAC,CAAC,CAoB/E;AAED;;;;;GAKG;AACH,gDALW,MAAM,SACN,aAAa,EAAE,gBACf,KAAK,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE;YAAQ,MAAM,GAAE,MAAM,GAAC,SAAS;KAAC,GAAC,IAAI,CAAA;CAAC,CAAC,GACjE,OAAO,CAkCnB"}
1
+ {"version":3,"file":"elements.d.ts","sourceRoot":"","sources":["../../../src/lib/elements.js"],"names":[],"mappings":"8BAkBa;IAAE,IAAI,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,CAAC;IAAC,GAAG,CAAC,WAAU;CAAE;AAL9D,uDAAuD;AAIvD;;GAEG;AAIH;;;GAGG;AACH,qDAHW,MAAM,OACN,MAAM,WAehB;AAED;;;GAGG;AACH,oDAHW,MAAM,OACN,MAAM,WAUhB;AAED;;;GAGG;AACH,sDAHW,MAAM,OACN,MAAM,WAqChB;AAID;;;GAGG;AACH,sCAHW,MAAM,SACN,aAAa,EAAE,WAwCzB;AAED;;;;GAIG;AACH,sCAJW,MAAM,WACN,eAAe,GACb;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE;YAAQ,MAAM,GAAE,MAAM,GAAC,SAAS;KAAC,GAAC,IAAI,CAAA;CAAC,GAAC,IAAI,CAgD7E;AAED;;;;GAIG;AACH,sDAJW,MAAM,EAAE,WACR,eAAe,GACb,KAAK,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE;YAAQ,MAAM,GAAE,MAAM,GAAC,SAAS;KAAC,GAAC,IAAI,CAAA;CAAC,CAAC,CAoB/E;AAED;;;;;GAKG;AACH,gDALW,MAAM,SACN,aAAa,EAAE,gBACf,KAAK,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE;YAAQ,MAAM,GAAE,MAAM,GAAC,SAAS;KAAC,GAAC,IAAI,CAAA;CAAC,CAAC,GACjE,OAAO,CAkCnB;mCAtPkC,iBAAiB"}
@@ -1,19 +1,22 @@
1
- export function shouldMinifyInnerHTML(options: any): boolean;
1
+ export type MinifierOptions = Record<string, any>;
2
2
  /**
3
- * @param {Partial<MinifierOptions>} inputOptions - User-provided options
4
- * @param {Object} deps - Dependencies from htmlminifier.js
5
- * @param {Function} deps.getLightningCSS - Function to lazily load Lightning CSS
6
- * @param {Function} deps.getTerser - Function to lazily load Terser
7
- * @param {Function} deps.getSwc - Function to lazily load @swc/core
8
- * @param {Function} deps.getSvgo - Function to lazily load SVGO
9
- * @param {LRU} deps.cssMinifyCache - CSS minification cache
10
- * @param {LRU} deps.jsMinifyCache - JS minification cache
11
- * @param {LRU} deps.svgMinifyCache - SVG minification cache
3
+ * @typedef {Record<string, any>} MinifierOptions
4
+ */
5
+ /** @param {MinifierOptions} options */
6
+ export function shouldMinifyInnerHTML(options: MinifierOptions): boolean;
7
+ /**
8
+ * @param {MinifierOptions} inputOptions - User-provided options
9
+ * @param {{getLightningCSS?: Function | undefined, getTerser?: Function | undefined, getSwc?: Function | undefined, getSvgo?: Function | undefined, cssMinifyCache?: LRU | undefined, jsMinifyCache?: LRU | undefined, svgMinifyCache?: LRU | undefined}} [deps] - Dependencies from htmlminifier.js
12
10
  * @returns {MinifierOptions} Normalized options with defaults applied
13
11
  */
14
- export function processOptions(inputOptions: Partial<MinifierOptions>, { getLightningCSS, getTerser, getSwc, getSvgo, cssMinifyCache, jsMinifyCache, svgMinifyCache }?: {
15
- getLightningCSS: Function;
16
- getTerser: Function;
17
- getSwc: Function;
12
+ export function processOptions(inputOptions: MinifierOptions, { getLightningCSS, getTerser, getSwc, getSvgo, cssMinifyCache, jsMinifyCache, svgMinifyCache }?: {
13
+ getLightningCSS?: Function | undefined;
14
+ getTerser?: Function | undefined;
15
+ getSwc?: Function | undefined;
16
+ getSvgo?: Function | undefined;
17
+ cssMinifyCache?: LRU | undefined;
18
+ jsMinifyCache?: LRU | undefined;
19
+ svgMinifyCache?: LRU | undefined;
18
20
  }): MinifierOptions;
21
+ import { LRU } from './utils.js';
19
22
  //# sourceMappingURL=options.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../../../src/lib/options.js"],"names":[],"mappings":"AAYA,6DAUC;AAID;;;;;;;;;;;GAWG;AACH,6CAXW,OAAO,CAAC,eAAe,CAAC,mGAEhC;IAAuB,eAAe;IACf,SAAS;IACT,MAAM;CAA2B,GAK9C,eAAe,CAgX3B"}
1
+ {"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../../../src/lib/options.js"],"names":[],"mappings":"8BAWa,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;AADhC;;GAEG;AAMH,uCAAuC;AACvC,+CADY,eAAe,WAW1B;AAID;;;;GAIG;AACH,6CAJW,eAAe,mGACf;IAAC,eAAe,CAAC,EAAE,WAAW,SAAS,CAAC;IAAC,SAAS,CAAC,EAAE,WAAW,SAAS,CAAC;IAAC,MAAM,CAAC,EAAE,WAAW,SAAS,CAAC;IAAC,OAAO,CAAC,EAAE,WAAW,SAAS,CAAC;IAAC,cAAc,CAAC,EAAE,GAAG,GAAG,SAAS,CAAC;IAAC,aAAa,CAAC,EAAE,GAAG,GAAG,SAAS,CAAC;IAAC,cAAc,CAAC,EAAE,GAAG,GAAG,SAAS,CAAA;CAAC,GAC5O,eAAe,CA6X3B;oBAhaiG,YAAY"}
@@ -1,17 +1,33 @@
1
- export function stableStringify(obj: any): any;
1
+ /**
2
+ * @param {unknown} obj
3
+ * @returns {string}
4
+ */
5
+ export function stableStringify(obj: unknown): string;
2
6
  export class LRU {
3
7
  constructor(limit?: number);
4
8
  limit: number;
5
- map: Map<any, any>;
6
- get(key: any): any;
7
- set(key: any, value: any): void;
8
- delete(key: any): void;
9
+ /** @type {Map<string, unknown>} */
10
+ map: Map<string, unknown>;
11
+ /** @param {string} key */
12
+ get(key: string): unknown;
13
+ /**
14
+ * @param {string} key
15
+ * @param {unknown} value
16
+ */
17
+ set(key: string, value: unknown): void;
18
+ /** @param {string} key */
19
+ delete(key: string): void;
9
20
  }
10
- export function hashContent(str: any): string;
11
- export function uniqueId(value: any): string;
12
- export function identity(value: any): any;
13
- export function isThenable(value: any): boolean;
14
- export function lowercase(value: any): any;
21
+ /** @param {string} str */
22
+ export function hashContent(str: string): string;
23
+ /** @param {string} value */
24
+ export function uniqueId(value: string): string;
25
+ /** @param {string} value */
26
+ export function identity(value: string): string;
27
+ /** @param {unknown} value */
28
+ export function isThenable(value: unknown): boolean;
29
+ /** @param {string} value */
30
+ export function lowercase(value: string): string;
15
31
  /**
16
32
  * Asynchronously replace matches in a string
17
33
  * @param {string} str - Input string
@@ -20,5 +36,6 @@ export function lowercase(value: any): any;
20
36
  * @returns {Promise<string>} Processed string
21
37
  */
22
38
  export function replaceAsync(str: string, regex: RegExp, asyncFn: Function): Promise<string>;
23
- export function parseRegExp(value: any): any;
39
+ /** @param {string | RegExp} value */
40
+ export function parseRegExp(value: string | RegExp): RegExp | undefined;
24
41
  //# sourceMappingURL=utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/lib/utils.js"],"names":[],"mappings":"AAEA,+CAUC;AAID;IACE,4BAGC;IAFC,cAAkB;IAClB,mBAAoB;IAEtB,mBAQC;IACD,gCAOC;IACD,uBAAqC;CACtC;AAID,8CAOC;AAID,6CAMC;AAID,0CAEC;AAED,gDAEC;AAED,2CAEC;AAID;;;;;;GAMG;AACH,kCALW,MAAM,SACN,MAAM,sBAEJ,OAAO,CAAC,MAAM,CAAC,CAY3B;AAID,6CAUC"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/lib/utils.js"],"names":[],"mappings":"AAEA;;;GAGG;AACH,qCAHW,OAAO,GACL,MAAM,CAYlB;AAID;IACE,4BAIC;IAHC,cAAkB;IAClB,mCAAmC;IACnC,KADW,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CACX;IAEtB,0BAA0B;IAC1B,SADY,MAAM,WASjB;IACD;;;OAGG;IACH,SAHW,MAAM,SACN,OAAO,QASjB;IACD,0BAA0B;IAC1B,YADY,MAAM,QACmB;CACtC;AAID,0BAA0B;AAC1B,iCADY,MAAM,UAQjB;AAID,4BAA4B;AAC5B,gCADY,MAAM,UAOjB;AAID,4BAA4B;AAC5B,gCADY,MAAM,UAGjB;AAED,6BAA6B;AAC7B,kCADY,OAAO,WAGlB;AAED,4BAA4B;AAC5B,iCADY,MAAM,UAGjB;AAID;;;;;;GAMG;AACH,kCALW,MAAM,SACN,MAAM,sBAEJ,OAAO,CAAC,MAAM,CAAC,CAc3B;AAID,qCAAqC;AACrC,mCADY,MAAM,GAAG,MAAM,sBAW1B"}
@@ -1,7 +1,41 @@
1
- export function trimWhitespace(str: any): any;
2
- export function collapseWhitespaceAll(str: any): any;
3
- export function collapseWhitespace(str: any, options: any, trimLeft: any, trimRight: any, collapseAll: any): any;
4
- export function collapseWhitespaceSmart(str: any, prevTag: any, nextTag: any, prevAttrs: any, nextAttrs: any, options: any, inlineElements: any, inlineTextSet: any): any;
5
- export function canCollapseWhitespace(tag: any): boolean;
6
- export function canTrimWhitespace(tag: any): boolean;
1
+ /** @param {string} str */
2
+ export function trimWhitespace(str: string): string;
3
+ /** @param {string} str */
4
+ export function collapseWhitespaceAll(str: string): string;
5
+ /**
6
+ * @param {string} str
7
+ * @param {{preserveLineBreaks?: boolean | undefined, conservativeCollapse?: boolean | undefined}} options
8
+ * @param {boolean} trimLeft
9
+ * @param {boolean} trimRight
10
+ * @param {boolean} [collapseAll]
11
+ */
12
+ export function collapseWhitespace(str: string, options: {
13
+ preserveLineBreaks?: boolean | undefined;
14
+ conservativeCollapse?: boolean | undefined;
15
+ }, trimLeft: boolean, trimRight: boolean, collapseAll?: boolean): string;
16
+ /**
17
+ * @param {string} str
18
+ * @param {string} prevTag
19
+ * @param {string} nextTag
20
+ * @param {Array<{name: string, value?: string}>} prevAttrs
21
+ * @param {Array<{name: string, value?: string}>} nextAttrs
22
+ * @param {{preserveLineBreaks?: boolean, conservativeCollapse?: boolean, collapseInlineTagWhitespace?: boolean}} options
23
+ * @param {Set<string>} inlineElements
24
+ * @param {Set<string>} inlineTextSet
25
+ */
26
+ export function collapseWhitespaceSmart(str: string, prevTag: string, nextTag: string, prevAttrs: Array<{
27
+ name: string;
28
+ value?: string;
29
+ }>, nextAttrs: Array<{
30
+ name: string;
31
+ value?: string;
32
+ }>, options: {
33
+ preserveLineBreaks?: boolean;
34
+ conservativeCollapse?: boolean;
35
+ collapseInlineTagWhitespace?: boolean;
36
+ }, inlineElements: Set<string>, inlineTextSet: Set<string>): string;
37
+ /** @param {string} tag */
38
+ export function canCollapseWhitespace(tag: string): boolean;
39
+ /** @param {string} tag */
40
+ export function canTrimWhitespace(tag: string): boolean;
7
41
  //# sourceMappingURL=whitespace.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"whitespace.d.ts","sourceRoot":"","sources":["../../../src/lib/whitespace.js"],"names":[],"mappings":"AAiBA,8CAOC;AAID,qDAgBC;AAID,iHAqFC;AAID,0KAwEC;AAOD,yDAEC;AAED,qDAEC"}
1
+ {"version":3,"file":"whitespace.d.ts","sourceRoot":"","sources":["../../../src/lib/whitespace.js"],"names":[],"mappings":"AAeA,0BAA0B;AAC1B,oCADY,MAAM,UAQjB;AAID,0BAA0B;AAC1B,2CADY,MAAM,UAiBjB;AAID;;;;;;GAMG;AACH,wCANW,MAAM,WACN;IAAC,kBAAkB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAAC,oBAAoB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;CAAC,YACtF,OAAO,aACP,OAAO,gBACP,OAAO,UAuFjB;AAID;;;;;;;;;GASG;AACH,6CATW,MAAM,WACN,MAAM,WACN,MAAM,aACN,KAAK,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAC,CAAC,aACrC,KAAK,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAC,CAAC,WACrC;IAAC,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAAC,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAAC,2BAA2B,CAAC,EAAE,OAAO,CAAA;CAAC,kBACrG,GAAG,CAAC,MAAM,CAAC,iBACX,GAAG,CAAC,MAAM,CAAC,UA0ErB;AAOD,0BAA0B;AAC1B,2CADY,MAAM,WAGjB;AAED,0BAA0B;AAC1B,uCADY,MAAM,WAGjB"}
@@ -1,10 +1,24 @@
1
1
  export default TokenChain;
2
2
  declare class TokenChain {
3
- map: Map<any, any>;
4
- add(tokens: any): void;
3
+ /** @type {Map<string, {arrays: string[][], processed: number}>} */
4
+ map: Map<string, {
5
+ arrays: string[][];
6
+ processed: number;
7
+ }>;
8
+ /** @param {string[]} tokens */
9
+ add(tokens: string[]): void;
5
10
  createSorter(): Sorter;
6
11
  }
7
12
  declare class Sorter {
8
- sort(tokens: any, fromIndex?: number): any;
13
+ /** @type {string[]} */
14
+ keys: string[];
15
+ /** @type {Map<string, Sorter>} */
16
+ sorterMap: Map<string, Sorter>;
17
+ /**
18
+ * @param {string[]} tokens
19
+ * @param {number} fromIndex
20
+ * @returns {string[]}
21
+ */
22
+ sort(tokens: string[], fromIndex?: number): string[];
9
23
  }
10
24
  //# sourceMappingURL=tokenchain.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"tokenchain.d.ts","sourceRoot":"","sources":["../../src/tokenchain.js"],"names":[],"mappings":";AAmCA;IAGI,mBAAoB;IAGtB,uBAOC;IAED,uBAiDC;CACF;AApGD;IACE,2CA+BC;CACF"}
1
+ {"version":3,"file":"tokenchain.d.ts","sourceRoot":"","sources":["../../src/tokenchain.js"],"names":[],"mappings":";AA+CA;IAEI,mEAAmE;IACnE,KADW,GAAG,CAAC,MAAM,EAAE;QAAC,MAAM,EAAE,MAAM,EAAE,EAAE,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAC,CAAC,CAC3C;IAGtB,+BAA+B;IAC/B,YADY,MAAM,EAAE,QAUnB;IAED,uBA+CC;CACF;AAjHD;IAEI,uBAAuB;IACvB,MADW,MAAM,EAAE,CACL;IACd,kCAAkC;IAClC,WADW,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CACJ;IAG5B;;;;OAIG;IACH,aAJW,MAAM,EAAE,cACR,MAAM,GACJ,MAAM,EAAE,CAiCpB;CACF"}
package/package.json CHANGED
@@ -6,7 +6,7 @@
6
6
  },
7
7
  "bugs": "https://github.com/j9t/html-minifier-next/issues",
8
8
  "dependencies": {
9
- "commander": "^14.0.3",
9
+ "commander": "^15.0.0",
10
10
  "entities": "^8.0.0",
11
11
  "lightningcss": "^1.32.0",
12
12
  "svgo": "^4.0.1",
@@ -20,6 +20,7 @@
20
20
  "@rollup/plugin-json": "^6.1.0",
21
21
  "@rollup/plugin-node-resolve": "^16.0.3",
22
22
  "@swc/core": "^1.15.40",
23
+ "@types/node": "^25.9.1",
23
24
  "eslint": "^10.4.0",
24
25
  "rollup": "^4.60.4",
25
26
  "rollup-plugin-polyfill-node": "^0.13.0",
@@ -97,5 +98,5 @@
97
98
  },
98
99
  "type": "module",
99
100
  "types": "./dist/types/htmlminifier.d.ts",
100
- "version": "6.2.8"
101
+ "version": "6.2.9"
101
102
  }