@docusaurus/bundler 0.0.0-6102 → 0.0.0-6104

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.
@@ -5,8 +5,12 @@
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  */
7
7
  import type { DocusaurusConfig } from '@docusaurus/types';
8
+ export type HtmlMinifierResult = {
9
+ code: string;
10
+ warnings: string[];
11
+ };
8
12
  export type HtmlMinifier = {
9
- minify: (html: string) => Promise<string>;
13
+ minify: (html: string) => Promise<HtmlMinifierResult>;
10
14
  };
11
15
  type SiteConfigSlice = {
12
16
  future: {
@@ -1 +1 @@
1
- {"version":3,"file":"minifyHtml.d.ts","sourceRoot":"","sources":["../src/minifyHtml.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,OAAO,KAAK,EAAC,gBAAgB,EAAC,MAAM,mBAAmB,CAAC;AAKxD,MAAM,MAAM,YAAY,GAAG;IACzB,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;CAC3C,CAAC;AAMF,KAAK,eAAe,GAAG;IACrB,MAAM,EAAE;QACN,mBAAmB,EAAE,IAAI,CACvB,gBAAgB,CAAC,QAAQ,CAAC,CAAC,qBAAqB,CAAC,EACjD,kBAAkB,CACnB,CAAC;KACH,CAAC;CACH,CAAC;AAEF,wBAAsB,eAAe,CAAC,EACpC,UAAU,GACX,EAAE;IACD,UAAU,EAAE,eAAe,CAAC;CAC7B,GAAG,OAAO,CAAC,YAAY,CAAC,CASxB"}
1
+ {"version":3,"file":"minifyHtml.d.ts","sourceRoot":"","sources":["../src/minifyHtml.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,KAAK,EAAC,gBAAgB,EAAC,MAAM,mBAAmB,CAAC;AAKxD,MAAM,MAAM,kBAAkB,GAAG;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACzB,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,kBAAkB,CAAC,CAAC;CACvD,CAAC;AAMF,KAAK,eAAe,GAAG;IACrB,MAAM,EAAE;QACN,mBAAmB,EAAE,IAAI,CACvB,gBAAgB,CAAC,QAAQ,CAAC,CAAC,qBAAqB,CAAC,EACjD,kBAAkB,CACnB,CAAC;KACH,CAAC;CACH,CAAC;AAEF,wBAAsB,eAAe,CAAC,EACpC,UAAU,GACX,EAAE;IACD,UAAU,EAAE,eAAe,CAAC;CAC7B,GAAG,OAAO,CAAC,YAAY,CAAC,CASxB"}
package/lib/minifyHtml.js CHANGED
@@ -7,14 +7,12 @@
7
7
  */
8
8
  Object.defineProperty(exports, "__esModule", { value: true });
9
9
  exports.getHtmlMinifier = getHtmlMinifier;
10
- const tslib_1 = require("tslib");
11
- const logger_1 = tslib_1.__importDefault(require("@docusaurus/logger"));
12
10
  const html_minifier_terser_1 = require("html-minifier-terser");
13
11
  const importFaster_1 = require("./importFaster");
14
12
  // Historical env variable
15
13
  const SkipHtmlMinification = process.env.SKIP_HTML_MINIFICATION === 'true';
16
14
  const NoopMinifier = {
17
- minify: async (html) => html,
15
+ minify: async (html) => ({ code: html, warnings: [] }),
18
16
  };
19
17
  async function getHtmlMinifier({ siteConfig, }) {
20
18
  if (SkipHtmlMinification) {
@@ -32,7 +30,7 @@ async function getTerserMinifier() {
32
30
  return {
33
31
  minify: async function minifyHtmlWithTerser(html) {
34
32
  try {
35
- return await (0, html_minifier_terser_1.minify)(html, {
33
+ const code = await (0, html_minifier_terser_1.minify)(html, {
36
34
  removeComments: false,
37
35
  removeRedundantAttributes: true,
38
36
  removeEmptyAttributes: true,
@@ -41,6 +39,7 @@ async function getTerserMinifier() {
41
39
  useShortDoctype: true,
42
40
  minifyJS: true,
43
41
  });
42
+ return { code, warnings: [] };
44
43
  }
45
44
  catch (err) {
46
45
  throw new Error(`HTML minification failed (Terser)`, {
@@ -74,37 +73,13 @@ async function getSwcMinifier() {
74
73
  minifyJson: true,
75
74
  minifyCss: true,
76
75
  });
77
- // Escape hatch because SWC is quite aggressive to report errors
78
- // TODO figure out what to do with these errors: throw or swallow?
79
- // See https://github.com/facebook/docusaurus/pull/10554
80
- // See https://github.com/swc-project/swc/discussions/9616#discussioncomment-10846201
81
- const ignoreSwcMinifierErrors = process.env.DOCUSAURUS_IGNORE_SWC_HTML_MINIFIER_ERRORS === 'true';
82
- if (!ignoreSwcMinifierErrors && result.errors) {
83
- const ignoredErrors = [
84
- // TODO Docusaurus seems to emit NULL chars, and minifier detects it
85
- // see https://github.com/facebook/docusaurus/issues/9985
86
- 'Unexpected null character',
87
- ];
88
- result.errors = result.errors.filter((diagnostic) => !ignoredErrors.includes(diagnostic.message));
89
- if (result.errors.length) {
90
- throw new Error(`HTML minification diagnostic errors:
91
- - ${result.errors
92
- .map((diagnostic) => `[${diagnostic.level}] ${diagnostic.message} - ${JSON.stringify(diagnostic.span)}`)
93
- .join('\n- ')}
94
- Note: please report the problem to the Docusaurus team
95
- In the meantime, you can skip this error with ${logger_1.default.code('DOCUSAURUS_IGNORE_SWC_HTML_MINIFIER_ERRORS=true')}`);
96
- }
97
- /*
98
- if (result.errors.length) {
99
- throw new AggregateError(
100
- result.errors.map(
101
- (diagnostic) => new Error(JSON.stringify(diagnostic, null, 2)),
102
- ),
103
- );
104
- }
105
- */
106
- }
107
- return result.code;
76
+ const warnings = (result.errors ?? []).map((diagnostic) => {
77
+ return `[HTML minifier diagnostic - ${diagnostic.level}] ${diagnostic.message} - ${JSON.stringify(diagnostic.span)}`;
78
+ });
79
+ return {
80
+ code: result.code,
81
+ warnings,
82
+ };
108
83
  }
109
84
  catch (err) {
110
85
  throw new Error(`HTML minification failed (SWC)`, {
@@ -1 +1 @@
1
- {"version":3,"file":"minifyHtml.js","sourceRoot":"","sources":["../src/minifyHtml.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"minifyHtml.js","sourceRoot":"","sources":["../src/minifyHtml.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@docusaurus/bundler",
3
- "version": "0.0.0-6102",
3
+ "version": "0.0.0-6104",
4
4
  "description": "Docusaurus util package to abstract the current bundler.",
5
5
  "main": "./lib/index.js",
6
6
  "types": "./lib/index.d.ts",
@@ -19,11 +19,11 @@
19
19
  "license": "MIT",
20
20
  "dependencies": {
21
21
  "@babel/core": "^7.23.3",
22
- "@docusaurus/babel": "0.0.0-6102",
23
- "@docusaurus/cssnano-preset": "0.0.0-6102",
24
- "@docusaurus/logger": "0.0.0-6102",
25
- "@docusaurus/types": "0.0.0-6102",
26
- "@docusaurus/utils": "0.0.0-6102",
22
+ "@docusaurus/babel": "0.0.0-6104",
23
+ "@docusaurus/cssnano-preset": "0.0.0-6104",
24
+ "@docusaurus/logger": "0.0.0-6104",
25
+ "@docusaurus/types": "0.0.0-6104",
26
+ "@docusaurus/utils": "0.0.0-6104",
27
27
  "autoprefixer": "^10.4.14",
28
28
  "babel-loader": "^9.1.3",
29
29
  "clean-css": "^5.3.2",
@@ -58,5 +58,5 @@
58
58
  "engines": {
59
59
  "node": ">=18.0"
60
60
  },
61
- "gitHead": "6544279597d408981d878dbfe723411787c5525b"
61
+ "gitHead": "560b264a3e2674266556655f6940439187615f00"
62
62
  }
package/src/minifyHtml.ts CHANGED
@@ -5,7 +5,6 @@
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  */
7
7
 
8
- import logger from '@docusaurus/logger';
9
8
  import {minify as terserHtmlMinifier} from 'html-minifier-terser';
10
9
  import {importSwcHtmlMinifier} from './importFaster';
11
10
  import type {DocusaurusConfig} from '@docusaurus/types';
@@ -13,12 +12,17 @@ import type {DocusaurusConfig} from '@docusaurus/types';
13
12
  // Historical env variable
14
13
  const SkipHtmlMinification = process.env.SKIP_HTML_MINIFICATION === 'true';
15
14
 
15
+ export type HtmlMinifierResult = {
16
+ code: string;
17
+ warnings: string[];
18
+ };
19
+
16
20
  export type HtmlMinifier = {
17
- minify: (html: string) => Promise<string>;
21
+ minify: (html: string) => Promise<HtmlMinifierResult>;
18
22
  };
19
23
 
20
24
  const NoopMinifier: HtmlMinifier = {
21
- minify: async (html: string) => html,
25
+ minify: async (html: string) => ({code: html, warnings: []}),
22
26
  };
23
27
 
24
28
  type SiteConfigSlice = {
@@ -50,7 +54,7 @@ async function getTerserMinifier(): Promise<HtmlMinifier> {
50
54
  return {
51
55
  minify: async function minifyHtmlWithTerser(html) {
52
56
  try {
53
- return await terserHtmlMinifier(html, {
57
+ const code = await terserHtmlMinifier(html, {
54
58
  removeComments: false,
55
59
  removeRedundantAttributes: true,
56
60
  removeEmptyAttributes: true,
@@ -59,6 +63,7 @@ async function getTerserMinifier(): Promise<HtmlMinifier> {
59
63
  useShortDoctype: true,
60
64
  minifyJS: true,
61
65
  });
66
+ return {code, warnings: []};
62
67
  } catch (err) {
63
68
  throw new Error(`HTML minification failed (Terser)`, {
64
69
  cause: err as Error,
@@ -95,49 +100,16 @@ async function getSwcMinifier(): Promise<HtmlMinifier> {
95
100
  minifyCss: true,
96
101
  });
97
102
 
98
- // Escape hatch because SWC is quite aggressive to report errors
99
- // TODO figure out what to do with these errors: throw or swallow?
100
- // See https://github.com/facebook/docusaurus/pull/10554
101
- // See https://github.com/swc-project/swc/discussions/9616#discussioncomment-10846201
102
- const ignoreSwcMinifierErrors =
103
- process.env.DOCUSAURUS_IGNORE_SWC_HTML_MINIFIER_ERRORS === 'true';
104
- if (!ignoreSwcMinifierErrors && result.errors) {
105
- const ignoredErrors: string[] = [
106
- // TODO Docusaurus seems to emit NULL chars, and minifier detects it
107
- // see https://github.com/facebook/docusaurus/issues/9985
108
- 'Unexpected null character',
109
- ];
110
- result.errors = result.errors.filter(
111
- (diagnostic) => !ignoredErrors.includes(diagnostic.message),
112
- );
113
- if (result.errors.length) {
114
- throw new Error(
115
- `HTML minification diagnostic errors:
116
- - ${result.errors
117
- .map(
118
- (diagnostic) =>
119
- `[${diagnostic.level}] ${
120
- diagnostic.message
121
- } - ${JSON.stringify(diagnostic.span)}`,
122
- )
123
- .join('\n- ')}
124
- Note: please report the problem to the Docusaurus team
125
- In the meantime, you can skip this error with ${logger.code(
126
- 'DOCUSAURUS_IGNORE_SWC_HTML_MINIFIER_ERRORS=true',
127
- )}`,
128
- );
129
- }
130
- /*
131
- if (result.errors.length) {
132
- throw new AggregateError(
133
- result.errors.map(
134
- (diagnostic) => new Error(JSON.stringify(diagnostic, null, 2)),
135
- ),
136
- );
137
- }
138
- */
139
- }
140
- return result.code;
103
+ const warnings = (result.errors ?? []).map((diagnostic) => {
104
+ return `[HTML minifier diagnostic - ${diagnostic.level}] ${
105
+ diagnostic.message
106
+ } - ${JSON.stringify(diagnostic.span)}`;
107
+ });
108
+
109
+ return {
110
+ code: result.code,
111
+ warnings,
112
+ };
141
113
  } catch (err) {
142
114
  throw new Error(`HTML minification failed (SWC)`, {
143
115
  cause: err as Error,