hypnagaga_old/config/template-languages/js-config.js
2024-01-30 18:33:58 +01:00

37 lines
882 B
JavaScript

const esbuild = require('esbuild');
module.exports = eleventyConfig => {
eleventyConfig.addTemplateFormats('js');
eleventyConfig.addExtension('js', {
outputFileExtension: 'js',
compile: async (content, path) => {
if (!path.startsWith('./src/assets/scripts/')) {
return;
}
if (path === './src/assets/scripts/theme-toggle.js') {
await esbuild.build({
target: 'es2020',
entryPoints: [path],
outfile: './src/_includes/theme-toggle-inline.js',
bundle: true,
minify: true
});
return;
}
return async () => {
let output = await esbuild.build({
target: 'es2020',
entryPoints: [path],
minify: true,
bundle: true,
write: false
});
return output.outputFiles[0].text;
};
}
});
};