diff --git a/lib/rules/declaration-bang-space-before/__tests__/index.js b/lib/rules/declaration-bang-space-before/__tests__/index.js
index e2a86e3ed7..6e22a0ad56 100644
--- a/lib/rules/declaration-bang-space-before/__tests__/index.js
+++ b/lib/rules/declaration-bang-space-before/__tests__/index.js
@@ -1,5 +1,7 @@
'use strict';
+const postcssSass = require('postcss-sass');
+
const { messages, ruleName } = require('..');
testRule({
@@ -197,7 +199,7 @@ testRule({
testRule({
ruleName,
config: ['always'],
- syntax: 'sass',
+ customSyntax: postcssSass,
skipBasicChecks: true,
fix: true,
@@ -215,7 +217,7 @@ testRule({
testRule({
ruleName,
config: ['never'],
- syntax: 'sass',
+ customSyntax: postcssSass,
skipBasicChecks: true,
fix: true,
diff --git a/lib/rules/declaration-block-no-duplicate-custom-properties/__tests__/index.js b/lib/rules/declaration-block-no-duplicate-custom-properties/__tests__/index.js
index aa9f43d8da..f419c37f37 100644
--- a/lib/rules/declaration-block-no-duplicate-custom-properties/__tests__/index.js
+++ b/lib/rules/declaration-block-no-duplicate-custom-properties/__tests__/index.js
@@ -1,5 +1,7 @@
'use strict';
+const postcssHtml = require('postcss-html')();
+
const { messages, ruleName } = require('..');
testRule({
@@ -79,11 +81,10 @@ testRule({
});
testRule({
- skip: true,
ruleName,
config: [true],
skipBasicChecks: true,
- syntax: 'html',
+ customSyntax: postcssHtml,
accept: [
{
diff --git a/lib/rules/declaration-block-no-duplicate-properties/__tests__/index.js b/lib/rules/declaration-block-no-duplicate-properties/__tests__/index.js
index a62f299a95..85e0cc828b 100644
--- a/lib/rules/declaration-block-no-duplicate-properties/__tests__/index.js
+++ b/lib/rules/declaration-block-no-duplicate-properties/__tests__/index.js
@@ -1,5 +1,7 @@
'use strict';
+const postcssHtml = require('postcss-html')();
+
const { messages, ruleName } = require('..');
testRule({
@@ -265,11 +267,10 @@ testRule({
});
testRule({
- skip: true,
ruleName,
config: [true],
skipBasicChecks: true,
- syntax: 'html',
+ customSyntax: postcssHtml,
accept: [
{
diff --git a/lib/rules/declaration-block-no-redundant-longhand-properties/__tests__/index.js b/lib/rules/declaration-block-no-redundant-longhand-properties/__tests__/index.js
index d02e44a199..a5883534df 100644
--- a/lib/rules/declaration-block-no-redundant-longhand-properties/__tests__/index.js
+++ b/lib/rules/declaration-block-no-redundant-longhand-properties/__tests__/index.js
@@ -1,5 +1,7 @@
'use strict';
+const postcssHtml = require('postcss-html')();
+
const { messages, ruleName } = require('..');
testRule({
@@ -109,10 +111,9 @@ testRule({
});
testRule({
- skip: true,
ruleName,
config: [true],
- syntax: 'html',
+ customSyntax: postcssHtml,
accept: [
{
diff --git a/lib/rules/declaration-block-no-shorthand-property-overrides/__tests__/index.js b/lib/rules/declaration-block-no-shorthand-property-overrides/__tests__/index.js
index 66bbe5eecd..defb0a8cec 100644
--- a/lib/rules/declaration-block-no-shorthand-property-overrides/__tests__/index.js
+++ b/lib/rules/declaration-block-no-shorthand-property-overrides/__tests__/index.js
@@ -1,5 +1,7 @@
'use strict';
+const postcssHtml = require('postcss-html')();
+
const { messages, ruleName } = require('..');
testRule({
@@ -87,10 +89,9 @@ testRule({
});
testRule({
- skip: true,
ruleName,
config: [true],
- syntax: 'html',
+ customSyntax: postcssHtml,
accept: [
{
diff --git a/lib/rules/declaration-empty-line-before/__tests__/index.js b/lib/rules/declaration-empty-line-before/__tests__/index.js
index c4f6b397ab..022bde056d 100644
--- a/lib/rules/declaration-empty-line-before/__tests__/index.js
+++ b/lib/rules/declaration-empty-line-before/__tests__/index.js
@@ -1,5 +1,6 @@
'use strict';
+const postcssHtml = require('postcss-html')();
const postcssLess = require('postcss-less');
const postcssScss = require('postcss-scss');
const stripIndent = require('common-tags').stripIndent;
@@ -904,7 +905,7 @@ testRule({
skip: true,
ruleName,
config: ['always'],
- syntax: 'html',
+ customSyntax: postcssHtml,
fix: true,
accept: [
{
@@ -962,7 +963,7 @@ testRule({
skip: true,
ruleName,
config: ['always', { ignore: ['inside-single-line-block'] }],
- syntax: 'html',
+ customSyntax: postcssHtml,
fix: true,
accept: [
diff --git a/lib/rules/function-url-no-scheme-relative/__tests__/index.js b/lib/rules/function-url-no-scheme-relative/__tests__/index.js
index 5949a105b9..f728e54ede 100644
--- a/lib/rules/function-url-no-scheme-relative/__tests__/index.js
+++ b/lib/rules/function-url-no-scheme-relative/__tests__/index.js
@@ -1,5 +1,7 @@
'use strict';
+const postcssHtml = require('postcss-html')();
+
const { messages, ruleName } = require('..');
testRule({
@@ -117,10 +119,9 @@ testRule({
});
testRule({
- skip: true,
ruleName,
config: [true],
- syntax: 'html',
+ customSyntax: postcssHtml,
reject: [
{
diff --git a/lib/rules/function-url-quotes/__tests__/index.js b/lib/rules/function-url-quotes/__tests__/index.js
index e2a6dc3f70..a21a638f62 100644
--- a/lib/rules/function-url-quotes/__tests__/index.js
+++ b/lib/rules/function-url-quotes/__tests__/index.js
@@ -1,5 +1,7 @@
'use strict';
+const postcssHtml = require('postcss-html')();
+
const { messages, ruleName } = require('..');
testRule({
@@ -613,10 +615,9 @@ testRule({
});
testRule({
- skip: true,
ruleName,
config: ['always'],
- syntax: 'html',
+ customSyntax: postcssHtml,
reject: [
{
diff --git a/lib/rules/indentation/__tests__/html.js b/lib/rules/indentation/__tests__/html.js
index 40cae1525f..ead6a8f95b 100644
--- a/lib/rules/indentation/__tests__/html.js
+++ b/lib/rules/indentation/__tests__/html.js
@@ -1,12 +1,13 @@
'use strict';
+const postcssHtml = require('postcss-html')();
+
const { messages, ruleName } = require('..');
testRule({
- skip: true,
ruleName,
config: ['tab'],
- syntax: 'html',
+ customSyntax: postcssHtml,
fix: true,
accept: [
@@ -191,10 +192,9 @@ a {
});
testRule({
- skip: true,
ruleName,
config: [2],
- syntax: 'html',
+ customSyntax: postcssHtml,
fix: true,
accept: [
@@ -242,7 +242,6 @@ a {
});
testRule({
- skip: true,
ruleName,
config: [
'tab',
@@ -250,7 +249,7 @@ testRule({
baseIndentLevel: 1,
},
],
- syntax: 'html',
+ customSyntax: postcssHtml,
fix: true,
accept: [
@@ -388,7 +387,6 @@ a {
});
testRule({
- skip: true,
ruleName,
config: [
'tab',
@@ -396,7 +394,7 @@ testRule({
baseIndentLevel: 0,
},
],
- syntax: 'html',
+ customSyntax: postcssHtml,
fix: true,
accept: [
@@ -484,7 +482,6 @@ a {
});
testRule({
- skip: true,
ruleName,
config: [
2,
@@ -492,7 +489,7 @@ testRule({
baseIndentLevel: 1,
},
],
- syntax: 'html',
+ customSyntax: postcssHtml,
fix: true,
accept: [
diff --git a/lib/rules/indentation/index.js b/lib/rules/indentation/index.js
index af56f5911b..6438a1874a 100644
--- a/lib/rules/indentation/index.js
+++ b/lib/rules/indentation/index.js
@@ -664,7 +664,7 @@ function inferRootIndentLevel(root, baseIndentLevel, indentSize) {
if (document) {
const nextRoot = document.nodes[document.nodes.indexOf(root) + 1];
- afterEnd = nextRoot ? nextRoot.raws.beforeStart : document.raws.afterEnd;
+ afterEnd = nextRoot ? nextRoot.raws.codeBefore : document.raws.codeAfter;
} else {
// Nested root node in css-in-js lang
const parent = root.parent;
@@ -673,13 +673,13 @@ function inferRootIndentLevel(root, baseIndentLevel, indentSize) {
const nextRoot = parent.nodes[parent.nodes.indexOf(root) + 1];
- afterEnd = nextRoot ? nextRoot.raws.beforeStart : root.raws.afterEnd;
+ afterEnd = nextRoot ? nextRoot.raws.codeBefore : root.raws.codeAfter;
}
} else {
afterEnd = after;
}
- indents.push(afterEnd.match(/^[ \t]*/)[0]);
+ if (afterEnd) indents.push(afterEnd.match(/^[ \t]*/)[0]);
}
if (indents.length) {
diff --git a/lib/rules/max-empty-lines/__tests__/index.js b/lib/rules/max-empty-lines/__tests__/index.js
index ba6ad6fbad..730d48c287 100644
--- a/lib/rules/max-empty-lines/__tests__/index.js
+++ b/lib/rules/max-empty-lines/__tests__/index.js
@@ -1,5 +1,6 @@
'use strict';
+const postcssHtml = require('postcss-html')();
const postcssScss = require('postcss-scss');
const sugarss = require('sugarss');
@@ -152,20 +153,24 @@ testRule({
});
testRule({
- skip: true,
ruleName,
config: [1],
- syntax: 'html',
+ customSyntax: postcssHtml,
fix: true,
accept: [
{
code: `
+
+
+
+
+
`,
},
{
@@ -207,6 +212,7 @@ a {color: pink;}
`,
fixed: `
@@ -223,6 +229,7 @@ a {color: pink;}
{
code: `
`,
fixed: `
@@ -273,10 +281,17 @@ testRule({
code: `
import styled from 'styled-components';
+
+
+
+
export default styled.div\`
color: #00
\`;
+
+
+
`,
},
{
@@ -310,6 +325,7 @@ import styled from 'styled-components';
export default styled.div\`
/* horse */
+
color: #00
\`;
`,
@@ -337,6 +353,7 @@ export const style1 = styled.div\`
export const style2 = styled.div\`
color: #00
+
\`;`,
fixed: `
import styled from 'styled-components';
diff --git a/lib/rules/max-empty-lines/index.js b/lib/rules/max-empty-lines/index.js
index 6b37108f09..8d00993d2f 100644
--- a/lib/rules/max-empty-lines/index.js
+++ b/lib/rules/max-empty-lines/index.js
@@ -195,15 +195,15 @@ function isEofNode(document, root) {
// @ts-expect-error -- TS2367: This condition will always return 'false' since the types 'Root' and 'ChildNode | undefined' have no overlap.
if (root === document.last) {
- after = document.raws && document.raws.afterEnd;
+ after = document.raws && document.raws.codeAfter;
} else {
// @ts-expect-error -- TS2345: Argument of type 'Root' is not assignable to parameter of type 'number | ChildNode'.
const rootIndex = document.index(root);
const nextNode = document.nodes[rootIndex + 1];
- // @ts-expect-error -- TS2339: Property 'beforeStart' does not exist on type 'AtRuleRaws | RuleRaws | DeclarationRaws | CommentRaws'.
- after = nextNode && nextNode.raws && nextNode.raws.beforeStart;
+ // @ts-expect-error -- TS2339: Property 'codeBefore' does not exist on type 'CommentRaws'.
+ after = nextNode && nextNode.raws && nextNode.raws.codeBefore;
}
return !String(after).trim();
diff --git a/lib/rules/max-line-length/__tests__/index.js b/lib/rules/max-line-length/__tests__/index.js
index 9af2664630..8c0a3f373e 100644
--- a/lib/rules/max-line-length/__tests__/index.js
+++ b/lib/rules/max-line-length/__tests__/index.js
@@ -1,5 +1,6 @@
'use strict';
+const postcssHtml = require('postcss-html')();
const postcssScss = require('postcss-scss');
const { messages, ruleName } = require('..');
@@ -227,10 +228,9 @@ testRule({
});
testRule({
- skip: true,
ruleName,
config: [20],
- syntax: 'html',
+ customSyntax: postcssHtml,
accept: [
{
diff --git a/lib/rules/no-empty-source/__tests__/index.js b/lib/rules/no-empty-source/__tests__/index.js
index 02ca44a83e..34156f63f5 100644
--- a/lib/rules/no-empty-source/__tests__/index.js
+++ b/lib/rules/no-empty-source/__tests__/index.js
@@ -1,5 +1,7 @@
'use strict';
+const postcssHtml = require('postcss-html')();
+
const { messages, ruleName } = require('..');
testRule({
@@ -93,10 +95,9 @@ testRule({
});
testRule({
- skip: true,
ruleName,
config: [true],
- syntax: 'html',
+ customSyntax: postcssHtml,
skipBasicChecks: true,
accept: [
diff --git a/lib/rules/no-eol-whitespace/__tests__/index.js b/lib/rules/no-eol-whitespace/__tests__/index.js
index ccded2568c..76538b3044 100644
--- a/lib/rules/no-eol-whitespace/__tests__/index.js
+++ b/lib/rules/no-eol-whitespace/__tests__/index.js
@@ -1,5 +1,6 @@
'use strict';
+const postcssHtml = require('postcss-html')();
const postcssScss = require('postcss-scss');
const { messages, ruleName } = require('..');
@@ -573,15 +574,14 @@ testRule({
});
testRule({
- skip: true,
ruleName,
config: [true],
- syntax: 'html',
+ customSyntax: postcssHtml,
fix: true,
accept: [
{
- code: `
/* After this comment we have eol whitespace */
+ code: `
/* After this comment we have eol whitespace */
diff --git a/lib/rules/no-extra-semicolons/__tests__/index.js b/lib/rules/no-extra-semicolons/__tests__/index.js
index 458b936924..ee89294bc1 100644
--- a/lib/rules/no-extra-semicolons/__tests__/index.js
+++ b/lib/rules/no-extra-semicolons/__tests__/index.js
@@ -1,5 +1,6 @@
'use strict';
+const postcssHtml = require('postcss-html')();
const postcssLess = require('postcss-less');
const { messages, ruleName } = require('..');
@@ -949,10 +950,9 @@ testRule({
});
testRule({
- skip: true,
ruleName,
config: [true],
- syntax: 'html',
+ customSyntax: postcssHtml,
fix: true,
accept: [
diff --git a/lib/rules/no-missing-end-of-source-newline/__tests__/index.js b/lib/rules/no-missing-end-of-source-newline/__tests__/index.js
index 86b28f2acb..c56737e881 100644
--- a/lib/rules/no-missing-end-of-source-newline/__tests__/index.js
+++ b/lib/rules/no-missing-end-of-source-newline/__tests__/index.js
@@ -1,5 +1,6 @@
'use strict';
+const postcssHtml = require('postcss-html')();
const sugarss = require('sugarss');
const { messages, ruleName } = require('..');
@@ -71,11 +72,10 @@ testRule({
});
testRule({
- skip: true,
ruleName,
config: [true],
skipBasicChecks: true,
- syntax: 'html',
+ customSyntax: postcssHtml,
accept: [
{
diff --git a/lib/rules/property-no-unknown/__tests__/index.js b/lib/rules/property-no-unknown/__tests__/index.js
index b3efc5ec6d..18b1795f11 100644
--- a/lib/rules/property-no-unknown/__tests__/index.js
+++ b/lib/rules/property-no-unknown/__tests__/index.js
@@ -1,5 +1,6 @@
'use strict';
+const postcssHtml = require('postcss-html')();
const postcssLess = require('postcss-less');
const postcssScss = require('postcss-scss');
@@ -339,10 +340,9 @@ testRule({
});
testRule({
- skip: true,
ruleName,
config: [true],
- syntax: 'html',
+ customSyntax: postcssHtml,
accept: [
{
code: '
',
diff --git a/lib/rules/string-no-newline/__tests__/index.js b/lib/rules/string-no-newline/__tests__/index.js
index 499a865f2b..e6b7d75695 100644
--- a/lib/rules/string-no-newline/__tests__/index.js
+++ b/lib/rules/string-no-newline/__tests__/index.js
@@ -1,5 +1,6 @@
'use strict';
+const postcssHtml = require('postcss-html')();
const postcssScss = require('postcss-scss');
const { messages, ruleName } = require('..');
@@ -84,10 +85,9 @@ testRule({
});
testRule({
- skip: true,
ruleName,
config: [true],
- syntax: 'html',
+ customSyntax: postcssHtml,
skipBasicChecks: true,
accept: [
diff --git a/lib/rules/unicode-bom/__tests__/index.js b/lib/rules/unicode-bom/__tests__/index.js
index 6854c43183..12baaf4326 100644
--- a/lib/rules/unicode-bom/__tests__/index.js
+++ b/lib/rules/unicode-bom/__tests__/index.js
@@ -1,5 +1,7 @@
'use strict';
+const postcssHtml = require('postcss-html')();
+
const { messages, ruleName } = require('..');
testRule({
@@ -63,9 +65,8 @@ testRule({
});
testRule({
- skip: true,
ruleName,
- syntax: 'html',
+ customSyntax: postcssHtml,
config: ['always'],
skipBasicChecks: true,
@@ -90,9 +91,8 @@ testRule({
});
testRule({
- skip: true,
ruleName,
- syntax: 'html',
+ customSyntax: postcssHtml,
config: ['never'],
skipBasicChecks: true,
diff --git a/package-lock.json b/package-lock.json
index 070797a149..1c911e59bf 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -81,6 +81,7 @@
"lint-staged": "^11.2.4",
"np": "^7.5.0",
"npm-run-all": "^4.1.5",
+ "postcss-html": "^1.2.0",
"postcss-import": "^14.0.2",
"postcss-less": "^5.0.0",
"postcss-sass": "^0.5.0",
@@ -2922,6 +2923,41 @@
"node": ">=6.0.0"
}
},
+ "node_modules/dom-serializer": {
+ "version": "1.3.2",
+ "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.3.2.tgz",
+ "integrity": "sha512-5c54Bk5Dw4qAxNOI1pFEizPSjVsx5+bpJKmL2kPn8JhBUq2q09tTCa3mjijun2NfK78NMouDYNMBkOrPZiS+ig==",
+ "dev": true,
+ "dependencies": {
+ "domelementtype": "^2.0.1",
+ "domhandler": "^4.2.0",
+ "entities": "^2.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1"
+ }
+ },
+ "node_modules/dom-serializer/node_modules/entities": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz",
+ "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==",
+ "dev": true,
+ "funding": {
+ "url": "https://github.com/fb55/entities?sponsor=1"
+ }
+ },
+ "node_modules/domelementtype": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.2.0.tgz",
+ "integrity": "sha512-DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/fb55"
+ }
+ ]
+ },
"node_modules/domexception": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/domexception/-/domexception-2.0.1.tgz",
@@ -2943,6 +2979,35 @@
"node": ">=8"
}
},
+ "node_modules/domhandler": {
+ "version": "4.2.2",
+ "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.2.2.tgz",
+ "integrity": "sha512-PzE9aBMsdZO8TK4BnuJwH0QT41wgMbRzuZrHUcpYncEjmQazq8QEaBWgLG7ZyC/DAZKEgglpIA6j4Qn/HmxS3w==",
+ "dev": true,
+ "dependencies": {
+ "domelementtype": "^2.2.0"
+ },
+ "engines": {
+ "node": ">= 4"
+ },
+ "funding": {
+ "url": "https://github.com/fb55/domhandler?sponsor=1"
+ }
+ },
+ "node_modules/domutils": {
+ "version": "2.8.0",
+ "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz",
+ "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==",
+ "dev": true,
+ "dependencies": {
+ "dom-serializer": "^1.0.1",
+ "domelementtype": "^2.2.0",
+ "domhandler": "^4.2.0"
+ },
+ "funding": {
+ "url": "https://github.com/fb55/domutils?sponsor=1"
+ }
+ },
"node_modules/dot-prop": {
"version": "6.0.1",
"resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-6.0.1.tgz",
@@ -3017,6 +3082,18 @@
"node": ">=8.6"
}
},
+ "node_modules/entities": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/entities/-/entities-3.0.1.tgz",
+ "integrity": "sha512-WiyBqoomrwMdFG1e0kqvASYfnlb0lp8M5o5Fw2OFq1hNZxxcNk8Ik0Xm7LxzBhuidnZB/UtBqVCgUz3kBOP51Q==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.12"
+ },
+ "funding": {
+ "url": "https://github.com/fb55/entities?sponsor=1"
+ }
+ },
"node_modules/error-ex": {
"version": "1.3.2",
"resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz",
@@ -4356,6 +4433,25 @@
"node": ">=8"
}
},
+ "node_modules/htmlparser2": {
+ "version": "7.1.2",
+ "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-7.1.2.tgz",
+ "integrity": "sha512-d6cqsbJba2nRdg8WW2okyD4ceonFHn9jLFxhwlNcLhQWcFPdxXeJulgOLjLKtAK9T6ahd+GQNZwG9fjmGW7lyg==",
+ "dev": true,
+ "funding": [
+ "https://github.com/fb55/htmlparser2?sponsor=1",
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/fb55"
+ }
+ ],
+ "dependencies": {
+ "domelementtype": "^2.0.1",
+ "domhandler": "^4.2.2",
+ "domutils": "^2.8.0",
+ "entities": "^3.0.1"
+ }
+ },
"node_modules/http-cache-semantics": {
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz",
@@ -9280,6 +9376,20 @@
"url": "https://opencollective.com/postcss/"
}
},
+ "node_modules/postcss-html": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/postcss-html/-/postcss-html-1.2.0.tgz",
+ "integrity": "sha512-DEuVLHIf8wwqJtLAVGj0ol00PJFB9byPDZF+p56CAC5ktdlF9lFzLdhqbPxBza/jpBYwn17+fGeqvXxYh+h+CQ==",
+ "dev": true,
+ "dependencies": {
+ "htmlparser2": "^7.1.2",
+ "postcss": "^8.3.11",
+ "postcss-safe-parser": "^6.0.0"
+ },
+ "engines": {
+ "node": "^12 || >=14"
+ }
+ },
"node_modules/postcss-import": {
"version": "14.0.2",
"resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-14.0.2.tgz",
@@ -15221,6 +15331,31 @@
"esutils": "^2.0.2"
}
},
+ "dom-serializer": {
+ "version": "1.3.2",
+ "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.3.2.tgz",
+ "integrity": "sha512-5c54Bk5Dw4qAxNOI1pFEizPSjVsx5+bpJKmL2kPn8JhBUq2q09tTCa3mjijun2NfK78NMouDYNMBkOrPZiS+ig==",
+ "dev": true,
+ "requires": {
+ "domelementtype": "^2.0.1",
+ "domhandler": "^4.2.0",
+ "entities": "^2.0.0"
+ },
+ "dependencies": {
+ "entities": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz",
+ "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==",
+ "dev": true
+ }
+ }
+ },
+ "domelementtype": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.2.0.tgz",
+ "integrity": "sha512-DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A==",
+ "dev": true
+ },
"domexception": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/domexception/-/domexception-2.0.1.tgz",
@@ -15238,6 +15373,26 @@
}
}
},
+ "domhandler": {
+ "version": "4.2.2",
+ "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.2.2.tgz",
+ "integrity": "sha512-PzE9aBMsdZO8TK4BnuJwH0QT41wgMbRzuZrHUcpYncEjmQazq8QEaBWgLG7ZyC/DAZKEgglpIA6j4Qn/HmxS3w==",
+ "dev": true,
+ "requires": {
+ "domelementtype": "^2.2.0"
+ }
+ },
+ "domutils": {
+ "version": "2.8.0",
+ "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz",
+ "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==",
+ "dev": true,
+ "requires": {
+ "dom-serializer": "^1.0.1",
+ "domelementtype": "^2.2.0",
+ "domhandler": "^4.2.0"
+ }
+ },
"dot-prop": {
"version": "6.0.1",
"resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-6.0.1.tgz",
@@ -15294,6 +15449,12 @@
"ansi-colors": "^4.1.1"
}
},
+ "entities": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/entities/-/entities-3.0.1.tgz",
+ "integrity": "sha512-WiyBqoomrwMdFG1e0kqvASYfnlb0lp8M5o5Fw2OFq1hNZxxcNk8Ik0Xm7LxzBhuidnZB/UtBqVCgUz3kBOP51Q==",
+ "dev": true
+ },
"error-ex": {
"version": "1.3.2",
"resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz",
@@ -16274,6 +16435,18 @@
"resolved": "https://registry.npmjs.org/html-tags/-/html-tags-3.1.0.tgz",
"integrity": "sha512-1qYz89hW3lFDEazhjW0yVAV87lw8lVkrJocr72XmBkMKsoSVJCQx3W8BXsC7hO2qAt8BoVjYjtAcZ9perqGnNg=="
},
+ "htmlparser2": {
+ "version": "7.1.2",
+ "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-7.1.2.tgz",
+ "integrity": "sha512-d6cqsbJba2nRdg8WW2okyD4ceonFHn9jLFxhwlNcLhQWcFPdxXeJulgOLjLKtAK9T6ahd+GQNZwG9fjmGW7lyg==",
+ "dev": true,
+ "requires": {
+ "domelementtype": "^2.0.1",
+ "domhandler": "^4.2.2",
+ "domutils": "^2.8.0",
+ "entities": "^3.0.1"
+ }
+ },
"http-cache-semantics": {
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz",
@@ -19832,6 +20005,17 @@
"source-map-js": "^0.6.2"
}
},
+ "postcss-html": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/postcss-html/-/postcss-html-1.2.0.tgz",
+ "integrity": "sha512-DEuVLHIf8wwqJtLAVGj0ol00PJFB9byPDZF+p56CAC5ktdlF9lFzLdhqbPxBza/jpBYwn17+fGeqvXxYh+h+CQ==",
+ "dev": true,
+ "requires": {
+ "htmlparser2": "^7.1.2",
+ "postcss": "^8.3.11",
+ "postcss-safe-parser": "^6.0.0"
+ }
+ },
"postcss-import": {
"version": "14.0.2",
"resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-14.0.2.tgz",
diff --git a/package.json b/package.json
index 612f8f0dba..0814dab8cd 100644
--- a/package.json
+++ b/package.json
@@ -177,6 +177,7 @@
"lint-staged": "^11.2.4",
"np": "^7.5.0",
"npm-run-all": "^4.1.5",
+ "postcss-html": "^1.2.0",
"postcss-import": "^14.0.2",
"postcss-less": "^5.0.0",
"postcss-sass": "^0.5.0",