@teambit/generator 0.0.1022 → 0.0.1024
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{preview-1679607263760.js → preview-1679974224627.js} +2 -2
- package/dist/workspace-generator.js +1 -1
- package/dist/workspace-generator.js.map +1 -1
- package/dist/workspace-template.d.ts +1 -2
- package/dist/workspace-template.js.map +1 -1
- package/package-tar/teambit-generator-0.0.1024.tgz +0 -0
- package/package.json +19 -19
- package/package-tar/teambit-generator-0.0.1022.tgz +0 -0
@@ -1,5 +1,5 @@
|
|
1
|
-
import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.generator_generator@0.0.
|
2
|
-
import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.generator_generator@0.0.
|
1
|
+
import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.generator_generator@0.0.1024/dist/generator.composition.js';
|
2
|
+
import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.generator_generator@0.0.1024/dist/generator.docs.mdx';
|
3
3
|
|
4
4
|
export const compositions = [compositions_0];
|
5
5
|
export const overview = [overview_0];
|
@@ -149,7 +149,7 @@ class WorkspaceGenerator {
|
|
149
149
|
try {
|
150
150
|
process.chdir(this.workspacePath);
|
151
151
|
await this.initGit();
|
152
|
-
await (0, _consumer().init)(this.workspacePath, this.options.skipGit, false, false, false, false, false, {});
|
152
|
+
await (0, _consumer().init)(this.workspacePath, this.options.skipGit, false, false, false, false, false, false, {});
|
153
153
|
await this.writeWorkspaceFiles();
|
154
154
|
await this.reloadBitInWorkspaceDir();
|
155
155
|
await this.forkComponentsFromRemote();
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["WorkspaceGenerator","constructor","workspaceName","options","template","aspectComponent","workspacePath","resolve","generate","fs","existsSync","Error","ensureDir","process","chdir","initGit","init","skipGit","writeWorkspaceFiles","reloadBitInWorkspaceDir","forkComponentsFromRemote","importComponentsFromRemote","install","undefined","dedupe","import","copyPeerToRuntimeOnRoot","copyPeerToRuntimeOnComponents","updateExisting","err","remove","gitExecutablePath","getGitExecutablePath","params","execa","exitCodeName","GitNotFound","buildUI","uiMain","harmony","get","UIAspect","id","createRuntime","workspaceContext","name","defaultScope","empty","templateFiles","generateFiles","Promise","all","map","templateFile","outputFile","join","relativePath","content","loadBit","workspace","WorkspaceAspect","InstallAspect","loggerMain","LoggerAspect","logger","createLogger","GeneratorAspect","importer","ImporterAspect","forking","ForkingAspect","componentsToFork","importComponents","fork","length","componentsToForkRestructured","targetName","path","sourceId","targetId","forkMultipleFromRemote","scope","refactor","clearCache","compileComponents","componentsToImport","pMapSeries","componentToImport","ids","installNpmPackages","writeToPath","bitMap","write","compiler","CompilerAspect","compileOnWorkspace"],"sources":["workspace-generator.ts"],"sourcesContent":["import fs from 'fs-extra';\nimport { loadBit } from '@teambit/bit';\nimport { Harmony } from '@teambit/harmony';\nimport { Component } from '@teambit/component';\nimport execa from 'execa';\nimport pMapSeries from 'p-map-series';\nimport UIAspect, { UiMain } from '@teambit/ui';\nimport { Logger, LoggerAspect, LoggerMain } from '@teambit/logger';\nimport { WorkspaceAspect, Workspace } from '@teambit/workspace';\nimport ForkingAspect, { ForkingMain } from '@teambit/forking';\nimport { init } from '@teambit/legacy/dist/api/consumer';\nimport ImporterAspect, { ImporterMain } from '@teambit/importer';\nimport { CompilerAspect, CompilerMain } from '@teambit/compiler';\nimport getGitExecutablePath from '@teambit/legacy/dist/utils/git/git-executable';\nimport GitNotFound from '@teambit/legacy/dist/utils/git/exceptions/git-not-found';\nimport { resolve, join } from 'path';\nimport { ComponentID } from '@teambit/component-id';\nimport { InstallAspect, InstallMain } from '@teambit/install';\nimport { WorkspaceTemplate, WorkspaceContext } from './workspace-template';\nimport { NewOptions } from './new.cmd';\nimport { GeneratorAspect } from './generator.aspect';\n\nexport type GenerateResult = { id: ComponentID; dir: string; files: string[]; envId: string };\n\nexport class WorkspaceGenerator {\n private workspacePath: string;\n private harmony: Harmony;\n private workspace: Workspace;\n private install: InstallMain;\n private importer: ImporterMain;\n private logger: Logger;\n private forking: ForkingMain;\n constructor(\n private workspaceName: string,\n private options: NewOptions,\n private template: WorkspaceTemplate,\n private aspectComponent?: Component\n ) {\n this.workspacePath = resolve(this.workspaceName);\n }\n\n async generate(): Promise<string> {\n if (fs.existsSync(this.workspacePath)) {\n throw new Error(`unable to create a workspace at \"${this.workspaceName}\", this path already exist`);\n }\n await fs.ensureDir(this.workspacePath);\n try {\n process.chdir(this.workspacePath);\n await this.initGit();\n await init(this.workspacePath, this.options.skipGit, false, false, false, false, false, {});\n await this.writeWorkspaceFiles();\n await this.reloadBitInWorkspaceDir();\n await this.forkComponentsFromRemote();\n await this.importComponentsFromRemote();\n await this.install.install(undefined, {\n dedupe: true,\n import: false,\n copyPeerToRuntimeOnRoot: true,\n copyPeerToRuntimeOnComponents: false,\n updateExisting: false,\n });\n // await this.buildUI(); // disabled for now. it takes too long\n } catch (err: any) {\n await fs.remove(this.workspacePath);\n throw err;\n }\n\n return this.workspacePath;\n }\n\n private async initGit() {\n if (this.options.skipGit) return;\n const gitExecutablePath = getGitExecutablePath();\n const params = ['init'];\n try {\n await execa(gitExecutablePath, params);\n } catch (err: any) {\n if (err.exitCodeName === 'ENOENT') {\n throw new GitNotFound(gitExecutablePath, err);\n }\n throw err;\n }\n }\n\n private async buildUI() {\n const uiMain = this.harmony.get<UiMain>(UIAspect.id);\n await uiMain.createRuntime({});\n }\n\n /**\n * writes the generated template files to the default directory set in the workspace config\n */\n private async writeWorkspaceFiles(): Promise<void> {\n const workspaceContext: WorkspaceContext = {\n name: this.workspaceName,\n defaultScope: this.options.defaultScope,\n empty: this.options.empty,\n aspectComponent: this.aspectComponent,\n template: this.template,\n };\n const templateFiles = await this.template.generateFiles(workspaceContext);\n await Promise.all(\n templateFiles.map(async (templateFile) => {\n await fs.outputFile(join(this.workspacePath, templateFile.relativePath), templateFile.content);\n })\n );\n }\n\n private async reloadBitInWorkspaceDir() {\n this.harmony = await loadBit(this.workspacePath);\n this.workspace = this.harmony.get<Workspace>(WorkspaceAspect.id);\n this.install = this.harmony.get<InstallMain>(InstallAspect.id);\n const loggerMain = this.harmony.get<LoggerMain>(LoggerAspect.id);\n this.logger = loggerMain.createLogger(GeneratorAspect.id);\n this.importer = this.harmony.get<ImporterMain>(ImporterAspect.id);\n this.forking = this.harmony.get<ForkingMain>(ForkingAspect.id);\n }\n\n private async forkComponentsFromRemote() {\n if (this.options.empty) return;\n const componentsToFork = this.template?.importComponents?.() || this.template?.fork?.() || [];\n if (!componentsToFork.length) return;\n const componentsToForkRestructured = componentsToFork.map(({ id, targetName, path }) => ({\n sourceId: id,\n targetId: targetName,\n path,\n }));\n await this.forking.forkMultipleFromRemote(componentsToForkRestructured, {\n scope: this.workspace.defaultScope,\n refactor: true,\n install: false,\n });\n this.workspace.clearCache();\n await this.compileComponents();\n }\n\n private async importComponentsFromRemote() {\n if (this.options.empty) return;\n const componentsToImport = this.template?.import?.() || [];\n\n if (!componentsToImport.length) return;\n\n await pMapSeries(componentsToImport, async (componentToImport) => {\n await this.importer.import(\n {\n ids: [componentToImport.id],\n installNpmPackages: false,\n writeToPath: componentToImport.path,\n },\n []\n );\n });\n\n await this.workspace.bitMap.write();\n this.workspace.clearCache();\n await this.compileComponents();\n }\n\n private async compileComponents() {\n const compiler = this.harmony.get<CompilerMain>(CompilerAspect.id);\n await compiler.compileOnWorkspace();\n }\n}\n"],"mappings":"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"}
|
1
|
+
{"version":3,"names":["WorkspaceGenerator","constructor","workspaceName","options","template","aspectComponent","workspacePath","resolve","generate","fs","existsSync","Error","ensureDir","process","chdir","initGit","init","skipGit","writeWorkspaceFiles","reloadBitInWorkspaceDir","forkComponentsFromRemote","importComponentsFromRemote","install","undefined","dedupe","import","copyPeerToRuntimeOnRoot","copyPeerToRuntimeOnComponents","updateExisting","err","remove","gitExecutablePath","getGitExecutablePath","params","execa","exitCodeName","GitNotFound","buildUI","uiMain","harmony","get","UIAspect","id","createRuntime","workspaceContext","name","defaultScope","empty","templateFiles","generateFiles","Promise","all","map","templateFile","outputFile","join","relativePath","content","loadBit","workspace","WorkspaceAspect","InstallAspect","loggerMain","LoggerAspect","logger","createLogger","GeneratorAspect","importer","ImporterAspect","forking","ForkingAspect","componentsToFork","importComponents","fork","length","componentsToForkRestructured","targetName","path","sourceId","targetId","forkMultipleFromRemote","scope","refactor","clearCache","compileComponents","componentsToImport","pMapSeries","componentToImport","ids","installNpmPackages","writeToPath","bitMap","write","compiler","CompilerAspect","compileOnWorkspace"],"sources":["workspace-generator.ts"],"sourcesContent":["import fs from 'fs-extra';\nimport { loadBit } from '@teambit/bit';\nimport { Harmony } from '@teambit/harmony';\nimport { Component } from '@teambit/component';\nimport execa from 'execa';\nimport pMapSeries from 'p-map-series';\nimport UIAspect, { UiMain } from '@teambit/ui';\nimport { Logger, LoggerAspect, LoggerMain } from '@teambit/logger';\nimport { WorkspaceAspect, Workspace } from '@teambit/workspace';\nimport ForkingAspect, { ForkingMain } from '@teambit/forking';\nimport { init } from '@teambit/legacy/dist/api/consumer';\nimport ImporterAspect, { ImporterMain } from '@teambit/importer';\nimport { CompilerAspect, CompilerMain } from '@teambit/compiler';\nimport getGitExecutablePath from '@teambit/legacy/dist/utils/git/git-executable';\nimport GitNotFound from '@teambit/legacy/dist/utils/git/exceptions/git-not-found';\nimport { resolve, join } from 'path';\nimport { ComponentID } from '@teambit/component-id';\nimport { InstallAspect, InstallMain } from '@teambit/install';\nimport { WorkspaceTemplate, WorkspaceContext } from './workspace-template';\nimport { NewOptions } from './new.cmd';\nimport { GeneratorAspect } from './generator.aspect';\n\nexport type GenerateResult = { id: ComponentID; dir: string; files: string[]; envId: string };\n\nexport class WorkspaceGenerator {\n private workspacePath: string;\n private harmony: Harmony;\n private workspace: Workspace;\n private install: InstallMain;\n private importer: ImporterMain;\n private logger: Logger;\n private forking: ForkingMain;\n constructor(\n private workspaceName: string,\n private options: NewOptions,\n private template: WorkspaceTemplate,\n private aspectComponent?: Component\n ) {\n this.workspacePath = resolve(this.workspaceName);\n }\n\n async generate(): Promise<string> {\n if (fs.existsSync(this.workspacePath)) {\n throw new Error(`unable to create a workspace at \"${this.workspaceName}\", this path already exist`);\n }\n await fs.ensureDir(this.workspacePath);\n try {\n process.chdir(this.workspacePath);\n await this.initGit();\n await init(this.workspacePath, this.options.skipGit, false, false, false, false, false, false, {});\n await this.writeWorkspaceFiles();\n await this.reloadBitInWorkspaceDir();\n await this.forkComponentsFromRemote();\n await this.importComponentsFromRemote();\n await this.install.install(undefined, {\n dedupe: true,\n import: false,\n copyPeerToRuntimeOnRoot: true,\n copyPeerToRuntimeOnComponents: false,\n updateExisting: false,\n });\n // await this.buildUI(); // disabled for now. it takes too long\n } catch (err: any) {\n await fs.remove(this.workspacePath);\n throw err;\n }\n\n return this.workspacePath;\n }\n\n private async initGit() {\n if (this.options.skipGit) return;\n const gitExecutablePath = getGitExecutablePath();\n const params = ['init'];\n try {\n await execa(gitExecutablePath, params);\n } catch (err: any) {\n if (err.exitCodeName === 'ENOENT') {\n throw new GitNotFound(gitExecutablePath, err);\n }\n throw err;\n }\n }\n\n private async buildUI() {\n const uiMain = this.harmony.get<UiMain>(UIAspect.id);\n await uiMain.createRuntime({});\n }\n\n /**\n * writes the generated template files to the default directory set in the workspace config\n */\n private async writeWorkspaceFiles(): Promise<void> {\n const workspaceContext: WorkspaceContext = {\n name: this.workspaceName,\n defaultScope: this.options.defaultScope,\n empty: this.options.empty,\n aspectComponent: this.aspectComponent,\n template: this.template,\n };\n const templateFiles = await this.template.generateFiles(workspaceContext);\n await Promise.all(\n templateFiles.map(async (templateFile) => {\n await fs.outputFile(join(this.workspacePath, templateFile.relativePath), templateFile.content);\n })\n );\n }\n\n private async reloadBitInWorkspaceDir() {\n this.harmony = await loadBit(this.workspacePath);\n this.workspace = this.harmony.get<Workspace>(WorkspaceAspect.id);\n this.install = this.harmony.get<InstallMain>(InstallAspect.id);\n const loggerMain = this.harmony.get<LoggerMain>(LoggerAspect.id);\n this.logger = loggerMain.createLogger(GeneratorAspect.id);\n this.importer = this.harmony.get<ImporterMain>(ImporterAspect.id);\n this.forking = this.harmony.get<ForkingMain>(ForkingAspect.id);\n }\n\n private async forkComponentsFromRemote() {\n if (this.options.empty) return;\n const componentsToFork = this.template?.importComponents?.() || this.template?.fork?.() || [];\n if (!componentsToFork.length) return;\n const componentsToForkRestructured = componentsToFork.map(({ id, targetName, path }) => ({\n sourceId: id,\n targetId: targetName,\n path,\n }));\n await this.forking.forkMultipleFromRemote(componentsToForkRestructured, {\n scope: this.workspace.defaultScope,\n refactor: true,\n install: false,\n });\n this.workspace.clearCache();\n await this.compileComponents();\n }\n\n private async importComponentsFromRemote() {\n if (this.options.empty) return;\n const componentsToImport = this.template?.import?.() || [];\n\n if (!componentsToImport.length) return;\n\n await pMapSeries(componentsToImport, async (componentToImport) => {\n await this.importer.import(\n {\n ids: [componentToImport.id],\n installNpmPackages: false,\n writeToPath: componentToImport.path,\n },\n []\n );\n });\n\n await this.workspace.bitMap.write();\n this.workspace.clearCache();\n await this.compileComponents();\n }\n\n private async compileComponents() {\n const compiler = this.harmony.get<CompilerMain>(CompilerAspect.id);\n await compiler.compileOnWorkspace();\n }\n}\n"],"mappings":"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"}
|
@@ -90,8 +90,7 @@ export interface WorkspaceTemplate {
|
|
90
90
|
*/
|
91
91
|
importComponents?: () => ForkComponentInfo[];
|
92
92
|
/**
|
93
|
-
*
|
94
|
-
* don't change their source code.
|
93
|
+
* import components into the new workspace, don't change their source code.
|
95
94
|
*/
|
96
95
|
import?: () => ImportComponentInfo[];
|
97
96
|
/**
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":[],"sources":["workspace-template.ts"],"sourcesContent":["import type { Component } from '@teambit/component';\n\nexport interface WorkspaceFile {\n /**\n * relative path of the file within the workspace.\n */\n relativePath: string;\n\n /**\n * file content\n */\n content: string;\n}\n\nexport interface WorkspaceContext {\n /**\n * workspace-name as entered by the user, e.g. `react-app`.\n * it is used as the directory name for the workspace.\n */\n name: string;\n\n /**\n * default scope as entered by the user.\n * it will be set in the workspace.jsonc and be used for components\n */\n defaultScope?: string;\n\n /**\n * whether user entered `--empty` flag in `bit new` to avoid creating components.\n */\n empty?: boolean;\n\n /**\n * in case the \"--aspect\" flag used to import a remote aspect, this is populated with that aspect.\n * useful to get the aspect-id and other info.\n */\n aspectComponent?: Component;\n\n /**\n * the template the user selected to create the workspace.\n */\n template: WorkspaceTemplate;\n}\n\nexport interface ForkComponentInfo {\n /**\n * full component id\n */\n id: string;\n\n /**\n * path where to write the component\n */\n path?: string;\n\n /**\n * a new component name. if not specified, use the original id (without the scope)\n */\n targetName?: string;\n}\n\n/**\n * @deprecated use ForkComponentInfo instead.\n */\nexport type ComponentToImport = ForkComponentInfo;\n\nexport interface ImportComponentInfo {\n /**\n * full component id\n */\n id: string;\n\n /**\n * path where to write the component\n */\n path: string;\n}\n\nexport interface WorkspaceTemplate {\n /**\n * name of the workspace template. for example: `react-workspace`.\n */\n name: string;\n\n /**\n * name of an app created in the workspace. for example: `my-app`.\n * This will be used to instruct the user to run `bit run <appName>` in the new workspace.\n */\n appName?: string;\n\n /**\n * short description of the template. shown in the `bit templates` command when outside of bit-workspace.\n */\n description?: string;\n\n /**\n * hide this template so that it is not listed with `bit templates`\n */\n hidden?: boolean;\n\n /**\n * template function for generating the template files,\n */\n generateFiles(context: WorkspaceContext): Promise<WorkspaceFile[]>;\n\n /**\n * @deprecated use `fork()` or `import()` instead\n * this is working similarly to `fork()`\n */\n importComponents?: () => ForkComponentInfo[];\n\n /**\n *
|
1
|
+
{"version":3,"names":[],"sources":["workspace-template.ts"],"sourcesContent":["import type { Component } from '@teambit/component';\n\nexport interface WorkspaceFile {\n /**\n * relative path of the file within the workspace.\n */\n relativePath: string;\n\n /**\n * file content\n */\n content: string;\n}\n\nexport interface WorkspaceContext {\n /**\n * workspace-name as entered by the user, e.g. `react-app`.\n * it is used as the directory name for the workspace.\n */\n name: string;\n\n /**\n * default scope as entered by the user.\n * it will be set in the workspace.jsonc and be used for components\n */\n defaultScope?: string;\n\n /**\n * whether user entered `--empty` flag in `bit new` to avoid creating components.\n */\n empty?: boolean;\n\n /**\n * in case the \"--aspect\" flag used to import a remote aspect, this is populated with that aspect.\n * useful to get the aspect-id and other info.\n */\n aspectComponent?: Component;\n\n /**\n * the template the user selected to create the workspace.\n */\n template: WorkspaceTemplate;\n}\n\nexport interface ForkComponentInfo {\n /**\n * full component id\n */\n id: string;\n\n /**\n * path where to write the component\n */\n path?: string;\n\n /**\n * a new component name. if not specified, use the original id (without the scope)\n */\n targetName?: string;\n}\n\n/**\n * @deprecated use ForkComponentInfo instead.\n */\nexport type ComponentToImport = ForkComponentInfo;\n\nexport interface ImportComponentInfo {\n /**\n * full component id\n */\n id: string;\n\n /**\n * path where to write the component\n */\n path: string;\n}\n\nexport interface WorkspaceTemplate {\n /**\n * name of the workspace template. for example: `react-workspace`.\n */\n name: string;\n\n /**\n * name of an app created in the workspace. for example: `my-app`.\n * This will be used to instruct the user to run `bit run <appName>` in the new workspace.\n */\n appName?: string;\n\n /**\n * short description of the template. shown in the `bit templates` command when outside of bit-workspace.\n */\n description?: string;\n\n /**\n * hide this template so that it is not listed with `bit templates`\n */\n hidden?: boolean;\n\n /**\n * template function for generating the template files,\n */\n generateFiles(context: WorkspaceContext): Promise<WorkspaceFile[]>;\n\n /**\n * @deprecated use `fork()` or `import()` instead\n * this is working similarly to `fork()`\n */\n importComponents?: () => ForkComponentInfo[];\n\n /**\n * import components into the new workspace, don't change their source code.\n */\n import?: () => ImportComponentInfo[];\n\n /**\n * populate existing components into the new workspace and add them as new components.\n * change their source code and update the dependency names according to the new component names.\n */\n fork?: () => ForkComponentInfo[];\n}\n"],"mappings":""}
|
Binary file
|
package/package.json
CHANGED
@@ -1,12 +1,12 @@
|
|
1
1
|
{
|
2
2
|
"name": "@teambit/generator",
|
3
|
-
"version": "0.0.
|
3
|
+
"version": "0.0.1024",
|
4
4
|
"homepage": "https://bit.dev/teambit/generator/generator",
|
5
5
|
"main": "dist/index.js",
|
6
6
|
"componentId": {
|
7
7
|
"scope": "teambit.generator",
|
8
8
|
"name": "generator",
|
9
|
-
"version": "0.0.
|
9
|
+
"version": "0.0.1024"
|
10
10
|
},
|
11
11
|
"dependencies": {
|
12
12
|
"camelcase": "6.2.0",
|
@@ -22,22 +22,22 @@
|
|
22
22
|
"@teambit/harmony": "0.4.6",
|
23
23
|
"@teambit/bit-error": "0.0.402",
|
24
24
|
"@teambit/component-id": "0.0.427",
|
25
|
-
"@teambit/envs": "0.0.
|
26
|
-
"@teambit/new-component-helper": "0.0.
|
27
|
-
"@teambit/tracker": "0.0.
|
28
|
-
"@teambit/workspace": "0.0.
|
29
|
-
"@teambit/cli": "0.0.
|
30
|
-
"@teambit/graphql": "0.0.
|
31
|
-
"@teambit/aspect-loader": "0.0.
|
32
|
-
"@teambit/bit": "0.1.
|
33
|
-
"@teambit/community": "0.0.
|
34
|
-
"@teambit/component": "0.0.
|
35
|
-
"@teambit/compiler": "0.0.
|
36
|
-
"@teambit/forking": "0.0.
|
37
|
-
"@teambit/importer": "0.0.
|
38
|
-
"@teambit/install": "0.0.
|
39
|
-
"@teambit/logger": "0.0.
|
40
|
-
"@teambit/ui": "0.0.
|
25
|
+
"@teambit/envs": "0.0.1024",
|
26
|
+
"@teambit/new-component-helper": "0.0.428",
|
27
|
+
"@teambit/tracker": "0.0.55",
|
28
|
+
"@teambit/workspace": "0.0.1024",
|
29
|
+
"@teambit/cli": "0.0.687",
|
30
|
+
"@teambit/graphql": "0.0.1024",
|
31
|
+
"@teambit/aspect-loader": "0.0.1024",
|
32
|
+
"@teambit/bit": "0.1.11",
|
33
|
+
"@teambit/community": "0.0.235",
|
34
|
+
"@teambit/component": "0.0.1024",
|
35
|
+
"@teambit/compiler": "0.0.1024",
|
36
|
+
"@teambit/forking": "0.0.428",
|
37
|
+
"@teambit/importer": "0.0.453",
|
38
|
+
"@teambit/install": "0.0.138",
|
39
|
+
"@teambit/logger": "0.0.780",
|
40
|
+
"@teambit/ui": "0.0.1024"
|
41
41
|
},
|
42
42
|
"devDependencies": {
|
43
43
|
"@types/fs-extra": "9.0.7",
|
@@ -51,7 +51,7 @@
|
|
51
51
|
"@teambit/generator.aspect-docs.generator": "0.0.155"
|
52
52
|
},
|
53
53
|
"peerDependencies": {
|
54
|
-
"@teambit/legacy": "1.0.
|
54
|
+
"@teambit/legacy": "1.0.467",
|
55
55
|
"react": "^16.8.0 || ^17.0.0",
|
56
56
|
"react-dom": "^16.8.0 || ^17.0.0"
|
57
57
|
},
|
Binary file
|