Skip to content
This repository has been archived by the owner on Dec 25, 2022. It is now read-only.

Commit

Permalink
Added enb-bemxjst module. Wait enb/enb-bemxjst#139
Browse files Browse the repository at this point in the history
  • Loading branch information
lipolyakov committed Mar 23, 2016
1 parent 2382dd4 commit 7c5a2b2
Show file tree
Hide file tree
Showing 24 changed files with 1,995 additions and 6 deletions.
4 changes: 2 additions & 2 deletions components/enb/config.js
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,8 @@ const enbBrowserJs = require('enb-js/techs/browser-js');

//const enbBemtree = require('enb-bemxjst/techs/bemtree');
//const enbBemhtml = require('enb-bemxjst/techs/bemhtml');
const enbBemtree = require('app-bem/components/enb/techs/bemtree'); // TODO: https://github.com/enb/enb-bemxjst/issues/139
const enbBemhtml = require('app-bem/components/enb/techs/bemhtml'); // TODO: https://github.com/enb/enb-bemxjst/issues/139
const enbBemtree = require('app-bem/components/enb/enb-bemxjst/techs/bemtree'); // TODO: https://github.com/enb/enb-bemxjst/issues/139
const enbBemhtml = require('app-bem/components/enb/enb-bemxjst/techs/bemhtml'); // TODO: https://github.com/enb/enb-bemxjst/issues/139

const enbGateMethod = require('app-bem/components/enb/techs/gate-method');

Expand Down
354 changes: 354 additions & 0 deletions components/enb/enb-bemxjst/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,354 @@
История изменений
=================

6.0.0
-----

### bem-xjst

Модуль `[email protected]` обновлен до версии `6.0.0`.

О всех изменениях `bem-xjst` читайте в [примечании к релизу](https://github.com/bem/bem-xjst/releases/tag/v6.0.0).

5.0.1
-----

### bem-xjst

Модуль `[email protected]` обновлен до версии `5.1.0`.

О всех изменениях `bem-xjst` читайте в [примечании к релизу](https://github.com/bem/bem-xjst/releases/tag/v5.1.0).

5.0.0
-----

### bem-xjst

Компилятор шаблонов [bem-xjst](https://github.com/bem/bem-xjst) обновлен до версии `5.0.0`.

В этой версии появилась недостающая функциональность — поддержка [BEMTREE](https://ru.bem.info/technology/bemtree/current).

**Важно:** пакет `enb-bemxjst` перестаёт поддерживать версии `2.x` и `4.x`.

О всех изменениях `bem-xjst` читайте в [примечании к релизу](https://github.com/bem/bem-xjst/releases/tag/v5.0.0).

### Технологии

* Добавлена технология [bemtree](api.ru.md#bemtree) ([#127]).

### Остальное

* [ __*major*__ ] Базовые шаблоны (блок `i-bem.bemtree`) из библиотеки `[email protected]` будут игнорироваться. Теперь не обязательно использовать библиотеку `bem-core` для сборки BEMTREE-шаблонов. Базовые шаблоны встроены в компилятор `bem-xjst`, начиная с версии `5.x`.

### Зависимости

* Модуль `[email protected]` обновлен до версии `5.0.0`.
* Модуль `[email protected]` обновлен до версии `4.5.1`.

4.1.1
-----

### Зависимости

* Модуль `[email protected]` обновлен до версии `4.3.4`.

4.1.0
-----

### Опции

* Для технологии `bemhtml` добавлена опция [forceBaseTemplates](api.ru.md#forcebasetemplates) ([#119]).

### Зависимости

* Модуль `[email protected]` обновлен до версии `13.0.0`.
* Модуль `[email protected]` обновлен до версии `0.4.12`.

4.0.5
-----

### Зависимости

* Модуль `[email protected]` обновлен до версии `4.3.3`.

4.0.4
-----

### Зависимости

* Модуль `[email protected]` обновлен до версии `4.3.2`.

4.0.3
-----

### Обработка ошибок

* Добавлена обработка синтаксических ошибок для предикатов.

**Пример**

```js
block('button').tag('a'); // Error: Predicate should not have arguments

block('button').tag()('span'); // <span class="button"></span>
```

### Зависимости

* Модуль `[email protected]` обновлен до версии `4.3.1`.

4.0.2
-----

### Исправления

* Уменьшено время подключения технологий: модуль `browserify` подключается только при необходимости ([#115]).
* Исправлен экспорт в глобальный скоуп ([#110]).

### Зависимости

* Модуль `[email protected]` обновлен до версии `12.0.1`.

4.0.1
-----

* Модуль `[email protected]` обновлен до версии `4.2.7`.

4.0.0
-----

### bem-xjst@next

Компилятор шаблонов [bem-xjst](https://github.com/bem/bem-xjst) обновлен до версии `4.2.4`.

Новая версия пока не поддерживает всю функциональность (нет поддержки технологии BEMTREE), поэтому `enb-bemxjst` будет выпускаться с тегом `next`, до полной реализации всей необходимой функциональности.

О значимых изменениях `bem-xjst` по отношению к первой версии читайте в [документации пакета](https://github.com/bem/bem-xjst/wiki/[email protected]@2.x).

### Технологии

* [ __*major*__ ] Удалена технология `bemtree`. Модуль `bem-xjst` версии `4.2.x` не поддерживает BEMTREE.

### Опции

* Для технологии [bemhtml](https://github.com/enb-bem/enb-bemxjst/blob/4.x/api.ru.md#bemhtml) добавлена опция [naming](https://github.com/enb-bem/enb-bemxjst/blob/4.x/api.ru.md#naming).
* [ __*major*__ ] Удалена опция `compat`. Модуль `bemhtml-compat` не совместим с `[email protected]`.
* [ __*major*__ ] Удалена опция `devMode`. В `bem-xjst`, начиная с версии 2.x, отсутствуют разные режимы компиляции шаблонов.

### Остальное

* [ __*major*__ ] Удалена поддержка файлов с расширением `.bemhtml`. По умолчанию шаблоны должны располагаться в файлах с расширением `.bemhtml.js`. Используйте опцию [sourceSuffixes](https://github.com/enb-bem/enb-bemxjst/blob/4.x/api.ru.md#sourcesuffixes) для настройки.
* [ __*major*__ ] Базовые шаблоны (блок `i-bem.bemhtml`) из библиотеки `[email protected]` будут игнорироваться. Теперь не обязательно использовать библиотеку `bem-core` для сборки BEMHTML-шаблонов. Базовые шаблоны встроены в компилятор `bem-xjst`, начиная с версии `2.x`.

### Зависимости

* Модуль `[email protected]` обновлен до версии `0.4.11`.
* Модуль `[email protected]` обновлен до версии `11.2.0`.

2.1.1
-----

* Исправлен экспорт в глобальный скоуп ([#110]).

2.1.0
-----

* Добавлена поддержка `enb` версии `1.x` ([#106]).

2.0.2
-----

* Исправлено подключение библиотеки `vow` c помощью опции `requires` для BEMTREE ([#100]).

2.0.1
-----

* Исправлено [подключение сторонних библиотек](README.md#Подключение-сторонних-библиотек) для `YModules` ([#95]).

2.0.0
-----

**Требования:** версия [bem-core](https://github.com/bem/bem-core/) не ниже `2.7.0`.

### Новая функциональность

* [Подключение сторонних библиотек](README.md#Подключение-сторонних-библиотек) c помощью опции [requires](api.ru.md#requires) ([#61]).

### Крупные изменения

* [ __*major*__ ] Удалена поддержка файлов с расширением `.bemhtml.xjst` ([#50]).
* Добавлена поддержка файлов с расширением `.bemhtml.js` ([#51], [#90]).
* При сборке BEMTREE-шаблонов в результирующий код [добавляется](README.md#Асинхронная-шаблонизация) код модуля [vow](http://dfilatov.github.io/vow/) ([#33]). Настраивается с помощью опции [includeVow](api.ru.md#includevow).
* Для случаев, когда шаблоны отсутствуют, результатом сборки является заглушка без BEM-XJST-кода ([#47]).
* Если в сборку не попали базовые шаблоны (например, не указана зависимость), то при выполнении методов `BEMHTML.apply()` и `BEMTREE.apply()` будет генерироваться соответствующее сообщение об ошибке ([#60]).

### Технологии

* [ __*major*__ ] Технологии `bemhtml` и `bemhtml-old` объединены в одну — [bemhtml](api.ru.md#bemhtml) ([#25]).
* [ __*major*__ ] Технологии `bemtree` и `bemtree-old` объединены в одну — [bemtree](api.ru.md#bemtree) ([#25]).
* [ __*major*__ ] Технология `html-from-bemjson` переименована в [bemjson-to-html](api.ru.md#bemjson-to-html) ([#41]).
* [ __*major*__ ] Технология `html-from-bemjson-i18n` удалена. Для работы с локализацией нужно использовать технологии из пакета `enb-bem-i18n` ([#42]).

#### Опции технологий

* [ __*major*__ ] Из технологии `bemjson-to-html` удалены устаревшие опции: `destTarget`, `bemjsonTarget` и `bemhtmlTarget`. Вместо них следует использовать `target`, `bemjsonFile` и `bemhtmlFile`, соответственно. ([#58]).
* [ __*major*__ ] Из технологий [bemhtml](api.ru.md#bemhtml) удалена опция `cache` ([#88]).
* [ __*major*__ ] В технологиях [bemhtml](api.ru.md#bemhtml) и [bemtree](api.ru.md#bemtree) опция [devMode](api.ru.md#devmode) отключена по умолчанию ([#93]).

### Зависимости

* [ __*major*__ ] Изменились требования к версии модуля `enb`. Теперь для корректной работы требуется `enb` версии `0.16.0` или выше.
* Модуль `[email protected]` обновлен до версии `1.2.1` ([#37], [#80]).

1.3.5
-----

**Требования:** версия [bem-core](https://github.com/bem/bem-core/) не ниже `2.4.0`.

* Модуль `bem-xjst` обновлен до версии `1.0.3`.
* Модуль `vow` обновлен до версии `0.4.10`.

1.3.4
-----

**Требования:** версия [bem-core](https://github.com/bem/bem-core/) не ниже `2.4.0`.

* Исправлен кэш для технологии `html-from-bemjson-i18n`.
* Модуль `vow` обновлен до версии `0.4.7`.

1.3.3
-----

**Требования:** версия [bem-core](https://github.com/bem/bem-core/) не ниже `2.4.0`.

* `vow` обновлен до версии `0.4.6`.
* `bem-xjst` обновлен до версии `0.9.0`.
* `bemhtml-compat` обновлен до версии `0.1.2`.

1.3.2
-----

**Требования:** версия [bem-core](https://github.com/bem/bem-core/) не ниже `2.4.0`.

* `bem-xjst` обновлен до версии `0.8.3`.

1.3.1 (сломана)
-----

* `vow` модуль не прокидывается по умолчанию в `YModules` для `bemtree` и `bemtree-old` технологий.
* `bem-xjst` обновлен до версии `0.8.2` (версия содержит ошибки).

1.3.0 (сломана)
-----

* Опция `modulesDeps` добавлена ко всем технологиям.
* `vow` обновлен до версии `0.4.5`.
* `bem-xjst` обновлен до версии `0.8.0` (версия содержит ошибки).

1.2.0
-----

* Добавлена `html-from-bemjson` технология.
* Добавлена `html-from-bemjson-i18n` технология.

1.1.1
-----

* `vow` обновлен до версии `0.4.3`.

1.1.0
-----

* Опция `devMode` больше не зависит от `YENV` и включена по умолчанию.
* `vow` обновлен до версии `0.4.1`.
* `sibling` обновлен до версии `0.1.3`.

1.0.0
-----

* Опция `cache` для `bemhtml` технологий теперь отключена по умолчанию.

0.2.2
-----

* `bem-xjst` обновлен до версии `0.4.0`.

0.2.1
-----

* Опция `devMode` исправлена.
* Опция `cache` исправлена.

0.2.0
-----

* Для транслирования кода используется `bem-xjst`, вместо `bemhtml` библиотеки, входящей в `bem-core`.
* `vow` обновлен до версии `0.3.12`.
* `bemhtml-compat` обновлен до версии `0.0.11`.

0.1.1
-----

* Добавлена технология `bemtree-old`.
* `vow` обновлен до версии `0.3.10`.

0.1.0
-----

* Добавлена технология `bemtree`.
* `vow-fs` больше не используется.
* `bemhtml-compat` обновлен до версии `0.0.10`.

0.0.6
-----

* При сборке bemhtml технологий надпись 'Calm down, OmetaJS is running...' больше не показывается.
* `bemhtml-compat` обновлен до версии `0.0.9`.

0.0.5
-----

* Опция `devMode` по умолчанию теперь зависит от `YENV`.

0.0.4
-----

* Зависимость от `[email protected]`, переход на общий инстанс `vow-fs`.

0.0.3
-----

* Исправлен баг сборки `bemhtml`-файлов в новом js-стиле, не имеющих `.xjst` расширения, `bemhtml-old` технологией.

0.0.2
-----

* Добавлена технология `bemhtml-old`.

0.0.1
-----

* Добавлена технология `bemhtml`.

[#127]: https://github.com/enb-bem/enb-bemxjst/pull/127
[#119]: https://github.com/enb-bem/enb-bemxjst/pull/119
[#115]: https://github.com/enb-bem/enb-bemxjst/pull/115
[#110]: https://github.com/enb-bem/enb-bemxjst/issues/110
[#106]: https://github.com/enb-bem/enb-bemxjst/pull/106
[#100]: https://github.com/enb-bem/enb-bemxjst/issues/100
[#95]: https://github.com/enb-bem/enb-bemxjst/issues/95
[#93]: https://github.com/enb-bem/enb-bemxjst/issues/93
[#90]: https://github.com/enb-bem/enb-bemxjst/issues/90
[#88]: https://github.com/enb-bem/enb-bemxjst/issues/88
[#80]: https://github.com/enb-bem/enb-bemxjst/issues/80
[#61]: https://github.com/enb-bem/enb-bemxjst/issues/61
[#60]: https://github.com/enb-bem/enb-bemxjst/issues/60
[#58]: https://github.com/enb-bem/enb-bemxjst/issues/58
[#51]: https://github.com/enb-bem/enb-bemxjst/issues/51
[#50]: https://github.com/enb-bem/enb-bemxjst/issues/50
[#47]: https://github.com/enb-bem/enb-bemxjst/issues/47
[#42]: https://github.com/enb-bem/enb-bemxjst/issues/42
[#41]: https://github.com/enb-bem/enb-bemxjst/issues/41
[#33]: https://github.com/enb-bem/enb-bemxjst/issues/33
[#37]: https://github.com/enb-bem/enb-bemxjst/issues/37
[#25]: https://github.com/enb-bem/enb-bemxjst/issues/25
Loading

0 comments on commit 7c5a2b2

Please sign in to comment.