Reland "Reland "Update stylelint to 14.0.1""

This reverts commit 2b4a9df2d922bb9d183fe2f816da40dda2e87790.

Reason for revert: subsequent presubmit uploads should be fixed now.

Original change's description:
> Revert "Reland "Update stylelint to 14.0.1""
>
> This reverts commit f2ea2c940dd62b3295047e03959c89c237e216c8.
>
> Reason for revert: https://ci.chromium.org/ui/p/devtools-frontend/builders/try/dtf_presubmit_linux/b8831129368825517985/overview
>
> Original change's description:
> > Reland "Update stylelint to 14.0.1"
> >
> > This reverts commit 6c0f161c95acd70706aeed4e1167ab1c28f88eee.
> >
> > Reason for revert: the prerequisite CL (https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/3259703) has landed
> >
> > Original change's description:
> > > Revert "Update stylelint to 14.0.1"
> > >
> > > This reverts commit 1e08ee816bab192a7d295d2f457be97bd88c09c1.
> > >
> > > Reason for revert: tree is closed due to errors https://ci.chromium.org/ui/p/devtools-frontend/builders/ci/Stand-alone%20Linux/8169/overview
> > >
> > > Original change's description:
> > > > Update stylelint to 14.0.1
> > > >
> > > > This also upgrades PostCSS to 8.3.11.
> > > >
> > > > DISABLE_THIRD_PARTY_CHECK=Updating Stylelint configuration
> > > > R=​szuend@chromium.org
> > > >
> > > > Bug: none
> > > > Change-Id: I606540b03509d7c6e73f3d490327cd4174e03d31
> > > > Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/3259541
> > > > Reviewed-by: Simon Zünd <szuend@chromium.org>
> > > > Commit-Queue: Tim van der Lippe <tvanderlippe@chromium.org>
> > >
> > > Bug: none
> > > Change-Id: Icb1c02b41dbccc3b4fc5760f5dd0b78eca078b61
> > > No-Presubmit: true
> > > No-Tree-Checks: true
> > > No-Try: true
> > > Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/3263399
> > > Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
> > > Owners-Override: Alex Rudenko <alexrudenko@chromium.org>
> > > Commit-Queue: Alex Rudenko <alexrudenko@chromium.org>
> >
> > DISABLE_THIRD_PARTY_CHECK=Updating Stylelint configuration
> >
> > Bug: none
> > Change-Id: If132a67ee4253d27114caedd66c5ee61c774a6c7
> > Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/3264206
> > Commit-Queue: Tim van der Lippe <tvanderlippe@chromium.org>
> > Reviewed-by: Simon Zünd <szuend@chromium.org>
> > Reviewed-by: Alex Rudenko <alexrudenko@chromium.org>
>
> Bug: none
> Change-Id: Idc6c9f5cc1e225c752799461eb0344e94b4ad1e5
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/3264222
> Auto-Submit: Tim van der Lippe <tvanderlippe@chromium.org>
> Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>

DISABLE_THIRD_PARTY_CHECK=Updating Stylelint configuration

Bug: none
Change-Id: I609941d48b46bfcf454b03dcc75a76d460fbe674
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/3264223
Reviewed-by: Jack Franklin <jacktfranklin@chromium.org>
Commit-Queue: Tim van der Lippe <tvanderlippe@chromium.org>
diff --git a/node_modules/stylelint/lib/lintSource.js b/node_modules/stylelint/lib/lintSource.js
index ce2bd87..7682d52 100644
--- a/node_modules/stylelint/lib/lintSource.js
+++ b/node_modules/stylelint/lib/lintSource.js
@@ -1,9 +1,10 @@
 'use strict';
 
+const isPathNotFoundError = require('./utils/isPathNotFoundError');
 const lintPostcssResult = require('./lintPostcssResult');
 const path = require('path');
 
-/** @typedef {import('stylelint').StylelintInternalApi} StylelintInternalApi */
+/** @typedef {import('stylelint').InternalApi} StylelintInternalApi */
 /** @typedef {import('stylelint').GetLintSourceOptions} Options */
 /** @typedef {import('postcss').Result} Result */
 /** @typedef {import('stylelint').PostcssResult} PostcssResult */
@@ -16,7 +17,7 @@
  * @param {Options} options
  * @returns {Promise<PostcssResult>}
  */
-module.exports = function lintSource(stylelint, options = {}) {
+module.exports = async function lintSource(stylelint, options = {}) {
 	if (!options.filePath && options.code === undefined && !options.existingPostcssResult) {
 		return Promise.reject(new Error('You must provide filePath, code, or existingPostcssResult'));
 	}
@@ -33,72 +34,60 @@
 		return Promise.reject(new Error('filePath must be an absolute path'));
 	}
 
-	const getIsIgnored = stylelint.isPathIgnored(inputFilePath).catch((err) => {
-		if (isCodeNotFile && err.code === 'ENOENT') return false;
+	const isIgnored = await stylelint.isPathIgnored(inputFilePath).catch((err) => {
+		if (isCodeNotFile && isPathNotFoundError(err)) return false;
 
 		throw err;
 	});
 
-	return getIsIgnored.then((isIgnored) => {
-		if (isIgnored) {
-			/** @type {PostcssResult} */
+	if (isIgnored) {
+		return options.existingPostcssResult
+			? Object.assign(options.existingPostcssResult, {
+					stylelint: createEmptyStylelintPostcssResult(),
+			  })
+			: createEmptyPostcssResult(inputFilePath);
+	}
 
-			return options.existingPostcssResult
-				? Object.assign(options.existingPostcssResult, {
-						stylelint: createEmptyStylelintPostcssResult(),
-				  })
-				: createEmptyPostcssResult(inputFilePath);
-		}
+	const configSearchPath = stylelint._options.configFile || inputFilePath;
 
-		const configSearchPath = stylelint._options.configFile || inputFilePath;
-
-		const getConfig = stylelint.getConfigForFile(configSearchPath).catch((err) => {
-			if (isCodeNotFile && err.code === 'ENOENT') return stylelint.getConfigForFile(process.cwd());
+	const configForFile = await stylelint
+		.getConfigForFile(configSearchPath, inputFilePath)
+		.catch((err) => {
+			if (isCodeNotFile && isPathNotFoundError(err))
+				return stylelint.getConfigForFile(process.cwd());
 
 			throw err;
 		});
 
-		return getConfig.then((result) => {
-			if (!result) {
-				throw new Error('Config file not found');
-			}
+	if (!configForFile) {
+		return Promise.reject(new Error('Config file not found'));
+	}
 
-			const config = result.config;
-			const existingPostcssResult = options.existingPostcssResult;
-			const stylelintResult = {
-				ruleSeverities: {},
-				customMessages: {},
-				disabledRanges: {},
-			};
+	const config = configForFile.config;
+	const existingPostcssResult = options.existingPostcssResult;
+	const stylelintResult = {
+		ruleSeverities: {},
+		customMessages: {},
+		disabledRanges: {},
+	};
 
-			if (existingPostcssResult) {
-				const stylelintPostcssResult = Object.assign(existingPostcssResult, {
-					stylelint: stylelintResult,
-				});
+	const postcssResult =
+		existingPostcssResult ||
+		(await stylelint._getPostcssResult({
+			code: options.code,
+			codeFilename: options.codeFilename,
+			filePath: inputFilePath,
+			codeProcessors: config.codeProcessors,
+			customSyntax: config.customSyntax,
+		}));
 
-				return lintPostcssResult(stylelint._options, stylelintPostcssResult, config).then(
-					() => stylelintPostcssResult,
-				);
-			}
-
-			return stylelint
-				._getPostcssResult({
-					code: options.code,
-					codeFilename: options.codeFilename,
-					filePath: inputFilePath,
-					codeProcessors: config.codeProcessors,
-				})
-				.then((postcssResult) => {
-					const stylelintPostcssResult = Object.assign(postcssResult, {
-						stylelint: stylelintResult,
-					});
-
-					return lintPostcssResult(stylelint._options, stylelintPostcssResult, config).then(
-						() => stylelintPostcssResult,
-					);
-				});
-		});
+	const stylelintPostcssResult = Object.assign(postcssResult, {
+		stylelint: stylelintResult,
 	});
+
+	await lintPostcssResult(stylelint._options, stylelintPostcssResult, config);
+
+	return stylelintPostcssResult;
 };
 
 /**