@teambit/importer 0.0.68 → 0.0.72

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.
@@ -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;
@@ -102,7 +102,7 @@ class ImportCmd {
102
102
  https://${_constants().BASE_DOCS_DOMAIN}/docs/sourcing-components
103
103
  ${(0, _constants().WILDCARD_HELP)('import')}`);
104
104
  (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. (it automatically enables save-dependencies-as-components flag)'], ['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']]);
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', '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
106
  (0, _defineProperty2().default)(this, "loader", true);
107
107
  (0, _defineProperty2().default)(this, "migration", true);
108
108
  (0, _defineProperty2().default)(this, "remoteOp", true);
@@ -118,6 +118,7 @@ class ImportCmd {
118
118
  json = false,
119
119
  conf,
120
120
  skipNpmInstall = false,
121
+ skipDependencyInstallation = false,
121
122
  merge,
122
123
  skipLane = false,
123
124
  dependencies = false,
@@ -132,6 +133,12 @@ class ImportCmd {
132
133
  throw new (_generalError().default)('you cant use --override and --merge flags combined');
133
134
  }
134
135
 
136
+ if (skipNpmInstall) {
137
+ // eslint-disable-next-line no-console
138
+ console.log(_chalk().default.yellow(`"--skip-npm-install" has been deprecated, please use "--skip-dependency-installation" instead`));
139
+ skipDependencyInstallation = true;
140
+ }
141
+
135
142
  let mergeStrategy;
136
143
 
137
144
  if (merge && _ramda().default.is(String, merge)) {
@@ -153,7 +160,7 @@ class ImportCmd {
153
160
  objectsOnly: objects,
154
161
  override,
155
162
  writeConfig: Boolean(conf),
156
- installNpmPackages: !skipNpmInstall,
163
+ installNpmPackages: !skipDependencyInstallation,
157
164
  skipLane,
158
165
  importDependenciesDirectly: dependencies,
159
166
  importDependents: dependents,
@@ -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","prop","peerDependencies","flatten","title","length","componentDependencies","component","details","find","c","id","toStringWithoutVersion","Error","toString","componentDependenciesOutput","green","concat","peerDependenciesOutput","uniq","formatPlainComponentItem","getImportOutput"],"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 ['', '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(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"]}
package/package.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@teambit/importer",
3
- "version": "0.0.68",
3
+ "version": "0.0.72",
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.68"
9
+ "version": "0.0.72"
10
10
  },
11
11
  "dependencies": {
12
12
  "chalk": "2.4.2",
@@ -14,9 +14,9 @@
14
14
  "@teambit/harmony": "0.2.11",
15
15
  "@babel/runtime": "7.12.18",
16
16
  "core-js": "^3.0.0",
17
- "@teambit/cli": "0.0.436",
18
- "@teambit/dependency-resolver": "0.0.639",
19
- "@teambit/workspace": "0.0.639"
17
+ "@teambit/cli": "0.0.438",
18
+ "@teambit/dependency-resolver": "0.0.643",
19
+ "@teambit/workspace": "0.0.643"
20
20
  },
21
21
  "devDependencies": {
22
22
  "@types/mocha": "5.2.7",
@@ -27,7 +27,7 @@
27
27
  "@types/node": "12.20.4"
28
28
  },
29
29
  "peerDependencies": {
30
- "@teambit/legacy": "1.0.212",
30
+ "@teambit/legacy": "1.0.216",
31
31
  "react-dom": "^16.8.0 || ^17.0.0",
32
32
  "react": "^16.8.0 || ^17.0.0"
33
33
  },
@@ -55,7 +55,7 @@
55
55
  "react": "-"
56
56
  },
57
57
  "peerDependencies": {
58
- "@teambit/legacy": "1.0.212",
58
+ "@teambit/legacy": "1.0.216",
59
59
  "react-dom": "^16.8.0 || ^17.0.0",
60
60
  "react": "^16.8.0 || ^17.0.0"
61
61
  }