Skip to content

Commit

Permalink
v0.2.0
Browse files Browse the repository at this point in the history
  • Loading branch information
tenorok committed Apr 29, 2015
2 parents eab1cb9 + 6153df2 commit 8e66514
Show file tree
Hide file tree
Showing 3 changed files with 51 additions and 68 deletions.
57 changes: 15 additions & 42 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,31 +26,6 @@ grunt.loadNpmTasks('grunt-bemaker');

### Опции

#### Опция `verbose`

Тип: `string[]`

В процессе сборки выводятся различные типы сообщений.

По умолчанию выводятся все типы сообщений.
Опция `verbose` позволяет настроить вывод только некоторых типов.

Выводимые сообщения делятся на следующие типы:

1. `log` — информация о процессе сборки (синим цветом)
2. `info` — сообщение о результате сборки (зелёным)
3. `warn` — предупреждения (жёлтым)
4. `error` — ошибки (красным)

Следующий пример будет выводить только предупреждения и ошибки:

```js
{
verbose: ['warn', 'error']
}
```


#### Опция `directories`

Тип: `string[]`
Expand Down Expand Up @@ -167,42 +142,40 @@ _Обязательный_
}
```

#### Опция `before`
#### Опции `before` и `after`

Тип: `boolean`
Тип: `boolean|Function`

Опция отменяет установку комментария перед содержимым каждого файла.
Опции отменяют или изменяют комментарий перед и после содержимого каждого файла.

По умолчанию в собранном файле перед содержимым каждого файла устанавливается такого вида комментарий:

```css
/* before: blocks/button/button.css */
```

Следующий пример отменяет установку комментария:
Следующий пример отменяет установку этого комментария:

```js
{
before: false
}
```

#### Опция `after`

Тип: `boolean`

Опция отменяет установку комментария после содержимого каждого файла.

По умолчанию в собранном файле после содержимого каждого файла устанавливается такого вида комментарий:

```css
/* after: blocks/button/button.css */
```
Для изменения комментария можно указать функцию, которая должна возвращать строку
и принимает следующие параметры:
- {string} `absPath` Абсолютный путь до файла
- {string} `relPath` Относительный путь до файла
- {string} `extname` Полное расширение файла (например для `file.ie.css` будет `.ie.css`)
- {number} `index` Индекс файла
- {number} `length` Количество файлов

Следующий пример отменяет установку комментария:
Пример изменения комментария:

```js
{
after: false
before: function(absPath, relPath, extname, index, length) {
return '/* custom before: ' + absPath + ' */\n';
}
}
```
4 changes: 2 additions & 2 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "grunt-bemaker",
"description": "Plugin to build BEM project",
"version": "0.1.1",
"version": "0.2.0",
"repository": {
"type": "git",
"url": "https://github.com/tenorok/grunt-bemaker.git"
Expand All @@ -13,7 +13,7 @@
},
"license": "MIT",
"dependencies": {
"bemaker": "~0.1.3",
"bemaker": "~0.2.0",
"moment": "~2.7.0"
}
}
58 changes: 34 additions & 24 deletions tasks/bemaker.js
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,7 @@ module.exports = function(grunt) {
data = this.data,

cli = new Cli(),
timeStart = moment(),
verbose;
timeStart = moment();

cli.verboseAliases = {
log: { log: console.log },
Expand All @@ -24,13 +23,7 @@ module.exports = function(grunt) {
error: { error: console.error }
};

if(data.verbose) {
verbose = cli.resolveVerboseAliases(data.verbose.toString());
}

var log = new Log(verbose);

log.info({ text: 'build started' });
var log = new Log({});

var make = new Make({
directories: Cli.resolveAbsolutePath(data.directories || []),
Expand All @@ -46,55 +39,72 @@ module.exports = function(grunt) {

make
.on('level', function(data) {
log.log({
grunt.verbose.writeln(log.log({
operation: 'walk',
path: data.path,
description: 'directory'
});
}));
})
.on('block', function(data) {
log.log({
grunt.verbose.writeln(log.log({
operation: 'walk',
text: data.name,
description: 'block'
});
}));
})
.on('file', function(data) {
log.log({
grunt.verbose.writeln(log.log({
operation: 'walk',
path: data.path,
description: 'file'
});
}));
})
.on('depend', function(data) {
log.log({
grunt.verbose.writeln(log.log({
operation: 'read',
path: data.path,
description: 'dependencies'
});
}));
})
.on('filter', function(data) {
log.log({
grunt.verbose.writeln(log.log({
operation: 'filter',
text: data.block
});
}));
})
.on('extension', function(data) {
log.log({
grunt.verbose.writeln(log.log({
operation: 'group',
text: data.name,
description: 'extension'
});
}));
})
.on('save', function(data) {
log.info({
grunt.log.writeln(log.info({
operation: 'write',
path: data.path
});
}));
})
.on('loop', function(branch) {
grunt.log.writeln(log.warn({
operation: 'loop',
text: branch.join(' → ')
}));
})
.on('unexist', function(data) {
var blocks = [];
if(data.name) {
blocks.push(data.name);
}
blocks.push(data.require);
grunt.log.writeln(log.warn({
operation: 'unexist',
text: blocks.join(' → ')
}));
});

make.build().then(function() {
log.info({ text: 'build finished', total: moment() - timeStart });
grunt.log.writeln(log.info({ text: 'total time', total: moment() - timeStart }));
done();
});
});
Expand Down

0 comments on commit 8e66514

Please sign in to comment.