@teambit/importer 0.0.281 → 0.0.282

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.
@@ -1,6 +1,6 @@
1
1
  import { Command, CommandOptions } from '@teambit/cli';
2
2
  import { MergeStrategy } from '@teambit/legacy/dist/consumer/versions-ops/merge-version/merge-version';
3
- import { Importer } from './importer';
3
+ import { ImporterMain } from './importer.main.runtime';
4
4
  export default class ImportCmd implements Command {
5
5
  private importer;
6
6
  private docsDomain;
@@ -18,7 +18,7 @@ export default class ImportCmd implements Command {
18
18
  migration: boolean;
19
19
  remoteOp: boolean;
20
20
  _packageManagerArgs: string[];
21
- constructor(importer: Importer, docsDomain: string);
21
+ constructor(importer: ImporterMain, docsDomain: string);
22
22
  report([ids]: [string[]], { path, objects, displayDependencies, override, verbose, json, conf, skipNpmInstall, skipDependencyInstallation, merge, saveInLane, dependencies, dependents, allHistory, }: {
23
23
  path?: string;
24
24
  objects?: boolean;
@@ -1 +1 @@
1
- {"version":3,"names":["ImportCmd","constructor","importer","docsDomain","name","description","extendedDescription","WILDCARD_HELP","report","ids","path","objects","displayDependencies","override","verbose","json","conf","skipNpmInstall","skipDependencyInstallation","merge","saveInLane","dependencies","dependents","allHistory","GeneralError","length","console","log","chalk","yellow","mergeStrategy","R","is","String","options","Object","keys","MergeOptions","includes","join","importOptions","Boolean","writeToPath","objectsOnly","writeConfig","installNpmPackages","importDependenciesDirectly","importDependents","importResults","import","_packageManagerArgs","importDetails","JSON","stringify","dependenciesOutput","isEmpty","components","map","d","component","peerDependencies","flatten","prop","titlePrefix","upToDateCount","componentDependencies","details","find","c","id","toStringWithoutVersion","Error","toString","status","formatPlainComponentItemWithVersions","upToDateStr","title","componentDependenciesOutput","green","compact","peerDependenciesOutput","immutableUnshift","uniq","formatPlainComponentItem","getImportOutput","cancellationMessage","getVersionsOutput","versions","latestVersion","usedVersion","version","getConflictMessage","filesStatus","conflictedFiles","filter","file","FileStatus","manual","bold","conflictMessage","deprecated","removed","red","missingDeps","undefined","cyan"],"sources":["import.cmd.ts"],"sourcesContent":["import { Command, CommandOptions } from '@teambit/cli';\nimport chalk from 'chalk';\nimport { compact } from 'lodash';\nimport R from 'ramda';\nimport { WILDCARD_HELP } from '@teambit/legacy/dist/constants';\nimport {\n ImportOptions,\n ImportDetails,\n ImportStatus,\n} from '@teambit/legacy/dist/consumer/component-ops/import-components';\nimport {\n FileStatus,\n MergeOptions,\n MergeStrategy,\n} from '@teambit/legacy/dist/consumer/versions-ops/merge-version/merge-version';\nimport ConsumerComponent from '@teambit/legacy/dist/consumer/component/consumer-component';\nimport GeneralError from '@teambit/legacy/dist/error/general-error';\nimport { immutableUnshift } from '@teambit/legacy/dist/utils';\nimport { formatPlainComponentItem } from '@teambit/legacy/dist/cli/chalk-box';\nimport { Importer } from './importer';\n\nexport default class ImportCmd implements Command {\n name = 'import [component-patterns...]';\n description = 'import components from their remote scopes to the local workspace';\n arguments = [\n {\n name: 'component-patterns...',\n description:\n 'component IDs or component patterns (separated by space). Use patterns to import groups of components using a common scope or namespace. E.g., \"utils/*\" (wrap with double quotes)',\n },\n ];\n extendedDescription: string;\n group = 'collaborate';\n alias = '';\n options = [\n ['p', 'path <path>', 'import components into a specific directory (a relative path in the workspace)'],\n [\n 'o',\n 'objects',\n 'import components objects to the local scope without checkout (without writing them to the file system). This is a default behavior for import with no id argument',\n ],\n ['d', 'display-dependencies', 'display the imported dependencies'],\n ['O', 'override', 'override local changes'],\n ['v', 'verbose', 'show verbose output for inspection'],\n ['j', 'json', 'return the output as JSON'],\n ['', 'conf', 'write the configuration file (component.json) of the component'],\n ['', 'skip-npm-install', 'DEPRECATED. use \"--skip-dependency-installation\" instead'],\n ['', 'skip-dependency-installation', 'do not install packages of the imported components'],\n [\n 'm',\n 'merge [strategy]',\n 'merge local changes with the imported version. strategy should be \"theirs\", \"ours\" or \"manual\"',\n ],\n ['', 'dependencies', 'EXPERIMENTAL. import all dependencies and write them to the workspace'],\n [\n '',\n 'dependents',\n \"EXPERIMENTAL. import the components' dependents. this enables changes to propagate from (modified) components to their dependents\",\n ],\n [\n '',\n 'save-in-lane',\n 'EXPERIMENTAL. when checked out to a lane and the component is not on the remote-lane, save it in the lane (default to save on main)',\n ],\n [\n '',\n 'all-history',\n 'relevant for fetching all components objects. avoid optimizations, fetch all history versions, always',\n ],\n ] as CommandOptions;\n loader = true;\n migration = true;\n remoteOp = true;\n _packageManagerArgs: string[]; // gets populated by yargs-adapter.handler().\n\n constructor(private importer: Importer, private docsDomain: string) {\n this.extendedDescription = `https://${docsDomain}/components/importing-components\n${WILDCARD_HELP('import')}`;\n }\n\n async report(\n [ids = []]: [string[]],\n {\n path,\n objects = false,\n displayDependencies = false,\n override = false,\n verbose = false,\n json = false,\n conf,\n skipNpmInstall = false,\n skipDependencyInstallation = false,\n merge,\n saveInLane = false,\n dependencies = false,\n dependents = false,\n allHistory = false,\n }: {\n path?: string;\n objects?: boolean;\n displayDependencies?: boolean;\n override?: boolean;\n verbose?: boolean;\n json?: boolean;\n conf?: string;\n skipNpmInstall?: boolean;\n skipDependencyInstallation?: boolean;\n merge?: MergeStrategy;\n saveInLane?: boolean;\n dependencies?: boolean;\n dependents?: boolean;\n allHistory?: boolean;\n }\n ): Promise<any> {\n if (objects && merge) {\n throw new GeneralError('you cant use --objects and --merge flags combined');\n }\n if (override && merge) {\n throw new GeneralError('you cant use --override and --merge flags combined');\n }\n if (!ids.length && dependencies) {\n throw new GeneralError('you have to specify ids to use \"--dependencies\" flag');\n }\n if (!ids.length && dependents) {\n throw new GeneralError('you have to specify ids to use \"--dependents\" flag');\n }\n if (skipNpmInstall) {\n // eslint-disable-next-line no-console\n console.log(\n chalk.yellow(`\"--skip-npm-install\" has been deprecated, please use \"--skip-dependency-installation\" instead`)\n );\n skipDependencyInstallation = true;\n }\n let mergeStrategy;\n if (merge && R.is(String, merge)) {\n const options = Object.keys(MergeOptions);\n if (!options.includes(merge)) {\n throw new GeneralError(`merge must be one of the following: ${options.join(', ')}`);\n }\n mergeStrategy = merge;\n }\n\n const importOptions: ImportOptions = {\n ids,\n verbose,\n merge: Boolean(merge),\n mergeStrategy,\n writeToPath: path,\n objectsOnly: objects,\n override,\n writeConfig: Boolean(conf),\n installNpmPackages: !skipDependencyInstallation,\n saveInLane,\n importDependenciesDirectly: dependencies,\n importDependents: dependents,\n allHistory,\n };\n const importResults = await this.importer.import(importOptions, this._packageManagerArgs);\n const { importDetails } = importResults;\n\n if (json) {\n return JSON.stringify({ importDetails }, null, 4);\n }\n let dependenciesOutput;\n\n if (importResults.dependencies && !R.isEmpty(importResults.dependencies)) {\n const components = importResults.dependencies.map((d) => d.component);\n const peerDependencies = R.flatten(\n importResults.dependencies.map(R.prop('dependencies')),\n importResults.dependencies.map(R.prop('devDependencies'))\n );\n\n const titlePrefix =\n components.length === 1\n ? 'successfully imported one component'\n : `successfully imported ${components.length} components`;\n\n let upToDateCount = 0;\n const componentDependencies = components.map((component) => {\n const details = importDetails.find((c) => c.id === component.id.toStringWithoutVersion());\n if (!details) throw new Error(`missing details of component ${component.id.toString()}`);\n if (details.status === 'up to date') {\n upToDateCount += 1;\n }\n return formatPlainComponentItemWithVersions(component, details);\n });\n const upToDateStr = upToDateCount === 0 ? '' : `, ${upToDateCount} components are up to date`;\n const title = `${titlePrefix}${upToDateStr}`;\n const componentDependenciesOutput = [chalk.green(title), ...compact(componentDependencies)].join('\\n');\n const peerDependenciesOutput =\n peerDependencies && !R.isEmpty(peerDependencies) && displayDependencies\n ? immutableUnshift(\n R.uniq(peerDependencies.map(formatPlainComponentItem)),\n chalk.green(`\\n\\nsuccessfully imported ${components.length} component dependencies`)\n ).join('\\n')\n : '';\n\n dependenciesOutput = componentDependenciesOutput + peerDependenciesOutput;\n }\n\n const getImportOutput = () => {\n if (dependenciesOutput) return dependenciesOutput;\n return chalk.yellow(importResults.cancellationMessage || 'nothing to import');\n };\n\n return getImportOutput();\n }\n}\n\nfunction formatPlainComponentItemWithVersions(component: ConsumerComponent, importDetails: ImportDetails) {\n const status: ImportStatus = importDetails.status;\n const id = component.id.toStringWithoutVersion();\n const getVersionsOutput = () => {\n if (!importDetails.versions.length) return '';\n if (importDetails.latestVersion) {\n return `${importDetails.versions.length} new version(s) available, latest ${importDetails.latestVersion}`;\n }\n return `new versions: ${importDetails.versions.join(', ')}`;\n };\n const versions = getVersionsOutput();\n const usedVersion = status === 'added' ? `, currently used version ${component.version}` : '';\n const getConflictMessage = () => {\n if (!importDetails.filesStatus) return '';\n const conflictedFiles = Object.keys(importDetails.filesStatus)\n // @ts-ignore file is set\n .filter((file) => importDetails.filesStatus[file] === FileStatus.manual);\n if (!conflictedFiles.length) return '';\n return `(the following files were saved with conflicts ${conflictedFiles\n .map((file) => chalk.bold(file))\n .join(', ')}) `;\n };\n const conflictMessage = getConflictMessage();\n const deprecated = importDetails.deprecated ? chalk.yellow('deprecated') : '';\n const removed = importDetails.removed ? chalk.red('removed') : '';\n const missingDeps = importDetails.missingDeps.length\n ? chalk.red(`missing dependencies: ${importDetails.missingDeps.map((d) => d.toString()).join(', ')}`)\n : '';\n if (status === 'up to date' && !missingDeps && !deprecated && !conflictMessage) {\n return undefined;\n }\n return `- ${chalk.green(status)} ${chalk.cyan(\n id\n )} ${versions}${usedVersion} ${conflictMessage}${deprecated}${removed} ${missingDeps}`;\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["ImportCmd","constructor","importer","docsDomain","name","description","extendedDescription","WILDCARD_HELP","report","ids","path","objects","displayDependencies","override","verbose","json","conf","skipNpmInstall","skipDependencyInstallation","merge","saveInLane","dependencies","dependents","allHistory","GeneralError","length","console","log","chalk","yellow","mergeStrategy","R","is","String","options","Object","keys","MergeOptions","includes","join","importOptions","Boolean","writeToPath","objectsOnly","writeConfig","installNpmPackages","importDependenciesDirectly","importDependents","importResults","import","_packageManagerArgs","importDetails","JSON","stringify","dependenciesOutput","isEmpty","components","map","d","component","peerDependencies","flatten","prop","titlePrefix","upToDateCount","componentDependencies","details","find","c","id","toStringWithoutVersion","Error","toString","status","formatPlainComponentItemWithVersions","upToDateStr","title","componentDependenciesOutput","green","compact","peerDependenciesOutput","immutableUnshift","uniq","formatPlainComponentItem","getImportOutput","cancellationMessage","getVersionsOutput","versions","latestVersion","usedVersion","version","getConflictMessage","filesStatus","conflictedFiles","filter","file","FileStatus","manual","bold","conflictMessage","deprecated","removed","red","missingDeps","undefined","cyan"],"sources":["import.cmd.ts"],"sourcesContent":["import { Command, CommandOptions } from '@teambit/cli';\nimport chalk from 'chalk';\nimport { compact } from 'lodash';\nimport R from 'ramda';\nimport { WILDCARD_HELP } from '@teambit/legacy/dist/constants';\nimport {\n ImportOptions,\n ImportDetails,\n ImportStatus,\n} from '@teambit/legacy/dist/consumer/component-ops/import-components';\nimport {\n FileStatus,\n MergeOptions,\n MergeStrategy,\n} from '@teambit/legacy/dist/consumer/versions-ops/merge-version/merge-version';\nimport ConsumerComponent from '@teambit/legacy/dist/consumer/component/consumer-component';\nimport GeneralError from '@teambit/legacy/dist/error/general-error';\nimport { immutableUnshift } from '@teambit/legacy/dist/utils';\nimport { formatPlainComponentItem } from '@teambit/legacy/dist/cli/chalk-box';\nimport { ImporterMain } from './importer.main.runtime';\n\nexport default class ImportCmd implements Command {\n name = 'import [component-patterns...]';\n description = 'import components from their remote scopes to the local workspace';\n arguments = [\n {\n name: 'component-patterns...',\n description:\n 'component IDs or component patterns (separated by space). Use patterns to import groups of components using a common scope or namespace. E.g., \"utils/*\" (wrap with double quotes)',\n },\n ];\n extendedDescription: string;\n group = 'collaborate';\n alias = '';\n options = [\n ['p', 'path <path>', 'import components into a specific directory (a relative path in the workspace)'],\n [\n 'o',\n 'objects',\n 'import components objects to the local scope without checkout (without writing them to the file system). This is a default behavior for import with no id argument',\n ],\n ['d', 'display-dependencies', 'display the imported dependencies'],\n ['O', 'override', 'override local changes'],\n ['v', 'verbose', 'show verbose output for inspection'],\n ['j', 'json', 'return the output as JSON'],\n ['', 'conf', 'write the configuration file (component.json) of the component'],\n ['', 'skip-npm-install', 'DEPRECATED. use \"--skip-dependency-installation\" instead'],\n ['', 'skip-dependency-installation', 'do not install packages of the imported components'],\n [\n 'm',\n 'merge [strategy]',\n 'merge local changes with the imported version. strategy should be \"theirs\", \"ours\" or \"manual\"',\n ],\n ['', 'dependencies', 'EXPERIMENTAL. import all dependencies and write them to the workspace'],\n [\n '',\n 'dependents',\n \"EXPERIMENTAL. import the components' dependents. this enables changes to propagate from (modified) components to their dependents\",\n ],\n [\n '',\n 'save-in-lane',\n 'EXPERIMENTAL. when checked out to a lane and the component is not on the remote-lane, save it in the lane (default to save on main)',\n ],\n [\n '',\n 'all-history',\n 'relevant for fetching all components objects. avoid optimizations, fetch all history versions, always',\n ],\n ] as CommandOptions;\n loader = true;\n migration = true;\n remoteOp = true;\n _packageManagerArgs: string[]; // gets populated by yargs-adapter.handler().\n\n constructor(private importer: ImporterMain, private docsDomain: string) {\n this.extendedDescription = `https://${docsDomain}/components/importing-components\n${WILDCARD_HELP('import')}`;\n }\n\n async report(\n [ids = []]: [string[]],\n {\n path,\n objects = false,\n displayDependencies = false,\n override = false,\n verbose = false,\n json = false,\n conf,\n skipNpmInstall = false,\n skipDependencyInstallation = false,\n merge,\n saveInLane = false,\n dependencies = false,\n dependents = false,\n allHistory = false,\n }: {\n path?: string;\n objects?: boolean;\n displayDependencies?: boolean;\n override?: boolean;\n verbose?: boolean;\n json?: boolean;\n conf?: string;\n skipNpmInstall?: boolean;\n skipDependencyInstallation?: boolean;\n merge?: MergeStrategy;\n saveInLane?: boolean;\n dependencies?: boolean;\n dependents?: boolean;\n allHistory?: boolean;\n }\n ): Promise<any> {\n if (objects && merge) {\n throw new GeneralError('you cant use --objects and --merge flags combined');\n }\n if (override && merge) {\n throw new GeneralError('you cant use --override and --merge flags combined');\n }\n if (!ids.length && dependencies) {\n throw new GeneralError('you have to specify ids to use \"--dependencies\" flag');\n }\n if (!ids.length && dependents) {\n throw new GeneralError('you have to specify ids to use \"--dependents\" flag');\n }\n if (skipNpmInstall) {\n // eslint-disable-next-line no-console\n console.log(\n chalk.yellow(`\"--skip-npm-install\" has been deprecated, please use \"--skip-dependency-installation\" instead`)\n );\n skipDependencyInstallation = true;\n }\n let mergeStrategy;\n if (merge && R.is(String, merge)) {\n const options = Object.keys(MergeOptions);\n if (!options.includes(merge)) {\n throw new GeneralError(`merge must be one of the following: ${options.join(', ')}`);\n }\n mergeStrategy = merge;\n }\n\n const importOptions: ImportOptions = {\n ids,\n verbose,\n merge: Boolean(merge),\n mergeStrategy,\n writeToPath: path,\n objectsOnly: objects,\n override,\n writeConfig: Boolean(conf),\n installNpmPackages: !skipDependencyInstallation,\n saveInLane,\n importDependenciesDirectly: dependencies,\n importDependents: dependents,\n allHistory,\n };\n const importResults = await this.importer.import(importOptions, this._packageManagerArgs);\n const { importDetails } = importResults;\n\n if (json) {\n return JSON.stringify({ importDetails }, null, 4);\n }\n let dependenciesOutput;\n\n if (importResults.dependencies && !R.isEmpty(importResults.dependencies)) {\n const components = importResults.dependencies.map((d) => d.component);\n const peerDependencies = R.flatten(\n importResults.dependencies.map(R.prop('dependencies')),\n importResults.dependencies.map(R.prop('devDependencies'))\n );\n\n const titlePrefix =\n components.length === 1\n ? 'successfully imported one component'\n : `successfully imported ${components.length} components`;\n\n let upToDateCount = 0;\n const componentDependencies = components.map((component) => {\n const details = importDetails.find((c) => c.id === component.id.toStringWithoutVersion());\n if (!details) throw new Error(`missing details of component ${component.id.toString()}`);\n if (details.status === 'up to date') {\n upToDateCount += 1;\n }\n return formatPlainComponentItemWithVersions(component, details);\n });\n const upToDateStr = upToDateCount === 0 ? '' : `, ${upToDateCount} components are up to date`;\n const title = `${titlePrefix}${upToDateStr}`;\n const componentDependenciesOutput = [chalk.green(title), ...compact(componentDependencies)].join('\\n');\n const peerDependenciesOutput =\n peerDependencies && !R.isEmpty(peerDependencies) && displayDependencies\n ? immutableUnshift(\n R.uniq(peerDependencies.map(formatPlainComponentItem)),\n chalk.green(`\\n\\nsuccessfully imported ${components.length} component dependencies`)\n ).join('\\n')\n : '';\n\n dependenciesOutput = componentDependenciesOutput + peerDependenciesOutput;\n }\n\n const getImportOutput = () => {\n if (dependenciesOutput) return dependenciesOutput;\n return chalk.yellow(importResults.cancellationMessage || 'nothing to import');\n };\n\n return getImportOutput();\n }\n}\n\nfunction formatPlainComponentItemWithVersions(component: ConsumerComponent, importDetails: ImportDetails) {\n const status: ImportStatus = importDetails.status;\n const id = component.id.toStringWithoutVersion();\n const getVersionsOutput = () => {\n if (!importDetails.versions.length) return '';\n if (importDetails.latestVersion) {\n return `${importDetails.versions.length} new version(s) available, latest ${importDetails.latestVersion}`;\n }\n return `new versions: ${importDetails.versions.join(', ')}`;\n };\n const versions = getVersionsOutput();\n const usedVersion = status === 'added' ? `, currently used version ${component.version}` : '';\n const getConflictMessage = () => {\n if (!importDetails.filesStatus) return '';\n const conflictedFiles = Object.keys(importDetails.filesStatus)\n // @ts-ignore file is set\n .filter((file) => importDetails.filesStatus[file] === FileStatus.manual);\n if (!conflictedFiles.length) return '';\n return `(the following files were saved with conflicts ${conflictedFiles\n .map((file) => chalk.bold(file))\n .join(', ')}) `;\n };\n const conflictMessage = getConflictMessage();\n const deprecated = importDetails.deprecated ? chalk.yellow('deprecated') : '';\n const removed = importDetails.removed ? chalk.red('removed') : '';\n const missingDeps = importDetails.missingDeps.length\n ? chalk.red(`missing dependencies: ${importDetails.missingDeps.map((d) => d.toString()).join(', ')}`)\n : '';\n if (status === 'up to date' && !missingDeps && !deprecated && !conflictMessage) {\n return undefined;\n }\n return `- ${chalk.green(status)} ${chalk.cyan(\n id\n )} ${versions}${usedVersion} ${conflictMessage}${deprecated}${removed} ${missingDeps}`;\n}\n"],"mappings":"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"}
@@ -1,13 +1,15 @@
1
1
  import { CLIMain } from '@teambit/cli';
2
2
  import { DependencyResolverMain } from '@teambit/dependency-resolver';
3
- import { ImportOptions, ImportResult } from '@teambit/legacy/dist/consumer/component-ops/import-components';
4
3
  import { Workspace } from '@teambit/workspace';
5
4
  import type { CommunityMain } from '@teambit/community';
6
- import { Importer } from './importer';
5
+ import { ImportOptions, ImportResult } from '@teambit/legacy/dist/consumer/component-ops/import-components';
7
6
  export declare class ImporterMain {
8
- private importer;
9
- constructor(importer: Importer);
7
+ private workspace;
8
+ private depResolver;
9
+ constructor(workspace: Workspace, depResolver: DependencyResolverMain);
10
10
  import(importOptions: ImportOptions, packageManagerArgs: string[]): Promise<ImportResult>;
11
+ private removeFromWorkspaceConfig;
12
+ private getImportedPackagesNames;
11
13
  static slots: never[];
12
14
  static dependencies: import("@teambit/harmony").Aspect[];
13
15
  static runtime: import("@teambit/harmony").RuntimeDefinition;
@@ -61,30 +61,70 @@ function _community() {
61
61
  return data;
62
62
  }
63
63
 
64
- function _import() {
65
- const data = _interopRequireDefault(require("./import.cmd"));
64
+ function _ramda() {
65
+ const data = _interopRequireDefault(require("ramda"));
66
66
 
67
- _import = function () {
67
+ _ramda = function () {
68
68
  return data;
69
69
  };
70
70
 
71
71
  return data;
72
72
  }
73
73
 
74
- function _importer() {
75
- const data = require("./importer");
74
+ function _analytics() {
75
+ const data = require("@teambit/legacy/dist/analytics/analytics");
76
76
 
77
- _importer = function () {
77
+ _analytics = function () {
78
+ return data;
79
+ };
80
+
81
+ return data;
82
+ }
83
+
84
+ function _importComponents() {
85
+ const data = _interopRequireDefault(require("@teambit/legacy/dist/consumer/component-ops/import-components"));
86
+
87
+ _importComponents = function () {
88
+ return data;
89
+ };
90
+
91
+ return data;
92
+ }
93
+
94
+ function _componentIdToPackageName() {
95
+ const data = _interopRequireDefault(require("@teambit/legacy/dist/utils/bit/component-id-to-package-name"));
96
+
97
+ _componentIdToPackageName = function () {
98
+ return data;
99
+ };
100
+
101
+ return data;
102
+ }
103
+
104
+ function _exceptions() {
105
+ const data = require("@teambit/legacy/dist/consumer/exceptions");
106
+
107
+ _exceptions = function () {
78
108
  return data;
79
109
  };
80
110
 
81
111
  return data;
82
112
  }
83
113
 
84
- function _importer2() {
114
+ function _import() {
115
+ const data = _interopRequireDefault(require("./import.cmd"));
116
+
117
+ _import = function () {
118
+ return data;
119
+ };
120
+
121
+ return data;
122
+ }
123
+
124
+ function _importer() {
85
125
  const data = require("./importer.aspect");
86
126
 
87
- _importer2 = function () {
127
+ _importer = function () {
88
128
  return data;
89
129
  };
90
130
 
@@ -92,18 +132,75 @@ function _importer2() {
92
132
  }
93
133
 
94
134
  class ImporterMain {
95
- constructor(importer) {
96
- this.importer = importer;
135
+ constructor(workspace, depResolver) {
136
+ this.workspace = workspace;
137
+ this.depResolver = depResolver;
97
138
  }
98
139
 
99
140
  async import(importOptions, packageManagerArgs) {
100
- return this.importer.import(importOptions, packageManagerArgs);
141
+ if (!this.workspace) throw new (_exceptions().ConsumerNotFound)();
142
+ const consumer = this.workspace.consumer;
143
+ consumer.packageManagerArgs = packageManagerArgs;
144
+
145
+ if (!importOptions.ids.length) {
146
+ importOptions.objectsOnly = true;
147
+ }
148
+
149
+ if (this.workspace.consumer.isOnLane()) {
150
+ const currentRemoteLane = await this.workspace.getCurrentRemoteLane();
151
+
152
+ if (currentRemoteLane) {
153
+ importOptions.lanes = {
154
+ laneIds: [currentRemoteLane.toLaneId()],
155
+ lanes: [currentRemoteLane]
156
+ };
157
+ } else if (!importOptions.ids.length) {
158
+ // this is probably a local lane that was never exported.
159
+ // although no need to fetch from the lane, still, the import is needed for main (which are available on this
160
+ // local lane)
161
+ const currentLaneId = this.workspace.getCurrentLaneId();
162
+ importOptions.lanes = {
163
+ laneIds: [currentLaneId],
164
+ lanes: []
165
+ };
166
+ }
167
+ }
168
+
169
+ const importComponents = new (_importComponents().default)(consumer, importOptions);
170
+ const {
171
+ dependencies,
172
+ importDetails
173
+ } = await importComponents.importComponents();
174
+ const bitIds = dependencies.map(_ramda().default.path(['component', 'id']));
175
+
176
+ _analytics().Analytics.setExtraData('num_components', bitIds.length);
177
+
178
+ if (importOptions.ids.length) {
179
+ const importedComponents = dependencies.map(d => d.component);
180
+ await this.removeFromWorkspaceConfig(importedComponents);
181
+ }
182
+
183
+ await consumer.onDestroy();
184
+ return {
185
+ dependencies,
186
+ importDetails
187
+ };
188
+ }
189
+
190
+ async removeFromWorkspaceConfig(component) {
191
+ const importedPackageNames = this.getImportedPackagesNames(component);
192
+ this.depResolver.removeFromRootPolicy(importedPackageNames);
193
+ await this.depResolver.persistConfig(this.workspace.path);
194
+ }
195
+
196
+ getImportedPackagesNames(components) {
197
+ return components.map(component => (0, _componentIdToPackageName().default)(component));
101
198
  }
102
199
 
103
200
  static async provider([cli, workspace, depResolver, community]) {
104
- const importer = new (_importer().Importer)(workspace, depResolver);
105
- cli.register(new (_import().default)(importer, community.getDocsDomain()));
106
- return new ImporterMain(importer);
201
+ const importerMain = new ImporterMain(workspace, depResolver);
202
+ cli.register(new (_import().default)(importerMain, community.getDocsDomain()));
203
+ return importerMain;
107
204
  }
108
205
 
109
206
  }
@@ -113,6 +210,6 @@ exports.ImporterMain = ImporterMain;
113
210
  (0, _defineProperty2().default)(ImporterMain, "dependencies", [_cli().CLIAspect, _workspace().default, _dependencyResolver().DependencyResolverAspect, _community().CommunityAspect]);
114
211
  (0, _defineProperty2().default)(ImporterMain, "runtime", _cli().MainRuntime);
115
212
 
116
- _importer2().ImporterAspect.addRuntime(ImporterMain);
213
+ _importer().ImporterAspect.addRuntime(ImporterMain);
117
214
 
118
215
  //# sourceMappingURL=importer.main.runtime.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["ImporterMain","constructor","importer","import","importOptions","packageManagerArgs","provider","cli","workspace","depResolver","community","Importer","register","ImportCmd","getDocsDomain","CLIAspect","WorkspaceAspect","DependencyResolverAspect","CommunityAspect","MainRuntime","ImporterAspect","addRuntime"],"sources":["importer.main.runtime.ts"],"sourcesContent":["import { CLIAspect, CLIMain, MainRuntime } from '@teambit/cli';\nimport { DependencyResolverAspect, DependencyResolverMain } from '@teambit/dependency-resolver';\nimport { ImportOptions, ImportResult } from '@teambit/legacy/dist/consumer/component-ops/import-components';\nimport WorkspaceAspect, { Workspace } from '@teambit/workspace';\nimport { CommunityAspect } from '@teambit/community';\nimport type { CommunityMain } from '@teambit/community';\n\nimport ImportCmd from './import.cmd';\nimport { Importer } from './importer';\nimport { ImporterAspect } from './importer.aspect';\n\nexport class ImporterMain {\n constructor(private importer: Importer) {}\n\n async import(importOptions: ImportOptions, packageManagerArgs: string[]): Promise<ImportResult> {\n return this.importer.import(importOptions, packageManagerArgs);\n }\n\n static slots = [];\n static dependencies = [CLIAspect, WorkspaceAspect, DependencyResolverAspect, CommunityAspect];\n static runtime = MainRuntime;\n static async provider([cli, workspace, depResolver, community]: [\n CLIMain,\n Workspace,\n DependencyResolverMain,\n CommunityMain\n ]) {\n const importer = new Importer(workspace, depResolver);\n cli.register(new ImportCmd(importer, community.getDocsDomain()));\n return new ImporterMain(importer);\n }\n}\n\nImporterAspect.addRuntime(ImporterMain);\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AAEA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AAGA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AAEO,MAAMA,YAAN,CAAmB;EACxBC,WAAW,CAASC,QAAT,EAA6B;IAAA,KAApBA,QAAoB,GAApBA,QAAoB;EAAE;;EAE9B,MAANC,MAAM,CAACC,aAAD,EAA+BC,kBAA/B,EAAoF;IAC9F,OAAO,KAAKH,QAAL,CAAcC,MAAd,CAAqBC,aAArB,EAAoCC,kBAApC,CAAP;EACD;;EAKoB,aAARC,QAAQ,CAAC,CAACC,GAAD,EAAMC,SAAN,EAAiBC,WAAjB,EAA8BC,SAA9B,CAAD,EAKlB;IACD,MAAMR,QAAQ,GAAG,KAAIS,oBAAJ,EAAaH,SAAb,EAAwBC,WAAxB,CAAjB;IACAF,GAAG,CAACK,QAAJ,CAAa,KAAIC,iBAAJ,EAAcX,QAAd,EAAwBQ,SAAS,CAACI,aAAV,EAAxB,CAAb;IACA,OAAO,IAAId,YAAJ,CAAiBE,QAAjB,CAAP;EACD;;AAnBuB;;;gCAAbF,Y,WAOI,E;gCAPJA,Y,kBAQW,CAACe,gBAAD,EAAYC,oBAAZ,EAA6BC,8CAA7B,EAAuDC,4BAAvD,C;gCARXlB,Y,aASMmB,kB;;AAanBC,2BAAA,CAAeC,UAAf,CAA0BrB,YAA1B"}
1
+ {"version":3,"names":["ImporterMain","constructor","workspace","depResolver","import","importOptions","packageManagerArgs","ConsumerNotFound","consumer","ids","length","objectsOnly","isOnLane","currentRemoteLane","getCurrentRemoteLane","lanes","laneIds","toLaneId","currentLaneId","getCurrentLaneId","importComponents","ImportComponents","dependencies","importDetails","bitIds","map","R","path","Analytics","setExtraData","importedComponents","d","component","removeFromWorkspaceConfig","onDestroy","importedPackageNames","getImportedPackagesNames","removeFromRootPolicy","persistConfig","components","componentIdToPackageName","provider","cli","community","importerMain","register","ImportCmd","getDocsDomain","CLIAspect","WorkspaceAspect","DependencyResolverAspect","CommunityAspect","MainRuntime","ImporterAspect","addRuntime"],"sources":["importer.main.runtime.ts"],"sourcesContent":["import { CLIAspect, CLIMain, MainRuntime } from '@teambit/cli';\nimport { DependencyResolverAspect, DependencyResolverMain } from '@teambit/dependency-resolver';\nimport WorkspaceAspect, { Workspace } from '@teambit/workspace';\nimport { CommunityAspect } from '@teambit/community';\nimport type { CommunityMain } from '@teambit/community';\nimport R from 'ramda';\nimport { Analytics } from '@teambit/legacy/dist/analytics/analytics';\nimport ImportComponents, {\n ImportOptions,\n ImportResult,\n} from '@teambit/legacy/dist/consumer/component-ops/import-components';\nimport ConsumerComponent from '@teambit/legacy/dist/consumer/component';\nimport componentIdToPackageName from '@teambit/legacy/dist/utils/bit/component-id-to-package-name';\nimport { ConsumerNotFound } from '@teambit/legacy/dist/consumer/exceptions';\nimport ImportCmd from './import.cmd';\nimport { ImporterAspect } from './importer.aspect';\n\nexport class ImporterMain {\n constructor(private workspace: Workspace, private depResolver: DependencyResolverMain) {}\n\n async import(importOptions: ImportOptions, packageManagerArgs: string[]): Promise<ImportResult> {\n if (!this.workspace) throw new ConsumerNotFound();\n const consumer = this.workspace.consumer;\n consumer.packageManagerArgs = packageManagerArgs;\n if (!importOptions.ids.length) {\n importOptions.objectsOnly = true;\n }\n if (this.workspace.consumer.isOnLane()) {\n const currentRemoteLane = await this.workspace.getCurrentRemoteLane();\n if (currentRemoteLane) {\n importOptions.lanes = { laneIds: [currentRemoteLane.toLaneId()], lanes: [currentRemoteLane] };\n } else if (!importOptions.ids.length) {\n // this is probably a local lane that was never exported.\n // although no need to fetch from the lane, still, the import is needed for main (which are available on this\n // local lane)\n const currentLaneId = this.workspace.getCurrentLaneId();\n importOptions.lanes = { laneIds: [currentLaneId], lanes: [] };\n }\n }\n const importComponents = new ImportComponents(consumer, importOptions);\n const { dependencies, importDetails } = await importComponents.importComponents();\n const bitIds = dependencies.map(R.path(['component', 'id']));\n Analytics.setExtraData('num_components', bitIds.length);\n if (importOptions.ids.length) {\n const importedComponents = dependencies.map((d) => d.component);\n await this.removeFromWorkspaceConfig(importedComponents);\n }\n await consumer.onDestroy();\n return { dependencies, importDetails };\n }\n\n private async removeFromWorkspaceConfig(component: ConsumerComponent[]) {\n const importedPackageNames = this.getImportedPackagesNames(component);\n this.depResolver.removeFromRootPolicy(importedPackageNames);\n await this.depResolver.persistConfig(this.workspace.path);\n }\n\n private getImportedPackagesNames(components: ConsumerComponent[]): string[] {\n return components.map((component) => componentIdToPackageName(component));\n }\n\n static slots = [];\n static dependencies = [CLIAspect, WorkspaceAspect, DependencyResolverAspect, CommunityAspect];\n static runtime = MainRuntime;\n static async provider([cli, workspace, depResolver, community]: [\n CLIMain,\n Workspace,\n DependencyResolverMain,\n CommunityMain\n ]) {\n const importerMain = new ImporterMain(workspace, depResolver);\n cli.register(new ImportCmd(importerMain, community.getDocsDomain()));\n return importerMain;\n }\n}\n\nImporterAspect.addRuntime(ImporterMain);\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AAEA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AAKA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AAEO,MAAMA,YAAN,CAAmB;EACxBC,WAAW,CAASC,SAAT,EAAuCC,WAAvC,EAA4E;IAAA,KAAnED,SAAmE,GAAnEA,SAAmE;IAAA,KAArCC,WAAqC,GAArCA,WAAqC;EAAE;;EAE7E,MAANC,MAAM,CAACC,aAAD,EAA+BC,kBAA/B,EAAoF;IAC9F,IAAI,CAAC,KAAKJ,SAAV,EAAqB,MAAM,KAAIK,8BAAJ,GAAN;IACrB,MAAMC,QAAQ,GAAG,KAAKN,SAAL,CAAeM,QAAhC;IACAA,QAAQ,CAACF,kBAAT,GAA8BA,kBAA9B;;IACA,IAAI,CAACD,aAAa,CAACI,GAAd,CAAkBC,MAAvB,EAA+B;MAC7BL,aAAa,CAACM,WAAd,GAA4B,IAA5B;IACD;;IACD,IAAI,KAAKT,SAAL,CAAeM,QAAf,CAAwBI,QAAxB,EAAJ,EAAwC;MACtC,MAAMC,iBAAiB,GAAG,MAAM,KAAKX,SAAL,CAAeY,oBAAf,EAAhC;;MACA,IAAID,iBAAJ,EAAuB;QACrBR,aAAa,CAACU,KAAd,GAAsB;UAAEC,OAAO,EAAE,CAACH,iBAAiB,CAACI,QAAlB,EAAD,CAAX;UAA2CF,KAAK,EAAE,CAACF,iBAAD;QAAlD,CAAtB;MACD,CAFD,MAEO,IAAI,CAACR,aAAa,CAACI,GAAd,CAAkBC,MAAvB,EAA+B;QACpC;QACA;QACA;QACA,MAAMQ,aAAa,GAAG,KAAKhB,SAAL,CAAeiB,gBAAf,EAAtB;QACAd,aAAa,CAACU,KAAd,GAAsB;UAAEC,OAAO,EAAE,CAACE,aAAD,CAAX;UAA4BH,KAAK,EAAE;QAAnC,CAAtB;MACD;IACF;;IACD,MAAMK,gBAAgB,GAAG,KAAIC,2BAAJ,EAAqBb,QAArB,EAA+BH,aAA/B,CAAzB;IACA,MAAM;MAAEiB,YAAF;MAAgBC;IAAhB,IAAkC,MAAMH,gBAAgB,CAACA,gBAAjB,EAA9C;IACA,MAAMI,MAAM,GAAGF,YAAY,CAACG,GAAb,CAAiBC,gBAAA,CAAEC,IAAF,CAAO,CAAC,WAAD,EAAc,IAAd,CAAP,CAAjB,CAAf;;IACAC,sBAAA,CAAUC,YAAV,CAAuB,gBAAvB,EAAyCL,MAAM,CAACd,MAAhD;;IACA,IAAIL,aAAa,CAACI,GAAd,CAAkBC,MAAtB,EAA8B;MAC5B,MAAMoB,kBAAkB,GAAGR,YAAY,CAACG,GAAb,CAAkBM,CAAD,IAAOA,CAAC,CAACC,SAA1B,CAA3B;MACA,MAAM,KAAKC,yBAAL,CAA+BH,kBAA/B,CAAN;IACD;;IACD,MAAMtB,QAAQ,CAAC0B,SAAT,EAAN;IACA,OAAO;MAAEZ,YAAF;MAAgBC;IAAhB,CAAP;EACD;;EAEsC,MAAzBU,yBAAyB,CAACD,SAAD,EAAiC;IACtE,MAAMG,oBAAoB,GAAG,KAAKC,wBAAL,CAA8BJ,SAA9B,CAA7B;IACA,KAAK7B,WAAL,CAAiBkC,oBAAjB,CAAsCF,oBAAtC;IACA,MAAM,KAAKhC,WAAL,CAAiBmC,aAAjB,CAA+B,KAAKpC,SAAL,CAAeyB,IAA9C,CAAN;EACD;;EAEOS,wBAAwB,CAACG,UAAD,EAA4C;IAC1E,OAAOA,UAAU,CAACd,GAAX,CAAgBO,SAAD,IAAe,IAAAQ,mCAAA,EAAyBR,SAAzB,CAA9B,CAAP;EACD;;EAKoB,aAARS,QAAQ,CAAC,CAACC,GAAD,EAAMxC,SAAN,EAAiBC,WAAjB,EAA8BwC,SAA9B,CAAD,EAKlB;IACD,MAAMC,YAAY,GAAG,IAAI5C,YAAJ,CAAiBE,SAAjB,EAA4BC,WAA5B,CAArB;IACAuC,GAAG,CAACG,QAAJ,CAAa,KAAIC,iBAAJ,EAAcF,YAAd,EAA4BD,SAAS,CAACI,aAAV,EAA5B,CAAb;IACA,OAAOH,YAAP;EACD;;AAxDuB;;;gCAAb5C,Y,WA4CI,E;gCA5CJA,Y,kBA6CW,CAACgD,gBAAD,EAAYC,oBAAZ,EAA6BC,8CAA7B,EAAuDC,4BAAvD,C;gCA7CXnD,Y,aA8CMoD,kB;;AAanBC,0BAAA,CAAeC,UAAf,CAA0BtD,YAA1B"}
package/dist/index.d.ts CHANGED
@@ -1,5 +1,4 @@
1
1
  import { ImporterAspect } from './importer.aspect';
2
2
  export type { ImporterMain } from './importer.main.runtime';
3
- export { Importer } from './importer';
4
3
  export default ImporterAspect;
5
4
  export { ImporterAspect };
package/dist/index.js CHANGED
@@ -3,12 +3,6 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- Object.defineProperty(exports, "Importer", {
7
- enumerable: true,
8
- get: function () {
9
- return _importer2().Importer;
10
- }
11
- });
12
6
  Object.defineProperty(exports, "ImporterAspect", {
13
7
  enumerable: true,
14
8
  get: function () {
@@ -27,16 +21,6 @@ function _importer() {
27
21
  return data;
28
22
  }
29
23
 
30
- function _importer2() {
31
- const data = require("./importer");
32
-
33
- _importer2 = function () {
34
- return data;
35
- };
36
-
37
- return data;
38
- }
39
-
40
24
  var _default = _importer().ImporterAspect;
41
25
 
42
26
  exports.default = _default;
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"names":["ImporterAspect"],"sources":["index.ts"],"sourcesContent":["import { ImporterAspect } from './importer.aspect';\n\nexport type { ImporterMain } from './importer.main.runtime';\nexport { Importer } from './importer';\nexport default ImporterAspect;\nexport { ImporterAspect };\n"],"mappings":";;;;;;;;;;;;;;;;;;;AAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AAGA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;eACeA,0B"}
1
+ {"version":3,"names":["ImporterAspect"],"sources":["index.ts"],"sourcesContent":["import { ImporterAspect } from './importer.aspect';\n\nexport type { ImporterMain } from './importer.main.runtime';\nexport default ImporterAspect;\nexport { ImporterAspect };\n"],"mappings":";;;;;;;;;;;;;AAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;eAGeA,0B"}
package/package.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@teambit/importer",
3
- "version": "0.0.281",
3
+ "version": "0.0.282",
4
4
  "homepage": "https://bit.dev/teambit/scope/importer",
5
5
  "main": "dist/index.js",
6
6
  "componentId": {
7
7
  "scope": "teambit.scope",
8
8
  "name": "importer",
9
- "version": "0.0.281"
9
+ "version": "0.0.282"
10
10
  },
11
11
  "dependencies": {
12
12
  "chalk": "2.4.2",
@@ -17,8 +17,8 @@
17
17
  "@teambit/cli": "0.0.566",
18
18
  "@teambit/harmony": "0.3.3",
19
19
  "@teambit/community": "0.0.114",
20
- "@teambit/dependency-resolver": "0.0.852",
21
- "@teambit/workspace": "0.0.852"
20
+ "@teambit/dependency-resolver": "0.0.853",
21
+ "@teambit/workspace": "0.0.853"
22
22
  },
23
23
  "devDependencies": {
24
24
  "@types/lodash": "4.14.165",
@@ -1,5 +1,5 @@
1
- import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.scope_importer@0.0.281/dist/importer.composition.js';
2
- import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.scope_importer@0.0.281/dist/importer.docs.mdx';
1
+ import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.scope_importer@0.0.282/dist/importer.composition.js';
2
+ import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.scope_importer@0.0.282/dist/importer.docs.mdx';
3
3
 
4
4
  export const compositions = [compositions_0];
5
5
  export const overview = [overview_0];
@@ -1,11 +0,0 @@
1
- import { DependencyResolverMain } from '@teambit/dependency-resolver';
2
- import { Workspace } from '@teambit/workspace';
3
- import { ImportOptions, ImportResult } from '@teambit/legacy/dist/consumer/component-ops/import-components';
4
- export declare class Importer {
5
- private workspace;
6
- private depResolver;
7
- constructor(workspace: Workspace, depResolver: DependencyResolverMain);
8
- import(importOptions: ImportOptions, packageManagerArgs: string[]): Promise<ImportResult>;
9
- private removeFromWorkspaceConfig;
10
- private getImportedPackagesNames;
11
- }
package/dist/importer.js DELETED
@@ -1,132 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- require("core-js/modules/es.promise.js");
6
-
7
- Object.defineProperty(exports, "__esModule", {
8
- value: true
9
- });
10
- exports.Importer = void 0;
11
-
12
- function _ramda() {
13
- const data = _interopRequireDefault(require("ramda"));
14
-
15
- _ramda = function () {
16
- return data;
17
- };
18
-
19
- return data;
20
- }
21
-
22
- function _analytics() {
23
- const data = require("@teambit/legacy/dist/analytics/analytics");
24
-
25
- _analytics = function () {
26
- return data;
27
- };
28
-
29
- return data;
30
- }
31
-
32
- function _importComponents() {
33
- const data = _interopRequireDefault(require("@teambit/legacy/dist/consumer/component-ops/import-components"));
34
-
35
- _importComponents = function () {
36
- return data;
37
- };
38
-
39
- return data;
40
- }
41
-
42
- function _componentIdToPackageName() {
43
- const data = _interopRequireDefault(require("@teambit/legacy/dist/utils/bit/component-id-to-package-name"));
44
-
45
- _componentIdToPackageName = function () {
46
- return data;
47
- };
48
-
49
- return data;
50
- }
51
-
52
- function _exceptions() {
53
- const data = require("@teambit/legacy/dist/consumer/exceptions");
54
-
55
- _exceptions = function () {
56
- return data;
57
- };
58
-
59
- return data;
60
- }
61
-
62
- class Importer {
63
- constructor(workspace, depResolver) {
64
- this.workspace = workspace;
65
- this.depResolver = depResolver;
66
- }
67
-
68
- async import(importOptions, packageManagerArgs) {
69
- if (!this.workspace) throw new (_exceptions().ConsumerNotFound)();
70
- const consumer = this.workspace.consumer;
71
- consumer.packageManagerArgs = packageManagerArgs;
72
-
73
- if (!importOptions.ids.length) {
74
- importOptions.objectsOnly = true;
75
- }
76
-
77
- if (this.workspace.consumer.isOnLane()) {
78
- const currentRemoteLane = await this.workspace.getCurrentRemoteLane();
79
-
80
- if (currentRemoteLane) {
81
- importOptions.lanes = {
82
- laneIds: [currentRemoteLane.toLaneId()],
83
- lanes: [currentRemoteLane]
84
- };
85
- } else if (!importOptions.ids.length) {
86
- // this is probably a local lane that was never exported.
87
- // although no need to fetch from the lane, still, the import is needed for main (which are available on this
88
- // local lane)
89
- const currentLaneId = this.workspace.getCurrentLaneId();
90
- importOptions.lanes = {
91
- laneIds: [currentLaneId],
92
- lanes: []
93
- };
94
- }
95
- }
96
-
97
- const importComponents = new (_importComponents().default)(consumer, importOptions);
98
- const {
99
- dependencies,
100
- importDetails
101
- } = await importComponents.importComponents();
102
- const bitIds = dependencies.map(_ramda().default.path(['component', 'id']));
103
-
104
- _analytics().Analytics.setExtraData('num_components', bitIds.length);
105
-
106
- if (importOptions.ids.length) {
107
- const importedComponents = dependencies.map(d => d.component);
108
- await this.removeFromWorkspaceConfig(importedComponents);
109
- }
110
-
111
- await consumer.onDestroy();
112
- return {
113
- dependencies,
114
- importDetails
115
- };
116
- }
117
-
118
- async removeFromWorkspaceConfig(component) {
119
- const importedPackageNames = this.getImportedPackagesNames(component);
120
- this.depResolver.removeFromRootPolicy(importedPackageNames);
121
- await this.depResolver.persistConfig(this.workspace.path);
122
- }
123
-
124
- getImportedPackagesNames(components) {
125
- return components.map(component => (0, _componentIdToPackageName().default)(component));
126
- }
127
-
128
- }
129
-
130
- exports.Importer = Importer;
131
-
132
- //# sourceMappingURL=importer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["Importer","constructor","workspace","depResolver","import","importOptions","packageManagerArgs","ConsumerNotFound","consumer","ids","length","objectsOnly","isOnLane","currentRemoteLane","getCurrentRemoteLane","lanes","laneIds","toLaneId","currentLaneId","getCurrentLaneId","importComponents","ImportComponents","dependencies","importDetails","bitIds","map","R","path","Analytics","setExtraData","importedComponents","d","component","removeFromWorkspaceConfig","onDestroy","importedPackageNames","getImportedPackagesNames","removeFromRootPolicy","persistConfig","components","componentIdToPackageName"],"sources":["importer.ts"],"sourcesContent":["import { DependencyResolverMain } from '@teambit/dependency-resolver';\nimport { Workspace } from '@teambit/workspace';\nimport R from 'ramda';\nimport { Analytics } from '@teambit/legacy/dist/analytics/analytics';\nimport ImportComponents, {\n ImportOptions,\n ImportResult,\n} from '@teambit/legacy/dist/consumer/component-ops/import-components';\nimport ConsumerComponent from '@teambit/legacy/dist/consumer/component';\nimport componentIdToPackageName from '@teambit/legacy/dist/utils/bit/component-id-to-package-name';\nimport { ConsumerNotFound } from '@teambit/legacy/dist/consumer/exceptions';\n\nexport class Importer {\n constructor(private workspace: Workspace, private depResolver: DependencyResolverMain) {}\n\n async import(importOptions: ImportOptions, packageManagerArgs: string[]): Promise<ImportResult> {\n if (!this.workspace) throw new ConsumerNotFound();\n const consumer = this.workspace.consumer;\n consumer.packageManagerArgs = packageManagerArgs;\n if (!importOptions.ids.length) {\n importOptions.objectsOnly = true;\n }\n if (this.workspace.consumer.isOnLane()) {\n const currentRemoteLane = await this.workspace.getCurrentRemoteLane();\n if (currentRemoteLane) {\n importOptions.lanes = { laneIds: [currentRemoteLane.toLaneId()], lanes: [currentRemoteLane] };\n } else if (!importOptions.ids.length) {\n // this is probably a local lane that was never exported.\n // although no need to fetch from the lane, still, the import is needed for main (which are available on this\n // local lane)\n const currentLaneId = this.workspace.getCurrentLaneId();\n importOptions.lanes = { laneIds: [currentLaneId], lanes: [] };\n }\n }\n const importComponents = new ImportComponents(consumer, importOptions);\n const { dependencies, importDetails } = await importComponents.importComponents();\n const bitIds = dependencies.map(R.path(['component', 'id']));\n Analytics.setExtraData('num_components', bitIds.length);\n if (importOptions.ids.length) {\n const importedComponents = dependencies.map((d) => d.component);\n await this.removeFromWorkspaceConfig(importedComponents);\n }\n await consumer.onDestroy();\n return { dependencies, importDetails };\n }\n\n private async removeFromWorkspaceConfig(component: ConsumerComponent[]) {\n const importedPackageNames = this.getImportedPackagesNames(component);\n this.depResolver.removeFromRootPolicy(importedPackageNames);\n await this.depResolver.persistConfig(this.workspace.path);\n }\n\n private getImportedPackagesNames(components: ConsumerComponent[]): string[] {\n return components.map((component) => componentIdToPackageName(component));\n }\n}\n"],"mappings":";;;;;;;;;;;AAEA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AAKA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AAEO,MAAMA,QAAN,CAAe;EACpBC,WAAW,CAASC,SAAT,EAAuCC,WAAvC,EAA4E;IAAA,KAAnED,SAAmE,GAAnEA,SAAmE;IAAA,KAArCC,WAAqC,GAArCA,WAAqC;EAAE;;EAE7E,MAANC,MAAM,CAACC,aAAD,EAA+BC,kBAA/B,EAAoF;IAC9F,IAAI,CAAC,KAAKJ,SAAV,EAAqB,MAAM,KAAIK,8BAAJ,GAAN;IACrB,MAAMC,QAAQ,GAAG,KAAKN,SAAL,CAAeM,QAAhC;IACAA,QAAQ,CAACF,kBAAT,GAA8BA,kBAA9B;;IACA,IAAI,CAACD,aAAa,CAACI,GAAd,CAAkBC,MAAvB,EAA+B;MAC7BL,aAAa,CAACM,WAAd,GAA4B,IAA5B;IACD;;IACD,IAAI,KAAKT,SAAL,CAAeM,QAAf,CAAwBI,QAAxB,EAAJ,EAAwC;MACtC,MAAMC,iBAAiB,GAAG,MAAM,KAAKX,SAAL,CAAeY,oBAAf,EAAhC;;MACA,IAAID,iBAAJ,EAAuB;QACrBR,aAAa,CAACU,KAAd,GAAsB;UAAEC,OAAO,EAAE,CAACH,iBAAiB,CAACI,QAAlB,EAAD,CAAX;UAA2CF,KAAK,EAAE,CAACF,iBAAD;QAAlD,CAAtB;MACD,CAFD,MAEO,IAAI,CAACR,aAAa,CAACI,GAAd,CAAkBC,MAAvB,EAA+B;QACpC;QACA;QACA;QACA,MAAMQ,aAAa,GAAG,KAAKhB,SAAL,CAAeiB,gBAAf,EAAtB;QACAd,aAAa,CAACU,KAAd,GAAsB;UAAEC,OAAO,EAAE,CAACE,aAAD,CAAX;UAA4BH,KAAK,EAAE;QAAnC,CAAtB;MACD;IACF;;IACD,MAAMK,gBAAgB,GAAG,KAAIC,2BAAJ,EAAqBb,QAArB,EAA+BH,aAA/B,CAAzB;IACA,MAAM;MAAEiB,YAAF;MAAgBC;IAAhB,IAAkC,MAAMH,gBAAgB,CAACA,gBAAjB,EAA9C;IACA,MAAMI,MAAM,GAAGF,YAAY,CAACG,GAAb,CAAiBC,gBAAA,CAAEC,IAAF,CAAO,CAAC,WAAD,EAAc,IAAd,CAAP,CAAjB,CAAf;;IACAC,sBAAA,CAAUC,YAAV,CAAuB,gBAAvB,EAAyCL,MAAM,CAACd,MAAhD;;IACA,IAAIL,aAAa,CAACI,GAAd,CAAkBC,MAAtB,EAA8B;MAC5B,MAAMoB,kBAAkB,GAAGR,YAAY,CAACG,GAAb,CAAkBM,CAAD,IAAOA,CAAC,CAACC,SAA1B,CAA3B;MACA,MAAM,KAAKC,yBAAL,CAA+BH,kBAA/B,CAAN;IACD;;IACD,MAAMtB,QAAQ,CAAC0B,SAAT,EAAN;IACA,OAAO;MAAEZ,YAAF;MAAgBC;IAAhB,CAAP;EACD;;EAEsC,MAAzBU,yBAAyB,CAACD,SAAD,EAAiC;IACtE,MAAMG,oBAAoB,GAAG,KAAKC,wBAAL,CAA8BJ,SAA9B,CAA7B;IACA,KAAK7B,WAAL,CAAiBkC,oBAAjB,CAAsCF,oBAAtC;IACA,MAAM,KAAKhC,WAAL,CAAiBmC,aAAjB,CAA+B,KAAKpC,SAAL,CAAeyB,IAA9C,CAAN;EACD;;EAEOS,wBAAwB,CAACG,UAAD,EAA4C;IAC1E,OAAOA,UAAU,CAACd,GAAX,CAAgBO,SAAD,IAAe,IAAAQ,mCAAA,EAAyBR,SAAzB,CAA9B,CAAP;EACD;;AA1CmB"}