async getCssAsset(href, style) {
		const outputPath = this.options.path;
		const publicPath = this.options.publicPath;

		// CHECK - the output path
		// path on disk (with output.publicPath removed)
		let normalizedPath = href.replace(/^\//, '');
		const pathPrefix = (publicPath || '').replace(/(^\/|\/$)/g, '') + '/';
		if (normalizedPath.indexOf(pathPrefix) === 0) {
			normalizedPath = normalizedPath
				.substring(pathPrefix.length)
				.replace(/^\//, '');
		}
		const filename = path.resolve(outputPath, normalizedPath);

		// try to find a matching asset by filename in webpack's output (not yet written to disk)
		const relativePath = path
			.relative(outputPath, filename)
			.replace(/^\.\//, '');
		const asset = this.compilation.assets[relativePath]; // compilation.assets[relativePath];

		// Attempt to read from assets, falling back to a disk read
		let sheet = asset && asset.source();

		if (!sheet) {
			try {
				sheet = await this.readFile(this.compilation, filename);
				this.logger.warn(
					`Stylesheet "${relativePath}" not found in assets, but a file was located on disk.${
						this.options.pruneSource
							? ' This means pruneSource will not be applied.'
							: ''
					}`
				);
			} catch (e) {
				this.logger.warn(`Unable to locate stylesheet: ${relativePath}`);
				return;
			}
		}

		style.$$asset = asset;
		style.$$assetName = relativePath;
		// style.$$assets = this.compilation.assets;

		return sheet;
	}
Given href, find the corresponding CSS asset