function jsChanged(prev, next, filename) {
	const prevJs = prev?.code;
	const nextJs = next?.code;
	const isStrictEqual = isCodeEqual(prevJs, nextJs);
	if (isStrictEqual) {
		return false;
	}
	const isLooseEqual = isCodeEqual(normalizeJsCode(prevJs), normalizeJsCode(nextJs));
	if (!isStrictEqual && isLooseEqual) {
		log.debug(
			`ignoring compiler output js change for ${filename} as it is equal to previous output after normalization`,
			undefined,
			'hmr'
		);
	}
	return !isLooseEqual;
}
@param {import('./types/compile.d.ts').Code | null} [prev]
@param {import('./types/compile.d.ts').Code | null} [next]
@param {string} [filename]
@returns {boolean}