1
Fork 0

use async/await

This commit is contained in:
Conduitry 2018-06-21 00:03:03 -04:00
parent 04228d62fe
commit 3e0eec103a
1 changed files with 12 additions and 13 deletions

View File

@ -9,24 +9,23 @@ export default function svelteCombiner({
extensions = ['.html', '.svelte'],
} = {}) {
return {
transform: (code, id) => {
transform: async (code, id) => {
const extension = extensions.find(extension => id.endsWith(extension));
if (extension) {
const baseId = id.slice(0, -extension.length);
const jsId = baseId + '.js';
const cssId = baseId + '.css';
return Promise.all([jsId, cssId].map(readText)).then(([js, css]) => {
const dependencies = [];
if (js) {
dependencies.push(jsId);
code += `\n<script>\n${js}\n</script>\n`;
}
if (css) {
dependencies.push(cssId);
code += `\n<style>\n${css}\n</style>\n`;
}
return { code, dependencies };
});
const [js, css] = await Promise.all([jsId, cssId].map(readText));
const dependencies = [];
if (js) {
dependencies.push(jsId);
code += `\n<script>\n${js}\n</script>\n`;
}
if (css) {
dependencies.push(cssId);
code += `\n<style>\n${css}\n</style>\n`;
}
return { code, dependencies };
}
},
};