templates/vitekit/__/vite-bem-template-main/.create-mixins.js
2026-04-12 21:03:18 +03:00

32 lines
1.2 KiB
JavaScript

import path from 'node:path'
import fs from 'node:fs'
const doNotEditMessage = '//- ВНИМАНИЕ! Этот файл генерируется автоматически.\n//- Любые изменения будут потеряны при следующей компиляции.\n\n'
const source = path.join(process.cwd(), 'src', 'blocks')
function findPugFiles(dir, fileList = []) {
const files = fs.readdirSync(dir)
files.forEach(file => {
const filePath = path.join(dir, file)
const stat = fs.statSync(filePath)
if (stat.isDirectory()) {
findPugFiles(filePath, fileList)
} else if (path.extname(file) === '.pug') {
const fileName = path.basename(filePath)
if (fileName !== 'mixins.pug' && fileName !== 'header.pug' && fileName !== 'footer.pug') {
const relativePath = path.relative(source, filePath)
fileList.push(relativePath)
fileList.sort()
const mixinsList = fileList.map(blockName => `include ${blockName}`).join('\n')
const content = `${doNotEditMessage}${mixinsList}\n`
fs.writeFileSync(path.join(source, 'mixins.pug'), content)
}
}
})
return fileList
}
findPugFiles(source)