constblockName=process.argv[2];// получим имя блока
constdefaultExtensions=['scss','html','img'];// расширения по умолчанию
constextensions=uniqueArray(defaultExtensions.concat(process.argv.slice(3)));// добавим введенные при вызове расширения (если есть)
// Если есть имя блока
if(blockName){
constdirPath=`${dirs.srcPath+dirs.blocksDirName}/${blockName}/`;// полный путь к создаваемой папке блока
...
...
@@ -134,101 +109,6 @@ function uniqueArray(arr) {
returnObject.keys(objectTemp);
}
// Проверка существования файла
functionfileExist(path){
constfs=require('fs');
try{
fs.statSync(path);
}catch(err){
return!(err&&err.code==='ENOENT');
}
}
else{
console.log(`[NTH] Создание папки ${dirPath} (если отсутствует)`);
// Обходим массив расширений и создаем файлы, если они еще не созданы
extensions.forEach((extention)=>{
constfilePath=`${dirPath+blockName}.${extention}`;// полный путь к создаваемому файлу
letfileContent='';// будущий контент файла
letfileCreateMsg='';// будущее сообщение в консоли при создании файла
// Если это SCSS
if(extention==='scss'){
fileContent=`// В этом файле должны быть стили для БЭМ-блока ${blockName}, его элементов, \n// модификаторов, псевдоселекторов, псевдоэлементов, @media-условий...\n// Очередность: http://nicothin.github.io/idiomatic-pre-CSS/#priority\n\n.${blockName} {\n\n $block-name: &;\n // #{$block-name}__element {}\n}\n`;
fileCreateMsg='[NTH] Подключение блока добавлено в projectConfig.json';
}
}
// Если это HTML
elseif(extention==='html'){
fileContent=`<!--DEV\n\nДля использования этого файла как шаблона:\n\n@ @include('blocks/${blockName}/${blockName}.html')\n\n(Нужно убрать пробел между символами @)\nПодробнее: https://www.npmjs.com/package/gulp-file-include\n\n-->\n\n<div class="${blockName}">content</div>\n`;