import fs from 'node:fs/promises'; import path from 'node:path'; import postcss from 'postcss'; import postcssImport from 'postcss-import'; import postcssImportExtGlob from 'postcss-import-ext-glob'; import cssnano from 'cssnano'; export const cssConfig = (eleventyConfig) => { eleventyConfig.addTemplateFormats('css'); eleventyConfig.addExtension('css', { outputFileExtension: 'css', compile: async (inputContent, inputPath) => { const outputPath = 'dist/assets/css/index.css'; if (inputPath.endsWith('index.css')) { return async () => { let result = await postcss([postcssImportExtGlob, postcssImport, cssnano]).process( inputContent, { from: inputPath } ); await fs.mkdir(path.dirname(outputPath), { recursive: true }); await fs.writeFile(outputPath, result.css); return result.css; }; } } }); };