UNPKG

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
# 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