bit-bin
Version:
<a href="https://opensource.org/licenses/Apache-2.0"><img alt="apache" src="https://img.shields.io/badge/License-Apache%202.0-blue.svg"></a> <a href="https://github.com/teambit/bit/blob/master/CONTRIBUTING.md"><img alt="prs" src="https://img.shields.io/b
924 lines (694 loc) • 74.4 kB
Markdown
# Change Log
All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](http://keepachangelog.com/).
and this project adheres to [Semantic Versioning](http://semver.org/).
## [[14.8.8] - 2020-07-13](https://github.com/teambit/bit/releases/tag/v14.8.8)
### Bug Fixes
- resolve performance regression by fixing the dependency resolution cache
- fix ssh command by reverting another fix of "write after end" error
- facilitate debugging by showing the entire stacktrace formatted when BIT_LOG is set
## [[14.8.7] - 2020-07-09](https://github.com/teambit/bit/releases/tag/v14.8.7)
### Bug Fixes
- [#2809](https://github.com/teambit/bit/issues/2809) - fix legacy capsule exec to not hang on error
- fix export --all --include-dependencies flags to not duplicate components
- fix post receive objects duplications
## [[14.8.6] - 2020-07-05](https://github.com/teambit/bit/releases/tag/v14.8.6)
### Internal
- add an option to not use load scope from cache for pkg extension
## [[14.8.5] - 2020-07-05](https://github.com/teambit/bit/releases/tag/v14.8.5)
### Bug Fixes
- [#2796](https://github.com/teambit/bit/issues/2796) - fix legacy compilers that use component.extensions to be build upon tag
## [[14.8.4] - 2020-07-02](https://github.com/teambit/bit/releases/tag/v14.8.4)
### Internal
- add an option to not use cache when loading scope
- do not use scope cache by default when loading scope programmatically
## [[14.8.3] - 2020-07-01](https://github.com/teambit/bit/releases/tag/v14.8.3)
### Bug Fixes
- [#2780](https://github.com/teambit/bit/issues/2780) - fix dists codemod of changing one scope to another to not be triggered without --rewire flag
- add timeout option for load core extension via api
### Internal
- wait for harmony to load if you load it many times in parallel via the api
- expose extensions declarations and instances from api
## [[14.8.2] - 2020-06-29](https://github.com/teambit/bit/releases/tag/v14.8.2)
### Bug Fixes
- do not show loader for internal commands
- fix error when trying to load extension in a folder which is not a workspace or scope
## [[14.8.1] - 2020-06-29](https://github.com/teambit/bit/releases/tag/v14.8.1)
### Bug Fixes
- fix dependency detection for css/scss files
- improve error handling
## [[14.8.0] - 2020-06-28](https://github.com/teambit/bit/releases/tag/v14.8.0)
### New
- release pre-alpha version of [Harmony](https://github.com/teambit/bit/issues/2280) hidden behind a feature-flag
- drop support for node 8
- introduce `bit link --rewire` to change relative paths in the source code to module paths
- support running `bit link` for specific components
- support hooks for persist and read bit objects into scope
- support react-docs of multiple exports
- add componentRootDir to the tester API (context)
- add specFileRelativePath to the tester API (context)
- add a way to run `bit pack` with a capsule
### Changes
- deprecate files overrides (using file:// prefix)
### Bug Fixes
- [#2159](https://github.com/teambit/bit/issues/2159) - fix `bit export` to not show the "fork" message when specifying an id without scope-name
- [#2487](https://github.com/teambit/bit/issues/2487) - fix react docs of union type prop
- [#2512](https://github.com/teambit/bit/issues/2512) - fix react-docs to preserve spaces/tabs of `@example`
- fix capsule to not hang forever when running build/tag/isolate and npm emits errors
- [#2482](https://github.com/teambit/bit/issues/2482) - delete component's cache upon mismatch
- [#2171](https://github.com/teambit/bit/issues/2171) - fix ComponentNotFound when using `bit export` with no args and a flattened dependency was converted from no-scope to a remote-scope
- [#2487](https://github.com/teambit/bit/issues/2487) - fix react docs of union type prop
- fix capsule to not hang forever when running build/tag/isolate and npm emits errors
- fix components dependencies detection to resolve from package.json if not exist on the fs
- fix importing compilers and testers for old node versions
### Internal
- upgrade typescript to 3.8.3
- internal changes to command registration and interfaces
- stabilize capsule by writing the same paths as the workspace relative to the component rootDir
- stabilize Bit by eliminating the removal of shared directory upon import and having rootDir for authored components
- add infrastructure for feature-toggle
- wait for the next event loop before exit child process in bit test
- prevent exporting components when import/require uses a module path with no scope-name (harmony only)
- prevent tagging components that require each other by relative paths (harmony only)
- disallow adding individual files (harmony only)
- new dependency resolver extension (harmony only)
## [[14.7.6] - 2020-02-23](https://github.com/teambit/bit/releases/tag/v14.7.6)
### Internal
- fix building binary assets
## [[14.7.5] - 2020-02-23](https://github.com/teambit/bit/releases/tag/v14.7.5)
### New
- support configuring the logger level by running `bit config set log_level <level>`.
### Changes
- support a basic flow of using module paths when no `scopeDefault` is set
### Bug Fixes
- [#2211](https://github.com/teambit/bit/issues/2211) fix `bit export` to not export non-staged dependencies
- [#2308](https://github.com/teambit/bit/issues/2308) fix "Cannot read property 'scope' of undefined" error on bit export
- [#1808](https://github.com/teambit/bit/issues/1808) fix dynamic dist reference from `package.json` when isolating via capsule
- [#2341](https://github.com/teambit/bit/issues/2341) fix `bit export --all` to successfully export when deleted from remote
- [#2268](https://github.com/teambit/bit/issues/2268) prevent logger from holding the terminal once a command is completed
## [[14.7.4] - 2020-02-06](https://github.com/teambit/bit/releases/tag/v14.7.4)
- [#2300](https://github.com/teambit/bit/issues/2300) improve `bit export` performance by pushing new tags only
## [[14.7.3] - 2020-02-02](https://github.com/teambit/bit/releases/tag/v14.7.3)
### New
- support overrides of the workspace defaultScope per components
- use workspace defaultScope to generate node-modules links for pre-export components
### Changes
- [#2247](https://github.com/teambit/bit/issues/2247) improve auto-tag output
### Bug fixes
- fix "JavaScript heap out of memory" errors during `bit export`
- [#2260](https://github.com/teambit/bit/issues/2260) fix duplicate dependencies
- [#2264](https://github.com/teambit/bit/issues/2264) fix generated dependencies links on capsule
- [#2267](https://github.com/teambit/bit/issues/2267) fix duplicate devDependencies
- [#2258](https://github.com/teambit/bit/issues/2258) don't install devDependencies packages upon extensions import
- [#2255](https://github.com/teambit/bit/issues/2255) avoid adding unneeded overrides upon import
## [[14.7.2] - 2020-01-12](https://github.com/teambit/bit/releases/tag/v14.7.2)
### New
- [#1894](https://github.com/teambit/bit/issues/1894) introduce `--remote` flag for `bit log`
- add `--conf` and `--ignore-package-json` flags to `bit checkout` similar to `bit import`
### Bug fixes
- [#2231](https://github.com/teambit/bit/issues/2231) update typescript to support optional chaining
- improve performance of `bit checkout` by writing multiple components in parallel
- fix overrides of a component added with package syntax to be recognized as bit-component
- [#2196](https://github.com/teambit/bit/issues/2196) fix dependency resolution when Bit component is imported in a sub-package
### Internal
- install librarian from npm
## [[14.7.1] - 2019-12-12](https://github.com/teambit/bit/releases/tag/v14.7.1)
### New
- add component root dir to bit show (json only)
### Bug fixes
- [#2182](https://github.com/teambit/bit/issues/2182) fix package-name replacement of dists when a package has a tilda prefix
- [#2182](https://github.com/teambit/bit/issues/2182) don't write dependencies dists to a capsule when their compiler was removed
- fix tester's isolate API
## [[14.7.0] - 2019-12-08](https://github.com/teambit/bit/releases/tag/v14.7.0)
### New
- Tester's API can use the `isolate` function.
- `bit status` shows untracked file dependencies recursively.
### Bug fixes
- [#2171](https://github.com/teambit/bit/issues/2171) fix component-not-found when exporting to multiple scopes and there are dependencies between them
- [#2175](https://github.com/teambit/bit/issues/2175) add missing packages from overrides to `bit status`
- [#2176](https://github.com/teambit/bit/issues/2176) fix workspace overrides to not leak rules to unrelated component
- [#2178](https://github.com/teambit/bit/issues/2178) fix adding ts types packages to respect overrides settings
### Experimental
- [#2162](https://github.com/teambit/bit/pull/2162) add integration with [librarian](https://github.com/teambit/librarian)
## [[14.6.0] - 2019-11-24](https://github.com/teambit/bit/releases/tag/v14.6.0)
- compress ssh args before sending
- add new global config `ssh_no_compress`
## [[14.5.0] - 2019-11-24](https://github.com/teambit/bit/releases/tag/v14.5.0)
### New
- support anonymous authentication for remote read operations
- add `--token` flag for commands that runs against a remote server
- [#2101](https://github.com/teambit/bit/issues/2101) suggest matching commands
### Changes
- improve loader when building components
- add `--no-warnings` flag to bit test child process
### Bug fixes
- [#2147](https://github.com/teambit/bit/issues/2147) fix overrides to respect dependencies received by a compiler/tester/extension
- fix symlink errors when generating links to `d.ts` files
- [#2140](https://github.com/teambit/bit/issues/2140) update bit-javascript to support `import { x as y }` syntax
- fix fork of a component when a dependency exists in an older version only
- update `react-docgen` version from `2.21.0` to `4.1.1`
- keep flattened dependencies saved by auto-tag up to date, although they're not part of the current tag
- show a message about missing test files in the compiled files
### Experimental
- expose buildOne and buildAll for programmatic api (Experimental)
### Internal
- consolidate isolation options
- formalize isolate api result
## [[14.4.3] - 2019-10-23](https://github.com/teambit/bit/releases/tag/v14.4.3)
### Bug fixes
- lock memfs package version to v2.15.5 due to issues with the v2.16.0
## [[14.4.2] - 2019-10-23](https://github.com/teambit/bit/releases/tag/v14.4.2)
### Bug fixes
- [#2024](https://github.com/teambit/bit/issues/2024) rebuild components upon dependencies changes for compilers that build dependencies
- [#2067](https://github.com/teambit/bit/issues/2067) fix `bit checkout` to not duplicate modified files when the shared dir has changed
- [#2079](https://github.com/teambit/bit/issues/2079) update bit-javascript to fix error when Yarn workspaces uses nohoist
- [#2072](https://github.com/teambit/bit/issues/2072) update bit-javascript to support React fragments
### Experimental
- [#2066](https://github.com/teambit/bit/issues/2066) introduce `--skip-auto-tag` flag for `bit tag`
### Internal
- move from flow to typescript
## [[14.4.1] - 2019-10-06](https://github.com/teambit/bit/releases/tag/v14.4.1)
### Bug fixes
- [#2019](https://github.com/teambit/bit/issues/2019) fix `bit import --merge` to not override changed dependencies
- [#2023](https://github.com/teambit/bit/issues/2023) better handle external errors from compilers
- [#2013](https://github.com/teambit/bit/issues/2013) fix bit import when one module resolution alias is a directory of another alias for extensions other than `.js`
- [#2033](https://github.com/teambit/bit/issues/2033) improve bit link to build unrecognized missing links
- [#2035](https://github.com/teambit/bit/issues/2035) fix "unable to manually add the dependency" error when package.json of an imported component is missing
- [#2034](https://github.com/teambit/bit/issues/2034) make sure versions are not deleted upon tag when components have cycle dependencies and a version is specified
- [#2027](https://github.com/teambit/bit/issues/2027) fix ComponentNotFound error when building a typescript component and its Bit dependency is installed as a package
- [#2011](https://github.com/teambit/bit/issues/2011) update dependents package.json files when ejecting dependencies
- fix bit graph edge colouring for regular dependencies
- call pre and post export hooks actions
## [[14.4.0] - 2019-09-24](https://github.com/teambit/bit/releases/tag/v14.4.0)
### New
- [#1981](https://github.com/teambit/bit/issues/1981) allow compilers to add all dependencies types and not only devDependencies
### Changes
- [#2004](https://github.com/teambit/bit/issues/2004) ask for approval before exporting a component to another scope (fork)
### Bug fixes
- [#2013](https://github.com/teambit/bit/issues/2013) fix bit import when one module resolution alias is a directory of another alias
- block tagging components with prerelease versions
- fix "Converting circular structure to JSON" error when logging a circular metadata object
- fix exporting to a different scope than workspace configuration of `defaultScope`
- fix exporting components with and without scope at the same time
- [#1999](https://github.com/teambit/bit/issues/1999) show a descriptive error when a component is missing from the scope
### Experimental
- [#1956](https://github.com/teambit/bit/issues/1956) introduce a new flag `--rewire` for `bit export` to replace the import/require statements in the source to the newly exported scope
## [[14.3.0] - 2019-09-11](https://github.com/teambit/bit/releases/tag/v14.3.0)
### New
- [#1956](https://github.com/teambit/bit/issues/1956) add `defaultScope` settings in workspace config for `bit export` to use when no remote scope defined for component
- [#1990](https://github.com/teambit/bit/issues/1990) auto add `@types/package-name` for *.tsx files
### Changes
- generate `node_modules` links upon build for new components
### Bug fixes
- fail early when exporting nested dependency
- fix an error "Cannot read property log of null" upon bit log
- [#1988](https://github.com/teambit/bit/issues/1988) avoid adding a component to root package.json when importing with `--ignore-package-json` flag
- [#1972](https://github.com/teambit/bit/issues/1972) fix generated links to nested dependencies in the capsule
- [#1966](https://github.com/teambit/bit/issues/1966) prevent intermediate console printing when `--json` flag is used
- [#1721](https://github.com/teambit/bit/issues/1721) enable removing/workspace-propagating a compiler/tester from component's config
- [#1965](https://github.com/teambit/bit/issues/1965) fix generated links for `.scss` and `.sass` packages to point to the main file
- [#1959](https://github.com/teambit/bit/issues/1959) improve message when running `bit build` when compiler not configured
- fix dist replacements upon export (for angular compiler) to support require statements to an internal path
- [#1947](https://github.com/teambit/bit/issues/1947) workaround an angular-compiler issue when the dists have a prefix
### Experimental
- [#1956](https://github.com/teambit/bit/issues/1956) add `--include-dependencies`flag for `bit export` to be export all component-dependencies to the remote scope
- [#1956](https://github.com/teambit/bit/issues/1956) support exporting components without mentioning a remote by exporting to their last remotes
## [[14.2.4] - 2019-08-13](https://github.com/teambit/bit/releases/tag/v14.2.4)
### New
- [#1867](https://github.com/teambit/bit/issues/1867) apply workspace overrides config on imported components
- [#1863](https://github.com/teambit/bit/issues/1863) allow excluding components from `overrides` rules
- [#1865](https://github.com/teambit/bit/issues/1865) allow adding `package.json` props via `overrides`
- [#1837](https://github.com/teambit/bit/issues/1837) enable executing commands on remote components outside of bit-workspace
- [#913](https://github.com/teambit/bit/issues/913) add new flags to bit init `-c|--compiler`, `-t|--tester`, `-d|--default-directory`, `-p|--package-manager`
- [#1889](https://github.com/teambit/bit/issues/1889) auto add `@types/package-name` to the dependencies of TS components
- added `no_warnings` config to eliminate some warnings from being written to the stdout
### Changes
- remove Angular dependencies from bit-javascript, instead, use TS compiler to parse Angular Decorators
- [#1892](https://github.com/teambit/bit/issues/1892) deprecating `bit list --bare` and replace with `bit list --raw`
- [#1774](https://github.com/teambit/bit/issues/1774) improve access errors and warn when sudo is used
- change shortcut flag to `bit init` standalone from `t` to `T`
### Bug fixes
- safer access to bit global config
- [#1903](https://github.com/teambit/bit/issues/1903) fix importing dependents to not override dependencies
- fix capsule to respect the `override` property of vinyl files
- [#1925](https://github.com/teambit/bit/issues/1925) update bit-javascript to fix Angular non-relative paths from decorators
### Experimental
- [#1885](https://github.com/teambit/bit/issues/1885) introduce new flags `--dependents` and `--dependencies` for `bit show` to display them all recursively
- [#1908](https://github.com/teambit/bit/issues/1908) new bit init interactive
Collapse
## [[14.2.3] - 2019-07-28](https://github.com/teambit/bit/releases/tag/v14.2.3)
- [#1714](https://github.com/teambit/bit/issues/1714) auto recognize mainFile when a file added with the same name as its dir
- [#1683](https://github.com/teambit/bit/issues/1683) introduce `--namespace` flag for `bit list` to support namespaces with wildcards
- [#1727](https://github.com/teambit/bit/issues/1727) prevent saving objects that link to invalid objects
- [#1856](https://github.com/teambit/bit/issues/1856) fix links deletion from `node_modules` after installing packages by a compiler on a capsule
- [#1710](https://github.com/teambit/bit/issues/1710) improve performance of importing an entire collection
## [14.2.2] - 2019-07-24
### New
- add workspacePath and bitmapFileName to post-add hook invocation
### Changes
- improve `bit watch` to watch directories instead of only files to support addition / deletion
- [#1634](https://github.com/teambit/bit/issues/1634) improve the output of `bit watch`
### Bug fixes
- fix "Cannot read property 'push' of undefined" error upon `bit status`
- build only the component of the modified/added/removed file upon `bit watch`
- [#1668](https://github.com/teambit/bit/issues/1668) bug fix - `bit watch` doesn't update files
## [[14.2.1] - 2019-07-21](https://github.com/teambit/bit/releases/tag/v14.2.1)
### Bug fixes
- fix "Cannot read property 'length' of undefined" error upon `bit status`
- fix error "unable to link" upon `bit build` when dist is outside the components dir
- [#1705](https://github.com/teambit/bit/issues/1705) preserve newline type of `package.json` and add a newline at the end (same as NPM does)
## [[14.2.0] - 2019-07-18](https://github.com/teambit/bit/releases/tag/v14.2.0)
Bit is now available to install as a binary with all dependencies. This is the prefer method to install Bit, as it is bundled with its runtime. Note that when you install with npm / yarn Bit only supports node < `8.12.0`.
### New
- Support packaging bit-bin into a binary file according to the OS by running `npm run pkg`
- Enable compilers and testers to isolate components using capsule.
- add `--no-cache` flag to `bit ci-update` command
- [#1762](https://github.com/teambit/bit/issues/1762) allow compilers to add properties to `package.json` file.
- [#1770](https://github.com/teambit/bit/issues/1770) modify dependency links for compilers that bundle them.
- [#1663](https://github.com/teambit/bit/issues/1663) Support toposort order when compiling components.
- [#1808](https://github.com/teambit/bit/issues/1808) Adding `dist-path-template` as a `package.json` value, which gets replaced with the calculated dist path upon import.
- Generate `index.d.ts` file for `node_modules` links generated for typescript's `custom-resolve-modules`.
- Add a custom entry point file for Angular components
- Support providing different main-file for dists by a compiler
- Support identify angular dependencies
### Changes
- fix require statements to an internal package file to not include extensions if they're [.js, .ts, .tsx, .jsx]
- [#1792](https://github.com/teambit/bit/issues/1792) don't generate entry-point files for nested dependencies when their `package.json` is written
- change dependency links generated when dependencies are saved as components to be module paths and not relative paths
### Bug fixes
- [#1817](https://github.com/teambit/bit/issues/1817) fix `ComponentNotFound` error when tagging after `export`, `tag` and `untag` for author using compiler that builds dependencies.
- [#1810](https://github.com/teambit/bit/issues/1810) avoid generating link files with `.ts`, `.jsx` and `.tsx` inside `node_modules`.
- [#1807](https://github.com/teambit/bit/issues/1807) fix resolution of dependency when 2 files require it and one of them using alias
- [#1796](https://github.com/teambit/bit/issues/1796) fix dependency resolution when 2 files of component import different things from a file of another component
- [#1779](https://github.com/teambit/bit/issues/1779) update bit-javascript to prioritize custom-resolve settings
- avoid generating duplicate `require` statements within dependency links files of ES6
- update bit-javascript to fix finding tsconfig.json for Angular projects
- [#1750](https://github.com/teambit/bit/issues/1750) improve the output to clarify when a dependency package is missing
- [#1752](https://github.com/teambit/bit/issues/1752) fix dependency links generation when originally there were multiple link files
- fix `directory` flag of `bit ci-update` command
- fix installation errors on Windows related to `posix` package by replacing it with `uid-number`
- [#1734](https://github.com/teambit/bit/issues/1734) fix error "unable to add the file ..." when the require statement was of `.` or `..` as the only string
### Experimental
- add `post-add` hook
- add option to isolate component into "capsule" via `bit isolate` command
### Internal
- update execa to v2.0.3
- upgrade to babel 7
## [14.1.3] - 2019-06-06
### Bug fixes
- [#1708](https://github.com/teambit/bit/issues/1708) support `require` with apostrophes
- [#1698](https://github.com/teambit/bit/issues/1698) fix dependency version resolution when imported component requires authored component
- [#1702](https://github.com/teambit/bit/issues/1702) fix error "failed adding a symlink into DataToPersist, src is empty"
- [#1699](https://github.com/teambit/bit/issues/1699) fix config.get is not a function
## [14.1.2] - 2019-06-02
### New
- introduce a new command `bit undeprecate` to revert deprecation of components
- introduce a new flag `--machine-name` for `bit login` to help CI servers keep their token not revoked
- support `bit import` with wildcards to import an entire scope or particular namespace(s)
- support changing the log to json format by running `bit config set log_json_format true`
- add bit version validation to `bit doctor` command
- add validation for npm executable on `bit doctor`
- add validation for yarn executable on `bit doctor`
### Changes
- sort `.bitmap` component ids alphabetically to reduce chances for git conflicts (#1671)
- [#1627](https://github.com/teambit/bit/issues/1627) improve `bit tag` output
- add a suggestion to run `bit doctor` on various errors
- avoid generating links of devDependencies when installing component as packages (#1614)
- add metadata to `bit doctor` output
- update `bit add` help message with instructions for using glob patterns with `--tests`
- rewrite dependencies when installed as components even when exist to rebuild their dist directory
### Bug fixes
- [#1665](https://github.com/teambit/bit/issues/1665) fix resolve-modules prefix with Tilda
- improve sync between `.bitmap` file and the local store, see [#1543](https://github.com/teambit/bit/issues/1543) for complete use cases
- fix `bit remove` and `bit eject` to delete the dist directory when located outside the components dir
- fix `bit eject` to support component custom npm registry scope
- fix generated `package.json` when dist is outside the components dir to point the `main` to the dist file (#1648)
- ignore `import`/`require` statements from CDN (HTTP/HTTPS)
- avoid generating package.json inside node_modules for an author when one of the component files is package.json
- preserve indentation of `package.json` files and default to 2 spaces, similar to NPM (#1630)
- show a descriptive error when the dist directory configured to be outside the components dir and is missing files
## [14.1.1] - 2019-05-16
### Bug fixes
- fix bit build to not generate `index.js` files when `package.json` file already exists
- prevent overwriting author files by not writing auto-generated content on symlink files (#1628)
- avoid changing the local version of a component to the latest when exporting an older version
- fix post-receive-hook to send all exported versions and not only the latest
- fix dependency resolution to identify link (proxy) files correctly
- fix bit status to not show a component as modified after tag when the version is modified in the dependent package.json
- fix "npm ERR! enoent ENOENT" errors when importing/installing multiple components
- fix dependency value in the dependent package.json to include the path when importing them both in the same command
- fix "EEXIST: file already exists" error when running `bit link` or `bit install` and the dist is outside the component directory
- fix `bit add` to ignore directories when their files are added (#1406)
## [[14.1.0] - 2019-05-01](https://github.com/teambit/bit/releases/tag/v14.1.0)
### New
- [enable manual manipulation for component dependency resolution and environment configuration using `overrides`](http://docs.bit.dev/docs/conf-bit-json.html#overrides).
### Changes
- [moving Bit configuration to `package.json`.](http://docs.bit.dev/docs/initializing-bit.html#bit-config)
- improve performance of `bit import` by reducing memory consumption and using more cache
- reintroduce `-c` alias for `--no-cache` flag in `bit build` command
- improve authentication error message to clearly indicate the various strategies failures
- add authentication fallback to ssh-key in case the ssh-agent is enabled but failed to authenticate
- avoid installing "undefined" npm package when importing authored components
- improve Bit load time by changing bit-javascript to use lazy loading
- remove `dependencies` property from workspace `bit.json`.
- improve `bit show` to display class properties
- replace the cache mechanism from roadrunner to v8-compile-cache
### Bug fixes
- fix "EMFILE: too many open files" and "JavaScript heap out of memory" errors on `bit import`
- fix output for `bit list -j` (remove chalk characters and improve format)
- avoid reporting errors on components with dynamic import statements (#1554)
- fix tagging imported components to not loose `package.json` properties
- fix symlink generation when a binary file is required from another file within the same component using custom resolve module
- fix `bit status` to not show the component as modified when dependencies have different order
- show a descriptive error when user try to export components with private dependencies to collection under another owner
- show a descriptive error when a version object is missing
### Experimental
- `bit doctor` command and APIs to run diagnosis on a workspace
## [14.0.6] - 2019-04-16
- fix symlink to binary (or unsupported) files dependencies when installed via npm and have dists
- fix dependencies version resolution from package.json to support versions with range
## [14.0.5] - 2019-04-07
- fix `remove` command to not delete dependencies files from the scope as they might belong to other components
- fix symlink to binary (or unsupported) files dependencies when installed via npm
## [14.0.4] - 2019-03-18
- replace default bitsrc.io domain to bit.dev
## [14.0.3] - 2019-03-12
- fix importing components when one file is a prefix of the other in the same directory
## [14.0.2] - 2019-03-10
- prevent `bit init` from initialize a non-empty scope when `.bitmap` was deleted unless `--force` is used
- improve `bit tag` performance by decreasing hook logging
- validate paths properties of the workspace bit.json
- enable print log messages that start with a specific string to the console by prefixing the command with BIT_LOG=str
- improve error message when adding files outside the workspace
- show a descriptive error when npm 5.0.0 fails with `--json` flag
- fix errors "EISDIR" and "EEXIST" when generating links and files steps on each other
- fix links of exported components to node_modules for author when a file is not linkable to generate a symlink instead
- recognize scoped packages that were newly introduced to imported components
- fix error "consumer.loadComponentFromModel, version is missing from the id"
- enable removing a component that its workspace and scope representations are not in sync
- fix "error: Could not stat (filename) No such file or directory" when bit-checkout updates multiple files
- fix "JavaScript heap out of memory" when loading a large amount of components
## [[14.0.1] - 2019-02-24](https://github.com/teambit/bit/releases/tag/v14.0.1)
- show an error when deleting a global remote without `--global` flag
- show an error when deleting a non-exist remote
- enable custom resolve of aliases to symlink packages (bit-javascript)
- fix error "toAbsolutePath expects relative path"
- improve errors stack-trace readability
- index scope components to improve memory consumption and performance
- extract docs from non-tests files only
- fix `bit show --remote --json` to not crash when a component has a compiler
- fix `bit checkout` to update bit.json with the checked out version
- fix "Maximum call stack" error when resolving js files after css files (bit-javascript)
- fix `bit checkout --all` to write the correct data when some components are also dependencies of others
- fix `bit checkout` to install dependencies as packages when applicable
- fix `bit remove --remote` to show the dependents correctly
- hide component internal structure diff upon `bit diff` unless `--verbose` flag is used
- implement postinstall symlink generation for cases when custom-resolve modules is used with unsupported file (such as binary files)
- fix parsing `.tsx` files (bit-javascript)
## [[14.0.0] - 2019-02-04](https://github.com/teambit/bit/releases/tag/v14.0.0)
### Summary
*Bit’s v14 is released side-by-side with the release of the v2 for [bit.dev](https://bit.dev), Bit’s component community hub. New features for bit.dev v2 are announced in [Bit’s Blog](https://blog.bitsrc.io/).*
With over 65 new features, changes and bug fixes, v14 is Bit’s largest and richest release to date. V14 is focused on increased **stability**, **agility** and **performance**. It is is fully backwards compatible, and provides a faster and smoother workflow with improved compatibility throughout the ecosystem.
Here are some of v14's highlights:
- Improved performance for tracking, versioning and exporting components by up to **700%**.
- Dozens of bug fixes (~70% of open issues).
- New commands `watch` and `eject`.
- Dynamic namespaces support.
- Improved VueJS support.
- Improved CSS support.
- Auto generated documentation for React.
### New
- New `bit watch` command for building components upon file modifications.
- New `bit eject` for removing local components and installing them as packages by an NPM client
- Support dynamic namespaces (replaced the namespace/name format with a dynamic name that can have multiple slashes to indicate a hierarchical namespace).
- Support components with binary files (or non-supported extensions) as the only files.
- Support ids with wildcards (e.g. `bit tag "utils/*"`) for the following commands: `tag`, `untag`, `remove`, `untrack`, `checkout`, `merge`, `diff` and `export`.
- Support mix syntax of typescript and javascript inside .ts file
- Added react docs parsing to extract the description of the properties correctly.
- Support flow types in react doc generation.
- Support Vue files with typescript.
- Support configuring Git executable path.
- Support the new jsx syntax changes by Babel.
- Support print multiple external (build / test) errors.
- Support adding the project `package.json` file to a component.
- Support `import ~` from a local (authored) file to an imported sass component.
- Add programmatic API for add multiple components.
- Set the only dist file as main file in package.json (in case there is only one).
- Allow removing a component when it is invalid.
### Changes
- Improved performance for tracking, versioning and exporting components by up to 700%.
- CSS parser replaced for better import syntax support.
- Improve auto-tag mechanism to tag not only the dependents but also the dependents of the dependents and so on.
- Changed `--include-unmodified` to `--all`.
- Replace caporal package with commander for security reasons.
- Better error when a component was tagged without its dependencies.
- Make bit version command faster and support both `bit -v` and `bit -V` to get bit version.
- Update tty-table, flow-coverage-report and mocha-appveyor-reporter for security reasons.
- Improve exception handling for old clients connecting to a newer server.
- Shorten the generated component ID to the minimum possible.
- Return status code 1 when bit test has failing tests.
- Suppress an exception of directory-is-empty when adding multiple components and some of them are empty, show a warning instead.
- Improve "missing a main file" error when adding multiple components to print the problematic components.
- Improve performance by caching objects after loading them.
- Fix ci-update command with component version number.
- Fix `bit status` to not throw an exception for invalid components.
- Change `--conf` on `bit import` to be a path to the config dir.
- Replace the deprecated typescript-eslint-parser with @typescript-eslint/typescript-estree
### Bug fixes
- Fix link files generated to a package when it should point to an internal file of the package.
- Fix parsing React docs to show the `@example` tag.
- Fix running `bit link` from an inner directory for author.
- Fix ampersand and minus signs causing parse error in css files.
- Fix `bit add` to add the correct letter case even when `--main` or `--test` flags entered with incorrect case.
- Fix errors when component files require each other using module path.
- Fix dev-dependency that requires prod-dependency to include the dependency in the flattenedDevDependencies array.
- Do not delete isolated environment when running ci-update with keep flag and it throws exception.
- Fix import of components with circular dependencies.
- Fix link content generation for authored components on bit install.
- Fix bug with bit show when the remote component has config file.
- Fix context for testers during ci-update.
- Fix missing context in getDynamicPackageDependencies.
- Fix bug with bit show when scope path provided.
- Fix errors "JavaScript heap out of memory" and "Error: EMFILE: too many open files" when exporting a huge number of components.
- Fix error "link-generation: failed finding .. in the dependencies array" when a dependency has a devDependency installed as a component.
- Improve the stability of `bit export --eject` and provide some kind of rollback in case of failure.
- Fix bit-remove to delete authored component files when removing an authored component from an inner directory.
## [[13.0.4] - 2018-07-24](https://github.com/teambit/bit/releases/tag/v13.0.4)
### New
- send component origin repo in headers
### Changes
- improve `bit test` to run tests not only on new and modified components but also on auto-tag pending components
### Bug fixes
- fix `bit import` of a component with authored dependencies
- generate npm links for Vue packages correctly without adding .vue extension to the package
- fix `bit add` to not throw an error for imported components when mainFile is a relative path to consumer
- fix error "Cannot read property 'missing' of undefined" when a dependency of dependency has parsing errors (bit-javascript)
## [[13.0.3] - 2018-07-12](https://github.com/teambit/bit/releases/tag/v13.0.3)
### Bug fixes
- fix link files generation to support the plugin "add-module-export" of babel compiler
- fix error "Cannot read property push of undefined" when a dependent has parsing error (bit-javascript)
- avoid parsing unsupported dependencies files (bit-javascript)
## [[13.0.2] - 2018-07-10](https://github.com/teambit/bit/releases/tag/v13.0.2)
### New
- improve the tree shaking mechanism to work with unlimited number of intermediate files
- present parsing errors by `bit status` and prevent tagging it until fixed
- show the newly tagged version for auto-tagged components
### Changes
- rename `--ignore-missing-dependencies` flag of `bit tag` to `--ignore-unresolved-dependencies`
- avoid trying tree shaking on CommonJS code
- prevent dependency-resolver from parsing json files as they do not contain any dependency
### Bug fixes
- fix `bit status` to show a component as deleted when track-dir was deleted for authored
- fix parsing error when a Vue file has a dependency prefix with a Tilde inside a style section
- fix detection of .scss files when required with no extension
- don't break `bit status` when mainFile was deleted, instead, reflect it to the user with a suggestion
- fix detection of "export * from" syntax of ES6
## [[13.0.1] - 2018-06-26](https://github.com/teambit/bit/releases/tag/v13.0.1)
### New
- support `bit checkout latest` for checkout to the latest version
- add `--reset` flag to `bit checkout` command for removing local modifications
- add `--all` flag to `bit checkout` command for executing the checkout on all components
- add new flag `--skip-tests` to bit tag command
- add `--no-cache` flag to `bit build` command
- add `--include-unmodified` flag to `bit test` command
- add troubleshooting-isolating link to bit status
### Bug fixes
- fix .tsx parsing issue when the tsx dependency is required from a non .tsx file
- fix support of .json dependencies
- fix "SyntaxError: Unexpected token" when parsing .ts files with .js dependencies
- show environments when running bit show on remote component
## [[13.0.0] - 2018-06-18](https://github.com/teambit/bit/releases/tag/v13.0.0)
### Summary
With over 35 new features, changes and bug fixes, Bit's v13 is focused on increased **stability** with over 20 bug fixes and **support for common workflows** including [webpack resolve](https://webpack.js.org/configuration/resolve/), [tsconfig resolving](https://www.typescriptlang.org/docs/handbook/module-resolution.html), Vue resolve alias ([Vue Webpack template](https://github.com/vuejs-templates/webpack/blob/f21376d6c3165a4cf6e5ae33f71b16dd47d213e3/template/build/webpack.base.conf.js#L36)) , [Babel module resolver](https://github.com/tleunen/babel-plugin-module-resolver) etc. Here are some of v13's highlights.
- add ability to configure custom module resolution in Bit (paths and aliases), to support absolute import statements for projects that use similar features using Webpack, Typescript, Babel, Vue alias etc. [PR-#980](https://github.com/teambit/bit/pull/980), [#852](https://github.com/teambit/bit/issues/852), [#865](https://github.com/teambit/bit/issues/865), [#869](https://github.com/teambit/bit/issues/869)
- over 20 bug fixes including max call stack, import of binary files and more.
- environments transformed and refactored to act as native Bit extensions. [PR-#931](https://github.com/teambit/bit/pull/931)
- support "export X from Y" syntax of ES6 without importing X first. [PR-#981](https://github.com/teambit/bit/pull/981)
- support mixed mode of common-js and ES6. [PR-#1036](https://github.com/teambit/bit/pull/1036)
- support Installing Bit using NPM using `sudo`. [commit](https://github.com/teambit/bit/commit/b23a78d3fd8ba07507785d97a224775126c2b150).
- introducing new flags for `bit init` including `--reset` and `--reset-hard`. [PR-#1012](https://github.com/teambit/bit/pull/1012)
As a reminder, we're switching to major versions to indicate that we, like many others, have been using Bit in production for a long time. v13 follows the previous v0.12 and looking forward we'll continue to follow semver like we've done since 2016.
### New
- add ability to configure custom module resolution in Bit (paths and aliases), to support absolute import statements for projects that use similar features using Webpack, Typescript, Babel, etc.
- support "export X from Y" syntax of ES6 without importing X first.
- environments transformed and refactored to act as native Bit extensions
- introduce a new flag `bit init --reset-hard` to delete Bit files in order to start with a clean workspace
- introduce a new flag `bit init --reset` to recreate bit.json and .bitmap files in case they are corrupted
- add fork level to the `bit test` command
- inject dist dir to node_path variable during test process in order for the author to tag and test custom-resolved components
- added missing programmatic flags for bit isolate cmd
- support mixed mode of common-js and ES6 ("require" and "import" together)
- recognize packages required from d.ts files
### Changes
- remove alias t from bit test command (conflicts with tag command)
- do not override existing bit.json on bit init
- rename `no-launch-browser` to `suppress-browser-launch` in bit login flag
- version validation during `bit tag`
### Bug fixes
- fix import of binary files
- fix error "Maximum call stack size exceeded" when tagging or building a large file
- handle bit diff for local components without specifying a scope
- backward compatibility for components with environments with latest version
- show dependent component id when trying to install missing environment
- prevent overriding local tags from remote components upon import
- throw an error when auto tag components have a newer version
- after auto-tagging a component with a pending update it no longer becomes `modified`
- support for running bit log on local components without specifying scope name
- handle adding the same file with different letter cases (uppercase/lowercase)
- improve environments error handling
- support `bit move` and `bit import --path` when running from an inner directory
- `bit init` now recreates the scope.json if it does not exist
## [0.12.13] - 2018-05-09
### New
- add `bit show --compare` data into `bit diff` to easily see why a component is modified in one command
- when running bit login, also configure bitsrc registry for npm
- adding scss to support ~
- support components with cyclic dependencies
### Changes
- remove `--write` flag from `bit import`, the newly introduced `--merge` flag takes care of that
- improve merge-conflict error on export to show all components with conflicts
### Bug Fixes
- fix `bit remove` to not delete dependencies when they were imported directly
- add error handling to bit login
- improve the error-message "unexpected network error has occurred" to provide some useful data
## [0.12.12] - 2018-04-29
### New
- introduce a new command `bit diff` to show the files diff for modified components
- support importing component on top of a modified one and merging the changes by adding `--merge` flag to `bit import`
- add -x flag to import (short for --extension)
### Bug Fixes
- fix an end of line issue between os
- [#927](https://github.com/teambit/bit/issues/927) fix a case of link file (file that only requires another file) is part of the component
- fix bit-move of a directly imported dependency
- fix importing a different version of a dependent when dependencies are not saved as components
- fix Yarn install when a relative path is written into package.json
- fix bit-merge and bit-checkout commands for Windows
- bug fix - import after tag command was showing an error "Cannot read property 'hash' of undefined"
- fix bit-add to enable marking files as tests of existing components
- bug fix - in some circumstances, same link files were written in parallel, resulting in invalid content
## [0.12.11] - 2018-04-10
### New
- introduce a new command `bit merge` for merging a different version into the current version
- introduce a new command `bit use` for switching between versions
- add anonymous analytics usage with prompt
- support merging modified component to an older version of the component
### Changes
- rename the command `bit use` to `bit checkout`
- block tagging when a component has a newer version locally, unless `--ignore-newest-version` flag is used
- rename `--force` flag of `bit import` to `--override`
- change `bit list` to show only the authored and imported components, unless `--scope` flag is used
- `bit remove` removes components from a remote scope only when `--remote` flag is used
- improve the output of import command to show the imported versions
### Bug Fixes
- fix bit-install to work from an inner directory
- improve external test and build errors to show the stack
- support `export { default as }` syntax when extracting relevant dependencies from link files
## [0.12.10] - 2018-03-21
### New
- track directories for files changes and update .bitmap automatically
- show a component as modified (bit status) in case a new file has added to its rootDir or one of the files has renamed
- support updating dependencies versions from bit.json, package.json and bitmap files
- add an option to install peer dependencies in an isolated environment
- add the main file to file list if not specified during `bit add`
- add `--all` flag to `bit untrack` command
### Changes
- ignore files named 'LICENSE'
- test components candidates for auto-tag before tagging them
### Bug Fixes
- fix an issue with stylus dependencies from Vue files
- fix catastrophic backtracking when using Regex to find JSDoc
- fix environment import of latest version when an older version is imported
- fix exit status when ci-update fails
- fix bugs when running bit commands not from the workspace root
## [0.12.9] - 2018-03-14
- fix bug with exporting component to a very old scopes
## [0.12.8] - 2018-03-12
- send component's metadata to compilers
- fix `bit tag` with `--force` flag to force tagging when exceptions occurred during a test
- fix `bit test` error message to display the actual exception if occurred
- improve error message of `bit tag --verbose` when tests failed to include tests results
- improve handling of errors from compilers which return promises
- merge process.env from the main process to tester process fork
- symlink tester env in isolated envs
- bug fix - tests files were ignored during bit add when they're weren't part of the files array and .gitignore contained a record with leading exclamation mark
## [0.12.7] - 2018-02-28
- bug fix - specifying a component and its dependency as ids for bit remove was not working
- bug fix - fix remove component
## [0.12.6] - 2018-02-27
### New
- introduced a new command `bit untag` for reverting un-exported tags.
- support .vue files
- support `bit install` of specific ids
- init local scope inside .git
- support peerDependencies
- support passing arguments/flags to the package-manager by specifying them after '--' (e.g. `bit import -- --no-optional`)
- support compilers which return promises
### Changes
- save bit dev-dependencies components inside devDependencies section of package.json
- `bit status` shows a list of staged versions in 'staged components' section
### Bug Fixes
- show npm-client's warnings when they are about missing peer-dependencies
- fix outdated to print correct version numbers
- remove a modified component message
- resolving .gitignore files
- [#729](https://github.com/teambit/bit/issues/729) fix bit cc to clear module cache
- [#769](https://github.com/teambit/bit/issues/769) - prevent duplicate ids in bitmap when adding existing files
- [#736](https://github.com/teambit/bit/issues/736) - .gitignore is blocking everything
## [0.12.5] - 2018-02-06
- default `bit import` with no id to import objects only, unless `--write` flag is used
- decrease verbosity of npm during bit test
- added `--objects` flag to `bit import` for fetching objects only and making no changes to the filesystem
- bug fix - dists had incorrect paths in the model when originallySharedDir was the same as dist.entry
- strip dist.entry for imported and authored components only, not for nested.
- write .bitmap on bit init command
- aggregate dependencies and package dependencies in bit show
- add entered username from prompt to context for server side hooks
## [0.12.4] - 2018-01-30
- support separating dev-dependencies and dev-packages from dependencies and packages when they originated from tests files
- prompt user when trying to remove a component
- restore old behavior of requiring package installation
- support adding test files to existing component
- ignore tracked files when running bit add and print a warning message
- bug fix - bit test fails when the same environment installation was canceled before
## [0.12.3] - 2018-01-28
- avoid overriding not only modified components but also new components when running `bit import`, unless `--force' flag is used
- validate version number during tag action
- allow `bit config` to run in non initialized directory
## [0.12.2] - 2018-01-24
### New
- [#653](https://github.com/teambit/bit/issues/653) read config keys from Git config in case it's not fou