rspack_plugin_css 0.101.4

rspack css plugin
Documentation
var cssOldTags = [];
var cssNewTags = [];
var cssApplyHandler = <%- basicFunction("options") %> {
	return {
		dispose: <%- basicFunction("") %> { },
		apply: <%- basicFunction("") %> {
			cssNewTags.forEach(<%- basicFunction("newTag") %> {
				newTag.sheet.disabled = false;
			});
			while (cssOldTags.length) {
				var oldTag = cssOldTags.pop();
				if (oldTag.parentNode) oldTag.parentNode.removeChild(oldTag);
			}
			while (cssNewTags.length) {
				cssNewTags.pop();
			}
		}
	};
};
var cssTextKeyOfLink = <%- basicFunction("link") %> {
	return Array.from(link.sheet.cssRules, <%- returningFunction("r.cssText", "r") %>).join();
};
<%- HMR_DOWNLOAD_UPDATE_HANDLERS %>.css = <%- basicFunction("chunkIds, removedChunks, removedModules, promises, applyHandlers, updatedModulesList") %> {
	if (typeof document === 'undefined') return;
	applyHandlers.push(cssApplyHandler);
	var seen = {};
	chunkIds.forEach(<%- basicFunction("chunkId") %> {
		var filename = <%- GET_CHUNK_CSS_FILENAME %>(chunkId);
		if (!filename) return;
		var url = <%- PUBLIC_PATH %> + filename;
		if (seen[url]) {
			return;
		}
		seen[url] = true;
		var oldTag = cssLoadStylesheet(chunkId, url);
		if (!oldTag) return;
		promises.push(
			new Promise(<%- basicFunction("resolve, reject") %> {
				var link = cssLoadStylesheet(
					chunkId,
					url + (url.indexOf("?") < 0 ? "?" : "&") + "hmr=" + Date.now(),
					<%- basicFunction("event") %> {
						if (event.type !== "load") {
							var error = new Error();
							var errorType = event && event.type;
							var realSrc = event && event.target && event.target.src;
							error.message =
								"Loading css hot update chunk " +
								chunkId +
								" failed.\n(" +
								errorType +
								": " +
								realSrc +
								")";
							error.name = "ChunkLoadError";
							error.type = errorType;
							error.request = realSrc;
							reject(error);
						} else {
							try {
								if (cssTextKeyOfLink(oldTag) == cssTextKeyOfLink(link)) {
									if (link.parentNode) link.parentNode.removeChild(link);
									return resolve();
								}
							} catch (e) {}
							cssOldTags.push(oldTag);
							cssNewTags.push(link);
							link.sheet.disabled = true;
							resolve();
						}
					},
					oldTag
				);
			})
		);
	});
};