Commit 78426777 authored by Nikolay Gromov's avatar Nikolay Gromov

Вынес настройки проекта в отдельный файл

parent eeb07dc2
...@@ -22,10 +22,10 @@ const size = require('gulp-size'); ...@@ -22,10 +22,10 @@ const size = require('gulp-size');
const del = require('del'); const del = require('del');
const newer = require('gulp-newer'); const newer = require('gulp-newer');
// Получим настройки проекта из package.json // Получим настройки проекта из projectConfig.json
let pjson = require('./package.json'); let projectConfig = require('./projectConfig.json');
let dirs = pjson.configProject.dirs; let dirs = projectConfig.dirs;
let lists = getFilesList(pjson.configProject); let lists = getFilesList(projectConfig);
// console.log(lists); // console.log(lists);
// Запишем стилевой файл диспетчер подключений // Запишем стилевой файл диспетчер подключений
...@@ -93,12 +93,12 @@ gulp.task('style', function () { ...@@ -93,12 +93,12 @@ gulp.task('style', function () {
// Компиляция отдельных файлов // Компиляция отдельных файлов
gulp.task('style:single', function () { gulp.task('style:single', function () {
if(pjson.configProject.singleCompiled.length) { if(projectConfig.singleCompiled.length) {
const sass = require('gulp-sass'); const sass = require('gulp-sass');
const sourcemaps = require('gulp-sourcemaps'); const sourcemaps = require('gulp-sourcemaps');
const wait = require('gulp-wait'); const wait = require('gulp-wait');
console.log('---------- Компиляция добавочных стилей'); console.log('---------- Компиляция добавочных стилей');
return gulp.src(pjson.configProject.singleCompiled) return gulp.src(projectConfig.singleCompiled)
.pipe(plumber({ .pipe(plumber({
errorHandler: function(err) { errorHandler: function(err) {
notify.onError({ notify.onError({
...@@ -127,8 +127,8 @@ gulp.task('style:single', function () { ...@@ -127,8 +127,8 @@ gulp.task('style:single', function () {
// Копирование добавочных CSS, которые хочется иметь отдельными файлами // Копирование добавочных CSS, которые хочется иметь отдельными файлами
gulp.task('copy:css', function(callback) { gulp.task('copy:css', function(callback) {
if(pjson.configProject.copiedCss.length) { if(projectConfig.copiedCss.length) {
return gulp.src(pjson.configProject.copiedCss) return gulp.src(projectConfig.copiedCss)
.pipe(postcss(postCssPlugins)) .pipe(postcss(postCssPlugins))
.pipe(cleanss()) .pipe(cleanss())
.pipe(size({ .pipe(size({
...@@ -159,8 +159,8 @@ gulp.task('copy:img', function () { ...@@ -159,8 +159,8 @@ gulp.task('copy:img', function () {
// Копирование JS // Копирование JS
gulp.task('copy:js', function (callback) { gulp.task('copy:js', function (callback) {
if(pjson.configProject.copiedJs.length) { if(projectConfig.copiedJs.length) {
return gulp.src(pjson.configProject.copiedJs) return gulp.src(projectConfig.copiedJs)
.pipe(size({ .pipe(size({
title: 'Размер', title: 'Размер',
showFiles: true, showFiles: true,
...@@ -189,7 +189,7 @@ gulp.task('copy:fonts', function () { ...@@ -189,7 +189,7 @@ gulp.task('copy:fonts', function () {
// Сборка SVG-спрайта для блока sprite-svg // Сборка SVG-спрайта для блока sprite-svg
let spriteSvgPath = dirs.srcPath + dirs.blocksDirName + '/sprite-svg/svg/'; let spriteSvgPath = dirs.srcPath + dirs.blocksDirName + '/sprite-svg/svg/';
gulp.task('sprite:svg', function (callback) { gulp.task('sprite:svg', function (callback) {
if((pjson.configProject.blocks['sprite-svg']) !== undefined) { if((projectConfig.blocks['sprite-svg']) !== undefined) {
const svgstore = require('gulp-svgstore'); const svgstore = require('gulp-svgstore');
const svgmin = require('gulp-svgmin'); const svgmin = require('gulp-svgmin');
const cheerio = require('gulp-cheerio'); const cheerio = require('gulp-cheerio');
...@@ -231,7 +231,7 @@ gulp.task('sprite:svg', function (callback) { ...@@ -231,7 +231,7 @@ gulp.task('sprite:svg', function (callback) {
// Сборка SVG-спрайта для блока sprite-png // Сборка SVG-спрайта для блока sprite-png
let spritePngPath = dirs.srcPath + dirs.blocksDirName + '/sprite-png/png/'; let spritePngPath = dirs.srcPath + dirs.blocksDirName + '/sprite-png/png/';
gulp.task('sprite:png', function (callback) { gulp.task('sprite:png', function (callback) {
if((pjson.configProject.blocks['sprite-png']) !== undefined) { if((projectConfig.blocks['sprite-png']) !== undefined) {
const spritesmith = require('gulp.spritesmith'); const spritesmith = require('gulp.spritesmith');
const buffer = require('vinyl-buffer'); const buffer = require('vinyl-buffer');
const merge = require('merge-stream'); const merge = require('merge-stream');
...@@ -379,22 +379,22 @@ gulp.task('serve', ['build'], function() { ...@@ -379,22 +379,22 @@ gulp.task('serve', ['build'], function() {
gulp.watch([ gulp.watch([
dirs.srcPath + 'scss/style.scss', dirs.srcPath + 'scss/style.scss',
dirs.srcPath + dirs.blocksDirName + '/**/*.scss', dirs.srcPath + dirs.blocksDirName + '/**/*.scss',
pjson.configProject.addCssBefore, projectConfig.addCssBefore,
pjson.configProject.addCssAfter, projectConfig.addCssAfter,
], ['style']); ], ['style']);
// Слежение за отдельными стилями // Слежение за отдельными стилями
gulp.watch(pjson.configProject.singleCompiled, ['style:single',]); gulp.watch(projectConfig.singleCompiled, ['style:single',]);
// Слежение за добавочными стилями // Слежение за добавочными стилями
if(pjson.configProject.copiedCss.length) { if(projectConfig.copiedCss.length) {
gulp.watch(pjson.configProject.copiedCss, ['copy:css']); gulp.watch(projectConfig.copiedCss, ['copy:css']);
} }
// Слежение за изображениями // Слежение за изображениями
if(lists.img.length) { if(lists.img.length) {
gulp.watch(lists.img, ['watch:img']); gulp.watch(lists.img, ['watch:img']);
} }
// Слежение за добавочными JS // Слежение за добавочными JS
if(pjson.configProject.copiedJs.length) { if(projectConfig.copiedJs.length) {
gulp.watch(pjson.configProject.copiedJs, ['watch:copied:js']); gulp.watch(projectConfig.copiedJs, ['watch:copied:js']);
} }
// Слежение за шрифтами // Слежение за шрифтами
gulp.watch('/fonts/*.{ttf,woff,woff2,eot,svg}', {cwd: dirs.srcPath}, ['watch:fonts']); gulp.watch('/fonts/*.{ttf,woff,woff2,eot,svg}', {cwd: dirs.srcPath}, ['watch:fonts']);
...@@ -409,11 +409,11 @@ gulp.task('serve', ['build'], function() { ...@@ -409,11 +409,11 @@ gulp.task('serve', ['build'], function() {
gulp.watch(lists.js, ['watch:js']); gulp.watch(lists.js, ['watch:js']);
} }
// Слежение за SVG (спрайты) // Слежение за SVG (спрайты)
if((pjson.configProject.blocks['sprite-svg']) !== undefined) { if((projectConfig.blocks['sprite-svg']) !== undefined) {
gulp.watch('*.svg', {cwd: spriteSvgPath}, ['watch:sprite:svg']); // следит за новыми и удаляемыми файлами gulp.watch('*.svg', {cwd: spriteSvgPath}, ['watch:sprite:svg']); // следит за новыми и удаляемыми файлами
} }
// Слежение за PNG (спрайты) // Слежение за PNG (спрайты)
if((pjson.configProject.blocks['sprite-png']) !== undefined) { if((projectConfig.blocks['sprite-png']) !== undefined) {
gulp.watch('*.png', {cwd: spritePngPath}, ['watch:sprite:png']); // следит за новыми и удаляемыми файлами gulp.watch('*.png', {cwd: spritePngPath}, ['watch:sprite:png']); // следит за новыми и удаляемыми файлами
} }
}); });
......
...@@ -8,81 +8,6 @@ ...@@ -8,81 +8,6 @@
"type": "git", "type": "git",
"url": "https://github.com/nicothin/NTH-start-project.git" "url": "https://github.com/nicothin/NTH-start-project.git"
}, },
"configProject": {
"blocks": {
"page": [],
"is-mobile": [],
"typo": [],
"sprite-svg": [],
"sprite-png": [
"__demo"
],
"page-header": [],
"page-footer": [],
"main-nav": [],
"logo": [],
"code": [],
"thumb": [],
"alert": [],
"btn": [],
"to-top": [],
"field-text": [
"--error"
],
"field-checkbox": [
"__input-wrap--error"
],
"field-radio": [
"__input-wrap--error"
],
"field-toggler": [],
"field-file": [
"--error"
],
"field-range": [],
"field-select": [
"--error"
],
"field-actions": [],
"form": [],
"dropdown": [],
"menu": [],
"label": [],
"loader": [],
"table": [],
"table-responsive": [],
"table-mobile-scroll": []
},
"addCssBefore": [
"./src/scss/variables.scss",
"./src/scss/mixins.scss"
],
"addCssAfter": [
"./src/scss/print.scss"
],
"singleCompiled": [
"./src/scss/blocks-library.scss"
],
"addJsBefore": [
"./node_modules/jquery/dist/jquery.min.js",
"./node_modules/jquery-migrate/dist/jquery-migrate.min.js",
"./node_modules/svg4everybody/dist/svg4everybody.js",
"./node_modules/ismobilejs/isMobile.min.js"
],
"addJsAfter": [
"./src/js/global-script.js"
],
"addImages": [
"./src/img/*.{jpg,jpeg,gif,png,svg,ico}"
],
"copiedCss": [],
"copiedJs": [],
"dirs": {
"srcPath": "./src/",
"buildPath": "./build/",
"blocksDirName": "blocks"
}
},
"scripts": { "scripts": {
"test:style": "stylelint \"src/**/*.scss\" --syntax=scss", "test:style": "stylelint \"src/**/*.scss\" --syntax=scss",
"test:orpho": "yaspeller -e \".md,.html\" ./src/", "test:orpho": "yaspeller -e \".md,.html\" ./src/",
......
{
"blocks": {
"page": [],
"is-mobile": [],
"typo": [],
"sprite-svg": [],
"sprite-png": [
"__demo"
],
"page-header": [],
"page-footer": [],
"main-nav": [],
"logo": [],
"code": [],
"thumb": [],
"alert": [],
"btn": [],
"to-top": [],
"field-text": [
"--error"
],
"field-checkbox": [
"__input-wrap--error"
],
"field-radio": [
"__input-wrap--error"
],
"field-toggler": [],
"field-file": [
"--error"
],
"field-range": [],
"field-select": [
"--error"
],
"field-actions": [],
"form": [],
"dropdown": [],
"menu": [],
"label": [],
"loader": [],
"table": [],
"table-responsive": [],
"table-mobile-scroll": []
},
"addCssBefore": [
"./src/scss/variables.scss",
"./src/scss/mixins.scss"
],
"addCssAfter": [
"./src/scss/print.scss"
],
"singleCompiled": [
"./src/scss/blocks-library.scss"
],
"addJsBefore": [
"./node_modules/jquery/dist/jquery.min.js",
"./node_modules/jquery-migrate/dist/jquery-migrate.min.js",
"./node_modules/svg4everybody/dist/svg4everybody.js",
"./node_modules/ismobilejs/isMobile.min.js"
],
"addJsAfter": [
"./src/js/global-script.js"
],
"addImages": [
"./src/img/*.{jpg,jpeg,gif,png,svg,ico}"
],
"copiedCss": [],
"copiedJs": [],
"dirs": {
"srcPath": "./src/",
"buildPath": "./build/",
"blocksDirName": "blocks"
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment