UNPKG

bem

Version:
325 lines (268 loc) 16.8 kB
bem-tools changelog =================== 04.04.2013, Version 0.5.30 (stable) ----------------------------------- - bem make: Add ability to customize build rules more flexibly by providing Arch.createCustomNode() method - bem make: Add match*() methods to `simple` level prototype, add tests (Closes #282) 25.03.2013, Version 0.5.29 (stable) ----------------------------------- - bem make: don't update git library form upstream when working copy state satisfies to configured one. git update commands chain altered (no git reset for now) (Closes #335) 20.03.2013, Version 0.5.27 (stable) ----------------------------------- - bem make: fixed to work on node 0.10 (Closes #357) - bem make: some performance boost achieved (#250) 06.03.2013, Version 0.5.26 (stable) ----------------------------------- - bem make: Magic nodes doesn't link the nodes it creates with parent magic nodes (Closes #306) - deps.js: don't swallow parsing errors (Closes #353) 14.02.2013, Version 0.5.25 (stable) ----------------------------------- - bem server: windows fixes 04.02.2013, Version 0.5.24 (stable) ----------------------------------- - bem server: Add error handling for server.listen() (Closes #315) - bem server: Fix server message about serving address to have real host name it is listening on (Closes #334) - bem server: Add socket-only option to make bem server listen only unix socket (Closes #316) - bem server: Add a check for specified tcp port value to be a number - bem make: Fix recursion error when build target name contain trailing slash (Closes #252) - bem make: Use tech.getSuffixes() in MetaNode to build dependencies list (Closes #320) - bem make: Git library checkout fixed to work with commit hashes (close #302) - bem make: Git library branch parameter is added to specify branch name. Use treeish parameter to specify commit or tag. - ie6.css tech: Don't include bundle.css 11.12.2012, Version 0.5.21 (stable) ----------------------------------- - Update `borschik` to `0.2.3` 12.11.2012, Version 0.5.20 (stable) ----------------------------------- - bem make: Fixed `npmPackages` check in `LibraryNode` (Closes #300) - bem make: Install production dependencies in `LibraryNode` by default (Closes #310) - Update `csso` to `1.3.5` - Update `q` to `0.8.10` 06.11.2012, Version 0.5.19 (stable) ----------------------------------- - Freeze dependencies using `npm shrinkwrap` to fix problems with `q 0.8.10` release 06.11.2012, Version 0.5.18 (stable) ----------------------------------- - Dummy release 25.09.2012, Version 0.5.17 (stable) ----------------------------------- - bem: Make content read of deps.js files of block to be synchronous to gain some speed boost (PR #261) - bem make: Provide a more convenient way to configure the list of bundles and blocks levels to build (Closes #260) - bem make: Change signature of `getLevels()` method of `BundleNode` to `getLevels(tech)` to add ability to configure the list of levels more precisely - docs: Small JSDoc improvements in `BundleNode` class - docs: Correct links in README (@banzalik) 19.09.2012, Version 0.5.16 (stable) ----------------------------------- - bem: Require errors in .bem/level.js were masked (Closes #223) - bem: Add `.git` to ignorable paths during introspection - bem: Skip `blocks/` level directory during introspection in `nested` level - bem: Introduce `bem decl intersect` command (Closes #219) - bem make: Install library dependencies after checkout (Closes #224) - bem make: Do not install dependencies when `npmPackages = false` (Closes #229) - bem make: Ability to configure list of techs to optimize, see `BundleNode.getOptimizerTechs()` (Closes #231) - bem make: `Rename bemhtml.js` tech to `bemhtml`, fix this in your `.bem/make.js` files - bem make: Use non interactive mode for `svn` commands in `SvnLibraryNode` (Closes #221) - bem make: Store `*.meta.js` files in `<project-root>/.bem/cache/` directory (Closes #232) - bem make: Fixed bug in the inspector preventing it to work properly in FF (Closes #240) - docs: Translate into english chapter about level.js (Closes #38) - docs: Updated english docs in installation topic (@fliptheweb, #225) - docs: Add `CONTRIBUTING.md` - docs: Add `LICENSE` (we use MIT) - API: Expose `__filename` and `__dirname` vars in `.bem/make.js` files - API: Add `util.exec()` promised function to execute commands - API: Remove `relative()` function from `lib/path.js` in favor of that in node 0.6+ (Closes #226) - API: Refactor introspection logic (Pull #237) - Add `createIntrospector()` method to `Level` class to create custom introspectors (see jsdoc) - Refactor `getDeclByIntrospection()` to use `createIntrospector()` - Add `getItemsByIntrospection()` method to `Level` class, that returns array of BEM entities in techs - API: Refactor `LevelNode` (Pull #238) - Lazy level object creation - Use `getItemsByIntrospection()` to collect BEM items to build - Unify actualization of blocks and elems in `BundleLevelNode` - tests: Cover introspection logic - tests: Cover `deps.intersect()` and `deps.subtract()` - tests: Cover building of bundles-as-elements - package: Support node 0.8.x (Closes #220) 07.09.2012, Version 0.5.15 (stable) ------------------------------------ - bem: Add `;` after each include in js-based techs (`js` and `js-i`) (Closes #210) - bem make: Bugfix: Use `Q.when()` to call base `alterArch()` method in `BundlesLevelNode` (Closes #216) - docs: Add russian and english docs for `bem make` / `bem server` feature - docs: Add more info on `--chdir`, `-C` option on `bem create *` commands (See #204) - docs: Add `BEM.create()` docs: russian and english (Closes #192) - docs: Document API changes in `BEM.build()` (Closes #193) - docs: Document extensions in tech modules API (Closes #194) - docs: Add russian docs for `.bem/level.js` config (See #38) - API: Implement `include()` in `.bem/make.js` files (Closes #209) - package: Depends on `csso ~1.2.17` (some critical bug fixes) 24.08.2012, Version 0.5.14 (unstable) ------------------------------------ - bem: Get rid of `Q` deprecation warnings (Closes #200) - bem make: Node of type `MergedBundle` depends on all nodes of type `BundleNode` on the same level (Closes #206) - package: Depend on `q ~0.8.8` and `apw ~0.3.6` 11.08.2012, Version 0.5.13 (unstable) ------------------------------------ - bem make: Create directory `.bem/snapshots` if it doesn't exist before writting a snapshot (Closes #201) - bem make: Implement `clean()` method of `BemCreateNode` - bem make: `getLevels()` method of `BundleNode` fixed to avoid putting undefined level into the resulting array (Closes #203) - API: Add `getLevelPath()` helper method to `BlockNode` and `LevelNode` classes (Closes #190) 07.08.2012, Version 0.5.12 (unstable) ------------------------------------ - bem make: Forward errors from `borschik` with prefix `borschik: ` in `BorschikNode` - bem make: Store output file name in `this.output` property to use later in the logs in `BorschikNode` - package: Depends on `borschik ~0.0.11` 02.08.2012, Version 0.5.11 (unstable) ------------------------------------ - bem: Implement various strategies for mass IO operations in `Tech.filterPrefixes()` and `BemBuildNode.isValid()` (Closes #167) - bem: Fix referencing techs by name - bem: Allow use of `module.exports = ...` in files read by `util.readDecl()` - bem: `util.getBemTechPath()` returns full tech path now, with extension - bem: Add `-T` option as an alias for `-t`, `--tech` for `bem build` command - bem: Add `--output-level` and `--block`, `--elem`, `--mod`, `--val` options for `bem build` command to build BEM entities on bundle levels - bem: Allow using `require()` in decl-like files (Closes #172) - bem: Add inspector server feature to `bem make` and `bem server` commands - bem: Do not create new class from `LegacyTech` and legacy tech module content mixin in `getTechClass()` (potential bug fix) - bem: Bugfix: `bem decl subtract` creates empty `*.deps.js` file (Closes #170) - deps.js tech: Fix serializing of empty deps - deps.js tech: Fix twice expansion of deps (Closes #163) - bem make: Allow build triggering using final file names in case when tech produces many files (Closes #172) - bem make: When `BEM_IO_STRATEGY === 'callback'` and `meta` was empty promise would never resolve - bem make: Add merged bundle support - bem server: Listen on file socket on `--socket` option, configure socket path using `--socket-path` option and socket permissions using `--socket-mode` option (Closes #166) - docs: Document API changes in `BEM.create.block()`, `BEM.create.elem()` and `BEM.create.mod()` of version 0.5.x (Closes #161) - docs: Declare dependency on NodeJS 0.6+ - API: Add third `level` optional argument to `getTechClass()` function of `tech` method - API: Add third `level` optional argument to `createTech()` function of `tech` method - API: Add `getCreateSuffixes()` and `getBuildSuffixes()` to `Tech` class to let build system to deal with techs like `bemhtml` more correct - API: Add `util.removePath(path)` function to remove file and dir paths, but not recursively - API: Add `util.readJsonJs(path)` function to read and eval JSON-JS files - API: Add `util.symbolicLink(link, target, force)` function - API: Add `util.lpad()` alias to `util.pad()`, add `util.rsplit(string, sep, maxsplit)` function - API: Add `getContext()` method to `LegacyTech` class as a proxy to `this.techObj.getContext()` - API: Add `getBuildResultChunk()` method to `LegacyTech` class as a proxy to `this.techObj.outFile()` - API: Wait for `opts.declaration` to load before call to `this.techObj.build()` in `LegacyTech` class - tests: Add tests for serializing empty deps in `deps.js tech` - tests: Use `bem-bl` as git submodule for tests data (Closes #176) - tests: Add tests that additionally build `i18n` and `i18n.js` techs for bundles - tests: Add tests for merged bundle build - tests: Add tests for `getTechClass()` function of `tech` module - package: Add `dom-js` dependency for i18n tests (Closes #172) - package: Add `clean` target to `GNUmakefile` - package: Depend on `coverjs >= 0.0.7-aplha` (Closes #191) 13.06.2012, Version 0.5.10 (unstable) ------------------------------------ - bem: Use synchronous file existence check in `filterPrefixes()` instance method in `Tech` class - bem: Fix bug with `--chdir` option for `bem create level` command (Closes #151) - deps.js tech: More precisely report problems in blocks `*.deps.js` files - deps.js tech: Read every block `*.deps.js` file only once - bem make: Checks for target dir to exist before executing `svn info` in `SvnLibraryNode` (Closes #154) - bem make: Output collected logs in case of fail in `Node` (Closes #155) - bem make: Fix exception during build of `*.meta.js` files in `BemBuildMetaNode` (Closes #153) - bem make: Sync mtime checks in `isValid()` instance method of `BemBuildNode` class (Closes #157) - API: Add `util.readDecl()` promised function - tests: Add legacy `Makefile` "tests" for `bem decl merge` command - package: Depend on `coa ~0.3.5` - package: Depend on `apw ~0.3.4` 09.06.2012, Version 0.5.9 (unstable) ------------------------------------ - bem make: Build minimized versions of `*.bemhtml.js` files - bem make: Check for svn revision in `SvnLibraryNode.isValid()` 09.06.2012, Version 0.5.8 (unstable) ------------------------------------ - bem make: `SvnLibraryNode` extends `ScmLibraryNode` 08.06.2012, Version 0.5.7 (unstable) ------------------------------------ - More fixes on running of `bem make` and `bem server` not in project root - bem: Output full stack traces on error - bem: Lazy tech paths resolving in `Level` class - bem: `bem create *` commands display error when there are no techs specified in command line options and `defaultTechs` in level config is empty - bem: Add convenient `bem create` command to create all type of BEM entities - bem server: Convert russian lang messages to english - bem server: Fix wrong links in directory listings - bem server: Strip query string part before accessing a file - bem make: Do not checkout `bem-bl` by default - bem make: Fix `LibraryNode` - bem make: Extend context of `.bem/make.js` using `global` - bem make: Conditional build of bundle files based on existance of `*.bemjson.js` and `*.bemdecl.js` on the file system - bem make: Resolve tech module paths using level object in `BundleNode` - bem make: Use `Level.createTech()` instead of `Level.getTech()` to construct tech objects for `BemBuildNode` - bem make: Depend nodes of `BemBuildNode` class only on existing blocks files to increase performance - bem make: Run nodes of `BemBuildNode` class forked by default to increase performance - bem make: Add more logging to `BundleNode` - bem make: Add support for `csso` processing of `*.css` files for production builds in `BorschikNode` - bem make: Add support for `uglifyjs` processing of `*.js` files for production builds in `BorschikNode` - bem make: Rename `repo` param to `url` in `ScmLibraryNode` and its derivatives - bem make: Fix cleaning of obsolete dependencies in `BemBuildNode` - bem make: Huge internal refactoring on `BundleNode` - bem make: Rename `getCreateDependencies()` instance method to `getDependencies()` in `BemBuildNode` class - bem make: Rename `getCreateDependencies()` instance method to `getDependencies()` in `BemCreateNode` class - bem make: Add `setFileNode()` and `setBemCreateNode()` instance methods to `BundleNode` class - logging: Log node versions on `debug` verbosity - logging: Log profiling info of `bem make` - logging: Add more `debug` verbosity logging to `BundleNode` - docs: Add jsdoc for `Level` class - docs: Update jsdoc for `Tech` class - docs: Add docs for `bem create elem` and `bem create mod` - docs: Add docs for `bem create` - docs: Fix jsdoc for `setBemBuildNode()` instance method of `BundleNode` class - docs: Add jsdoc for `Node`, `FileNode`, `MagicNode`, `ScmLibraryNode` - API: Export `util` module as `require('bem').util` - API: Add `matchAny()` instance method to `Level` class - API: Add instance methods-shortcuts to `Level` class: `getPath()`, `getPathByObj()`, `getRelPathByObj()` - tests: Add tests for bem make - tests: Rewrite all tests to `mocha` - package: Add `xjst 0.2.21` to dependency list - package: Add `ometajs ~2.1.10` to dependency list - package: Bump `q` dependency version to `~0.8.5` - package: Bump `apw` dependency version to `~0.3.2` - package: Bump `borschik` dependency version to `~0.0.10` 18.05.2012, Version 0.5.6 (unstable) ------------------------------------ - docs: Draft of russian docs for `bem make` / `bem server` - API: Add `resolvePaths(paths)` and `resolvePath(path)` methods to `Level` class - bem make: Add more logging to `BorschikNode` - bem make: Use `js-i` tech in `BundleNode` to build bundles `*.js` files by default - package: Bump `borschik` dependency to `~0.0.9` 17.05.2012, Version 0.5.5 (unstable) ------------------------------------ - Require node 0.6.x - deps.js tech: Fix bug with building of `deps.js` files introduced in 0.5.2 - Fix running of `bem make` and `bem server` not in project root - logging: Add `flog()` shorthand function to output formatted log as a replacement for `console.log` - logging: Log version number of `bem-tools` on `bem make` and `bem server` - bem server: Show http link on server start - bem server: Fix current directory output in directory listing - bem make: Tune verbosity level for build messages - bem make: Log targets to build on build start - bem make: Fix validity checks in `LibraryNode` and `BemBuildNode` - bem make: Move validity cheks from `FileNode` to `GeneratedFileNode` - bem make: Fix `clean()` of `BemBuildMetaNode` - bem make: Store relative paths in `*.meta.js` files - API: Add `require('bem').version` - API: Add `require('bem/lib/util').writeFileIfDiffers(path, content, force)` 16.05.2012, Version 0.5.4 (unstable) ------------------------------------ - package: Bump `apw` dependency version to `~0.3.0` 15.05.2012, Version 0.5.3 (unstable) ------------------------------------ - deps.js tech: Support `deps.js` format as a declaration for `bem build` 15.05.2012, Version 0.5.2 (unstable) ------------------------------------ - Add `--verbosity` option to `bem make` and `bem server` commands - bem make: Add a lot of colorfull logging - bem make: A lot of internal refactorings - bem make: Fix dependency bug with building `_*.ie.css` files - bem make: Fix child process handling in `BorschikNode` and `BemBuildNode` - API: Add winston as logging engine 05.05.2012, Version 0.5.1 (unstalbe) ------------------------------------ - bem make: Quick fix removing testing code 05.05.2012, Version 0.5.0 (unstable) ------------------------------------ - bem make / server feature introduction