async function renderSass({ id, ...opts }) {
	if (!sass) {
		if (process.env.DISABLE_SASS !== 'true') {
			for (const loc of ['sass', 'node-sass']) {
				try {
					log(kl.dim(`Attempting to load compiler from `) + kl.cyan(loc));
					let sassLib = await import(loc);
					sassLib = sassLib.default || sassLib;
					log(kl.dim(`Loaded compiler from `) + kl.green(loc));

					// @ts-ignore
					sass = promisify(sassLib.render.bind(sassLib));
					break;
				} catch (e) {}
			}
		}

		if (!sass) {
			throw new Error(
				`Please install a sass implementation to use sass/scss:\n    npm i -D sass\n  or:\n    npm i -D node-sass`
			);
		}
	}

	const result = await sass(opts);
	log(kl.cyan(id) + kl.dim(' compiled in ') + kl.lightMagenta(`+${result.stats.duration}ms`));

	return {
		css: result.css.toString(),
		map: result.map && result.map.toString(),
		includedFiles: result.stats.includedFiles
	};
}
@param {import('sass').Options & {id:string}} options
@returns {Promise<{ css: string, map?: string, includedFiles: string[] }>}