bit

A build system for development of composable software.

OTHER License

Downloads
64.9K
Stars
17.8K
Committers
79

Bot releases are hidden (Show)

bit - v14.1.2

Published by GiladShoham over 5 years ago

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 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 fix resolve-modules prefix with Tilda
  • improve sync between .bitmap file and the local store, see #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
bit - v14.1.1

Published by GiladShoham over 5 years ago

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)
bit - v14.1.0

Published by GiladShoham over 5 years ago

New

Changes

  • moving Bit configuration to package.json.
  • 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
bit - v14.0.6

Published by GiladShoham over 5 years ago

  • 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 a range
bit - v14.0.5

Published by GiladShoham over 5 years ago

  • 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
bit - v14.0.4

Published by GiladShoham over 5 years ago

  • replace default bitsrc.io domain to bit.dev
bit - v14.0.3

Published by GiladShoham over 5 years ago

  • fix importing components when one file is a prefix of the other in the same directory
bit - v14.0.2

Published by GiladShoham over 5 years ago

  • 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
bit - v14.0.1

Published by GiladShoham over 5 years ago

  • 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)
bit - v14.0.0 - Discovery

Published by GiladShoham over 5 years ago

Summary

Bit’s v14 is released side-by-side with the release of the v2 for bitsrc.io, Bit’s component community hub. New features for bitsrc.io v2 are announced in Bit’s Blog.

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.
bit - v13.0.4

Published by GiladShoham about 6 years ago

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)
bit - v13.0.3

Published by GiladShoham over 6 years ago

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)
bit - v13.0.2

Published by GiladShoham over 6 years ago

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
bit - v13.0.1

Published by GiladShoham over 6 years ago

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 a 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
bit - v13.0.0

Published by GiladShoham over 6 years ago

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, tsconfig resolving, Vue resolve alias (Vue Webpack template) , Babel 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, #852, #865, #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
  • support "export X from Y" syntax of ES6 without importing X first. PR-#981
  • support mixed mode of common-js and ES6. PR-#1036
  • support Installing Bit using NPM using sudo. commit.
  • introducing new flags for bit init including --reset and --reset-hard. PR-#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
bit - v0.12.13

Published by GiladShoham over 6 years ago

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
bit - v0.12.12

Published by GiladShoham over 6 years ago

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 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
bit - v0.12.11

Published by GiladShoham over 6 years ago

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
bit - v0.12.10

Published by GiladShoham over 6 years ago

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
bit - v0.12.9

Published by GiladShoham over 6 years ago

  • fix bug with exporting component to a very old scopes