diff --git a/.bitmap b/.bitmap index 6d956bc9af84..abf3749bd3d9 100644 --- a/.bitmap +++ b/.bitmap @@ -11,13 +11,13 @@ { "application": { "scope": "teambit.harmony", - "version": "0.0.458", + "version": "0.0.460", "mainFile": "index.ts", "rootDir": "scopes/harmony/application" }, "aspect": { "scope": "teambit.harmony", - "version": "0.0.816", + "version": "0.0.818", "mainFile": "index.ts", "rootDir": "scopes/harmony/aspect" }, @@ -149,13 +149,13 @@ }, "aspect-loader": { "scope": "teambit.harmony", - "version": "0.0.816", + "version": "0.0.818", "mainFile": "index.ts", "rootDir": "scopes/harmony/aspect-loader" }, "babel": { "scope": "teambit.compilation", - "version": "0.0.816", + "version": "0.0.818", "mainFile": "index.ts", "rootDir": "scopes/compilation/babel" }, @@ -167,13 +167,13 @@ }, "bit": { "scope": "teambit.harmony", - "version": "0.0.818", + "version": "0.0.820", "mainFile": "index.ts", "rootDir": "scopes/harmony/bit" }, "bit-custom-aspect": { "scope": "teambit.harmony", - "version": "0.0.153", + "version": "0.0.155", "mainFile": "index.ts", "rootDir": "scopes/harmony/bit-custom-aspect" }, @@ -185,49 +185,49 @@ }, "builder": { "scope": "teambit.pipelines", - "version": "0.0.816", + "version": "0.0.818", "mainFile": "index.ts", "rootDir": "scopes/pipelines/builder" }, "builder-data": { "scope": "teambit.pipelines", - "version": "0.0.99", + "version": "0.0.101", "mainFile": "index.ts", "rootDir": "scopes/pipelines/modules/builder-data" }, "builder-ui": { "scope": "teambit.pipelines", - "version": "0.0.1", + "version": "0.0.3", "mainFile": "index.ts", "rootDir": "scopes/pipelines/builder-ui" }, "bundler": { "scope": "teambit.compilation", - "version": "0.0.816", + "version": "0.0.818", "mainFile": "index.ts", "rootDir": "scopes/compilation/bundler" }, "cache": { "scope": "teambit.harmony", - "version": "0.0.637", + "version": "0.0.639", "mainFile": "index.ts", "rootDir": "scopes/harmony/cache" }, "changelog": { "scope": "teambit.component", - "version": "0.0.816", + "version": "0.0.818", "mainFile": "index.ts", "rootDir": "scopes/component/changelog" }, "clear-cache": { "scope": "teambit.workspace", - "version": "0.0.106", + "version": "0.0.108", "mainFile": "index.ts", "rootDir": "scopes/workspace/clear-cache" }, "cli": { "scope": "teambit.harmony", - "version": "0.0.544", + "version": "0.0.546", "mainFile": "index.ts", "rootDir": "scopes/harmony/cli" }, @@ -269,49 +269,49 @@ }, "cloud": { "scope": "teambit.cloud", - "version": "0.0.92", + "version": "0.0.94", "mainFile": "index.ts", "rootDir": "scopes/cloud/cloud" }, "code": { "scope": "teambit.component", - "version": "0.0.816", + "version": "0.0.818", "mainFile": "index.ts", "rootDir": "scopes/component/code" }, "command-bar": { "scope": "teambit.explorer", - "version": "0.0.816", + "version": "0.0.818", "mainFile": "index.ts", "rootDir": "scopes/explorer/command-bar" }, "community": { "scope": "teambit.community", - "version": "0.0.92", + "version": "0.0.94", "mainFile": "index.ts", "rootDir": "scopes/community/community" }, "compiler": { "scope": "teambit.compilation", - "version": "0.0.816", + "version": "0.0.818", "mainFile": "index.ts", "rootDir": "scopes/compilation/compiler" }, "component": { "scope": "teambit.component", - "version": "0.0.816", + "version": "0.0.818", "mainFile": "index.ts", "rootDir": "scopes/component/component" }, "component-compare": { "scope": "teambit.component", - "version": "0.0.64", + "version": "0.0.66", "mainFile": "index.ts", "rootDir": "scopes/component/component-compare" }, "component-descriptor": { "scope": "teambit.component", - "version": "0.0.107", + "version": "0.0.109", "mainFile": "index.ts", "rootDir": "scopes/component/component-descriptor" }, @@ -329,7 +329,7 @@ }, "component-log": { "scope": "teambit.component", - "version": "0.0.193", + "version": "0.0.195", "mainFile": "index.ts", "rootDir": "scopes/component/component-log" }, @@ -341,13 +341,13 @@ }, "component-sizer": { "scope": "teambit.component", - "version": "0.0.189", + "version": "0.0.191", "mainFile": "index.ts", "rootDir": "scopes/component/component-sizer" }, "component-tree": { "scope": "teambit.component", - "version": "0.0.604", + "version": "0.0.606", "mainFile": "index.ts", "rootDir": "scopes/component/component-tree" }, @@ -359,13 +359,13 @@ }, "compositions": { "scope": "teambit.compositions", - "version": "0.0.816", + "version": "0.0.818", "mainFile": "index.ts", "rootDir": "scopes/compositions/compositions" }, "config": { "scope": "teambit.harmony", - "version": "0.0.557", + "version": "0.0.559", "mainFile": "index.ts", "rootDir": "scopes/harmony/config" }, @@ -377,49 +377,49 @@ }, "dependencies": { "scope": "teambit.dependencies", - "version": "0.0.9", + "version": "0.0.11", "mainFile": "index.ts", "rootDir": "scopes/dependencies/dependencies" }, "dependency-resolver": { "scope": "teambit.dependencies", - "version": "0.0.816", + "version": "0.0.818", "mainFile": "index.ts", "rootDir": "scopes/dependencies/dependency-resolver" }, "deprecation": { "scope": "teambit.component", - "version": "0.0.816", + "version": "0.0.818", "mainFile": "index.ts", "rootDir": "scopes/component/deprecation" }, "dev-files": { "scope": "teambit.component", - "version": "0.0.816", + "version": "0.0.818", "mainFile": "index.ts", "rootDir": "scopes/component/dev-files" }, "diagnostic": { "scope": "teambit.harmony", - "version": "0.0.109", + "version": "0.0.111", "mainFile": "index.ts", "rootDir": "scopes/harmony/diagnostic" }, "docs": { "scope": "teambit.docs", - "version": "0.0.816", + "version": "0.0.818", "mainFile": "index.ts", "rootDir": "scopes/docs/docs" }, "eject": { "scope": "teambit.workspace", - "version": "0.0.287", + "version": "0.0.289", "mainFile": "index.ts", "rootDir": "scopes/workspace/eject" }, "elements": { "scope": "teambit.web-components", - "version": "0.0.269", + "version": "0.0.271", "mainFile": "index.ts", "rootDir": "scopes/web-components/elements" }, @@ -437,25 +437,25 @@ }, "env": { "scope": "teambit.envs", - "version": "0.0.189", + "version": "0.0.191", "mainFile": "index.ts", "rootDir": "scopes/envs/env" }, "envs": { "scope": "teambit.envs", - "version": "0.0.816", + "version": "0.0.818", "mainFile": "index.ts", "rootDir": "scopes/envs/envs" }, "eslint": { "scope": "teambit.defender", - "version": "0.0.816", + "version": "0.0.818", "mainFile": "index.ts", "rootDir": "scopes/defender/eslint" }, "eslint-config-bit-react": { "scope": "teambit.react", - "version": "0.0.618", + "version": "0.0.620", "mainFile": "index.js", "rootDir": "scopes/react/eslint-config-bit-react" }, @@ -467,25 +467,25 @@ }, "export": { "scope": "teambit.scope", - "version": "0.0.816", + "version": "0.0.818", "mainFile": "index.ts", "rootDir": "scopes/scope/export" }, "express": { "scope": "teambit.harmony", - "version": "0.0.642", + "version": "0.0.644", "mainFile": "index.ts", "rootDir": "scopes/harmony/express" }, "forking": { "scope": "teambit.component", - "version": "0.0.220", + "version": "0.0.222", "mainFile": "index.ts", "rootDir": "scopes/component/forking" }, "formatter": { "scope": "teambit.defender", - "version": "0.0.367", + "version": "0.0.369", "mainFile": "index.ts", "rootDir": "scopes/defender/formatter" }, @@ -497,79 +497,79 @@ }, "generator": { "scope": "teambit.generator", - "version": "0.0.816", + "version": "0.0.818", "mainFile": "index.ts", "rootDir": "scopes/generator/generator" }, "global-config": { "scope": "teambit.harmony", - "version": "0.0.546", + "version": "0.0.548", "mainFile": "index.ts", "rootDir": "scopes/harmony/global-config" }, "graph": { "scope": "teambit.component", - "version": "0.0.816", + "version": "0.0.818", "mainFile": "index.ts", "rootDir": "scopes/component/graph" }, "graphql": { "scope": "teambit.harmony", - "version": "0.0.816", + "version": "0.0.818", "mainFile": "index.ts", "rootDir": "scopes/harmony/graphql" }, "harmony-ui-app": { "scope": "teambit.ui-foundation", - "version": "0.0.458", + "version": "0.0.460", "mainFile": "index.ts", "rootDir": "scopes/ui-foundation/harmony-ui-app/harmony-ui-app" }, "html": { "scope": "teambit.html", - "version": "0.0.384", + "version": "0.0.386", "mainFile": "index.ts", "rootDir": "scopes/html/html" }, "importer": { "scope": "teambit.scope", - "version": "0.0.245", + "version": "0.0.247", "mainFile": "index.ts", "rootDir": "scopes/scope/importer" }, "insights": { "scope": "teambit.explorer", - "version": "0.0.816", + "version": "0.0.818", "mainFile": "index.ts", "rootDir": "scopes/explorer/insights" }, "isolator": { "scope": "teambit.component", - "version": "0.0.816", + "version": "0.0.818", "mainFile": "index.ts", "rootDir": "scopes/component/isolator" }, "issues": { "scope": "teambit.component", - "version": "0.0.124", + "version": "0.0.126", "mainFile": "index.ts", "rootDir": "scopes/component/issues" }, "jest": { "scope": "teambit.defender", - "version": "0.0.816", + "version": "0.0.818", "mainFile": "index.ts", "rootDir": "scopes/defender/jest" }, "lane-id": { "scope": "teambit.lanes", - "version": "0.0.63", + "version": "0.0.65", "mainFile": "index.ts", "rootDir": "scopes/lanes/lane-id" }, "lanes": { "scope": "teambit.lanes", - "version": "0.0.388", + "version": "0.0.390", "mainFile": "index.ts", "rootDir": "scopes/lanes/lanes" }, @@ -587,38 +587,38 @@ }, "linter": { "scope": "teambit.defender", - "version": "0.0.816", + "version": "0.0.818", "mainFile": "index.ts", "rootDir": "scopes/defender/linter" }, "lister": { "scope": "teambit.component", - "version": "0.0.52", + "version": "0.0.54", "mainFile": "index.ts", "rootDir": "scopes/component/lister" }, "logger": { "scope": "teambit.harmony", - "version": "0.0.637", + "version": "0.0.639", "mainFile": "index.ts", "rootDir": "scopes/harmony/logger" }, "mdx": { "scope": "teambit.mdx", - "version": "0.0.796", + "version": "0.0.798", "mainFile": "index.ts", "rootDir": "scopes/mdx/mdx" }, "merging": { "scope": "teambit.component", - "version": "0.0.131", + "version": "0.0.133", "defaultScope": "teambit.component", "mainFile": "index.ts", "rootDir": "scopes/component/merging" }, "mocha": { "scope": "teambit.defender", - "version": "0.0.153", + "version": "0.0.155", "mainFile": "index.ts", "rootDir": "scopes/defender/mocha" }, @@ -636,7 +636,7 @@ }, "models/scope-model": { "scope": "teambit.scope", - "version": "0.0.196", + "version": "0.0.198", "mainFile": "index.ts", "rootDir": "scopes/scope/models/scope-model" }, @@ -666,7 +666,7 @@ }, "modules/diff": { "scope": "teambit.lanes", - "version": "0.0.173", + "version": "0.0.175", "mainFile": "index.ts", "rootDir": "scopes/lanes/diff" }, @@ -762,7 +762,7 @@ }, "multi-compiler": { "scope": "teambit.compilation", - "version": "0.0.816", + "version": "0.0.818", "mainFile": "index.ts", "rootDir": "scopes/compilation/multi-compiler" }, @@ -780,25 +780,25 @@ }, "new-component-helper": { "scope": "teambit.component", - "version": "0.0.220", + "version": "0.0.222", "mainFile": "index.ts", "rootDir": "scopes/component/new-component-helper" }, "node": { "scope": "teambit.harmony", - "version": "0.0.816", + "version": "0.0.818", "mainFile": "index.ts", "rootDir": "scopes/harmony/node" }, "notifications": { "scope": "teambit.ui-foundation", - "version": "0.0.816", + "version": "0.0.818", "mainFile": "index.ts", "rootDir": "scopes/ui-foundation/notifications/aspect" }, "panels": { "scope": "teambit.ui-foundation", - "version": "0.0.545", + "version": "0.0.547", "mainFile": "index.ts", "rootDir": "scopes/ui-foundation/panels" }, @@ -828,19 +828,19 @@ }, "pkg": { "scope": "teambit.pkg", - "version": "0.0.816", + "version": "0.0.818", "mainFile": "index.ts", "rootDir": "scopes/pkg/pkg" }, "pnpm": { "scope": "teambit.dependencies", - "version": "0.0.816", + "version": "0.0.818", "mainFile": "index.ts", "rootDir": "scopes/dependencies/pnpm" }, "prettier": { "scope": "teambit.defender", - "version": "0.0.367", + "version": "0.0.369", "mainFile": "index.ts", "rootDir": "scopes/defender/prettier" }, @@ -852,92 +852,92 @@ }, "preview": { "scope": "teambit.preview", - "version": "0.0.816", + "version": "0.0.818", "mainFile": "index.ts", "rootDir": "scopes/preview/preview" }, "pubsub": { "scope": "teambit.harmony", - "version": "0.0.816", + "version": "0.0.818", "mainFile": "index.ts", "rootDir": "scopes/harmony/pubsub" }, "react": { "scope": "teambit.react", - "version": "0.0.816", + "version": "0.0.818", "mainFile": "index.ts", "rootDir": "scopes/react/react" }, "react-elements": { "scope": "teambit.react", - "version": "0.0.269", + "version": "0.0.271", "mainFile": "index.ts", "rootDir": "scopes/react/react-elements" }, "react-native": { "scope": "teambit.react", - "version": "0.0.816", + "version": "0.0.818", "mainFile": "index.ts", "rootDir": "scopes/react/react-native" }, "react-router": { "scope": "teambit.ui-foundation", - "version": "0.0.816", + "version": "0.0.818", "mainFile": "index.ts", "rootDir": "scopes/ui-foundation/react-router/react-router" }, "readme": { "scope": "teambit.mdx", - "version": "0.0.100", + "version": "0.0.102", "mainFile": "index.ts", "rootDir": "scopes/mdx/readme" }, "refactoring": { "scope": "teambit.component", - "version": "0.0.113", + "version": "0.0.115", "mainFile": "index.ts", "rootDir": "scopes/component/refactoring" }, "renaming": { "scope": "teambit.component", - "version": "0.0.220", + "version": "0.0.222", "mainFile": "index.ts", "rootDir": "scopes/component/renaming" }, "schema": { "scope": "teambit.semantics", - "version": "0.0.816", + "version": "0.0.818", "mainFile": "index.ts", "rootDir": "scopes/semantics/schema" }, "scope": { "scope": "teambit.scope", - "version": "0.0.816", + "version": "0.0.818", "mainFile": "index.ts", "rootDir": "scopes/scope/scope" }, "sidebar": { "scope": "teambit.ui-foundation", - "version": "0.0.816", + "version": "0.0.818", "mainFile": "index.ts", "rootDir": "scopes/ui-foundation/sidebar" }, "sign": { "scope": "teambit.scope", - "version": "0.0.816", + "version": "0.0.818", "mainFile": "index.ts", "rootDir": "scopes/scope/sign" }, "snapping": { "scope": "teambit.component", - "version": "0.0.131", + "version": "0.0.133", "defaultScope": "teambit.component", "mainFile": "index.ts", "rootDir": "scopes/component/snapping" }, "status": { "scope": "teambit.component", - "version": "0.0.128", + "version": "0.0.130", "defaultScope": "teambit.component", "mainFile": "index.ts", "rootDir": "scopes/component/status" @@ -968,7 +968,7 @@ }, "tester": { "scope": "teambit.defender", - "version": "0.0.816", + "version": "0.0.818", "mainFile": "index.ts", "rootDir": "scopes/defender/tester" }, @@ -1022,13 +1022,13 @@ }, "typescript": { "scope": "teambit.typescript", - "version": "0.0.816", + "version": "0.0.818", "mainFile": "index.ts", "rootDir": "scopes/typescript/typescript" }, "ui": { "scope": "teambit.ui-foundation", - "version": "0.0.816", + "version": "0.0.818", "mainFile": "index.ts", "rootDir": "scopes/ui-foundation/ui" }, @@ -1064,7 +1064,7 @@ }, "ui/code-compare": { "scope": "teambit.code", - "version": "0.0.52", + "version": "0.0.54", "mainFile": "index.ts", "rootDir": "scopes/code/ui/code-compare" }, @@ -1088,7 +1088,7 @@ }, "ui/compare": { "scope": "teambit.component", - "version": "0.0.52", + "version": "0.0.54", "mainFile": "index.ts", "rootDir": "scopes/component/ui/compare" }, @@ -1100,7 +1100,7 @@ }, "ui/component-drawer": { "scope": "teambit.component", - "version": "0.0.93", + "version": "0.0.95", "mainFile": "index.ts", "rootDir": "scopes/component/component-drawer" }, @@ -1112,7 +1112,7 @@ }, "ui/component-meta": { "scope": "teambit.component", - "version": "0.0.105", + "version": "0.0.107", "mainFile": "index.ts", "rootDir": "scopes/component/ui/component-meta" }, @@ -1154,7 +1154,7 @@ }, "ui/composition-compare": { "scope": "teambit.compositions", - "version": "0.0.52", + "version": "0.0.54", "mainFile": "index.ts", "rootDir": "scopes/compositions/ui/composition-compare" }, @@ -1340,7 +1340,7 @@ }, "ui/hooks/scope-context": { "scope": "teambit.scope", - "version": "0.0.196", + "version": "0.0.198", "mainFile": "index.ts", "rootDir": "scopes/scope/ui/hooks/scope-context" }, @@ -1388,7 +1388,7 @@ }, "ui/hooks/use-scope": { "scope": "teambit.scope", - "version": "0.0.200", + "version": "0.0.202", "mainFile": "index.ts", "rootDir": "scopes/scope/ui/hooks/use-scope" }, @@ -1424,7 +1424,7 @@ }, "ui/lanes": { "scope": "teambit.lanes", - "version": "0.0.113", + "version": "0.0.115", "mainFile": "index.ts", "rootDir": "scopes/lanes/ui" }, @@ -1496,7 +1496,7 @@ }, "ui/overview-compare": { "scope": "teambit.docs", - "version": "0.0.52", + "version": "0.0.54", "mainFile": "index.ts", "rootDir": "scopes/docs/ui/overview-compare" }, @@ -1538,31 +1538,31 @@ }, "ui/pipelines/artifacts-panel": { "scope": "teambit.component", - "version": "0.0.1", + "version": "0.0.2", "mainFile": "index.ts", "rootDir": "scopes/component/ui/pipelines/artifacts-panel" }, "ui/pipelines/component-pipeline": { "scope": "teambit.component", - "version": "0.0.1", + "version": "0.0.2", "mainFile": "index.ts", "rootDir": "scopes/component/ui/pipelines/component-pipeline" }, "ui/pipelines/component-pipeline-context": { "scope": "teambit.component", - "version": "0.0.1", + "version": "0.0.2", "mainFile": "index.ts", "rootDir": "scopes/component/ui/pipelines/component-pipeline-context" }, "ui/pipelines/component-pipeline-model": { "scope": "teambit.component", - "version": "0.0.1", + "version": "0.0.2", "mainFile": "index.ts", "rootDir": "scopes/component/ui/pipelines/component-pipeline-model" }, "ui/pipelines/component-pipeline-queries": { "scope": "teambit.component", - "version": "0.0.1", + "version": "0.0.2", "mainFile": "index.ts", "rootDir": "scopes/component/ui/pipelines/component-pipeline-queries" }, @@ -1646,7 +1646,7 @@ }, "ui/side-bar": { "scope": "teambit.ui-foundation", - "version": "0.0.610", + "version": "0.0.612", "mainFile": "index.ts", "rootDir": "scopes/ui-foundation/uis/side-bar" }, @@ -1688,7 +1688,7 @@ }, "ui/test-compare": { "scope": "teambit.defender", - "version": "0.0.52", + "version": "0.0.54", "mainFile": "index.ts", "rootDir": "scopes/defender/ui/test-compare" }, @@ -1698,6 +1698,12 @@ "mainFile": "index.ts", "rootDir": "scopes/defender/ui/test-loader" }, + "ui/test-page": { + "scope": "teambit.defender", + "version": "0.0.1", + "mainFile": "index.ts", + "rootDir": "scopes/defender/ui/test-page" + }, "ui/test-row": { "scope": "teambit.defender", "version": "0.0.489", @@ -1814,13 +1820,13 @@ }, "ui/version-block": { "scope": "teambit.component", - "version": "0.0.617", + "version": "0.0.619", "mainFile": "index.ts", "rootDir": "scopes/component/ui/version-block" }, "ui/version-dropdown": { "scope": "teambit.component", - "version": "0.0.601", + "version": "0.0.603", "mainFile": "index.ts", "rootDir": "scopes/component/ui/version-dropdown" }, @@ -1838,7 +1844,7 @@ }, "update-dependencies": { "scope": "teambit.scope", - "version": "0.0.816", + "version": "0.0.818", "mainFile": "index.ts", "rootDir": "scopes/scope/update-dependencies" }, @@ -1856,37 +1862,37 @@ }, "user-agent": { "scope": "teambit.ui-foundation", - "version": "0.0.502", + "version": "0.0.504", "mainFile": "index.ts", "rootDir": "scopes/ui-foundation/user-agent" }, "variants": { "scope": "teambit.workspace", - "version": "0.0.641", + "version": "0.0.643", "mainFile": "index.ts", "rootDir": "scopes/workspace/variants" }, "webpack": { "scope": "teambit.webpack", - "version": "0.0.816", + "version": "0.0.818", "mainFile": "index.ts", "rootDir": "scopes/webpack/webpack" }, "worker": { "scope": "teambit.harmony", - "version": "0.0.816", + "version": "0.0.818", "mainFile": "index.ts", "rootDir": "scopes/harmony/worker" }, "workspace": { "scope": "teambit.workspace", - "version": "0.0.816", + "version": "0.0.818", "mainFile": "index.ts", "rootDir": "scopes/workspace/workspace" }, "yarn": { "scope": "teambit.dependencies", - "version": "0.0.817", + "version": "0.0.819", "mainFile": "index.ts", "rootDir": "scopes/dependencies/yarn" }, diff --git a/.circleci/config.yml b/.circleci/config.yml index 0d8bd16e0d65..52e17dc050c5 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -14,7 +14,7 @@ default_working_dir: &default_working_dir working_directory: ~/bit orbs: - win: circleci/windows@5.0 + win: circleci/windows@4.1 windows_default_working_dir: &windows_default_working_dir working_directory: C:\Users\circleci\project\bit @@ -938,10 +938,11 @@ jobs: # - run: choco install nodejs --version 16.15.1 # - run: cinst nodejs --version 16.16.0 # - run: nodejs.install v12.16.0 - - run: nvm install 16.16.0 - - run: nvm use 16.16.0 + # We can't use Node.js newer than 16.13.2 due to this issue with npm: https://github.com/npm/cli/issues/4234 + - run: nvm install 16.13.2 + - run: nvm use 16.13.2 - run: node -v - - run: corepack enable + - run: npm install --global yarn - run: 'yarn -v' - run: name: set bit.dev registry @@ -1305,7 +1306,10 @@ jobs: - restore_cache: key: v2-bvm-folder-{{ checksum "version.txt" }} - run: 'npm i -g @teambit/bvm' - - run: 'bvm upgrade' + - run: + name: 'bvm upgrade' + command: 'bvm upgrade' + no_output_timeout: 60m - run: 'setx path "%path%;C:\Users\circleci\AppData\Local\.bvm"' - run: 'bit -v' - run: bit -v | Out-File -FilePath .\version.txt @@ -1329,7 +1333,9 @@ jobs: steps: - attach_workspace: at: . - - run: cinst nodejs --version 16.16.0 + # We can't use Node.js newer than 16.13.2 due to this issue with npm: https://github.com/npm/cli/issues/4234 + - run: nvm install 16.13.2 + - run: nvm use 16.13.2 - run: node -v - run: npm -v # - run: Get-Content -Path .\version.txt @@ -1384,7 +1390,9 @@ jobs: steps: - attach_workspace: at: . - - run: cinst nodejs --version 16.16.0 + # We can't use Node.js newer than 16.13.2 due to this issue with npm: https://github.com/npm/cli/issues/4234 + - run: nvm install 16.13.2 + - run: nvm use 16.13.2 - run: node -v - run: npm -v # - run: Get-Content -Path .\version.txt diff --git a/e2e/harmony/imported-component-deps.e2e.ts b/e2e/harmony/imported-component-deps.e2e.ts index 54a3f984dbfb..173795a99576 100644 --- a/e2e/harmony/imported-component-deps.e2e.ts +++ b/e2e/harmony/imported-component-deps.e2e.ts @@ -20,13 +20,17 @@ import NpmCiRegistry, { supportNpmCiRegistryTesting } from '../npm-ci-registry'; npmCiRegistry.configureCiInPackageJsonHarmony(); helper.fixtures.populateComponents(3); scope = `@${helper.scopes.remote.replace('.', '/')}.`; - helper.fs.outputFile(`comp1/index.js`, `const comp3 = require("${scope}comp3");`); - helper.fs.outputFile(`comp2/index.js`, `const comp3 = require("${scope}comp3");`); - helper.command.install(); + const code = `const comp3 = require("${scope}comp3"); +const isPositive = require('is-positive'); +`; + helper.fs.outputFile(`comp1/index.js`, code); + helper.fs.outputFile(`comp2/index.js`, code); + helper.command.install('is-positive@1.0.0'); helper.command.compile(); helper.command.tagComponent('comp3 comp1'); helper.command.export(); helper.command.removeComponent('comp1'); + helper.command.install('is-positive@2.0.0 --update-existing'); helper.command.tagComponent('comp3 comp2', undefined, '--unmodified'); helper.command.export(); @@ -37,7 +41,7 @@ import NpmCiRegistry, { supportNpmCiRegistryTesting } from '../npm-ci-registry'; helper.command.import(`${helper.scopes.remote}/comp1`); helper.command.import(`${helper.scopes.remote}/comp2`); }); - it('should install dependencies from their respective models to the imported components', () => { + it('should install component dependencies from their respective models to the imported components', () => { expect(helper.fs.readJsonFile(`node_modules/${scope}comp3/package.json`).version).to.eq('0.0.1'); expect( helper.fs.readJsonFile( @@ -45,6 +49,14 @@ import NpmCiRegistry, { supportNpmCiRegistryTesting } from '../npm-ci-registry'; ).version ).to.eq('0.0.2'); }); + it('should install package dependencies from their respective models to the imported components', () => { + expect(helper.fs.readJsonFile(`node_modules/is-positive/package.json`).version).to.eq('1.0.0'); + expect( + helper.fs.readJsonFile( + path.join(helper.scopes.remoteWithoutOwner, `comp2/node_modules/is-positive/package.json`) + ).version + ).to.eq('2.0.0'); + }); after(() => { npmCiRegistry.destroy(); }); diff --git a/e2e/harmony/installing-component-dependency.e2e.ts b/e2e/harmony/installing-component-dependency.e2e.ts new file mode 100644 index 000000000000..c82cccba88c1 --- /dev/null +++ b/e2e/harmony/installing-component-dependency.e2e.ts @@ -0,0 +1,49 @@ +import { expect } from 'chai'; +import path from 'path'; +import Helper from '../../src/e2e-helper/e2e-helper'; +import NpmCiRegistry, { supportNpmCiRegistryTesting } from '../npm-ci-registry'; + +(supportNpmCiRegistryTesting ? describe : describe.skip)('installing a component dependency', function () { + this.timeout(0); + let scope: string; + let helper: Helper; + let npmCiRegistry: NpmCiRegistry; + before(async () => { + helper = new Helper({ scopesOptions: { remoteScopeWithDot: true } }); + helper.scopeHelper.setNewLocalAndRemoteScopesHarmony(); + helper.bitJsonc.setupDefault(); + helper.bitJsonc.setPackageManager(`teambit.dependencies/pnpm`); + npmCiRegistry = new NpmCiRegistry(helper); + await npmCiRegistry.init(); + npmCiRegistry.configureCiInPackageJsonHarmony(); + helper.fixtures.populateComponents(2); + scope = `@${helper.scopes.remote.replace('.', '/')}.`; + helper.fs.outputFile(`comp1/index.js`, `const comp2 = require("${scope}comp2");`); + helper.command.install(); + helper.command.compile(); + helper.command.tagComponent('comp2 comp1'); + helper.command.export(); + helper.command.removeComponent('comp1'); + helper.command.tagComponent('comp2', undefined, '--unmodified'); + helper.command.export(); + + helper.scopeHelper.reInitLocalScopeHarmony(); + helper.extensions.bitJsonc.setPackageManager(`teambit.dependencies/pnpm`); + helper.scopeHelper.addRemoteScope(); + helper.bitJsonc.setupDefault(); + helper.command.import(`${helper.scopes.remote}/comp1`); + }); + it('should install the version of the component dependency from the model, when it is not in the workspace policies', () => { + expect(helper.fs.readJsonFile(`node_modules/${scope}comp2/package.json`).version).to.eq('0.0.1'); + }); + it('should not install the version of the component dependency from the model, when the component dependency is in the workspace policies', () => { + helper.command.install(`${scope}comp2@0.0.2`); + expect(helper.fs.readJsonFile(`node_modules/${scope}comp2/package.json`).version).to.eq('0.0.2'); + expect( + helper.fs.exists(path.join(helper.scopes.remoteWithoutOwner, `comp1/node_modules/${scope}comp2/package.json`)) + ).to.eq(false); + }); + after(() => { + npmCiRegistry.destroy(); + }); +}); diff --git a/package.json b/package.json index c004e832e89f..4053852f4953 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@teambit/legacy", - "version": "1.0.327", + "version": "1.0.329", "license": "Apache-2.0", "main": "./dist/api.js", "preferGlobal": true, diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 9453a0483740..d3e1110ab588 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -143,7 +143,7 @@ importers: '@teambit/graph.cleargraph': 0.0.1 '@teambit/graphql.hooks.use-query-light': 1.0.0 '@teambit/harmony': 0.3.3 - '@teambit/legacy': 1.0.327 + '@teambit/legacy': 1.0.328 '@teambit/pkg.content.packages-overview': 1.95.9 '@teambit/react.content.react-overview': 1.95.0 '@teambit/react.instructions.react-native.adding-tests': 0.0.1 @@ -632,10 +632,10 @@ importers: '@teambit/base-ui.utils.string.affix': registry.npmjs.org/@teambit/base-ui.utils.string.affix/1.0.0_sfoxds7t5ydpegc3knd667wn6m '@teambit/base-ui.utils.time-ago': registry.npmjs.org/@teambit/base-ui.utils.time-ago/1.0.1_sfoxds7t5ydpegc3knd667wn6m '@teambit/bvm.config': registry.npmjs.org/@teambit/bvm.config/0.0.26 - '@teambit/bvm.list': registry.npmjs.org/@teambit/bvm.list/0.0.33_@teambit+legacy@1.0.327 + '@teambit/bvm.list': registry.npmjs.org/@teambit/bvm.list/0.0.33_@teambit+legacy@1.0.328 '@teambit/capsule': registry.npmjs.org/@teambit/capsule/0.0.12 '@teambit/component-version': registry.npmjs.org/@teambit/component-version/0.0.395 - '@teambit/component.instructions.exporting-components': registry.npmjs.org/@teambit/component.instructions.exporting-components/0.0.6_sbf7ripzqgb2lstyqro7oe5stu + '@teambit/component.instructions.exporting-components': registry.npmjs.org/@teambit/component.instructions.exporting-components/0.0.6_7fqrbb6jgh4ijdiupfm745kwd4 '@teambit/design.elements.icon': registry.npmjs.org/@teambit/design.elements.icon/1.0.5_sfoxds7t5ydpegc3knd667wn6m '@teambit/design.inputs.dropdown': registry.npmjs.org/@teambit/design.inputs.dropdown/0.0.7_sfoxds7t5ydpegc3knd667wn6m '@teambit/design.inputs.selectors.multi-select': registry.npmjs.org/@teambit/design.inputs.selectors.multi-select/0.0.20_sfoxds7t5ydpegc3knd667wn6m @@ -673,13 +673,13 @@ importers: '@teambit/graph.cleargraph': 0.0.1 '@teambit/graphql.hooks.use-query-light': 1.0.0_n2jujwadezxebf7l7774r46zly '@teambit/harmony': registry.npmjs.org/@teambit/harmony/0.3.3 - '@teambit/legacy': registry.npmjs.org/@teambit/legacy/1.0.327_ev5kpl4xtjr2abkky7wuhwawze - '@teambit/react.instructions.react-native.adding-tests': 0.0.1_sbf7ripzqgb2lstyqro7oe5stu - '@teambit/react.instructions.react.adding-compositions': registry.npmjs.org/@teambit/react.instructions.react.adding-compositions/0.0.6_sbf7ripzqgb2lstyqro7oe5stu - '@teambit/react.instructions.react.adding-tests': registry.npmjs.org/@teambit/react.instructions.react.adding-tests/0.0.6_sbf7ripzqgb2lstyqro7oe5stu + '@teambit/legacy': registry.npmjs.org/@teambit/legacy/1.0.328_ev5kpl4xtjr2abkky7wuhwawze + '@teambit/react.instructions.react-native.adding-tests': 0.0.1_7fqrbb6jgh4ijdiupfm745kwd4 + '@teambit/react.instructions.react.adding-compositions': registry.npmjs.org/@teambit/react.instructions.react.adding-compositions/0.0.6_7fqrbb6jgh4ijdiupfm745kwd4 + '@teambit/react.instructions.react.adding-tests': registry.npmjs.org/@teambit/react.instructions.react.adding-tests/0.0.6_7fqrbb6jgh4ijdiupfm745kwd4 '@teambit/react.rendering.ssr': 0.0.3_sfoxds7t5ydpegc3knd667wn6m '@teambit/react.ui.component-highlighter': registry.npmjs.org/@teambit/react.ui.component-highlighter/0.2.0_k2mvpji5i2ojml6m4ftklg47pa - '@teambit/toolbox.network.agent': registry.npmjs.org/@teambit/toolbox.network.agent/0.0.116_@teambit+legacy@1.0.327 + '@teambit/toolbox.network.agent': registry.npmjs.org/@teambit/toolbox.network.agent/0.0.116_@teambit+legacy@1.0.328 '@teambit/ui-foundation.ui.navigation.react-router-adapter': 6.1.1_ppsqebebxv36ufolemlglrasza '@testing-library/jest-dom': registry.npmjs.org/@testing-library/jest-dom/5.16.2 '@testing-library/jest-native': registry.npmjs.org/@testing-library/jest-native/4.0.4 @@ -1061,24 +1061,24 @@ importers: yargs: registry.npmjs.org/yargs/17.0.1 yn: registry.npmjs.org/yn/2.0.0 devDependencies: - '@teambit/bit.content.what-is-bit': 1.96.2_3hgz5jcsbtc2vu7rlihygyoe6q + '@teambit/bit.content.what-is-bit': 1.96.2_pqpacps7652d2izpsuzpeeaify '@teambit/code.ui.object-formatter': 0.0.1_react@17.0.2 - '@teambit/compilation.content.compiler-overview': 1.95.0_sbf7ripzqgb2lstyqro7oe5stu - '@teambit/component.content.component-overview': 1.95.0_sbf7ripzqgb2lstyqro7oe5stu - '@teambit/component.content.dev-files': 1.95.9_sbf7ripzqgb2lstyqro7oe5stu - '@teambit/defender.content.formatter-overview': 1.96.1_7xid2gzhy7pcqd7l5sjvkc3ea4 - '@teambit/defender.content.linter-overview': 1.95.0_sbf7ripzqgb2lstyqro7oe5stu - '@teambit/defender.content.tester-overview': 1.95.0_sbf7ripzqgb2lstyqro7oe5stu + '@teambit/compilation.content.compiler-overview': 1.95.0_7fqrbb6jgh4ijdiupfm745kwd4 + '@teambit/component.content.component-overview': 1.95.0_7fqrbb6jgh4ijdiupfm745kwd4 + '@teambit/component.content.dev-files': 1.95.9_7fqrbb6jgh4ijdiupfm745kwd4 + '@teambit/defender.content.formatter-overview': 1.96.1_yyjxxbxzgdtr4jet5ub7yhljtu + '@teambit/defender.content.linter-overview': 1.95.0_7fqrbb6jgh4ijdiupfm745kwd4 + '@teambit/defender.content.tester-overview': 1.95.0_7fqrbb6jgh4ijdiupfm745kwd4 '@teambit/defender.fs.global-bit-temp-dir': 0.0.1 '@teambit/design.ui.brand.logo': 1.96.2_cuf6fvcrkey6ktqfghqvi47tva - '@teambit/docs.content.docs-overview': 1.95.9_sbf7ripzqgb2lstyqro7oe5stu + '@teambit/docs.content.docs-overview': 1.95.9_7fqrbb6jgh4ijdiupfm745kwd4 '@teambit/documenter.theme.theme-compositions': registry.npmjs.org/@teambit/documenter.theme.theme-compositions/4.1.1_sfoxds7t5ydpegc3knd667wn6m '@teambit/documenter.ui.paragraph': registry.npmjs.org/@teambit/documenter.ui.paragraph/4.1.1_sfoxds7t5ydpegc3knd667wn6m - '@teambit/pkg.content.packages-overview': 1.95.9_7xid2gzhy7pcqd7l5sjvkc3ea4 - '@teambit/react.content.react-overview': 1.95.0_sbf7ripzqgb2lstyqro7oe5stu - '@teambit/scope.content.scope-overview': 1.95.0_sbf7ripzqgb2lstyqro7oe5stu - '@teambit/workspace.content.variants': 1.95.9_sbf7ripzqgb2lstyqro7oe5stu - '@teambit/workspace.content.workspace-overview': 1.95.0_sbf7ripzqgb2lstyqro7oe5stu + '@teambit/pkg.content.packages-overview': 1.95.9_yyjxxbxzgdtr4jet5ub7yhljtu + '@teambit/react.content.react-overview': 1.95.0_7fqrbb6jgh4ijdiupfm745kwd4 + '@teambit/scope.content.scope-overview': 1.95.0_7fqrbb6jgh4ijdiupfm745kwd4 + '@teambit/workspace.content.variants': 1.95.9_7fqrbb6jgh4ijdiupfm745kwd4 + '@teambit/workspace.content.workspace-overview': 1.95.0_7fqrbb6jgh4ijdiupfm745kwd4 '@testing-library/react': registry.npmjs.org/@testing-library/react/12.1.5_sfoxds7t5ydpegc3knd667wn6m '@types/eslint': registry.npmjs.org/@types/eslint/7.28.0 '@types/jest': registry.npmjs.org/@types/jest/26.0.20 @@ -1370,6 +1370,9 @@ importers: scopes/defender/ui/test-loader: specifiers: {} + scopes/defender/ui/test-page: + specifiers: {} + scopes/defender/ui/test-row: specifiers: {} @@ -2154,7 +2157,7 @@ packages: react-dom: registry.npmjs.org/react-dom/17.0.2_react@17.0.2 dev: true - /@teambit/bit.content.what-is-bit/1.96.2_3hgz5jcsbtc2vu7rlihygyoe6q: + /@teambit/bit.content.what-is-bit/1.96.2_pqpacps7652d2izpsuzpeeaify: resolution: {integrity: sha1-F6iK8JMYsiTXqPK4KiYe2lUP42k=, tarball: '@teambit/bit.content.what-is-bit/-/@teambit-bit.content.what-is-bit-1.96.2.tgz'} peerDependencies: react: ^16.8.0 || ^17.0.0 @@ -2164,7 +2167,7 @@ packages: '@teambit/design.ui.brand.logo': 1.96.2_cuf6fvcrkey6ktqfghqvi47tva '@teambit/design.ui.layouts.sections.left-right': 1.96.2_radvm4s7delludf44666562sni '@teambit/explorer.ui.gallery.component-card-group': 1.96.1_cuf6fvcrkey6ktqfghqvi47tva - '@teambit/mdx.ui.mdx-scope-context': registry.npmjs.org/@teambit/mdx.ui.mdx-scope-context/0.0.368_sbf7ripzqgb2lstyqro7oe5stu + '@teambit/mdx.ui.mdx-scope-context': registry.npmjs.org/@teambit/mdx.ui.mdx-scope-context/0.0.368_7fqrbb6jgh4ijdiupfm745kwd4 react: registry.npmjs.org/react/17.0.2 transitivePeerDependencies: - '@teambit/legacy' @@ -2183,20 +2186,20 @@ packages: react: registry.npmjs.org/react/17.0.2 dev: true - /@teambit/community.entity.graph.bubble-graph/1.95.0_sbf7ripzqgb2lstyqro7oe5stu: + /@teambit/community.entity.graph.bubble-graph/1.95.0_7fqrbb6jgh4ijdiupfm745kwd4: resolution: {integrity: sha1-DyejJtL3Qht5BLLPYiBdJ4lnK00=, tarball: '@teambit/community.entity.graph.bubble-graph/-/@teambit-community.entity.graph.bubble-graph-1.95.0.tgz'} dependencies: - '@teambit/community.entity.graph.grid-graph': 1.95.0_sbf7ripzqgb2lstyqro7oe5stu + '@teambit/community.entity.graph.grid-graph': 1.95.0_7fqrbb6jgh4ijdiupfm745kwd4 transitivePeerDependencies: - '@teambit/legacy' - react - react-dom dev: true - /@teambit/community.entity.graph.grid-graph/1.95.0_sbf7ripzqgb2lstyqro7oe5stu: + /@teambit/community.entity.graph.grid-graph/1.95.0_7fqrbb6jgh4ijdiupfm745kwd4: resolution: {integrity: sha1-/SO0DWAyqn76HbmhRfTxwsE/2BA=, tarball: '@teambit/community.entity.graph.grid-graph/-/@teambit-community.entity.graph.grid-graph-1.95.0.tgz'} dependencies: - '@teambit/component-id': registry.npmjs.org/@teambit/component-id/0.0.369_sbf7ripzqgb2lstyqro7oe5stu + '@teambit/component-id': registry.npmjs.org/@teambit/component-id/0.0.369_7fqrbb6jgh4ijdiupfm745kwd4 react-xarrows: registry.npmjs.org/react-xarrows/2.0.2_react@17.0.2 transitivePeerDependencies: - '@teambit/legacy' @@ -2204,14 +2207,14 @@ packages: - react-dom dev: true - /@teambit/compilation.content.compiler-overview/1.95.0_sbf7ripzqgb2lstyqro7oe5stu: + /@teambit/compilation.content.compiler-overview/1.95.0_7fqrbb6jgh4ijdiupfm745kwd4: resolution: {integrity: sha1-Tx2zgDjbSEzSAPclXSbRVbNvqfw=, tarball: '@teambit/compilation.content.compiler-overview/-/@teambit-compilation.content.compiler-overview-1.95.0.tgz'} peerDependencies: react: ^16.8.0 || ^17.0.0 react-dom: ^16.8.0 || ^17.0.0 dependencies: '@mdx-js/react': registry.npmjs.org/@mdx-js/react/1.6.22_react@17.0.2 - '@teambit/mdx.ui.mdx-scope-context': registry.npmjs.org/@teambit/mdx.ui.mdx-scope-context/0.0.368_sbf7ripzqgb2lstyqro7oe5stu + '@teambit/mdx.ui.mdx-scope-context': registry.npmjs.org/@teambit/mdx.ui.mdx-scope-context/0.0.368_7fqrbb6jgh4ijdiupfm745kwd4 core-js: registry.npmjs.org/core-js/3.13.0 react: registry.npmjs.org/react/17.0.2 react-dom: registry.npmjs.org/react-dom/17.0.2_react@17.0.2 @@ -2219,16 +2222,16 @@ packages: - '@teambit/legacy' dev: true - /@teambit/component.content.component-overview/1.95.0_sbf7ripzqgb2lstyqro7oe5stu: + /@teambit/component.content.component-overview/1.95.0_7fqrbb6jgh4ijdiupfm745kwd4: resolution: {integrity: sha1-9Dbi90Jg9C5Jmy4g7IdouEqSuo8=, tarball: '@teambit/component.content.component-overview/-/@teambit-component.content.component-overview-1.95.0.tgz'} peerDependencies: react: ^16.8.0 || ^17.0.0 react-dom: ^16.8.0 || ^17.0.0 dependencies: '@mdx-js/react': registry.npmjs.org/@mdx-js/react/1.6.22_react@17.0.2 - '@teambit/community.entity.graph.bubble-graph': 1.95.0_sbf7ripzqgb2lstyqro7oe5stu + '@teambit/community.entity.graph.bubble-graph': 1.95.0_7fqrbb6jgh4ijdiupfm745kwd4 '@teambit/docs.ui.zoomable-image': 1.95.0_sfoxds7t5ydpegc3knd667wn6m - '@teambit/mdx.ui.mdx-scope-context': registry.npmjs.org/@teambit/mdx.ui.mdx-scope-context/0.0.368_sbf7ripzqgb2lstyqro7oe5stu + '@teambit/mdx.ui.mdx-scope-context': registry.npmjs.org/@teambit/mdx.ui.mdx-scope-context/0.0.368_7fqrbb6jgh4ijdiupfm745kwd4 core-js: registry.npmjs.org/core-js/3.13.0 react: registry.npmjs.org/react/17.0.2 react-dom: registry.npmjs.org/react-dom/17.0.2_react@17.0.2 @@ -2236,28 +2239,28 @@ packages: - '@teambit/legacy' dev: true - /@teambit/component.content.dev-files/1.95.9_sbf7ripzqgb2lstyqro7oe5stu: + /@teambit/component.content.dev-files/1.95.9_7fqrbb6jgh4ijdiupfm745kwd4: resolution: {integrity: sha1-mkTDg0tdxiZhKKExHhyxyG6DPjc=, tarball: '@teambit/component.content.dev-files/-/@teambit-component.content.dev-files-1.95.9.tgz'} dependencies: '@mdx-js/react': registry.npmjs.org/@mdx-js/react/1.6.22_react@17.0.2 - '@teambit/mdx.ui.mdx-scope-context': registry.npmjs.org/@teambit/mdx.ui.mdx-scope-context/0.0.368_sbf7ripzqgb2lstyqro7oe5stu + '@teambit/mdx.ui.mdx-scope-context': registry.npmjs.org/@teambit/mdx.ui.mdx-scope-context/0.0.368_7fqrbb6jgh4ijdiupfm745kwd4 transitivePeerDependencies: - '@teambit/legacy' - react - react-dom dev: true - /@teambit/components.blocks.component-card-display/0.0.13_7xid2gzhy7pcqd7l5sjvkc3ea4: + /@teambit/components.blocks.component-card-display/0.0.13_yyjxxbxzgdtr4jet5ub7yhljtu: resolution: {integrity: sha1-jdwURBnGqc7/r4dGZ7hTyoeBPNs=, tarball: '@teambit/components.blocks.component-card-display/-/@teambit-components.blocks.component-card-display-0.0.13.tgz'} peerDependencies: react: ^16.8.0 || ^17.0.0 dependencies: '@teambit/component-id': registry.npmjs.org/@teambit/component-id/0.0.401 - '@teambit/components.hooks.use-components': 0.0.11_6liexgixly7n5l3vhrtwd6kt6e - '@teambit/explorer.plugins.env-plugin': 0.0.10_sbf7ripzqgb2lstyqro7oe5stu - '@teambit/explorer.plugins.preview-plugin': 0.0.4_sbf7ripzqgb2lstyqro7oe5stu - '@teambit/explorer.ui.component-card': 0.0.11_3hgz5jcsbtc2vu7rlihygyoe6q - '@teambit/explorer.ui.component-card-grid': 0.0.12_3hgz5jcsbtc2vu7rlihygyoe6q + '@teambit/components.hooks.use-components': 0.0.11_7n73doejiegkg7i3anwyunzlbq + '@teambit/explorer.plugins.env-plugin': 0.0.10_7fqrbb6jgh4ijdiupfm745kwd4 + '@teambit/explorer.plugins.preview-plugin': 0.0.4_7fqrbb6jgh4ijdiupfm745kwd4 + '@teambit/explorer.ui.component-card': 0.0.11_pqpacps7652d2izpsuzpeeaify + '@teambit/explorer.ui.component-card-grid': 0.0.12_pqpacps7652d2izpsuzpeeaify core-js: registry.npmjs.org/core-js/3.22.5 react: registry.npmjs.org/react/17.0.2 transitivePeerDependencies: @@ -2268,20 +2271,20 @@ packages: - react-dom dev: true - /@teambit/components.blocks.component-card-display/0.0.24_7xid2gzhy7pcqd7l5sjvkc3ea4: + /@teambit/components.blocks.component-card-display/0.0.24_yyjxxbxzgdtr4jet5ub7yhljtu: resolution: {integrity: sha1-OlVc0FyFcCB5yfe3qAG/tJbiAco=, tarball: '@teambit/components.blocks.component-card-display/-/@teambit-components.blocks.component-card-display-0.0.24.tgz'} peerDependencies: react: ^16.8.0 || ^17.0.0 dependencies: '@teambit/component-id': registry.npmjs.org/@teambit/component-id/0.0.402 - '@teambit/components.descriptors.component-descriptor': 0.0.14_sbf7ripzqgb2lstyqro7oe5stu - '@teambit/components.hooks.use-component-count': 0.0.7_6liexgixly7n5l3vhrtwd6kt6e - '@teambit/components.hooks.use-components': 0.0.10_4cyucpryucn5q5oyqerqxklrym - '@teambit/components.hooks.use-list-components': 0.0.7_6liexgixly7n5l3vhrtwd6kt6e - '@teambit/explorer.plugins.env-plugin': 0.0.13_sbf7ripzqgb2lstyqro7oe5stu - '@teambit/explorer.plugins.preview-plugin': 0.0.9_3hgz5jcsbtc2vu7rlihygyoe6q - '@teambit/explorer.ui.component-card': 0.0.14_3hgz5jcsbtc2vu7rlihygyoe6q - '@teambit/explorer.ui.component-card-grid': 0.0.15_3hgz5jcsbtc2vu7rlihygyoe6q + '@teambit/components.descriptors.component-descriptor': 0.0.14_7fqrbb6jgh4ijdiupfm745kwd4 + '@teambit/components.hooks.use-component-count': 0.0.7_7n73doejiegkg7i3anwyunzlbq + '@teambit/components.hooks.use-components': 0.0.10_gvcahjkqeqksu2fsznbk6cnpoe + '@teambit/components.hooks.use-list-components': 0.0.7_7n73doejiegkg7i3anwyunzlbq + '@teambit/explorer.plugins.env-plugin': 0.0.13_7fqrbb6jgh4ijdiupfm745kwd4 + '@teambit/explorer.plugins.preview-plugin': 0.0.9_pqpacps7652d2izpsuzpeeaify + '@teambit/explorer.ui.component-card': 0.0.14_pqpacps7652d2izpsuzpeeaify + '@teambit/explorer.ui.component-card-grid': 0.0.15_pqpacps7652d2izpsuzpeeaify core-js: registry.npmjs.org/core-js/3.22.5 react: registry.npmjs.org/react/17.0.2 transitivePeerDependencies: @@ -2310,10 +2313,10 @@ packages: graphql-tag: registry.npmjs.org/graphql-tag/2.12.1_graphql@14.7.0 dev: true - /@teambit/components.descriptors.component-descriptor/0.0.14_sbf7ripzqgb2lstyqro7oe5stu: + /@teambit/components.descriptors.component-descriptor/0.0.14_7fqrbb6jgh4ijdiupfm745kwd4: resolution: {integrity: sha1-ZeYw+0jEa9tTCVUggXlIVFTJxaE=, tarball: '@teambit/components.descriptors.component-descriptor/-/@teambit-components.descriptors.component-descriptor-0.0.14.tgz'} dependencies: - '@teambit/component-descriptor': registry.npmjs.org/@teambit/component-descriptor/0.0.3_sbf7ripzqgb2lstyqro7oe5stu + '@teambit/component-descriptor': registry.npmjs.org/@teambit/component-descriptor/0.0.3_7fqrbb6jgh4ijdiupfm745kwd4 '@teambit/component-id': registry.npmjs.org/@teambit/component-id/0.0.402 '@teambit/scopes.scope-id': 0.0.3 transitivePeerDependencies: @@ -2322,10 +2325,10 @@ packages: - react-dom dev: true - /@teambit/components.descriptors.component-descriptor/0.0.6_sbf7ripzqgb2lstyqro7oe5stu: + /@teambit/components.descriptors.component-descriptor/0.0.6_7fqrbb6jgh4ijdiupfm745kwd4: resolution: {integrity: sha1-VoayQSccNGOoiQn0eXOQUTylk6Q=, tarball: '@teambit/components.descriptors.component-descriptor/-/@teambit-components.descriptors.component-descriptor-0.0.6.tgz'} dependencies: - '@teambit/component-descriptor': registry.npmjs.org/@teambit/component-descriptor/0.0.12_sbf7ripzqgb2lstyqro7oe5stu + '@teambit/component-descriptor': registry.npmjs.org/@teambit/component-descriptor/0.0.12_7fqrbb6jgh4ijdiupfm745kwd4 '@teambit/component-id': registry.npmjs.org/@teambit/component-id/0.0.401 '@teambit/scopes.scope-id': 0.0.1 transitivePeerDependencies: @@ -2334,10 +2337,10 @@ packages: - react-dom dev: true - /@teambit/components.descriptors.component-descriptor/0.0.7_sbf7ripzqgb2lstyqro7oe5stu: + /@teambit/components.descriptors.component-descriptor/0.0.7_7fqrbb6jgh4ijdiupfm745kwd4: resolution: {integrity: sha1-HkbSWB5GKqJNAMc3Eo8n3AiRkOo=, tarball: '@teambit/components.descriptors.component-descriptor/-/@teambit-components.descriptors.component-descriptor-0.0.7.tgz'} dependencies: - '@teambit/component-descriptor': registry.npmjs.org/@teambit/component-descriptor/0.0.3_sbf7ripzqgb2lstyqro7oe5stu + '@teambit/component-descriptor': registry.npmjs.org/@teambit/component-descriptor/0.0.3_7fqrbb6jgh4ijdiupfm745kwd4 '@teambit/component-id': registry.npmjs.org/@teambit/component-id/0.0.401 '@teambit/scopes.scope-id': 0.0.1 transitivePeerDependencies: @@ -2346,13 +2349,13 @@ packages: - react-dom dev: true - /@teambit/components.hooks.use-component-count/0.0.7_6liexgixly7n5l3vhrtwd6kt6e: + /@teambit/components.hooks.use-component-count/0.0.7_7n73doejiegkg7i3anwyunzlbq: resolution: {integrity: sha1-CjYLTYK0d4z4soJFrz3oU0+z81M=, tarball: '@teambit/components.hooks.use-component-count/-/@teambit-components.hooks.use-component-count-0.0.7.tgz'} peerDependencies: react: ^16.8.0 || ^17.0.0 dependencies: '@teambit/analytics.timeseries': 0.0.25_tloenrl623vhjoeyjjdtfw5s2y - '@teambit/graphql.hooks.use-query': 0.0.7_3wo3nmblkdo5t7on647oczth7m + '@teambit/graphql.hooks.use-query': 0.0.7_4peuey32ij3ku7gqlrn77aaumy core-js: registry.npmjs.org/core-js/3.22.5 graphql-tag: registry.npmjs.org/graphql-tag/2.12.1_graphql@14.7.0 react: registry.npmjs.org/react/17.0.2 @@ -2363,12 +2366,12 @@ packages: - react-dom dev: true - /@teambit/components.hooks.use-components/0.0.10_4cyucpryucn5q5oyqerqxklrym: + /@teambit/components.hooks.use-components/0.0.10_gvcahjkqeqksu2fsznbk6cnpoe: resolution: {integrity: sha1-sSRUFzKDbhghNcEX8/UteRwCjdM=, tarball: '@teambit/components.hooks.use-components/-/@teambit-components.hooks.use-components-0.0.10.tgz'} dependencies: '@teambit/components.clients.components-node': 0.0.5_graphql@14.7.0 - '@teambit/components.descriptors.component-descriptor': 0.0.6_sbf7ripzqgb2lstyqro7oe5stu - '@teambit/graphql.hooks.use-query': 0.0.1_3wo3nmblkdo5t7on647oczth7m + '@teambit/components.descriptors.component-descriptor': 0.0.6_7fqrbb6jgh4ijdiupfm745kwd4 + '@teambit/graphql.hooks.use-query': 0.0.1_4peuey32ij3ku7gqlrn77aaumy react: registry.npmjs.org/react/17.0.2 transitivePeerDependencies: - '@apollo/client' @@ -2377,14 +2380,14 @@ packages: - react-dom dev: true - /@teambit/components.hooks.use-components/0.0.11_6liexgixly7n5l3vhrtwd6kt6e: + /@teambit/components.hooks.use-components/0.0.11_7n73doejiegkg7i3anwyunzlbq: resolution: {integrity: sha1-mcBupurgV66olC1DdF9uh9enrk8=, tarball: '@teambit/components.hooks.use-components/-/@teambit-components.hooks.use-components-0.0.11.tgz'} peerDependencies: react: 17.0.2 dependencies: '@teambit/components.clients.components-node': 0.0.6_graphql@14.7.0 - '@teambit/components.descriptors.component-descriptor': 0.0.7_sbf7ripzqgb2lstyqro7oe5stu - '@teambit/graphql.hooks.use-query': 0.0.1_3wo3nmblkdo5t7on647oczth7m + '@teambit/components.descriptors.component-descriptor': 0.0.7_7fqrbb6jgh4ijdiupfm745kwd4 + '@teambit/graphql.hooks.use-query': 0.0.1_4peuey32ij3ku7gqlrn77aaumy react: registry.npmjs.org/react/17.0.2 transitivePeerDependencies: - '@apollo/client' @@ -2393,14 +2396,14 @@ packages: - react-dom dev: true - /@teambit/components.hooks.use-list-components/0.0.7_6liexgixly7n5l3vhrtwd6kt6e: + /@teambit/components.hooks.use-list-components/0.0.7_7n73doejiegkg7i3anwyunzlbq: resolution: {integrity: sha1-rj+nJVVF4Wp2GAPOkzrVdAt5WKE=, tarball: '@teambit/components.hooks.use-list-components/-/@teambit-components.hooks.use-list-components-0.0.7.tgz'} peerDependencies: react: ^16.8.0 || ^17.0.0 dependencies: - '@teambit/components.descriptors.component-descriptor': 0.0.14_sbf7ripzqgb2lstyqro7oe5stu - '@teambit/components.hooks.use-component-count': 0.0.7_6liexgixly7n5l3vhrtwd6kt6e - '@teambit/graphql.hooks.use-query': 0.0.7_3wo3nmblkdo5t7on647oczth7m + '@teambit/components.descriptors.component-descriptor': 0.0.14_7fqrbb6jgh4ijdiupfm745kwd4 + '@teambit/components.hooks.use-component-count': 0.0.7_7n73doejiegkg7i3anwyunzlbq + '@teambit/graphql.hooks.use-query': 0.0.7_4peuey32ij3ku7gqlrn77aaumy core-js: registry.npmjs.org/core-js/3.22.5 graphql-tag: registry.npmjs.org/graphql-tag/2.12.1_graphql@14.7.0 react: registry.npmjs.org/react/17.0.2 @@ -2411,14 +2414,14 @@ packages: - react-dom dev: true - /@teambit/defender.content.formatter-overview/1.96.1_7xid2gzhy7pcqd7l5sjvkc3ea4: + /@teambit/defender.content.formatter-overview/1.96.1_yyjxxbxzgdtr4jet5ub7yhljtu: resolution: {integrity: sha1-r+8A4YQj5e9uNgpqwFhEVQ4UpoA=, tarball: '@teambit/defender.content.formatter-overview/-/@teambit-defender.content.formatter-overview-1.96.1.tgz'} peerDependencies: react: ^16.8.0 || ^17.0.0 dependencies: '@mdx-js/react': registry.npmjs.org/@mdx-js/react/1.6.22_react@17.0.2 - '@teambit/components.blocks.component-card-display': 0.0.24_7xid2gzhy7pcqd7l5sjvkc3ea4 - '@teambit/mdx.ui.mdx-scope-context': registry.npmjs.org/@teambit/mdx.ui.mdx-scope-context/0.0.368_sbf7ripzqgb2lstyqro7oe5stu + '@teambit/components.blocks.component-card-display': 0.0.24_yyjxxbxzgdtr4jet5ub7yhljtu + '@teambit/mdx.ui.mdx-scope-context': registry.npmjs.org/@teambit/mdx.ui.mdx-scope-context/0.0.368_7fqrbb6jgh4ijdiupfm745kwd4 react: registry.npmjs.org/react/17.0.2 transitivePeerDependencies: - '@apollo/client' @@ -2428,14 +2431,14 @@ packages: - react-dom dev: true - /@teambit/defender.content.linter-overview/1.95.0_sbf7ripzqgb2lstyqro7oe5stu: + /@teambit/defender.content.linter-overview/1.95.0_7fqrbb6jgh4ijdiupfm745kwd4: resolution: {integrity: sha1-OLOF3LYo6/kauWREJuGF2zgBcls=, tarball: '@teambit/defender.content.linter-overview/-/@teambit-defender.content.linter-overview-1.95.0.tgz'} peerDependencies: react: ^16.8.0 || ^17.0.0 react-dom: ^16.8.0 || ^17.0.0 dependencies: '@mdx-js/react': registry.npmjs.org/@mdx-js/react/1.6.22_react@17.0.2 - '@teambit/mdx.ui.mdx-scope-context': registry.npmjs.org/@teambit/mdx.ui.mdx-scope-context/0.0.368_sbf7ripzqgb2lstyqro7oe5stu + '@teambit/mdx.ui.mdx-scope-context': registry.npmjs.org/@teambit/mdx.ui.mdx-scope-context/0.0.368_7fqrbb6jgh4ijdiupfm745kwd4 core-js: registry.npmjs.org/core-js/3.13.0 react: registry.npmjs.org/react/17.0.2 react-dom: registry.npmjs.org/react-dom/17.0.2_react@17.0.2 @@ -2443,14 +2446,14 @@ packages: - '@teambit/legacy' dev: true - /@teambit/defender.content.tester-overview/1.95.0_sbf7ripzqgb2lstyqro7oe5stu: + /@teambit/defender.content.tester-overview/1.95.0_7fqrbb6jgh4ijdiupfm745kwd4: resolution: {integrity: sha1-rvAmFD+lPqi22iBo4cK1XoOEbsY=, tarball: '@teambit/defender.content.tester-overview/-/@teambit-defender.content.tester-overview-1.95.0.tgz'} peerDependencies: react: ^16.8.0 || ^17.0.0 react-dom: ^16.8.0 || ^17.0.0 dependencies: '@mdx-js/react': registry.npmjs.org/@mdx-js/react/1.6.22_react@17.0.2 - '@teambit/mdx.ui.mdx-scope-context': registry.npmjs.org/@teambit/mdx.ui.mdx-scope-context/0.0.368_sbf7ripzqgb2lstyqro7oe5stu + '@teambit/mdx.ui.mdx-scope-context': registry.npmjs.org/@teambit/mdx.ui.mdx-scope-context/0.0.368_7fqrbb6jgh4ijdiupfm745kwd4 core-js: registry.npmjs.org/core-js/3.13.0 react: registry.npmjs.org/react/17.0.2 react-dom: registry.npmjs.org/react-dom/17.0.2_react@17.0.2 @@ -2489,12 +2492,12 @@ packages: react: registry.npmjs.org/react/17.0.2 dev: true - /@teambit/docs.content.docs-overview/1.95.9_sbf7ripzqgb2lstyqro7oe5stu: + /@teambit/docs.content.docs-overview/1.95.9_7fqrbb6jgh4ijdiupfm745kwd4: resolution: {integrity: sha1-mqOj1yh81O1VADkasU8jPw03Hag=, tarball: '@teambit/docs.content.docs-overview/-/@teambit-docs.content.docs-overview-1.95.9.tgz'} dependencies: '@mdx-js/react': registry.npmjs.org/@mdx-js/react/1.6.22_react@17.0.2 '@teambit/docs.ui.zoomable-image': 1.95.8_sfoxds7t5ydpegc3knd667wn6m - '@teambit/mdx.ui.mdx-scope-context': registry.npmjs.org/@teambit/mdx.ui.mdx-scope-context/0.0.368_sbf7ripzqgb2lstyqro7oe5stu + '@teambit/mdx.ui.mdx-scope-context': registry.npmjs.org/@teambit/mdx.ui.mdx-scope-context/0.0.368_7fqrbb6jgh4ijdiupfm745kwd4 transitivePeerDependencies: - '@teambit/legacy' - react @@ -2529,12 +2532,12 @@ packages: - react-dom dev: true - /@teambit/explorer.plugins.env-plugin/0.0.10_sbf7ripzqgb2lstyqro7oe5stu: + /@teambit/explorer.plugins.env-plugin/0.0.10_7fqrbb6jgh4ijdiupfm745kwd4: resolution: {integrity: sha1-onlzjTM5EWSUXIxKh4GogjzLEDE=, tarball: '@teambit/explorer.plugins.env-plugin/-/@teambit-explorer.plugins.env-plugin-0.0.10.tgz'} peerDependencies: react: ^16.8.0 || ^17.0.0 dependencies: - '@teambit/component-descriptor': registry.npmjs.org/@teambit/component-descriptor/0.0.12_sbf7ripzqgb2lstyqro7oe5stu + '@teambit/component-descriptor': registry.npmjs.org/@teambit/component-descriptor/0.0.12_7fqrbb6jgh4ijdiupfm745kwd4 core-js: registry.npmjs.org/core-js/3.22.5 react: registry.npmjs.org/react/17.0.2 transitivePeerDependencies: @@ -2542,12 +2545,12 @@ packages: - react-dom dev: true - /@teambit/explorer.plugins.env-plugin/0.0.13_sbf7ripzqgb2lstyqro7oe5stu: + /@teambit/explorer.plugins.env-plugin/0.0.13_7fqrbb6jgh4ijdiupfm745kwd4: resolution: {integrity: sha1-C1OuYM2sDr31NrxpBce2W8bIQgI=, tarball: '@teambit/explorer.plugins.env-plugin/-/@teambit-explorer.plugins.env-plugin-0.0.13.tgz'} peerDependencies: react: ^16.8.0 || ^17.0.0 dependencies: - '@teambit/component-descriptor': registry.npmjs.org/@teambit/component-descriptor/0.0.18_sbf7ripzqgb2lstyqro7oe5stu + '@teambit/component-descriptor': registry.npmjs.org/@teambit/component-descriptor/0.0.18_7fqrbb6jgh4ijdiupfm745kwd4 core-js: registry.npmjs.org/core-js/3.22.5 react: registry.npmjs.org/react/17.0.2 transitivePeerDependencies: @@ -2555,12 +2558,12 @@ packages: - react-dom dev: true - /@teambit/explorer.plugins.preview-plugin/0.0.4_sbf7ripzqgb2lstyqro7oe5stu: + /@teambit/explorer.plugins.preview-plugin/0.0.4_7fqrbb6jgh4ijdiupfm745kwd4: resolution: {integrity: sha1-z82y2WLvhzNkdIGKWx0u+UZgeZk=, tarball: '@teambit/explorer.plugins.preview-plugin/-/@teambit-explorer.plugins.preview-plugin-0.0.4.tgz'} peerDependencies: react: ^16.8.0 || ^17.0.0 dependencies: - '@teambit/component-descriptor': registry.npmjs.org/@teambit/component-descriptor/0.0.12_sbf7ripzqgb2lstyqro7oe5stu + '@teambit/component-descriptor': registry.npmjs.org/@teambit/component-descriptor/0.0.12_7fqrbb6jgh4ijdiupfm745kwd4 classnames: registry.npmjs.org/classnames/2.3.1 core-js: registry.npmjs.org/core-js/3.22.5 react: registry.npmjs.org/react/17.0.2 @@ -2569,14 +2572,14 @@ packages: - react-dom dev: true - /@teambit/explorer.plugins.preview-plugin/0.0.9_3hgz5jcsbtc2vu7rlihygyoe6q: + /@teambit/explorer.plugins.preview-plugin/0.0.9_pqpacps7652d2izpsuzpeeaify: resolution: {integrity: sha1-ZIn30mCzb51Upzs9EKsOpS5QaCk=, tarball: '@teambit/explorer.plugins.preview-plugin/-/@teambit-explorer.plugins.preview-plugin-0.0.9.tgz'} peerDependencies: '@testing-library/react': 12.1.3 react: ^16.8.0 || ^17.0.0 react-dom: ^16.8.0 || ^17.0.0 dependencies: - '@teambit/component-descriptor': registry.npmjs.org/@teambit/component-descriptor/0.0.46_sbf7ripzqgb2lstyqro7oe5stu + '@teambit/component-descriptor': registry.npmjs.org/@teambit/component-descriptor/0.0.46_7fqrbb6jgh4ijdiupfm745kwd4 '@testing-library/react': registry.npmjs.org/@testing-library/react/12.1.5_sfoxds7t5ydpegc3knd667wn6m classnames: registry.npmjs.org/classnames/2.3.1 core-js: registry.npmjs.org/core-js/3.22.5 @@ -2610,15 +2613,15 @@ packages: use-optionally-controlled-state: registry.npmjs.org/use-optionally-controlled-state/1.2.0_sfoxds7t5ydpegc3knd667wn6m dev: false - /@teambit/explorer.ui.component-card-grid/0.0.12_3hgz5jcsbtc2vu7rlihygyoe6q: + /@teambit/explorer.ui.component-card-grid/0.0.12_pqpacps7652d2izpsuzpeeaify: resolution: {integrity: sha1-grBJIntxQFpGC4y6j4qt5iZ/MO4=, tarball: '@teambit/explorer.ui.component-card-grid/-/@teambit-explorer.ui.component-card-grid-0.0.12.tgz'} peerDependencies: react: ^16.8.0 || ^17.0.0 dependencies: - '@teambit/component-descriptor': registry.npmjs.org/@teambit/component-descriptor/0.0.12_sbf7ripzqgb2lstyqro7oe5stu + '@teambit/component-descriptor': registry.npmjs.org/@teambit/component-descriptor/0.0.12_7fqrbb6jgh4ijdiupfm745kwd4 '@teambit/component-id': registry.npmjs.org/@teambit/component-id/0.0.401 - '@teambit/explorer.ui.component-card': 0.0.11_3hgz5jcsbtc2vu7rlihygyoe6q - '@teambit/explorer.ui.gallery.component-grid': registry.npmjs.org/@teambit/explorer.ui.gallery.component-grid/0.0.484_sbf7ripzqgb2lstyqro7oe5stu + '@teambit/explorer.ui.component-card': 0.0.11_pqpacps7652d2izpsuzpeeaify + '@teambit/explorer.ui.gallery.component-grid': registry.npmjs.org/@teambit/explorer.ui.gallery.component-grid/0.0.484_7fqrbb6jgh4ijdiupfm745kwd4 core-js: registry.npmjs.org/core-js/3.22.5 react: registry.npmjs.org/react/17.0.2 transitivePeerDependencies: @@ -2627,15 +2630,15 @@ packages: - react-dom dev: true - /@teambit/explorer.ui.component-card-grid/0.0.15_3hgz5jcsbtc2vu7rlihygyoe6q: + /@teambit/explorer.ui.component-card-grid/0.0.15_pqpacps7652d2izpsuzpeeaify: resolution: {integrity: sha1-nw+ae8xtNXYeGHCfeGh/7kjMHpc=, tarball: '@teambit/explorer.ui.component-card-grid/-/@teambit-explorer.ui.component-card-grid-0.0.15.tgz'} peerDependencies: react: ^16.8.0 || ^17.0.0 dependencies: - '@teambit/component-descriptor': registry.npmjs.org/@teambit/component-descriptor/0.0.18_sbf7ripzqgb2lstyqro7oe5stu + '@teambit/component-descriptor': registry.npmjs.org/@teambit/component-descriptor/0.0.18_7fqrbb6jgh4ijdiupfm745kwd4 '@teambit/component-id': registry.npmjs.org/@teambit/component-id/0.0.401 - '@teambit/explorer.ui.component-card': 0.0.14_3hgz5jcsbtc2vu7rlihygyoe6q - '@teambit/explorer.ui.gallery.component-grid': registry.npmjs.org/@teambit/explorer.ui.gallery.component-grid/0.0.484_sbf7ripzqgb2lstyqro7oe5stu + '@teambit/explorer.ui.component-card': 0.0.14_pqpacps7652d2izpsuzpeeaify + '@teambit/explorer.ui.gallery.component-grid': registry.npmjs.org/@teambit/explorer.ui.gallery.component-grid/0.0.484_7fqrbb6jgh4ijdiupfm745kwd4 core-js: registry.npmjs.org/core-js/3.22.5 react: registry.npmjs.org/react/17.0.2 transitivePeerDependencies: @@ -2644,13 +2647,13 @@ packages: - react-dom dev: true - /@teambit/explorer.ui.component-card/0.0.11_3hgz5jcsbtc2vu7rlihygyoe6q: + /@teambit/explorer.ui.component-card/0.0.11_pqpacps7652d2izpsuzpeeaify: resolution: {integrity: sha1-MRJol4wIkIWOmlc1++quY0UmjCU=, tarball: '@teambit/explorer.ui.component-card/-/@teambit-explorer.ui.component-card-0.0.11.tgz'} peerDependencies: react: ^16.8.0 || ^17.0.0 dependencies: '@teambit/base-react.navigation.link': 1.23.0_cuf6fvcrkey6ktqfghqvi47tva - '@teambit/component-descriptor': registry.npmjs.org/@teambit/component-descriptor/0.0.12_sbf7ripzqgb2lstyqro7oe5stu + '@teambit/component-descriptor': registry.npmjs.org/@teambit/component-descriptor/0.0.12_7fqrbb6jgh4ijdiupfm745kwd4 '@teambit/component-id': registry.npmjs.org/@teambit/component-id/0.0.401 '@teambit/design.ui.styles.ellipsis': registry.npmjs.org/@teambit/design.ui.styles.ellipsis/0.0.346_sfoxds7t5ydpegc3knd667wn6m '@teambit/docs.entities.doc': registry.npmjs.org/@teambit/docs.entities.doc/0.0.2 @@ -2665,13 +2668,13 @@ packages: - react-dom dev: true - /@teambit/explorer.ui.component-card/0.0.14_3hgz5jcsbtc2vu7rlihygyoe6q: + /@teambit/explorer.ui.component-card/0.0.14_pqpacps7652d2izpsuzpeeaify: resolution: {integrity: sha1-NXxynFuK+QaIgLiPjuVV9PpH1uY=, tarball: '@teambit/explorer.ui.component-card/-/@teambit-explorer.ui.component-card-0.0.14.tgz'} peerDependencies: react: ^16.8.0 || ^17.0.0 dependencies: '@teambit/base-react.navigation.link': 1.23.0_cuf6fvcrkey6ktqfghqvi47tva - '@teambit/component-descriptor': registry.npmjs.org/@teambit/component-descriptor/0.0.18_sbf7ripzqgb2lstyqro7oe5stu + '@teambit/component-descriptor': registry.npmjs.org/@teambit/component-descriptor/0.0.18_7fqrbb6jgh4ijdiupfm745kwd4 '@teambit/component-id': registry.npmjs.org/@teambit/component-id/0.0.401 '@teambit/design.ui.styles.ellipsis': registry.npmjs.org/@teambit/design.ui.styles.ellipsis/0.0.346_sfoxds7t5ydpegc3knd667wn6m '@teambit/docs.entities.doc': registry.npmjs.org/@teambit/docs.entities.doc/0.0.2 @@ -2732,7 +2735,7 @@ packages: - encoding dev: false - /@teambit/graphql.hooks.use-query/0.0.1_3wo3nmblkdo5t7on647oczth7m: + /@teambit/graphql.hooks.use-query/0.0.1_4peuey32ij3ku7gqlrn77aaumy: resolution: {integrity: sha1-SrTB4E64Ycrvmb/n+SgPPNIdYN8=, tarball: '@teambit/graphql.hooks.use-query/-/@teambit-graphql.hooks.use-query-0.0.1.tgz'} peerDependencies: '@apollo/client': 3.3.7 @@ -2740,7 +2743,7 @@ packages: react-dom: ^16.8.0 || ^17.0.0 dependencies: '@apollo/client': registry.npmjs.org/@apollo/client/3.3.7_cm7dmat4tatiymdnjnpg7tvksm - '@teambit/ui-foundation.ui.global-loader': registry.npmjs.org/@teambit/ui-foundation.ui.global-loader/0.0.474_sbf7ripzqgb2lstyqro7oe5stu + '@teambit/ui-foundation.ui.global-loader': registry.npmjs.org/@teambit/ui-foundation.ui.global-loader/0.0.474_7fqrbb6jgh4ijdiupfm745kwd4 core-js: registry.npmjs.org/core-js/3.22.5 react: registry.npmjs.org/react/17.0.2 react-dom: registry.npmjs.org/react-dom/17.0.2_react@17.0.2 @@ -2748,7 +2751,7 @@ packages: - '@teambit/legacy' dev: true - /@teambit/graphql.hooks.use-query/0.0.7_3wo3nmblkdo5t7on647oczth7m: + /@teambit/graphql.hooks.use-query/0.0.7_4peuey32ij3ku7gqlrn77aaumy: resolution: {integrity: sha1-OIQYQIPSBBqKXo2ZLc9bzu4P904=, tarball: '@teambit/graphql.hooks.use-query/-/@teambit-graphql.hooks.use-query-0.0.7.tgz'} peerDependencies: '@apollo/client': 3.3.7 @@ -2756,7 +2759,7 @@ packages: react-dom: ^16.8.0 || ^17.0.0 dependencies: '@apollo/client': registry.npmjs.org/@apollo/client/3.3.7_cm7dmat4tatiymdnjnpg7tvksm - '@teambit/ui-foundation.ui.global-loader': registry.npmjs.org/@teambit/ui-foundation.ui.global-loader/0.0.474_sbf7ripzqgb2lstyqro7oe5stu + '@teambit/ui-foundation.ui.global-loader': registry.npmjs.org/@teambit/ui-foundation.ui.global-loader/0.0.474_7fqrbb6jgh4ijdiupfm745kwd4 core-js: registry.npmjs.org/core-js/3.22.5 react: registry.npmjs.org/react/17.0.2 react-dom: registry.npmjs.org/react-dom/17.0.2_react@17.0.2 @@ -2764,12 +2767,12 @@ packages: - '@teambit/legacy' dev: true - /@teambit/pkg.content.packages-overview/1.95.9_7xid2gzhy7pcqd7l5sjvkc3ea4: + /@teambit/pkg.content.packages-overview/1.95.9_yyjxxbxzgdtr4jet5ub7yhljtu: resolution: {integrity: sha1-zWayNWQaoC66R1elFFytwR1vaLQ=, tarball: '@teambit/pkg.content.packages-overview/-/@teambit-pkg.content.packages-overview-1.95.9.tgz'} dependencies: '@mdx-js/react': registry.npmjs.org/@mdx-js/react/1.6.22_react@17.0.2 - '@teambit/components.blocks.component-card-display': 0.0.13_7xid2gzhy7pcqd7l5sjvkc3ea4 - '@teambit/mdx.ui.mdx-scope-context': registry.npmjs.org/@teambit/mdx.ui.mdx-scope-context/0.0.368_sbf7ripzqgb2lstyqro7oe5stu + '@teambit/components.blocks.component-card-display': 0.0.13_yyjxxbxzgdtr4jet5ub7yhljtu + '@teambit/mdx.ui.mdx-scope-context': registry.npmjs.org/@teambit/mdx.ui.mdx-scope-context/0.0.368_7fqrbb6jgh4ijdiupfm745kwd4 transitivePeerDependencies: - '@apollo/client' - '@teambit/legacy' @@ -2779,14 +2782,14 @@ packages: - react-dom dev: true - /@teambit/react.content.react-overview/1.95.0_sbf7ripzqgb2lstyqro7oe5stu: + /@teambit/react.content.react-overview/1.95.0_7fqrbb6jgh4ijdiupfm745kwd4: resolution: {integrity: sha1-pZxx1yJoIMPKGrX/0P+nNCzkDOQ=, tarball: '@teambit/react.content.react-overview/-/@teambit-react.content.react-overview-1.95.0.tgz'} peerDependencies: react: ^16.8.0 || ^17.0.0 react-dom: ^16.8.0 || ^17.0.0 dependencies: '@mdx-js/react': registry.npmjs.org/@mdx-js/react/1.6.22_react@17.0.2 - '@teambit/mdx.ui.mdx-scope-context': registry.npmjs.org/@teambit/mdx.ui.mdx-scope-context/0.0.368_sbf7ripzqgb2lstyqro7oe5stu + '@teambit/mdx.ui.mdx-scope-context': registry.npmjs.org/@teambit/mdx.ui.mdx-scope-context/0.0.368_7fqrbb6jgh4ijdiupfm745kwd4 core-js: registry.npmjs.org/core-js/3.13.0 react: registry.npmjs.org/react/17.0.2 react-dom: registry.npmjs.org/react-dom/17.0.2_react@17.0.2 @@ -2794,14 +2797,14 @@ packages: - '@teambit/legacy' dev: true - /@teambit/react.instructions.react-native.adding-tests/0.0.1_sbf7ripzqgb2lstyqro7oe5stu: + /@teambit/react.instructions.react-native.adding-tests/0.0.1_7fqrbb6jgh4ijdiupfm745kwd4: resolution: {integrity: sha1-Ej1pIaYbWdwLNUbsHMjEQQ/utnQ=, tarball: '@teambit/react.instructions.react-native.adding-tests/-/@teambit-react.instructions.react-native.adding-tests-0.0.1.tgz'} peerDependencies: react: ^16.8.0 || ^17.0.0 react-dom: ^16.8.0 || ^17.0.0 dependencies: '@mdx-js/react': registry.npmjs.org/@mdx-js/react/1.6.22_react@17.0.2 - '@teambit/mdx.ui.mdx-scope-context': registry.npmjs.org/@teambit/mdx.ui.mdx-scope-context/0.0.368_sbf7ripzqgb2lstyqro7oe5stu + '@teambit/mdx.ui.mdx-scope-context': registry.npmjs.org/@teambit/mdx.ui.mdx-scope-context/0.0.368_7fqrbb6jgh4ijdiupfm745kwd4 core-js: registry.npmjs.org/core-js/3.13.0 react: registry.npmjs.org/react/17.0.2 react-dom: registry.npmjs.org/react-dom/17.0.2_react@17.0.2 @@ -2827,7 +2830,7 @@ packages: - supports-color dev: false - /@teambit/scope.content.scope-overview/1.95.0_sbf7ripzqgb2lstyqro7oe5stu: + /@teambit/scope.content.scope-overview/1.95.0_7fqrbb6jgh4ijdiupfm745kwd4: resolution: {integrity: sha1-q6rTENX4D2/Cg2fabNBlj8miHdc=, tarball: '@teambit/scope.content.scope-overview/-/@teambit-scope.content.scope-overview-1.95.0.tgz'} peerDependencies: react: ^16.8.0 || ^17.0.0 @@ -2835,7 +2838,7 @@ packages: dependencies: '@mdx-js/react': registry.npmjs.org/@mdx-js/react/1.6.22_react@17.0.2 '@teambit/docs.ui.zoomable-image': 1.95.0_sfoxds7t5ydpegc3knd667wn6m - '@teambit/mdx.ui.mdx-scope-context': registry.npmjs.org/@teambit/mdx.ui.mdx-scope-context/0.0.368_sbf7ripzqgb2lstyqro7oe5stu + '@teambit/mdx.ui.mdx-scope-context': registry.npmjs.org/@teambit/mdx.ui.mdx-scope-context/0.0.368_7fqrbb6jgh4ijdiupfm745kwd4 core-js: registry.npmjs.org/core-js/3.13.0 react: registry.npmjs.org/react/17.0.2 react-dom: registry.npmjs.org/react-dom/17.0.2_react@17.0.2 @@ -2881,18 +2884,18 @@ packages: url-parse: registry.npmjs.org/url-parse/1.5.3 dev: true - /@teambit/workspace.content.variants/1.95.9_sbf7ripzqgb2lstyqro7oe5stu: + /@teambit/workspace.content.variants/1.95.9_7fqrbb6jgh4ijdiupfm745kwd4: resolution: {integrity: sha1-YmooxPFjXZFNY3CxRrKZjmOYXF0=, tarball: '@teambit/workspace.content.variants/-/@teambit-workspace.content.variants-1.95.9.tgz'} dependencies: '@mdx-js/react': registry.npmjs.org/@mdx-js/react/1.6.22_react@17.0.2 - '@teambit/mdx.ui.mdx-scope-context': registry.npmjs.org/@teambit/mdx.ui.mdx-scope-context/0.0.368_sbf7ripzqgb2lstyqro7oe5stu + '@teambit/mdx.ui.mdx-scope-context': registry.npmjs.org/@teambit/mdx.ui.mdx-scope-context/0.0.368_7fqrbb6jgh4ijdiupfm745kwd4 transitivePeerDependencies: - '@teambit/legacy' - react - react-dom dev: true - /@teambit/workspace.content.workspace-overview/1.95.0_sbf7ripzqgb2lstyqro7oe5stu: + /@teambit/workspace.content.workspace-overview/1.95.0_7fqrbb6jgh4ijdiupfm745kwd4: resolution: {integrity: sha1-x5h4JrPOVGs+OEGkH/thS8QhxhM=, tarball: '@teambit/workspace.content.workspace-overview/-/@teambit-workspace.content.workspace-overview-1.95.0.tgz'} peerDependencies: react: ^16.8.0 || ^17.0.0 @@ -2900,7 +2903,7 @@ packages: dependencies: '@mdx-js/react': registry.npmjs.org/@mdx-js/react/1.6.22_react@17.0.2 '@teambit/docs.ui.zoomable-image': 1.95.0_sfoxds7t5ydpegc3knd667wn6m - '@teambit/mdx.ui.mdx-scope-context': registry.npmjs.org/@teambit/mdx.ui.mdx-scope-context/0.0.368_sbf7ripzqgb2lstyqro7oe5stu + '@teambit/mdx.ui.mdx-scope-context': registry.npmjs.org/@teambit/mdx.ui.mdx-scope-context/0.0.368_7fqrbb6jgh4ijdiupfm745kwd4 core-js: registry.npmjs.org/core-js/3.13.0 react: registry.npmjs.org/react/17.0.2 react-dom: registry.npmjs.org/react-dom/17.0.2_react@17.0.2 @@ -11422,7 +11425,7 @@ packages: react-dom: registry.npmjs.org/react-dom/17.0.2_react@17.0.2 dev: false - registry.npmjs.org/@teambit/bit-error/0.0.365_sbf7ripzqgb2lstyqro7oe5stu: + registry.npmjs.org/@teambit/bit-error/0.0.365_7fqrbb6jgh4ijdiupfm745kwd4: resolution: {integrity: sha512-btMRc0fX+Rhx+baLRF2pKwlQEHVMHB9TPYvBWKdyX4AgRBO6mdonkVXxH6RWWR13w4WvYO0kX90z0tLLaPr2fg==, registry: https://node.bit.dev/, tarball: https://registry.npmjs.org/@teambit/bit-error/-/bit-error-0.0.365.tgz} id: registry.npmjs.org/@teambit/bit-error/0.0.365 name: '@teambit/bit-error' @@ -11434,7 +11437,7 @@ packages: react-dom: ^16.8.0 || ^17.0.0 dependencies: '@babel/runtime': registry.npmjs.org/@babel/runtime/7.12.18 - '@teambit/legacy': registry.npmjs.org/@teambit/legacy/1.0.327_ev5kpl4xtjr2abkky7wuhwawze + '@teambit/legacy': registry.npmjs.org/@teambit/legacy/1.0.328_ev5kpl4xtjr2abkky7wuhwawze core-js: registry.npmjs.org/core-js/3.22.5 react: registry.npmjs.org/react/17.0.2 react-dom: registry.npmjs.org/react-dom/17.0.2_react@17.0.2 @@ -11459,7 +11462,7 @@ packages: semver: registry.npmjs.org/semver/7.3.4 user-home: registry.npmjs.org/user-home/2.0.0 - registry.npmjs.org/@teambit/bvm.list/0.0.33_@teambit+legacy@1.0.327: + registry.npmjs.org/@teambit/bvm.list/0.0.33_@teambit+legacy@1.0.328: resolution: {integrity: sha512-o/nMawb0gZNbl6IaOLpTqeoyQsrXxR7bsyw0cZJF2j0OphKCUjjMhpnTHIhP4zFqh6kNMe8K1dvWmD8QkkoUkw==, registry: https://node.bit.dev/, tarball: https://registry.npmjs.org/@teambit/bvm.list/-/bvm.list-0.0.33.tgz} id: registry.npmjs.org/@teambit/bvm.list/0.0.33 name: '@teambit/bvm.list' @@ -11467,7 +11470,7 @@ packages: engines: {node: '>=12.15.0'} dependencies: '@teambit/bvm.config': registry.npmjs.org/@teambit/bvm.config/0.0.26 - '@teambit/gcp.storage': registry.npmjs.org/@teambit/gcp.storage/0.0.21_@teambit+legacy@1.0.327 + '@teambit/gcp.storage': registry.npmjs.org/@teambit/gcp.storage/0.0.21_@teambit+legacy@1.0.328 fs-extra: registry.npmjs.org/fs-extra/9.1.0 semver: registry.npmjs.org/semver/7.3.4 semver-sort: registry.npmjs.org/semver-sort/0.0.4 @@ -11485,7 +11488,7 @@ packages: p-limit: registry.npmjs.org/p-limit/2.3.0 dev: false - registry.npmjs.org/@teambit/component-descriptor/0.0.12_sbf7ripzqgb2lstyqro7oe5stu: + registry.npmjs.org/@teambit/component-descriptor/0.0.12_7fqrbb6jgh4ijdiupfm745kwd4: resolution: {integrity: sha512-vF+p5bbUKRbqE3KEnNxHMfaRIHBKjMhcmeFFZSGGJbf2JxC4OT9DI6urxyUMKSzIvpTPuxaoJ5C9KzvHTWhpIw==, registry: https://node.bit.dev/, tarball: https://registry.npmjs.org/@teambit/component-descriptor/-/component-descriptor-0.0.12.tgz} id: registry.npmjs.org/@teambit/component-descriptor/0.0.12 name: '@teambit/component-descriptor' @@ -11497,13 +11500,13 @@ packages: react-dom: ^16.8.0 || ^17.0.0 dependencies: '@babel/runtime': registry.npmjs.org/@babel/runtime/7.12.18 - '@teambit/legacy': registry.npmjs.org/@teambit/legacy/1.0.327_ev5kpl4xtjr2abkky7wuhwawze + '@teambit/legacy': registry.npmjs.org/@teambit/legacy/1.0.328_ev5kpl4xtjr2abkky7wuhwawze core-js: registry.npmjs.org/core-js/3.22.5 react: registry.npmjs.org/react/17.0.2 react-dom: registry.npmjs.org/react-dom/17.0.2_react@17.0.2 dev: true - registry.npmjs.org/@teambit/component-descriptor/0.0.18_sbf7ripzqgb2lstyqro7oe5stu: + registry.npmjs.org/@teambit/component-descriptor/0.0.18_7fqrbb6jgh4ijdiupfm745kwd4: resolution: {integrity: sha512-TbR5WTJ+hqyZ0ZR+zlbMJkAeWHztOJCLXTEeximC9nZj9DkvXBiXFiKyc4O9m4YMlKRqD6L8/T9XEoNYLrYkMg==, registry: https://node.bit.dev/, tarball: https://registry.npmjs.org/@teambit/component-descriptor/-/component-descriptor-0.0.18.tgz} id: registry.npmjs.org/@teambit/component-descriptor/0.0.18 name: '@teambit/component-descriptor' @@ -11515,13 +11518,13 @@ packages: react-dom: ^16.8.0 || ^17.0.0 dependencies: '@babel/runtime': registry.npmjs.org/@babel/runtime/7.12.18 - '@teambit/legacy': registry.npmjs.org/@teambit/legacy/1.0.327_ev5kpl4xtjr2abkky7wuhwawze + '@teambit/legacy': registry.npmjs.org/@teambit/legacy/1.0.328_ev5kpl4xtjr2abkky7wuhwawze core-js: registry.npmjs.org/core-js/3.22.5 react: registry.npmjs.org/react/17.0.2 react-dom: registry.npmjs.org/react-dom/17.0.2_react@17.0.2 dev: true - registry.npmjs.org/@teambit/component-descriptor/0.0.3_sbf7ripzqgb2lstyqro7oe5stu: + registry.npmjs.org/@teambit/component-descriptor/0.0.3_7fqrbb6jgh4ijdiupfm745kwd4: resolution: {integrity: sha512-/OEPdA80xS76HvGaSlZqNTyvQ/WlO3lERzUNnPnldLye2OWST69vhga8tefBRKMeNpPsITck6adfiLm1DH8m6g==, registry: https://node.bit.dev/, tarball: https://registry.npmjs.org/@teambit/component-descriptor/-/component-descriptor-0.0.3.tgz} id: registry.npmjs.org/@teambit/component-descriptor/0.0.3 name: '@teambit/component-descriptor' @@ -11533,13 +11536,13 @@ packages: react-dom: ^16.8.0 || ^17.0.0 dependencies: '@babel/runtime': registry.npmjs.org/@babel/runtime/7.12.18 - '@teambit/legacy': registry.npmjs.org/@teambit/legacy/1.0.327_ev5kpl4xtjr2abkky7wuhwawze + '@teambit/legacy': registry.npmjs.org/@teambit/legacy/1.0.328_ev5kpl4xtjr2abkky7wuhwawze core-js: registry.npmjs.org/core-js/3.22.5 react: registry.npmjs.org/react/17.0.2 react-dom: registry.npmjs.org/react-dom/17.0.2_react@17.0.2 dev: true - registry.npmjs.org/@teambit/component-descriptor/0.0.46_sbf7ripzqgb2lstyqro7oe5stu: + registry.npmjs.org/@teambit/component-descriptor/0.0.46_7fqrbb6jgh4ijdiupfm745kwd4: resolution: {integrity: sha512-OZuUsAOChiGdqU2fc8G/N1I6QisbeRw4UdeUjuLYdXqRVUEYPAzsjiyit+jRonP8/als9SDoXCO2xz/nckAOFw==, registry: https://node.bit.dev/, tarball: https://registry.npmjs.org/@teambit/component-descriptor/-/component-descriptor-0.0.46.tgz} id: registry.npmjs.org/@teambit/component-descriptor/0.0.46 name: '@teambit/component-descriptor' @@ -11551,13 +11554,13 @@ packages: react-dom: ^16.8.0 || ^17.0.0 dependencies: '@babel/runtime': registry.npmjs.org/@babel/runtime/7.12.18 - '@teambit/legacy': registry.npmjs.org/@teambit/legacy/1.0.327_ev5kpl4xtjr2abkky7wuhwawze + '@teambit/legacy': registry.npmjs.org/@teambit/legacy/1.0.328_ev5kpl4xtjr2abkky7wuhwawze core-js: registry.npmjs.org/core-js/3.22.5 react: registry.npmjs.org/react/17.0.2 react-dom: registry.npmjs.org/react-dom/17.0.2_react@17.0.2 dev: true - registry.npmjs.org/@teambit/component-id/0.0.369_sbf7ripzqgb2lstyqro7oe5stu: + registry.npmjs.org/@teambit/component-id/0.0.369_7fqrbb6jgh4ijdiupfm745kwd4: resolution: {integrity: sha512-TuJ1g/QHScRX9tG96wrdiLR5kC3XRMdK5NdOduzumChMXPO9tGe6jnCwMSiIqdvXbZXfZr1NSvyu80aqYsHpvA==, registry: https://node.bit.dev/, tarball: https://registry.npmjs.org/@teambit/component-id/-/component-id-0.0.369.tgz} id: registry.npmjs.org/@teambit/component-id/0.0.369 name: '@teambit/component-id' @@ -11566,8 +11569,8 @@ packages: peerDependencies: '@teambit/legacy': 1.0.76 dependencies: - '@teambit/legacy': registry.npmjs.org/@teambit/legacy/1.0.327_ev5kpl4xtjr2abkky7wuhwawze - '@teambit/legacy-bit-id': registry.npmjs.org/@teambit/legacy-bit-id/0.0.368_sbf7ripzqgb2lstyqro7oe5stu + '@teambit/legacy': registry.npmjs.org/@teambit/legacy/1.0.328_ev5kpl4xtjr2abkky7wuhwawze + '@teambit/legacy-bit-id': registry.npmjs.org/@teambit/legacy-bit-id/0.0.368_7fqrbb6jgh4ijdiupfm745kwd4 transitivePeerDependencies: - react - react-dom @@ -11590,7 +11593,7 @@ packages: dependencies: '@teambit/legacy-bit-id': registry.npmjs.org/@teambit/legacy-bit-id/0.0.399 - registry.npmjs.org/@teambit/component-version/0.0.366_sbf7ripzqgb2lstyqro7oe5stu: + registry.npmjs.org/@teambit/component-version/0.0.366_7fqrbb6jgh4ijdiupfm745kwd4: resolution: {integrity: sha512-ouewvgwqxESGVFqb25u9E0+Cd0cCVyOl3lTc8IKzBxyc+EmPDq9ZEGLLr4PoKJg/YlM2ZsJfLgJwNZPMT7bCxA==, registry: https://node.bit.dev/, tarball: https://registry.npmjs.org/@teambit/component-version/-/component-version-0.0.366.tgz} id: registry.npmjs.org/@teambit/component-version/0.0.366 name: '@teambit/component-version' @@ -11599,8 +11602,8 @@ packages: peerDependencies: '@teambit/legacy': 1.0.76 dependencies: - '@teambit/bit-error': registry.npmjs.org/@teambit/bit-error/0.0.365_sbf7ripzqgb2lstyqro7oe5stu - '@teambit/legacy': registry.npmjs.org/@teambit/legacy/1.0.327_ev5kpl4xtjr2abkky7wuhwawze + '@teambit/bit-error': registry.npmjs.org/@teambit/bit-error/0.0.365_7fqrbb6jgh4ijdiupfm745kwd4 + '@teambit/legacy': registry.npmjs.org/@teambit/legacy/1.0.328_ev5kpl4xtjr2abkky7wuhwawze semver: registry.npmjs.org/semver/7.3.4 transitivePeerDependencies: - react @@ -11616,7 +11619,7 @@ packages: '@teambit/bit-error': registry.npmjs.org/@teambit/bit-error/0.0.394 semver: registry.npmjs.org/semver/7.3.4 - registry.npmjs.org/@teambit/component.instructions.exporting-components/0.0.6_sbf7ripzqgb2lstyqro7oe5stu: + registry.npmjs.org/@teambit/component.instructions.exporting-components/0.0.6_7fqrbb6jgh4ijdiupfm745kwd4: resolution: {integrity: sha512-ku7UpvjuRW6hu5Uz01g0tBa6hgArnF2WpgotayCe5LL2GBoNs0KTGRPoa16zFVtqmt21eWxIKrZZq4TvL1ZsoQ==, registry: https://node.bit.dev/, tarball: https://registry.npmjs.org/@teambit/component.instructions.exporting-components/-/component.instructions.exporting-components-0.0.6.tgz} id: registry.npmjs.org/@teambit/component.instructions.exporting-components/0.0.6 name: '@teambit/component.instructions.exporting-components' @@ -11626,7 +11629,7 @@ packages: react-dom: ^16.8.0 || ^17.0.0 dependencies: '@mdx-js/react': registry.npmjs.org/@mdx-js/react/1.6.22_react@17.0.2 - '@teambit/mdx.ui.mdx-scope-context': registry.npmjs.org/@teambit/mdx.ui.mdx-scope-context/0.0.368_sbf7ripzqgb2lstyqro7oe5stu + '@teambit/mdx.ui.mdx-scope-context': registry.npmjs.org/@teambit/mdx.ui.mdx-scope-context/0.0.368_7fqrbb6jgh4ijdiupfm745kwd4 core-js: registry.npmjs.org/core-js/3.13.0 react: registry.npmjs.org/react/17.0.2 react-dom: registry.npmjs.org/react-dom/17.0.2_react@17.0.2 @@ -13060,7 +13063,7 @@ packages: react-dom: registry.npmjs.org/react-dom/17.0.2_react@17.0.2 dev: true - registry.npmjs.org/@teambit/explorer.ui.gallery.component-grid/0.0.484_sbf7ripzqgb2lstyqro7oe5stu: + registry.npmjs.org/@teambit/explorer.ui.gallery.component-grid/0.0.484_7fqrbb6jgh4ijdiupfm745kwd4: resolution: {integrity: sha512-oSBDDO9n3lRB5PAD2Hxk1BcdyGH5xnzazYKUwYHNMXbniaADBBJGHVguPp9qR/aj8eMYmw82XXO344MyEAKywQ==, registry: https://node.bit.dev/, tarball: https://registry.npmjs.org/@teambit/explorer.ui.gallery.component-grid/-/explorer.ui.gallery.component-grid-0.0.484.tgz} id: registry.npmjs.org/@teambit/explorer.ui.gallery.component-grid/0.0.484 name: '@teambit/explorer.ui.gallery.component-grid' @@ -13071,7 +13074,7 @@ packages: react: ^16.8.0 || ^17.0.0 react-dom: ^16.8.0 || ^17.0.0 dependencies: - '@teambit/legacy': registry.npmjs.org/@teambit/legacy/1.0.327_ev5kpl4xtjr2abkky7wuhwawze + '@teambit/legacy': registry.npmjs.org/@teambit/legacy/1.0.328_ev5kpl4xtjr2abkky7wuhwawze classnames: registry.npmjs.org/classnames/2.2.6 core-js: registry.npmjs.org/core-js/3.22.5 react: registry.npmjs.org/react/17.0.2 @@ -13094,14 +13097,14 @@ packages: react-dom: registry.npmjs.org/react-dom/17.0.2_react@17.0.2 dev: true - registry.npmjs.org/@teambit/gcp.storage/0.0.21_@teambit+legacy@1.0.327: + registry.npmjs.org/@teambit/gcp.storage/0.0.21_@teambit+legacy@1.0.328: resolution: {integrity: sha512-GXYnxTE2nxk0NhwQG7erd3p378SrJHPPUm4nntPhcG0oyDK17ntDBXRCqJbfmDnbalcW9ibHqjuIew7vltBqWg==, registry: https://node.bit.dev/, tarball: https://registry.npmjs.org/@teambit/gcp.storage/-/gcp.storage-0.0.21.tgz} id: registry.npmjs.org/@teambit/gcp.storage/0.0.21 name: '@teambit/gcp.storage' version: 0.0.21 engines: {node: '>=12.15.0'} dependencies: - '@teambit/toolbox.network.agent': registry.npmjs.org/@teambit/toolbox.network.agent/0.0.245_@teambit+legacy@1.0.327 + '@teambit/toolbox.network.agent': registry.npmjs.org/@teambit/toolbox.network.agent/0.0.245_@teambit+legacy@1.0.328 node-fetch: registry.npmjs.org/node-fetch/2.6.1 transitivePeerDependencies: - '@teambit/legacy' @@ -13120,7 +13123,7 @@ packages: user-home: registry.npmjs.org/user-home/2.0.0 dev: false - registry.npmjs.org/@teambit/legacy-bit-id/0.0.368_sbf7ripzqgb2lstyqro7oe5stu: + registry.npmjs.org/@teambit/legacy-bit-id/0.0.368_7fqrbb6jgh4ijdiupfm745kwd4: resolution: {integrity: sha512-7vt07radnL9dcdzVfD1Rr8pfKc4I30Rv9H6wnu6hnGLHdqzmzUkovAM6Fg6Bzw53w4OrdbPUWuH+aaUGReT33A==, registry: https://node.bit.dev/, tarball: https://registry.npmjs.org/@teambit/legacy-bit-id/-/legacy-bit-id-0.0.368.tgz} id: registry.npmjs.org/@teambit/legacy-bit-id/0.0.368 name: '@teambit/legacy-bit-id' @@ -13129,9 +13132,9 @@ packages: peerDependencies: '@teambit/legacy': 1.0.76 dependencies: - '@teambit/bit-error': registry.npmjs.org/@teambit/bit-error/0.0.365_sbf7ripzqgb2lstyqro7oe5stu - '@teambit/component-version': registry.npmjs.org/@teambit/component-version/0.0.366_sbf7ripzqgb2lstyqro7oe5stu - '@teambit/legacy': registry.npmjs.org/@teambit/legacy/1.0.327_ev5kpl4xtjr2abkky7wuhwawze + '@teambit/bit-error': registry.npmjs.org/@teambit/bit-error/0.0.365_7fqrbb6jgh4ijdiupfm745kwd4 + '@teambit/component-version': registry.npmjs.org/@teambit/component-version/0.0.366_7fqrbb6jgh4ijdiupfm745kwd4 + '@teambit/legacy': registry.npmjs.org/@teambit/legacy/1.0.328_ev5kpl4xtjr2abkky7wuhwawze decamelize: registry.npmjs.org/decamelize/1.2.0 lodash: registry.npmjs.org/lodash/4.17.21 semver: registry.npmjs.org/semver/7.3.4 @@ -13165,20 +13168,20 @@ packages: lodash: registry.npmjs.org/lodash/4.17.21 semver: registry.npmjs.org/semver/7.3.4 - registry.npmjs.org/@teambit/legacy/1.0.327_ev5kpl4xtjr2abkky7wuhwawze: - resolution: {integrity: sha512-OUZlIl3Aa8d5EDE+x7sAmLoDPhUrN8j5/eMY9ucm3/WF71Vx/t+mVJwBTOMT/iweSftMp8D7BEtx6Uo1TUTYQA==, registry: https://node.bit.dev/, tarball: https://registry.npmjs.org/@teambit/legacy/-/legacy-1.0.327.tgz} - id: registry.npmjs.org/@teambit/legacy/1.0.327 + registry.npmjs.org/@teambit/legacy/1.0.328_ev5kpl4xtjr2abkky7wuhwawze: + resolution: {integrity: sha512-6oj6XMkEtjCU1aAJXlOLWjiZ/1Loj3Jeb39gJf58kF8g48y39+VYepdlPwk3y8YnC/RKivE34fdiAAih9sZ4XA==, registry: https://node.bit.dev/, tarball: https://registry.npmjs.org/@teambit/legacy/-/legacy-1.0.328.tgz} + id: registry.npmjs.org/@teambit/legacy/1.0.328 name: '@teambit/legacy' - version: 1.0.327 + version: 1.0.328 engines: {node: '>=12.22.0'} hasBin: true dependencies: '@babel/core': registry.npmjs.org/@babel/core/7.12.17 '@babel/runtime': registry.npmjs.org/@babel/runtime/7.12.18 - '@teambit/bvm.list': registry.npmjs.org/@teambit/bvm.list/0.0.33_@teambit+legacy@1.0.327 + '@teambit/bvm.list': registry.npmjs.org/@teambit/bvm.list/0.0.33_@teambit+legacy@1.0.328 '@teambit/component-version': registry.npmjs.org/@teambit/component-version/0.0.395 '@teambit/defender.fs.global-bit-temp-dir': 0.0.1 - '@teambit/toolbox.network.agent': registry.npmjs.org/@teambit/toolbox.network.agent/0.0.116_@teambit+legacy@1.0.327 + '@teambit/toolbox.network.agent': registry.npmjs.org/@teambit/toolbox.network.agent/0.0.116_@teambit+legacy@1.0.328 '@vuedoc/parser': registry.npmjs.org/@vuedoc/parser/3.4.0 app-module-path: registry.npmjs.org/app-module-path/2.2.0 archy: registry.npmjs.org/archy/1.0.0 @@ -13293,7 +13296,7 @@ packages: - supports-color - utf-8-validate - registry.npmjs.org/@teambit/mdx.ui.mdx-scope-context/0.0.368_sbf7ripzqgb2lstyqro7oe5stu: + registry.npmjs.org/@teambit/mdx.ui.mdx-scope-context/0.0.368_7fqrbb6jgh4ijdiupfm745kwd4: resolution: {integrity: sha512-AoIdyGYo1JmN+3UCoyMJMYiI/CJ6P4x84TQFOJnqxrExxZgZbNx004df3cIsj92mljubGGGXTxd94loqon2G7w==, registry: https://node.bit.dev/, tarball: https://registry.npmjs.org/@teambit/mdx.ui.mdx-scope-context/-/mdx.ui.mdx-scope-context-0.0.368.tgz} id: registry.npmjs.org/@teambit/mdx.ui.mdx-scope-context/0.0.368 name: '@teambit/mdx.ui.mdx-scope-context' @@ -13304,12 +13307,12 @@ packages: react: ^16.8.0 || ^17.0.0 react-dom: ^16.8.0 || ^17.0.0 dependencies: - '@teambit/legacy': registry.npmjs.org/@teambit/legacy/1.0.327_ev5kpl4xtjr2abkky7wuhwawze + '@teambit/legacy': registry.npmjs.org/@teambit/legacy/1.0.328_ev5kpl4xtjr2abkky7wuhwawze core-js: registry.npmjs.org/core-js/3.22.5 react: registry.npmjs.org/react/17.0.2 react-dom: registry.npmjs.org/react-dom/17.0.2_react@17.0.2 - registry.npmjs.org/@teambit/react.instructions.react.adding-compositions/0.0.6_sbf7ripzqgb2lstyqro7oe5stu: + registry.npmjs.org/@teambit/react.instructions.react.adding-compositions/0.0.6_7fqrbb6jgh4ijdiupfm745kwd4: resolution: {integrity: sha512-6GzCl0ZnmpfQ923yuCahI4mXZ8wSQCeF6D4+xtCq8tk+W5GHb12ZSlHBCD5xAZsc7i7VRUUZcTdhbc8L2RhMpg==, registry: https://node.bit.dev/, tarball: https://registry.npmjs.org/@teambit/react.instructions.react.adding-compositions/-/react.instructions.react.adding-compositions-0.0.6.tgz} id: registry.npmjs.org/@teambit/react.instructions.react.adding-compositions/0.0.6 name: '@teambit/react.instructions.react.adding-compositions' @@ -13319,7 +13322,7 @@ packages: react-dom: ^16.8.0 || ^17.0.0 dependencies: '@mdx-js/react': registry.npmjs.org/@mdx-js/react/1.6.22_react@17.0.2 - '@teambit/mdx.ui.mdx-scope-context': registry.npmjs.org/@teambit/mdx.ui.mdx-scope-context/0.0.368_sbf7ripzqgb2lstyqro7oe5stu + '@teambit/mdx.ui.mdx-scope-context': registry.npmjs.org/@teambit/mdx.ui.mdx-scope-context/0.0.368_7fqrbb6jgh4ijdiupfm745kwd4 core-js: registry.npmjs.org/core-js/3.13.0 react: registry.npmjs.org/react/17.0.2 react-dom: registry.npmjs.org/react-dom/17.0.2_react@17.0.2 @@ -13327,7 +13330,7 @@ packages: - '@teambit/legacy' dev: false - registry.npmjs.org/@teambit/react.instructions.react.adding-tests/0.0.6_sbf7ripzqgb2lstyqro7oe5stu: + registry.npmjs.org/@teambit/react.instructions.react.adding-tests/0.0.6_7fqrbb6jgh4ijdiupfm745kwd4: resolution: {integrity: sha512-OoNj8YPPc7I9a3TtUche2IdCHe2d/5hgZbjmZXWSPJVM69JCSzxhUNXaQRbiOuCI7m7+O2bBzMS4G2UboJ5Nmg==, registry: https://node.bit.dev/, tarball: https://registry.npmjs.org/@teambit/react.instructions.react.adding-tests/-/react.instructions.react.adding-tests-0.0.6.tgz} id: registry.npmjs.org/@teambit/react.instructions.react.adding-tests/0.0.6 name: '@teambit/react.instructions.react.adding-tests' @@ -13337,7 +13340,7 @@ packages: react-dom: ^16.8.0 || ^17.0.0 dependencies: '@mdx-js/react': registry.npmjs.org/@mdx-js/react/1.6.22_react@17.0.2 - '@teambit/mdx.ui.mdx-scope-context': registry.npmjs.org/@teambit/mdx.ui.mdx-scope-context/0.0.368_sbf7ripzqgb2lstyqro7oe5stu + '@teambit/mdx.ui.mdx-scope-context': registry.npmjs.org/@teambit/mdx.ui.mdx-scope-context/0.0.368_7fqrbb6jgh4ijdiupfm745kwd4 core-js: registry.npmjs.org/core-js/3.13.0 react: registry.npmjs.org/react/17.0.2 react-dom: registry.npmjs.org/react-dom/17.0.2_react@17.0.2 @@ -13419,7 +13422,7 @@ packages: react-dom: registry.npmjs.org/react-dom/17.0.2_react@17.0.2 dev: false - registry.npmjs.org/@teambit/toolbox.network.agent/0.0.116_@teambit+legacy@1.0.327: + registry.npmjs.org/@teambit/toolbox.network.agent/0.0.116_@teambit+legacy@1.0.328: resolution: {integrity: sha512-WYK7V5bs7S3djNjGepUhhrKcgESo7hULAUOa+6k000Z0QUaa6BfMqJ0X6aicMRJO7d8HD4wIcR0TEfc7Sa2S1Q==, registry: https://node.bit.dev/, tarball: https://registry.npmjs.org/@teambit/toolbox.network.agent/-/toolbox.network.agent-0.0.116.tgz} id: registry.npmjs.org/@teambit/toolbox.network.agent/0.0.116 name: '@teambit/toolbox.network.agent' @@ -13428,13 +13431,13 @@ packages: peerDependencies: '@teambit/legacy': 1.0.108 dependencies: - '@teambit/legacy': registry.npmjs.org/@teambit/legacy/1.0.327_ev5kpl4xtjr2abkky7wuhwawze - '@teambit/toolbox.network.proxy-agent': registry.npmjs.org/@teambit/toolbox.network.proxy-agent/0.0.116_@teambit+legacy@1.0.327 + '@teambit/legacy': registry.npmjs.org/@teambit/legacy/1.0.328_ev5kpl4xtjr2abkky7wuhwawze + '@teambit/toolbox.network.proxy-agent': registry.npmjs.org/@teambit/toolbox.network.proxy-agent/0.0.116_@teambit+legacy@1.0.328 agentkeepalive: registry.npmjs.org/agentkeepalive/4.1.4 transitivePeerDependencies: - supports-color - registry.npmjs.org/@teambit/toolbox.network.agent/0.0.245_@teambit+legacy@1.0.327: + registry.npmjs.org/@teambit/toolbox.network.agent/0.0.245_@teambit+legacy@1.0.328: resolution: {integrity: sha512-x7JDFqVtPP2ruz4/5Cn20Xvz/3FdJ8tJLEohhyi0t5Tuo7Qd4YegDPaTxUz8r+f6i38T0YTcQoLAUSc6RDsUSg==, registry: https://node.bit.dev/, tarball: https://registry.npmjs.org/@teambit/toolbox.network.agent/-/toolbox.network.agent-0.0.245.tgz} id: registry.npmjs.org/@teambit/toolbox.network.agent/0.0.245 name: '@teambit/toolbox.network.agent' @@ -13443,13 +13446,13 @@ packages: peerDependencies: '@teambit/legacy': 1.0.160 dependencies: - '@teambit/legacy': registry.npmjs.org/@teambit/legacy/1.0.327_ev5kpl4xtjr2abkky7wuhwawze - '@teambit/toolbox.network.proxy-agent': registry.npmjs.org/@teambit/toolbox.network.proxy-agent/0.0.245_@teambit+legacy@1.0.327 + '@teambit/legacy': registry.npmjs.org/@teambit/legacy/1.0.328_ev5kpl4xtjr2abkky7wuhwawze + '@teambit/toolbox.network.proxy-agent': registry.npmjs.org/@teambit/toolbox.network.proxy-agent/0.0.245_@teambit+legacy@1.0.328 agentkeepalive: registry.npmjs.org/agentkeepalive/4.1.4 transitivePeerDependencies: - supports-color - registry.npmjs.org/@teambit/toolbox.network.proxy-agent/0.0.116_@teambit+legacy@1.0.327: + registry.npmjs.org/@teambit/toolbox.network.proxy-agent/0.0.116_@teambit+legacy@1.0.328: resolution: {integrity: sha512-XFF8dwV7t0tLh/OtWArayE16/j020YA5nMwOLTeFeQEK9JuA+KK820cWTILyzysOel8Xt9tfvp6x/LLq/wE13w==, registry: https://node.bit.dev/, tarball: https://registry.npmjs.org/@teambit/toolbox.network.proxy-agent/-/toolbox.network.proxy-agent-0.0.116.tgz} id: registry.npmjs.org/@teambit/toolbox.network.proxy-agent/0.0.116 name: '@teambit/toolbox.network.proxy-agent' @@ -13458,15 +13461,15 @@ packages: peerDependencies: '@teambit/legacy': 1.0.108 dependencies: - '@teambit/legacy': registry.npmjs.org/@teambit/legacy/1.0.327_ev5kpl4xtjr2abkky7wuhwawze - '@teambit/toolbox.network.agent': registry.npmjs.org/@teambit/toolbox.network.agent/0.0.116_@teambit+legacy@1.0.327 + '@teambit/legacy': registry.npmjs.org/@teambit/legacy/1.0.328_ev5kpl4xtjr2abkky7wuhwawze + '@teambit/toolbox.network.agent': registry.npmjs.org/@teambit/toolbox.network.agent/0.0.116_@teambit+legacy@1.0.328 http-proxy-agent: registry.npmjs.org/http-proxy-agent/4.0.1 https-proxy-agent: registry.npmjs.org/https-proxy-agent/5.0.0 socks-proxy-agent: registry.npmjs.org/socks-proxy-agent/5.0.0 transitivePeerDependencies: - supports-color - registry.npmjs.org/@teambit/toolbox.network.proxy-agent/0.0.245_@teambit+legacy@1.0.327: + registry.npmjs.org/@teambit/toolbox.network.proxy-agent/0.0.245_@teambit+legacy@1.0.328: resolution: {integrity: sha512-Dw6DBw0rmV48BcPrYJNKJapq0vFZDxHOskmkPRZW8zz95sq0nhMMrWhE45dWfVLGGk6LW9xnTUTriN5GJiuq6A==, registry: https://node.bit.cloud/, tarball: https://registry.npmjs.org/@teambit/toolbox.network.proxy-agent/-/toolbox.network.proxy-agent-0.0.245.tgz} id: registry.npmjs.org/@teambit/toolbox.network.proxy-agent/0.0.245 name: '@teambit/toolbox.network.proxy-agent' @@ -13475,8 +13478,8 @@ packages: peerDependencies: '@teambit/legacy': 1.0.160 dependencies: - '@teambit/legacy': registry.npmjs.org/@teambit/legacy/1.0.327_ev5kpl4xtjr2abkky7wuhwawze - '@teambit/toolbox.network.agent': registry.npmjs.org/@teambit/toolbox.network.agent/0.0.245_@teambit+legacy@1.0.327 + '@teambit/legacy': registry.npmjs.org/@teambit/legacy/1.0.328_ev5kpl4xtjr2abkky7wuhwawze + '@teambit/toolbox.network.agent': registry.npmjs.org/@teambit/toolbox.network.agent/0.0.245_@teambit+legacy@1.0.328 http-proxy-agent: registry.npmjs.org/http-proxy-agent/4.0.1 https-proxy-agent: registry.npmjs.org/https-proxy-agent/5.0.0 socks-proxy-agent: registry.npmjs.org/socks-proxy-agent/5.0.0 @@ -13533,7 +13536,7 @@ packages: react-dom: registry.npmjs.org/react-dom/17.0.2_react@17.0.2 dev: false - registry.npmjs.org/@teambit/ui-foundation.ui.global-loader/0.0.474_sbf7ripzqgb2lstyqro7oe5stu: + registry.npmjs.org/@teambit/ui-foundation.ui.global-loader/0.0.474_7fqrbb6jgh4ijdiupfm745kwd4: resolution: {integrity: sha512-X0qIYDhNlRZ4MO7VVb0hw8pkBt4dpddUSFgW3uzWA8ExSVzOcTGdicrASMxFmTxBSyzPb5pO9pcbJJCwRzehLQ==, registry: https://node.bit.dev/, tarball: https://registry.npmjs.org/@teambit/ui-foundation.ui.global-loader/-/ui-foundation.ui.global-loader-0.0.474.tgz} id: registry.npmjs.org/@teambit/ui-foundation.ui.global-loader/0.0.474 name: '@teambit/ui-foundation.ui.global-loader' @@ -13544,7 +13547,7 @@ packages: react: ^16.8.0 || ^17.0.0 react-dom: ^16.8.0 || ^17.0.0 dependencies: - '@teambit/legacy': registry.npmjs.org/@teambit/legacy/1.0.327_ev5kpl4xtjr2abkky7wuhwawze + '@teambit/legacy': registry.npmjs.org/@teambit/legacy/1.0.328_ev5kpl4xtjr2abkky7wuhwawze core-js: registry.npmjs.org/core-js/3.22.5 react: registry.npmjs.org/react/17.0.2 react-dom: registry.npmjs.org/react-dom/17.0.2_react@17.0.2 diff --git a/scopes/component/component-compare/component-compare-widget.tsx b/scopes/component/component-compare/component-compare-widget.tsx index 0319fbfb6c3c..0102dfdc568c 100644 --- a/scopes/component/component-compare/component-compare-widget.tsx +++ b/scopes/component/component-compare/component-compare-widget.tsx @@ -9,7 +9,7 @@ export function ComponentCompareMenuWidget({ className, ...rest }: MenuWidgetIco return ( - + ); diff --git a/scopes/component/ui/pipelines/artifacts-panel/artifacts-panel.tsx b/scopes/component/ui/pipelines/artifacts-panel/artifacts-panel.tsx index c13af4251431..c8a18f434e08 100644 --- a/scopes/component/ui/pipelines/artifacts-panel/artifacts-panel.tsx +++ b/scopes/component/ui/pipelines/artifacts-panel/artifacts-panel.tsx @@ -1,5 +1,6 @@ import React, { HTMLAttributes, useState, useMemo } from 'react'; import classNames from 'classnames'; +import { EmptyBox } from '@teambit/design.ui.empty-box'; import { Icon } from '@teambit/evangelist.elements.icon'; import { WidgetProps } from '@teambit/ui-foundation.ui.tree.tree-node'; import { DrawerUI } from '@teambit/ui-foundation.ui.tree.drawer'; @@ -24,11 +25,11 @@ export function ArtifactPanel({ className, fileIconMatchers }: ArtifactsPanelPro if (!componentPipelineContext) return null; const { pipeline, selectedPipelineId } = componentPipelineContext; - const { artifact, name: taskName } = pipeline.find((task) => task.id === selectedPipelineId) || {}; + const { artifact, taskName } = pipeline.find((task) => task.id === selectedPipelineId) || {}; const { name, files } = artifact || {}; const artifactFiles = files?.map((file) => file.name) || []; const currentHref = location?.pathname || ''; - const drawerName = `${taskName} / ${name}`; + const drawerName = `${taskName} ${name ? '/ '.concat(name) : ''}`; const onToggle = () => onToggleDrawer((open) => !open); const getIcon = useMemo(() => generateIcon(fileIconMatchers), [fileIconMatchers]); const getHref = () => currentHref; @@ -43,13 +44,23 @@ export function ArtifactPanel({ className, fileIconMatchers }: ArtifactsPanelPro contentClass={styles.artifactsPanelCodeDrawerContent} className={classNames(styles.artifactsPanelCodeTabDrawer)} > - + {artifactFiles.length > 0 && ( + + )} + {artifactFiles.length === 0 && ( + + )} ); diff --git a/scopes/component/ui/pipelines/component-pipeline-model/component-pipeline.model.ts b/scopes/component/ui/pipelines/component-pipeline-model/component-pipeline.model.ts index b452a24338bc..6d455456a94e 100644 --- a/scopes/component/ui/pipelines/component-pipeline-model/component-pipeline.model.ts +++ b/scopes/component/ui/pipelines/component-pipeline-model/component-pipeline.model.ts @@ -13,7 +13,8 @@ export type Artifact = { export type TaskReport = { id: string; - name: string; + taskId: string; + taskName: string; description?: string; errors: Array; warnings: Array; diff --git a/scopes/component/ui/pipelines/component-pipeline-queries/use-component-pipeline.ts b/scopes/component/ui/pipelines/component-pipeline-queries/use-component-pipeline.ts index 6c388ff88852..323889d818b5 100644 --- a/scopes/component/ui/pipelines/component-pipeline-queries/use-component-pipeline.ts +++ b/scopes/component/ui/pipelines/component-pipeline-queries/use-component-pipeline.ts @@ -14,13 +14,15 @@ const PIPELINE_REPORT_QUERY = gql` } pipelineReport(taskId: $taskId) { id - name + taskId + taskName description startTime endTime errors warnings artifact { + id name description files { diff --git a/scopes/component/ui/pipelines/component-pipeline/pipeline-node/pipeline-node.tsx b/scopes/component/ui/pipelines/component-pipeline/pipeline-node/pipeline-node.tsx index c6bf07207814..a711b86420ba 100644 --- a/scopes/component/ui/pipelines/component-pipeline/pipeline-node/pipeline-node.tsx +++ b/scopes/component/ui/pipelines/component-pipeline/pipeline-node/pipeline-node.tsx @@ -2,7 +2,6 @@ import React from 'react'; import { Card } from '@teambit/base-ui.surfaces.card'; import { ellipsis } from '@teambit/design.ui.styles.ellipsis'; import classNames from 'classnames'; -import { Tooltip } from '@teambit/design.ui.tooltip'; import { useComponentPipelineContext } from '@teambit/component.ui.pipelines.component-pipeline-context'; import { TaskReport } from '@teambit/component.ui.pipelines.component-pipeline-model'; import { calcMilliseconds, calcSeconds } from '@teambit/component.ui.pipelines.component-pipeline-utils'; @@ -15,7 +14,7 @@ export function PipelineNode(props: PipelineNodeProps) { const { id, isConnectable, - data: { id: taskId, name: taskName, duration, warnings, errors, artifact }, + data: { taskId, taskName, duration, warnings, errors }, } = props; const icon = 'https://static.bit.dev/extensions-icons/react.svg'; const componentPipelineContext = useComponentPipelineContext(); @@ -39,7 +38,7 @@ export function PipelineNode(props: PipelineNodeProps) { )} roundness="small" elevation="none" - onClick={artifact && onPipelineNodeClicked} + onClick={onPipelineNodeClicked} > {} @@ -56,12 +55,7 @@ export function PipelineNode(props: PipelineNodeProps) { ); - if (!artifact) - return ( - - {Pipeline} - - ); + return Pipeline; } diff --git a/scopes/defender/tester/index.ts b/scopes/defender/tester/index.ts index 3fc135d6389f..ac4be9235ee0 100644 --- a/scopes/defender/tester/index.ts +++ b/scopes/defender/tester/index.ts @@ -1,12 +1,9 @@ import { TesterAspect } from './tester.aspect'; -import pageStyles from './ui/tests-page.module.scss'; export { Tests } from './tester'; export type { Tester, TesterContext, CallbackFn, SpecFiles, ComponentPatternsMap, ComponentsResults } from './tester'; export type { TesterMain } from './tester.main.runtime'; -export type { TesterUI } from './tester.ui.runtime'; -const { testsPage, testBlock } = pageStyles; -export const styles = { testsPage, testBlock }; +export type { TesterUI, EmptyStateSlot } from './tester.ui.runtime'; export { TesterAspect }; export default TesterAspect; diff --git a/scopes/defender/tester/tests.section.tsx b/scopes/defender/tester/tests.section.tsx index 28ed85896a9a..44a5f71ca842 100644 --- a/scopes/defender/tester/tests.section.tsx +++ b/scopes/defender/tester/tests.section.tsx @@ -1,6 +1,6 @@ import React from 'react'; import { Section } from '@teambit/component'; -import { TestsPage } from './ui/tests-page'; +import { TestsPage } from '@teambit/defender.ui.test-page'; import { EmptyStateSlot } from './tester.ui.runtime'; export class TestsSection implements Section { diff --git a/scopes/defender/ui/test-compare/compare-tests-page.tsx b/scopes/defender/ui/test-compare/compare-tests-page.tsx index 1972043c026b..1ad435620f53 100644 --- a/scopes/defender/ui/test-compare/compare-tests-page.tsx +++ b/scopes/defender/ui/test-compare/compare-tests-page.tsx @@ -7,7 +7,7 @@ import { TestTable } from '@teambit/defender.ui.test-table'; import { AlertCard } from '@teambit/design.ui.alert-card'; import { EmptyBox } from '@teambit/design.ui.empty-box'; import { MDXLayout } from '@teambit/mdx.ui.mdx-layout'; -import { styles } from '@teambit/tester'; +import { styles } from '@teambit/defender.ui.test-page'; import classNames from 'classnames'; export type CompareTestsPageProps = { diff --git a/scopes/defender/ui/test-page/index.ts b/scopes/defender/ui/test-page/index.ts new file mode 100644 index 000000000000..9bb1f79c48b1 --- /dev/null +++ b/scopes/defender/ui/test-page/index.ts @@ -0,0 +1,6 @@ +import pageStyles from './tests-page.module.scss'; + +const { testsPage, testBlock } = pageStyles; +export const styles = { testsPage, testBlock }; + +export { TestsPage } from './tests-page'; diff --git a/scopes/defender/tester/ui/tests-page.module.scss b/scopes/defender/ui/test-page/tests-page.module.scss similarity index 100% rename from scopes/defender/tester/ui/tests-page.module.scss rename to scopes/defender/ui/test-page/tests-page.module.scss diff --git a/scopes/defender/tester/ui/tests-page.tsx b/scopes/defender/ui/test-page/tests-page.tsx similarity index 98% rename from scopes/defender/tester/ui/tests-page.tsx rename to scopes/defender/ui/test-page/tests-page.tsx index 25ebe5479acc..573e77db73c2 100644 --- a/scopes/defender/tester/ui/tests-page.tsx +++ b/scopes/defender/ui/test-page/tests-page.tsx @@ -7,10 +7,10 @@ import { EmptyBox } from '@teambit/design.ui.empty-box'; import { MDXLayout } from '@teambit/mdx.ui.mdx-layout'; import { AlertCard } from '@teambit/design.ui.alert-card'; import { TestLoader } from '@teambit/defender.ui.test-loader'; +import { EmptyStateSlot } from '@teambit/tester'; import classNames from 'classnames'; import React, { HTMLAttributes, useContext } from 'react'; import { TestTable } from '@teambit/defender.ui.test-table'; -import { EmptyStateSlot } from '../tester.ui.runtime'; import styles from './tests-page.module.scss'; const TESTS_SUBSCRIPTION_CHANGED = gql` diff --git a/scopes/harmony/node/node.main.runtime.ts b/scopes/harmony/node/node.main.runtime.ts index 047f07139f43..eda792097189 100644 --- a/scopes/harmony/node/node.main.runtime.ts +++ b/scopes/harmony/node/node.main.runtime.ts @@ -1,5 +1,5 @@ +import mergeDeepLeft from 'ramda/src/mergeDeepLeft'; import { EnvPolicyConfigObject } from '@teambit/dependency-resolver'; -import { merge } from 'lodash'; import { TsConfigSourceFile } from 'typescript'; import { TsCompilerOptionsWithoutTsConfig, TypescriptAspect, TypescriptMain } from '@teambit/typescript'; import { ApplicationAspect, ApplicationMain } from '@teambit/application'; @@ -136,7 +136,7 @@ export class NodeMain { */ overrideDependencies(dependencyPolicy: EnvPolicyConfigObject) { return this.envs.override({ - getDependencies: () => merge(dependencyPolicy, this.nodeEnv.getDependencies()), + getDependencies: () => mergeDeepLeft(dependencyPolicy, this.nodeEnv.getDependencies()), }); } diff --git a/scopes/html/html/html.main.runtime.ts b/scopes/html/html/html.main.runtime.ts index f092914ae956..aa5bf56cef7d 100644 --- a/scopes/html/html/html.main.runtime.ts +++ b/scopes/html/html/html.main.runtime.ts @@ -1,5 +1,5 @@ +import mergeDeepLeft from 'ramda/src/mergeDeepLeft'; import { TsConfigSourceFile } from 'typescript'; -import { merge } from 'lodash'; import type { TsCompilerOptionsWithoutTsConfig } from '@teambit/typescript'; import { BuildTask } from '@teambit/builder'; import { Compiler } from '@teambit/compiler'; @@ -99,7 +99,7 @@ export class HtmlMain { */ overrideDependencies(dependencyPolicy: EnvPolicyConfigObject) { return this.envs.override({ - getDependencies: () => merge(dependencyPolicy, this.htmlEnv.getDependencies()), + getDependencies: () => mergeDeepLeft(dependencyPolicy, this.htmlEnv.getDependencies()), }); } diff --git a/scopes/lanes/lanes/lane.cmd.ts b/scopes/lanes/lanes/lane.cmd.ts index be268a6cc641..435486eb3da4 100644 --- a/scopes/lanes/lanes/lane.cmd.ts +++ b/scopes/lanes/lanes/lane.cmd.ts @@ -60,10 +60,11 @@ export class LaneListCmd implements Command { if (!unmergedLanes.length) return chalk.green('All lanes are merged'); return chalk.green(unmergedLanes.map((m) => m.name).join('\n')); } - const currentLane = this.lanes.getCurrentLane(); - const laneDataOfCurrentLane = currentLane ? lanes.find((l) => l.name === currentLane) : undefined; + const currentLane = this.lanes.getCurrentLaneId() || this.lanes.getDefaultLaneId(); + const laneDataOfCurrentLane = currentLane ? lanes.find((l) => currentLane.isEqual(l.id)) : undefined; + const currentAlias = laneDataOfCurrentLane ? laneDataOfCurrentLane.alias : undefined; const currentLaneReadmeComponentStr = outputReadmeComponent(laneDataOfCurrentLane?.readmeComponent); - let currentLaneStr = currentLane ? `current lane - ${chalk.green.green(currentLane as string)}` : ''; + let currentLaneStr = currentLane ? `current lane - ${chalk.green.green(currentAlias || currentLane.name)}` : ''; currentLaneStr += currentLaneReadmeComponentStr; if (details) { @@ -75,16 +76,18 @@ export class LaneListCmd implements Command { } const availableLanes = lanes - .filter((l) => l.name !== currentLane) - // @ts-ignore + .filter((l) => !currentLane.isEqual(l.id)) .map((laneData) => { const readmeComponentStr = outputReadmeComponent(laneData.readmeComponent); + const aliasStr = laneData.alias ? ` (${laneData.alias})` : ''; if (details) { - const laneTitle = `> ${chalk.bold(laneData.name)}${outputRemoteLane(laneData.remote)}\n`; + const laneTitle = `> ${chalk.bold(laneData.name)}${aliasStr}${outputRemoteLane(laneData.remote)}\n`; const components = outputComponents(laneData.components); return laneTitle + readmeComponentStr.concat('\n') + components; } - return ` > ${chalk.green(laneData.name)} (${laneData.components.length} components)${readmeComponentStr}`; + return ` > ${chalk.green(laneData.name)}${aliasStr} (${ + laneData.components.length + } components)${readmeComponentStr}`; }) .join('\n'); @@ -121,7 +124,7 @@ export class LaneListCmd implements Command { merged, notMerged, }); - const currentLane = this.lanes.getCurrentLane(); + const currentLane = this.lanes.getCurrentLaneNameOrAlias(); return { lanes, currentLane }; } } @@ -482,7 +485,9 @@ export class LaneRemoveReadmeCmd implements Command { if (result) { return chalk.green( - `the readme component has been successfully removed from the lane ${laneName || this.lanes.getCurrentLane()}` + `the readme component has been successfully removed from the lane ${ + laneName || this.lanes.getCurrentLaneName() + }` ); } @@ -510,13 +515,13 @@ export class LaneAddReadmeCmd implements Command { if (result) return chalk.green( `the component ${componentId} has been successfully added as the readme component for the lane ${ - laneName || this.lanes.getCurrentLane() + laneName || this.lanes.getCurrentLaneName() }` ); return chalk.red( `${message || ''}\nthe component ${componentId} could not be added as a readme component for the lane ${ - laneName || this.lanes.getCurrentLane() + laneName || this.lanes.getCurrentLaneName() }` ); } diff --git a/scopes/lanes/lanes/lanes.graphql.ts b/scopes/lanes/lanes/lanes.graphql.ts index d99384d0fa17..4d23c4ff30b3 100644 --- a/scopes/lanes/lanes/lanes.graphql.ts +++ b/scopes/lanes/lanes/lanes.graphql.ts @@ -79,7 +79,7 @@ export function lanesSchema(lanesMainRuntime: LanesMain): Schema { return lanes; }, current: async (lanesMain: LanesMain) => { - const currentLaneId = lanesMain.getCurrentLane(); + const currentLaneId = lanesMain.getCurrentLaneName(); if (!currentLaneId) return undefined; const [currentLane] = await lanesMain.getLanes({ name: currentLaneId }); return currentLane; diff --git a/scopes/lanes/lanes/lanes.main.runtime.ts b/scopes/lanes/lanes/lanes.main.runtime.ts index 52d2e07b87d0..8ad72a99b86e 100644 --- a/scopes/lanes/lanes/lanes.main.runtime.ts +++ b/scopes/lanes/lanes/lanes.main.runtime.ts @@ -127,19 +127,31 @@ export class LanesMain { return lanes; } - getCurrentLane(): string | null { - if (!this.workspace?.consumer) return null; - return this.scope.legacyScope.lanes.getCurrentLaneName(); + getCurrentLaneName(): string | null { + return this.getCurrentLaneId()?.name || null; + } + + getCurrentLaneNameOrAlias(): string | null { + const currentLaneId = this.getCurrentLaneId(); + if (!currentLaneId) return null; + const trackingData = this.scope.legacyScope.lanes.getLocalTrackedLaneByRemoteName( + currentLaneId.name, + currentLaneId.scope + ); + return trackingData || currentLaneId.name; } getCurrentLaneId(): LaneId | null { if (!this.workspace) return null; - return this.scope.legacyScope.lanes.getCurrentLaneId(); + return this.workspace.consumer.getCurrentLaneId(); + } + + getDefaultLaneId(): LaneId { + return LaneId.from(DEFAULT_LANE, this.scope.name); } setCurrentLane(laneId: LaneId, alias?: string, exported?: boolean) { - this.scope.legacyScope.lanes.setCurrentLane(alias || laneId.name); - this.workspace?.consumer.bitMap.setCurrentLane(laneId, exported); + this.workspace?.consumer.setCurrentLane(laneId, exported); } async createLane(name: string, { remoteScope, alias }: CreateLaneOptions = {}): Promise { @@ -235,6 +247,7 @@ export class LanesMain { } const remoteScopeBefore = lane.scope; lane.scope = remoteScope; + const newLaneId = LaneId.from(laneId.name, remoteScope); const trackData = { localLane: laneNameWithoutScope, remoteLane: laneId.name, @@ -242,6 +255,7 @@ export class LanesMain { }; this.scope.legacyScope.lanes.trackLane(trackData); await this.scope.legacyScope.lanes.saveLane(lane); + this.workspace.consumer.bitMap.setCurrentLane(newLaneId); await this.workspace.consumer.onDestroy(); return { remoteScopeBefore }; @@ -286,7 +300,7 @@ export class LanesMain { await this.scope.legacyScope.lanes.saveLane(lane); // change current-lane if needed - const currentLaneName = this.getCurrentLane(); + const currentLaneName = this.getCurrentLaneName(); if (currentLaneName === laneNameWithoutScope) { const newLaneId = LaneId.from(newName, lane.scope); const isExported = this.workspace.consumer.bitMap.isLaneExported; @@ -440,7 +454,7 @@ export class LanesMain { if (!this.workspace) { throw new BitError('unable to remove the lane readme component outside of Bit workspace'); } - const currentLaneName = this.getCurrentLane(); + const currentLaneName = this.getCurrentLaneName(); if (!laneName && !currentLaneName) { return { @@ -537,6 +551,7 @@ export class LanesMain { return { name: DEFAULT_LANE, remote: null, + id: this.getDefaultLaneId(), components: bitIds.map((bitId) => ({ id: bitId, head: bitId.version as string })), isMerged: null, }; diff --git a/scopes/lanes/lanes/lanes.ui.runtime.tsx b/scopes/lanes/lanes/lanes.ui.runtime.tsx index c0c59d64590d..a6b98f939700 100644 --- a/scopes/lanes/lanes/lanes.ui.runtime.tsx +++ b/scopes/lanes/lanes/lanes.ui.runtime.tsx @@ -59,7 +59,12 @@ export class LanesUI { private registerHostAspectRoutes() { if (!this.hostAspect) return; - this.hostAspect.registerRoutes([ + this.hostAspect.registerRoutes(this.getLaneRoutes()); + this.hostAspect.registerMenuRoutes(this.getMenuRoutes()); + } + + getLaneRoutes() { + return [ { path: LanesModel.lanesPrefix, children: ( @@ -73,9 +78,7 @@ export class LanesUI { /> - } + element={this.getLaneGallery()} /> } /> @@ -84,21 +87,32 @@ export class LanesUI { > ), }, - ]); - this.hostAspect.registerMenuRoutes([ + ]; + } + + getLaneGallery() { + return ; + } + + getMenuRoutes() { + return [ { path: LanesModel.lanesPrefix, children: ( } + element={this.getLanesOverviewMenu()} /> ), }, - ]); + ]; + } + + getLanesOverviewMenu() { + return ; } registerMenuWidget(...menuItems: MenuWidget[]) { diff --git a/scopes/lanes/lanes/switch-lanes.ts b/scopes/lanes/lanes/switch-lanes.ts index e7948dba948f..61f5953fdc84 100644 --- a/scopes/lanes/lanes/switch-lanes.ts +++ b/scopes/lanes/lanes/switch-lanes.ts @@ -181,7 +181,7 @@ export class LaneSwitcher { private async saveLanesData() { const saveRemoteLaneToBitmap = () => { if (this.switchProps.remoteLane) { - this.consumer.bitMap.setCurrentLane(this.switchProps.remoteLane.toLaneId()); + this.consumer.setCurrentLane(this.switchProps.remoteLane.toLaneId()); } }; const throwIfLaneExists = async () => { @@ -206,8 +206,7 @@ export class LaneSwitcher { } saveRemoteLaneToBitmap(); - this.consumer.scope.lanes.setCurrentLane(localLaneName); - this.consumer.bitMap.setCurrentLane(this.laneIdToSwitch, Boolean(this.switchProps.remoteLane)); + this.consumer.setCurrentLane(this.laneIdToSwitch, Boolean(this.switchProps.remoteLane)); this.consumer.bitMap.syncWithLanes(this.laneToSwitchTo); } } diff --git a/scopes/pipelines/builder-ui/builder.section.tsx b/scopes/pipelines/builder-ui/builder.section.tsx index 53edd5188116..1b160a85c510 100644 --- a/scopes/pipelines/builder-ui/builder.section.tsx +++ b/scopes/pipelines/builder-ui/builder.section.tsx @@ -1,6 +1,7 @@ import { Section } from '@teambit/component'; import React from 'react'; import { ComponentPipelinePage } from '@teambit/component.ui.pipelines.component-pipeline'; +import { ComponentPipelineWidget } from './component-pipeline-widget'; import { BuilderUI } from './builder.ui.runtime'; export class BuilderSection implements Section { @@ -13,7 +14,7 @@ export class BuilderSection implements Section { navigationLink = { href: '~component-pipeline', - children: 'Pipeline', + children: , }; order = 50; diff --git a/scopes/pipelines/builder-ui/builder.ui.runtime.tsx b/scopes/pipelines/builder-ui/builder.ui.runtime.tsx index 898addeee876..3fd20fcb2440 100644 --- a/scopes/pipelines/builder-ui/builder.ui.runtime.tsx +++ b/scopes/pipelines/builder-ui/builder.ui.runtime.tsx @@ -46,7 +46,7 @@ export class BuilderUI { const section = new BuilderSection(host, ui); component.registerRoute(section.route); - component.registerNavigation(section.navigationLink, section.order); + // component.registerWidget(section.navigationLink, section.order); return ui; } diff --git a/scopes/pipelines/builder-ui/component-pipeline-widget/component-pipeline-widget.module.scss b/scopes/pipelines/builder-ui/component-pipeline-widget/component-pipeline-widget.module.scss new file mode 100644 index 000000000000..11d7a608062c --- /dev/null +++ b/scopes/pipelines/builder-ui/component-pipeline-widget/component-pipeline-widget.module.scss @@ -0,0 +1,10 @@ +.widgetMenuIcon { + display: flex; + justify-content: center; + align-items: center; + + img { + height: 16px; + width: 16px; + } +} diff --git a/scopes/pipelines/builder-ui/component-pipeline-widget/component-pipeline-widget.tsx b/scopes/pipelines/builder-ui/component-pipeline-widget/component-pipeline-widget.tsx new file mode 100644 index 000000000000..55081a7e0eaf --- /dev/null +++ b/scopes/pipelines/builder-ui/component-pipeline-widget/component-pipeline-widget.tsx @@ -0,0 +1,16 @@ +import React, { HTMLAttributes } from 'react'; +import classNames from 'classnames'; +import { Tooltip } from '@teambit/design.ui.tooltip'; +import styles from './component-pipeline-widget.module.scss'; + +export type ComponentPipelineWidgetProps = {} & HTMLAttributes; + +export function ComponentPipelineWidget({ className, ...rest }: ComponentPipelineWidgetProps) { + return ( + + + + + + ); +} diff --git a/scopes/pipelines/builder-ui/component-pipeline-widget/index.ts b/scopes/pipelines/builder-ui/component-pipeline-widget/index.ts new file mode 100644 index 000000000000..dd2dbcf0d76a --- /dev/null +++ b/scopes/pipelines/builder-ui/component-pipeline-widget/index.ts @@ -0,0 +1,2 @@ +export { ComponentPipelineWidget } from './component-pipeline-widget'; +export type { ComponentPipelineWidgetProps } from './component-pipeline-widget'; diff --git a/scopes/pipelines/builder/builder.graphql.ts b/scopes/pipelines/builder/builder.graphql.ts index ee3bc2a47fe5..d8baf0bb7c75 100644 --- a/scopes/pipelines/builder/builder.graphql.ts +++ b/scopes/pipelines/builder/builder.graphql.ts @@ -31,7 +31,13 @@ type ArtifactGQLFile = { externalUrl?: string; }; -type ArtifactGQLData = { name: string; description?: string; files: ArtifactGQLFile[] }; +type ArtifactGQLData = { + name: string; + description?: string; + storage?: string; + generatedBy: string; + files: ArtifactGQLFile[]; +}; type TaskReport = PipelineReport & { artifact?: ArtifactGQLData; componentId: ComponentID; @@ -41,8 +47,10 @@ export function builderSchema(builder: BuilderMain) { return { typeDefs: gql` type TaskReport { + # for GQL caching - taskId + taskName id: String! - name: String! + taskId: String! + taskName: String! description: String startTime: String endTime: String @@ -67,6 +75,8 @@ export function builderSchema(builder: BuilderMain) { } type Artifact { + # for GQL caching - PipelineId + Artifact Name + id: String! # artifact name name: String! description: String @@ -90,16 +100,19 @@ export function builderSchema(builder: BuilderMain) { const artifactsWithVinyl = await Promise.all( artifacts.map(async (artifact) => { const id = artifact.task.aspectId; - const artifactFiles = (await builder.getArtifactsVinylByAspect(component, id)).map((vinyl) => { - const { basename, path, contents } = vinyl || {}; - const isBinary = path && isBinaryPath(path); - const content = !isBinary ? contents?.toString('utf-8') : undefined; - const downloadUrl = encodeURI( - builder.getDownloadUrlForArtifact(component.id, artifact.task.aspectId, path) - ); - const externalUrl = vinyl.url; - return { id: path, name: basename, path, content, downloadUrl, externalUrl }; - }); + const name = artifact.task.name as string; + const artifactFiles = (await builder.getArtifactsVinylByAspectAndTaskName(component, id, name)).map( + (vinyl) => { + const { basename, path, contents } = vinyl || {}; + const isBinary = path && isBinaryPath(path); + const content = !isBinary ? contents?.toString('utf-8') : undefined; + const downloadUrl = encodeURI( + builder.getDownloadUrlForArtifact(component.id, artifact.task.aspectId, path) + ); + const externalUrl = vinyl.url; + return { id: path, name: basename, path, content, downloadUrl, externalUrl }; + } + ); const artifactObj = { ...artifact, files: artifactFiles }; return artifactObj; }) @@ -107,21 +120,23 @@ export function builderSchema(builder: BuilderMain) { const result = pipeline.map((task) => ({ ...task, - artifact: artifactsWithVinyl.find((data) => data.task.aspectId === task.taskId), + artifact: artifactsWithVinyl.find( + (data) => data.task.aspectId === task.taskId && data.task.name === task.taskName + ), })); return result; }, }, TaskReport: { - id: (taskReport: TaskReport) => taskReport.taskId, - name: (taskReport: TaskReport) => taskReport.taskName, + id: (taskReport: TaskReport) => `${taskReport.taskId}-${taskReport.taskName}`, description: (taskReport: TaskReport) => taskReport.taskDescription, errors: (taskReport: TaskReport) => taskReport.errors?.map((e) => e.toString()) || [], warnings: (taskReport: TaskReport) => taskReport.warnings || [], artifact: async (taskReport: TaskReport, { path: pathFilter }: { path?: string }) => { if (!taskReport.artifact) return undefined; return { + id: `${taskReport.taskId}-${taskReport.taskName}-${taskReport.artifact?.name}`, ...taskReport.artifact, files: taskReport.artifact.files.filter((file) => !pathFilter || file.path === pathFilter), }; diff --git a/scopes/pipelines/builder/builder.main.runtime.ts b/scopes/pipelines/builder/builder.main.runtime.ts index 9a085e0aed83..b711c05694d8 100644 --- a/scopes/pipelines/builder/builder.main.runtime.ts +++ b/scopes/pipelines/builder/builder.main.runtime.ts @@ -214,7 +214,7 @@ export class BuilderMain { Object.assign(artifact, Artifact.fromArtifactObject(artifact)); } }); - clonedData.artifacts = ArtifactList.fromArray(clonedData.artifacts); + clonedData.artifacts = ArtifactList.fromArray(clonedData.artifacts || []); return clonedData; } diff --git a/scopes/react/eslint-config-bit-react/component.json b/scopes/react/eslint-config-bit-react/component.json index 8b99f4979177..e2caddbdaeaa 100644 --- a/scopes/react/eslint-config-bit-react/component.json +++ b/scopes/react/eslint-config-bit-react/component.json @@ -43,7 +43,7 @@ }, "peerDependencies": { "eslint": "> 7.0.0", - "@teambit/legacy": "1.0.327" + "@teambit/legacy": "1.0.329" } } } diff --git a/scopes/react/react-native/component.json b/scopes/react/react-native/component.json index 9a42399c8b8f..09d438a44c35 100644 --- a/scopes/react/react-native/component.json +++ b/scopes/react/react-native/component.json @@ -23,7 +23,7 @@ "react": "^16.8.0 || ^17.0.0", "react-dom": "^16.8.0 || ^17.0.0", "react-native-web": "^0.16.0", - "@teambit/legacy": "1.0.327" + "@teambit/legacy": "1.0.329" } } }, diff --git a/scopes/react/react-native/react-native.main.runtime.ts b/scopes/react/react-native/react-native.main.runtime.ts index 5946780df003..57135f414bcb 100644 --- a/scopes/react/react-native/react-native.main.runtime.ts +++ b/scopes/react/react-native/react-native.main.runtime.ts @@ -1,8 +1,8 @@ +import mergeDeepLeft from 'ramda/src/mergeDeepLeft'; import { EnvPolicyConfigObject } from '@teambit/dependency-resolver'; import { GeneratorAspect, GeneratorMain } from '@teambit/generator'; import { TsConfigSourceFile } from 'typescript'; import type { TsCompilerOptionsWithoutTsConfig } from '@teambit/typescript'; -import { merge } from 'lodash'; import { MainRuntime } from '@teambit/cli'; import { BuildTask } from '@teambit/builder'; import { Aspect } from '@teambit/harmony'; @@ -99,7 +99,7 @@ export class ReactNativeMain { */ overrideDependencies(dependencyPolicy: EnvPolicyConfigObject) { return this.envs.override({ - getDependencies: () => merge(dependencyPolicy, this.reactNativeEnv.getDependencies()), + getDependencies: () => mergeDeepLeft(dependencyPolicy, this.reactNativeEnv.getDependencies()), }); } diff --git a/scopes/react/react/component.json b/scopes/react/react/component.json index e6dc56228538..25529fe01f05 100644 --- a/scopes/react/react/component.json +++ b/scopes/react/react/component.json @@ -63,7 +63,7 @@ "peerDependencies": { "react": "^16.8.0 || ^17.0.0", "react-dom": "^16.8.0 || ^17.0.0", - "@teambit/legacy": "1.0.327" + "@teambit/legacy": "1.0.329" } } } diff --git a/scopes/scope/scope/scope.ui.runtime.tsx b/scopes/scope/scope/scope.ui.runtime.tsx index 1ac2fbb220e2..975595b4d99c 100644 --- a/scopes/scope/scope/scope.ui.runtime.tsx +++ b/scopes/scope/scope/scope.ui.runtime.tsx @@ -284,7 +284,7 @@ export class ScopeUI { treeWidgets: this.sidebarSlot, filtersSlot: this.drawerComponentsFiltersSlot, drawerWidgetSlot: this.drawerWidgetSlot, - assumeScopeInUrl + assumeScopeInUrl, }) ); } @@ -360,7 +360,7 @@ export class ScopeUI { ]; static defaultConfig = { - showGallery: true + showGallery: true, }; static async provider( @@ -419,11 +419,12 @@ export class ScopeUI { if (ui) ui.registerRoot(scopeUi.uiRoot.bind(scopeUi)); scopeUi.registerMenuItem(scopeUi.menuItems); scopeUi.registerMenuWidget(() => ); - if (config.showGallery) scopeUi.registerSidebarLink(() => ( - - Gallery - - )); + if (config.showGallery) + scopeUi.registerSidebarLink(() => ( + + Gallery + + )); if (ui) scopeUi.registerExplicitRoutes(); return scopeUi; diff --git a/scopes/ui-foundation/ui/component.json b/scopes/ui-foundation/ui/component.json index 112013a3292f..5b973e4c2fbf 100644 --- a/scopes/ui-foundation/ui/component.json +++ b/scopes/ui-foundation/ui/component.json @@ -33,7 +33,7 @@ "@teambit/legacy": "-" }, "peerDependencies": { - "@teambit/legacy": "1.0.327" + "@teambit/legacy": "1.0.329" } } } diff --git a/scopes/workspace/workspace/workspace.ts b/scopes/workspace/workspace/workspace.ts index 4f48ad2305a0..43c921cb7ead 100644 --- a/scopes/workspace/workspace/workspace.ts +++ b/scopes/workspace/workspace/workspace.ts @@ -1234,7 +1234,7 @@ the following envs are used in this workspace: ${availableEnvs.join(', ')}`); if (!this.envs.isUsingEnvEnv(env)) { this.warnedAboutMisconfiguredEnvs.push(envFromEnvsAspect); this.logger.consoleWarning( - `env "${envFromEnvsAspect}" is not of type env. (correct the env's type, or component config with "bit env set")` + `env "${envFromEnvsAspect}" is not of type env. (correct the env's type, or component config with "bit env set ${envFromEnvsAspect} teambit.envs/env")` ); } } diff --git a/src/api/consumer/lib/export.ts b/src/api/consumer/lib/export.ts index d04b78fd4872..e4b8360716ca 100644 --- a/src/api/consumer/lib/export.ts +++ b/src/api/consumer/lib/export.ts @@ -87,7 +87,7 @@ async function exportComponents({ ids, includeNonStaged, originDirectly, ...para if (laneObject?.readmeComponent) { _throwForUnsnappedLaneReadme(laneObject); } - + const isOnMain = consumer.isOnMain(); const { exported, updatedLocally, newIdsOnRemote } = await exportMany({ ...params, scope: consumer.scope, @@ -95,6 +95,7 @@ async function exportComponents({ ids, includeNonStaged, originDirectly, ...para laneObject, originDirectly, idsWithFutureScope, + isOnMain, }); if (laneObject) await updateLanesAfterExport(consumer, laneObject); const { updatedIds, nonExistOnBitMap } = _updateIdsOnBitMap(consumer.bitMap, updatedLocally); diff --git a/src/consumer/bit-map/bit-map.ts b/src/consumer/bit-map/bit-map.ts index 88c1262a8ac8..c46e443527c7 100644 --- a/src/consumer/bit-map/bit-map.ts +++ b/src/consumer/bit-map/bit-map.ts @@ -142,61 +142,22 @@ export default class BitMap { const schema = componentsJson[SCHEMA_FIELD] || componentsJson.version; let isLaneExported = false; let laneId: LaneId | undefined; - let shouldHandleLanesBackwardCompatibility = false; if (componentsJson[LANE_KEY]) { if (componentsJson[LANE_KEY].name) { // backward compatibility - laneId = new LaneId(componentsJson[LANE_KEY]); - isLaneExported = true; - shouldHandleLanesBackwardCompatibility = true; + throw new Error( + `enable to migrate to the new Lane format of .bitmap. change to the previous Bit version, switch to main, then upgrade again` + ); } else { laneId = new LaneId(componentsJson[LANE_KEY].id); isLaneExported = componentsJson[LANE_KEY].exported; } } - const currentLaneId = consumer.getCurrentLaneId(); - if (laneId && currentLaneId.isDefault()) { - logger.console( - `workspace is auto-synced to "${laneId.toString()}" lane, please run "bit import" to obtain the missing objects`, - 'warn', - 'yellow' - ); - const scopeJson = consumer.scope.scopeJson; - scopeJson.trackLane({ - remoteLane: laneId.name, - remoteScope: laneId.scope, - localLane: laneId.name, - }); - scopeJson.setCurrentLane(laneId.name); - } - BitMap.removeNonComponentFields(componentsJson); const bitMap = new BitMap(dirPath, currentLocation, schema, laneId, isLaneExported); bitMap.loadComponents(componentsJson); - // @todo: remove this if statement once we don't need the migration of the bitmap file for lanes - if (shouldHandleLanesBackwardCompatibility) { - if (!laneId) throw new Error(`laneId must be set if shouldHandleLanesBackwardCompatibility is true`); - if (!currentLaneId.isEqual(laneId)) { - throw new Error( - `unable to migrate lanes on .bitmap, the current lane ${currentLaneId.toString()} is not exported. go to an older version of bit and export the lane first.` - ); - } - const lane = await consumer.scope.loadLane(laneId as LaneId); - if (!lane) - throw new Error( - `unable to migrate lanes on .bitmap, the lane of ${laneId?.toString()} is not found. go to an older version, and run "bit import"` - ); - const laneIds = lane.toBitIds(); - bitMap.components.forEach((componentMap) => { - const idOnLane = laneIds.searchWithoutVersion(componentMap.id); - if (idOnLane) { - componentMap.id = componentMap.id.changeVersion(idOnLane.version as string); - } - }); - } - await bitMap.loadFiles(); return bitMap; } @@ -882,6 +843,10 @@ export default class BitMap { return allChanges; } + /** + * avoid calling this method directly. + * prefer `consumer.setCurrentLane()` + */ setCurrentLane(laneId: LaneId, exported = true) { if (laneId.isDefault()) { this.laneId = undefined; diff --git a/src/consumer/component/components-list.ts b/src/consumer/component/components-list.ts index 31e54f47e0c1..651556f0c1b8 100644 --- a/src/consumer/component/components-list.ts +++ b/src/consumer/component/components-list.ts @@ -154,7 +154,7 @@ export default class ComponentsList { * to show them in the "snapped" section in bit-status. */ async listSnappedComponentsOnMain() { - if (!this.scope.lanes.isOnMain()) { + if (!this.consumer.isOnMain()) { return []; } const componentsFromModel = await this.getModelComponents(); @@ -170,7 +170,7 @@ export default class ComponentsList { * list components on a lane that their main got updates. */ async listUpdatesFromMainPending(): Promise { - if (this.scope.lanes.isOnMain()) { + if (this.consumer.isOnMain()) { return []; } const authoredAndImportedIds = this.bitMap.getAuthoredAndImportedBitIds(); diff --git a/src/consumer/component/consumer-component.ts b/src/consumer/component/consumer-component.ts index 709364eed5fb..979f04275827 100644 --- a/src/consumer/component/consumer-component.ts +++ b/src/consumer/component/consumer-component.ts @@ -55,9 +55,9 @@ export type ComponentProps = { dependencies?: Dependency[]; devDependencies?: Dependency[]; flattenedDependencies?: BitIds; - packageDependencies?: Record; - devPackageDependencies?: Record; - peerPackageDependencies?: Record; + packageDependencies?: Record; + devPackageDependencies?: Record; + peerPackageDependencies?: Record; overrides: ComponentOverrides; defaultScope: string | null; packageJsonFile?: PackageJsonFile; @@ -103,9 +103,9 @@ export default class Component { // @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX! devDependencies: Dependencies; flattenedDependencies: BitIds; - packageDependencies: any; - devPackageDependencies: any; - peerPackageDependencies: any; + packageDependencies: Record; + devPackageDependencies: Record; + peerPackageDependencies: Record; manuallyRemovedDependencies: ManuallyChangedDependencies = {}; manuallyAddedDependencies: ManuallyChangedDependencies = {}; overrides: ComponentOverrides; @@ -283,6 +283,10 @@ export default class Component { return new Dependencies(dependencies); } + getAllPackageDependencies() { + return { ...this.packageDependencies, ...this.devPackageDependencies }; + } + getAllNonEnvsDependencies(): Dependency[] { return [...this.dependencies.dependencies, ...this.devDependencies.dependencies]; } diff --git a/src/consumer/component/dependencies/dependency-resolver/dependencies-loader.ts b/src/consumer/component/dependencies/dependency-resolver/dependencies-loader.ts index 25d1d8b5a2ba..771ad6929b61 100644 --- a/src/consumer/component/dependencies/dependency-resolver/dependencies-loader.ts +++ b/src/consumer/component/dependencies/dependency-resolver/dependencies-loader.ts @@ -79,9 +79,9 @@ export class DependenciesLoader { private setDependenciesDataOnComponent(dependenciesData: DependenciesData) { this.component.setDependencies(dependenciesData.allDependencies.dependencies); this.component.setDevDependencies(dependenciesData.allDependencies.devDependencies); - this.component.packageDependencies = dependenciesData.allPackagesDependencies.packageDependencies; - this.component.devPackageDependencies = dependenciesData.allPackagesDependencies.devPackageDependencies; - this.component.peerPackageDependencies = dependenciesData.allPackagesDependencies.peerPackageDependencies; + this.component.packageDependencies = dependenciesData.allPackagesDependencies.packageDependencies ?? {}; + this.component.devPackageDependencies = dependenciesData.allPackagesDependencies.devPackageDependencies ?? {}; + this.component.peerPackageDependencies = dependenciesData.allPackagesDependencies.peerPackageDependencies ?? {}; const missingFromOverrides = dependenciesData.overridesDependencies.missingPackageDependencies; if (!R.isEmpty(missingFromOverrides)) { dependenciesData.issues.getOrCreate(IssuesClasses.MissingPackagesDependenciesOnFs).data[ diff --git a/src/consumer/component/dependencies/dependency-resolver/dependencies-resolver.ts b/src/consumer/component/dependencies/dependency-resolver/dependencies-resolver.ts index b5083ecdc556..1abe3d55ed20 100644 --- a/src/consumer/component/dependencies/dependency-resolver/dependencies-resolver.ts +++ b/src/consumer/component/dependencies/dependency-resolver/dependencies-resolver.ts @@ -33,9 +33,9 @@ export type AllDependencies = { }; export type AllPackagesDependencies = { - packageDependencies: Record | null | undefined; - devPackageDependencies: Record | null | undefined; - peerPackageDependencies: Record | null | undefined; + packageDependencies: Record | null | undefined; + devPackageDependencies: Record | null | undefined; + peerPackageDependencies: Record | null | undefined; }; export type FileType = { @@ -829,6 +829,15 @@ either, use the ignore file syntax or change the require statement to have a mod processPackages(originFile: PathLinuxRelative, fileType: FileType) { const packages = this.tree[originFile].packages; + if (this.componentFromModel) { + const modelDeps = this.componentFromModel.getAllPackageDependencies(); + // If a package is not in the policies, then we resolve the package from the model. + for (const pkgName of Object.keys(packages)) { + if (!this.isPkgInWorkspacePolicies(pkgName) && modelDeps[pkgName]) { + packages[pkgName] = modelDeps[pkgName]; + } + } + } if (!packages || R.isEmpty(packages)) return; if (fileType.isTestFile) { Object.assign(this.allPackagesDependencies.devPackageDependencies, packages); diff --git a/src/consumer/consumer.ts b/src/consumer/consumer.ts index 617131fb5973..f1d4f56d064d 100644 --- a/src/consumer/consumer.ts +++ b/src/consumer/consumer.ts @@ -4,7 +4,7 @@ import * as path from 'path'; import R from 'ramda'; import semver from 'semver'; import { partition } from 'lodash'; -import { LaneId } from '@teambit/lane-id'; +import { DEFAULT_LANE, LaneId } from '@teambit/lane-id'; import { Analytics } from '../analytics/analytics'; import { BitId, BitIds } from '../bit-id'; import { BitIdStr } from '../bit-id/bit-id'; @@ -142,7 +142,11 @@ export default class Consumer { } getCurrentLaneId(): LaneId { - return this.scope.lanes.getCurrentLaneId(); + return this.bitMap.laneId || this.getDefaultLaneId(); + } + + getDefaultLaneId() { + return LaneId.from(DEFAULT_LANE, this.scope.name); } /** @@ -153,11 +157,20 @@ export default class Consumer { } isOnLane(): boolean { - return !this.scope.lanes.isOnMain(); + return !this.isOnMain(); + } + + isOnMain(): boolean { + return this.getCurrentLaneId().isDefault(); } async getCurrentLaneObject(): Promise { - return this.scope.lanes.getCurrentLaneObject(); + return this.scope.loadLane(this.getCurrentLaneId()); + } + + setCurrentLane(laneId: LaneId, exported = true) { + this.bitMap.setCurrentLane(laneId, exported); + this.scope.currentLaneId = laneId.isDefault() ? undefined : laneId; } async cleanTmpFolder() { @@ -703,6 +716,7 @@ export default class Consumer { scope, }); await consumer.setBitMap(); + scope.currentLaneId = consumer.bitMap.laneId; return consumer; } diff --git a/src/consumer/lanes/export-lanes.ts b/src/consumer/lanes/export-lanes.ts index 78e76a2cf843..db57adf8fafc 100644 --- a/src/consumer/lanes/export-lanes.ts +++ b/src/consumer/lanes/export-lanes.ts @@ -13,7 +13,7 @@ export async function updateLanesAfterExport(consumer: Consumer, lane: Lane) { `updateLanesAfterExport should get called only with current lane, got ${lane.name}, current ${currentLane.name}` ); } - consumer.bitMap.setCurrentLane(lane.toLaneId(), true); + consumer.setCurrentLane(lane.toLaneId(), true); consumer.scope.scopeJson.removeLaneFromNew(lane.name); lane.isNew = false; } diff --git a/src/consumer/lanes/remove-lanes.ts b/src/consumer/lanes/remove-lanes.ts index f5883bc758c7..557982401b50 100644 --- a/src/consumer/lanes/remove-lanes.ts +++ b/src/consumer/lanes/remove-lanes.ts @@ -19,7 +19,7 @@ export default async function removeLanes( return { laneResults }; } if (!consumer) throw new Error('consumer must exist for local removal'); - await consumer.scope.lanes.removeLanes(consumer.scope, lanes, force); + await consumer.scope.lanes.removeLanes(consumer.scope, lanes, force, consumer.getCurrentLaneId().name); return { laneResults: lanes }; } diff --git a/src/e2e-helper/e2e-fs-helper.ts b/src/e2e-helper/e2e-fs-helper.ts index 490854fb1e7b..89710e9c86e9 100644 --- a/src/e2e-helper/e2e-fs-helper.ts +++ b/src/e2e-helper/e2e-fs-helper.ts @@ -53,6 +53,10 @@ export default class FsHelper { return fs.readJsonSync(path.join(this.scopes.localPath, filePathRelativeToLocalScope)); } + exists(filePathRelativeToLocalScope: string): boolean { + return fs.existsSync(path.join(this.scopes.localPath, filePathRelativeToLocalScope)); + } + outputFile(filePathRelativeToLocalScope: string, data = ''): void { return fs.outputFileSync(path.join(this.scopes.localPath, filePathRelativeToLocalScope), data); } diff --git a/src/scope/component-ops/export-scope-components.ts b/src/scope/component-ops/export-scope-components.ts index ba58278a2d8a..52baaaedc72b 100644 --- a/src/scope/component-ops/export-scope-components.ts +++ b/src/scope/component-ops/export-scope-components.ts @@ -79,6 +79,7 @@ export async function exportMany({ idsWithFutureScope, resumeExportId, ignoreMissingArtifacts, + isOnMain = true, }: { scope: Scope; ids: BitIds; @@ -89,6 +90,7 @@ export async function exportMany({ idsWithFutureScope: BitIds; resumeExportId?: string | undefined; ignoreMissingArtifacts?: boolean; + isOnMain?: boolean; }): Promise<{ exported: BitIds; updatedLocally: BitIds; newIdsOnRemote: BitId[] }> { logger.debugAndAddBreadCrumb('scope.exportMany', 'ids: {ids}', { ids: ids.toString() }); const scopeRemotes: Remotes = await getScopeRemotes(scope); @@ -393,7 +395,7 @@ this scope already has a component with the same name. as such, it'll be impossi await scope.objects.remoteLanes.syncWithLaneObject(remoteNameStr, lane); } - if (scope.lanes.isOnMain() && !lane) { + if (isOnMain && !lane) { // all exported from main const remoteLaneId = LaneId.from(DEFAULT_LANE, remoteNameStr); await scope.objects.remoteLanes.loadRemoteLane(remoteLaneId); diff --git a/src/scope/component-ops/remove-model-components.ts b/src/scope/component-ops/remove-model-components.ts index 47e749dd0999..8786d07378a1 100644 --- a/src/scope/component-ops/remove-model-components.ts +++ b/src/scope/component-ops/remove-model-components.ts @@ -20,22 +20,18 @@ export default class RemoveModelComponents { bitIds: BitIds; force: boolean; consumer: Consumer | null | undefined; - currentLane: Lane | null = null; - constructor(scope: Scope, bitIds: BitIds, force: boolean, consumer?: Consumer) { + currentLane?: Lane | null = null; + constructor(scope: Scope, bitIds: BitIds, force: boolean, consumer?: Consumer, currentLane?: Lane | null) { this.scope = scope; this.bitIds = bitIds; this.force = force; this.consumer = consumer; - } - - private async setCurrentLane() { - this.currentLane = await this.scope.lanes.getCurrentLaneObject(); + this.currentLane = currentLane; } async remove(): Promise { const { missingComponents, foundComponents } = await this.scope.filterFoundAndMissingComponents(this.bitIds); logger.debug(`RemoveModelComponents.remove, found ${foundComponents.length} components to remove`); - await this.setCurrentLane(); const dependentBits = await this.scope.getDependentsBitIds(foundComponents); logger.debug(`RemoveModelComponents.remove, found ${Object.keys(dependentBits).length} dependents`); if (Object.keys(dependentBits).length && !this.force) { diff --git a/src/scope/lanes/lanes.ts b/src/scope/lanes/lanes.ts index 472c4b40f58f..a295532bd9ad 100644 --- a/src/scope/lanes/lanes.ts +++ b/src/scope/lanes/lanes.ts @@ -26,7 +26,7 @@ export default class Lanes { return (await this.objects.listObjectsFromIndex(IndexType.lanes)) as Lane[]; } - /** dont use it outside of Lanes. Use scope.loadLane instead */ + /** don't use it outside of Lanes. Use scope.loadLane instead */ async loadLane(id: LaneId): Promise { if (id.isDefault()) return null; // main lane is not saved const filter = (lane: LaneItem) => lane.toLaneId().isEqual(id); @@ -41,29 +41,6 @@ export default class Lanes { await this.objects.writeObjectsToTheFS([laneObject]); } - getCurrentLaneName(): string { - const laneName = this.scopeJson.lanes.current; - // backward compatibility, in the past, the default lane was master - if (laneName === 'master') return DEFAULT_LANE; - return laneName; - } - - isOnMain(): boolean { - const currentLane = this.getCurrentLaneName(); - return currentLane === DEFAULT_LANE; - } - - getCurrentLaneId(): LaneId { - const laneName = this.scopeJson.lanes.current; - // backward compatibility, in the past, the default lane was master - if (laneName === 'master' || laneName === DEFAULT_LANE) { - return this.getDefaultLaneId(); - } - const trackData = this.getRemoteTrackedDataByLocalLane(laneName); - if (!trackData) throw new BitError(`unable to find the tracking data for the current lane "${laneName}"`); - return LaneId.from(trackData.remoteLane, trackData.remoteScope); - } - getAliasByLaneId(laneId: LaneId): string | null { return this.getLocalTrackedLaneByRemoteName(laneId.name, laneId.scope); } @@ -72,14 +49,6 @@ export default class Lanes { return LaneId.from(DEFAULT_LANE, this.scopeJson.name); } - async getCurrentLaneObject(): Promise { - return this.loadLane(this.getCurrentLaneId()); - } - - setCurrentLane(laneName: string): void { - this.scopeJson.setCurrentLane(laneName); - } - getLocalTrackedLaneByRemoteName(remoteLane: string, remoteScope: string): string | null { const trackedLane = this.scopeJson.lanes.tracking.find( (t) => t.remoteLane === remoteLane && t.remoteScope === remoteScope @@ -103,12 +72,11 @@ export default class Lanes { this.scopeJson.removeTrackLane(localLane); } - async removeLanes(scope: Scope, lanes: string[], force: boolean): Promise { + async removeLanes(scope: Scope, lanes: string[], force: boolean, currentLaneName?: string): Promise { const existingLanes = await this.listLanes(); const lanesToRemove: Lane[] = lanes.map((laneName) => { if (laneName === DEFAULT_LANE) throw new BitError(`unable to remove the default lane "${DEFAULT_LANE}"`); - if (laneName === this.getCurrentLaneName()) - throw new BitError(`unable to remove the currently used lane "${laneName}"`); + if (laneName === currentLaneName) throw new BitError(`unable to remove the currently used lane "${laneName}"`); const existingLane = existingLanes.find((l) => l.name === laneName); if (!existingLane) throw new LaneNotFound(scope.name, laneName); return existingLane; @@ -176,10 +144,12 @@ export default class Lanes { async getLanesData(scope: Scope, name?: string, mergeData?: boolean): Promise { const getLaneDataOfLane = async (laneObject: Lane): Promise => { const laneName = laneObject.name; - const trackingData = this.getRemoteTrackedDataByLocalLane(laneName); + const alias = this.getLocalTrackedLaneByRemoteName(laneName, laneObject.scope); return { name: laneName, - remote: trackingData ? `${trackingData.remoteScope}${LANE_REMOTE_DELIMITER}${trackingData.remoteLane}` : null, + remote: laneObject.toLaneId().toString(), + id: laneObject.toLaneId(), + alias: alias !== laneName ? alias : null, components: laneObject.components.map((c) => ({ id: c.id, head: c.head.toString() })), log: laneObject.log, isMerged: mergeData ? await laneObject.isFullyMerged(scope) : null, @@ -225,9 +195,17 @@ export default class Lanes { } export type LaneData = { + /** + * @deprecated use id.name instead + */ name: string; - components: Array<{ id: BitId; head: string }>; + /** + * @deprecated use id.toString() instead + */ remote: string | null; + id: LaneId; + alias?: string | null; + components: Array<{ id: BitId; head: string }>; isMerged: boolean | null; readmeComponent?: { id: BitId; head?: string }; log?: Log; diff --git a/src/scope/scope-json.ts b/src/scope/scope-json.ts index 0459bf5d734b..79177f028af9 100644 --- a/src/scope/scope-json.ts +++ b/src/scope/scope-json.ts @@ -39,7 +39,7 @@ export class ScopeJson { license: string | null | undefined; remotes: { [key: string]: string }; groupName: string; - lanes: { current: string; tracking: TrackLane[]; new: string[] }; + lanes: { tracking: TrackLane[]; new: string[] }; hasChanged = false; constructor({ name, remotes, resolverPath, hooksPath, license, groupName, version, lanes }: ScopeJsonProps) { @@ -136,12 +136,6 @@ export class ScopeJson { private getTrackLane(localLane: string): TrackLane | undefined { return this.lanes.tracking.find((t) => t.localLane === localLane); } - setCurrentLane(laneName: string): void { - if (this.lanes.current !== laneName) { - this.lanes.current = laneName; - this.hasChanged = true; - } - } setLaneAsNew(laneName: string) { if (!this.lanes.new) this.lanes.new = []; this.lanes.new.push(laneName); diff --git a/src/scope/scope.ts b/src/scope/scope.ts index 2dd4e3866046..4d605643ef2d 100644 --- a/src/scope/scope.ts +++ b/src/scope/scope.ts @@ -123,7 +123,7 @@ export default class Scope { // @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX! _dependencyGraph: DependencyGraph; // cache DependencyGraph instance lanes: Lanes; - + currentLaneId?: LaneId; constructor(scopeProps: ScopeProps) { this.path = scopeProps.path; this.scopeJson = scopeProps.scopeJson; @@ -411,8 +411,8 @@ export default class Scope { return this.sources.get(id); } - async getCurrentLaneObject() { - return this.loadLane(this.lanes.getCurrentLaneId()); + async getCurrentLaneObject(): Promise { + return this.currentLaneId ? this.loadLane(this.currentLaneId) : null; } /** @@ -425,7 +425,8 @@ export default class Scope { 'removeMany', `scope.removeMany ${Analytics.hashData(bitIds)} with force flag: ${force.toString()}` ); - const removeComponents = new RemoveModelComponents(this, bitIds, force, consumer); + const currentLane = await consumer?.getCurrentLaneObject(); + const removeComponents = new RemoveModelComponents(this, bitIds, force, consumer, currentLane); return removeComponents.remove(); } diff --git a/workspace.jsonc b/workspace.jsonc index 0eb7fcd9b07d..9674a7d8b98a 100644 --- a/workspace.jsonc +++ b/workspace.jsonc @@ -332,7 +332,7 @@ "peerDependencies": { "@apollo/client": "^3.0.0", "@teambit/base-react.navigation.link": "2.0.27", - "@teambit/legacy": "1.0.327", + "@teambit/legacy": "1.0.329", "@teambit/ui-foundation.ui.navigation.react-router-adapter": "6.1.1", "browserslist": "4.16.3", "core-js": "^3.10.0", @@ -420,7 +420,7 @@ "@teambit/legacy": "-" }, "peerDependencies": { - "@teambit/legacy": "1.0.327" + "@teambit/legacy": "1.0.329" } } }, @@ -683,7 +683,7 @@ "peerDependencies": { "react": "^16.8.0 || ^17.0.0", "react-dom": "^16.8.0 || ^17.0.0", - "@teambit/legacy": "1.0.327" + "@teambit/legacy": "1.0.329" } } } @@ -772,7 +772,7 @@ "@teambit/base-react.navigation.link": "2.0.27", "@teambit/ui-foundation.ui.navigation.react-router-adapter": "6.1.1", "@apollo/client": "3.3.7", - "@teambit/legacy": "1.0.327", + "@teambit/legacy": "1.0.329", "graphql": "14.7.0", "browserslist": "4.16.3", "reflect-metadata": "0.1.13", @@ -907,7 +907,7 @@ "@teambit/legacy": "-" }, "peerDependencies": { - "@teambit/legacy": "1.0.327" + "@teambit/legacy": "1.0.329" } } }