const fs = require('fs') const postcss = require('postcss') const postcssImportExtGlob = require('postcss-import-ext-glob') const postcssImport = require('postcss-import') const postcssPresetEnv = require('postcss-preset-env') const cssnano = require('cssnano') const esbuild = require('esbuild') const automaticNoopener = require('eleventy-plugin-automatic-noopener') module.exports = function (eleventyConfig) { eleventyConfig.on('eleventy.before', async () => { const cssSrc = './src/style/style.css' const cssDest = './dist/style.css' fs.readFile(cssSrc, (err, css) => { // noinspection JSCheckFunctionSignatures postcss([ postcssImportExtGlob, postcssImport, postcssPresetEnv, cssnano ]) .process(css, {from: cssSrc, to: cssDest}) .then(res => { fs.writeFile(cssDest, res.css, () => true) }) }) // await esbuild.build({ // entryPoints: ['src/js/main.js'], // bundle: true, // minify: true, // target: 'es2020', // outfile: 'dist/main.js', // }) // .then(() => console.log('🧳 esbuild done')) // .catch(() => process.exit(1)) }) eleventyConfig.addWatchTarget('./src/style/') eleventyConfig.addWatchTarget('./src/js/') eleventyConfig.addPlugin(automaticNoopener, { noreferrer: true, }) // eleventyConfig.addPassthroughCopy('./src/dl/') return {dir: {input: 'src', output: 'dist'}} }