function mergeAdjacentCss(graph) {
	for (const fileName in graph.bundle) {
		const chunk = graph.bundle[fileName];
		if (chunk.type !== 'chunk') continue;

		const toMerge = unique(
			chunk.referencedFiles.filter(assetFileName => {
				if (!isCssFilename(assetFileName)) return false;
				const chunkInfo = graph.assetToChunkMap.get(assetFileName);
				return chunkInfo && chunkInfo.chunks.length === 1;
			})
		);

		if (toMerge.length < 2) continue;

		if (DEBUG) {
			const p = posix.relative(process.cwd(), chunk.facadeModuleId || chunk.fileName);
			// eslint-disable-next-line no-console
			console.log(`Merging ${toMerge.length} adjacent CSS assets imported by ${p}:\n  ${toMerge.join(', ')}`);
		}

		const base = /** @type {Asset} */ (graph.bundle[toMerge[0]]);
		for (let i = 1; i < toMerge.length; i++) {
			const f = toMerge[i];
			const asset = /** @type {Asset} */ (graph.bundle[f]);
			base.source += '\n' + asset.source;
			chunk.referencedFiles.splice(chunk.referencedFiles.indexOf(f), 1);
			delete graph.bundle[f];
		}

		// Remove all but the first style("url") "import":
		let count = 0;
		graph.replaceCssImport(chunk, toMerge, (url, fn) => {
			graph.getMeta(chunk.fileName).styleLoadFn = fn;
			// replace the first style() with the collapsed bundle ID, omit the rest
			const isFirst = count++ === 0;
			return isFirst && toMerge[0];
		});
	}
}
Merge together CSS assets that are only used by the same parent chunk
@param {ChunkGraph} graph