Skip to content

Commit

Permalink
Merge pull request #62 from enb-bem/issue-60
Browse files Browse the repository at this point in the history
Remove bemxjst-*, xjst-* and bh-* i18n techs to separate packages
  • Loading branch information
blond committed Aug 3, 2015
2 parents 40a8c27 + f81aad9 commit adc0f85
Show file tree
Hide file tree
Showing 20 changed files with 1 addition and 2,672 deletions.
3 changes: 1 addition & 2 deletions .jscs.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,7 @@ module.exports = {
'node_modules',
'exlib',
'coverage',
'test/fixtures/*',
'test/exlib'
'test/fixtures/*'
],
requireSpaceAfterKeywords: ['if', 'else', 'for', 'while', 'do', 'switch', 'return', 'try', 'catch'],
requireSpaceBeforeBlockStatements: true,
Expand Down
1 change: 0 additions & 1 deletion .jshintignore
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,3 @@ node_modules
exlib
coverage
test/fixtures
test/exlib
86 changes: 0 additions & 86 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,8 +25,6 @@ npm install --save-dev enb-bem-i18n
* [i18n-js](#i18n-js)
* [keysets](#keysets)
* [keysets-xml](#keysets-xml)
* [bh-bundle-i18n](#bh-bundle-i18n)
* [bemhtml-i18n](#bemhtml-i18n)

### i18n-js

Expand Down Expand Up @@ -83,90 +81,6 @@ nodeConfig.addTechs([
nodeConfig.addTech(require('enb-bem-i18n/techs/keysets-xml'));
```

### bh-bundle-i18n

Собирает *BH*-файлы по deps'ам в виде `?.bh.js` бандла на основе `?.keysets.<язык>.js`-файла.

Предназначен для сборки как клиентского, так и серверного BH-кода. Предполагается, что в *BH*-файлах не используется `require`.

Поддерживает CommonJS и YModules. Если в исполняемой среде нет ни одной модульной системы, то модуль будет предоставлен в глобальную переменную `bh`.

**Опции**

* *String* **target** — Результирующий таргет. По умолчанию — `?.bh.js`.
* *String* **filesTarget** — files-таргет, на основе которого получается список исходных файлов
* *String* **lang** — Язык, для которого небходимо собрать файл.
* *String* **keysetsFile** — Исходный keysets-файл. По умолчанию — `?.keysets.{lang}.js`. (его предоставляет технология `files`). По умолчанию — `?.files`.
* *String* **sourceSuffixes** — суффиксы файлов, по которым строится `files`-таргет. По умолчанию — ['bh.js'].
* *Boolean* **sourcemap** — строить карты кода.
* *String|Array* **mimic** — имена переменных/модулей для экспорта.
* *String* **jsAttrName** — атрибут блока с параметрами инициализации. По умолчанию — `data-bem`.
* *String* **jsAttrScheme** — Cхема данных для параметров инициализации. По умолчанию — `json`. Форматы: `js` — Получаем `return { ... }`. `json` — JSON-формат. Получаем `{ ... }`.
* *String|Boolean* **jsCls** — имя `i-bem` CSS-класса. По умолчанию - `i-bem`. Для того, чтобы класс не добавлялся, следует указать значение `false` или пустую строку.
* *Boolean* **escapeContent** — экранирование содержимого. По умолчанию - `false`.

**Пример**
```javascript
nodeConfig.addTech(require('enb-bem-i18n/techs/bh-bundle-i18n'));
```

### bh-commonjs-i18n

Собирает *BH*-файлы по deps'ам в виде `?.bh.js` бандла на основе `?.keysets.<язык>.js`-файла.

Предназначен для сборки только серверного BH-кода. Предполагается, что в *BH*-файлах используется `require`.

Поддерживает только CommonJS.

**Опции**

* *String* **target** — Результирующий таргет. По умолчанию — `?.bh.js`.
* *String* **filesTarget** — files-таргет, на основе которого получается список исходных файлов
* *String* **lang** — Язык, для которого небходимо собрать файл.
* *String* **keysetsFile** — Исходный keysets-файл. По умолчанию — `?.keysets.{lang}.js`. (его предоставляет технология `files`). По умолчанию — `?.files`.
* *String* **sourceSuffixes** — суффиксы файлов, по которым строится `files`-таргет. По умолчанию — ['bh.js'].
* *Boolean* **sourcemap** — строить карты кода.
* *String|Array* **mimic** — имена переменных/модулей для экспорта.
* *String* **jsAttrName** — атрибут блока с параметрами инициализации. По умолчанию — `data-bem`.
* *String* **jsAttrScheme** — Cхема данных для параметров инициализации. По умолчанию — `json`. Форматы: `js` — Получаем `return { ... }`. `json` — JSON-формат. Получаем `{ ... }`.
* *String|Boolean* **jsCls** — имя `i-bem` CSS-класса. По умолчанию - `i-bem`. Для того, чтобы класс не добавлялся, следует указать значение `false` или пустую строку.
* *Boolean* **escapeContent** — экранирование содержимого. По умолчанию - `false`.

**Пример**
```javascript
nodeConfig.addTech(require('enb-bem-i18n/techs/bh-сommonjs-i18n'));
```

### bemhtml-i18n

Собирает `?.bemhtml.<язык>.js`-файлы на основе `?.keysets.<язык>.js`-файла и исходных шаблонов.

Склеивает *bemhtml.xjst* и *bemhtml*-файлы по deps'ам, обрабатывает `bem-xjst` или `xjst` -транслятором, сохраняет (по умолчанию) в виде `?.bemhtml.js`.

**Опции**

* *String* **target** — Результирующий таргет. По умолчанию — `?.bemhtml.js`.
* *String* **lang** — Язык, для которого небходимо собрать файл.
* *String* **keysetsFile** — Исходный keysets-файл. По умолчанию — `?.keysets.{lang}.js`.
* *String* **filesTarget** — files-таргет, на основе которого получается список исходных файлов (его предоставляет технология `files`). По умолчанию — `?.files`.
* *String* **sourceSuffixes** — суффиксы файлов, по которым строится `files`-таргет. По умолчанию — `['bemhtml', 'bemhtml.xjst']`.
* *String* **exportName** — Имя переменной-обработчика BEMHTML. По умолчанию — `'BEMHTML'`.
* *Boolean* **devMode** — Development-режим. По умолчанию — true.
* *Boolean* **cache** — Кэширование. Возможно только в production-режиме. По умолчанию — `false`.
* *Object* **modulesDeps** — Хэш-объект, прокидывающий в генерируемую для скомпилированных шаблонов обвязку, необходимые YModules-модули.

**Пример**

Для bemxjst:
```javascript
nodeConfig.addTech([ require('enb-bem-i18n/techs/bemxjst/bemhtml-i18n'), { lang: {lang}, devMode: false } ]);
```

Для xjst:
```javascript
nodeConfig.addTech([ require('enb-bem-i18n/techs/xjst/bemhtml-i18n'), { lang: {lang}, devMode: false } ]);
```

Лицензия
--------

Expand Down
5 changes: 0 additions & 5 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -33,12 +33,8 @@
"enb": ">= 0.11.0 < 1.0.0"
},
"dependencies": {
"bemhtml-compat": "0.1.2",
"enb-bemxjst": "1.3.4",
"enb-xjst": "enb-bem/enb-xjst#master",
"dom-js": "0.0.9",
"vow": "0.4.9",
"enb-bh": "1.0.0-beta2",
"serialize-javascript": "1.0.0"
},
"devDependencies": {
Expand All @@ -50,7 +46,6 @@
"mocha": "2.2.5",
"mock-enb": "0.1.0",
"mock-fs": "2.7.0",
"mock-require": "1.0.5",
"must": "0.12.0"
},
"scripts": {
Expand Down
120 changes: 0 additions & 120 deletions techs/bemxjst/bemhtml-i18n.js

This file was deleted.

129 changes: 0 additions & 129 deletions techs/bh-bundle-i18n.js

This file was deleted.

Loading

0 comments on commit adc0f85

Please sign in to comment.