diff --git a/.bitmap b/.bitmap
index 4b6a417eca0a..f566cd8ad650 100644
--- a/.bitmap
+++ b/.bitmap
@@ -3,409 +3,403 @@
{
"application": {
"scope": "teambit.harmony",
- "version": "0.0.43",
+ "version": "0.0.58",
"mainFile": "index.ts",
"rootDir": "scopes/harmony/application"
},
"aspect": {
"scope": "teambit.harmony",
- "version": "0.0.401",
+ "version": "0.0.416",
"mainFile": "index.ts",
"rootDir": "scopes/harmony/aspect"
},
"aspect-docs/babel": {
"scope": "teambit.compilation",
- "version": "0.0.9",
+ "version": "0.0.20",
"mainFile": "index.ts",
"rootDir": "scopes/compilation/aspect-docs/babel"
},
"aspect-docs/builder": {
"scope": "teambit.pipelines",
- "version": "0.0.9",
+ "version": "0.0.20",
"mainFile": "index.ts",
"rootDir": "scopes/pipelines/aspect-docs/builder"
},
"aspect-docs/compiler": {
"scope": "teambit.compilation",
- "version": "0.0.9",
+ "version": "0.0.20",
"mainFile": "index.ts",
"rootDir": "scopes/compilation/aspect-docs/compiler"
},
"aspect-docs/component": {
"scope": "teambit.component",
- "version": "0.0.9",
+ "version": "0.0.20",
"mainFile": "index.ts",
"rootDir": "scopes/component/aspect-docs/component"
},
"aspect-docs/compositions": {
"scope": "teambit.compositions",
- "version": "0.0.9",
+ "version": "0.0.20",
"mainFile": "index.ts",
"rootDir": "scopes/compositions/aspect-docs/compositions"
},
"aspect-docs/dependency-resolver": {
"scope": "teambit.dependencies",
- "version": "0.0.9",
+ "version": "0.0.20",
"mainFile": "index.ts",
"rootDir": "scopes/dependencies/aspect-docs/dependency-resolver"
},
"aspect-docs/envs": {
"scope": "teambit.envs",
- "version": "0.0.9",
+ "version": "0.0.20",
"mainFile": "index.ts",
"rootDir": "scopes/envs/aspect-docs/envs"
},
"aspect-docs/generator": {
"scope": "teambit.generator",
- "version": "0.0.10",
+ "version": "0.0.21",
"mainFile": "index.ts",
"rootDir": "scopes/generator/aspect-docs/generator"
},
"aspect-docs/logger": {
"scope": "teambit.harmony",
- "version": "0.0.9",
+ "version": "0.0.20",
"mainFile": "index.ts",
"rootDir": "scopes/harmony/aspect-docs/logger"
},
"aspect-docs/mdx": {
"scope": "teambit.mdx",
- "version": "0.0.9",
+ "version": "0.0.20",
"mainFile": "index.ts",
"rootDir": "scopes/mdx/aspect-docs/mdx"
},
"aspect-docs/multi-compiler": {
"scope": "teambit.compilation",
- "version": "0.0.9",
+ "version": "0.0.20",
"mainFile": "index.ts",
"rootDir": "scopes/compilation/aspect-docs/multi-compiler"
},
"aspect-docs/node": {
"scope": "teambit.harmony",
- "version": "0.0.9",
+ "version": "0.0.20",
"mainFile": "index.ts",
"rootDir": "scopes/harmony/aspect-docs/node"
},
"aspect-docs/pkg": {
"scope": "teambit.pkg",
- "version": "0.0.9",
+ "version": "0.0.20",
"mainFile": "index.ts",
"rootDir": "scopes/pkg/aspect-docs/pkg"
},
"aspect-docs/pnpm": {
"scope": "teambit.dependencies",
- "version": "0.0.9",
+ "version": "0.0.20",
"mainFile": "index.ts",
"rootDir": "scopes/dependencies/aspect-docs/pnpm"
},
"aspect-docs/preview": {
"scope": "teambit.preview",
- "version": "0.0.9",
+ "version": "0.0.20",
"mainFile": "index.ts",
"rootDir": "scopes/preview/aspect-docs/preview"
},
"aspect-docs/react": {
"scope": "teambit.react",
- "version": "0.0.9",
+ "version": "0.0.20",
"mainFile": "index.ts",
"rootDir": "scopes/react/aspect-docs/react"
},
"aspect-docs/react-native": {
"scope": "teambit.react",
- "version": "0.0.9",
+ "version": "0.0.21",
"mainFile": "index.ts",
"rootDir": "scopes/react/aspect-docs/react-native"
},
"aspect-docs/typescript": {
"scope": "teambit.typescript",
- "version": "0.0.9",
+ "version": "0.0.20",
"mainFile": "index.ts",
"rootDir": "scopes/typescript/aspect-docs/typescript"
},
"aspect-docs/variants": {
"scope": "teambit.workspace",
- "version": "0.0.9",
+ "version": "0.0.20",
"mainFile": "index.ts",
"rootDir": "scopes/workspace/aspect-docs/variants"
},
"aspect-docs/yarn": {
"scope": "teambit.dependencies",
- "version": "0.0.9",
+ "version": "0.0.20",
"mainFile": "index.ts",
"rootDir": "scopes/dependencies/aspect-docs/yarn"
},
"aspect-loader": {
"scope": "teambit.harmony",
- "version": "0.0.401",
+ "version": "0.0.416",
"mainFile": "index.ts",
"rootDir": "scopes/harmony/aspect-loader"
},
"babel": {
"scope": "teambit.compilation",
- "version": "0.0.401",
+ "version": "0.0.416",
"mainFile": "index.ts",
"rootDir": "scopes/compilation/babel"
},
"babel/bit-react-transformer": {
"scope": "teambit.react",
- "version": "0.0.374",
+ "version": "0.0.383",
"mainFile": "index.ts",
"rootDir": "scopes/react/bit-react-transformer"
},
"bit": {
"scope": "teambit.harmony",
- "version": "0.0.403",
+ "version": "0.0.418",
"mainFile": "index.ts",
"rootDir": "scopes/harmony/bit"
},
"bit-error": {
"scope": "teambit.harmony",
- "version": "0.0.361",
+ "version": "0.0.363",
"mainFile": "index.ts",
"rootDir": "scopes/harmony/bit-error"
},
"builder": {
"scope": "teambit.pipelines",
- "version": "0.0.401",
+ "version": "0.0.416",
"mainFile": "index.ts",
"rootDir": "scopes/pipelines/builder"
},
"bundler": {
"scope": "teambit.compilation",
- "version": "0.0.401",
+ "version": "0.0.416",
"mainFile": "index.ts",
"rootDir": "scopes/compilation/bundler"
},
"cache": {
"scope": "teambit.harmony",
- "version": "0.0.371",
+ "version": "0.0.382",
"mainFile": "index.ts",
"rootDir": "scopes/harmony/cache"
},
"changelog": {
"scope": "teambit.component",
- "version": "0.0.401",
+ "version": "0.0.416",
"mainFile": "index.ts",
"rootDir": "scopes/component/changelog"
},
"cli": {
"scope": "teambit.harmony",
- "version": "0.0.364",
+ "version": "0.0.367",
"mainFile": "index.ts",
"rootDir": "scopes/harmony/cli"
},
"cli/preview-server-status": {
"scope": "teambit.preview",
- "version": "0.0.372",
+ "version": "0.0.381",
"mainFile": "index.ts",
"rootDir": "scopes/preview/cli/preview-server-status"
},
"cli/ui-server-console": {
"scope": "teambit.ui-foundation",
- "version": "0.0.371",
+ "version": "0.0.380",
"mainFile": "index.ts",
"rootDir": "scopes/ui-foundation/cli/ui-server-console"
},
"cli/ui-server-loader": {
"scope": "teambit.ui-foundation",
- "version": "0.0.371",
+ "version": "0.0.380",
"mainFile": "index.ts",
"rootDir": "scopes/ui-foundation/cli/ui-server-loader"
},
"cli/webpack-events-listener": {
"scope": "teambit.preview",
- "version": "0.0.44",
+ "version": "0.0.53",
"mainFile": "index.ts",
"rootDir": "scopes/preview/cli/webpack-events-listener"
},
"cli/webpack/error": {
"scope": "teambit.compilation",
- "version": "0.0.371",
+ "version": "0.0.380",
"mainFile": "index.ts",
"rootDir": "scopes/compilation/cli/webpack/error"
},
"code": {
"scope": "teambit.component",
- "version": "0.0.401",
+ "version": "0.0.416",
"mainFile": "index.ts",
"rootDir": "scopes/component/code"
},
"command-bar": {
"scope": "teambit.explorer",
- "version": "0.0.401",
+ "version": "0.0.416",
"mainFile": "index.ts",
"rootDir": "scopes/explorer/command-bar"
},
"compiler": {
"scope": "teambit.compilation",
- "version": "0.0.401",
+ "version": "0.0.416",
"mainFile": "index.ts",
"rootDir": "scopes/compilation/compiler"
},
"component": {
"scope": "teambit.component",
- "version": "0.0.401",
+ "version": "0.0.416",
"mainFile": "index.ts",
"rootDir": "scopes/component/component"
},
"component-id": {
"scope": "teambit.component",
- "version": "0.0.361",
+ "version": "0.0.363",
"mainFile": "index.ts",
"rootDir": "scopes/component/component-id"
},
"component-issues": {
"scope": "teambit.component",
- "version": "0.0.2",
+ "version": "0.0.7",
"mainFile": "index.ts",
"rootDir": "scopes/component/component-issues"
},
"component-package-version": {
"scope": "teambit.component",
- "version": "0.0.361",
+ "version": "0.0.363",
"mainFile": "index.ts",
"rootDir": "scopes/component/component-package-version"
},
"component-tree": {
"scope": "teambit.component",
- "version": "0.0.361",
+ "version": "0.0.363",
"mainFile": "index.ts",
"rootDir": "scopes/component/component-tree"
},
"component-version": {
"scope": "teambit.component",
- "version": "0.0.361",
+ "version": "0.0.363",
"mainFile": "index.ts",
"rootDir": "scopes/component/component-version"
},
"compositions": {
"scope": "teambit.compositions",
- "version": "0.0.401",
+ "version": "0.0.416",
"mainFile": "index.ts",
"rootDir": "scopes/compositions/compositions"
},
"config": {
"scope": "teambit.harmony",
- "version": "0.0.364",
+ "version": "0.0.368",
"mainFile": "index.ts",
"rootDir": "scopes/harmony/config"
},
"dependency-resolver": {
"scope": "teambit.dependencies",
- "version": "0.0.401",
+ "version": "0.0.416",
"mainFile": "index.ts",
"rootDir": "scopes/dependencies/dependency-resolver"
},
"deprecation": {
"scope": "teambit.component",
- "version": "0.0.401",
+ "version": "0.0.416",
"mainFile": "index.ts",
"rootDir": "scopes/component/deprecation"
},
"dev-files": {
"scope": "teambit.component",
- "version": "0.0.401",
+ "version": "0.0.416",
"mainFile": "index.ts",
"rootDir": "scopes/component/dev-files"
},
"docs": {
"scope": "teambit.docs",
- "version": "0.0.401",
+ "version": "0.0.416",
"mainFile": "index.ts",
"rootDir": "scopes/docs/docs"
},
"eject": {
"scope": "teambit.workspace",
- "version": "0.0.42",
+ "version": "0.0.45",
"mainFile": "index.ts",
"rootDir": "scopes/workspace/eject"
},
"envs": {
"scope": "teambit.envs",
- "version": "0.0.401",
+ "version": "0.0.416",
"mainFile": "index.ts",
"rootDir": "scopes/envs/envs"
},
"eslint": {
"scope": "teambit.defender",
- "version": "0.0.401",
+ "version": "0.0.416",
"mainFile": "index.ts",
"rootDir": "scopes/defender/eslint"
},
"eslint-config-bit-react": {
"scope": "teambit.react",
- "version": "0.0.371",
+ "version": "0.0.380",
"mainFile": "index.js",
"rootDir": "scopes/react/eslint-config-bit-react"
},
"export": {
"scope": "teambit.scope",
- "version": "0.0.401",
+ "version": "0.0.416",
"mainFile": "index.ts",
"rootDir": "scopes/scope/export"
},
"express": {
"scope": "teambit.harmony",
- "version": "0.0.373",
+ "version": "0.0.384",
"mainFile": "index.ts",
"rootDir": "scopes/harmony/express"
},
- "flows": {
- "scope": "teambit.pipelines",
- "version": "0.0.401",
- "mainFile": "index.ts",
- "rootDir": "scopes/pipelines/flows"
- },
"generator": {
"scope": "teambit.generator",
- "version": "0.0.401",
+ "version": "0.0.416",
"mainFile": "index.ts",
"rootDir": "scopes/generator/generator"
},
"global-config": {
"scope": "teambit.harmony",
- "version": "0.0.364",
+ "version": "0.0.367",
"mainFile": "index.ts",
"rootDir": "scopes/harmony/global-config"
},
"graph": {
"scope": "teambit.component",
- "version": "0.0.401",
+ "version": "0.0.416",
"mainFile": "index.ts",
"rootDir": "scopes/component/graph"
},
"graphql": {
"scope": "teambit.harmony",
- "version": "0.0.401",
+ "version": "0.0.416",
"mainFile": "index.ts",
"rootDir": "scopes/harmony/graphql"
},
"harmony-ui-app": {
"scope": "teambit.ui-foundation",
- "version": "0.0.43",
+ "version": "0.0.58",
"mainFile": "index.ts",
"rootDir": "scopes/ui-foundation/harmony-ui-app/harmony-ui-app"
},
"insights": {
"scope": "teambit.explorer",
- "version": "0.0.401",
+ "version": "0.0.416",
"mainFile": "index.ts",
"rootDir": "scopes/explorer/insights"
},
"isolator": {
"scope": "teambit.component",
- "version": "0.0.401",
+ "version": "0.0.416",
"mainFile": "index.ts",
"rootDir": "scopes/component/isolator"
},
"jest": {
"scope": "teambit.defender",
- "version": "0.0.401",
+ "version": "0.0.416",
"mainFile": "index.ts",
"rootDir": "scopes/defender/jest"
},
"legacy-bit-id": {
"scope": "teambit.component",
- "version": "0.0.361",
+ "version": "0.0.363",
"mainFile": "index.ts",
"rootDir": "scopes/component/legacy-bit-id"
},
@@ -417,967 +411,991 @@
},
"linter": {
"scope": "teambit.defender",
- "version": "0.0.401",
+ "version": "0.0.416",
"mainFile": "index.ts",
"rootDir": "scopes/defender/linter"
},
"logger": {
"scope": "teambit.harmony",
- "version": "0.0.371",
+ "version": "0.0.382",
"mainFile": "index.ts",
"rootDir": "scopes/harmony/logger"
},
"mdx": {
"scope": "teambit.mdx",
- "version": "0.0.381",
+ "version": "0.0.396",
"mainFile": "index.ts",
"rootDir": "scopes/mdx/mdx"
},
"model/composition-id": {
"scope": "teambit.compositions",
- "version": "0.0.371",
+ "version": "0.0.380",
"mainFile": "index.ts",
"rootDir": "scopes/compositions/model/composition-id"
},
"model/composition-type": {
"scope": "teambit.compositions",
- "version": "0.0.371",
+ "version": "0.0.380",
"mainFile": "index.ts",
"rootDir": "scopes/compositions/model/composition-type"
},
"modules/babel-compiler": {
"scope": "teambit.compilation",
- "version": "0.0.9",
+ "version": "0.0.18",
"mainFile": "index.ts",
"rootDir": "scopes/compilation/modules/babel-compiler"
},
"modules/component-url": {
"scope": "teambit.component",
- "version": "0.0.2",
+ "version": "0.0.11",
"mainFile": "index.ts",
"rootDir": "scopes/component/component-url"
},
"modules/config-mutator": {
"scope": "teambit.webpack",
- "version": "0.0.19",
+ "version": "0.0.28",
"mainFile": "index.ts",
"rootDir": "scopes/webpack/config-mutator"
},
"modules/dom-to-react": {
"scope": "teambit.react",
- "version": "0.0.370",
+ "version": "0.0.379",
"mainFile": "index.ts",
"rootDir": "scopes/react/dom-to-react"
},
"modules/match-pattern": {
"scope": "teambit.workspace",
- "version": "0.0.370",
+ "version": "0.0.379",
"mainFile": "index.ts",
"rootDir": "scopes/workspace/modules/match-pattern"
},
"modules/mdx-compiler": {
"scope": "teambit.mdx",
- "version": "0.0.370",
+ "version": "0.0.379",
"mainFile": "index.ts",
"rootDir": "scopes/mdx/modules/compiler"
},
"modules/mdx-loader": {
"scope": "teambit.mdx",
- "version": "0.0.370",
+ "version": "0.0.379",
"mainFile": "index.ts",
"rootDir": "scopes/mdx/modules/loader"
},
"modules/merge-component-results": {
"scope": "teambit.pipelines",
- "version": "0.0.370",
+ "version": "0.0.379",
"mainFile": "index.ts",
"rootDir": "scopes/pipelines/modules/merge-component-results"
},
"modules/requireable-component": {
"scope": "teambit.harmony",
- "version": "0.0.369",
+ "version": "0.0.378",
"mainFile": "index.ts",
"rootDir": "scopes/harmony/modules/requireable-component"
},
"modules/resolved-component": {
"scope": "teambit.harmony",
- "version": "0.0.369",
+ "version": "0.0.378",
"mainFile": "index.ts",
"rootDir": "scopes/harmony/modules/resolved-component"
},
"modules/style-regexps": {
"scope": "teambit.webpack",
- "version": "0.0.17",
+ "version": "0.0.26",
"mainFile": "index.ts",
"rootDir": "scopes/webpack/style-regexps"
},
"multi-compiler": {
"scope": "teambit.compilation",
- "version": "0.0.401",
+ "version": "0.0.416",
"mainFile": "index.ts",
"rootDir": "scopes/compilation/multi-compiler"
},
"network/agent": {
"scope": "teambit.toolbox",
- "version": "0.0.97",
+ "version": "0.0.106",
"mainFile": "index.ts",
"rootDir": "scopes/toolbox/network/agent"
},
+ "network/get-port": {
+ "scope": "teambit.toolbox",
+ "version": "0.0.7",
+ "mainFile": "index.ts",
+ "rootDir": "scopes/toolbox/network/get-port"
+ },
"network/proxy-agent": {
"scope": "teambit.toolbox",
- "version": "0.0.97",
+ "version": "0.0.106",
"mainFile": "index.ts",
"rootDir": "scopes/toolbox/network/proxy-agent"
},
"node": {
"scope": "teambit.harmony",
- "version": "0.0.401",
+ "version": "0.0.416",
"mainFile": "index.ts",
"rootDir": "scopes/harmony/node"
},
"notifications": {
"scope": "teambit.ui-foundation",
- "version": "0.0.401",
+ "version": "0.0.416",
"mainFile": "index.ts",
"rootDir": "scopes/ui-foundation/notifications/aspect"
},
"panels": {
"scope": "teambit.ui-foundation",
- "version": "0.0.364",
+ "version": "0.0.367",
"mainFile": "index.ts",
"rootDir": "scopes/ui-foundation/panels"
},
"path/is-path-inside": {
"scope": "teambit.toolbox",
- "version": "0.0.368",
+ "version": "0.0.377",
"mainFile": "index.ts",
"rootDir": "scopes/toolbox/path/is-path-inside"
},
"path/to-windows-compatible-path": {
"scope": "teambit.toolbox",
- "version": "0.0.368",
+ "version": "0.0.377",
"mainFile": "index.ts",
"rootDir": "scopes/toolbox/path/to-windows-compatible-path"
},
"pkg": {
"scope": "teambit.pkg",
- "version": "0.0.401",
+ "version": "0.0.416",
"mainFile": "index.ts",
"rootDir": "scopes/pkg/pkg"
},
"pnpm": {
"scope": "teambit.dependencies",
- "version": "0.0.401",
+ "version": "0.0.416",
"mainFile": "index.ts",
"rootDir": "scopes/dependencies/pnpm"
},
"preview": {
"scope": "teambit.preview",
- "version": "0.0.401",
+ "version": "0.0.416",
"mainFile": "index.ts",
"rootDir": "scopes/preview/preview"
},
"pubsub": {
"scope": "teambit.harmony",
- "version": "0.0.401",
+ "version": "0.0.416",
"mainFile": "index.ts",
"rootDir": "scopes/harmony/pubsub"
},
"react": {
"scope": "teambit.react",
- "version": "0.0.401",
+ "version": "0.0.416",
"mainFile": "index.ts",
"rootDir": "scopes/react/react"
},
"react-native": {
"scope": "teambit.react",
- "version": "0.0.401",
+ "version": "0.0.416",
"mainFile": "index.ts",
"rootDir": "scopes/react/react-native"
},
"react-router": {
"scope": "teambit.ui-foundation",
- "version": "0.0.401",
+ "version": "0.0.416",
"mainFile": "index.ts",
"rootDir": "scopes/ui-foundation/react-router/react-router"
},
"schema": {
"scope": "teambit.semantics",
- "version": "0.0.401",
+ "version": "0.0.416",
"mainFile": "index.ts",
"rootDir": "scopes/semantics/schema"
},
"scope": {
"scope": "teambit.scope",
- "version": "0.0.401",
+ "version": "0.0.416",
"mainFile": "index.ts",
"rootDir": "scopes/scope/scope"
},
"sidebar": {
"scope": "teambit.ui-foundation",
- "version": "0.0.401",
+ "version": "0.0.416",
"mainFile": "index.ts",
"rootDir": "scopes/ui-foundation/sidebar"
},
"sign": {
"scope": "teambit.scope",
- "version": "0.0.401",
+ "version": "0.0.416",
"mainFile": "index.ts",
"rootDir": "scopes/scope/sign"
},
"string/capitalize": {
"scope": "teambit.toolbox",
- "version": "0.0.368",
+ "version": "0.0.377",
"mainFile": "index.ts",
"rootDir": "scopes/toolbox/string/capitalize"
},
"string/ellipsis": {
"scope": "teambit.toolbox",
- "version": "0.0.58",
+ "version": "0.0.67",
"mainFile": "index.ts",
"rootDir": "scopes/toolbox/string/ellipsis"
},
"string/get-initials": {
"scope": "teambit.toolbox",
- "version": "0.0.368",
+ "version": "0.0.377",
"mainFile": "index.ts",
"rootDir": "scopes/toolbox/string/get-initials"
},
"string/strip-trailing-char": {
"scope": "teambit.toolbox",
- "version": "0.0.368",
+ "version": "0.0.377",
"mainFile": "index.ts",
"rootDir": "scopes/toolbox/string/strip-trailing-char"
},
"tester": {
"scope": "teambit.defender",
- "version": "0.0.401",
+ "version": "0.0.416",
"mainFile": "index.ts",
"rootDir": "scopes/defender/tester"
},
"tests-results": {
"scope": "teambit.defender",
- "version": "0.0.60",
+ "version": "0.0.62",
"mainFile": "index.ts",
"rootDir": "scopes/defender/tests-results"
},
"theme/icons-font": {
"scope": "teambit.design",
- "version": "0.0.5",
+ "version": "0.0.7",
"mainFile": "index.ts",
"rootDir": "scopes/design/ui/theme/icon-font"
},
"time/time-format": {
"scope": "teambit.toolbox",
- "version": "0.0.368",
+ "version": "0.0.377",
"mainFile": "index.ts",
"rootDir": "scopes/toolbox/time/time-format"
},
"types/serializable": {
"scope": "teambit.toolbox",
- "version": "0.0.368",
+ "version": "0.0.377",
"mainFile": "index.ts",
"rootDir": "scopes/toolbox/types/serializable"
},
"typescript": {
"scope": "teambit.typescript",
- "version": "0.0.401",
+ "version": "0.0.416",
"mainFile": "index.ts",
"rootDir": "scopes/typescript/typescript"
},
"ui": {
"scope": "teambit.ui-foundation",
- "version": "0.0.401",
+ "version": "0.0.416",
"mainFile": "index.ts",
"rootDir": "scopes/ui-foundation/ui"
},
"ui/alert-card": {
"scope": "teambit.design",
- "version": "0.0.3",
+ "version": "0.0.6",
"mainFile": "index.ts",
"rootDir": "scopes/design/ui/alert-card"
},
"ui/aspect-box": {
"scope": "teambit.harmony",
- "version": "0.0.371",
+ "version": "0.0.380",
"mainFile": "index.ts",
"rootDir": "scopes/harmony/ui/aspect-box"
},
"ui/avatar": {
"scope": "teambit.design",
- "version": "0.0.376",
+ "version": "0.0.386",
"mainFile": "index.ts",
"rootDir": "scopes/design/ui/Avatar"
},
"ui/buttons/collapser": {
"scope": "teambit.ui-foundation",
- "version": "0.0.75",
+ "version": "0.0.84",
"mainFile": "index.ts",
"rootDir": "scopes/ui-foundation/collapser-button"
},
"ui/cli-snippet": {
"scope": "teambit.design",
- "version": "0.0.342",
+ "version": "0.0.344",
"mainFile": "index.ts",
"rootDir": "scopes/design/ui/cli-snippet"
},
"ui/code-tab-page": {
"scope": "teambit.code",
- "version": "0.0.377",
+ "version": "0.0.386",
"mainFile": "index.ts",
"rootDir": "scopes/code/ui/code-tab-page"
},
"ui/code-tab-tree": {
"scope": "teambit.code",
- "version": "0.0.374",
+ "version": "0.0.383",
"mainFile": "index.ts",
"rootDir": "scopes/code/ui/code-tab-tree"
},
"ui/code-view": {
"scope": "teambit.code",
- "version": "0.0.372",
+ "version": "0.0.381",
"mainFile": "index.ts",
"rootDir": "scopes/code/ui/code-view"
},
"ui/component-highlighter": {
"scope": "teambit.react",
- "version": "0.0.376",
+ "version": "0.0.386",
"mainFile": "index.ts",
"rootDir": "scopes/react/component-highlighter"
},
"ui/component-preview": {
"scope": "teambit.preview",
- "version": "0.0.371",
+ "version": "0.0.380",
"mainFile": "index.ts",
"rootDir": "scopes/preview/ui/component-preview"
},
"ui/component-status": {
"scope": "teambit.component",
- "version": "0.0.372",
+ "version": "0.0.381",
"mainFile": "index.ts",
"rootDir": "scopes/component/ui/component-status"
},
"ui/component-status-resolver": {
"scope": "teambit.component",
- "version": "0.0.373",
+ "version": "0.0.383",
"mainFile": "index.ts",
"rootDir": "scopes/component/ui/component-status-resolver"
},
"ui/component-tooltip": {
"scope": "teambit.component",
- "version": "0.0.373",
+ "version": "0.0.383",
"mainFile": "index.ts",
"rootDir": "scopes/component/ui/component-tooltip"
},
"ui/composition-card": {
"scope": "teambit.compositions",
- "version": "0.0.372",
+ "version": "0.0.382",
"mainFile": "index.ts",
"rootDir": "scopes/compositions/ui/composition-card"
},
"ui/compositions-menu-bar": {
"scope": "teambit.compositions",
- "version": "0.0.48",
+ "version": "0.0.57",
"mainFile": "index.ts",
"rootDir": "scopes/compositions/ui/compositions-menu-bar"
},
"ui/constants/z-indexes": {
"scope": "teambit.ui-foundation",
- "version": "0.0.371",
+ "version": "0.0.380",
"mainFile": "z-indexes.module.scss",
"rootDir": "scopes/ui-foundation/uis/constants/z-indexes"
},
"ui/contributors": {
"scope": "teambit.design",
- "version": "0.0.377",
+ "version": "0.0.388",
"mainFile": "index.ts",
"rootDir": "scopes/design/ui/contributors"
},
"ui/corner": {
"scope": "teambit.ui-foundation",
- "version": "0.0.376",
+ "version": "0.0.386",
"mainFile": "index.ts",
"rootDir": "scopes/ui-foundation/uis/corner"
},
"ui/dependency-tree": {
"scope": "teambit.code",
- "version": "0.0.374",
+ "version": "0.0.383",
"mainFile": "index.ts",
"rootDir": "scopes/code/ui/dependency-tree"
},
"ui/deprecation-icon": {
"scope": "teambit.component",
- "version": "0.0.373",
+ "version": "0.0.383",
"mainFile": "index.ts",
"rootDir": "scopes/component/ui/deprecation-icon"
},
"ui/docs/create-heading": {
"scope": "teambit.mdx",
- "version": "0.0.372",
+ "version": "0.0.381",
"mainFile": "index.ts",
"rootDir": "scopes/mdx/ui/create-heading"
},
"ui/docs/highlighted-text-span": {
"scope": "teambit.mdx",
- "version": "0.0.372",
+ "version": "0.0.381",
"mainFile": "index.ts",
"rootDir": "scopes/mdx/ui/highlighted-text-span"
},
"ui/docs/link": {
"scope": "teambit.mdx",
- "version": "0.0.372",
+ "version": "0.0.381",
"mainFile": "index.ts",
"rootDir": "scopes/mdx/ui/link"
},
"ui/docs/paragraph": {
"scope": "teambit.mdx",
- "version": "0.0.372",
+ "version": "0.0.381",
"mainFile": "index.ts",
"rootDir": "scopes/mdx/ui/paragraph"
},
"ui/docs/snippet": {
"scope": "teambit.mdx",
- "version": "0.0.371",
+ "version": "0.0.381",
"mainFile": "index.ts",
"rootDir": "scopes/mdx/ui/snippet"
},
"ui/elements/level-icon": {
"scope": "teambit.design",
- "version": "0.0.3",
+ "version": "0.0.6",
"mainFile": "index.ts",
"rootDir": "scopes/design/ui/elements/level-icon"
},
"ui/empty-box": {
"scope": "teambit.design",
- "version": "0.0.346",
+ "version": "0.0.349",
"mainFile": "index.ts",
"rootDir": "scopes/design/ui/empty-box"
},
"ui/empty-component-gallery": {
"scope": "teambit.ui-foundation",
- "version": "0.0.373",
+ "version": "0.0.382",
"mainFile": "index.ts",
"rootDir": "scopes/ui-foundation/empty-component-gallery"
},
"ui/empty-scope": {
"scope": "teambit.scope",
- "version": "0.0.373",
+ "version": "0.0.383",
"mainFile": "index.ts",
"rootDir": "scopes/scope/ui/empty-scope"
},
"ui/empty-workspace": {
"scope": "teambit.workspace",
- "version": "0.0.373",
+ "version": "0.0.382",
"mainFile": "index.ts",
"rootDir": "scopes/workspace/ui/empty-workspace"
},
"ui/env-icon": {
"scope": "teambit.envs",
- "version": "0.0.371",
+ "version": "0.0.380",
"mainFile": "index.ts",
"rootDir": "scopes/envs/ui/env-icon"
},
+ "ui/error-fallback": {
+ "scope": "teambit.react",
+ "version": "0.0.1",
+ "mainFile": "index.ts",
+ "rootDir": "scopes/react/ui/error-fallback"
+ },
"ui/error-page": {
"scope": "teambit.design",
- "version": "0.0.343",
+ "version": "0.0.346",
"mainFile": "index.ts",
"rootDir": "scopes/design/ui/error-page"
},
"ui/external-link": {
"scope": "teambit.design",
- "version": "0.0.342",
+ "version": "0.0.344",
"mainFile": "index.ts",
"rootDir": "scopes/design/ui/external-link"
},
"ui/full-loader": {
"scope": "teambit.ui-foundation",
- "version": "0.0.371",
+ "version": "0.0.380",
"mainFile": "index.ts",
"rootDir": "scopes/ui-foundation/uis/full-loader"
},
"ui/gallery/base-component-card": {
"scope": "teambit.explorer",
- "version": "0.0.373",
+ "version": "0.0.382",
"mainFile": "index.ts",
"rootDir": "scopes/explorer/ui/base-component-card"
},
"ui/gallery/component-card": {
"scope": "teambit.explorer",
- "version": "0.0.374",
+ "version": "0.0.383",
"mainFile": "index.ts",
"rootDir": "scopes/explorer/ui/component-card"
},
"ui/gallery/component-grid": {
"scope": "teambit.explorer",
- "version": "0.0.371",
+ "version": "0.0.380",
"mainFile": "index.ts",
"rootDir": "scopes/explorer/ui/component-grid"
},
"ui/get-icon-from-file-name": {
"scope": "teambit.ui-foundation",
- "version": "0.0.371",
+ "version": "0.0.380",
"mainFile": "index.ts",
"rootDir": "scopes/ui-foundation/get-icon-from-file-name"
},
"ui/global-loader": {
"scope": "teambit.ui-foundation",
- "version": "0.0.371",
+ "version": "0.0.380",
"mainFile": "index.ts",
"rootDir": "scopes/ui-foundation/uis/global-loader"
},
"ui/highlighter-provider": {
"scope": "teambit.react",
- "version": "0.0.53",
+ "version": "0.0.63",
"mainFile": "index.ts",
"rootDir": "scopes/react/ui/highlighter-provider"
},
"ui/hooks/use-bind-key": {
"scope": "teambit.ui-foundation",
- "version": "0.0.371",
+ "version": "0.0.380",
"mainFile": "index.ts",
"rootDir": "scopes/ui-foundation/uis/hooks/use-bind-key"
},
"ui/hooks/use-code-params": {
"scope": "teambit.code",
- "version": "0.0.371",
+ "version": "0.0.380",
"mainFile": "index.ts",
"rootDir": "scopes/code/hooks/use-code-params"
},
"ui/hooks/use-composition": {
"scope": "teambit.compositions",
- "version": "0.0.48",
+ "version": "0.0.57",
"mainFile": "index.ts",
"rootDir": "scopes/compositions/ui/hooks/use-composition"
},
"ui/hooks/use-data-query": {
"scope": "teambit.ui-foundation",
- "version": "0.0.371",
+ "version": "0.0.380",
"mainFile": "index.ts",
"rootDir": "scopes/ui-foundation/uis/hooks/use-data-query"
},
"ui/hooks/use-in-out-transition": {
"scope": "teambit.ui-foundation",
- "version": "0.0.371",
+ "version": "0.0.380",
"mainFile": "index.ts",
"rootDir": "scopes/ui-foundation/uis/hooks/use-in-out-transition"
},
"ui/hooks/use-is-mobile": {
"scope": "teambit.ui-foundation",
- "version": "0.0.64",
+ "version": "0.0.73",
"mainFile": "index.ts",
"rootDir": "scopes/ui-foundation/uis/hooks/use-is-mobile"
},
"ui/hooks/use-snaps": {
"scope": "teambit.component",
- "version": "0.0.372",
+ "version": "0.0.381",
"mainFile": "index.ts",
"rootDir": "scopes/component/ui/hooks/use-snaps"
},
"ui/hooks/use-user-agent": {
"scope": "teambit.ui-foundation",
- "version": "0.0.64",
+ "version": "0.0.73",
"mainFile": "index.ts",
"rootDir": "scopes/ui-foundation/uis/hooks/use-user-agent"
},
"ui/hover-selector": {
"scope": "teambit.react",
- "version": "0.0.48",
+ "version": "0.0.57",
"mainFile": "index.ts",
"rootDir": "scopes/react/hover-selector"
},
"ui/input/option-button": {
"scope": "teambit.design",
- "version": "0.0.20",
+ "version": "0.0.23",
"mainFile": "index.ts",
"rootDir": "scopes/design/ui/input/option-button"
},
"ui/is-browser": {
"scope": "teambit.ui-foundation",
- "version": "0.0.371",
+ "version": "0.0.380",
"mainFile": "index.ts",
"rootDir": "scopes/ui-foundation/uis/is-browser"
},
"ui/keycap": {
"scope": "teambit.ui-foundation",
- "version": "0.0.371",
+ "version": "0.0.380",
"mainFile": "index.ts",
"rootDir": "scopes/ui-foundation/uis/keycap"
},
"ui/label": {
"scope": "teambit.design",
- "version": "0.0.342",
+ "version": "0.0.344",
"mainFile": "index.ts",
"rootDir": "scopes/design/ui/label"
},
"ui/load-preview": {
"scope": "teambit.workspace",
- "version": "0.0.372",
+ "version": "0.0.381",
"mainFile": "index.ts",
"rootDir": "scopes/workspace/ui/load-preview"
},
"ui/main-dropdown": {
"scope": "teambit.ui-foundation",
- "version": "0.0.371",
+ "version": "0.0.380",
"mainFile": "index.ts",
"rootDir": "scopes/ui-foundation/uis/main-dropdown"
},
"ui/mdx-layout": {
"scope": "teambit.mdx",
- "version": "0.0.372",
+ "version": "0.0.382",
"mainFile": "index.ts",
"rootDir": "scopes/mdx/ui/mdx-layout"
},
"ui/mdx-scope-context": {
"scope": "teambit.mdx",
- "version": "0.0.371",
+ "version": "0.0.381",
"mainFile": "index.ts",
"rootDir": "scopes/mdx/ui/mdx-scope-context"
},
"ui/menu": {
"scope": "teambit.ui-foundation",
- "version": "0.0.371",
+ "version": "0.0.380",
"mainFile": "index.ts",
"rootDir": "scopes/ui-foundation/menu"
},
"ui/menu-widget-icon": {
"scope": "teambit.ui-foundation",
- "version": "0.0.372",
+ "version": "0.0.381",
"mainFile": "index.ts",
"rootDir": "scopes/ui-foundation/menu-widget-icon"
},
"ui/notifications/notification": {
"scope": "teambit.ui-foundation",
- "version": "0.0.373",
+ "version": "0.0.383",
"mainFile": "index.ts",
"rootDir": "scopes/ui-foundation/notifications/ui/notification"
},
"ui/notifications/notification-center": {
"scope": "teambit.ui-foundation",
- "version": "0.0.373",
+ "version": "0.0.383",
"mainFile": "index.ts",
"rootDir": "scopes/ui-foundation/notifications/ui/notification-center"
},
"ui/notifications/notification-context": {
"scope": "teambit.ui-foundation",
- "version": "0.0.371",
+ "version": "0.0.380",
"mainFile": "index.ts",
"rootDir": "scopes/ui-foundation/notifications/ui/notification-context"
},
"ui/notifications/store": {
"scope": "teambit.ui-foundation",
- "version": "0.0.371",
+ "version": "0.0.380",
"mainFile": "index.ts",
"rootDir": "scopes/ui-foundation/notifications/ui/notification-store"
},
"ui/owner-avatar": {
"scope": "teambit.design",
- "version": "0.0.376",
+ "version": "0.0.386",
"mainFile": "index.ts",
"rootDir": "scopes/design/ui/owner-avatar"
},
"ui/pages/not-found": {
"scope": "teambit.design",
- "version": "0.0.343",
+ "version": "0.0.347",
"mainFile": "index.ts",
"rootDir": "scopes/design/ui/not-found-page"
},
"ui/pages/server-error": {
"scope": "teambit.design",
- "version": "0.0.343",
+ "version": "0.0.347",
"mainFile": "index.ts",
"rootDir": "scopes/design/ui/server-error-page"
},
"ui/pages/standalone-not-found-page": {
"scope": "teambit.design",
- "version": "0.0.344",
+ "version": "0.0.348",
"mainFile": "index.ts",
"rootDir": "scopes/design/ui/pages/standalone-not-found-page"
},
"ui/pill-label": {
"scope": "teambit.design",
- "version": "0.0.343",
+ "version": "0.0.345",
"mainFile": "index.ts",
"rootDir": "scopes/design/ui/pill-label"
},
"ui/preview-placeholder": {
"scope": "teambit.preview",
- "version": "0.0.371",
+ "version": "0.0.380",
"mainFile": "index.ts",
"rootDir": "scopes/preview/ui/preview-placeholder"
},
"ui/queries/get-component-code": {
"scope": "teambit.code",
- "version": "0.0.371",
+ "version": "0.0.380",
"mainFile": "index.ts",
"rootDir": "scopes/code/queries/get-component-code"
},
"ui/queries/get-docs": {
"scope": "teambit.docs",
- "version": "0.0.371",
+ "version": "0.0.380",
"mainFile": "index.ts",
"rootDir": "scopes/docs/ui/queries/get-docs"
},
"ui/queries/get-file-content": {
"scope": "teambit.code",
- "version": "0.0.371",
+ "version": "0.0.380",
"mainFile": "index.ts",
"rootDir": "scopes/code/queries/get-file-content"
},
"ui/react-router/extend-path": {
"scope": "teambit.ui-foundation",
- "version": "0.0.371",
+ "version": "0.0.380",
"mainFile": "index.ts",
"rootDir": "scopes/ui-foundation/react-router/ui/extend-path"
},
"ui/react-router/link": {
"scope": "teambit.ui-foundation",
- "version": "0.0.372",
+ "version": "0.0.382",
"mainFile": "index.ts",
"rootDir": "scopes/ui-foundation/react-router/ui/link"
},
"ui/react-router/link-anchor": {
"scope": "teambit.ui-foundation",
- "version": "0.0.8",
+ "version": "0.0.17",
"mainFile": "index.ts",
"rootDir": "scopes/ui-foundation/react-router/ui/link-anchor"
},
"ui/react-router/nav-link": {
"scope": "teambit.ui-foundation",
- "version": "0.0.372",
+ "version": "0.0.382",
"mainFile": "index.ts",
"rootDir": "scopes/ui-foundation/react-router/ui/nav-link"
},
"ui/react-router/slot-router": {
"scope": "teambit.ui-foundation",
- "version": "0.0.373",
+ "version": "0.0.382",
"mainFile": "index.ts",
"rootDir": "scopes/ui-foundation/react-router/ui/slot-router"
},
"ui/react-router/use-query": {
"scope": "teambit.ui-foundation",
- "version": "0.0.371",
+ "version": "0.0.380",
"mainFile": "index.ts",
"rootDir": "scopes/ui-foundation/react-router/ui/use-query"
},
"ui/round-loader": {
"scope": "teambit.design",
- "version": "0.0.342",
+ "version": "0.0.344",
"mainFile": "index.ts",
"rootDir": "scopes/design/ui/round-loader"
},
"ui/scope-details": {
"scope": "teambit.scope",
- "version": "0.0.377",
+ "version": "0.0.387",
"mainFile": "index.ts",
"rootDir": "scopes/scope/ui/scope-details"
},
"ui/scope-labels": {
"scope": "teambit.scope",
- "version": "0.0.373",
+ "version": "0.0.382",
"mainFile": "index.ts",
"rootDir": "scopes/scope/ui/scope-labels"
},
"ui/scope-title": {
"scope": "teambit.scope",
- "version": "0.0.376",
+ "version": "0.0.386",
"mainFile": "index.ts",
"rootDir": "scopes/scope/ui/scope-title"
},
"ui/separator": {
"scope": "teambit.design",
- "version": "0.0.344",
+ "version": "0.0.347",
"mainFile": "index.ts",
"rootDir": "scopes/design/ui/separator"
},
"ui/side-bar": {
"scope": "teambit.ui-foundation",
- "version": "0.0.373",
+ "version": "0.0.383",
"mainFile": "index.ts",
"rootDir": "scopes/ui-foundation/uis/side-bar"
},
"ui/status": {
"scope": "teambit.workspace",
- "version": "0.0.372",
+ "version": "0.0.381",
"mainFile": "index.ts",
"rootDir": "scopes/workspace/ui/status"
},
"ui/styles/colors-by-letter": {
"scope": "teambit.design",
- "version": "0.0.26",
+ "version": "0.0.28",
"mainFile": "index.ts",
"rootDir": "scopes/design/ui/styles/colors-by-letter"
},
"ui/styles/ellipsis": {
"scope": "teambit.design",
- "version": "0.0.342",
+ "version": "0.0.344",
"mainFile": "index.ts",
"rootDir": "scopes/design/ui/styles/ellipsis"
},
"ui/styles/muted-italic": {
"scope": "teambit.design",
- "version": "0.0.30",
+ "version": "0.0.32",
"mainFile": "index.ts",
"rootDir": "scopes/design/ui/styles/muted-italic"
},
"ui/surfaces/menu/item": {
"scope": "teambit.design",
- "version": "0.0.343",
+ "version": "0.0.346",
"mainFile": "index.ts",
"rootDir": "scopes/design/ui/surfaces/menu/item"
},
"ui/surfaces/menu/link-item": {
"scope": "teambit.design",
- "version": "0.0.367",
+ "version": "0.0.370",
"mainFile": "index.ts",
"rootDir": "scopes/design/ui/surfaces/menu/link-item"
},
"ui/surfaces/menu/section": {
"scope": "teambit.design",
- "version": "0.0.342",
+ "version": "0.0.344",
"mainFile": "index.ts",
"rootDir": "scopes/design/ui/surfaces/menu/section"
},
+ "ui/surfaces/message-card": {
+ "scope": "teambit.design",
+ "version": "0.0.2",
+ "mainFile": "index.ts",
+ "rootDir": "scopes/design/ui/message-card"
+ },
+ "ui/surfaces/status-message-card": {
+ "scope": "teambit.design",
+ "version": "0.0.2",
+ "mainFile": "index.ts",
+ "rootDir": "scopes/design/ui/status-message-card"
+ },
"ui/test-loader": {
"scope": "teambit.defender",
- "version": "0.0.372",
+ "version": "0.0.382",
"mainFile": "index.ts",
"rootDir": "scopes/defender/ui/test-loader"
},
"ui/test-row": {
"scope": "teambit.defender",
- "version": "0.0.372",
+ "version": "0.0.382",
"mainFile": "index.ts",
"rootDir": "scopes/defender/ui/test-row"
},
"ui/test-table": {
"scope": "teambit.defender",
- "version": "0.0.373",
+ "version": "0.0.383",
"mainFile": "index.ts",
"rootDir": "scopes/defender/ui/test-table"
},
"ui/time-ago": {
"scope": "teambit.design",
- "version": "0.0.344",
+ "version": "0.0.347",
"mainFile": "index.ts",
"rootDir": "scopes/design/ui/time-ago"
},
"ui/tooltip": {
"scope": "teambit.design",
- "version": "0.0.343",
+ "version": "0.0.346",
"mainFile": "index.ts",
"rootDir": "scopes/design/ui/tooltip"
},
"ui/top-bar": {
"scope": "teambit.ui-foundation",
- "version": "0.0.373",
+ "version": "0.0.382",
"mainFile": "index.ts",
"rootDir": "scopes/ui-foundation/uis/top-bar"
},
"ui/tree/drawer": {
"scope": "teambit.ui-foundation",
- "version": "0.0.371",
+ "version": "0.0.380",
"mainFile": "index.ts",
"rootDir": "scopes/ui-foundation/tree/drawer"
},
"ui/tree/file-tree": {
"scope": "teambit.ui-foundation",
- "version": "0.0.372",
+ "version": "0.0.381",
"mainFile": "index.ts",
"rootDir": "scopes/ui-foundation/tree/file-tree"
},
"ui/tree/folder-tree-node": {
"scope": "teambit.ui-foundation",
- "version": "0.0.371",
+ "version": "0.0.380",
"mainFile": "index.ts",
"rootDir": "scopes/ui-foundation/tree/folder-tree-node"
},
"ui/tree/tree-node": {
"scope": "teambit.ui-foundation",
- "version": "0.0.372",
+ "version": "0.0.381",
"mainFile": "index.ts",
"rootDir": "scopes/ui-foundation/tree/tree-node"
},
"ui/utils/get-file-icon": {
"scope": "teambit.code",
- "version": "0.0.371",
+ "version": "0.0.380",
"mainFile": "index.ts",
"rootDir": "scopes/code/utils/get-file-icon"
},
"ui/version-block": {
"scope": "teambit.component",
- "version": "0.0.379",
+ "version": "0.0.390",
"mainFile": "index.ts",
"rootDir": "scopes/component/ui/version-block"
},
"ui/version-dropdown": {
"scope": "teambit.component",
- "version": "0.0.374",
+ "version": "0.0.384",
"mainFile": "index.ts",
"rootDir": "scopes/component/ui/version-dropdown"
},
"ui/version-label": {
"scope": "teambit.component",
- "version": "0.0.374",
+ "version": "0.0.384",
"mainFile": "index.ts",
"rootDir": "scopes/component/ui/version-label"
},
"ui/workspace-component-card": {
"scope": "teambit.workspace",
- "version": "0.0.374",
+ "version": "0.0.383",
"mainFile": "index.ts",
"rootDir": "scopes/workspace/ui/workspace-component-card"
},
"update-dependencies": {
"scope": "teambit.scope",
- "version": "0.0.401",
+ "version": "0.0.416",
"mainFile": "index.ts",
"rootDir": "scopes/scope/update-dependencies"
},
"url/add-avatar-query-params": {
"scope": "teambit.toolbox",
- "version": "0.0.368",
+ "version": "0.0.377",
"mainFile": "index.ts",
"rootDir": "scopes/toolbox/url/add-avatar-query-params"
},
"url/query-string": {
"scope": "teambit.toolbox",
- "version": "0.0.368",
+ "version": "0.0.377",
"mainFile": "index.ts",
"rootDir": "scopes/toolbox/url/query-string"
},
"user-agent": {
"scope": "teambit.ui-foundation",
- "version": "0.0.87",
+ "version": "0.0.102",
"mainFile": "index.ts",
"rootDir": "scopes/ui-foundation/user-agent"
},
"variants": {
"scope": "teambit.workspace",
- "version": "0.0.372",
+ "version": "0.0.383",
"mainFile": "index.ts",
"rootDir": "scopes/workspace/variants"
},
"webpack": {
- "scope": "teambit.compilation",
- "version": "0.0.401",
+ "scope": "teambit.webpack",
+ "version": "0.0.416",
"mainFile": "index.ts",
- "rootDir": "scopes/compilation/webpack"
+ "rootDir": "scopes/webpack/webpack"
},
"worker": {
"scope": "teambit.harmony",
- "version": "0.0.401",
+ "version": "0.0.416",
"mainFile": "index.ts",
"rootDir": "scopes/harmony/worker"
},
"workspace": {
"scope": "teambit.workspace",
- "version": "0.0.401",
+ "version": "0.0.416",
"mainFile": "index.ts",
"rootDir": "scopes/workspace/workspace"
},
"yarn": {
"scope": "teambit.dependencies",
- "version": "0.0.402",
+ "version": "0.0.417",
"mainFile": "index.ts",
"rootDir": "scopes/dependencies/yarn"
},
diff --git a/.circleci/config.yml b/.circleci/config.yml
index 4e0e218360cb..7c221ee5a9d1 100644
--- a/.circleci/config.yml
+++ b/.circleci/config.yml
@@ -110,6 +110,10 @@ commands: # reusable commands
- # add the id_rsa to ssh_agent to make sure we authenticate with the correct user
run: 'chmod 400 ~/.ssh/id_rsa'
- run: 'ssh-add ~/.ssh/id_rsa'
+ install_bvm:
+ steps:
+ - run: npm i -g @teambit/bvm
+ - run: "echo 'export PATH=~/.npm-global/bin:$PATH' >> $BASH_ENV"
set_git_credentials:
steps:
@@ -149,17 +153,39 @@ jobs:
paths:
- bit
+ symphony_docker_build:
+ machine: true
+ steps:
+ - attach_workspace:
+ at: ./
+ - run: echo "$DOCKER_PASS" | docker login --username $DOCKER_USER --password-stdin
+ - run: cd bit/scripts && docker build -f ./docker-teambit-bit/Dockerfile-symphony -t bitcli/bit-symphony:`npm show @teambit/bit version` .
+ - run: cd bit/scripts && docker build -f ./docker-teambit-bit/Dockerfile-symphony -t bitcli/bit-symphony:latest .
+ - run: cd bit && docker push bitcli/bit-symphony:`npm show @teambit/bit version`
+ - run: cd bit && docker push bitcli/bit-symphony:latest
+
docker_build:
machine: true
steps:
- attach_workspace:
at: ./
- run: echo "$DOCKER_PASS" | docker login --username $DOCKER_USER --password-stdin
- - run: cd bit/scripts && docker build -f ./docker-teambit-bit/Dockerfile -t bitcli/bit:`npm show @teambit/bit version` .
- - run: cd bit/scripts && docker build -f ./docker-teambit-bit/Dockerfile -t bitcli/bit:latest .
+ - run: cd bit/scripts && docker build -f ./docker-teambit-bit/Dockerfile-bit -t bitcli/bit:`npm show @teambit/bit version` .
+ - run: cd bit/scripts && docker build -f ./docker-teambit-bit/Dockerfile-bit -t bitcli/bit:latest .
- run: cd bit && docker push bitcli/bit:`npm show @teambit/bit version`
- run: cd bit && docker push bitcli/bit:latest
+ server_docker_build:
+ machine: true
+ steps:
+ - attach_workspace:
+ at: ./
+ - run: echo "$DOCKER_PASS" | docker login --username $DOCKER_USER --password-stdin
+ - run: cd bit/scripts && docker build -f ./docker-teambit-bit/Dockerfile-bit-server -t --build-arg BIT_VERSION=`npm show @teambit/bit version` bitcli/bit-server:`npm show @teambit/bit version` .
+ - run: cd bit/scripts && docker build -f ./docker-teambit-bit/Dockerfile-bit-server -t bitcli/bit-server:latest .
+ - run: cd bit && docker push bitcli/bit-server:`npm show @teambit/bit version`
+ - run: cd bit && docker push bitcli/bit-server:latest
+
set_ssh_key:
<<: *defaults
working_directory: ~/.ssh
@@ -467,6 +493,9 @@ jobs:
setup_harmony:
resource_class: large
<<: *defaults
+ environment:
+ # change the npm config to avoid using sudo
+ NPM_CONFIG_PREFIX: ~/.npm-global
steps:
- attach_workspace:
at: ./
@@ -475,19 +504,33 @@ jobs:
- run:
name: 'install husky globally'
command: 'sudo npm i -g husky'
- - run:
- name: 'install harmony'
- command: 'cd bit && npm run install-harmony'
+
+ - install_bvm
+ - run: npm view @teambit/bit version > ./version.txt
+ - restore_cache:
+ key: v2-linux-bvm-folder-{{ checksum "version.txt" }}
+ - run: bvm config set DEFAULT_LINK bbit
+ - run: bvm upgrade
+ - run: bvm link --verbose
+ - run: bbit
+ - save_cache:
+ key: v2-linux-bvm-folder-{{ checksum "version.txt" }}
+ paths:
+ - /home/circleci/.bvm
+ - run: cd bit && bbit install
+ - run: cd bit && npm run link-bit-legacy
+ - run: cd bit && bbit compile
+
# - run:
- # name: 'import objects'
- # command: 'cd bit && npm run import-harmony'
- - run:
- name: 'build harmony'
- command: 'cd bit && npm run build-harmony'
- no_output_timeout: '20m'
- - run:
- name: 'status harmony'
- command: 'cd bit && npm run status-harmony'
+ # name: 'install harmony'
+ # command: 'cd bit && npm run install-harmony'
+ # - run:
+ # name: 'build harmony'
+ # command: 'cd bit && npm run build-harmony'
+ # no_output_timeout: '20m'
+ # - run:
+ # name: 'status harmony'
+ # command: 'cd bit && npm run status-harmony'
- run:
name: 'Build bit source code'
command: 'cd bit && npm run build'
@@ -543,6 +586,10 @@ jobs:
- attach_workspace:
at: ./
- bit_global_for_npm
+ - install_bvm
+ - run: npm view @teambit/bit version > ./version.txt
+ - restore_cache:
+ key: v2-linux-bvm-folder-{{ checksum "version.txt" }}
- bit_config:
env: "hub"
- restore_cache:
@@ -555,17 +602,24 @@ jobs:
name: setting npmjs registry with publishing permission
command: echo "//registry.npmjs.org/:_authToken=${npmjsRegistryToken}" >> ~/.npmrc
- run: cd bit && node scripts/bump-bit-legacy-ver.js
- - run: cd bit && build-harmony/node_modules/.bin/bbit status
+ - run: bvm link
+ # - run: cd bit && build-harmony/node_modules/.bin/bbit status
+ - run: cd bit && bbit status
# temporarily. otherwise it fails on bit-checkout during Yarn installation with "Error: ENOENT: no such file or directory, chmod '/home/******ci/bit/bit/node_modules/@teambit/legacy/node_modules/@babel/core/node_modules/semver/bin/semver'""
- run: cd bit && rm -rf node_modules
- - run: cd bit && build-harmony/node_modules/.bin/bbit checkout latest --all --skip-npm-install
+ - run: cd bit && bbit checkout latest --all --skip-npm-install
+ # - run: cd bit && build-harmony/node_modules/.bin/bbit checkout latest --all --skip-npm-install
# - run: cd bit && rm -rf node_modules/@teambit/legacy
+ # - run: cd bit && bbit checkout latest --all
# - run: cd bit && build-harmony/node_modules/.bin/bbit checkout latest --all
# - run: cd bit && npm run link-bit-legacy
# since we removed the node_modules we need to make sure we compile, install and link everything again
- - run:
- name: 'build harmony'
- command: 'cd bit && npm run build-harmony-skip-import'
+ - run: cd bit && bbit install --skip-import
+ - run: cd bit && bbit compile
+ - run: cd bit && npm run link-bit-legacy
+ # - run:
+ # name: 'build harmony'
+ # command: 'cd bit && npm run build-harmony-skip-import'
# - run: cd bit && node scripts/soft-tag-scope-teambit.js
- run:
name: tag persist
@@ -1475,9 +1529,15 @@ workflows:
<<: *master_only_filter
requires:
- bit_tag
- - docker_build:
+ - symphony_docker_build:
requires:
- bit_tag
+ - docker_build:
+ requires:
+ - harmony_publish_to_gcloud
+ - server_docker_build:
+ requires:
+ - docker_build
windows-nightly:
triggers:
@@ -1580,8 +1640,15 @@ workflows:
requires:
- bit_tag
- harmony_deploy_approval_job
- - docker_build:
- <<: *master_only_filter
+ - symphony_docker_build:
requires:
- harmony_deploy_approval_job
- bit_tag
+ - docker_build:
+ requires:
+ - harmony_deploy_approval_job
+ - harmony_publish_to_gcloud
+ - server_docker_build:
+ requires:
+ - harmony_deploy_approval_job
+ - docker_build
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index aed1b53326e1..3f6de8997758 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -154,7 +154,7 @@ The bootstrap process (in Harmony) in general is as follows:
2. Bit builds a graph of all core-aspects and aspects entered in the workspace.jsonc file.
3. Once the graph is ready, it loads them all (calls their provider), so then all aspects instances are ready in-memory.
4. An aspect can register to the CLI slot (`cli.register()`) and pass `Command` instances. (that's the main reason why all aspects must be loaded before anything else happen. Otherwise, commands won't be registered and the user will get an error about a non-exist command)
-5. `commander` package is used for parsing the commands. All `Command` instances are registered by `Commander`. It finds the currently entered command and runs either `report()` to return a result to the CLI as plain text or `render()` to paint the output as a React component using `Ink`.
+5. `yargs` package is used for parsing the commands. All `Command` instances are registered by `yargs`. It finds the currently entered command and runs either `report()` to return a result to the CLI as plain text or `render()` to paint the output as a React component using `Ink`.
### Workspace
diff --git a/README.md b/README.md
index 8aa5110a5935..c921d1c5b0aa 100644
--- a/README.md
+++ b/README.md
@@ -1,54 +1,116 @@
-# Bit
+
+
+
-Bit is a tool for composing modern applications of independent components.
+
+ Documentation |
+ Platform |
+ Learn
+
-It extends the benefits of micro-services to everything you build, front and back. With Bit teams can autonomously develop, build, and release components, while continuously collaborating and integrating to compose larger applications together.
+
+ Build components first.
+
-Bit's extendible toolset (and visual development UI) creates a simple yet powerful experience for every developer, while larger teams can smoothly scale to build many developers and projects in the [component cloud](https://bit.dev/).
-
-Modularity benefits almost every part of the development process, from [speeding up releases](https://www.youtube.com/watch?v=yDjTcBKXKDE) to making debugging or refactoring much simpler. You can start enjoying Bit through one of many popular [use-cases](https://blog.bitsrc.io/4-bit-use-cases-build-like-the-best-teams-1c36560c7c6e) such as **Micro Frontends**, **Design Systems**, **Development Speed**, and **Collaboration on components**.
-
-[![Bit](https://storage.googleapis.com/static.bit.dev/harmony-docs/homepage-components-micro-frontends.png)](https://bit.dev/)
+
+Open infrastructure for component-driven applications to speed and scale development.
+
+
-[![styled with prettier](https://img.shields.io/badge/styled_with-prettier-ff69b4.svg)](https://github.com/prettier/prettier)
+
-[![Tweet](https://img.shields.io/twitter/url/http/shields.io.svg?style=social)](https://twitter.com/intent/tweet?text=Share%20code%20components%20as%20a%20team%20@bitdev_&url=https://bit.dev&hashtags=opensource,javascript,programming,reactjs,webdev,vuejs,angularjs)
-[Docs](https://harmony-docs.bit.dev/) • [Bit Cloud](https://bit.dev/) • [Slack](https://join.slack.com/t/bit-dev-community/shared_invite/zt-o2tim18y-UzwOCFdTafmFKEqm2tXE4w) • [Twitter](https://twitter.com/bitdev_) • [YouTube](https://www.youtube.com/channel/UCuNkM3qIO79Q3-VrkcDiXfw) • [Blog](https://blog.bitsrc.io/tagged/bit) • [Resources](https://harmony-docs.bit.dev/resources/conference-talks/)
+## What is Bit?
-## Install Bit
+
+
+
+
+
+
+Bit is an OSS Infrastructure for building and composing components. It is an extensible toolchain for component-driven applications / systems which are faster to develop, simpler to understand, test, and maintain, more resilient and performant, and easier to collaborate on.
-Install Bit Version Manager:
+Instead of building an application that has many components, Bit lets you develop components outside of any application and use them to compose many applications from the bottom up. An application is just a deployed composition of components. You can add and remove components from applications to extend or change their functionality. All components can be reused in many different applications.
-```
-npm i -g @teambit/bvm
+
-# or
+### Key Features
+
+
+
+- **Workspace** is the foundation of Bit. It is where you develop and compose components. It lets you build fully distributed projects with a simple monolithic-like dev experience. Open the workspace UI to visually develop and manage your components with ease.
+
+- **Scope** is where you push, version, and organize your components. It’s a component store.
+- **Remote Hosting**: Remote Scopes let you use components across projects. You can setup and host remote Scopes on any servers. [Bit.dev](https://bit.dev) is an optional enterprise-grade platform for hosting and connecting all scopes and components to give teams a streamlined cross-project collaboration experience. It is highly secure and trusted by Fortune-50 teams.
+
+### How to Start?
+
+
+
+
+
+
+
+To get started follow the [quick-start guide](https://harmony-docs.bit.dev/getting-started/installing-bit) or try the official [Bit for React tutorial](https://harmony-docs.bit.dev/tutorials/react/create-and-consume-components).
+
+Install [Bit Version Manager](https://harmony-docs.bit.dev/getting-started/installing-bit):
+
+```bash
+npm i -g @teambit/bvm
+# or
yarn global add @teambit/bvm
```
Install Bit:
-```
+```bash
bvm install
```
-Init a Bit Workspace:
+Start a [Bit workspace](https://harmony-docs.bit.dev/getting-started/initializing-workspace):
+
+```bash
+bit new react-workspace
+```
+
+Install dependencies:
+```bash
+cd
+bit install
```
-bit init --harmony
+
+Create a component:
+
+```bash
+bit create react-component ui/button # TypeScript
+bit create react-component-js ui/button # JavaScript
```
+Install dependencies for test files:
-### Getting Started
+```bash
+bit install @testing-library/react
+```
-- [Getting started](https://harmony-docs.bit.dev/getting-started/installing-bit)
-- [What is Bit?](https://harmony-docs.bit.dev/essentials/what-is-bit)
-- [Thinking in Components](https://harmony-docs.bit.dev/component-architecture/thinking-in-components)
+Start the dev server
+
+```bash
+bit start
+```
+
+Open-up your browser on localhost:3000, or any other available port, and display your workspace with your components.
+
+### Popular Onboarding Use-Cases
+
+- Micro Frontends
+- Design Systems (Component Marketplace)
+- Shared Logic and Backend Functionality
+- Rapid Application Development
### Resources & Community
@@ -60,12 +122,6 @@ bit init --harmony
- [Articles](https://harmony-docs.bit.dev/resources/articles)
- [Community](https://harmony-docs.bit.dev/resources/community)
-## Large scale example of building with Bit
-
-Bit is 100% built with Bit! Every feature in Bit, from the [Bit Version Manager](https://bit.dev/teambit/bvm) to the workspace UI and even [supporting MDX](https://bit.dev/teambit/mdx), are just scopes of components developed with Bit.
-
-Explore [dozens of OSS scopes and hundreds of OSS components](https://bit.dev/teambit) on Bit's cloud platform.
-
## Contributing 🎗️
Contributions are always welcome, no matter how large or small. Before contributing, please read the [code of conduct](CODE_OF_CONDUCT.md).
diff --git a/babel.config.js b/babel.config.js
index 6d205b8fa7d1..16cc6d1b15c8 100644
--- a/babel.config.js
+++ b/babel.config.js
@@ -16,6 +16,7 @@ module.exports = function (api) {
],
];
const plugins = [
+ 'ramda',
[
'@babel/plugin-transform-modules-commonjs',
{
@@ -32,7 +33,7 @@ module.exports = function (api) {
return {
presets,
plugins,
- only: ['**/*.ts', '**/*.tsx', 'src/extensions/flows/task/container-script.js'],
+ only: ['**/*.ts', '**/*.tsx'],
ignore: ['components/*'],
};
};
diff --git a/e2e/commands/import2.e2e.1.ts b/e2e/commands/import2.e2e.1.ts
index 40ef94fc7876..0f114137f59f 100644
--- a/e2e/commands/import2.e2e.1.ts
+++ b/e2e/commands/import2.e2e.1.ts
@@ -340,7 +340,7 @@ console.log(barFoo.default());`;
const RelativeCompClass = IssuesClasses.relativeComponents;
expect(output).to.have.string('error: issues found with the following component dependencies');
expect(output).to.have.string(`${helper.scopes.remote}/utils/is-string@0.0.1`);
- expect(output).to.have.string(new RelativeCompClass().description);
+ expect(output).to.have.string(new RelativeCompClass().descriptionWithSolution);
expect(output).to.have.string('is-string.js -> utils/is-type');
});
});
@@ -372,7 +372,7 @@ console.log(barFoo.default());`;
});
it('should not allow tagging the component', () => {
const RelativeCompClass = IssuesClasses.relativeComponents;
- expect(output).to.have.string(new RelativeCompClass().description);
+ expect(output).to.have.string(new RelativeCompClass().descriptionWithSolution);
});
});
diff --git a/e2e/flows/dependencies-as-packages.e2e.2.ts b/e2e/flows/dependencies-as-packages.e2e.2.ts
index 1ccb768ffe41..e1d5a3116718 100644
--- a/e2e/flows/dependencies-as-packages.e2e.2.ts
+++ b/e2e/flows/dependencies-as-packages.e2e.2.ts
@@ -309,6 +309,20 @@ chai.use(require('chai-fs'));
});
});
});
+ describe('installing in Harmony', () => {
+ before(() => {
+ helper.scopeHelper.reInitLocalScopeHarmony();
+ helper.scopeHelper.addRemoteScope();
+ helper.command.runCmd('npm init -y');
+ helper.command.runCmd(`npm install @ci/${helper.scopes.remote}.utils.is-type`);
+ helper.fs.outputFile('bar/index.js', `require('@ci/${helper.scopes.remote}.utils.is-type');`);
+ helper.command.addComponent('bar');
+ helper.command.compile();
+ });
+ it('should throw an error and prevent tagging the component', () => {
+ expect(() => helper.command.tagAllComponents()).to.throw('unable tagging');
+ });
+ });
});
describe('components with nested dependencies and compiler', () => {
before(async () => {
diff --git a/e2e/functionalities/custom-module-resolutions.e2e.2.ts b/e2e/functionalities/custom-module-resolutions.e2e.2.ts
index f36d42bb20c3..6cff9efe904f 100644
--- a/e2e/functionalities/custom-module-resolutions.e2e.2.ts
+++ b/e2e/functionalities/custom-module-resolutions.e2e.2.ts
@@ -152,8 +152,8 @@ describe('custom module resolutions', function () {
helper.scopeHelper.reInitLocalScopeHarmony();
helper.scopeHelper.addRemoteScope();
});
- it('should not throw an error on import', () => {
- expect(() => helper.command.importComponent('bar/foo')).to.not.throw();
+ it('should throw an error on import', () => {
+ expect(() => helper.command.importComponent('bar/foo')).to.throw();
});
});
});
diff --git a/e2e/harmony/add-harmony.e2e.ts b/e2e/harmony/add-harmony.e2e.ts
new file mode 100644
index 000000000000..ea0d8e09a5b2
--- /dev/null
+++ b/e2e/harmony/add-harmony.e2e.ts
@@ -0,0 +1,31 @@
+import chai from 'chai';
+import path from 'path';
+import { HARMONY_FEATURE } from '../../src/api/consumer/lib/feature-toggle';
+import { ParentDirTracked } from '../../src/consumer/component-ops/add-components/exceptions/parent-dir-tracked';
+import Helper from '../../src/e2e-helper/e2e-helper';
+
+chai.use(require('chai-fs'));
+
+describe('add command on Harmony', function () {
+ this.timeout(0);
+ let helper: Helper;
+ before(() => {
+ helper = new Helper();
+ helper.command.setFeatures(HARMONY_FEATURE);
+ });
+ after(() => {
+ helper.scopeHelper.destroy();
+ });
+ describe('add a directory inside an existing component', () => {
+ before(() => {
+ helper.scopeHelper.reInitLocalScopeHarmony();
+ helper.fixtures.populateComponents(1);
+ helper.fs.outputFile('comp1/foo/foo.ts');
+ });
+ it('should throw a descriptive error about parent-dir is tracked', () => {
+ const cmd = () => helper.command.addComponent('comp1/foo');
+ const error = new ParentDirTracked('comp1', 'comp1', path.normalize('comp1/foo'));
+ helper.general.expectToThrow(cmd, error);
+ });
+ });
+});
diff --git a/e2e/harmony/clear-cache.e2e.ts b/e2e/harmony/clear-cache.e2e.ts
index f0f2fb519df0..6f41fafa5d6d 100644
--- a/e2e/harmony/clear-cache.e2e.ts
+++ b/e2e/harmony/clear-cache.e2e.ts
@@ -13,7 +13,8 @@ describe('bit clear-cache', function () {
after(() => {
helper.scopeHelper.destroy();
});
- describe('fs cache corrupted', () => {
+ // not relevant now that we disabled this feature. revisit again later if needed
+ describe.skip('fs cache corrupted', () => {
before(() => {
helper.scopeHelper.setNewLocalAndRemoteScopesHarmony();
helper.bitJsonc.setupDefault();
diff --git a/e2e/harmony/custom-env.e2e.ts b/e2e/harmony/custom-env.e2e.ts
index f5b31e77b271..91cb661f7662 100644
--- a/e2e/harmony/custom-env.e2e.ts
+++ b/e2e/harmony/custom-env.e2e.ts
@@ -64,6 +64,18 @@ describe('custom env', function () {
expect(() => helper.command.untag('--all')).to.not.throw();
});
});
+ describe('out-of-sync scenario where the id is changed during the process', () => {
+ before(() => {
+ helper.scopeHelper.getClonedLocalScope(wsAllNew);
+ helper.command.tagAllWithoutBuild();
+ const bitMapBeforeExport = helper.bitMap.read();
+ helper.command.export();
+ helper.bitMap.write(bitMapBeforeExport);
+ });
+ it('bit status should not throw ComponentNotFound error', () => {
+ expect(() => helper.command.status()).not.to.throw();
+ });
+ });
});
(supportNpmCiRegistryTesting ? describe : describe.skip)('custom env installed as a package', () => {
let envId;
diff --git a/e2e/harmony/dependency-resolver.e2e.ts b/e2e/harmony/dependency-resolver.e2e.ts
index 77148258aa6f..e6e5a2ea556a 100644
--- a/e2e/harmony/dependency-resolver.e2e.ts
+++ b/e2e/harmony/dependency-resolver.e2e.ts
@@ -77,7 +77,7 @@ describe('dependency-resolver extension', function () {
});
it('should have the updated dependencies for bar/foo from the env', function () {
expect(barFooOutput.peerPackageDependencies).to.have.property('react', '^16.8.0 || ^17.0.0');
- expect(barFooOutput.devPackageDependencies).to.have.property('@types/react', '^16.8.0');
+ expect(barFooOutput.devPackageDependencies).to.have.property('@types/react', '^17.0.8');
});
});
describe('policies added by extension', function () {
diff --git a/e2e/harmony/flows.e2e.4.ts b/e2e/harmony/flows.e2e.4.ts
deleted file mode 100644
index 2aad40ad3e6d..000000000000
--- a/e2e/harmony/flows.e2e.4.ts
+++ /dev/null
@@ -1,85 +0,0 @@
-import chai, { expect } from 'chai';
-import fs from 'fs-extra';
-import path from 'path';
-
-import { HARMONY_FEATURE } from '../../src/api/consumer/lib/feature-toggle';
-import { IS_WINDOWS } from '../../src/constants';
-import Helper from '../../src/e2e-helper/e2e-helper';
-
-chai.use(require('chai-fs'));
-
-// @todo: since the introduction of Environment extension, the flows config should not be set
-// on the component but inside the env. We'll need to figure out how to get it to work
-describe.skip('flows functionality', function () {
- this.timeout(0);
- let helper: Helper;
- before(() => {
- helper = new Helper();
- helper.command.setFeatures(HARMONY_FEATURE);
- });
- after(() => {
- helper.scopeHelper.destroy();
- });
- (IS_WINDOWS ? describe.skip : describe)('running build task', () => {
- let taskOutput;
- before(() => {
- helper.scopeHelper.initWorkspaceAndRemoteScope();
- helper.bitJsonc.addDefaultScope();
- helper.fixtures.populateComponentsTS();
- helper.fixtures.addExtensionTS();
- const tsExtensionKey = `${helper.scopes.remote}/extensions/typescript`;
-
- const flowExtensionConfig = {
- tasks: {
- build: [`@bit/${helper.scopes.remote}.extensions.typescript:transpile`],
- },
- };
- helper.extensions.addExtensionToVariant('*', tsExtensionKey, {});
- helper.extensions.addExtensionToVariant('*', 'flows', flowExtensionConfig);
-
- taskOutput = helper.command.runTask('build comp1');
- });
- it('should output results', () => {
- expect(taskOutput).to.have.string('Flows executed');
- });
- it('should write dists files', () => {
- const helpCapsule = helper.command.getCapsuleOfComponent('comp1');
- expect(path.join(helpCapsule, 'dist')).to.be.a.directory();
- expect(path.join(helpCapsule, 'dist/index.js')).to.be.a.file();
- });
- describe('imported component', () => {
- before(() => {
- helper.command.tagAllComponents();
- helper.command.export();
- helper.scopeHelper.reInitLocalScope();
- helper.scopeHelper.addRemoteScope();
- helper.command.importComponent('comp1');
- });
- it('should import the extensions as well into the scope', () => {
- const scopeList = helper.command.listLocalScopeParsed('--scope');
- const ids = scopeList.map((entry) => entry.id);
- expect(ids).to.include(`${helper.scopes.remote}/extensions/typescript`);
- });
- it('should not show the component as modified', () => {
- helper.command.expectStatusToBeClean();
- });
- describe('running compile on the imported component', () => {
- before(() => {
- helper.command.runTask('build comp1');
- });
- it('should generate dists on the capsule', () => {
- const capsulePath = helper.command.getCapsuleOfComponent('comp1@0.0.1');
- expect(path.join(capsulePath, 'dist')).to.be.a.directory();
- expect(path.join(capsulePath, 'dist/index.js')).to.be.a.file();
- });
- it('should generate dists also after deleting the dists from the capsule', () => {
- const capsulePath = helper.command.getCapsuleOfComponent('comp1@0.0.1');
- fs.removeSync(path.join(capsulePath, 'dist'));
- helper.command.runTask('build comp1 --no-cache');
- expect(path.join(capsulePath, 'dist')).to.be.a.directory();
- expect(path.join(capsulePath, 'dist/index.js')).to.be.a.file();
- });
- });
- });
- });
-});
diff --git a/e2e/harmony/mix-harmony-legacy.e2e.ts b/e2e/harmony/mix-harmony-legacy.e2e.ts
new file mode 100644
index 000000000000..987b0c7be92b
--- /dev/null
+++ b/e2e/harmony/mix-harmony-legacy.e2e.ts
@@ -0,0 +1,45 @@
+import { IssuesClasses } from '@teambit/component-issues';
+import chai, { expect } from 'chai';
+import Helper from '../../src/e2e-helper/e2e-helper';
+
+chai.use(require('chai-fs'));
+
+describe('mix use of Legacy and Harmony', function () {
+ this.timeout(0);
+ let helper: Helper;
+ before(() => {
+ helper = new Helper();
+ });
+ after(() => {
+ helper.scopeHelper.destroy();
+ });
+ describe('legacy component into Harmony workspace', () => {
+ before(() => {
+ helper.scopeHelper.setNewLocalAndRemoteScopes();
+ helper.fixtures.createComponentBarFoo();
+ helper.fixtures.addComponentBarFooAsDir();
+ helper.command.tagAllComponents();
+ helper.command.exportAllComponents();
+
+ helper.scopeHelper.reInitLocalScopeHarmony();
+ helper.scopeHelper.addRemoteScope();
+ });
+ it('should block importing the component', () => {
+ expect(() => helper.command.importComponent(`${helper.scopes.remote}/*`)).to.throw('unable to write component');
+ });
+ describe('re-creating the component in Harmony using the legacy objects', () => {
+ before(() => {
+ helper.command.importComponent('bar/foo --objects');
+ helper.fixtures.createComponentBarFoo();
+ helper.fixtures.addComponentBarFooAsDir();
+ helper.command.addComponent('bar', { i: 'bar/foo' });
+ });
+ it('bit status should show an issue of ', () => {
+ helper.command.expectStatusToHaveIssue(IssuesClasses.LegacyInsideHarmony.name);
+ });
+ it('bit tag should throw an error', () => {
+ expect(() => helper.command.tagAllComponents()).to.throw('error: issues found');
+ });
+ });
+ });
+});
diff --git a/e2e/typescript/typescript.e2e.3.ts b/e2e/typescript/typescript.e2e.3.ts
index f7feb766d806..343eb91a5d9f 100644
--- a/e2e/typescript/typescript.e2e.3.ts
+++ b/e2e/typescript/typescript.e2e.3.ts
@@ -630,17 +630,32 @@ export class List extends React.Component {
before(() => {
helper.scopeHelper.reInitLocalScope();
helper.npm.initNpm();
- helper.fs.createFile('bar', 'foo.ts', "import { yo } from 'ninja';");
- helper.command.addComponent('bar/foo.ts', { i: 'bar/foo' });
+ helper.fs.outputFile(
+ path.join('bar', 'index.ts'),
+ `import { yo } from 'ninja';
+ import { ya } from '@scoped/ninja';
+ export {};`
+ );
+
helper.npm.addNpmPackage('ninja', '13.0.0');
helper.npm.addNpmPackage('@types/ninja', '1.0.0');
- helper.packageJson.addKeyValue({ dependencies: { ninja: '13.0.0' } });
- helper.packageJson.addKeyValue({ devDependencies: { '@types/ninja': '1.0.0' } });
+ helper.npm.addNpmPackage('@scoped/ninja', '11.5.0');
+ helper.npm.addNpmPackage('@types/scoped__ninja', '1.0.5');
+ helper.packageJson.addKeyValue({ dependencies: { ninja: '13.0.0', '@scoped/ninja': '11.5.0' } });
+ helper.packageJson.addKeyValue({ devDependencies: { '@types/ninja': '1.0.0', '@types/scoped__ninja': '1.0.5' } });
+
+ helper.command.addComponent('bar', { i: 'bar/foo' });
});
it('should find the @types in the package.json file and automatically add it to the dependencies', () => {
const show = helper.command.showComponentParsed();
- expect(show.devPackageDependencies).to.deep.equal({ '@types/ninja': '1.0.0' });
+ // regular @types/pkg
+ expect(show.devPackageDependencies).to.include({ '@types/ninja': '1.0.0' });
+ // scoped @types/xxx__pkg
+ expect(show.devPackageDependencies).to.include({ '@types/scoped__ninja': '1.0.5' });
+ // not expecting to include other packages:
+ expect(show.devPackageDependencies).to.deep.equal({ '@types/ninja': '1.0.0', '@types/scoped__ninja': '1.0.5' });
});
+
describe('when the types package set to be ignored in the overrides', () => {
before(() => {
const overrides = {
diff --git a/package.json b/package.json
index 21937525f9f1..7d5f2d4ac3e5 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "@teambit/legacy",
- "version": "1.0.89",
+ "version": "1.0.98",
"license": "Apache-2.0",
"main": "./dist/api.js",
"preferGlobal": true,
@@ -137,7 +137,6 @@
"checksum": "0.1.1",
"chokidar": "3.5.1",
"cli-spinners": "1.3.1",
- "commander": "2.20.3",
"comment-json": "3.0.3",
"core-js": "3.9.0",
"css-tree": "1.1.2",
@@ -154,6 +153,7 @@
"firstline": "2.0.2",
"fs-extra": "9.1.0",
"glob": "7.1.6",
+ "globby": "11.0.1",
"graphlib": "2.1.8",
"graphql-request": "3.4.0",
"graphviz": "0.0.9",
@@ -238,6 +238,7 @@
"vinyl-file": "3.0.0",
"vue-template-compiler": "2.6.12",
"winston": "3.3.3",
+ "yargs": "17.0.1",
"yn": "2.0.0"
},
"devDependencies": {
@@ -268,10 +269,12 @@
"@types/sass": "1.16.0",
"@types/semver": "7.3.4",
"@types/uuid": "3.4.9",
+ "@types/yargs": "17.0.0",
"@typescript-eslint/eslint-plugin": "4.15.1",
"@typescript-eslint/parser": "4.15.1",
"@typescript-eslint/typescript-estree": "4.15.1",
"babel-eslint": "9.0.0",
+ "babel-plugin-ramda": "2.0.0",
"babel-plugin-transform-typescript-metadata": "0.3.1",
"chai": "4.3.0",
"chai-arrays": "1.1.0",
@@ -286,7 +289,6 @@
"eslint-plugin-react": "7.22.0",
"eslint-plugin-react-hooks": "4.2.0",
"eslint-plugin-simple-import-sort": "5.0.3",
- "eslint-plugin-unicorn": "12.1.0",
"gh-release": "3.5.0",
"husky": "4.3.8",
"lint-staged": ">=10",
diff --git a/scopes/compilation/aspect-docs/babel/babel.composition.tsx b/scopes/compilation/aspect-docs/babel/babel.composition.tsx
index e209058f386f..0bb58f178aba 100644
--- a/scopes/compilation/aspect-docs/babel/babel.composition.tsx
+++ b/scopes/compilation/aspect-docs/babel/babel.composition.tsx
@@ -1,12 +1,12 @@
import React from 'react';
-import { ThemeContext } from '@teambit/documenter.theme.theme-context';
+import { ThemeCompositions } from '@teambit/documenter.theme.theme-compositions';
import { MDXLayout } from '@teambit/mdx.ui.mdx-layout';
import { Babel } from './index';
export const BabelDocs = () => (
-
+
-
+
);
diff --git a/scopes/compilation/aspect-docs/babel/babel.docs.mdx b/scopes/compilation/aspect-docs/babel/babel.docs.mdx
index 3c621bb0a111..928994932f09 100644
--- a/scopes/compilation/aspect-docs/babel/babel.docs.mdx
+++ b/scopes/compilation/aspect-docs/babel/babel.docs.mdx
@@ -22,13 +22,13 @@ import { Babel } from '@teambit/aspect-docs.babel';
### Render with theme and MDX providers
```jsx
-import { ThemeContext } from '@teambit/documenter.theme.theme-context';
+import { ThemeCompositions } from '@teambit/documenter.theme.theme-compositions';
import { MDXLayout } from '@teambit/ui.mdx-layout';
import { Babel } from '@teambit/aspect-docs.babel';
-
+
-;
+;
```
diff --git a/scopes/compilation/aspect-docs/compiler/compiler.composition.tsx b/scopes/compilation/aspect-docs/compiler/compiler.composition.tsx
index 2e2d3b9b1d81..1ee614f6f978 100644
--- a/scopes/compilation/aspect-docs/compiler/compiler.composition.tsx
+++ b/scopes/compilation/aspect-docs/compiler/compiler.composition.tsx
@@ -1,12 +1,12 @@
import React from 'react';
-import { ThemeContext } from '@teambit/documenter.theme.theme-context';
+import { ThemeCompositions } from '@teambit/documenter.theme.theme-compositions';
import { MDXLayout } from '@teambit/mdx.ui.mdx-layout';
import { Compiler } from './index';
export const CompilerDocs = () => (
-
+
-
+
);
diff --git a/scopes/compilation/aspect-docs/compiler/compiler.docs.mdx b/scopes/compilation/aspect-docs/compiler/compiler.docs.mdx
index 469d48061ae5..0bd28952d4d4 100644
--- a/scopes/compilation/aspect-docs/compiler/compiler.docs.mdx
+++ b/scopes/compilation/aspect-docs/compiler/compiler.docs.mdx
@@ -22,13 +22,13 @@ import { Compiler } from '@teambit/aspect-docs.compiler';
### Render with theme and MDX providers
```js
-import { ThemeContext } from '@teambit/documenter.theme.theme-context';
+import { ThemeCompositions } from '@teambit/documenter.theme.theme-compositions';
import { MDXLayout } from '@teambit/ui.mdx-layout';
import { Compiler } from '@teambit/aspect-docs.compiler';
-
+
-;
+;
```
diff --git a/scopes/compilation/aspect-docs/multi-compiler/multi-compiler.composition.tsx b/scopes/compilation/aspect-docs/multi-compiler/multi-compiler.composition.tsx
index 2077fcf40f93..ce6463804e5b 100644
--- a/scopes/compilation/aspect-docs/multi-compiler/multi-compiler.composition.tsx
+++ b/scopes/compilation/aspect-docs/multi-compiler/multi-compiler.composition.tsx
@@ -1,12 +1,12 @@
import React from 'react';
-import { ThemeContext } from '@teambit/documenter.theme.theme-context';
+import { ThemeCompositions } from '@teambit/documenter.theme.theme-compositions';
import { MDXLayout } from '@teambit/mdx.ui.mdx-layout';
import { MultiCompiler } from './index';
export const MultiCompilerDocs = () => (
-
+
-
+
);
diff --git a/scopes/compilation/aspect-docs/multi-compiler/multi-compiler.docs.mdx b/scopes/compilation/aspect-docs/multi-compiler/multi-compiler.docs.mdx
index 8a6358b57d2b..0e6a0a1eb243 100644
--- a/scopes/compilation/aspect-docs/multi-compiler/multi-compiler.docs.mdx
+++ b/scopes/compilation/aspect-docs/multi-compiler/multi-compiler.docs.mdx
@@ -22,13 +22,13 @@ import { MultiCompiler } from '@teambit/aspect-docs.multi-compiler';
### Render with theme and MDX providers
```js
-import { ThemeContext } from '@teambit/documenter.theme.theme-context';
+import { ThemeCompositions } from '@teambit/documenter.theme.theme-compositions';
import { MDXLayout } from '@teambit/ui.mdx-layout';
import { MultiCompiler } from '@teambit/aspect-docs.multi-compiler';
-
+
-;
+;
```
diff --git a/scopes/compilation/bundler/bundler.main.runtime.ts b/scopes/compilation/bundler/bundler.main.runtime.ts
index b3d4b85a4d46..67af4df27c19 100644
--- a/scopes/compilation/bundler/bundler.main.runtime.ts
+++ b/scopes/compilation/bundler/bundler.main.runtime.ts
@@ -13,11 +13,16 @@ import { DevServerService } from './dev-server.service';
export type BrowserRuntimeSlot = SlotRegistry;
+export type BundlerConfig = {
+ dedicatedEnvDevServers: string[];
+};
+
/**
* bundler extension.
*/
export class BundlerMain {
constructor(
+ readonly config: BundlerConfig,
/**
* Pubsub extension.
*/
@@ -46,7 +51,9 @@ export class BundlerMain {
async devServer(components: Component[]): Promise {
const envRuntime = await this.envs.createEnvironment(components);
// TODO: this must be refactored away from here. this logic should be in the Preview.
- const servers: ComponentServer[] = await envRuntime.runOnce(this.devService);
+ const servers: ComponentServer[] = await envRuntime.runOnce(this.devService, {
+ dedicatedEnvDevServers: this.config.dedicatedEnvDevServers,
+ });
this._componentServers = servers;
this.indexByComponent();
@@ -109,12 +116,16 @@ export class BundlerMain {
static runtime = MainRuntime;
static dependencies = [PubsubAspect, EnvsAspect, GraphqlAspect, ComponentAspect];
+ static defaultConfig = {
+ dedicatedEnvDevServers: [],
+ };
+
static async provider(
[pubsub, envs, graphql]: [PubsubMain, EnvsMain, GraphqlMain],
config,
[runtimeSlot]: [BrowserRuntimeSlot]
) {
- const bundler = new BundlerMain(pubsub, envs, new DevServerService(pubsub, runtimeSlot), runtimeSlot);
+ const bundler = new BundlerMain(config, pubsub, envs, new DevServerService(pubsub, runtimeSlot), runtimeSlot);
graphql.register(devServerSchema(bundler));
diff --git a/scopes/compilation/bundler/component-server.ts b/scopes/compilation/bundler/component-server.ts
index 065f0aa77e7b..27d1ebc1711f 100644
--- a/scopes/compilation/bundler/component-server.ts
+++ b/scopes/compilation/bundler/component-server.ts
@@ -8,6 +8,7 @@ import { DevServer } from './dev-server';
import { BindError } from './exceptions';
import { ComponentsServerStartedEvent } from './events';
import { BundlerAspect } from './bundler.aspect';
+import { selectPort } from './select-port';
export class ComponentServer {
// why is this here
@@ -24,9 +25,9 @@ export class ComponentServer {
readonly context: ExecutionContext,
/**
- * port of the component server.
+ * port range of the component server.
*/
- readonly port: number,
+ readonly portRange: number[],
/**
* env dev server.
@@ -43,17 +44,21 @@ export class ComponentServer {
return this.context.components.find((contextComponent) => contextComponent.equals(component));
}
+ get port() {
+ return this._port;
+ }
+
+ _port: number;
async listen() {
- const server = await this.devServer.listen(this.port);
+ const port = await selectPort(this.portRange);
+ this._port = port;
+ const server = await this.devServer.listen(port);
const address = server.address();
const hostname = this.getHostname(address);
if (!address) throw new BindError();
this.hostname = hostname;
- this.pubsub.pub(
- BundlerAspect.id,
- this.createComponentsServerStartedEvent(server, this.context, hostname, this.port)
- );
+ this.pubsub.pub(BundlerAspect.id, this.createComponentsServerStartedEvent(server, this.context, hostname, port));
}
private getHostname(address: string | AddressInfo | null) {
diff --git a/scopes/compilation/bundler/dev-server.service.ts b/scopes/compilation/bundler/dev-server.service.ts
index c1c373e6c9d3..67ba2db7625d 100644
--- a/scopes/compilation/bundler/dev-server.service.ts
+++ b/scopes/compilation/bundler/dev-server.service.ts
@@ -6,7 +6,8 @@ import { ComponentServer } from './component-server';
import { DevServer } from './dev-server';
import { DevServerContext } from './dev-server-context';
import { getEntry } from './get-entry';
-import { selectPort } from './select-port';
+
+export type DevServerServiceOptions = { dedicatedEnvDevServers?: string[] };
export class DevServerService implements EnvService {
name = 'dev server';
@@ -31,10 +32,22 @@ export class DevServerService implements EnvService {
// return new ComponentServer(this.pubsub, context, port, devServer);
// }
- async runOnce(contexts: ExecutionContext[]): Promise {
+ async runOnce(
+ contexts: ExecutionContext[],
+ { dedicatedEnvDevServers }: DevServerServiceOptions
+ ): Promise {
+ const getEnvId = (context, dedicatedServers): string => {
+ const contextEnvId = context.id;
+ const contextEnvIdWithoutVersion = contextEnvId.split('@')[0];
+ if (dedicatedServers.includes(contextEnvIdWithoutVersion)) {
+ return contextEnvId;
+ }
+ return context.env?.getDevEnvId(context);
+ };
+
// de-duping dev servers by the amount of type the dev server configuration was overridden by envs.
const byOriginalEnv = contexts.reduce<{ [key: string]: ExecutionContext[] }>((acc, context) => {
- const envId = context.env?.getDevEnvId(context);
+ const envId = getEnvId(context, dedicatedEnvDevServers);
if (acc[envId]) {
acc[envId].push(context);
return acc;
@@ -51,9 +64,8 @@ export class DevServerService implements EnvService {
const additionalContexts = contextList.filter((context) => context.envDefinition.id !== id);
const devServerContext = await this.buildContext(mainContext, additionalContexts);
const devServer: DevServer = devServerContext.envRuntime.env.getDevServer(devServerContext);
- const port = await selectPort();
- return new ComponentServer(this.pubsub, devServerContext, port, devServer);
+ return new ComponentServer(this.pubsub, devServerContext, [3300, 3400], devServer);
})
);
diff --git a/scopes/compilation/bundler/select-port.ts b/scopes/compilation/bundler/select-port.ts
index 9a5d98aec429..89bd18c5a552 100644
--- a/scopes/compilation/bundler/select-port.ts
+++ b/scopes/compilation/bundler/select-port.ts
@@ -1,8 +1,8 @@
-import getPort from 'get-port';
+import { Port } from '@teambit/toolbox.network.get-port';
/**
- * get an available port between range 3000 to 3200.
+ * get an available port between range 3000 to 3200 or from port range
*/
-export async function selectPort(): Promise {
- return getPort({ port: getPort.makeRange(3100, 3200) });
+export async function selectPort(range: number[] | number): Promise {
+ return Port.getPortFromRange(range);
}
diff --git a/scopes/compilation/compiler/compiler.cmd.ts b/scopes/compilation/compiler/compiler.cmd.ts
index e324f094b035..430519a1c646 100644
--- a/scopes/compilation/compiler/compiler.cmd.ts
+++ b/scopes/compilation/compiler/compiler.cmd.ts
@@ -31,7 +31,7 @@ export class CompileCmd implements Command {
constructor(private compile: WorkspaceCompiler, private logger: Logger, private pubsub: PubsubMain) {}
- async report([components]: [string[]], compilerOptions: CompileOptions) {
+ async report([components = []]: [string[]], compilerOptions: CompileOptions) {
const startTimestamp = process.hrtime();
this.logger.setStatusLine('Compiling your components, hold tight.');
this.pubsub.sub(CompilerAspect.id, this.onComponentCompilationDone.bind(this));
diff --git a/scopes/component/aspect-docs/component/component.composition.tsx b/scopes/component/aspect-docs/component/component.composition.tsx
index d5ed531489be..ad3b3aaf68f2 100644
--- a/scopes/component/aspect-docs/component/component.composition.tsx
+++ b/scopes/component/aspect-docs/component/component.composition.tsx
@@ -1,12 +1,12 @@
import React from 'react';
-import { ThemeContext } from '@teambit/documenter.theme.theme-context';
+import { ThemeCompositions } from '@teambit/documenter.theme.theme-compositions';
import { MDXLayout } from '@teambit/mdx.ui.mdx-layout';
import { Component } from './index';
export const ComponentDocs = () => (
-
+
-
+
);
diff --git a/scopes/component/aspect-docs/component/component.docs.mdx b/scopes/component/aspect-docs/component/component.docs.mdx
index df6346e10d29..b1ffbe43c593 100644
--- a/scopes/component/aspect-docs/component/component.docs.mdx
+++ b/scopes/component/aspect-docs/component/component.docs.mdx
@@ -22,13 +22,13 @@ import { Component } from '@teambit/aspect-docs.component';
### Render with theme and MDX providers
```js
-import { ThemeContext } from '@teambit/documenter.theme.theme-context';
+import { ThemeCompositions } from '@teambit/documenter.theme.theme-compositions';
import { MDXLayout } from '@teambit/ui.mdx-layout';
import { Component } from '@teambit/aspect-docs.component';
-
+
-;
+;
```
diff --git a/scopes/component/changelog/ui/change-log-page.module.scss b/scopes/component/changelog/ui/change-log-page.module.scss
index 9457aac3bbee..632e434eff24 100644
--- a/scopes/component/changelog/ui/change-log-page.module.scss
+++ b/scopes/component/changelog/ui/change-log-page.module.scss
@@ -1,12 +1,11 @@
.changeLogPage {
- padding: 50px 40px 0 40px;
+ padding: 50px 40px 100px 40px;
max-width: 1440px;
- margin: 0 auto 48px;
- width: auto;
- overflow-y: scroll;
- @media screen and (max-width: 768px) {
- width: unset;
- }
+ margin: 0 auto;
+ width: 100%;
+ overflow-y: auto;
+ box-sizing: border-box;
+
.title {
margin-bottom: 24px;
font-size: var(--h-xs);
@@ -19,3 +18,7 @@
.separatorNoChangeLog {
margin-bottom: 41px;
}
+
+.changeLogCard {
+ margin-bottom: 8px;
+}
diff --git a/scopes/component/changelog/ui/change-log-page.tsx b/scopes/component/changelog/ui/change-log-page.tsx
index 43501b7e2fc9..42235ba258ab 100644
--- a/scopes/component/changelog/ui/change-log-page.tsx
+++ b/scopes/component/changelog/ui/change-log-page.tsx
@@ -28,6 +28,7 @@ export function ChangeLogPage({ className }: ChangeLogPageProps) {
level="info"
title="There is no change log as this component has not been exported yet.
Learn how to export components:"
+ className={styles.changeLogCard}
>
diff --git a/scopes/component/component-issues/component-issue.ts b/scopes/component/component-issues/component-issue.ts
index 90fa2026e7a1..40edeece49bb 100644
--- a/scopes/component/component-issues/component-issue.ts
+++ b/scopes/component/component-issues/component-issue.ts
@@ -3,30 +3,35 @@ import { BitId } from '@teambit/legacy-bit-id';
export type StringsPerFilePath = { [filePath: string]: string[] };
-export const MISSING_DEPS_SPACE_COUNT = 10;
-export const MISSING_DEPS_SPACE = ' '.repeat(MISSING_DEPS_SPACE_COUNT);
+export const ISSUE_FORMAT_SPACE_COUNT = 10;
+export const ISSUE_FORMAT_SPACE = ' '.repeat(ISSUE_FORMAT_SPACE_COUNT);
export class ComponentIssue {
- description: string;
+ description: string; // issue description
+ solution: string; // suggest how to fix the issue
data: any;
isTagBlocker = true; // if true, it stops the tag process and shows the issue
isCacheBlocker = true; // if true, it doesn't cache the component in the filesystem
- format(formatIssueFunc: FormatIssueFunc = componentIssueToString): string {
- return (
- formatTitle(this.description) +
- chalk.white(
- Object.keys(this.data)
- .map((k) => {
- return `${MISSING_DEPS_SPACE}${k} -> ${formatIssueFunc(this.data[k])}`;
- })
- .join('\n')
- )
- );
+ formatDataFunction: FormatIssueFunc = componentIssueToString;
+ get descriptionWithSolution() {
+ const solution = this.solution ? ` (${this.solution})` : '';
+ return `${this.description}${solution}`;
+ }
+ outputForCLI(): string {
+ return formatTitle(this.descriptionWithSolution) + chalk.white(this.dataToString());
+ }
+ dataToString(): string {
+ return Object.keys(this.data)
+ .map((k) => {
+ return `${ISSUE_FORMAT_SPACE}${k} -> ${this.formatDataFunction(this.data[k])}`;
+ })
+ .join('\n');
}
toObject() {
return {
type: this.constructor.name,
description: this.description,
+ solution: this.solution,
data: this.data,
};
}
diff --git a/scopes/component/component-issues/custom-module-resolution-used.ts b/scopes/component/component-issues/custom-module-resolution-used.ts
index e890f2830bf8..4e1b0260066c 100644
--- a/scopes/component/component-issues/custom-module-resolution-used.ts
+++ b/scopes/component/component-issues/custom-module-resolution-used.ts
@@ -1,7 +1,7 @@
import { ComponentIssue, StringsPerFilePath } from './component-issue';
export class CustomModuleResolutionUsed extends ComponentIssue {
- description = 'component is using an unsupported resolve-modules (aka aliases) feature, replace to module paths';
+ description = 'component is using an unsupported resolve-modules (aka aliases) feature';
+ solution = 'replace to module paths';
data: StringsPerFilePath = {};
- isCacheBlocker: false;
}
diff --git a/scopes/component/component-issues/import-non-main-files.ts b/scopes/component/component-issues/import-non-main-files.ts
index 71d5957c83ef..1cd1ca34a01b 100644
--- a/scopes/component/component-issues/import-non-main-files.ts
+++ b/scopes/component/component-issues/import-non-main-files.ts
@@ -1,7 +1,8 @@
import { ComponentIssue, StringsPerFilePath } from './component-issue';
export class ImportNonMainFiles extends ComponentIssue {
- description = 'importing non-main files (the dependency should expose its API from the main file)';
+ description = 'importing non-main files';
+ solution = 'the dependency should expose its API from the main file';
data: StringsPerFilePath = {};
- isCacheBlocker: false;
+ isCacheBlocker = false;
}
diff --git a/scopes/component/component-issues/index.ts b/scopes/component/component-issues/index.ts
index 18fb61a8d0b2..25ef4eec3301 100644
--- a/scopes/component/component-issues/index.ts
+++ b/scopes/component/component-issues/index.ts
@@ -1,4 +1,4 @@
export { IssuesList, IssuesClasses, IssuesNames } from './issues-list';
-export { MISSING_DEPS_SPACE } from './component-issue';
+export { ISSUE_FORMAT_SPACE as MISSING_DEPS_SPACE } from './component-issue';
export { UntrackedFileDependencyEntry, MISSING_NESTED_DEPS_SPACE } from './untracked-dependencies';
export { RelativeComponentsAuthoredEntry } from './relative-components-authored';
diff --git a/scopes/component/component-issues/issues-list.ts b/scopes/component/component-issues/issues-list.ts
index 625c4b291b81..842a1626e482 100644
--- a/scopes/component/component-issues/issues-list.ts
+++ b/scopes/component/component-issues/issues-list.ts
@@ -12,6 +12,7 @@ import { relativeComponents } from './relative-components';
import { relativeComponentsAuthored } from './relative-components-authored';
import { ResolveErrors } from './resolve-errors';
import { UntrackedDependencies } from './untracked-dependencies';
+import { LegacyInsideHarmony } from './legacy-inside-harmony';
export const IssuesClasses = {
MissingPackagesDependenciesOnFs,
@@ -23,6 +24,7 @@ export const IssuesClasses = {
ParseErrors,
MissingLinks,
MissingDists,
+ LegacyInsideHarmony,
MissingDependenciesOnFs,
MissingCustomModuleResolutionLinks,
ImportNonMainFiles,
@@ -41,14 +43,21 @@ export class IssuesList {
return this.issues.length === 0;
}
- toString() {
- return this.issues.map((issue) => issue.format()).join('');
+ outputForCLI() {
+ return this.issues.map((issue) => issue.outputForCLI()).join('');
}
- toObject() {
+ toObject(): { type: string; description: string; data: any }[] {
return this.issues.map((issue) => issue.toObject());
}
+ toObjectWithDataAsString(): { type: string; description: string; data: string }[] {
+ return this.issues.map((issue) => ({
+ ...issue.toObject(),
+ data: issue.dataToString().trim(),
+ }));
+ }
+
add(issue: ComponentIssue) {
this.issues.push(issue);
}
@@ -65,6 +74,10 @@ export class IssuesList {
return this.issues.find((issue) => issue.constructor.name === issueType) as T | undefined;
}
+ getAllIssues(): ComponentIssue[] {
+ return this.issues;
+ }
+
createIssue(IssueClass: { new (): T }): T {
const newIssue = new IssueClass();
this.add(newIssue);
diff --git a/scopes/component/component-issues/legacy-inside-harmony.ts b/scopes/component/component-issues/legacy-inside-harmony.ts
new file mode 100644
index 000000000000..f078fce719a5
--- /dev/null
+++ b/scopes/component/component-issues/legacy-inside-harmony.ts
@@ -0,0 +1,11 @@
+import { ComponentIssue, formatTitle } from './component-issue';
+
+export class LegacyInsideHarmony extends ComponentIssue {
+ description = 'legacy component inside Harmony workspace';
+ solution = 'remove the component and re-create it via Harmony';
+ data: boolean;
+ isTagBlocker = true;
+ outputForCLI() {
+ return formatTitle(this.descriptionWithSolution, false);
+ }
+}
diff --git a/scopes/component/component-issues/missing-components.ts b/scopes/component/component-issues/missing-components.ts
index 55455663e384..ec2423d72fbb 100644
--- a/scopes/component/component-issues/missing-components.ts
+++ b/scopes/component/component-issues/missing-components.ts
@@ -2,7 +2,8 @@ import { BitId } from '@teambit/legacy-bit-id';
import { ComponentIssue, deserializeWithBitId } from './component-issue';
export class MissingComponents extends ComponentIssue {
- description = 'missing components (use "bit import" or `bit install` to make sure all components exist)';
+ description = 'missing components';
+ solution = 'use "bit import" or `bit install` to make sure all components exist';
data: { [filePath: string]: BitId[] } = {};
deserialize(data: string) {
return deserializeWithBitId(data);
diff --git a/scopes/component/component-issues/missing-custom-module-resolution-links.ts b/scopes/component/component-issues/missing-custom-module-resolution-links.ts
index 28696ec46bcf..6869cf984229 100644
--- a/scopes/component/component-issues/missing-custom-module-resolution-links.ts
+++ b/scopes/component/component-issues/missing-custom-module-resolution-links.ts
@@ -1,6 +1,7 @@
import { ComponentIssue, StringsPerFilePath } from './component-issue';
export class MissingCustomModuleResolutionLinks extends ComponentIssue {
- description = 'missing links (use "bit link" to build missing component links)';
+ description = 'missing links';
+ solution = 'use "bit link" to build missing component links';
data: StringsPerFilePath = {};
}
diff --git a/scopes/component/component-issues/missing-dependencies-on-fs.ts b/scopes/component/component-issues/missing-dependencies-on-fs.ts
index 18ad3c43a2a6..5edbbb1849f2 100644
--- a/scopes/component/component-issues/missing-dependencies-on-fs.ts
+++ b/scopes/component/component-issues/missing-dependencies-on-fs.ts
@@ -1,6 +1,7 @@
import { ComponentIssue, StringsPerFilePath } from './component-issue';
export class MissingDependenciesOnFs extends ComponentIssue {
- description = 'non-existing dependency files (make sure all files exists on your workspace)';
+ description = 'non-existing dependency files';
+ solution = 'make sure all files exists on your workspace';
data: StringsPerFilePath = {};
}
diff --git a/scopes/component/component-issues/missing-dists.ts b/scopes/component/component-issues/missing-dists.ts
index b569f5d49f4b..979836bf43d7 100644
--- a/scopes/component/component-issues/missing-dists.ts
+++ b/scopes/component/component-issues/missing-dists.ts
@@ -1,10 +1,11 @@
import { ComponentIssue, formatTitle } from './component-issue';
export class MissingDists extends ComponentIssue {
- description = 'missing dists (run "bit compile")';
+ description = 'missing dists';
+ solution = 'run "bit compile"';
data: boolean;
isTagBlocker = false;
- format() {
- return formatTitle(this.description, false);
+ outputForCLI() {
+ return formatTitle(this.descriptionWithSolution, false);
}
}
diff --git a/scopes/component/component-issues/missing-links.ts b/scopes/component/component-issues/missing-links.ts
index e105101d5f95..83ed0583e845 100644
--- a/scopes/component/component-issues/missing-links.ts
+++ b/scopes/component/component-issues/missing-links.ts
@@ -2,7 +2,8 @@ import { BitId } from '@teambit/legacy-bit-id';
import { ComponentIssue, deserializeWithBitId } from './component-issue';
export class MissingLinks extends ComponentIssue {
- description = 'missing links between components(use "bit link" to build missing component links)';
+ description = 'missing links between components';
+ solution = 'use "bit link" to build missing component links';
data: { [filePath: string]: BitId[] } = {};
deserialize(data: string) {
return deserializeWithBitId(data);
diff --git a/scopes/component/component-issues/missing-packages-dependencies-on-fs.ts b/scopes/component/component-issues/missing-packages-dependencies-on-fs.ts
index 01224799934c..6bcc09fb1073 100644
--- a/scopes/component/component-issues/missing-packages-dependencies-on-fs.ts
+++ b/scopes/component/component-issues/missing-packages-dependencies-on-fs.ts
@@ -1,7 +1,7 @@
import { ComponentIssue, StringsPerFilePath } from './component-issue';
export class MissingPackagesDependenciesOnFs extends ComponentIssue {
- description = `missing packages or links from node_modules to the source (run "bit install" to fix both issues. if it's an external package, make sure it's added as a package dependency)`;
-
+ description = `missing packages or links from node_modules to the source`;
+ solution = `run "bit install" to fix both issues. if it's an external package, make sure it's added as a package dependency`;
data: StringsPerFilePath = {};
}
diff --git a/scopes/component/component-issues/parse-errors.ts b/scopes/component/component-issues/parse-errors.ts
index e8010ea9fc84..326c33dfbf5b 100644
--- a/scopes/component/component-issues/parse-errors.ts
+++ b/scopes/component/component-issues/parse-errors.ts
@@ -1,7 +1,7 @@
import { ComponentIssue } from './component-issue';
export class ParseErrors extends ComponentIssue {
- description = 'error found while parsing the file (edit the file and fix the parsing error)';
+ description = 'error found while parsing the file';
+ solution = 'edit the file and fix the parsing error';
data: { [filePath: string]: string } = {};
- isCacheBlocker: false;
}
diff --git a/scopes/component/component-issues/relative-components-authored.ts b/scopes/component/component-issues/relative-components-authored.ts
index eecdabf82e3b..191e89ba6074 100644
--- a/scopes/component/component-issues/relative-components-authored.ts
+++ b/scopes/component/component-issues/relative-components-authored.ts
@@ -11,13 +11,12 @@ export type RelativeComponentsAuthoredEntry = {
};
export class relativeComponentsAuthored extends ComponentIssue {
- description =
- 'components with relative import statements found (replace to module paths or use "bit link --rewire" to replace)';
+ description = 'components with relative import statements found';
+ solution = 'replace to module paths or use "bit link --rewire" to replace';
data: { [fileName: string]: RelativeComponentsAuthoredEntry[] } = {};
- isCacheBlocker: false;
- format() {
- return super.format(relativeComponentsAuthoredIssuesToString);
- }
+ isCacheBlocker = false;
+ formatDataFunction = relativeComponentsAuthoredIssuesToString;
+
deserialize(dataStr: string) {
const data = JSON.parse(dataStr);
Object.keys(data).forEach((fileName) => {
diff --git a/scopes/component/component-issues/relative-components.ts b/scopes/component/component-issues/relative-components.ts
index 3486aa82235e..1c442dfa8951 100644
--- a/scopes/component/component-issues/relative-components.ts
+++ b/scopes/component/component-issues/relative-components.ts
@@ -2,9 +2,10 @@ import { BitId } from '@teambit/legacy-bit-id';
import { ComponentIssue, deserializeWithBitId } from './component-issue';
export class relativeComponents extends ComponentIssue {
- description = 'components with relative import statements found (use module paths for imported components)';
+ description = 'components with relative import statements found';
+ solution = 'use module paths for imported components';
data: { [filePath: string]: BitId[] } = {};
- isCacheBlocker: false;
+ isCacheBlocker = false;
deserialize(data: string) {
return deserializeWithBitId(data);
}
diff --git a/scopes/component/component-issues/resolve-errors.ts b/scopes/component/component-issues/resolve-errors.ts
index 22932eabdbfc..7aa7e2549596 100644
--- a/scopes/component/component-issues/resolve-errors.ts
+++ b/scopes/component/component-issues/resolve-errors.ts
@@ -1,6 +1,7 @@
import { ComponentIssue } from './component-issue';
export class ResolveErrors extends ComponentIssue {
- description = 'error found while resolving the file dependencies (see the log for the full error)';
+ description = 'error found while resolving the file dependencies';
+ solution = 'see the log for the full error';
data: { [filePath: string]: string } = {};
}
diff --git a/scopes/component/component-issues/untracked-dependencies.ts b/scopes/component/component-issues/untracked-dependencies.ts
index 8ee6bc6e6eb2..55e80b3a43dc 100644
--- a/scopes/component/component-issues/untracked-dependencies.ts
+++ b/scopes/component/component-issues/untracked-dependencies.ts
@@ -1,7 +1,7 @@
import chalk from 'chalk';
-import { ComponentIssue, formatTitle, MISSING_DEPS_SPACE, MISSING_DEPS_SPACE_COUNT } from './component-issue';
+import { ComponentIssue, ISSUE_FORMAT_SPACE, ISSUE_FORMAT_SPACE_COUNT } from './component-issue';
-export const MISSING_NESTED_DEPS_SPACE = ' '.repeat(MISSING_DEPS_SPACE_COUNT + 2);
+export const MISSING_NESTED_DEPS_SPACE = ' '.repeat(ISSUE_FORMAT_SPACE_COUNT + 2);
interface UntrackedFileEntry {
relativePath: string;
@@ -14,23 +14,19 @@ export interface UntrackedFileDependencyEntry {
}
export class UntrackedDependencies extends ComponentIssue {
- description = 'untracked file dependencies (use "bit add " to track untracked files as components)';
+ description = 'untracked file dependencies';
+ solution = 'use "bit add " to track untracked files as components';
data: { [filePath: string]: UntrackedFileDependencyEntry } = {};
- format(): string {
- return (
- formatTitle(this.description) +
- chalk.white(
- Object.keys(this.data)
- .map((k) => {
- let space = MISSING_DEPS_SPACE;
- if (this.data[k].nested) {
- space = MISSING_NESTED_DEPS_SPACE;
- }
- return `${space}${k} -> ${untrackedFilesComponentIssueToString(this.data[k])}`;
- })
- .join('\n')
- )
- );
+ dataToString() {
+ return Object.keys(this.data)
+ .map((k) => {
+ let space = ISSUE_FORMAT_SPACE;
+ if (this.data[k].nested) {
+ space = MISSING_NESTED_DEPS_SPACE;
+ }
+ return `${space}${k} -> ${untrackedFilesComponentIssueToString(this.data[k])}`;
+ })
+ .join('\n');
}
}
diff --git a/scopes/component/component/component-factory.ts b/scopes/component/component/component-factory.ts
index e26f9a9bf7ce..3cf6e0cd9c5f 100644
--- a/scopes/component/component/component-factory.ts
+++ b/scopes/component/component/component-factory.ts
@@ -4,7 +4,7 @@ import ConsumerComponent from '@teambit/legacy/dist/consumer/component';
import type { ComponentLog } from '@teambit/legacy/dist/scope/models/model-component';
import type { AspectDefinition } from '@teambit/aspect-loader';
import { ComponentID } from '@teambit/component-id';
-import { Component } from './component';
+import { Component, InvalidComponent } from './component';
import { State } from './state';
import { Snap } from './snap';
@@ -84,6 +84,11 @@ export interface ComponentFactory {
*/
list(filter?: { offset: number; limit: number }): Promise;
+ /**
+ * list invalid components, such as components with missing files on the fs.
+ */
+ listInvalid(): Promise;
+
listIds(): Promise;
hasId(componentId: ComponentID): Promise;
diff --git a/scopes/component/component/component.graphql.ts b/scopes/component/component/component.graphql.ts
index b13694b543df..c4c48e0a6516 100644
--- a/scopes/component/component/component.graphql.ts
+++ b/scopes/component/component/component.graphql.ts
@@ -1,3 +1,4 @@
+import stripAnsi from 'strip-ansi';
import gql from 'graphql-tag';
import { GraphQLJSONObject } from 'graphql-type-json';
@@ -85,6 +86,9 @@ export function componentSchema(componentExtension: ComponentMain) {
# display name of the component
displayName: String!
+ # component buildStatus
+ buildStatus: String
+
# list of component releases.
tags: [Tag]!
@@ -98,6 +102,12 @@ export function componentSchema(componentExtension: ComponentMain) {
data: JSONObject
}
+ type InvalidComponent {
+ id: ComponentID!
+ errorName: String!
+ errorMessage: String!
+ }
+
type ComponentHost {
id: ID!
name: String!
@@ -108,6 +118,9 @@ export function componentSchema(componentExtension: ComponentMain) {
# list components
list(offset: Int, limit: Int): [Component]!
+ # list invalid components and their errors
+ listInvalid: [InvalidComponent]!
+
# get component logs(snaps) by component id
snaps(id: String!): [LogEntry]!
}
@@ -161,6 +174,14 @@ export function componentSchema(componentExtension: ComponentMain) {
list: async (host: ComponentFactory, filter?: { offset: number; limit: number }) => {
return host.list(filter);
},
+ listInvalid: async (host: ComponentFactory) => {
+ const invalidComps = await host.listInvalid();
+ return invalidComps.map(({ id, err }) => ({
+ id,
+ errorName: err.name,
+ errorMessage: err.message ? stripAnsi(err.message) : err.name,
+ }));
+ },
id: async (host: ComponentFactory) => {
return host.name;
},
diff --git a/scopes/component/component/component.ts b/scopes/component/component/component.ts
index 0ef85369c616..b09a6aa7d6ef 100644
--- a/scopes/component/component/component.ts
+++ b/scopes/component/component/component.ts
@@ -3,6 +3,7 @@ import { capitalize } from '@teambit/toolbox.string.capitalize';
import { SemVer } from 'semver';
import { ComponentID } from '@teambit/component-id';
import { BitError } from '@teambit/bit-error';
+import { BuildStatus } from '@teambit/legacy/dist/constants';
import { ComponentFactory } from './component-factory';
import ComponentFS from './component-fs';
@@ -21,6 +22,8 @@ type SnapsIterableOpts = {
stopFn?: (snap: Snap) => Promise;
};
+export type InvalidComponent = { id: ComponentID; err: Error };
+
/**
* in-memory representation of a component.
*/
@@ -74,6 +77,13 @@ export class Component {
return this.state.filesystem;
}
+ /**
+ * build status of the component
+ */
+ get buildStatus(): BuildStatus {
+ return this._state._consumer.buildStatus;
+ }
+
get headTag() {
if (!this.head) return undefined;
return this.tags.byHash(this.head.hash);
diff --git a/scopes/component/component/component.ui.runtime.tsx b/scopes/component/component/component.ui.runtime.tsx
index b5215a94d887..1c06fd37153b 100644
--- a/scopes/component/component/component.ui.runtime.tsx
+++ b/scopes/component/component/component.ui.runtime.tsx
@@ -11,7 +11,7 @@ import { RouteProps } from 'react-router-dom';
import CommandBarAspect, { CommandBarUI, CommandEntry } from '@teambit/command-bar';
import copy from 'copy-to-clipboard';
import { ComponentAspect } from './component.aspect';
-import { Component } from './ui/component';
+import { Component, ComponentPageElement, ComponentPageSlot } from './ui/component';
import { Menu, NavPlugin, OrderedNavigationSlot } from './ui/menu';
import { AspectSection } from './aspect.section';
import { ComponentModel } from './ui';
@@ -47,6 +47,8 @@ export class ComponentUI {
private menuItemSlot: MenuItemSlot,
+ private pageItemSlot: ComponentPageSlot,
+
private commandBarUI: CommandBarUI
) {
if (isBrowser) this.registerPubSub();
@@ -133,7 +135,14 @@ export class ComponentUI {
};
getComponentUI(host: string) {
- return ;
+ return (
+
+ );
}
getMenu(host: string) {
@@ -162,6 +171,10 @@ export class ComponentUI {
this.menuItemSlot.register(menuItems);
};
+ registerPageItem = (...items: ComponentPageElement[]) => {
+ this.pageItemSlot.register(items);
+ };
+
static dependencies = [PubsubAspect, CommandBarAspect];
static runtime = UIRuntime;
@@ -171,21 +184,23 @@ export class ComponentUI {
Slot.withType(),
Slot.withType(),
Slot.withType(),
+ Slot.withType(),
];
static async provider(
[pubsub, commandBarUI]: [PubsubUI, CommandBarUI],
config,
- [routeSlot, navSlot, widgetSlot, menuItemSlot]: [
+ [routeSlot, navSlot, widgetSlot, menuItemSlot, pageSlot]: [
RouteSlot,
OrderedNavigationSlot,
OrderedNavigationSlot,
- MenuItemSlot
+ MenuItemSlot,
+ ComponentPageSlot
]
) {
// TODO: refactor ComponentHost to a separate extension (including sidebar, host, graphql, etc.)
// TODO: add contextual hook for ComponentHost @uri/@oded
- const componentUI = new ComponentUI(pubsub, routeSlot, navSlot, widgetSlot, menuItemSlot, commandBarUI);
+ const componentUI = new ComponentUI(pubsub, routeSlot, navSlot, widgetSlot, menuItemSlot, pageSlot, commandBarUI);
const section = new AspectSection();
componentUI.commandBarUI.addCommand(...componentUI.keyBindings);
diff --git a/scopes/component/component/index.ts b/scopes/component/component/index.ts
index bd1fdb87b082..83d7c4e5d20a 100644
--- a/scopes/component/component/index.ts
+++ b/scopes/component/component/index.ts
@@ -1,7 +1,7 @@
import { ComponentAspect } from './component.aspect';
export { useComponentHost } from './host';
-export { Component } from './component';
+export { Component, InvalidComponent } from './component';
export { ComponentID } from '@teambit/component-id';
export { default as ComponentFS } from './component-fs';
export type { default as ComponentConfig } from './config';
diff --git a/scopes/component/component/ui/component-model/component-model.ts b/scopes/component/component/ui/component-model/component-model.ts
index b7d839912f67..56704313003a 100644
--- a/scopes/component/component/ui/component-model/component-model.ts
+++ b/scopes/component/component/ui/component-model/component-model.ts
@@ -18,6 +18,7 @@ export type ComponentModelProps = {
scope?: string;
};
description: string;
+ buildStatus?: string;
server?: ComponentServer;
displayName: string;
packageName: string; // pkg aspect
@@ -68,6 +69,11 @@ export class ComponentModel {
*/
readonly tags: TagMap,
+ /**
+ * component build status
+ */
+ readonly buildStatus?: string,
+
/**
* issues of component.
*/
@@ -117,6 +123,7 @@ export class ComponentModel {
packageName,
tags = [],
deprecation,
+ buildStatus,
env,
status,
issuesCount,
@@ -131,6 +138,7 @@ export class ComponentModel {
server,
Composition.fromArray(compositions),
TagMap.fromArray(tags.map((tag) => Tag.fromObject(tag))),
+ buildStatus,
issuesCount,
status,
deprecation,
diff --git a/scopes/component/component/ui/component.module.scss b/scopes/component/component/ui/component.module.scss
index f9230458a05c..14c23ea29b0a 100644
--- a/scopes/component/component/ui/component.module.scss
+++ b/scopes/component/component/ui/component.module.scss
@@ -2,4 +2,6 @@ $topbarHeight: 64px;
.container {
height: 100%;
+ display: flex;
+ flex-direction: column;
}
diff --git a/scopes/component/component/ui/component.tsx b/scopes/component/component/ui/component.tsx
index 9730ed601b3a..34d4ae9912b9 100644
--- a/scopes/component/component/ui/component.tsx
+++ b/scopes/component/component/ui/component.tsx
@@ -1,12 +1,21 @@
+import React, { useEffect, ReactNode, useMemo } from 'react';
+import flatten from 'lodash.flatten';
import { RouteSlot, SlotSubRouter } from '@teambit/ui-foundation.ui.react-router.slot-router';
-import React, { useEffect } from 'react';
+import { SlotRegistry } from '@teambit/harmony';
import styles from './component.module.scss';
import { ComponentProvider } from './context';
import { useComponent } from './use-component';
import { ComponentModel } from './component-model';
+export type ComponentPageSlot = SlotRegistry;
+export type ComponentPageElement = {
+ type: 'before' | 'after';
+ content: ReactNode;
+};
+
export type ComponentProps = {
+ containerSlot?: ComponentPageSlot;
routeSlot: RouteSlot;
host: string;
onComponentChange?: (activeComponent?: ComponentModel) => void;
@@ -15,19 +24,25 @@ export type ComponentProps = {
/**
* main UI component of the Component extension.
*/
-export function Component({ routeSlot, host, onComponentChange }: ComponentProps) {
+export function Component({ routeSlot, containerSlot, host, onComponentChange }: ComponentProps) {
const { component, error } = useComponent(host);
- // cleanup when unmounting component
- useEffect(() => {
- return () => onComponentChange?.(undefined);
- }, []);
+ // trigger onComponentChange when component changes
useEffect(() => onComponentChange?.(component), [component]);
+ // cleanup when unmounting component
+ useEffect(() => () => onComponentChange?.(undefined), []);
+
+ const pageItems = useMemo(() => flatten(containerSlot?.values()), [containerSlot]);
+ const before = useMemo(() => pageItems.filter((x) => x.type === 'before').map((x) => x.content), [pageItems]);
+ const after = useMemo(() => pageItems.filter((x) => x.type === 'after').map((x) => x.content), [pageItems]);
+
if (error) return error.renderError();
if (!component) return ;
return (
+ {before}
{routeSlot && }
+ {after}
);
}
diff --git a/scopes/component/component/ui/use-component-query.ts b/scopes/component/component/ui/use-component-query.ts
index 89e35742edcd..8e7b0805ae0c 100644
--- a/scopes/component/component/ui/use-component-query.ts
+++ b/scopes/component/component/ui/use-component-query.ts
@@ -18,6 +18,7 @@ const componentFields = gql`
env
url
}
+ buildStatus
compositions {
identifier
}
diff --git a/scopes/component/ui/component-status-resolver/component-status-resolver.docs.tsx b/scopes/component/ui/component-status-resolver/component-status-resolver.docs.tsx
index 7ed5bee397ef..7e94592dc4db 100644
--- a/scopes/component/ui/component-status-resolver/component-status-resolver.docs.tsx
+++ b/scopes/component/ui/component-status-resolver/component-status-resolver.docs.tsx
@@ -1,6 +1,6 @@
import React from 'react';
import { Section } from '@teambit/documenter.ui.section';
-import { ThemeContext } from '@teambit/documenter.theme.theme-context';
+import { ThemeCompositions } from '@teambit/documenter.theme.theme-compositions';
import { Separator } from '@teambit/documenter.ui.separator';
import { ComponentID } from '@teambit/component';
import { ComponentStatus as StatusProps } from '@teambit/workspace';
@@ -8,7 +8,7 @@ import { ComponentStatusResolver } from './component-status-resolver';
export default function Overview() {
return (
-
+
<>
This component wraps the component-status component and component-tooltip so descriptive tooltip is presented
@@ -16,7 +16,7 @@ export default function Overview() {
>
-
+
);
}
diff --git a/scopes/component/ui/component-tooltip/component-tooltip.docs.tsx b/scopes/component/ui/component-tooltip/component-tooltip.docs.tsx
index 187ee1577605..7532599ddf66 100644
--- a/scopes/component/ui/component-tooltip/component-tooltip.docs.tsx
+++ b/scopes/component/ui/component-tooltip/component-tooltip.docs.tsx
@@ -1,18 +1,18 @@
import React from 'react';
import { Section } from '@teambit/documenter.ui.section';
-import { ThemeContext } from '@teambit/documenter.theme.theme-context';
+import { ThemeCompositions } from '@teambit/documenter.theme.theme-compositions';
import { Separator } from '@teambit/documenter.ui.separator';
import { ComponentStatus as StatusProps } from '@teambit/workspace';
import { StatusTooltip } from './component-tooltip';
export default function Overview() {
return (
-
+
<>
The tooltip handles the presentation of the status as well (modified, errors etc.)
>
-
+
);
}
diff --git a/scopes/component/ui/deprecation-icon/deprecation-icon.composition.tsx b/scopes/component/ui/deprecation-icon/deprecation-icon.composition.tsx
index de1bba7211c3..e03234ac9e6e 100644
--- a/scopes/component/ui/deprecation-icon/deprecation-icon.composition.tsx
+++ b/scopes/component/ui/deprecation-icon/deprecation-icon.composition.tsx
@@ -8,7 +8,7 @@ export const DeprecationIconIsDeprecate = () => {
isDeprecate: true,
};
// @ts-ignore
- const component = new ComponentModel(null, null, null, null, null, null, null, null, deprecation, null, null);
+ const component = new ComponentModel(null, null, null, null, null, null, null, null, null, deprecation, null, null);
return (
diff --git a/scopes/component/ui/deprecation-icon/deprecation-icon.docs.tsx b/scopes/component/ui/deprecation-icon/deprecation-icon.docs.tsx
index 9b4308796870..3d53d9f877fb 100644
--- a/scopes/component/ui/deprecation-icon/deprecation-icon.docs.tsx
+++ b/scopes/component/ui/deprecation-icon/deprecation-icon.docs.tsx
@@ -1,20 +1,20 @@
import React from 'react';
import { Section } from '@teambit/documenter.ui.section';
-import { ThemeContext } from '@teambit/documenter.theme.theme-context';
+import { ThemeCompositions } from '@teambit/documenter.theme.theme-compositions';
import { Separator } from '@teambit/documenter.ui.separator';
import { ComponentModel } from '@teambit/component';
import { DeprecationIcon } from './deprecation-icon';
export default function Overview() {
return (
-
+
<>
The icon shows when the component is deprecated, and if it isn't, the DeprecationIcon will return null.
>
-
+
);
}
diff --git a/scopes/component/ui/deprecation-icon/deprecation-icon.spec.tsx b/scopes/component/ui/deprecation-icon/deprecation-icon.spec.tsx
index 0ae0edbf35e1..a02018c90e66 100644
--- a/scopes/component/ui/deprecation-icon/deprecation-icon.spec.tsx
+++ b/scopes/component/ui/deprecation-icon/deprecation-icon.spec.tsx
@@ -15,7 +15,7 @@ it('should return null', () => {
isDeprecate: false,
};
// @ts-ignore
- const component = new ComponentModel(null, null, null, null, null, null, null, null, deprecation, null, null);
+ const component = new ComponentModel(null, null, null, null, null, null, null, null, null, deprecation, null, null);
const { container } = render();
const span = container.querySelector('span');
expect(span).to.null;
diff --git a/scopes/component/ui/version-dropdown/version-dropdown.docs.tsx b/scopes/component/ui/version-dropdown/version-dropdown.docs.tsx
index bb5b84f5ac0c..09f861ac6e4c 100644
--- a/scopes/component/ui/version-dropdown/version-dropdown.docs.tsx
+++ b/scopes/component/ui/version-dropdown/version-dropdown.docs.tsx
@@ -2,13 +2,13 @@ import React from 'react';
import { Router } from 'react-router-dom';
import { createBrowserHistory } from 'history';
import { Section } from '@teambit/documenter.ui.section';
-import { ThemeContext } from '@teambit/documenter.theme.theme-context';
+import { ThemeCompositions } from '@teambit/documenter.theme.theme-compositions';
import { Separator } from '@teambit/documenter.ui.separator';
import { VersionDropdown } from './version-dropdown';
export default function Overview() {
return (
-
+
<>
The version-dropdown displays the latest version of the viewed component.
@@ -17,7 +17,7 @@ export default function Overview() {
>
-
+
);
}
diff --git a/scopes/component/ui/version-label/version-label.docs.tsx b/scopes/component/ui/version-label/version-label.docs.tsx
index ab183a8a8e56..534db386402b 100644
--- a/scopes/component/ui/version-label/version-label.docs.tsx
+++ b/scopes/component/ui/version-label/version-label.docs.tsx
@@ -1,12 +1,12 @@
import React from 'react';
import { Section } from '@teambit/documenter.ui.section';
-import { ThemeContext } from '@teambit/documenter.theme.theme-context';
+import { ThemeCompositions } from '@teambit/documenter.theme.theme-compositions';
import { Separator } from '@teambit/documenter.ui.separator';
import { VersionLabel } from './version-label';
export default function Overview() {
return (
-
+
<>
A label component to signify whether a component is checked out or if a version of it is its latest version.
@@ -15,7 +15,7 @@ export default function Overview() {
>
-
+
);
}
diff --git a/scopes/compositions/aspect-docs/compositions/compositions.composition.tsx b/scopes/compositions/aspect-docs/compositions/compositions.composition.tsx
index 1526bd224871..3113819302f3 100644
--- a/scopes/compositions/aspect-docs/compositions/compositions.composition.tsx
+++ b/scopes/compositions/aspect-docs/compositions/compositions.composition.tsx
@@ -1,12 +1,12 @@
import React from 'react';
-import { ThemeContext } from '@teambit/documenter.theme.theme-context';
+import { ThemeCompositions } from '@teambit/documenter.theme.theme-compositions';
import { MDXLayout } from '@teambit/mdx.ui.mdx-layout';
import { Compositions } from './index';
export const CompositionsDocs = () => (
-
+
-
+
);
diff --git a/scopes/compositions/aspect-docs/compositions/compositions.docs.mdx b/scopes/compositions/aspect-docs/compositions/compositions.docs.mdx
index b6c8146ec944..1ed6ceef7644 100644
--- a/scopes/compositions/aspect-docs/compositions/compositions.docs.mdx
+++ b/scopes/compositions/aspect-docs/compositions/compositions.docs.mdx
@@ -22,13 +22,13 @@ import { Compositions } from '@teambit/aspect-docs.compositions';
### Render with theme and MDX providers
```js
-import { ThemeContext } from '@teambit/documenter.theme.theme-context';
+import { ThemeCompositions } from '@teambit/documenter.theme.theme-compositions';
import { MDXLayout } from '@teambit/ui.mdx-layout';
import { Compositions } from '@teambit/aspect-docs.compositions';
-
+
-;
+;
```
diff --git a/scopes/compositions/compositions/compositions.module.scss b/scopes/compositions/compositions/compositions.module.scss
index abe57bcfb8c0..a7b48cdd3469 100644
--- a/scopes/compositions/compositions/compositions.module.scss
+++ b/scopes/compositions/compositions/compositions.module.scss
@@ -81,13 +81,11 @@ $panelBg: #fafafa;
.noCompositionsPage {
padding: 50px 40px 100px 40px;
- width: auto;
+ width: 100%;
+ box-sizing: border-box;
max-width: 1440px;
margin: 0 auto;
- @media screen and (max-width: 768px) {
- width: unset;
- }
.title {
margin-bottom: 24px;
font-size: var(--h-xs);
@@ -96,3 +94,7 @@ $panelBg: #fafafa;
margin-bottom: 41px;
}
}
+
+.buildStatusMessage {
+ margin: auto;
+}
diff --git a/scopes/compositions/compositions/compositions.tsx b/scopes/compositions/compositions/compositions.tsx
index c2797430ff4b..4b5c85755ea3 100644
--- a/scopes/compositions/compositions/compositions.tsx
+++ b/scopes/compositions/compositions/compositions.tsx
@@ -20,6 +20,7 @@ import { H1 } from '@teambit/documenter.ui.heading';
import { AlertCard } from '@teambit/design.ui.alert-card';
import { NativeLink } from '@teambit/base-ui.routing.native-link';
import { OptionButton } from '@teambit/design.ui.input.option-button';
+import { StatusMessageCard } from '@teambit/design.ui.surfaces.status-message-card';
import { EmptyStateSlot } from './compositions.ui.runtime';
import { Composition } from './composition';
import styles from './compositions.module.scss';
@@ -148,6 +149,21 @@ function CompositionContent({ component, selected, queryParams, emptyState }: Co
);
}
+ if (component?.buildStatus === 'pending')
+ return (
+
+ this might take some time
+
+ );
+ if (component?.buildStatus === 'failed')
+ return (
+
+ );
+
if (component.compositions.length === 0) {
return (
-
-
-
+
+
+
+
+
{humanizedName}
{link && (
@@ -35,3 +39,7 @@ export function CompositionCard({ Composition, name, link }: CompositionCardProp
);
}
+
+export function CompositionErrorFallback(props: ErrorFallbackProps) {
+ return
;
+}
diff --git a/scopes/defender/linter/lint.cmd.ts b/scopes/defender/linter/lint.cmd.ts
index 784765a0161c..ddcce94d641b 100644
--- a/scopes/defender/linter/lint.cmd.ts
+++ b/scopes/defender/linter/lint.cmd.ts
@@ -22,7 +22,7 @@ export class LintCmd implements Command {
private workspace: Workspace
) {}
- async report([components]: [string[]], linterOptions: LinterOptions) {
+ async report([components = []]: [string[]], linterOptions: LinterOptions) {
const timer = Timer.create();
timer.start();
diff --git a/scopes/defender/tester/ui/tests-page.module.scss b/scopes/defender/tester/ui/tests-page.module.scss
index c63b10f43cdb..7e86590f04b4 100644
--- a/scopes/defender/tester/ui/tests-page.module.scss
+++ b/scopes/defender/tester/ui/tests-page.module.scss
@@ -1,13 +1,11 @@
.testsPage {
padding: 50px 40px 100px 40px;
- width: auto;
+ width: 100%;
overflow-y: auto;
max-width: 1440px;
margin: 0 auto;
+ box-sizing: border-box;
- @media screen and (max-width: 768px) {
- width: unset;
- }
.title {
margin-bottom: 24px;
font-size: var(--h-xs);
diff --git a/scopes/defender/ui/test-loader/test-loader.composition.tsx b/scopes/defender/ui/test-loader/test-loader.composition.tsx
index bc7d47a58cca..6ff501ad67ed 100644
--- a/scopes/defender/ui/test-loader/test-loader.composition.tsx
+++ b/scopes/defender/ui/test-loader/test-loader.composition.tsx
@@ -1,11 +1,11 @@
import React from 'react';
-import { ThemeContext } from '@teambit/documenter.theme.theme-context';
+import { ThemeCompositions } from '@teambit/documenter.theme.theme-compositions';
import { TestLoader } from './test-loader';
export function TestLoaderExample() {
return (
-
+
-
+
);
}
diff --git a/scopes/defender/ui/test-row/test-row.tsx b/scopes/defender/ui/test-row/test-row.tsx
index a00ae9005b2d..56170487d408 100644
--- a/scopes/defender/ui/test-row/test-row.tsx
+++ b/scopes/defender/ui/test-row/test-row.tsx
@@ -1,7 +1,6 @@
import classNames from 'classnames';
import React from 'react';
import { CliSnippet } from '@teambit/design.ui.cli-snippet';
-import { ThemeContext } from '@teambit/documenter.theme.theme-context';
import styles from './test-row.module.scss';
export type TestRowProps = {
@@ -11,11 +10,9 @@ export type TestRowProps = {
export function TestRow({ children, content, className, rowClass }: TestRowProps) {
return (
-
-
-
{children}
- {content &&
}
-
-
+
+
{children}
+ {content &&
}
+
);
}
diff --git a/scopes/dependencies/aspect-docs/dependency-resolver/dependency-resolver.composition.tsx b/scopes/dependencies/aspect-docs/dependency-resolver/dependency-resolver.composition.tsx
index cc2becf19600..cb680856406a 100644
--- a/scopes/dependencies/aspect-docs/dependency-resolver/dependency-resolver.composition.tsx
+++ b/scopes/dependencies/aspect-docs/dependency-resolver/dependency-resolver.composition.tsx
@@ -1,12 +1,12 @@
import React from 'react';
-import { ThemeContext } from '@teambit/documenter.theme.theme-context';
+import { ThemeCompositions } from '@teambit/documenter.theme.theme-compositions';
import { MDXLayout } from '@teambit/mdx.ui.mdx-layout';
import { DependencyResolver } from './index';
export const DependencyResolverDocs = () => (
-
+
-
+
);
diff --git a/scopes/dependencies/aspect-docs/dependency-resolver/dependency-resolver.docs.mdx b/scopes/dependencies/aspect-docs/dependency-resolver/dependency-resolver.docs.mdx
index 2b3be0182f94..5acf630e75b0 100644
--- a/scopes/dependencies/aspect-docs/dependency-resolver/dependency-resolver.docs.mdx
+++ b/scopes/dependencies/aspect-docs/dependency-resolver/dependency-resolver.docs.mdx
@@ -22,13 +22,13 @@ import { DependencyResolver } from '@teambit/aspect-docs.dependency-resolver';
### Render with theme and MDX providers
```js
-import { ThemeContext } from '@teambit/documenter.theme.theme-context';
+import { ThemeCompositions } from '@teambit/documenter.theme.theme-compositions';
import { MDXLayout } from '@teambit/ui.mdx-layout';
import { DependencyResolver } from '@teambit/aspect-docs.dependency-resolver';
-
+
-;
+;
```
diff --git a/scopes/dependencies/aspect-docs/pnpm/pnpm.composition.tsx b/scopes/dependencies/aspect-docs/pnpm/pnpm.composition.tsx
index 9e381c0e9a8e..3b13a3fbfeed 100644
--- a/scopes/dependencies/aspect-docs/pnpm/pnpm.composition.tsx
+++ b/scopes/dependencies/aspect-docs/pnpm/pnpm.composition.tsx
@@ -1,12 +1,12 @@
import React from 'react';
-import { ThemeContext } from '@teambit/documenter.theme.theme-context';
+import { ThemeCompositions } from '@teambit/documenter.theme.theme-compositions';
import { MDXLayout } from '@teambit/mdx.ui.mdx-layout';
import { Pnpm } from './index';
export const PnpmDocs = () => (
-
+
-
+
);
diff --git a/scopes/dependencies/aspect-docs/pnpm/pnpm.docs.mdx b/scopes/dependencies/aspect-docs/pnpm/pnpm.docs.mdx
index 43580a21d974..09dfce563f89 100644
--- a/scopes/dependencies/aspect-docs/pnpm/pnpm.docs.mdx
+++ b/scopes/dependencies/aspect-docs/pnpm/pnpm.docs.mdx
@@ -22,13 +22,13 @@ import { Pnpm } from '@teambit/aspect-docs.pnpm';
### Render with theme and MDX providers
```js
-import { ThemeContext } from '@teambit/documenter.theme.theme-context';
+import { ThemeCompositions } from '@teambit/documenter.theme.theme-compositions';
import { MDXLayout } from '@teambit/ui.mdx-layout';
import { Pnpm } from '@teambit/aspect-docs.pnpm';
-
+
-;
+;
```
diff --git a/scopes/dependencies/aspect-docs/yarn/yarn.composition.tsx b/scopes/dependencies/aspect-docs/yarn/yarn.composition.tsx
index 009feba3bba7..5f26f71960e5 100644
--- a/scopes/dependencies/aspect-docs/yarn/yarn.composition.tsx
+++ b/scopes/dependencies/aspect-docs/yarn/yarn.composition.tsx
@@ -1,12 +1,12 @@
import React from 'react';
-import { ThemeContext } from '@teambit/documenter.theme.theme-context';
+import { ThemeCompositions } from '@teambit/documenter.theme.theme-compositions';
import { MDXLayout } from '@teambit/mdx.ui.mdx-layout';
import { Yarn } from './index';
export const YarnDocs = () => (
-
+
-
+
);
diff --git a/scopes/dependencies/aspect-docs/yarn/yarn.docs.mdx b/scopes/dependencies/aspect-docs/yarn/yarn.docs.mdx
index bec9913c0113..4fdde9ceda70 100644
--- a/scopes/dependencies/aspect-docs/yarn/yarn.docs.mdx
+++ b/scopes/dependencies/aspect-docs/yarn/yarn.docs.mdx
@@ -22,13 +22,13 @@ import { Yarn } from '@teambit/aspect-docs.yarn';
### Render with theme and MDX providers
```js
-import { ThemeContext } from '@teambit/documenter.theme.theme-context';
+import { ThemeCompositions } from '@teambit/documenter.theme.theme-compositions';
import { MDXLayout } from '@teambit/ui.mdx-layout';
import { Yarn } from '@teambit/aspect-docs.yarn';
-
+
-;
+;
```
diff --git a/scopes/dependencies/dependency-resolver/dependency-linker.ts b/scopes/dependencies/dependency-resolver/dependency-linker.ts
index abccebd1ea67..c916d0c10f8f 100644
--- a/scopes/dependencies/dependency-resolver/dependency-linker.ts
+++ b/scopes/dependencies/dependency-resolver/dependency-linker.ts
@@ -32,6 +32,12 @@ export type LinkingOptions = {
linkCoreAspects?: boolean;
linkNestedDepsInNM?: boolean;
+
+ /**
+ * link to another project, so that project could use components from this workspace.
+ * similar to npm/yarn link
+ */
+ linkToDir?: string;
};
const DEFAULT_LINKING_OPTIONS: LinkingOptions = {
@@ -59,6 +65,11 @@ export type NestedNMDepsLinksResult = {
linksDetail: LinkDetail[];
};
+export type LinkToDirResult = {
+ componentId: string;
+ linksDetail: LinkDetail;
+};
+
export type LinkResults = {
legacyLinkResults?: LegacyLinksResult[];
legacyLinkCodemodResults?: CodemodResult[];
@@ -67,6 +78,7 @@ export type LinkResults = {
harmonyLink?: LinkDetail;
resolvedFromEnvLinks?: DepsLinkedToEnvResult[];
nestedDepsInNmLinks?: NestedNMDepsLinksResult[];
+ linkToDirResults?: LinkToDirResult[];
};
type NestedModuleFolderEntry = {
@@ -105,6 +117,12 @@ export class DependencyLinker {
if (!finalRootDir) {
throw new RootDirNotDefined();
}
+ if (options.linkToDir) {
+ const components = componentDirectoryMap.toArray().map(([component]) => component);
+ const linkToDirResults = await this.linkToDir(finalRootDir, options.linkToDir, components);
+ result.linkToDirResults = linkToDirResults;
+ return result;
+ }
if (linkingOpts.legacyLink) {
const legacyStringIds = componentDirectoryMap.toArray().map(([component]) => component.id._legacy.toString());
// @todo, Gilad, it's better not to use the legacyLink here. it runs the consumer onDestroy
@@ -154,6 +172,24 @@ export class DependencyLinker {
return result;
}
+ private async linkToDir(rootDir: string, targetDir: string, components: Component[]): Promise
{
+ const results: LinkToDirResult[] = components.map((component) => {
+ const componentPackageName = componentIdToPackageName(component.state._consumer);
+ return {
+ componentId: component.id.toString(),
+ linksDetail: {
+ from: path.join(rootDir, 'node_modules', componentPackageName),
+ to: path.join(targetDir, 'node_modules', componentPackageName),
+ },
+ };
+ });
+ results.forEach(({ componentId, linksDetail }) => {
+ createSymlinkOrCopy(linksDetail.from, linksDetail.to, componentId);
+ });
+
+ return results;
+ }
+
/**
* add symlink from the node_modules in the component's root-dir to the workspace node-modules
* of the component. e.g.
diff --git a/scopes/dependencies/dependency-resolver/index.ts b/scopes/dependencies/dependency-resolver/index.ts
index 0d104743ca82..008b791621cf 100644
--- a/scopes/dependencies/dependency-resolver/index.ts
+++ b/scopes/dependencies/dependency-resolver/index.ts
@@ -55,6 +55,7 @@ export {
LinkingOptions,
DepsLinkedToEnvResult,
NestedNMDepsLinksResult,
+ LinkToDirResult,
} from './dependency-linker';
export { InstallOptions } from './dependency-installer';
export { DependencyDetector, FileContext } from './dependency-detector';
diff --git a/scopes/dependencies/yarn/yarn.package-manager.ts b/scopes/dependencies/yarn/yarn.package-manager.ts
index 57c2cdd95250..ae012d4feff7 100644
--- a/scopes/dependencies/yarn/yarn.package-manager.ts
+++ b/scopes/dependencies/yarn/yarn.package-manager.ts
@@ -125,6 +125,7 @@ export class YarnPackageManager implements PackageManager {
cache,
report,
});
+ await project.persistLockfile();
}
);
diff --git a/scopes/design/ui/Avatar/styles.module.scss b/scopes/design/ui/Avatar/styles.module.scss
index 7545470b71f3..5c64f4c161c2 100644
--- a/scopes/design/ui/Avatar/styles.module.scss
+++ b/scopes/design/ui/Avatar/styles.module.scss
@@ -38,6 +38,13 @@
height: 100%;
}
+.soloAvatarIcon {
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ overflow: hidden;
+}
+
.default {
background-color: var(--border-color, #ededed);
border: 1px solid var(--border-color, #ededed);
diff --git a/scopes/design/ui/Avatar/user-avatar.tsx b/scopes/design/ui/Avatar/user-avatar.tsx
index 1ef381ff270f..0db866392783 100644
--- a/scopes/design/ui/Avatar/user-avatar.tsx
+++ b/scopes/design/ui/Avatar/user-avatar.tsx
@@ -81,7 +81,11 @@ export class UserAvatar extends PureComponent {
)}
{!displayName && !name && !profileImageWithParams && !firstLetter && (
-
+
)}
{isTooltipOn && (
diff --git a/scopes/design/ui/alert-card/alert-card.module.scss b/scopes/design/ui/alert-card/alert-card.module.scss
index 070b1c211c66..e42d659cf60e 100644
--- a/scopes/design/ui/alert-card/alert-card.module.scss
+++ b/scopes/design/ui/alert-card/alert-card.module.scss
@@ -1,6 +1,5 @@
.card {
padding: 24px;
- margin-bottom: 2px;
}
.heading {
diff --git a/scopes/design/ui/message-card/index.ts b/scopes/design/ui/message-card/index.ts
new file mode 100644
index 000000000000..ef8ac829376b
--- /dev/null
+++ b/scopes/design/ui/message-card/index.ts
@@ -0,0 +1,2 @@
+export { MessageCard } from './message-card';
+export type { MessageCardProps } from './message-card';
diff --git a/scopes/design/ui/message-card/message-card.composition.tsx b/scopes/design/ui/message-card/message-card.composition.tsx
new file mode 100644
index 000000000000..35c0c811cb87
--- /dev/null
+++ b/scopes/design/ui/message-card/message-card.composition.tsx
@@ -0,0 +1,19 @@
+import React from 'react';
+import { ThemeCompositions } from '@teambit/documenter.theme.theme-compositions';
+import { MessageCard } from './message-card';
+
+export const BasicMessageCard = () => ;
+
+export const MessageCardWithIcon = () => (
+
+
+
+);
+
+export const OverflowingCardWithIcon = () => (
+
+
+
+
+
+);
diff --git a/scopes/design/ui/message-card/message-card.docs.mdx b/scopes/design/ui/message-card/message-card.docs.mdx
new file mode 100644
index 000000000000..875acfccc4d6
--- /dev/null
+++ b/scopes/design/ui/message-card/message-card.docs.mdx
@@ -0,0 +1,27 @@
+---
+labels: ['react', 'typescript', 'message-card']
+---
+
+import { ThemeCompositions } from '@teambit/documenter.theme.theme-compositions';
+import { MessageCard } from './message-card';
+
+MessageCard example:
+
+A simple MessageCard component with a title and text
+
+```js live
+
+ message card content
+
+```
+
+A simple MessageCard component with a title, text and icon
+
+```js live
+
+
+ message card content
+
+
+
+```
diff --git a/scopes/design/ui/message-card/message-card.module.scss b/scopes/design/ui/message-card/message-card.module.scss
new file mode 100644
index 000000000000..129329dacb54
--- /dev/null
+++ b/scopes/design/ui/message-card/message-card.module.scss
@@ -0,0 +1,24 @@
+.messageCard {
+ border: 1px solid var(--border-color, #ededed);
+ padding: 20px;
+ display: flex;
+}
+.icon {
+ margin-right: 16px;
+ font-size: 25px;
+}
+
+.textBox {
+ overflow: hidden;
+ text-overflow: ellipsis;
+ overflow: hidden;
+ font-size: 14px;
+ > * {
+ text-overflow: ellipsis;
+ overflow: hidden;
+ }
+ > div:first-child {
+ font-weight: bold;
+ margin-bottom: 16px;
+ }
+}
diff --git a/scopes/design/ui/message-card/message-card.spec.tsx b/scopes/design/ui/message-card/message-card.spec.tsx
new file mode 100644
index 000000000000..9599c7c77903
--- /dev/null
+++ b/scopes/design/ui/message-card/message-card.spec.tsx
@@ -0,0 +1,11 @@
+import React from 'react';
+import { render } from '@testing-library/react';
+import { BasicMessageCard } from './message-card.composition';
+
+describe('message-card', () => {
+ it('should render with the correct text', () => {
+ const { getByText } = render();
+ const rendered = getByText('message card');
+ expect(rendered).toBeTruthy();
+ });
+});
diff --git a/scopes/design/ui/message-card/message-card.tsx b/scopes/design/ui/message-card/message-card.tsx
new file mode 100644
index 000000000000..ace7198bdb47
--- /dev/null
+++ b/scopes/design/ui/message-card/message-card.tsx
@@ -0,0 +1,35 @@
+import React from 'react';
+import classNames from 'classnames';
+import { Icon } from '@teambit/evangelist.elements.icon';
+import { Card, CardProps } from '@teambit/base-ui.surfaces.card';
+import styles from './message-card.module.scss';
+
+export type MessageCardProps = {
+ icon?: string;
+ title?: string;
+ iconClass?: string;
+} & CardProps;
+
+/**
+ * A box to display an informative message to the user
+ */
+export function MessageCard({
+ icon,
+ title,
+ className,
+ children,
+ iconClass,
+ roundness = 'small',
+ elevation = 'none',
+ ...rest
+}: MessageCardProps) {
+ return (
+
+ {icon && }
+
+
+ );
+}
diff --git a/scopes/design/ui/not-found-page/not-found-page.composition.tsx b/scopes/design/ui/not-found-page/not-found-page.composition.tsx
index e0e333b59048..e3ddd3bb6fb0 100644
--- a/scopes/design/ui/not-found-page/not-found-page.composition.tsx
+++ b/scopes/design/ui/not-found-page/not-found-page.composition.tsx
@@ -1,11 +1,11 @@
import React from 'react';
-import { ThemeContext } from '@teambit/documenter.theme.theme-context';
+import { ThemeCompositions } from '@teambit/documenter.theme.theme-compositions';
import { NotFoundPage } from './not-found-page';
export const NotFoundPageExample = () => {
return (
-
+
-
+
);
};
diff --git a/scopes/design/ui/not-found-page/not-found-page.docs.tsx b/scopes/design/ui/not-found-page/not-found-page.docs.tsx
index 0975ddd436f2..898577e4d905 100644
--- a/scopes/design/ui/not-found-page/not-found-page.docs.tsx
+++ b/scopes/design/ui/not-found-page/not-found-page.docs.tsx
@@ -1,17 +1,17 @@
import React from 'react';
import { Section } from '@teambit/documenter.ui.section';
-import { ThemeContext } from '@teambit/documenter.theme.theme-context';
+import { ThemeCompositions } from '@teambit/documenter.theme.theme-compositions';
import { Separator } from '@teambit/documenter.ui.separator';
import { NotFoundPage } from './not-found-page';
export default function Overview() {
return (
-
+
<>
A page component that displays a 404 error message.
>
-
+
);
}
diff --git a/scopes/design/ui/owner-avatar/owner-avatar.composition.tsx b/scopes/design/ui/owner-avatar/owner-avatar.composition.tsx
index f5f579ebb087..1d238c4d42c4 100644
--- a/scopes/design/ui/owner-avatar/owner-avatar.composition.tsx
+++ b/scopes/design/ui/owner-avatar/owner-avatar.composition.tsx
@@ -9,3 +9,9 @@ export const OwnerAvatarExample = () => (
);
+
+export const OwnerAvatarWithoutImageExample = () => (
+
+
+
+);
diff --git a/scopes/design/ui/owner-avatar/owner-avatar.module.scss b/scopes/design/ui/owner-avatar/owner-avatar.module.scss
index 3674d6705040..ebf22523f702 100644
--- a/scopes/design/ui/owner-avatar/owner-avatar.module.scss
+++ b/scopes/design/ui/owner-avatar/owner-avatar.module.scss
@@ -1,6 +1,4 @@
.isOwner {
- width: fit-content;
- height: fit-content;
border: 2px solid var(--steel-color, #878c9a);
padding: 2px;
border-radius: 50%;
diff --git a/scopes/design/ui/owner-avatar/owner-avatar.tsx b/scopes/design/ui/owner-avatar/owner-avatar.tsx
index 4de1efb4c3b4..f5dc3aa11de0 100644
--- a/scopes/design/ui/owner-avatar/owner-avatar.tsx
+++ b/scopes/design/ui/owner-avatar/owner-avatar.tsx
@@ -7,10 +7,10 @@ export type OwnerAvatarProps = {
ownerClassName?: string;
} & UserAvatarProps;
-export function OwnerAvatar({ ownerClassName, ...rest }: OwnerAvatarProps) {
+export function OwnerAvatar({ ownerClassName, size, ...rest }: OwnerAvatarProps) {
return (
-
-
+
+
);
}
diff --git a/scopes/design/ui/server-error-page/server-error-page.composition.tsx b/scopes/design/ui/server-error-page/server-error-page.composition.tsx
index 5d23dbd61eae..ed783fe1495d 100644
--- a/scopes/design/ui/server-error-page/server-error-page.composition.tsx
+++ b/scopes/design/ui/server-error-page/server-error-page.composition.tsx
@@ -1,11 +1,11 @@
import React from 'react';
-import { ThemeContext } from '@teambit/documenter.theme.theme-context';
+import { ThemeCompositions } from '@teambit/documenter.theme.theme-compositions';
import { ServerErrorPage } from './server-error-page';
export const ServerErrorPageExample = () => {
return (
-
+
-
+
);
};
diff --git a/scopes/design/ui/server-error-page/server-error-page.docs.tsx b/scopes/design/ui/server-error-page/server-error-page.docs.tsx
index e76c68cf44eb..de850159eef0 100644
--- a/scopes/design/ui/server-error-page/server-error-page.docs.tsx
+++ b/scopes/design/ui/server-error-page/server-error-page.docs.tsx
@@ -1,17 +1,17 @@
import React from 'react';
import { Section } from '@teambit/documenter.ui.section';
-import { ThemeContext } from '@teambit/documenter.theme.theme-context';
+import { ThemeCompositions } from '@teambit/documenter.theme.theme-compositions';
import { Separator } from '@teambit/documenter.ui.separator';
import { ServerErrorPage } from './server-error-page';
export default function Overview() {
return (
-
+
<>
A page component that displays a 500 error message.
>
-
+
);
}
diff --git a/scopes/design/ui/status-message-card/index.ts b/scopes/design/ui/status-message-card/index.ts
new file mode 100644
index 000000000000..b154b396f6e0
--- /dev/null
+++ b/scopes/design/ui/status-message-card/index.ts
@@ -0,0 +1,2 @@
+export { StatusMessageCard } from './status-message-card';
+export type { StatusMessageCardProps } from './status-message-card';
diff --git a/scopes/design/ui/status-message-card/status-message-card.composition.tsx b/scopes/design/ui/status-message-card/status-message-card.composition.tsx
new file mode 100644
index 000000000000..b9a8d657f438
--- /dev/null
+++ b/scopes/design/ui/status-message-card/status-message-card.composition.tsx
@@ -0,0 +1,46 @@
+import React from 'react';
+import { ThemeCompositions } from '@teambit/documenter.theme.theme-compositions';
+import { StatusMessageCard } from './status-message-card';
+
+export const PassingMessageCard = () => (
+
+
+ this might take a minute
+
+
+);
+export const FailingMessageCard = () => (
+
+
+ this might take a minute
+
+
+);
+export const PendingMessageCard = () => (
+
+
+ this might take a minute
+
+
+);
+export const ProcessingMessageCard = () => (
+
+
+ this might take a minute
+
+
+);
+export const SkippedMessageCard = () => (
+
+
+ this might take a minute
+
+
+);
+export const UnknownMessageCard = () => (
+
+
+ this might take a minute
+
+
+);
diff --git a/scopes/design/ui/status-message-card/status-message-card.docs.mdx b/scopes/design/ui/status-message-card/status-message-card.docs.mdx
new file mode 100644
index 000000000000..e4cfd9828233
--- /dev/null
+++ b/scopes/design/ui/status-message-card/status-message-card.docs.mdx
@@ -0,0 +1,28 @@
+---
+labels: ['react', 'typescript', 'message-card', 'status']
+---
+
+import { ThemeCompositions } from '@teambit/documenter.theme.theme-compositions';
+import { StatusMessageCard } from './status-message-card';
+
+StatusMessageCard examples:
+
+A passing status card
+
+```js live
+
+
+ this might take a minute
+
+
+```
+
+A failing status card
+
+```js live
+
+
+ this might take a minute
+
+
+```
diff --git a/scopes/design/ui/status-message-card/status-message-card.module.scss b/scopes/design/ui/status-message-card/status-message-card.module.scss
new file mode 100644
index 000000000000..4f89ddf734c1
--- /dev/null
+++ b/scopes/design/ui/status-message-card/status-message-card.module.scss
@@ -0,0 +1,18 @@
+.success {
+ color: var(--passing, #2e945a);
+}
+.failure {
+ color: var(--failing, #d31948);
+}
+.pending {
+ color: var(--pending, #414141);
+}
+.processing {
+ color: var(--processing, #0984e3);
+}
+.skipped {
+ color: var(--skipped, #ff8b00);
+}
+.unknown {
+ color: var(--unknown, #6c707c);
+}
diff --git a/scopes/design/ui/status-message-card/status-message-card.spec.tsx b/scopes/design/ui/status-message-card/status-message-card.spec.tsx
new file mode 100644
index 000000000000..05674376f7de
--- /dev/null
+++ b/scopes/design/ui/status-message-card/status-message-card.spec.tsx
@@ -0,0 +1,11 @@
+import React from 'react';
+import { render } from '@testing-library/react';
+import { PassingMessageCard } from './status-message-card.composition';
+
+describe('status-message-card', () => {
+ it('should render with the correct title', () => {
+ const { getByText } = render(
);
+ const rendered = getByText('success card');
+ expect(rendered).toBeTruthy();
+ });
+});
diff --git a/scopes/design/ui/status-message-card/status-message-card.tsx b/scopes/design/ui/status-message-card/status-message-card.tsx
new file mode 100644
index 000000000000..a63e728b4704
--- /dev/null
+++ b/scopes/design/ui/status-message-card/status-message-card.tsx
@@ -0,0 +1,56 @@
+import React from 'react';
+import { MessageCard, MessageCardProps } from '@teambit/design.ui.surfaces.message-card';
+import colorStyles from './status-message-card.module.scss';
+
+export type StatusMessageCardProps = {
+ /**
+ * The icon and color to show in the card
+ */
+ status: 'SUCCESS' | 'FAILURE' | 'PENDING' | 'PROCESSING' | 'SKIPPED' | 'UNKNOWN';
+} & MessageCardProps;
+
+/**
+ * A card to display status information to the user
+ */
+export function StatusMessageCard({ status, ...rest }: StatusMessageCardProps) {
+ const lowerCaseStatus = status.toLowerCase();
+ const iconProps = getStatusIcon(lowerCaseStatus);
+ return
;
+}
+
+function getStatusIcon(status: string) {
+ const iconPrefix = 'Ripple';
+ if (!status) return undefined;
+ switch (status) {
+ case 'success':
+ return {
+ icon: `${iconPrefix}-${status}`,
+ iconClass: colorStyles[status],
+ };
+ case 'failure':
+ return {
+ icon: `${iconPrefix}-failed`,
+ iconClass: colorStyles[status],
+ };
+ case 'pending':
+ return {
+ icon: `${iconPrefix}-${status}`,
+ iconClass: colorStyles[status],
+ };
+ case 'processing':
+ return {
+ icon: `${iconPrefix}-${status}`,
+ iconClass: colorStyles[status],
+ };
+ case 'skipped':
+ return {
+ icon: `${iconPrefix}-${status}`,
+ iconClass: colorStyles[status],
+ };
+ default:
+ return {
+ icon: `${iconPrefix}-${status}`,
+ iconClass: colorStyles[status],
+ };
+ }
+}
diff --git a/scopes/design/ui/time-ago/time-ago.composition.tsx b/scopes/design/ui/time-ago/time-ago.composition.tsx
index 16ea2d2250bf..a631eaa11d58 100644
--- a/scopes/design/ui/time-ago/time-ago.composition.tsx
+++ b/scopes/design/ui/time-ago/time-ago.composition.tsx
@@ -1,63 +1,63 @@
import React from 'react';
-import { ThemeContext } from '@teambit/documenter.theme.theme-context';
+import { ThemeCompositions } from '@teambit/documenter.theme.theme-compositions';
import { TimeAgo } from './time-ago';
export const YearsAgoWithTimestamp = () => {
return (
-
+
-
+
);
};
export const MonthTimeAgo = () => {
const date = new Date();
return (
-
+
-
+
);
};
export const MonthsTimeAgo = () => {
const date = new Date();
return (
-
+
-
+
);
};
export const HourTimeAgo = () => {
const date = new Date();
return (
-
+
-
+
);
};
export const HoursTimeAgo = () => {
const date = new Date();
return (
-
+
-
+
);
};
export const CurrentTime = () => {
return (
-
+
-
+
);
};
export const CurrentTimeWithIsoDate = () => {
return (
-
+
-
+
);
};
diff --git a/scopes/design/ui/time-ago/time-ago.docs.tsx b/scopes/design/ui/time-ago/time-ago.docs.tsx
index e74489cc4ad5..8c5ebe969f8c 100644
--- a/scopes/design/ui/time-ago/time-ago.docs.tsx
+++ b/scopes/design/ui/time-ago/time-ago.docs.tsx
@@ -1,6 +1,6 @@
import React from 'react';
import { Section } from '@teambit/documenter.ui.section';
-import { ThemeContext } from '@teambit/documenter.theme.theme-context';
+import { ThemeCompositions } from '@teambit/documenter.theme.theme-compositions';
import { Separator } from '@teambit/documenter.ui.separator';
import { H3 } from '@teambit/documenter.ui.heading';
import { Paragraph } from '@teambit/documenter.ui.paragraph';
@@ -8,13 +8,13 @@ import { TimeAgo } from './time-ago';
export default function Overview() {
return (
-
+
Overview
Time-ago displays the time passed since a specific date (received as a prop).
-
+
);
}
diff --git a/scopes/docs/docs/overview/overview.tsx b/scopes/docs/docs/overview/overview.tsx
index bbef3415c6cc..53d1dc2e4555 100644
--- a/scopes/docs/docs/overview/overview.tsx
+++ b/scopes/docs/docs/overview/overview.tsx
@@ -1,9 +1,23 @@
+import React, { useContext } from 'react';
import { ComponentContext } from '@teambit/component';
import { ComponentPreview } from '@teambit/preview.ui.component-preview';
-import React, { useContext } from 'react';
+import { StatusMessageCard } from '@teambit/design.ui.surfaces.status-message-card';
export function Overview() {
const component = useContext(ComponentContext);
-
+ if (component?.buildStatus === 'pending')
+ return (
+
+ this might take some time
+
+ );
+ if (component?.buildStatus === 'failed')
+ return (
+
+ );
return
;
}
diff --git a/scopes/envs/aspect-docs/envs/envs.composition.tsx b/scopes/envs/aspect-docs/envs/envs.composition.tsx
index c22e44abb1b4..be6b62e9a98e 100644
--- a/scopes/envs/aspect-docs/envs/envs.composition.tsx
+++ b/scopes/envs/aspect-docs/envs/envs.composition.tsx
@@ -1,12 +1,12 @@
import React from 'react';
-import { ThemeContext } from '@teambit/documenter.theme.theme-context';
+import { ThemeCompositions } from '@teambit/documenter.theme.theme-compositions';
import { MDXLayout } from '@teambit/mdx.ui.mdx-layout';
import { Envs } from './index';
export const EnvsDocs = () => (
-
+
-
+
);
diff --git a/scopes/envs/aspect-docs/envs/envs.docs.mdx b/scopes/envs/aspect-docs/envs/envs.docs.mdx
index e1fae4f55ee1..b335ccb21a9d 100644
--- a/scopes/envs/aspect-docs/envs/envs.docs.mdx
+++ b/scopes/envs/aspect-docs/envs/envs.docs.mdx
@@ -22,13 +22,13 @@ import { Envs } from '@teambit/aspect-docs.envs';
### Render with theme and MDX providers
```js
-import { ThemeContext } from '@teambit/documenter.theme.theme-context';
+import { ThemeCompositions } from '@teambit/documenter.theme.theme-compositions';
import { MDXLayout } from '@teambit/ui.mdx-layout';
import { Envs } from '@teambit/aspect-docs.envs';
-
+
-;
+;
```
diff --git a/scopes/generator/aspect-docs/generator/generator.composition.tsx b/scopes/generator/aspect-docs/generator/generator.composition.tsx
index df2b2ae94d68..ef9362000866 100644
--- a/scopes/generator/aspect-docs/generator/generator.composition.tsx
+++ b/scopes/generator/aspect-docs/generator/generator.composition.tsx
@@ -1,12 +1,12 @@
import React from 'react';
-import { ThemeContext } from '@teambit/documenter.theme.theme-context';
+import { ThemeCompositions } from '@teambit/documenter.theme.theme-compositions';
import { MDXLayout } from '@teambit/mdx.ui.mdx-layout';
import { Generator } from './index';
export const GeneratorDocs = () => (
-
+
-
+
);
diff --git a/scopes/generator/aspect-docs/generator/generator.docs.mdx b/scopes/generator/aspect-docs/generator/generator.docs.mdx
index d8bc3a117bce..7b8e7f0336e5 100644
--- a/scopes/generator/aspect-docs/generator/generator.docs.mdx
+++ b/scopes/generator/aspect-docs/generator/generator.docs.mdx
@@ -22,13 +22,13 @@ import { Generator } from '@teambit/aspect-docs.generator';
### Render with theme and MDX providers
```js
-import { ThemeContext } from '@teambit/documenter.theme.theme-context';
+import { ThemeCompositions } from '@teambit/documenter.theme.theme-compositions';
import { MDXLayout } from '@teambit/ui.mdx-layout';
import { Generator } from '@teambit/aspect-docs.generator';
-
+
-;
+;
```
diff --git a/scopes/harmony/application/application.main.runtime.ts b/scopes/harmony/application/application.main.runtime.ts
index 7c6e70ee2722..f2badfaf06d6 100644
--- a/scopes/harmony/application/application.main.runtime.ts
+++ b/scopes/harmony/application/application.main.runtime.ts
@@ -7,6 +7,7 @@ import { EnvsAspect, EnvsMain } from '@teambit/envs';
import ComponentAspect, { ComponentMain, ComponentID } from '@teambit/component';
import { ApplicationType } from './application-type';
import { Application } from './application';
+import { DeploymentProvider } from './deployment-provider';
import { AppNotFound } from './exceptions';
import { ApplicationAspect } from './application.aspect';
import { AppListCmd } from './app-list.cmd';
@@ -16,6 +17,7 @@ import { AppService } from './application.service';
export type ApplicationTypeSlot = SlotRegistry
;
export type ApplicationSlot = SlotRegistry;
+export type DeploymentProviderSlot = SlotRegistry;
export type ApplicationAspectConfig = {};
@@ -35,6 +37,7 @@ export class ApplicationMain {
constructor(
private appSlot: ApplicationSlot,
private appTypeSlot: ApplicationTypeSlot,
+ private deploymentProviderSlot: DeploymentProviderSlot,
private envs: EnvsMain,
private componentAspect: ComponentMain,
private appService: AppService
@@ -63,6 +66,21 @@ export class ApplicationMain {
return flatten(this.appSlot.values());
}
+ /**
+ * register new deployment provider like netlify, cloudflare pages or custom deployment.
+ */
+ registerDeploymentProvider(provider: DeploymentProvider) {
+ this.deploymentProviderSlot.register([provider]);
+ return this;
+ }
+
+ /**
+ * list all deployment providers
+ */
+ listProviders() {
+ return flatten(this.deploymentProviderSlot.values());
+ }
+
/**
* get an app.
*/
@@ -134,16 +152,20 @@ export class ApplicationMain {
static runtime = MainRuntime;
static dependencies = [CLIAspect, LoggerAspect, BuilderAspect, EnvsAspect, ComponentAspect];
- static slots = [Slot.withType(), Slot.withType()];
+ static slots = [
+ Slot.withType(),
+ Slot.withType(),
+ Slot.withType(),
+ ];
static async provider(
[cli, loggerAspect, builder, envs, component]: [CLIMain, LoggerMain, BuilderMain, EnvsMain, ComponentMain],
config: ApplicationAspectConfig,
- [appTypeSlot, appSlot]: [ApplicationTypeSlot, ApplicationSlot]
+ [appTypeSlot, appSlot, deploymentProviderSlot]: [ApplicationTypeSlot, ApplicationSlot, DeploymentProviderSlot]
) {
const logger = loggerAspect.createLogger(ApplicationAspect.id);
const appService = new AppService();
- const application = new ApplicationMain(appSlot, appTypeSlot, envs, component, appService);
+ const application = new ApplicationMain(appSlot, appTypeSlot, deploymentProviderSlot, envs, component, appService);
builder.registerDeployTasks([new DeployTask(application)]);
cli.registerGroup('apps', 'Applications');
cli.register(new RunCmd(application, logger), new AppListCmd(application));
diff --git a/scopes/harmony/application/application.ts b/scopes/harmony/application/application.ts
index 3b793cff630e..fa03c8c6bc31 100644
--- a/scopes/harmony/application/application.ts
+++ b/scopes/harmony/application/application.ts
@@ -1,4 +1,5 @@
import { BuildContext } from '@teambit/builder';
+import { Capsule } from '@teambit/isolator';
import { AppContext } from './app-context';
import { DeployContext } from './deploy-context';
@@ -16,7 +17,7 @@ export interface Application {
/**
* build the application.
*/
- build(context: BuildContext, aspectId: string): Promise;
+ build(context: BuildContext, aspectId: string, capsule: Capsule): Promise;
/**
* application deployment. this is a build task.
diff --git a/scopes/harmony/application/deploy.task.ts b/scopes/harmony/application/deploy.task.ts
index c0ce22062ca2..b94e95c0b271 100644
--- a/scopes/harmony/application/deploy.task.ts
+++ b/scopes/harmony/application/deploy.task.ts
@@ -1,24 +1,49 @@
-import { BuildTask, BuiltTaskResult, BuildContext } from '@teambit/builder';
+import mapSeries from 'p-map-series';
+import { Capsule } from '@teambit/isolator';
+import { BuildTask, BuiltTaskResult, BuildContext, ComponentResult } from '@teambit/builder';
+import { ComponentID } from '@teambit/component';
import { ApplicationAspect } from './application.aspect';
import { ApplicationMain } from './application.main.runtime';
+import { DeployContext } from './deploy-context';
+
+export const BUILD_UI_TASK = 'build_ui_application';
export class DeployTask implements BuildTask {
- name = 'Application_Deployment';
+ name = BUILD_UI_TASK;
aspectId = ApplicationAspect.id;
constructor(private application: ApplicationMain) {}
async execute(context: BuildContext): Promise {
- await Promise.all(
- this.application.listApps().map(async (app) => {
+ const apps = this.application.listApps();
+ const componentsResultsUi = await mapSeries(
+ apps,
+ async (app): Promise => {
const aspectId = this.application.getAppAspect(app.name);
- if (!aspectId) return;
- const deployContext = await app.build(context, aspectId);
+ if (!aspectId) return undefined;
+ const capsules = context.capsuleNetwork.seedersCapsules;
+ const capsule = this.getCapsule(capsules, aspectId);
+ if (!capsule) return undefined;
+ const deployContext = await app.build(context, aspectId, capsule);
+ if (!deployContext.publicDir) return undefined;
if (app.deploy) await app.deploy(deployContext);
- })
+ await this.deployToProviders(deployContext);
+ return { component: capsule.component, metadata: { publicDir: deployContext.publicDir } };
+ }
);
+
return {
- componentsResults: [],
+ componentsResults: componentsResultsUi.flatMap((f) => (f ? [f] : [])),
};
}
+
+ private getCapsule(capsules: Capsule[], aspectId: string) {
+ const aspectCapsuleId = ComponentID.fromString(aspectId).toStringWithoutVersion();
+ return capsules.find((capsule) => capsule.component.id.toStringWithoutVersion() === aspectCapsuleId);
+ }
+
+ private async deployToProviders(deployContext: DeployContext) {
+ const providers = this.application.listProviders();
+ await mapSeries(providers, async (provider) => provider.deploy(deployContext));
+ }
}
diff --git a/scopes/harmony/application/deployment-provider.ts b/scopes/harmony/application/deployment-provider.ts
new file mode 100644
index 000000000000..ce32145917c5
--- /dev/null
+++ b/scopes/harmony/application/deployment-provider.ts
@@ -0,0 +1,5 @@
+import { DeployContext } from './deploy-context';
+
+export interface DeploymentProvider {
+ deploy(context: DeployContext): Promise;
+}
diff --git a/scopes/harmony/application/index.ts b/scopes/harmony/application/index.ts
index 780f73421ada..924a52d598e7 100644
--- a/scopes/harmony/application/index.ts
+++ b/scopes/harmony/application/index.ts
@@ -2,4 +2,5 @@ export { ApplicationAspect } from './application.aspect';
export type { ApplicationMain } from './application.main.runtime';
export type { Application } from './application';
export { AppContext } from './app-context';
+export { DeploymentProvider } from './deployment-provider';
export { DeployContext } from './deploy-context';
diff --git a/scopes/harmony/aspect-docs/logger/logger.composition.tsx b/scopes/harmony/aspect-docs/logger/logger.composition.tsx
index 446cdf3b39f5..4933b2f6b0f4 100644
--- a/scopes/harmony/aspect-docs/logger/logger.composition.tsx
+++ b/scopes/harmony/aspect-docs/logger/logger.composition.tsx
@@ -1,12 +1,12 @@
import React from 'react';
-import { ThemeContext } from '@teambit/documenter.theme.theme-context';
+import { ThemeCompositions } from '@teambit/documenter.theme.theme-compositions';
import { MDXLayout } from '@teambit/mdx.ui.mdx-layout';
import { Logger } from './index';
export const LoggerDocs = () => (
-
+
-
+
);
diff --git a/scopes/harmony/aspect-docs/logger/logger.docs.mdx b/scopes/harmony/aspect-docs/logger/logger.docs.mdx
index c425841f5913..e3065e7e88f9 100644
--- a/scopes/harmony/aspect-docs/logger/logger.docs.mdx
+++ b/scopes/harmony/aspect-docs/logger/logger.docs.mdx
@@ -22,13 +22,13 @@ import { Logger } from '@teambit/aspect-docs.logger';
### Render with theme and MDX providers
```js
-import { ThemeContext } from '@teambit/documenter.theme.theme-context';
+import { ThemeCompositions } from '@teambit/documenter.theme.theme-compositions';
import { MDXLayout } from '@teambit/ui.mdx-layout';
import { Logger } from '@teambit/aspect-docs.logger';
-
+
-;
+;
```
diff --git a/scopes/harmony/aspect-docs/node/node.composition.tsx b/scopes/harmony/aspect-docs/node/node.composition.tsx
index 86497603c0be..e14b250fe2b1 100644
--- a/scopes/harmony/aspect-docs/node/node.composition.tsx
+++ b/scopes/harmony/aspect-docs/node/node.composition.tsx
@@ -1,12 +1,12 @@
import React from 'react';
-import { ThemeContext } from '@teambit/documenter.theme.theme-context';
+import { ThemeCompositions } from '@teambit/documenter.theme.theme-compositions';
import { MDXLayout } from '@teambit/mdx.ui.mdx-layout';
import { Node } from './index';
export const NodeDocs = () => (
-
+
-
+
);
diff --git a/scopes/harmony/aspect-docs/node/node.docs.mdx b/scopes/harmony/aspect-docs/node/node.docs.mdx
index 8cadd8acf56f..1f16fb1df993 100644
--- a/scopes/harmony/aspect-docs/node/node.docs.mdx
+++ b/scopes/harmony/aspect-docs/node/node.docs.mdx
@@ -22,13 +22,13 @@ import { Node } from '@teambit/aspect-docs.node';
### Render with theme and MDX providers
```js
-import { ThemeContext } from '@teambit/documenter.theme.theme-context';
+import { ThemeCompositions } from '@teambit/documenter.theme.theme-compositions';
import { MDXLayout } from '@teambit/ui.mdx-layout';
import { Node } from '@teambit/aspect-docs.node';
-
+
-;
+;
```
diff --git a/scopes/harmony/aspect/babel/babel-config.ts b/scopes/harmony/aspect/babel/babel-config.ts
index 4f34afd435f5..8e24f3d2206c 100644
--- a/scopes/harmony/aspect/babel/babel-config.ts
+++ b/scopes/harmony/aspect/babel/babel-config.ts
@@ -16,9 +16,7 @@ const plugins = [
[
require.resolve('@babel/plugin-transform-modules-commonjs'),
{
- lazy: (requirePath) => {
- return !requirePath.includes('.ui') && !requirePath.includes('.preview');
- },
+ lazy: () => true,
},
],
require.resolve('babel-plugin-transform-typescript-metadata'),
diff --git a/scopes/harmony/bit/app.ts b/scopes/harmony/bit/app.ts
index bae5d23073cc..3e1152369c9a 100644
--- a/scopes/harmony/bit/app.ts
+++ b/scopes/harmony/bit/app.ts
@@ -10,7 +10,7 @@ require('v8-compile-cache');
import './hook-require';
import { bootstrap } from '@teambit/legacy/dist/bootstrap';
-import { handleErrorAndExit } from '@teambit/legacy/dist/cli/command-runner';
+import { handleErrorAndExit } from '@teambit/legacy/dist/cli/handle-errors';
import { runCLI } from './load-bit';
// eslint-disable-next-line @typescript-eslint/no-floating-promises
diff --git a/scopes/harmony/bit/manifests.ts b/scopes/harmony/bit/manifests.ts
index 38e5f11a20c1..d5b7cd3aa1d9 100644
--- a/scopes/harmony/bit/manifests.ts
+++ b/scopes/harmony/bit/manifests.ts
@@ -13,7 +13,6 @@ import { DeprecationAspect } from '@teambit/deprecation';
import { DocsAspect } from '@teambit/docs';
import { EnvsAspect } from '@teambit/envs';
import { ExpressAspect } from '@teambit/express';
-import { FlowsAspect } from '@teambit/flows';
import { YarnAspect } from '@teambit/yarn';
import { GeneratorAspect } from '@teambit/generator';
import { HarmonyUiAppAspect } from '@teambit/harmony-ui-app';
@@ -84,7 +83,6 @@ export const manifestsMap = {
[UIAspect.id]: UIAspect,
[GeneratorAspect.id]: GeneratorAspect,
[EnvsAspect.id]: EnvsAspect,
- [FlowsAspect.id]: FlowsAspect,
[GraphAspect.id]: GraphAspect,
[PubsubAspect.id]: PubsubAspect,
[DependencyResolverAspect.id]: DependencyResolverAspect,
diff --git a/scopes/harmony/cache/cache.main.runtime.ts b/scopes/harmony/cache/cache.main.runtime.ts
index f88fef83c925..7de36b19e955 100644
--- a/scopes/harmony/cache/cache.main.runtime.ts
+++ b/scopes/harmony/cache/cache.main.runtime.ts
@@ -30,22 +30,27 @@ export class CacheMain {
cacheDirectory: CACHE_ROOT,
};
- async set(key: string, data: string): Promise {
+ async set(key: string, data: any, ttl?: number): Promise {
this.logger.debug(`put cache to ${key} with data ${data}`);
+ const expire = ttl ? new Date().getTime() + ttl : null;
return cacache
- .put(this.globalCacheFolder, key, data)
+ .put(this.globalCacheFolder, key, JSON.stringify({ data, expire }))
.then(() => true)
.catch(() => false);
}
- async get(key: string): Promise {
+ async get(key: string): Promise {
this.logger.debug(`get cache for ${key}`);
return cacache
.get(this.globalCacheFolder, key)
- .then((cacheObject) => {
- return cacheObject.data.toString();
+ .then(async (cacheObject) => {
+ const { data, expire } = JSON.parse(cacheObject.data.toString());
+ if (expire && new Date().getTime() > expire) {
+ return cacache.rm(this.globalCacheFolder, key);
+ }
+ return data;
})
- .catch(() => null);
+ .catch(() => undefined);
}
private get globalCacheFolder() {
diff --git a/scopes/harmony/cache/cache.spec.ts b/scopes/harmony/cache/cache.spec.ts
new file mode 100644
index 000000000000..f167721774be
--- /dev/null
+++ b/scopes/harmony/cache/cache.spec.ts
@@ -0,0 +1,31 @@
+import v4 from 'uuid';
+import { rmdirSync } from 'fs';
+import { expect } from 'chai';
+import { Logger } from '@teambit/logger';
+import { CacheMain } from './cache.main.runtime';
+
+describe('Cache Aspect', () => {
+ const cacheDirectory = `/tmp/bit/${v4()}`;
+ const cache = new CacheMain({ cacheDirectory }, new Logger('cache.main.runtime'));
+ it('it should set cache with ttl', async () => {
+ await cache.set('_foo', 'bar', 1000);
+ const data = await cache.get('_foo');
+ expect(data).to.equal('bar');
+ });
+
+ it('it should expire cache', async () => {
+ await cache.set('_foo', 'bar', 1);
+ const data = await cache.get('_foo');
+ expect(data).to.equal(null);
+ });
+
+ it('it should set cache without expire ttl', async () => {
+ await cache.set('_foo', 'bar');
+ const data = await cache.get('_foo');
+ expect(data).to.equal('bar');
+ });
+
+ afterAll(() => {
+ rmdirSync(cacheDirectory, { recursive: true });
+ });
+});
diff --git a/scopes/harmony/cli/cli-parser.ts b/scopes/harmony/cli/cli-parser.ts
new file mode 100644
index 000000000000..696404d33a9d
--- /dev/null
+++ b/scopes/harmony/cli/cli-parser.ts
@@ -0,0 +1,177 @@
+import didYouMean from 'didyoumean';
+import yargs, { CommandModule } from 'yargs';
+import { Command } from '@teambit/legacy/dist/cli/command';
+import { GroupsType } from '@teambit/legacy/dist/cli/command-groups';
+import { loadConsumerIfExist } from '@teambit/legacy/dist/consumer';
+import loader from '@teambit/legacy/dist/cli/loader';
+import chalk from 'chalk';
+import { getCommandId } from './get-command-id';
+import { formatHelp } from './help';
+import { GLOBAL_GROUP, STANDARD_GROUP, YargsAdapter } from './yargs-adapter';
+import { CommandNotFound } from './exceptions/command-not-found';
+
+export class CLIParser {
+ constructor(private commands: Command[], private groups: GroupsType) {}
+
+ async parse() {
+ const args = process.argv.slice(2); // remove the first two arguments, they're not relevant
+
+ this.throwForNonExistsCommand(args[0]);
+
+ yargs(args);
+ yargs.help(false);
+ this.configureParser();
+ this.commands.forEach((command: Command) => {
+ if (command.commands && command.commands.length) {
+ this.parseCommandWithSubCommands(command);
+ } else {
+ const yargsCommand = this.getYargsCommand(command);
+ yargs.command(yargsCommand);
+ }
+ });
+ this.configureGlobalFlags();
+ this.setHelpMiddleware();
+ this.configureCompletion();
+
+ yargs
+ // .recommendCommands() // don't use it, it brings the global help of yargs, we have a custom one
+ .wrap(null);
+
+ await yargs.parse();
+ }
+
+ private setHelpMiddleware() {
+ yargs.middleware((argv) => {
+ if (argv._.length === 0) {
+ // this is the main help page
+ this.printHelp();
+ process.exit(0);
+ }
+ if (argv.help) {
+ loader.off(); // stop the "loading bit..." before showing help if needed
+ // this is a command help page
+ yargs.showHelp(logCommandHelp);
+ process.exit(0);
+ }
+ }, true);
+ }
+
+ private configureCompletion() {
+ const commandsToShowComponentIdsForCompletion = [
+ 'show',
+ 'diff',
+ 'tag',
+ 'export',
+ 'env',
+ 'envs',
+ 'compile',
+ 'build',
+ 'test',
+ 'lint',
+ 'log',
+ 'dependents',
+ 'dependencies',
+ ];
+ // @ts-ignore
+ yargs.completion('completion', async function (current, argv, completionFilter, done) {
+ if (!current.startsWith('-') && commandsToShowComponentIdsForCompletion.includes(argv._[1])) {
+ const consumer = await loadConsumerIfExist();
+ done(consumer?.bitmapIdsFromCurrentLane.map((id) => id.toStringWithoutVersion()));
+ } else {
+ completionFilter();
+ }
+ });
+ }
+
+ private printHelp() {
+ const help = formatHelp(this.commands, this.groups);
+ // eslint-disable-next-line no-console
+ console.log(help);
+ }
+
+ private configureParser() {
+ yargs.parserConfiguration({
+ // 'strip-dashed': true, // we can't enable it, otherwise, the completion doesn't work
+ 'strip-aliased': true,
+ 'boolean-negation': false,
+ 'populate--': true,
+ });
+ }
+
+ private parseCommandWithSubCommands(command: Command) {
+ const yarnCommand = this.getYargsCommand(command);
+ yarnCommand.builder = () => {
+ command.commands?.forEach((cmd) => {
+ const subCommand = this.getYargsCommand(cmd);
+ yargs.command(subCommand);
+ });
+ return yargs;
+ };
+ yargs.command(yarnCommand);
+ }
+
+ private getYargsCommand(command: Command): CommandModule {
+ const yarnCommand = new YargsAdapter(command);
+ yarnCommand.handler = yarnCommand.handler.bind(yarnCommand);
+
+ return yarnCommand;
+ }
+
+ private configureGlobalFlags() {
+ yargs
+ .option('help', {
+ alias: 'h',
+ describe: 'show help',
+ group: GLOBAL_GROUP,
+ })
+ .option('version', {
+ global: false,
+ alias: 'v',
+ describe: 'show version',
+ group: GLOBAL_GROUP,
+ });
+ }
+
+ private throwForNonExistsCommand(commandName: string) {
+ if (!commandName || commandName.startsWith('-')) {
+ return;
+ }
+ const commandsNames = this.commands.map((c) => getCommandId(c.name));
+ const aliases = this.commands.map((c) => c.alias).filter((a) => a);
+ const existingGlobalFlags = ['-V', '--version'];
+ const validCommands = [...commandsNames, ...aliases, ...existingGlobalFlags];
+ const commandExist = validCommands.includes(commandName);
+
+ if (!commandExist) {
+ didYouMean.returnFirstMatch = true;
+ const suggestions = didYouMean(
+ commandName,
+ this.commands.filter((c) => !c.private).map((c) => getCommandId(c.name))
+ );
+ const suggestion = suggestions && Array.isArray(suggestions) ? suggestions[0] : suggestions;
+
+ throw new CommandNotFound(commandName, suggestion as string);
+ }
+ }
+}
+
+/**
+ * color the flags with green.
+ * there is no API to get the options, so it is done by regex.
+ * see https://github.com/yargs/yargs/issues/1956
+ */
+function logCommandHelp(help: string) {
+ const replacer = (_, p1, p2) => `${p1}${chalk.green(p2)}`;
+ const lines = help.split('\n');
+ let passedOptions = false;
+ for (let i = 0; i < lines.length; i += 1) {
+ const line = lines[i];
+ if (line.startsWith(STANDARD_GROUP)) {
+ passedOptions = true;
+ } else if (passedOptions) {
+ lines[i] = line.replace(/(--)([\w-]+)/, replacer).replace(/(-)([\w-]+)/, replacer);
+ }
+ }
+ // eslint-disable-next-line no-console
+ console.log(lines.join('\n'));
+}
diff --git a/scopes/harmony/cli/cli.cmd.ts b/scopes/harmony/cli/cli.cmd.ts
new file mode 100644
index 000000000000..c1d94e5a1579
--- /dev/null
+++ b/scopes/harmony/cli/cli.cmd.ts
@@ -0,0 +1,22 @@
+import { Command, CommandOptions } from '@teambit/cli';
+import { CLIMain } from './cli.main.runtime';
+import { GenerateCommandsDoc } from './generate-doc-md';
+
+export class CliCmd implements Command {
+ name = 'cli';
+ description = 'shows all available commands';
+ alias = '';
+ loader = false;
+ group = 'general';
+ options = [['', 'generate', 'generate an .md file']] as CommandOptions;
+
+ constructor(private cliMain: CLIMain) {}
+
+ async report(args, { generate }: { generate: boolean }) {
+ if (generate) return new GenerateCommandsDoc(this.cliMain.commands).generate();
+ return this.cliMain.commands
+ .filter((cmd) => !cmd.private)
+ .map((cmd) => `${cmd.name}`)
+ .join('\n');
+ }
+}
diff --git a/scopes/harmony/cli/cli.main.runtime.ts b/scopes/harmony/cli/cli.main.runtime.ts
index 0c3f2f7afe0b..d86612dc97b1 100644
--- a/scopes/harmony/cli/cli.main.runtime.ts
+++ b/scopes/harmony/cli/cli.main.runtime.ts
@@ -1,19 +1,18 @@
import { Slot, SlotRegistry } from '@teambit/harmony';
import { buildRegistry } from '@teambit/legacy/dist/cli';
import { Command } from '@teambit/legacy/dist/cli/command';
-import { register } from '@teambit/legacy/dist/cli/command-registry';
import LegacyLoadExtensions from '@teambit/legacy/dist/legacy-extensions/extensions-loader';
-import commander from 'commander';
-import didYouMean from 'didyoumean';
-import { equals, splitWhen, flatten } from 'ramda';
+
+import { flatten } from 'ramda';
import { groups, GroupsType } from '@teambit/legacy/dist/cli/command-groups';
import { clone } from 'lodash';
import { CLIAspect, MainRuntime } from './cli.aspect';
-import { formatHelp } from './help';
import { AlreadyExistsError } from './exceptions/already-exists';
-import { CommandNotFound } from './exceptions/command-not-found';
import { getCommandId } from './get-command-id';
import { LegacyCommandAdapter } from './legacy-command-adapter';
+import { CLIParser } from './cli-parser';
+import { CompletionCmd } from './completion.cmd';
+import { CliCmd } from './cli.cmd';
export type CommandList = Array;
export type OnStart = (hasWorkspace: boolean) => Promise;
@@ -53,7 +52,7 @@ export class CLIMain {
/**
* list of all registered commands. (legacy and new).
*/
- get commands() {
+ get commands(): CommandList {
return flatten(this.commandsSlot.values());
}
@@ -80,22 +79,8 @@ export class CLIMain {
*/
async run(hasWorkspace: boolean) {
await this.invokeOnStart(hasWorkspace);
- const args = process.argv.slice(2); // remove the first two arguments, they're not relevant
- if (!args[0] || ['-h', '--help'].includes(args[0])) {
- this.printHelp();
- return;
- }
-
- const [params, packageManagerArgs] = splitWhen(equals('--'), process.argv);
- if (packageManagerArgs && packageManagerArgs.length) {
- packageManagerArgs.shift(); // remove the -- delimiter
- }
-
- this.commands.forEach((command) => register(command as any, commander, packageManagerArgs));
- this.throwForNonExistsCommand(args[0]);
-
- // this is what runs the `execAction` of the specific command and eventually exits the process
- commander.parse(params);
+ const CliParser = new CLIParser(this.commands, this.groups);
+ await CliParser.parse();
}
private async invokeOnStart(hasWorkspace: boolean) {
@@ -121,31 +106,6 @@ export class CLIMain {
}
}
- private printHelp() {
- const help = formatHelp(this.commands, this.groups);
- // eslint-disable-next-line no-console
- console.log(help);
- }
-
- private throwForNonExistsCommand(commandName: string) {
- const commandsNames = this.commands.map((c) => getCommandId(c.name));
- const aliases = this.commands.map((c) => c.alias).filter((a) => a);
- const globalFlags = ['-V', '--version'];
- const validCommands = [...commandsNames, ...aliases, ...globalFlags];
- const commandExist = validCommands.includes(commandName);
-
- if (!commandExist) {
- didYouMean.returnFirstMatch = true;
- const suggestions = didYouMean(
- commandName,
- this.commands.filter((c) => !c.private).map((c) => getCommandId(c.name))
- );
- const suggestion = suggestions && Array.isArray(suggestions) ? suggestions[0] : suggestions;
- // @ts-ignore
- throw new CommandNotFound(commandName, suggestion);
- }
- }
-
static dependencies = [];
static runtime = MainRuntime;
static slots = [Slot.withType(), Slot.withType()];
@@ -167,10 +127,11 @@ export class CLIMain {
}, []);
const legacyRegistry = buildRegistry(extensionsCommands);
- const allCommands = legacyRegistry.commands.concat(legacyRegistry.extensionsCommands || []);
- const allCommandsAdapters = allCommands.map((command) => new LegacyCommandAdapter(command, cliMain));
- // @ts-ignore
- cliMain.register(...allCommandsAdapters);
+ const legacyCommands = legacyRegistry.commands.concat(legacyRegistry.extensionsCommands || []);
+ const legacyCommandsAdapters = legacyCommands.map((command) => new LegacyCommandAdapter(command, cliMain));
+ const cliCmd = new CliCmd(cliMain);
+ cliMain.register(...legacyCommandsAdapters, new CompletionCmd(), cliCmd);
+
return cliMain;
}
}
diff --git a/src/cli/command-runner.ts b/scopes/harmony/cli/command-runner.ts
similarity index 64%
rename from src/cli/command-runner.ts
rename to scopes/harmony/cli/command-runner.ts
index f9ac9642870b..34b2ad86e868 100644
--- a/src/cli/command-runner.ts
+++ b/scopes/harmony/cli/command-runner.ts
@@ -1,12 +1,13 @@
import { render } from 'ink';
-import { serializeError } from 'serialize-error';
-import { migrate } from '../api/consumer';
-import logger, { LoggerLevel } from '../logger/logger';
-import { buildCommandMessage, isNumeric, packCommand } from '../utils';
-import { CLIArgs, Command, Flags } from './command';
-import { parseCommandName } from './command-registry';
-import defaultHandleError from './default-error-handler';
-import loader from './loader';
+import { migrate } from '@teambit/legacy/dist/api/consumer';
+import logger, { LoggerLevel } from '@teambit/legacy/dist/logger/logger';
+import { CLIArgs, Command, Flags } from '@teambit/legacy/dist/cli/command';
+import { parseCommandName } from '@teambit/legacy/dist/cli/command-registry';
+import loader from '@teambit/legacy/dist/cli/loader';
+import { handleErrorAndExit } from '@teambit/legacy/dist/cli/handle-errors';
+import { TOKEN_FLAG_NAME } from '@teambit/legacy/dist/constants';
+import globalFlags from '@teambit/legacy/dist/cli/global-flags';
+import { Analytics } from '@teambit/legacy/dist/analytics/analytics';
export class CommandRunner {
private commandName: string;
@@ -19,6 +20,7 @@ export class CommandRunner {
*/
async runCommand() {
try {
+ this.bootstrapCommand();
await this.runMigrateIfNeeded();
this.determineConsoleWritingDuringCommand();
if (this.flags.json) {
@@ -37,6 +39,18 @@ export class CommandRunner {
throw new Error(`command "${this.commandName}" doesn't implement "render" nor "report" methods`);
}
+ private bootstrapCommand() {
+ Analytics.init(this.commandName, this.flags, this.args);
+ logger.info(`[*] started a new command: "${this.commandName}" with the following data:`, {
+ args: this.args,
+ flags: this.flags,
+ });
+ const token = this.flags[TOKEN_FLAG_NAME];
+ if (token) {
+ globalFlags.token = token.toString();
+ }
+ }
+
/**
* when both "render" and "report" were implemented, check whether it's a terminal.
* if it's a terminal, use "render", if not, use "report" because "report" is just a string
@@ -91,7 +105,7 @@ export class CommandRunner {
* for internals commands, such as, _put, _fetch, the command.loader = false.
*/
private determineConsoleWritingDuringCommand() {
- if (this.command.loader && !this.flags.json) {
+ if (this.command.loader && !this.flags.json && !this.flags['get-yargs-completions']) {
loader.on();
loader.start(`running command "${this.commandName}"...`);
logger.shouldWriteToConsole = true;
@@ -120,43 +134,3 @@ export class CommandRunner {
return null;
}
}
-
-function serializeErrAndExit(err, commandName: string) {
- const data = packCommand(buildCommandMessage(serializeError(err), undefined, false), false, false);
- const code = err.code && isNumeric(err.code) ? err.code : 1;
- // eslint-disable-next-line @typescript-eslint/no-misused-promises
- return process.stderr.write(data, () => logger.exitAfterFlush(code, commandName));
-}
-
-export async function handleErrorAndExit(err: Error, commandName: string, shouldSerialize = false): Promise {
- try {
- loader.off();
- logger.error(`got an error from command ${commandName}: ${err}`);
- logger.error(err.stack || '');
- const { message, error } = defaultHandleError(err);
- if (shouldSerialize) serializeErrAndExit(error, commandName);
- else await logErrAndExit(message, commandName);
- } catch (e) {
- // eslint-disable-next-line no-console
- console.error('failed to log the error properly, failure error', e);
- // eslint-disable-next-line no-console
- console.error('failed to log the error properly, original error', err);
- process.exit(1);
- }
-}
-
-export async function handleUnhandledRejection(err: Error | null | undefined | {}) {
- // eslint-disable-next-line no-console
- console.error('** unhandled rejection found, please make sure the promise is resolved/rejected correctly! **');
- if (err instanceof Error) {
- return handleErrorAndExit(err, process.argv[2]);
- }
- console.error(err); // eslint-disable-line
- return handleErrorAndExit(new Error(`unhandledRejections found. err ${err}`), process.argv[2]);
-}
-
-export async function logErrAndExit(err: Error | string, commandName: string) {
- if (!err) throw new Error(`logErrAndExit expects to get either an Error or a string, got nothing`);
- console.error(err); // eslint-disable-line
- await logger.exitAfterFlush(1, commandName);
-}
diff --git a/scopes/harmony/cli/completion.cmd.ts b/scopes/harmony/cli/completion.cmd.ts
new file mode 100644
index 000000000000..465338e14893
--- /dev/null
+++ b/scopes/harmony/cli/completion.cmd.ts
@@ -0,0 +1,9 @@
+import { Command } from '@teambit/legacy/dist/cli/command';
+
+export class CompletionCmd implements Command {
+ name = 'completion';
+ description = 'enable bash/zsh-completion shortcuts for commands and options';
+ alias = '';
+ group = 'general';
+ options = [];
+}
diff --git a/scopes/harmony/cli/generate-doc-md.ts b/scopes/harmony/cli/generate-doc-md.ts
new file mode 100644
index 000000000000..be6b167aec7e
--- /dev/null
+++ b/scopes/harmony/cli/generate-doc-md.ts
@@ -0,0 +1,77 @@
+import { Command } from '@teambit/legacy/dist/cli/command';
+import { CommandOptions } from '@teambit/legacy/dist/cli/legacy-command';
+import { getCommandId } from './get-command-id';
+
+export class GenerateCommandsDoc {
+ constructor(private commands: Command[]) {}
+
+ generate(): string {
+ const commands = this.getAllPublicCommands();
+ let output = `---
+id: cli-all
+title: CLI Commands
+---
+
+Commands that are marked as workspace only must be executed inside a workspace. Commands that are marked as not workspace only, can be executed from anywhere and will run on a remote server.
+`;
+ output += commands.map((cmd) => this.generateCommand(cmd)).join('\n');
+
+ return output;
+ }
+
+ private getAllPublicCommands() {
+ return this.commands.filter((cmd) => !cmd.private);
+ }
+
+ private generateCommand(cmd: Command) {
+ const commandName = getCommandId(cmd.name);
+ let result = `## ${commandName} \n\n`;
+ if (cmd.alias && cmd.alias.length > 0) {
+ result += `**Alias**: \`${cmd.alias}\` \n`;
+ }
+ result += `**Workspace only**: ${cmd.skipWorkspace ? 'no' : 'yes'} \n`;
+ result += `**Description**: ${this.formatDescription(cmd.description as string)}`;
+ result += `\`bit ${cmd.name}\` \n\n`;
+
+ if (cmd.commands && cmd.commands.length > 0) {
+ result += this.generateSubCommands(cmd.commands);
+ }
+ result += this.generateOptions(cmd.options);
+ result += `--- \n`;
+
+ return result;
+ }
+
+ private generateSubCommands(subCommands: Command[]) {
+ let ret = '';
+ subCommands.forEach((subCommand) => {
+ // @ts-ignore
+ const name = subCommand.name.match(/^([\w-]+)/)[0];
+ ret += `### ${name} \n`;
+ ret += `**Usage**: ${subCommand.name.replace(/([<>*()?])/g, '\\$1')} \n\n`;
+ ret += `**Description**: ${this.formatDescription(subCommand.description as string)}`;
+
+ ret += '\n';
+ ret += this.generateOptions(subCommand.options);
+ });
+ return ret;
+ }
+
+ private generateOptions(options: CommandOptions): string {
+ if (!options || options.length <= 0) return '';
+ let output = `| **Option** | **Option alias** | **Description**| \n`;
+ output += `|---|:-----:|---|\n`;
+ options.forEach((opt) => {
+ const [alias, flag, description] = opt;
+ const aliasFormatted = alias ? `-${alias}` : ' ';
+ const flagFormatted = `--${flag}`;
+ output += `|\`${flagFormatted}\`|\`${aliasFormatted}\`|${description}|\n`;
+ });
+ output += `\n`;
+ return output;
+ }
+
+ private formatDescription(description: string): string {
+ return `${description.split('\n').join(' \n')} \n\n`;
+ }
+}
diff --git a/scopes/harmony/cli/legacy-command-adapter.ts b/scopes/harmony/cli/legacy-command-adapter.ts
index 1276cc2eed32..6c0f2dd64750 100644
--- a/scopes/harmony/cli/legacy-command-adapter.ts
+++ b/scopes/harmony/cli/legacy-command-adapter.ts
@@ -14,6 +14,7 @@ export class LegacyCommandAdapter implements Command {
private?: boolean;
migration?: boolean;
internal?: boolean;
+ skipWorkspace?: boolean;
_packageManagerArgs?: string[];
constructor(private cmd: LegacyCommand, cliExtension: CLIMain) {
this.name = cmd.name;
@@ -21,9 +22,11 @@ export class LegacyCommandAdapter implements Command {
this.options = cmd.opts || [];
this.alias = cmd.alias;
this.shortDescription = cmd.shortDescription;
+ this.skipWorkspace = cmd.skipWorkspace;
this.group = cmd.group;
this.loader = cmd.loader;
this.private = cmd.private;
+
this.migration = cmd.migration;
this.internal = cmd.internal;
this.commands = (cmd.commands || []).map((sub) => new LegacyCommandAdapter(sub, cliExtension));
diff --git a/scopes/harmony/cli/yargs-adapter.ts b/scopes/harmony/cli/yargs-adapter.ts
new file mode 100644
index 000000000000..432306435c26
--- /dev/null
+++ b/scopes/harmony/cli/yargs-adapter.ts
@@ -0,0 +1,92 @@
+import chalk from 'chalk';
+import { Command } from '@teambit/legacy/dist/cli/command';
+import { Arguments, CommandBuilder, CommandModule } from 'yargs';
+import { TOKEN_FLAG } from '@teambit/legacy/dist/constants';
+import { camelCase } from 'lodash';
+import { CommandRunner } from './command-runner';
+
+export const GLOBAL_GROUP = 'Global';
+export const STANDARD_GROUP = 'Options';
+
+export class YargsAdapter implements CommandModule {
+ command: string;
+ describe?: string;
+ aliases?: string;
+ builder: CommandBuilder;
+ constructor(private commanderCommand: Command) {
+ this.command = commanderCommand.name;
+ this.describe = chalk.yellow(commanderCommand.description as string);
+ this.aliases = commanderCommand.alias;
+ this.builder = this.optionsToBuilder(commanderCommand);
+ }
+
+ handler(argv: Arguments) {
+ const enteredArgs = getArgsFromCommandName(this.commanderCommand.name);
+ const argsValues = enteredArgs.map((a) => argv[a]) as any[];
+ // a workaround to get a flag syntax such as "--all [version]" work with yargs.
+ const flags = Object.keys(argv).reduce((acc, current) => {
+ if (current === '_' || current === '$0' || current === '--') return acc;
+ const flagName = current.split(' ')[0];
+ acc[flagName] = argv[current];
+ return acc;
+ }, {});
+ this.commanderCommand._packageManagerArgs = (argv['--'] || []) as string[];
+
+ const commandRunner = new CommandRunner(this.commanderCommand, argsValues, flags);
+ return commandRunner.runCommand();
+ }
+
+ private optionsToBuilder(command: Command) {
+ const option = command.options.reduce((acc, [alias, opt, desc]) => {
+ acc[opt] = {
+ alias,
+ describe: desc,
+ group: STANDARD_GROUP,
+ type: opt.includes(' ') ? undefined : 'boolean',
+ };
+ return acc;
+ }, {});
+ const globalOptions = this.getGlobalOptions(command);
+
+ return { ...option, ...globalOptions };
+ }
+
+ private getGlobalOptions(command: Command): Record {
+ const globalOptions: Record = {};
+ if (command.remoteOp) {
+ globalOptions[TOKEN_FLAG] = {
+ describe: 'authentication token',
+ group: GLOBAL_GROUP,
+ };
+ }
+ if (!command.internal) {
+ globalOptions.log = {
+ describe:
+ 'print log messages to the screen, options are: [trace, debug, info, warn, error, fatal], the default is info',
+ group: GLOBAL_GROUP,
+ };
+ globalOptions['safe-mode'] = {
+ describe:
+ 'bootstrap the bare-minimum with only the CLI aspect. useful mainly for low-level commands when bit refuses to load',
+ group: GLOBAL_GROUP,
+ };
+ }
+ return globalOptions;
+ }
+}
+
+function getArgsFromCommandName(commandName: string) {
+ const commandSplit = commandName.split(' ');
+ commandSplit.shift(); // remove the first element, it's the command-name
+
+ return commandSplit.map((existArg) => {
+ const trimmed = existArg.trim();
+ if ((!trimmed.startsWith('<') && !trimmed.startsWith('[')) || (!trimmed.endsWith('>') && !trimmed.endsWith(']'))) {
+ throw new Error(`expect arg "${trimmed}" of "${commandName}" to be wrapped with "[]" or "<>"`);
+ }
+ // remove the opening and closing brackets
+ const withoutBrackets = trimmed.slice(1, -1);
+
+ return camelCase(withoutBrackets);
+ });
+}
diff --git a/scopes/harmony/config/schema.json b/scopes/harmony/config/schema.json
index f7b8e45664c9..2140b63dfa22 100644
--- a/scopes/harmony/config/schema.json
+++ b/scopes/harmony/config/schema.json
@@ -129,33 +129,6 @@
}
}
},
- "teambit.pipelines/flows": {
- "description": "main configuration for handling the build process of components.",
- "type": "object",
- "properties": {
- "tasks": {
- "description": "configure build tasks. configuration of build tasks is basically a map of `task name` pointed to an array of tasks. each task can be either a bash command or an extension which exposes a task. reserved task names: build, test, runs on pre-tag.",
- "type": "object",
- "properties": {
- "build": {
- "type": "array",
- "default": ["teambit.react/react:build", "mv dist dist-copy"],
- "examples": [["teambit.react/react:build", "mv dist dist-copy"]]
- },
- "test": {
- "type": "array",
- "default": ["mocha ."],
- "examples": [["mocha ."]]
- },
- "deploy": {
- "type": "array",
- "default": ["firebase deploy"],
- "examples": [["firebase deploy"]]
- }
- }
- }
- }
- },
"teambit.pkg/pkg": {
"description": "",
"type": "object",
diff --git a/scopes/harmony/graphql/graphql.main.runtime.ts b/scopes/harmony/graphql/graphql.main.runtime.ts
index df82a2451c0d..192cab5e9139 100644
--- a/scopes/harmony/graphql/graphql.main.runtime.ts
+++ b/scopes/harmony/graphql/graphql.main.runtime.ts
@@ -5,7 +5,7 @@ import { Harmony, Slot, SlotRegistry } from '@teambit/harmony';
import { Logger, LoggerAspect, LoggerMain } from '@teambit/logger';
import express, { Express } from 'express';
import { graphqlHTTP } from 'express-graphql';
-import getPort from 'get-port';
+import { Port } from '@teambit/toolbox.network.get-port';
import { execute, subscribe } from 'graphql';
import { PubSub } from 'graphql-subscriptions';
import { createServer, Server } from 'http';
@@ -157,7 +157,7 @@ export class GraphqlMain {
private async getPort(range: number[]) {
const [from, to] = range;
- return getPort({ port: getPort.makeRange(from, to) });
+ return Port.getPort(from, to);
}
/** create Subscription server with different port */
diff --git a/scopes/harmony/node/node.main.runtime.ts b/scopes/harmony/node/node.main.runtime.ts
index 6917924cd8bb..9931adbb1991 100644
--- a/scopes/harmony/node/node.main.runtime.ts
+++ b/scopes/harmony/node/node.main.runtime.ts
@@ -71,15 +71,23 @@ export class NodeMain {
);
/**
+ * @deprecated - use useWebpack
* override the preview config in the env.
*/
overridePreviewConfig = this.react.overridePreviewConfig.bind(this.react);
/**
+ * @deprecated - use useWebpack
* override the dev server configuration.
*/
overrideDevServerConfig = this.react.overrideDevServerConfig.bind(this.react);
+ /**
+ * override the env's dev server and preview webpack configurations.
+ * Replaces both overrideDevServerConfig and overridePreviewConfig
+ */
+ useWebpack = this.react.useWebpack.bind(this.react);
+
/**
* override the dependency configuration of the component environment.
*/
@@ -89,6 +97,8 @@ export class NodeMain {
});
}
+ overrideMounter = this.react.overrideMounter.bind(this.react);
+
/**
* create a new composition of the node environment.
*/
diff --git a/scopes/mdx/aspect-docs/mdx/mdx.composition.tsx b/scopes/mdx/aspect-docs/mdx/mdx.composition.tsx
index 0a8235ecffde..1a37d6114ebf 100644
--- a/scopes/mdx/aspect-docs/mdx/mdx.composition.tsx
+++ b/scopes/mdx/aspect-docs/mdx/mdx.composition.tsx
@@ -1,12 +1,12 @@
import React from 'react';
-import { ThemeContext } from '@teambit/documenter.theme.theme-context';
+import { ThemeCompositions } from '@teambit/documenter.theme.theme-compositions';
import { MDXLayout } from '@teambit/mdx.ui.mdx-layout';
import { Mdx } from './index';
export const MdxDocs = () => (
-
+
-
+
);
diff --git a/scopes/mdx/aspect-docs/mdx/mdx.docs.mdx b/scopes/mdx/aspect-docs/mdx/mdx.docs.mdx
index a47087592f42..824967ed4f62 100644
--- a/scopes/mdx/aspect-docs/mdx/mdx.docs.mdx
+++ b/scopes/mdx/aspect-docs/mdx/mdx.docs.mdx
@@ -22,13 +22,13 @@ import { Mdx } from '@teambit/aspect-docs.mdx';
### Render with theme and MDX providers
```js
-import { ThemeContext } from '@teambit/documenter.theme.theme-context';
+import { ThemeCompositions } from '@teambit/documenter.theme.theme-compositions';
import { MDXLayout } from '@teambit/ui.mdx-layout';
import { Mdx } from '@teambit/aspect-docs.mdx';
-
+
-;
+;
```
diff --git a/scopes/mdx/mdx/templates/mdx-component/files/docs.ts b/scopes/mdx/mdx/templates/mdx-component/files/docs.ts
index 974fca39b194..53373c77c179 100644
--- a/scopes/mdx/mdx/templates/mdx-component/files/docs.ts
+++ b/scopes/mdx/mdx/templates/mdx-component/files/docs.ts
@@ -29,15 +29,15 @@ This is a simple MDX-file compiled by Bit to a reuseable component.
### Render with theme and MDX providers
\`\`\`js
-import { ThemeContext } from '@teambit/documenter.theme.theme-context'
+import { ThemeCompositions } from '@teambit/documenter.theme.theme-compositions'
import { MDXLayout } from '@teambit/ui.mdx-layout'
import { ${Name} } from './index'
-
+
<${Name} />
-
+
\`\`\`
`,
};
diff --git a/scopes/mdx/ui/mdx-layout/mdx-layout.module.scss b/scopes/mdx/ui/mdx-layout/mdx-layout.module.scss
new file mode 100644
index 000000000000..345595f7852f
--- /dev/null
+++ b/scopes/mdx/ui/mdx-layout/mdx-layout.module.scss
@@ -0,0 +1,5 @@
+.mdxContent {
+ * {
+ max-width: 100%;
+ }
+}
diff --git a/scopes/mdx/ui/mdx-layout/mdx-layout.tsx b/scopes/mdx/ui/mdx-layout/mdx-layout.tsx
index 29f1a735de9d..08ecc04280d8 100644
--- a/scopes/mdx/ui/mdx-layout/mdx-layout.tsx
+++ b/scopes/mdx/ui/mdx-layout/mdx-layout.tsx
@@ -16,6 +16,7 @@ import { HighlightedTextSpan } from '@teambit/mdx.ui.docs.highlighted-text-span'
import { Snippet } from '@teambit/mdx.ui.docs.snippet';
import { Link } from '@teambit/mdx.ui.docs.link';
import { P } from '@teambit/mdx.ui.docs.paragraph';
+import styles from './mdx-layout.module.scss';
const defaultMdxComponents = {
h1: createHeading('lg'),
@@ -84,7 +85,11 @@ export type MDXLayoutProps = {
*/
export function MDXLayout({ children, mdxComponents }: MDXLayoutProps) {
const components = Object.assign(defaultMdxComponents, mdxComponents);
- return {children};
+ return (
+
+ {children}
+
+ );
}
MDXLayout.defaultProps = {
diff --git a/scopes/pipelines/aspect-docs/builder/builder.composition.tsx b/scopes/pipelines/aspect-docs/builder/builder.composition.tsx
index 5dfdc6aa1fa9..08abeeb49024 100644
--- a/scopes/pipelines/aspect-docs/builder/builder.composition.tsx
+++ b/scopes/pipelines/aspect-docs/builder/builder.composition.tsx
@@ -1,12 +1,12 @@
import React from 'react';
-import { ThemeContext } from '@teambit/documenter.theme.theme-context';
+import { ThemeCompositions } from '@teambit/documenter.theme.theme-compositions';
import { MDXLayout } from '@teambit/mdx.ui.mdx-layout';
import { Builder } from './index';
export const BuilderDocs = () => (
-
+
-
+
);
diff --git a/scopes/pipelines/aspect-docs/builder/builder.docs.mdx b/scopes/pipelines/aspect-docs/builder/builder.docs.mdx
index 89a6243c1d5b..db556c648299 100644
--- a/scopes/pipelines/aspect-docs/builder/builder.docs.mdx
+++ b/scopes/pipelines/aspect-docs/builder/builder.docs.mdx
@@ -22,13 +22,13 @@ import { Builder } from '@teambit/aspect-docs.builder';
### Render with theme and MDX providers
```jsx
-import { ThemeContext } from '@teambit/documenter.theme.theme-context';
+import { ThemeCompositions } from '@teambit/documenter.theme.theme-compositions';
import { MDXLayout } from '@teambit/ui.mdx-layout';
import { Builder } from '@teambit/aspect-docs.builder';
-
+
-;
+;
```
diff --git a/scopes/pipelines/builder/build-pipe.ts b/scopes/pipelines/builder/build-pipe.ts
index afad49ef3c97..279af3eb9050 100644
--- a/scopes/pipelines/builder/build-pipe.ts
+++ b/scopes/pipelines/builder/build-pipe.ts
@@ -1,5 +1,4 @@
import { EnvDefinition } from '@teambit/envs';
-import { compact } from 'lodash';
import { ComponentMap } from '@teambit/component';
import { Logger, LongProcessLogger } from '@teambit/logger';
import mapSeries from 'p-map-series';
@@ -48,6 +47,7 @@ export class BuildPipe {
private failedTasks: BuildTask[] = [];
private failedDependencyTask: BuildTask | undefined;
private longProcessLogger: LongProcessLogger;
+ private taskResults: TaskResults[] = [];
constructor(
/**
* array of services to apply on the components.
@@ -64,9 +64,9 @@ export class BuildPipe {
async execute(): Promise {
await this.executePreBuild();
this.longProcessLogger = this.logger.createLongProcessLogger('running tasks', this.tasksQueue.length);
- const results = await mapSeries(this.tasksQueue, async ({ task, env }) => this.executeTask(task, env));
+ await mapSeries(this.tasksQueue, async ({ task, env }) => this.executeTask(task, env));
this.longProcessLogger.end();
- const tasksResultsList = new TaskResultsList(this.tasksQueue, compact(results));
+ const tasksResultsList = new TaskResultsList(this.tasksQueue, this.taskResults);
await this.executePostBuild(tasksResultsList);
return tasksResultsList;
@@ -81,13 +81,13 @@ export class BuildPipe {
this.logger.consoleSuccess();
}
- private async executeTask(task: BuildTask, env: EnvDefinition): Promise {
+ private async executeTask(task: BuildTask, env: EnvDefinition): Promise {
const taskId = BuildTaskHelper.serializeId(task);
const taskName = `${taskId}${task.description ? ` (${task.description})` : ''}`;
this.longProcessLogger.logProgress(`env "${env.id}", task "${taskName}"`);
this.updateFailedDependencyTask(task);
if (this.shouldSkipTask(taskId, env.id)) {
- return null;
+ return;
}
const startTask = process.hrtime();
const taskStartTime = Date.now();
@@ -115,7 +115,7 @@ export class BuildPipe {
endTime,
};
- return taskResults;
+ this.taskResults.push(taskResults);
}
private async executePostBuild(tasksResults: TaskResultsList) {
@@ -149,6 +149,7 @@ export class BuildPipe {
private getBuildContext(envId: string) {
const buildContext = this.envsBuildContext[envId];
if (!buildContext) throw new Error(`unable to find buildContext for ${envId}`);
+ buildContext.previousTasksResults = this.taskResults;
return buildContext;
}
diff --git a/scopes/pipelines/builder/build-pipeline-order.ts b/scopes/pipelines/builder/build-pipeline-order.ts
index eef0822bd51b..e329e3696ecc 100644
--- a/scopes/pipelines/builder/build-pipeline-order.ts
+++ b/scopes/pipelines/builder/build-pipeline-order.ts
@@ -1,4 +1,3 @@
-import R from 'ramda';
import { Graph } from 'cleargraph';
import TesterAspect from '@teambit/tester';
import { EnvDefinition, Environment } from '@teambit/envs';
@@ -66,7 +65,7 @@ export function calculatePipelineOrder(
pipelineEnvs.push({ env: envDefinition, pipeline });
});
- const flattenedPipeline: BuildTask[] = R.flatten(pipelineEnvs.map((pipelineEnv) => pipelineEnv.pipeline));
+ const flattenedPipeline: BuildTask[] = pipelineEnvs.map((pipelineEnv) => pipelineEnv.pipeline).flat();
flattenedPipeline.forEach((task) => addDependenciesToGraph(graphs, flattenedPipeline, task));
const dataPerLocation: DataPerLocation[] = graphs.map(({ location, graph }) => {
@@ -176,7 +175,7 @@ which is invalid. the dependency must be located earlier or in the same location
function getPipelineForEnv(taskSlot: TaskSlot, env: Environment, pipeNameOnEnv: string): BuildTask[] {
const buildTasks: BuildTask[] = env[pipeNameOnEnv] ? env[pipeNameOnEnv]() : [];
- const slotsTasks = R.flatten(taskSlot.values());
+ const slotsTasks = taskSlot.values().flat();
const tasksAtStart: BuildTask[] = [];
const tasksAtEnd: BuildTask[] = [];
slotsTasks.forEach((task) => {
diff --git a/scopes/pipelines/builder/build-task.ts b/scopes/pipelines/builder/build-task.ts
index 16599a91f9f3..87d51bf40976 100644
--- a/scopes/pipelines/builder/build-task.ts
+++ b/scopes/pipelines/builder/build-task.ts
@@ -4,6 +4,7 @@ import type { Network } from '@teambit/isolator';
import type { ComponentResult } from './types';
import type { ArtifactDefinition } from './artifact';
import { TaskResultsList } from './task-results-list';
+import { TaskResults } from './build-pipe';
export type TaskLocation = 'start' | 'end';
@@ -22,6 +23,11 @@ export interface BuildContext extends ExecutionContext {
* network of capsules ready to be built.
*/
capsuleNetwork: Network;
+
+ /**
+ * data generated by tasks that were running before this task
+ */
+ previousTasksResults: TaskResults[];
}
export interface BuildTask {
diff --git a/scopes/pipelines/builder/builder.service.tsx b/scopes/pipelines/builder/builder.service.tsx
index c31f4b5506a2..1424b89f5010 100644
--- a/scopes/pipelines/builder/builder.service.tsx
+++ b/scopes/pipelines/builder/builder.service.tsx
@@ -89,6 +89,7 @@ export class BuilderService implements EnvService (file.contents || '').toString())
- .join('\n')}`;
- const md5 = createHash('md5', { encoding: 'utf8' }).update(content).digest('base64').toString();
- return md5;
- }
-
- async saveHashValue(capsule: Capsule, name: string): Promise {
- await safeGetLock(this.pathToCache);
- const file = await safeReadFile(this.pathToCache);
- const content = file ? JSON.parse(file) : {};
- const hash = this.hash(capsule, name);
- content[capsule.wrkDir] = content[capsule.wrkDir] || {};
- content[capsule.wrkDir][name] = hash;
- await fs.writeFile(this.pathToCache, JSON.stringify(content, null, 2));
- return unlock(this.pathToCache);
- }
-
- async getCacheValue(wrkDir: string, name: string): Promise {
- await safeGetLock(this.pathToCache);
- const file = await safeReadFile(this.pathToCache);
- const content = file ? JSON.parse(file) : {};
- const cacheValue = path([wrkDir, name], content);
- await unlock(this.pathToCache);
- return cacheValue;
- }
-
- async compareToCache(capsule: Capsule, name: string): Promise {
- const inCache = await this.getCacheValue(capsule.wrkDir, name);
- const hashValue = this.hash(capsule, name);
- return equals(inCache, hashValue);
- }
-}
-
-export function getExecutionCache() {
- const pathToCache = join(CACHE_ROOT, 'capsules', 'cache-flow.json');
- return new ExecutionCache(pathToCache);
-}
-
-async function safeReadFile(filePath: string) {
- let content: string | null = null;
- try {
- content = await fs.readFile(filePath, { encoding: 'utf8' });
- // eslint-disable-next-line no-empty
- } catch (e) {}
- return content;
-}
-
-async function safeGetLock(
- cachePath: string,
- options: {
- init: (somePath: string) => Promise;
- timeout: number;
- } = {
- init: (somePath: string) => fs.writeFile(somePath, '{}', 'utf8'),
- timeout: 100,
- }
-): Promise {
- let lockState: 'UNLOCK' | 'LOCK' | 'UNLOCKERROR' = 'UNLOCK';
- try {
- await lock(cachePath, { retries: 5, update: options.timeout });
- lockState = 'LOCK';
- } catch (e) {
- if (e.code === 'ENOENT') {
- await options.init(cachePath);
- } else {
- lockState = 'UNLOCKERROR';
- }
- }
- return lockState === 'UNLOCK'
- ? safeGetLock(cachePath)
- : lockState === 'UNLOCKERROR'
- ? new Promise(function (resolve) {
- setTimeout(function () {
- return safeGetLock(cachePath).then(() => resolve());
- }, options.timeout);
- })
- : undefined;
-}
diff --git a/scopes/pipelines/flows/flow/flow.ts b/scopes/pipelines/flows/flow/flow.ts
deleted file mode 100644
index 11244d68c8ba..000000000000
--- a/scopes/pipelines/flows/flow/flow.ts
+++ /dev/null
@@ -1,94 +0,0 @@
-/* eslint-disable @typescript-eslint/no-this-alias */
-/* eslint-disable no-plusplus */
-/* eslint-disable max-len */
-import { Capsule } from '@teambit/isolator';
-import logger from '@teambit/legacy/dist/logger/logger';
-import { ReplaySubject, Subject } from 'rxjs';
-
-import { executeTask } from '../task';
-
-export class Flow {
- private result: any[] = [];
- constructor(private tasks: string[]) {}
- /**
- * Takes a capsule and return a stream of streams.
- * Return value represent the execution of tasks.
- *
- * @param capsule ComponentCapsule to execute tasks
- */
- execute(capsule: Capsule): ReplaySubject {
- const id = capsule.component.id.toString();
- const startTime = new Date();
- const subject = new ReplaySubject();
- subject.next({
- type: 'flow:start',
- id,
- startTime,
- });
- if (this.tasks && this.tasks.length) {
- logger.debug(`flowsExt, flow.execute of ${id}. tasks: ${this.tasks.join(', ')}`);
- this.execSequence(capsule, subject, startTime, 0);
- } else {
- logger.debug(`flowsExt, flow.execute of ${id}. no tasks. handleDone`);
- setImmediate(() => this.handleDone(subject, capsule, startTime));
- }
- return subject;
- }
-
- private execSequence(capsule: Capsule, subject: Subject, start: Date, index: number) {
- const id = capsule.component.id.toString();
- logger.debug(`flowsExt, flow.execSequence of ${id}. index: ${index}`);
- const that = this;
- const task = executeTask(this.tasks[index], capsule);
- subject.next(task);
- task.subscribe({
- next(data) {
- if (data.type === 'task:result') {
- that.result.push(data);
- if (data.code) {
- index = that.handleError(index, capsule, data, subject, start);
- }
- }
- },
- complete() {
- if (that.tasks.length > index + 1) {
- that.execSequence(capsule, subject, start, ++index);
- } else {
- that.handleDone(subject, capsule, start);
- }
- },
- });
- }
-
- private handleError(index: number, capsule: Capsule, data: any, subject: Subject, start: Date) {
- for (let i = index + 1; i < this.tasks.length; ++i) {
- this.result.push({
- type: 'task:error',
- id: `${capsule.component.id.toString()}:${this.tasks[i]}`,
- value: new Error(`Error by ${data.id}`),
- errorBy: data,
- });
- }
- const isError = true;
- this.handleDone(subject, capsule, start, isError);
- return this.tasks.length;
- }
-
- private handleDone(subject: Subject, capsule: Capsule, startTime: Date, isError = false) {
- const endTime = new Date();
- logger.debug(`flowsExt, flow.handleDone of ${capsule.component.id.toString()}. isError: ${isError}`);
- subject[isError ? 'error' : 'next']({
- type: 'flow:result',
- id: capsule.component.id,
- value: {
- capsule,
- tasks: this.result,
- },
- code: isError ? 1 : 0,
- startTime,
- duration: endTime.getTime() - startTime.getTime(),
- });
- setTimeout(subject.complete.bind(subject), 0);
- this.result = [];
- }
-}
diff --git a/scopes/pipelines/flows/flow/index.ts b/scopes/pipelines/flows/flow/index.ts
deleted file mode 100644
index 94aede584046..000000000000
--- a/scopes/pipelines/flows/flow/index.ts
+++ /dev/null
@@ -1 +0,0 @@
-export { Flow } from './flow';
diff --git a/scopes/pipelines/flows/flows.aspect.ts b/scopes/pipelines/flows/flows.aspect.ts
deleted file mode 100644
index dd76a72ca3e6..000000000000
--- a/scopes/pipelines/flows/flows.aspect.ts
+++ /dev/null
@@ -1,7 +0,0 @@
-import { Aspect } from '@teambit/harmony';
-
-export const FlowsAspect = Aspect.create({
- id: 'teambit.pipelines/flows',
- dependencies: [],
- defaultConfig: {},
-});
diff --git a/scopes/pipelines/flows/flows.docs.md b/scopes/pipelines/flows/flows.docs.md
deleted file mode 100644
index b634be4060e0..000000000000
--- a/scopes/pipelines/flows/flows.docs.md
+++ /dev/null
@@ -1,142 +0,0 @@
-
-Run tasks on components and their dependents.
-
-- Provides a `bit run` command to execute tasks on components in worksapce.
-- Provides an API to create network of components and execute tasks.
-- Used as a low-level API for other Bit commands like `compile`, `test` and `watch`.
-
-## Description
-
-Inside a Bit project all components are linked to each other in a **network** according to their dependency graph. When you make a change, you can see the downstream effets when running component tasks. This means that all tasks run in the right order and if several components don't directly depend on each other, Flows parallelizes their tasks (and shows live console output in a readable order).
-
-## Usage
-
-### Command sinopsys
-
-```sh
-bit run [components...] [-v | --verbose] [--concurrency]
-```
-
-#### Examples
-
-```bash
-# runs 'build' flow on all components that have 'build' task defined.
-bit run build
-
-# runs 'build' flow for a specific component.
-bit run build logo
-
-# same as before with verbose output
-bit run build logo --verbose
-
-# setting concurrency
-bit run build logo --concurrency 4 --verbose
-```
-
-### Configuration
-
-Use `bit.jsonc` configuration docs to understand how to configure bit.
-
-```js
-// workspace configuration with default values for 'concurrency' and 'verbose'
-
-{
- "teambit.pipelines/flows": {
- "concurrency": 4,
- "verbose": false,
- "tasks": {
- // the structure of a module task id: = `\`#${PackageName}:${PathToModule}\``
- "build": ["@bit/bit.evangalist.extensions.react-ts:transpile"],
- }
- }
-}
-
-```
-
-You may also use the `variants` configuring option to override `tasks` of a specific component(s).
-The structure allows only for the task entry in that use case.
-
-```javascript
-{
- "variants": {
- "ui/*":{
- "teambit.pipelines/flows": {
- "tasks": {
- "build": ["some_build_task"]
- }
- }
- }
- }
-}
-```
-
-Consult with the docs to learn more about variants.
-
-## Flows API
-
-Flows API is document in [`flows.ts`](https://github.com/teambit/bit/blob/harmony/main/src/extensions/flows/flows.ts) module. Here are two examples:
-
-```js
-import {Flows, flattenReplaySubject} from 'teambit.pipelines/flows'
-
-const flows = new Flows(workspace)
-const execution = flows.run(seeders)
-
-// rxjs example
-flattenReplaySubject(execution)
- .subscribe((result) => console.log('result is:', result))
-
-// promise example
-const result = await flows.runToPromise(seeders)
-console.log('result is', result)
-```
-
-## Recommended Work`Flows`
-
-Flows prefers convention over configuration for managing team's workflow to scale their development. It's philosophy is that when teams agree on the kind of actions they support it's easier to onboard developers to various projects in the organization. This is mainly becasue it helps developers avoid the details of each component build and treat it as the "same" action.
-
-For example:
-
- - `build` - run all compilation/testing/lint
- - `ci` - flow to run bit CI system
- - `dev` - compiling with source map and what not.
- - `personal` - personal workflow team doesn't know of, to test things.
-
-## How to implement a task
-
-A `task` is a module which exports a default function (or `module.exports`) with the following signature:
-
-```ts
-export type Task = () => any | () => Promise
-```
-
-- Tasks should be tracked and exported as components to a remote Bit scope.
-- Tasks defined as `devDependencies` for components consuming them.
-- Each task `stdout`, `stderr` is reported.
-- Each task should return a value (which is truthy) which will be reported to Bit's main process.
-
-## Design
-
-The Flows API solves the problem of reporting the execution of dynamic activities across a graph of isolated components. The problem becomes complex in use cases like TypeScript API where dependent/dependency components build order needs to be respected.
-
-Flows solves this problem by providing:
-
-- Unified UX
-- Aggressive caching
-- Topological execution order.
-
-### Entities
-
-- Capsule - Isolated representation of a component in filesystem.
-- Network - A graph of component capsules.
-- Flow - A collection of tasks to execute in a capsule.
-- Task - a runnable activity in a capsule defined by bash or javascript task.
-
-For each main term there is a module in the flows implementation.
-
-### Additional modules
-
-- Cache - Caches capsule execution in `~/Library/Caches/Bit/capsules`
-- Run - Holds run command as a component.
-- util - fake-capsule creation, rxjs helper etc.
-
diff --git a/scopes/pipelines/flows/flows.main.runtime.ts b/scopes/pipelines/flows/flows.main.runtime.ts
deleted file mode 100644
index b2d5e8164b64..000000000000
--- a/scopes/pipelines/flows/flows.main.runtime.ts
+++ /dev/null
@@ -1,21 +0,0 @@
-import { MainRuntime } from '@teambit/cli';
-import { Workspace, WorkspaceAspect } from '@teambit/workspace';
-
-import { Flows } from './flows';
-import { FlowsAspect } from './flows.aspect';
-
-type ScriptDeps = [Workspace];
-
-export const FlowsMain = {
- name: 'flows',
- runtime: MainRuntime,
- dependencies: [WorkspaceAspect],
- async provider([workspace]: ScriptDeps) {
- const flows = new Flows(workspace);
- // const runCMD = new RunCmd(flows, reporter, logger);
- // cli.register(runCMD);
- return flows;
- },
-};
-
-FlowsAspect.addRuntime(FlowsMain);
diff --git a/scopes/pipelines/flows/flows.ts b/scopes/pipelines/flows/flows.ts
deleted file mode 100644
index 9edd2e72b500..000000000000
--- a/scopes/pipelines/flows/flows.ts
+++ /dev/null
@@ -1,169 +0,0 @@
-/* eslint-disable @typescript-eslint/no-unused-vars */
-/* eslint-disable max-classes-per-file */
-import { ComponentID } from '@teambit/component';
-import { Capsule } from '@teambit/isolator';
-import { Workspace } from '@teambit/workspace';
-import { BitId } from '@teambit/legacy-bit-id';
-import logger from '@teambit/legacy/dist/logger/logger';
-import { EventEmitter } from 'events';
-
-import { getExecutionCache } from './cache';
-import { Flow } from './flow/flow';
-import { GetFlow, Network } from './network';
-import { getWorkspaceGraph, PostFlow } from './network/network';
-import { ExecutionOptions } from './network/options';
-
-export class Flows {
- private emitter = new EventEmitter();
- constructor(private workspace: Workspace) {}
-
- getIds(ids: string[]) {
- return ids.map((id) => new ComponentID(this.workspace.consumer.getParsedId(id)));
- }
-
- /**
- * Creates a custom network from workspace.
- *
- * @param seeders - array of components to build.
- * @param getFlow - function which provide component flow.
- * @param postFlow - postFlow callback.
- */
- createNetwork(seeders: ComponentID[], getFlow: GetFlow, postFlow: PostFlow = () => Promise.resolve()) {
- const network = new Network(this.workspace, seeders, getFlow, getWorkspaceGraph, postFlow);
- network.onWorkspaceLoaded((...args) => {
- this.emitter.emit('workspaceLoaded', args);
- });
- return network;
- }
-
- /**
- * Creates network which runs named flow according to project configuration.
- *
- * @param seeders array of components to build
- * @param name flow name
- * @param options
- */
- createNetworkByFlowName(seeders: ComponentID[], name = 'build', options: ExecutionOptions) {
- const getFlow = async (capsule: Capsule) => {
- const seed = capsule.component.id;
- const id = seed instanceof BitId ? seed : seed._legacy;
- const component = await this.workspace.get(seed);
- if (!component) {
- return new Flow([]);
- }
- const isCached = await getExecutionCache().compareToCache(capsule, name);
- const flowsConfig = component.config.extensions.findCoreExtension('flows')?.config;
- const tasks = flowsConfig && flowsConfig.tasks ? flowsConfig.tasks[name] : [];
- const flow = isCached && options.caching ? new Flow([]) : new Flow(tasks);
-
- return flow;
- };
- const postFlow = async (capsule: Capsule) => {
- const cache = getExecutionCache();
- return cache.saveHashValue(capsule, name);
- };
- return this.createNetwork(seeders, getFlow, postFlow);
- }
-
- /**
- * Executes named flow on network and returns a promise with network:result message.
- *
- * @param seeders array of components to build
- * @param name flow name
- * @param options
- * @param network optional custom network
- */
- async runToPromise(seeders: ComponentID[], name = 'build', options?: Partial, network?: Network) {
- logger.debug(`flowsExt, runToPromise is running ${name} on ${seeders.map((s) => s.toString()).join(', ')}`);
- const resultStream = await this.run(seeders, name, options, network);
- logger.debug(`flowsExt, runToPromise got resultStream`);
- return new Promise((resolve, reject) => {
- resultStream.subscribe({
- next(data: any) {
- if (data.type === 'network:result') {
- logger.debug(`flowsExt, runToPromise going to resolve the promise.`);
- resolve(data);
- } else {
- logger.debug(`flowsExt, runToPromise data.type is ${data.type}. the promise is not resolved nor rejected`);
- }
- },
- error(err: any) {
- logger.debug(`flowsExt, runToPromise going to reject the promise.`);
- reject(err);
- },
- complete() {
- logger.debug(`flowsExt, runToPromise in complete()`);
- },
- });
- });
- }
-
- /**
- * Executes named flow on network and returns an execution stream.
- *
- * @param seeders array of components to build
- * @param name flow name
- * @param options
- * @param network optional custom network
- */
- // @todo: @qballer please add return type
- async run(
- seeders: ComponentID[],
- name = 'build',
- options?: Partial,
- network?: Network
- ): Promise {
- const opts: ExecutionOptions = Object.assign(
- {
- caching: true,
- concurrency: 4,
- traverse: 'both',
- },
- options
- );
- network = network || this.createNetworkByFlowName(seeders, name, opts);
- const resultStream = await network.execute(opts);
- return resultStream;
- }
-
- /**
- * runs custom flow on network.
- *
- * @param flowsWithIds
- * @param options
- */
- async runMultiple(flowsWithIds: IdsAndFlows, options?: Partial) {
- const getFlow = (capsule: Capsule) => {
- const id = capsule.component.id;
- // @ts-ignore for some reason the capsule.component here is ConsumerComponent
- const value = flowsWithIds.getFlows(id);
- return Promise.resolve(new Flow(value || []));
- };
-
- const ids = flowsWithIds.map((withID) => new ComponentID(withID.id));
- const network = this.createNetwork(ids, getFlow);
- return this.runToPromise(ids, '', options || {}, network);
- }
-
- onWorkspaceLoaded(cb) {
- this.emitter.on('workspaceLoaded', cb);
- }
-}
-
-export class IdsAndFlows extends Array<{ id: BitId; value: string[] }> {
- getFlows(id: BitId): string[] | null {
- const found = this.find((item) => item.id.isEqual(id));
- return found ? found.value : null;
- }
- getFlowsIgnoreVersion(id: BitId): string[] | null {
- const found = this.find((item) => item.id.isEqualWithoutVersion(id));
- return found ? found.value : null;
- }
- getFlowsIgnoreScopeAndVersion(id: BitId): string[] | null {
- const found = this.find((item) => item.id.isEqualWithoutScopeAndVersion(id));
- return found ? found.value : null;
- }
- toString() {
- return this.map(({ id, value }) => `id: ${id}, task: ${value.join(', ')}`).join('; ');
- }
-}
diff --git a/scopes/pipelines/flows/index.ts b/scopes/pipelines/flows/index.ts
deleted file mode 100644
index 5cab66c7db8e..000000000000
--- a/scopes/pipelines/flows/index.ts
+++ /dev/null
@@ -1,7 +0,0 @@
-export { Flows, IdsAndFlows } from './flows';
-export { TASK_SEPARATOR, SCRIPT_FILENAME } from './task/task';
-export { flattenNestedMap, flattenReplaySubject } from './util/flatten-nested-map';
-export { createFakeCapsule } from './util/create-capsule';
-export { createGetGraphFn, createTestNetworkStream } from './util/create-fake-network';
-export type { FlowsMain } from './flows.main.runtime';
-export { FlowsAspect } from './flows.aspect';
diff --git a/scopes/pipelines/flows/network/index.ts b/scopes/pipelines/flows/network/index.ts
deleted file mode 100644
index 0c27e9d55f26..000000000000
--- a/scopes/pipelines/flows/network/index.ts
+++ /dev/null
@@ -1 +0,0 @@
-export { Network, GetFlow } from './network';
diff --git a/scopes/pipelines/flows/network/network.ts b/scopes/pipelines/flows/network/network.ts
deleted file mode 100644
index 65f489f16c4d..000000000000
--- a/scopes/pipelines/flows/network/network.ts
+++ /dev/null
@@ -1,172 +0,0 @@
-import { ComponentID } from '@teambit/component';
-import { Capsule } from '@teambit/isolator';
-import { Workspace } from '@teambit/workspace';
-import { Consumer } from '@teambit/legacy/dist/consumer';
-import DependencyGraph from '@teambit/legacy/dist/scope/graph/scope-graph';
-import { EventEmitter } from 'events';
-import { Graph } from 'graphlib';
-import { from, ReplaySubject } from 'rxjs';
-import { concatAll, filter, map, mergeAll, mergeMap, tap } from 'rxjs/operators';
-
-import { Flow } from '../flow';
-import { toposortByLevels } from '../util/sort-graph-by-levels';
-import { ExecutionOptions } from './options';
-import { createSubGraph, getNeighborsByDirection } from './sub-graph';
-
-export type GetFlow = (capsule: Capsule) => Promise;
-export type PostFlow = (capsule: Capsule) => Promise; // runs when finishes flow successfully
-
-type CacheValue = {
- visited: boolean;
- capsule: Capsule;
- result: any;
-};
-
-export type Cache = { [k: string]: CacheValue };
-
-export class Network {
- constructor(
- private workspace: Workspace,
- private seeders: ComponentID[],
- private getFlow: GetFlow,
- private getGraph = getWorkspaceGraph,
- private postFlow?: PostFlow,
- private emitter = new EventEmitter()
- ) {}
-
- async execute(options: ExecutionOptions) {
- const networkStream = new ReplaySubject();
- const startTime = new Date();
-
- networkStream.next({
- type: 'network:start',
- startTime,
- });
- const graph = await this.createGraph(options);
-
- const createCapsuleStartTime = new Date();
- networkStream.next({
- type: 'network:capsules:start',
- startTime: createCapsuleStartTime,
- });
-
- const visitedCache = await createCapsuleVisitCache(graph, this.workspace);
-
- networkStream.next({
- type: 'network:capsules:end',
- startTime: createCapsuleStartTime,
- duration: new Date().getTime() - createCapsuleStartTime.getTime(),
- });
-
- this.emitter.emit('workspaceLoaded', Object.keys(visitedCache).length);
- this.traverse(graph, networkStream, visitedCache, startTime);
- return networkStream;
- }
-
- onWorkspaceLoaded(cb) {
- this.emitter.on('workspaceLoaded', cb);
- }
-
- traverse(graph: Graph, stream: ReplaySubject, visitedCache: Cache, startTime: Date) {
- const sorted = toposortByLevels(graph);
- const getFlow = this.getFlow.bind(this);
- const postFlow = this.postFlow ? this.postFlow.bind(this) : null;
- from(sorted)
- .pipe(
- mergeMap((level) =>
- from(
- level.map((flowId) =>
- getFlow(visitedCache[flowId].capsule).then((flow) => {
- visitedCache[flowId].visited = true;
- return flow.execute(visitedCache[flowId].capsule);
- })
- )
- )
- ),
- concatAll(),
- map((flowStream) => {
- stream.next(flowStream);
- return flowStream;
- }),
- mergeAll(),
- filter((data: any) => data.type === 'flow:result'),
- tap((data) => (visitedCache[data.id.toString()].result = data)),
- tap((data) => handlePostFlow(postFlow, visitedCache[data.id.toString()]))
- )
- .subscribe({
- complete() {
- endNetwork(stream, startTime, visitedCache);
- },
- error(err: any) {
- handleNetworkError(err.id, graph, visitedCache, err);
- },
- });
- }
-
- private async createGraph(options: ExecutionOptions) {
- const fullGraph = await this.getGraph(this.workspace.consumer);
- if (this.seeders.length === 0) {
- return fullGraph;
- }
-
- const components = await this.workspace.getMany(this.seeders);
- const subGraph = createSubGraph(components, options, fullGraph);
- return subGraph;
- }
-}
-
-function handlePostFlow(postFlow: PostFlow | null, cacheValue: CacheValue) {
- if (postFlow) {
- postFlow(cacheValue.capsule).catch(() => {});
- }
-}
-
-function endNetwork(network: ReplaySubject, startTime: Date, visitedCache: Cache) {
- const endMessage = {
- type: 'network:result',
- startTime,
- duration: new Date().getTime() - startTime.getTime(),
- value: Object.entries(visitedCache).reduce((accum, [key, val]) => {
- accum[key] = {
- result: val.result,
- visited: val.visited,
- };
- return accum;
- }, {}),
- // eslint-disable-next-line no-bitwise
- code: !!~Object.entries(visitedCache).findIndex(
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- ([_k, value]: [string, CacheValue]) => !value.visited || value.result instanceof Error
- ),
- };
- network.next(endMessage);
- network.complete();
-}
-
-function handleNetworkError(seed: string, graph: Graph, visitedCache: Cache, err: any) {
- const dependents = getNeighborsByDirection(seed, graph);
- dependents
- .map((dependent) => {
- visitedCache[dependent].result = new Error(`Error due to ${seed}`);
- return dependent;
- })
- .forEach((dependent) => graph.removeNode(dependent));
- visitedCache[seed].result = err;
- graph.removeNode(seed);
-}
-
-async function createCapsuleVisitCache(graph: Graph, workspace: Workspace): Promise {
- const capsules = await workspace.loadCapsules(graph.nodes());
- return capsules.reduce((accum, curr) => {
- accum[curr.component.id.toString()] = {
- visited: false,
- capsule: curr,
- result: null,
- };
- return accum;
- }, {});
-}
-
-export function getWorkspaceGraph(consumer: Consumer) {
- return DependencyGraph.buildGraphFromWorkspace(consumer, false, true);
-}
diff --git a/scopes/pipelines/flows/network/options.ts b/scopes/pipelines/flows/network/options.ts
deleted file mode 100644
index 0b863b8c78c3..000000000000
--- a/scopes/pipelines/flows/network/options.ts
+++ /dev/null
@@ -1,5 +0,0 @@
-export type ExecutionOptions = {
- concurrency: number;
- traverse: 'only' | 'dependencies' | 'dependents' | 'both';
- caching: boolean;
-};
diff --git a/scopes/pipelines/flows/network/sub-graph.ts b/scopes/pipelines/flows/network/sub-graph.ts
deleted file mode 100644
index 2399f2bbc179..000000000000
--- a/scopes/pipelines/flows/network/sub-graph.ts
+++ /dev/null
@@ -1,41 +0,0 @@
-import { Component } from '@teambit/component';
-import { Graph } from 'graphlib';
-import { flatten, uniq } from 'ramda';
-
-import { ExecutionOptions } from './options';
-
-export function createSubGraph(components: Component[], options: ExecutionOptions, graph: Graph) {
- const shouldStay = uniq(
- flatten(
- components.map((comp) => {
- const id = comp.id.toString();
- const base = [id];
- let pre: string[] = [];
- let post: string[] = [];
- if (options.traverse === 'both' || options.traverse === 'dependencies') {
- pre = getNeighborsByDirection(id, graph, 'predecessors');
- }
- if (options.traverse === 'both' || options.traverse === 'dependents') {
- post = getNeighborsByDirection(id, graph);
- }
- return base.concat(post).concat(pre);
- })
- )
- );
-
- return graph.nodes().reduce((g, curr) => {
- if (!shouldStay.includes(curr)) {
- g.removeNode(curr);
- }
- return graph;
- }, graph);
-}
-
-export function getNeighborsByDirection(
- id: string,
- g: Graph,
- direction: 'predecessors' | 'successors' = 'successors'
-): string[] {
- const neighbors = g[direction](id) || [];
- return neighbors.concat(neighbors.map((pre) => flatten(getNeighborsByDirection(pre, g, direction))));
-}
diff --git a/scopes/pipelines/flows/task/container-script.js b/scopes/pipelines/flows/task/container-script.js
deleted file mode 100644
index 703ce4b6c90f..000000000000
--- a/scopes/pipelines/flows/task/container-script.js
+++ /dev/null
@@ -1,40 +0,0 @@
-/* eslint-disable @typescript-eslint/no-non-null-assertion */
-/* eslint-disable global-require */
-/* eslint-disable no-console */
-/* eslint-disable import/no-dynamic-require */
-
-function handleError(error) {
- process && process.send ? process.send({ error }) : console.error(error);
- process.exit(1);
-}
-
-const pathToTask = process.argv.find(function (value, index, arr) {
- if (!index) {
- return false;
- }
- return __filename.endsWith(arr[index - 1]);
-});
-
-let userTask;
-try {
- userTask = require(pathToTask);
-} catch (e) {
- handleError(new Error('script-container can not find user task'));
-}
-
-const toExecute = userTask.default || userTask;
-
-if (typeof toExecute === 'function') {
- const getPromisedResult = () => {
- const executed = toExecute();
- return executed && executed.then ? executed : Promise.resolve(executed);
- };
- getPromisedResult()
- .then((userTaskResult) => {
- process.on('beforeExit', async (code) => {
- const toSend = userTaskResult || { exitCode: code };
- process.send ? process.send(toSend) : Promise.resolve();
- });
- })
- .catch(handleError);
-}
diff --git a/scopes/pipelines/flows/task/execution-stream.ts b/scopes/pipelines/flows/task/execution-stream.ts
deleted file mode 100644
index 2604f39fac03..000000000000
--- a/scopes/pipelines/flows/task/execution-stream.ts
+++ /dev/null
@@ -1,50 +0,0 @@
-import { ContainerExec } from '@teambit/isolator';
-import logger from '@teambit/legacy/dist/logger/logger';
-import { ReplaySubject, Subject } from 'rxjs';
-
-export function listenToExecutionStream(exec: ContainerExec, id: string, time: Date = new Date()): Subject {
- logger.debug(`flowsExt, createExecutionStream of ${id} started`);
- let message: any = null;
- const subscriber = new ReplaySubject();
- subscriber.next({
- type: 'task:start',
- id,
- startTime: time,
- });
-
- exec.stdout.on('data', function (data) {
- subscriber.next({
- type: 'task:stdout',
- id,
- value: data.toString(),
- });
- });
-
- exec.stderr.on('data', function (data) {
- logger.error(`flowsExt, createExecutionStream of ${id} got error: ${data.toString()}`);
- subscriber.next({
- type: 'task:stderr',
- id,
- value: data.toString(),
- });
- });
-
- exec.on('message', function (data) {
- message = data;
- });
-
- exec.on('close', function () {
- logger.debug(`flowsExt, createExecutionStream of ${id} completed!`);
- const streamMessage = {
- type: 'task:result',
- id,
- value: message,
- startTime: time,
- duration: new Date().getTime() - time.getTime(),
- code: exec.code,
- };
- subscriber.next(streamMessage);
- subscriber.complete();
- });
- return subscriber;
-}
diff --git a/scopes/pipelines/flows/task/index.ts b/scopes/pipelines/flows/task/index.ts
deleted file mode 100644
index 291008f904d1..000000000000
--- a/scopes/pipelines/flows/task/index.ts
+++ /dev/null
@@ -1 +0,0 @@
-export { executeTask } from './task';
diff --git a/scopes/pipelines/flows/task/task.ts b/scopes/pipelines/flows/task/task.ts
deleted file mode 100644
index 62ba8d9f11f5..000000000000
--- a/scopes/pipelines/flows/task/task.ts
+++ /dev/null
@@ -1,99 +0,0 @@
-/* eslint-disable @typescript-eslint/no-floating-promises */
-/* eslint-disable max-classes-per-file */
-
-import { Capsule, ContainerExec } from '@teambit/isolator';
-import { join } from 'path';
-import { Subject } from 'rxjs';
-
-import { listenToExecutionStream } from './execution-stream';
-
-export const PackageMarker = '@';
-
-export const TASK_SEPARATOR = ':'; // separate between the package-name and the task file
-
-export const SCRIPT_FILENAME = '__bit_container.js';
-
-export function executeTask(task: string, capsule: Capsule): Subject {
- const isExtension = (taskString: string) => (taskString || '').trim().startsWith(PackageMarker);
-
- const time = new Date();
- const exec: ContainerExec = new ContainerExec();
- const stream = listenToExecutionStream(exec, `${capsule.component.id.toString()}:${task}`, time);
- if (isExtension(task)) {
- const { host, pathToScript } = createHostScript(capsule, task);
- capsule.execNode(host, { args: [pathToScript] }, exec);
- } else {
- capsule.typedExec(
- {
- command: task.trim().split(' '),
- stdio: 'ipc',
- cwd: '',
- } as any,
- exec
- );
- }
- return stream;
-}
-
-function createHostScript(capsule: Capsule, task: string) {
- const parts = task
- .trim()
- // .slice(1)
- .split(':');
- const containerScript = getContainerScript();
- capsule.fs.writeFileSync(SCRIPT_FILENAME, containerScript, { encoding: 'utf8' });
- return { host: SCRIPT_FILENAME, pathToScript: join(...parts) };
-}
-
-function getContainerScript() {
- return `function handleError(error) {
- process && process.send ? process.send({ error }) : console.error(error);
- process.exit(1);
- }
-
- const pathToTask = process.argv.find(function(value, index, arr) {
- if (!index) {
- return false;
- }
- return __filename.endsWith(arr[index - 1]) || arr[index - 1].endsWith(__filename);
- });
-
- let userTask;
- try {
- userTask = require(pathToTask);
- } catch (e) {
- process.send ? process.send(e) : console.error(e);
- handleError({ message: 'script-container can not find user task at ' + pathToTask });
- }
-
- const toExecute = userTask.default || userTask;
-
- if (typeof toExecute === 'function') {
- const getPromisedResult = () => {
- const executed = toExecute();
- return executed && executed.then ? executed : Promise.resolve(executed);
- };
- getPromisedResult()
- .then(userTaskResult => {
- process.on('beforeExit', async code => {
- const toSend = userTaskResult || { exitCode: code };
- process.send ? process.send(toSend) : console.log(toSend);
- });
- })
- .catch(err => {
- process.send ? process.send(err) : console.error(err);
- handleError(err);
- });
- }
- `;
-}
-
-/*
-{
- PackageMarker PipeMarker
- ^ ^
- | |
- build: ['#bit/envs.react:compile-ts', 'tsc -d', 'cp -r temp/ dist/', '*test', 'node node_modules/bin/tsc'],
- test: ['jest --something *.spec.js']
-}
-*/
diff --git a/scopes/pipelines/flows/util/create-capsule.ts b/scopes/pipelines/flows/util/create-capsule.ts
deleted file mode 100644
index c0c5b7ef4756..000000000000
--- a/scopes/pipelines/flows/util/create-capsule.ts
+++ /dev/null
@@ -1,52 +0,0 @@
-import { Console, State } from '@teambit/capsule';
-import { Component } from '@teambit/component';
-import { Capsule, FsContainer } from '@teambit/isolator';
-import { mkdirp, writeFile } from 'fs-extra';
-import { tmpdir } from 'os';
-import { dirname, join, resolve } from 'path';
-
-type CapsuleContent = { [k: string]: string };
-
-export async function createFakeCapsule(fs: CapsuleContent, id: string) {
- const bitId = { toString: () => id };
- const location = getFakeCapsuleLocation(id);
- await createFS(location, fs);
- const container = new FsContainer(location);
-
- const capsule = new Capsule(
- container,
- container.fs,
- // eslint-disable-next-line no-undef
- new Console(),
- ({} as any) as State,
- {
- id: bitId,
- } as Component
- );
- return capsule;
-}
-
-async function createFS(targetDir: string, content: CapsuleContent) {
- await mkdirp(targetDir);
- await Promise.all(
- Object.keys(content).map(async (key) => {
- const realPath = join(targetDir, key);
- const containingFolder = dirname(realPath);
- await mkdirp(containingFolder);
- const filePath = resolve(targetDir, key);
- await writeFile(filePath, content[key]);
- })
- );
-}
-
-export function getTestCase(name: string): CapsuleContent {
- const main = 'src/index.js';
- return {
- [main]: `console.log('hello-world)`,
- 'package.json': JSON.stringify({ main, name }, null, 2),
- };
-}
-
-export function getFakeCapsuleLocation(id: string) {
- return join(tmpdir(), id);
-}
diff --git a/scopes/pipelines/flows/util/create-fake-network.ts b/scopes/pipelines/flows/util/create-fake-network.ts
deleted file mode 100644
index d22f64678cf5..000000000000
--- a/scopes/pipelines/flows/util/create-fake-network.ts
+++ /dev/null
@@ -1,93 +0,0 @@
-/* eslint-disable @typescript-eslint/no-unused-vars */
-import { Component, ComponentID } from '@teambit/component';
-import { Capsule } from '@teambit/isolator';
-import { Workspace } from '@teambit/workspace';
-import { BitId } from '@teambit/legacy-bit-id';
-import { Consumer } from '@teambit/legacy/dist/consumer';
-import { Graph } from 'graphlib';
-import { ReplaySubject } from 'rxjs';
-
-import { Flow } from '../flow';
-import { Network } from '../network';
-import { ExecutionOptions } from '../network/options';
-import { createFakeCapsule, getFakeCapsuleLocation } from './create-capsule';
-
-export type GraphTestCase = {
- graph: { [id: string]: string[] };
- input: string[];
- options: ExecutionOptions;
-};
-
-export async function createTestNetworkStream(testCase: GraphTestCase): Promise> {
- const fakeGetGraph = createGetGraphFn(testCase);
- const fakeWorkSpace = createFakeWorkSpace(fakeGetGraph);
- const ids = testCase.input.map((val) => new ComponentID(BitId.parse(val)));
- const getFlow = (id: Capsule) => Promise.resolve(new Flow([`echo hello-${id.component.id}`]));
-
- const network = new Network(fakeWorkSpace, ids, getFlow, fakeGetGraph);
- return network.execute(testCase.options);
-}
-
-function createFakeWorkSpace(fakeGetGraph: (_consumer: Consumer) => Promise) {
- return ({
- getMany: (ids: Array) => {
- return Promise.resolve(
- ids.map((id) => {
- return {
- id: {
- toString: () => (typeof id === 'string' ? id : id.toString()),
- },
- } as Component;
- })
- );
- },
- loadCapsules: async (ids: string[]) => {
- const graph = await fakeGetGraph({} as Consumer);
- return Promise.all(ids.map((id) => createFakeCapsuleInGraph(id, graph)));
- },
- } as any) as Workspace;
-}
-
-export function createGetGraphFn(testCase: GraphTestCase) {
- return (_consumer: Consumer) => {
- const res = Object.entries(testCase.graph).reduce((accum, [key, value]) => {
- accum.setNode(key);
- value.forEach((val) => {
- accum.setNode(val);
- accum.setEdge(key, val);
- });
- return accum;
- }, new Graph());
-
- return Promise.resolve(res);
- };
-}
-
-async function createFakeCapsuleInGraph(name: string, graph: Graph) {
- const main = 'src/index.js';
- const dependencies = (graph.predecessors(name) || []).reduce((accum, dependency) => {
- accum[dependency] = `file://${getFakeCapsuleLocation(name)}`;
- return accum;
- }, {});
-
- const fs = {
- [main]: `
- ${Object.keys(dependencies)
- .map((dependency) => `const ${dependency.split('/')[1]} = require('${dependency}')`)
- .join('\n')}
- function printMe(){
- console.log('${Object.keys(dependencies)
- .map((dependency) => `${dependency.split('/')[1]}()` || ['hello', 'world'])
- .join('+')}')
- }
-
- module.exports = function () {
- return '${name}'
- }
- `,
- 'package.json': JSON.stringify({ main, name, dependencies }, null, 2),
- };
-
- const fakeCapsule = await createFakeCapsule(fs, name);
- return fakeCapsule;
-}
diff --git a/scopes/pipelines/flows/util/flatten-nested-map.ts b/scopes/pipelines/flows/util/flatten-nested-map.ts
deleted file mode 100644
index 2d169ecffbef..000000000000
--- a/scopes/pipelines/flows/util/flatten-nested-map.ts
+++ /dev/null
@@ -1,40 +0,0 @@
-import { ReplaySubject } from 'rxjs';
-import { flatMap } from 'rxjs/operators';
-
-type NetworkMessages = ReplaySubject>;
-type FlowMessages = ReplaySubject>;
-
-/**
- * takes a stream of higher order ReplaySubjects and flattens it recursively.
- *
- * @param toFlat ReplaySubject with nested messages
- */
-export function flattenReplaySubject(toFlat: ReplaySubject | ReplaySubject) {
- return toFlat.pipe(flattenNestedMap() as any);
-}
-
-/**
- * RxJS operator which flatten a nested stream of ReplaySubjects.
- *
- * @param isRecursive should flatten recursively or 1 level
- */
-export function flattenNestedMap(isRecursive = true) {
- return flatMap(function (toFlat: N | ReplaySubject>) {
- return toFlat instanceof ReplaySubject && isRecursive ? flattenReplaySubject(toFlat) : toReplaySubject(toFlat);
- }) as any;
-}
-
-/**
- * takes an object and creates a ReplaySubject from it.
- *
- * @param toSubject
- */
-export function toReplaySubject(toSubject: N | F | ReplaySubject>) {
- if (toSubject instanceof ReplaySubject) {
- return toSubject;
- }
- const subject = new ReplaySubject();
- subject.next(toSubject);
- subject.complete();
- return subject;
-}
diff --git a/scopes/pipelines/flows/util/sort-graph-by-levels.ts b/scopes/pipelines/flows/util/sort-graph-by-levels.ts
deleted file mode 100644
index 291ec016dc0e..000000000000
--- a/scopes/pipelines/flows/util/sort-graph-by-levels.ts
+++ /dev/null
@@ -1,57 +0,0 @@
-import { BitIdStr } from '@teambit/legacy-bit-id';
-import logger from '@teambit/legacy/dist/logger/logger';
-import { alg, Graph } from 'graphlib';
-
-type Level = {
- inEdgeCount: number;
- edges: string[];
-};
-
-export function toposortByLevels(graph: Graph, throwForCycles = false): Array {
- // @todo: @qballer, once you implement the option to not sort the graph, revisit the throwForCycles arg
- const cycles = alg.findCycles(graph);
- if (cycles.length) {
- // impossible to topsort
- if (throwForCycles) {
- throw new Error(`fatal: graphlib was unable to topsort the components. circles: ${cycles}`);
- }
- logger.warn(`unable to topsort. cycles: ${cycles}`);
- return [graph.nodes()]; // all nodes on the same level
- }
-
- return getGraphSorted(graph)
- .reduce((accum: Array, curr) => {
- const inEdges = graph.inEdges(curr);
- if (!accum.length) {
- accum.push({
- inEdgeCount: inEdges ? inEdges.length : 0,
- edges: [curr],
- });
- return accum;
- }
- if (!inEdges) {
- return accum;
- }
- const prevInEdges = accum[accum.length - 1].inEdgeCount;
- if (inEdges.length === prevInEdges) {
- accum[accum.length - 1].edges.push(curr);
- } else {
- accum.push({
- inEdgeCount: inEdges.length,
- edges: [curr],
- });
- }
- return accum;
- }, [])
- .map((level) => level.edges);
-}
-
-function getGraphSorted(graph: Graph): string[] {
- try {
- return alg.topsort(graph);
- } catch (err) {
- // should never arrive here, it's just a precaution, as topsort doesn't fail nicely
- logger.error(err);
- throw new Error(`fatal: graphlib was unable to topsort the components. ${err.toString()}`);
- }
-}
diff --git a/scopes/pkg/aspect-docs/pkg/pkg.composition.tsx b/scopes/pkg/aspect-docs/pkg/pkg.composition.tsx
index e4456db5bd4c..cda38906dcee 100644
--- a/scopes/pkg/aspect-docs/pkg/pkg.composition.tsx
+++ b/scopes/pkg/aspect-docs/pkg/pkg.composition.tsx
@@ -1,12 +1,12 @@
import React from 'react';
-import { ThemeContext } from '@teambit/documenter.theme.theme-context';
+import { ThemeCompositions } from '@teambit/documenter.theme.theme-compositions';
import { MDXLayout } from '@teambit/mdx.ui.mdx-layout';
import { Pkg } from './index';
export const PkgDocs = () => (
-
+
-
+
);
diff --git a/scopes/pkg/aspect-docs/pkg/pkg.docs.mdx b/scopes/pkg/aspect-docs/pkg/pkg.docs.mdx
index 048d7490aeac..a2fdfb3797f6 100644
--- a/scopes/pkg/aspect-docs/pkg/pkg.docs.mdx
+++ b/scopes/pkg/aspect-docs/pkg/pkg.docs.mdx
@@ -22,13 +22,13 @@ import { Pkg } from '@teambit/aspect-docs.pkg';
### Render with theme and Pkg providers
```js
-import { ThemeContext } from '@teambit/documenter.theme.theme-context';
+import { ThemeCompositions } from '@teambit/documenter.theme.theme-compositions';
import { PkgLayout } from '@teambit/ui.Pkg-layout';
import { Pkg } from '@teambit/aspect-docs.pkg';
-
+
-;
+;
```
diff --git a/scopes/pkg/pkg/publisher.ts b/scopes/pkg/pkg/publisher.ts
index af6b96c7570e..72f6eb7ab79b 100644
--- a/scopes/pkg/pkg/publisher.ts
+++ b/scopes/pkg/pkg/publisher.ts
@@ -10,7 +10,6 @@ import { BitError } from '@teambit/bit-error';
import { Scope } from '@teambit/legacy/dist/scope';
import mapSeries from 'p-map-series';
import execa from 'execa';
-import R from 'ramda';
import { PkgAspect } from './pkg.aspect';
export type PublisherOptions = {
@@ -57,8 +56,8 @@ export class Publisher {
if (this.options.dryRun) publishParams.push('--dry-run');
const extraArgs = this.getExtraArgsFromConfig(capsule.component);
if (extraArgs && Array.isArray(extraArgs) && extraArgs?.length) {
- const extraArgsSplit = extraArgs.map((arg) => arg.split(' '));
- publishParams.push(...R.flatten(extraArgsSplit));
+ const extraArgsSplit = extraArgs.map((arg) => arg.split(' ')).flat();
+ publishParams.push(...extraArgsSplit);
}
const publishParamsStr = publishParams.join(' ');
const cwd = capsule.path;
diff --git a/scopes/preview/aspect-docs/preview/preview.composition.tsx b/scopes/preview/aspect-docs/preview/preview.composition.tsx
index f7c30c7e7fea..5210d8d722e4 100644
--- a/scopes/preview/aspect-docs/preview/preview.composition.tsx
+++ b/scopes/preview/aspect-docs/preview/preview.composition.tsx
@@ -1,12 +1,12 @@
import React from 'react';
-import { ThemeContext } from '@teambit/documenter.theme.theme-context';
+import { ThemeCompositions } from '@teambit/documenter.theme.theme-compositions';
import { MDXLayout } from '@teambit/mdx.ui.mdx-layout';
import { Preview } from './index';
export const PreviewDocs = () => (
-
+
-
+
);
diff --git a/scopes/preview/aspect-docs/preview/preview.docs.mdx b/scopes/preview/aspect-docs/preview/preview.docs.mdx
index 1cdc2726ef76..44493b5b6ef5 100644
--- a/scopes/preview/aspect-docs/preview/preview.docs.mdx
+++ b/scopes/preview/aspect-docs/preview/preview.docs.mdx
@@ -22,13 +22,13 @@ import { Preview } from '@teambit/aspect-docs.preview';
### Render with theme and Preview providers
```jsx
-import { ThemeContext } from '@teambit/documenter.theme.theme-context';
+import { ThemeCompositions } from '@teambit/documenter.theme.theme-compositions';
import { MDXLayout } from '@teambit/ui.mdx-layout';
import { Preview } from '@teambit/aspect-docs.preview';
-
+
-;
+;
```
diff --git a/scopes/preview/cli/preview-server-status/preview-server-row.tsx b/scopes/preview/cli/preview-server-status/preview-server-row.tsx
index d70f435f0a77..f3ee39474adb 100644
--- a/scopes/preview/cli/preview-server-status/preview-server-row.tsx
+++ b/scopes/preview/cli/preview-server-status/preview-server-row.tsx
@@ -13,7 +13,7 @@ export function PreviewServerRow({ previewServer, verbose }: PreviewServerRowPro
{previewServer.context.envRuntime.id}
- {previewServer.context.relatedContexts.length ? (
+ {previewServer.context.relatedContexts.length && previewServer.context.relatedContexts.length > 1 ? (
{' '}
on behalf of
diff --git a/scopes/preview/preview/preview.main.runtime.tsx b/scopes/preview/preview/preview.main.runtime.tsx
index 29b713eb637d..e55937ea0ee4 100644
--- a/scopes/preview/preview/preview.main.runtime.tsx
+++ b/scopes/preview/preview/preview.main.runtime.tsx
@@ -4,12 +4,14 @@ import { PubsubAspect, PubsubMain } from '@teambit/pubsub';
import { MainRuntime } from '@teambit/cli';
import { Component, ComponentAspect, ComponentMain, ComponentMap, ComponentID } from '@teambit/component';
import { EnvsAspect, EnvsMain, ExecutionContext } from '@teambit/envs';
-import { Slot, SlotRegistry } from '@teambit/harmony';
+import { Slot, SlotRegistry, Harmony } from '@teambit/harmony';
import { UIAspect, UiMain } from '@teambit/ui';
import { CACHE_ROOT } from '@teambit/legacy/dist/constants';
import objectHash from 'object-hash';
+import { uniq } from 'lodash';
import { writeFileSync, existsSync, mkdirSync } from 'fs-extra';
import { join } from 'path';
+import { AspectDefinition, AspectLoaderMain, AspectLoaderAspect } from '@teambit/aspect-loader';
import WorkspaceAspect, { Workspace } from '@teambit/workspace';
import { PreviewArtifactNotFound, BundlingStrategyNotFound } from './exceptions';
import { generateLink } from './generate-link';
@@ -41,6 +43,11 @@ export type BundlingStrategySlot = SlotRegistry;
export class PreviewMain {
constructor(
+ /**
+ * harmony context.
+ */
+ private harmony: Harmony,
+
/**
* slot for preview definitions.
*/
@@ -50,6 +57,8 @@ export class PreviewMain {
private envs: EnvsMain,
+ private aspectLoader: AspectLoaderMain,
+
readonly config: PreviewConfig,
private bundlingStrategySlot: BundlingStrategySlot,
@@ -106,7 +115,7 @@ export class PreviewMain {
this.execContexts.set(context.id, context);
this.componentsByAspect.set(context.id, new RuntimeComponents(context.components));
- const previewRuntime = await this.writePreviewRuntime();
+ const previewRuntime = await this.writePreviewRuntime(context);
const linkFiles = await this.updateLinkFiles(context.components, context);
return [...linkFiles, previewRuntime];
@@ -133,20 +142,41 @@ export class PreviewMain {
return Promise.all(paths);
}
- async writePreviewRuntime() {
+ async writePreviewRuntime(context: { components: Component[] }) {
const ui = this.ui.getUi();
if (!ui) throw new Error('ui not found');
const [name, uiRoot] = ui;
- const filePath = await this.ui.generateRoot(
- await uiRoot.resolveAspects(PreviewRuntime.name),
- name,
- 'preview',
- PreviewAspect.id
- );
+ const resolvedAspects = await uiRoot.resolveAspects(PreviewRuntime.name);
+ const filteredAspects = this.filterAspectsByExecutionContext(resolvedAspects, context);
+ const filePath = await this.ui.generateRoot(filteredAspects, name, 'preview', PreviewAspect.id);
console.log('filePath', filePath);
return filePath;
}
+ /**
+ * Filter the aspects to have only aspects that are:
+ * 1. core aspects
+ * 2. configured on the host (workspace/scope)
+ * 3. used by at least one component from the context
+ * @param aspects
+ * @param context
+ */
+ private filterAspectsByExecutionContext(aspects: AspectDefinition[], context: { components: Component[] }) {
+ let allComponentContextAspects: string[] = [];
+ allComponentContextAspects = context.components.reduce((acc, curr) => {
+ return acc.concat(curr.state.aspects.ids);
+ }, allComponentContextAspects);
+ const hostAspects = Object.keys(this.harmony.config.toObject());
+ const allAspectsToInclude = uniq(hostAspects.concat(allComponentContextAspects));
+ const filtered = aspects.filter((aspect) => {
+ if (!aspect.getId) {
+ return false;
+ }
+ return this.aspectLoader.isCoreAspect(aspect.getId) || allAspectsToInclude.includes(aspect.getId);
+ });
+ return filtered;
+ }
+
private getDefaultStrategies() {
return [new EnvBundlingStrategy(this), new ComponentBundlingStrategy()];
}
@@ -222,6 +252,7 @@ export class PreviewMain {
EnvsAspect,
WorkspaceAspect,
PubsubAspect,
+ AspectLoaderAspect,
];
static defaultConfig = {
@@ -230,22 +261,26 @@ export class PreviewMain {
};
static async provider(
- [bundler, builder, componentExtension, uiMain, envs, workspace, pubsub]: [
+ [bundler, builder, componentExtension, uiMain, envs, workspace, pubsub, aspectLoader]: [
BundlerMain,
BuilderMain,
ComponentMain,
UiMain,
EnvsMain,
Workspace | undefined,
- PubsubMain
+ PubsubMain,
+ AspectLoaderMain
],
config: PreviewConfig,
- [previewSlot, bundlingStrategySlot]: [PreviewDefinitionRegistry, BundlingStrategySlot]
+ [previewSlot, bundlingStrategySlot]: [PreviewDefinitionRegistry, BundlingStrategySlot],
+ harmony: Harmony
) {
const preview = new PreviewMain(
+ harmony,
previewSlot,
uiMain,
envs,
+ aspectLoader,
config,
bundlingStrategySlot,
builder,
diff --git a/scopes/preview/preview/preview.route.ts b/scopes/preview/preview/preview.route.ts
index e164e3ffe35b..e63c18ac5649 100644
--- a/scopes/preview/preview/preview.route.ts
+++ b/scopes/preview/preview/preview.route.ts
@@ -28,7 +28,7 @@ export class PreviewRoute implements Route {
const str = `${file.cwd}/${file.path}`;
const contentType = mime.getType(str);
if (contentType) res.set('Content-Type', contentType);
- return res.send(contents.toString());
+ return res.send(contents);
},
];
}
diff --git a/scopes/preview/preview/strategies/env-strategy.ts b/scopes/preview/preview/strategies/env-strategy.ts
index 40322a82f736..689f874feaa2 100644
--- a/scopes/preview/preview/strategies/env-strategy.ts
+++ b/scopes/preview/preview/strategies/env-strategy.ts
@@ -84,7 +84,7 @@ export class EnvBundlingStrategy implements BundlingStrategy {
}
private async computePaths(outputPath: string, defs: PreviewDefinition[], context: BuildContext): Promise {
- const previewMain = await this.preview.writePreviewRuntime();
+ const previewMain = await this.preview.writePreviewRuntime(context);
const moduleMapsPromise = defs.map(async (previewDef) => {
const moduleMap = await previewDef.getModuleMap(context.components);
diff --git a/scopes/preview/ui/preview-placeholder/preview-placeholder.tsx b/scopes/preview/ui/preview-placeholder/preview-placeholder.tsx
index 7b294a4d6580..c61012f42a26 100644
--- a/scopes/preview/ui/preview-placeholder/preview-placeholder.tsx
+++ b/scopes/preview/ui/preview-placeholder/preview-placeholder.tsx
@@ -16,12 +16,19 @@ export function PreviewPlaceholder({
return selectDefaultComposition(component);
}, [component, shouldShowPreview]);
+ const name = component.id.toString();
+ if (component.buildStatus === 'pending')
+ return (
+
+ );
+
if (shouldShowPreview) {
return ;
}
- const name = component.id.toString();
-
return (
diff --git a/scopes/react/aspect-docs/react-native/react-native.composition.tsx b/scopes/react/aspect-docs/react-native/react-native.composition.tsx
index 2d7bf5a625b9..f92a3412c30d 100644
--- a/scopes/react/aspect-docs/react-native/react-native.composition.tsx
+++ b/scopes/react/aspect-docs/react-native/react-native.composition.tsx
@@ -1,12 +1,12 @@
import React from 'react';
-import { ThemeContext } from '@teambit/documenter.theme.theme-context';
+import { ThemeCompositions } from '@teambit/documenter.theme.theme-compositions';
import { MDXLayout } from '@teambit/mdx.ui.mdx-layout';
import { ReactNative } from './index';
export const ReactNativeDocs = () => (
-
+
-
+
);
diff --git a/scopes/react/aspect-docs/react-native/react-native.docs.mdx b/scopes/react/aspect-docs/react-native/react-native.docs.mdx
index 53cbff6c470d..4844f1441362 100644
--- a/scopes/react/aspect-docs/react-native/react-native.docs.mdx
+++ b/scopes/react/aspect-docs/react-native/react-native.docs.mdx
@@ -22,13 +22,13 @@ import { ReactNative } from '@teambit/react.aspect-docs.react-native';
### Render with theme and ReactNative providers
```js
-import { ThemeContext } from '@teambit/documenter.theme.theme-context';
+import { ThemeCompositions } from '@teambit/documenter.theme.theme-compositions';
import { MDXNativeLayout } from '@teambit/ui.mdx-layout';
import { ReactNative } from '@teambit/react.aspect-docs.react-native';
-
+
-;
+;
```
diff --git a/scopes/react/aspect-docs/react-native/react-native.mdx b/scopes/react/aspect-docs/react-native/react-native.mdx
index 8b60954ebca7..5c52bf7cf5fb 100644
--- a/scopes/react/aspect-docs/react-native/react-native.mdx
+++ b/scopes/react/aspect-docs/react-native/react-native.mdx
@@ -804,3 +804,141 @@ export class ReactNativeEnv implements Environment {
}
}
```
+
+## FAQ
+
+### Compositions issues
+
+```
+You may need an appropriate loader to handle this file type...
+```
+
+This error can show up for multiple reason, and one of the most popular is because we use a library in a React Native component that uses Native API's.
+As the local Bit Dev Server runs on the Web it can't work properly with API's that are meant to be run on a mobile device.
+So components that are using a library that use Native API's cannot be rendered on the web, because the Native API's are unavailable.
+
+One way to solve it is to see if the library has support for Web and update your code to also be Web compatible.
+If not, the second way to solve this is to search for a parallel library with Web support and make a Webpack aliases in a Bit React Native extension inside your project, and then configure the extension to make a Webpack alises.
+
+If for some reason a library doesn't have a parallel library for the web and doesn't have built in Websupport, you can't make the composition work on the local Bit dev server.
+
+For example, [`react-native-svg`](https://github.com/react-native-svg/react-native-svg) library has a parallel library called [`react-native-svg-web`](https://github.com/bakerface/react-native-svg-web).
+Let's create a React Native extension and add a `webpack-transformers.ts` file in the extension under `webpack` folder, the file looks like this:
+
+```ts
+import { WebpackConfigTransformer, WebpackConfigMutator, WebpackConfigTransformContext } from '@teambit/webpack';
+
+/**
+ * Transformation to apply for both preview and dev server
+ * @param config
+ * @param _context
+ */
+// eslint-disable-next-line @typescript-eslint/no-unused-vars
+function commonTransformation(config: WebpackConfigMutator, _context: WebpackConfigTransformContext) {
+ // Merge config with the webpack.config.js file - adding handlebars support
+ // config.merge([webpackConfig]);
+ config.addAliases({
+ 'react-native-svg': require.resolve('react-native-svg-web'),
+ 'react-native-web': require.resolve('react-native-web'),
+ });
+ return config;
+}
+
+/**
+ * Transformation for the preview only
+ * @param config
+ * @param context
+ * @returns
+ */
+export const previewConfigTransformer: WebpackConfigTransformer = (
+ config: WebpackConfigMutator,
+ context: WebpackConfigTransformContext
+) => {
+ const newConfig = commonTransformation(config, context);
+ return newConfig;
+};
+
+/**
+ * Transformation for the dev server only
+ * @param config
+ * @param context
+ * @returns
+ */
+export const devServerConfigTransformer: WebpackConfigTransformer = (
+ config: WebpackConfigMutator,
+ context: WebpackConfigTransformContext
+) => {
+ const newConfig = commonTransformation(config, context);
+ return newConfig;
+};
+```
+
+And then in the main file of the extension we created, let's add the import of the Webpack transformers:
+
+```ts
+import { EnvsMain, EnvsAspect } from '@teambit/envs';
+import { ReactNativeAspect, ReactNativeMain } from '@teambit/react-native';
+import { previewConfigTransformer, devServerConfigTransformer } from './webpack/webpack-transformers';
+
+export class CustomReactNativeExtension {
+ constructor(private reactNative: ReactNativeMain) {}
+
+ static dependencies: any = [EnvsAspect, ReactNativeAspect];
+
+ static async provider([envs, reactNative]: [EnvsMain, ReactNativeMain]) {
+ const CustomReactNativeEnv = reactNative.compose([
+ /*
+ Use any of the "reactNative.override..." transformers to
+ */
+ reactNative.useWebpack({
+ previewConfig: [previewConfigTransformer],
+ devServerConfig: [devServerConfigTransformer],
+ }),
+ ]);
+
+ envs.registerEnv(CustomReactNativeEnv);
+
+ return new CustomReactNativeExtension(reactNative);
+ }
+}
+```
+
+This will add the Webpack aliases to the Webpack configurations and solve the issue.
+One last thing we need to do, is to add the peer dependencies of the parallel library we use to the dependency resolver of the extension in the variants section in `workspace.jsonc` file:
+
+```json
+{
+ "teambit.workspace/variants": {
+ // ...
+ "[some]/[variant]": {
+ "[yourscope]/extensions/custom-react-native": {}
+ },
+ "extensions/custom-react-native": {
+ "teambit.harmony/aspect": {},
+ "teambit.dependencies/dependency-resolver": {
+ "policy": {
+ "dependencies": {
+ "react-native-svg-web": "1.0.9",
+ "react-native-web": "0.16.2",
+ "prop-types": "15.7.2"
+ }
+ }
+ }
+ }
+ // ...
+ }
+}
+```
+
+In this case `react-native-svg-web` has these dependencies in the peer dependencies:
+
+```json
+"peerDependencies": {
+ "prop-types": "*",
+ "react": "*",
+ "react-native-web": ">= 0.10.1"
+},
+```
+
+So we need to add them as the dependencies of the extension so it will work properly.
+Now every component that will use the `react-native-svg` library will work fine with the compositions, and this solution can be used for every other library that use Native API's.
diff --git a/scopes/react/aspect-docs/react/react.composition.tsx b/scopes/react/aspect-docs/react/react.composition.tsx
index fae69f54a6ba..498d3f82ff6e 100644
--- a/scopes/react/aspect-docs/react/react.composition.tsx
+++ b/scopes/react/aspect-docs/react/react.composition.tsx
@@ -1,12 +1,12 @@
import React from 'react';
-import { ThemeContext } from '@teambit/documenter.theme.theme-context';
+import { ThemeCompositions } from '@teambit/documenter.theme.theme-compositions';
import { MDXLayout } from '@teambit/mdx.ui.mdx-layout';
import { ReactAspect } from './index';
export const ReactDocs = () => (
-
+
-
+
);
diff --git a/scopes/react/aspect-docs/react/react.docs.mdx b/scopes/react/aspect-docs/react/react.docs.mdx
index fef8f33c176e..9dbaf05779d8 100644
--- a/scopes/react/aspect-docs/react/react.docs.mdx
+++ b/scopes/react/aspect-docs/react/react.docs.mdx
@@ -22,13 +22,13 @@ import { ReactAspect } from '@teambit/react.aspect-docs.react';
### Render with theme and React providers
```js
-import { ThemeContext } from '@teambit/documenter.theme.theme-context';
+import { ThemeCompositions } from '@teambit/documenter.theme.theme-compositions';
import { MDXLayout } from '@teambit/ui.mdx-layout';
import { ReactAspect } from '@teambit/react.aspect-docs.react';
-
+
-;
+;
```
diff --git a/scopes/react/aspect-docs/react/react.mdx b/scopes/react/aspect-docs/react/react.mdx
index 3aa56a537aaa..94c6fef42556 100644
--- a/scopes/react/aspect-docs/react/react.mdx
+++ b/scopes/react/aspect-docs/react/react.mdx
@@ -273,7 +273,7 @@ export class ReactExtension {
#### `overridePreviewConfig(config: Configuration): EnvTransformer`
Merges the Webpack configuration for the 'Preview' environment service, with the contents of your [webpack configuration file](https://webpack.js.org/configuration/).
-This webpack configuration is used for building and rendering your components on the local dev server.
+This webpack configuration is used for building and rendering your components for production (during `bit tag` or `bit build`).
```ts
// ...
@@ -291,7 +291,7 @@ export class ReactExtension {
#### `overrideDevServerConfig(config: Configuration): EnvTransformer`
Merges the Webpack configuration for the 'DevServer' environment service, with the contents of your [webpack configuration file](https://webpack.js.org/configuration/).
-This configuration is used for building and rendering the dev server UI (but not your components, which use the PreviewConfig)
+This configuration is used for building and rendering your components in the local dev server.
```ts
// ...
diff --git a/scopes/react/component-highlighter/component-highlighter/component-highlighter.module.scss b/scopes/react/component-highlighter/component-highlighter/component-highlighter.module.scss
index 443ea7bff3b3..996c0c3be3ef 100644
--- a/scopes/react/component-highlighter/component-highlighter/component-highlighter.module.scss
+++ b/scopes/react/component-highlighter/component-highlighter/component-highlighter.module.scss
@@ -2,6 +2,7 @@
border: solid var(--border-color, #ededed);
border-width: 0px;
box-sizing: border-box;
+ height: 100%;
transition: border 300ms;
@@ -11,7 +12,6 @@
&.active {
border-width: 8px;
- height: 100vh;
overflow: auto;
}
}
diff --git a/scopes/react/eslint-config-bit-react/component.json b/scopes/react/eslint-config-bit-react/component.json
index 81e70bd0d841..efce6acf4eb5 100644
--- a/scopes/react/eslint-config-bit-react/component.json
+++ b/scopes/react/eslint-config-bit-react/component.json
@@ -27,7 +27,7 @@
},
"peerDependencies": {
"eslint": "> 7.0.0",
- "@teambit/legacy": "1.0.89"
+ "@teambit/legacy": "1.0.98"
}
}
}
diff --git a/scopes/react/react-native/component.json b/scopes/react/react-native/component.json
index f524804ae295..b0631bafbb9a 100644
--- a/scopes/react/react-native/component.json
+++ b/scopes/react/react-native/component.json
@@ -39,14 +39,14 @@
},
"devDependencies": {
"@teambit/legacy": "-",
- "@types/react": "^16.8.0",
- "@types/react-dom": "^16.8.0"
+ "@types/react": "^17.0.8",
+ "@types/react-dom": "^17.0.5"
},
"peerDependencies": {
- "react": "^16.8.0",
- "react-dom": "^16.8.0",
- "react-native-web": "^0.14.0",
- "@teambit/legacy": "1.0.89"
+ "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.98"
}
}
},
@@ -54,4 +54,4 @@
"env": "teambit.harmony/aspect"
}
}
-}
\ No newline at end of file
+}
diff --git a/scopes/react/react-native/react-native.main.runtime.ts b/scopes/react/react-native/react-native.main.runtime.ts
index 8808af94d57f..8e99a309d976 100644
--- a/scopes/react/react-native/react-native.main.runtime.ts
+++ b/scopes/react/react-native/react-native.main.runtime.ts
@@ -32,7 +32,7 @@ export class ReactNativeMain {
* override the TS config of the environment.
*/
overrideTsConfig: (
- tsconfig: TsConfigSourceFile,
+ tsconfig?: TsConfigSourceFile,
compilerOptions?: Partial
,
tsModule?: any
) => EnvTransformer = this.react.overrideTsConfig.bind(this.react);
@@ -51,7 +51,7 @@ export class ReactNativeMain {
* override the build ts config.
*/
overrideBuildTsConfig: (
- tsconfig: any,
+ tsconfig?: TsConfigSourceFile,
compilerOptions?: Partial
) => EnvTransformer = this.react.overrideBuildTsConfig.bind(this.react);
@@ -118,15 +118,15 @@ function getReactNativeDeps() {
'react-dom': '-',
'react-native': '-',
'@types/jest': '^26.0.0',
- '@types/react': '^16.8.0',
- '@types/react-dom': '^16.8.0',
- '@types/react-native': '^0.63.0',
+ '@types/react': '^17.0.8',
+ '@types/react-dom': '^17.0.5',
+ '@types/react-native': '^0.64.1',
},
peerDependencies: {
- react: '^16.8.0',
- 'react-dom': '^16.8.0',
- 'react-native': '^0.63.0',
- 'react-native-web': '^0.14.0',
+ react: '^16.8.0 || ^17.0.0',
+ 'react-dom': '^16.8.0 || ^17.0.0',
+ 'react-native': '^0.64.1',
+ 'react-native-web': '^0.16.0',
},
};
}
diff --git a/scopes/react/react-native/webpack/webpack.config.js b/scopes/react/react-native/webpack/webpack.config.js
index e87ea63cfd33..5a02d697312d 100644
--- a/scopes/react/react-native/webpack/webpack.config.js
+++ b/scopes/react/react-native/webpack/webpack.config.js
@@ -27,7 +27,7 @@ module.exports = {
react: require.resolve('react'),
'react-dom/server': require.resolve('react-dom/server'),
'react-native$': require.resolve('react-native-web'),
- 'react-dom/unstable-native-dependencies': require.resolve('react-dom/unstable-native-dependencies'),
+ // 'react-dom/unstable-native-dependencies': require.resolve('react-dom/unstable-native-dependencies'),
// 'react-refresh/runtime': require.resolve('react-refresh/runtime'),
},
},
diff --git a/scopes/react/react/bootstrap.tsx b/scopes/react/react/bootstrap.tsx
index e9efdfaaf775..98052df952ff 100644
--- a/scopes/react/react/bootstrap.tsx
+++ b/scopes/react/react/bootstrap.tsx
@@ -1,48 +1,17 @@
-import React, { ComponentType, ReactNode } from 'react';
+import React from 'react';
import ReactDOM from 'react-dom';
import { RenderingContext } from '@teambit/preview';
-import { StandaloneNotFoundPage } from '@teambit/design.ui.pages.standalone-not-found-page';
-import { ReactAspect } from './react.aspect';
-function wrap(Component: ComponentType, WrapperComponent?: ComponentType): ComponentType {
- function Wrapper({ children }: { children?: ReactNode }) {
- if (!WrapperComponent) return {children};
-
- return (
-
- {children}
-
- );
- }
-
- return Wrapper;
-}
-
-/**
- * HOC to wrap and mount all registered providers into the DOM.
- */
-export function withProviders(providers: ComponentType[] = []) {
- return providers.reduce(
- (MainProvider, Provider) => {
- if (!MainProvider) return wrap(Provider);
- return wrap(Provider, MainProvider);
- },
- ({ children }) => {children}
- );
-}
+import { CompositionsApp } from './compositions-app';
/**
* this mounts compositions into the DOM in the component preview.
* this function can be overridden through ReactAspect.overrideCompositionsMounter() API
* to apply custom logic for component DOM mounting.
*/
-export default (Composition: React.ComponentType = StandaloneNotFoundPage, previewContext: RenderingContext) => {
- const reactContext = previewContext.get(ReactAspect.id);
- const Provider = withProviders(reactContext?.providers);
+export default (Composition: React.ComponentType, previewContext: RenderingContext) => {
ReactDOM.render(
-
-
- ,
+ ,
document.getElementById('root')
);
};
diff --git a/scopes/react/react/component.json b/scopes/react/react/component.json
index 75e4cef4ef2b..bd98d60504d1 100644
--- a/scopes/react/react/component.json
+++ b/scopes/react/react/component.json
@@ -28,11 +28,9 @@
"eslint-plugin-jsx-a11y": "6.4.1",
"react-app-polyfill": "1.0.6",
"resolve-url-loader": "3.1.2",
- "file-loader": "6.2.0",
"@mdx-js/react": "1.6.22",
"jest-environment-jsdom": "26.6.2",
"identity-obj-proxy": "3.0.0",
- "url-loader": "4.1.1",
"jest-watch-typeahead": "0.6.1",
"babel-plugin-named-asset-import": "0.3.7",
"babel-loader": "8.2.2",
@@ -55,13 +53,13 @@
"@teambit/legacy": "-",
"@types/mocha": "5.2.7",
"@types/node": "12.20.4",
- "@types/react": "^16.8.0",
- "@types/react-dom": "^16.8.0"
+ "@types/react": "^17.0.8",
+ "@types/react-dom": "^17.0.5"
},
"peerDependencies": {
"react": "^16.8.0 || ^17.0.0",
"react-dom": "^16.8.0 || ^17.0.0",
- "@teambit/legacy": "1.0.89"
+ "@teambit/legacy": "1.0.98"
}
}
}
diff --git a/scopes/react/react/compositions-app.tsx b/scopes/react/react/compositions-app.tsx
new file mode 100644
index 000000000000..098a24b50e08
--- /dev/null
+++ b/scopes/react/react/compositions-app.tsx
@@ -0,0 +1,26 @@
+import React from 'react';
+import { Composer } from '@teambit/base-ui.utils.composer';
+import { StandaloneNotFoundPage } from '@teambit/design.ui.pages.standalone-not-found-page';
+import { RenderingContext } from '@teambit/preview';
+import { ErrorFallback } from '@teambit/react.ui.error-fallback';
+import { ErrorBoundary } from 'react-error-boundary';
+import { ReactAspect } from './react.aspect';
+
+export function CompositionsApp({
+ Composition = StandaloneNotFoundPage,
+ previewContext,
+}: {
+ Composition?: React.ComponentType;
+ previewContext: RenderingContext;
+}) {
+ const reactContext = previewContext.get(ReactAspect.id);
+ const providers = reactContext?.providers || [];
+
+ return (
+
+
+
+
+
+ );
+}
diff --git a/scopes/react/react/docs/base.tsx b/scopes/react/react/docs/base.tsx
index 0699d3affa62..0b9cccaca2f6 100644
--- a/scopes/react/react/docs/base.tsx
+++ b/scopes/react/react/docs/base.tsx
@@ -1,11 +1,13 @@
-import 'reset-css';
-import React, { HTMLAttributes } from 'react';
-import { docsFile } from '@teambit/documenter.types.docs-file';
+import React, { HTMLAttributes, useMemo } from 'react';
+import { ErrorBoundary } from 'react-error-boundary';
import classNames from 'classnames';
+import flatten from 'lodash.flatten';
+import { docsFile } from '@teambit/documenter.types.docs-file';
import { isFunction } from 'ramda-adjunct';
+import { Composer } from '@teambit/base-ui.utils.composer';
import { MDXLayout } from '@teambit/mdx.ui.mdx-layout';
+import { ErrorFallback } from '@teambit/react.ui.error-fallback';
import { RenderingContext } from '@teambit/preview';
-import { withProviders } from '../mount';
import { ReactAspect } from '../react.aspect';
import styles from './base.module.scss';
import { ComponentOverview } from './component-overview';
@@ -33,6 +35,9 @@ const defaultDocs = {
export function Base({ docs = defaultDocs, componentId, compositions, renderingContext, ...rest }: DocsSectionProps) {
const { loading, error, data } = useFetchDocs(componentId);
+ const rawProviders = renderingContext.get(ReactAspect.id);
+ const reactContext = useMemo(() => flatten(Object.values(rawProviders || {})), [rawProviders]);
+
if (!data || loading) return null;
if (loading) return null;
if (error) throw error;
@@ -42,8 +47,6 @@ export function Base({ docs = defaultDocs, componentId, compositions, renderingC
const { examples = [], labels = [], abstract = docsModel.abstract } = docs;
const { displayName, version, packageName, description } = component;
const Content: any = isFunction(docs.default) ? docs.default : () => null;
- const reactContext = renderingContext.get(ReactAspect.id);
- const Provider = withProviders(reactContext?.providers);
return (
@@ -55,23 +58,27 @@ export function Base({ docs = defaultDocs, componentId, compositions, renderingC
packageName={packageName}
/>
-
- {Content.isMDXComponent ? (
-
-
+
+
+
+ {Content.isMDXComponent ? (
+
+
+
+
+
+ ) : (
-
-
- ) : (
-
- )}
+ )}
+
-
+
-
+
-
-
+
+
+
);
}
diff --git a/scopes/react/react/docs/docs-app.tsx b/scopes/react/react/docs/docs-app.tsx
index 1e1443453f21..de0402802a1f 100644
--- a/scopes/react/react/docs/docs-app.tsx
+++ b/scopes/react/react/docs/docs-app.tsx
@@ -1,3 +1,4 @@
+import 'reset-css';
import React, { PropsWithChildren } from 'react';
import { docsFile } from '@teambit/documenter.types.docs-file';
import { ThemeContext } from '@teambit/documenter.theme.theme-context';
diff --git a/scopes/react/react/react-app-options.ts b/scopes/react/react/react-app-options.ts
index ef9c27703951..57c67e53289d 100644
--- a/scopes/react/react/react-app-options.ts
+++ b/scopes/react/react/react-app-options.ts
@@ -10,12 +10,7 @@ export type ReactAppOptions = {
/**
* path to entry files of the application.
*/
- buildEntry: string[];
-
- /**
- * absolute path to entry files of the application.
- */
- runEntry: string[];
+ entry: string[];
/**
* use server-side rendering for the app.
diff --git a/scopes/react/react/react.application.ts b/scopes/react/react/react.application.ts
index 84fef5685017..124e96720feb 100644
--- a/scopes/react/react/react.application.ts
+++ b/scopes/react/react/react.application.ts
@@ -1,16 +1,15 @@
-import { join } from 'path';
+import { join, basename } from 'path';
+import { Capsule } from '@teambit/isolator';
import { Application, AppContext, DeployContext } from '@teambit/application';
import { BuildContext } from '@teambit/builder';
import { Bundler, BundlerContext, DevServerContext } from '@teambit/bundler';
-import getPort from 'get-port';
-import { ComponentID } from '@teambit/component';
+import { Port } from '@teambit/toolbox.network.get-port';
import { ReactEnv } from './react.env';
export class ReactApp implements Application {
constructor(
readonly name: string,
- readonly buildEntry: string[],
- readonly runEntry: string[],
+ readonly entry: string[],
readonly portRange: number[],
private reactEnv: ReactEnv,
private rootPath: string,
@@ -27,23 +26,18 @@ export class ReactApp implements Application {
return configMutator;
},
]);
- const port = await getPort({ port: this.portRange });
+ const [from, to] = this.portRange;
+ const port = await Port.getPort(from, to);
devServer.listen(port);
return port;
}
- async build(context: BuildContext, aspectId: string): Promise {
- const capsules = context.capsuleNetwork.seedersCapsules;
- const appCapsule = capsules.find(
- (capsule) =>
- capsule.component.id.toStringWithoutVersion() === ComponentID.fromString(aspectId).toStringWithoutVersion()
- );
-
- if (!appCapsule)
- return Object.assign(context, { applicationType: this.applicationType, aspectId, publicDir: null });
+ async build(context: BuildContext, aspectId: string, appCapsule: Capsule): Promise {
+ const reactEnv: ReactEnv = context.env;
const publicDir = join('applications', this.name, 'build');
const outputPath = join(appCapsule.path, publicDir);
- const entries = this.buildEntry.map((entry) => require.resolve(`${appCapsule.path}/${entry}`));
+ const { distDir } = reactEnv.getCompiler();
+ const entries = this.entry.map((entry) => require.resolve(`${appCapsule.path}/${distDir}/${basename(entry)}`));
const bundlerContext: BundlerContext = Object.assign(context, {
targets: [
{
@@ -55,7 +49,6 @@ export class ReactApp implements Application {
entry: [],
rootPath: '/',
});
- const reactEnv: ReactEnv = context.env;
const bundler: Bundler = await reactEnv.getBundler(bundlerContext, [
(configMutator) => {
configMutator.addTopLevel('output', { path: join(outputPath, 'public'), publicPath: `/` });
@@ -66,14 +59,14 @@ export class ReactApp implements Application {
const deployContext = Object.assign(context, {
applicationType: this.applicationType,
aspectId,
- publicDir: join(publicDir, 'public'),
+ publicDir: join(appCapsule.path, publicDir, 'public'),
});
return deployContext;
}
private getDevServerContext(context: AppContext): DevServerContext {
return Object.assign(context, {
- entry: this.runEntry,
+ entry: this.entry,
rootPath: '',
publicPath: `public/${this.name}`,
title: this.name,
diff --git a/scopes/react/react/react.env.ts b/scopes/react/react/react.env.ts
index 2ff07b3c3a2a..3f8d1f9d3555 100644
--- a/scopes/react/react/react.env.ts
+++ b/scopes/react/react/react.env.ts
@@ -274,11 +274,13 @@ export class ReactEnv implements Environment {
'react-dom': '-',
'@types/mocha': '-',
'@types/node': '12.20.4',
- '@types/react': '^16.8.0',
+ '@types/react': '^17.0.8',
+ '@types/react-dom': '^17.0.5',
'@types/jest': '^26.0.0',
// '@types/react-router-dom': '^5.0.0', // TODO - should not be here (!)
// This is added as dev dep since our jest file transformer uses babel plugins that require this to be installed
'@babel/runtime': '7.12.18',
+ '@types/testing-library__jest-dom': '5.9.5',
},
// TODO: take version from config
peerDependencies: {
@@ -293,17 +295,19 @@ export class ReactEnv implements Environment {
*/
getBuildPipe(
tsconfig?: TsConfigSourceFile,
- compilerOptions: Partial = {}
+ compilerOptions: Partial = {},
+ tsModule = ts
): BuildTask[] {
- return [this.getCompilerTask(tsconfig, compilerOptions), this.tester.task];
+ return [this.getCompilerTask(tsconfig, compilerOptions, tsModule), this.tester.task];
}
private getCompilerTask(
tsconfig?: TsConfigSourceFile,
- compilerOptions: Partial = {}
+ compilerOptions: Partial = {},
+ tsModule = ts
) {
const targetConfig = this.getBuildTsConfig(tsconfig);
- return this.compiler.createTask('TSCompiler', this.getCompiler(targetConfig, compilerOptions));
+ return this.compiler.createTask('TSCompiler', this.getCompiler(targetConfig, compilerOptions, tsModule));
}
async __getDescriptor() {
diff --git a/scopes/react/react/react.main.runtime.ts b/scopes/react/react/react.main.runtime.ts
index 746b51311dde..0c056eb3dcca 100644
--- a/scopes/react/react/react.main.runtime.ts
+++ b/scopes/react/react/react.main.runtime.ts
@@ -94,7 +94,7 @@ export class ReactMain {
* @param tsModule typeof `ts` module instance.
*/
overrideTsConfig(
- tsconfig: TsConfigSourceFile,
+ tsconfig?: TsConfigSourceFile,
compilerOptions: Partial = {},
tsModule: any = ts
) {
@@ -110,10 +110,14 @@ export class ReactMain {
/**
* override the build tsconfig.
*/
- overrideBuildTsConfig(tsconfig, compilerOptions: Partial = {}) {
+ overrideBuildTsConfig(
+ tsconfig?: TsConfigSourceFile,
+ compilerOptions: Partial = {},
+ tsModule: any = ts
+ ) {
return this.envs.override({
getBuildPipe: () => {
- return this.reactEnv.getBuildPipe(tsconfig, compilerOptions);
+ return this.reactEnv.getBuildPipe(tsconfig, compilerOptions, tsModule);
},
});
}
@@ -126,8 +130,7 @@ export class ReactMain {
this.application.registerApp(
new ReactApp(
options.name,
- options.buildEntry,
- options.runEntry,
+ options.entry,
options.portRange || [3000, 4000],
this.reactEnv,
this.workspace.path,
@@ -179,6 +182,14 @@ export class ReactMain {
});
}
+ overrideMounter(mounterPath: string) {
+ return this.envs.override({
+ getMounter: () => {
+ return mounterPath;
+ },
+ });
+ }
+
/**
* create a new composition of the react environment.
*/
diff --git a/scopes/react/react/webpack/webpack.config.base.preview.ts b/scopes/react/react/webpack/webpack.config.base.preview.ts
index 2c2ac58f7700..ed33c173a57a 100644
--- a/scopes/react/react/webpack/webpack.config.base.preview.ts
+++ b/scopes/react/react/webpack/webpack.config.base.preview.ts
@@ -165,6 +165,8 @@ export default function (): Configuration {
extensions: moduleFileExtensions.map((ext) => `.${ext}`),
alias: {
+ 'react/jsx-dev-runtime': require.resolve('react/jsx-dev-runtime.js'),
+ 'react/jsx-runtime': require.resolve('react/jsx-runtime.js'),
// Support React Native Web
// https://www.smashingmagazine.com/2016/08/a-glimpse-into-the-future-with-react-native-for-web/
// TODO: @uri please remember to remove after publishing evangelist and base-ui
@@ -172,9 +174,8 @@ export default function (): Configuration {
'@teambit/mdx.ui.mdx-scope-context': require.resolve('@teambit/mdx.ui.mdx-scope-context'),
'react-dom/server': require.resolve('react-dom/server'),
'react-dom': require.resolve('react-dom'),
- // TODO: move to react-native only
- 'react-native': 'react-native-web',
'@mdx-js/react': require.resolve('@mdx-js/react'),
+
// Allows for better profiling with ReactDevTools
...(isEnvProductionProfile && {
'react-dom$': 'react-dom/profiling',
@@ -252,17 +253,6 @@ export default function (): Configuration {
compact: isEnvProduction,
},
},
- // "url" loader works like "file" loader except that it embeds assets
- // smaller than specified limit in bytes as data URLs to avoid requests.
- // A missing `test` is equivalent to a match.
- {
- test: [/\.bmp$/, /\.gif$/, /\.jpe?g$/, /\.png$/],
- loader: require.resolve('url-loader'),
- options: {
- limit: imageInlineSizeLimit,
- name: 'static/media/[name].[hash:8].[ext]',
- },
- },
// Process any JS outside of the app with Babel.
// Unlike the application JS, we only compile the standard ES features.
// Probably not needed in our use case
@@ -377,21 +367,29 @@ export default function (): Configuration {
'less-loader'
),
},
+
+ {
+ test: [/\.bmp$/, /\.gif$/, /\.jpe?g$/, /\.png$/],
+ type: 'asset',
+ parser: {
+ dataUrlCondition: {
+ maxSize: imageInlineSizeLimit,
+ },
+ },
+ },
+
// "file" loader makes sure those assets get served by WebpackDevServer.
// When you `import` an asset, you get its (virtual) filename.
// In production, they would get copied to the `build` folder.
// This loader doesn't use a "test" so it will catch all modules
// that fall through the other loaders.
{
- loader: require.resolve('file-loader'),
// Exclude `js` files to keep "css" loader working as it injects
// its runtime that would otherwise be processed through "file" loader.
// Also exclude `html` and `json` extensions so they get processed
// by webpacks internal loaders.
exclude: [/\.(js|mjs|jsx|ts|tsx)$/, /\.html$/, /\.mdx?/, /\.json$/, /\.css$/],
- options: {
- name: 'static/media/[name].[hash:8].[ext]',
- },
+ type: 'asset',
},
// ** STOP ** Are you adding a new loader?
// Make sure to add the new loader(s) before the "file" loader.
@@ -414,12 +412,12 @@ export default function (): Configuration {
react: {
eager: true,
singleton: true,
- requiredVersion: '^16.14.0',
+ requiredVersion: '^17.0.0',
},
'react-dom': {
eager: true,
singleton: true,
- requiredVersion: '^16.14.0',
+ requiredVersion: '^17.0.0',
},
},
}),
diff --git a/scopes/react/react/webpack/webpack.config.preview.dev.ts b/scopes/react/react/webpack/webpack.config.preview.dev.ts
index ec841d1ad6aa..2c8650e4c6a8 100644
--- a/scopes/react/react/webpack/webpack.config.preview.dev.ts
+++ b/scopes/react/react/webpack/webpack.config.preview.dev.ts
@@ -119,18 +119,21 @@ export default function ({ envId, fileMapPath, workDir }: Options): WebpackConfi
},
},
- // "url" loader works like "file" loader except that it embeds assets
- // smaller than specified limit in bytes as data URLs to avoid requests.
- // A missing `test` is equivalent to a match.
{
test: [/\.bmp$/, /\.gif$/, /\.jpe?g$/, /\.png$/],
- loader: require.resolve('url-loader'),
- options: {
- limit: imageInlineSizeLimit,
- name: 'static/media/[name].[hash:8].[ext]',
+ type: 'asset',
+ parser: {
+ dataUrlCondition: {
+ maxSize: imageInlineSizeLimit,
+ },
},
},
+ {
+ test: /\.(woff(2)?|ttf|eot|svg)(\?v=\d+\.\d+\.\d+)?$/,
+ type: 'asset',
+ },
+
// MDX support (move to the mdx aspect and extend from there)
{
test: /\.mdx?$/,
@@ -250,6 +253,8 @@ export default function ({ envId, fileMapPath, workDir }: Options): WebpackConfi
// this is for resolving react from env and not from consuming project
alias: {
+ 'react/jsx-dev-runtime': require.resolve('react/jsx-dev-runtime.js'),
+ 'react/jsx-runtime': require.resolve('react/jsx-runtime.js'),
react: require.resolve('react'),
'@teambit/mdx.ui.mdx-scope-context': require.resolve('@teambit/mdx.ui.mdx-scope-context'),
'react-dom/server': require.resolve('react-dom/server'),
@@ -281,13 +286,13 @@ export default function ({ envId, fileMapPath, workDir }: Options): WebpackConfi
// TODO: make sure we can remove the eager here by adding bootstrap for everything
eager: true,
singleton: true,
- requiredVersion: '^16.14.0',
+ requiredVersion: '^17.0.0',
},
'react-dom': {
// TODO: make sure we can remove the eager here by adding bootstrap for everything
eager: true,
singleton: true,
- requiredVersion: '^16.14.0',
+ requiredVersion: '^17.0.0',
},
},
remotes: {
diff --git a/scopes/react/ui/error-fallback/error-fallback.module.scss b/scopes/react/ui/error-fallback/error-fallback.module.scss
new file mode 100644
index 000000000000..3b82fcd78bef
--- /dev/null
+++ b/scopes/react/ui/error-fallback/error-fallback.module.scss
@@ -0,0 +1,38 @@
+.icon {
+ // fail-safe inline image (with the color #e62e5c, $r5 0)
+ background-image: url("data:image/svg+xml,%3Csvg version='1.1' xmlns='http://www.w3.org/2000/svg' width='512' height='512' viewBox='0 0 512 512'%3E%3Ctitle%3E%3C/title%3E%3Cpath fill='%23e62e5c' d='M256 512c141.385 0 256-114.615 256-256s-114.615-256-256-256c-141.385 0-256 114.615-256 256s114.615 256 256 256zM376.262 171.498l-86.038 84.5 86.038 84.511c10.451 10.275 10.183 25.962 0 35.968-10.077 9.891-25.68 10.17-36.038 0l-84.222-82.743-84.235 82.743c-10.345 10.17-25.949 9.891-36.026 0-10.182-10.007-10.461-25.693 0-35.968l86.038-84.511-86.038-84.501c-10.461-10.286-10.182-25.971 0-35.978 10.077-9.891 25.681-10.159 36.026 0l84.235 82.743 84.222-82.743c10.358-10.159 25.962-9.891 36.038 0 10.183 10.007 10.451 25.692 0 35.978z'%3E%3C/path%3E%3C/svg%3E%0A");
+
+ height: 24px;
+ width: 24px;
+ background-color: white;
+ background-size: contain;
+ margin-bottom: 16px;
+ border-radius: 100%;
+}
+
+.message {
+ color: var(--bit-error-color, #e62e5c);
+ margin-bottom: 8px;
+}
+
+.errorFallback {
+ animation: enter 300ms ease-in forwards;
+
+ height: 100%;
+ padding: 8px;
+ border: 4px solid var(--bit-error-light, #f086a0);
+ border-radius: 4px;
+ box-sizing: border-box;
+
+ color: var(--bit-error-color, #e62e5c);
+ font-family: sans-serif;
+}
+
+@keyframes enter {
+ 0% {
+ opacity: 0.1;
+ }
+ 100% {
+ opacity: 1;
+ }
+}
diff --git a/scopes/react/ui/error-fallback/error-fallback.tsx b/scopes/react/ui/error-fallback/error-fallback.tsx
new file mode 100644
index 000000000000..f27058639f7a
--- /dev/null
+++ b/scopes/react/ui/error-fallback/error-fallback.tsx
@@ -0,0 +1,31 @@
+import React, { ReactNode } from 'react';
+import classnames from 'classnames';
+import type { FallbackProps } from 'react-error-boundary';
+import { IconButton } from '@teambit/design.ui.icon-button';
+import { flexCenter } from '@teambit/base-ui.styles.flex-center';
+
+import styles from './error-fallback.module.scss';
+
+export type ErrorFallbackProps = FallbackProps & { className?: string; children?: ReactNode; cta?: string };
+export function ErrorFallback({
+ /* error, */
+ resetErrorBoundary,
+ className,
+ children = 'Failed to render',
+ cta = 'try again',
+}: ErrorFallbackProps) {
+ const handleClick = async () => {
+ await new Promise((resolve) => setTimeout(resolve, 480));
+ resetErrorBoundary();
+ };
+
+ return (
+
+
+
{children}
+
+ {cta}
+
+
+ );
+}
diff --git a/scopes/react/ui/error-fallback/index.ts b/scopes/react/ui/error-fallback/index.ts
new file mode 100644
index 000000000000..dbd1bb84ea49
--- /dev/null
+++ b/scopes/react/ui/error-fallback/index.ts
@@ -0,0 +1,2 @@
+export { ErrorFallback } from './error-fallback';
+export type { ErrorFallbackProps } from './error-fallback';
diff --git a/scopes/react/ui/highlighter-provider/highlighter-provider.tsx b/scopes/react/ui/highlighter-provider/highlighter-provider.tsx
index 7a6587d2daae..7f6c07bdeb8a 100644
--- a/scopes/react/ui/highlighter-provider/highlighter-provider.tsx
+++ b/scopes/react/ui/highlighter-provider/highlighter-provider.tsx
@@ -11,7 +11,7 @@ export const HighlighterProvider: FC = ({ children }: { children?: ReactNode })
const hashQuery = hash.split('?')[1];
const query = queryString.parse(hashQuery);
return query[PARAM_NAME] === 'true';
- }, []);
+ }, [hash]);
return {children};
};
diff --git a/scopes/scope/export/export-cmd.ts b/scopes/scope/export/export-cmd.ts
index fa8b54d5714d..17300b7f80bc 100644
--- a/scopes/scope/export/export-cmd.ts
+++ b/scopes/scope/export/export-cmd.ts
@@ -61,7 +61,7 @@ export class ExportCmd implements Command {
remoteOp = true;
async report(
- [remote, ids]: [string, string[]],
+ [remote, ids = []]: [string, string[]],
{
eject = false,
includeDependencies = false,
diff --git a/scopes/scope/scope/scope-component-loader.ts b/scopes/scope/scope/scope-component-loader.ts
index 72c21a8beb8e..ce301f4af4e2 100644
--- a/scopes/scope/scope/scope-component-loader.ts
+++ b/scopes/scope/scope/scope-component-loader.ts
@@ -16,11 +16,11 @@ export class ScopeComponentLoader {
}
async get(id: ComponentID): Promise {
- const idStr = id.toString();
- const fromCache = this.componentsCache.get(idStr);
+ const fromCache = this.getFromCache(id);
if (fromCache) {
return fromCache;
}
+ const idStr = id.toString();
this.logger.debug(`ScopeComponentLoader.get, loading ${idStr}`);
const legacyId = id._legacy;
let modelComponent = await this.scope.legacyScope.getModelComponentIfExist(id._legacy);
@@ -86,6 +86,22 @@ export class ScopeComponentLoader {
this.componentsCache.deleteAll();
}
+ /**
+ * make sure that not only the id-str match, but also the legacy-id.
+ * this is needed because the ComponentID.toString() is the same whether or not the legacy-id has
+ * scope-name, as it includes the defaultScope if the scope is empty.
+ * as a result, when out-of-sync is happening and the id is changed to include scope-name in the
+ * legacy-id, the component is the cache has the old id.
+ */
+ private getFromCache(id: ComponentID): Component | undefined {
+ const idStr = id.toString();
+ const fromCache = this.componentsCache.get(idStr);
+ if (fromCache && fromCache.id._legacy.isEqual(id._legacy)) {
+ return fromCache;
+ }
+ return undefined;
+ }
+
private async getTagMap(modelComponent: ModelComponent): Promise {
const tagMap = new TagMap();
Object.keys(modelComponent.versions).forEach((versionStr: string) => {
diff --git a/scopes/scope/scope/scope.main.runtime.ts b/scopes/scope/scope/scope.main.runtime.ts
index 7055b891f7ef..4953750187ac 100644
--- a/scopes/scope/scope/scope.main.runtime.ts
+++ b/scopes/scope/scope/scope.main.runtime.ts
@@ -475,6 +475,15 @@ export class ScopeMain implements ComponentFactory {
);
}
+ /**
+ * for now, list of invalid components are mostly useful for the workspace.
+ * in the future, this can return components that failed to load in the scope due to objects file
+ * corruption or similar issues.
+ */
+ async listInvalid() {
+ return [];
+ }
+
/**
* get ids of all scope components.
*/
diff --git a/scopes/scope/scope/ui/use-scope.ts b/scopes/scope/scope/ui/use-scope.ts
index 8cb57c52d66f..956ee061db15 100644
--- a/scopes/scope/scope/ui/use-scope.ts
+++ b/scopes/scope/scope/ui/use-scope.ts
@@ -23,6 +23,7 @@ const SCOPE = gql`
id
icon
}
+ buildStatus
deprecation {
isDeprecate
}
diff --git a/scopes/scope/ui/empty-scope/empty-scope.composition.tsx b/scopes/scope/ui/empty-scope/empty-scope.composition.tsx
index 66103adc8844..1c65ed4fb8f2 100644
--- a/scopes/scope/ui/empty-scope/empty-scope.composition.tsx
+++ b/scopes/scope/ui/empty-scope/empty-scope.composition.tsx
@@ -1,11 +1,11 @@
import React from 'react';
-import { ThemeContext } from '@teambit/documenter.theme.theme-context';
+import { ThemeCompositions } from '@teambit/documenter.theme.theme-compositions';
import { EmptyScope } from './empty-scope';
export const EmptyScopeExample = () => {
return (
-
+
-
+
);
};
diff --git a/scopes/toolbox/network/get-port/get-port.spec.ts b/scopes/toolbox/network/get-port/get-port.spec.ts
new file mode 100644
index 000000000000..ecc4130bc69a
--- /dev/null
+++ b/scopes/toolbox/network/get-port/get-port.spec.ts
@@ -0,0 +1,24 @@
+import { expect } from 'chai';
+import { Port } from './get-port';
+
+describe('Get port', () => {
+ it('it should return port from range', async () => {
+ const port = await Port.getPort(3100, 3200);
+ expect(typeof port).to.equal('number');
+ });
+
+ it('it should return port', async () => {
+ const port = await Port.getPort(3300, 3400);
+ expect(port).to.equal(3300);
+ });
+
+ it('it should return port', async () => {
+ const port = await Port.getPort(3500, 3600, [3500, 3501]);
+ expect(port).to.equal(3502);
+ });
+
+ it('it should return port from range', async () => {
+ const port = await Port.getPortFromRange([7000, 7100]);
+ expect(port).to.equal(7000);
+ });
+});
diff --git a/scopes/toolbox/network/get-port/get-port.ts b/scopes/toolbox/network/get-port/get-port.ts
new file mode 100644
index 000000000000..8281f3593d55
--- /dev/null
+++ b/scopes/toolbox/network/get-port/get-port.ts
@@ -0,0 +1,120 @@
+/* eslint-disable no-use-before-define */
+// based on : https://github.com/sindresorhus/get-port/blob/main/index.js
+import net from 'net';
+import { Locked } from './locked';
+
+export class Port {
+ async get(options: { port: number | Iterable; usedPort?: number[] }): Promise {
+ const lockedPorts = {
+ old: new Set(),
+ young: new Set(),
+ };
+
+ const portCheckSequence = function* (ports: any) {
+ if (ports) {
+ yield* ports;
+ }
+
+ yield 0;
+ };
+
+ let ports: any;
+ const releaseOldLockedPortsIntervalMs = 1000 * 15;
+
+ // Lazily create interval on first use
+ let interval: any;
+
+ if (options) {
+ ports = typeof options.port === 'number' ? [options.port] : options.port;
+ }
+
+ if (interval === undefined) {
+ interval = setInterval(() => {
+ lockedPorts.old = lockedPorts.young;
+ lockedPorts.young = new Set();
+ }, releaseOldLockedPortsIntervalMs);
+
+ // Does not exist in some environments (Electron, Jest jsdom env, browser, etc).
+ if (interval.unref) {
+ interval.unref();
+ }
+ }
+
+ for (const port of portCheckSequence(ports)) {
+ try {
+ if (options.usedPort?.includes(port)) throw new Locked(port);
+ let availablePort = await this.getAvailablePort({ ...options, port }); // eslint-disable-line no-await-in-loop
+ while (lockedPorts.old.has(availablePort) || lockedPorts.young.has(availablePort)) {
+ if (port !== 0) {
+ throw new Locked(port);
+ }
+
+ availablePort = await this.getAvailablePort({ ...options, port }); // eslint-disable-line no-await-in-loop
+ }
+
+ lockedPorts.young.add(availablePort);
+
+ return availablePort;
+ } catch (error) {
+ if (!['EADDRINUSE', 'EACCES'].includes(error.code) && !(error instanceof Locked)) {
+ throw error;
+ }
+ }
+ }
+
+ throw new Error('No available ports found');
+ }
+
+ private async getAvailablePort(options: any): Promise {
+ return new Promise((resolve, reject) => {
+ const server = net.createServer();
+ server.unref();
+ server.on('error', reject);
+ server.listen(options, () => {
+ const serverInfo = server.address();
+ server.close(() => {
+ // @ts-ignore
+ resolve(serverInfo?.port);
+ });
+ });
+ });
+ }
+
+ private makeRange(from: number, to: number) {
+ if (!Number.isInteger(from) || !Number.isInteger(to)) {
+ throw new TypeError('`from` and `to` must be integer numbers');
+ }
+
+ if (from < 1024 || from > 65535) {
+ throw new RangeError('`from` must be between 1024 and 65535');
+ }
+
+ if (to < 1024 || to > 65536) {
+ throw new RangeError('`to` must be between 1024 and 65536');
+ }
+
+ if (to < from) {
+ throw new RangeError('`to` must be greater than or equal to `from`');
+ }
+
+ const generator = function* (f: number, t: number) {
+ for (let port = f; port <= t; port += 1) {
+ yield port;
+ }
+ };
+
+ return generator(from, to);
+ }
+
+ static getPort(from: number, to: number, usedPort?: number[]) {
+ const port = new Port();
+ const range = port.makeRange(from, to);
+ return port.get({ port: range, usedPort });
+ }
+
+ static getPortFromRange(range: number[] | number, usedPort?: number[]) {
+ const port = new Port();
+ const portsRange = typeof range === 'number' ? [range] : port.makeRange(range[0], range[1]);
+ return port.get({ port: portsRange, usedPort });
+ }
+}
diff --git a/scopes/toolbox/network/get-port/index.ts b/scopes/toolbox/network/get-port/index.ts
new file mode 100644
index 000000000000..933326c1c7de
--- /dev/null
+++ b/scopes/toolbox/network/get-port/index.ts
@@ -0,0 +1,4 @@
+import { Port } from './get-port';
+
+export { Port };
+export default Port;
diff --git a/scopes/toolbox/network/get-port/locked.ts b/scopes/toolbox/network/get-port/locked.ts
new file mode 100644
index 000000000000..24f1210ef3d5
--- /dev/null
+++ b/scopes/toolbox/network/get-port/locked.ts
@@ -0,0 +1,5 @@
+export class Locked extends Error {
+ constructor(port: number) {
+ super(`${port} is locked`);
+ }
+}
diff --git a/scopes/typescript/aspect-docs/typescript/typescript.composition.tsx b/scopes/typescript/aspect-docs/typescript/typescript.composition.tsx
index fb09ac8fdfdc..f730b28785bf 100644
--- a/scopes/typescript/aspect-docs/typescript/typescript.composition.tsx
+++ b/scopes/typescript/aspect-docs/typescript/typescript.composition.tsx
@@ -1,12 +1,12 @@
import React from 'react';
-import { ThemeContext } from '@teambit/documenter.theme.theme-context';
+import { ThemeCompositions } from '@teambit/documenter.theme.theme-compositions';
import { MDXLayout } from '@teambit/mdx.ui.mdx-layout';
import { Typescript } from './index';
export const TypescriptDocs = () => (
-
+
-
+
);
diff --git a/scopes/typescript/aspect-docs/typescript/typescript.docs.mdx b/scopes/typescript/aspect-docs/typescript/typescript.docs.mdx
index 61a3a96dde8b..95fc2958f3a7 100644
--- a/scopes/typescript/aspect-docs/typescript/typescript.docs.mdx
+++ b/scopes/typescript/aspect-docs/typescript/typescript.docs.mdx
@@ -22,13 +22,13 @@ import { Typescript } from '@teambit/aspect-docs.typescript';
### Render with theme and Typescript providers
```jsx
-import { ThemeContext } from '@teambit/documenter.theme.theme-context';
+import { ThemeCompositions } from '@teambit/documenter.theme.theme-compositions';
import { MDXLayout } from '@teambit/ui.mdx-layout';
import { Typescript } from '@teambit/aspect-docs.typescript';
-
+
-;
+;
```
diff --git a/scopes/ui-foundation/react-router/ui/link/link.tsx b/scopes/ui-foundation/react-router/ui/link/link.tsx
index 6bdc2a7d4c05..7c5d790aad0a 100644
--- a/scopes/ui-foundation/react-router/ui/link/link.tsx
+++ b/scopes/ui-foundation/react-router/ui/link/link.tsx
@@ -5,11 +5,12 @@ import { LinkAnchor } from '@teambit/ui-foundation.ui.react-router.link-anchor';
export { LinkProps };
-// React Router equivalent of an tag, with the standard Anchor tag props.
+/** Adapter between React router's Link and our isomorphic link components. Learn more [Here](https://bit.dev/teambit/base-ui/routing/routing-provider) */
export function Link({ href = '', ...rest }: LinkProps) {
if (rest.external) {
return ;
}
+ // @ts-ignore (#4401)
return ;
}
diff --git a/scopes/ui-foundation/react-router/ui/nav-link/nav-link.tsx b/scopes/ui-foundation/react-router/ui/nav-link/nav-link.tsx
index f00d11172c0d..9332b64d2a00 100644
--- a/scopes/ui-foundation/react-router/ui/nav-link/nav-link.tsx
+++ b/scopes/ui-foundation/react-router/ui/nav-link/nav-link.tsx
@@ -5,11 +5,12 @@ import { LinkAnchor } from '@teambit/ui-foundation.ui.react-router.link-anchor';
export { NavLinkProps };
-// React Router equivalent of an tag, with added styles when href matches the current url.
+/** Adapter between React router's Nav and our isomorphic link components. Learn more [Here](https://bit.dev/teambit/base-ui/routing/routing-provider) */
export function NavLink({ href = '', ...rest }: NavLinkProps) {
if (rest.external) {
return ;
}
+ // @ts-ignore (#4401)
return ;
}
diff --git a/scopes/ui-foundation/ui/component.json b/scopes/ui-foundation/ui/component.json
index f57f9a036777..cd68b9b0f16e 100644
--- a/scopes/ui-foundation/ui/component.json
+++ b/scopes/ui-foundation/ui/component.json
@@ -18,7 +18,6 @@
"source-map-loader": "1.1.3",
"babel-loader": "8.2.2",
"babel-preset-react-app": "10.0.0",
- "file-loader": "6.2.0",
"resolve-url-loader": "3.1.2",
"babel-plugin-named-asset-import": "0.3.7",
"style-loader": "^2.0.0",
@@ -29,7 +28,6 @@
"sass-loader": "11.0.1",
"less": "^4.1.1",
"less-loader": "8.0.0",
- "url-loader": "4.1.1",
"path-browserify": "1.0.1",
"@teambit/legacy": "-"
},
@@ -39,7 +37,7 @@
"@teambit/legacy": "-"
},
"peerDependencies": {
- "@teambit/legacy": "1.0.89"
+ "@teambit/legacy": "1.0.98"
}
}
}
diff --git a/scopes/ui-foundation/ui/start.cmd.tsx b/scopes/ui-foundation/ui/start.cmd.tsx
index 3315ee7bc337..bec2d5e8f25c 100644
--- a/scopes/ui-foundation/ui/start.cmd.tsx
+++ b/scopes/ui-foundation/ui/start.cmd.tsx
@@ -12,7 +12,7 @@ export class StartCmd implements Command {
shortDescription = '';
options = [
['d', 'dev', 'start UI server in dev mode.'],
- ['p', 'port', 'port of the UI server.'],
+ ['p', 'port [number]', 'port of the UI server.'],
['r', 'rebuild', 'rebuild the UI'],
['v', 'verbose', 'showing verbose output for inspection and prints stack trace'],
['', 'suppress-browser-launch', 'do not automatically open browser when ready'],
diff --git a/scopes/ui-foundation/ui/ui-server.ts b/scopes/ui-foundation/ui/ui-server.ts
index 4efde17c80a4..19cb849f73c4 100644
--- a/scopes/ui-foundation/ui/ui-server.ts
+++ b/scopes/ui-foundation/ui/ui-server.ts
@@ -4,7 +4,7 @@ import { GraphqlMain } from '@teambit/graphql';
import { Logger } from '@teambit/logger';
import express, { Express } from 'express';
import fallback from 'express-history-api-fallback';
-import getPort from 'get-port';
+import { Port } from '@teambit/toolbox.network.get-port';
import { Server } from 'http';
import httpProxy from 'http-proxy';
import { join } from 'path';
@@ -31,9 +31,9 @@ export type UIServerProps = {
export type StartOptions = {
/**
- * port for the UI server to bind. default is a port range of 4000-4200.
+ * port range for the UI server to bind. default is a port range of 4000-4200.
*/
- port?: number;
+ portRange?: number[] | number;
};
export class UIServer {
@@ -76,10 +76,8 @@ export class UIServer {
/**
* start a UI server.
*/
- async start({ port }: StartOptions = {}) {
+ async start({ portRange }: StartOptions = {}) {
const app = this.expressExtension.createApp();
- // TODO: better handle ports.
- const selectedPort = await this.selectPort(port || 4000);
const publicDir = `/${this.publicDir}`;
const root = join(this.uiRoot.path, publicDir);
const server = await this.graphql.createServer({ app });
@@ -91,10 +89,11 @@ export class UIServer {
// setting `index: false` so index.html will be served by the fallback() middleware
app.use(express.static(root, { index: false }));
+ const port = await Port.getPortFromRange(portRange || [3100, 3200]);
if (this.uiRoot.buildOptions?.ssr) {
const ssrMiddleware = await createSsrMiddleware({
root,
- port: selectedPort,
+ port,
title: this.uiRoot.name,
logger: this.logger,
});
@@ -112,10 +111,10 @@ export class UIServer {
// No any other endpoints past this will execute
app.use(fallback('index.html', { root }));
- server.listen(selectedPort);
- this._port = selectedPort;
+ server.listen(port);
+ this._port = port;
- this.logger.info(`UI server of ${this.uiRootExtension} is listening to port ${selectedPort}`);
+ this.logger.info(`UI server of ${this.uiRootExtension} is listening to port ${port}`);
}
getPluginsComponents() {
@@ -148,22 +147,21 @@ export class UIServer {
/**
* start a UI dev server.
*/
- async dev({ port }: StartOptions = {}) {
- const selectedPort = await this.selectPort(port);
- // improve port management.
- await this.start({ port: await getPort({ port: 4000 }) });
+ async dev({ portRange }: StartOptions = {}) {
+ const selectedPort = await this.selectPort(portRange);
+ await this.start({ portRange: [4100, 4200] });
const config = await this.getDevConfig();
const compiler = webpack(config);
- const devServerConfig = await this.getDevServerConfig(config.devServer);
+ const devServerConfig = await this.getDevServerConfig(this._port, config.devServer);
// @ts-ignore in the capsules it throws an error about compatibilities issues between webpack.compiler and webpackDevServer/webpack/compiler
const devServer = new WebpackDevServer(compiler, devServerConfig);
devServer.listen(selectedPort);
+ this._port = selectedPort;
return devServer;
}
- private async selectPort(port?: number) {
- if (port) return port;
- return getPort({ port: getPort.makeRange(3100, 3200) });
+ private async selectPort(portRange?: number[] | number) {
+ return Port.getPortFromRange(portRange || [3100, 3200]);
}
private async getProxyFromPlugins() {
@@ -174,18 +172,18 @@ export class UIServer {
return flatten(await Promise.all(proxiesByPlugin));
}
- private async getProxy() {
+ private async getProxy(port = 4000) {
const proxyEntries = await this.getProxyFromPlugins();
const gqlProxies: ProxyEntry[] = [
{
context: ['/graphql', '/api'],
- target: 'http://localhost:4000',
+ target: `http://localhost:${port}`,
changeOrigin: true,
},
{
context: ['/subscriptions'],
- target: 'ws://localhost:4000',
+ target: `ws://localhost:${port}`,
ws: true,
},
];
@@ -193,8 +191,8 @@ export class UIServer {
return gqlProxies.concat(proxyEntries);
}
- private async getDevServerConfig(config?: webpack.Configuration): Promise {
- const proxy = await this.getProxy();
+ private async getDevServerConfig(port: number, config?: webpack.Configuration): Promise {
+ const proxy = await this.getProxy(port);
const devServerConf = { ...config, proxy };
return devServerConf;
diff --git a/scopes/ui-foundation/ui/ui.main.runtime.ts b/scopes/ui-foundation/ui/ui.main.runtime.ts
index a7cc9b3684da..d26c4a3e5e17 100644
--- a/scopes/ui-foundation/ui/ui.main.runtime.ts
+++ b/scopes/ui-foundation/ui/ui.main.runtime.ts
@@ -14,7 +14,7 @@ import { Logger, LoggerAspect, LoggerMain } from '@teambit/logger';
import PubsubAspect, { PubsubMain } from '@teambit/pubsub';
import { sha1 } from '@teambit/legacy/dist/utils';
import fs from 'fs-extra';
-import getPort from 'get-port';
+import { Port } from '@teambit/toolbox.network.get-port';
import { join, resolve } from 'path';
import { promisify } from 'util';
import webpack from 'webpack';
@@ -254,16 +254,14 @@ export class UiMain {
startPlugins: plugins,
});
- const targetPort = await this.getPort(port);
-
if (dev) {
- await uiServer.dev({ port: targetPort });
+ await uiServer.dev({ portRange: port || this.config.portRange });
} else {
await this.buildUI(name, uiRoot, rebuild);
- await uiServer.start({ port: targetPort });
+ await uiServer.start({ portRange: port || this.config.portRange });
}
- this.pubsub.pub(UIAspect.id, this.createUiServerStartedEvent(this.config.host, targetPort, uiRoot));
+ this.pubsub.pub(UIAspect.id, this.createUiServerStartedEvent(this.config.host, uiServer.port, uiRoot));
return uiServer;
}
@@ -387,7 +385,11 @@ export class UiMain {
private async selectPort() {
const [from, to] = this.config.portRange;
- return getPort({ port: getPort.makeRange(from, to) });
+ const usedPorts = (await this.cache.get(`${from}${to}`)) || [];
+ const port = await Port.getPort(from, to, usedPorts);
+ // this will lock the port for 1 min to avoid race conditions
+ await this.cache.set(`${from}${to}`, usedPorts.concat(port), 5000);
+ return port;
}
private async buildUI(name: string, uiRoot: UIRoot, rebuild?: boolean): Promise {
diff --git a/scopes/ui-foundation/ui/webpack/webpack.base.config.ts b/scopes/ui-foundation/ui/webpack/webpack.base.config.ts
index 13d7dd7137b6..50fc5a32fe94 100644
--- a/scopes/ui-foundation/ui/webpack/webpack.base.config.ts
+++ b/scopes/ui-foundation/ui/webpack/webpack.base.config.ts
@@ -185,9 +185,6 @@ export default function createWebpackConfig(
{
test: [/\.bmp$/, /\.gif$/, /\.jpe?g$/, /\.png$/],
type: 'asset',
- generator: {
- filename: 'static/media/[hash][ext][query]',
- },
parser: {
dataUrlCondition: {
maxSize: imageInlineSizeLimit,
@@ -331,12 +328,8 @@ export default function createWebpackConfig(
// its runtime that would otherwise be processed through "file" loader.
// Also exclude `html` and `json` extensions so they get processed
// by webpacks internal loaders.
- loader: require.resolve('file-loader'),
exclude: [/\.(js|mjs|jsx|ts|tsx)$/, /\.html$/, /\.json$/, /\.css$/],
type: 'asset/resource',
- generator: {
- filename: 'static/media/[hash][ext][query]',
- },
},
// ** STOP ** Are you adding a new loader?
// Make sure to add the new loader(s) before the "file" loader.
diff --git a/scopes/compilation/webpack/config/html.js b/scopes/webpack/webpack/config/html.js
similarity index 82%
rename from scopes/compilation/webpack/config/html.js
rename to scopes/webpack/webpack/config/html.js
index 754fb6218f5e..dbdde97dc064 100644
--- a/scopes/compilation/webpack/config/html.js
+++ b/scopes/webpack/webpack/config/html.js
@@ -10,7 +10,7 @@ module.exports = function html(title) {
try { window.__REACT_DEVTOOLS_GLOBAL_HOOK__ = window.parent.__REACT_DEVTOOLS_GLOBAL_HOOK__; } catch {}
-
+
diff --git a/scopes/compilation/webpack/config/webpack-fallbacks.ts b/scopes/webpack/webpack/config/webpack-fallbacks.ts
similarity index 100%
rename from scopes/compilation/webpack/config/webpack-fallbacks.ts
rename to scopes/webpack/webpack/config/webpack-fallbacks.ts
diff --git a/scopes/compilation/webpack/config/webpack.config.ts b/scopes/webpack/webpack/config/webpack.config.ts
similarity index 100%
rename from scopes/compilation/webpack/config/webpack.config.ts
rename to scopes/webpack/webpack/config/webpack.config.ts
diff --git a/scopes/compilation/webpack/config/webpack.dev.config.ts b/scopes/webpack/webpack/config/webpack.dev.config.ts
similarity index 100%
rename from scopes/compilation/webpack/config/webpack.dev.config.ts
rename to scopes/webpack/webpack/config/webpack.dev.config.ts
diff --git a/scopes/compilation/webpack/events/index.ts b/scopes/webpack/webpack/events/index.ts
similarity index 100%
rename from scopes/compilation/webpack/events/index.ts
rename to scopes/webpack/webpack/events/index.ts
diff --git a/scopes/compilation/webpack/events/webpack-compilation-done-event.ts b/scopes/webpack/webpack/events/webpack-compilation-done-event.ts
similarity index 100%
rename from scopes/compilation/webpack/events/webpack-compilation-done-event.ts
rename to scopes/webpack/webpack/events/webpack-compilation-done-event.ts
diff --git a/scopes/compilation/webpack/events/webpack-compilation-started-event.ts b/scopes/webpack/webpack/events/webpack-compilation-started-event.ts
similarity index 100%
rename from scopes/compilation/webpack/events/webpack-compilation-started-event.ts
rename to scopes/webpack/webpack/events/webpack-compilation-started-event.ts
diff --git a/scopes/compilation/webpack/index.ts b/scopes/webpack/webpack/index.ts
similarity index 100%
rename from scopes/compilation/webpack/index.ts
rename to scopes/webpack/webpack/index.ts
diff --git a/scopes/compilation/webpack/plugins/webpack-bit-reporter-plugin.ts b/scopes/webpack/webpack/plugins/webpack-bit-reporter-plugin.ts
similarity index 100%
rename from scopes/compilation/webpack/plugins/webpack-bit-reporter-plugin.ts
rename to scopes/webpack/webpack/plugins/webpack-bit-reporter-plugin.ts
diff --git a/scopes/compilation/webpack/webpack.aspect.ts b/scopes/webpack/webpack/webpack.aspect.ts
similarity index 71%
rename from scopes/compilation/webpack/webpack.aspect.ts
rename to scopes/webpack/webpack/webpack.aspect.ts
index 180da6ca404e..86761a87d377 100644
--- a/scopes/compilation/webpack/webpack.aspect.ts
+++ b/scopes/webpack/webpack/webpack.aspect.ts
@@ -1,5 +1,5 @@
import { Aspect } from '@teambit/harmony';
export const WebpackAspect = Aspect.create({
- id: 'teambit.compilation/webpack',
+ id: 'teambit.webpack/webpack',
});
diff --git a/scopes/compilation/webpack/webpack.bundler.ts b/scopes/webpack/webpack/webpack.bundler.ts
similarity index 97%
rename from scopes/compilation/webpack/webpack.bundler.ts
rename to scopes/webpack/webpack/webpack.bundler.ts
index 4688c1857f4f..e748a06cdcfa 100644
--- a/scopes/compilation/webpack/webpack.bundler.ts
+++ b/scopes/webpack/webpack/webpack.bundler.ts
@@ -21,7 +21,7 @@ export class WebpackBundler implements Bundler {
async run(): Promise {
const compilers = this.configs.map((config) => webpack(config as any));
- const longProcessLogger = this.logger.createLongProcessLogger('bundling component preview', compilers.length);
+ const longProcessLogger = this.logger.createLongProcessLogger('running Webpack bundler', compilers.length);
const componentOutput = await mapSeries(compilers, (compiler: Compiler) => {
const components = this.getComponents(compiler.outputPath);
longProcessLogger.logProgress(components.map((component) => component.id.toString()).join(', '));
diff --git a/scopes/compilation/webpack/webpack.dev-server.ts b/scopes/webpack/webpack/webpack.dev-server.ts
similarity index 100%
rename from scopes/compilation/webpack/webpack.dev-server.ts
rename to scopes/webpack/webpack/webpack.dev-server.ts
diff --git a/scopes/compilation/webpack/webpack.main.runtime.ts b/scopes/webpack/webpack/webpack.main.runtime.ts
similarity index 100%
rename from scopes/compilation/webpack/webpack.main.runtime.ts
rename to scopes/webpack/webpack/webpack.main.runtime.ts
diff --git a/scopes/workspace/aspect-docs/variants/variants.composition.tsx b/scopes/workspace/aspect-docs/variants/variants.composition.tsx
index de47388587d0..70ae4fd6b699 100644
--- a/scopes/workspace/aspect-docs/variants/variants.composition.tsx
+++ b/scopes/workspace/aspect-docs/variants/variants.composition.tsx
@@ -1,13 +1,13 @@
import React from 'react';
-import { ThemeContext } from '@teambit/documenter.theme.theme-context';
+import { ThemeCompositions } from '@teambit/documenter.theme.theme-compositions';
import { MDXLayout } from '@teambit/mdx.ui.mdx-layout';
import { Variants } from './index';
export const VariantsDocs = () => (
-
+
-
+
);
diff --git a/scopes/workspace/aspect-docs/variants/variants.docs.mdx b/scopes/workspace/aspect-docs/variants/variants.docs.mdx
index 30a72035c2a3..56494cab51b3 100644
--- a/scopes/workspace/aspect-docs/variants/variants.docs.mdx
+++ b/scopes/workspace/aspect-docs/variants/variants.docs.mdx
@@ -22,13 +22,13 @@ import { Variants } from '@teambit/aspect-docs.variants';
### Render with theme and MDX providers
```js
-import { ThemeContext } from '@teambit/documenter.theme.theme-context';
+import { ThemeCompositions } from '@teambit/documenter.theme.theme-compositions';
import { MDXLayout } from '@teambit/ui.mdx-layout';
import { Variants } from '@teambit/aspect-docs.variants';
-
+
-;
+;
```
diff --git a/scopes/workspace/eject/components-ejector.ts b/scopes/workspace/eject/components-ejector.ts
index f6949b7a2f78..ab8c7dda3280 100644
--- a/scopes/workspace/eject/components-ejector.ts
+++ b/scopes/workspace/eject/components-ejector.ts
@@ -8,7 +8,6 @@
* removing the component files, so then it's easier to rollback.
*/
import { Workspace } from '@teambit/workspace';
-import R from 'ramda';
import { Consumer } from '@teambit/legacy/dist/consumer';
import { BitId, BitIds } from '@teambit/legacy/dist/bit-id';
import defaultErrorHandler from '@teambit/legacy/dist/cli/default-error-handler';
@@ -86,7 +85,7 @@ export class ComponentsEjector {
async decideWhichComponentsToEject(): Promise {
this.logger.setStatusLine('Eject: getting the components status');
- if (R.isEmpty(this.componentsIds)) return;
+ if (!this.componentsIds.length) return;
const remotes = await getScopeRemotes(this.consumer.scope);
const hubExportedComponents = new BitIds();
this.componentsIds.forEach((bitId) => {
diff --git a/scopes/workspace/workspace/capsule-create.cmd.ts b/scopes/workspace/workspace/capsule-create.cmd.ts
index 9a233d85496d..7b7fe35c61fa 100644
--- a/scopes/workspace/workspace/capsule-create.cmd.ts
+++ b/scopes/workspace/workspace/capsule-create.cmd.ts
@@ -30,7 +30,7 @@ export class CapsuleCreateCmd implements Command {
constructor(private workspace: Workspace, private isolator: IsolatorMain) {}
async create(
- [componentIds]: [string[]],
+ [componentIds = []]: [string[]],
{ baseDir, alwaysNew = false, id, installPackages = false, seedersOnly = false }: CreateOpts
): Promise {
// @todo: why it is not an array?
diff --git a/scopes/workspace/workspace/install.cmd.tsx b/scopes/workspace/workspace/install.cmd.tsx
index 1b1f5b110328..3a6ca314baa3 100644
--- a/scopes/workspace/workspace/install.cmd.tsx
+++ b/scopes/workspace/workspace/install.cmd.tsx
@@ -39,7 +39,7 @@ export default class InstallCmd implements Command {
private logger: Logger
) {}
- async report([packages]: [string[]], options: InstallCmdOptions) {
+ async report([packages = []]: [string[]], options: InstallCmdOptions) {
const startTime = Date.now();
this.logger.console(`Resolving component dependencies for workspace: '${chalk.cyan(this.workspace.name)}'`);
const installOpts: WorkspaceInstallOptions = {
diff --git a/scopes/workspace/workspace/link/component-list-links.tsx b/scopes/workspace/workspace/link/component-list-links.ts
similarity index 57%
rename from scopes/workspace/workspace/link/component-list-links.tsx
rename to scopes/workspace/workspace/link/component-list-links.ts
index 6b3fc49a070f..cdb50606de86 100644
--- a/scopes/workspace/workspace/link/component-list-links.tsx
+++ b/scopes/workspace/workspace/link/component-list-links.ts
@@ -1,5 +1,4 @@
-import { Text, Box } from 'ink';
-import React from 'react';
+import chalk from 'chalk';
import { LinksResult as LegacyLinksResult } from '@teambit/legacy/dist/links/node-modules-linker';
import { getPackageNameFromTarget } from './get-package-name-from-target';
import { LinkRow, VerboseLinkRow } from './link-row';
@@ -11,18 +10,12 @@ type ComponentListLinksProps = {
export function ComponentListLinks({ componentListLinks, verbose = false }: ComponentListLinksProps) {
if (!componentListLinks || !componentListLinks.length) {
- return No components link were generated;
+ return chalk.cyan('No components link were generated');
}
- return (
-
-
- Components links
-
- {componentListLinks.map((componentLinks) => (
-
- ))}
-
- );
+ const title = chalk.bold.cyan('Components links');
+ const links = componentListLinks.map((componentLinks) => ComponentLinks({ componentLinks, verbose })).join('\n');
+
+ return `${title}\n${links}`;
}
type ComponentLinksProps = {
@@ -30,9 +23,9 @@ type ComponentLinksProps = {
verbose: boolean;
};
function ComponentLinks({ componentLinks, verbose = false }: ComponentLinksProps) {
- if (!componentLinks.bound || componentLinks.bound.length < 1) return null;
- if (verbose) return ;
- return ;
+ if (!componentLinks.bound || componentLinks.bound.length < 1) return '';
+ if (verbose) return VerboseComponentLinks({ componentLinks });
+ return RegularComponentLinks({ componentLinks });
}
type RegularComponentLinksProps = {
@@ -40,9 +33,9 @@ type RegularComponentLinksProps = {
};
function RegularComponentLinks({ componentLinks }: RegularComponentLinksProps) {
const id = componentLinks.id.toString();
- if (!componentLinks.bound || componentLinks.bound.length < 1) return null;
+ if (!componentLinks.bound || componentLinks.bound.length < 1) return '';
const packagePath = getPackageNameFromTarget(componentLinks.bound[0].to);
- return ;
+ return LinkRow({ title: id, target: packagePath, padding: 50 });
}
type VerboseComponentLinksProps = {
@@ -50,15 +43,8 @@ type VerboseComponentLinksProps = {
};
function VerboseComponentLinks({ componentLinks }: VerboseComponentLinksProps) {
const id = componentLinks.id.toString();
- if (!componentLinks.bound || componentLinks.bound.length < 1) return null;
- return (
-
-
- {id}
-
- {componentLinks.bound.map((link) => (
-
- ))}
-
- );
+ if (!componentLinks.bound || componentLinks.bound.length < 1) return '';
+ const title = chalk.bold.cyan(id);
+ const links = componentLinks.bound.map((link) => VerboseLinkRow({ from: link.from, to: link.to })).join('\n');
+ return `${title}\n${links}\n`;
}
diff --git a/scopes/workspace/workspace/link/core-aspects-links.tsx b/scopes/workspace/workspace/link/core-aspects-links.ts
similarity index 56%
rename from scopes/workspace/workspace/link/core-aspects-links.tsx
rename to scopes/workspace/workspace/link/core-aspects-links.ts
index bd86e045013b..64f88b1faf8a 100644
--- a/scopes/workspace/workspace/link/core-aspects-links.tsx
+++ b/scopes/workspace/workspace/link/core-aspects-links.ts
@@ -1,6 +1,5 @@
import { CoreAspectLinkResult } from '@teambit/dependency-resolver';
-import { Text, Box } from 'ink';
-import React from 'react';
+import chalk from 'chalk';
import { getPackageNameFromTarget } from './get-package-name-from-target';
import { LinkRow, VerboseLinkRow } from './link-row';
@@ -12,18 +11,11 @@ type CoreAspectsLinksProps = {
export function CoreAspectsLinks({ coreAspectsLinks, verbose = false }: CoreAspectsLinksProps) {
if (!coreAspectsLinks || !coreAspectsLinks.length) {
- return No core aspects were linked;
+ return chalk.cyan('No core aspects were linked');
}
- return (
-
-
- Core aspects links
-
- {coreAspectsLinks.map((link) => (
-
- ))}
-
- );
+ const title = chalk.cyan('Core aspects links');
+ const links = coreAspectsLinks.map((link) => CoreAspectLinkRow({ coreAspectLink: link, verbose })).join('\n');
+ return `${title}\n${links}`;
}
type CoreAspectLinkProps = {
@@ -31,8 +23,8 @@ type CoreAspectLinkProps = {
verbose: boolean;
};
function CoreAspectLinkRow({ coreAspectLink, verbose = false }: CoreAspectLinkProps) {
- if (verbose) return ;
- return ;
+ if (verbose) return VerboseCoreAspectLink({ coreAspectLink });
+ return RegularCoreAspectLink({ coreAspectLink });
}
type RegularCoreAspectLinkProps = {
@@ -41,7 +33,7 @@ type RegularCoreAspectLinkProps = {
function RegularCoreAspectLink({ coreAspectLink }: RegularCoreAspectLinkProps) {
const id = coreAspectLink.aspectId.toString();
const packagePath = getPackageNameFromTarget(coreAspectLink.linkDetail.to);
- return ;
+ return LinkRow({ title: id, target: packagePath, padding: 50 });
}
type VerboseCoreAspectLinkProps = {
@@ -49,12 +41,10 @@ type VerboseCoreAspectLinkProps = {
};
function VerboseCoreAspectLink({ coreAspectLink }: VerboseCoreAspectLinkProps) {
const id = coreAspectLink.aspectId.toString();
- return (
-
-
- {id}
-
-
-
- );
+ const title = chalk.bold.cyan(id);
+ const link = VerboseLinkRow({
+ from: coreAspectLink.linkDetail.from,
+ to: coreAspectLink.linkDetail.to,
+ });
+ return `${title}\n${link}`;
}
diff --git a/scopes/workspace/workspace/link/link-row.ts b/scopes/workspace/workspace/link/link-row.ts
new file mode 100644
index 000000000000..8ed7cb5844d6
--- /dev/null
+++ b/scopes/workspace/workspace/link/link-row.ts
@@ -0,0 +1,20 @@
+import chalk from 'chalk';
+
+type LinkRowProps = {
+ title: string;
+ target: string;
+ padding?: number;
+};
+export function LinkRow({ title, target, padding = 50 }: LinkRowProps) {
+ return chalk.bold(`${title.padEnd(padding)} ${'>'} ${target}`);
+}
+
+type VerboseLinkRowProps = {
+ from: string;
+ to: string;
+};
+export function VerboseLinkRow({ from, to }: VerboseLinkRowProps) {
+ return `${chalk.bold('from')}: ${from}
+${chalk.bold('to')}: ${to}
+`;
+}
diff --git a/scopes/workspace/workspace/link/link-row.tsx b/scopes/workspace/workspace/link/link-row.tsx
deleted file mode 100644
index 0d22e61739fd..000000000000
--- a/scopes/workspace/workspace/link/link-row.tsx
+++ /dev/null
@@ -1,29 +0,0 @@
-import { Text, Box, Newline } from 'ink';
-import React from 'react';
-
-type LinkRowProps = {
- title: string;
- target: string;
- padding?: number;
-};
-export function LinkRow({ title, target, padding = 50 }: LinkRowProps) {
- return (
-
- {title.padEnd(padding)} {'>'} {target}
-
- );
-}
-
-type VerboseLinkRowProps = {
- from: string;
- to: string;
-};
-export function VerboseLinkRow({ from, to }: VerboseLinkRowProps) {
- return (
-
- from: {from}
- to: {to}
-
-
- );
-}
diff --git a/scopes/workspace/workspace/link/link-to-dir.ts b/scopes/workspace/workspace/link/link-to-dir.ts
new file mode 100644
index 000000000000..52ec77b70a4c
--- /dev/null
+++ b/scopes/workspace/workspace/link/link-to-dir.ts
@@ -0,0 +1,13 @@
+import { LinkToDirResult } from '@teambit/dependency-resolver';
+import chalk from 'chalk';
+import { LinkRow } from './link-row';
+
+export function linkToDir(links?: LinkToDirResult[]) {
+ if (!links || !links.length) return '';
+ const title = chalk.bold.cyan('Target Links');
+ const linksOutput = links
+ .map(({ componentId, linksDetail }) => LinkRow({ title: componentId, target: linksDetail.to }))
+ .join('\n');
+
+ return `${title}\n${linksOutput}\n`;
+}
diff --git a/scopes/workspace/workspace/link/link.cmd.tsx b/scopes/workspace/workspace/link/link.cmd.ts
similarity index 64%
rename from scopes/workspace/workspace/link/link.cmd.tsx
rename to scopes/workspace/workspace/link/link.cmd.ts
index c05095497613..424625383d2b 100644
--- a/scopes/workspace/workspace/link/link.cmd.tsx
+++ b/scopes/workspace/workspace/link/link.cmd.ts
@@ -1,8 +1,6 @@
import { Command, CommandOptions } from '@teambit/cli';
-import React from 'react';
import { LinkResults } from '@teambit/dependency-resolver';
import { Logger } from '@teambit/logger';
-import { Text, Box } from 'ink';
import { BASE_DOCS_DOMAIN } from '@teambit/legacy/dist/constants';
import { timeFormat } from '@teambit/toolbox.time.time-format';
import chalk from 'chalk';
@@ -11,10 +9,12 @@ import { ComponentListLinks } from './component-list-links';
import { CoreAspectsLinks } from './core-aspects-links';
import { NestedComponentLinksLinks } from './nested-deps-in-nm-links';
import { RewireRow } from './rewire-row';
+import { linkToDir } from './link-to-dir';
type LinkCommandOpts = {
rewire: boolean;
verbose: boolean;
+ target: string;
};
export class LinkCommand implements Command {
name = 'link [ids...]';
@@ -26,7 +26,12 @@ export class LinkCommand implements Command {
options = [
['j', 'json', 'return the output as JSON'],
['', 'verbose', 'verbose output'],
- ['r', 'rewire', 'EXPERIMENTAL. Replace relative paths with module paths in code (e.g. "../foo" => "@bit/foo")'],
+ ['r', 'rewire', 'Replace relative paths with module paths in code (e.g. "../foo" => "@bit/foo")'],
+ [
+ '',
+ 'target ',
+ 'EXPERIMENTAL. link to an external directory (similar to npm-link) so other projects could use these components',
+ ],
] as CommandOptions;
constructor(
@@ -41,15 +46,7 @@ export class LinkCommand implements Command {
private logger: Logger
) {}
- // async report() {
- // const startTime = Date.now();
- // const linkResults = await this.json();
- // const endTime = Date.now();
- // const executionTime = calculateTime(startTime, endTime);
- // return JSON.stringify(linkResults, null, 2);
- // }
-
- async render([ids]: [string[]], opts: LinkCommandOpts) {
+ async report([ids]: [string[]], opts: LinkCommandOpts) {
const startTime = Date.now();
const linkResults = await this.json([ids], opts);
const endTime = Date.now();
@@ -60,19 +57,21 @@ export class LinkCommand implements Command {
coreAspectsLinksWithMainAspect.unshift(linkResults.teambitBitLink);
}
const numOfCoreAspects = coreAspectsLinksWithMainAspect.length;
- return (
-
-
- Linked {numOfComponents} components and {numOfCoreAspects} core aspects to node_modules for workspace:{' '}
- {this.workspace.name}
-
-
-
-
-
- Finished. {timeDiff}
-
- );
+
+ const title = `Linked ${numOfComponents} components and ${numOfCoreAspects} core aspects to node_modules for workspace: ${this.workspace.name}`;
+ const coreLinks = CoreAspectsLinks({
+ coreAspectsLinks: coreAspectsLinksWithMainAspect,
+ verbose: opts.verbose,
+ });
+ const compsLinks = ComponentListLinks({ componentListLinks: linkResults.legacyLinkResults, verbose: opts.verbose });
+ const rewireRow = RewireRow({ legacyCodemodResults: linkResults.legacyLinkCodemodResults });
+ const nestedLinks = NestedComponentLinksLinks({
+ nestedDepsInNmLinks: linkResults.nestedDepsInNmLinks,
+ verbose: opts.verbose,
+ });
+ const targetLinks = linkToDir(linkResults.linkToDirResults);
+ const footer = `Finished. ${timeDiff}`;
+ return `${title}\n${coreLinks}\n${compsLinks}\n${rewireRow}${nestedLinks}${targetLinks}${footer}`;
}
// eslint-disable-next-line @typescript-eslint/no-unused-vars
@@ -86,6 +85,7 @@ export class LinkCommand implements Command {
rewire: opts.rewire,
linkCoreAspects: true,
linkTeambitBit: true,
+ linkToDir: opts.target,
};
const linkResults = await this.workspace.link(linkOpts);
return linkResults;
diff --git a/scopes/workspace/workspace/link/nested-deps-in-nm-links.ts b/scopes/workspace/workspace/link/nested-deps-in-nm-links.ts
new file mode 100644
index 000000000000..87045d54b710
--- /dev/null
+++ b/scopes/workspace/workspace/link/nested-deps-in-nm-links.ts
@@ -0,0 +1,47 @@
+import chalk from 'chalk';
+import { NestedNMDepsLinksResult } from '@teambit/dependency-resolver';
+import { VerboseLinkRow } from './link-row';
+
+type NestedComponentLinksLinksProps = {
+ nestedDepsInNmLinks?: NestedNMDepsLinksResult[];
+ verbose: boolean;
+};
+
+export function NestedComponentLinksLinks({ nestedDepsInNmLinks, verbose = false }: NestedComponentLinksLinksProps) {
+ if (!verbose) return '';
+ if (!nestedDepsInNmLinks || !nestedDepsInNmLinks.length) {
+ return '';
+ }
+ const title = chalk.bold.cyan('Nested dependencies links');
+ const links = nestedDepsInNmLinks
+ .map((nestedComponentLinks) =>
+ NestedComponentLinks({
+ nestedComponentLinks,
+ verbose,
+ })
+ )
+ .join('\n');
+ return `${title}\n${links}\n`;
+}
+
+type NestedComponentLinksProps = {
+ nestedComponentLinks: NestedNMDepsLinksResult;
+ verbose: boolean;
+};
+function NestedComponentLinks({ nestedComponentLinks, verbose = false }: NestedComponentLinksProps) {
+ if (!nestedComponentLinks.linksDetail || nestedComponentLinks.linksDetail.length < 1) return '';
+ if (verbose) return VerboseNestedComponentLinks({ nestedComponentLinks });
+ return '';
+}
+
+type VerboseNestedComponentLinksProps = {
+ nestedComponentLinks: NestedNMDepsLinksResult;
+};
+function VerboseNestedComponentLinks({ nestedComponentLinks }: VerboseNestedComponentLinksProps) {
+ const id = nestedComponentLinks.componentId.toString();
+ const title = chalk.cyan.bold(id);
+ const links = nestedComponentLinks.linksDetail
+ .map((link) => VerboseLinkRow({ from: link.from, to: link.to }))
+ .join('\n');
+ return `${title}\n${links}\n`;
+}
diff --git a/scopes/workspace/workspace/link/nested-deps-in-nm-links.tsx b/scopes/workspace/workspace/link/nested-deps-in-nm-links.tsx
deleted file mode 100644
index cb8558d8165e..000000000000
--- a/scopes/workspace/workspace/link/nested-deps-in-nm-links.tsx
+++ /dev/null
@@ -1,58 +0,0 @@
-import { Text, Box } from 'ink';
-import React from 'react';
-import { NestedNMDepsLinksResult } from '@teambit/dependency-resolver';
-import { VerboseLinkRow } from './link-row';
-
-type NestedComponentLinksLinksProps = {
- nestedDepsInNmLinks?: NestedNMDepsLinksResult[];
- verbose: boolean;
-};
-
-export function NestedComponentLinksLinks({ nestedDepsInNmLinks, verbose = false }: NestedComponentLinksLinksProps) {
- if (!verbose) return null;
- if (!nestedDepsInNmLinks || !nestedDepsInNmLinks.length) {
- return null;
- }
- return (
-
-
- Nested dependencies links
-
- {nestedDepsInNmLinks.map((nestedComponentLinks) => (
-
- ))}
-
- );
-}
-
-type NestedComponentLinksProps = {
- nestedComponentLinks: NestedNMDepsLinksResult;
- verbose: boolean;
-};
-function NestedComponentLinks({ nestedComponentLinks, verbose = false }: NestedComponentLinksProps) {
- if (!nestedComponentLinks.linksDetail || nestedComponentLinks.linksDetail.length < 1) return null;
- if (verbose) return ;
- return null;
-}
-
-type VerboseNestedComponentLinksProps = {
- nestedComponentLinks: NestedNMDepsLinksResult;
-};
-function VerboseNestedComponentLinks({ nestedComponentLinks }: VerboseNestedComponentLinksProps) {
- const id = nestedComponentLinks.componentId.toString();
- if (!nestedComponentLinks.linksDetail || nestedComponentLinks.linksDetail.length < 1) return null;
- return (
-
-
- {id}
-
- {nestedComponentLinks.linksDetail.map((link) => (
-
- ))}
-
- );
-}
diff --git a/scopes/workspace/workspace/link/rewire-row.tsx b/scopes/workspace/workspace/link/rewire-row.ts
similarity index 66%
rename from scopes/workspace/workspace/link/rewire-row.tsx
rename to scopes/workspace/workspace/link/rewire-row.ts
index 8bc7f227c851..624014584ac5 100644
--- a/scopes/workspace/workspace/link/rewire-row.tsx
+++ b/scopes/workspace/workspace/link/rewire-row.ts
@@ -1,21 +1,17 @@
-import { Text } from 'ink';
-import React from 'react';
import { CodemodResult } from '@teambit/legacy/dist/consumer/component-ops/codemod-components';
+import chalk from 'chalk';
type RewireRowProps = {
legacyCodemodResults?: CodemodResult[];
};
export function RewireRow({ legacyCodemodResults }: RewireRowProps) {
- if (!legacyCodemodResults || legacyCodemodResults.length < 1) return null;
+ if (!legacyCodemodResults || legacyCodemodResults.length < 1) return '';
const totalComps = legacyCodemodResults?.length;
const totalFiles = legacyCodemodResults.reduce((acc, curr) => {
return acc + curr.changedFiles.length || 0;
}, 0);
- return (
-
- rewired {totalComps} components and total of {totalFiles}{' '}
- files
-
- );
+ return `rewired ${chalk.cyan(totalComps.toString())} components and total of ${chalk.cyan(
+ totalFiles.toString()
+ )} files\n`;
}
diff --git a/scopes/workspace/workspace/ui/workspace/use-workspace.ts b/scopes/workspace/workspace/ui/workspace/use-workspace.ts
index b8e26a91361a..79b91b57fdaa 100644
--- a/scopes/workspace/workspace/ui/workspace/use-workspace.ts
+++ b/scopes/workspace/workspace/ui/workspace/use-workspace.ts
@@ -17,6 +17,7 @@ const wcComponentFields = gql`
}
description
issuesCount
+ buildStatus
status {
isOutdated
isNew
diff --git a/scopes/workspace/workspace/workspace-component/workspace-component-loader.ts b/scopes/workspace/workspace/workspace-component/workspace-component-loader.ts
index cb10a6f8c860..e0cb8754f08c 100644
--- a/scopes/workspace/workspace/workspace-component/workspace-component-loader.ts
+++ b/scopes/workspace/workspace/workspace-component/workspace-component-loader.ts
@@ -1,4 +1,4 @@
-import { Component, ComponentFS, ComponentID, Config, State, TagMap } from '@teambit/component';
+import { Component, ComponentFS, ComponentID, Config, InvalidComponent, State, TagMap } from '@teambit/component';
import { BitId } from '@teambit/legacy-bit-id';
import { ExtensionDataList } from '@teambit/legacy/dist/consumer/config/extension-data';
import mapSeries from 'p-map-series';
@@ -59,6 +59,28 @@ export class WorkspaceComponentLoader {
return filteredComponents;
}
+ async getInvalid(ids: Array): Promise {
+ const idsWithoutEmpty = compact(ids);
+ const errors: InvalidComponent[] = [];
+ const longProcessLogger = this.logger.createLongProcessLogger('loading components', ids.length);
+ await mapSeries(idsWithoutEmpty, async (id: ComponentID) => {
+ longProcessLogger.logProgress(id.toString());
+ try {
+ await this.workspace.consumer.loadComponent(id._legacy);
+ } catch (err) {
+ if (ConsumerComponent.isComponentInvalidByErrorType(err)) {
+ errors.push({
+ id,
+ err,
+ });
+ return;
+ }
+ throw err;
+ }
+ });
+ return errors;
+ }
+
async get(
componentId: ComponentID,
forCapsule = false,
@@ -143,8 +165,21 @@ export class WorkspaceComponentLoader {
}
}
- private getFromCache(id: ComponentID, forCapsule: boolean) {
- return forCapsule ? this.componentsCacheForCapsule.get(id.toString()) : this.componentsCache.get(id.toString());
+ /**
+ * make sure that not only the id-str match, but also the legacy-id.
+ * this is needed because the ComponentID.toString() is the same whether or not the legacy-id has
+ * scope-name, as it includes the defaultScope if the scope is empty.
+ * as a result, when out-of-sync is happening and the id is changed to include scope-name in the
+ * legacy-id, the component is the cache has the old id.
+ */
+ private getFromCache(id: ComponentID, forCapsule: boolean): Component | undefined {
+ const fromCache = forCapsule
+ ? this.componentsCacheForCapsule.get(id.toString())
+ : this.componentsCache.get(id.toString());
+ if (fromCache && fromCache.id._legacy.isEqual(id._legacy)) {
+ return fromCache;
+ }
+ return undefined;
}
private async getConsumerComponent(id: ComponentID, forCapsule = false) {
diff --git a/scopes/workspace/workspace/workspace-component/workspace-component.ts b/scopes/workspace/workspace/workspace-component/workspace-component.ts
index aa45f647bbd4..f0c91d68fddb 100644
--- a/scopes/workspace/workspace/workspace-component/workspace-component.ts
+++ b/scopes/workspace/workspace/workspace-component/workspace-component.ts
@@ -41,7 +41,7 @@ export class WorkspaceComponent extends Component {
/**
* get all issues reported on the component.
*/
- async getIssues(): Promise {
+ getIssues(): IssuesList | null {
return this.workspace.getComponentIssues(this);
}
diff --git a/scopes/workspace/workspace/workspace.graphql.ts b/scopes/workspace/workspace/workspace.graphql.ts
index bbc8e48c53c3..d1ca7e810d0a 100644
--- a/scopes/workspace/workspace/workspace.graphql.ts
+++ b/scopes/workspace/workspace/workspace.graphql.ts
@@ -42,9 +42,17 @@ export default (workspace: Workspace, graphql: GraphqlMain) => {
status: ComponentStatus
}
+ type Issue {
+ type: String!
+ description: String!
+ solution: String
+ data: String
+ }
+
extend type Component {
# the count of errors in component in workspace
issuesCount: Int
+ issues: [Issue]
}
type Workspace {
@@ -85,8 +93,11 @@ export default (workspace: Workspace, graphql: GraphqlMain) => {
status: async (wsComponent: WorkspaceComponent) => {
return wsComponent.getStatus();
},
- issuesCount: async (wsComponent: WorkspaceComponent): Promise => {
- return (await wsComponent.getIssues())?.count || 0;
+ issuesCount: (wsComponent: WorkspaceComponent): number => {
+ return wsComponent.getIssues()?.count || 0;
+ },
+ issues: (wsComponent: WorkspaceComponent) => {
+ return wsComponent.getIssues()?.toObjectWithDataAsString();
},
},
Workspace: {
diff --git a/scopes/workspace/workspace/workspace.ts b/scopes/workspace/workspace/workspace.ts
index 98b6322864f0..acad1b396567 100644
--- a/scopes/workspace/workspace/workspace.ts
+++ b/scopes/workspace/workspace/workspace.ts
@@ -14,6 +14,7 @@ import {
ComponentMap,
AspectList,
AspectData,
+ InvalidComponent,
} from '@teambit/component';
import { ComponentScopeDirMap } from '@teambit/config';
import {
@@ -263,7 +264,7 @@ export class Workspace implements ComponentFactory {
/**
* get Component issues
*/
- async getComponentIssues(component: Component): Promise {
+ getComponentIssues(component: Component): IssuesList | null {
return component.state._consumer.issues || null;
}
@@ -285,6 +286,16 @@ export class Workspace implements ComponentFactory {
return this.getMany(filter && filter.limit ? slice(ids, filter.offset, filter.offset + filter.limit) : ids);
}
+ /**
+ * list all invalid components.
+ * (see the invalid criteria in ConsumerComponent.isComponentInvalidByErrorType())
+ */
+ async listInvalid(): Promise {
+ const legacyIds = this.consumer.bitMap.getAllIdsAvailableOnLane();
+ const ids = await this.resolveMultipleComponentIds(legacyIds);
+ return this.componentLoader.getInvalid(ids);
+ }
+
/**
* get ids of all workspace components.
*/
diff --git a/scripts/docker-teambit-bit/Dockerfile-bit b/scripts/docker-teambit-bit/Dockerfile-bit
new file mode 100644
index 000000000000..7a197f928180
--- /dev/null
+++ b/scripts/docker-teambit-bit/Dockerfile-bit
@@ -0,0 +1,16 @@
+FROM node:12.18.3
+RUN adduser --disabled-password --gecos '' user
+RUN chown -R user /usr/local/
+USER user
+
+RUN npm i @teambit/bvm -g
+RUN bvm upgrade
+ENV PATH=$PATH:/home/user/bin
+
+# increase node process memory
+ENV NODE_OPTIONS=--max_old_space_size=4096
+
+RUN bit config set analytics_reporting false
+RUN bit config set no_warnings false
+RUN bit config set interactive false
+RUN bit config set error_reporting true
diff --git a/scripts/docker-teambit-bit/Dockerfile-bit-server b/scripts/docker-teambit-bit/Dockerfile-bit-server
new file mode 100644
index 000000000000..9688d6473150
--- /dev/null
+++ b/scripts/docker-teambit-bit/Dockerfile-bit-server
@@ -0,0 +1,6 @@
+ARG BIT_VERSION=latest
+FROM bitcli/bit:${BIT_VERSION}
+ARG SCOPE_PATH=/tmp/remote-scope
+WORKDIR ${SCOPE_PATH}
+RUN bit init --bare
+CMD bit start
diff --git a/scripts/docker-teambit-bit/Dockerfile b/scripts/docker-teambit-bit/Dockerfile-symphony
similarity index 77%
rename from scripts/docker-teambit-bit/Dockerfile
rename to scripts/docker-teambit-bit/Dockerfile-symphony
index a4fcf273335b..25b680810d59 100644
--- a/scripts/docker-teambit-bit/Dockerfile
+++ b/scripts/docker-teambit-bit/Dockerfile-symphony
@@ -14,10 +14,6 @@ RUN bbit config set interactive false
RUN bbit config set error_reporting true
RUN ln -s /usr/local/bin/bbit /usr/local/bin/bit
-RUN bit config set analytics_reporting false
-RUN bit config set no_warnings false
-RUN bit config set interactive false
-RUN bit config set error_reporting true
RUN ln -s /tmp/symphony/etc/.bitrc.jsonc ~/.bitrc.jsonc
WORKDIR /tmp/scope-fs
CMD bit start
diff --git a/scripts/docker-teambit-bit/README.md b/scripts/docker-teambit-bit/README.md
new file mode 100644
index 000000000000..442c160af7b4
--- /dev/null
+++ b/scripts/docker-teambit-bit/README.md
@@ -0,0 +1,86 @@
+Docker containers for bit harmony.
+
+_This dockers are not dealing with legacy bit (pre-harmony) for legacy bit please refer to [bit-docker](https://github.com/teambit/bit-docker)_
+
+## Structure
+
+- Dockerfile-bit: A docker file which installs bvm and then use bvm to install bit. this docker is usually useful for runnig bit commands like tag and export on CI machine
+- Dcokerfil-bit-server: A docker file based on the `Dockerfile-bit` (using from) which create a bare scope, and initialized the bit server on it (bit start)
+- Dockerfile-symphony: for internal use only
+
+## Using from dockerhub
+
+The docker images hosted on dockerhub on those links [Dockerfile-bit](https://hub.docker.com/repository/docker/bitcli/bit) and [Dockerfile-bit-server](https://hub.docker.com/repository/docker/bitcli/bit-server)
+
+## Building locally
+
+1. `cd scripts/docker-teambit-bit`
+1. first build the bit docker - `docker build -f ./Dockerfile-bit -t bitcli/bit:latest .`
+1. second build the bit server docker - `docker build -f ./Dockerfile-bit-server -t bitcli/bit-server:latest .`
+
+## Running containers
+
+### Run the cli container
+
+1. `docker run -it bitcli/bit-server:latest /bin/bash`
+1. `bit -v` to see bit's version to make sure it works
+
+### Run the server container
+
+1. `docker run -it -p {host-port}:3000 bitcli/bit-server:latest` - replace the host port with the port you want to use on your host machine for example 5000
+1. browse `http://localhost:{host-port}` and make sure you see the bit's ui
+
+## Exporting components to bit server
+
+1. make sure you run the server container and validate it works
+1. on your local workspace run `bit remote add http://localhost:{host-port}` you should get a message saying remote-scope was added
+1. set `remote-scope` on your `workspace.jsonc` as `defaultScope`
+1. run `bit export`
+
+## Advanced usage
+
+### Using specific version of bit on the bit server
+
+Bit server is getting a `BIT_VERSION` argument which is used in the `FROM` statement. you can use it with `docker build -f ./Dockerfile-bit-server --build-arg BIT_VERSION={version} -t bitcli/bit-server:{version} .`
+This will make your to fetch the cli container from dockerhub with the specificed version
+
+### Change bare scope name and location on the server containter
+
+The scope name is defined by the folder name of the containing scope (`remote-scope` by default).
+This name is then later used for setting it up in the `workspace.jsonc` file.
+In case you want to change it you can pass the build arg called `SCOPE_PATH` like `--build-arg SCOPE_PATH=/tmp/custom-remote-scope`
+
+### Using volume to make sure data is persisted
+
+In order to persist the scope data, you want the scope folder to be live outside the container in the host machine.
+You can use [bind mounts](https://docs.docker.com/storage/bind-mounts/) to do so:
+`docker run -it -v {scope-path-on-host}:/tmp/remote-scope -p {host-port}:3000 bitcli/bit-server:latest`
+
+_Usually it's better to use volumes then bind mounts, or even handle the mounts by an orchestrator like kubernetees but this topics is out of the scope in this guide_
+
+### Combining scope volume with scope name/location
+
+When combining change of the scope name/location and volume you have to make sure the location provided in the `SCOPE_PATH` in the build arg is matching the target in the volume:
+`docker run -it -v {scope-path-on-host}:/tmp/custom-remote-scope -build-arg SCOPE_PATH=/tmp/custom-remote-scope -p {host-port}:3000 bitcli/bit-server:latest`
+See the `/tmp/custom-remote-scope` is used both in the `-v` arg after the `:` and as the `SCOPE_PATH` value.
+
+### Watch bit server logs on host machine
+
+Since the `bit start` command at the moment can't be run as detached, you will need a way to run it as the main command and to monitor the logs at the same time.
+In order to do so, we will connect the logs dir on the container to a dir in the host using [bind mounts](https://docs.docker.com/storage/bind-mounts/).
+In order to watch the bit logs, you will need to mount the logs directory in the host machine. like this:
+`docker run -it -v {logs-dir-on-host}:/home/user/Library/Caches/Bit/logs -p {host-port}:3000 bitcli/bit-server:latest`
+An example with actual values (use `/tmp/bit-server-docker-logs` for logs on host and port 5000 on host):
+`docker run -it -v /tmp/bit-server-docker-logs:/home/user/Library/Caches/Bit/logs -p 5000:3000 bitcli/bit-server:latest`
+
+_In most cases it make sense to use [tmpfs-mounts](https://docs.docker.com/storage/tmpfs/) for this, but this as well is out of the scope for this guide_
+
+## Important notes:
+
+- Do not mount the same scope directory on the host to multiple bit-server containers.
+ Bit is using different in memory cache mechanism, so mount the same dir into different servers instances, might produce unpredictable outcome.
+
+## Troubleshooting
+
+- **problem**: running bit start on the server containter is killed with code 137
+ **solution**: increase the memory provided by the host machine (usually 4GB should be enouth - this is also the value we provide for the node process by `NODE_OPTIONS=--max_old_space_size=4096`). for example in mac - [docker for mac resources](https://docs.docker.com/docker-for-mac/#resources)
diff --git a/src/analytics/analytics.ts b/src/analytics/analytics.ts
index bf875d98a2e0..87541744c4a3 100644
--- a/src/analytics/analytics.ts
+++ b/src/analytics/analytics.ts
@@ -10,6 +10,7 @@ import uniqid from 'uniqid';
import yn from 'yn';
import { getSync, setSync } from '../api/consumer/lib/global-config';
+import { CLIArgs } from '../cli/command';
import {
BIT_VERSION,
CFG_ANALYTICS_ANONYMOUS_KEY,
@@ -46,7 +47,7 @@ class Analytics {
static username: string;
static command: string;
static release: string;
- static args: string[];
+ static args: CLIArgs;
static flags: Record = {};
static success = true;
static nodeVersion: string;
@@ -129,11 +130,11 @@ class Analytics {
}
return definedFlags;
}
- static _hashArgs(args: string[]): string[] {
+ static _hashArgs(args: CLIArgs): CLIArgs {
if (!this.anonymous) return args;
return args.map((arg) => this._hashLightly(arg));
}
- static init(command: string, flags: Record, args: string[]) {
+ static init(command: string, flags: Record, args: CLIArgs) {
this.anonymous = yn(getSync(CFG_ANALYTICS_ANONYMOUS_KEY), { default: true });
this.command = command;
this.flags = this._hashFlags(flags);
diff --git a/src/bootstrap.ts b/src/bootstrap.ts
index 83a8751da0ba..6011fcb90259 100644
--- a/src/bootstrap.ts
+++ b/src/bootstrap.ts
@@ -5,7 +5,7 @@ import fs from 'fs-extra';
import semver from 'semver';
import { Analytics } from './analytics/analytics';
-import { handleUnhandledRejection } from './cli/command-runner';
+import { handleUnhandledRejection } from './cli/handle-errors';
import { BIT_VERSION, GLOBAL_CONFIG, GLOBAL_LOGS } from './constants';
import HooksManager from './hooks';
import { printWarning } from './logger/logger';
@@ -81,7 +81,7 @@ function printBitVersionIfAsked() {
}
/**
- * once commander and Harmony are fully loaded we have all commands instances and we are able to
+ * once Yargs and Harmony are fully loaded we have all commands instances and we are able to
* determine whether or not the loader should be loaded.
* in this phase, all we have are the args from the cli, so we can only guess when it's ok to start
* the loader. the reason we start it here is to have the loader report the progress of bit
@@ -106,6 +106,8 @@ function enableLoaderIfPossible() {
'checkout',
'merge',
'diff',
+ 'env',
+ 'envs',
];
if (
safeCommandsForLoader.includes(process.argv[2]) &&
@@ -113,7 +115,7 @@ function enableLoaderIfPossible() {
!process.argv.includes('-j')
) {
loader.on();
- loader.start('loading bit...');
+ // loader.start('loading bit...');
}
}
diff --git a/src/cli/command-registry.ts b/src/cli/command-registry.ts
index baffd4fbf63b..32b07a35e3e2 100644
--- a/src/cli/command-registry.ts
+++ b/src/cli/command-registry.ts
@@ -1,155 +1,12 @@
-import chalk from 'chalk';
-import { Analytics } from '../analytics/analytics';
-import { TOKEN_FLAG, TOKEN_FLAG_NAME } from '../constants';
import { Commands } from '../legacy-extensions/extension';
-import logger from '../logger/logger';
-import { camelCase, first } from '../utils';
-import { Command } from './command';
-import { CommandRunner } from './command-runner';
-import globalFlags from './global-flags';
-import { CommandOptions, LegacyCommand } from './legacy-command';
-
-function parseSubcommandFromArgs(args: [any]) {
- if (typeof first(args) === 'string') return first(args);
- return null;
-}
+import { first } from '../utils';
+import { LegacyCommand } from './legacy-command';
export function parseCommandName(commandName: string): string {
if (!commandName) return '';
return first(commandName.split(' '));
}
-function getOpts(c, opts: CommandOptions): { [key: string]: boolean | string } {
- const options = {};
-
- opts.forEach(([, name]) => {
- const parsedName = parseCommandName(name);
- const camelCaseName = camelCase(parsedName);
-
- if (name.startsWith('no-')) {
- // from commander help: "Note that multi-word options starting with --no prefix negate the boolean value of the following word. For example, --no-sauce sets the value of program.sauce to false."
- // we don't want this feature, so we do the opposite action.
- options[camelCaseName] = !c[camelCase(parsedName.replace('no-', ''))];
- } else {
- options[camelCaseName] = c[camelCaseName];
- }
- });
-
- return options;
-}
-
-/**
- * execute the command.
- * the stack trace up to this point is confusing, it's helpful to outline it here:
- * CLIExtension.run => commander.parse(params) => commander-pkg.parse => commander-pkg.parseArgs => execAction
- */
-export async function execAction(command: Command, concrete, args): Promise {
- const flags = getOpts(concrete, command.options);
- const relevantArgs = args.slice(0, args.length - 1);
- Analytics.init(concrete.name(), flags, relevantArgs);
- logger.info(`[*] started a new command: "${parseCommandName(command.name)}" with the following data:`, {
- args: relevantArgs,
- flags,
- });
- if (flags[TOKEN_FLAG_NAME]) {
- globalFlags.token = flags[TOKEN_FLAG_NAME].toString();
- }
- const commandRunner = new CommandRunner(command, relevantArgs, flags);
- return commandRunner.runCommand();
-}
-
-/**
- * register the action of each one of the commands.
- * at this point, it doesn't run any `execAction`, it only register it.
- * the actual running of `execAction` happens once `commander.parse(params)` is called.
- */
-function registerAction(command: Command, concrete) {
- concrete.action((...args) => {
- const subCommands = command.commands;
- if (subCommands?.length) {
- // @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!
- const subcommandName = parseSubcommandFromArgs(args);
- const subcommand = subCommands.find((cmd) => {
- return subcommandName === (parseCommandName(cmd.name) || cmd.alias);
- });
-
- args.shift();
- if (subcommand) return execAction(subcommand, concrete, args);
- }
-
- return execAction(command, concrete, args);
- });
-}
-
-function createOptStr(alias, name) {
- if (alias) {
- return `-${alias}, --${name}`;
- }
- return `--${name}`;
-}
-
-export function register(command: Command, commanderCmd, packageManagerArgs?: string[]) {
- const concrete = commanderCmd
- .command(command.name, null, { noHelp: command.private })
- .description(chalk.yellow(command.description as string))
- .alias(command.alias);
-
- const globalOptions: CommandOptions = [];
- if (command.remoteOp) {
- globalOptions.push(['', TOKEN_FLAG, 'authentication token']);
- }
- if (!command.internal) {
- globalOptions.push(
- [
- '',
- 'log [level]',
- 'print log messages to the screen, options are: [trace, debug, info, warn, error, fatal], the default is info',
- ],
- [
- '',
- 'safe-mode',
- 'bootstrap the bare-minimum with only the CLI aspect. useful mainly for low-level commands when bit refuses to load',
- ]
- );
- }
-
- if (packageManagerArgs) {
- command._packageManagerArgs = packageManagerArgs;
- }
-
- command.options.forEach(([alias, name, description]) => {
- concrete.option(createOptStr(alias, name), description);
- });
-
- styleOptions(concrete);
- addGlobalOptionsDelimiter(concrete);
-
- globalOptions.forEach(([alias, name, description]) => {
- concrete.option(createOptStr(alias, name), description);
- command.options.push([alias, name, description]);
- });
-
- if (command.commands) {
- command.commands.forEach((nestedCmd) => {
- register(nestedCmd, concrete);
- });
- }
-
- return registerAction(command, concrete);
-}
-
-function styleOptions(concrete) {
- concrete.options.forEach((option) => {
- option.flags = chalk.green(option.flags);
- });
-}
-
-function addGlobalOptionsDelimiter(concrete) {
- if (!concrete.options.length) return;
- const lastOption = concrete.options[concrete.options.length - 1];
- lastOption.description = `${lastOption.description}\n\nGlobal Options:`;
-}
-
export default class CommandRegistry {
version: string;
usage: string;
diff --git a/src/cli/command.ts b/src/cli/command.ts
index eb64f94b7c62..b4831b5651e0 100644
--- a/src/cli/command.ts
+++ b/src/cli/command.ts
@@ -73,6 +73,12 @@ export interface Command {
*/
remoteOp?: boolean;
+ /**
+ * if true, it indicates that it doesn't need the workspace to work and can be executed outside a
+ * workspace
+ */
+ skipWorkspace?: boolean;
+
/**
* do not set this. it is being set once the command run.
* the values are those followed `--` in the command line. (e.g. `bit import -- --no-optional`)
diff --git a/src/cli/commands/public-cmds/add-cmd.ts b/src/cli/commands/public-cmds/add-cmd.ts
index 097882db2186..a2010b7504a8 100644
--- a/src/cli/commands/public-cmds/add-cmd.ts
+++ b/src/cli/commands/public-cmds/add-cmd.ts
@@ -39,7 +39,7 @@ export default class Add implements LegacyCommand {
migration = true;
action(
- [paths]: [string[]],
+ [paths = []]: [string[]],
{
id,
main,
diff --git a/src/cli/commands/public-cmds/checkout-cmd.ts b/src/cli/commands/public-cmds/checkout-cmd.ts
index 86efc1738bc7..4b819a18d2f9 100644
--- a/src/cli/commands/public-cmds/checkout-cmd.ts
+++ b/src/cli/commands/public-cmds/checkout-cmd.ts
@@ -46,7 +46,7 @@ export default class Checkout implements LegacyCommand {
loader = true;
action(
- [values]: [string[]],
+ [values = []]: [string[]],
{
interactiveMerge = false,
ours = false,
diff --git a/src/cli/commands/public-cmds/diff-cmd.ts b/src/cli/commands/public-cmds/diff-cmd.ts
index 43063bb38389..8165ac424bb1 100644
--- a/src/cli/commands/public-cmds/diff-cmd.ts
+++ b/src/cli/commands/public-cmds/diff-cmd.ts
@@ -24,7 +24,7 @@ export default class Diff implements LegacyCommand {
loader = true;
action(
- [values]: [string[]],
+ [values = []]: [string[]],
{ verbose = false, table = false }: { verbose?: boolean; table: boolean }
): Promise {
return diff(values, verbose, table);
diff --git a/src/cli/commands/public-cmds/fetch-cmd.ts b/src/cli/commands/public-cmds/fetch-cmd.ts
index 8f40de6068f1..5188a64f3f0a 100644
--- a/src/cli/commands/public-cmds/fetch-cmd.ts
+++ b/src/cli/commands/public-cmds/fetch-cmd.ts
@@ -25,7 +25,7 @@ export default class Fetch implements LegacyCommand {
loader = true;
action(
- [ids]: [string[]],
+ [ids = []]: [string[]],
{
lanes = false,
components = false,
diff --git a/src/cli/commands/public-cmds/import-cmd.ts b/src/cli/commands/public-cmds/import-cmd.ts
index 7e996d2cb46b..af1848b89458 100644
--- a/src/cli/commands/public-cmds/import-cmd.ts
+++ b/src/cli/commands/public-cmds/import-cmd.ts
@@ -66,7 +66,7 @@ export default class Import implements LegacyCommand {
remoteOp = true;
action(
- [ids]: [string[]],
+ [ids = []]: [string[]],
{
tester = false,
compiler = false,
diff --git a/src/cli/commands/public-cmds/install-cmd.ts b/src/cli/commands/public-cmds/install-cmd.ts
index 4df0dc0526d7..80141e4e2122 100644
--- a/src/cli/commands/public-cmds/install-cmd.ts
+++ b/src/cli/commands/public-cmds/install-cmd.ts
@@ -15,7 +15,7 @@ export default class Install implements LegacyCommand {
loader = true;
action(
- [ids]: [string[]],
+ [ids = []]: [string[]],
{ verbose = false }: { verbose?: boolean },
packageManagerArgs: string[]
): Promise {
diff --git a/src/cli/commands/public-cmds/link-cmd.ts b/src/cli/commands/public-cmds/link-cmd.ts
index 10f121ea0f8e..cd34926fcbff 100644
--- a/src/cli/commands/public-cmds/link-cmd.ts
+++ b/src/cli/commands/public-cmds/link-cmd.ts
@@ -20,7 +20,7 @@ export default class Link implements LegacyCommand {
private = false;
loader = true;
- action([ids]: [string[]], { rewire = false }: { rewire: boolean }): Promise {
+ action([ids = []]: [string[]], { rewire = false }: { rewire: boolean }): Promise {
return link(ids, rewire);
}
diff --git a/src/cli/commands/public-cmds/list-cmd.ts b/src/cli/commands/public-cmds/list-cmd.ts
index 9b290afdda03..cf95d3257a3c 100644
--- a/src/cli/commands/public-cmds/list-cmd.ts
+++ b/src/cli/commands/public-cmds/list-cmd.ts
@@ -11,7 +11,7 @@ import bareListTemplate from '../../templates/bare-list-template';
import listTemplate from '../../templates/list-template';
export default class List implements LegacyCommand {
- name = 'list [scope]';
+ name = 'list [remote-scope]';
shortDescription = 'list components on a local or a remote scope.';
group: Group = 'discover';
description = `list components on a local or a remote scope.\n https://${BASE_DOCS_DOMAIN}/docs/view#list`;
diff --git a/src/cli/commands/public-cmds/merge-cmd.ts b/src/cli/commands/public-cmds/merge-cmd.ts
index 254d903caedd..dc7b95a50137 100644
--- a/src/cli/commands/public-cmds/merge-cmd.ts
+++ b/src/cli/commands/public-cmds/merge-cmd.ts
@@ -63,7 +63,7 @@ export default class Merge implements LegacyCommand {
loader = true;
action(
- [values]: [string[]],
+ [values = []]: [string[]],
{
ours = false,
theirs = false,
diff --git a/src/cli/commands/public-cmds/untrack-cmd.ts b/src/cli/commands/public-cmds/untrack-cmd.ts
index e48c71ee1d31..8cfca2686728 100644
--- a/src/cli/commands/public-cmds/untrack-cmd.ts
+++ b/src/cli/commands/public-cmds/untrack-cmd.ts
@@ -17,7 +17,7 @@ export default class Untrack implements LegacyCommand {
migration = true;
private = true; // it's deprecated
- action([components]: [string[]], { all }: { all: boolean | null | undefined }): Promise {
+ action([components = []]: [string[]], { all }: { all: boolean | null | undefined }): Promise {
if ((!R.isEmpty(components) && all) || (R.isEmpty(components) && !all)) {
throw new GeneralError(
'you can use either a specific component [id] to untrack a particular component or --all flag to untrack them all'
diff --git a/src/cli/handle-errors.ts b/src/cli/handle-errors.ts
new file mode 100644
index 000000000000..d4bdbdfd889e
--- /dev/null
+++ b/src/cli/handle-errors.ts
@@ -0,0 +1,45 @@
+import { serializeError } from 'serialize-error';
+import logger from '@teambit/legacy/dist/logger/logger';
+import { buildCommandMessage, isNumeric, packCommand } from '@teambit/legacy/dist/utils';
+import defaultHandleError from './default-error-handler';
+import loader from './loader';
+
+export async function handleErrorAndExit(err: Error, commandName: string, shouldSerialize = false): Promise {
+ try {
+ loader.off();
+ logger.error(`got an error from command ${commandName}: ${err}`);
+ logger.error(err.stack || '');
+ const { message, error } = defaultHandleError(err);
+ if (shouldSerialize) serializeErrAndExit(error, commandName);
+ else await logErrAndExit(message, commandName);
+ } catch (e) {
+ // eslint-disable-next-line no-console
+ console.error('failed to log the error properly, failure error', e);
+ // eslint-disable-next-line no-console
+ console.error('failed to log the error properly, original error', err);
+ process.exit(1);
+ }
+}
+
+export async function handleUnhandledRejection(err: Error | null | undefined | {}) {
+ // eslint-disable-next-line no-console
+ console.error('** unhandled rejection found, please make sure the promise is resolved/rejected correctly! **');
+ if (err instanceof Error) {
+ return handleErrorAndExit(err, process.argv[2]);
+ }
+ console.error(err); // eslint-disable-line
+ return handleErrorAndExit(new Error(`unhandledRejections found. err ${err}`), process.argv[2]);
+}
+
+export async function logErrAndExit(err: Error | string, commandName: string) {
+ if (!err) throw new Error(`logErrAndExit expects to get either an Error or a string, got nothing`);
+ console.error(err); // eslint-disable-line
+ await logger.exitAfterFlush(1, commandName);
+}
+
+function serializeErrAndExit(err, commandName: string) {
+ const data = packCommand(buildCommandMessage(serializeError(err), undefined, false), false, false);
+ const code = err.code && isNumeric(err.code) ? err.code : 1;
+ // eslint-disable-next-line @typescript-eslint/no-misused-promises
+ return process.stderr.write(data, () => logger.exitAfterFlush(code, commandName));
+}
diff --git a/src/cli/templates/component-issues-template.ts b/src/cli/templates/component-issues-template.ts
index 3338c395899a..d0afa2b8b51b 100644
--- a/src/cli/templates/component-issues-template.ts
+++ b/src/cli/templates/component-issues-template.ts
@@ -38,5 +38,5 @@ export default function componentIssuesTemplate(components: ConsumerComponent[])
}
export function formatIssues(compWithIssues: ConsumerComponent) {
- return ` ${compWithIssues.issues?.toString()}\n`;
+ return ` ${compWithIssues.issues?.outputForCLI()}\n`;
}
diff --git a/src/consumer/bit-map/bit-map.ts b/src/consumer/bit-map/bit-map.ts
index cf88778b0ecf..aea9435e474e 100644
--- a/src/consumer/bit-map/bit-map.ts
+++ b/src/consumer/bit-map/bit-map.ts
@@ -18,7 +18,6 @@ import { ComponentFsCache } from '../component/component-fs-cache';
import ComponentMap, { ComponentMapFile, ComponentOrigin, PathChange } from './component-map';
import { InvalidBitMap, MissingBitMapComponent, MultipleMatches } from './exceptions';
import WorkspaceLane from './workspace-lane';
-import { getLastModifiedDirTimestampMs, getLastModifiedPathsTimestampMs } from '../../utils/fs/last-modified';
import { DuplicateRootDir } from './exceptions/duplicate-root-dir';
export type PathChangeResult = { id: BitId; changes: PathChange[] };
@@ -149,7 +148,7 @@ export default class BitMap {
const bitMap = new BitMap(dirPath, currentLocation, schema, isLegacy, workspaceLane, remoteLaneName);
bitMap.loadComponents(componentsJson);
- await bitMap.loadFiles(consumer.componentFsCache);
+ await bitMap.loadFiles();
return bitMap;
}
@@ -159,30 +158,13 @@ export default class BitMap {
delete componentsJson[LANE_KEY];
}
- async loadFiles(componentFsCache: ComponentFsCache) {
+ async loadFiles() {
if (this.isLegacy) return;
const gitIgnore = getGitIgnoreHarmony(this.projectRoot);
- const { currentLocation } = BitMap.getBitMapLocation(this.projectRoot);
- // .bitmap might changed manually and will be very confused for the end user
- // as to why the files look the way they look.
- // similar with .gitignore, if changed, some files may need to be removed/added
- const impactFilesChanged = await getLastModifiedPathsTimestampMs([currentLocation as string, '.gitignore']);
await Promise.all(
this.components.map(async (componentMap) => {
- const idStr = componentMap.id.toString();
const rootDir = componentMap.rootDir;
if (!rootDir) return;
- const dataFromCache = await componentFsCache.getFilePathsFromCache(idStr);
- if (dataFromCache) {
- const lastModified = await getLastModifiedDirTimestampMs(rootDir);
- const wasModifiedAfterLastTrack = lastModified > dataFromCache.timestamp;
- const wereImpactFilesModifiedAfterLastTrack = impactFilesChanged > dataFromCache.timestamp;
- if (!wasModifiedAfterLastTrack && !wereImpactFilesModifiedAfterLastTrack) {
- const files = JSON.parse(dataFromCache.data);
- componentMap.files = files;
- return;
- }
- }
try {
componentMap.files = await getFilesByDir(rootDir, this.projectRoot, gitIgnore);
componentMap.recentlyTracked = true;
@@ -891,16 +873,15 @@ export default class BitMap {
* may result in a damaged file
*/
async write(componentFsCache: ComponentFsCache): Promise {
- await Promise.all(
- this.components.map(async (c) => {
- if (c.recentlyTracked) {
- await componentFsCache.setLastTrackTimestamp(c.id.toString(), Date.now());
- if (!this.isLegacy) {
- await componentFsCache.saveFilePathsInCache(c.id.toString(), c.files);
+ if (this.isLegacy) {
+ await Promise.all(
+ this.components.map(async (c) => {
+ if (c.recentlyTracked) {
+ await componentFsCache.setLastTrackTimestamp(c.id.toString(), Date.now());
}
- }
- })
- );
+ })
+ );
+ }
if (!this.hasChanged) return;
logger.debug('writing to bit.map');
if (this.workspaceLane) await this.workspaceLane.write();
diff --git a/src/consumer/bit-map/component-map.ts b/src/consumer/bit-map/component-map.ts
index cd4757576387..09c944a2c2ed 100644
--- a/src/consumer/bit-map/component-map.ts
+++ b/src/consumer/bit-map/component-map.ts
@@ -379,7 +379,7 @@ export default class ComponentMap {
* so then they'll be tracked by bitmap.
* this doesn't get called on Harmony, it's for legacy only.
*/
- async trackDirectoryChanges(consumer: Consumer, id: BitId): Promise {
+ async trackDirectoryChangesLegacy(consumer: Consumer, id: BitId): Promise {
const trackDir = this.getTrackDir();
if (!trackDir) {
return;
diff --git a/src/consumer/component-ops/add-components/add-components.ts b/src/consumer/component-ops/add-components/add-components.ts
index ad25bf16cb82..0168708b2740 100644
--- a/src/consumer/component-ops/add-components/add-components.ts
+++ b/src/consumer/component-ops/add-components/add-components.ts
@@ -1,4 +1,5 @@
import arrayDiff from 'array-difference';
+import globby from 'globby';
import fs from 'fs-extra';
import ignore from 'ignore';
import assignwith from 'lodash.assignwith';
@@ -49,6 +50,7 @@ import {
import { AddingIndividualFiles } from './exceptions/adding-individual-files';
import { IgnoredDirectory } from './exceptions/ignored-directory';
import MissingMainFileMultipleComponents from './exceptions/missing-main-file-multiple-components';
+import { ParentDirTracked } from './exceptions/parent-dir-tracked';
import PathOutsideConsumer from './exceptions/path-outside-consumer';
import VersionShouldBeRemoved from './exceptions/version-should-be-removed';
@@ -595,6 +597,7 @@ you can add the directory these files are located at and it'll change the root d
if (componentPathsStats[componentPath].isDir) {
const relativeComponentPath = this.consumer.getPathRelativeToConsumer(componentPath);
this._throwForOutsideConsumer(relativeComponentPath);
+ this.throwForExistingParentDir(relativeComponentPath);
const matches = await glob(path.join(relativeComponentPath, '**'), {
cwd: this.consumer.getPath(),
nodir: true,
@@ -889,6 +892,26 @@ try to avoid excluding files and maybe put them in your .gitignore if it makes s
throw new PathOutsideConsumer(relativeToConsumerPath);
}
}
+
+ private throwForExistingParentDir(relativeToConsumerPath: PathOsBased) {
+ if (this.isLegacy) {
+ return; // with legacy, you can add files inside dir to track them.
+ }
+ const isParentDir = (parent: string) => {
+ const relative = path.relative(parent, relativeToConsumerPath);
+ return relative && !relative.startsWith('..') && !path.isAbsolute(relative);
+ };
+ this.bitMap.components.forEach((componentMap) => {
+ if (!componentMap.rootDir) return;
+ if (isParentDir(componentMap.rootDir)) {
+ throw new ParentDirTracked(
+ componentMap.rootDir,
+ componentMap.id.toStringWithoutVersion(),
+ relativeToConsumerPath
+ );
+ }
+ });
+ }
}
/**
@@ -923,9 +946,9 @@ function validateNoDuplicateIds(addComponents: Record[]) {
}
export async function getFilesByDir(dir: string, consumerPath: string, gitIgnore: any): Promise {
- const matches = await glob(path.join(dir, '**'), {
+ const matches = await globby(dir, {
cwd: consumerPath,
- nodir: true,
+ onlyFiles: true,
});
if (!matches.length) throw new ComponentNotFoundInPath(dir);
const filteredMatches = gitIgnore.filter(matches);
diff --git a/src/consumer/component-ops/add-components/exceptions/parent-dir-tracked.ts b/src/consumer/component-ops/add-components/exceptions/parent-dir-tracked.ts
new file mode 100644
index 000000000000..bd1382e77db4
--- /dev/null
+++ b/src/consumer/component-ops/add-components/exceptions/parent-dir-tracked.ts
@@ -0,0 +1,8 @@
+import { BitError } from '@teambit/bit-error';
+
+export class ParentDirTracked extends BitError {
+ constructor(parentDir: string, componentName: string, currentDir: string) {
+ super(`unable to add "${currentDir}", an existing component "${componentName}" already has its parent-dir "${parentDir}" as the root-dir.
+if you would like "${currentDir}" as a separate component, please extract it outside "${parentDir}"`);
+ }
+}
diff --git a/src/consumer/component-ops/component-writer.ts b/src/consumer/component-ops/component-writer.ts
index 1954fa394b09..10a4849b27e4 100644
--- a/src/consumer/component-ops/component-writer.ts
+++ b/src/consumer/component-ops/component-writer.ts
@@ -116,7 +116,6 @@ export default class ComponentWriter {
async write(): Promise {
if (!this.consumer) throw new Error('ComponentWriter.write expect to have a consumer');
await this.populateComponentsFilesToWrite();
- // $FlowFixMe consumer is set
this.component.dataToPersist.addBasePath(this.consumer.getPath());
await this.component.dataToPersist.persistAllToFS();
return this.component;
@@ -126,6 +125,7 @@ export default class ComponentWriter {
if (!this.component.files || !this.component.files.length) {
throw new ShowDoctorError(`Component ${this.component.id.toString()} is invalid as it has no files`);
}
+ this.throwForImportingLegacyIntoHarmony();
this.component.dataToPersist = new DataToPersist();
this._updateFilesBasePaths();
this.component.componentMap = this.existingComponentMap || this.addComponentToBitMap(this.writeToPath);
@@ -142,6 +142,14 @@ export default class ComponentWriter {
return this.component;
}
+ private throwForImportingLegacyIntoHarmony() {
+ if (this.component.isLegacy && this.consumer && !this.consumer.isLegacy) {
+ throw new Error(
+ `unable to write component "${this.component.id.toString()}", it is a legacy component and this workspace is Harmony`
+ );
+ }
+ }
+
async populateFilesToWriteToComponentDir(packageManager?: string) {
if (this.deleteBitDirContent) {
this.component.dataToPersist.removePath(new RemovePath(this.writeToPath));
diff --git a/src/consumer/component/component-loader.ts b/src/consumer/component/component-loader.ts
index 2ea00c7c0b0f..d0f9ff7c11ab 100644
--- a/src/consumer/component/component-loader.ts
+++ b/src/consumer/component/component-loader.ts
@@ -144,7 +144,8 @@ export default class ComponentLoader {
}
private async loadOne(id: BitId, throwOnFailure: boolean, invalidComponents: InvalidComponent[]) {
- const componentMap = this.consumer.bitMap.getComponent(id);
+ // ignoreScopeAndVersion because out-of-sync might changed it before
+ const componentMap = this.consumer.bitMap.getComponent(id, { ignoreScopeAndVersion: true });
let bitDir = this.consumer.getPath();
if (componentMap.rootDir) {
bitDir = path.join(bitDir, componentMap.rootDir);
@@ -176,7 +177,8 @@ export default class ComponentLoader {
component.originallySharedDir = componentMap.originallySharedDir || undefined;
component.wrapDir = componentMap.wrapDir || undefined;
// reload component map as it may be changed after calling Component.loadFromFileSystem()
- component.componentMap = this.consumer.bitMap.getComponent(id);
+ // ignoreScopeAndVersion because out-of-sync might changed it before
+ component.componentMap = this.consumer.bitMap.getComponent(id, { ignoreScopeAndVersion: true });
await this._handleOutOfSyncScenarios(component);
const loadDependencies = async () => {
diff --git a/src/consumer/component/consumer-component.ts b/src/consumer/component/consumer-component.ts
index 73b7e742b78a..07994f485c4c 100644
--- a/src/consumer/component/consumer-component.ts
+++ b/src/consumer/component/consumer-component.ts
@@ -1171,7 +1171,7 @@ async function getLoadedFilesLegacy(
): Promise {
const bitMap: BitMap = consumer.bitMap;
const sourceFiles = [];
- await componentMap.trackDirectoryChanges(consumer, id);
+ await componentMap.trackDirectoryChangesLegacy(consumer, id);
const filesToDelete = [];
componentMap.files.forEach((file) => {
const filePath = path.join(bitDir, file.relativePath);
diff --git a/src/consumer/component/dependencies/dependency-resolver/dependencies-resolver.ts b/src/consumer/component/dependencies/dependency-resolver/dependencies-resolver.ts
index 764a82f6ad79..7ca3fd0d25c2 100644
--- a/src/consumer/component/dependencies/dependency-resolver/dependencies-resolver.ts
+++ b/src/consumer/component/dependencies/dependency-resolver/dependencies-resolver.ts
@@ -26,6 +26,7 @@ import OverridesDependencies from './overrides-dependencies';
import { ResolvedPackageData } from '../../../../utils/packages';
import { DependenciesData } from './dependencies-data';
import componentIdToPackageName from '../../../../utils/bit/component-id-to-package-name';
+import { packageToDefinetlyTyped } from './package-to-definetly-typed';
export type AllDependencies = {
dependencies: Dependency[];
@@ -119,6 +120,7 @@ export default class DependencyResolver {
this.processedFiles = [];
this.issues = new IssuesList();
this.setMissingDistsIssue();
+ this.setLegacyInsideHarmonyIssue();
this.overridesDependencies = new OverridesDependencies(component, consumer);
this.debugDependenciesData = { components: [] };
}
@@ -1195,6 +1197,13 @@ either, use the ignore file syntax or change the require statement to have a mod
}
}
+ private setLegacyInsideHarmonyIssue() {
+ if (this.consumer.isLegacy) return;
+ if (this.componentFromModel && this.componentFromModel.isLegacy) {
+ this.issues.getOrCreate(IssuesClasses.LegacyInsideHarmony).data = true;
+ }
+ }
+
private isDistDirExists(pkgName: string) {
const distDir = path.join(this.consumerPath, 'node_modules', pkgName, DEFAULT_DIST_DIRNAME);
return fs.existsSync(distDir);
@@ -1220,7 +1229,7 @@ either, use the ignore file syntax or change the require statement to have a mod
if (!depsHost) return;
const addIfNeeded = (depField: string, packageName: string) => {
if (!depsHost || !depsHost[depField]) return;
- const typesPackage = `@types/${packageName}`;
+ const typesPackage = packageToDefinetlyTyped(packageName);
if (!depsHost[depField][typesPackage]) return;
Object.assign(this.allPackagesDependencies[this._pkgFieldMapping('devDependencies')], {
[typesPackage]: depsHost[depField][typesPackage],
diff --git a/src/consumer/component/dependencies/dependency-resolver/package-to-definetly-typed.spec.ts b/src/consumer/component/dependencies/dependency-resolver/package-to-definetly-typed.spec.ts
new file mode 100644
index 000000000000..e7171ed409ea
--- /dev/null
+++ b/src/consumer/component/dependencies/dependency-resolver/package-to-definetly-typed.spec.ts
@@ -0,0 +1,54 @@
+import { expect } from 'chai';
+import { packageToDefinetlyTyped } from './package-to-definetly-typed';
+
+const scenarios = new Map([
+ ['@testing-library/jest-dom', '@types/testing-library__jest-dom'],
+ ['chai', '@types/chai'],
+ ['mocha', '@types/mocha'],
+
+ ['classnames', '@types/classnames'],
+ ['cors', '@types/cors'],
+ ['cross-spawn', '@types/cross-spawn'],
+ ['dagre', '@types/dagre'],
+ ['didyoumean', '@types/didyoumean'],
+ ['eslint', '@types/eslint'],
+ ['express', '@types/express'],
+ ['find-cache-dir', '@types/find-cache-dir'],
+ ['find-root', '@types/find-root'],
+ ['get-port', '@types/get-port'],
+ ['history', '@types/history'],
+ ['http-proxy-agent', '@types/http-proxy-agent'],
+ ['lodash', '@types/lodash'],
+ ['lodash.compact', '@types/lodash.compact'],
+ ['lodash.flatten', '@types/lodash.flatten'],
+ ['lodash.head', '@types/lodash.head'],
+ ['lodash.pick', '@types/lodash.pick'],
+ ['@mdx-js/react', '@types/mdx-js__react'],
+ ['memoizee', '@types/memoizee'],
+ ['mime', '@types/mime'],
+ ['mousetrap', '@types/mousetrap'],
+ ['node', '@types/node'],
+ ['puppeteer', '@types/puppeteer'],
+ ['react', '@types/react'],
+ ['react-dom', '@types/react-dom'],
+ ['react-router-dom', '@types/react-router-dom'],
+ ['react-tabs', '@types/react-tabs'],
+ ['react-tooltip', '@types/react-tooltip'],
+ ['socket.io-client', '@types/socket.io-client'],
+ ['ua-parser-js', '@types/ua-parser-js'],
+ ['url-join', '@types/url-join'],
+ ['url-parse', '@types/url-parse'],
+ ['webpack', '@types/webpack'],
+ ['webpack-dev-server', '@types/webpack-dev-server'],
+ ['webpack-merge', '@types/webpack-merge'],
+]);
+
+describe('packageToDefinetlyTyped()', () => {
+ scenarios.forEach((expected, input) => {
+ it(`should map to ${expected}`, () => {
+ const result = packageToDefinetlyTyped(input);
+
+ expect(result).to.equal(expected);
+ });
+ });
+});
diff --git a/src/consumer/component/dependencies/dependency-resolver/package-to-definetly-typed.ts b/src/consumer/component/dependencies/dependency-resolver/package-to-definetly-typed.ts
new file mode 100644
index 000000000000..c2671e22ca12
--- /dev/null
+++ b/src/consumer/component/dependencies/dependency-resolver/package-to-definetly-typed.ts
@@ -0,0 +1,10 @@
+const scopedRegistryRegex = /^(@([-\w]+)\/)/;
+const scopedRegistryReplace = '$2__';
+
+// it seems definetly typed are using this:
+// `const dtsName = packageName.replace("@", "").replace("/", "__")`
+
+export function packageToDefinetlyTyped(pkgName: string) {
+ const escaped = pkgName.replace(scopedRegistryRegex, scopedRegistryReplace);
+ return `@types/${escaped}`;
+}
diff --git a/src/consumer/component/exceptions/component-not-found-in-path.ts b/src/consumer/component/exceptions/component-not-found-in-path.ts
index 9bca9f8c17b8..c9eba4adb5f9 100644
--- a/src/consumer/component/exceptions/component-not-found-in-path.ts
+++ b/src/consumer/component/exceptions/component-not-found-in-path.ts
@@ -1,11 +1,12 @@
-import AbstractError from '../../../error/abstract-error';
+import { BitError } from '@teambit/bit-error';
+import chalk from 'chalk';
-export default class ComponentNotFoundInPath extends AbstractError {
+export default class ComponentNotFoundInPath extends BitError {
path: string;
code: number;
constructor(path: string) {
- super();
+ super(`error: component in path "${chalk.bold(path)}" was not found`);
this.code = 127;
this.path = path;
}
diff --git a/src/hooks/hooks-manager.ts b/src/hooks/hooks-manager.ts
index 09870a20caca..523f24631a18 100644
--- a/src/hooks/hooks-manager.ts
+++ b/src/hooks/hooks-manager.ts
@@ -180,7 +180,7 @@ function _stripArgs(args) {
res.componentObjects = res.componentObjects.length;
}
if (res.objectList) {
- res.objectList = res.objectList.count ? res.objectList.count() : undefined;
+ res.objectList = args.objectList.count ? args.objectList.count() : undefined;
}
return res;
}
diff --git a/src/scope/actions/export-persist.ts b/src/scope/actions/export-persist.ts
index 8ba3795e3666..cfdd1cfdc32f 100644
--- a/src/scope/actions/export-persist.ts
+++ b/src/scope/actions/export-persist.ts
@@ -1,7 +1,7 @@
import { Scope } from '..';
import { BitIds } from '../../bit-id';
import logger from '../../logger/logger';
-import { mergeObjects } from '../component-ops/export-scope-components';
+import { saveObjects } from '../component-ops/export-scope-components';
import { Lane } from '../models';
import { AuthData } from '../network/http/http';
import { Action } from './action';
@@ -17,9 +17,7 @@ export class ExportPersist implements Action {
const objectList = await scope.readObjectsFromPendingDir(options.clientId);
logger.debugAndAddBreadCrumb('ExportPersist', `going to merge ${objectList.objects.length} objects`);
- const bitIds: BitIds = await mergeObjects(scope, objectList);
- await scope.objects.persist();
- logger.debugAndAddBreadCrumb('ExportPersist', 'objects were written successfully to the filesystem');
+ const bitIds: BitIds = await saveObjects(scope, objectList);
const componentsIds: string[] = bitIds.map((id) => id.toString());
await scope.removePendingDir(options.clientId);
diff --git a/src/scope/component-ops/export-scope-components.ts b/src/scope/component-ops/export-scope-components.ts
index f0d792e8904b..6f8c6215fba5 100644
--- a/src/scope/component-ops/export-scope-components.ts
+++ b/src/scope/component-ops/export-scope-components.ts
@@ -24,6 +24,7 @@ import loader from '../../cli/loader';
import { getAllVersionHashes } from './traverse-versions';
import { PersistFailed } from '../exceptions/persist-failed';
import { Http } from '../network/http';
+import { MergeResult } from '../repositories/sources';
type ModelComponentAndObjects = { component: ModelComponent; objects: BitObject[] };
@@ -36,7 +37,7 @@ export function registerUpdateDependenciesOnExport(func: UpdateDependenciesOnExp
}
/**
- * ** Legacy Only **
+ * ** Legacy and "bit sign" Only **
*
* @TODO there is no real difference between bare scope and a working directory scope - let's adjust terminology to avoid confusions in the future
* saves a component into the objects directory of the remote scope, then, resolves its
@@ -45,13 +46,12 @@ export function registerUpdateDependenciesOnExport(func: UpdateDependenciesOnExp
*/
export async function exportManyBareScope(scope: Scope, objectList: ObjectList): Promise {
logger.debugAndAddBreadCrumb('exportManyBareScope', `started with ${objectList.objects.length} objects`);
- const mergedIds: BitIds = await mergeObjects(scope, objectList);
+ const mergedIds: BitIds = await saveObjects(scope, objectList);
logger.debugAndAddBreadCrumb('exportManyBareScope', 'will try to importMany in case there are missing dependencies');
const scopeComponentsImporter = ScopeComponentsImporter.getInstance(scope);
await scopeComponentsImporter.importManyFromOriginalScopes(mergedIds); // resolve dependencies
logger.debugAndAddBreadCrumb('exportManyBareScope', 'successfully ran importMany');
- await scope.objects.persist();
- logger.debugAndAddBreadCrumb('exportManyBareScope', 'objects were written successfully to the filesystem');
+
return mergedIds;
}
@@ -471,6 +471,26 @@ export async function exportMany({
}
}
+/**
+ * save objects into the scope.
+ */
+export async function saveObjects(scope: Scope, objectList: ObjectList): Promise {
+ const bitObjectList = await objectList.toBitObjects();
+ const objectsNotRequireMerge = bitObjectList.getObjectsNotRequireMerge();
+ // components and lanes can't be just added, they need to be carefully merged.
+ const { mergedIds, mergedComponentsResults, mergedLanes } = await mergeObjects(scope, objectList);
+
+ const mergedComponents = mergedComponentsResults.map((_) => _.mergedComponent);
+ const allObjects = [...mergedComponents, ...mergedLanes, ...objectsNotRequireMerge];
+ scope.objects.validateObjects(true, allObjects);
+ await scope.objects.writeObjectsToTheFS(allObjects);
+ logger.debugAndAddBreadCrumb('exportManyBareScope', 'objects were written successfully to the filesystem');
+
+ return mergedIds;
+}
+
+type MergeObjectsResult = { mergedIds: BitIds; mergedComponentsResults: MergeResult[]; mergedLanes: Lane[] };
+
/**
* merge components into the scope.
*
@@ -478,7 +498,11 @@ export async function exportMany({
* the BitIds returned here includes the versions that were merged. so it could contain multiple
* ids of the same component with different versions
*/
-export async function mergeObjects(scope: Scope, objectList: ObjectList, throwForMissingDeps = false): Promise {
+export async function mergeObjects(
+ scope: Scope,
+ objectList: ObjectList,
+ throwForMissingDeps = false
+): Promise {
const bitObjectList = await objectList.toBitObjects();
const components = bitObjectList.getComponents();
const lanesObjects = bitObjectList.getLanes();
@@ -487,35 +511,24 @@ export async function mergeObjects(scope: Scope, objectList: ObjectList, throwFo
'export-scope-components.mergeObjects',
`Going to merge ${components.length} components, ${lanesObjects.length} lanes`
);
- const mergeResults = await Promise.all(
- components.map(async (component) => {
- try {
- const result = await scope.sources.merge(component, versions);
- return result;
- } catch (err) {
- if (err instanceof MergeConflict || err instanceof ComponentNeedsUpdate) {
- return err; // don't throw. instead, get all components with merge-conflicts
- }
- throw err;
- }
- })
- );
- // components and lanes can't be just added, they need to be carefully merged.
- const objectsToAdd = bitObjectList.getAllExceptComponentsAndLanes();
- scope.sources.putObjects(objectsToAdd);
+ const { mergeResults, errors } = await scope.sources.mergeComponents(components, versions);
+
+ // add all objects to the cache, it is needed for lanes later on. also it might be
+ // good regardless to update the cache with the new data.
+ [...components, ...versions].forEach((bitObject) => scope.objects.setCache(bitObject));
- const mergeLaneResultsP = lanesObjects.map((laneObject) => scope.sources.mergeLane(laneObject, false));
- const mergeLaneResults = R.flatten(await Promise.all(mergeLaneResultsP));
- const componentsWithConflicts = mergeResults.filter((result) => result instanceof MergeConflict);
+ const mergeAllLanesResults = await mapSeries(lanesObjects, (laneObject) =>
+ scope.sources.mergeLane(laneObject, false)
+ );
+ const lanesErrors = mergeAllLanesResults.map((r) => r.mergeErrors).flat();
const componentsNeedUpdate = [
- ...mergeResults.filter((result) => result instanceof ComponentNeedsUpdate),
- ...mergeLaneResults.filter((result) => result instanceof ComponentNeedsUpdate),
- ];
+ ...errors.filter((result) => result instanceof ComponentNeedsUpdate),
+ ...lanesErrors,
+ ] as ComponentNeedsUpdate[];
+ const componentsWithConflicts = errors.filter((result) => result instanceof MergeConflict) as MergeConflict[];
if (componentsWithConflicts.length || componentsNeedUpdate.length) {
- // @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!
const idsAndVersions = componentsWithConflicts.map((c) => ({ id: c.id, versions: c.versions }));
const idsAndVersionsWithConflicts = R.sortBy(R.prop('id'), idsAndVersions);
- // @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!
const idsOfNeedUpdateComps = R.sortBy(
R.prop('id'),
componentsNeedUpdate.map((c) => ({ id: c.id, lane: c.lane }))
@@ -524,12 +537,18 @@ export async function mergeObjects(scope: Scope, objectList: ObjectList, throwFo
throw new MergeConflictOnRemote(idsAndVersionsWithConflicts, idsOfNeedUpdateComps);
}
if (throwForMissingDeps) await throwForMissingLocalDependencies(scope, versions);
- // @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!
const mergedComponents = mergeResults.filter(({ mergedVersions }) => mergedVersions.length);
- const mergedLanesComponents = mergeLaneResults.filter(({ mergedVersions }) => mergedVersions.length);
+ const mergedLanesComponents = mergeAllLanesResults
+ .map((r) => r.mergeResults)
+ .flat()
+ .filter(({ mergedVersions }) => mergedVersions.length);
+ const mergedComponentsResults = [...mergedComponents, ...mergedLanesComponents];
const getMergedIds = ({ mergedComponent, mergedVersions }): BitId[] =>
mergedVersions.map((version) => mergedComponent.toBitId().changeVersion(version));
- return BitIds.uniqFromArray(R.flatten([...mergedComponents, ...mergedLanesComponents].map(getMergedIds)));
+ const mergedIds = BitIds.uniqFromArray(mergedComponentsResults.map(getMergedIds).flat());
+ const mergedLanes = mergeAllLanesResults.map((r) => r.mergeLane);
+
+ return { mergedIds, mergedComponentsResults, mergedLanes };
}
/**
diff --git a/src/scope/component-ops/tag-model-component.ts b/src/scope/component-ops/tag-model-component.ts
index 6ab129b817bc..7859b0d0c1f4 100644
--- a/src/scope/component-ops/tag-model-component.ts
+++ b/src/scope/component-ops/tag-model-component.ts
@@ -1,6 +1,7 @@
import mapSeries from 'p-map-series';
import R from 'ramda';
import { isNilOrEmpty, compact } from 'ramda-adjunct';
+import pMap from 'p-map';
import { ReleaseType } from 'semver';
import { v4 } from 'uuid';
import * as globalConfig from '../../api/consumer/lib/global-config';
@@ -23,6 +24,7 @@ import { getValidVersionOrReleaseType } from '../../utils/semver-helper';
import { LegacyOnTagResult } from '../scope';
import { Log } from '../models/version';
import { BasicTagParams } from '../../api/consumer/lib/tag';
+import { concurrentComponentsLimit } from '../../utils/concurrency';
export type onTagIdTransformer = (id: BitId) => BitId | null;
type UpdateDependenciesOnTagFunc = (component: Component, idTransformer: onTagIdTransformer) => Component;
@@ -288,10 +290,11 @@ export default async function tagModelComponent({
} else {
if (!skipTests) addSpecsResultsToComponents(allComponentsToTag, testsResults);
await addFlattenedDependenciesToComponents(consumer.scope, allComponentsToTag);
+ await throwForLegacyDependenciesInsideHarmony(consumer, allComponentsToTag);
emptyBuilderData(allComponentsToTag);
addBuildStatus(consumer, allComponentsToTag, BuildStatus.Pending);
await addComponentsToScope(consumer, allComponentsToTag, Boolean(resolveUnmerged));
- validateDirManipulation(allComponentsToTag);
+ if (consumer.isLegacy) validateDirManipulation(allComponentsToTag);
await consumer.updateComponentsVersions(allComponentsToTag);
}
@@ -340,6 +343,29 @@ export async function addFlattenedDependenciesToComponents(scope: Scope, compone
loader.stop();
}
+async function throwForLegacyDependenciesInsideHarmony(consumer: Consumer, components: Component[]) {
+ if (consumer.isLegacy) {
+ return;
+ }
+ const throwForComponent = async (component: Component) => {
+ const dependenciesIds = component.getAllDependenciesIds();
+ await Promise.all(
+ dependenciesIds.map(async (depId) => {
+ if (!depId.hasVersion()) return;
+ const modelComp = await consumer.scope.getModelComponentIfExist(depId);
+ if (!modelComp) return;
+ const version = await modelComp.loadVersion(depId.version as string, consumer.scope.objects);
+ if (version.isLegacy) {
+ throw new Error(
+ `unable tagging "${component.id.toString()}", its dependency "${depId.toString()}" is legacy`
+ );
+ }
+ })
+ );
+ };
+ await pMap(components, (component) => throwForComponent(component), { concurrency: concurrentComponentsLimit() });
+}
+
function addSpecsResultsToComponents(components: Component[], testsResults): void {
components.forEach((component) => {
const testResult = testsResults.find((result) => {
diff --git a/src/scope/models/model-component.ts b/src/scope/models/model-component.ts
index 4b3c1bbbfaf2..7c7e99192e57 100644
--- a/src/scope/models/model-component.ts
+++ b/src/scope/models/model-component.ts
@@ -1,4 +1,5 @@
-import { clone, equals, forEachObjIndexed, isEmpty } from 'ramda';
+import { clone, equals, forEachObjIndexed } from 'ramda';
+import { isEmpty } from 'lodash';
import * as semver from 'semver';
import { versionParser, isHash, isTag } from '@teambit/component-version';
import { v4 } from 'uuid';
diff --git a/src/scope/objects/bit-object-list.ts b/src/scope/objects/bit-object-list.ts
index d3ec4f8128b4..150ed445c6cd 100644
--- a/src/scope/objects/bit-object-list.ts
+++ b/src/scope/objects/bit-object-list.ts
@@ -20,7 +20,24 @@ export class BitObjectList {
return this.objects;
}
- getAllExceptComponentsAndLanes(): BitObject[] {
- return this.objects.filter((object) => !(object instanceof ModelComponent) && !(object instanceof Lane));
+ /**
+ * object that needs merge operation before saving them into the scope, such as ModelComponent
+ */
+ getObjectsRequireMerge() {
+ const typeRequireMerge = this.objectTypesRequireMerge();
+ return this.objects.filter((object) => typeRequireMerge.some((ObjClass) => object instanceof ObjClass));
+ }
+
+ /**
+ * object that don't need merge operation and can be saved immediately into the scope.
+ * such as Source or Version
+ */
+ getObjectsNotRequireMerge() {
+ const typeRequireMerge = this.objectTypesRequireMerge();
+ return this.objects.filter((object) => typeRequireMerge.every((ObjClass) => !(object instanceof ObjClass)));
+ }
+
+ private objectTypesRequireMerge() {
+ return [ModelComponent, Lane];
}
}
diff --git a/src/scope/objects/repository.ts b/src/scope/objects/repository.ts
index 89f604e10ec7..3cbaf2e82fea 100644
--- a/src/scope/objects/repository.ts
+++ b/src/scope/objects/repository.ts
@@ -328,7 +328,7 @@ export default class Repository {
await this.persistMutex.runExclusive(async () => {
logger.debug(`Repository.persist, validate = ${validate.toString()}, a lock has been acquired`);
await this.deleteObjectsFromFS(this.objectsToRemove);
- this._validateObjects(validate);
+ this.validateObjects(validate, Object.values(this.objects));
await this.writeObjectsToTheFS(Object.values(this.objects));
await this.writeRemoteLanes();
await this.unmergedComponents.write();
@@ -368,9 +368,8 @@ export default class Repository {
* can easily revert it by changing `bitObject.validateBeforePersist = false` line run regardless
* the `validate` argument.
*/
- _validateObjects(validate: boolean) {
- Object.keys(this.objects).forEach((hash) => {
- const bitObject = this.objects[hash];
+ validateObjects(validate: boolean, objects: BitObject[]) {
+ objects.forEach((bitObject) => {
// @ts-ignore some BitObject classes have validate() method
if (validate && bitObject.validate) {
// @ts-ignore
diff --git a/src/scope/repositories/sources.ts b/src/scope/repositories/sources.ts
index f6adfef71e92..c21cf53bceb9 100644
--- a/src/scope/repositories/sources.ts
+++ b/src/scope/repositories/sources.ts
@@ -13,7 +13,7 @@ import logger from '../../logger/logger';
import { PathLinux, PathOsBased } from '../../utils/path';
import ComponentObjects from '../component-objects';
import { getAllVersionHashes, getAllVersionsInfo, VersionInfo } from '../component-ops/traverse-versions';
-import { ComponentNotFound } from '../exceptions';
+import { ComponentNotFound, MergeConflict } from '../exceptions';
import ComponentNeedsUpdate from '../exceptions/component-needs-update';
import UnmergedComponents from '../lanes/unmerged-components';
import { ModelComponent, Source, Symlink, Version } from '../models';
@@ -43,6 +43,11 @@ export type ComponentDef = {
component: ModelComponent | null | undefined;
};
+export type MergeResult = {
+ mergedComponent: ModelComponent;
+ mergedVersions: string[];
+};
+
const MAX_AGE_UN_BUILT_COMPS_CACHE = 60 * 1000;
export default class SourceRepository {
@@ -438,11 +443,6 @@ to quickly fix the issue, please delete the object at "${this.objects().objectPa
return component;
}
- putModelComponent(component: ModelComponent) {
- const repo: Repository = this.objects();
- repo.add(component);
- }
-
put({ component, objects }: ComponentTree): ModelComponent {
logger.debug(`sources.put, id: ${component.id()}, versions: ${component.listVersions().join(', ')}`);
const repo: Repository = this.objects();
@@ -532,7 +532,8 @@ to quickly fix the issue, please delete the object at "${this.objects().objectPa
}
/**
- * Adds the objects into scope.object array, in-memory. It doesn't save anything to the file-system.
+ * It doesn't save anything to the file-system.
+ * Only if the returned mergedVersions is not empty, the mergedComponent has changed.
*
* If the 'isImport' is true and the existing component wasn't changed locally, it doesn't check for
* discrepancies, but simply override the existing component.
@@ -549,10 +550,7 @@ to quickly fix the issue, please delete the object at "${this.objects().objectPa
* changes where done on a lane, this function will not do anything because modelComponent
* hasn't changed.
*/
- async merge(
- incomingComp: ModelComponent,
- versionObjects: Version[]
- ): Promise<{ mergedComponent: ModelComponent; mergedVersions: string[] }> {
+ async merge(incomingComp: ModelComponent, versionObjects: Version[]): Promise {
const existingComp = await this._findComponent(incomingComp);
if (existingComp && incomingComp.isEqual(existingComp)) {
return { mergedComponent: incomingComp, mergedVersions: [] };
@@ -563,7 +561,6 @@ to quickly fix the issue, please delete the object at "${this.objects().objectPa
const incomingTagsAndSnaps = incomingComp.switchHashesWithTagsIfExist(allHashes);
if (!existingComp) {
this.throwForMissingVersions(allVersionsInfo, incomingComp);
- this.putModelComponent(incomingComp);
return { mergedComponent: incomingComp, mergedVersions: incomingTagsAndSnaps };
}
const hashesOfHistoryGraph = allVersionsInfo
@@ -591,7 +588,6 @@ to quickly fix the issue, please delete the object at "${this.objects().objectPa
mergedVersions.push(...mergedSnaps);
}
- this.putModelComponent(mergedComponent);
return { mergedComponent, mergedVersions };
}
@@ -620,6 +616,30 @@ to quickly fix the issue, please delete the object at "${this.objects().objectPa
}
}
+ async mergeComponents(
+ components: ModelComponent[],
+ versions: Version[]
+ ): Promise<{ mergeResults: MergeResult[]; errors: Error[] }> {
+ const mergeResults: MergeResult[] = [];
+ const errors: Array = [];
+ await Promise.all(
+ components.map(async (component) => {
+ try {
+ const result = await this.merge(component, versions);
+ mergeResults.push(result);
+ } catch (err) {
+ if (err instanceof MergeConflict || err instanceof ComponentNeedsUpdate) {
+ // don't throw. instead, get all components with merge-conflicts
+ errors.push(err);
+ } else {
+ throw err;
+ }
+ }
+ })
+ );
+ return { mergeResults, errors };
+ }
+
/**
* the merge is needed only when both, local lane and remote lane have the same component with
* a different head.
@@ -645,13 +665,12 @@ to quickly fix the issue, please delete the object at "${this.objects().objectPa
async mergeLane(
lane: Lane,
local: boolean
- ): Promise> {
+ ): Promise<{ mergeResults: MergeResult[]; mergeErrors: ComponentNeedsUpdate[]; mergeLane: Lane }> {
const repo = this.objects();
const existingLane = await this.scope.loadLane(lane.toLaneId());
- if (!existingLane) {
- repo.add(lane);
- }
- const mergeResults = await Promise.all(
+ const mergeResults: MergeResult[] = [];
+ const mergeErrors: ComponentNeedsUpdate[] = [];
+ await Promise.all(
lane.components.map(async (component) => {
const modelComponent = await this.get(component.id);
if (!modelComponent) {
@@ -662,10 +681,12 @@ to quickly fix the issue, please delete the object at "${this.objects().objectPa
modelComponent.laneHeadLocal = component.head;
const allVersions = await getAllVersionHashes(modelComponent, repo);
if (existingLane) existingLane.addComponent(component);
- return { mergedComponent: modelComponent, mergedVersions: allVersions.map((h) => h.toString()) };
+ mergeResults.push({ mergedComponent: modelComponent, mergedVersions: allVersions.map((h) => h.toString()) });
+ return;
}
if (existingComponent.head.isEqual(component.head)) {
- return { mergedComponent: modelComponent, mergedVersions: [] };
+ mergeResults.push({ mergedComponent: modelComponent, mergedVersions: [] });
+ return;
}
modelComponent.laneHeadRemote = component.head;
modelComponent.laneHeadLocal = existingComponent.head;
@@ -674,23 +695,25 @@ to quickly fix the issue, please delete the object at "${this.objects().objectPa
if (divergeResults.isDiverged()) {
if (local) {
// do not update the local lane. later, suggest to snap-merge.
- return { mergedComponent: modelComponent, mergedVersions: [] };
+ mergeResults.push({ mergedComponent: modelComponent, mergedVersions: [] });
+ return;
}
- return new ComponentNeedsUpdate(component.id.toString(), existingComponent.head.toString());
+ mergeErrors.push(new ComponentNeedsUpdate(component.id.toString(), existingComponent.head.toString()));
+ return;
}
if (divergeResults.isRemoteAhead()) {
existingComponent.head = component.head;
- return {
+ mergeResults.push({
mergedComponent: modelComponent,
mergedVersions: divergeResults.snapsOnRemoteOnly.map((h) => h.toString()),
- };
+ });
+ return;
}
// local is ahead, nothing to merge.
- return { mergedComponent: modelComponent, mergedVersions: [] };
+ mergeResults.push({ mergedComponent: modelComponent, mergedVersions: [] });
})
);
- repo.add(existingLane);
- // objects.forEach((obj) => repo.add(obj));
- return mergeResults;
+
+ return { mergeResults, mergeErrors, mergeLane: existingLane || lane };
}
}
diff --git a/src/utils/fs/create-symlink-or-copy.ts b/src/utils/fs/create-symlink-or-copy.ts
index 6397e6631b64..a70c35de8cd2 100644
--- a/src/utils/fs/create-symlink-or-copy.ts
+++ b/src/utils/fs/create-symlink-or-copy.ts
@@ -18,18 +18,22 @@ export default function createSymlinkOrCopy(
componentId?: string | null | undefined = '',
avoidHardLink = false
) {
- logger.trace(`create-symlink-or-copy, deleting ${destPath}`);
+ logger.trace(`createSymlinkOrCopy, deleting ${destPath}`);
fs.removeSync(destPath); // in case a symlink already generated or when linking a component, when a component has been moved
fs.ensureDirSync(path.dirname(destPath));
try {
- logger.trace(`generating a symlink on ${destPath} pointing to ${srcPath}`);
+ logger.trace(
+ `createSymlinkOrCopy, generating a symlink on ${destPath} pointing to ${srcPath}, avoidHardLink=${avoidHardLink}`
+ );
if (avoidHardLink) symlink();
else link();
} catch (err) {
+ const winMsg = IS_WINDOWS ? ' (or maybe copy)' : '';
const errorHeader = componentId ? `failed to link a component ${componentId}` : 'failed to generate a symlink';
throw new ShowDoctorError(`${errorHeader}.
- Symlink (or maybe copy for Windows) from: ${srcPath}, to: ${destPath} was failed.
- Original error: ${err}`);
+Symlink${winMsg} from: ${srcPath}, to: ${destPath} was failed.
+Please use "--log=trace" flag to get more info about the error.
+Original error: ${err}`);
}
function symlink() {
@@ -42,6 +46,7 @@ export default function createSymlinkOrCopy(
function symlinkOrHardLink() {
try {
fs.symlinkSync(srcPath, destPath);
+ logger.trace(`createSymlinkOrCopy, symlinkOrHardLink() successfully created the symlink`);
} catch (err) {
// it can be a file or directory, we don't know. just run link(), it will junction for dirs and hard-link for files.
link();
@@ -49,13 +54,16 @@ export default function createSymlinkOrCopy(
}
function link() {
+ logger.trace(`createSymlinkOrCopy, link()`);
try {
- hardLinkOrJunction(srcPath);
+ hardLinkOrJunctionByFsExtra(srcPath);
+ logger.trace(`createSymlinkOrCopy, link() successfully created the link`);
} catch (err) {
if (err.code === 'EXDEV') {
+ logger.trace(`createSymlinkOrCopy, link() found EXDEV error, trying fs native`);
// this is docker, which for some weird reason, throw error: "EXDEV: cross-device link not permitted"
// only when using fs-extra. it doesn't happen with "fs".
- fsNative.symlinkSync(srcPath, destPath);
+ hardLinkOrJunctionByFsNative(srcPath);
return;
}
if (err.code !== 'ENOENT') {
@@ -66,8 +74,9 @@ export default function createSymlinkOrCopy(
}
// the src is a relative-path of the dest, not of the cwd, that's why it got ENOENT
if (IS_WINDOWS) {
+ logger.trace(`createSymlinkOrCopy, link() changing the path to be absolute on Windows`);
const srcAbsolute = path.join(destPath, '..', srcPath);
- hardLinkOrJunction(srcAbsolute);
+ hardLinkOrJunctionByFsExtra(srcAbsolute);
return;
}
// on linux, you can always create symlink, regardless the relative-path.
@@ -75,11 +84,12 @@ export default function createSymlinkOrCopy(
}
}
- function hardLinkOrJunction(src: PathOsBased) {
+ function hardLinkOrJunctionByFsExtra(src: PathOsBased) {
try {
fs.linkSync(src, destPath);
} catch (err) {
if (err.code === 'EPERM') {
+ logger.trace(`createSymlinkOrCopy, hardLinkOrJunctionByFsExtra() using Junction option`);
// it's a directory. use 'junction', it works on both Linux and Win
fs.symlinkSync(srcPath, destPath, 'junction');
} else {
@@ -87,4 +97,18 @@ export default function createSymlinkOrCopy(
}
}
}
+
+ function hardLinkOrJunctionByFsNative(src: PathOsBased) {
+ try {
+ fsNative.linkSync(src, destPath);
+ } catch (err) {
+ if (err.code === 'EPERM' || err.code === 'EXDEV') {
+ logger.trace(`createSymlinkOrCopy, hardLinkOrJunctionByFsNative() using Junction option`);
+ // it's a directory. use 'junction', it works on both Linux and Win
+ fsNative.symlinkSync(srcPath, destPath, 'junction');
+ } else {
+ throw err;
+ }
+ }
+ }
}
diff --git a/src/utils/fs/last-modified.ts b/src/utils/fs/last-modified.ts
index a2698cfaaf41..cd9b4fa0479f 100644
--- a/src/utils/fs/last-modified.ts
+++ b/src/utils/fs/last-modified.ts
@@ -1,4 +1,4 @@
-import glob from 'glob';
+import globby from 'globby';
import fs, { Stats } from 'fs-extra';
import { compact } from 'lodash';
@@ -6,7 +6,12 @@ import { compact } from 'lodash';
* check recursively all the sub-directories as well
*/
export async function getLastModifiedDirTimestampMs(rootDir: string): Promise {
- const allDirs = glob.sync(`${rootDir}/**/`); // the trailing slash instructs glob to show only dirs
+ const allDirs = await globby(rootDir, {
+ onlyDirectories: true,
+ // ignore: ['**/node_modules/**'], // need to think about it more. sometimes we do want to invalidate cache upon node_modules changes inside component dir
+ // stats: true // todo: consider retrieving the stats from here.
+ });
+ allDirs.push(rootDir);
return getLastModifiedPathsTimestampMs(allDirs);
}
diff --git a/workspace.jsonc b/workspace.jsonc
index ac8b653ba928..c33eb3b1f4eb 100644
--- a/workspace.jsonc
+++ b/workspace.jsonc
@@ -45,40 +45,42 @@
"@teambit/base-ui.constants.storage": "0.6.10",
"@teambit/base-ui.css-components.pill": "0.6.10",
"@teambit/base-ui.css-components.roundness": "0.6.11",
- "@teambit/base-ui.elements.dots-loader": "0.6.12",
- "@teambit/base-ui.elements.image": "0.6.11",
- "@teambit/base-ui.elements.label": "0.6.11",
- "@teambit/base-ui.elements.separator": "0.6.11",
+ "@teambit/base-ui.elements.dots-loader": "0.6.13",
+ "@teambit/base-ui.elements.image": "0.7.0",
+ "@teambit/base-ui.elements.label": "0.7.0",
+ "@teambit/base-ui.elements.separator": "0.7.0",
"@teambit/base-ui.graph.tree.indent": "0.6.10",
- "@teambit/base-ui.graph.tree.inflate-paths": "0.6.10",
+ "@teambit/base-ui.graph.tree.inflate-paths": "0.7.0",
"@teambit/base-ui.graph.tree.recursive-tree": "0.6.10",
"@teambit/base-ui.graph.tree.root-node": "0.6.10",
"@teambit/base-ui.graph.tree.tree-context": "0.6.10",
- "@teambit/base-ui.input.error": "0.6.12",
+ "@teambit/base-ui.input.error": "0.7.1",
"@teambit/base-ui.layout.breakpoints": "0.6.10",
"@teambit/base-ui.layout.grid-component": "0.6.11",
"@teambit/base-ui.layout.page-frame": "0.6.10",
"@teambit/base-ui.loaders.loader-ribbon": "0.6.11",
- "@teambit/base-ui.routing.link": "0.0.1",
- "@teambit/base-ui.routing.native-link": "0.0.1",
- "@teambit/base-ui.routing.native-nav-link": "0.0.1",
- "@teambit/base-ui.routing.nav-link": "0.0.1",
- "@teambit/base-ui.routing.routing-provider": "0.0.1",
- "@teambit/base-ui.surfaces.card": "0.6.13",
+ "@teambit/base-ui.routing.link": "0.1.0",
+ "@teambit/base-ui.routing.native-link": "0.1.0",
+ "@teambit/base-ui.routing.native-nav-link": "0.0.2",
+ "@teambit/base-ui.routing.nav-link": "0.1.0",
+ "@teambit/base-ui.routing.routing-provider": "0.0.2",
+ "@teambit/base-ui.styles.flex-center": "0.0.2",
+ "@teambit/base-ui.surfaces.card": "0.7.0",
"@teambit/base-ui.surfaces.split-pane.hover-splitter": "0.7.4",
"@teambit/base-ui.surfaces.split-pane.split-pane": "0.6.11",
- "@teambit/base-ui.text.heading": "0.6.12",
- "@teambit/base-ui.text.muted-text": "0.6.12",
- "@teambit/base-ui.text.paragraph": "0.6.13",
+ "@teambit/base-ui.text.heading": "0.7.1",
+ "@teambit/base-ui.text.muted-text": "0.7.1",
+ "@teambit/base-ui.text.paragraph": "0.7.1",
"@teambit/base-ui.text.text": "0.0.16",
"@teambit/base-ui.text.text-sizes": "0.0.4",
- "@teambit/base-ui.text.themed-text": "0.6.12",
- "@teambit/base-ui.theme.color-palette": "0.6.11",
- "@teambit/base-ui.theme.colors": "0.6.11",
- "@teambit/base-ui.theme.dark-theme": "0.6.11",
+ "@teambit/base-ui.text.themed-text": "0.7.1",
+ "@teambit/base-ui.theme.color-palette": "0.6.12",
+ "@teambit/base-ui.theme.colors": "0.7.0",
+ "@teambit/base-ui.theme.dark-theme": "0.7.0",
"@teambit/base-ui.theme.fonts.roboto": "0.6.10",
"@teambit/base-ui.theme.sizes": "0.6.10",
- "@teambit/base-ui.theme.theme-provider": "0.6.12",
+ "@teambit/base-ui.theme.theme-provider": "0.6.13",
+ "@teambit/base-ui.utils.composer": "0.0.5",
"@teambit/base-ui.utils.popper-js.ignore-popper-size": "0.6.11",
"@teambit/base-ui.utils.popper-js.resize-to-match-reference": "0.6.11",
"@teambit/base-ui.utils.string.affix": "0.6.10",
@@ -86,43 +88,44 @@
"@teambit/base-ui.utils.time-ago": "0.6.10",
"@teambit/capsule": "0.0.12",
"@teambit/component.instructions.exporting-components": "0.0.5",
+ "@teambit/design.ui.icon-button": "0.0.17",
"@teambit/documenter.code.react-playground": "3.0.11",
- "@teambit/documenter.routing.external-link": "3.0.11",
- "@teambit/documenter.theme.theme-compositions": "3.0.11",
- "@teambit/documenter.theme.theme-context": "3.0.11",
- "@teambit/documenter.types.docs-file": "3.0.11",
- "@teambit/documenter.ui.block-quote": "3.0.11",
- "@teambit/documenter.ui.bold": "3.0.11",
- "@teambit/documenter.ui.code-snippet": "3.0.11",
- "@teambit/documenter.ui.consumable-link": "3.0.11",
- "@teambit/documenter.ui.heading": "3.0.11",
- "@teambit/documenter.ui.highlighted-text": "3.0.11",
- "@teambit/documenter.ui.image": "3.0.11",
- "@teambit/documenter.ui.import-action": "3.0.14",
- "@teambit/documenter.ui.italic": "3.0.11",
- "@teambit/documenter.ui.label": "3.0.11",
- "@teambit/documenter.ui.label-list": "3.0.11",
- "@teambit/documenter.ui.linked-heading": "3.0.11",
- "@teambit/documenter.ui.ol": "3.0.11",
- "@teambit/documenter.ui.paragraph": "3.0.11",
- "@teambit/documenter.ui.property-table": "3.0.11",
- "@teambit/documenter.ui.section": "3.0.11",
- "@teambit/documenter.ui.separator": "3.0.11",
- "@teambit/documenter.ui.sub-title": "3.0.11",
- "@teambit/documenter.ui.sup": "3.0.11",
- "@teambit/documenter.ui.table.base-table": "3.0.11",
- "@teambit/documenter.ui.table.td": "3.0.11",
- "@teambit/documenter.ui.table.tr": "3.0.11",
- "@teambit/documenter.ui.ul": "3.0.11",
- "@teambit/evangelist.elements.button": "0.5.41",
- "@teambit/evangelist.elements.heading": "0.5.41",
- "@teambit/evangelist.elements.icon": "0.5.41",
- "@teambit/evangelist.elements.image": "0.5.41",
- "@teambit/evangelist.elements.x-button": "0.5.41",
- "@teambit/evangelist.input.checkbox.label": "0.5.41",
- "@teambit/evangelist.input.input": "0.5.41",
- "@teambit/evangelist.surfaces.dropdown": "0.5.41",
- "@teambit/evangelist.surfaces.tooltip": "0.5.41",
+ "@teambit/documenter.routing.external-link": "3.0.12",
+ "@teambit/documenter.theme.theme-compositions": "3.0.14",
+ "@teambit/documenter.theme.theme-context": "3.0.14",
+ "@teambit/documenter.types.docs-file": "3.0.14",
+ "@teambit/documenter.ui.block-quote": "3.0.14",
+ "@teambit/documenter.ui.bold": "3.0.14",
+ "@teambit/documenter.ui.code-snippet": "3.0.14",
+ "@teambit/documenter.ui.consumable-link": "3.0.15",
+ "@teambit/documenter.ui.heading": "3.0.14",
+ "@teambit/documenter.ui.highlighted-text": "3.0.14",
+ "@teambit/documenter.ui.image": "3.0.12",
+ "@teambit/documenter.ui.import-action": "3.0.19",
+ "@teambit/documenter.ui.italic": "3.0.14",
+ "@teambit/documenter.ui.label": "3.0.14",
+ "@teambit/documenter.ui.label-list": "3.0.14",
+ "@teambit/documenter.ui.linked-heading": "3.0.14",
+ "@teambit/documenter.ui.ol": "3.0.14",
+ "@teambit/documenter.ui.paragraph": "3.0.14",
+ "@teambit/documenter.ui.property-table": "3.0.15",
+ "@teambit/documenter.ui.section": "3.0.14",
+ "@teambit/documenter.ui.separator": "3.0.14",
+ "@teambit/documenter.ui.sub-title": "3.0.14",
+ "@teambit/documenter.ui.sup": "3.0.14",
+ "@teambit/documenter.ui.table.base-table": "3.0.14",
+ "@teambit/documenter.ui.table.td": "3.0.14",
+ "@teambit/documenter.ui.table.tr": "3.0.14",
+ "@teambit/documenter.ui.ul": "3.0.14",
+ "@teambit/evangelist.elements.button": "0.6.0",
+ "@teambit/evangelist.elements.heading": "0.6.0",
+ "@teambit/evangelist.elements.icon": "0.6.0",
+ "@teambit/evangelist.elements.image": "0.6.0",
+ "@teambit/evangelist.elements.x-button": "0.6.0",
+ "@teambit/evangelist.input.checkbox.label": "0.6.0",
+ "@teambit/evangelist.input.input": "0.6.0",
+ "@teambit/evangelist.surfaces.dropdown": "0.6.0",
+ "@teambit/evangelist.surfaces.tooltip": "0.6.0",
"@teambit/harmony": "0.2.11",
"@teambit/react.instructions.react.adding-compositions": "0.0.5",
"@teambit/react.instructions.react.adding-tests": "0.0.5",
@@ -153,10 +156,9 @@
"@types/mime": "2.0.3",
"@types/mousetrap": "1.6.5",
"@types/node": "14.14.13",
- "@types/proper-lockfile": "4.1.1",
"@types/puppeteer": "3.0.5",
- "@types/react": "16.14.5",
- "@types/react-dom": "16.9.12",
+ "@types/react": "17.0.8",
+ "@types/react-dom": "17.0.5",
"@types/react-router-dom": "5.1.7",
"@types/react-tabs": "2.3.2",
"@types/react-tooltip": "3.11.0",
@@ -167,11 +169,11 @@
"@types/webpack": "4.41.25",
"@types/webpack-dev-server": "3.11.1",
"@types/webpack-merge": "4.1.5",
- "@yarnpkg/cli": "3.0.0-rc.2",
- "@yarnpkg/core": "3.0.0-rc.2",
- "@yarnpkg/fslib": "2.5.0-rc.2",
- "@yarnpkg/plugin-npm": "2.5.0-rc.2",
- "@yarnpkg/plugin-pack": "3.0.0-rc.2",
+ "@yarnpkg/cli": "3.0.0-rc.5",
+ "@yarnpkg/core": "3.0.0-rc.5",
+ "@yarnpkg/fslib": "2.5.0-rc.5",
+ "@yarnpkg/plugin-npm": "2.5.0-rc.5",
+ "@yarnpkg/plugin-pack": "3.0.0-rc.5",
"agentkeepalive": "4.1.4",
"ansi-to-html": "0.6.14",
"apollo-link-context": "1.0.20",
@@ -208,14 +210,12 @@
"express": "4.17.1",
"express-graphql": "0.12.0",
"express-history-api-fallback": "2.2.1",
- "file-loader": "6.2.0",
"filenamify": "4.2.0",
"find-cache-dir": "3.3.1",
"find-root": "1.1.0",
"flatted": "3.1.0",
"fuse.js": "6.4.6",
"get-port": "5.1.1",
- "globby": "11.0.1",
"graceful-fs": "4.2.4",
"graphql-subscriptions": "1.2.0",
"graphql-tag": "2.12.1",
@@ -262,10 +262,10 @@
"postcss-safe-parser": "5.0.2",
"pretty-time": "1.1.0",
"process": "0.11.10",
- "proper-lockfile": "4.1.2",
"query-string": "7.0.0",
"react-animate-height": "2.0.23",
"react-dev-utils": "10.2.1",
+ "react-error-boundary": "^3.0.0",
"react-error-overlay": "6.0.9",
"react-flow-renderer": "8.3.7",
"react-popper": "2.2.4",
@@ -278,7 +278,6 @@
"reset-css": "5.0.1",
"resolve-from": "5.0.0",
"resolve-url-loader": "3.1.2",
- "rxjs": "6.6.3",
"semver": "7.3.4",
"semver-intersect": "1.4.0",
"singleton-tsserver": "1.0.1",
@@ -297,7 +296,6 @@
"unist-util-remove": "2.0.1",
"unist-util-visit": "2.0.3",
"url-join": "4.0.1",
- "url-loader": "4.1.1",
"url-parse": "1.4.7",
"use-animation-frame": "0.1.0",
"use-debounce": "6.0.1",
@@ -318,13 +316,13 @@
},
"peerDependencies": {
"@apollo/client": "^3.0.0",
- "@teambit/legacy": "1.0.89",
+ "@teambit/legacy": "1.0.98",
"browserslist": "4.16.3",
"core-js": "3.10.0",
"graphql": "14.7.0",
"mz": "2.7.0",
- "react": "16.14.0",
- "react-dom": "16.14.0"
+ "react": "17.0.2",
+ "react-dom": "17.0.2"
}
},
"packageManagerArgs": [],
@@ -430,7 +428,7 @@
"@teambit/legacy": "-"
},
"peerDependencies": {
- "@teambit/legacy": "1.0.89"
+ "@teambit/legacy": "1.0.98"
}
}
},
@@ -593,7 +591,7 @@
"policy": {
"dependencies": {
"@apollo/client": "3.3.6",
- "@teambit/legacy": "1.0.89",
+ "@teambit/legacy": "1.0.98",
"graphql": "14.7.0",
"browserslist": "4.16.3",
"reflect-metadata": "0.1.13",
@@ -638,7 +636,7 @@
}
}
},
- "scopes/compilation/webpack": {
+ "scopes/webpack/webpack": {
"teambit.dependencies/dependency-resolver": {
"policy": {
// Used for webpack5 native modules fallbacks
diff --git a/yarn.lock b/yarn.lock
index 2b8bd9d93c0b..3251491ddc4d 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -505,6 +505,15 @@ __metadata:
languageName: node
linkType: hard
+"@babel/helper-module-imports@npm:^7.0.0":
+ version: 7.14.5
+ resolution: "@babel/helper-module-imports@npm:7.14.5::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40babel%2Fhelper-module-imports%2F-%2Fhelper-module-imports-7.14.5.tgz"
+ dependencies:
+ "@babel/types": ^7.14.5
+ checksum: b98279908698a50a22634e683924cb25eb93edf1bf28ac65691dfa82d7a1a4dae4e6b12b8ef9f9a50171ca484620bce544f270873c53505d8a45364c5b665c0c
+ languageName: node
+ linkType: hard
+
"@babel/helper-module-imports@npm:^7.10.4, @babel/helper-module-imports@npm:^7.12.1, @babel/helper-module-imports@npm:^7.13.12":
version: 7.13.12
resolution: "@babel/helper-module-imports@npm:7.13.12::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40babel%2Fhelper-module-imports%2F-%2Fhelper-module-imports-7.13.12.tgz"
@@ -657,6 +666,13 @@ __metadata:
languageName: node
linkType: hard
+"@babel/helper-validator-identifier@npm:^7.14.5":
+ version: 7.14.5
+ resolution: "@babel/helper-validator-identifier@npm:7.14.5::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40babel%2Fhelper-validator-identifier%2F-%2Fhelper-validator-identifier-7.14.5.tgz"
+ checksum: 6366bceab4498785defc083a1bd96344f788d90a1aa7a6f18d6813c1d3d134640bfc05690453c0b79bbfc820472cf5b29110dfddaca1f8e2763dfe1bd5df0b88
+ languageName: node
+ linkType: hard
+
"@babel/helper-validator-option@npm:^7.12.1, @babel/helper-validator-option@npm:^7.12.17":
version: 7.12.17
resolution: "@babel/helper-validator-option@npm:7.12.17::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40babel%2Fhelper-validator-option%2F-%2Fhelper-validator-option-7.12.17.tgz"
@@ -2269,6 +2285,15 @@ __metadata:
languageName: node
linkType: hard
+"@babel/runtime@npm:^7.10.5":
+ version: 7.14.0
+ resolution: "@babel/runtime@npm:7.14.0::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40babel%2Fruntime%2F-%2Fruntime-7.14.0.tgz"
+ dependencies:
+ regenerator-runtime: ^0.13.4
+ checksum: 257dc2594355dd8798455f25b6f2f9a00f162b427391265752933e0e3337b3b14661d09283187d5039ae3764f723890ffe767e995c73d662f1d515bdf48e5ade
+ languageName: node
+ linkType: hard
+
"@babel/template@npm:^7.10.4, @babel/template@npm:^7.12.13, @babel/template@npm:^7.3.3":
version: 7.12.13
resolution: "@babel/template@npm:7.12.13::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40babel%2Ftemplate%2F-%2Ftemplate-7.12.13.tgz"
@@ -2325,7 +2350,18 @@ __metadata:
languageName: node
linkType: hard
-"@babel/types@npm:7.13.12, @babel/types@npm:^7.13.12":
+"@babel/types@npm:^7.0.0, @babel/types@npm:^7.11.5, @babel/types@npm:^7.12.1, @babel/types@npm:^7.12.13, @babel/types@npm:^7.12.17, @babel/types@npm:^7.12.6, @babel/types@npm:^7.13.0, @babel/types@npm:^7.3.0, @babel/types@npm:^7.3.3, @babel/types@npm:^7.4.4, @babel/types@npm:^7.8.3":
+ version: 7.13.0
+ resolution: "@babel/types@npm:7.13.0::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40babel%2Ftypes%2F-%2Ftypes-7.13.0.tgz"
+ dependencies:
+ "@babel/helper-validator-identifier": ^7.12.11
+ lodash: ^4.17.19
+ to-fast-properties: ^2.0.0
+ checksum: 3dbb08add345325a49e1deebefa8d3774a8ab055c4be675c339a389358f4b3443652ded4bfdb230b342c6af12593a6fd3fb95156564e7ec84081018815896821
+ languageName: node
+ linkType: hard
+
+"@babel/types@npm:^7.13.12":
version: 7.13.12
resolution: "@babel/types@npm:7.13.12::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40babel%2Ftypes%2F-%2Ftypes-7.13.12.tgz"
dependencies:
@@ -2336,14 +2372,13 @@ __metadata:
languageName: node
linkType: hard
-"@babel/types@npm:^7.0.0, @babel/types@npm:^7.11.5, @babel/types@npm:^7.12.1, @babel/types@npm:^7.12.13, @babel/types@npm:^7.12.17, @babel/types@npm:^7.12.6, @babel/types@npm:^7.13.0, @babel/types@npm:^7.3.0, @babel/types@npm:^7.3.3, @babel/types@npm:^7.4.4, @babel/types@npm:^7.8.3":
- version: 7.13.0
- resolution: "@babel/types@npm:7.13.0::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40babel%2Ftypes%2F-%2Ftypes-7.13.0.tgz"
+"@babel/types@npm:^7.14.5":
+ version: 7.14.5
+ resolution: "@babel/types@npm:7.14.5::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40babel%2Ftypes%2F-%2Ftypes-7.14.5.tgz"
dependencies:
- "@babel/helper-validator-identifier": ^7.12.11
- lodash: ^4.17.19
+ "@babel/helper-validator-identifier": ^7.14.5
to-fast-properties: ^2.0.0
- checksum: 3dbb08add345325a49e1deebefa8d3774a8ab055c4be675c339a389358f4b3443652ded4bfdb230b342c6af12593a6fd3fb95156564e7ec84081018815896821
+ checksum: 7c1ab6e8bdf438d44236034cab10f7d0f1971179bc405dca26733a9b89dd87dd692dc49a238a7495075bc41a9a17fb6f08b4d1da45ea6ddcce1e5c8593574aea
languageName: node
linkType: hard
@@ -4340,19 +4375,19 @@ __metadata:
languageName: node
linkType: hard
-"@rollup/plugin-node-resolve@npm:^9.0.0":
- version: 9.0.0
- resolution: "@rollup/plugin-node-resolve@npm:9.0.0::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40rollup%2Fplugin-node-resolve%2F-%2Fplugin-node-resolve-9.0.0.tgz"
+"@rollup/plugin-node-resolve@npm:^11.2.1":
+ version: 11.2.1
+ resolution: "@rollup/plugin-node-resolve@npm:11.2.1::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40rollup%2Fplugin-node-resolve%2F-%2Fplugin-node-resolve-11.2.1.tgz"
dependencies:
"@rollup/pluginutils": ^3.1.0
"@types/resolve": 1.17.1
builtin-modules: ^3.1.0
deepmerge: ^4.2.2
is-module: ^1.0.0
- resolve: ^1.17.0
+ resolve: ^1.19.0
peerDependencies:
rollup: ^1.20.0||^2.0.0
- checksum: 5f05cb85b9f92d1cedf118ff7e1350bafebb48a95e8a4642b49d0836397e1db84df744b64b09cbc3d1b69d9f1ede77e299b9cad60f769d00b6966b0a9cc35800
+ checksum: 6f3b3ecf9a0596a5db4212984bdeb13bb7612693602407e9457ada075dea5a5f2e4e124c592352cf27066a88b194de9b9a95390149b52cf335d5b5e17b4e265b
languageName: node
linkType: hard
@@ -4629,13 +4664,15 @@ __metadata:
languageName: node
linkType: hard
-"@teambit/base-ui.constants.storage@npm:0.6.3":
- version: 0.6.3
- resolution: "@teambit/base-ui.constants.storage@npm:0.6.3::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fbase-ui.constants.storage%2F-%2Fbase-ui.constants.storage-0.6.3.tgz"
+"@teambit/base-ui.constants.storage@npm:0.6.10":
+ version: 0.6.10
+ resolution: "@teambit/base-ui.constants.storage@npm:0.6.10::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fbase-ui.constants.storage%2F-%2Fbase-ui.constants.storage-0.6.10.tgz"
+ dependencies:
+ core-js: ^3.0.0
peerDependencies:
- react: ^16.13.1
- react-dom: ^16.13.1
- checksum: b0a4d25b0c8aac8c09bde839b730c11547569d1d94dbd8cd45a161ea6f1d5bb4fa3400adfc1665dc48f0b56b89b870c802dfbe8763ac1be1961edb07866beb89
+ react: ^16.8.0 || ^17.0.0
+ react-dom: ^16.8.0 || ^17.0.0
+ checksum: 94ae3b3ba59522b6e15825b0013d491f29440101e7384f9303f837611e38d40449cfc3b0c257e46c3e4e167864fa04c7e6d3a71cf6390820df57ee004156fa54
languageName: node
linkType: hard
@@ -4649,23 +4686,27 @@ __metadata:
languageName: node
linkType: hard
-"@teambit/base-ui.css-components.elevation@npm:0.6.3":
- version: 0.6.3
- resolution: "@teambit/base-ui.css-components.elevation@npm:0.6.3::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fbase-ui.css-components.elevation%2F-%2Fbase-ui.css-components.elevation-0.6.3.tgz"
+"@teambit/base-ui.css-components.elevation@npm:0.6.12":
+ version: 0.6.12
+ resolution: "@teambit/base-ui.css-components.elevation@npm:0.6.12::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fbase-ui.css-components.elevation%2F-%2Fbase-ui.css-components.elevation-0.6.12.tgz"
+ dependencies:
+ core-js: ^3.0.0
peerDependencies:
- react: ^16.13.1
- react-dom: ^16.13.1
- checksum: 5db37b6270b47ab14165446729052de4b5bcbd0688988df26b6463e65519ca74fca64b833b723afd8b8947ca46ee988215df15aa2d8b09c5551faac8243bd27c
+ react: ^16.8.0 || ^17.0.0
+ react-dom: ^16.8.0 || ^17.0.0
+ checksum: 3b2bea1103ad6b4d505e6c5141ee0433c707ca96622d55c4610598576b73a69bbe117361b666793613f5c5b0c22078ca88c8437f9bd631d7d9689f6775b8e438
languageName: node
linkType: hard
-"@teambit/base-ui.css-components.pill@npm:0.6.7":
- version: 0.6.7
- resolution: "@teambit/base-ui.css-components.pill@npm:0.6.7::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fbase-ui.css-components.pill%2F-%2Fbase-ui.css-components.pill-0.6.7.tgz"
+"@teambit/base-ui.css-components.pill@npm:0.6.10":
+ version: 0.6.10
+ resolution: "@teambit/base-ui.css-components.pill@npm:0.6.10::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fbase-ui.css-components.pill%2F-%2Fbase-ui.css-components.pill-0.6.10.tgz"
+ dependencies:
+ core-js: ^3.0.0
peerDependencies:
- react: ^16.13.1
- react-dom: ^16.13.1
- checksum: da2b068a4cbb3af5ab1e109ddf09ca32f3c29306717caa418da04b05356e6036baace1b5e1a66b46368a8245ec3fd23ff11efa05ca8863dc4e9dc7f9ea79d0ce
+ react: ^16.8.0 || ^17.0.0
+ react-dom: ^16.8.0 || ^17.0.0
+ checksum: a6aff6cd512875c39902ebb30d96a24b33eb11b1ee87d1d11a76aeb69503e3276c36a9380e65902668d825d0c7e218c82294c93efb3547308d182cb4de3abb0d
languageName: node
linkType: hard
@@ -4679,13 +4720,28 @@ __metadata:
languageName: node
linkType: hard
-"@teambit/base-ui.css-components.roundness@npm:0.6.3":
- version: 0.6.3
- resolution: "@teambit/base-ui.css-components.roundness@npm:0.6.3::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fbase-ui.css-components.roundness%2F-%2Fbase-ui.css-components.roundness-0.6.3.tgz"
+"@teambit/base-ui.css-components.roundness@npm:0.6.11":
+ version: 0.6.11
+ resolution: "@teambit/base-ui.css-components.roundness@npm:0.6.11::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fbase-ui.css-components.roundness%2F-%2Fbase-ui.css-components.roundness-0.6.11.tgz"
+ dependencies:
+ core-js: ^3.0.0
peerDependencies:
- react: ^16.13.1
- react-dom: ^16.13.1
- checksum: dfea7791d89a1e0c8c687d909e65f76ecd87a73359e645e7df1e25353e71cc8eb385f1a3f7dbbb20866729879f38d298733fb09fd1acb40bea319592222268ad
+ react: ^16.8.0 || ^17.0.0
+ react-dom: ^16.8.0 || ^17.0.0
+ checksum: 5ea2d86a9fc83e578a48a03ff282b0e95a75e0e19ad24e9e946aed14654f25ff5c392ab08e14a5a9c2bbb40f71c6cc1ea259ee721103275d238730bec8a0cc2e
+ languageName: node
+ linkType: hard
+
+"@teambit/base-ui.elements.dots-loader@npm:0.6.13":
+ version: 0.6.13
+ resolution: "@teambit/base-ui.elements.dots-loader@npm:0.6.13::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fbase-ui.elements.dots-loader%2F-%2Fbase-ui.elements.dots-loader-0.6.13.tgz"
+ dependencies:
+ classnames: ^2.2.6
+ core-js: ^3.0.0
+ peerDependencies:
+ react: ^16.8.0 || ^17.0.0
+ react-dom: ^16.8.0 || ^17.0.0
+ checksum: 9d977e305d22cf868c3d5d2e77fce417b5ecfbac9ea58e85b309f8dabacad0e397d2ef9dce2ccf289d5023f0c6fbddf705641bac0d6a67a6c6abcf1b76178607
languageName: node
linkType: hard
@@ -4701,141 +4757,155 @@ __metadata:
languageName: node
linkType: hard
-"@teambit/base-ui.elements.icon@npm:0.5.9":
- version: 0.5.9
- resolution: "@teambit/base-ui.elements.icon@npm:0.5.9::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fbase-ui.elements.icon%2F-%2Fbase-ui.elements.icon-0.5.9.tgz"
+"@teambit/base-ui.elements.icon@npm:0.6.11":
+ version: 0.6.11
+ resolution: "@teambit/base-ui.elements.icon@npm:0.6.11::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fbase-ui.elements.icon%2F-%2Fbase-ui.elements.icon-0.6.11.tgz"
dependencies:
classnames: ^2.2.6
+ core-js: ^3.0.0
peerDependencies:
- react: ^16.13.1
- react-dom: ^16.13.1
- checksum: ebdc03a7fa98d730fd9def5853072cd8ae461ff88c7ef7a73c880f5475d7f2df6e5b03518d088db838c5386dbad9f4d420b83f69ac62a3063809fbe199430f4f
+ react: ^16.8.0 || ^17.0.0
+ react-dom: ^16.8.0 || ^17.0.0
+ checksum: ba3ca471778f61a43bc65290ecde5f3f0a6fed21e091b5f1ae154cf92705b262a50e76497646f2aa37fd856b09cd0500cd8d3005d786cc2b51f062ae0d9d2788
languageName: node
linkType: hard
-"@teambit/base-ui.elements.icon@npm:0.6.3":
- version: 0.6.3
- resolution: "@teambit/base-ui.elements.icon@npm:0.6.3::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fbase-ui.elements.icon%2F-%2Fbase-ui.elements.icon-0.6.3.tgz"
+"@teambit/base-ui.elements.icon@npm:0.6.2":
+ version: 0.6.2
+ resolution: "@teambit/base-ui.elements.icon@npm:0.6.2::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fbase-ui.elements.icon%2F-%2Fbase-ui.elements.icon-0.6.2.tgz"
dependencies:
classnames: ^2.2.6
peerDependencies:
react: ^16.13.1
react-dom: ^16.13.1
- checksum: 3e5be446f2e08de148537afd0b11c427c3983a0d6408a128faf7470fa75aa2cf3a785b28bc74aa7fd706d4a400f3a9e941e2ecd069e2020295bbebceb811698a
+ checksum: 2c2c93a8976f0896c28cf76bed9927596e050c1258dbee5cf844f3e4a02ad5acadefa7515dfe355bde192a44ce3b2b2b261b8fa1d439365e5e2e5b0cfa009b3f
languageName: node
linkType: hard
-"@teambit/base-ui.elements.image@npm:0.6.3":
+"@teambit/base-ui.elements.icon@npm:0.6.3":
version: 0.6.3
- resolution: "@teambit/base-ui.elements.image@npm:0.6.3::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fbase-ui.elements.image%2F-%2Fbase-ui.elements.image-0.6.3.tgz"
+ resolution: "@teambit/base-ui.elements.icon@npm:0.6.3::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fbase-ui.elements.icon%2F-%2Fbase-ui.elements.icon-0.6.3.tgz"
dependencies:
classnames: ^2.2.6
peerDependencies:
react: ^16.13.1
react-dom: ^16.13.1
- checksum: 2507484abcddeca09dee8c53a3d3fe763db62ec0c2a6811185ee5d1d54b1672cf5af954d7131d99f59638bd3fa1b39d8e444aa7b358e33041d7cb92b5e8131d2
+ checksum: 3e5be446f2e08de148537afd0b11c427c3983a0d6408a128faf7470fa75aa2cf3a785b28bc74aa7fd706d4a400f3a9e941e2ecd069e2020295bbebceb811698a
languageName: node
linkType: hard
-"@teambit/base-ui.elements.label@npm:0.6.3":
- version: 0.6.3
- resolution: "@teambit/base-ui.elements.label@npm:0.6.3::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fbase-ui.elements.label%2F-%2Fbase-ui.elements.label-0.6.3.tgz"
+"@teambit/base-ui.elements.image@npm:0.7.0":
+ version: 0.7.0
+ resolution: "@teambit/base-ui.elements.image@npm:0.7.0::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fbase-ui.elements.image%2F-%2Fbase-ui.elements.image-0.7.0.tgz"
dependencies:
classnames: ^2.2.6
+ core-js: ^3.0.0
peerDependencies:
- react: ^16.13.1
- react-dom: ^16.13.1
- checksum: e7a5881ed2ea6406f9273446203eb5341908a70f46ec0b9b79c9a213a819ffa4374a156f0e56b83edb85e1c3b867d44edca8eca086fefccb0e2ff31e9d572cca
+ react: ^16.8.0 || ^17.0.0
+ react-dom: ^16.8.0 || ^17.0.0
+ checksum: 88d0657d531c3352542f7be03a00d36a25f55b1479e485d73a4a20026283c04b3dcc10513ec639c7b9f9677368e28b0de485d1bea060e8bf6d90abb35f08b44d
languageName: node
linkType: hard
-"@teambit/base-ui.elements.separator@npm:0.6.3":
- version: 0.6.3
- resolution: "@teambit/base-ui.elements.separator@npm:0.6.3::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fbase-ui.elements.separator%2F-%2Fbase-ui.elements.separator-0.6.3.tgz"
+"@teambit/base-ui.elements.label@npm:0.7.0":
+ version: 0.7.0
+ resolution: "@teambit/base-ui.elements.label@npm:0.7.0::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fbase-ui.elements.label%2F-%2Fbase-ui.elements.label-0.7.0.tgz"
dependencies:
classnames: ^2.2.6
+ core-js: ^3.0.0
peerDependencies:
- react: ^16.13.1
- react-dom: ^16.13.1
- checksum: ccdb5a44de7483a77ae93282fc4f8e4c09e1ec818aac693809ec1c58fee4a92eb6b8a6457ea1e8c637d7e6e326efb6b300661dfe262028dd9c2b04f7bb30e450
+ react: ^16.8.0 || ^17.0.0
+ react-dom: ^16.8.0 || ^17.0.0
+ checksum: ed79d9553a1d69e80cfc4cc7c036205d7542e6cfb72a75e85eb845abe6785b54937f8c17cacf8bd501c7e9ba05f675bfe319a9390871afcde5f0a4bd5e98c663
languageName: node
linkType: hard
-"@teambit/base-ui.graph.tree.indent@npm:0.0.1":
- version: 0.0.1
- resolution: "@teambit/base-ui.graph.tree.indent@npm:0.0.1::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fbase-ui.graph.tree.indent%2F-%2Fbase-ui.graph.tree.indent-0.0.1.tgz"
+"@teambit/base-ui.elements.separator@npm:0.7.0":
+ version: 0.7.0
+ resolution: "@teambit/base-ui.elements.separator@npm:0.7.0::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fbase-ui.elements.separator%2F-%2Fbase-ui.elements.separator-0.7.0.tgz"
+ dependencies:
+ classnames: ^2.2.6
+ core-js: ^3.0.0
peerDependencies:
- react: ^16.13.1
- react-dom: ^16.13.1
- checksum: 07abe672207ae74b31a9724c6d26dfe69b3ae3c302d133fe632054b40c44c35c1e6c9b87f661b6c4dbab4db4baf149a722aa121170b27dc24a4b7622b12b6d82
+ react: ^16.8.0 || ^17.0.0
+ react-dom: ^16.8.0 || ^17.0.0
+ checksum: 8cd5f5b170a3faf2ad6d4f084911569f2bb699fa983ce7cd76924242a89f696f58dc9748c24e61af847107e47cf71e24f8f8908ac7a428ce6a5daa777f7630fb
languageName: node
linkType: hard
-"@teambit/base-ui.graph.tree.inflate-paths@npm:0.0.1":
- version: 0.0.1
- resolution: "@teambit/base-ui.graph.tree.inflate-paths@npm:0.0.1::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fbase-ui.graph.tree.inflate-paths%2F-%2Fbase-ui.graph.tree.inflate-paths-0.0.1.tgz"
+"@teambit/base-ui.graph.tree.indent@npm:0.6.10":
+ version: 0.6.10
+ resolution: "@teambit/base-ui.graph.tree.indent@npm:0.6.10::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fbase-ui.graph.tree.indent%2F-%2Fbase-ui.graph.tree.indent-0.6.10.tgz"
dependencies:
- "@teambit/base-ui.graph.tree.recursive-tree": 0.0.1
- "@teambit/base-ui.utils.sub-paths": 0.6.0
- chai: ^4.2.0
+ core-js: ^3.0.0
peerDependencies:
- react: ^16.13.1
- react-dom: ^16.13.1
- checksum: f53a7005ad4e670c82a4621f451f0fcf9ef8aeb5c25f6bdd18c795658d63782b5da8a2a069b22833b9daa41159b9e190a3cc2821812ba50ad55f80aacde3d688
+ react: ^16.8.0 || ^17.0.0
+ react-dom: ^16.8.0 || ^17.0.0
+ checksum: 995d68914fd6566230bbd9d72eacfb9ee24122e0e7568fd2f539258f5a39697528e1d4ef3851264a193826d00645ca5acc0cf64c172a64fa6a220e3a9ec2151c
languageName: node
linkType: hard
-"@teambit/base-ui.graph.tree.recursive-tree@npm:0.0.1":
- version: 0.0.1
- resolution: "@teambit/base-ui.graph.tree.recursive-tree@npm:0.0.1::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fbase-ui.graph.tree.recursive-tree%2F-%2Fbase-ui.graph.tree.recursive-tree-0.0.1.tgz"
+"@teambit/base-ui.graph.tree.inflate-paths@npm:0.7.0":
+ version: 0.7.0
+ resolution: "@teambit/base-ui.graph.tree.inflate-paths@npm:0.7.0::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fbase-ui.graph.tree.inflate-paths%2F-%2Fbase-ui.graph.tree.inflate-paths-0.7.0.tgz"
dependencies:
- "@teambit/base-ui.graph.tree.indent": 0.0.1
+ "@teambit/base-ui.graph.tree.recursive-tree": 0.6.10
+ "@teambit/base-ui.utils.sub-paths": 0.6.10
+ core-js: ^3.0.0
peerDependencies:
- react: ^16.13.1
- react-dom: ^16.13.1
- checksum: 26d3bf91cdf1eb277629c1c82624fe52062937d3fb3aef996d1d5e9c985cb6cb73267098663e4831e968aaeb3072106c87b8f5e7d9872671acece2297ad0cc4b
+ react: ^16.8.0 || ^17.0.0
+ react-dom: ^16.8.0 || ^17.0.0
+ checksum: 89680202e326dc17226a1b569f475da94f85a3b4bbed49e3aa87ef860711c9aa3e5af4b692b9be62728cc50221079455697ddca147e4b7c17291acd0de9e8056
languageName: node
linkType: hard
-"@teambit/base-ui.graph.tree.root-node@npm:0.0.1":
- version: 0.0.1
- resolution: "@teambit/base-ui.graph.tree.root-node@npm:0.0.1::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fbase-ui.graph.tree.root-node%2F-%2Fbase-ui.graph.tree.root-node-0.0.1.tgz"
+"@teambit/base-ui.graph.tree.recursive-tree@npm:0.6.10":
+ version: 0.6.10
+ resolution: "@teambit/base-ui.graph.tree.recursive-tree@npm:0.6.10::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fbase-ui.graph.tree.recursive-tree%2F-%2Fbase-ui.graph.tree.recursive-tree-0.6.10.tgz"
dependencies:
- "@teambit/base-ui.graph.tree.recursive-tree": 0.0.1
+ "@teambit/base-ui.graph.tree.indent": 0.6.10
+ core-js: ^3.0.0
peerDependencies:
- react: ^16.13.1
- react-dom: ^16.13.1
- checksum: d834b4bed8900936bab2971e03c1a45badf0a51bf532772d14b04f143eb3a7e75fdf272f69f03e2d4e90016e178c80a5020f0556c9819bcb2266cf937a5cde30
+ react: ^16.8.0 || ^17.0.0
+ react-dom: ^16.8.0 || ^17.0.0
+ checksum: e43f1a319366be8ad82219b18f1c78fb7ecd0932df2d8bfac312b5813402efb2465c576648bf1c4ca838fd4ea42c65baad78841a4618077c4f34789106ad6c86
languageName: node
linkType: hard
-"@teambit/base-ui.graph.tree.tree-context@npm:0.0.1":
- version: 0.0.1
- resolution: "@teambit/base-ui.graph.tree.tree-context@npm:0.0.1::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fbase-ui.graph.tree.tree-context%2F-%2Fbase-ui.graph.tree.tree-context-0.0.1.tgz"
+"@teambit/base-ui.graph.tree.root-node@npm:0.6.10":
+ version: 0.6.10
+ resolution: "@teambit/base-ui.graph.tree.root-node@npm:0.6.10::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fbase-ui.graph.tree.root-node%2F-%2Fbase-ui.graph.tree.root-node-0.6.10.tgz"
+ dependencies:
+ "@teambit/base-ui.graph.tree.recursive-tree": 0.6.10
+ core-js: ^3.0.0
peerDependencies:
- react: ^16.13.1
- react-dom: ^16.13.1
- checksum: 29a17525f03b5ba8435309ac5edb145d11308c55e60e417c837b8d06e71acb6812bfb630c5803c3f5325600102aba3d906e1319807f512c756dc14215e6abfd7
+ react: ^16.8.0 || ^17.0.0
+ react-dom: ^16.8.0 || ^17.0.0
+ checksum: 284d5c3a80ced5279fa1a81ce75fce6c87f37dacd91512e0291de1fd00fe2fb9d2af2a9660f3186da148e6645ea31bd895c4c01db0855b35ca1305e5a33ba8f7
languageName: node
linkType: hard
-"@teambit/base-ui.hook.use-click-outside@npm:0.5.9":
- version: 0.5.9
- resolution: "@teambit/base-ui.hook.use-click-outside@npm:0.5.9::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fbase-ui.hook.use-click-outside%2F-%2Fbase-ui.hook.use-click-outside-0.5.9.tgz"
+"@teambit/base-ui.graph.tree.tree-context@npm:0.6.10":
+ version: 0.6.10
+ resolution: "@teambit/base-ui.graph.tree.tree-context@npm:0.6.10::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fbase-ui.graph.tree.tree-context%2F-%2Fbase-ui.graph.tree.tree-context-0.6.10.tgz"
+ dependencies:
+ core-js: ^3.0.0
peerDependencies:
- react: ^16.13.1
- react-dom: ^16.13.1
- checksum: 23fdff3ed76adc10efce173444bcb887be9a60dad43a5848abab0d311cfda7d2b15a062f810771d22f572d93fdb5688e85e1a1dc1fdbb44c2f936433c34e5f3d
+ react: ^16.8.0 || ^17.0.0
+ react-dom: ^16.8.0 || ^17.0.0
+ checksum: 79faf0254982499eb5e26dd5d940de0fa1b2cbb0931d3816628698ffc0b411ddba2ebc33f73372f6a241ae1792cf833ce18bf2808c21d6249aecaac2804cb731
languageName: node
linkType: hard
-"@teambit/base-ui.hook.use-click-outside@npm:0.6.3":
- version: 0.6.3
- resolution: "@teambit/base-ui.hook.use-click-outside@npm:0.6.3::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fbase-ui.hook.use-click-outside%2F-%2Fbase-ui.hook.use-click-outside-0.6.3.tgz"
+"@teambit/base-ui.hook.use-click-outside@npm:0.8.0":
+ version: 0.8.0
+ resolution: "@teambit/base-ui.hook.use-click-outside@npm:0.8.0::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fbase-ui.hook.use-click-outside%2F-%2Fbase-ui.hook.use-click-outside-0.8.0.tgz"
+ dependencies:
+ core-js: ^3.0.0
peerDependencies:
- react: ^16.13.1
- react-dom: ^16.13.1
- checksum: 81825de02500d7a38fd257e2f1da37ab5eb6c3ab968b6e413e69bfbfd15b5cd00ff46069e81b47c330497dac1838d964f1fd193689b7d5ad924e871c1cf5e156
+ react: ^16.8.0 || ^17.0.0
+ react-dom: ^16.8.0 || ^17.0.0
+ checksum: 7956e7425d99338a58294c779f9f75408389bc3686884ed5c168e7eaef9998d2551683d0ead3c122e0a02d570bcae92cb6898b97cc8786cb12e87bf88da5f966
languageName: node
linkType: hard
@@ -4852,181 +4922,244 @@ __metadata:
languageName: node
linkType: hard
-"@teambit/base-ui.input.checkbox.hidden@npm:0.0.1":
- version: 0.0.1
- resolution: "@teambit/base-ui.input.checkbox.hidden@npm:0.0.1::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fbase-ui.input.checkbox.hidden%2F-%2Fbase-ui.input.checkbox.hidden-0.0.1.tgz"
+"@teambit/base-ui.input.button@npm:0.7.1":
+ version: 0.7.1
+ resolution: "@teambit/base-ui.input.button@npm:0.7.1::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fbase-ui.input.button%2F-%2Fbase-ui.input.button-0.7.1.tgz"
dependencies:
+ "@teambit/base-ui.elements.dots-loader": 0.6.13
classnames: ^2.2.6
+ core-js: ^3.0.0
peerDependencies:
- react: ^16.13.1
- react-dom: ^16.13.1
- checksum: 9d9bcfdce829810bac6d01bef088928c386fcd37a3de37a0632a21ed927600258d61929a000e21a024fe75305479065c0ad4ba31c33492a9c819a744fc343ff9
+ react: ^16.8.0 || ^17.0.0
+ react-dom: ^16.8.0 || ^17.0.0
+ checksum: 1ffe96910d8c0490f4b86af5e99a6f0a0fe2d44515df404f0b39e72e597ab8c818ea27bdad6756207205fbcae286cbbb7e84d8b5d467f40c9a2aee6ce9820983
languageName: node
linkType: hard
-"@teambit/base-ui.input.checkbox.indicator@npm:0.0.1":
- version: 0.0.1
- resolution: "@teambit/base-ui.input.checkbox.indicator@npm:0.0.1::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fbase-ui.input.checkbox.indicator%2F-%2Fbase-ui.input.checkbox.indicator-0.0.1.tgz"
+"@teambit/base-ui.input.checkbox.hidden@npm:0.6.11":
+ version: 0.6.11
+ resolution: "@teambit/base-ui.input.checkbox.hidden@npm:0.6.11::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fbase-ui.input.checkbox.hidden%2F-%2Fbase-ui.input.checkbox.hidden-0.6.11.tgz"
dependencies:
classnames: ^2.2.6
+ core-js: ^3.0.0
peerDependencies:
- react: ^16.13.1
- react-dom: ^16.13.1
- checksum: 37eb29e865f87ed241c257d8725018f2d10f6e90d7a1f6a8d9c794d5d0082204a5c05c1d0b2d80112fd13615db50f94f5dadc1ebbb034ff431455346cf6e561a
+ react: ^16.8.0 || ^17.0.0
+ react-dom: ^16.8.0 || ^17.0.0
+ checksum: ee72f141c06289ca90fbbeb4ed56baf332738521de63ce8e8a5513fa582cf652dcff718d0c741911148defa5e157dfc13651951f129f35dc4e89747f52b14bb3
languageName: node
linkType: hard
-"@teambit/base-ui.input.checkbox.label@npm:0.0.1":
- version: 0.0.1
- resolution: "@teambit/base-ui.input.checkbox.label@npm:0.0.1::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fbase-ui.input.checkbox.label%2F-%2Fbase-ui.input.checkbox.label-0.0.1.tgz"
+"@teambit/base-ui.input.checkbox.indicator@npm:0.6.11":
+ version: 0.6.11
+ resolution: "@teambit/base-ui.input.checkbox.indicator@npm:0.6.11::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fbase-ui.input.checkbox.indicator%2F-%2Fbase-ui.input.checkbox.indicator-0.6.11.tgz"
dependencies:
- "@teambit/base-ui.input.checkbox.hidden": 0.0.1
- "@teambit/base-ui.input.checkbox.indicator": 0.0.1
+ classnames: ^2.2.6
+ core-js: ^3.0.0
peerDependencies:
- react: ^16.13.1
- react-dom: ^16.13.1
- checksum: ca72fc2e702b967839844c4afd7400f52a5f0133072c8d382cf14e047c613729f21c5dfa44bea08089b14b8e069dbef4a37c33ed740272873d8b2d2bbc03aec1
+ react: ^16.8.0 || ^17.0.0
+ react-dom: ^16.8.0 || ^17.0.0
+ checksum: 414a43a3f6f7734cc9141c5cd6000fa8755afa85cfb7015db4ee93f253c948301b5796035d6bc20601975c668094588232532383cc6cc89447b43caff463df6b
languageName: node
linkType: hard
-"@teambit/base-ui.input.error@npm:0.6.0":
- version: 0.6.0
- resolution: "@teambit/base-ui.input.error@npm:0.6.0::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fbase-ui.input.error%2F-%2Fbase-ui.input.error-0.6.0.tgz"
+"@teambit/base-ui.input.checkbox.label@npm:0.6.11":
+ version: 0.6.11
+ resolution: "@teambit/base-ui.input.checkbox.label@npm:0.6.11::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fbase-ui.input.checkbox.label%2F-%2Fbase-ui.input.checkbox.label-0.6.11.tgz"
+ dependencies:
+ "@teambit/base-ui.input.checkbox.hidden": 0.6.11
+ "@teambit/base-ui.input.checkbox.indicator": 0.6.11
+ core-js: ^3.0.0
+ peerDependencies:
+ react: ^16.8.0 || ^17.0.0
+ react-dom: ^16.8.0 || ^17.0.0
+ checksum: 238721c9db132a2e041427a04366bfa7dd14f32ebdb7fb2b4a9dd702fa7f5c1fdf869ca9bd8a47f8fd25236fd598ea68d7902e19c4d9a321b56bfb141cfdc96a
+ languageName: node
+ linkType: hard
+
+"@teambit/base-ui.input.error@npm:0.6.12":
+ version: 0.6.12
+ resolution: "@teambit/base-ui.input.error@npm:0.6.12::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fbase-ui.input.error%2F-%2Fbase-ui.input.error-0.6.12.tgz"
dependencies:
classnames: ^2.2.6
+ core-js: ^3.0.0
peerDependencies:
- react: ^16.13.1
- react-dom: ^16.13.1
- checksum: 8694cea5dca11c6772204c729cc90ce6bd4068d5ee1aba730a6313c49f5a82b96095d463004e1cb6b42fc08828351ebd9c759b8ef3217da1e4cf44bd0acc1455
+ react: ^16.8.0 || ^17.0.0
+ react-dom: ^16.8.0 || ^17.0.0
+ checksum: e9446e6614a60803ba9a8dde4e1d636341bf067ba57174a56b107d307727e7238b7f8c520fedc933637e1dfe91e15b4e1bce9bb0ea46008fa4f05ff5ba336596
languageName: node
linkType: hard
-"@teambit/base-ui.input.error@npm:0.6.4":
- version: 0.6.4
- resolution: "@teambit/base-ui.input.error@npm:0.6.4::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fbase-ui.input.error%2F-%2Fbase-ui.input.error-0.6.4.tgz"
+"@teambit/base-ui.input.error@npm:0.7.1":
+ version: 0.7.1
+ resolution: "@teambit/base-ui.input.error@npm:0.7.1::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fbase-ui.input.error%2F-%2Fbase-ui.input.error-0.7.1.tgz"
dependencies:
classnames: ^2.2.6
+ core-js: ^3.0.0
peerDependencies:
- react: ^16.13.1
- react-dom: ^16.13.1
- checksum: a4313c63f87f240154e377c4e976f59b1538cd4c702e3d27d2cc4621eb76bea14d8235b6e19eaa353a11eabfe7ba6dc6cf40526f6204900f5d97e141d7979c9a
+ react: ^16.8.0 || ^17.0.0
+ react-dom: ^16.8.0 || ^17.0.0
+ checksum: b005119c423100ca18cfb87b619bee7a792e25e5fae17766eb40fe39bf36cf4370f3b326f610ba8d0e5cab9aaa3fd3525e811cd33ac4a6df617ccdc5268c7719
languageName: node
linkType: hard
-"@teambit/base-ui.layout.breakpoints@npm:0.5.9":
- version: 0.5.9
- resolution: "@teambit/base-ui.layout.breakpoints@npm:0.5.9::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fbase-ui.layout.breakpoints%2F-%2Fbase-ui.layout.breakpoints-0.5.9.tgz"
+"@teambit/base-ui.layout.breakpoints@npm:0.6.10":
+ version: 0.6.10
+ resolution: "@teambit/base-ui.layout.breakpoints@npm:0.6.10::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fbase-ui.layout.breakpoints%2F-%2Fbase-ui.layout.breakpoints-0.6.10.tgz"
+ dependencies:
+ core-js: ^3.0.0
peerDependencies:
- react: ^16.13.1
- react-dom: ^16.13.1
- checksum: b24ee40c365f88a009984550adf54a4a26326a07b7e7d23d2959bb2daf39161329a980910da39fab19119cc085a497f45061f95f17e67db3afb6655f30329358
+ react: ^16.8.0 || ^17.0.0
+ react-dom: ^16.8.0 || ^17.0.0
+ checksum: cb2dbec3d2b65b02290ec51a6635ac83c678775e836f42e529390396ebef469a094d36823315bfb1a7e2bad3410d103bc1d71ed69dbd533efcb9eb1fa0b95ee3
languageName: node
linkType: hard
-"@teambit/base-ui.layout.breakpoints@npm:0.6.3":
- version: 0.6.3
- resolution: "@teambit/base-ui.layout.breakpoints@npm:0.6.3::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fbase-ui.layout.breakpoints%2F-%2Fbase-ui.layout.breakpoints-0.6.3.tgz"
+"@teambit/base-ui.layout.grid-component@npm:0.6.11":
+ version: 0.6.11
+ resolution: "@teambit/base-ui.layout.grid-component@npm:0.6.11::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fbase-ui.layout.grid-component%2F-%2Fbase-ui.layout.grid-component-0.6.11.tgz"
+ dependencies:
+ "@teambit/base-ui.layout.breakpoints": 0.6.10
+ classnames: ^2.2.6
+ core-js: ^3.0.0
peerDependencies:
- react: ^16.13.1
- react-dom: ^16.13.1
- checksum: 63a1939c77d40199be99f3090ae21beff3d98aff64e4c44a267131da1723d4cb9d2e1391ebc43926c901c3ccb9a7c265cfc02c18ff1a04dc8fc169f3170a23b9
+ react: ^16.8.0 || ^17.0.0
+ react-dom: ^16.8.0 || ^17.0.0
+ checksum: 2c35898b4b6156722b7c792cfcf768d63efb84e850d56fe1c782c89aedae4d7a83f6c1df5c7e321ced29a96a1fc7be509bd0219971a9d303bfc5e42c1ac7c50c
languageName: node
linkType: hard
-"@teambit/base-ui.layout.breakpoints@npm:0.6.7":
- version: 0.6.7
- resolution: "@teambit/base-ui.layout.breakpoints@npm:0.6.7::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fbase-ui.layout.breakpoints%2F-%2Fbase-ui.layout.breakpoints-0.6.7.tgz"
+"@teambit/base-ui.layout.page-frame@npm:0.6.10":
+ version: 0.6.10
+ resolution: "@teambit/base-ui.layout.page-frame@npm:0.6.10::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fbase-ui.layout.page-frame%2F-%2Fbase-ui.layout.page-frame-0.6.10.tgz"
+ dependencies:
+ core-js: ^3.0.0
peerDependencies:
- react: ^16.13.1
- react-dom: ^16.13.1
- checksum: 7c240b8cb2963ec059cbe73419ee06c76b2f82184610577a55298326eb0da4ff693db625e02295f455530f6f81006158f7dedc70beae9d8c53d228c53679ac63
+ react: ^16.8.0 || ^17.0.0
+ react-dom: ^16.8.0 || ^17.0.0
+ checksum: e33821a346f96cd6ad091390ec19ae14314b6571b6bd1ca511be0ff2eee798a3109a2218b8da53ee7de372cd487af71bd5764ad4d74b88e7c01a6ff251ba9f83
languageName: node
linkType: hard
-"@teambit/base-ui.layout.grid-component@npm:0.5.9":
- version: 0.5.9
- resolution: "@teambit/base-ui.layout.grid-component@npm:0.5.9::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fbase-ui.layout.grid-component%2F-%2Fbase-ui.layout.grid-component-0.5.9.tgz"
+"@teambit/base-ui.loaders.loader-ribbon@npm:0.6.11":
+ version: 0.6.11
+ resolution: "@teambit/base-ui.loaders.loader-ribbon@npm:0.6.11::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fbase-ui.loaders.loader-ribbon%2F-%2Fbase-ui.loaders.loader-ribbon-0.6.11.tgz"
dependencies:
- "@teambit/base-ui.layout.breakpoints": 0.5.9
classnames: ^2.2.6
+ core-js: ^3.0.0
peerDependencies:
- react: ^16.13.1
- react-dom: ^16.13.1
- checksum: 10cac6030ac4649ab7f0d5ef57a1cc12f749a9c069aef54580dd0034fdcc763f512190d202edb862b2cb59ef00805065d13b3096328267926b283795afd0e7f7
+ react: ^16.8.0 || ^17.0.0
+ react-dom: ^16.8.0 || ^17.0.0
+ checksum: da09bbfc65ed32ca1119360bd71b7f0466b95c27bd6948141e1f1e0ec85386c389de85a842d53ee4cb6fbaeaa689e9642238f5b31c25a8fc3627bd6b41829f5d
languageName: node
linkType: hard
-"@teambit/base-ui.layout.grid-component@npm:0.6.3":
- version: 0.6.3
- resolution: "@teambit/base-ui.layout.grid-component@npm:0.6.3::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fbase-ui.layout.grid-component%2F-%2Fbase-ui.layout.grid-component-0.6.3.tgz"
+"@teambit/base-ui.routing.compare-url@npm:0.1.0":
+ version: 0.1.0
+ resolution: "@teambit/base-ui.routing.compare-url@npm:0.1.0::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fbase-ui.routing.compare-url%2F-%2Fbase-ui.routing.compare-url-0.1.0.tgz"
dependencies:
- "@teambit/base-ui.layout.breakpoints": 0.6.3
- classnames: ^2.2.6
+ core-js: ^3.0.0
+ url-parse: 1.5.1
peerDependencies:
- react: ^16.13.1
- react-dom: ^16.13.1
- checksum: 67383b118cd501e1c04765bf0570180cc05fa8371410472ec3b3d833124aa57492a37b8d4e43f01aa048ee635cb52f6462f5b255b797d40598d083bccd483997
+ react: ^16.8.0 || ^17.0.0
+ react-dom: ^16.8.0 || ^17.0.0
+ checksum: c04e92a8bf10f932cf62705b75e4ba4fa4c10e143690df70908fddfb5eb6171763429c381834d541f215c077c4070899e588e4f480a374c411ce09a516579954
languageName: node
linkType: hard
-"@teambit/base-ui.layout.grid-component@npm:0.6.7":
- version: 0.6.7
- resolution: "@teambit/base-ui.layout.grid-component@npm:0.6.7::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fbase-ui.layout.grid-component%2F-%2Fbase-ui.layout.grid-component-0.6.7.tgz"
+"@teambit/base-ui.routing.link@npm:0.1.0":
+ version: 0.1.0
+ resolution: "@teambit/base-ui.routing.link@npm:0.1.0::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fbase-ui.routing.link%2F-%2Fbase-ui.routing.link-0.1.0.tgz"
dependencies:
- "@teambit/base-ui.layout.breakpoints": 0.6.7
- classnames: ^2.2.6
+ "@teambit/base-ui.routing.native-link": 0.1.0
+ "@teambit/base-ui.routing.routing-provider": 0.0.2
+ core-js: ^3.0.0
peerDependencies:
- react: ^16.13.1
- react-dom: ^16.13.1
- checksum: ef0f405dca395f698ed6942b3d60e93ebf11f1b0c57976602dee54baa68909a1bac44c99362d11028e42d521864bf7166a405a003523ca8e6ceab9d56bcc4581
+ react: ^16.8.0 || ^17.0.0
+ react-dom: ^16.8.0 || ^17.0.0
+ checksum: 954318ced96f0800d7027695647e5e5ad8b2b8a194fcc5e965e7b552c1227a51ea7000a8302d4e9a7d37f3fe19d6e5ee4066fb02cd7af3f4d6e568798142f3c3
languageName: node
linkType: hard
-"@teambit/base-ui.layout.page-frame@npm:0.6.3":
- version: 0.6.3
- resolution: "@teambit/base-ui.layout.page-frame@npm:0.6.3::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fbase-ui.layout.page-frame%2F-%2Fbase-ui.layout.page-frame-0.6.3.tgz"
+"@teambit/base-ui.routing.native-link@npm:0.1.0":
+ version: 0.1.0
+ resolution: "@teambit/base-ui.routing.native-link@npm:0.1.0::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fbase-ui.routing.native-link%2F-%2Fbase-ui.routing.native-link-0.1.0.tgz"
+ dependencies:
+ core-js: ^3.0.0
peerDependencies:
- react: ^16.13.1
- react-dom: ^16.13.1
- checksum: 7db8f27a715e0133c08f48f3773944a03cff3d39dac12038b21da5904e256e686ccc05fd09ec8e244e0a5f02214a5dbe29f43f4cfa638f907f46f5feba3d160b
+ react: ^16.8.0 || ^17.0.0
+ react-dom: ^16.8.0 || ^17.0.0
+ checksum: 3250ff810c78571e4f35b4f9f40a57ca70bc83f323d748dbda023a83f058d97d8d156c566570cabc0539e517cbcb296cd6eea73be3cd061951c4da661e3b30da
languageName: node
linkType: hard
-"@teambit/base-ui.loaders.loader-ribbon@npm:0.0.2":
+"@teambit/base-ui.routing.native-nav-link@npm:0.0.2":
version: 0.0.2
- resolution: "@teambit/base-ui.loaders.loader-ribbon@npm:0.0.2::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fbase-ui.loaders.loader-ribbon%2F-%2Fbase-ui.loaders.loader-ribbon-0.0.2.tgz"
+ resolution: "@teambit/base-ui.routing.native-nav-link@npm:0.0.2::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fbase-ui.routing.native-nav-link%2F-%2Fbase-ui.routing.native-nav-link-0.0.2.tgz"
dependencies:
+ "@teambit/base-ui.routing.compare-url": 0.1.0
+ "@teambit/base-ui.routing.native-link": 0.1.0
+ "@teambit/base-ui.utils.is-browser": 0.0.1
classnames: ^2.2.6
+ core-js: ^3.0.0
peerDependencies:
- react: ^16.13.1
- react-dom: ^16.13.1
- checksum: 076b3647de15e50d51f6481fe69f27b179d84d5ae5068b00354734758e33fb46301324ff634b9849fc49050bb008609b520556cb6e92623ab233faf4265c3102
+ react: ^16.8.0 || ^17.0.0
+ react-dom: ^16.8.0 || ^17.0.0
+ checksum: ad0cf96a70a834c8f666e6624fd1ae17ab73f4af21e388ac8f1158e4211178ea843f8ebe19765adbe7263b7c807f3642e2ad42adfa1fdbf9d2bc9e2798e47be1
languageName: node
linkType: hard
-"@teambit/base-ui.surfaces.abs-container@npm:0.5.9":
- version: 0.5.9
- resolution: "@teambit/base-ui.surfaces.abs-container@npm:0.5.9::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fbase-ui.surfaces.abs-container%2F-%2Fbase-ui.surfaces.abs-container-0.5.9.tgz"
+"@teambit/base-ui.routing.nav-link@npm:0.1.0":
+ version: 0.1.0
+ resolution: "@teambit/base-ui.routing.nav-link@npm:0.1.0::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fbase-ui.routing.nav-link%2F-%2Fbase-ui.routing.nav-link-0.1.0.tgz"
dependencies:
- classnames: ^2.2.6
- react-create-ref: ^1.0.1
+ "@teambit/base-ui.routing.native-nav-link": 0.0.2
+ "@teambit/base-ui.routing.routing-provider": 0.0.2
+ core-js: ^3.0.0
peerDependencies:
- react: ^16.13.1
- react-dom: ^16.13.1
- checksum: d5e7af8a91c29e12ba8e5367dbbb131e963d93c85cbc5775a1fe60f5b955120967cdf8e9bb4b086dac534526595979972f97a33d410d5b43dc16d72f93a14a35
+ react: ^16.8.0 || ^17.0.0
+ react-dom: ^16.8.0 || ^17.0.0
+ checksum: 051d25fa0b5cae2a3d5771cd8469e31cf26dd1ea720ce4b5c786c3de505d0ecebe4745369a368b73bdf923f0f69223ccb6251cab882105cdab76c7e6fad6d84b
languageName: node
linkType: hard
-"@teambit/base-ui.surfaces.abs-container@npm:0.6.3":
- version: 0.6.3
- resolution: "@teambit/base-ui.surfaces.abs-container@npm:0.6.3::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fbase-ui.surfaces.abs-container%2F-%2Fbase-ui.surfaces.abs-container-0.6.3.tgz"
+"@teambit/base-ui.routing.routing-provider@npm:0.0.2":
+ version: 0.0.2
+ resolution: "@teambit/base-ui.routing.routing-provider@npm:0.0.2::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fbase-ui.routing.routing-provider%2F-%2Fbase-ui.routing.routing-provider-0.0.2.tgz"
+ dependencies:
+ "@teambit/base-ui.routing.native-link": 0.1.0
+ "@teambit/base-ui.routing.native-nav-link": 0.0.2
+ "@teambit/base-ui.utils.is-browser": 0.0.1
+ core-js: ^3.0.0
+ peerDependencies:
+ react: ^16.8.0 || ^17.0.0
+ react-dom: ^16.8.0 || ^17.0.0
+ checksum: 76f3cf0cf23b1e9a94c18cefa6aad875c9ec14a8fefacb71dcb0d13bcde10fdcc1ba3c48f3c318306951ecb0f8065cfc88ef8ab8256804d1f39ad5813e7e91cf
+ languageName: node
+ linkType: hard
+
+"@teambit/base-ui.styles.flex-center@npm:0.0.2":
+ version: 0.0.2
+ resolution: "@teambit/base-ui.styles.flex-center@npm:0.0.2::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fbase-ui.styles.flex-center%2F-%2Fbase-ui.styles.flex-center-0.0.2.tgz"
+ dependencies:
+ core-js: ^3.0.0
+ peerDependencies:
+ react: ^16.8.0 || ^17.0.0
+ react-dom: ^16.8.0 || ^17.0.0
+ checksum: 917eee46948e22144cc5d663be69892711848beb0d15c4d87ed9ecc1d93a6a192ae4469c6a939d959ec2f781e76873c83c1f93754c1f5a9a232c03b549bb1531
+ languageName: node
+ linkType: hard
+
+"@teambit/base-ui.surfaces.abs-container@npm:0.6.11":
+ version: 0.6.11
+ resolution: "@teambit/base-ui.surfaces.abs-container@npm:0.6.11::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fbase-ui.surfaces.abs-container%2F-%2Fbase-ui.surfaces.abs-container-0.6.11.tgz"
dependencies:
classnames: ^2.2.6
+ core-js: ^3.0.0
react-create-ref: ^1.0.1
peerDependencies:
- react: ^16.13.1
- react-dom: ^16.13.1
- checksum: ee0ecb2401e80c87b9e179e7aaf7dcd1fd77d4235fe6668b7d94ddc578b3be6010eade6bdf8e8edfe4e47674b818a8577e3da2882ff175b10fab536de0792d1a
+ react: ^16.8.0 || ^17.0.0
+ react-dom: ^16.8.0 || ^17.0.0
+ checksum: cc8ec8fe0715fa5f5cc9426970a74b299166de790ebb89b3971c8d0062ba1b17d3f0890dc3897a1665c9224517e42014bcd1068f8722ef2ea6ca4cfd96dd60d7
languageName: node
linkType: hard
@@ -5040,6 +5173,18 @@ __metadata:
languageName: node
linkType: hard
+"@teambit/base-ui.surfaces.background@npm:0.6.10":
+ version: 0.6.10
+ resolution: "@teambit/base-ui.surfaces.background@npm:0.6.10::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fbase-ui.surfaces.background%2F-%2Fbase-ui.surfaces.background-0.6.10.tgz"
+ dependencies:
+ core-js: ^3.0.0
+ peerDependencies:
+ react: ^16.8.0 || ^17.0.0
+ react-dom: ^16.8.0 || ^17.0.0
+ checksum: e34311c341bfeecfb40e19afee25f29582ee67085b7d1f7b64254d0d7d0400624658478fc77a60b821fc8afee5ce68b84533a6307d571ea6609ad9653c8dcc77
+ languageName: node
+ linkType: hard
+
"@teambit/base-ui.surfaces.background@npm:0.6.3":
version: 0.6.3
resolution: "@teambit/base-ui.surfaces.background@npm:0.6.3::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fbase-ui.surfaces.background%2F-%2Fbase-ui.surfaces.background-0.6.3.tgz"
@@ -5065,140 +5210,117 @@ __metadata:
languageName: node
linkType: hard
-"@teambit/base-ui.surfaces.card@npm:0.6.3":
- version: 0.6.3
- resolution: "@teambit/base-ui.surfaces.card@npm:0.6.3::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fbase-ui.surfaces.card%2F-%2Fbase-ui.surfaces.card-0.6.3.tgz"
+"@teambit/base-ui.surfaces.card@npm:0.7.0":
+ version: 0.7.0
+ resolution: "@teambit/base-ui.surfaces.card@npm:0.7.0::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fbase-ui.surfaces.card%2F-%2Fbase-ui.surfaces.card-0.7.0.tgz"
dependencies:
- "@teambit/base-ui.css-components.elevation": 0.6.3
- "@teambit/base-ui.css-components.roundness": 0.6.3
- "@teambit/base-ui.surfaces.background": 0.6.3
+ "@teambit/base-ui.css-components.elevation": 0.6.12
+ "@teambit/base-ui.css-components.roundness": 0.6.11
+ "@teambit/base-ui.surfaces.background": 0.6.10
classnames: ^2.2.6
+ core-js: ^3.0.0
peerDependencies:
- react: ^16.13.1
- react-dom: ^16.13.1
- checksum: 14fe468c97272058a0443cdac9c0af90d886e45de65ad534c7025497455ea20a3ab17218d864accd00d243a92aa154bedcf87b70b8808cf9164cf4888efb499b
+ react: ^16.8.0 || ^17.0.0
+ react-dom: ^16.8.0 || ^17.0.0
+ checksum: 2d0c55c98c1aeb54b49a7734b2f299ddfe59c39efd8ac6f5e2b1ab2b5ddd86d9c2333e8de96d95e3bbf5796611839cae8132626e4b96fb876359b87035fdb3c0
languageName: node
linkType: hard
-"@teambit/base-ui.surfaces.drawer@npm:0.5.9":
- version: 0.5.9
- resolution: "@teambit/base-ui.surfaces.drawer@npm:0.5.9::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fbase-ui.surfaces.drawer%2F-%2Fbase-ui.surfaces.drawer-0.5.9.tgz"
+"@teambit/base-ui.surfaces.drawer@npm:0.6.14":
+ version: 0.6.14
+ resolution: "@teambit/base-ui.surfaces.drawer@npm:0.6.14::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fbase-ui.surfaces.drawer%2F-%2Fbase-ui.surfaces.drawer-0.6.14.tgz"
dependencies:
- "@teambit/base-ui.hook.use-click-outside": 0.5.9
- "@teambit/base-ui.surfaces.abs-container": 0.5.9
+ "@teambit/base-ui.hook.use-click-outside": 0.8.0
+ "@teambit/base-ui.surfaces.abs-container": 0.6.11
classnames: ^2.2.6
+ core-js: ^3.0.0
react-create-ref: ^1.0.1
peerDependencies:
- react: ^16.13.1
- react-dom: ^16.13.1
- checksum: 84816d2e0d8def8b190e6baa4aa55ee6bfbfe448f866d7b04d5cc637f111d24edc7532ec4ce56390a8139230f13797aa520bc6dc5ac17d9c4d8c772032b0ebe2
+ react: ^16.8.0 || ^17.0.0
+ react-dom: ^16.8.0 || ^17.0.0
+ checksum: 009dc1e7153f10083594bff5832edac8b7909796af6213b41e275dd156039c25dc948624c96fd286592b52875d8e32fbfa219a4f81528eb2b6ad5d3aa072bdc2
languageName: node
linkType: hard
-"@teambit/base-ui.surfaces.drawer@npm:0.6.3":
- version: 0.6.3
- resolution: "@teambit/base-ui.surfaces.drawer@npm:0.6.3::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fbase-ui.surfaces.drawer%2F-%2Fbase-ui.surfaces.drawer-0.6.3.tgz"
+"@teambit/base-ui.surfaces.split-pane.hover-splitter@npm:0.6.7":
+ version: 0.6.7
+ resolution: "@teambit/base-ui.surfaces.split-pane.hover-splitter@npm:0.6.7::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fbase-ui.surfaces.split-pane.hover-splitter%2F-%2Fbase-ui.surfaces.split-pane.hover-splitter-0.6.7.tgz"
dependencies:
- "@teambit/base-ui.hook.use-click-outside": 0.6.3
- "@teambit/base-ui.surfaces.abs-container": 0.6.3
+ "@teambit/base-ui.surfaces.split-pane.splitter": 0.6.7
classnames: ^2.2.6
- react-create-ref: ^1.0.1
peerDependencies:
react: ^16.13.1
react-dom: ^16.13.1
- checksum: e796d6e6fb16392f1acebc62b6e89df8cf79552055dadb666bdae92bb0aef07d581baec78f59a008a359963760351d9447f07638bd9cb9b0a796f329514f0725
+ checksum: 73f26de0dc612ef2593487c6bcb4bc11fa8866276a03217fa32a1448ec03b17b4aa32891b8d8acbb7fb09b9d3416a97d392f87b036d9ee27ea1bbaf0d6a4d5bc
languageName: node
linkType: hard
-"@teambit/base-ui.surfaces.split-pane.hover-splitter@npm:0.6.0":
- version: 0.6.0
- resolution: "@teambit/base-ui.surfaces.split-pane.hover-splitter@npm:0.6.0::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fbase-ui.surfaces.split-pane.hover-splitter%2F-%2Fbase-ui.surfaces.split-pane.hover-splitter-0.6.0.tgz"
+"@teambit/base-ui.surfaces.split-pane.hover-splitter@npm:0.7.4":
+ version: 0.7.4
+ resolution: "@teambit/base-ui.surfaces.split-pane.hover-splitter@npm:0.7.4::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fbase-ui.surfaces.split-pane.hover-splitter%2F-%2Fbase-ui.surfaces.split-pane.hover-splitter-0.7.4.tgz"
dependencies:
- "@teambit/base-ui.surfaces.split-pane.splitter": 0.6.0
+ "@teambit/base-ui.surfaces.split-pane.splitter": 0.6.11
classnames: ^2.2.6
+ core-js: ^3.0.0
peerDependencies:
- react: ^16.13.1
- react-dom: ^16.13.1
- checksum: 9517eeacfd1bab58f38734fb23efdeaa1b44ea3d34564363bc29f3f4f83599ed4cbafa09d146d7f5376f9c565bd3847cc4f64e84d7688cdf84d01170bbcdcdad
+ react: ^16.8.0 || ^17.0.0
+ react-dom: ^16.8.0 || ^17.0.0
+ checksum: f259d527e35b12533e1075d0b1c39ebf1a9e2317700592083bcf73c3a42cee15c7ea99388e6cc5f15581001a1db4ef220254fa7518c1f7c038f1cc513a2cc539
languageName: node
linkType: hard
-"@teambit/base-ui.surfaces.split-pane.hover-splitter@npm:0.7.0":
- version: 0.7.0
- resolution: "@teambit/base-ui.surfaces.split-pane.hover-splitter@npm:0.7.0::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fbase-ui.surfaces.split-pane.hover-splitter%2F-%2Fbase-ui.surfaces.split-pane.hover-splitter-0.7.0.tgz"
+"@teambit/base-ui.surfaces.split-pane.layout@npm:0.6.10":
+ version: 0.6.10
+ resolution: "@teambit/base-ui.surfaces.split-pane.layout@npm:0.6.10::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fbase-ui.surfaces.split-pane.layout%2F-%2Fbase-ui.surfaces.split-pane.layout-0.6.10.tgz"
dependencies:
- "@teambit/base-ui.surfaces.split-pane.splitter": 0.6.7
- classnames: ^2.2.6
+ core-js: ^3.0.0
peerDependencies:
- core-js: ^3.8.0
- react: ^16.13.1
- react-dom: ^16.13.1
- checksum: a876e41a4790cd7edb38d1d627a296709db0610a4ccd7bd6bc9a69772aacddac225f8856894799be4fa3b323ab8d55d64955e9e8fe6ebc8ed2d152a39c46d4e0
+ react: ^16.8.0 || ^17.0.0
+ react-dom: ^16.8.0 || ^17.0.0
+ checksum: 0b150775a701efbb2baff1b50680b11d34c8dd6c85b20043cb0e952fbaec046cc09f8fd1b490973e8d30323977df7e57cc807eb9e5e93c433c5e985156aef716
languageName: node
linkType: hard
-"@teambit/base-ui.surfaces.split-pane.layout@npm:0.6.0":
- version: 0.6.0
- resolution: "@teambit/base-ui.surfaces.split-pane.layout@npm:0.6.0::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fbase-ui.surfaces.split-pane.layout%2F-%2Fbase-ui.surfaces.split-pane.layout-0.6.0.tgz"
+"@teambit/base-ui.surfaces.split-pane.pane@npm:0.6.11":
+ version: 0.6.11
+ resolution: "@teambit/base-ui.surfaces.split-pane.pane@npm:0.6.11::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fbase-ui.surfaces.split-pane.pane%2F-%2Fbase-ui.surfaces.split-pane.pane-0.6.11.tgz"
+ dependencies:
+ "@teambit/base-ui.surfaces.split-pane.layout": 0.6.10
+ classnames: ^2.2.6
+ core-js: ^3.0.0
peerDependencies:
- react: ^16.13.1
- react-dom: ^16.13.1
- checksum: 54394c17460ffbb338844eb6f9cbfe3cf457fcf1def0c6ef86067091a15e218aae39562d2ae64b652fb093b80f412746c57da4fede01cad05fa887633a2453b2
+ react: ^16.8.0 || ^17.0.0
+ react-dom: ^16.8.0 || ^17.0.0
+ checksum: 4a3dc860c056a8b64c879cf18e26898a089887048c3a54d237f3e437d3cae7a8923a2bad18dd62c3e6c3fe3e0a28d91783a7895d3b96b72c44e07cc17fbc66df
languageName: node
linkType: hard
-"@teambit/base-ui.surfaces.split-pane.pane@npm:0.6.0":
- version: 0.6.0
- resolution: "@teambit/base-ui.surfaces.split-pane.pane@npm:0.6.0::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fbase-ui.surfaces.split-pane.pane%2F-%2Fbase-ui.surfaces.split-pane.pane-0.6.0.tgz"
+"@teambit/base-ui.surfaces.split-pane.split-pane@npm:0.6.11":
+ version: 0.6.11
+ resolution: "@teambit/base-ui.surfaces.split-pane.split-pane@npm:0.6.11::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fbase-ui.surfaces.split-pane.split-pane%2F-%2Fbase-ui.surfaces.split-pane.split-pane-0.6.11.tgz"
dependencies:
- "@teambit/base-ui.surfaces.split-pane.layout": 0.6.0
+ "@teambit/base-ui.surfaces.split-pane.layout": 0.6.10
+ "@teambit/base-ui.surfaces.split-pane.pane": 0.6.11
+ "@teambit/base-ui.surfaces.split-pane.splitter": 0.6.11
classnames: ^2.2.6
+ core-js: ^3.0.0
peerDependencies:
- react: ^16.13.1
- react-dom: ^16.13.1
- checksum: 78630603f24a40c25ce6d05b884405a147a8b7b112fbfe08559701dfaf0bddf8ac87eca1cb6aca6f5c2369eafd9a1d588f8025e5832c3a2a75e4957312f1e8a0
+ react: ^16.8.0 || ^17.0.0
+ react-dom: ^16.8.0 || ^17.0.0
+ checksum: f084d94bd1854af60a8936cb7f457538b9603c0a268753a12d2baa15fcc6fdf6c232f319e3524edbabcbca3b1dad8ce3029b32c7bd196500251b5b1e2b8822ab
languageName: node
linkType: hard
-"@teambit/base-ui.surfaces.split-pane.split-pane@npm:0.6.0":
- version: 0.6.0
- resolution: "@teambit/base-ui.surfaces.split-pane.split-pane@npm:0.6.0::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fbase-ui.surfaces.split-pane.split-pane%2F-%2Fbase-ui.surfaces.split-pane.split-pane-0.6.0.tgz"
+"@teambit/base-ui.surfaces.split-pane.splitter@npm:0.6.11":
+ version: 0.6.11
+ resolution: "@teambit/base-ui.surfaces.split-pane.splitter@npm:0.6.11::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fbase-ui.surfaces.split-pane.splitter%2F-%2Fbase-ui.surfaces.split-pane.splitter-0.6.11.tgz"
dependencies:
- "@teambit/base-ui.surfaces.split-pane.layout": 0.6.0
- "@teambit/base-ui.surfaces.split-pane.pane": 0.6.0
- "@teambit/base-ui.surfaces.split-pane.splitter": 0.6.0
classnames: ^2.2.6
+ core-js: ^3.0.0
peerDependencies:
- react: ^16.13.1
- react-dom: ^16.13.1
- checksum: b38a51a6828b3fb2fb3af1acafc8870ac9c88509a334ac521aed3ea98c9dbaf7c21dd9a8a5a5e9446c1775134fadb27bfc2d4cc6a7094e4770b5ddeca3e42132
- languageName: node
- linkType: hard
-
-"@teambit/base-ui.surfaces.split-pane.split-pane@npm:0.6.1":
- version: 0.6.1
- resolution: "@teambit/base-ui.surfaces.split-pane.split-pane@npm:0.6.1::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fbase-ui.surfaces.split-pane.split-pane%2F-%2Fbase-ui.surfaces.split-pane.split-pane-0.6.1.tgz"
- dependencies:
- "@teambit/base-ui.surfaces.split-pane.layout": 0.6.0
- "@teambit/base-ui.surfaces.split-pane.pane": 0.6.0
- "@teambit/base-ui.surfaces.split-pane.splitter": 0.6.0
- classnames: ^2.2.6
- peerDependencies:
- react: ^16.13.1
- react-dom: ^16.13.1
- checksum: 0efb7fad744704ca90386acad702251210dc335e9943a28e77600e342cd326370af34af371e19b0b94fe465bfa83638c8f75c1c680dcf0bf3e98445ad7325596
- languageName: node
- linkType: hard
-
-"@teambit/base-ui.surfaces.split-pane.splitter@npm:0.6.0":
- version: 0.6.0
- resolution: "@teambit/base-ui.surfaces.split-pane.splitter@npm:0.6.0::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fbase-ui.surfaces.split-pane.splitter%2F-%2Fbase-ui.surfaces.split-pane.splitter-0.6.0.tgz"
- dependencies:
- classnames: ^2.2.6
- peerDependencies:
- react: ^16.13.1
- react-dom: ^16.13.1
- checksum: 88b3eb5d3105acc48b24e1d9a9b02771dfee3381b9927990c14946803211a28c2d12053c8f9c04b49e06486a752b867e3d4a29983f1ef1a621805ffa922c3aca
+ react: ^16.8.0 || ^17.0.0
+ react-dom: ^16.8.0 || ^17.0.0
+ checksum: 9307b2709a832020a188c3ff33f96319f83806a170d6ba069e97ebdaa31aa22785999150dad08dec6fa8460e9aeda8cc962a505dcfdff2bceec77201414a0820
languageName: node
linkType: hard
@@ -5214,16 +5336,6 @@ __metadata:
languageName: node
linkType: hard
-"@teambit/base-ui.text.heading@npm:0.5.10":
- version: 0.5.10
- resolution: "@teambit/base-ui.text.heading@npm:0.5.10::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fbase-ui.text.heading%2F-%2Fbase-ui.text.heading-0.5.10.tgz"
- peerDependencies:
- react: ^16.13.1
- react-dom: ^16.13.1
- checksum: a094f85f1a1ebf1ed2ba968002b2168237905e053ddad76edb3ad9c192dd1c486fa90575d405eff9661e4cbff02d4c3b8866ac68a7c6aceaba353b4c9ab51217
- languageName: node
- linkType: hard
-
"@teambit/base-ui.text.heading@npm:0.5.9":
version: 0.5.9
resolution: "@teambit/base-ui.text.heading@npm:0.5.9::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fbase-ui.text.heading%2F-%2Fbase-ui.text.heading-0.5.9.tgz"
@@ -5234,47 +5346,53 @@ __metadata:
languageName: node
linkType: hard
-"@teambit/base-ui.text.heading@npm:0.6.3":
- version: 0.6.3
- resolution: "@teambit/base-ui.text.heading@npm:0.6.3::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fbase-ui.text.heading%2F-%2Fbase-ui.text.heading-0.6.3.tgz"
+"@teambit/base-ui.text.heading@npm:0.6.12":
+ version: 0.6.12
+ resolution: "@teambit/base-ui.text.heading@npm:0.6.12::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fbase-ui.text.heading%2F-%2Fbase-ui.text.heading-0.6.12.tgz"
+ dependencies:
+ core-js: ^3.0.0
peerDependencies:
- react: ^16.13.1
- react-dom: ^16.13.1
- checksum: 5165bbc9ae660a1115ec49fbe63d3e2ff0bd5f61d0f63818435092ca9faed49d06c45d9a5076b1d22d8ce7fe94fd2505e40f985352d277539f3a60a4922c192e
+ react: ^16.8.0 || ^17.0.0
+ react-dom: ^16.8.0 || ^17.0.0
+ checksum: 25d991dc90e803fb0dee4503aff353ea85edd16172b096c0b4cd79e7df036c5b507afe557a97045f21f977b4816ec969333c56e1cea76f0b6ed74eee93cf7530
languageName: node
linkType: hard
-"@teambit/base-ui.text.heading@npm:0.6.4":
- version: 0.6.4
- resolution: "@teambit/base-ui.text.heading@npm:0.6.4::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fbase-ui.text.heading%2F-%2Fbase-ui.text.heading-0.6.4.tgz"
+"@teambit/base-ui.text.heading@npm:0.7.1":
+ version: 0.7.1
+ resolution: "@teambit/base-ui.text.heading@npm:0.7.1::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fbase-ui.text.heading%2F-%2Fbase-ui.text.heading-0.7.1.tgz"
+ dependencies:
+ core-js: ^3.0.0
peerDependencies:
- react: ^16.13.1
- react-dom: ^16.13.1
- checksum: c4b9ea005b76325c814794e342e307e85e88176236676fa2dc50c888384076cb4464193a4264050f84df74e45475addcede7f853c41edce13dbb7dfcf6efc7af
+ react: ^16.8.0 || ^17.0.0
+ react-dom: ^16.8.0 || ^17.0.0
+ checksum: 7191bfda703e86e30560af7f5df9a5f184b8912dd38b4b873dec15a216703798bb7d07cd821ffdc2df679e203b41b4870c894ed3acdae818a49cd32686bfa916
languageName: node
linkType: hard
-"@teambit/base-ui.text.muted-text@npm:0.5.9":
- version: 0.5.9
- resolution: "@teambit/base-ui.text.muted-text@npm:0.5.9::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fbase-ui.text.muted-text%2F-%2Fbase-ui.text.muted-text-0.5.9.tgz"
+"@teambit/base-ui.text.muted-text@npm:0.6.12":
+ version: 0.6.12
+ resolution: "@teambit/base-ui.text.muted-text@npm:0.6.12::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fbase-ui.text.muted-text%2F-%2Fbase-ui.text.muted-text-0.6.12.tgz"
dependencies:
classnames: ^2.2.6
+ core-js: ^3.0.0
peerDependencies:
- react: ^16.13.1
- react-dom: ^16.13.1
- checksum: 75a80f5afc5d13928f6bb396d3dcf4b94248078acd9d08f0bdc3cd2ece2b1de99e59b234c5cfc878b5ead7bb87bcac495bbebdeb7da14028656a4d5d278c507b
+ react: ^16.8.0 || ^17.0.0
+ react-dom: ^16.8.0 || ^17.0.0
+ checksum: 4afe21b3d31c3088b7e7bfd9df61d4592b4f6a0bf343d5370ff5b458fdcb6eac5ac82921d3c2f6b7ec4d675f6cf3c7e5d2dc07d89ab180acfe1033370d6784ee
languageName: node
linkType: hard
-"@teambit/base-ui.text.muted-text@npm:0.6.4":
- version: 0.6.4
- resolution: "@teambit/base-ui.text.muted-text@npm:0.6.4::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fbase-ui.text.muted-text%2F-%2Fbase-ui.text.muted-text-0.6.4.tgz"
+"@teambit/base-ui.text.muted-text@npm:0.7.1":
+ version: 0.7.1
+ resolution: "@teambit/base-ui.text.muted-text@npm:0.7.1::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fbase-ui.text.muted-text%2F-%2Fbase-ui.text.muted-text-0.7.1.tgz"
dependencies:
classnames: ^2.2.6
+ core-js: ^3.0.0
peerDependencies:
- react: ^16.13.1
- react-dom: ^16.13.1
- checksum: 20e9b104686cfc0b62fcfbdb28b7bd07379e1ffc3fb297cb74b0390bd7eaf8067a15d0a2966aa4f7ccb761dd5bff4c7f9f1d721b8fd571eb1f0a781ea8b05e80
+ react: ^16.8.0 || ^17.0.0
+ react-dom: ^16.8.0 || ^17.0.0
+ checksum: ffdd580827c5caa16340883c80d86e5979bd8acec8e4401714da72403b18023f057b182c57e7d66dc90521f8337d99c13aca90f0a08b07040bfdc32eb133af3f
languageName: node
linkType: hard
@@ -5291,56 +5409,58 @@ __metadata:
languageName: node
linkType: hard
-"@teambit/base-ui.text.paragraph@npm:0.6.4":
- version: 0.6.4
- resolution: "@teambit/base-ui.text.paragraph@npm:0.6.4::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fbase-ui.text.paragraph%2F-%2Fbase-ui.text.paragraph-0.6.4.tgz"
+"@teambit/base-ui.text.paragraph@npm:0.6.13":
+ version: 0.6.13
+ resolution: "@teambit/base-ui.text.paragraph@npm:0.6.13::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fbase-ui.text.paragraph%2F-%2Fbase-ui.text.paragraph-0.6.13.tgz"
dependencies:
- "@teambit/base-ui.theme.sizes": 0.6.3
+ "@teambit/base-ui.text.text-sizes": 0.0.4
+ "@teambit/base-ui.theme.sizes": 0.6.10
classnames: ^2.2.6
+ core-js: ^3.0.0
peerDependencies:
- react: ^16.13.1
- react-dom: ^16.13.1
- checksum: 0652fc50e68433d22db16ae31b0d1d6e72235940b83bbc1a0a3d75e44323725d78aeb4de6d82bac3bceaa05f36bd0fe8851f2936b511d8684d05b07f6cee0f19
+ react: ^16.8.0 || ^17.0.0
+ react-dom: ^16.8.0 || ^17.0.0
+ checksum: 5b65f8f0e6a035d3f58477d4c3a0a2db06805471ec965ad3c909d25351c5b0fce646a19b6b8af47db4ad75c5b36ae15f95a0f51335db1ca563307d4079a536b5
languageName: node
linkType: hard
-"@teambit/base-ui.text.paragraph@npm:0.6.8":
- version: 0.6.8
- resolution: "@teambit/base-ui.text.paragraph@npm:0.6.8::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fbase-ui.text.paragraph%2F-%2Fbase-ui.text.paragraph-0.6.8.tgz"
+"@teambit/base-ui.text.paragraph@npm:0.7.1":
+ version: 0.7.1
+ resolution: "@teambit/base-ui.text.paragraph@npm:0.7.1::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fbase-ui.text.paragraph%2F-%2Fbase-ui.text.paragraph-0.7.1.tgz"
dependencies:
- "@teambit/base-ui.text.text-sizes": 0.0.1
- "@teambit/base-ui.theme.sizes": 0.6.7
+ "@teambit/base-ui.text.text-sizes": 0.0.4
+ "@teambit/base-ui.theme.sizes": 0.6.10
classnames: ^2.2.6
- core-js: 3.8.3
+ core-js: ^3.0.0
peerDependencies:
- react: ^16.13.1
- react-dom: ^16.13.1
- checksum: 9680bdec7633d6da59877826d3a4db294938c8e9e95d9da047e252e7ebaa8491fc014cd518236e6a955638136564c8517c9abf7aa7de184e56dd87022cab3368
+ react: ^16.8.0 || ^17.0.0
+ react-dom: ^16.8.0 || ^17.0.0
+ checksum: 2a1bc72baed340226c00822c6dd6b4026d844a2586ab9bcf3e3e7710903e67df0dea9dc89a78418cc4f431179ea76da845a79bbf321f6ba3016d0417b3dda211
languageName: node
linkType: hard
-"@teambit/base-ui.text.text-sizes@npm:0.0.1":
- version: 0.0.1
- resolution: "@teambit/base-ui.text.text-sizes@npm:0.0.1::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fbase-ui.text.text-sizes%2F-%2Fbase-ui.text.text-sizes-0.0.1.tgz"
+"@teambit/base-ui.text.text-sizes@npm:0.0.4":
+ version: 0.0.4
+ resolution: "@teambit/base-ui.text.text-sizes@npm:0.0.4::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fbase-ui.text.text-sizes%2F-%2Fbase-ui.text.text-sizes-0.0.4.tgz"
dependencies:
- core-js: 3.8.3
+ core-js: ^3.0.0
peerDependencies:
- react: ^16.13.1
- react-dom: ^16.13.1
- checksum: bf90247fa770209dc08d8898916fd4fb926ac7e3c431fcb6cbf10f92e5377b0356b60cd7b61b3d3735d1f4441d997897278f7ca05976dfd54e05117711e142f8
+ react: ^16.8.0 || ^17.0.0
+ react-dom: ^16.8.0 || ^17.0.0
+ checksum: 705a87d39bfd95b241a4af524840e799563c2e8ec4982827f626c46cb86f7d58dc53c9761281d20b563599e5a00bb6067ba074ade44f161c40c91ccd6f026c74
languageName: node
linkType: hard
-"@teambit/base-ui.text.text@npm:0.0.12":
- version: 0.0.12
- resolution: "@teambit/base-ui.text.text@npm:0.0.12::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fbase-ui.text.text%2F-%2Fbase-ui.text.text-0.0.12.tgz"
+"@teambit/base-ui.text.text@npm:0.0.16":
+ version: 0.0.16
+ resolution: "@teambit/base-ui.text.text@npm:0.0.16::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fbase-ui.text.text%2F-%2Fbase-ui.text.text-0.0.16.tgz"
dependencies:
"@testing-library/react": 11.2.2
- core-js: 3.8.3
+ core-js: ^3.0.0
peerDependencies:
- react: 16.13.1
- react-dom: 16.13.1
- checksum: 5c7d8b4d19e8feb8ae04809517267e50ec4fb45ac183e963adfc071679f26679ccff84734ace513c63644de9edc9858290d5f1536fa4f9253b33831d72f72573
+ react: ^16.8.0 || ^17.0.0
+ react-dom: ^16.8.0 || ^17.0.0
+ checksum: ac33ad1cd1d790dfab093faa25cf84a74ae335fc7849737ffb5ff289aae6edc4473d27669ecb3ef2e0c58766aadbac264bfc6753c1a756876771ac13bb971acf
languageName: node
linkType: hard
@@ -5356,15 +5476,16 @@ __metadata:
languageName: node
linkType: hard
-"@teambit/base-ui.text.themed-text@npm:0.6.4":
- version: 0.6.4
- resolution: "@teambit/base-ui.text.themed-text@npm:0.6.4::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fbase-ui.text.themed-text%2F-%2Fbase-ui.text.themed-text-0.6.4.tgz"
+"@teambit/base-ui.text.themed-text@npm:0.7.1":
+ version: 0.7.1
+ resolution: "@teambit/base-ui.text.themed-text@npm:0.7.1::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fbase-ui.text.themed-text%2F-%2Fbase-ui.text.themed-text-0.7.1.tgz"
dependencies:
classnames: ^2.2.6
+ core-js: ^3.0.0
peerDependencies:
- react: ^16.13.1
- react-dom: ^16.13.1
- checksum: fc5ab60753fd04f542133e281a20045afeb97221092eff766a88a598b89b30474fca44c852697f12bfcabf68bbc9d086dfb86d2b4834f4f971713be5b36015a9
+ react: ^16.8.0 || ^17.0.0
+ react-dom: ^16.8.0 || ^17.0.0
+ checksum: 23b33920d2c3d0d8d968eb5454a5f3add0c3745aeeb755515acc340e726eab5783b38dcb452bcdc4de07a22de227ec23cce9b45f591ac869bf12d99c79f4165d
languageName: node
linkType: hard
@@ -5392,6 +5513,18 @@ __metadata:
languageName: node
linkType: hard
+"@teambit/base-ui.theme.brand-definition@npm:0.7.0":
+ version: 0.7.0
+ resolution: "@teambit/base-ui.theme.brand-definition@npm:0.7.0::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fbase-ui.theme.brand-definition%2F-%2Fbase-ui.theme.brand-definition-0.7.0.tgz"
+ dependencies:
+ core-js: ^3.0.0
+ peerDependencies:
+ react: ^16.8.0 || ^17.0.0
+ react-dom: ^16.8.0 || ^17.0.0
+ checksum: 11d58381089f8aef6bd5e52c9a7acde6bdcbb5fbcd6f8ae002bc2235ef2b9caa5501a1538c41c5be74fd0568c450ae0f3b8296556d0114955229ed3096266e52
+ languageName: node
+ linkType: hard
+
"@teambit/base-ui.theme.color-definition@npm:0.5.9":
version: 0.5.9
resolution: "@teambit/base-ui.theme.color-definition@npm:0.5.9::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fbase-ui.theme.color-definition%2F-%2Fbase-ui.theme.color-definition-0.5.9.tgz"
@@ -5416,6 +5549,19 @@ __metadata:
languageName: node
linkType: hard
+"@teambit/base-ui.theme.color-definition@npm:0.7.0":
+ version: 0.7.0
+ resolution: "@teambit/base-ui.theme.color-definition@npm:0.7.0::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fbase-ui.theme.color-definition%2F-%2Fbase-ui.theme.color-definition-0.7.0.tgz"
+ dependencies:
+ "@teambit/base-ui.theme.colors": 0.7.0
+ core-js: ^3.0.0
+ peerDependencies:
+ react: ^16.8.0 || ^17.0.0
+ react-dom: ^16.8.0 || ^17.0.0
+ checksum: 78d2765c5ffbae00391fa153e464f90009bd961de26b45369d1bd2e12c3a831db33bd06c599cb8683f6a4471a337483671020b688dc5ce0c65ab1b0e16e1324e
+ languageName: node
+ linkType: hard
+
"@teambit/base-ui.theme.color-palette@npm:0.5.9":
version: 0.5.9
resolution: "@teambit/base-ui.theme.color-palette@npm:0.5.9::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fbase-ui.theme.color-palette%2F-%2Fbase-ui.theme.color-palette-0.5.9.tgz"
@@ -5428,15 +5574,16 @@ __metadata:
languageName: node
linkType: hard
-"@teambit/base-ui.theme.color-palette@npm:0.6.7":
- version: 0.6.7
- resolution: "@teambit/base-ui.theme.color-palette@npm:0.6.7::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fbase-ui.theme.color-palette%2F-%2Fbase-ui.theme.color-palette-0.6.7.tgz"
+"@teambit/base-ui.theme.color-palette@npm:0.6.12":
+ version: 0.6.12
+ resolution: "@teambit/base-ui.theme.color-palette@npm:0.6.12::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fbase-ui.theme.color-palette%2F-%2Fbase-ui.theme.color-palette-0.6.12.tgz"
dependencies:
- "@teambit/base-ui.theme.colors": 0.6.7
+ "@teambit/base-ui.theme.colors": 0.7.0
+ core-js: ^3.0.0
peerDependencies:
- react: ^16.13.1
- react-dom: ^16.13.1
- checksum: c524823e00e62c105ac2262e96e7c80fff0c11b029b7a297e59c9f708a206e6ef7a2d73fa1bfa9c6daeeccf99ad877a85251f0f8546c8ab4d6a716feb9b381fb
+ react: ^16.8.0 || ^17.0.0
+ react-dom: ^16.8.0 || ^17.0.0
+ checksum: fc0fa6b3d4e3918a0c00a15035954737fae3c54aac8c4b3f08db48a8139c3b2a52934659ce5c82af4687be4544978f20b3a2749389873fc6bf19a53be645eb8d
languageName: node
linkType: hard
@@ -5450,16 +5597,6 @@ __metadata:
languageName: node
linkType: hard
-"@teambit/base-ui.theme.colors@npm:0.6.3":
- version: 0.6.3
- resolution: "@teambit/base-ui.theme.colors@npm:0.6.3::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fbase-ui.theme.colors%2F-%2Fbase-ui.theme.colors-0.6.3.tgz"
- peerDependencies:
- react: ^16.13.1
- react-dom: ^16.13.1
- checksum: 430d04700f0be215b1e4179996d3bb764dbe038398f4f952f896cad9e07da8f8ebc79f3299004d81ba6d1fa2087dae43fb780cc4335817ba8bff49ab98159ddb
- languageName: node
- linkType: hard
-
"@teambit/base-ui.theme.colors@npm:0.6.7":
version: 0.6.7
resolution: "@teambit/base-ui.theme.colors@npm:0.6.7::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fbase-ui.theme.colors%2F-%2Fbase-ui.theme.colors-0.6.7.tgz"
@@ -5470,15 +5607,28 @@ __metadata:
languageName: node
linkType: hard
-"@teambit/base-ui.theme.dark-theme@npm:0.6.3":
- version: 0.6.3
- resolution: "@teambit/base-ui.theme.dark-theme@npm:0.6.3::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fbase-ui.theme.dark-theme%2F-%2Fbase-ui.theme.dark-theme-0.6.3.tgz"
+"@teambit/base-ui.theme.colors@npm:0.7.0":
+ version: 0.7.0
+ resolution: "@teambit/base-ui.theme.colors@npm:0.7.0::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fbase-ui.theme.colors%2F-%2Fbase-ui.theme.colors-0.7.0.tgz"
dependencies:
- "@teambit/base-ui.theme.colors": 0.6.3
+ core-js: ^3.0.0
peerDependencies:
- react: ^16.13.1
- react-dom: ^16.13.1
- checksum: 24cb1fceefb5d9646cd90bd2d42ac39726ecc85dfa933bc4c89736a3504e27e91c38305b5fff1400fe77b32913e2e54042941f9e37aefee0fc88ddb34f12a9c0
+ react: ^16.8.0 || ^17.0.0
+ react-dom: ^16.8.0 || ^17.0.0
+ checksum: dbb381ede074a4c320194f04b43a3578197c509c4a4990ba798492c7c9c6f60dcc396da95e15458cef6046a51b44c2ed1ddef7f3163ee9f1457af46d9c2267d4
+ languageName: node
+ linkType: hard
+
+"@teambit/base-ui.theme.dark-theme@npm:0.7.0":
+ version: 0.7.0
+ resolution: "@teambit/base-ui.theme.dark-theme@npm:0.7.0::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fbase-ui.theme.dark-theme%2F-%2Fbase-ui.theme.dark-theme-0.7.0.tgz"
+ dependencies:
+ "@teambit/base-ui.theme.colors": 0.7.0
+ core-js: ^3.0.0
+ peerDependencies:
+ react: ^16.8.0 || ^17.0.0
+ react-dom: ^16.8.0 || ^17.0.0
+ checksum: 81fdc82aa7cf0c3b712459ae718cc74645d2703357f704c9a84012b7e01bf89c2641b3fa1c9dc77c524c82f949fcfcac6f09bd98cd206f1896f437bd1b50cf9f
languageName: node
linkType: hard
@@ -5492,6 +5642,18 @@ __metadata:
languageName: node
linkType: hard
+"@teambit/base-ui.theme.fonts.book@npm:0.6.10":
+ version: 0.6.10
+ resolution: "@teambit/base-ui.theme.fonts.book@npm:0.6.10::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fbase-ui.theme.fonts.book%2F-%2Fbase-ui.theme.fonts.book-0.6.10.tgz"
+ dependencies:
+ core-js: ^3.0.0
+ peerDependencies:
+ react: ^16.8.0 || ^17.0.0
+ react-dom: ^16.8.0 || ^17.0.0
+ checksum: e7e00d85591e69026b85e59c23fd72af45f8e44ead11ad1743aeeda9cca76f53b24ce31eba8f776611f2f89a806cee4e5a1c661a669c047464b62d361ff1e39e
+ languageName: node
+ linkType: hard
+
"@teambit/base-ui.theme.fonts.book@npm:0.6.7":
version: 0.6.7
resolution: "@teambit/base-ui.theme.fonts.book@npm:0.6.7::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fbase-ui.theme.fonts.book%2F-%2Fbase-ui.theme.fonts.book-0.6.7.tgz"
@@ -5502,6 +5664,18 @@ __metadata:
languageName: node
linkType: hard
+"@teambit/base-ui.theme.fonts.roboto@npm:0.6.10":
+ version: 0.6.10
+ resolution: "@teambit/base-ui.theme.fonts.roboto@npm:0.6.10::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fbase-ui.theme.fonts.roboto%2F-%2Fbase-ui.theme.fonts.roboto-0.6.10.tgz"
+ dependencies:
+ core-js: ^3.0.0
+ peerDependencies:
+ react: ^16.8.0 || ^17.0.0
+ react-dom: ^16.8.0 || ^17.0.0
+ checksum: d233f2f2e27dae3de53ca81182ccda0fa0c934da47584d2e08bf752088d72944b928136b1af970f4b0ff1b05a62fa1958af090820ab84d994e8a98a28a5fdc31
+ languageName: node
+ linkType: hard
+
"@teambit/base-ui.theme.fonts.roboto@npm:0.6.2":
version: 0.6.2
resolution: "@teambit/base-ui.theme.fonts.roboto@npm:0.6.2::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fbase-ui.theme.fonts.roboto%2F-%2Fbase-ui.theme.fonts.roboto-0.6.2.tgz"
@@ -5542,6 +5716,18 @@ __metadata:
languageName: node
linkType: hard
+"@teambit/base-ui.theme.heading-margin-definition@npm:0.7.0":
+ version: 0.7.0
+ resolution: "@teambit/base-ui.theme.heading-margin-definition@npm:0.7.0::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fbase-ui.theme.heading-margin-definition%2F-%2Fbase-ui.theme.heading-margin-definition-0.7.0.tgz"
+ dependencies:
+ core-js: ^3.0.0
+ peerDependencies:
+ react: ^16.8.0 || ^17.0.0
+ react-dom: ^16.8.0 || ^17.0.0
+ checksum: abbf631d65fc82fde9635fe3359d3a50c77882548391ee048e38800f417bd40c4d0454475150eda5fbabb085b20b9de8518a996c07dd1f5481c277f9944f44f2
+ languageName: node
+ linkType: hard
+
"@teambit/base-ui.theme.shadow-definition@npm:0.5.9":
version: 0.5.9
resolution: "@teambit/base-ui.theme.shadow-definition@npm:0.5.9::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fbase-ui.theme.shadow-definition%2F-%2Fbase-ui.theme.shadow-definition-0.5.9.tgz"
@@ -5562,6 +5748,18 @@ __metadata:
languageName: node
linkType: hard
+"@teambit/base-ui.theme.shadow-definition@npm:0.7.0":
+ version: 0.7.0
+ resolution: "@teambit/base-ui.theme.shadow-definition@npm:0.7.0::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fbase-ui.theme.shadow-definition%2F-%2Fbase-ui.theme.shadow-definition-0.7.0.tgz"
+ dependencies:
+ core-js: ^3.0.0
+ peerDependencies:
+ react: ^16.8.0 || ^17.0.0
+ react-dom: ^16.8.0 || ^17.0.0
+ checksum: a850f8246e3acb8084c3ff6942bf1295138b0d3e1fac2bd783a8db9aab3bece7e25b8051bfb292d13aa09c7f45fb38fb4abd1e957c73a83289c92af511150e5e
+ languageName: node
+ linkType: hard
+
"@teambit/base-ui.theme.size-definition@npm:0.5.9":
version: 0.5.9
resolution: "@teambit/base-ui.theme.size-definition@npm:0.5.9::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fbase-ui.theme.size-definition%2F-%2Fbase-ui.theme.size-definition-0.5.9.tgz"
@@ -5582,33 +5780,37 @@ __metadata:
languageName: node
linkType: hard
-"@teambit/base-ui.theme.sizes@npm:0.5.9":
- version: 0.5.9
- resolution: "@teambit/base-ui.theme.sizes@npm:0.5.9::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fbase-ui.theme.sizes%2F-%2Fbase-ui.theme.sizes-0.5.9.tgz"
+"@teambit/base-ui.theme.size-definition@npm:0.7.0":
+ version: 0.7.0
+ resolution: "@teambit/base-ui.theme.size-definition@npm:0.7.0::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fbase-ui.theme.size-definition%2F-%2Fbase-ui.theme.size-definition-0.7.0.tgz"
+ dependencies:
+ core-js: ^3.0.0
peerDependencies:
- react: ^16.13.1
- react-dom: ^16.13.1
- checksum: aaaa918d37a15e407d0f2fa0b64ce94b8ab2368185c2add378a3e9a808c838c804fe8a0f78d2e4e8376eda48278cd55d140fc525a59b573564019556b1fcf4da
+ react: ^16.8.0 || ^17.0.0
+ react-dom: ^16.8.0 || ^17.0.0
+ checksum: 71b2ca8dfa76e2ecab824782fa8317604f5d5a74a89a8a071b9a8c0b7a88a608ce457bfbbccf016b0e8231e1c68f4023dada846f538fd3f37be2291d9c0a6f25
languageName: node
linkType: hard
-"@teambit/base-ui.theme.sizes@npm:0.6.3":
- version: 0.6.3
- resolution: "@teambit/base-ui.theme.sizes@npm:0.6.3::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fbase-ui.theme.sizes%2F-%2Fbase-ui.theme.sizes-0.6.3.tgz"
+"@teambit/base-ui.theme.sizes@npm:0.5.9":
+ version: 0.5.9
+ resolution: "@teambit/base-ui.theme.sizes@npm:0.5.9::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fbase-ui.theme.sizes%2F-%2Fbase-ui.theme.sizes-0.5.9.tgz"
peerDependencies:
react: ^16.13.1
react-dom: ^16.13.1
- checksum: 2346d367be35a76fe9bedfb577f473c315f1c789864ca742b0c0a95e29e58efaee2019e4f4471f6d2d9cba66cd7966dbdca34de4511490c1904dd4733a2d5a70
+ checksum: aaaa918d37a15e407d0f2fa0b64ce94b8ab2368185c2add378a3e9a808c838c804fe8a0f78d2e4e8376eda48278cd55d140fc525a59b573564019556b1fcf4da
languageName: node
linkType: hard
-"@teambit/base-ui.theme.sizes@npm:0.6.7":
- version: 0.6.7
- resolution: "@teambit/base-ui.theme.sizes@npm:0.6.7::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fbase-ui.theme.sizes%2F-%2Fbase-ui.theme.sizes-0.6.7.tgz"
+"@teambit/base-ui.theme.sizes@npm:0.6.10":
+ version: 0.6.10
+ resolution: "@teambit/base-ui.theme.sizes@npm:0.6.10::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fbase-ui.theme.sizes%2F-%2Fbase-ui.theme.sizes-0.6.10.tgz"
+ dependencies:
+ core-js: ^3.0.0
peerDependencies:
- react: ^16.13.1
- react-dom: ^16.13.1
- checksum: e4c4b5fa4ca86920ec08eae07a6d5bbac30ae335ed92bdddc994f2ae46e8e2d9472281a0b321e66e160705ab7630637d96e9947081b9ee88a0e945f970c0a026
+ react: ^16.8.0 || ^17.0.0
+ react-dom: ^16.8.0 || ^17.0.0
+ checksum: 614ea7cec351a113a2ed5389190d1ece7de99d76703eed97033886e0be0c0cad39e7fdf3a247b3002c428af7d41d96e2e0b74846bc9c428e4f38f5eb8bf568a3
languageName: node
linkType: hard
@@ -5630,6 +5832,25 @@ __metadata:
languageName: node
linkType: hard
+"@teambit/base-ui.theme.theme-provider@npm:0.6.13":
+ version: 0.6.13
+ resolution: "@teambit/base-ui.theme.theme-provider@npm:0.6.13::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fbase-ui.theme.theme-provider%2F-%2Fbase-ui.theme.theme-provider-0.6.13.tgz"
+ dependencies:
+ "@teambit/base-ui.theme.brand-definition": 0.7.0
+ "@teambit/base-ui.theme.color-definition": 0.7.0
+ "@teambit/base-ui.theme.fonts.book": 0.6.10
+ "@teambit/base-ui.theme.heading-margin-definition": 0.7.0
+ "@teambit/base-ui.theme.shadow-definition": 0.7.0
+ "@teambit/base-ui.theme.size-definition": 0.7.0
+ classnames: ^2.2.6
+ core-js: ^3.0.0
+ peerDependencies:
+ react: ^16.8.0 || ^17.0.0
+ react-dom: ^16.8.0 || ^17.0.0
+ checksum: 82f92961c4d0d4ba941e416933296a4031419cebb0229de7ae051aa12e98572d1d46f82d20a41fc266a123b2f4165c1d5a773f9dd738ba10635756e270b172dd
+ languageName: node
+ linkType: hard
+
"@teambit/base-ui.theme.theme-provider@npm:0.6.7":
version: 0.6.7
resolution: "@teambit/base-ui.theme.theme-provider@npm:0.6.7::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fbase-ui.theme.theme-provider%2F-%2Fbase-ui.theme.theme-provider-0.6.7.tgz"
@@ -5648,73 +5869,91 @@ __metadata:
languageName: node
linkType: hard
-"@teambit/base-ui.utils.popper-js.ignore-popper-size@npm:0.6.8":
- version: 0.6.8
- resolution: "@teambit/base-ui.utils.popper-js.ignore-popper-size@npm:0.6.8::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fbase-ui.utils.popper-js.ignore-popper-size%2F-%2Fbase-ui.utils.popper-js.ignore-popper-size-0.6.8.tgz"
+"@teambit/base-ui.utils.composer@npm:0.0.5":
+ version: 0.0.5
+ resolution: "@teambit/base-ui.utils.composer@npm:0.0.5::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fbase-ui.utils.composer%2F-%2Fbase-ui.utils.composer-0.0.5.tgz"
+ dependencies:
+ core-js: ^3.0.0
peerDependencies:
- "@popperjs/core": ^2.0.0
- core-js: ^3.6.5
- react: ^16.13.1
- react-dom: ^16.13.1
- checksum: 2fa7ee95b7fdbe7c446efb5d711fc71fe92fd4b3decbffc5c53d41f1669fe5c4aae2ef5609952cff9a98c46e0cd69fa1411c167b44a8080cdd1b9bdceb4a53e1
+ react: ^16.8.0 || ^17.0.0
+ react-dom: ^16.8.0 || ^17.0.0
+ checksum: 708fd6ff73ad6c9c14492cc095c3ce3791ad4c5c7e2d3ff0021e07203c3b5fe6416993c7cd200abc0fb6b927ab5da91470aac370a5902a9e1a97e266a67e8294
+ languageName: node
+ linkType: hard
+
+"@teambit/base-ui.utils.is-browser@npm:0.0.1":
+ version: 0.0.1
+ resolution: "@teambit/base-ui.utils.is-browser@npm:0.0.1::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fbase-ui.utils.is-browser%2F-%2Fbase-ui.utils.is-browser-0.0.1.tgz"
+ dependencies:
+ core-js: ^3.0.0
+ peerDependencies:
+ react: ^16.8.0 || ^17.0.0
+ react-dom: ^16.8.0 || ^17.0.0
+ checksum: 76cb14626bad1051e1592ad0f0807302ad1cd4ac89760a8accdec6a2cdc7031d1510c4e7f045fe5a69a46a412c8b40436f0e6cca098fc4495be45fc010bfbaee
languageName: node
linkType: hard
-"@teambit/base-ui.utils.popper-js.resize-to-match-reference@npm:0.6.8":
- version: 0.6.8
- resolution: "@teambit/base-ui.utils.popper-js.resize-to-match-reference@npm:0.6.8::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fbase-ui.utils.popper-js.resize-to-match-reference%2F-%2Fbase-ui.utils.popper-js.resize-to-match-reference-0.6.8.tgz"
+"@teambit/base-ui.utils.popper-js.ignore-popper-size@npm:0.6.11":
+ version: 0.6.11
+ resolution: "@teambit/base-ui.utils.popper-js.ignore-popper-size@npm:0.6.11::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fbase-ui.utils.popper-js.ignore-popper-size%2F-%2Fbase-ui.utils.popper-js.ignore-popper-size-0.6.11.tgz"
+ dependencies:
+ core-js: ^3.0.0
peerDependencies:
"@popperjs/core": ^2.0.0
- core-js: ^3.6.5
- react: ^16.13.1
- react-dom: ^16.13.1
- checksum: a27151fd7f529205454bcc06340cfa636a2e4c33b0f24978ed0a904455e6dbf5df5bcd9d93bfe57f4b5e92637f3bb851689ffb992ba3f5c2aa1243a09031bcdc
+ react: ^16.8.0 || ^17.0.0
+ react-dom: ^16.8.0 || ^17.0.0
+ checksum: 7b0a6820dd496497b0145b8e8d0c7f95437ab7793bd0a396ad47146cd34387cfaff6aba5d34a2b0c2f0fdfe4b9188e9e957c059da76740d375340404b5009c99
languageName: node
linkType: hard
-"@teambit/base-ui.utils.string.affix@npm:0.0.2":
- version: 0.0.2
- resolution: "@teambit/base-ui.utils.string.affix@npm:0.0.2::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fbase-ui.utils.string.affix%2F-%2Fbase-ui.utils.string.affix-0.0.2.tgz"
+"@teambit/base-ui.utils.popper-js.resize-to-match-reference@npm:0.6.11":
+ version: 0.6.11
+ resolution: "@teambit/base-ui.utils.popper-js.resize-to-match-reference@npm:0.6.11::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fbase-ui.utils.popper-js.resize-to-match-reference%2F-%2Fbase-ui.utils.popper-js.resize-to-match-reference-0.6.11.tgz"
+ dependencies:
+ core-js: ^3.0.0
peerDependencies:
- react: ^16.13.1
- react-dom: ^16.13.1
- checksum: 81dc7abc7ca6b1b6fe2d31d0a6b5881d455c793242ceaa456ccbd770a46477c06dff13388b978c5dffb6dba1680786032a0950e71348993c9051796b16cd7bc5
+ "@popperjs/core": ^2.0.0
+ react: ^16.8.0 || ^17.0.0
+ react-dom: ^16.8.0 || ^17.0.0
+ checksum: 27fd575765a3908bbdc641120f801ccb9fcb3bed1e1ec5becfc4cfa86f0d8ca6070227c97479c420ffda18f2506c0c7912b8d1ff1c151e2615d0e80234060135
languageName: node
linkType: hard
-"@teambit/base-ui.utils.sub-paths@npm:0.6.0":
- version: 0.6.0
- resolution: "@teambit/base-ui.utils.sub-paths@npm:0.6.0::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fbase-ui.utils.sub-paths%2F-%2Fbase-ui.utils.sub-paths-0.6.0.tgz"
+"@teambit/base-ui.utils.string.affix@npm:0.6.10":
+ version: 0.6.10
+ resolution: "@teambit/base-ui.utils.string.affix@npm:0.6.10::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fbase-ui.utils.string.affix%2F-%2Fbase-ui.utils.string.affix-0.6.10.tgz"
dependencies:
- path-browserify: ^1.0.1
+ core-js: ^3.0.0
peerDependencies:
- react: ^16.13.1
- react-dom: ^16.13.1
- checksum: 817730408bf02397830a53ade1b83570bb0ae9fbb2147a123af236b3149ac4ccde7a438bb04f79e3a554600a09780d48384b577af23534087146138af7921c65
+ react: ^16.8.0 || ^17.0.0
+ react-dom: ^16.8.0 || ^17.0.0
+ checksum: 5b2b431df1eab8ec9d6368ec011a583ec264e6947342dde3f5a82f4a89a4d07d4cad726eb1688187282c96dc35d7b8ee713016b707ec7a4a9598edb6af6bf93c
languageName: node
linkType: hard
-"@teambit/base-ui.utils.sub-paths@npm:0.6.3":
- version: 0.6.3
- resolution: "@teambit/base-ui.utils.sub-paths@npm:0.6.3::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fbase-ui.utils.sub-paths%2F-%2Fbase-ui.utils.sub-paths-0.6.3.tgz"
+"@teambit/base-ui.utils.sub-paths@npm:0.6.10":
+ version: 0.6.10
+ resolution: "@teambit/base-ui.utils.sub-paths@npm:0.6.10::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fbase-ui.utils.sub-paths%2F-%2Fbase-ui.utils.sub-paths-0.6.10.tgz"
dependencies:
+ core-js: ^3.0.0
path-browserify: ^1.0.1
peerDependencies:
- react: ^16.13.1
- react-dom: ^16.13.1
- checksum: 67e99beb2db937c0100001e3f0ee3f52dfcc48f4e4a892208f97f0587928ae6a01fb771ec6e6e4f56f201ffce8ef6c6adba71561e4a49c52877dab6fba8cd4c5
+ react: ^16.8.0 || ^17.0.0
+ react-dom: ^16.8.0 || ^17.0.0
+ checksum: 603cd6e6bf59ad1a14a759c8ef00f02d0d8d3eacbbd76a173397fe729176fa973ac0262f7f33d9d7a2f3b26d03161cda4a2c29a18a895019535ed03e1ff02441
languageName: node
linkType: hard
-"@teambit/base-ui.utils.time-ago@npm:0.5.9":
- version: 0.5.9
- resolution: "@teambit/base-ui.utils.time-ago@npm:0.5.9::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fbase-ui.utils.time-ago%2F-%2Fbase-ui.utils.time-ago-0.5.9.tgz"
+"@teambit/base-ui.utils.time-ago@npm:0.6.10":
+ version: 0.6.10
+ resolution: "@teambit/base-ui.utils.time-ago@npm:0.6.10::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fbase-ui.utils.time-ago%2F-%2Fbase-ui.utils.time-ago-0.6.10.tgz"
dependencies:
+ core-js: ^3.0.0
javascript-time-ago: ^2.0.13
peerDependencies:
- react: ^16.13.1
- react-dom: ^16.13.1
- checksum: a1068106820256c417f695bf6ecb727356ea141d4751f22f98dcadb6e8ff9aefe8e1720124f0b90dcd2f0644bf8df23c701fcbc14bd2d38bc54beb374c85063b
+ react: ^16.8.0 || ^17.0.0
+ react-dom: ^16.8.0 || ^17.0.0
+ checksum: fee5700847e43b13a3556c2dc3456a23e9bce9d8af24a1335b9a5d22c39bbd6cd495946621bd5b5e1ba0ad53174fce2779362fa3ae1f9c72b7bc2d400a9f05c1
languageName: node
linkType: hard
@@ -5729,44 +5968,79 @@ __metadata:
languageName: node
linkType: hard
-"@teambit/documenter.code.react-playground@npm:1.0.4":
- version: 1.0.4
- resolution: "@teambit/documenter.code.react-playground@npm:1.0.4::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fdocumenter.code.react-playground%2F-%2Fdocumenter.code.react-playground-1.0.4.tgz"
+"@teambit/component.instructions.exporting-components@npm:0.0.5":
+ version: 0.0.5
+ resolution: "@teambit/component.instructions.exporting-components@npm:0.0.5::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fcomponent.instructions.exporting-components%2F-%2Fcomponent.instructions.exporting-components-0.0.5.tgz"
dependencies:
- "@teambit/base-ui.input.error": 0.6.0
- "@teambit/base-ui.surfaces.split-pane.hover-splitter": 0.6.0
- "@teambit/base-ui.surfaces.split-pane.split-pane": 0.6.0
- classnames: 2.2.6
- prism-react-renderer: 1.1.1
- react-live: 2.2.3
- react-use-dimensions: 1.2.1
- use-debounce: 3.4.3
+ "@teambit/ui.mdx-scope-context": 0.0.367
+ core-js: ^3.0.0
peerDependencies:
+ react: ^16.8.0 || ^17.0.0
+ react-dom: ^16.8.0 || ^17.0.0
+ checksum: 6d95aa3eca0020fe03bbfe66ff04af13a8d720c97427c347eb2e2f8044ebeb73e1fc727626cbbea999968647619e834146a2a52151497a02752cdfaca99a846a
+ languageName: node
+ linkType: hard
+
+"@teambit/design.ui.icon-button@npm:0.0.17":
+ version: 0.0.17
+ resolution: "@teambit/design.ui.icon-button@npm:0.0.17::__archiveUrl=https%3A%2F%2Fnode.bit.dev%2F%40teambit%2Fdesign.ui.icon-button%2F-%2F%40teambit-design.ui.icon-button-0.0.17.tgz"
+ dependencies:
+ "@teambit/base-ui.elements.icon": 0.6.2
+ "@teambit/base-ui.input.button": 0.7.1
+ "@testing-library/react": 11.2.2
+ classnames: ^2.2.6
+ core-js: ^3.0.0
react: ^16.13.1
react-dom: ^16.13.1
- checksum: f1686dbc13f8de9b29c916da05feaf71323f3ce1baca950c606bddac2b31205f75b64dd42613222d728956831b02aaa2fd0b2c6be0083b9ff98048a8790599aa
+ peerDependencies:
+ react: ^16.8.0 || ^17.0.0
+ react-dom: ^16.8.0 || ^17.0.0
+ checksum: 126b5e4fb3332b742fb5e174350988eb8e4a3593c6cd7d36d798842898d4a19b4c50c593e7c325bce37e6e1c072eba3dc4a543430618008ff7e0956c1050bd13
languageName: node
linkType: hard
-"@teambit/documenter.content.documentation-links@npm:3.0.13":
- version: 3.0.13
- resolution: "@teambit/documenter.content.documentation-links@npm:3.0.13::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fdocumenter.content.documentation-links%2F-%2Fdocumenter.content.documentation-links-3.0.13.tgz"
+"@teambit/documenter.code.react-playground@npm:3.0.11":
+ version: 3.0.11
+ resolution: "@teambit/documenter.code.react-playground@npm:3.0.11::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fdocumenter.code.react-playground%2F-%2Fdocumenter.code.react-playground-3.0.11.tgz"
dependencies:
- core-js: 3.8.3
+ "@teambit/base-ui.input.error": 0.6.12
+ "@teambit/base-ui.surfaces.split-pane.hover-splitter": 0.6.7
+ "@teambit/base-ui.surfaces.split-pane.split-pane": 0.6.11
+ classnames: ^2.2.6
+ core-js: ^3.0.0
+ prism-react-renderer: ^1.1.1
+ react-live: ^2.2.2
+ react-use-dimensions: ^1.2.1
+ use-debounce: ^3.4.3
peerDependencies:
- react: 16.13.1
- react-dom: 16.13.1
- checksum: e0aa7a350574e6cd17a0f26883e9ed849d3848e915291271e257ff4fa2846bceb02276097bea8717c552f60ff44e57774df41c99e8419313793eacb76b69c0b8
+ react: ^16.8.0 || ^17.0.0
+ react-dom: ^16.8.0 || ^17.0.0
+ checksum: 85926ff8d4309e7b97813a55de33994df947d45f38a203b6fb38d43594eeef3d0f74b77a84cf54f552540dd985863b950917923f499d939a58f8a3302574b11d
languageName: node
linkType: hard
-"@teambit/documenter.routing.external-link@npm:1.0.3":
- version: 1.0.3
- resolution: "@teambit/documenter.routing.external-link@npm:1.0.3::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fdocumenter.routing.external-link%2F-%2Fdocumenter.routing.external-link-1.0.3.tgz"
+"@teambit/documenter.content.documentation-links@npm:3.0.18":
+ version: 3.0.18
+ resolution: "@teambit/documenter.content.documentation-links@npm:3.0.18::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fdocumenter.content.documentation-links%2F-%2Fdocumenter.content.documentation-links-3.0.18.tgz"
+ dependencies:
+ core-js: ^3.0.0
peerDependencies:
- react: ^16.13.1
- react-dom: ^16.13.1
- checksum: e08ba1afb9dbfd24c72070157cad2ad40449ac83a14e2974ca31fb1db7843719ab28f821000a9d994d1d4211609c96f9062f80ffe400f12b40f9bd7d514bd32b
+ react: ^16.8.0 || ^17.0.0
+ react-dom: ^16.8.0 || ^17.0.0
+ checksum: 9e1d8b99228829c0b43e72cc6bd0aaccf99847caf71c67f9a581be018f8eab62cd6afe85c7803d29140825e58ab798d0f26744a59e4f6b5b3172d112542fce53
+ languageName: node
+ linkType: hard
+
+"@teambit/documenter.routing.external-link@npm:3.0.12":
+ version: 3.0.12
+ resolution: "@teambit/documenter.routing.external-link@npm:3.0.12::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fdocumenter.routing.external-link%2F-%2Fdocumenter.routing.external-link-3.0.12.tgz"
+ dependencies:
+ classnames: ^2.2.6
+ core-js: ^3.0.0
+ peerDependencies:
+ react: ^16.8.0 || ^17.0.0
+ react-dom: ^16.8.0 || ^17.0.0
+ checksum: 815bc3db65efa7136cf90a79b8470945bd4809899387e55dc60f5b30e8c7e9efe7ad07101f2932e6e6cbe6e091042b78e25536231bfecfaab19899e3dcf31e8e
languageName: node
linkType: hard
@@ -5796,18 +6070,17 @@ __metadata:
languageName: node
linkType: hard
-"@teambit/documenter.theme.theme-context@npm:2.0.2":
- version: 2.0.2
- resolution: "@teambit/documenter.theme.theme-context@npm:2.0.2::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fdocumenter.theme.theme-context%2F-%2Fdocumenter.theme.theme-context-2.0.2.tgz"
+"@teambit/documenter.theme.theme-compositions@npm:3.0.9":
+ version: 3.0.9
+ resolution: "@teambit/documenter.theme.theme-compositions@npm:3.0.9::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fdocumenter.theme.theme-compositions%2F-%2Fdocumenter.theme.theme-compositions-3.0.9.tgz"
dependencies:
- "@teambit/base-ui.theme.fonts.roboto": 0.6.2
- "@teambit/base-ui.theme.theme-provider": 0.5.9
- classnames: ^2.2.6
- reset-css: ^5.0.1
+ "@teambit/documenter.theme.theme-context": 3.0.9
+ "@teambit/evangelist.theme.icon-font": 0.5.20
+ core-js: 3.8.3
peerDependencies:
- react: ^16.13.1
- react-dom: ^16.13.1
- checksum: a0ce70fa856026e6fe287c37db28a3ca6c590c1af9fd32f934e37ad000856dada232f155d78e0cc12892c85ee49a91e59afbddda0b868d82ae833bb931da84d2
+ react: 16.13.1
+ react-dom: 16.13.1
+ checksum: ccf2be00d1b93dbf3d75eb1747658e857515bc71dfa17e7c5d25168b508bedbc3430e1a6080b6f266a7929f73e82e454ab2044d69e9e9b6fb5c281c31ff22f5d
languageName: node
linkType: hard
@@ -5826,6 +6099,21 @@ __metadata:
languageName: node
linkType: hard
+"@teambit/documenter.theme.theme-context@npm:3.0.14":
+ version: 3.0.14
+ resolution: "@teambit/documenter.theme.theme-context@npm:3.0.14::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fdocumenter.theme.theme-context%2F-%2Fdocumenter.theme.theme-context-3.0.14.tgz"
+ dependencies:
+ "@teambit/base-ui.theme.fonts.roboto": 0.6.10
+ "@teambit/base-ui.theme.theme-provider": 0.6.13
+ classnames: ^2.2.6
+ core-js: ^3.0.0
+ peerDependencies:
+ react: ^16.8.0 || ^17.0.0
+ react-dom: ^16.8.0 || ^17.0.0
+ checksum: a09b5b89023a4f0f579f47b9d7cf9d43e7d08fe5e1f372b71c6242fe3762992f22c66a69698f80c5139f26a905d62e97c7934241d48a72023cca07a5051f1ea9
+ languageName: node
+ linkType: hard
+
"@teambit/documenter.theme.theme-context@npm:3.0.8":
version: 3.0.8
resolution: "@teambit/documenter.theme.theme-context@npm:3.0.8::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fdocumenter.theme.theme-context%2F-%2Fdocumenter.theme.theme-context-3.0.8.tgz"
@@ -5841,309 +6129,274 @@ __metadata:
languageName: node
linkType: hard
-"@teambit/documenter.types.docs-file@npm:1.0.3":
- version: 1.0.3
- resolution: "@teambit/documenter.types.docs-file@npm:1.0.3::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fdocumenter.types.docs-file%2F-%2Fdocumenter.types.docs-file-1.0.3.tgz"
- peerDependencies:
- react: ^16.13.1
- react-dom: ^16.13.1
- checksum: 81e2e1fd3257d66691218ad10c69695b9391be87ea490d14229c81382a68979f454cb0a09d06162c23cce687717e49076f35bab3851c65742a737359c0a356ba
- languageName: node
- linkType: hard
-
-"@teambit/documenter.ui.anchor@npm:2.0.4":
- version: 2.0.4
- resolution: "@teambit/documenter.ui.anchor@npm:2.0.4::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fdocumenter.ui.anchor%2F-%2Fdocumenter.ui.anchor-2.0.4.tgz"
- dependencies:
- "@teambit/evangelist.elements.icon": 0.5.8
- classnames: ^2.2.6
- peerDependencies:
- react: ^16.13.1
- react-dom: ^16.13.1
- checksum: 589753694ecd759a0c12dc5129c00127bece77dcdb4227c12840fdfc4eeca43c786ea89d4f61236e0e7c2860b06e4f65fe3198c2591bc181c7381e65ee24e3a5
- languageName: node
- linkType: hard
-
-"@teambit/documenter.ui.block-quote@npm:0.0.1":
- version: 0.0.1
- resolution: "@teambit/documenter.ui.block-quote@npm:0.0.1::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fdocumenter.ui.block-quote%2F-%2Fdocumenter.ui.block-quote-0.0.1.tgz"
+"@teambit/documenter.theme.theme-context@npm:3.0.9":
+ version: 3.0.9
+ resolution: "@teambit/documenter.theme.theme-context@npm:3.0.9::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fdocumenter.theme.theme-context%2F-%2Fdocumenter.theme.theme-context-3.0.9.tgz"
dependencies:
+ "@teambit/base-ui.theme.fonts.roboto": 0.6.7
+ "@teambit/base-ui.theme.theme-provider": 0.6.7
classnames: ^2.2.6
+ core-js: 3.8.3
+ reset-css: ^5.0.1
peerDependencies:
- react: ^16.13.1
- react-dom: ^16.13.1
- checksum: 5368d48a8f08cd39ecaa7fa2314a1920e626bac7d2a09a656e08b0c2bf8ac2ce5cc3daa4e6beee6100449fb47365a4c80fecb26af9fe784ab308cffdb0a1055d
+ react: 16.13.1
+ react-dom: 16.13.1
+ checksum: a841bcf3cdcf8b16865261341b7d74a3dbd33a318119a6774c04d7d21d73ea79593c1e72e1e023b167ec926bee5b0a008b67348c901c780bf7efc4457d637c0a
languageName: node
linkType: hard
-"@teambit/documenter.ui.bold@npm:0.0.1":
- version: 0.0.1
- resolution: "@teambit/documenter.ui.bold@npm:0.0.1::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fdocumenter.ui.bold%2F-%2Fdocumenter.ui.bold-0.0.1.tgz"
+"@teambit/documenter.types.docs-file@npm:3.0.14":
+ version: 3.0.14
+ resolution: "@teambit/documenter.types.docs-file@npm:3.0.14::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fdocumenter.types.docs-file%2F-%2Fdocumenter.types.docs-file-3.0.14.tgz"
dependencies:
- classnames: ^2.2.6
+ core-js: ^3.0.0
peerDependencies:
- react: ^16.13.1
- react-dom: ^16.13.1
- checksum: 6366aad64e8ded7b43691ffaca4dfa6114c012014139bdcc321a9e436ba5506866d5db613c3b696f694ad0d306d7278db64b2c9054bcb746457e90600a477097
+ react: ^16.8.0 || ^17.0.0
+ react-dom: ^16.8.0 || ^17.0.0
+ checksum: 896994c51775536ad4e87621af158780ccce04a4bdabb427b805e3525273761626c35e6f6da68f3803b4cdc20499cc571af58d39cf277cea61d71d3c801537f2
languageName: node
linkType: hard
-"@teambit/documenter.ui.code-snippet@npm:3.0.6":
- version: 3.0.6
- resolution: "@teambit/documenter.ui.code-snippet@npm:3.0.6::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fdocumenter.ui.code-snippet%2F-%2Fdocumenter.ui.code-snippet-3.0.6.tgz"
+"@teambit/documenter.ui.anchor@npm:3.0.14":
+ version: 3.0.14
+ resolution: "@teambit/documenter.ui.anchor@npm:3.0.14::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fdocumenter.ui.anchor%2F-%2Fdocumenter.ui.anchor-3.0.14.tgz"
dependencies:
- "@teambit/documenter.ui.copied-message": 3.0.6
"@teambit/evangelist.elements.icon": 0.5.20
classnames: ^2.2.6
- copy-to-clipboard: ^3.3.1
- react-syntax-highlighter: ^13.0.0
- peerDependencies:
- react: ^16.13.1
- react-dom: ^16.13.1
- checksum: 45d87d880d32f8a571a2c4db6979ca92f291f94bfbea48b097f82bbc7f9f0729e3aef817e177ccb256e9c4f85c1db9608d9a140991f5bbeb92270f680934e82d
- languageName: node
- linkType: hard
-
-"@teambit/documenter.ui.consumable-link@npm:1.0.3":
- version: 1.0.3
- resolution: "@teambit/documenter.ui.consumable-link@npm:1.0.3::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fdocumenter.ui.consumable-link%2F-%2Fdocumenter.ui.consumable-link-1.0.3.tgz"
- dependencies:
- "@teambit/base-ui.layout.grid-component": 0.5.9
- "@teambit/documenter.ui.copy-box": 1.0.3
- "@teambit/documenter.ui.paragraph": 1.0.3
- classnames: ^2.2.6
- peerDependencies:
- react: ^16.13.1
- react-dom: ^16.13.1
- checksum: 71de4d012edfc41bd6886704f3b535299f4fbde738d34116280541dd99597a4def1bbb7f215b3450a7810317e6c8df6512e64600f1fb17c6a5a0b2a5e6e1d53c
- languageName: node
- linkType: hard
-
-"@teambit/documenter.ui.copied-message@npm:1.0.3":
- version: 1.0.3
- resolution: "@teambit/documenter.ui.copied-message@npm:1.0.3::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fdocumenter.ui.copied-message%2F-%2Fdocumenter.ui.copied-message-1.0.3.tgz"
- dependencies:
- classnames: ^2.2.6
+ core-js: ^3.0.0
peerDependencies:
- react: ^16.13.1
- react-dom: ^16.13.1
- checksum: 838c3f256f18c7a1f54bb64843808d0b90401a8cc7e8702b50d15bf42fe0b507410f391342a227baf216518a0c4c8443aeae972bcc804c3fbf595cb37f4e75c1
+ react: ^16.8.0 || ^17.0.0
+ react-dom: ^16.8.0 || ^17.0.0
+ checksum: 5b35e7af802ca49da5ffea7eefe61004261436da0a99c61efe8c8b47d943af790c17edd0c4ebe32f9de884c61d25f8b41162c270c4a13cbf69cedc8ced9937df
languageName: node
linkType: hard
-"@teambit/documenter.ui.copied-message@npm:3.0.6":
- version: 3.0.6
- resolution: "@teambit/documenter.ui.copied-message@npm:3.0.6::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fdocumenter.ui.copied-message%2F-%2Fdocumenter.ui.copied-message-3.0.6.tgz"
+"@teambit/documenter.ui.block-quote@npm:3.0.14":
+ version: 3.0.14
+ resolution: "@teambit/documenter.ui.block-quote@npm:3.0.14::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fdocumenter.ui.block-quote%2F-%2Fdocumenter.ui.block-quote-3.0.14.tgz"
dependencies:
classnames: ^2.2.6
+ core-js: ^3.0.0
peerDependencies:
- react: ^16.13.1
- react-dom: ^16.13.1
- checksum: da499ceba3840f11a4d694fd132af83f01cfb57b1c231fdeff0d31b63f1df0e325f1fb54df46085f8bbd7c985dd92dcd7348f0c156b4a1ef05ce7b883eb2eb78
+ react: ^16.8.0 || ^17.0.0
+ react-dom: ^16.8.0 || ^17.0.0
+ checksum: 0023d0edb0ccdb991b507e14f6c01d6a9aa3bf5451949476117efeca439997efa2f2de322333c1a0de523360ff287a7f0e63d87f37a19fde29fcdb7eff83317c
languageName: node
linkType: hard
-"@teambit/documenter.ui.copied-message@npm:3.0.9":
- version: 3.0.9
- resolution: "@teambit/documenter.ui.copied-message@npm:3.0.9::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fdocumenter.ui.copied-message%2F-%2Fdocumenter.ui.copied-message-3.0.9.tgz"
+"@teambit/documenter.ui.bold@npm:3.0.14":
+ version: 3.0.14
+ resolution: "@teambit/documenter.ui.bold@npm:3.0.14::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fdocumenter.ui.bold%2F-%2Fdocumenter.ui.bold-3.0.14.tgz"
dependencies:
classnames: ^2.2.6
- core-js: 3.8.3
+ core-js: ^3.0.0
peerDependencies:
- react: 16.13.1
- react-dom: 16.13.1
- checksum: 561302446964d969ea81824b09a7f18cdd04fe17e37c560782e98ac1614e39688b92877d292131486477057ec90d42b9830bc7ab1d9e258ef4ac0b4149496cf2
+ react: ^16.8.0 || ^17.0.0
+ react-dom: ^16.8.0 || ^17.0.0
+ checksum: cd4c7030d2123b95554ea32aa85f2d6e7909af353b6dd8395e593f68063556154459cb80864a5f968e0880dc55376fd9ef4f5017c458186df562c2e8f1bd36c2
languageName: node
linkType: hard
-"@teambit/documenter.ui.copy-box@npm:1.0.3":
- version: 1.0.3
- resolution: "@teambit/documenter.ui.copy-box@npm:1.0.3::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fdocumenter.ui.copy-box%2F-%2Fdocumenter.ui.copy-box-1.0.3.tgz"
+"@teambit/documenter.ui.code-snippet@npm:3.0.14":
+ version: 3.0.14
+ resolution: "@teambit/documenter.ui.code-snippet@npm:3.0.14::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fdocumenter.ui.code-snippet%2F-%2Fdocumenter.ui.code-snippet-3.0.14.tgz"
dependencies:
- "@teambit/base-ui.layout.grid-component": 0.5.9
- "@teambit/documenter.ui.copied-message": 1.0.3
- "@teambit/evangelist.elements.icon": 0.5.4
+ "@teambit/documenter.ui.copied-message": 3.0.14
+ "@teambit/evangelist.elements.icon": 0.5.20
classnames: ^2.2.6
copy-to-clipboard: ^3.3.1
+ core-js: ^3.0.0
+ react-syntax-highlighter: ^13.0.0
peerDependencies:
- react: ^16.13.1
- react-dom: ^16.13.1
- checksum: fdbf63d910fe7ca741fec87a29153fcccf6c502ee7914e72c6035bee3cb971246be11daef8527607a58d75c46f1b72c2ae2772bac3e54da169b8076eb0860504
+ react: ^16.8.0 || ^17.0.0
+ react-dom: ^16.8.0 || ^17.0.0
+ checksum: ea9755f03de8e30cc64ce3009d8d5a727762d91876c6b1e1d2cd728a47ffe21fcc2765ac24bff9f1b712464698a17ab557b900fd682cef1d8aa93edd92843422
languageName: node
linkType: hard
-"@teambit/documenter.ui.copy-box@npm:3.0.9":
- version: 3.0.9
- resolution: "@teambit/documenter.ui.copy-box@npm:3.0.9::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fdocumenter.ui.copy-box%2F-%2Fdocumenter.ui.copy-box-3.0.9.tgz"
+"@teambit/documenter.ui.consumable-link@npm:3.0.15":
+ version: 3.0.15
+ resolution: "@teambit/documenter.ui.consumable-link@npm:3.0.15::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fdocumenter.ui.consumable-link%2F-%2Fdocumenter.ui.consumable-link-3.0.15.tgz"
dependencies:
- "@teambit/base-ui.layout.grid-component": 0.6.7
- "@teambit/documenter.ui.copied-message": 3.0.9
- "@teambit/evangelist.elements.icon": 0.5.20
+ "@teambit/base-ui.layout.grid-component": 0.6.11
+ "@teambit/documenter.ui.copy-box": 3.0.15
+ "@teambit/documenter.ui.paragraph": 3.0.14
classnames: ^2.2.6
- copy-to-clipboard: ^3.3.1
- core-js: 3.8.3
+ core-js: ^3.0.0
peerDependencies:
- react: 16.13.1
- react-dom: 16.13.1
- checksum: ac748802be3b6cc2c8c12189fe5f053bf30760679cb584f2e752110754015bf2dbbc5425520c51c352296b998b46321ef6e2ab61e5ab6b71e5cac94032288023
+ react: ^16.8.0 || ^17.0.0
+ react-dom: ^16.8.0 || ^17.0.0
+ checksum: 944943560a201667fd7cd1f3cf1a19f6ec6355b03dfe60e0f7c22c90a5caa3d3b6b9f5832d720545f33a202c060a708c9272e3f70f9ef88190593211ef22adfb
languageName: node
linkType: hard
-"@teambit/documenter.ui.heading@npm:1.0.3":
- version: 1.0.3
- resolution: "@teambit/documenter.ui.heading@npm:1.0.3::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fdocumenter.ui.heading%2F-%2Fdocumenter.ui.heading-1.0.3.tgz"
+"@teambit/documenter.ui.copied-message@npm:3.0.14":
+ version: 3.0.14
+ resolution: "@teambit/documenter.ui.copied-message@npm:3.0.14::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fdocumenter.ui.copied-message%2F-%2Fdocumenter.ui.copied-message-3.0.14.tgz"
dependencies:
- "@teambit/base-ui.text.heading": 0.5.9
classnames: ^2.2.6
+ core-js: ^3.0.0
peerDependencies:
- react: ^16.13.1
- react-dom: ^16.13.1
- checksum: b221aa599a49607ebbd783a9a24d418a9df2f7b3e4d27e3f2ea52e845a2a4693dd8fc061b6b49e9eb9c6dfe934ad2c536148e09d8e951bab87b3fb6618ec2352
+ react: ^16.8.0 || ^17.0.0
+ react-dom: ^16.8.0 || ^17.0.0
+ checksum: 0bb6ef9b7fd95f1adc0d2cc049bb4c9298efb2eebd25632117029b900cb7f702f8f6e2370700115bc0a2eedb4542f567b1b732760f3639fc15c2b001629457b0
languageName: node
linkType: hard
-"@teambit/documenter.ui.heading@npm:2.0.4":
- version: 2.0.4
- resolution: "@teambit/documenter.ui.heading@npm:2.0.4::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fdocumenter.ui.heading%2F-%2Fdocumenter.ui.heading-2.0.4.tgz"
+"@teambit/documenter.ui.copy-box@npm:3.0.15":
+ version: 3.0.15
+ resolution: "@teambit/documenter.ui.copy-box@npm:3.0.15::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fdocumenter.ui.copy-box%2F-%2Fdocumenter.ui.copy-box-3.0.15.tgz"
dependencies:
- "@teambit/base-ui.text.heading": 0.5.10
+ "@teambit/base-ui.layout.grid-component": 0.6.11
+ "@teambit/documenter.ui.copied-message": 3.0.14
+ "@teambit/evangelist.elements.icon": 0.5.20
classnames: ^2.2.6
+ copy-to-clipboard: ^3.3.1
+ core-js: ^3.0.0
peerDependencies:
- react: ^16.13.1
- react-dom: ^16.13.1
- checksum: a7350cf5cbf2fa8c85e21a5e06739df7d658d59d2006e98dc0f5a350800a4f9afc89740decaf30a422cfb5b854023fabf349bf5430c9e130dc5c9d12a85a4add
+ react: ^16.8.0 || ^17.0.0
+ react-dom: ^16.8.0 || ^17.0.0
+ checksum: efb617dba6564405743653e4913d11610fa7b87f0aa9b4f3d930549f97a0454f3bba133ea2450c4d710ec877a8ac44c894f0c0815c31aa1ef684470513a8072f
languageName: node
linkType: hard
-"@teambit/documenter.ui.highlighted-text@npm:1.0.3":
+"@teambit/documenter.ui.heading@npm:1.0.3":
version: 1.0.3
- resolution: "@teambit/documenter.ui.highlighted-text@npm:1.0.3::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fdocumenter.ui.highlighted-text%2F-%2Fdocumenter.ui.highlighted-text-1.0.3.tgz"
+ resolution: "@teambit/documenter.ui.heading@npm:1.0.3::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fdocumenter.ui.heading%2F-%2Fdocumenter.ui.heading-1.0.3.tgz"
dependencies:
- "@teambit/documenter.ui.paragraph": 1.0.3
+ "@teambit/base-ui.text.heading": 0.5.9
classnames: ^2.2.6
peerDependencies:
react: ^16.13.1
react-dom: ^16.13.1
- checksum: ae9881db278ce52fbc8c9d43b17638c5bd7ec53aa831dfe1684fa9b8aa75437ac23e8ffdc3875bd08fe0086a45bca579e178c69d7a96309fd645430394e68fbc
+ checksum: b221aa599a49607ebbd783a9a24d418a9df2f7b3e4d27e3f2ea52e845a2a4693dd8fc061b6b49e9eb9c6dfe934ad2c536148e09d8e951bab87b3fb6618ec2352
languageName: node
linkType: hard
-"@teambit/documenter.ui.highlighted-text@npm:3.0.9":
- version: 3.0.9
- resolution: "@teambit/documenter.ui.highlighted-text@npm:3.0.9::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fdocumenter.ui.highlighted-text%2F-%2Fdocumenter.ui.highlighted-text-3.0.9.tgz"
+"@teambit/documenter.ui.heading@npm:3.0.14":
+ version: 3.0.14
+ resolution: "@teambit/documenter.ui.heading@npm:3.0.14::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fdocumenter.ui.heading%2F-%2Fdocumenter.ui.heading-3.0.14.tgz"
dependencies:
- "@teambit/documenter.ui.paragraph": 3.0.9
+ "@teambit/base-ui.text.heading": 0.6.12
classnames: ^2.2.6
- core-js: 3.8.3
+ core-js: ^3.0.0
peerDependencies:
- react: 16.13.1
- react-dom: 16.13.1
- checksum: 214d25269854076f88318f2780c8bd23823eb83e47fac1ddfcbc7bdb618f554ab9af42547ec25e44d4a733c3c0fd3cee392735af32fc74b632d40c1a8fef9a36
+ react: ^16.8.0 || ^17.0.0
+ react-dom: ^16.8.0 || ^17.0.0
+ checksum: d26dde2b5887ad6840134c7cfd83b62a3ec76c79f730d4bd9ae2a2b83006425f5d59b682abe2dee1d5da4c458cf622dbe4394f3b02e5245c56d1723f2aa426af
languageName: node
linkType: hard
-"@teambit/documenter.ui.image@npm:0.0.1":
- version: 0.0.1
- resolution: "@teambit/documenter.ui.image@npm:0.0.1::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fdocumenter.ui.image%2F-%2Fdocumenter.ui.image-0.0.1.tgz"
+"@teambit/documenter.ui.highlighted-text@npm:3.0.14":
+ version: 3.0.14
+ resolution: "@teambit/documenter.ui.highlighted-text@npm:3.0.14::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fdocumenter.ui.highlighted-text%2F-%2Fdocumenter.ui.highlighted-text-3.0.14.tgz"
dependencies:
+ "@teambit/documenter.ui.paragraph": 3.0.14
classnames: ^2.2.6
+ core-js: ^3.0.0
peerDependencies:
- react: ^16.13.1
- react-dom: ^16.13.1
- checksum: 6fe498e5a79e6eb1bb7374859cdea680a1b1e7356cc40f438a8c91ce59df3cad7dca7c2a7f690bb95ad81d50bb963aa7b7276a4ebbf6ad6a57b7f3f89c275b59
+ react: ^16.8.0 || ^17.0.0
+ react-dom: ^16.8.0 || ^17.0.0
+ checksum: 49d8a994e8096b1386478bf2c424c1deb34e4632568c3d2da9f3595fd5b1c44b3b6d39b07c67f40a64ba07c9d42bc9951889772a52b29c63486d23a8eabbea32
languageName: node
linkType: hard
-"@teambit/documenter.ui.import-action@npm:3.0.12":
+"@teambit/documenter.ui.image@npm:3.0.12":
version: 3.0.12
- resolution: "@teambit/documenter.ui.import-action@npm:3.0.12::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fdocumenter.ui.import-action%2F-%2Fdocumenter.ui.import-action-3.0.12.tgz"
+ resolution: "@teambit/documenter.ui.image@npm:3.0.12::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fdocumenter.ui.image%2F-%2Fdocumenter.ui.image-3.0.12.tgz"
dependencies:
- "@teambit/documenter.content.documentation-links": 3.0.13
- "@teambit/documenter.ui.copy-box": 3.0.9
- "@teambit/documenter.ui.highlighted-text": 3.0.9
- "@teambit/evangelist.elements.icon": 0.5.20
- "@teambit/evangelist.surfaces.dropdown": 0.5.20
- classnames: 2.2.6
- core-js: 3.8.3
+ classnames: ^2.2.6
+ core-js: ^3.0.0
peerDependencies:
- react: 16.13.1
- react-dom: 16.13.1
- checksum: d0ce5497b48401962074ac2d0ffd2952ef63e9b00e3f576638640231b024a155c3b326d9925a8f131a2bdc190eca413ca2f47cb1dd8f8355564d632f9cac824c
+ react: ^16.8.0 || ^17.0.0
+ react-dom: ^16.8.0 || ^17.0.0
+ checksum: 843d073e429a51d8e7e9cda275a7d9b0a1e4231a4eb52eb937b3b57596795ac1e32ab3fd198e1666aedb367d82ac0c705bc9d3ab493a4b164c5a5b5447961273
languageName: node
linkType: hard
-"@teambit/documenter.ui.italic@npm:0.0.1":
- version: 0.0.1
- resolution: "@teambit/documenter.ui.italic@npm:0.0.1::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fdocumenter.ui.italic%2F-%2Fdocumenter.ui.italic-0.0.1.tgz"
+"@teambit/documenter.ui.import-action@npm:3.0.19":
+ version: 3.0.19
+ resolution: "@teambit/documenter.ui.import-action@npm:3.0.19::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fdocumenter.ui.import-action%2F-%2Fdocumenter.ui.import-action-3.0.19.tgz"
dependencies:
+ "@teambit/documenter.content.documentation-links": 3.0.18
+ "@teambit/documenter.ui.copy-box": 3.0.15
+ "@teambit/documenter.ui.highlighted-text": 3.0.14
+ "@teambit/evangelist.elements.icon": 0.5.20
+ "@teambit/evangelist.surfaces.dropdown": 0.6.0
classnames: ^2.2.6
+ core-js: ^3.0.0
peerDependencies:
- react: ^16.13.1
- react-dom: ^16.13.1
- checksum: 158f11185dd38b25008bb2b81a71c278523a654d83519c8bad1c7f3f87c80aefde2d57d4deee8510f963fac255a4b0ed9d10749098bf7724ffa75ff76c9cf6ee
+ react: ^16.8.0 || ^17.0.0
+ react-dom: ^16.8.0 || ^17.0.0
+ checksum: 3fe36c2354758f803457a7f4e0c897d6b77a107e7d5ed8117dfd78b9065b8a97d74c4c9318f08621b24d77f4760fbed2ed947196001c4f630d31445f65993468
languageName: node
linkType: hard
-"@teambit/documenter.ui.label-list@npm:1.0.3":
- version: 1.0.3
- resolution: "@teambit/documenter.ui.label-list@npm:1.0.3::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fdocumenter.ui.label-list%2F-%2Fdocumenter.ui.label-list-1.0.3.tgz"
+"@teambit/documenter.ui.italic@npm:3.0.14":
+ version: 3.0.14
+ resolution: "@teambit/documenter.ui.italic@npm:3.0.14::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fdocumenter.ui.italic%2F-%2Fdocumenter.ui.italic-3.0.14.tgz"
dependencies:
- "@teambit/documenter.ui.label": 1.0.3
classnames: ^2.2.6
+ core-js: ^3.0.0
peerDependencies:
- react: ^16.13.1
- react-dom: ^16.13.1
- checksum: e0a3d6603a0bfbd094d6a4be0d5f4336ae495c8aa7914339887fc5d158c4d7f6fda9db05928c0e43660f3c05783dc0561674db2c7edf8c3fb2dd0c349c31fa50
+ react: ^16.8.0 || ^17.0.0
+ react-dom: ^16.8.0 || ^17.0.0
+ checksum: 9da20cc7fe20bf99b67383735ca9c29cf8c0f8edaaa0701aeb59ec205212f4447ab5ce3270a7deb2ba5b858bdad7def1c25024055b47ae41f068565b59d914b3
languageName: node
linkType: hard
-"@teambit/documenter.ui.label@npm:1.0.3":
- version: 1.0.3
- resolution: "@teambit/documenter.ui.label@npm:1.0.3::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fdocumenter.ui.label%2F-%2Fdocumenter.ui.label-1.0.3.tgz"
+"@teambit/documenter.ui.label-list@npm:3.0.14":
+ version: 3.0.14
+ resolution: "@teambit/documenter.ui.label-list@npm:3.0.14::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fdocumenter.ui.label-list%2F-%2Fdocumenter.ui.label-list-3.0.14.tgz"
dependencies:
+ "@teambit/documenter.ui.label": 3.0.14
classnames: ^2.2.6
+ core-js: ^3.0.0
peerDependencies:
- react: ^16.13.1
- react-dom: ^16.13.1
- checksum: 1bee985943a225c44fe591d2ef9cc68b879c40984bb19691be02f3db53ad906f58a8ed2f9d95bc2071c98c0d920f6b77264d2f6f5a825f216ca81aa185295629
+ react: ^16.8.0 || ^17.0.0
+ react-dom: ^16.8.0 || ^17.0.0
+ checksum: 5b16663362ee030508d9dca5b9989ae59b879c8041e38f6616e49b88daae84e712df545856ef4e8316c4bbf5c27dbcad25736af530558844f5e1d98522602fcc
languageName: node
linkType: hard
-"@teambit/documenter.ui.label@npm:2.0.2":
- version: 2.0.2
- resolution: "@teambit/documenter.ui.label@npm:2.0.2::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fdocumenter.ui.label%2F-%2Fdocumenter.ui.label-2.0.2.tgz"
+"@teambit/documenter.ui.label@npm:3.0.14":
+ version: 3.0.14
+ resolution: "@teambit/documenter.ui.label@npm:3.0.14::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fdocumenter.ui.label%2F-%2Fdocumenter.ui.label-3.0.14.tgz"
dependencies:
classnames: ^2.2.6
+ core-js: ^3.0.0
peerDependencies:
- react: ^16.13.1
- react-dom: ^16.13.1
- checksum: ede389abb2a7e850f27c9246c0a3a25253d4d8f63766bcbaf7ffe6025015e9794860cb7fa17c2c8f4d331da04f030b745c3bce7475df97915cca05ff0bd2626b
+ react: ^16.8.0 || ^17.0.0
+ react-dom: ^16.8.0 || ^17.0.0
+ checksum: a2cc23edf48ac957385b581040ac3e9643f71ed353d0fc6e8d85f8feb9dcf2dd33442d54d52a21df4cc2082458937fca60c6d34e4405073cffd5784749e55845
languageName: node
linkType: hard
-"@teambit/documenter.ui.linked-heading@npm:2.0.5":
- version: 2.0.5
- resolution: "@teambit/documenter.ui.linked-heading@npm:2.0.5::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fdocumenter.ui.linked-heading%2F-%2Fdocumenter.ui.linked-heading-2.0.5.tgz"
+"@teambit/documenter.ui.linked-heading@npm:3.0.14":
+ version: 3.0.14
+ resolution: "@teambit/documenter.ui.linked-heading@npm:3.0.14::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fdocumenter.ui.linked-heading%2F-%2Fdocumenter.ui.linked-heading-3.0.14.tgz"
dependencies:
- "@teambit/documenter.ui.anchor": 2.0.4
- "@teambit/documenter.ui.heading": 2.0.4
+ "@teambit/documenter.ui.anchor": 3.0.14
+ "@teambit/documenter.ui.heading": 3.0.14
classnames: ^2.2.6
+ core-js: ^3.0.0
peerDependencies:
- react: ^16.13.1
- react-dom: ^16.13.1
- checksum: 87a7e30a6a515da3ebe468899c532406b7aade6a424eed719fe369d9e786d88091713fc5797476371a86c96c8b1a56c7ccc99ef8a44e4cd860210681f762b9d6
+ react: ^16.8.0 || ^17.0.0
+ react-dom: ^16.8.0 || ^17.0.0
+ checksum: 7154fe241aae1e24cc5c7df292fc3f5f763ce75611a821e2552f26ca5db583001ff17c85bf982c565c92556a3c86fd6800128d3fefcc83c56b27c4d5ed37e374
languageName: node
linkType: hard
-"@teambit/documenter.ui.ol@npm:1.0.5":
- version: 1.0.5
- resolution: "@teambit/documenter.ui.ol@npm:1.0.5::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fdocumenter.ui.ol%2F-%2Fdocumenter.ui.ol-1.0.5.tgz"
+"@teambit/documenter.ui.ol@npm:3.0.14":
+ version: 3.0.14
+ resolution: "@teambit/documenter.ui.ol@npm:3.0.14::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fdocumenter.ui.ol%2F-%2Fdocumenter.ui.ol-3.0.14.tgz"
dependencies:
classnames: ^2.2.6
+ core-js: ^3.0.0
peerDependencies:
- react: ^16.13.1
- react-dom: ^16.13.1
- checksum: 8b3aaa42f642f18ca94b710c2621f0889a0d4a26548dbf514765af01c98746e730511619ef4c799bf84911b031e78eaf7850f27f2d930594d3142bda09eb5485
+ react: ^16.8.0 || ^17.0.0
+ react-dom: ^16.8.0 || ^17.0.0
+ checksum: 2da80e4b15327b0544ad9a8fb1a156629967ddfb8ea74cd19959b9fc894f81b9060cbc5e79bc2ebd71ef6f3e5e6b80c0bc682578c66125c821ab6da701f78de8
languageName: node
linkType: hard
@@ -6161,33 +6414,34 @@ __metadata:
languageName: node
linkType: hard
-"@teambit/documenter.ui.paragraph@npm:3.0.9":
- version: 3.0.9
- resolution: "@teambit/documenter.ui.paragraph@npm:3.0.9::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fdocumenter.ui.paragraph%2F-%2Fdocumenter.ui.paragraph-3.0.9.tgz"
+"@teambit/documenter.ui.paragraph@npm:3.0.14":
+ version: 3.0.14
+ resolution: "@teambit/documenter.ui.paragraph@npm:3.0.14::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fdocumenter.ui.paragraph%2F-%2Fdocumenter.ui.paragraph-3.0.14.tgz"
dependencies:
- "@teambit/base-ui.text.paragraph": 0.6.8
- "@teambit/base-ui.theme.sizes": 0.6.7
+ "@teambit/base-ui.text.paragraph": 0.6.13
+ "@teambit/base-ui.theme.sizes": 0.6.10
classnames: ^2.2.6
- core-js: 3.8.3
+ core-js: ^3.0.0
peerDependencies:
- react: 16.13.1
- react-dom: 16.13.1
- checksum: 0d6a6b02dffc02924720d9c7457f0c7fed72832ef03bd9af2a96d007bd2a198584984764eff38fec65bc18fc19571204b571e4698802a023fd94fd3443d9c345
+ react: ^16.8.0 || ^17.0.0
+ react-dom: ^16.8.0 || ^17.0.0
+ checksum: 59a9ba51c823f96ce90afdbf4415f66d46f91f32509e55e9b3af333ae9b4e94f243820891d6f833bfab595c4fd6d82aa295f435d94495c0e0abe984853b13090
languageName: node
linkType: hard
-"@teambit/documenter.ui.property-table@npm:1.0.3":
- version: 1.0.3
- resolution: "@teambit/documenter.ui.property-table@npm:1.0.3::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fdocumenter.ui.property-table%2F-%2Fdocumenter.ui.property-table-1.0.3.tgz"
+"@teambit/documenter.ui.property-table@npm:3.0.15":
+ version: 3.0.15
+ resolution: "@teambit/documenter.ui.property-table@npm:3.0.15::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fdocumenter.ui.property-table%2F-%2Fdocumenter.ui.property-table-3.0.15.tgz"
dependencies:
- "@teambit/documenter.ui.table": 1.0.3
- "@teambit/documenter.ui.table-row": 1.0.3
+ "@teambit/documenter.ui.table": 3.0.15
+ "@teambit/documenter.ui.table-row": 3.0.14
+ core-js: ^3.0.0
react-use-dimensions: ^1.2.1
use-debounce: ^3.4.3
peerDependencies:
- react: ^16.13.1
- react-dom: ^16.13.1
- checksum: a55999b79b321f98b6a1e1b188460a69dc2a3fce902d829f75f04359e2f8258549e5684a945547a0835e1e48d4a22045cffeddd4f065f02cf0b72fd00ba99d5d
+ react: ^16.8.0 || ^17.0.0
+ react-dom: ^16.8.0 || ^17.0.0
+ checksum: 8492bd2d5fe158b3c2080e822ae802e8da0a246ab5d0401df6c437dcab7f379845b93ccdf28a9dd9fd863ec5f0f9c97975878255ba7d194ed4738a0aeb9f267b
languageName: node
linkType: hard
@@ -6203,6 +6457,19 @@ __metadata:
languageName: node
linkType: hard
+"@teambit/documenter.ui.section@npm:3.0.14":
+ version: 3.0.14
+ resolution: "@teambit/documenter.ui.section@npm:3.0.14::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fdocumenter.ui.section%2F-%2Fdocumenter.ui.section-3.0.14.tgz"
+ dependencies:
+ classnames: ^2.2.6
+ core-js: ^3.0.0
+ peerDependencies:
+ react: ^16.8.0 || ^17.0.0
+ react-dom: ^16.8.0 || ^17.0.0
+ checksum: 44c36d646eac2967bfbfb140bda4532624584615365cab2d98b713cb94590484014c6ffd899867671c2c888321d4fa81190ec605d8c6b7fd47ea0838037b8436
+ languageName: node
+ linkType: hard
+
"@teambit/documenter.ui.separator@npm:1.0.3":
version: 1.0.3
resolution: "@teambit/documenter.ui.separator@npm:1.0.3::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fdocumenter.ui.separator%2F-%2Fdocumenter.ui.separator-1.0.3.tgz"
@@ -6215,192 +6482,210 @@ __metadata:
languageName: node
linkType: hard
-"@teambit/documenter.ui.sub-title@npm:1.0.3":
- version: 1.0.3
- resolution: "@teambit/documenter.ui.sub-title@npm:1.0.3::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fdocumenter.ui.sub-title%2F-%2Fdocumenter.ui.sub-title-1.0.3.tgz"
+"@teambit/documenter.ui.separator@npm:3.0.14":
+ version: 3.0.14
+ resolution: "@teambit/documenter.ui.separator@npm:3.0.14::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fdocumenter.ui.separator%2F-%2Fdocumenter.ui.separator-3.0.14.tgz"
dependencies:
- "@teambit/base-ui.text.muted-text": 0.5.9
- "@teambit/documenter.ui.paragraph": 1.0.3
classnames: ^2.2.6
+ core-js: ^3.0.0
peerDependencies:
- react: ^16.13.1
- react-dom: ^16.13.1
- checksum: 0a064ba7243c168e2b40a1b12e69a4a70b5ec21b086cc4c4c91312f87ff4865b06faa877acc28630ca9a5fec5cc709ba2c060adbdee393de837beb85db817606
+ react: ^16.8.0 || ^17.0.0
+ react-dom: ^16.8.0 || ^17.0.0
+ checksum: c5b2928f51e4b67bf158f49ff73ae3c6acf9fbc38393378bf2a60d3f47ca1656f155e7f9fa80c43ed0cde099bb9ffeaf869ac101e6d01c09578cc38b8509d5b8
languageName: node
linkType: hard
-"@teambit/documenter.ui.sup@npm:0.0.1":
- version: 0.0.1
- resolution: "@teambit/documenter.ui.sup@npm:0.0.1::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fdocumenter.ui.sup%2F-%2Fdocumenter.ui.sup-0.0.1.tgz"
+"@teambit/documenter.ui.sub-title@npm:3.0.14":
+ version: 3.0.14
+ resolution: "@teambit/documenter.ui.sub-title@npm:3.0.14::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fdocumenter.ui.sub-title%2F-%2Fdocumenter.ui.sub-title-3.0.14.tgz"
dependencies:
+ "@teambit/base-ui.text.muted-text": 0.6.12
+ "@teambit/documenter.ui.paragraph": 3.0.14
classnames: ^2.2.6
+ core-js: ^3.0.0
peerDependencies:
- react: ^16.13.1
- react-dom: ^16.13.1
- checksum: f5b4a85a38236a477f2f1d9664eead12f6b5017e2ba373dfcc8cbb325581969832cda7d27426d7fff1e0c8c3d962f0353ab973c0f0e1185a4b5a55e9538149e5
+ react: ^16.8.0 || ^17.0.0
+ react-dom: ^16.8.0 || ^17.0.0
+ checksum: a5be9a8b207dd375d6a58c678f108d5124f19450c46be6e0acf30180291f595fe44b76b5c9cea44af1d900e4790cb0cdf858464e5d0ab81cbf8ea9096c8eca0f
languageName: node
linkType: hard
-"@teambit/documenter.ui.table-column@npm:1.0.3":
- version: 1.0.3
- resolution: "@teambit/documenter.ui.table-column@npm:1.0.3::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fdocumenter.ui.table-column%2F-%2Fdocumenter.ui.table-column-1.0.3.tgz"
+"@teambit/documenter.ui.sup@npm:3.0.14":
+ version: 3.0.14
+ resolution: "@teambit/documenter.ui.sup@npm:3.0.14::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fdocumenter.ui.sup%2F-%2Fdocumenter.ui.sup-3.0.14.tgz"
dependencies:
classnames: ^2.2.6
+ core-js: ^3.0.0
peerDependencies:
- react: ^16.13.1
- react-dom: ^16.13.1
- checksum: cabb0b13fd594eb233a629065654038d15213ee2a9b6b8c0f5adcd5d44b42f04a8495b6044af371be343b599393e1dcd1c50316e26d6e460640d84227667a0b7
+ react: ^16.8.0 || ^17.0.0
+ react-dom: ^16.8.0 || ^17.0.0
+ checksum: cf56ca4227d6472dbfc7717c9122eceeea8164fe71ff0ebfcae61cb9c62745a09d51e316b16e86b704a2a7678ec8ebfed51f0f3e2ea977120fa7675e5bb72da9
languageName: node
linkType: hard
-"@teambit/documenter.ui.table-heading-column@npm:1.0.3":
- version: 1.0.3
- resolution: "@teambit/documenter.ui.table-heading-column@npm:1.0.3::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fdocumenter.ui.table-heading-column%2F-%2Fdocumenter.ui.table-heading-column-1.0.3.tgz"
+"@teambit/documenter.ui.table-column@npm:3.0.12":
+ version: 3.0.12
+ resolution: "@teambit/documenter.ui.table-column@npm:3.0.12::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fdocumenter.ui.table-column%2F-%2Fdocumenter.ui.table-column-3.0.12.tgz"
dependencies:
- "@teambit/documenter.ui.heading": 1.0.3
classnames: ^2.2.6
+ core-js: ^3.0.0
peerDependencies:
- react: ^16.13.1
- react-dom: ^16.13.1
- checksum: df929e2fdc536d26a6cf23b9d4a5a7b06c45b92ede5d665d17c3105916bf106fb8ab9a36dd4482ac205acf1859ae08c728b5aa9091cc3ba76952ea02bfcf6ca4
+ react: ^16.8.0 || ^17.0.0
+ react-dom: ^16.8.0 || ^17.0.0
+ checksum: 781d2cd233abe4bf4e4b58892ef68c7f5f85b9de6570eba4ee28f69abcf072760e2a9626a6d12d4dacb9d7e86b09a550e4ef9290b3cac7d9b3ddfd5042e4b423
languageName: node
linkType: hard
-"@teambit/documenter.ui.table-heading-row@npm:1.0.3":
- version: 1.0.3
- resolution: "@teambit/documenter.ui.table-heading-row@npm:1.0.3::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fdocumenter.ui.table-heading-row%2F-%2Fdocumenter.ui.table-heading-row-1.0.3.tgz"
+"@teambit/documenter.ui.table-heading-column@npm:3.0.14":
+ version: 3.0.14
+ resolution: "@teambit/documenter.ui.table-heading-column@npm:3.0.14::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fdocumenter.ui.table-heading-column%2F-%2Fdocumenter.ui.table-heading-column-3.0.14.tgz"
dependencies:
- "@teambit/base-ui.layout.grid-component": 0.5.9
- "@teambit/documenter.ui.table": 1.0.3
- "@teambit/documenter.ui.table-heading-column": 1.0.3
+ "@teambit/documenter.ui.heading": 3.0.14
classnames: ^2.2.6
+ core-js: ^3.0.0
peerDependencies:
- react: ^16.13.1
- react-dom: ^16.13.1
- checksum: ccd9799f8922d8c8894f78b25b7b82a8aea5bff82453276f9209d17893521f505d670e5f5f290957fd173b280c7e9c804f8f4caeb8408277470095650dad0841
+ react: ^16.8.0 || ^17.0.0
+ react-dom: ^16.8.0 || ^17.0.0
+ checksum: df35bcb90369eb545e8f8a9d50e556aa9546f6a6dfd7cf03775683484667654093fc5d99cc17f91e40500372ab8d57f7ed2616c3bba81aa1190a1f7cab6b617c
languageName: node
linkType: hard
-"@teambit/documenter.ui.table-row@npm:1.0.3":
- version: 1.0.3
- resolution: "@teambit/documenter.ui.table-row@npm:1.0.3::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fdocumenter.ui.table-row%2F-%2Fdocumenter.ui.table-row-1.0.3.tgz"
+"@teambit/documenter.ui.table-heading-row@npm:3.0.15":
+ version: 3.0.15
+ resolution: "@teambit/documenter.ui.table-heading-row@npm:3.0.15::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fdocumenter.ui.table-heading-row%2F-%2Fdocumenter.ui.table-heading-row-3.0.15.tgz"
dependencies:
- "@teambit/base-ui.layout.grid-component": 0.5.9
- "@teambit/documenter.ui.table-column": 1.0.3
+ "@teambit/base-ui.layout.grid-component": 0.6.11
+ "@teambit/documenter.ui.table": 3.0.15
+ "@teambit/documenter.ui.table-heading-column": 3.0.14
classnames: ^2.2.6
- react-syntax-highlighter: ^13.0.0
+ core-js: ^3.0.0
peerDependencies:
- react: ^16.13.1
- react-dom: ^16.13.1
- checksum: f5121b8417e9c22f4583a5d3cf65287a015992034747324012a7fdc9e3e92a9fd35dfa5e6e66d18550d383547a9e7e5201e721504d58a2772d92cc80fa285cba
+ react: ^16.8.0 || ^17.0.0
+ react-dom: ^16.8.0 || ^17.0.0
+ checksum: 4addedd72675bac0ebf8246fd1283668a6a2c869aabf8b43006f1ab0f51b4999db8229c10a7813192d5f33093ebeeaeb74410086ba06dc152f150fe19068feba
languageName: node
linkType: hard
-"@teambit/documenter.ui.table.base-table@npm:0.0.1":
- version: 0.0.1
- resolution: "@teambit/documenter.ui.table.base-table@npm:0.0.1::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fdocumenter.ui.table.base-table%2F-%2Fdocumenter.ui.table.base-table-0.0.1.tgz"
+"@teambit/documenter.ui.table-row@npm:3.0.14":
+ version: 3.0.14
+ resolution: "@teambit/documenter.ui.table-row@npm:3.0.14::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fdocumenter.ui.table-row%2F-%2Fdocumenter.ui.table-row-3.0.14.tgz"
dependencies:
+ "@teambit/base-ui.layout.grid-component": 0.6.11
+ "@teambit/documenter.ui.table-column": 3.0.12
classnames: ^2.2.6
+ core-js: ^3.0.0
+ react-syntax-highlighter: ^13.0.0
peerDependencies:
- react: ^16.13.1
- react-dom: ^16.13.1
- checksum: a5641a9f23a99b5bdff80921ad17a17cdcfde63d40cfde010650961636c8de7be4dca1bf81767eebce3cf682a1f358ccf3a69c7d950c2a5d45ecb7155a94845a
+ react: ^16.8.0 || ^17.0.0
+ react-dom: ^16.8.0 || ^17.0.0
+ checksum: d6b301b7b6a591e34683220b55ad54d172b57a9570f0b9c9463dc0ac2e995d5f03bdcd7a16abd203627a4d3962b73346a6dd67ab768ca2d8d142b8e380cd3bac
languageName: node
linkType: hard
-"@teambit/documenter.ui.table.td@npm:0.0.1":
- version: 0.0.1
- resolution: "@teambit/documenter.ui.table.td@npm:0.0.1::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fdocumenter.ui.table.td%2F-%2Fdocumenter.ui.table.td-0.0.1.tgz"
+"@teambit/documenter.ui.table.base-table@npm:3.0.14":
+ version: 3.0.14
+ resolution: "@teambit/documenter.ui.table.base-table@npm:3.0.14::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fdocumenter.ui.table.base-table%2F-%2Fdocumenter.ui.table.base-table-3.0.14.tgz"
dependencies:
classnames: ^2.2.6
+ core-js: ^3.0.0
peerDependencies:
- react: ^16.13.1
- react-dom: ^16.13.1
- checksum: 1ef35866ffb152514e052446c8bf39bc88500e7f1bc7a019483d018b01535a3b5cf18b5748b6201c43e00a68f5db130ab19bf3ab16cb16857b4fb06bdeb824ae
+ react: ^16.8.0 || ^17.0.0
+ react-dom: ^16.8.0 || ^17.0.0
+ checksum: baf8d6a6a19d65e83c963b78c76774a7cd59812e22e51ec5646f65e31d83f9d81b2031ff7f3572f5a7a57e3d3c13386233ed1af12bce955d7ea3783d91109650
languageName: node
linkType: hard
-"@teambit/documenter.ui.table.tr@npm:0.0.1":
- version: 0.0.1
- resolution: "@teambit/documenter.ui.table.tr@npm:0.0.1::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fdocumenter.ui.table.tr%2F-%2Fdocumenter.ui.table.tr-0.0.1.tgz"
+"@teambit/documenter.ui.table.td@npm:3.0.14":
+ version: 3.0.14
+ resolution: "@teambit/documenter.ui.table.td@npm:3.0.14::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fdocumenter.ui.table.td%2F-%2Fdocumenter.ui.table.td-3.0.14.tgz"
dependencies:
classnames: ^2.2.6
+ core-js: ^3.0.0
peerDependencies:
- react: ^16.13.1
- react-dom: ^16.13.1
- checksum: e963ecf970f22bea7c5f346b8a11c377594d6a8ec8596b71cf4332b7788385e3094298ad0f9fe204dcf007dee2883d62b20209df973cfabe0cd34cffa09dc760
+ react: ^16.8.0 || ^17.0.0
+ react-dom: ^16.8.0 || ^17.0.0
+ checksum: 526501a51d2e54cc597ab40698a6d053176bb8fbeebc26eb32e02d987b6b4575806ceac25d3e8397fb0d01cbc816a9aef03b2ddc0ef5ebdaef0b7f99d795c1d8
languageName: node
linkType: hard
-"@teambit/documenter.ui.table@npm:1.0.3":
- version: 1.0.3
- resolution: "@teambit/documenter.ui.table@npm:1.0.3::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fdocumenter.ui.table%2F-%2Fdocumenter.ui.table-1.0.3.tgz"
+"@teambit/documenter.ui.table.tr@npm:3.0.14":
+ version: 3.0.14
+ resolution: "@teambit/documenter.ui.table.tr@npm:3.0.14::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fdocumenter.ui.table.tr%2F-%2Fdocumenter.ui.table.tr-3.0.14.tgz"
dependencies:
- "@teambit/documenter.ui.table-heading-row": 1.0.3
- "@teambit/documenter.ui.table-row": 1.0.3
+ classnames: ^2.2.6
+ core-js: ^3.0.0
peerDependencies:
- react: ^16.13.1
- react-dom: ^16.13.1
- checksum: 35b98095669f8b39c641c1e6b8b8ff371ecdc5ec8b20791ecc99910d615a147815a2f52e9c1a53cdbb34c570b4ab3a99ed769667e9ae891905b65a68f733f04b
+ react: ^16.8.0 || ^17.0.0
+ react-dom: ^16.8.0 || ^17.0.0
+ checksum: ec6d62ba3726c4f8dba1f6786acd7fd7c00e0aed59ed392e3cd241d7e38ac912e45487e6e3c2ec914b652d027d6843ac4676e713ddb913eb1b0284d3d1595bb3
languageName: node
linkType: hard
-"@teambit/documenter.ui.ul@npm:1.0.5":
- version: 1.0.5
- resolution: "@teambit/documenter.ui.ul@npm:1.0.5::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fdocumenter.ui.ul%2F-%2Fdocumenter.ui.ul-1.0.5.tgz"
+"@teambit/documenter.ui.table@npm:3.0.15":
+ version: 3.0.15
+ resolution: "@teambit/documenter.ui.table@npm:3.0.15::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fdocumenter.ui.table%2F-%2Fdocumenter.ui.table-3.0.15.tgz"
dependencies:
- classnames: ^2.2.6
+ "@teambit/documenter.ui.table-heading-row": 3.0.15
+ "@teambit/documenter.ui.table-row": 3.0.14
+ core-js: ^3.0.0
peerDependencies:
- react: ^16.13.1
- react-dom: ^16.13.1
- checksum: 32a4df0d53bdcbcc785742ac80d624f7b9874f44e32378c49a6c68d3d4c251aab0453ee88a0e424b5308607d0ea5d9099786c71e01b5708b7b6701df2a3bd108
+ react: ^16.8.0 || ^17.0.0
+ react-dom: ^16.8.0 || ^17.0.0
+ checksum: fde9518cc4fc9031affac3bfa0caa5c6e89308b34ce1766f24f1fd4c27765789f651554de6b01929700a14cdabe3136a969a9f66946ba3a5402f9c02aa0f6fe7
languageName: node
linkType: hard
-"@teambit/evangelist.css-components.fade-in-out@npm:0.5.20":
- version: 0.5.20
- resolution: "@teambit/evangelist.css-components.fade-in-out@npm:0.5.20::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fevangelist.css-components.fade-in-out%2F-%2Fevangelist.css-components.fade-in-out-0.5.20.tgz"
+"@teambit/documenter.ui.ul@npm:3.0.14":
+ version: 3.0.14
+ resolution: "@teambit/documenter.ui.ul@npm:3.0.14::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fdocumenter.ui.ul%2F-%2Fdocumenter.ui.ul-3.0.14.tgz"
+ dependencies:
+ classnames: ^2.2.6
+ core-js: ^3.0.0
peerDependencies:
- react: ^16.13.1
- react-dom: ^16.13.1
- checksum: 69edba3650be9352e3e6b71031d824bb4b55a6377fecfb90cab425172ff95903738943c2d6ee364529573b2d128cc1034a193220447cf9c35a989a5101da6c39
+ react: ^16.8.0 || ^17.0.0
+ react-dom: ^16.8.0 || ^17.0.0
+ checksum: 3fc1466e5eba7af14592b9ae70230761e542c889022f175af4a4a94fa4c8a65e1038d69d318255fb39bdbe088d635f232c0dd1766dbe72fe13f274992f62a5ed
languageName: node
linkType: hard
-"@teambit/evangelist.css-components.fade-in-out@npm:0.5.4":
- version: 0.5.4
- resolution: "@teambit/evangelist.css-components.fade-in-out@npm:0.5.4::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fevangelist.css-components.fade-in-out%2F-%2Fevangelist.css-components.fade-in-out-0.5.4.tgz"
+"@teambit/evangelist.css-components.fade-in-out@npm:0.6.0":
+ version: 0.6.0
+ resolution: "@teambit/evangelist.css-components.fade-in-out@npm:0.6.0::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fevangelist.css-components.fade-in-out%2F-%2Fevangelist.css-components.fade-in-out-0.6.0.tgz"
+ dependencies:
+ core-js: ^3.0.0
peerDependencies:
- react: ^16.13.1
- react-dom: ^16.13.1
- checksum: fb205005b95909ccfd0ee088928865635a536ed7a4ba3bcfe9b79d8963a7f176ece39970efc02503550d921d14c5eb82566b1314cc6d0445f0aca954e7579e2b
+ react: ^16.8.0 || ^17.0.0
+ react-dom: ^16.8.0 || ^17.0.0
+ checksum: a1b4b9c30a3ba6c030591aac8ecd1084adba8f178765f3c9387e2c0fcec6c9433dfe128fd73eedda61e343c8d13ebbb4da23607bb7bb349b6f44b30f54cdee86
languageName: node
linkType: hard
-"@teambit/evangelist.elements.button@npm:0.5.20":
- version: 0.5.20
- resolution: "@teambit/evangelist.elements.button@npm:0.5.20::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fevangelist.elements.button%2F-%2Fevangelist.elements.button-0.5.20.tgz"
+"@teambit/evangelist.elements.button@npm:0.6.0":
+ version: 0.6.0
+ resolution: "@teambit/evangelist.elements.button@npm:0.6.0::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fevangelist.elements.button%2F-%2Fevangelist.elements.button-0.6.0.tgz"
dependencies:
- "@teambit/base-ui.input.button": 0.6.3
+ "@teambit/base-ui.input.button": 0.7.1
classnames: ^2.2.6
+ core-js: ^3.0.0
peerDependencies:
- react: ^16.13.1
- react-dom: ^16.13.1
- checksum: 3e7ac8649ec6d8682f5b2c110ab62cc57b0594e178eb233f5b22533c43e1166229668cd8cda87f353f0aea7ea0cca8c5401bedd4c55995bbab2959e85928a8d1
+ react: ^16.8.0 || ^17.0.0
+ react-dom: ^16.8.0 || ^17.0.0
+ checksum: e96738962031033372e3a2709629297525da5850817208c7ec66ef635448729f0a63d3acae0d47b4f950de67f4b8236a17571db56ecc77b30bb190331cb91775
languageName: node
linkType: hard
-"@teambit/evangelist.elements.heading@npm:0.5.20":
- version: 0.5.20
- resolution: "@teambit/evangelist.elements.heading@npm:0.5.20::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fevangelist.elements.heading%2F-%2Fevangelist.elements.heading-0.5.20.tgz"
+"@teambit/evangelist.elements.heading@npm:0.6.0":
+ version: 0.6.0
+ resolution: "@teambit/evangelist.elements.heading@npm:0.6.0::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fevangelist.elements.heading%2F-%2Fevangelist.elements.heading-0.6.0.tgz"
dependencies:
- "@teambit/base-ui.text.heading": 0.6.3
- "@teambit/base-ui.theme.sizes": 0.6.3
+ "@teambit/base-ui.text.heading": 0.7.1
+ "@teambit/base-ui.theme.sizes": 0.6.10
classnames: ^2.2.6
+ core-js: ^3.0.0
peerDependencies:
- react: ^16.13.1
- react-dom: ^16.13.1
- checksum: 30310f9fd1fb3a5c7fe2f02665ffeed465253a3424a12b04a4f21b8a81aa3aeb4a5f91ac4bd1e05dbe366f968950019eb0ab8cbf90134da4e3542faa9bd377f7
+ react: ^16.8.0 || ^17.0.0
+ react-dom: ^16.8.0 || ^17.0.0
+ checksum: 9a21a1151e33d2c03fb0fd130487883a5b8c62f8ea0b9c51ec01e47079a9fece2db0e13fa064e538b7380de047ff270c9e33289565a27105bc3f667e3f8a1ecf
languageName: node
linkType: hard
@@ -6416,158 +6701,124 @@ __metadata:
languageName: node
linkType: hard
-"@teambit/evangelist.elements.icon@npm:0.5.4":
- version: 0.5.4
- resolution: "@teambit/evangelist.elements.icon@npm:0.5.4::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fevangelist.elements.icon%2F-%2Fevangelist.elements.icon-0.5.4.tgz"
- dependencies:
- "@teambit/base-ui.elements.icon": 0.5.9
- peerDependencies:
- react: ^16.13.1
- react-dom: ^16.13.1
- checksum: ecfd690365cc52ce04ce6dc9cb8738db1040f58a62463aafe73d17e8c3115567d5fe6d60dface53c563a8e99efd5c5a50bdd91eaacb467423fb3710c55423924
- languageName: node
- linkType: hard
-
-"@teambit/evangelist.elements.icon@npm:0.5.8":
- version: 0.5.8
- resolution: "@teambit/evangelist.elements.icon@npm:0.5.8::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fevangelist.elements.icon%2F-%2Fevangelist.elements.icon-0.5.8.tgz"
- dependencies:
- "@teambit/base-ui.elements.icon": 0.5.9
- peerDependencies:
- react: ^16.13.1
- react-dom: ^16.13.1
- checksum: b39ba17a26e420b08baf5487abaea35345cd31cb529f832a02399d02436fcf7d1d51a286a5949ecc94a5279fe8bad215a69c6a7d738fe20e34018391f149ed25
- languageName: node
- linkType: hard
-
-"@teambit/evangelist.elements.icon@npm:0.5.9":
- version: 0.5.9
- resolution: "@teambit/evangelist.elements.icon@npm:0.5.9::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fevangelist.elements.icon%2F-%2Fevangelist.elements.icon-0.5.9.tgz"
+"@teambit/evangelist.elements.icon@npm:0.6.0":
+ version: 0.6.0
+ resolution: "@teambit/evangelist.elements.icon@npm:0.6.0::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fevangelist.elements.icon%2F-%2Fevangelist.elements.icon-0.6.0.tgz"
dependencies:
- "@teambit/base-ui.elements.icon": 0.5.9
+ "@teambit/base-ui.elements.icon": 0.6.11
+ core-js: ^3.0.0
peerDependencies:
- react: ^16.13.1
- react-dom: ^16.13.1
- checksum: 3c9ebf8dcc923fb87b8f7cd745e845ac1099ce46059a434e366d275022733f2864471e6836e4a68d311064af84df0fa206cc6f2cd6f16812d53cd6ed8e529467
+ react: ^16.8.0 || ^17.0.0
+ react-dom: ^16.8.0 || ^17.0.0
+ checksum: 42980cd120f91b62bb4083f70f0b273809b3f555b5af3ba915b1aaabe7ad8351e2ca9b80208dc078c3667d8606d668c70bee0136071cbdfba4da71ce6d69b27f
languageName: node
linkType: hard
-"@teambit/evangelist.elements.image@npm:0.5.20":
- version: 0.5.20
- resolution: "@teambit/evangelist.elements.image@npm:0.5.20::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fevangelist.elements.image%2F-%2Fevangelist.elements.image-0.5.20.tgz"
+"@teambit/evangelist.elements.image@npm:0.6.0":
+ version: 0.6.0
+ resolution: "@teambit/evangelist.elements.image@npm:0.6.0::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fevangelist.elements.image%2F-%2Fevangelist.elements.image-0.6.0.tgz"
dependencies:
- "@teambit/base-ui.constants.storage": 0.6.3
- "@teambit/base-ui.elements.image": 0.6.3
+ "@teambit/base-ui.constants.storage": 0.6.10
+ "@teambit/base-ui.elements.image": 0.7.0
+ core-js: ^3.0.0
peerDependencies:
- react: ^16.13.1
- react-dom: ^16.13.1
- checksum: d1d71bbfeec3f73970814ceb581a6de1ec63f498de4dc74f9621f6b3b070f89276a2c1da1b349893b271a25080ae66e0780465d8f686df34eade1db44b7de84d
+ react: ^16.8.0 || ^17.0.0
+ react-dom: ^16.8.0 || ^17.0.0
+ checksum: 0bfa6003c8639e70ea5cbddf80490723e45da752f50410058f5b1e290cf18f6d27994dc0306d165fecbec1d149adf4341ba517e2f0690899131762b39650f874
languageName: node
linkType: hard
-"@teambit/evangelist.elements.x-button@npm:0.5.4":
- version: 0.5.4
- resolution: "@teambit/evangelist.elements.x-button@npm:0.5.4::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fevangelist.elements.x-button%2F-%2Fevangelist.elements.x-button-0.5.4.tgz"
+"@teambit/evangelist.elements.x-button@npm:0.6.0":
+ version: 0.6.0
+ resolution: "@teambit/evangelist.elements.x-button@npm:0.6.0::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fevangelist.elements.x-button%2F-%2Fevangelist.elements.x-button-0.6.0.tgz"
dependencies:
- "@teambit/evangelist.elements.icon": 0.5.4
+ "@teambit/evangelist.elements.icon": 0.6.0
classnames: ^2.2.6
+ core-js: ^3.0.0
peerDependencies:
- react: ^16.13.1
- react-dom: ^16.13.1
- checksum: f1b1c6f38db916d0f73640b5b720287fe8a200423ca5f96d27345bc6a971f96d428c58fa3e1dfb8e11dc45388a94024453743bc14569e35bc0b3397942b27d25
+ react: ^16.8.0 || ^17.0.0
+ react-dom: ^16.8.0 || ^17.0.0
+ checksum: eaabc951efacc2638c75abdeba344b783ced1ed53f4ba3048cb92096d51559012db99d7b20f1322bbe08faebf6563d9542071130fa4db862a739b15d7cb72390
languageName: node
linkType: hard
-"@teambit/evangelist.input.checkbox.indicator@npm:0.0.1":
- version: 0.0.1
- resolution: "@teambit/evangelist.input.checkbox.indicator@npm:0.0.1::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fevangelist.input.checkbox.indicator%2F-%2Fevangelist.input.checkbox.indicator-0.0.1.tgz"
+"@teambit/evangelist.input.checkbox.indicator@npm:0.6.0":
+ version: 0.6.0
+ resolution: "@teambit/evangelist.input.checkbox.indicator@npm:0.6.0::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fevangelist.input.checkbox.indicator%2F-%2Fevangelist.input.checkbox.indicator-0.6.0.tgz"
dependencies:
- "@teambit/base-ui.input.checkbox.indicator": 0.0.1
- "@teambit/evangelist.elements.icon": 0.5.9
+ "@teambit/base-ui.input.checkbox.indicator": 0.6.11
+ "@teambit/evangelist.elements.icon": 0.6.0
classnames: ^2.2.6
+ core-js: ^3.0.0
peerDependencies:
- react: ^16.13.1
- react-dom: ^16.13.1
- checksum: d931d83ee4cd26536a7a202f1c8cc3c2164e15887b4ea7c500d420c22a5cfb830ba755cfa1ff4eec6ae467a88fffacc45517c0448fcfb5f26e4ac22f31444003
- languageName: node
- linkType: hard
-
-"@teambit/evangelist.input.checkbox.label@npm:0.0.1":
- version: 0.0.1
- resolution: "@teambit/evangelist.input.checkbox.label@npm:0.0.1::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fevangelist.input.checkbox.label%2F-%2Fevangelist.input.checkbox.label-0.0.1.tgz"
- dependencies:
- "@teambit/base-ui.input.checkbox.label": 0.0.1
- "@teambit/evangelist.input.checkbox.indicator": 0.0.1
- peerDependencies:
- react: ^16.13.1
- react-dom: ^16.13.1
- checksum: cfeb542112c51702e5b0d4de6f908e1c190b53c157589e3d402b89c40a9036e9971580fbc065ed09b08ae62e9ec5d8d75b914f61ed603545d13b2f98a29bf515
+ react: ^16.8.0 || ^17.0.0
+ react-dom: ^16.8.0 || ^17.0.0
+ checksum: f2ec518a6bdc8eeeaf16f6491cadd2630ed7f3c113042b8045997dac5f9ad87aaa520a66d0cd692d4433ddf7ced6eba3e267e659051718ea6d6337c674d094d7
languageName: node
linkType: hard
-"@teambit/evangelist.input.input@npm:0.5.20":
- version: 0.5.20
- resolution: "@teambit/evangelist.input.input@npm:0.5.20::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fevangelist.input.input%2F-%2Fevangelist.input.input-0.5.20.tgz"
+"@teambit/evangelist.input.checkbox.label@npm:0.6.0":
+ version: 0.6.0
+ resolution: "@teambit/evangelist.input.checkbox.label@npm:0.6.0::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fevangelist.input.checkbox.label%2F-%2Fevangelist.input.checkbox.label-0.6.0.tgz"
dependencies:
- "@teambit/base-ui.theme.colors": 0.6.3
- classnames: ^2.2.6
+ "@teambit/base-ui.input.checkbox.label": 0.6.11
+ "@teambit/evangelist.input.checkbox.indicator": 0.6.0
+ core-js: ^3.0.0
peerDependencies:
- react: ^16.13.1
- react-dom: ^16.13.1
- checksum: 048030d7ad79093aa302be94ceab8f3ad2435c788c4b29d6e7339a256bd74977ea23e3a2b69e5e5d5907be74e4813a6e7ee92c89c1349bb632f9bd1360bca822
+ react: ^16.8.0 || ^17.0.0
+ react-dom: ^16.8.0 || ^17.0.0
+ checksum: 13a774f0102c8b791e285e24acb5a1d017dd18341036cc08b4f667fd1644ef4769706da31e566614a76b59e560a1e13badd9281ab1577521df7bb55fa3331122
languageName: node
linkType: hard
-"@teambit/evangelist.surfaces.dropdown@npm:0.5.20":
- version: 0.5.20
- resolution: "@teambit/evangelist.surfaces.dropdown@npm:0.5.20::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fevangelist.surfaces.dropdown%2F-%2Fevangelist.surfaces.dropdown-0.5.20.tgz"
+"@teambit/evangelist.input.input@npm:0.6.0":
+ version: 0.6.0
+ resolution: "@teambit/evangelist.input.input@npm:0.6.0::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fevangelist.input.input%2F-%2Fevangelist.input.input-0.6.0.tgz"
dependencies:
- "@teambit/base-ui.css-components.elevation": 0.6.3
- "@teambit/base-ui.css-components.roundness": 0.6.3
- "@teambit/base-ui.surfaces.abs-container": 0.6.3
- "@teambit/base-ui.surfaces.background": 0.6.3
- "@teambit/base-ui.surfaces.drawer": 0.6.3
- "@teambit/evangelist.css-components.fade-in-out": 0.5.20
+ "@teambit/base-ui.theme.colors": 0.7.0
classnames: ^2.2.6
+ core-js: ^3.0.0
peerDependencies:
- react: ^16.13.1
- react-dom: ^16.13.1
- checksum: df1ced91d771c58060bb9ca9346e18e7eba54c45b022b4f1d5d943e57959fc408d0e4d8da6aa4d842d9737de95120fccc277427504049ad6af22634ca519e415
+ react: ^16.8.0 || ^17.0.0
+ react-dom: ^16.8.0 || ^17.0.0
+ checksum: 52c3d3be53dc21dca0dc6e05c03f0eedb5297fca8f84fb684bedf5b3ee985292325ef74b3e473c7fa30578e99de668a336d5a54fa6d5ad20618e11276226c4b2
languageName: node
linkType: hard
-"@teambit/evangelist.surfaces.dropdown@npm:0.5.4":
- version: 0.5.4
- resolution: "@teambit/evangelist.surfaces.dropdown@npm:0.5.4::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fevangelist.surfaces.dropdown%2F-%2Fevangelist.surfaces.dropdown-0.5.4.tgz"
- dependencies:
- "@teambit/base-ui.css-components.elevation": 0.5.9
- "@teambit/base-ui.css-components.roundness": 0.5.9
- "@teambit/base-ui.surfaces.abs-container": 0.5.9
- "@teambit/base-ui.surfaces.background": 0.5.9
- "@teambit/base-ui.surfaces.drawer": 0.5.9
- "@teambit/evangelist.css-components.fade-in-out": 0.5.4
+"@teambit/evangelist.surfaces.dropdown@npm:0.6.0":
+ version: 0.6.0
+ resolution: "@teambit/evangelist.surfaces.dropdown@npm:0.6.0::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fevangelist.surfaces.dropdown%2F-%2Fevangelist.surfaces.dropdown-0.6.0.tgz"
+ dependencies:
+ "@teambit/base-ui.css-components.elevation": 0.6.12
+ "@teambit/base-ui.css-components.roundness": 0.6.11
+ "@teambit/base-ui.surfaces.abs-container": 0.6.11
+ "@teambit/base-ui.surfaces.background": 0.6.10
+ "@teambit/base-ui.surfaces.drawer": 0.6.14
+ "@teambit/evangelist.css-components.fade-in-out": 0.6.0
classnames: ^2.2.6
+ core-js: ^3.0.0
peerDependencies:
- react: ^16.13.1
- react-dom: ^16.13.1
- checksum: dca80c895dfce7f25d03c751bfb4108b6ef5281122613fdfa128fde7562540658583195515229f5b348874bf141bfec43e7335f02e2788e031c092830942536b
+ react: ^16.8.0 || ^17.0.0
+ react-dom: ^16.8.0 || ^17.0.0
+ checksum: c0deece6921c43b0d6df07d3cd116cbb6002cd75b1912bf3339727b7e803dfee931c72d82dd6ac24c4ed69eb3e70f47cb8bf4a878787348827724c0ae2bac479
languageName: node
linkType: hard
-"@teambit/evangelist.surfaces.tooltip@npm:0.5.4":
- version: 0.5.4
- resolution: "@teambit/evangelist.surfaces.tooltip@npm:0.5.4::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fevangelist.surfaces.tooltip%2F-%2Fevangelist.surfaces.tooltip-0.5.4.tgz"
+"@teambit/evangelist.surfaces.tooltip@npm:0.6.0":
+ version: 0.6.0
+ resolution: "@teambit/evangelist.surfaces.tooltip@npm:0.6.0::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fevangelist.surfaces.tooltip%2F-%2Fevangelist.surfaces.tooltip-0.6.0.tgz"
dependencies:
- "@teambit/base-ui.css-components.elevation": 0.5.9
- "@teambit/base-ui.css-components.roundness": 0.5.9
- "@teambit/base-ui.surfaces.abs-container": 0.5.9
- "@teambit/base-ui.surfaces.drawer": 0.5.9
- "@teambit/evangelist.css-components.fade-in-out": 0.5.4
+ "@teambit/base-ui.css-components.elevation": 0.6.12
+ "@teambit/base-ui.css-components.roundness": 0.6.11
+ "@teambit/base-ui.surfaces.abs-container": 0.6.11
+ "@teambit/base-ui.surfaces.drawer": 0.6.14
+ "@teambit/evangelist.css-components.fade-in-out": 0.6.0
classnames: ^2.2.6
+ core-js: ^3.0.0
peerDependencies:
- react: ^16.13.1
- react-dom: ^16.13.1
- checksum: f74e1cb65254c81575c562d58ffd04ad69625ead8a0ac42125f231c4f1fafbbd772f145a595aa3081fa61d2b681852a68488e2a1ae38055457977962a912c999
+ react: ^16.8.0 || ^17.0.0
+ react-dom: ^16.8.0 || ^17.0.0
+ checksum: c820b05cfc91beb8ec7fc61cfe4dfc35c9587fc27c64aa55a4e077c47790424f2020a91c667bb4e6995785355b0650693f0c27ec190d120f1e7005f144e72ed5
languageName: node
linkType: hard
@@ -6606,9 +6857,9 @@ __metadata:
languageName: node
linkType: hard
-"@teambit/legacy@npm:1.0.62, @teambit/legacy@npm:1.0.62::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Flegacy%2F-%2Flegacy-1.0.62.tgz":
- version: 1.0.62
- resolution: "@teambit/legacy@npm:1.0.62::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Flegacy%2F-%2Flegacy-1.0.62.tgz"
+"@teambit/legacy@npm:1.0.98, @teambit/legacy@npm:1.0.98::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Flegacy%2F-%2Flegacy-1.0.98.tgz":
+ version: 1.0.98
+ resolution: "@teambit/legacy@npm:1.0.98::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Flegacy%2F-%2Flegacy-1.0.98.tgz"
dependencies:
"@babel/core": 7.12.17
"@babel/runtime": 7.12.18
@@ -6625,7 +6876,6 @@ __metadata:
checksum: 0.1.1
chokidar: 3.5.1
cli-spinners: 1.3.1
- commander: 2.20.3
comment-json: 3.0.3
core-js: 3.9.0
css-tree: 1.1.2
@@ -6643,6 +6893,7 @@ __metadata:
fs-extra: 9.1.0
gitconfig: 2.0.8
glob: 7.1.6
+ globby: 11.0.1
graphlib: 2.1.8
graphql-request: 3.4.0
graphviz: 0.0.9
@@ -6665,6 +6916,7 @@ __metadata:
lodash.set: 4.3.2
lodash.toarray: 4.4.0
lodash.unionby: 4.8.0
+ lru-cache: 6.0.0
make-fetch-happen: 4.0.2
memfs: 2.17.1
minimatch: 3.0.4
@@ -6726,10 +6978,11 @@ __metadata:
vinyl-file: 3.0.0
vue-template-compiler: 2.6.12
winston: 3.3.3
+ yargs: 17.0.1
yn: 2.0.0
bin:
bit: bin/bit.js
- checksum: e71a4adfbf685bd80cef1481df993902ce2f06a1b07a05d6217a2794d406bc799d383b8c99b62b3fbb1c6b9f3106260321ea518d398c695780b5ad7ad77e599f
+ checksum: b3057de22adbd66e33b08fd3de4b2ca4ba6dc029c43a02ccceaffa7c0e2e7d4d2cb1fbb1f6a3d9c5ffe1d92a4d946fb65c8e990f41e2a039b57dec5a35b7eb44
languageName: node
linkType: hard
@@ -6750,7 +7003,7 @@ __metadata:
"@babel/preset-typescript": 7.12.7
"@babel/register": 7.12.13
"@babel/runtime": 7.12.18
- "@babel/types": 7.13.12
+ "@babel/types": ^7.13.12
"@graphql-modules/core": 0.7.17
"@jest/test-result": 26.6.2
"@mdx-js/loader": 1.6.21
@@ -6779,88 +7032,101 @@ __metadata:
"@stencil/webpack": 0.0.6
"@svgr/webpack": 5.5.0
"@teambit/any-fs": 0.0.5
- "@teambit/base-ui.constants.storage": 0.6.3
- "@teambit/base-ui.css-components.pill": 0.6.7
- "@teambit/base-ui.css-components.roundness": 0.6.3
- "@teambit/base-ui.elements.dots-loader": 0.6.3
- "@teambit/base-ui.elements.image": 0.6.3
- "@teambit/base-ui.elements.label": 0.6.3
- "@teambit/base-ui.elements.separator": 0.6.3
- "@teambit/base-ui.graph.tree.indent": 0.0.1
- "@teambit/base-ui.graph.tree.inflate-paths": 0.0.1
- "@teambit/base-ui.graph.tree.recursive-tree": 0.0.1
- "@teambit/base-ui.graph.tree.root-node": 0.0.1
- "@teambit/base-ui.graph.tree.tree-context": 0.0.1
+ "@teambit/base-ui.constants.storage": 0.6.10
+ "@teambit/base-ui.css-components.pill": 0.6.10
+ "@teambit/base-ui.css-components.roundness": 0.6.11
+ "@teambit/base-ui.elements.dots-loader": 0.6.13
+ "@teambit/base-ui.elements.image": 0.7.0
+ "@teambit/base-ui.elements.label": 0.7.0
+ "@teambit/base-ui.elements.separator": 0.7.0
+ "@teambit/base-ui.graph.tree.indent": 0.6.10
+ "@teambit/base-ui.graph.tree.inflate-paths": 0.7.0
+ "@teambit/base-ui.graph.tree.recursive-tree": 0.6.10
+ "@teambit/base-ui.graph.tree.root-node": 0.6.10
+ "@teambit/base-ui.graph.tree.tree-context": 0.6.10
"@teambit/base-ui.input.button": 0.6.3
- "@teambit/base-ui.input.error": 0.6.4
- "@teambit/base-ui.layout.breakpoints": 0.6.3
- "@teambit/base-ui.layout.grid-component": 0.6.3
- "@teambit/base-ui.layout.page-frame": 0.6.3
- "@teambit/base-ui.loaders.loader-ribbon": 0.0.2
- "@teambit/base-ui.surfaces.card": 0.6.3
- "@teambit/base-ui.surfaces.split-pane.hover-splitter": 0.7.0
- "@teambit/base-ui.surfaces.split-pane.split-pane": 0.6.1
- "@teambit/base-ui.text.heading": 0.6.4
- "@teambit/base-ui.text.muted-text": 0.6.4
- "@teambit/base-ui.text.paragraph": 0.6.4
- "@teambit/base-ui.text.text": 0.0.12
- "@teambit/base-ui.text.text-sizes": 0.0.1
- "@teambit/base-ui.text.themed-text": 0.6.4
- "@teambit/base-ui.theme.color-palette": 0.6.7
- "@teambit/base-ui.theme.colors": 0.6.7
- "@teambit/base-ui.theme.dark-theme": 0.6.3
- "@teambit/base-ui.theme.fonts.roboto": 0.6.7
- "@teambit/base-ui.theme.sizes": 0.6.7
- "@teambit/base-ui.theme.theme-provider": 0.6.7
- "@teambit/base-ui.utils.popper-js.ignore-popper-size": 0.6.8
- "@teambit/base-ui.utils.popper-js.resize-to-match-reference": 0.6.8
- "@teambit/base-ui.utils.string.affix": 0.0.2
- "@teambit/base-ui.utils.sub-paths": 0.6.3
- "@teambit/base-ui.utils.time-ago": 0.5.9
+ "@teambit/base-ui.input.error": 0.7.1
+ "@teambit/base-ui.layout.breakpoints": 0.6.10
+ "@teambit/base-ui.layout.grid-component": 0.6.11
+ "@teambit/base-ui.layout.page-frame": 0.6.10
+ "@teambit/base-ui.loaders.loader-ribbon": 0.6.11
+ "@teambit/base-ui.routing.link": 0.1.0
+ "@teambit/base-ui.routing.native-link": 0.1.0
+ "@teambit/base-ui.routing.native-nav-link": 0.0.2
+ "@teambit/base-ui.routing.nav-link": 0.1.0
+ "@teambit/base-ui.routing.routing-provider": 0.0.2
+ "@teambit/base-ui.styles.flex-center": 0.0.2
+ "@teambit/base-ui.surfaces.background": 0.6.3
+ "@teambit/base-ui.surfaces.card": 0.7.0
+ "@teambit/base-ui.surfaces.split-pane.hover-splitter": 0.7.4
+ "@teambit/base-ui.surfaces.split-pane.split-pane": 0.6.11
+ "@teambit/base-ui.text.heading": 0.7.1
+ "@teambit/base-ui.text.muted-text": 0.7.1
+ "@teambit/base-ui.text.paragraph": 0.7.1
+ "@teambit/base-ui.text.text": 0.0.16
+ "@teambit/base-ui.text.text-sizes": 0.0.4
+ "@teambit/base-ui.text.themed-text": 0.7.1
+ "@teambit/base-ui.theme.color-palette": 0.6.12
+ "@teambit/base-ui.theme.colors": 0.7.0
+ "@teambit/base-ui.theme.dark-theme": 0.7.0
+ "@teambit/base-ui.theme.fonts.roboto": 0.6.10
+ "@teambit/base-ui.theme.sizes": 0.6.10
+ "@teambit/base-ui.theme.theme-provider": 0.6.13
+ "@teambit/base-ui.utils.composer": 0.0.5
+ "@teambit/base-ui.utils.popper-js.ignore-popper-size": 0.6.11
+ "@teambit/base-ui.utils.popper-js.resize-to-match-reference": 0.6.11
+ "@teambit/base-ui.utils.string.affix": 0.6.10
+ "@teambit/base-ui.utils.sub-paths": 0.6.10
+ "@teambit/base-ui.utils.time-ago": 0.6.10
"@teambit/capsule": 0.0.12
- "@teambit/documenter.code.react-playground": 1.0.4
- "@teambit/documenter.routing.external-link": 1.0.3
- "@teambit/documenter.theme.theme-compositions": 2.0.3
- "@teambit/documenter.theme.theme-context": 2.0.2
- "@teambit/documenter.types.docs-file": 1.0.3
- "@teambit/documenter.ui.block-quote": 0.0.1
- "@teambit/documenter.ui.bold": 0.0.1
- "@teambit/documenter.ui.code-snippet": 3.0.6
- "@teambit/documenter.ui.consumable-link": 1.0.3
- "@teambit/documenter.ui.heading": 1.0.3
- "@teambit/documenter.ui.highlighted-text": 1.0.3
- "@teambit/documenter.ui.image": 0.0.1
- "@teambit/documenter.ui.import-action": 3.0.12
- "@teambit/documenter.ui.italic": 0.0.1
- "@teambit/documenter.ui.label": 2.0.2
- "@teambit/documenter.ui.label-list": 1.0.3
- "@teambit/documenter.ui.linked-heading": 2.0.5
- "@teambit/documenter.ui.ol": 1.0.5
- "@teambit/documenter.ui.paragraph": 1.0.3
- "@teambit/documenter.ui.property-table": 1.0.3
+ "@teambit/component.instructions.exporting-components": 0.0.5
+ "@teambit/design.ui.icon-button": 0.0.17
+ "@teambit/documenter.code.react-playground": 3.0.11
+ "@teambit/documenter.routing.external-link": 3.0.12
+ "@teambit/documenter.theme.theme-compositions": 2.0.3
+ "@teambit/documenter.theme.theme-context": 3.0.14
+ "@teambit/documenter.types.docs-file": 3.0.14
+ "@teambit/documenter.ui.block-quote": 3.0.14
+ "@teambit/documenter.ui.bold": 3.0.14
+ "@teambit/documenter.ui.code-snippet": 3.0.14
+ "@teambit/documenter.ui.consumable-link": 3.0.15
+ "@teambit/documenter.ui.heading": 3.0.14
+ "@teambit/documenter.ui.highlighted-text": 3.0.14
+ "@teambit/documenter.ui.image": 3.0.12
+ "@teambit/documenter.ui.import-action": 3.0.19
+ "@teambit/documenter.ui.italic": 3.0.14
+ "@teambit/documenter.ui.label": 3.0.14
+ "@teambit/documenter.ui.label-list": 3.0.14
+ "@teambit/documenter.ui.linked-heading": 3.0.14
+ "@teambit/documenter.ui.ol": 3.0.14
+ "@teambit/documenter.ui.paragraph": 3.0.14
+ "@teambit/documenter.ui.property-table": 3.0.15
"@teambit/documenter.ui.section": 1.0.3
"@teambit/documenter.ui.separator": 1.0.3
- "@teambit/documenter.ui.sub-title": 1.0.3
- "@teambit/documenter.ui.sup": 0.0.1
- "@teambit/documenter.ui.table.base-table": 0.0.1
- "@teambit/documenter.ui.table.td": 0.0.1
- "@teambit/documenter.ui.table.tr": 0.0.1
- "@teambit/documenter.ui.ul": 1.0.5
- "@teambit/evangelist.elements.button": 0.5.20
- "@teambit/evangelist.elements.heading": 0.5.20
- "@teambit/evangelist.elements.icon": 0.5.20
- "@teambit/evangelist.elements.image": 0.5.20
- "@teambit/evangelist.elements.x-button": 0.5.4
- "@teambit/evangelist.input.checkbox.label": 0.0.1
- "@teambit/evangelist.input.input": 0.5.20
- "@teambit/evangelist.surfaces.dropdown": 0.5.4
- "@teambit/evangelist.surfaces.tooltip": 0.5.4
- "@teambit/evangelist.theme.icon-font": 0.5.5
+ "@teambit/documenter.ui.sub-title": 3.0.14
+ "@teambit/documenter.ui.sup": 3.0.14
+ "@teambit/documenter.ui.table.base-table": 3.0.14
+ "@teambit/documenter.ui.table.td": 3.0.14
+ "@teambit/documenter.ui.table.tr": 3.0.14
+ "@teambit/documenter.ui.ul": 3.0.14
+ "@teambit/evangelist.elements.button": 0.6.0
+ "@teambit/evangelist.elements.heading": 0.6.0
+ "@teambit/evangelist.elements.icon": 0.6.0
+ "@teambit/evangelist.elements.image": 0.6.0
+ "@teambit/evangelist.elements.x-button": 0.6.0
+ "@teambit/evangelist.input.checkbox.label": 0.6.0
+ "@teambit/evangelist.input.input": 0.6.0
+ "@teambit/evangelist.surfaces.dropdown": 0.6.0
+ "@teambit/evangelist.surfaces.tooltip": 0.6.0
"@teambit/harmony": 0.2.11
- "@teambit/legacy": 1.0.62
+ "@teambit/legacy": 1.0.98
+ "@teambit/mdx.ui.mdx-scope-context": 0.0.368
"@teambit/network.agent": 0.0.1
+ "@teambit/react.instructions.react.adding-compositions": 0.0.5
+ "@teambit/react.instructions.react.adding-tests": 0.0.5
"@teambit/string.ellipsis": 0.0.7
"@teambit/ui.composition-card": 0.0.259
+ "@teambit/ui.routing.provider": 0.0.364
"@testing-library/jest-dom": 5.11.10
"@testing-library/react": 11.2.6
"@tippyjs/react": 4.2.0
@@ -6893,37 +7159,40 @@ __metadata:
"@types/mdx-js__react": 1.5.3
"@types/memoizee": 0.4.5
"@types/mime": 2.0.3
+ "@types/minimatch": 3.0.4
"@types/mocha": 5.2.7
"@types/mousetrap": 1.6.5
"@types/node": 12.20.4
"@types/node-fetch": 2.5.8
"@types/object-hash": 1.3.4
"@types/pino": 6.3.6
- "@types/proper-lockfile": 4.1.1
"@types/puppeteer": 3.0.5
- "@types/react": ^16.8.0
- "@types/react-dom": ^16.8.0
+ "@types/react": ^17.0.8
+ "@types/react-dom": ^17.0.5
"@types/react-router-dom": 5.1.7
"@types/react-tabs": 2.3.2
"@types/react-tooltip": 3.11.0
"@types/sass": 1.16.0
"@types/semver": 7.3.4
"@types/socket.io-client": 1.4.35
+ "@types/testing-library__jest-dom": 5.9.5
"@types/ua-parser-js": 0.7.35
+ "@types/url-join": 4.0.0
"@types/url-parse": 1.4.3
"@types/uuid": 3.4.9
"@types/webpack": 4.41.25
"@types/webpack-dev-server": 3.11.1
"@types/webpack-merge": 4.1.5
+ "@types/yargs": 17.0.0
"@typescript-eslint/eslint-plugin": 4.13.0
"@typescript-eslint/parser": 4.13.0
"@typescript-eslint/typescript-estree": 4.15.1
"@vuedoc/parser": 2.4.0
- "@yarnpkg/cli": 3.0.0-rc.2
- "@yarnpkg/core": 3.0.0-rc.2
- "@yarnpkg/fslib": 2.5.0-rc.2
- "@yarnpkg/plugin-npm": 2.5.0-rc.2
- "@yarnpkg/plugin-pack": 3.0.0-rc.2
+ "@yarnpkg/cli": 3.0.0-rc.5
+ "@yarnpkg/core": 3.0.0-rc.5
+ "@yarnpkg/fslib": 2.5.0-rc.5
+ "@yarnpkg/plugin-npm": 2.5.0-rc.5
+ "@yarnpkg/plugin-pack": 3.0.0-rc.5
acorn: 6.4.2
agentkeepalive: 4.1.4
ajv: 6.12.6
@@ -6943,11 +7212,13 @@ __metadata:
babel-jest: 26.6.3
babel-loader: 8.2.2
babel-plugin-named-asset-import: 0.3.7
+ babel-plugin-ramda: 2.0.0
babel-plugin-transform-typescript-metadata: 0.3.1
babel-preset-jest: 26.6.2
babel-preset-react-app: 10.0.0
bluebird: 3.7.2
body-parser: 1.19.0
+ browserify-zlib: 0.2.0
browserslist: 4.16.3
buffer: 6.0.3
cacache: 15.0.5
@@ -6965,14 +7236,15 @@ __metadata:
cli-highlight: 2.1.9
cli-spinners: 1.3.1
comlink: 4.3.0
- commander: 2.20.3
comment-json: 3.0.3
+ constants-browserify: 1.0.0
copy-to-clipboard: 3.3.1
core-js: 3.10.0
cors: 2.8.5
credentials-by-uri: 2.0.0
cross-fetch: 3.0.6
cross-spawn: 7.0.3
+ crypto-browserify: 3.12.0
css-loader: 5.2.0
css-minimizer-webpack-plugin: 1.2.0
css-tree: 1.1.2
@@ -6985,6 +7257,7 @@ __metadata:
detective-stylus: 1.0.0
didyoumean: 1.2.1
doctrine: 2.1.0
+ domain-browser: 4.19.0
enhanced-resolve: 4.5.0
eslint: 7.20.0
eslint-config-airbnb-typescript: 5.1.0
@@ -6998,13 +7271,11 @@ __metadata:
eslint-plugin-react: 7.22.0
eslint-plugin-react-hooks: 4.2.0
eslint-plugin-simple-import-sort: 5.0.3
- eslint-plugin-unicorn: 12.1.0
eventemitter2: 6.4.4
execa: 2.1.0
express: 4.17.1
express-graphql: 0.12.0
express-history-api-fallback: 2.2.1
- file-loader: 6.2.0
filenamify: 4.2.0
find-cache-dir: 3.3.1
find-root: 1.1.0
@@ -7033,6 +7304,7 @@ __metadata:
html-webpack-plugin: 5.3.1
http-proxy: 1.18.1
http-proxy-agent: 4.0.1
+ https-browserify: 1.0.0
https-proxy-agent: 5.0.0
humanize-duration: 3.23.1
humanize-string: 2.1.0
@@ -7073,6 +7345,7 @@ __metadata:
lodash.set: 4.3.2
lodash.toarray: 4.4.0
lodash.unionby: 4.8.0
+ lru-cache: 6.0.0
make-fetch-happen: 4.0.2
memfs: 2.17.1
memoize-one: 5.1.1
@@ -7103,6 +7376,7 @@ __metadata:
object-hash: 2.1.1
open: 7.4.2
ora: 4.1.1
+ os-browserify: 0.3.0
p-event: 4.2.0
p-map: 4.0.0
p-map-series: 2.1.0
@@ -7130,20 +7404,22 @@ __metadata:
pretty-time: 1.1.0
process: 0.11.10
prompt: 1.1.0
- proper-lockfile: 4.1.2
+ punycode: 2.1.1
query-string: 7.0.0
+ querystring-es3: 0.2.1
ramda: 0.27.1
ramda-adjunct: 2.31.1
- react: 16.14.0
+ react: 17.0.2
react-animate-height: 2.0.23
react-app-polyfill: 1.0.6
react-dev-utils: 10.2.1
react-docgen: 5.3.1
react-docgen-typescript: 1.21.0
react-dom: 16.14.0
+ react-error-boundary: ^3.0.0
react-error-overlay: 6.0.9
react-flow-renderer: 8.3.7
- react-native-web: 0.14.13
+ react-native-web: ^0.16.0
react-popper: 2.2.4
react-refresh: 0.9.0
react-router-dom: 5.2.0
@@ -7162,7 +7438,6 @@ __metadata:
resolve-from: 5.0.0
resolve-url-loader: 3.1.2
rewire: 4.0.1
- rxjs: 6.6.3
sass: 1.32.8
sass-loader: 11.0.1
sass-lookup: 3.0.0
@@ -7177,8 +7452,10 @@ __metadata:
source-map-loader: 1.1.3
ssh2: 0.8.9
stream-browserify: 3.0.0
+ stream-http: 3.2.0
string-format: 0.5.0
string-to-color: 2.2.2
+ string_decoder: 1.3.0
stringify-package: 1.0.1
strip-ansi: 6.0.0
style-loader: ^2.0.0
@@ -7190,8 +7467,10 @@ __metadata:
tar: 4.4.13
tar-stream: 2.2.0
terser-webpack-plugin: 5.1.1
+ timers-browserify: 2.0.12
tippy.js: 6.2.7
tsyringe: 4.4.0
+ tty-browserify: 0.0.1
tty-table: 2.8.13
type-coverage: 2.15.1
typedoc: 0.18.0
@@ -7203,9 +7482,11 @@ __metadata:
uniqid: 5.3.0
unist-util-remove: 2.0.1
unist-util-visit: 2.0.3
- url-loader: 4.1.1
+ url: 0.11.0
+ url-join: 4.0.1
url-parse: 1.4.7
use-animation-frame: 0.1.0
+ use-debounce: 6.0.1
user-home: 2.0.0
util: 0.12.3
uuid: 3.4.0
@@ -7215,29 +7496,44 @@ __metadata:
vfile: 4.2.0
vinyl: 2.2.1
vinyl-file: 3.0.0
+ vm-browserify: 1.1.2
vscode-icons-js: 11.0.0
vscode-languageclient: 6.1.3
vscode-languageserver: 6.1.1
vscode-ws-jsonrpc: 0.2.0
vue-template-compiler: 2.6.12
- webpack: 5.30.0
+ webpack: 5.35.0
webpack-dev-middleware: 4.1.0
webpack-dev-server: 4.0.0-beta.2
webpack-hot-middleware: 2.25.0
- webpack-manifest-plugin: 3.1.0
+ webpack-manifest-plugin: 3.1.1
webpack-merge: 5.7.3
winston: 3.3.3
- workbox-webpack-plugin: 6.1.2
+ workbox-webpack-plugin: 6.1.5
ws: 7.4.2
yaml: 1.10.2
+ yargs: 17.0.1
yn: 2.0.0
peerDependencies:
- "@teambit/legacy": 1.0.62
+ "@teambit/legacy": 1.0.98
bin:
bit: bin/bit.js
languageName: unknown
linkType: soft
+"@teambit/mdx.ui.mdx-scope-context@npm:0.0.368":
+ version: 0.0.368
+ resolution: "@teambit/mdx.ui.mdx-scope-context@npm:0.0.368::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fmdx.ui.mdx-scope-context%2F-%2Fmdx.ui.mdx-scope-context-0.0.368.tgz"
+ dependencies:
+ core-js: ^3.0.0
+ peerDependencies:
+ "@teambit/legacy": 1.0.86
+ react: ^16.8.0 || ^17.0.0
+ react-dom: ^16.8.0 || ^17.0.0
+ checksum: 1fa908b761a60bb0f8f5e0d0e4984bd5cabbb51136ab43bad71732e75e6c2d9306fe160725dfc0f11f5528d515bc79c38ee8b627f525ea6ff38b626e4606fb0a
+ languageName: node
+ linkType: hard
+
"@teambit/model.composition-id@npm:0.0.259":
version: 0.0.259
resolution: "@teambit/model.composition-id@npm:0.0.259::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fmodel.composition-id%2F-%2Fmodel.composition-id-0.0.259.tgz"
@@ -7299,6 +7595,32 @@ __metadata:
languageName: node
linkType: hard
+"@teambit/react.instructions.react.adding-compositions@npm:0.0.5":
+ version: 0.0.5
+ resolution: "@teambit/react.instructions.react.adding-compositions@npm:0.0.5::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Freact.instructions.react.adding-compositions%2F-%2Freact.instructions.react.adding-compositions-0.0.5.tgz"
+ dependencies:
+ "@teambit/ui.mdx-scope-context": 0.0.367
+ core-js: ^3.0.0
+ peerDependencies:
+ react: ^16.8.0 || ^17.0.0
+ react-dom: ^16.8.0 || ^17.0.0
+ checksum: 144deaa3dea10cfcdcb07bba25f0ccf2816704d4a6f36820c7514f52c3b988b403a3e173d9136650a30cfa9edad7bf210942bf3f4ea509b00ea1f2122160bf55
+ languageName: node
+ linkType: hard
+
+"@teambit/react.instructions.react.adding-tests@npm:0.0.5":
+ version: 0.0.5
+ resolution: "@teambit/react.instructions.react.adding-tests@npm:0.0.5::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Freact.instructions.react.adding-tests%2F-%2Freact.instructions.react.adding-tests-0.0.5.tgz"
+ dependencies:
+ "@teambit/ui.mdx-scope-context": 0.0.367
+ core-js: ^3.0.0
+ peerDependencies:
+ react: ^16.8.0 || ^17.0.0
+ react-dom: ^16.8.0 || ^17.0.0
+ checksum: b85de02df3c6d6ff86c03e50d6336e23c5e4e4f0da00eb6a9f42bc94f6bb8f9a748a97bd23dd0f2f726a162990834dde637b91708ce6102451d4b5b0c0af6c7f
+ languageName: node
+ linkType: hard
+
"@teambit/string.ellipsis@npm:0.0.7":
version: 0.0.7
resolution: "@teambit/string.ellipsis@npm:0.0.7::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fstring.ellipsis%2F-%2Fstring.ellipsis-0.0.7.tgz"
@@ -7330,6 +7652,92 @@ __metadata:
languageName: node
linkType: hard
+"@teambit/ui.is-browser@npm:0.0.363":
+ version: 0.0.363
+ resolution: "@teambit/ui.is-browser@npm:0.0.363::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fui.is-browser%2F-%2Fui.is-browser-0.0.363.tgz"
+ dependencies:
+ core-js: ^3.0.0
+ peerDependencies:
+ "@teambit/legacy": 1.0.81
+ react: ^16.8.0 || ^17.0.0
+ react-dom: ^16.8.0 || ^17.0.0
+ checksum: 45dc6ff682caea71080071ef54997dfd423e4ad39df6134059b31b25236338095ed42a52dfbfaf33bbffde7c6bf2cf62f3d336084db860c0127d0d555db1b975
+ languageName: node
+ linkType: hard
+
+"@teambit/ui.mdx-scope-context@npm:0.0.367":
+ version: 0.0.367
+ resolution: "@teambit/ui.mdx-scope-context@npm:0.0.367::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fui.mdx-scope-context%2F-%2Fui.mdx-scope-context-0.0.367.tgz"
+ dependencies:
+ core-js: ^3.0.0
+ peerDependencies:
+ "@teambit/legacy": 1.0.85
+ react: ^16.8.0 || ^17.0.0
+ react-dom: ^16.8.0 || ^17.0.0
+ checksum: 493131e48e4fcbe4f1427942c8eb32d2e1107aaad24e9717e764a78bbc5c15e75dc9f4b594c0ba3a5f32ff025992663810612e2e8d2b92c9ed514ad2cebad3b2
+ languageName: node
+ linkType: hard
+
+"@teambit/ui.routing.compare-url@npm:0.0.363":
+ version: 0.0.363
+ resolution: "@teambit/ui.routing.compare-url@npm:0.0.363::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fui.routing.compare-url%2F-%2Fui.routing.compare-url-0.0.363.tgz"
+ dependencies:
+ core-js: ^3.0.0
+ url-parse: 1.4.7
+ peerDependencies:
+ "@teambit/legacy": 1.0.81
+ react: ^16.8.0 || ^17.0.0
+ react-dom: ^16.8.0 || ^17.0.0
+ checksum: 735fbb2d72b0cd4b4f16483f5941596be29874f184574c1fa207adbc12d3dab5f9056093737d358817170fbd689aeead71572ed23dc64bff94433d16fd22765b
+ languageName: node
+ linkType: hard
+
+"@teambit/ui.routing.native-link@npm:0.0.364":
+ version: 0.0.364
+ resolution: "@teambit/ui.routing.native-link@npm:0.0.364::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fui.routing.native-link%2F-%2Fui.routing.native-link-0.0.364.tgz"
+ dependencies:
+ core-js: ^3.0.0
+ peerDependencies:
+ "@teambit/legacy": 1.0.81
+ react: ^16.8.0 || ^17.0.0
+ react-dom: ^16.8.0 || ^17.0.0
+ checksum: cd77eb3c4b92b73a86bd3fa797d5250e0f96c1635ef88c7daecf6a31a5d0ff46fd3e3f2a9f9f4ffd6669e5c22d2b98ef2707913d847111b6e49b667af7fb9e33
+ languageName: node
+ linkType: hard
+
+"@teambit/ui.routing.native-nav-link@npm:0.0.364":
+ version: 0.0.364
+ resolution: "@teambit/ui.routing.native-nav-link@npm:0.0.364::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fui.routing.native-nav-link%2F-%2Fui.routing.native-nav-link-0.0.364.tgz"
+ dependencies:
+ "@teambit/ui.is-browser": 0.0.363
+ "@teambit/ui.routing.compare-url": 0.0.363
+ "@teambit/ui.routing.native-link": 0.0.364
+ classnames: 2.2.6
+ core-js: ^3.0.0
+ peerDependencies:
+ "@teambit/legacy": 1.0.81
+ react: ^16.8.0 || ^17.0.0
+ react-dom: ^16.8.0 || ^17.0.0
+ checksum: f7ca965fe9867f405c8626c5aa7a776c06e57349e7be9620f07edb89db8395861b2da9a9084b3aa19158f85003cc1abe23c3a517173988ecd54c4758a5fd0ffd
+ languageName: node
+ linkType: hard
+
+"@teambit/ui.routing.provider@npm:0.0.364":
+ version: 0.0.364
+ resolution: "@teambit/ui.routing.provider@npm:0.0.364::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40teambit%2Fui.routing.provider%2F-%2Fui.routing.provider-0.0.364.tgz"
+ dependencies:
+ "@teambit/ui.is-browser": 0.0.363
+ "@teambit/ui.routing.native-link": 0.0.364
+ "@teambit/ui.routing.native-nav-link": 0.0.364
+ core-js: ^3.0.0
+ peerDependencies:
+ "@teambit/legacy": 1.0.81
+ react: ^16.8.0 || ^17.0.0
+ react-dom: ^16.8.0 || ^17.0.0
+ checksum: fedb2f72e0837fc25c8e32289d64879677fa719ec83c758c3396e51c80b79e28647e68922e8a4e3e667f469c860b78b19194ad36db01cfbf1dc58b108e6dfcab
+ languageName: node
+ linkType: hard
+
"@testing-library/dom@npm:^7.28.1":
version: 7.30.0
resolution: "@testing-library/dom@npm:7.30.0::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40testing-library%2Fdom%2F-%2Fdom-7.30.0.tgz"
@@ -7672,7 +8080,7 @@ __metadata:
languageName: node
linkType: hard
-"@types/estree@npm:*, @types/estree@npm:^0.0.46":
+"@types/estree@npm:*":
version: 0.0.46
resolution: "@types/estree@npm:0.0.46::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40types%2Festree%2F-%2Festree-0.0.46.tgz"
checksum: 620f7549c8cf99fe1c91a943a42ae2684c18f6007dc1bd6a439a2bf3204022ab746ffb3be5244c70d43a822beeb3c948216be1a69cb25e79005daeca4ebe5722
@@ -7686,6 +8094,13 @@ __metadata:
languageName: node
linkType: hard
+"@types/estree@npm:^0.0.47":
+ version: 0.0.47
+ resolution: "@types/estree@npm:0.0.47::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40types%2Festree%2F-%2Festree-0.0.47.tgz"
+ checksum: aed5c940436250c25c5e140aa19e7199ba3452e72e1aecc515621507df9e5ed5076ddba84a1684c36d62be841ff3e2bafce8793f16fe6f69d10884449d4461e7
+ languageName: node
+ linkType: hard
+
"@types/express-serve-static-core@npm:*, @types/express-serve-static-core@npm:4.17.18, @types/express-serve-static-core@npm:^4.17.18":
version: 4.17.18
resolution: "@types/express-serve-static-core@npm:4.17.18::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40types%2Fexpress-serve-static-core%2F-%2Fexpress-serve-static-core-4.17.18.tgz"
@@ -8010,6 +8425,13 @@ __metadata:
languageName: node
linkType: hard
+"@types/lodash@npm:^4.14.165":
+ version: 4.14.170
+ resolution: "@types/lodash@npm:4.14.170::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40types%2Flodash%2F-%2Flodash-4.14.170.tgz"
+ checksum: 238a440804e787b85461cc280a11926c80779f7502fec21a70b4424d5feba4cc34cdcbbbc1dca2ec5e75b06d5dc42e42add798be3b6651e8dce9f4b5318d6022
+ languageName: node
+ linkType: hard
+
"@types/long@npm:^4.0.0":
version: 4.0.1
resolution: "@types/long@npm:4.0.1::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40types%2Flong%2F-%2Flong-4.0.1.tgz"
@@ -8056,6 +8478,13 @@ __metadata:
languageName: node
linkType: hard
+"@types/minimatch@npm:3.0.4":
+ version: 3.0.4
+ resolution: "@types/minimatch@npm:3.0.4::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40types%2Fminimatch%2F-%2Fminimatch-3.0.4.tgz"
+ checksum: 583a174116b56f405e8f45680fd06ee674442543cd875b8570a046bd2695fdcfb84ffd8b7ef4c84e11e2ba0fe7e467fc6fd95e134d389ebcefc2ddefd01ea9c8
+ languageName: node
+ linkType: hard
+
"@types/mocha@npm:5.2.7":
version: 5.2.7
resolution: "@types/mocha@npm:5.2.7::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40types%2Fmocha%2F-%2Fmocha-5.2.7.tgz"
@@ -8180,15 +8609,6 @@ __metadata:
languageName: node
linkType: hard
-"@types/proper-lockfile@npm:4.1.1":
- version: 4.1.1
- resolution: "@types/proper-lockfile@npm:4.1.1::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40types%2Fproper-lockfile%2F-%2Fproper-lockfile-4.1.1.tgz"
- dependencies:
- "@types/retry": "*"
- checksum: 7bb0a6c77c2563bfd601f3e32d95a6b1107604ddb8b2941ae739c1aeead35036b75b0ccb470b0f119ffc10e48b06fc79a1be68eed5581d65615bb512cc1e6ec5
- languageName: node
- linkType: hard
-
"@types/puppeteer@npm:3.0.5":
version: 3.0.5
resolution: "@types/puppeteer@npm:3.0.5::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40types%2Fpuppeteer%2F-%2Fpuppeteer-3.0.5.tgz"
@@ -8219,12 +8639,12 @@ __metadata:
languageName: node
linkType: hard
-"@types/react-dom@npm:^16.8.0":
- version: 16.9.12
- resolution: "@types/react-dom@npm:16.9.12::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40types%2Freact-dom%2F-%2Freact-dom-16.9.12.tgz"
+"@types/react-dom@npm:^17.0.5":
+ version: 17.0.6
+ resolution: "@types/react-dom@npm:17.0.6::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40types%2Freact-dom%2F-%2Freact-dom-17.0.6.tgz"
dependencies:
- "@types/react": ^16
- checksum: 9c6c3ee42671d98d585046ae3ff14dd56772e490608ffb7efdb0d0be74bb4347c3cf4d5ff30b03d631cee3e3df444ba759570e5b119f55432e2e2278b4757cab
+ "@types/react": "*"
+ checksum: cc167c24a77cef2be8dcabd1bbe8b95c0d713b943b2f1c8a1468c8009c50daad51a46859a217a8383b89bb4ea499937d405699ce8db164f70c871f9d22d703f0
languageName: node
linkType: hard
@@ -8277,24 +8697,14 @@ __metadata:
languageName: node
linkType: hard
-"@types/react@npm:^16":
- version: 16.14.4
- resolution: "@types/react@npm:16.14.4::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40types%2Freact%2F-%2Freact-16.14.4.tgz"
- dependencies:
- "@types/prop-types": "*"
- csstype: ^3.0.2
- checksum: a53a9ffc9c83e92cc4eca280e5ec4d299edf0f08e771415438440173c0c99c5e8e64eeed0bc1a157f016adf9e0e4c463daaab5a251da126a4b8b04a38380c0df
- languageName: node
- linkType: hard
-
-"@types/react@npm:^16.8.0":
- version: 16.14.5
- resolution: "@types/react@npm:16.14.5::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40types%2Freact%2F-%2Freact-16.14.5.tgz"
+"@types/react@npm:^17.0.8":
+ version: 17.0.11
+ resolution: "@types/react@npm:17.0.11::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40types%2Freact%2F-%2Freact-17.0.11.tgz"
dependencies:
"@types/prop-types": "*"
"@types/scheduler": "*"
csstype: ^3.0.2
- checksum: 5dd962b769e88e4390dbfb93cdb99f5db964d80c1da92bf8c34a570971cae2c1bbe0c399bace0d070ef4a253d41aa8f40c6ac7c5bc6979ef24c95740819380e6
+ checksum: 89e80ee8e08988abca0266e5e131f57b2e18f326bebfa0ed0a06b0bca29621a5a8202d617254a053f659b9c18090c52cae0aa475a6c6036b8858030f1d448e47
languageName: node
linkType: hard
@@ -8316,7 +8726,7 @@ __metadata:
languageName: node
linkType: hard
-"@types/retry@npm:*, @types/retry@npm:^0.12.0":
+"@types/retry@npm:^0.12.0":
version: 0.12.0
resolution: "@types/retry@npm:0.12.0::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40types%2Fretry%2F-%2Fretry-0.12.0.tgz"
checksum: 61a072c7639f6e8126588bf1eb1ce8835f2cb9c2aba795c4491cf6310e013267b0c8488039857c261c387e9728c1b43205099223f160bb6a76b4374f741b5603
@@ -8402,7 +8812,7 @@ __metadata:
languageName: node
linkType: hard
-"@types/testing-library__jest-dom@npm:^5.9.1":
+"@types/testing-library__jest-dom@npm:5.9.5, @types/testing-library__jest-dom@npm:^5.9.1":
version: 5.9.5
resolution: "@types/testing-library__jest-dom@npm:5.9.5::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40types%2Ftesting-library__jest-dom%2F-%2Ftesting-library__jest-dom-5.9.5.tgz"
dependencies:
@@ -8448,6 +8858,13 @@ __metadata:
languageName: node
linkType: hard
+"@types/url-join@npm:4.0.0":
+ version: 4.0.0
+ resolution: "@types/url-join@npm:4.0.0::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40types%2Furl-join%2F-%2Furl-join-4.0.0.tgz"
+ checksum: e17e9f18b83d537fbb28d0dfdc3e8fca92d2e0d665bb9867bb204cf713fd8d569324c46ba98012c1de9361924474b5374f91da446f2d3034ca858609e0abe36e
+ languageName: node
+ linkType: hard
+
"@types/url-parse@npm:1.4.3":
version: 1.4.3
resolution: "@types/url-parse@npm:1.4.3::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40types%2Furl-parse%2F-%2Furl-parse-1.4.3.tgz"
@@ -8548,6 +8965,15 @@ __metadata:
languageName: node
linkType: hard
+"@types/yargs@npm:17.0.0":
+ version: 17.0.0
+ resolution: "@types/yargs@npm:17.0.0::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40types%2Fyargs%2F-%2Fyargs-17.0.0.tgz"
+ dependencies:
+ "@types/yargs-parser": "*"
+ checksum: a9963dd351737a4f03eeda631848e1e0a8d687a8d463c882a5446ca0b420cd78b7b1c87e22e7a48429809281dd9dd1c0bfe8442100d4172919c30c7294f11e8b
+ languageName: node
+ linkType: hard
+
"@types/yargs@npm:^15.0.0":
version: 15.0.13
resolution: "@types/yargs@npm:15.0.13::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40types%2Fyargs%2F-%2Fyargs-15.0.13.tgz"
@@ -9295,56 +9721,56 @@ __metadata:
languageName: node
linkType: hard
-"@yarnpkg/cli@npm:3.0.0-rc.2":
- version: 3.0.0-rc.2
- resolution: "@yarnpkg/cli@npm:3.0.0-rc.2::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40yarnpkg%2Fcli%2F-%2Fcli-3.0.0-rc.2.tgz"
- dependencies:
- "@yarnpkg/core": ^3.0.0-rc.2
- "@yarnpkg/fslib": ^2.5.0-rc.2
- "@yarnpkg/libzip": ^2.2.1
- "@yarnpkg/parsers": ^2.3.1-rc.2
- "@yarnpkg/plugin-compat": ^3.0.0-rc.2
- "@yarnpkg/plugin-dlx": ^3.0.0-rc.2
- "@yarnpkg/plugin-essentials": ^3.0.0-rc.2
- "@yarnpkg/plugin-file": ^2.2.1-rc.2
- "@yarnpkg/plugin-git": ^2.4.0-rc.2
- "@yarnpkg/plugin-github": ^2.2.0-rc.2
- "@yarnpkg/plugin-http": ^2.1.3-rc.2
- "@yarnpkg/plugin-init": ^3.0.0-rc.2
- "@yarnpkg/plugin-link": ^2.1.2-rc.2
- "@yarnpkg/plugin-node-modules": ^3.0.0-rc.2
- "@yarnpkg/plugin-npm": ^2.5.0-rc.2
- "@yarnpkg/plugin-npm-cli": ^3.0.0-rc.2
- "@yarnpkg/plugin-pack": ^3.0.0-rc.2
- "@yarnpkg/plugin-patch": ^3.0.0-rc.2
- "@yarnpkg/plugin-pnp": ^3.0.0-rc.2
- "@yarnpkg/shell": ^3.0.0-rc.2
+"@yarnpkg/cli@npm:3.0.0-rc.5":
+ version: 3.0.0-rc.5
+ resolution: "@yarnpkg/cli@npm:3.0.0-rc.5::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40yarnpkg%2Fcli%2F-%2Fcli-3.0.0-rc.5.tgz"
+ dependencies:
+ "@yarnpkg/core": ^3.0.0-rc.5
+ "@yarnpkg/fslib": ^2.5.0-rc.5
+ "@yarnpkg/libzip": ^2.2.2-rc.3
+ "@yarnpkg/parsers": ^2.4.0-rc.3
+ "@yarnpkg/plugin-compat": ^3.0.0-rc.5
+ "@yarnpkg/plugin-dlx": ^3.0.0-rc.5
+ "@yarnpkg/plugin-essentials": ^3.0.0-rc.5
+ "@yarnpkg/plugin-file": ^2.2.1-rc.5
+ "@yarnpkg/plugin-git": ^2.4.0-rc.5
+ "@yarnpkg/plugin-github": ^2.2.0-rc.5
+ "@yarnpkg/plugin-http": ^2.1.3-rc.5
+ "@yarnpkg/plugin-init": ^3.0.0-rc.5
+ "@yarnpkg/plugin-link": ^2.1.2-rc.5
+ "@yarnpkg/plugin-node-modules": ^3.0.0-rc.5
+ "@yarnpkg/plugin-npm": ^2.5.0-rc.5
+ "@yarnpkg/plugin-npm-cli": ^3.0.0-rc.5
+ "@yarnpkg/plugin-pack": ^3.0.0-rc.5
+ "@yarnpkg/plugin-patch": ^3.0.0-rc.5
+ "@yarnpkg/plugin-pnp": ^3.0.0-rc.5
+ "@yarnpkg/shell": ^3.0.0-rc.5
chalk: ^3.0.0
ci-info: ^2.0.0
clipanion: ^3.0.0-rc.10
- fromentries: ^1.2.0
semver: ^7.1.2
tslib: ^1.13.0
typanion: ^3.3.0
+ yup: ^0.32.9
peerDependencies:
- "@yarnpkg/core": ^3.0.0-rc.2
- checksum: 0643b7965c1ddfd9f8cb56841d683313df64453b5784d1b72c0b75c90dafdd7e3e4ec6317c7ae8048d7fa45ca3e5c9110c43a92f7e58d653b30e35e80561ba53
+ "@yarnpkg/core": ^3.0.0-rc.5
+ checksum: 9c21bdbcf6624702557d9a02159eb15ef749b9f05a9c5e19a4bba64d50f90058a7fdab7a5fab34e6d1c2d4ad2c414ad52d9cb46c35fb1eddfa63b41c69d5a0be
languageName: node
linkType: hard
-"@yarnpkg/core@npm:3.0.0-rc.2, @yarnpkg/core@npm:^3.0.0-rc.2":
- version: 3.0.0-rc.2
- resolution: "@yarnpkg/core@npm:3.0.0-rc.2::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40yarnpkg%2Fcore%2F-%2Fcore-3.0.0-rc.2.tgz"
+"@yarnpkg/core@npm:3.0.0-rc.5, @yarnpkg/core@npm:^3.0.0-rc.5":
+ version: 3.0.0-rc.5
+ resolution: "@yarnpkg/core@npm:3.0.0-rc.5::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40yarnpkg%2Fcore%2F-%2Fcore-3.0.0-rc.5.tgz"
dependencies:
"@arcanis/slice-ansi": ^1.0.2
"@types/semver": ^7.1.0
"@types/treeify": ^1.0.0
- "@yarnpkg/fslib": ^2.5.0-rc.2
- "@yarnpkg/json-proxy": ^2.1.0
- "@yarnpkg/libzip": ^2.2.1
- "@yarnpkg/parsers": ^2.3.1-rc.2
- "@yarnpkg/pnp": ^3.0.0-rc.2
- "@yarnpkg/shell": ^3.0.0-rc.2
+ "@yarnpkg/fslib": ^2.5.0-rc.5
+ "@yarnpkg/json-proxy": ^2.1.1-rc.3
+ "@yarnpkg/libzip": ^2.2.2-rc.3
+ "@yarnpkg/parsers": ^2.4.0-rc.3
+ "@yarnpkg/pnp": ^3.0.0-rc.5
+ "@yarnpkg/shell": ^3.0.0-rc.5
camelcase: ^5.3.1
chalk: ^3.0.0
ci-info: ^2.0.0
@@ -9358,6 +9784,7 @@ __metadata:
micromatch: ^4.0.2
mkdirp: ^0.5.1
p-limit: ^2.2.0
+ p-queue: ^6.0.0
pluralize: ^7.0.0
pretty-bytes: ^5.1.0
semver: ^7.1.2
@@ -9367,21 +9794,21 @@ __metadata:
treeify: ^1.1.0
tslib: ^1.13.0
tunnel: ^0.0.6
- checksum: 5a1be6d10a5b81dbfd41eea32f63a38878bc5a522c4c05c739b663b7053bde67f375f1a3f719c1157d4e51d9f58889b04351400b01f4e1c4352c5e86edfd6456
+ checksum: e9ef0d84d7162d2dc3d43b4ef6b65284d1b9b23ae840a7d45ede6fc49930ca66af37b1866c59ca520d0036eb1c3fffea88307108648a32c740c0b2630942fe99
languageName: node
linkType: hard
-"@yarnpkg/fslib@npm:2.5.0-rc.2, @yarnpkg/fslib@npm:^2.5.0-rc.2":
- version: 2.5.0-rc.2
- resolution: "@yarnpkg/fslib@npm:2.5.0-rc.2::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40yarnpkg%2Ffslib%2F-%2Ffslib-2.5.0-rc.2.tgz"
+"@yarnpkg/fslib@npm:2.5.0-rc.5, @yarnpkg/fslib@npm:^2.5.0-rc.5":
+ version: 2.5.0-rc.5
+ resolution: "@yarnpkg/fslib@npm:2.5.0-rc.5::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40yarnpkg%2Ffslib%2F-%2Ffslib-2.5.0-rc.5.tgz"
dependencies:
- "@yarnpkg/libzip": ^2.2.1
+ "@yarnpkg/libzip": ^2.2.2-rc.3
tslib: ^1.13.0
- checksum: 50f65e8f096d9efd326735d1dd927b00a55f9ea83288cd0e5d058f8e5f97c28c8c12e3ea3f9c0a5d229b4813f12e9e2f287c7e7cc5304aa1a4d58f5834a182fb
+ checksum: 3a4f8432502eaf9fed669aca9a7dc98dd0eb2e50b244fcdee93c81e75d6445f45e283904dee8c273cfa0f6bb29e1a86f26cdbe260cdda82551a81bf5f21f25b6
languageName: node
linkType: hard
-"@yarnpkg/fslib@npm:^2.1.0, @yarnpkg/fslib@npm:^2.4.0":
+"@yarnpkg/fslib@npm:^2.4.0":
version: 2.4.0
resolution: "@yarnpkg/fslib@npm:2.4.0::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40yarnpkg%2Ffslib%2F-%2Ffslib-2.4.0.tgz"
dependencies:
@@ -9391,13 +9818,13 @@ __metadata:
languageName: node
linkType: hard
-"@yarnpkg/json-proxy@npm:^2.1.0":
- version: 2.1.0
- resolution: "@yarnpkg/json-proxy@npm:2.1.0::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40yarnpkg%2Fjson-proxy%2F-%2Fjson-proxy-2.1.0.tgz"
+"@yarnpkg/json-proxy@npm:^2.1.1-rc.3":
+ version: 2.1.1-rc.3
+ resolution: "@yarnpkg/json-proxy@npm:2.1.1-rc.3::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40yarnpkg%2Fjson-proxy%2F-%2Fjson-proxy-2.1.1-rc.3.tgz"
dependencies:
- "@yarnpkg/fslib": ^2.1.0
+ "@yarnpkg/fslib": ^2.5.0-rc.5
tslib: ^1.13.0
- checksum: f381d7be9da2d1414706e66ba3f593c78c6eabeb2aea95f9905a332689d654e840676dd0fbe6580eb451bb31eeba015ddab653281006b66e95ce5ebe1e8971b2
+ checksum: f6f10a392caf1e3fbfb4f66ecdf8961b234838cd69162ea9df186afe2066851c9b248c1032cc336063831dd2838ea4c699a61c7145b93212a8bd5dfc10e43233
languageName: node
linkType: hard
@@ -9411,6 +9838,16 @@ __metadata:
languageName: node
linkType: hard
+"@yarnpkg/libzip@npm:^2.2.2-rc.3":
+ version: 2.2.2-rc.3
+ resolution: "@yarnpkg/libzip@npm:2.2.2-rc.3::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40yarnpkg%2Flibzip%2F-%2Flibzip-2.2.2-rc.3.tgz"
+ dependencies:
+ "@types/emscripten": ^1.38.0
+ tslib: ^1.13.0
+ checksum: f9e03786dbae7e61c839ec5f57deb42b26d3d902c9b4449be503aff7a0be7cab1a53ed9dc81e80e813f61d65f6d5ca1e342dfd9733ff12c25add8f1ca7a7718c
+ languageName: node
+ linkType: hard
+
"@yarnpkg/parsers@npm:^2.3.0":
version: 2.3.0
resolution: "@yarnpkg/parsers@npm:2.3.0::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40yarnpkg%2Fparsers%2F-%2Fparsers-2.3.0.tgz"
@@ -9421,48 +9858,48 @@ __metadata:
languageName: node
linkType: hard
-"@yarnpkg/parsers@npm:^2.3.1-rc.2":
- version: 2.3.1-rc.2
- resolution: "@yarnpkg/parsers@npm:2.3.1-rc.2::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40yarnpkg%2Fparsers%2F-%2Fparsers-2.3.1-rc.2.tgz"
+"@yarnpkg/parsers@npm:^2.4.0-rc.3":
+ version: 2.4.0-rc.3
+ resolution: "@yarnpkg/parsers@npm:2.4.0-rc.3::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40yarnpkg%2Fparsers%2F-%2Fparsers-2.4.0-rc.3.tgz"
dependencies:
js-yaml: ^3.10.0
tslib: ^1.13.0
- checksum: 2629e8aeb6ef3ff4bed1ff9e387ae8a0b0f402ff59cec958701f0ea7cde5029316cef489d98b519a888b14954ba7478255f7ff5cca4e4252cbb2bdbf8c2aa008
+ checksum: e99926949bb850b2d09dc4952a6ded194b89a4938cc937175f34920e6e20cdc4428862b49ee1dd986a9151809f2d79ae2eb7faba8ab694a056b6cfa228bebd23
languageName: node
linkType: hard
-"@yarnpkg/plugin-compat@npm:^3.0.0-rc.2":
- version: 3.0.0-rc.2
- resolution: "@yarnpkg/plugin-compat@npm:3.0.0-rc.2::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40yarnpkg%2Fplugin-compat%2F-%2Fplugin-compat-3.0.0-rc.2.tgz"
+"@yarnpkg/plugin-compat@npm:^3.0.0-rc.5":
+ version: 3.0.0-rc.5
+ resolution: "@yarnpkg/plugin-compat@npm:3.0.0-rc.5::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40yarnpkg%2Fplugin-compat%2F-%2Fplugin-compat-3.0.0-rc.5.tgz"
peerDependencies:
- "@yarnpkg/core": ^3.0.0-rc.2
- "@yarnpkg/plugin-patch": ^3.0.0-rc.2
- checksum: 63da316fb6dfed252800b4a6f8d1888affafeef979bed3cad6ed2a7db9cd3fcfdc14698301b8e1bf7a74b54c7edb634df313a201dcd293d888ddd2186d3f1383
+ "@yarnpkg/core": ^3.0.0-rc.5
+ "@yarnpkg/plugin-patch": ^3.0.0-rc.5
+ checksum: 9d88cd0688f84b7178a7cae20b65c3a4e52ad480d1d6b3460f9899d7addd8fbc2706e1e8da25689fa3d9c10a7b4a2f7f5e0e0154ea5b83cecc8359b3d594e161
languageName: node
linkType: hard
-"@yarnpkg/plugin-dlx@npm:^3.0.0-rc.2":
- version: 3.0.0-rc.2
- resolution: "@yarnpkg/plugin-dlx@npm:3.0.0-rc.2::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40yarnpkg%2Fplugin-dlx%2F-%2Fplugin-dlx-3.0.0-rc.2.tgz"
+"@yarnpkg/plugin-dlx@npm:^3.0.0-rc.5":
+ version: 3.0.0-rc.5
+ resolution: "@yarnpkg/plugin-dlx@npm:3.0.0-rc.5::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40yarnpkg%2Fplugin-dlx%2F-%2Fplugin-dlx-3.0.0-rc.5.tgz"
dependencies:
- "@yarnpkg/fslib": ^2.5.0-rc.2
- "@yarnpkg/json-proxy": ^2.1.0
+ "@yarnpkg/fslib": ^2.5.0-rc.5
+ "@yarnpkg/json-proxy": ^2.1.1-rc.3
clipanion: ^3.0.0-rc.10
tslib: ^1.13.0
peerDependencies:
- "@yarnpkg/cli": ^3.0.0-rc.2
- "@yarnpkg/core": ^3.0.0-rc.2
- checksum: 82b2ce859e764851938aa2b0ace295b414b4a7e9c10752b543ac85fd6a065a72ed810066092c4ad00c6d2ee981b941225e636c06ccb0a98f3255c6b7818d17db
+ "@yarnpkg/cli": ^3.0.0-rc.5
+ "@yarnpkg/core": ^3.0.0-rc.5
+ checksum: 7cded4df9b0b88e5cb9e0abf4fde8ca99a8f866e5ab95bab9996e6eac220841e9c2094ffd1f6309c4092acc4f723eabfe875a8f27eb7d1a529e1fbb01a17c80f
languageName: node
linkType: hard
-"@yarnpkg/plugin-essentials@npm:^3.0.0-rc.2":
- version: 3.0.0-rc.2
- resolution: "@yarnpkg/plugin-essentials@npm:3.0.0-rc.2::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40yarnpkg%2Fplugin-essentials%2F-%2Fplugin-essentials-3.0.0-rc.2.tgz"
+"@yarnpkg/plugin-essentials@npm:^3.0.0-rc.5":
+ version: 3.0.0-rc.5
+ resolution: "@yarnpkg/plugin-essentials@npm:3.0.0-rc.5::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40yarnpkg%2Fplugin-essentials%2F-%2Fplugin-essentials-3.0.0-rc.5.tgz"
dependencies:
- "@yarnpkg/fslib": ^2.5.0-rc.2
- "@yarnpkg/json-proxy": ^2.1.0
- "@yarnpkg/parsers": ^2.3.1-rc.2
+ "@yarnpkg/fslib": ^2.5.0-rc.5
+ "@yarnpkg/json-proxy": ^2.1.1-rc.3
+ "@yarnpkg/parsers": ^2.4.0-rc.3
ci-info: ^2.0.0
clipanion: ^3.0.0-rc.10
enquirer: ^2.3.6
@@ -9472,208 +9909,208 @@ __metadata:
tslib: ^1.13.0
typanion: ^3.3.0
peerDependencies:
- "@yarnpkg/cli": ^3.0.0-rc.2
- "@yarnpkg/core": ^3.0.0-rc.2
- checksum: 1340da186f0de26b99a62c768bab73a47362648a3713abac88e050f5a0d485d684107fc411f1a05bbf533b6dde1b06aad7cded8b868217e73beb8eba4bfbd644
+ "@yarnpkg/cli": ^3.0.0-rc.5
+ "@yarnpkg/core": ^3.0.0-rc.5
+ checksum: a8661a5f136b7df9c47669bc98023f66d0d97de64373b5af45aaa6a577f1162aeb7ecafe58d4b9752c47a7f594a95ad40b91601577463a6cfb5722a61b7cae8c
languageName: node
linkType: hard
-"@yarnpkg/plugin-file@npm:^2.2.1-rc.2":
- version: 2.2.1-rc.2
- resolution: "@yarnpkg/plugin-file@npm:2.2.1-rc.2::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40yarnpkg%2Fplugin-file%2F-%2Fplugin-file-2.2.1-rc.2.tgz"
+"@yarnpkg/plugin-file@npm:^2.2.1-rc.5":
+ version: 2.2.1-rc.5
+ resolution: "@yarnpkg/plugin-file@npm:2.2.1-rc.5::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40yarnpkg%2Fplugin-file%2F-%2Fplugin-file-2.2.1-rc.5.tgz"
dependencies:
- "@yarnpkg/fslib": ^2.5.0-rc.2
+ "@yarnpkg/fslib": ^2.5.0-rc.5
tslib: ^1.13.0
peerDependencies:
- "@yarnpkg/core": ^3.0.0-rc.2
- checksum: b44f11487f9ed5d13f310a74ea39397fe2e1cf472b73e45b419c8ff2917c5a5b01e802cc731cfd31e654803e567db8b8da2dbaf5daa61339a4cae57b0faea3aa
+ "@yarnpkg/core": ^3.0.0-rc.5
+ checksum: 1bcb0a848aa87d33047b5d990a7e43c3dbfefbd7a3fef43f4aac818709da5659af35cf9bc52a89102419c9ab6cb2778031febc907c43377086d21451e8f1f58e
languageName: node
linkType: hard
-"@yarnpkg/plugin-git@npm:^2.4.0-rc.2":
- version: 2.4.0-rc.2
- resolution: "@yarnpkg/plugin-git@npm:2.4.0-rc.2::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40yarnpkg%2Fplugin-git%2F-%2Fplugin-git-2.4.0-rc.2.tgz"
+"@yarnpkg/plugin-git@npm:^2.4.0-rc.5":
+ version: 2.4.0-rc.5
+ resolution: "@yarnpkg/plugin-git@npm:2.4.0-rc.5::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40yarnpkg%2Fplugin-git%2F-%2Fplugin-git-2.4.0-rc.5.tgz"
dependencies:
"@types/semver": ^7.1.0
- "@yarnpkg/fslib": ^2.5.0-rc.2
+ "@yarnpkg/fslib": ^2.5.0-rc.5
git-url-parse: 11.1.2
semver: ^7.1.2
tslib: ^1.13.0
peerDependencies:
- "@yarnpkg/core": ^3.0.0-rc.2
- checksum: 5919b5eaf85cdabea1e8f5c8b5600f44ae8699ffe423c0e37acceb75c0af1506cfe3dbab7ac72bfdf57725af09e9bbebe3d78af494d49b65b8b05bbdb7cebdc5
+ "@yarnpkg/core": ^3.0.0-rc.5
+ checksum: d8b53f1323c5e8fbe8afb21c2057d559d4d07417ef595c8cb7975ee6ffaaa5b19cf1e0928cf71b69e434d84c5b23a720c3a3fa17f9f8709b96dde6a3b6a3be66
languageName: node
linkType: hard
-"@yarnpkg/plugin-github@npm:^2.2.0-rc.2":
- version: 2.2.0-rc.2
- resolution: "@yarnpkg/plugin-github@npm:2.2.0-rc.2::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40yarnpkg%2Fplugin-github%2F-%2Fplugin-github-2.2.0-rc.2.tgz"
+"@yarnpkg/plugin-github@npm:^2.2.0-rc.5":
+ version: 2.2.0-rc.5
+ resolution: "@yarnpkg/plugin-github@npm:2.2.0-rc.5::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40yarnpkg%2Fplugin-github%2F-%2Fplugin-github-2.2.0-rc.5.tgz"
dependencies:
- "@yarnpkg/fslib": ^2.5.0-rc.2
+ "@yarnpkg/fslib": ^2.5.0-rc.5
tslib: ^1.13.0
peerDependencies:
- "@yarnpkg/core": ^3.0.0-rc.2
- "@yarnpkg/plugin-git": ^2.4.0-rc.2
- checksum: 6696292965e81334aaf6c9514d3cdf3d89d1e49aa9ae55c254102dfb0035efb4c31362a1e0a7267afdf313df1a07b939e37b585a6b3fbb4744999e405ad17717
+ "@yarnpkg/core": ^3.0.0-rc.5
+ "@yarnpkg/plugin-git": ^2.4.0-rc.5
+ checksum: 96589c4ce3bfa200e616c93fa2ec5d7eab63a41eaef59a4545ef35804596ddbcb2e751b831333ca555be9053715f14bad0fb0e3b6f3b2a98b642a950d7e309c7
languageName: node
linkType: hard
-"@yarnpkg/plugin-http@npm:^2.1.3-rc.2":
- version: 2.1.3-rc.2
- resolution: "@yarnpkg/plugin-http@npm:2.1.3-rc.2::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40yarnpkg%2Fplugin-http%2F-%2Fplugin-http-2.1.3-rc.2.tgz"
+"@yarnpkg/plugin-http@npm:^2.1.3-rc.5":
+ version: 2.1.3-rc.5
+ resolution: "@yarnpkg/plugin-http@npm:2.1.3-rc.5::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40yarnpkg%2Fplugin-http%2F-%2Fplugin-http-2.1.3-rc.5.tgz"
dependencies:
- "@yarnpkg/fslib": ^2.5.0-rc.2
+ "@yarnpkg/fslib": ^2.5.0-rc.5
tslib: ^1.13.0
peerDependencies:
- "@yarnpkg/core": ^3.0.0-rc.2
- checksum: e432ebb36de120ab6d648c18c3b0eeed19c5a06d333c603f2770af2d53aef5206d9212d5c9fdd1147eb297638e5db802dc7ac164ebda237c1027c7596841e623
+ "@yarnpkg/core": ^3.0.0-rc.5
+ checksum: fd2f273de660c9ae5a13a4c22f40a41e5a0dde187b93e12624cf10ffc8224d5acae91d1b1f34dcd53e750f160ffcbfb273838cd545c404e97d4549b51ba90c7e
languageName: node
linkType: hard
-"@yarnpkg/plugin-init@npm:^3.0.0-rc.2":
- version: 3.0.0-rc.2
- resolution: "@yarnpkg/plugin-init@npm:3.0.0-rc.2::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40yarnpkg%2Fplugin-init%2F-%2Fplugin-init-3.0.0-rc.2.tgz"
+"@yarnpkg/plugin-init@npm:^3.0.0-rc.5":
+ version: 3.0.0-rc.5
+ resolution: "@yarnpkg/plugin-init@npm:3.0.0-rc.5::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40yarnpkg%2Fplugin-init%2F-%2Fplugin-init-3.0.0-rc.5.tgz"
dependencies:
- "@yarnpkg/fslib": ^2.5.0-rc.2
+ "@yarnpkg/fslib": ^2.5.0-rc.5
clipanion: ^3.0.0-rc.10
lodash: ^4.17.15
tslib: ^1.13.0
peerDependencies:
- "@yarnpkg/cli": ^3.0.0-rc.2
- "@yarnpkg/core": ^3.0.0-rc.2
- checksum: eace1e272ea8fb6b0684e8190fb048dc4dbf2408fe1896a5b7459fdec1004808a06a466458d04c8834ba9662174fe5ee909f89bc9c00fc53095dd75d94254969
+ "@yarnpkg/cli": ^3.0.0-rc.5
+ "@yarnpkg/core": ^3.0.0-rc.5
+ checksum: c0daae45961f7b4d7728ee20806f096b6cc645c6a2332c4f06d9204ab30a7743cfa5d192cc9f865a93072e6add293f328f126332798ce2a14f61ac790a292c02
languageName: node
linkType: hard
-"@yarnpkg/plugin-link@npm:^2.1.2-rc.2":
- version: 2.1.2-rc.2
- resolution: "@yarnpkg/plugin-link@npm:2.1.2-rc.2::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40yarnpkg%2Fplugin-link%2F-%2Fplugin-link-2.1.2-rc.2.tgz"
+"@yarnpkg/plugin-link@npm:^2.1.2-rc.5":
+ version: 2.1.2-rc.5
+ resolution: "@yarnpkg/plugin-link@npm:2.1.2-rc.5::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40yarnpkg%2Fplugin-link%2F-%2Fplugin-link-2.1.2-rc.5.tgz"
dependencies:
- "@yarnpkg/fslib": ^2.5.0-rc.2
+ "@yarnpkg/fslib": ^2.5.0-rc.5
tslib: ^1.13.0
peerDependencies:
- "@yarnpkg/core": ^3.0.0-rc.2
- checksum: ffe2c64e21f23e20b8521528152f6a7cb6ce5133efa96718171f306be797c480332b66fcb8e06c1373fca06201cc02e23c07f017ae883b3bfa275e3b2247697b
+ "@yarnpkg/core": ^3.0.0-rc.5
+ checksum: 32c535e20b063fe53f45626c69a69c7f4341194d3ea87b63b116f9ad1aeacb6cf9d1773a52533fbd2c730c01936b8632b7fe8040ffddfd20077704bc3272eb2e
languageName: node
linkType: hard
-"@yarnpkg/plugin-node-modules@npm:^3.0.0-rc.2":
- version: 3.0.0-rc.2
- resolution: "@yarnpkg/plugin-node-modules@npm:3.0.0-rc.2::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40yarnpkg%2Fplugin-node-modules%2F-%2Fplugin-node-modules-3.0.0-rc.2.tgz"
+"@yarnpkg/plugin-node-modules@npm:^3.0.0-rc.5":
+ version: 3.0.0-rc.5
+ resolution: "@yarnpkg/plugin-node-modules@npm:3.0.0-rc.5::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40yarnpkg%2Fplugin-node-modules%2F-%2Fplugin-node-modules-3.0.0-rc.5.tgz"
dependencies:
- "@yarnpkg/fslib": ^2.5.0-rc.2
- "@yarnpkg/libzip": ^2.2.1
- "@yarnpkg/parsers": ^2.3.1-rc.2
- "@yarnpkg/plugin-pnp": ^3.0.0-rc.2
- "@yarnpkg/pnp": ^3.0.0-rc.2
- "@yarnpkg/pnpify": ^3.0.0-rc.3
- "@zkochan/cmd-shim": ^4.3.0
+ "@yarnpkg/fslib": ^2.5.0-rc.5
+ "@yarnpkg/libzip": ^2.2.2-rc.3
+ "@yarnpkg/parsers": ^2.4.0-rc.3
+ "@yarnpkg/plugin-pnp": ^3.0.0-rc.5
+ "@yarnpkg/pnp": ^3.0.0-rc.5
+ "@yarnpkg/pnpify": ^3.0.0-rc.6
+ "@zkochan/cmd-shim": ^5.1.0
clipanion: ^3.0.0-rc.10
micromatch: ^4.0.2
tslib: ^1.13.0
peerDependencies:
- "@yarnpkg/cli": ^3.0.0-rc.2
- "@yarnpkg/core": ^3.0.0-rc.2
- checksum: 6aee06d208b2dc9ed64c24e18ccddcb7de01e3e36320fd2f7f2cce23928d454a460eb1f4557166131dc66717e604d1235109b7e7f3a8280d8aae00b5a1bebee3
+ "@yarnpkg/cli": ^3.0.0-rc.5
+ "@yarnpkg/core": ^3.0.0-rc.5
+ checksum: ff1c960b9191540acda9cadba4e299d640a44efc12131d5666d050e45394c09fe82d5300cfefd1d283a71322dfadbdb3451a80a78a28377a42a511e2d7399e35
languageName: node
linkType: hard
-"@yarnpkg/plugin-npm-cli@npm:^3.0.0-rc.2":
- version: 3.0.0-rc.2
- resolution: "@yarnpkg/plugin-npm-cli@npm:3.0.0-rc.2::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40yarnpkg%2Fplugin-npm-cli%2F-%2Fplugin-npm-cli-3.0.0-rc.2.tgz"
+"@yarnpkg/plugin-npm-cli@npm:^3.0.0-rc.5":
+ version: 3.0.0-rc.5
+ resolution: "@yarnpkg/plugin-npm-cli@npm:3.0.0-rc.5::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40yarnpkg%2Fplugin-npm-cli%2F-%2Fplugin-npm-cli-3.0.0-rc.5.tgz"
dependencies:
- "@yarnpkg/fslib": ^2.5.0-rc.2
+ "@yarnpkg/fslib": ^2.5.0-rc.5
clipanion: ^3.0.0-rc.10
enquirer: ^2.3.6
semver: ^7.1.2
tslib: ^1.13.0
typanion: ^3.3.0
peerDependencies:
- "@yarnpkg/cli": ^3.0.0-rc.2
- "@yarnpkg/core": ^3.0.0-rc.2
- "@yarnpkg/plugin-npm": ^2.5.0-rc.2
- "@yarnpkg/plugin-pack": ^3.0.0-rc.2
- checksum: ae91ea820fe25b8bb477342e35f5a52eff4e35b5801a7643ff5486bc90ba23d0efba5a0dd74b186f2ac2e412991cd798a6adaaaa35a2361406bdfeaa01af4940
+ "@yarnpkg/cli": ^3.0.0-rc.5
+ "@yarnpkg/core": ^3.0.0-rc.5
+ "@yarnpkg/plugin-npm": ^2.5.0-rc.5
+ "@yarnpkg/plugin-pack": ^3.0.0-rc.5
+ checksum: b859f775f2a652fa1674cb01ec378c16a6e856a6ec55506f8a4be5d8c9d4c705972a666fa7e013470b9bb62ebd02947f8d0fb6b798222f6236f06b0c36cd06ef
languageName: node
linkType: hard
-"@yarnpkg/plugin-npm@npm:2.5.0-rc.2, @yarnpkg/plugin-npm@npm:^2.5.0-rc.2":
- version: 2.5.0-rc.2
- resolution: "@yarnpkg/plugin-npm@npm:2.5.0-rc.2::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40yarnpkg%2Fplugin-npm%2F-%2Fplugin-npm-2.5.0-rc.2.tgz"
+"@yarnpkg/plugin-npm@npm:2.5.0-rc.5, @yarnpkg/plugin-npm@npm:^2.5.0-rc.5":
+ version: 2.5.0-rc.5
+ resolution: "@yarnpkg/plugin-npm@npm:2.5.0-rc.5::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40yarnpkg%2Fplugin-npm%2F-%2Fplugin-npm-2.5.0-rc.5.tgz"
dependencies:
- "@yarnpkg/fslib": ^2.5.0-rc.2
+ "@yarnpkg/fslib": ^2.5.0-rc.5
enquirer: ^2.3.6
semver: ^7.1.2
ssri: ^6.0.1
tslib: ^1.13.0
peerDependencies:
- "@yarnpkg/core": ^3.0.0-rc.2
- "@yarnpkg/plugin-pack": ^3.0.0-rc.2
- checksum: 7e8f9a77f195248cfeec5c7931ec7003b3f32ed1989c87fe55eed77772f55693d1aa3c18a8400f7bb56565e8d518ac5044c7419b73d6886927648f155c28076d
+ "@yarnpkg/core": ^3.0.0-rc.5
+ "@yarnpkg/plugin-pack": ^3.0.0-rc.5
+ checksum: 4dd8e97dde53c765f1678364654a60f9ae1d71bf9202e5be655089aafbec3e26d74e317866a8da575f792b03964b635b75cdc4535b509d5d5b12318510967c01
languageName: node
linkType: hard
-"@yarnpkg/plugin-pack@npm:3.0.0-rc.2, @yarnpkg/plugin-pack@npm:^3.0.0-rc.2":
- version: 3.0.0-rc.2
- resolution: "@yarnpkg/plugin-pack@npm:3.0.0-rc.2::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40yarnpkg%2Fplugin-pack%2F-%2Fplugin-pack-3.0.0-rc.2.tgz"
+"@yarnpkg/plugin-pack@npm:3.0.0-rc.5, @yarnpkg/plugin-pack@npm:^3.0.0-rc.5":
+ version: 3.0.0-rc.5
+ resolution: "@yarnpkg/plugin-pack@npm:3.0.0-rc.5::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40yarnpkg%2Fplugin-pack%2F-%2Fplugin-pack-3.0.0-rc.5.tgz"
dependencies:
- "@yarnpkg/fslib": ^2.5.0-rc.2
+ "@yarnpkg/fslib": ^2.5.0-rc.5
clipanion: ^3.0.0-rc.10
micromatch: ^4.0.2
tar-stream: ^2.0.1
tslib: ^1.13.0
peerDependencies:
- "@yarnpkg/cli": ^3.0.0-rc.2
- "@yarnpkg/core": ^3.0.0-rc.2
- checksum: d438d75783000c3465d9c4a8d4a6cb3e0a43d83b38df65fbd13d1a660201a1bd6e1f9d11f94f9942856a8016eedbcbd91bd46e6430adf56696b88b0f78f4e325
+ "@yarnpkg/cli": ^3.0.0-rc.5
+ "@yarnpkg/core": ^3.0.0-rc.5
+ checksum: d5e3c266c3b33dc2c02357184b1ae340a940d5d0d7d1cee930ab631d19bc13152321a8f3ba213d556dd0848dec39cf4c66953d027dc0e3cb0add2cd24776d40f
languageName: node
linkType: hard
-"@yarnpkg/plugin-patch@npm:^3.0.0-rc.2":
- version: 3.0.0-rc.2
- resolution: "@yarnpkg/plugin-patch@npm:3.0.0-rc.2::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40yarnpkg%2Fplugin-patch%2F-%2Fplugin-patch-3.0.0-rc.2.tgz"
+"@yarnpkg/plugin-patch@npm:^3.0.0-rc.5":
+ version: 3.0.0-rc.5
+ resolution: "@yarnpkg/plugin-patch@npm:3.0.0-rc.5::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40yarnpkg%2Fplugin-patch%2F-%2Fplugin-patch-3.0.0-rc.5.tgz"
dependencies:
- "@yarnpkg/fslib": ^2.5.0-rc.2
- "@yarnpkg/libzip": ^2.2.1
+ "@yarnpkg/fslib": ^2.5.0-rc.5
+ "@yarnpkg/libzip": ^2.2.2-rc.3
clipanion: ^3.0.0-rc.10
tslib: ^1.13.0
peerDependencies:
- "@yarnpkg/cli": ^3.0.0-rc.2
- "@yarnpkg/core": ^3.0.0-rc.2
- checksum: 3ad02f02d58197ebfa0315336067deca8c0501a53248055aba6eeae949f6dcdb9b18cef4340fcd748a15c459f62ee9a9b2d811298bd163725d938607cbffdbb8
+ "@yarnpkg/cli": ^3.0.0-rc.5
+ "@yarnpkg/core": ^3.0.0-rc.5
+ checksum: 77ac6e70d01a192b8485a432df05a138674a02314cd495e9b8f1917b01a1876363445d800cf9017a1be2e7de6735425c66e84136e3571f8f9873e81e459969db
languageName: node
linkType: hard
-"@yarnpkg/plugin-pnp@npm:^3.0.0-rc.2":
- version: 3.0.0-rc.2
- resolution: "@yarnpkg/plugin-pnp@npm:3.0.0-rc.2::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40yarnpkg%2Fplugin-pnp%2F-%2Fplugin-pnp-3.0.0-rc.2.tgz"
+"@yarnpkg/plugin-pnp@npm:^3.0.0-rc.5":
+ version: 3.0.0-rc.5
+ resolution: "@yarnpkg/plugin-pnp@npm:3.0.0-rc.5::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40yarnpkg%2Fplugin-pnp%2F-%2Fplugin-pnp-3.0.0-rc.5.tgz"
dependencies:
"@types/semver": ^7.1.0
- "@yarnpkg/fslib": ^2.5.0-rc.2
- "@yarnpkg/plugin-stage": ^3.0.0-rc.2
- "@yarnpkg/pnp": ^3.0.0-rc.2
+ "@yarnpkg/fslib": ^2.5.0-rc.5
+ "@yarnpkg/plugin-stage": ^3.0.0-rc.5
+ "@yarnpkg/pnp": ^3.0.0-rc.5
clipanion: ^3.0.0-rc.10
micromatch: ^4.0.2
semver: ^7.1.2
tslib: ^1.13.0
peerDependencies:
- "@yarnpkg/cli": ^3.0.0-rc.2
- "@yarnpkg/core": ^3.0.0-rc.2
- checksum: 3a4ceedec7a3014fa288f0e317f479f5a01bd5205bae210d8a90d6002af9fd573ffff02795c0833cd8b820f199f94242e9afbca629d6f4b7b4e8e70e35327311
+ "@yarnpkg/cli": ^3.0.0-rc.5
+ "@yarnpkg/core": ^3.0.0-rc.5
+ checksum: d9d8a7348bd970ceaf867c703b804bee2a3f0205bfe6977e5ceeefb4d8513e6bf79ba576c98fa61decde5a203926b795165327dafd390612a2546956a8a6ad77
languageName: node
linkType: hard
-"@yarnpkg/plugin-stage@npm:^3.0.0-rc.2":
- version: 3.0.0-rc.2
- resolution: "@yarnpkg/plugin-stage@npm:3.0.0-rc.2::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40yarnpkg%2Fplugin-stage%2F-%2Fplugin-stage-3.0.0-rc.2.tgz"
+"@yarnpkg/plugin-stage@npm:^3.0.0-rc.5":
+ version: 3.0.0-rc.5
+ resolution: "@yarnpkg/plugin-stage@npm:3.0.0-rc.5::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40yarnpkg%2Fplugin-stage%2F-%2Fplugin-stage-3.0.0-rc.5.tgz"
dependencies:
- "@yarnpkg/fslib": ^2.5.0-rc.2
+ "@yarnpkg/fslib": ^2.5.0-rc.5
clipanion: ^3.0.0-rc.10
tslib: ^1.13.0
peerDependencies:
- "@yarnpkg/cli": ^3.0.0-rc.2
- "@yarnpkg/core": ^3.0.0-rc.2
- checksum: b5b4a20daf5e5fa5f2b3ff18261fd072d2a45183f486c2eeb8841193dca9040ee73b4e7c034868b5dad3ff0db0145ef75b282ee522f70dd91be215071c994a08
+ "@yarnpkg/cli": ^3.0.0-rc.5
+ "@yarnpkg/core": ^3.0.0-rc.5
+ checksum: ac6340d9fce5f22212b4b7e3a8490107b59269c0ecbba3a46690bc0f21095e53acbbb52773318b71d8bb7937b469c0d806b61fb2fcfc3a6a5375e87e49778fb8
languageName: node
linkType: hard
@@ -9688,25 +10125,25 @@ __metadata:
languageName: node
linkType: hard
-"@yarnpkg/pnp@npm:^3.0.0-rc.2":
- version: 3.0.0-rc.2
- resolution: "@yarnpkg/pnp@npm:3.0.0-rc.2::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40yarnpkg%2Fpnp%2F-%2Fpnp-3.0.0-rc.2.tgz"
+"@yarnpkg/pnp@npm:^3.0.0-rc.5":
+ version: 3.0.0-rc.5
+ resolution: "@yarnpkg/pnp@npm:3.0.0-rc.5::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40yarnpkg%2Fpnp%2F-%2Fpnp-3.0.0-rc.5.tgz"
dependencies:
"@types/node": ^13.7.0
- "@yarnpkg/fslib": ^2.5.0-rc.2
+ "@yarnpkg/fslib": ^2.5.0-rc.5
resolve.exports: ^1.0.2
tslib: ^1.13.0
- checksum: 31297fd9d257fa3b84f8fc43f7e08f2996262a981e3284c7265d19f5d1e1c1160a1e6ed8df4dabb4d363751355bf9c1469d02ab1d18f485f78c75f27a611131b
+ checksum: fd70f7069fd70adfcc6d8f6e3b14f288f20ef5c09b6cd069c6ed39804a63a56c6be66a662d7a8c137332eea8ddf1aefbc150fac28563238791f9aca9f20506be
languageName: node
linkType: hard
-"@yarnpkg/pnpify@npm:^3.0.0-rc.3":
- version: 3.0.0-rc.3
- resolution: "@yarnpkg/pnpify@npm:3.0.0-rc.3::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40yarnpkg%2Fpnpify%2F-%2Fpnpify-3.0.0-rc.3.tgz"
+"@yarnpkg/pnpify@npm:^3.0.0-rc.6":
+ version: 3.0.0-rc.6
+ resolution: "@yarnpkg/pnpify@npm:3.0.0-rc.6::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40yarnpkg%2Fpnpify%2F-%2Fpnpify-3.0.0-rc.6.tgz"
dependencies:
- "@yarnpkg/core": ^3.0.0-rc.2
- "@yarnpkg/fslib": ^2.5.0-rc.2
- "@yarnpkg/parsers": ^2.3.1-rc.2
+ "@yarnpkg/core": ^3.0.0-rc.5
+ "@yarnpkg/fslib": ^2.5.0-rc.5
+ "@yarnpkg/parsers": ^2.4.0-rc.3
chalk: ^3.0.0
clipanion: ^3.0.0-rc.10
comment-json: ^2.2.0
@@ -9722,7 +10159,7 @@ __metadata:
optional: true
bin:
pnpify: ./lib/cli.js
- checksum: 0430338f26e969a08ceb4bf6068081482f58c452ed4e354396b3416f5e1424ddcfe389c052b768f6b4d65e1465e3a7112b9195f4c422898058ebe15d13586ece
+ checksum: 70c7e568288eb6260d2cc90e1d1636aee3fe1370eb54366ed1a956999f79d4cb3e479b5dcdb1c522fd01549f0ed8c2ff133421e1ee01ad27309206e2aa8fb8d7
languageName: node
linkType: hard
@@ -9744,12 +10181,13 @@ __metadata:
languageName: node
linkType: hard
-"@yarnpkg/shell@npm:^3.0.0-rc.2":
- version: 3.0.0-rc.2
- resolution: "@yarnpkg/shell@npm:3.0.0-rc.2::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40yarnpkg%2Fshell%2F-%2Fshell-3.0.0-rc.2.tgz"
+"@yarnpkg/shell@npm:^3.0.0-rc.5":
+ version: 3.0.0-rc.5
+ resolution: "@yarnpkg/shell@npm:3.0.0-rc.5::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40yarnpkg%2Fshell%2F-%2Fshell-3.0.0-rc.5.tgz"
dependencies:
- "@yarnpkg/fslib": ^2.5.0-rc.2
- "@yarnpkg/parsers": ^2.3.1-rc.2
+ "@yarnpkg/fslib": ^2.5.0-rc.5
+ "@yarnpkg/parsers": ^2.4.0-rc.3
+ chalk: ^3.0.0
clipanion: ^3.0.0-rc.10
cross-spawn: 7.0.3
fast-glob: ^3.2.2
@@ -9758,26 +10196,25 @@ __metadata:
tslib: ^1.13.0
bin:
shell: ./lib/cli.js
- checksum: 95cebb6f09eb48f60e2334c007cad0f15be3446bec37ae708ae6d0ba89c70895b0741e3c3a232848bf099bd90b81c1c56193955b74392cb6c58bf9510ba1f8ec
+ checksum: 200c2418fb9a8bdc380c36a8cc5b6531b41e38739f68dfe8139e66ccd3c26f1557c94f43cf56f70dbbc5f6beeb768b9f1399f42fa43a58799c6ff9481a230835
languageName: node
linkType: hard
-"@zkochan/cmd-shim@npm:^4.3.0":
- version: 4.3.0
- resolution: "@zkochan/cmd-shim@npm:4.3.0::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40zkochan%2Fcmd-shim%2F-%2Fcmd-shim-4.3.0.tgz"
+"@zkochan/cmd-shim@npm:^5.0.0":
+ version: 5.1.0
+ resolution: "@zkochan/cmd-shim@npm:5.1.0::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40zkochan%2Fcmd-shim%2F-%2Fcmd-shim-5.1.0.tgz"
dependencies:
is-windows: ^1.0.2
- make-dir: ^3.0.0
- checksum: 1576f5b0560267328c8fd9310aac5c0d43dc2e7559f04430a4d0b01bffec38fc5aec15e4b16635927393d602d467ab351034bcb3eb7b3dd6423e6fd7514ff45a
+ checksum: 7be69cfedea3a643b1b257904ec5c815d03678e7a2241f1852836eb1d3033db87288830e4a2e56c3e80238087e654b9be39bd8e2f5ba2fae61805ded8dd2fd3f
languageName: node
linkType: hard
-"@zkochan/cmd-shim@npm:^5.0.0":
- version: 5.1.0
- resolution: "@zkochan/cmd-shim@npm:5.1.0::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40zkochan%2Fcmd-shim%2F-%2Fcmd-shim-5.1.0.tgz"
+"@zkochan/cmd-shim@npm:^5.1.0":
+ version: 5.1.1
+ resolution: "@zkochan/cmd-shim@npm:5.1.1::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2F%40zkochan%2Fcmd-shim%2F-%2Fcmd-shim-5.1.1.tgz"
dependencies:
is-windows: ^1.0.2
- checksum: 7be69cfedea3a643b1b257904ec5c815d03678e7a2241f1852836eb1d3033db87288830e4a2e56c3e80238087e654b9be39bd8e2f5ba2fae61805ded8dd2fd3f
+ checksum: 22f7e1df2174e55df3d0321a6fd234f20ec7464a2381147f5ea4f5ca1a43df0960dfcd65ab5d4ad15e3589c358999cc23e931e1558ae852d64030a3c674a0a56
languageName: node
linkType: hard
@@ -10293,6 +10730,12 @@ __metadata:
languageName: node
linkType: hard
+"alert-card-0d4913@workspace:scopes/design/ui/alert-card":
+ version: 0.0.0-use.local
+ resolution: "alert-card-0d4913@workspace:scopes/design/ui/alert-card"
+ languageName: unknown
+ linkType: soft
+
"alphanum-sort@npm:^1.0.0":
version: 1.0.2
resolution: "alphanum-sort@npm:1.0.2::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Falphanum-sort%2F-%2Falphanum-sort-1.0.2.tgz"
@@ -11072,6 +11515,18 @@ __metadata:
languageName: node
linkType: hard
+"asn1.js@npm:^5.2.0":
+ version: 5.4.1
+ resolution: "asn1.js@npm:5.4.1::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Fasn1.js%2F-%2Fasn1.js-5.4.1.tgz"
+ dependencies:
+ bn.js: ^4.0.0
+ inherits: ^2.0.1
+ minimalistic-assert: ^1.0.0
+ safer-buffer: ^2.1.0
+ checksum: 3786a101ac6f304bd4e9a7df79549a7561950a13d4bcaec0c7790d44c80d147c1a94ba3d4e663673406064642a40b23fcd6c82a9952468e386c1a1376d747f9a
+ languageName: node
+ linkType: hard
+
"asn1@npm:~0.2.0, asn1@npm:~0.2.3":
version: 0.2.4
resolution: "asn1@npm:0.2.4::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Fasn1%2F-%2Fasn1-0.2.4.tgz"
@@ -11375,6 +11830,12 @@ __metadata:
languageName: node
linkType: hard
+"babel-165e1d@workspace:scopes/compilation/aspect-docs/babel":
+ version: 0.0.0-use.local
+ resolution: "babel-165e1d@workspace:scopes/compilation/aspect-docs/babel"
+ languageName: unknown
+ linkType: soft
+
"babel-code-frame@npm:^6.22.0":
version: 6.26.0
resolution: "babel-code-frame@npm:6.26.0::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Fbabel-code-frame%2F-%2Fbabel-code-frame-6.26.0.tgz"
@@ -11386,6 +11847,12 @@ __metadata:
languageName: node
linkType: hard
+"babel-compiler-434ce2@workspace:scopes/compilation/modules/babel-compiler":
+ version: 0.0.0-use.local
+ resolution: "babel-compiler-434ce2@workspace:scopes/compilation/modules/babel-compiler"
+ languageName: unknown
+ linkType: soft
+
"babel-eslint@npm:9.0.0":
version: 9.0.0
resolution: "babel-eslint@npm:9.0.0::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Fbabel-eslint%2F-%2Fbabel-eslint-9.0.0.tgz"
@@ -11550,6 +12017,16 @@ __metadata:
languageName: node
linkType: hard
+"babel-plugin-ramda@npm:2.0.0":
+ version: 2.0.0
+ resolution: "babel-plugin-ramda@npm:2.0.0::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Fbabel-plugin-ramda%2F-%2Fbabel-plugin-ramda-2.0.0.tgz"
+ dependencies:
+ "@babel/helper-module-imports": ^7.0.0
+ ramda: "*"
+ checksum: 9715530ee08bef43575dd3e1f6b1870b5c377f2dd66ba7f10fb380ccd0b781d348603ec9dee8a800c02bb39d2ed9b186132d9c9d49d0e9f2a9301452283ce5a2
+ languageName: node
+ linkType: hard
+
"babel-plugin-syntax-trailing-function-commas@npm:^7.0.0-beta.0":
version: 7.0.0-beta.0
resolution: "babel-plugin-syntax-trailing-function-commas@npm:7.0.0-beta.0::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Fbabel-plugin-syntax-trailing-function-commas%2F-%2Fbabel-plugin-syntax-trailing-function-commas-7.0.0-beta.0.tgz"
@@ -11803,6 +12280,9 @@ __metadata:
"bit-226828@workspace:scopes/harmony/bit":
version: 0.0.0-use.local
resolution: "bit-226828@workspace:scopes/harmony/bit"
+ dependencies:
+ react: 16.14.0
+ react-native-web: 0.14.13
languageName: unknown
linkType: soft
@@ -11861,6 +12341,20 @@ __metadata:
languageName: node
linkType: hard
+"bn.js@npm:^4.0.0, bn.js@npm:^4.1.0, bn.js@npm:^4.11.9":
+ version: 4.12.0
+ resolution: "bn.js@npm:4.12.0::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Fbn.js%2F-%2Fbn.js-4.12.0.tgz"
+ checksum: 39afb4f15f4ea537b55eaf1446c896af28ac948fdcf47171961475724d1bb65118cca49fa6e3d67706e4790955ec0e74de584e45c8f1ef89f46c812bee5b5a12
+ languageName: node
+ linkType: hard
+
+"bn.js@npm:^5.0.0, bn.js@npm:^5.1.1":
+ version: 5.2.0
+ resolution: "bn.js@npm:5.2.0::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Fbn.js%2F-%2Fbn.js-5.2.0.tgz"
+ checksum: 6117170393200f68b35a061ecbf55d01dd989302e7b3c798a3012354fa638d124f0b2f79e63f77be5556be80322a09c40339eda6413ba7468524c0b6d4b4cb7a
+ languageName: node
+ linkType: hard
+
"body-parser@npm:1.19.0, body-parser@npm:^1.18.3":
version: 1.19.0
resolution: "body-parser@npm:1.19.0::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Fbody-parser%2F-%2Fbody-parser-1.19.0.tgz"
@@ -11971,6 +12465,13 @@ __metadata:
languageName: node
linkType: hard
+"brorand@npm:^1.0.1, brorand@npm:^1.1.0":
+ version: 1.1.0
+ resolution: "brorand@npm:1.1.0::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Fbrorand%2F-%2Fbrorand-1.1.0.tgz"
+ checksum: 8a05c9f3c4b46572dec6ef71012b1946db6cae8c7bb60ccd4b7dd5a84655db49fe043ecc6272e7ef1f69dc53d6730b9e2a3a03a8310509a3d797a618cbee52be
+ languageName: node
+ linkType: hard
+
"browser-process-hrtime@npm:^1.0.0":
version: 1.0.0
resolution: "browser-process-hrtime@npm:1.0.0::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Fbrowser-process-hrtime%2F-%2Fbrowser-process-hrtime-1.0.0.tgz"
@@ -11985,6 +12486,79 @@ __metadata:
languageName: node
linkType: hard
+"browserify-aes@npm:^1.0.0, browserify-aes@npm:^1.0.4":
+ version: 1.2.0
+ resolution: "browserify-aes@npm:1.2.0::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Fbrowserify-aes%2F-%2Fbrowserify-aes-1.2.0.tgz"
+ dependencies:
+ buffer-xor: ^1.0.3
+ cipher-base: ^1.0.0
+ create-hash: ^1.1.0
+ evp_bytestokey: ^1.0.3
+ inherits: ^2.0.1
+ safe-buffer: ^5.0.1
+ checksum: 4a17c3eb55a2aa61c934c286f34921933086bf6d67f02d4adb09fcc6f2fc93977b47d9d884c25619144fccd47b3b3a399e1ad8b3ff5a346be47270114bcf7104
+ languageName: node
+ linkType: hard
+
+"browserify-cipher@npm:^1.0.0":
+ version: 1.0.1
+ resolution: "browserify-cipher@npm:1.0.1::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Fbrowserify-cipher%2F-%2Fbrowserify-cipher-1.0.1.tgz"
+ dependencies:
+ browserify-aes: ^1.0.4
+ browserify-des: ^1.0.0
+ evp_bytestokey: ^1.0.0
+ checksum: 2d8500acf1ee535e6bebe808f7a20e4c3a9e2ed1a6885fff1facbfd201ac013ef030422bec65ca9ece8ffe82b03ca580421463f9c45af6c8415fd629f4118c13
+ languageName: node
+ linkType: hard
+
+"browserify-des@npm:^1.0.0":
+ version: 1.0.2
+ resolution: "browserify-des@npm:1.0.2::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Fbrowserify-des%2F-%2Fbrowserify-des-1.0.2.tgz"
+ dependencies:
+ cipher-base: ^1.0.1
+ des.js: ^1.0.0
+ inherits: ^2.0.1
+ safe-buffer: ^5.1.2
+ checksum: b15a3e358a1d78a3b62ddc06c845d02afde6fc826dab23f1b9c016e643e7b1fda41de628d2110b712f6a44fb10cbc1800bc6872a03ddd363fb50768e010395b7
+ languageName: node
+ linkType: hard
+
+"browserify-rsa@npm:^4.0.0, browserify-rsa@npm:^4.0.1":
+ version: 4.1.0
+ resolution: "browserify-rsa@npm:4.1.0::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Fbrowserify-rsa%2F-%2Fbrowserify-rsa-4.1.0.tgz"
+ dependencies:
+ bn.js: ^5.0.0
+ randombytes: ^2.0.1
+ checksum: 155f0c135873efc85620571a33d884aa8810e40176125ad424ec9d85016ff105a07f6231650914a760cca66f29af0494087947b7be34880dd4599a0cd3c38e54
+ languageName: node
+ linkType: hard
+
+"browserify-sign@npm:^4.0.0":
+ version: 4.2.1
+ resolution: "browserify-sign@npm:4.2.1::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Fbrowserify-sign%2F-%2Fbrowserify-sign-4.2.1.tgz"
+ dependencies:
+ bn.js: ^5.1.1
+ browserify-rsa: ^4.0.1
+ create-hash: ^1.2.0
+ create-hmac: ^1.1.7
+ elliptic: ^6.5.3
+ inherits: ^2.0.4
+ parse-asn1: ^5.1.5
+ readable-stream: ^3.6.0
+ safe-buffer: ^5.2.0
+ checksum: 0221f190e3f5b2d40183fa51621be7e838d9caa329fe1ba773406b7637855f37b30f5d83e52ff8f244ed12ffe6278dd9983638609ed88c841ce547e603855707
+ languageName: node
+ linkType: hard
+
+"browserify-zlib@npm:0.2.0":
+ version: 0.2.0
+ resolution: "browserify-zlib@npm:0.2.0::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Fbrowserify-zlib%2F-%2Fbrowserify-zlib-0.2.0.tgz"
+ dependencies:
+ pako: ~1.0.5
+ checksum: 5cd9d6a665190fedb4a97dfbad8dabc8698d8a507298a03f42c734e96d58ca35d3c7d4085e283440bbca1cd1938cff85031728079bedb3345310c58ab1ec92d6
+ languageName: node
+ linkType: hard
+
"browserify-zlib@npm:^0.1.4":
version: 0.1.4
resolution: "browserify-zlib@npm:0.1.4::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Fbrowserify-zlib%2F-%2Fbrowserify-zlib-0.1.4.tgz"
@@ -12069,6 +12643,13 @@ __metadata:
languageName: node
linkType: hard
+"buffer-xor@npm:^1.0.3":
+ version: 1.0.3
+ resolution: "buffer-xor@npm:1.0.3::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Fbuffer-xor%2F-%2Fbuffer-xor-1.0.3.tgz"
+ checksum: 10c520df29d62fa6e785e2800e586a20fc4f6dfad84bcdbd12e1e8a83856de1cb75c7ebd7abe6d036bbfab738a6cf18a3ae9c8e5a2e2eb3167ca7399ce65373a
+ languageName: node
+ linkType: hard
+
"buffer@npm:4.9.2":
version: 4.9.2
resolution: "buffer@npm:4.9.2::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Fbuffer%2F-%2Fbuffer-4.9.2.tgz"
@@ -12106,6 +12687,12 @@ __metadata:
languageName: unknown
linkType: soft
+"builder-68a908@workspace:scopes/pipelines/aspect-docs/builder":
+ version: 0.0.0-use.local
+ resolution: "builder-68a908@workspace:scopes/pipelines/aspect-docs/builder"
+ languageName: unknown
+ linkType: soft
+
"builtin-modules@npm:^3.1.0":
version: 3.2.0
resolution: "builtin-modules@npm:3.2.0::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Fbuiltin-modules%2F-%2Fbuiltin-modules-3.2.0.tgz"
@@ -12113,6 +12700,13 @@ __metadata:
languageName: node
linkType: hard
+"builtin-status-codes@npm:^3.0.0":
+ version: 3.0.0
+ resolution: "builtin-status-codes@npm:3.0.0::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Fbuiltin-status-codes%2F-%2Fbuiltin-status-codes-3.0.0.tgz"
+ checksum: 1119429cf4b0d57bf76b248ad6f529167d343156ebbcc4d4e4ad600484f6bc63002595cbb61b67ad03ce55cd1d3c4711c03bbf198bf24653b8392420482f3773
+ languageName: node
+ linkType: hard
+
"builtins@npm:^1.0.3":
version: 1.0.3
resolution: "builtins@npm:1.0.3::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Fbuiltins%2F-%2Fbuiltins-1.0.3.tgz"
@@ -12535,20 +13129,6 @@ __metadata:
languageName: node
linkType: hard
-"chai@npm:^4.2.0":
- version: 4.3.1
- resolution: "chai@npm:4.3.1::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Fchai%2F-%2Fchai-4.3.1.tgz"
- dependencies:
- assertion-error: ^1.1.0
- check-error: ^1.0.2
- deep-eql: ^3.0.1
- get-func-name: ^2.0.0
- pathval: ^1.1.1
- type-detect: ^4.0.5
- checksum: 0c3935b9ffa26e612a157735e3a9c8361722edfaa7e0e22e23fea73df1b729759c3705fa4db278e339f9fa4357f33ea829a5b7d91c14a05d948ab82d5fcea9ac
- languageName: node
- linkType: hard
-
"chalk@npm:2.4.2, chalk@npm:^2.0.0, chalk@npm:^2.0.1, chalk@npm:^2.1.0, chalk@npm:^2.4.1, chalk@npm:^2.4.2":
version: 2.4.2
resolution: "chalk@npm:2.4.2::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Fchalk%2F-%2Fchalk-2.4.2.tgz"
@@ -12734,6 +13314,16 @@ __metadata:
languageName: node
linkType: hard
+"cipher-base@npm:^1.0.0, cipher-base@npm:^1.0.1, cipher-base@npm:^1.0.3":
+ version: 1.0.4
+ resolution: "cipher-base@npm:1.0.4::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Fcipher-base%2F-%2Fcipher-base-1.0.4.tgz"
+ dependencies:
+ inherits: ^2.0.1
+ safe-buffer: ^5.0.1
+ checksum: 47d3568dbc17431a339bad1fe7dff83ac0891be8206911ace3d3b818fc695f376df809bea406e759cdea07fff4b454fa25f1013e648851bec790c1d75763032e
+ languageName: node
+ linkType: hard
+
"circular-json-for-egg@npm:^1.0.0":
version: 1.0.0
resolution: "circular-json-for-egg@npm:1.0.0::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Fcircular-json-for-egg%2F-%2Fcircular-json-for-egg-1.0.0.tgz"
@@ -12790,15 +13380,6 @@ __metadata:
languageName: node
linkType: hard
-"clean-regexp@npm:^1.0.0":
- version: 1.0.0
- resolution: "clean-regexp@npm:1.0.0::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Fclean-regexp%2F-%2Fclean-regexp-1.0.0.tgz"
- dependencies:
- escape-string-regexp: ^1.0.5
- checksum: 0b1ce281b07da2463c6882ea2e8409119b6cabbd9f687cdbdcee942c45b2b9049a2084f7b5f228c63ef9f21e722963ae0bfe56a735dbdbdd92512867625a7e40
- languageName: node
- linkType: hard
-
"clean-stack@npm:^2.0.0":
version: 2.2.0
resolution: "clean-stack@npm:2.2.0::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Fclean-stack%2F-%2Fclean-stack-2.2.0.tgz"
@@ -12977,6 +13558,17 @@ __metadata:
languageName: node
linkType: hard
+"cliui@npm:^7.0.2":
+ version: 7.0.4
+ resolution: "cliui@npm:7.0.4::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Fcliui%2F-%2Fcliui-7.0.4.tgz"
+ dependencies:
+ string-width: ^4.2.0
+ strip-ansi: ^6.0.0
+ wrap-ansi: ^7.0.0
+ checksum: ce2e8f578a4813806788ac399b9e866297740eecd4ad1823c27fd344d78b22c5f8597d548adbcc46f0573e43e21e751f39446c5a5e804a12aace402b7a315d7f
+ languageName: node
+ linkType: hard
+
"clone-buffer@npm:^1.0.0":
version: 1.0.0
resolution: "clone-buffer@npm:1.0.0::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Fclone-buffer%2F-%2Fclone-buffer-1.0.0.tgz"
@@ -13282,13 +13874,6 @@ __metadata:
languageName: node
linkType: hard
-"commander@npm:2.20.3, commander@npm:^2.11.0, commander@npm:^2.16.0, commander@npm:^2.19.0, commander@npm:^2.20.0, commander@npm:^2.20.3, commander@npm:^2.5.0, commander@npm:^2.8.1":
- version: 2.20.3
- resolution: "commander@npm:2.20.3::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Fcommander%2F-%2Fcommander-2.20.3.tgz"
- checksum: ab8c07884e42c3a8dbc5dd9592c606176c7eb5c1ca5ff274bcf907039b2c41de3626f684ea75ccf4d361ba004bbaff1f577d5384c155f3871e456bdf27becf9e
- languageName: node
- linkType: hard
-
"commander@npm:3.0.2":
version: 3.0.2
resolution: "commander@npm:3.0.2::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Fcommander%2F-%2Fcommander-3.0.2.tgz"
@@ -13296,6 +13881,13 @@ __metadata:
languageName: node
linkType: hard
+"commander@npm:^2.11.0, commander@npm:^2.16.0, commander@npm:^2.19.0, commander@npm:^2.20.0, commander@npm:^2.20.3, commander@npm:^2.5.0, commander@npm:^2.8.1":
+ version: 2.20.3
+ resolution: "commander@npm:2.20.3::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Fcommander%2F-%2Fcommander-2.20.3.tgz"
+ checksum: ab8c07884e42c3a8dbc5dd9592c606176c7eb5c1ca5ff274bcf907039b2c41de3626f684ea75ccf4d361ba004bbaff1f577d5384c155f3871e456bdf27becf9e
+ languageName: node
+ linkType: hard
+
"commander@npm:^4.0.1, commander@npm:^4.1.1":
version: 4.1.1
resolution: "commander@npm:4.1.1::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Fcommander%2F-%2Fcommander-4.1.1.tgz"
@@ -13367,12 +13959,6 @@ __metadata:
languageName: node
linkType: hard
-"compare-url-93804f@workspace:scopes/ui-foundation/routing/compare-url":
- version: 0.0.0-use.local
- resolution: "compare-url-93804f@workspace:scopes/ui-foundation/routing/compare-url"
- languageName: unknown
- linkType: soft
-
"compare-versions@npm:^3.6.0":
version: 3.6.0
resolution: "compare-versions@npm:3.6.0::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Fcompare-versions%2F-%2Fcompare-versions-3.6.0.tgz"
@@ -13386,6 +13972,12 @@ __metadata:
languageName: unknown
linkType: soft
+"compiler-888560@workspace:scopes/compilation/aspect-docs/compiler":
+ version: 0.0.0-use.local
+ resolution: "compiler-888560@workspace:scopes/compilation/aspect-docs/compiler"
+ languageName: unknown
+ linkType: soft
+
"compiler-dcfcd3@workspace:scopes/mdx/modules/compiler":
version: 0.0.0-use.local
resolution: "compiler-dcfcd3@workspace:scopes/mdx/modules/compiler"
@@ -13395,6 +13987,8 @@ __metadata:
"component-860f6b@workspace:scopes/component/component":
version: 0.0.0-use.local
resolution: "component-860f6b@workspace:scopes/component/component"
+ dependencies:
+ "@teambit/documenter.ui.separator": 3.0.14
languageName: unknown
linkType: soft
@@ -13405,6 +13999,12 @@ __metadata:
languageName: node
linkType: hard
+"component-c2ff1e@workspace:scopes/component/aspect-docs/component":
+ version: 0.0.0-use.local
+ resolution: "component-c2ff1e@workspace:scopes/component/aspect-docs/component"
+ languageName: unknown
+ linkType: soft
+
"component-card-6a10fd@workspace:scopes/explorer/ui/component-card":
version: 0.0.0-use.local
resolution: "component-card-6a10fd@workspace:scopes/explorer/ui/component-card"
@@ -13450,6 +14050,12 @@ __metadata:
languageName: node
linkType: hard
+"component-issues-7daa39@workspace:scopes/component/component-issues":
+ version: 0.0.0-use.local
+ resolution: "component-issues-7daa39@workspace:scopes/component/component-issues"
+ languageName: unknown
+ linkType: soft
+
"component-package-version-487330@workspace:scopes/component/component-package-version":
version: 0.0.0-use.local
resolution: "component-package-version-487330@workspace:scopes/component/component-package-version"
@@ -13493,6 +14099,12 @@ __metadata:
languageName: unknown
linkType: soft
+"component-url-c2da9f@workspace:scopes/component/component-url":
+ version: 0.0.0-use.local
+ resolution: "component-url-c2da9f@workspace:scopes/component/component-url"
+ languageName: unknown
+ linkType: soft
+
"component-version-5616d2@workspace:scopes/component/component-version":
version: 0.0.0-use.local
resolution: "component-version-5616d2@workspace:scopes/component/component-version"
@@ -13533,11 +14145,15 @@ __metadata:
languageName: unknown
linkType: soft
+"compositions-56a7e8@workspace:scopes/compositions/aspect-docs/compositions":
+ version: 0.0.0-use.local
+ resolution: "compositions-56a7e8@workspace:scopes/compositions/aspect-docs/compositions"
+ languageName: unknown
+ linkType: soft
+
"compositions-903b7c@workspace:scopes/compositions/compositions":
version: 0.0.0-use.local
resolution: "compositions-903b7c@workspace:scopes/compositions/compositions"
- dependencies:
- "@teambit/documenter.theme.theme-context": 3.0.8
languageName: unknown
linkType: soft
@@ -13618,6 +14234,12 @@ __metadata:
languageName: node
linkType: hard
+"config-mutator-5254b0@workspace:scopes/webpack/config-mutator":
+ version: 0.0.0-use.local
+ resolution: "config-mutator-5254b0@workspace:scopes/webpack/config-mutator"
+ languageName: unknown
+ linkType: soft
+
"configstore@npm:^3.0.0":
version: 3.1.5
resolution: "configstore@npm:3.1.5::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Fconfigstore%2F-%2Fconfigstore-3.1.5.tgz"
@@ -13653,6 +14275,13 @@ __metadata:
languageName: node
linkType: hard
+"constants-browserify@npm:1.0.0":
+ version: 1.0.0
+ resolution: "constants-browserify@npm:1.0.0::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Fconstants-browserify%2F-%2Fconstants-browserify-1.0.0.tgz"
+ checksum: f7ac8c6d0b6e4e0c77340a1d47a3574e25abd580bfd99ad707b26ff7618596cf1a5e5ce9caf44715e9e01d4a5d12cb3b4edaf1176f34c19adb2874815a56e64f
+ languageName: node
+ linkType: hard
+
"contains-path@npm:^0.1.0":
version: 0.1.0
resolution: "contains-path@npm:0.1.0::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Fcontains-path%2F-%2Fcontains-path-0.1.0.tgz"
@@ -13834,6 +14463,13 @@ __metadata:
languageName: node
linkType: hard
+"core-js@npm:^3.0.0":
+ version: 3.14.0
+ resolution: "core-js@npm:3.14.0::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Fcore-js%2F-%2Fcore-js-3.14.0.tgz"
+ checksum: a450089e5796496c7f4a84b13139d853fec5233077833ed142fe401bf9ff4ec2a5bae781f3879ef76cefcfe8a274218d3d4d7d813f5f7f32911fbd36e13a6dc4
+ languageName: node
+ linkType: hard
+
"core-js@npm:^3.0.1, core-js@npm:^3.5.0, core-js@npm:^3.6.5":
version: 3.9.1
resolution: "core-js@npm:3.9.1::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Fcore-js%2F-%2Fcore-js-3.9.1.tgz"
@@ -13902,6 +14538,16 @@ __metadata:
languageName: node
linkType: hard
+"create-ecdh@npm:^4.0.0":
+ version: 4.0.4
+ resolution: "create-ecdh@npm:4.0.4::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Fcreate-ecdh%2F-%2Fcreate-ecdh-4.0.4.tgz"
+ dependencies:
+ bn.js: ^4.1.0
+ elliptic: ^6.5.3
+ checksum: 0dd7fca9711d09e152375b79acf1e3f306d1a25ba87b8ff14c2fd8e68b83aafe0a7dd6c4e540c9ffbdd227a5fa1ad9b81eca1f233c38bb47770597ba247e614b
+ languageName: node
+ linkType: hard
+
"create-error-class@npm:^3.0.0":
version: 3.0.2
resolution: "create-error-class@npm:3.0.2::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Fcreate-error-class%2F-%2Fcreate-error-class-3.0.2.tgz"
@@ -13911,13 +14557,40 @@ __metadata:
languageName: node
linkType: hard
+"create-hash@npm:^1.1.0, create-hash@npm:^1.1.2, create-hash@npm:^1.2.0":
+ version: 1.2.0
+ resolution: "create-hash@npm:1.2.0::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Fcreate-hash%2F-%2Fcreate-hash-1.2.0.tgz"
+ dependencies:
+ cipher-base: ^1.0.1
+ inherits: ^2.0.1
+ md5.js: ^1.3.4
+ ripemd160: ^2.0.1
+ sha.js: ^2.4.0
+ checksum: 02a6ae3bb9cd4afee3fabd846c1d8426a0e6b495560a977ba46120c473cb283be6aa1cace76b5f927cf4e499c6146fb798253e48e83d522feba807d6b722eaa9
+ languageName: node
+ linkType: hard
+
"create-heading-73711b@workspace:scopes/mdx/ui/create-heading":
version: 0.0.0-use.local
resolution: "create-heading-73711b@workspace:scopes/mdx/ui/create-heading"
languageName: unknown
linkType: soft
-"create-react-class@npm:^15.6.2":
+"create-hmac@npm:^1.1.0, create-hmac@npm:^1.1.4, create-hmac@npm:^1.1.7":
+ version: 1.1.7
+ resolution: "create-hmac@npm:1.1.7::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Fcreate-hmac%2F-%2Fcreate-hmac-1.1.7.tgz"
+ dependencies:
+ cipher-base: ^1.0.3
+ create-hash: ^1.1.0
+ inherits: ^2.0.1
+ ripemd160: ^2.0.0
+ safe-buffer: ^5.0.1
+ sha.js: ^2.4.8
+ checksum: ba12bb2257b585a0396108c72830e85f882ab659c3320c83584b1037f8ab72415095167ced80dc4ce8e446a8ecc4b2acf36d87befe0707d73b26cf9dc77440ed
+ languageName: node
+ linkType: hard
+
+"create-react-class@npm:^15.6.2, create-react-class@npm:^15.7.0":
version: 15.7.0
resolution: "create-react-class@npm:15.7.0::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Fcreate-react-class%2F-%2Fcreate-react-class-15.7.0.tgz"
dependencies:
@@ -13998,6 +14671,25 @@ __metadata:
languageName: node
linkType: hard
+"crypto-browserify@npm:3.12.0":
+ version: 3.12.0
+ resolution: "crypto-browserify@npm:3.12.0::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Fcrypto-browserify%2F-%2Fcrypto-browserify-3.12.0.tgz"
+ dependencies:
+ browserify-cipher: ^1.0.0
+ browserify-sign: ^4.0.0
+ create-ecdh: ^4.0.0
+ create-hash: ^1.1.0
+ create-hmac: ^1.1.0
+ diffie-hellman: ^5.0.0
+ inherits: ^2.0.1
+ pbkdf2: ^3.0.3
+ public-encrypt: ^4.0.0
+ randombytes: ^2.0.0
+ randomfill: ^1.0.3
+ checksum: c1609af82605474262f3eaa07daa0b2140026bd264ab316d4bf1170272570dbe02f0c49e29407fe0d3634f96c507c27a19a6765fb856fed854a625f9d15618e2
+ languageName: node
+ linkType: hard
+
"crypto-random-string@npm:^1.0.0":
version: 1.0.0
resolution: "crypto-random-string@npm:1.0.0::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Fcrypto-random-string%2F-%2Fcrypto-random-string-1.0.0.tgz"
@@ -14892,6 +15584,12 @@ __metadata:
languageName: unknown
linkType: soft
+"dependency-resolver-63fef1@workspace:scopes/dependencies/aspect-docs/dependency-resolver":
+ version: 0.0.0-use.local
+ resolution: "dependency-resolver-63fef1@workspace:scopes/dependencies/aspect-docs/dependency-resolver"
+ languageName: unknown
+ linkType: soft
+
"dependency-tree-e49664@workspace:scopes/code/ui/dependency-tree":
version: 0.0.0-use.local
resolution: "dependency-tree-e49664@workspace:scopes/code/ui/dependency-tree"
@@ -14917,6 +15615,16 @@ __metadata:
languageName: unknown
linkType: soft
+"des.js@npm:^1.0.0":
+ version: 1.0.1
+ resolution: "des.js@npm:1.0.1::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Fdes.js%2F-%2Fdes.js-1.0.1.tgz"
+ dependencies:
+ inherits: ^2.0.1
+ minimalistic-assert: ^1.0.0
+ checksum: 1ec2eedd7ed6bd61dd5e0519fd4c96124e93bb22de8a9d211b02d63e5dd152824853d919bb2090f965cc0e3eb9c515950a9836b332020d810f9c71feb0fd7df4
+ languageName: node
+ linkType: hard
+
"destroy@npm:~1.0.4":
version: 1.0.4
resolution: "destroy@npm:1.0.4::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Fdestroy%2F-%2Fdestroy-1.0.4.tgz"
@@ -15048,6 +15756,17 @@ __metadata:
languageName: node
linkType: hard
+"diffie-hellman@npm:^5.0.0":
+ version: 5.0.3
+ resolution: "diffie-hellman@npm:5.0.3::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Fdiffie-hellman%2F-%2Fdiffie-hellman-5.0.3.tgz"
+ dependencies:
+ bn.js: ^4.1.0
+ miller-rabin: ^4.0.0
+ randombytes: ^2.0.0
+ checksum: 0e620f322170c41076e70181dd1c24e23b08b47dbb92a22a644f3b89b6d3834b0f8ee19e37916164e5eb1ee26d2aa836d6129f92723995267250a0b541811065
+ languageName: node
+ linkType: hard
+
"dir-glob@npm:2.0.0":
version: 2.0.0
resolution: "dir-glob@npm:2.0.0::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Fdir-glob%2F-%2Fdir-glob-2.0.0.tgz"
@@ -15186,6 +15905,13 @@ __metadata:
languageName: unknown
linkType: soft
+"domain-browser@npm:4.19.0":
+ version: 4.19.0
+ resolution: "domain-browser@npm:4.19.0::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Fdomain-browser%2F-%2Fdomain-browser-4.19.0.tgz"
+ checksum: 1b77fa2a85f1531b8bdfcc42c2a2706016aeaddeed12ce4851f9d6a17135588e05120e380c6b5b645290522684f9311a6e0a3e68b46f864f864ed89620d4bdd7
+ languageName: node
+ linkType: hard
+
"domelementtype@npm:1, domelementtype@npm:^1.3.1":
version: 1.3.1
resolution: "domelementtype@npm:1.3.1::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Fdomelementtype%2F-%2Fdomelementtype-1.3.1.tgz"
@@ -15421,6 +16147,21 @@ __metadata:
languageName: unknown
linkType: soft
+"elliptic@npm:^6.5.3":
+ version: 6.5.4
+ resolution: "elliptic@npm:6.5.4::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Felliptic%2F-%2Felliptic-6.5.4.tgz"
+ dependencies:
+ bn.js: ^4.11.9
+ brorand: ^1.1.0
+ hash.js: ^1.0.0
+ hmac-drbg: ^1.0.1
+ inherits: ^2.0.4
+ minimalistic-assert: ^1.0.1
+ minimalistic-crypto-utils: ^1.0.1
+ checksum: d56d21fd04e97869f7ffcc92e18903b9f67f2d4637a23c860492fbbff5a3155fd9ca0184ce0c865dd6eb2487d234ce9551335c021c376cd2d3b7cb749c7d10f4
+ languageName: node
+ linkType: hard
+
"emittery@npm:^0.7.1":
version: 0.7.2
resolution: "emittery@npm:0.7.2::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Femittery%2F-%2Femittery-0.7.2.tgz"
@@ -15466,6 +16207,8 @@ __metadata:
"empty-box-dbdece@workspace:scopes/design/ui/empty-box":
version: 0.0.0-use.local
resolution: "empty-box-dbdece@workspace:scopes/design/ui/empty-box"
+ dependencies:
+ "@teambit/documenter.theme.theme-compositions": 3.0.9
languageName: unknown
linkType: soft
@@ -15606,13 +16349,13 @@ __metadata:
languageName: node
linkType: hard
-"enhanced-resolve@npm:^5.7.0":
- version: 5.7.0
- resolution: "enhanced-resolve@npm:5.7.0::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Fenhanced-resolve%2F-%2Fenhanced-resolve-5.7.0.tgz"
+"enhanced-resolve@npm:^5.8.0":
+ version: 5.8.2
+ resolution: "enhanced-resolve@npm:5.8.2::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Fenhanced-resolve%2F-%2Fenhanced-resolve-5.8.2.tgz"
dependencies:
graceful-fs: ^4.2.4
tapable: ^2.2.0
- checksum: 91916405697c04512e4f29cf0f0dcf10b03751f7b6f51fda72661ddc5c79779d404335f933caa202f5e81f00944fe3a1cf180cc6b53fdaff2c9ce9d0f310f704
+ checksum: 6e871ec5b183220dbcdaff8580cbdacee5425e321790e5846abd1b573d20d2bcb37f73ee983fd10c6d6878d31a2d08e234e72fc91a81236d64623ee6ba7d6611
languageName: node
linkType: hard
@@ -15673,6 +16416,12 @@ __metadata:
languageName: node
linkType: hard
+"envs-82293c@workspace:scopes/envs/aspect-docs/envs":
+ version: 0.0.0-use.local
+ resolution: "envs-82293c@workspace:scopes/envs/aspect-docs/envs"
+ languageName: unknown
+ linkType: soft
+
"envs-a3894a@workspace:scopes/envs/envs":
version: 0.0.0-use.local
resolution: "envs-a3894a@workspace:scopes/envs/envs"
@@ -15712,6 +16461,12 @@ __metadata:
languageName: node
linkType: hard
+"error-fallback-dda211@workspace:scopes/react/ui/error-fallback":
+ version: 0.0.0-use.local
+ resolution: "error-fallback-dda211@workspace:scopes/react/ui/error-fallback"
+ languageName: unknown
+ linkType: soft
+
"error-page-0389d1@workspace:scopes/design/ui/error-page":
version: 0.0.0-use.local
resolution: "error-page-0389d1@workspace:scopes/design/ui/error-page"
@@ -15915,16 +16670,6 @@ __metadata:
languageName: unknown
linkType: soft
-"eslint-ast-utils@npm:^1.1.0":
- version: 1.1.0
- resolution: "eslint-ast-utils@npm:1.1.0::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Feslint-ast-utils%2F-%2Feslint-ast-utils-1.1.0.tgz"
- dependencies:
- lodash.get: ^4.4.2
- lodash.zip: ^4.2.0
- checksum: f72d6875595e665e0707980f3ce36a2e812bf65989dc192c19adfce9d4ca3455c78fcb77f8ffa17a119f24916b2f0a7bf19e02dd2ff0747b9cb83dbcbecf164d
- languageName: node
- linkType: hard
-
"eslint-config-airbnb-base@npm:14.2.0":
version: 14.2.0
resolution: "eslint-config-airbnb-base@npm:14.2.0::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Feslint-config-airbnb-base%2F-%2Feslint-config-airbnb-base-14.2.0.tgz"
@@ -16165,32 +16910,6 @@ __metadata:
languageName: node
linkType: hard
-"eslint-plugin-unicorn@npm:12.1.0":
- version: 12.1.0
- resolution: "eslint-plugin-unicorn@npm:12.1.0::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Feslint-plugin-unicorn%2F-%2Feslint-plugin-unicorn-12.1.0.tgz"
- dependencies:
- ci-info: ^2.0.0
- clean-regexp: ^1.0.0
- eslint-ast-utils: ^1.1.0
- eslint-template-visitor: ^1.0.0
- import-modules: ^2.0.0
- lodash.camelcase: ^4.3.0
- lodash.defaultsdeep: ^4.6.1
- lodash.kebabcase: ^4.1.1
- lodash.snakecase: ^4.1.1
- lodash.topairs: ^4.3.0
- lodash.upperfirst: ^4.3.1
- read-pkg-up: ^7.0.0
- regexpp: ^3.0.0
- reserved-words: ^0.1.2
- safe-regex: ^2.0.2
- semver: ^6.3.0
- peerDependencies:
- eslint: ">=6.3.0"
- checksum: 7b5c860e3cec32aa77cbea230dd18df7109f1dcc780b76d92ed4e492ef1180105d1bed3ec037c3423085d41b4cd7a76c88ab4dd0de32f56bd62d91af0266e788
- languageName: node
- linkType: hard
-
"eslint-scope@npm:3.7.1":
version: 3.7.1
resolution: "eslint-scope@npm:3.7.1::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Feslint-scope%2F-%2Feslint-scope-3.7.1.tgz"
@@ -16221,19 +16940,6 @@ __metadata:
languageName: node
linkType: hard
-"eslint-template-visitor@npm:^1.0.0":
- version: 1.1.0
- resolution: "eslint-template-visitor@npm:1.1.0::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Feslint-template-visitor%2F-%2Feslint-template-visitor-1.1.0.tgz"
- dependencies:
- eslint-visitor-keys: ^1.1.0
- espree: ^6.1.1
- multimap: ^1.0.2
- peerDependencies:
- eslint: ^6.4.0
- checksum: 8ce07876599126e4917ce4d6380e23d9146f74d81e583c5ce0259b309306f16acbef00da168599ad054fc36fb7c31a11821fa60a3716f1d8302d70d9cb23aa88
- languageName: node
- linkType: hard
-
"eslint-utils@npm:^1.4.3":
version: 1.4.3
resolution: "eslint-utils@npm:1.4.3::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Feslint-utils%2F-%2Feslint-utils-1.4.3.tgz"
@@ -16418,7 +17124,7 @@ __metadata:
languageName: node
linkType: hard
-"espree@npm:^6.1.1, espree@npm:^6.1.2, espree@npm:^6.2.1":
+"espree@npm:^6.1.2, espree@npm:^6.2.1":
version: 6.2.1
resolution: "espree@npm:6.2.1::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Fespree%2F-%2Fespree-6.2.1.tgz"
dependencies:
@@ -16591,6 +17297,17 @@ __metadata:
languageName: node
linkType: hard
+"evp_bytestokey@npm:^1.0.0, evp_bytestokey@npm:^1.0.3":
+ version: 1.0.3
+ resolution: "evp_bytestokey@npm:1.0.3::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Fevp_bytestokey%2F-%2Fevp_bytestokey-1.0.3.tgz"
+ dependencies:
+ md5.js: ^1.3.4
+ node-gyp: latest
+ safe-buffer: ^5.1.1
+ checksum: ad4e1577f1a6b721c7800dcc7c733fe01f6c310732bb5bf2240245c2a5b45a38518b91d8be2c610611623160b9d1c0e91f1ce96d639f8b53e8894625cf20fa45
+ languageName: node
+ linkType: hard
+
"exec-sh@npm:^0.3.2":
version: 0.3.4
resolution: "exec-sh@npm:0.3.4::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Fexec-sh%2F-%2Fexec-sh-0.3.4.tgz"
@@ -17164,18 +17881,6 @@ __metadata:
languageName: node
linkType: hard
-"file-loader@npm:6.2.0":
- version: 6.2.0
- resolution: "file-loader@npm:6.2.0::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Ffile-loader%2F-%2Ffile-loader-6.2.0.tgz"
- dependencies:
- loader-utils: ^2.0.0
- schema-utils: ^3.0.0
- peerDependencies:
- webpack: ^4.0.0 || ^5.0.0
- checksum: faf43eecf233f4897b0150aaa874eeeac214e4f9de49738a9e0ef734a30b5260059e85b7edadf852b98e415f875bd5f12587768a93fd52aaf2e479ecf95fab20
- languageName: node
- linkType: hard
-
"file-tree-e9bb67@workspace:scopes/ui-foundation/tree/file-tree":
version: 0.0.0-use.local
resolution: "file-tree-e9bb67@workspace:scopes/ui-foundation/tree/file-tree"
@@ -17426,12 +18131,6 @@ __metadata:
languageName: node
linkType: hard
-"flows-49dfb5@workspace:scopes/pipelines/flows":
- version: 0.0.0-use.local
- resolution: "flows-49dfb5@workspace:scopes/pipelines/flows"
- languageName: unknown
- linkType: soft
-
"flush-write-stream@npm:^1.0.0":
version: 1.1.1
resolution: "flush-write-stream@npm:1.1.1::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Fflush-write-stream%2F-%2Fflush-write-stream-1.1.1.tgz"
@@ -17604,13 +18303,6 @@ __metadata:
languageName: node
linkType: hard
-"fromentries@npm:^1.2.0":
- version: 1.3.2
- resolution: "fromentries@npm:1.3.2::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Ffromentries%2F-%2Ffromentries-1.3.2.tgz"
- checksum: 33729c529ce19f5494f846f0dd4945078f4e37f4e8955f4ae8cc7385c218f600e9d93a7d225d17636c20d1889106fd87061f911550861b7072f53bf891e6b341
- languageName: node
- linkType: hard
-
"fs-capacitor@npm:^2.0.4":
version: 2.0.4
resolution: "fs-capacitor@npm:2.0.4::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Ffs-capacitor%2F-%2Ffs-capacitor-2.0.4.tgz"
@@ -17799,6 +18491,12 @@ __metadata:
languageName: node
linkType: hard
+"generator-4902a3@workspace:scopes/generator/aspect-docs/generator":
+ version: 0.0.0-use.local
+ resolution: "generator-4902a3@workspace:scopes/generator/aspect-docs/generator"
+ languageName: unknown
+ linkType: soft
+
"generator-a69b6b@workspace:scopes/generator/generator":
version: 0.0.0-use.local
resolution: "generator-a69b6b@workspace:scopes/generator/generator"
@@ -17822,7 +18520,7 @@ __metadata:
languageName: node
linkType: hard
-"get-caller-file@npm:^2.0.1":
+"get-caller-file@npm:^2.0.1, get-caller-file@npm:^2.0.5":
version: 2.0.5
resolution: "get-caller-file@npm:2.0.5::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Fget-caller-file%2F-%2Fget-caller-file-2.0.5.tgz"
checksum: b9769a836d2a98c3ee734a88ba712e62703f1df31b94b784762c433c27a386dd6029ff55c2a920c392e33657d80191edbf18c61487e198844844516f843496b9
@@ -17906,6 +18604,12 @@ __metadata:
languageName: node
linkType: hard
+"get-port-f0a47b@workspace:scopes/toolbox/network/get-port":
+ version: 0.0.0-use.local
+ resolution: "get-port-f0a47b@workspace:scopes/toolbox/network/get-port"
+ languageName: unknown
+ linkType: soft
+
"get-port@npm:*, get-port@npm:5.1.1":
version: 5.1.1
resolution: "get-port@npm:5.1.1::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Fget-port%2F-%2Fget-port-5.1.1.tgz"
@@ -18798,6 +19502,27 @@ __metadata:
languageName: node
linkType: hard
+"hash-base@npm:^3.0.0":
+ version: 3.1.0
+ resolution: "hash-base@npm:3.1.0::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Fhash-base%2F-%2Fhash-base-3.1.0.tgz"
+ dependencies:
+ inherits: ^2.0.4
+ readable-stream: ^3.6.0
+ safe-buffer: ^5.2.0
+ checksum: 26b7e97ac3de13cb23fc3145e7e3450b0530274a9562144fc2bf5c1e2983afd0e09ed7cc3b20974ba66039fad316db463da80eb452e7373e780cbee9a0d2f2dc
+ languageName: node
+ linkType: hard
+
+"hash.js@npm:^1.0.0, hash.js@npm:^1.0.3":
+ version: 1.1.7
+ resolution: "hash.js@npm:1.1.7::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Fhash.js%2F-%2Fhash.js-1.1.7.tgz"
+ dependencies:
+ inherits: ^2.0.3
+ minimalistic-assert: ^1.0.1
+ checksum: e350096e659c62422b85fa508e4b3669017311aa4c49b74f19f8e1bc7f3a54a584fdfd45326d4964d6011f2b2d882e38bea775a96046f2a61b7779a979629d8f
+ languageName: node
+ linkType: hard
+
"hast-to-hyperscript@npm:^9.0.0":
version: 9.0.1
resolution: "hast-to-hyperscript@npm:9.0.1::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Fhast-to-hyperscript%2F-%2Fhast-to-hyperscript-9.0.1.tgz"
@@ -18943,6 +19668,17 @@ __metadata:
languageName: node
linkType: hard
+"hmac-drbg@npm:^1.0.1":
+ version: 1.0.1
+ resolution: "hmac-drbg@npm:1.0.1::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Fhmac-drbg%2F-%2Fhmac-drbg-1.0.1.tgz"
+ dependencies:
+ hash.js: ^1.0.3
+ minimalistic-assert: ^1.0.0
+ minimalistic-crypto-utils: ^1.0.1
+ checksum: bd30b6a68d7f22d63f10e1888aee497d7c2c5c0bb469e66bbdac99f143904d1dfe95f8131f95b3e86c86dd239963c9d972fcbe147e7cffa00e55d18585c43fe0
+ languageName: node
+ linkType: hard
+
"hoist-non-react-statics@npm:^3.1.0, hoist-non-react-statics@npm:^3.3.2":
version: 3.3.2
resolution: "hoist-non-react-statics@npm:3.3.2::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Fhoist-non-react-statics%2F-%2Fhoist-non-react-statics-3.3.2.tgz"
@@ -19258,6 +19994,13 @@ __metadata:
languageName: node
linkType: hard
+"https-browserify@npm:1.0.0":
+ version: 1.0.0
+ resolution: "https-browserify@npm:1.0.0::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Fhttps-browserify%2F-%2Fhttps-browserify-1.0.0.tgz"
+ checksum: 09b35353e42069fde2435760d13f8a3fb7dd9105e358270e2e225b8a94f811b461edd17cb57594e5f36ec1218f121c160ddceeec6e8be2d55e01dcbbbed8cbae
+ languageName: node
+ linkType: hard
+
"https-proxy-agent@npm:5.0.0":
version: 5.0.0
resolution: "https-proxy-agent@npm:5.0.0::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Fhttps-proxy-agent%2F-%2Fhttps-proxy-agent-5.0.0.tgz"
@@ -19358,7 +20101,7 @@ __metadata:
languageName: node
linkType: hard
-"hyphenate-style-name@npm:^1.0.2, hyphenate-style-name@npm:^1.0.3":
+"hyphenate-style-name@npm:^1.0.2, hyphenate-style-name@npm:^1.0.3, hyphenate-style-name@npm:^1.0.4":
version: 1.0.4
resolution: "hyphenate-style-name@npm:1.0.4::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Fhyphenate-style-name%2F-%2Fhyphenate-style-name-1.0.4.tgz"
checksum: 4f5bf4b055089754924babebaa23c17845937bcca6aee95d5d015f8fa1e6814279002bd6a9e541e3fac2cd02519fc76305396727066c57c8e21a7e73e7a12137
@@ -19571,13 +20314,6 @@ __metadata:
languageName: node
linkType: hard
-"import-modules@npm:^2.0.0":
- version: 2.1.0
- resolution: "import-modules@npm:2.1.0::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Fimport-modules%2F-%2Fimport-modules-2.1.0.tgz"
- checksum: d9ac33dfea5a301c0cdc51455d875c373b2c04eb673488cb6d706474612575763f8ea6353d0b4a5bfffb2a9a06cbf4ecba90d8d9db4aa5f736fa957acbbc851c
- languageName: node
- linkType: hard
-
"imurmurhash@npm:^0.1.4":
version: 0.1.4
resolution: "imurmurhash@npm:0.1.4::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Fimurmurhash%2F-%2Fimurmurhash-0.1.4.tgz"
@@ -19723,6 +20459,15 @@ __metadata:
languageName: node
linkType: hard
+"inline-style-prefixer@npm:^6.0.0":
+ version: 6.0.0
+ resolution: "inline-style-prefixer@npm:6.0.0::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Finline-style-prefixer%2F-%2Finline-style-prefixer-6.0.0.tgz"
+ dependencies:
+ css-in-js-utils: ^2.0.0
+ checksum: 1331a6184bed03d145e3b9a98363fc7a245590ea1a495df7376a99386737893d4318f8ecf873e2be8431cff1de91512b7a4b9e36326933d5647db0088b63ef4f
+ languageName: node
+ linkType: hard
+
"inquirer-autocomplete-prompt@npm:^1.0.2":
version: 1.3.0
resolution: "inquirer-autocomplete-prompt@npm:1.3.0::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Finquirer-autocomplete-prompt%2F-%2Finquirer-autocomplete-prompt-1.3.0.tgz"
@@ -21941,6 +22686,12 @@ __metadata:
languageName: node
linkType: hard
+"level-icon-d1faa0@workspace:scopes/design/ui/elements/level-icon":
+ version: 0.0.0-use.local
+ resolution: "level-icon-d1faa0@workspace:scopes/design/ui/elements/level-icon"
+ languageName: unknown
+ linkType: soft
+
"level-iterator-stream@npm:~4.0.0":
version: 4.0.2
resolution: "level-iterator-stream@npm:4.0.2::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Flevel-iterator-stream%2F-%2Flevel-iterator-stream-4.0.2.tgz"
@@ -22069,9 +22820,9 @@ __metadata:
languageName: node
linkType: hard
-"link-afb879@workspace:scopes/ui-foundation/routing/link":
+"link-anchor-9ac4ad@workspace:scopes/ui-foundation/react-router/ui/link-anchor":
version: 0.0.0-use.local
- resolution: "link-afb879@workspace:scopes/ui-foundation/routing/link"
+ resolution: "link-anchor-9ac4ad@workspace:scopes/ui-foundation/react-router/ui/link-anchor"
languageName: unknown
linkType: soft
@@ -22278,6 +23029,13 @@ __metadata:
languageName: node
linkType: hard
+"lodash-es@npm:^4.17.15":
+ version: 4.17.21
+ resolution: "lodash-es@npm:4.17.21::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Flodash-es%2F-%2Flodash-es-4.17.21.tgz"
+ checksum: 05cbffad6e2adbb331a4e16fbd826e7faee403a1a04873b82b42c0f22090f280839f85b95393f487c1303c8a3d2a010048bf06151a6cbe03eee4d388fb0a12d2
+ languageName: node
+ linkType: hard
+
"lodash._reinterpolate@npm:^3.0.0":
version: 3.0.0
resolution: "lodash._reinterpolate@npm:3.0.0::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Flodash._reinterpolate%2F-%2Flodash._reinterpolate-3.0.0.tgz"
@@ -22299,13 +23057,6 @@ __metadata:
languageName: node
linkType: hard
-"lodash.camelcase@npm:^4.3.0":
- version: 4.3.0
- resolution: "lodash.camelcase@npm:4.3.0::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Flodash.camelcase%2F-%2Flodash.camelcase-4.3.0.tgz"
- checksum: cb9227612f71b83e42de93eccf1232feeb25e705bdb19ba26c04f91e885bfd3dd5c517c4a97137658190581d3493ea3973072ca010aab7e301046d90740393d1
- languageName: node
- linkType: hard
-
"lodash.compact@npm:3.0.1":
version: 3.0.1
resolution: "lodash.compact@npm:3.0.1::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Flodash.compact%2F-%2Flodash.compact-3.0.1.tgz"
@@ -22320,13 +23071,6 @@ __metadata:
languageName: node
linkType: hard
-"lodash.defaultsdeep@npm:^4.6.1":
- version: 4.6.1
- resolution: "lodash.defaultsdeep@npm:4.6.1::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Flodash.defaultsdeep%2F-%2Flodash.defaultsdeep-4.6.1.tgz"
- checksum: 1f346f16158b760545ca99553cb13e907a28b281425751af6bfe681387b9e5685438a7ddbfd36a8d5cc8bda066867a134aa31416f17e318db8c461c377810a76
- languageName: node
- linkType: hard
-
"lodash.endswith@npm:^4.0.1":
version: 4.2.1
resolution: "lodash.endswith@npm:4.2.1::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Flodash.endswith%2F-%2Flodash.endswith-4.2.1.tgz"
@@ -22404,13 +23148,6 @@ __metadata:
languageName: node
linkType: hard
-"lodash.kebabcase@npm:^4.1.1":
- version: 4.1.1
- resolution: "lodash.kebabcase@npm:4.1.1::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Flodash.kebabcase%2F-%2Flodash.kebabcase-4.1.1.tgz"
- checksum: 5a6c59161914e1bae23438a298c7433e83d935e0f59853fa862e691164696bc07f6dfa4c313d499fbf41ba8d53314e9850416502376705a357d24ee6ca33af78
- languageName: node
- linkType: hard
-
"lodash.memoize@npm:^4.1.2":
version: 4.1.2
resolution: "lodash.memoize@npm:4.1.2::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Flodash.memoize%2F-%2Flodash.memoize-4.1.2.tgz"
@@ -22460,13 +23197,6 @@ __metadata:
languageName: node
linkType: hard
-"lodash.snakecase@npm:^4.1.1":
- version: 4.1.1
- resolution: "lodash.snakecase@npm:4.1.1::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Flodash.snakecase%2F-%2Flodash.snakecase-4.1.1.tgz"
- checksum: 1685ed3e83dda6eae5a4dcaee161a51cd210aabb3e1c09c57150e7dd8feda19e4ca0d27d0631eabe8d0f4eaa51e376da64e8c018ae5415417c5890d42feb72a8
- languageName: node
- linkType: hard
-
"lodash.sortby@npm:^4.7.0":
version: 4.7.0
resolution: "lodash.sortby@npm:4.7.0::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Flodash.sortby%2F-%2Flodash.sortby-4.7.0.tgz"
@@ -22500,13 +23230,6 @@ __metadata:
languageName: node
linkType: hard
-"lodash.topairs@npm:^4.3.0":
- version: 4.3.0
- resolution: "lodash.topairs@npm:4.3.0::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Flodash.topairs%2F-%2Flodash.topairs-4.3.0.tgz"
- checksum: 8efd69e706e5adb7f8c4521cd094be17ed4776dab30d9ae0a72e130f14e7bb696dd858cbc18c912aa20e97ccc76486f3cf2d0acb3ff30cb9af3fd525a7f9c9bd
- languageName: node
- linkType: hard
-
"lodash.trimstart@npm:^4.5.1":
version: 4.5.1
resolution: "lodash.trimstart@npm:4.5.1::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Flodash.trimstart%2F-%2Flodash.trimstart-4.5.1.tgz"
@@ -22528,13 +23251,6 @@ __metadata:
languageName: node
linkType: hard
-"lodash.upperfirst@npm:^4.3.1":
- version: 4.3.1
- resolution: "lodash.upperfirst@npm:4.3.1::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Flodash.upperfirst%2F-%2Flodash.upperfirst-4.3.1.tgz"
- checksum: cadec6955900afe1928cc60cdc4923a79c2ef991e42665419cc81630ed9b4f952a1093b222e0141ab31cbc4dba549f97ec28ff67929d71e01861c97188a5fa83
- languageName: node
- linkType: hard
-
"lodash.words@npm:^4.2.0":
version: 4.2.0
resolution: "lodash.words@npm:4.2.0::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Flodash.words%2F-%2Flodash.words-4.2.0.tgz"
@@ -22542,13 +23258,6 @@ __metadata:
languageName: node
linkType: hard
-"lodash.zip@npm:^4.2.0":
- version: 4.2.0
- resolution: "lodash.zip@npm:4.2.0::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Flodash.zip%2F-%2Flodash.zip-4.2.0.tgz"
- checksum: 41fd8dc1af8b38086369d4fdc81dd725715dcda36ec463d907b9c58f25e5ebb518376b0acec39ded96a6b1790a89c387b9a6b1627306f33fabaf987c8d5eac9e
- languageName: node
- linkType: hard
-
"lodash@npm:4.17.15":
version: 4.17.15
resolution: "lodash@npm:4.17.15::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Flodash%2F-%2Flodash-4.17.15.tgz"
@@ -22619,6 +23328,12 @@ __metadata:
languageName: unknown
linkType: soft
+"logger-b8d3db@workspace:scopes/harmony/aspect-docs/logger":
+ version: 0.0.0-use.local
+ resolution: "logger-b8d3db@workspace:scopes/harmony/aspect-docs/logger"
+ languageName: unknown
+ linkType: soft
+
"loglevel-colored-level-prefix@npm:^1.0.0":
version: 1.0.0
resolution: "loglevel-colored-level-prefix@npm:1.0.0::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Floglevel-colored-level-prefix%2F-%2Floglevel-colored-level-prefix-1.0.0.tgz"
@@ -22713,6 +23428,15 @@ __metadata:
languageName: node
linkType: hard
+"lru-cache@npm:6.0.0, lru-cache@npm:^6.0.0":
+ version: 6.0.0
+ resolution: "lru-cache@npm:6.0.0::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Flru-cache%2F-%2Flru-cache-6.0.0.tgz"
+ dependencies:
+ yallist: ^4.0.0
+ checksum: f97f499f898f23e4585742138a22f22526254fdba6d75d41a1c2526b3b6cc5747ef59c5612ba7375f42aca4f8461950e925ba08c991ead0651b4918b7c978297
+ languageName: node
+ linkType: hard
+
"lru-cache@npm:^4.0.1":
version: 4.1.5
resolution: "lru-cache@npm:4.1.5::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Flru-cache%2F-%2Flru-cache-4.1.5.tgz"
@@ -22732,15 +23456,6 @@ __metadata:
languageName: node
linkType: hard
-"lru-cache@npm:^6.0.0":
- version: 6.0.0
- resolution: "lru-cache@npm:6.0.0::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Flru-cache%2F-%2Flru-cache-6.0.0.tgz"
- dependencies:
- yallist: ^4.0.0
- checksum: f97f499f898f23e4585742138a22f22526254fdba6d75d41a1c2526b3b6cc5747ef59c5612ba7375f42aca4f8461950e925ba08c991ead0651b4918b7c978297
- languageName: node
- linkType: hard
-
"lru-queue@npm:^0.1.0":
version: 0.1.0
resolution: "lru-queue@npm:0.1.0::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Flru-queue%2F-%2Flru-queue-0.1.0.tgz"
@@ -22934,6 +23649,17 @@ __metadata:
languageName: unknown
linkType: soft
+"md5.js@npm:^1.3.4":
+ version: 1.3.5
+ resolution: "md5.js@npm:1.3.5::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Fmd5.js%2F-%2Fmd5.js-1.3.5.tgz"
+ dependencies:
+ hash-base: ^3.0.0
+ inherits: ^2.0.1
+ safe-buffer: ^5.1.2
+ checksum: 098494d885684bcc4f92294b18ba61b7bd353c23147fbc4688c75b45cb8590f5a95fd4584d742415dcc52487f7a1ef6ea611cfa1543b0dc4492fe026357f3f0c
+ languageName: node
+ linkType: hard
+
"md5@npm:^2.1.0":
version: 2.3.0
resolution: "md5@npm:2.3.0::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Fmd5%2F-%2Fmd5-2.3.0.tgz"
@@ -23000,6 +23726,12 @@ __metadata:
languageName: node
linkType: hard
+"mdx-072d4f@workspace:scopes/mdx/aspect-docs/mdx":
+ version: 0.0.0-use.local
+ resolution: "mdx-072d4f@workspace:scopes/mdx/aspect-docs/mdx"
+ languageName: unknown
+ linkType: soft
+
"mdx-d28562@workspace:scopes/mdx/mdx":
version: 0.0.0-use.local
resolution: "mdx-d28562@workspace:scopes/mdx/mdx"
@@ -23009,6 +23741,8 @@ __metadata:
"mdx-layout-7ac240@workspace:scopes/mdx/ui/mdx-layout":
version: 0.0.0-use.local
resolution: "mdx-layout-7ac240@workspace:scopes/mdx/ui/mdx-layout"
+ dependencies:
+ "@teambit/documenter.ui.separator": 3.0.14
languageName: unknown
linkType: soft
@@ -23162,6 +23896,12 @@ __metadata:
languageName: node
linkType: hard
+"message-card-a26918@workspace:scopes/design/ui/message-card":
+ version: 0.0.0-use.local
+ resolution: "message-card-a26918@workspace:scopes/design/ui/message-card"
+ languageName: unknown
+ linkType: soft
+
"methods@npm:~1.1.2":
version: 1.1.2
resolution: "methods@npm:1.1.2::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Fmethods%2F-%2Fmethods-1.1.2.tgz"
@@ -23207,6 +23947,18 @@ __metadata:
languageName: node
linkType: hard
+"miller-rabin@npm:^4.0.0":
+ version: 4.0.1
+ resolution: "miller-rabin@npm:4.0.1::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Fmiller-rabin%2F-%2Fmiller-rabin-4.0.1.tgz"
+ dependencies:
+ bn.js: ^4.0.0
+ brorand: ^1.0.1
+ bin:
+ miller-rabin: bin/miller-rabin
+ checksum: 00cd1ab838ac49b03f236cc32a14d29d7d28637a53096bf5c6246a032a37749c9bd9ce7360cbf55b41b89b7d649824949ff12bc8eee29ac77c6b38eada619ece
+ languageName: node
+ linkType: hard
+
"mime-db@npm:1.46.0, mime-db@npm:>= 1.43.0 < 2":
version: 1.46.0
resolution: "mime-db@npm:1.46.0::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Fmime-db%2F-%2Fmime-db-1.46.0.tgz"
@@ -23318,13 +24070,20 @@ __metadata:
languageName: node
linkType: hard
-"minimalistic-assert@npm:^1.0.0":
+"minimalistic-assert@npm:^1.0.0, minimalistic-assert@npm:^1.0.1":
version: 1.0.1
resolution: "minimalistic-assert@npm:1.0.1::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Fminimalistic-assert%2F-%2Fminimalistic-assert-1.0.1.tgz"
checksum: cc7974a9268fbf130fb055aff76700d7e2d8be5f761fb5c60318d0ed010d839ab3661a533ad29a5d37653133385204c503bfac995aaa4236f4e847461ea32ba7
languageName: node
linkType: hard
+"minimalistic-crypto-utils@npm:^1.0.1":
+ version: 1.0.1
+ resolution: "minimalistic-crypto-utils@npm:1.0.1::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Fminimalistic-crypto-utils%2F-%2Fminimalistic-crypto-utils-1.0.1.tgz"
+ checksum: 6e8a0422b30039406efd4c440829ea8f988845db02a3299f372fceba56ffa94994a9c0f2fd70c17f9969eedfbd72f34b5070ead9656a34d3f71c0bd72583a0ed
+ languageName: node
+ linkType: hard
+
"minimatch@npm:2 || 3, minimatch@npm:3, minimatch@npm:3.0.4, minimatch@npm:^3.0.0, minimatch@npm:^3.0.2, minimatch@npm:^3.0.4":
version: 3.0.4
resolution: "minimatch@npm:3.0.4::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Fminimatch%2F-%2Fminimatch-3.0.4.tgz"
@@ -23647,6 +24406,12 @@ __metadata:
languageName: node
linkType: hard
+"multi-compiler-47094b@workspace:scopes/compilation/aspect-docs/multi-compiler":
+ version: 0.0.0-use.local
+ resolution: "multi-compiler-47094b@workspace:scopes/compilation/aspect-docs/multi-compiler"
+ languageName: unknown
+ linkType: soft
+
"multi-compiler-c337c3@workspace:scopes/compilation/multi-compiler":
version: 0.0.0-use.local
resolution: "multi-compiler-c337c3@workspace:scopes/compilation/multi-compiler"
@@ -23672,13 +24437,6 @@ __metadata:
languageName: node
linkType: hard
-"multimap@npm:^1.0.2":
- version: 1.1.0
- resolution: "multimap@npm:1.1.0::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Fmultimap%2F-%2Fmultimap-1.1.0.tgz"
- checksum: 42769c9dd74096d989618fd0f47c69d19f9bab48d1b0b673cfa6c44042a0bd5847524533a06afde80334b4a24defec27754dc8d1f083ee7bb880f69f437efabc
- languageName: node
- linkType: hard
-
"mute-stream@npm:0.0.7":
version: 0.0.7
resolution: "mute-stream@npm:0.0.7::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Fmute-stream%2F-%2Fmute-stream-0.0.7.tgz"
@@ -23743,6 +24501,13 @@ __metadata:
languageName: node
linkType: hard
+"nanoclone@npm:^0.2.1":
+ version: 0.2.1
+ resolution: "nanoclone@npm:0.2.1::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Fnanoclone%2F-%2Fnanoclone-0.2.1.tgz"
+ checksum: 96b2954e22f70561f41e20d69856266c65583c2a441dae108f1dc71b716785d2c8038dac5f1d5e92b117aed3825f526b53139e2e5d6e6db8a77cfa35b3b8bf40
+ languageName: node
+ linkType: hard
+
"nanoid@npm:3.1.20":
version: 3.1.20
resolution: "nanoid@npm:3.1.20::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Fnanoid%2F-%2Fnanoid-3.1.20.tgz"
@@ -23787,18 +24552,6 @@ __metadata:
languageName: node
linkType: hard
-"native-link-e08eb7@workspace:scopes/ui-foundation/routing/native-link":
- version: 0.0.0-use.local
- resolution: "native-link-e08eb7@workspace:scopes/ui-foundation/routing/native-link"
- languageName: unknown
- linkType: soft
-
-"native-nav-link-063fd0@workspace:scopes/ui-foundation/routing/native-nav-link":
- version: 0.0.0-use.local
- resolution: "native-nav-link-063fd0@workspace:scopes/ui-foundation/routing/native-nav-link"
- languageName: unknown
- linkType: soft
-
"native-url@npm:^0.2.6":
version: 0.2.6
resolution: "native-url@npm:0.2.6::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Fnative-url%2F-%2Fnative-url-0.2.6.tgz"
@@ -23821,12 +24574,6 @@ __metadata:
languageName: unknown
linkType: soft
-"nav-link-a16aa0@workspace:scopes/ui-foundation/routing/nav-link":
- version: 0.0.0-use.local
- resolution: "nav-link-a16aa0@workspace:scopes/ui-foundation/routing/nav-link"
- languageName: unknown
- linkType: soft
-
"ncp@npm:1.0.x":
version: 1.0.1
resolution: "ncp@npm:1.0.1::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Fncp%2F-%2Fncp-1.0.1.tgz"
@@ -23959,6 +24706,12 @@ __metadata:
languageName: node
linkType: hard
+"node-f7d9ba@workspace:scopes/harmony/aspect-docs/node":
+ version: 0.0.0-use.local
+ resolution: "node-f7d9ba@workspace:scopes/harmony/aspect-docs/node"
+ languageName: unknown
+ linkType: soft
+
"node-fetch-npm@npm:^2.0.2":
version: 2.0.4
resolution: "node-fetch-npm@npm:2.0.4::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Fnode-fetch-npm%2F-%2Fnode-fetch-npm-2.0.4.tgz"
@@ -24676,6 +25429,13 @@ __metadata:
languageName: node
linkType: hard
+"os-browserify@npm:0.3.0":
+ version: 0.3.0
+ resolution: "os-browserify@npm:0.3.0::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Fos-browserify%2F-%2Fos-browserify-0.3.0.tgz"
+ checksum: 16e37ba3c0e6a4c63443c7b55799ce4066d59104143cb637ecb9fce586d5da319cdca786ba1c867abbe3890d2cbf37953f2d51eea85e20dd6c4570d6c54bfebf
+ languageName: node
+ linkType: hard
+
"os-homedir@npm:^1.0.0, os-homedir@npm:^1.0.1":
version: 1.0.2
resolution: "os-homedir@npm:1.0.2::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Fos-homedir%2F-%2Fos-homedir-1.0.2.tgz"
@@ -24868,7 +25628,7 @@ __metadata:
languageName: node
linkType: hard
-"p-queue@npm:6.6.2, p-queue@npm:^6.6.2":
+"p-queue@npm:6.6.2, p-queue@npm:^6.0.0, p-queue@npm:^6.6.2":
version: 6.6.2
resolution: "p-queue@npm:6.6.2::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Fp-queue%2F-%2Fp-queue-6.6.2.tgz"
dependencies:
@@ -24984,6 +25744,13 @@ __metadata:
languageName: node
linkType: hard
+"pako@npm:~1.0.5":
+ version: 1.0.11
+ resolution: "pako@npm:1.0.11::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Fpako%2F-%2Fpako-1.0.11.tgz"
+ checksum: 1be2bfa1f807608c7538afa15d6f25baa523c30ec870a3228a89579e474a4d992f4293859524e46d5d87fd30fa17c5edf34dbef0671251d9749820b488660b16
+ languageName: node
+ linkType: hard
+
"panels-3f1c08@workspace:scopes/ui-foundation/panels":
version: 0.0.0-use.local
resolution: "panels-3f1c08@workspace:scopes/ui-foundation/panels"
@@ -25050,6 +25817,19 @@ __metadata:
languageName: node
linkType: hard
+"parse-asn1@npm:^5.0.0, parse-asn1@npm:^5.1.5":
+ version: 5.1.6
+ resolution: "parse-asn1@npm:5.1.6::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Fparse-asn1%2F-%2Fparse-asn1-5.1.6.tgz"
+ dependencies:
+ asn1.js: ^5.2.0
+ browserify-aes: ^1.0.0
+ evp_bytestokey: ^1.0.0
+ pbkdf2: ^3.0.3
+ safe-buffer: ^5.1.1
+ checksum: 9243311d1f88089bc9f2158972aa38d1abd5452f7b7cabf84954ed766048fe574d434d82c6f5a39b988683e96fb84cd933071dda38927e03469dc8c8d14463c7
+ languageName: node
+ linkType: hard
+
"parse-entities@npm:^2.0.0":
version: 2.0.0
resolution: "parse-entities@npm:2.0.0::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Fparse-entities%2F-%2Fparse-entities-2.0.0.tgz"
@@ -25365,13 +26145,26 @@ __metadata:
languageName: node
linkType: hard
-"pathval@npm:^1.1.0, pathval@npm:^1.1.1":
+"pathval@npm:^1.1.0":
version: 1.1.1
resolution: "pathval@npm:1.1.1::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Fpathval%2F-%2Fpathval-1.1.1.tgz"
checksum: 090e3147716647fb7fb5b4b8c8e5b55e5d0a6086d085b6cd23f3d3c01fcf0ff56fd3cc22f2f4a033bd2e46ed55d61ed8379e123b42afe7d531a2a5fc8bb556d6
languageName: node
linkType: hard
+"pbkdf2@npm:^3.0.3":
+ version: 3.1.2
+ resolution: "pbkdf2@npm:3.1.2::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Fpbkdf2%2F-%2Fpbkdf2-3.1.2.tgz"
+ dependencies:
+ create-hash: ^1.1.2
+ create-hmac: ^1.1.4
+ ripemd160: ^2.0.1
+ safe-buffer: ^5.0.1
+ sha.js: ^2.4.8
+ checksum: 2c950a100b1da72123449208e231afc188d980177d021d7121e96a2de7f2abbc96ead2b87d03d8fe5c318face097f203270d7e27908af9f471c165a4e8e69c92
+ languageName: node
+ linkType: hard
+
"peek-stream@npm:^1.1.0, peek-stream@npm:^1.1.1":
version: 1.1.3
resolution: "peek-stream@npm:1.1.3::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Fpeek-stream%2F-%2Fpeek-stream-1.1.3.tgz"
@@ -25535,6 +26328,12 @@ __metadata:
languageName: node
linkType: hard
+"pkg-ef11cf@workspace:scopes/pkg/aspect-docs/pkg":
+ version: 0.0.0-use.local
+ resolution: "pkg-ef11cf@workspace:scopes/pkg/aspect-docs/pkg"
+ languageName: unknown
+ linkType: soft
+
"pkg-up@npm:3.1.0, pkg-up@npm:^3.1.0":
version: 3.1.0
resolution: "pkg-up@npm:3.1.0::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Fpkg-up%2F-%2Fpkg-up-3.1.0.tgz"
@@ -25581,6 +26380,12 @@ __metadata:
languageName: node
linkType: hard
+"pnpm-2b35ec@workspace:scopes/dependencies/aspect-docs/pnpm":
+ version: 0.0.0-use.local
+ resolution: "pnpm-2b35ec@workspace:scopes/dependencies/aspect-docs/pnpm"
+ languageName: unknown
+ linkType: soft
+
"pnpm-58c752@workspace:scopes/dependencies/pnpm":
version: 0.0.0-use.local
resolution: "pnpm-58c752@workspace:scopes/dependencies/pnpm"
@@ -26553,6 +27358,12 @@ __metadata:
languageName: unknown
linkType: soft
+"preview-a18515@workspace:scopes/preview/aspect-docs/preview":
+ version: 0.0.0-use.local
+ resolution: "preview-a18515@workspace:scopes/preview/aspect-docs/preview"
+ languageName: unknown
+ linkType: soft
+
"preview-placeholder-b6c245@workspace:scopes/preview/ui/preview-placeholder":
version: 0.0.0-use.local
resolution: "preview-placeholder-b6c245@workspace:scopes/preview/ui/preview-placeholder"
@@ -26579,21 +27390,21 @@ __metadata:
languageName: node
linkType: hard
-"prism-react-renderer@npm:1.1.1":
- version: 1.1.1
- resolution: "prism-react-renderer@npm:1.1.1::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Fprism-react-renderer%2F-%2Fprism-react-renderer-1.1.1.tgz"
+"prism-react-renderer@npm:^1.0.1":
+ version: 1.2.0
+ resolution: "prism-react-renderer@npm:1.2.0::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Fprism-react-renderer%2F-%2Fprism-react-renderer-1.2.0.tgz"
peerDependencies:
react: ">=0.14.9"
- checksum: 7ca6eea1f7f00ee37d976256079823ca228e92ff9eecd6dc6417c9c3236b2267ab53b6e5056223e4cd1b96213831d103da3d9c6a0a21fcfae98cfbb9a9a6f959
+ checksum: 2b15bd04f774c23053eb47b89ba4340ce5fcd75e3fd701a9c03afd91b2f8d4974eb32b7bd164487fc431281e2ef104690d178361ebb489500ed45d8666a2ad6b
languageName: node
linkType: hard
-"prism-react-renderer@npm:^1.0.1":
- version: 1.2.0
- resolution: "prism-react-renderer@npm:1.2.0::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Fprism-react-renderer%2F-%2Fprism-react-renderer-1.2.0.tgz"
+"prism-react-renderer@npm:^1.1.1":
+ version: 1.2.1
+ resolution: "prism-react-renderer@npm:1.2.1::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Fprism-react-renderer%2F-%2Fprism-react-renderer-1.2.1.tgz"
peerDependencies:
react: ">=0.14.9"
- checksum: 2b15bd04f774c23053eb47b89ba4340ce5fcd75e3fd701a9c03afd91b2f8d4974eb32b7bd164487fc431281e2ef104690d178361ebb489500ed45d8666a2ad6b
+ checksum: 66cab3d9f9f18ff5db222df74e1f326262ad093202f855ef2bd9e8001fef21b92f2242a2292caa77c36a517a7f379620417b421eaa320405deb6ecb27c18ee5e
languageName: node
linkType: hard
@@ -26758,14 +27569,10 @@ __metadata:
languageName: node
linkType: hard
-"proper-lockfile@npm:4.1.2":
- version: 4.1.2
- resolution: "proper-lockfile@npm:4.1.2::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Fproper-lockfile%2F-%2Fproper-lockfile-4.1.2.tgz"
- dependencies:
- graceful-fs: ^4.2.4
- retry: ^0.12.0
- signal-exit: ^3.0.2
- checksum: 00078ee6a61c216a56a6140c7d2a98c6c733b3678503002dc073ab8beca5d50ca271de4c85fca13b9b8ee2ff546c36674d1850509b84a04a5d0363bcb8638939
+"property-expr@npm:^2.0.4":
+ version: 2.0.4
+ resolution: "property-expr@npm:2.0.4::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Fproperty-expr%2F-%2Fproperty-expr-2.0.4.tgz"
+ checksum: 7ac142e189f0feef685f327f582efe13bfbc24a0b6e2328afdb38520bc140caa5f91dfa9529f2539b4468d85dc83a593e1ef0e0f7401b525368bb634b323bf54
languageName: node
linkType: hard
@@ -26829,6 +27636,20 @@ __metadata:
languageName: node
linkType: hard
+"public-encrypt@npm:^4.0.0":
+ version: 4.0.3
+ resolution: "public-encrypt@npm:4.0.3::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Fpublic-encrypt%2F-%2Fpublic-encrypt-4.0.3.tgz"
+ dependencies:
+ bn.js: ^4.1.0
+ browserify-rsa: ^4.0.0
+ create-hash: ^1.1.0
+ parse-asn1: ^5.0.0
+ randombytes: ^2.0.1
+ safe-buffer: ^5.1.2
+ checksum: 215d446e43cef021a20b67c1df455e5eea134af0b1f9b8a35f9e850abf32991b0c307327bc5b9bc07162c288d5cdb3d4a783ea6c6640979ed7b5017e3e0c9935
+ languageName: node
+ linkType: hard
+
"pubsub-1e3401@workspace:scopes/harmony/pubsub":
version: 0.0.0-use.local
resolution: "pubsub-1e3401@workspace:scopes/harmony/pubsub"
@@ -26873,6 +27694,13 @@ __metadata:
languageName: node
linkType: hard
+"punycode@npm:2.1.1, punycode@npm:^2.1.0, punycode@npm:^2.1.1":
+ version: 2.1.1
+ resolution: "punycode@npm:2.1.1::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Fpunycode%2F-%2Fpunycode-2.1.1.tgz"
+ checksum: 823bf443c6dd14f669984dea25757b37993f67e8d94698996064035edd43bed8a5a17a9f12e439c2b35df1078c6bec05a6c86e336209eb1061e8025c481168e8
+ languageName: node
+ linkType: hard
+
"punycode@npm:^1.4.1":
version: 1.4.1
resolution: "punycode@npm:1.4.1::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Fpunycode%2F-%2Fpunycode-1.4.1.tgz"
@@ -26880,13 +27708,6 @@ __metadata:
languageName: node
linkType: hard
-"punycode@npm:^2.1.0, punycode@npm:^2.1.1":
- version: 2.1.1
- resolution: "punycode@npm:2.1.1::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Fpunycode%2F-%2Fpunycode-2.1.1.tgz"
- checksum: 823bf443c6dd14f669984dea25757b37993f67e8d94698996064035edd43bed8a5a17a9f12e439c2b35df1078c6bec05a6c86e336209eb1061e8025c481168e8
- languageName: node
- linkType: hard
-
"q@npm:^1.1.2":
version: 1.5.1
resolution: "q@npm:1.5.1::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Fq%2F-%2Fq-1.5.1.tgz"
@@ -26945,6 +27766,13 @@ __metadata:
languageName: node
linkType: hard
+"querystring-es3@npm:0.2.1":
+ version: 0.2.1
+ resolution: "querystring-es3@npm:0.2.1::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Fquerystring-es3%2F-%2Fquerystring-es3-0.2.1.tgz"
+ checksum: 691e8d6b8b157e7cd49ae8e83fcf86de39ab3ba948c25abaa94fba84c0986c641aa2f597770848c64abce290ed17a39c9df6df737dfa7e87c3b63acc7d225d61
+ languageName: node
+ linkType: hard
+
"querystring@npm:0.2.0":
version: 0.2.0
resolution: "querystring@npm:0.2.0::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Fquerystring%2F-%2Fquerystring-0.2.0.tgz"
@@ -27005,14 +27833,14 @@ __metadata:
languageName: node
linkType: hard
-"ramda@npm:0.27.1, ramda@npm:^0.27.0, ramda@npm:^0.27.1":
+"ramda@npm:*, ramda@npm:0.27.1, ramda@npm:^0.27.0, ramda@npm:^0.27.1":
version: 0.27.1
resolution: "ramda@npm:0.27.1::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Framda%2F-%2Framda-0.27.1.tgz"
checksum: 31a0c0ef739b2525d7615f84cbb5d3cb89ee0c795469b711f729ea1d8df0dccc3cd75d3717a1e9742d42315ce86435680b7c87743eb7618111c60c144a5b8059
languageName: node
linkType: hard
-"randombytes@npm:^2.1.0":
+"randombytes@npm:^2.0.0, randombytes@npm:^2.0.1, randombytes@npm:^2.0.5, randombytes@npm:^2.1.0":
version: 2.1.0
resolution: "randombytes@npm:2.1.0::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Frandombytes%2F-%2Frandombytes-2.1.0.tgz"
dependencies:
@@ -27021,6 +27849,16 @@ __metadata:
languageName: node
linkType: hard
+"randomfill@npm:^1.0.3":
+ version: 1.0.4
+ resolution: "randomfill@npm:1.0.4::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Frandomfill%2F-%2Frandomfill-1.0.4.tgz"
+ dependencies:
+ randombytes: ^2.0.5
+ safe-buffer: ^5.1.0
+ checksum: 33734bb578a868d29ee1b8555e21a36711db084065d94e019a6d03caa67debef8d6a1bfd06a2b597e32901ddc761ab483a85393f0d9a75838f1912461d4dbfc7
+ languageName: node
+ linkType: hard
+
"range-parser@npm:^1.2.1, range-parser@npm:~1.2.1":
version: 1.2.1
resolution: "range-parser@npm:1.2.1::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Frange-parser%2F-%2Frange-parser-1.2.1.tgz"
@@ -27066,12 +27904,18 @@ __metadata:
languageName: node
linkType: hard
+"react-4029e7@workspace:scopes/react/aspect-docs/react":
+ version: 0.0.0-use.local
+ resolution: "react-4029e7@workspace:scopes/react/aspect-docs/react"
+ languageName: unknown
+ linkType: soft
+
"react-a12f27@workspace:scopes/react/react":
version: 0.0.0-use.local
resolution: "react-a12f27@workspace:scopes/react/react"
dependencies:
"@babel/preset-typescript": 7.12.17
- "@teambit/documenter.theme.theme-context": 3.0.8
+ "@teambit/documenter.ui.section": 3.0.14
"@typescript-eslint/eslint-plugin": 4.15.1
"@typescript-eslint/parser": 4.15.1
languageName: unknown
@@ -27182,7 +28026,7 @@ __metadata:
languageName: node
linkType: hard
-"react-dom@npm:16.14.0":
+"react-dom@npm:16.14.0, react-dom@npm:^16.13.1":
version: 16.14.0
resolution: "react-dom@npm:16.14.0::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Freact-dom%2F-%2Freact-dom-16.14.0.tgz"
dependencies:
@@ -27206,6 +28050,17 @@ __metadata:
languageName: node
linkType: hard
+"react-error-boundary@npm:^3.0.0":
+ version: 3.1.3
+ resolution: "react-error-boundary@npm:3.1.3::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Freact-error-boundary%2F-%2Freact-error-boundary-3.1.3.tgz"
+ dependencies:
+ "@babel/runtime": ^7.12.5
+ peerDependencies:
+ react: ">=16.13.1"
+ checksum: 0a05af404aa054c54d7bc65a1814810093bf136c3ad4b3576a51d8509ee8fc302adfb66405da501fc01e839db557dd0d994b487e651897e36293907bb61458cf
+ languageName: node
+ linkType: hard
+
"react-error-overlay@npm:6.0.9, react-error-overlay@npm:^6.0.7":
version: 6.0.9
resolution: "react-error-overlay@npm:6.0.9::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Freact-error-overlay%2F-%2Freact-error-overlay-6.0.9.tgz"
@@ -27251,7 +28106,7 @@ __metadata:
languageName: node
linkType: hard
-"react-live@npm:2.2.3":
+"react-live@npm:^2.2.2":
version: 2.2.3
resolution: "react-live@npm:2.2.3::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Freact-live%2F-%2Freact-live-2.2.3.tgz"
dependencies:
@@ -27272,6 +28127,12 @@ __metadata:
languageName: unknown
linkType: soft
+"react-native-e24992@workspace:scopes/react/aspect-docs/react-native":
+ version: 0.0.0-use.local
+ resolution: "react-native-e24992@workspace:scopes/react/aspect-docs/react-native"
+ languageName: unknown
+ linkType: soft
+
"react-native-web@npm:0.14.13":
version: 0.14.13
resolution: "react-native-web@npm:0.14.13::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Freact-native-web%2F-%2Freact-native-web-0.14.13.tgz"
@@ -27292,6 +28153,26 @@ __metadata:
languageName: node
linkType: hard
+"react-native-web@npm:^0.16.0":
+ version: 0.16.3
+ resolution: "react-native-web@npm:0.16.3::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Freact-native-web%2F-%2Freact-native-web-0.16.3.tgz"
+ dependencies:
+ array-find-index: ^1.0.2
+ create-react-class: ^15.7.0
+ deep-assign: ^3.0.0
+ fbjs: ^3.0.0
+ hyphenate-style-name: ^1.0.4
+ inline-style-prefixer: ^6.0.0
+ normalize-css-color: ^1.0.2
+ prop-types: ^15.6.0
+ react-timer-mixin: ^0.13.4
+ peerDependencies:
+ react: ">=17.0.1"
+ react-dom: ">=17.0.1"
+ checksum: 7fb7cad8db63dcc42b73543ba5bb5d2ec5f4f2f02f88f8512d5348d47eac2341e2aab09e13f0054955043125928de4030b5b153f5aae7378c68d6f0e09e55288
+ languageName: node
+ linkType: hard
+
"react-popper@npm:2.2.4":
version: 2.2.4
resolution: "react-popper@npm:2.2.4::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Freact-popper%2F-%2Freact-popper-2.2.4.tgz"
@@ -27454,7 +28335,7 @@ __metadata:
languageName: node
linkType: hard
-"react-use-dimensions@npm:1.2.1, react-use-dimensions@npm:^1.2.1":
+"react-use-dimensions@npm:^1.2.1":
version: 1.2.1
resolution: "react-use-dimensions@npm:1.2.1::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Freact-use-dimensions%2F-%2Freact-use-dimensions-1.2.1.tgz"
peerDependencies:
@@ -27465,7 +28346,7 @@ __metadata:
languageName: node
linkType: hard
-"react@npm:16.14.0":
+"react@npm:16.14.0, react@npm:^16.13.1":
version: 16.14.0
resolution: "react@npm:16.14.0::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Freact%2F-%2Freact-16.14.0.tgz"
dependencies:
@@ -27476,6 +28357,16 @@ __metadata:
languageName: node
linkType: hard
+"react@npm:17.0.2":
+ version: 17.0.2
+ resolution: "react@npm:17.0.2::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Freact%2F-%2Freact-17.0.2.tgz"
+ dependencies:
+ loose-envify: ^1.1.0
+ object-assign: ^4.1.1
+ checksum: b254cc17ce3011788330f7bbf383ab653c6848902d7936a87b09d835d091e3f295f7e9dd1597c6daac5dc80f90e778c8230218ba8ad599f74adcc11e33b9d61b
+ languageName: node
+ linkType: hard
+
"react@npm:^0.14.0":
version: 0.14.10
resolution: "react@npm:0.14.10::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Freact%2F-%2Freact-0.14.10.tgz"
@@ -27498,7 +28389,7 @@ __metadata:
languageName: node
linkType: hard
-"read-pkg-up@npm:7.0.1, read-pkg-up@npm:^7.0.0, read-pkg-up@npm:^7.0.1":
+"read-pkg-up@npm:7.0.1, read-pkg-up@npm:^7.0.1":
version: 7.0.1
resolution: "read-pkg-up@npm:7.0.1::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Fread-pkg-up%2F-%2Fread-pkg-up-7.0.1.tgz"
dependencies:
@@ -27805,15 +28696,6 @@ __metadata:
languageName: node
linkType: hard
-"regexp-tree@npm:~0.1.1":
- version: 0.1.23
- resolution: "regexp-tree@npm:0.1.23::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Fregexp-tree%2F-%2Fregexp-tree-0.1.23.tgz"
- bin:
- regexp-tree: bin/regexp-tree
- checksum: 2860252c97464b7beec510eb11b5fe2505edc1135e8b1ae8623c1db4428a091d3770ce8a62456e0933a1b613322c7a904b6ff23b144cad398fab52ac7b249098
- languageName: node
- linkType: hard
-
"regexp.prototype.flags@npm:^1.2.0, regexp.prototype.flags@npm:^1.3.1":
version: 1.3.1
resolution: "regexp.prototype.flags@npm:1.3.1::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Fregexp.prototype.flags%2F-%2Fregexp.prototype.flags-1.3.1.tgz"
@@ -28246,13 +29128,6 @@ __metadata:
languageName: node
linkType: hard
-"reserved-words@npm:^0.1.2":
- version: 0.1.2
- resolution: "reserved-words@npm:0.1.2::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Freserved-words%2F-%2Freserved-words-0.1.2.tgz"
- checksum: 72e80f71dcde1e2d697e102473ad6d597e1659118836092c63cc4db68a64857f07f509176d239c8675b24f7f03574336bf202a780cc1adb39574e2884d1fd1fa
- languageName: node
- linkType: hard
-
"reset-css@npm:5.0.1, reset-css@npm:^5.0.1":
version: 5.0.1
resolution: "reset-css@npm:5.0.1::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Freset-css%2F-%2Freset-css-5.0.1.tgz"
@@ -28359,7 +29234,7 @@ __metadata:
languageName: node
linkType: hard
-"resolve@1.20.0, resolve@^1.1.6, resolve@^1.10.0, resolve@^1.12.0, resolve@^1.13.1, resolve@^1.14.2, resolve@^1.17.0, resolve@^1.18.1, resolve@^1.3.2, resolve@^1.8.1":
+"resolve@1.20.0, resolve@^1.1.6, resolve@^1.10.0, resolve@^1.12.0, resolve@^1.13.1, resolve@^1.14.2, resolve@^1.17.0, resolve@^1.18.1, resolve@^1.19.0, resolve@^1.3.2, resolve@^1.8.1":
version: 1.20.0
resolution: "resolve@npm:1.20.0::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Fresolve%2F-%2Fresolve-1.20.0.tgz"
dependencies:
@@ -28369,7 +29244,7 @@ __metadata:
languageName: node
linkType: hard
-"resolve@patch:resolve@1.20.0#~builtin, resolve@patch:resolve@^1.1.6#~builtin, resolve@patch:resolve@^1.10.0#~builtin, resolve@patch:resolve@^1.12.0#~builtin, resolve@patch:resolve@^1.13.1#~builtin, resolve@patch:resolve@^1.14.2#~builtin, resolve@patch:resolve@^1.17.0#~builtin, resolve@patch:resolve@^1.18.1#~builtin, resolve@patch:resolve@^1.3.2#~builtin, resolve@patch:resolve@^1.8.1#~builtin":
+"resolve@patch:resolve@1.20.0#~builtin, resolve@patch:resolve@^1.1.6#~builtin, resolve@patch:resolve@^1.10.0#~builtin, resolve@patch:resolve@^1.12.0#~builtin, resolve@patch:resolve@^1.13.1#~builtin, resolve@patch:resolve@^1.14.2#~builtin, resolve@patch:resolve@^1.17.0#~builtin, resolve@patch:resolve@^1.18.1#~builtin, resolve@patch:resolve@^1.19.0#~builtin, resolve@patch:resolve@^1.3.2#~builtin, resolve@patch:resolve@^1.8.1#~builtin":
version: 1.20.0
resolution: "resolve@patch:resolve@npm%3A1.20.0%3A%3A__archiveUrl=https%253A%252F%252Fregistry.npmjs.org%252Fresolve%252F-%252Fresolve-1.20.0.tgz#~builtin::version=1.20.0&hash=00b1ff"
dependencies:
@@ -28547,6 +29422,16 @@ __metadata:
languageName: node
linkType: hard
+"ripemd160@npm:^2.0.0, ripemd160@npm:^2.0.1":
+ version: 2.0.2
+ resolution: "ripemd160@npm:2.0.2::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Fripemd160%2F-%2Fripemd160-2.0.2.tgz"
+ dependencies:
+ hash-base: ^3.0.0
+ inherits: ^2.0.1
+ checksum: 006accc40578ee2beae382757c4ce2908a826b27e2b079efdcd2959ee544ddf210b7b5d7d5e80467807604244e7388427330f5c6d4cd61e6edaddc5773ccc393
+ languageName: node
+ linkType: hard
+
"rollup-plugin-terser@npm:^7.0.0":
version: 7.0.2
resolution: "rollup-plugin-terser@npm:7.0.2::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Frollup-plugin-terser%2F-%2Frollup-plugin-terser-7.0.2.tgz"
@@ -28561,9 +29446,9 @@ __metadata:
languageName: node
linkType: hard
-"rollup@npm:^2.25.0":
- version: 2.42.4
- resolution: "rollup@npm:2.42.4::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Frollup%2F-%2Frollup-2.42.4.tgz"
+"rollup@npm:^2.43.1":
+ version: 2.51.0
+ resolution: "rollup@npm:2.51.0::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Frollup%2F-%2Frollup-2.51.0.tgz"
dependencies:
fsevents: ~2.3.1
dependenciesMeta:
@@ -28571,7 +29456,7 @@ __metadata:
optional: true
bin:
rollup: dist/bin/rollup
- checksum: 130c6636ce98bc45bf8d4f576e848368e70703725735bcec3d307619f269bb425e0b67222a59e30f0d73f98f8a0aa702359706797a43766d5e5d0848c9bedf60
+ checksum: f46236dc690746f231c66deecee341d190bedc5c195819d3bd363480a7986ba0ea92d63c31e6b4571d29b8e4b90a34a256eeeefa42c30659cb1e8398f9a64d87
languageName: node
linkType: hard
@@ -28592,12 +29477,6 @@ __metadata:
languageName: unknown
linkType: soft
-"routing-provider-02c5b3@workspace:scopes/ui-foundation/routing/routing-provider":
- version: 0.0.0-use.local
- resolution: "routing-provider-02c5b3@workspace:scopes/ui-foundation/routing/routing-provider"
- languageName: unknown
- linkType: soft
-
"rsvp@npm:^4.8.4":
version: 4.8.5
resolution: "rsvp@npm:4.8.5::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Frsvp%2F-%2Frsvp-4.8.5.tgz"
@@ -28655,15 +29534,6 @@ __metadata:
languageName: node
linkType: hard
-"rxjs@npm:6.6.3":
- version: 6.6.3
- resolution: "rxjs@npm:6.6.3::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Frxjs%2F-%2Frxjs-6.6.3.tgz"
- dependencies:
- tslib: ^1.9.0
- checksum: c7206389f5a91f89c2248aa9ef5ce73f979524c676e557ec2088b10ec138d91fd653ebee6cdb65532b6c05278eb3c8364ccd6feb9a499092d67731318cf05977
- languageName: node
- linkType: hard
-
"rxjs@npm:^6.4.0, rxjs@npm:^6.5.3, rxjs@npm:^6.6.0, rxjs@npm:^6.6.2, rxjs@npm:^6.6.3, rxjs@npm:^6.6.6":
version: 6.6.6
resolution: "rxjs@npm:6.6.6::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Frxjs%2F-%2Frxjs-6.6.6.tgz"
@@ -28680,7 +29550,7 @@ __metadata:
languageName: node
linkType: hard
-"safe-buffer@npm:>=5.1.0, safe-buffer@npm:^5.0.1, safe-buffer@npm:^5.1.0, safe-buffer@npm:^5.1.1, safe-buffer@npm:^5.1.2, safe-buffer@npm:~5.2.0":
+"safe-buffer@npm:>=5.1.0, safe-buffer@npm:^5.0.1, safe-buffer@npm:^5.1.0, safe-buffer@npm:^5.1.1, safe-buffer@npm:^5.1.2, safe-buffer@npm:^5.2.0, safe-buffer@npm:~5.2.0":
version: 5.2.1
resolution: "safe-buffer@npm:5.2.1::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Fsafe-buffer%2F-%2Fsafe-buffer-5.2.1.tgz"
checksum: b99c4b41fdd67a6aaf280fcd05e9ffb0813654894223afb78a31f14a19ad220bba8aba1cb14eddce1fcfb037155fe6de4e861784eb434f7d11ed58d1e70dd491
@@ -28703,15 +29573,6 @@ __metadata:
languageName: node
linkType: hard
-"safe-regex@npm:^2.0.2":
- version: 2.1.1
- resolution: "safe-regex@npm:2.1.1::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Fsafe-regex%2F-%2Fsafe-regex-2.1.1.tgz"
- dependencies:
- regexp-tree: ~0.1.1
- checksum: 5d734e2193c63ef0cb00f60c0244e0f8a30ecb31923633cd34636808d6a7c4c206d650017953ae1db8bc33967c2f06af33488dea6f038f4e38212beb7bed77b4
- languageName: node
- linkType: hard
-
"safer-buffer@npm:>= 2.1.2 < 3, safer-buffer@npm:>= 2.1.2 < 3.0.0, safer-buffer@npm:^2.0.2, safer-buffer@npm:^2.1.0, safer-buffer@npm:~2.1.0":
version: 2.1.2
resolution: "safer-buffer@npm:2.1.2::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Fsafer-buffer%2F-%2Fsafer-buffer-2.1.2.tgz"
@@ -29042,6 +29903,8 @@ __metadata:
"separator-7e051b@workspace:scopes/design/ui/separator":
version: 0.0.0-use.local
resolution: "separator-7e051b@workspace:scopes/design/ui/separator"
+ dependencies:
+ "@teambit/documenter.ui.separator": 3.0.14
languageName: unknown
linkType: soft
@@ -29139,7 +30002,7 @@ __metadata:
languageName: node
linkType: hard
-"setimmediate@npm:^1.0.5":
+"setimmediate@npm:^1.0.4, setimmediate@npm:^1.0.5":
version: 1.0.5
resolution: "setimmediate@npm:1.0.5::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Fsetimmediate%2F-%2Fsetimmediate-1.0.5.tgz"
checksum: c9a6f2c5b51a2dabdc0247db9c46460152ffc62ee139f3157440bd48e7c59425093f42719ac1d7931f054f153e2d26cf37dfeb8da17a794a58198a2705e527fd
@@ -29167,7 +30030,7 @@ __metadata:
languageName: node
linkType: hard
-"sha.js@npm:^2.4.11":
+"sha.js@npm:^2.4.0, sha.js@npm:^2.4.11, sha.js@npm:^2.4.8":
version: 2.4.11
resolution: "sha.js@npm:2.4.11::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Fsha.js%2F-%2Fsha.js-2.4.11.tgz"
dependencies:
@@ -29259,6 +30122,8 @@ __metadata:
"side-bar-b708a4@workspace:scopes/ui-foundation/uis/side-bar":
version: 0.0.0-use.local
resolution: "side-bar-b708a4@workspace:scopes/ui-foundation/uis/side-bar"
+ dependencies:
+ "@teambit/documenter.ui.separator": 3.0.14
languageName: unknown
linkType: soft
@@ -29276,6 +30141,8 @@ __metadata:
"sidebar-c63b5b@workspace:scopes/ui-foundation/sidebar":
version: 0.0.0-use.local
resolution: "sidebar-c63b5b@workspace:scopes/ui-foundation/sidebar"
+ dependencies:
+ "@teambit/documenter.ui.separator": 3.0.14
languageName: unknown
linkType: soft
@@ -29993,6 +30860,12 @@ __metadata:
languageName: unknown
linkType: soft
+"status-message-card-8cf76f@workspace:scopes/design/ui/status-message-card":
+ version: 0.0.0-use.local
+ resolution: "status-message-card-8cf76f@workspace:scopes/design/ui/status-message-card"
+ languageName: unknown
+ linkType: soft
+
"statuses@npm:>= 1.4.0 < 2, statuses@npm:>= 1.5.0 < 2, statuses@npm:~1.5.0":
version: 1.5.0
resolution: "statuses@npm:1.5.0::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Fstatuses%2F-%2Fstatuses-1.5.0.tgz"
@@ -30034,6 +30907,18 @@ __metadata:
languageName: node
linkType: hard
+"stream-http@npm:3.2.0":
+ version: 3.2.0
+ resolution: "stream-http@npm:3.2.0::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Fstream-http%2F-%2Fstream-http-3.2.0.tgz"
+ dependencies:
+ builtin-status-codes: ^3.0.0
+ inherits: ^2.0.4
+ readable-stream: ^3.6.0
+ xtend: ^4.0.2
+ checksum: c9b78453aeb0c84fcc59555518ac62bacab9fa98e323e7b7666e5f9f58af8f3155e34481078509b02929bd1268427f664d186604cdccee95abc446099b339f83
+ languageName: node
+ linkType: hard
+
"stream-shift@npm:^1.0.0":
version: 1.0.1
resolution: "stream-shift@npm:1.0.1::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Fstream-shift%2F-%2Fstream-shift-1.0.1.tgz"
@@ -30221,7 +31106,7 @@ __metadata:
languageName: node
linkType: hard
-"string_decoder@npm:^1.1.1":
+"string_decoder@npm:1.3.0, string_decoder@npm:^1.1.1":
version: 1.3.0
resolution: "string_decoder@npm:1.3.0::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Fstring_decoder%2F-%2Fstring_decoder-1.3.0.tgz"
dependencies:
@@ -30420,6 +31305,12 @@ __metadata:
languageName: node
linkType: hard
+"style-regexps-942c9f@workspace:scopes/webpack/style-regexps":
+ version: 0.0.0-use.local
+ resolution: "style-regexps-942c9f@workspace:scopes/webpack/style-regexps"
+ languageName: unknown
+ linkType: soft
+
"style-to-object@npm:0.3.0, style-to-object@npm:^0.3.0":
version: 0.3.0
resolution: "style-to-object@npm:0.3.0::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Fstyle-to-object%2F-%2Fstyle-to-object-0.3.0.tgz"
@@ -30899,8 +31790,6 @@ __metadata:
"test-row-e01aa7@workspace:scopes/defender/ui/test-row":
version: 0.0.0-use.local
resolution: "test-row-e01aa7@workspace:scopes/defender/ui/test-row"
- dependencies:
- "@teambit/documenter.theme.theme-context": 3.0.8
languageName: unknown
linkType: soft
@@ -30998,6 +31887,9 @@ __metadata:
"time-ago-d19018@workspace:scopes/design/ui/time-ago":
version: 0.0.0-use.local
resolution: "time-ago-d19018@workspace:scopes/design/ui/time-ago"
+ dependencies:
+ "@teambit/documenter.ui.heading": 1.0.3
+ "@teambit/documenter.ui.paragraph": 1.0.3
languageName: unknown
linkType: soft
@@ -31014,6 +31906,15 @@ __metadata:
languageName: node
linkType: hard
+"timers-browserify@npm:2.0.12":
+ version: 2.0.12
+ resolution: "timers-browserify@npm:2.0.12::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Ftimers-browserify%2F-%2Ftimers-browserify-2.0.12.tgz"
+ dependencies:
+ setimmediate: ^1.0.4
+ checksum: ec37ae299066bef6c464dcac29c7adafba1999e7227a9bdc4e105a459bee0f0b27234a46bfd7ab4041da79619e06a58433472867a913d01c26f8a203f87cee70
+ languageName: node
+ linkType: hard
+
"timers-ext@npm:^0.1.5, timers-ext@npm:^0.1.7":
version: 0.1.7
resolution: "timers-ext@npm:0.1.7::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Ftimers-ext%2F-%2Ftimers-ext-0.1.7.tgz"
@@ -31172,6 +32073,13 @@ __metadata:
languageName: unknown
linkType: soft
+"toposort@npm:^2.0.2":
+ version: 2.0.2
+ resolution: "toposort@npm:2.0.2::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Ftoposort%2F-%2Ftoposort-2.0.2.tgz"
+ checksum: d64c74b570391c9432873f48e231b439ee56bc49f7cb9780b505cfdf5cb832f808d0bae072515d93834dd6bceca5bb34448b5b4b408335e4d4716eaf68195dcb
+ languageName: node
+ linkType: hard
+
"touch@npm:^3.1.0":
version: 3.1.0
resolution: "touch@npm:3.1.0::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Ftouch%2F-%2Ftouch-3.1.0.tgz"
@@ -31390,6 +32298,13 @@ __metadata:
languageName: node
linkType: hard
+"tty-browserify@npm:0.0.1":
+ version: 0.0.1
+ resolution: "tty-browserify@npm:0.0.1::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Ftty-browserify%2F-%2Ftty-browserify-0.0.1.tgz"
+ checksum: 93b745d43fa5a7d2b948fa23be8d313576d1d884b48acd957c07710bac1c0d8ac34c0556ad4c57c73d36e11741763ef66b3fb4fb97b06b7e4d525315a3cd45f5
+ languageName: node
+ linkType: hard
+
"tty-table@npm:2.8.13":
version: 2.8.13
resolution: "tty-table@npm:2.8.13::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Ftty-table%2F-%2Ftty-table-2.8.13.tgz"
@@ -31599,6 +32514,12 @@ __metadata:
languageName: unknown
linkType: soft
+"typescript-b34535@workspace:scopes/typescript/aspect-docs/typescript":
+ version: 0.0.0-use.local
+ resolution: "typescript-b34535@workspace:scopes/typescript/aspect-docs/typescript"
+ languageName: unknown
+ linkType: soft
+
"typescript-language-server@npm:0.4.0":
version: 0.4.0
resolution: "typescript-language-server@npm:0.4.0::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Ftypescript-language-server%2F-%2Ftypescript-language-server-0.4.0.tgz"
@@ -31658,7 +32579,7 @@ typescript@^3.9.3:
"typescript@patch:typescript@3.9.7#~builtin":
version: 3.9.7
- resolution: "typescript@patch:typescript@npm%3A3.9.7%3A%3A__archiveUrl=https%253A%252F%252Fregistry.npmjs.org%252Ftypescript%252F-%252Ftypescript-3.9.7.tgz#~builtin::version=3.9.7&hash=34ad7d"
+ resolution: "typescript@patch:typescript@npm%3A3.9.7%3A%3A__archiveUrl=https%253A%252F%252Fregistry.npmjs.org%252Ftypescript%252F-%252Ftypescript-3.9.7.tgz#~builtin::version=3.9.7&hash=d8b4e7"
bin:
tsc: bin/tsc
tsserver: bin/tsserver
@@ -31668,7 +32589,7 @@ typescript@^3.9.3:
"typescript@patch:typescript@4.1.5#~builtin":
version: 4.1.5
- resolution: "typescript@patch:typescript@npm%3A4.1.5%3A%3A__archiveUrl=https%253A%252F%252Fregistry.npmjs.org%252Ftypescript%252F-%252Ftypescript-4.1.5.tgz#~builtin::version=4.1.5&hash=34ad7d"
+ resolution: "typescript@patch:typescript@npm%3A4.1.5%3A%3A__archiveUrl=https%253A%252F%252Fregistry.npmjs.org%252Ftypescript%252F-%252Ftypescript-4.1.5.tgz#~builtin::version=4.1.5&hash=d8b4e7"
bin:
tsc: bin/tsc
tsserver: bin/tsserver
@@ -31678,7 +32599,7 @@ typescript@^3.9.3:
"typescript@patch:typescript@^2.6.2#~builtin":
version: 2.9.2
- resolution: "typescript@patch:typescript@npm%3A2.9.2%3A%3A__archiveUrl=https%253A%252F%252Fregistry.npmjs.org%252Ftypescript%252F-%252Ftypescript-2.9.2.tgz#~builtin::version=2.9.2&hash=34ad7d"
+ resolution: "typescript@patch:typescript@npm%3A2.9.2%3A%3A__archiveUrl=https%253A%252F%252Fregistry.npmjs.org%252Ftypescript%252F-%252Ftypescript-2.9.2.tgz#~builtin::version=2.9.2&hash=d8b4e7"
bin:
tsc: ./bin/tsc
tsserver: ./bin/tsserver
@@ -31688,7 +32609,7 @@ typescript@^3.9.3:
"typescript@patch:typescript@^3.9.3#~builtin":
version: 3.9.9
- resolution: "typescript@patch:typescript@npm%3A3.9.9%3A%3A__archiveUrl=https%253A%252F%252Fregistry.npmjs.org%252Ftypescript%252F-%252Ftypescript-3.9.9.tgz#~builtin::version=3.9.9&hash=34ad7d"
+ resolution: "typescript@patch:typescript@npm%3A3.9.9%3A%3A__archiveUrl=https%253A%252F%252Fregistry.npmjs.org%252Ftypescript%252F-%252Ftypescript-3.9.9.tgz#~builtin::version=3.9.9&hash=d8b4e7"
bin:
tsc: bin/tsc
tsserver: bin/tsserver
@@ -32109,20 +33030,10 @@ typescript@^3.9.3:
languageName: node
linkType: hard
-"url-loader@npm:4.1.1":
- version: 4.1.1
- resolution: "url-loader@npm:4.1.1::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Furl-loader%2F-%2Furl-loader-4.1.1.tgz"
- dependencies:
- loader-utils: ^2.0.0
- mime-types: ^2.1.27
- schema-utils: ^3.0.0
- peerDependencies:
- file-loader: "*"
- webpack: ^4.0.0 || ^5.0.0
- peerDependenciesMeta:
- file-loader:
- optional: true
- checksum: c1122a992c6cff70a7e56dfc2b7474534d48eb40b2cc75467cde0c6972e7597faf8e43acb4f45f93c2473645dfd803bcbc20960b57544dd1e4c96e77f72ba6fd
+"url-join@npm:4.0.1":
+ version: 4.0.1
+ resolution: "url-join@npm:4.0.1::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Furl-join%2F-%2Furl-join-4.0.1.tgz"
+ checksum: f74e868bf25dbc8be6a8d7237d4c36bb5b6c62c72e594d5ab1347fe91d6af7ccd9eb5d621e30152e4da45c2e9a26bec21390e911ab54a62d4d82e76028374ee5
languageName: node
linkType: hard
@@ -32145,7 +33056,7 @@ typescript@^3.9.3:
languageName: node
linkType: hard
-"url-parse@npm:^1.4.3":
+"url-parse@npm:1.5.1, url-parse@npm:^1.4.3":
version: 1.5.1
resolution: "url-parse@npm:1.5.1::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Furl-parse%2F-%2Furl-parse-1.5.1.tgz"
dependencies:
@@ -32165,7 +33076,7 @@ typescript@^3.9.3:
languageName: node
linkType: hard
-"url@npm:^0.11.0":
+"url@npm:0.11.0, url@npm:^0.11.0":
version: 0.11.0
resolution: "url@npm:0.11.0::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Furl%2F-%2Furl-0.11.0.tgz"
dependencies:
@@ -32209,7 +33120,16 @@ typescript@^3.9.3:
languageName: unknown
linkType: soft
-"use-debounce@npm:3.4.3, use-debounce@npm:^3.4.3":
+"use-debounce@npm:6.0.1":
+ version: 6.0.1
+ resolution: "use-debounce@npm:6.0.1::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Fuse-debounce%2F-%2Fuse-debounce-6.0.1.tgz"
+ peerDependencies:
+ react: ">=16.8.0"
+ checksum: 9f811075652712b418dd0f6b09de62a37b0e1bb65295d3b6f797aed0eb2267188def0039e820f67aa5b6cb866a00f02da9bcf680e098a524d22e7d33438e4935
+ languageName: node
+ linkType: hard
+
+"use-debounce@npm:^3.4.3":
version: 3.4.3
resolution: "use-debounce@npm:3.4.3::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Fuse-debounce%2F-%2Fuse-debounce-3.4.3.tgz"
peerDependencies:
@@ -32460,6 +33380,12 @@ typescript@^3.9.3:
languageName: node
linkType: hard
+"variants-a3af6c@workspace:scopes/workspace/aspect-docs/variants":
+ version: 0.0.0-use.local
+ resolution: "variants-a3af6c@workspace:scopes/workspace/aspect-docs/variants"
+ languageName: unknown
+ linkType: soft
+
"variants-eb2896@workspace:scopes/workspace/variants":
version: 0.0.0-use.local
resolution: "variants-eb2896@workspace:scopes/workspace/variants"
@@ -32660,6 +33586,13 @@ typescript@^3.9.3:
languageName: node
linkType: hard
+"vm-browserify@npm:1.1.2":
+ version: 1.1.2
+ resolution: "vm-browserify@npm:1.1.2::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Fvm-browserify%2F-%2Fvm-browserify-1.1.2.tgz"
+ checksum: 10a1c50aab54ff8b4c9042c15fc64aefccce8d2fb90c0640403242db0ee7fb269f9b102bdb69cfb435d7ef3180d61fd4fb004a043a12709abaf9056cfd7e039d
+ languageName: node
+ linkType: hard
+
"vscode-icons-js@npm:11.0.0":
version: 11.0.0
resolution: "vscode-icons-js@npm:11.0.0::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Fvscode-icons-js%2F-%2Fvscode-icons-js-11.0.0.tgz"
@@ -32885,9 +33818,9 @@ typescript@^3.9.3:
languageName: node
linkType: hard
-"webpack-a7b1e1@workspace:scopes/compilation/webpack":
+"webpack-5c54b1@workspace:scopes/webpack/webpack":
version: 0.0.0-use.local
- resolution: "webpack-a7b1e1@workspace:scopes/compilation/webpack"
+ resolution: "webpack-5c54b1@workspace:scopes/webpack/webpack"
languageName: unknown
linkType: soft
@@ -32967,15 +33900,15 @@ typescript@^3.9.3:
languageName: node
linkType: hard
-"webpack-manifest-plugin@npm:3.1.0":
- version: 3.1.0
- resolution: "webpack-manifest-plugin@npm:3.1.0::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Fwebpack-manifest-plugin%2F-%2Fwebpack-manifest-plugin-3.1.0.tgz"
+"webpack-manifest-plugin@npm:3.1.1":
+ version: 3.1.1
+ resolution: "webpack-manifest-plugin@npm:3.1.1::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Fwebpack-manifest-plugin%2F-%2Fwebpack-manifest-plugin-3.1.1.tgz"
dependencies:
tapable: ^2.0.0
webpack-sources: ^2.2.0
peerDependencies:
webpack: ">=4.44.2"
- checksum: 4d65cb75cf4e9cbeba2744940320551f9715b7cad67f3593528abdf2c2f2a3a2f3a6047c63958871450c2e55705a601226b9dd9590bf3403ebe61b36f6b10c86
+ checksum: 739b58d077dd82f78c3c79b4e4be6affb61abe59876533f739362c0ef6608c2983c9477ed2c7692a77599a0068b63f41785ce5dfb0f5819ad537ff66fafed4fb
languageName: node
linkType: hard
@@ -33009,19 +33942,19 @@ typescript@^3.9.3:
languageName: node
linkType: hard
-"webpack@npm:5.30.0":
- version: 5.30.0
- resolution: "webpack@npm:5.30.0::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Fwebpack%2F-%2Fwebpack-5.30.0.tgz"
+"webpack@npm:5.35.0":
+ version: 5.35.0
+ resolution: "webpack@npm:5.35.0::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Fwebpack%2F-%2Fwebpack-5.35.0.tgz"
dependencies:
"@types/eslint-scope": ^3.7.0
- "@types/estree": ^0.0.46
+ "@types/estree": ^0.0.47
"@webassemblyjs/ast": 1.11.0
"@webassemblyjs/wasm-edit": 1.11.0
"@webassemblyjs/wasm-parser": 1.11.0
acorn: ^8.0.4
browserslist: ^4.14.5
chrome-trace-event: ^1.0.2
- enhanced-resolve: ^5.7.0
+ enhanced-resolve: ^5.8.0
es-module-lexer: ^0.4.0
eslint-scope: ^5.1.1
events: ^3.2.0
@@ -33041,7 +33974,7 @@ typescript@^3.9.3:
optional: true
bin:
webpack: bin/webpack.js
- checksum: 5e9530707c9e362a59d0add7ecb2d946724173e6019b29ef23a2739d2050a7bbe01a72c6eaad54a7f00ee1289020f184539e31ab057691d04ff2f138cf4da268
+ checksum: f4d27563fe8c51d1bdc9e195f7eb46abc73c9ec05ab508c66d82eca7a55eed385889e95575149ce47840f62a004700cb0cba3cb2fab3dd0eeb28a1f33269c287
languageName: node
linkType: hard
@@ -33282,34 +34215,34 @@ typescript@^3.9.3:
languageName: node
linkType: hard
-"workbox-background-sync@npm:^6.1.2":
- version: 6.1.2
- resolution: "workbox-background-sync@npm:6.1.2::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Fworkbox-background-sync%2F-%2Fworkbox-background-sync-6.1.2.tgz"
+"workbox-background-sync@npm:^6.1.5":
+ version: 6.1.5
+ resolution: "workbox-background-sync@npm:6.1.5::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Fworkbox-background-sync%2F-%2Fworkbox-background-sync-6.1.5.tgz"
dependencies:
- workbox-core: ^6.1.2
- checksum: ed1eda47decafcd245a0cb8e9977a2680ffe09848e719de33e1ae00f2eb831d2d6e04759fabff002359c34ddb3f679620401c5255cb084b9f876529f4ec81627
+ workbox-core: ^6.1.5
+ checksum: 07f1db5098719dad7418201c5b12c070541c5b12b78eb774e5f7b9af8651fd074dd5a73accbbd4d0d366b88b198f4cc17674de2fb7482e6e0b9a64ae8e650c20
languageName: node
linkType: hard
-"workbox-broadcast-update@npm:^6.1.2":
- version: 6.1.2
- resolution: "workbox-broadcast-update@npm:6.1.2::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Fworkbox-broadcast-update%2F-%2Fworkbox-broadcast-update-6.1.2.tgz"
+"workbox-broadcast-update@npm:^6.1.5":
+ version: 6.1.5
+ resolution: "workbox-broadcast-update@npm:6.1.5::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Fworkbox-broadcast-update%2F-%2Fworkbox-broadcast-update-6.1.5.tgz"
dependencies:
- workbox-core: ^6.1.2
- checksum: 1f1b217ddf9eb594cf1beff97ee146f377e91f2197adeb4f234ca2e6058b22872aabe214a12af48c12b7dffb042018623c23cf05228682ba9df16784251cb69f
+ workbox-core: ^6.1.5
+ checksum: 1e4d95ba5453bf1c1f8c27bcae83e16b74548da88930d270b6ab3513eb27f9419cd13c2e061991524e355c54bfedadec09ded924204240241cc749ed93c6c349
languageName: node
linkType: hard
-"workbox-build@npm:^6.1.2":
- version: 6.1.2
- resolution: "workbox-build@npm:6.1.2::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Fworkbox-build%2F-%2Fworkbox-build-6.1.2.tgz"
+"workbox-build@npm:^6.1.5":
+ version: 6.1.5
+ resolution: "workbox-build@npm:6.1.5::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Fworkbox-build%2F-%2Fworkbox-build-6.1.5.tgz"
dependencies:
"@babel/core": ^7.11.1
"@babel/preset-env": ^7.11.0
"@babel/runtime": ^7.11.2
"@hapi/joi": ^16.1.8
"@rollup/plugin-babel": ^5.2.0
- "@rollup/plugin-node-resolve": ^9.0.0
+ "@rollup/plugin-node-resolve": ^11.2.1
"@rollup/plugin-replace": ^2.4.1
"@surma/rollup-plugin-off-main-thread": ^1.4.1
common-tags: ^1.8.0
@@ -33318,7 +34251,7 @@ typescript@^3.9.3:
glob: ^7.1.6
lodash: ^4.17.20
pretty-bytes: ^5.3.0
- rollup: ^2.25.0
+ rollup: ^2.43.1
rollup-plugin-terser: ^7.0.0
source-map: ^0.8.0-beta.0
source-map-url: ^0.4.0
@@ -33326,162 +34259,162 @@ typescript@^3.9.3:
strip-comments: ^2.0.1
tempy: ^0.6.0
upath: ^1.2.0
- workbox-background-sync: ^6.1.2
- workbox-broadcast-update: ^6.1.2
- workbox-cacheable-response: ^6.1.2
- workbox-core: ^6.1.2
- workbox-expiration: ^6.1.2
- workbox-google-analytics: ^6.1.2
- workbox-navigation-preload: ^6.1.2
- workbox-precaching: ^6.1.2
- workbox-range-requests: ^6.1.2
- workbox-recipes: ^6.1.2
- workbox-routing: ^6.1.2
- workbox-strategies: ^6.1.2
- workbox-streams: ^6.1.2
- workbox-sw: ^6.1.2
- workbox-window: ^6.1.2
- checksum: 72a87249b3c8ee0c80943b09753c07b253acfa80a8485344968dc01fdde8bc225fd4837c4117637ad710612fbee9c5906b88c4ec6671cafd44e1c797aa875e94
+ workbox-background-sync: ^6.1.5
+ workbox-broadcast-update: ^6.1.5
+ workbox-cacheable-response: ^6.1.5
+ workbox-core: ^6.1.5
+ workbox-expiration: ^6.1.5
+ workbox-google-analytics: ^6.1.5
+ workbox-navigation-preload: ^6.1.5
+ workbox-precaching: ^6.1.5
+ workbox-range-requests: ^6.1.5
+ workbox-recipes: ^6.1.5
+ workbox-routing: ^6.1.5
+ workbox-strategies: ^6.1.5
+ workbox-streams: ^6.1.5
+ workbox-sw: ^6.1.5
+ workbox-window: ^6.1.5
+ checksum: 5dbf9d86a04f126c825b4160cc9c7f8cb8e5ba45a66141ae932cd26267e7a14523fd81404faf01f05c243c19fd1093a212a56eebd8c02607e34b479b78cedbeb
languageName: node
linkType: hard
-"workbox-cacheable-response@npm:^6.1.2":
- version: 6.1.2
- resolution: "workbox-cacheable-response@npm:6.1.2::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Fworkbox-cacheable-response%2F-%2Fworkbox-cacheable-response-6.1.2.tgz"
+"workbox-cacheable-response@npm:^6.1.5":
+ version: 6.1.5
+ resolution: "workbox-cacheable-response@npm:6.1.5::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Fworkbox-cacheable-response%2F-%2Fworkbox-cacheable-response-6.1.5.tgz"
dependencies:
- workbox-core: ^6.1.2
- checksum: b10bf21f50ad5e2e059fba01bccd7e79479de4d092ea0b164ee5a4a82c6a6a05dd65883b6102ef0f8f5ad699182646ab19884de87f7d4b99290a17d73ee5a3a3
+ workbox-core: ^6.1.5
+ checksum: 8e1236d9fa94a1498cb4980220e464f5ee0716ab91a6e500d44336efbcf1e97000a0172c5613d0acacb585d52d52deaa1c02833aa8b52f86a0e87e3eb1ffef0a
languageName: node
linkType: hard
-"workbox-core@npm:^6.1.2":
- version: 6.1.2
- resolution: "workbox-core@npm:6.1.2::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Fworkbox-core%2F-%2Fworkbox-core-6.1.2.tgz"
- checksum: 0c14791afe28e26727213a16096052e2c45ad4b7ff0ab40ba58ee86637251eeaeca093f4f95a16cd6636208094b3806d55d025eca42b4f4d2289862cb17fe8fd
+"workbox-core@npm:^6.1.5":
+ version: 6.1.5
+ resolution: "workbox-core@npm:6.1.5::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Fworkbox-core%2F-%2Fworkbox-core-6.1.5.tgz"
+ checksum: 06377d46b054e6f078c5013c4d83e766a5ee6d50c2cba9a147101230e6c4991f52ecd1a08f4faa89f60b4c9803eb1b196c48f54a7171652983cf7687dd8d8791
languageName: node
linkType: hard
-"workbox-expiration@npm:^6.1.2":
- version: 6.1.2
- resolution: "workbox-expiration@npm:6.1.2::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Fworkbox-expiration%2F-%2Fworkbox-expiration-6.1.2.tgz"
+"workbox-expiration@npm:^6.1.5":
+ version: 6.1.5
+ resolution: "workbox-expiration@npm:6.1.5::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Fworkbox-expiration%2F-%2Fworkbox-expiration-6.1.5.tgz"
dependencies:
- workbox-core: ^6.1.2
- checksum: 872ee9223e3a1749e3005e44dec91aa5b946f0915ebbc48ad59aba068c3f11701e8038995d39194398ef55e68c0e6600d78263db32f560118a9deb554745a779
+ workbox-core: ^6.1.5
+ checksum: f30beddbed246ccc4ec4b4d8adb4dbbf0e9f1d6808da120711f2de6ef76cfb207624f7e1d02fcfeb4c310c89f7f9f47fe1f7315c3f92094618d4dd97c0c20d2b
languageName: node
linkType: hard
-"workbox-google-analytics@npm:^6.1.2":
- version: 6.1.2
- resolution: "workbox-google-analytics@npm:6.1.2::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Fworkbox-google-analytics%2F-%2Fworkbox-google-analytics-6.1.2.tgz"
+"workbox-google-analytics@npm:^6.1.5":
+ version: 6.1.5
+ resolution: "workbox-google-analytics@npm:6.1.5::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Fworkbox-google-analytics%2F-%2Fworkbox-google-analytics-6.1.5.tgz"
dependencies:
- workbox-background-sync: ^6.1.2
- workbox-core: ^6.1.2
- workbox-routing: ^6.1.2
- workbox-strategies: ^6.1.2
- checksum: f05d4c28062510ea04c1c7df799dda8e1716ebaa06e455e44d164ca68b9f86dfcb01fb4f9139b53e22fe004e4d659bc05372c9699da7e282f690f2298d7b0d49
+ workbox-background-sync: ^6.1.5
+ workbox-core: ^6.1.5
+ workbox-routing: ^6.1.5
+ workbox-strategies: ^6.1.5
+ checksum: f3858543040a4fb7dd71abdb424d5af4098940701dfce21ef96f74fc48c4e23e7807f56c0b26c4219c6a768e6ecfd6f69cdc96a0947d65ba4338eff71523983d
languageName: node
linkType: hard
-"workbox-navigation-preload@npm:^6.1.2":
- version: 6.1.2
- resolution: "workbox-navigation-preload@npm:6.1.2::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Fworkbox-navigation-preload%2F-%2Fworkbox-navigation-preload-6.1.2.tgz"
+"workbox-navigation-preload@npm:^6.1.5":
+ version: 6.1.5
+ resolution: "workbox-navigation-preload@npm:6.1.5::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Fworkbox-navigation-preload%2F-%2Fworkbox-navigation-preload-6.1.5.tgz"
dependencies:
- workbox-core: ^6.1.2
- checksum: 0e04cd38f250be9a7ca38e4bc03656206c6412a680a578caa499c52b57ec518151bfa3dc8f9708ac15f3c818f54441159e08be401fdda6ddad8b5443a8d43745
+ workbox-core: ^6.1.5
+ checksum: 05926fe27f011c9e25dd8cd8daf793421a2ffaa713a73127b5930aafe6e245e392bacce9d2983d4d9927fe8a7965bbac90725aca190a42c7f2c90fb00de6c327
languageName: node
linkType: hard
-"workbox-precaching@npm:^6.1.2":
- version: 6.1.2
- resolution: "workbox-precaching@npm:6.1.2::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Fworkbox-precaching%2F-%2Fworkbox-precaching-6.1.2.tgz"
+"workbox-precaching@npm:^6.1.5":
+ version: 6.1.5
+ resolution: "workbox-precaching@npm:6.1.5::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Fworkbox-precaching%2F-%2Fworkbox-precaching-6.1.5.tgz"
dependencies:
- workbox-core: ^6.1.2
- workbox-routing: ^6.1.2
- workbox-strategies: ^6.1.2
- checksum: e2a5ab5e2f16421a0886b31efd4eab8f6686b3a84707e968c0d0e60eb2291f2bd66ed12e1ef6378890c570650cd65480b854098f967014fa48308717e40995f8
+ workbox-core: ^6.1.5
+ workbox-routing: ^6.1.5
+ workbox-strategies: ^6.1.5
+ checksum: ebbae2debd02661cfdc32fd852c2491a8f00d166e504fbef7f57f26583dcc257473129b2b8958489b42c33fca7c50d1be6567f6bd8172f00f2a922e0c2af7753
languageName: node
linkType: hard
-"workbox-range-requests@npm:^6.1.2":
- version: 6.1.2
- resolution: "workbox-range-requests@npm:6.1.2::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Fworkbox-range-requests%2F-%2Fworkbox-range-requests-6.1.2.tgz"
+"workbox-range-requests@npm:^6.1.5":
+ version: 6.1.5
+ resolution: "workbox-range-requests@npm:6.1.5::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Fworkbox-range-requests%2F-%2Fworkbox-range-requests-6.1.5.tgz"
dependencies:
- workbox-core: ^6.1.2
- checksum: 65adbae0a27eb3d0a1c0f27396217bd685929acd25244eaadca1bba3a86dda7d630109cf7e3d5be9717cd1aeef96916ffdc84d2a1e7dcc2d2480e8d19c8c5766
+ workbox-core: ^6.1.5
+ checksum: c0083e6fbda37eb42834915d6c35f7d9260a54cca2194f04f1e15267f3f6b20c18c71ba412caefc3b12f107fb824eaa535344bf353803c45f4bea1a1418be264
languageName: node
linkType: hard
-"workbox-recipes@npm:^6.1.2":
- version: 6.1.2
- resolution: "workbox-recipes@npm:6.1.2::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Fworkbox-recipes%2F-%2Fworkbox-recipes-6.1.2.tgz"
+"workbox-recipes@npm:^6.1.5":
+ version: 6.1.5
+ resolution: "workbox-recipes@npm:6.1.5::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Fworkbox-recipes%2F-%2Fworkbox-recipes-6.1.5.tgz"
dependencies:
- workbox-cacheable-response: ^6.1.2
- workbox-core: ^6.1.2
- workbox-expiration: ^6.1.2
- workbox-precaching: ^6.1.2
- workbox-routing: ^6.1.2
- workbox-strategies: ^6.1.2
- checksum: 08d9501c4cd02880744056dfbbe2d380ea47b6d9379f9dbe89e9d50872c1e0f25756b2fbd0cd6e04822f93c0879cfd27c482e8d4f87a795889d2962ccc1e5806
+ workbox-cacheable-response: ^6.1.5
+ workbox-core: ^6.1.5
+ workbox-expiration: ^6.1.5
+ workbox-precaching: ^6.1.5
+ workbox-routing: ^6.1.5
+ workbox-strategies: ^6.1.5
+ checksum: cb2454ae20cb9704939e28d17a8801d6481ae4683368184a012b732bb1fd33962dc6c5fc99cfe459579526da53ab6d30dc2c1d5c84eeb3a0aeaed1e0076d5c04
languageName: node
linkType: hard
-"workbox-routing@npm:^6.1.2":
- version: 6.1.2
- resolution: "workbox-routing@npm:6.1.2::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Fworkbox-routing%2F-%2Fworkbox-routing-6.1.2.tgz"
+"workbox-routing@npm:^6.1.5":
+ version: 6.1.5
+ resolution: "workbox-routing@npm:6.1.5::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Fworkbox-routing%2F-%2Fworkbox-routing-6.1.5.tgz"
dependencies:
- workbox-core: ^6.1.2
- checksum: 4625c85dd64c640ba729d27b664dc1b61136669a838b056f4201a812e7f9608f6008c60daad7c2eb8f594b1f7c121dbafee9a6611c274a55e6ead0dc2290e6a4
+ workbox-core: ^6.1.5
+ checksum: a31b24dd4aa631e13911a95519ac9b00cabe405ee8d44bdbf9e892ca76b0d8a8a8f973ef92a2a9db8420bd0ac320363f8891ad9fee390e3cf3da9481b8c4d7de
languageName: node
linkType: hard
-"workbox-strategies@npm:^6.1.2":
- version: 6.1.2
- resolution: "workbox-strategies@npm:6.1.2::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Fworkbox-strategies%2F-%2Fworkbox-strategies-6.1.2.tgz"
+"workbox-strategies@npm:^6.1.5":
+ version: 6.1.5
+ resolution: "workbox-strategies@npm:6.1.5::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Fworkbox-strategies%2F-%2Fworkbox-strategies-6.1.5.tgz"
dependencies:
- workbox-core: ^6.1.2
- checksum: abc31b3c7d36640cd6169a15dce5f4ef679f15e6b35ee714ffdc1b19c1f18e93f2ed09fc5e892d9cf0bcce4765a764b1a4b21f93e7917658267bf43050645f3a
+ workbox-core: ^6.1.5
+ checksum: 24378d2ab28e3af38d485e1b6ffefb43ed5647541e53d8ce24579534f7a2a7a8294070a181b61e9c0348fe340fbe14c1027efff45bccbd6c413bdd68f6c9be4e
languageName: node
linkType: hard
-"workbox-streams@npm:^6.1.2":
- version: 6.1.2
- resolution: "workbox-streams@npm:6.1.2::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Fworkbox-streams%2F-%2Fworkbox-streams-6.1.2.tgz"
+"workbox-streams@npm:^6.1.5":
+ version: 6.1.5
+ resolution: "workbox-streams@npm:6.1.5::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Fworkbox-streams%2F-%2Fworkbox-streams-6.1.5.tgz"
dependencies:
- workbox-core: ^6.1.2
- workbox-routing: ^6.1.2
- checksum: b5180acb2278d0fc3b6439466785000d21313104a4cea443a765caee15fad8a62fc9c566ce3b2c3595614492d26492d93098f70fab6fd9085cc30fbfba1c6652
+ workbox-core: ^6.1.5
+ workbox-routing: ^6.1.5
+ checksum: 39069dc80d682277e035a6708efc762ccb9e18ecf24e926a84a17d988e36ed51c74cdcb2dd1a527f8b8f7c38088755a1dc8d03acdfa84099ffd6abd30e756504
languageName: node
linkType: hard
-"workbox-sw@npm:^6.1.2":
- version: 6.1.2
- resolution: "workbox-sw@npm:6.1.2::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Fworkbox-sw%2F-%2Fworkbox-sw-6.1.2.tgz"
- checksum: 3178b7574591077e59b7b2dee907e80219366ea023561b20db6cf20143e4ec406a2363f788dc437b6ab91d01b7c49cf9cbd159de2396aa1fab14f60a115da55a
+"workbox-sw@npm:^6.1.5":
+ version: 6.1.5
+ resolution: "workbox-sw@npm:6.1.5::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Fworkbox-sw%2F-%2Fworkbox-sw-6.1.5.tgz"
+ checksum: a4cebdbfc410ab363ed5e38c212e7ddaeae2d668d2523f907056c20b9d33677d5365ca04cbe0099f73bb07f5a43d43238bbc8383bb735575433861c2e84324dc
languageName: node
linkType: hard
-"workbox-webpack-plugin@npm:6.1.2":
- version: 6.1.2
- resolution: "workbox-webpack-plugin@npm:6.1.2::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Fworkbox-webpack-plugin%2F-%2Fworkbox-webpack-plugin-6.1.2.tgz"
+"workbox-webpack-plugin@npm:6.1.5":
+ version: 6.1.5
+ resolution: "workbox-webpack-plugin@npm:6.1.5::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Fworkbox-webpack-plugin%2F-%2Fworkbox-webpack-plugin-6.1.5.tgz"
dependencies:
fast-json-stable-stringify: ^2.1.0
pretty-bytes: ^5.4.1
source-map-url: ^0.4.0
upath: ^1.2.0
webpack-sources: ^1.4.3
- workbox-build: ^6.1.2
+ workbox-build: ^6.1.5
peerDependencies:
webpack: ^4.4.0 || ^5.9.0
- checksum: 9af74b2ffa09065c7e3c29e0083e2271d2c906a7356f3adc473a59d303c5f4dc902e685a3aa9dd9904a5d09a7e5bd41730389e5b0ffb05612ffca486d1ceaa4a
+ checksum: 20d506eb4bd15dfe77a63e846098c209d7e9b3256da1570d03e57e227239fc8ad2df1af0854516a38450f7cc03c278dcbecaaa7d734531cb385cb9e974e57a1b
languageName: node
linkType: hard
-"workbox-window@npm:^6.1.2":
- version: 6.1.2
- resolution: "workbox-window@npm:6.1.2::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Fworkbox-window%2F-%2Fworkbox-window-6.1.2.tgz"
+"workbox-window@npm:^6.1.5":
+ version: 6.1.5
+ resolution: "workbox-window@npm:6.1.5::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Fworkbox-window%2F-%2Fworkbox-window-6.1.5.tgz"
dependencies:
- workbox-core: ^6.1.2
- checksum: d320f65cc858a0b23d98b0c8920418614ebc6d5db761c7e950d10f3e3342d9c6bd0b419cccd2b2da7a47952f1d0c9a684baa4fb785d57ef12239073707a1e589
+ workbox-core: ^6.1.5
+ checksum: a91021f6071ad3c39a49f69143425f8c803bd21a7d60982bfa51a653b1f7074f794f0290d44df7c2d6e41719a9118351a336794045955527985f2b2de05e01f8
languageName: node
linkType: hard
@@ -33521,12 +34454,6 @@ typescript@^3.9.3:
languageName: unknown
linkType: soft
-"workspace-d2a110@workspace:scopes/workspace/e2e/workspace":
- version: 0.0.0-use.local
- resolution: "workspace-d2a110@workspace:scopes/workspace/e2e/workspace"
- languageName: unknown
- linkType: soft
-
"wrap-ansi@npm:^6.2.0":
version: 6.2.0
resolution: "wrap-ansi@npm:6.2.0::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Fwrap-ansi%2F-%2Fwrap-ansi-6.2.0.tgz"
@@ -33769,6 +34696,13 @@ typescript@^3.9.3:
languageName: node
linkType: hard
+"y18n@npm:^5.0.5":
+ version: 5.0.8
+ resolution: "y18n@npm:5.0.8::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Fy18n%2F-%2Fy18n-5.0.8.tgz"
+ checksum: 54f0fb95621ee60898a38c572c515659e51cc9d9f787fb109cef6fde4befbe1c4602dc999d30110feee37456ad0f1660fa2edcfde6a9a740f86a290999550d30
+ languageName: node
+ linkType: hard
+
"yallist@npm:^2.1.2":
version: 2.1.2
resolution: "yallist@npm:2.1.2::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Fyallist%2F-%2Fyallist-2.1.2.tgz"
@@ -33814,6 +34748,28 @@ typescript@^3.9.3:
languageName: node
linkType: hard
+"yargs-parser@npm:^20.2.2":
+ version: 20.2.7
+ resolution: "yargs-parser@npm:20.2.7::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Fyargs-parser%2F-%2Fyargs-parser-20.2.7.tgz"
+ checksum: ec0ea9e1b5699977380583f5ab1c0e2c6fc5f1ed374eb3053c458df00c543effba53628ad3297f3ccc769660518d5e376fd1cfb298b8e37077421aca8d75ae89
+ languageName: node
+ linkType: hard
+
+"yargs@npm:17.0.1":
+ version: 17.0.1
+ resolution: "yargs@npm:17.0.1::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Fyargs%2F-%2Fyargs-17.0.1.tgz"
+ dependencies:
+ cliui: ^7.0.2
+ escalade: ^3.1.1
+ get-caller-file: ^2.0.5
+ require-directory: ^2.1.1
+ string-width: ^4.2.0
+ y18n: ^5.0.5
+ yargs-parser: ^20.2.2
+ checksum: 4ffffa5a82647e5d07840b64bed88c365b901d3d4a4c51745dddb10d177902d85014026d7224aae18c42df9ca3f75a41c5aff556e5342e2f8ffc5177d149cd17
+ languageName: node
+ linkType: hard
+
"yargs@npm:^15.0.0, yargs@npm:^15.1.0, yargs@npm:^15.3.1, yargs@npm:^15.4.1":
version: 15.4.1
resolution: "yargs@npm:15.4.1::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Fyargs%2F-%2Fyargs-15.4.1.tgz"
@@ -33842,6 +34798,12 @@ typescript@^3.9.3:
languageName: node
linkType: hard
+"yarn-3d38ee@workspace:scopes/dependencies/aspect-docs/yarn":
+ version: 0.0.0-use.local
+ resolution: "yarn-3d38ee@workspace:scopes/dependencies/aspect-docs/yarn"
+ languageName: unknown
+ linkType: soft
+
"yarn-94b64d@workspace:scopes/dependencies/yarn":
version: 0.0.0-use.local
resolution: "yarn-94b64d@workspace:scopes/dependencies/yarn"
@@ -33878,6 +34840,21 @@ typescript@^3.9.3:
languageName: node
linkType: hard
+"yup@npm:^0.32.9":
+ version: 0.32.9
+ resolution: "yup@npm:0.32.9::__archiveUrl=https%3A%2F%2Fregistry.npmjs.org%2Fyup%2F-%2Fyup-0.32.9.tgz"
+ dependencies:
+ "@babel/runtime": ^7.10.5
+ "@types/lodash": ^4.14.165
+ lodash: ^4.17.20
+ lodash-es: ^4.17.15
+ nanoclone: ^0.2.1
+ property-expr: ^2.0.4
+ toposort: ^2.0.2
+ checksum: 3f33850913a237fb7e59b0b5c71d2cc6bdb1d6b2b01fc24c53ec68b35ad2b95cd49f735532117136495cb57f0ec58f0a7e1f1c55fad685555c7114155170f1ea
+ languageName: node
+ linkType: hard
+
"z-indexes-da4963@workspace:scopes/ui-foundation/uis/constants/z-indexes":
version: 0.0.0-use.local
resolution: "z-indexes-da4963@workspace:scopes/ui-foundation/uis/constants/z-indexes"