1
Fork 0

rewrite in node.js 6-compatible commonjs

This commit is contained in:
Conduitry 2018-11-13 08:39:24 -05:00
parent 698d6b450f
commit d1dd4409de
3 changed files with 26 additions and 35 deletions

View File

@ -1,3 +0,0 @@
useTabs: true
singleQuote: true
trailingComma: es5

26
index.js Normal file
View File

@ -0,0 +1,26 @@
const fs = require('fs');
const readText = filename => new Promise(res => fs.readFile(filename, (err, data) => (err ? res(null) : res(data.toString()))));
module.exports = ({ extensions = ['.html', '.svelte'] } = {}) => ({
transform: (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 };
});
}
},
});

View File

@ -1,32 +0,0 @@
import { readFile } from 'fs';
const readText = filename =>
new Promise(res =>
readFile(filename, (err, data) => (err ? res(null) : res(data.toString())))
);
export default function svelteCombiner({
extensions = ['.html', '.svelte'],
} = {}) {
return {
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';
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 };
}
},
};
}