@teambit/importer 0.0.69 → 0.0.73
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/{__preview-1643858579620.js → __preview-1644290603845.js} +0 -0
- package/dist/import.cmd.d.ts +2 -1
- package/dist/import.cmd.js +68 -9
- package/dist/import.cmd.js.map +1 -1
- package/package-tar/teambit-importer-0.0.73.tgz +0 -0
- package/package.json +9 -7
- package/package-tar/teambit-importer-0.0.69.tgz +0 -0
|
File without changes
|
package/dist/import.cmd.d.ts
CHANGED
|
@@ -14,7 +14,7 @@ export default class ImportCmd implements Command {
|
|
|
14
14
|
remoteOp: boolean;
|
|
15
15
|
_packageManagerArgs: string[];
|
|
16
16
|
constructor(importer: Importer);
|
|
17
|
-
report([ids]: [string[]], { path, objects, displayDependencies, override, verbose, json, conf, skipNpmInstall, merge, skipLane, dependencies, dependents, allHistory, }: {
|
|
17
|
+
report([ids]: [string[]], { path, objects, displayDependencies, override, verbose, json, conf, skipNpmInstall, skipDependencyInstallation, merge, skipLane, dependencies, dependents, allHistory, }: {
|
|
18
18
|
path?: string;
|
|
19
19
|
objects?: boolean;
|
|
20
20
|
displayDependencies?: boolean;
|
|
@@ -23,6 +23,7 @@ export default class ImportCmd implements Command {
|
|
|
23
23
|
json?: boolean;
|
|
24
24
|
conf?: string;
|
|
25
25
|
skipNpmInstall?: boolean;
|
|
26
|
+
skipDependencyInstallation?: boolean;
|
|
26
27
|
merge?: MergeStrategy;
|
|
27
28
|
skipLane?: boolean;
|
|
28
29
|
dependencies?: boolean;
|
package/dist/import.cmd.js
CHANGED
|
@@ -31,6 +31,16 @@ function _chalk() {
|
|
|
31
31
|
return data;
|
|
32
32
|
}
|
|
33
33
|
|
|
34
|
+
function _lodash() {
|
|
35
|
+
const data = require("lodash");
|
|
36
|
+
|
|
37
|
+
_lodash = function () {
|
|
38
|
+
return data;
|
|
39
|
+
};
|
|
40
|
+
|
|
41
|
+
return data;
|
|
42
|
+
}
|
|
43
|
+
|
|
34
44
|
function _ramda() {
|
|
35
45
|
const data = _interopRequireDefault(require("ramda"));
|
|
36
46
|
|
|
@@ -102,7 +112,7 @@ class ImportCmd {
|
|
|
102
112
|
https://${_constants().BASE_DOCS_DOMAIN}/docs/sourcing-components
|
|
103
113
|
${(0, _constants().WILDCARD_HELP)('import')}`);
|
|
104
114
|
(0, _defineProperty2().default)(this, "alias", '');
|
|
105
|
-
(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', 'do not install packages of the imported components
|
|
115
|
+
(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']]);
|
|
106
116
|
(0, _defineProperty2().default)(this, "loader", true);
|
|
107
117
|
(0, _defineProperty2().default)(this, "migration", true);
|
|
108
118
|
(0, _defineProperty2().default)(this, "remoteOp", true);
|
|
@@ -118,6 +128,7 @@ class ImportCmd {
|
|
|
118
128
|
json = false,
|
|
119
129
|
conf,
|
|
120
130
|
skipNpmInstall = false,
|
|
131
|
+
skipDependencyInstallation = false,
|
|
121
132
|
merge,
|
|
122
133
|
skipLane = false,
|
|
123
134
|
dependencies = false,
|
|
@@ -132,6 +143,12 @@ class ImportCmd {
|
|
|
132
143
|
throw new (_generalError().default)('you cant use --override and --merge flags combined');
|
|
133
144
|
}
|
|
134
145
|
|
|
146
|
+
if (skipNpmInstall) {
|
|
147
|
+
// eslint-disable-next-line no-console
|
|
148
|
+
console.log(_chalk().default.yellow(`"--skip-npm-install" has been deprecated, please use "--skip-dependency-installation" instead`));
|
|
149
|
+
skipDependencyInstallation = true;
|
|
150
|
+
}
|
|
151
|
+
|
|
135
152
|
let mergeStrategy;
|
|
136
153
|
|
|
137
154
|
if (merge && _ramda().default.is(String, merge)) {
|
|
@@ -153,7 +170,7 @@ class ImportCmd {
|
|
|
153
170
|
objectsOnly: objects,
|
|
154
171
|
override,
|
|
155
172
|
writeConfig: Boolean(conf),
|
|
156
|
-
installNpmPackages: !
|
|
173
|
+
installNpmPackages: !skipDependencyInstallation,
|
|
157
174
|
skipLane,
|
|
158
175
|
importDependenciesDirectly: dependencies,
|
|
159
176
|
importDependents: dependents,
|
|
@@ -173,20 +190,25 @@ class ImportCmd {
|
|
|
173
190
|
let dependenciesOutput;
|
|
174
191
|
|
|
175
192
|
if (importResults.dependencies && !_ramda().default.isEmpty(importResults.dependencies)) {
|
|
176
|
-
const components = importResults.dependencies.map(
|
|
193
|
+
const components = importResults.dependencies.map(d => d.component);
|
|
177
194
|
|
|
178
195
|
const peerDependencies = _ramda().default.flatten(importResults.dependencies.map(_ramda().default.prop('dependencies')), importResults.dependencies.map(_ramda().default.prop('devDependencies')));
|
|
179
196
|
|
|
180
|
-
const
|
|
197
|
+
const titlePrefix = components.length === 1 ? 'successfully imported one component' : `successfully imported ${components.length} components`;
|
|
198
|
+
let upToDateCount = 0;
|
|
181
199
|
const componentDependencies = components.map(component => {
|
|
182
|
-
|
|
183
|
-
|
|
200
|
+
const details = importDetails.find(c => c.id === component.id.toStringWithoutVersion());
|
|
201
|
+
if (!details) throw new Error(`missing details of component ${component.id.toString()}`);
|
|
184
202
|
|
|
185
|
-
if (
|
|
203
|
+
if (details.status === 'up to date') {
|
|
204
|
+
upToDateCount += 1;
|
|
205
|
+
}
|
|
186
206
|
|
|
187
|
-
return
|
|
207
|
+
return formatPlainComponentItemWithVersions(component, details);
|
|
188
208
|
});
|
|
189
|
-
const
|
|
209
|
+
const upToDateStr = upToDateCount === 0 ? '' : `, ${upToDateCount} components are up to date`;
|
|
210
|
+
const title = `${titlePrefix}${upToDateStr}`;
|
|
211
|
+
const componentDependenciesOutput = [_chalk().default.green(title), ...(0, _lodash().compact)(componentDependencies)].join('\n');
|
|
190
212
|
const peerDependenciesOutput = peerDependencies && !_ramda().default.isEmpty(peerDependencies) && displayDependencies ? (0, _utils().immutableUnshift)(_ramda().default.uniq(peerDependencies.map(_chalkBox().formatPlainComponentItem)), _chalk().default.green(`\n\nsuccessfully imported ${components.length} component dependencies`)).join('\n') : '';
|
|
191
213
|
dependenciesOutput = componentDependenciesOutput + peerDependenciesOutput;
|
|
192
214
|
}
|
|
@@ -203,4 +225,41 @@ class ImportCmd {
|
|
|
203
225
|
|
|
204
226
|
exports.default = ImportCmd;
|
|
205
227
|
|
|
228
|
+
function formatPlainComponentItemWithVersions(component, importDetails) {
|
|
229
|
+
const status = importDetails.status;
|
|
230
|
+
const id = component.id.toStringWithoutVersion();
|
|
231
|
+
|
|
232
|
+
const getVersionsOutput = () => {
|
|
233
|
+
if (!importDetails.versions.length) return '';
|
|
234
|
+
|
|
235
|
+
if (importDetails.latestVersion) {
|
|
236
|
+
return `${importDetails.versions.length} new version(s) available, latest ${importDetails.latestVersion}`;
|
|
237
|
+
}
|
|
238
|
+
|
|
239
|
+
return `new versions: ${importDetails.versions.join(', ')}`;
|
|
240
|
+
};
|
|
241
|
+
|
|
242
|
+
const versions = getVersionsOutput();
|
|
243
|
+
const usedVersion = status === 'added' ? `, currently used version ${component.version}` : '';
|
|
244
|
+
|
|
245
|
+
const getConflictMessage = () => {
|
|
246
|
+
if (!importDetails.filesStatus) return '';
|
|
247
|
+
const conflictedFiles = Object.keys(importDetails.filesStatus) // $FlowFixMe file is set
|
|
248
|
+
// @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!
|
|
249
|
+
.filter(file => importDetails.filesStatus[file] === FileStatus.manual);
|
|
250
|
+
if (!conflictedFiles.length) return '';
|
|
251
|
+
return `(the following files were saved with conflicts ${conflictedFiles.map(file => _chalk().default.bold(file)).join(', ')}) `;
|
|
252
|
+
};
|
|
253
|
+
|
|
254
|
+
const conflictMessage = getConflictMessage();
|
|
255
|
+
const deprecated = importDetails.deprecated ? _chalk().default.yellow('deprecated') : '';
|
|
256
|
+
const missingDeps = importDetails.missingDeps.length ? _chalk().default.red(`missing dependencies: ${importDetails.missingDeps.map(d => d.toString()).join(', ')}`) : '';
|
|
257
|
+
|
|
258
|
+
if (status === 'up to date' && !missingDeps && !deprecated && !conflictMessage) {
|
|
259
|
+
return undefined;
|
|
260
|
+
}
|
|
261
|
+
|
|
262
|
+
return `- ${_chalk().default.green(status)} ${_chalk().default.cyan(id)} ${versions}${usedVersion} ${conflictMessage}${deprecated} ${missingDeps}`;
|
|
263
|
+
}
|
|
264
|
+
|
|
206
265
|
//# sourceMappingURL=import.cmd.js.map
|
package/dist/import.cmd.js.map
CHANGED
|
@@ -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","merge","skipLane","dependencies","dependents","allHistory","GeneralError","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","prop","peerDependencies","flatten","title","length","componentDependencies","component","details","find","c","id","toStringWithoutVersion","Error","toString","componentDependenciesOutput","chalk","green","concat","peerDependenciesOutput","uniq","formatPlainComponentItem","getImportOutput","yellow"],"mappings":"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","sourcesContent":["import { Command, CommandOptions } from '@teambit/cli';\nimport chalk from 'chalk';\nimport R from 'ramda';\nimport { BASE_DOCS_DOMAIN, WILDCARD_HELP } from '@teambit/legacy/dist/constants';\nimport { ImportOptions } from '@teambit/legacy/dist/consumer/component-ops/import-components';\nimport { MergeOptions, MergeStrategy } from '@teambit/legacy/dist/consumer/versions-ops/merge-version/merge-version';\nimport GeneralError from '@teambit/legacy/dist/error/general-error';\nimport { immutableUnshift } from '@teambit/legacy/dist/utils';\nimport { formatPlainComponentItem, formatPlainComponentItemWithVersions } 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 [\n '',\n 'skip-npm-install',\n 'do not install packages of the imported components. (it automatically enables save-dependencies-as-components flag)',\n ],\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 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 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 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: !skipNpmInstall,\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(R.prop('component'));\n const peerDependencies = R.flatten(\n importResults.dependencies.map(R.prop('dependencies')),\n importResults.dependencies.map(R.prop('devDependencies'))\n );\n\n const title =\n components.length === 1\n ? 'successfully imported one component'\n : `successfully imported ${components.length} components`;\n const componentDependencies = components.map((component) => {\n // @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!\n const details = importDetails.find((c) => c.id === component.id.toStringWithoutVersion());\n // @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!\n if (!details) throw new Error(`missing details of component ${component.id.toString()}`);\n // @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!\n return formatPlainComponentItemWithVersions(component, details);\n });\n const componentDependenciesOutput = [chalk.green(title)].concat(componentDependencies).join('\\n');\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"]}
|
|
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"]}
|
|
Binary file
|
package/package.json
CHANGED
|
@@ -1,24 +1,26 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@teambit/importer",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.73",
|
|
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.
|
|
9
|
+
"version": "0.0.73"
|
|
10
10
|
},
|
|
11
11
|
"dependencies": {
|
|
12
12
|
"chalk": "2.4.2",
|
|
13
|
+
"lodash": "4.17.21",
|
|
13
14
|
"ramda": "0.27.1",
|
|
14
15
|
"@teambit/harmony": "0.2.11",
|
|
15
16
|
"@babel/runtime": "7.12.18",
|
|
16
17
|
"core-js": "^3.0.0",
|
|
17
|
-
"@teambit/cli": "0.0.
|
|
18
|
-
"@teambit/dependency-resolver": "0.0.
|
|
19
|
-
"@teambit/workspace": "0.0.
|
|
18
|
+
"@teambit/cli": "0.0.439",
|
|
19
|
+
"@teambit/dependency-resolver": "0.0.644",
|
|
20
|
+
"@teambit/workspace": "0.0.644"
|
|
20
21
|
},
|
|
21
22
|
"devDependencies": {
|
|
23
|
+
"@types/lodash": "4.14.165",
|
|
22
24
|
"@types/mocha": "5.2.7",
|
|
23
25
|
"@types/testing-library__jest-dom": "5.9.5",
|
|
24
26
|
"@types/jest": "^26.0.0",
|
|
@@ -27,7 +29,7 @@
|
|
|
27
29
|
"@types/node": "12.20.4"
|
|
28
30
|
},
|
|
29
31
|
"peerDependencies": {
|
|
30
|
-
"@teambit/legacy": "1.0.
|
|
32
|
+
"@teambit/legacy": "1.0.217",
|
|
31
33
|
"react-dom": "^16.8.0 || ^17.0.0",
|
|
32
34
|
"react": "^16.8.0 || ^17.0.0"
|
|
33
35
|
},
|
|
@@ -55,7 +57,7 @@
|
|
|
55
57
|
"react": "-"
|
|
56
58
|
},
|
|
57
59
|
"peerDependencies": {
|
|
58
|
-
"@teambit/legacy": "1.0.
|
|
60
|
+
"@teambit/legacy": "1.0.217",
|
|
59
61
|
"react-dom": "^16.8.0 || ^17.0.0",
|
|
60
62
|
"react": "^16.8.0 || ^17.0.0"
|
|
61
63
|
}
|
|
Binary file
|