@teambit/importer 0.0.107 → 0.0.110

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.
@@ -3,6 +3,7 @@ import { MergeStrategy } from '@teambit/legacy/dist/consumer/versions-ops/merge-
3
3
  import { Importer } from './importer';
4
4
  export default class ImportCmd implements Command {
5
5
  private importer;
6
+ private docsDomain;
6
7
  name: string;
7
8
  shortDescription: string;
8
9
  group: string;
@@ -13,7 +14,7 @@ export default class ImportCmd implements Command {
13
14
  migration: boolean;
14
15
  remoteOp: boolean;
15
16
  _packageManagerArgs: string[];
16
- constructor(importer: Importer);
17
+ constructor(importer: Importer, docsDomain: string);
17
18
  report([ids]: [string[]], { path, objects, displayDependencies, override, verbose, json, conf, skipNpmInstall, skipDependencyInstallation, merge, skipLane, dependencies, dependents, allHistory, }: {
18
19
  path?: string;
19
20
  objects?: boolean;
@@ -2,6 +2,8 @@
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
4
 
5
+ require("core-js/modules/es.symbol.description.js");
6
+
5
7
  require("core-js/modules/es.array.iterator.js");
6
8
 
7
9
  require("core-js/modules/es.promise.js");
@@ -103,20 +105,22 @@ function _chalkBox() {
103
105
 
104
106
  class ImportCmd {
105
107
  // gets populated by yargs-adapter.handler().
106
- constructor(importer) {
108
+ constructor(importer, docsDomain) {
107
109
  this.importer = importer;
110
+ this.docsDomain = docsDomain;
108
111
  (0, _defineProperty2().default)(this, "name", 'import [ids...]');
109
112
  (0, _defineProperty2().default)(this, "shortDescription", 'import components into your current working area');
110
113
  (0, _defineProperty2().default)(this, "group", 'collaborate');
111
- (0, _defineProperty2().default)(this, "description", `import components into your current workspace.
112
- https://${_constants().BASE_DOCS_DOMAIN}/docs/sourcing-components
113
- ${(0, _constants().WILDCARD_HELP)('import')}`);
114
+ (0, _defineProperty2().default)(this, "description", void 0);
114
115
  (0, _defineProperty2().default)(this, "alias", '');
115
116
  (0, _defineProperty2().default)(this, "options", [['p', 'path <path>', 'import components into a specific directory'], ['o', 'objects', "import components objects only, don't write the components to the file system. This is a default behavior for import with no id"], ['d', 'display-dependencies', 'display the imported dependencies'], ['O', 'override', 'override local changes'], ['v', 'verbose', 'showing verbose output for inspection'], ['j', 'json', 'return the output as JSON'], ['', 'conf', 'write the configuration file (component.json) of the component (harmony components only)'], ['', 'skip-npm-install', 'DEPRECATED. use "--skip-dependency-installation" instead'], ['', 'skip-dependency-installation', 'do not install packages of the imported components'], ['m', 'merge [strategy]', 'merge local changes with the imported version. strategy should be "theirs", "ours" or "manual"'], ['', 'dependencies', 'EXPERIMENTAL. import all dependencies and write them to the workspace'], ['', 'dependents', 'EXPERIMENTAL. import component dependents to allow auto-tag updating them upon tag'], ['', 'skip-lane', 'EXPERIMENTAL. when checked out to a lane, do not import the component into the lane, save it on main'], ['', 'all-history', 'relevant for fetching all components objects. avoid optimizations, fetch all history versions, always']]);
116
117
  (0, _defineProperty2().default)(this, "loader", true);
117
118
  (0, _defineProperty2().default)(this, "migration", true);
118
119
  (0, _defineProperty2().default)(this, "remoteOp", true);
119
120
  (0, _defineProperty2().default)(this, "_packageManagerArgs", void 0);
121
+ this.description = `import components into your current workspace.
122
+ https://${docsDomain}/components/importing-components
123
+ ${(0, _constants().WILDCARD_HELP)('import')}`;
120
124
  }
121
125
 
122
126
  async report([ids = []], {
@@ -1 +1 @@
1
- {"version":3,"sources":["import.cmd.ts"],"names":["ImportCmd","constructor","importer","BASE_DOCS_DOMAIN","report","ids","path","objects","displayDependencies","override","verbose","json","conf","skipNpmInstall","skipDependencyInstallation","merge","skipLane","dependencies","dependents","allHistory","GeneralError","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","length","upToDateCount","componentDependencies","details","find","c","id","toStringWithoutVersion","Error","toString","status","formatPlainComponentItemWithVersions","upToDateStr","title","componentDependenciesOutput","green","peerDependenciesOutput","uniq","formatPlainComponentItem","getImportOutput","getVersionsOutput","versions","latestVersion","usedVersion","version","getConflictMessage","filesStatus","conflictedFiles","filter","file","FileStatus","manual","bold","conflictMessage","deprecated","missingDeps","red","undefined","cyan"],"mappings":"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","sourcesContent":["import { Command, CommandOptions } from '@teambit/cli';\nimport chalk from 'chalk';\nimport { compact } from 'lodash';\nimport R from 'ramda';\nimport { BASE_DOCS_DOMAIN, 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 { MergeOptions, MergeStrategy } 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 [ids...]';\n shortDescription = 'import components into your current working area';\n group = 'collaborate';\n description = `import components into your current workspace.\n https://${BASE_DOCS_DOMAIN}/docs/sourcing-components\n ${WILDCARD_HELP('import')}`;\n alias = '';\n options = [\n ['p', 'path <path>', 'import components into a specific directory'],\n [\n 'o',\n 'objects',\n \"import components objects only, don't write the components to the file system. This is a default behavior for import with no id\",\n ],\n ['d', 'display-dependencies', 'display the imported dependencies'],\n ['O', 'override', 'override local changes'],\n ['v', 'verbose', 'showing verbose output for inspection'],\n ['j', 'json', 'return the output as JSON'],\n ['', 'conf', 'write the configuration file (component.json) of the component (harmony components only)'],\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 ['', 'dependents', 'EXPERIMENTAL. import component dependents to allow auto-tag updating them upon tag'],\n [\n '',\n 'skip-lane',\n 'EXPERIMENTAL. when checked out to a lane, do not import the component into the lane, save it 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) {}\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 skipLane = 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 skipLane?: 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 (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 skipLane,\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('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) // $FlowFixMe file is set\n // @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!\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 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} ${missingDeps}`;\n}\n"]}
1
+ {"version":3,"sources":["import.cmd.ts"],"names":["ImportCmd","constructor","importer","docsDomain","description","report","ids","path","objects","displayDependencies","override","verbose","json","conf","skipNpmInstall","skipDependencyInstallation","merge","skipLane","dependencies","dependents","allHistory","GeneralError","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","length","upToDateCount","componentDependencies","details","find","c","id","toStringWithoutVersion","Error","toString","status","formatPlainComponentItemWithVersions","upToDateStr","title","componentDependenciesOutput","green","peerDependenciesOutput","uniq","formatPlainComponentItem","getImportOutput","getVersionsOutput","versions","latestVersion","usedVersion","version","getConflictMessage","filesStatus","conflictedFiles","filter","file","FileStatus","manual","bold","conflictMessage","deprecated","missingDeps","red","undefined","cyan"],"mappings":"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","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 { MergeOptions, MergeStrategy } 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 [ids...]';\n shortDescription = 'import components into your current working area';\n group = 'collaborate';\n description: string;\n alias = '';\n options = [\n ['p', 'path <path>', 'import components into a specific directory'],\n [\n 'o',\n 'objects',\n \"import components objects only, don't write the components to the file system. This is a default behavior for import with no id\",\n ],\n ['d', 'display-dependencies', 'display the imported dependencies'],\n ['O', 'override', 'override local changes'],\n ['v', 'verbose', 'showing verbose output for inspection'],\n ['j', 'json', 'return the output as JSON'],\n ['', 'conf', 'write the configuration file (component.json) of the component (harmony components only)'],\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 ['', 'dependents', 'EXPERIMENTAL. import component dependents to allow auto-tag updating them upon tag'],\n [\n '',\n 'skip-lane',\n 'EXPERIMENTAL. when checked out to a lane, do not import the component into the lane, save it 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.description = `import components into your current workspace.\nhttps://${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 skipLane = 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 skipLane?: 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 (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 skipLane,\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('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) // $FlowFixMe file is set\n // @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!\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 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} ${missingDeps}`;\n}\n"]}
@@ -1,9 +1,15 @@
1
1
  import { CLIMain } from '@teambit/cli';
2
2
  import { DependencyResolverMain } from '@teambit/dependency-resolver';
3
3
  import { Workspace } from '@teambit/workspace';
4
+ import type { CommunityMain } from '@teambit/community';
4
5
  export declare class ImporterMain {
5
6
  static slots: never[];
6
7
  static dependencies: import("@teambit/harmony").Aspect[];
7
8
  static runtime: import("@teambit/harmony").RuntimeDefinition;
8
- static provider([cli, workspace, depResolver]: [CLIMain, Workspace, DependencyResolverMain]): Promise<ImporterMain>;
9
+ static provider([cli, workspace, depResolver, community]: [
10
+ CLIMain,
11
+ Workspace,
12
+ DependencyResolverMain,
13
+ CommunityMain
14
+ ]): Promise<ImporterMain>;
9
15
  }
@@ -51,6 +51,16 @@ function _workspace() {
51
51
  return data;
52
52
  }
53
53
 
54
+ function _community() {
55
+ const data = require("@teambit/community");
56
+
57
+ _community = function () {
58
+ return data;
59
+ };
60
+
61
+ return data;
62
+ }
63
+
54
64
  function _import() {
55
65
  const data = _interopRequireDefault(require("./import.cmd"));
56
66
 
@@ -82,11 +92,11 @@ function _importer2() {
82
92
  }
83
93
 
84
94
  class ImporterMain {
85
- static async provider([cli, workspace, depResolver]) {
95
+ static async provider([cli, workspace, depResolver, community]) {
86
96
  if (workspace && !workspace.consumer.isLegacy) {
87
97
  cli.unregister('import');
88
98
  const importer = new (_importer().Importer)(workspace, depResolver);
89
- cli.register(new (_import().default)(importer));
99
+ cli.register(new (_import().default)(importer, community.getDocsDomain()));
90
100
  }
91
101
 
92
102
  return new ImporterMain();
@@ -96,7 +106,7 @@ class ImporterMain {
96
106
 
97
107
  exports.ImporterMain = ImporterMain;
98
108
  (0, _defineProperty2().default)(ImporterMain, "slots", []);
99
- (0, _defineProperty2().default)(ImporterMain, "dependencies", [_cli().CLIAspect, _workspace().default, _dependencyResolver().DependencyResolverAspect]);
109
+ (0, _defineProperty2().default)(ImporterMain, "dependencies", [_cli().CLIAspect, _workspace().default, _dependencyResolver().DependencyResolverAspect, _community().CommunityAspect]);
100
110
  (0, _defineProperty2().default)(ImporterMain, "runtime", _cli().MainRuntime);
101
111
 
102
112
  _importer2().ImporterAspect.addRuntime(ImporterMain);
@@ -1 +1 @@
1
- {"version":3,"sources":["importer.main.runtime.ts"],"names":["ImporterMain","provider","cli","workspace","depResolver","consumer","isLegacy","unregister","importer","Importer","register","ImportCmd","CLIAspect","WorkspaceAspect","DependencyResolverAspect","MainRuntime","ImporterAspect","addRuntime"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAEO,MAAMA,YAAN,CAAmB;AAIH,eAARC,QAAQ,CAAC,CAACC,GAAD,EAAMC,SAAN,EAAiBC,WAAjB,CAAD,EAA8E;AACjG,QAAID,SAAS,IAAI,CAACA,SAAS,CAACE,QAAV,CAAmBC,QAArC,EAA+C;AAC7CJ,MAAAA,GAAG,CAACK,UAAJ,CAAe,QAAf;AACA,YAAMC,QAAQ,GAAG,KAAIC,oBAAJ,EAAaN,SAAb,EAAwBC,WAAxB,CAAjB;AACAF,MAAAA,GAAG,CAACQ,QAAJ,CAAa,KAAIC,iBAAJ,EAAcH,QAAd,CAAb;AACD;;AACD,WAAO,IAAIR,YAAJ,EAAP;AACD;;AAXuB;;;gCAAbA,Y,WACI,E;gCADJA,Y,kBAEW,CAACY,gBAAD,EAAYC,oBAAZ,EAA6BC,8CAA7B,C;gCAFXd,Y,aAGMe,kB;;AAWnBC,4BAAeC,UAAf,CAA0BjB,YAA1B","sourcesContent":["import { CLIAspect, CLIMain, MainRuntime } from '@teambit/cli';\nimport { DependencyResolverAspect, DependencyResolverMain } from '@teambit/dependency-resolver';\nimport WorkspaceAspect, { Workspace } from '@teambit/workspace';\nimport ImportCmd from './import.cmd';\nimport { Importer } from './importer';\nimport { ImporterAspect } from './importer.aspect';\n\nexport class ImporterMain {\n static slots = [];\n static dependencies = [CLIAspect, WorkspaceAspect, DependencyResolverAspect];\n static runtime = MainRuntime;\n static async provider([cli, workspace, depResolver]: [CLIMain, Workspace, DependencyResolverMain]) {\n if (workspace && !workspace.consumer.isLegacy) {\n cli.unregister('import');\n const importer = new Importer(workspace, depResolver);\n cli.register(new ImportCmd(importer));\n }\n return new ImporterMain();\n }\n}\n\nImporterAspect.addRuntime(ImporterMain);\n"]}
1
+ {"version":3,"sources":["importer.main.runtime.ts"],"names":["ImporterMain","provider","cli","workspace","depResolver","community","consumer","isLegacy","unregister","importer","Importer","register","ImportCmd","getDocsDomain","CLIAspect","WorkspaceAspect","DependencyResolverAspect","CommunityAspect","MainRuntime","ImporterAspect","addRuntime"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAGA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAEO,MAAMA,YAAN,CAAmB;AAIH,eAARC,QAAQ,CAAC,CAACC,GAAD,EAAMC,SAAN,EAAiBC,WAAjB,EAA8BC,SAA9B,CAAD,EAKlB;AACD,QAAIF,SAAS,IAAI,CAACA,SAAS,CAACG,QAAV,CAAmBC,QAArC,EAA+C;AAC7CL,MAAAA,GAAG,CAACM,UAAJ,CAAe,QAAf;AACA,YAAMC,QAAQ,GAAG,KAAIC,oBAAJ,EAAaP,SAAb,EAAwBC,WAAxB,CAAjB;AACAF,MAAAA,GAAG,CAACS,QAAJ,CAAa,KAAIC,iBAAJ,EAAcH,QAAd,EAAwBJ,SAAS,CAACQ,aAAV,EAAxB,CAAb;AACD;;AACD,WAAO,IAAIb,YAAJ,EAAP;AACD;;AAhBuB;;;gCAAbA,Y,WACI,E;gCADJA,Y,kBAEW,CAACc,gBAAD,EAAYC,oBAAZ,EAA6BC,8CAA7B,EAAuDC,4BAAvD,C;gCAFXjB,Y,aAGMkB,kB;;AAgBnBC,4BAAeC,UAAf,CAA0BpB,YAA1B","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';\n\nimport ImportCmd from './import.cmd';\nimport { Importer } from './importer';\nimport { ImporterAspect } from './importer.aspect';\n\nexport class ImporterMain {\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 if (workspace && !workspace.consumer.isLegacy) {\n cli.unregister('import');\n const importer = new Importer(workspace, depResolver);\n cli.register(new ImportCmd(importer, community.getDocsDomain()));\n }\n return new ImporterMain();\n }\n}\n\nImporterAspect.addRuntime(ImporterMain);\n"]}
package/package.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@teambit/importer",
3
- "version": "0.0.107",
3
+ "version": "0.0.110",
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.107"
9
+ "version": "0.0.110"
10
10
  },
11
11
  "dependencies": {
12
12
  "chalk": "2.4.2",
@@ -15,9 +15,10 @@
15
15
  "@teambit/harmony": "0.2.11",
16
16
  "@babel/runtime": "7.12.18",
17
17
  "core-js": "^3.0.0",
18
- "@teambit/cli": "0.0.453",
19
- "@teambit/dependency-resolver": "0.0.678",
20
- "@teambit/workspace": "0.0.678"
18
+ "@teambit/cli": "0.0.456",
19
+ "@teambit/community": "0.0.4",
20
+ "@teambit/dependency-resolver": "0.0.681",
21
+ "@teambit/workspace": "0.0.681"
21
22
  },
22
23
  "devDependencies": {
23
24
  "@types/lodash": "4.14.165",
@@ -29,7 +30,7 @@
29
30
  "@types/node": "12.20.4"
30
31
  },
31
32
  "peerDependencies": {
32
- "@teambit/legacy": "1.0.232",
33
+ "@teambit/legacy": "1.0.235",
33
34
  "react-dom": "^16.8.0 || ^17.0.0",
34
35
  "react": "^16.8.0 || ^17.0.0"
35
36
  },
@@ -57,7 +58,7 @@
57
58
  "react": "-"
58
59
  },
59
60
  "peerDependencies": {
60
- "@teambit/legacy": "1.0.232",
61
+ "@teambit/legacy": "1.0.235",
61
62
  "react-dom": "^16.8.0 || ^17.0.0",
62
63
  "react": "^16.8.0 || ^17.0.0"
63
64
  }