@teambit/eject 1.0.209 → 1.0.211
Sign up to get free protection for your applications and to get access to all the features.
- package/artifacts/__bit_junit.xml +1 -1
- package/artifacts/preview/teambit_workspace_eject-preview.js +1 -1
- package/artifacts/schema.json +1 -1
- package/dist/components-ejector.js +2 -2
- package/dist/components-ejector.js.map +1 -1
- package/dist/eject-cmd.js +1 -1
- package/dist/eject-cmd.js.map +1 -1
- package/dist/eject.main.runtime.js +1 -1
- package/dist/eject.main.runtime.js.map +1 -1
- package/dist/{preview-1711509617758.js → preview-1711682321261.js} +2 -2
- package/package.json +4 -4
@@ -1,4 +1,4 @@
|
|
1
1
|
<?xml version="1.0" encoding="UTF-8"?>
|
2
2
|
<testsuites tests="0" failures="0" errors="0" skipped="0">
|
3
|
-
<testsuite name="teambit.workspace/eject@1.0.
|
3
|
+
<testsuite name="teambit.workspace/eject@1.0.211" tests="0" failures="0" errors="0" skipped="0"/>
|
4
4
|
</testsuites>
|
@@ -1 +1 @@
|
|
1
|
-
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports["teambit.workspace/eject-preview"]=t():e["teambit.workspace/eject-preview"]=t()}(self,(()=>(()=>{"use strict";var e={
|
1
|
+
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports["teambit.workspace/eject-preview"]=t():e["teambit.workspace/eject-preview"]=t()}(self,(()=>(()=>{"use strict";var e={24978:(e,t,o)=>{var n={id:"teambit.workspace/eject@1.0.211",homepage:"https://bit.cloud/teambit/workspace/eject",exported:!0};function r(){const e=i(o(41594));return r=function(){return e},e}function i(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0}),t.Logo=void 0,r.__bit_component=n,i.__bit_component=n;const a=()=>r().default.createElement("div",{style:{height:"100%",display:"flex",justifyContent:"center"}},r().default.createElement("img",{style:{width:70},src:"https://static.bit.dev/extensions-icons/eject.svg"}));a.__bit_component=n,t.Logo=a},41594:e=>{e.exports=React}},t={};function o(n){var r=t[n];if(void 0!==r)return r.exports;var i=t[n]={exports:{}};return e[n](i,i.exports,o),i.exports}o.d=(e,t)=>{for(var n in t)o.o(t,n)&&!o.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),o.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var n={};return(()=>{o.r(n),o.d(n,{compositions:()=>m,compositions_metadata:()=>u,overview:()=>l});var e={};o.r(e),o.d(e,{default:()=>s});var t=o(24978);o(41594);const r=MdxJsReact,i=TeambitMdxUiMdxScopeContext;var a=["components"];function p(){return p=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var o=arguments[t];for(var n in o)Object.prototype.hasOwnProperty.call(o,n)&&(e[n]=o[n])}return e},p.apply(this,arguments)}var c={},d="wrapper";function s(e){var t=e.components,o=function(e,t){if(null==e)return{};var o,n,r=function(e,t){if(null==e)return{};var o,n,r={},i=Object.keys(e);for(n=0;n<i.length;n++)o=i[n],t.indexOf(o)>=0||(r[o]=e[o]);return r}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n<i.length;n++)o=i[n],t.indexOf(o)>=0||Object.prototype.propertyIsEnumerable.call(e,o)&&(r[o]=e[o])}return r}(e,a);return(0,r.mdx)(d,p({},c,o,{components:t,mdxType:"MDXLayout"}),(0,r.mdx)(i.MDXScopeProvider,{components:{},mdxType:"MDXScopeProvider"},(0,r.mdx)("p",null,"One of the common scenarios of using ",(0,r.mdx)("inlineCode",{parentName:"p"},"bit eject")," is to make a quick change to an external (component) dependency. The component needs to be imported first and once it's changed and exported, there is no need to keep it in the current workspace. Without ",(0,r.mdx)("inlineCode",{parentName:"p"},"eject"),", the next steps would be: 1) remove the component from the workspace by ",(0,r.mdx)("inlineCode",{parentName:"p"},"bit remove")," and 2) installing the component by ",(0,r.mdx)("inlineCode",{parentName:"p"},"bit install"),"."),(0,r.mdx)("p",null,(0,r.mdx)("inlineCode",{parentName:"p"},"bit eject")," combines the commands above to one command."),(0,r.mdx)("h2",null,"Eject process"),(0,r.mdx)("p",null,"The following steps are done during the ",(0,r.mdx)("inlineCode",{parentName:"p"},"eject")," process."),(0,r.mdx)("ol",null,(0,r.mdx)("li",{parentName:"ol"},"remove the component's data from node-modules so then it won't interfere with the package installation."),(0,r.mdx)("li",{parentName:"ol"},"remove the component from the .bitmap file."),(0,r.mdx)("li",{parentName:"ol"},"install the component as a package by the package manager and add the package to the ",(0,r.mdx)("inlineCode",{parentName:"li"},"workspace.json")," file."),(0,r.mdx)("li",{parentName:"ol"},"depends on the ",(0,r.mdx)("inlineCode",{parentName:"li"},"--keep-files")," flag, deletes the component files from the workspace."))))}s.isMDXComponent=!0;const m=[t],l=[e],u={compositions:[{displayName:"Logo",identifier:"Logo"}]}})(),n})()));
|
package/artifacts/schema.json
CHANGED
@@ -54,10 +54,10 @@ function _removePath() {
|
|
54
54
|
return data;
|
55
55
|
}
|
56
56
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
57
|
-
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u &&
|
57
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
58
58
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
59
59
|
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
60
|
-
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i :
|
60
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
61
61
|
function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); } /**
|
62
62
|
* a classic use case of eject is when a user imports a component using `bit import` to update it,
|
63
63
|
* but the user has no intention to have the code as part of the project source code.
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["_componentId","data","require","_defaultErrorHandler","_interopRequireDefault","_scopeRemotes","_componentIdToPackageName","packageJsonUtils","_interopRequireWildcard","_dataToPersist","_removePath","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","_defineProperty","key","value","_toPropertyKey","enumerable","configurable","writable","_toPrimitive","String","Symbol","toPrimitive","TypeError","Number","ComponentsEjector","constructor","workspace","install","logger","componentsIds","ejectOptions","consumer","idsToEject","ComponentIdList","failedComponents","modifiedComponents","stagedComponents","notExportedComponents","selfHostedExportedComponents","eject","decideWhichComponentsToEject","debug","length","loadComponentsToEject","_validateIdsHaveScopesAndVersions","removeComponentsFromNodeModules","untrackComponents","installPackages","removeComponentsFiles","writeBitMap","ejectedComponents","setStatusLine","remotes","getScopeRemotes","scope","hubExportedComponents","forEach","componentId","bitId","isExported","push","isHub","force","Promise","all","map","id","componentStatus","getComponentStatusById","modified","staged","err","throwEjectError","toString","consoleSuccess","components","loadComponents","componentsToEject","action","skipDependencyInstallation","packages","getPackagesToInstall","c","componentIdToPackageName","_buildExceptionMessageWithRollbackData","keepFiles","dataToPersist","DataToPersist","component","componentMap","Error","rootDir","removePath","RemovePath","addBasePath","getPath","persistAllToFS","cleanFromBitMap","message","originalError","originalErrorMessage","defaultErrorHandler","error","hasScope","hasVersion","exports"],"sources":["components-ejector.ts"],"sourcesContent":["/**\n * a classic use case of eject is when a user imports a component using `bit import` to update it,\n * but the user has no intention to have the code as part of the project source code.\n * the eject provides the option to delete the component locally and install it via the NPM client.\n *\n * an implementation note, the entire process is done with rollback in mind.\n * since installing the component via NPM client is an error prone process, we do it first, before\n * removing the component files, so then it's easier to rollback.\n */\nimport { Workspace } from '@teambit/workspace';\nimport { Consumer } from '@teambit/legacy/dist/consumer';\nimport { ComponentIdList, ComponentID } from '@teambit/component-id';\nimport defaultErrorHandler from '@teambit/legacy/dist/cli/default-error-handler';\nimport { getScopeRemotes } from '@teambit/legacy/dist/scope/scope-remotes';\nimport componentIdToPackageName from '@teambit/legacy/dist/utils/bit/component-id-to-package-name';\nimport Component from '@teambit/legacy/dist/consumer/component/consumer-component';\nimport PackageJsonFile from '@teambit/legacy/dist/consumer/component/package-json-file';\nimport * as packageJsonUtils from '@teambit/legacy/dist/consumer/component/package-json-utils';\nimport DataToPersist from '@teambit/legacy/dist/consumer/component/sources/data-to-persist';\nimport RemovePath from '@teambit/legacy/dist/consumer/component/sources/remove-path';\nimport { Logger } from '@teambit/logger';\nimport { InstallMain } from '@teambit/install';\n\nexport type EjectResults = {\n ejectedComponents: ComponentIdList;\n failedComponents: FailedComponents;\n};\n\nexport type EjectOptions = {\n force?: boolean; // eject although a component is modified/staged\n keepFiles?: boolean; // keep component files on the workspace\n skipDependencyInstallation?: boolean; // skip installing the dependencies\n};\n\ntype FailedComponents = {\n modifiedComponents: ComponentIdList;\n stagedComponents: ComponentIdList;\n notExportedComponents: ComponentIdList;\n selfHostedExportedComponents: ComponentIdList;\n};\n\nexport class ComponentsEjector {\n consumer: Consumer;\n idsToEject: ComponentIdList;\n componentsToEject: Component[] = [];\n // @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!\n notEjectedDependents: Array<{ dependent: Component; ejectedDependencies: Component[] }>;\n failedComponents: FailedComponents;\n // @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!\n packageJsonFilesBeforeChanges: PackageJsonFile[]; // for rollback in case of errors\n constructor(\n private workspace: Workspace,\n private install: InstallMain,\n private logger: Logger,\n private componentsIds: ComponentID[],\n private ejectOptions: EjectOptions\n ) {\n this.consumer = this.workspace.consumer;\n this.idsToEject = new ComponentIdList();\n this.failedComponents = {\n modifiedComponents: new ComponentIdList(),\n stagedComponents: new ComponentIdList(),\n notExportedComponents: new ComponentIdList(),\n selfHostedExportedComponents: new ComponentIdList(),\n };\n }\n\n async eject(): Promise<EjectResults> {\n await this.decideWhichComponentsToEject();\n this.logger.debug(`${this.idsToEject.length} to eject`);\n await this.loadComponentsToEject();\n if (this.idsToEject.length) {\n this._validateIdsHaveScopesAndVersions();\n await this.removeComponentsFromNodeModules();\n await this.untrackComponents();\n await this.installPackages();\n await this.removeComponentsFiles();\n await this.consumer.writeBitMap();\n }\n this.logger.debug('eject: completed successfully');\n return {\n ejectedComponents: this.idsToEject,\n failedComponents: this.failedComponents,\n };\n }\n\n async decideWhichComponentsToEject(): Promise<void> {\n this.logger.setStatusLine('Eject: getting the components status');\n if (!this.componentsIds.length) return;\n const remotes = await getScopeRemotes(this.consumer.scope);\n const hubExportedComponents = new ComponentIdList();\n this.componentsIds.forEach((componentId) => {\n const bitId = componentId;\n if (!this.workspace.isExported(bitId)) this.failedComponents.notExportedComponents.push(bitId);\n else if (remotes.isHub(bitId.scope as string)) hubExportedComponents.push(bitId);\n else this.failedComponents.selfHostedExportedComponents.push(bitId);\n });\n if (this.ejectOptions.force) {\n this.idsToEject = hubExportedComponents;\n } else {\n await Promise.all(\n hubExportedComponents.map(async (id) => {\n try {\n const componentStatus = await this.workspace.getComponentStatusById(id);\n if (componentStatus.modified) this.failedComponents.modifiedComponents.push(id);\n else if (componentStatus.staged) this.failedComponents.stagedComponents.push(id);\n else this.idsToEject.push(id);\n } catch (err: any) {\n this.throwEjectError(\n `eject operation failed getting the status of ${id.toString()}, no action has been done.\n please fix the issue to continue.`,\n err\n );\n }\n })\n );\n }\n this.logger.consoleSuccess();\n }\n\n async loadComponentsToEject() {\n const { components } = await this.consumer.loadComponents(this.idsToEject);\n this.componentsToEject = components;\n }\n\n async removeComponentsFromNodeModules() {\n const action = 'Eject: removing the existing components from node_modules';\n this.logger.setStatusLine(action);\n this.logger.debug(action);\n await packageJsonUtils.removeComponentsFromNodeModules(this.consumer, this.componentsToEject);\n this.logger.consoleSuccess(action);\n }\n\n async installPackages() {\n if (this.ejectOptions.skipDependencyInstallation) return;\n this.logger.setStatusLine('Eject: installing packages using the package-manager');\n const packages = this.getPackagesToInstall();\n await this.install.install(packages);\n }\n\n getPackagesToInstall(): string[] {\n return this.componentsToEject.map((c) => componentIdToPackageName(c));\n }\n\n _buildExceptionMessageWithRollbackData(action: string): string {\n return `eject failed ${action}.\nyour package.json (if existed) has been restored, however, some bit generated data may have been deleted, please run \"bit link\" to restore them.`;\n }\n\n /**\n * as part of the 'eject' operation, a component is removed locally. as opposed to the remove\n * command, in this case, no need to remove the objects from the scope, only remove from the\n * filesystem, which means, delete the component files, untrack from .bitmap and clean\n * package.json and bit.json traces.\n */\n private async removeComponentsFiles() {\n if (this.ejectOptions.keepFiles) {\n return;\n }\n this.logger.setStatusLine('Eject: removing the components files from the filesystem');\n const dataToPersist = new DataToPersist();\n this.componentsToEject.forEach((component) => {\n const componentMap = component.componentMap;\n if (!componentMap) {\n throw new Error('ComponentEjector.removeComponentsFiles expect a component to have componentMap prop');\n }\n const rootDir = componentMap.rootDir;\n if (!rootDir) {\n throw new Error('ComponentEjector.removeComponentsFiles expect a componentMap to have rootDir');\n }\n dataToPersist.removePath(new RemovePath(rootDir, true));\n });\n dataToPersist.addBasePath(this.consumer.getPath());\n await dataToPersist.persistAllToFS();\n this.logger.consoleSuccess();\n }\n\n private async untrackComponents() {\n this.logger.debug('eject: removing the components from the .bitmap');\n await this.consumer.cleanFromBitMap(this.idsToEject);\n }\n\n throwEjectError(message: string, originalError: Error) {\n const { message: originalErrorMessage } = defaultErrorHandler(originalError);\n this.logger.error(`eject has stopped due to an error ${originalErrorMessage}`, originalError);\n throw new Error(`${message}\n\ngot the following error: ${originalErrorMessage}`);\n }\n\n _validateIdsHaveScopesAndVersions() {\n this.idsToEject.forEach((id) => {\n if (!id.hasScope() || !id.hasVersion()) {\n throw new TypeError(`EjectComponents expects ids with scope and version, got ${id.toString()}`);\n }\n });\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
1
|
+
{"version":3,"names":["_componentId","data","require","_defaultErrorHandler","_interopRequireDefault","_scopeRemotes","_componentIdToPackageName","packageJsonUtils","_interopRequireWildcard","_dataToPersist","_removePath","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","obj","_defineProperty","key","value","_toPropertyKey","enumerable","configurable","writable","_toPrimitive","Symbol","toPrimitive","TypeError","String","Number","ComponentsEjector","constructor","workspace","install","logger","componentsIds","ejectOptions","consumer","idsToEject","ComponentIdList","failedComponents","modifiedComponents","stagedComponents","notExportedComponents","selfHostedExportedComponents","eject","decideWhichComponentsToEject","debug","length","loadComponentsToEject","_validateIdsHaveScopesAndVersions","removeComponentsFromNodeModules","untrackComponents","installPackages","removeComponentsFiles","writeBitMap","ejectedComponents","setStatusLine","remotes","getScopeRemotes","scope","hubExportedComponents","forEach","componentId","bitId","isExported","push","isHub","force","Promise","all","map","id","componentStatus","getComponentStatusById","modified","staged","err","throwEjectError","toString","consoleSuccess","components","loadComponents","componentsToEject","action","skipDependencyInstallation","packages","getPackagesToInstall","c","componentIdToPackageName","_buildExceptionMessageWithRollbackData","keepFiles","dataToPersist","DataToPersist","component","componentMap","Error","rootDir","removePath","RemovePath","addBasePath","getPath","persistAllToFS","cleanFromBitMap","message","originalError","originalErrorMessage","defaultErrorHandler","error","hasScope","hasVersion","exports"],"sources":["components-ejector.ts"],"sourcesContent":["/**\n * a classic use case of eject is when a user imports a component using `bit import` to update it,\n * but the user has no intention to have the code as part of the project source code.\n * the eject provides the option to delete the component locally and install it via the NPM client.\n *\n * an implementation note, the entire process is done with rollback in mind.\n * since installing the component via NPM client is an error prone process, we do it first, before\n * removing the component files, so then it's easier to rollback.\n */\nimport { Workspace } from '@teambit/workspace';\nimport { Consumer } from '@teambit/legacy/dist/consumer';\nimport { ComponentIdList, ComponentID } from '@teambit/component-id';\nimport defaultErrorHandler from '@teambit/legacy/dist/cli/default-error-handler';\nimport { getScopeRemotes } from '@teambit/legacy/dist/scope/scope-remotes';\nimport componentIdToPackageName from '@teambit/legacy/dist/utils/bit/component-id-to-package-name';\nimport Component from '@teambit/legacy/dist/consumer/component/consumer-component';\nimport PackageJsonFile from '@teambit/legacy/dist/consumer/component/package-json-file';\nimport * as packageJsonUtils from '@teambit/legacy/dist/consumer/component/package-json-utils';\nimport DataToPersist from '@teambit/legacy/dist/consumer/component/sources/data-to-persist';\nimport RemovePath from '@teambit/legacy/dist/consumer/component/sources/remove-path';\nimport { Logger } from '@teambit/logger';\nimport { InstallMain } from '@teambit/install';\n\nexport type EjectResults = {\n ejectedComponents: ComponentIdList;\n failedComponents: FailedComponents;\n};\n\nexport type EjectOptions = {\n force?: boolean; // eject although a component is modified/staged\n keepFiles?: boolean; // keep component files on the workspace\n skipDependencyInstallation?: boolean; // skip installing the dependencies\n};\n\ntype FailedComponents = {\n modifiedComponents: ComponentIdList;\n stagedComponents: ComponentIdList;\n notExportedComponents: ComponentIdList;\n selfHostedExportedComponents: ComponentIdList;\n};\n\nexport class ComponentsEjector {\n consumer: Consumer;\n idsToEject: ComponentIdList;\n componentsToEject: Component[] = [];\n // @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!\n notEjectedDependents: Array<{ dependent: Component; ejectedDependencies: Component[] }>;\n failedComponents: FailedComponents;\n // @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!\n packageJsonFilesBeforeChanges: PackageJsonFile[]; // for rollback in case of errors\n constructor(\n private workspace: Workspace,\n private install: InstallMain,\n private logger: Logger,\n private componentsIds: ComponentID[],\n private ejectOptions: EjectOptions\n ) {\n this.consumer = this.workspace.consumer;\n this.idsToEject = new ComponentIdList();\n this.failedComponents = {\n modifiedComponents: new ComponentIdList(),\n stagedComponents: new ComponentIdList(),\n notExportedComponents: new ComponentIdList(),\n selfHostedExportedComponents: new ComponentIdList(),\n };\n }\n\n async eject(): Promise<EjectResults> {\n await this.decideWhichComponentsToEject();\n this.logger.debug(`${this.idsToEject.length} to eject`);\n await this.loadComponentsToEject();\n if (this.idsToEject.length) {\n this._validateIdsHaveScopesAndVersions();\n await this.removeComponentsFromNodeModules();\n await this.untrackComponents();\n await this.installPackages();\n await this.removeComponentsFiles();\n await this.consumer.writeBitMap();\n }\n this.logger.debug('eject: completed successfully');\n return {\n ejectedComponents: this.idsToEject,\n failedComponents: this.failedComponents,\n };\n }\n\n async decideWhichComponentsToEject(): Promise<void> {\n this.logger.setStatusLine('Eject: getting the components status');\n if (!this.componentsIds.length) return;\n const remotes = await getScopeRemotes(this.consumer.scope);\n const hubExportedComponents = new ComponentIdList();\n this.componentsIds.forEach((componentId) => {\n const bitId = componentId;\n if (!this.workspace.isExported(bitId)) this.failedComponents.notExportedComponents.push(bitId);\n else if (remotes.isHub(bitId.scope as string)) hubExportedComponents.push(bitId);\n else this.failedComponents.selfHostedExportedComponents.push(bitId);\n });\n if (this.ejectOptions.force) {\n this.idsToEject = hubExportedComponents;\n } else {\n await Promise.all(\n hubExportedComponents.map(async (id) => {\n try {\n const componentStatus = await this.workspace.getComponentStatusById(id);\n if (componentStatus.modified) this.failedComponents.modifiedComponents.push(id);\n else if (componentStatus.staged) this.failedComponents.stagedComponents.push(id);\n else this.idsToEject.push(id);\n } catch (err: any) {\n this.throwEjectError(\n `eject operation failed getting the status of ${id.toString()}, no action has been done.\n please fix the issue to continue.`,\n err\n );\n }\n })\n );\n }\n this.logger.consoleSuccess();\n }\n\n async loadComponentsToEject() {\n const { components } = await this.consumer.loadComponents(this.idsToEject);\n this.componentsToEject = components;\n }\n\n async removeComponentsFromNodeModules() {\n const action = 'Eject: removing the existing components from node_modules';\n this.logger.setStatusLine(action);\n this.logger.debug(action);\n await packageJsonUtils.removeComponentsFromNodeModules(this.consumer, this.componentsToEject);\n this.logger.consoleSuccess(action);\n }\n\n async installPackages() {\n if (this.ejectOptions.skipDependencyInstallation) return;\n this.logger.setStatusLine('Eject: installing packages using the package-manager');\n const packages = this.getPackagesToInstall();\n await this.install.install(packages);\n }\n\n getPackagesToInstall(): string[] {\n return this.componentsToEject.map((c) => componentIdToPackageName(c));\n }\n\n _buildExceptionMessageWithRollbackData(action: string): string {\n return `eject failed ${action}.\nyour package.json (if existed) has been restored, however, some bit generated data may have been deleted, please run \"bit link\" to restore them.`;\n }\n\n /**\n * as part of the 'eject' operation, a component is removed locally. as opposed to the remove\n * command, in this case, no need to remove the objects from the scope, only remove from the\n * filesystem, which means, delete the component files, untrack from .bitmap and clean\n * package.json and bit.json traces.\n */\n private async removeComponentsFiles() {\n if (this.ejectOptions.keepFiles) {\n return;\n }\n this.logger.setStatusLine('Eject: removing the components files from the filesystem');\n const dataToPersist = new DataToPersist();\n this.componentsToEject.forEach((component) => {\n const componentMap = component.componentMap;\n if (!componentMap) {\n throw new Error('ComponentEjector.removeComponentsFiles expect a component to have componentMap prop');\n }\n const rootDir = componentMap.rootDir;\n if (!rootDir) {\n throw new Error('ComponentEjector.removeComponentsFiles expect a componentMap to have rootDir');\n }\n dataToPersist.removePath(new RemovePath(rootDir, true));\n });\n dataToPersist.addBasePath(this.consumer.getPath());\n await dataToPersist.persistAllToFS();\n this.logger.consoleSuccess();\n }\n\n private async untrackComponents() {\n this.logger.debug('eject: removing the components from the .bitmap');\n await this.consumer.cleanFromBitMap(this.idsToEject);\n }\n\n throwEjectError(message: string, originalError: Error) {\n const { message: originalErrorMessage } = defaultErrorHandler(originalError);\n this.logger.error(`eject has stopped due to an error ${originalErrorMessage}`, originalError);\n throw new Error(`${message}\n\ngot the following error: ${originalErrorMessage}`);\n }\n\n _validateIdsHaveScopesAndVersions() {\n this.idsToEject.forEach((id) => {\n if (!id.hasScope() || !id.hasVersion()) {\n throw new TypeError(`EjectComponents expects ids with scope and version, got ${id.toString()}`);\n }\n });\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
package/dist/eject-cmd.js
CHANGED
@@ -19,7 +19,7 @@ function _ejectTemplate() {
|
|
19
19
|
return data;
|
20
20
|
}
|
21
21
|
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
22
|
-
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i :
|
22
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
23
23
|
function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
24
24
|
class EjectCmd {
|
25
25
|
constructor(ejectMain, workspace) {
|
package/dist/eject-cmd.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["_constants","data","require","_ejectTemplate","_defineProperty","obj","key","value","_toPropertyKey","Object","defineProperty","enumerable","configurable","writable","t","i","_toPrimitive","
|
1
|
+
{"version":3,"names":["_constants","data","require","_ejectTemplate","_defineProperty","obj","key","value","_toPropertyKey","Object","defineProperty","enumerable","configurable","writable","t","i","_toPrimitive","r","e","Symbol","toPrimitive","call","TypeError","String","Number","EjectCmd","constructor","ejectMain","workspace","name","description","COMPONENT_PATTERN_HELP","report","pattern","force","json","keepFiles","skipDependencyInstallation","componentIds","idsByPattern","ejectResults","eject","JSON","stringify","ejectTemplate","exports"],"sources":["eject-cmd.ts"],"sourcesContent":["import { Command, CommandOptions } from '@teambit/cli';\nimport { Workspace } from '@teambit/workspace';\nimport { COMPONENT_PATTERN_HELP } from '@teambit/legacy/dist/constants';\nimport { ejectTemplate } from './eject-template';\nimport { EjectMain } from './eject.main.runtime';\n\nexport class EjectCmd implements Command {\n name = 'eject <component-pattern>';\n description = 'remove component from the workspace and install it instead as a regular npm package.';\n extendedDescription = 'By default the component files will be removed from the workspace';\n helpUrl = 'reference/components/exporting-components#ejecting-components';\n arguments = [\n {\n name: 'component-pattern',\n description: COMPONENT_PATTERN_HELP,\n },\n ];\n alias = 'E';\n options = [\n [\n 'f',\n 'force',\n 'ignore local changes/versions. eject component/s even when they are staged or modified. Note: unexported tags/snaps will be lost',\n ],\n ['x', 'skip-dependency-installation', 'do not auto-install dependencies'],\n ['j', 'json', 'print the results in JSON format'],\n ['', 'keep-files', 'keep the component files in the workspace intact'],\n ] as CommandOptions;\n loader = true;\n group = 'development';\n\n constructor(private ejectMain: EjectMain, private workspace: Workspace) {}\n\n async report(\n [pattern]: [string],\n {\n force = false,\n json = false,\n keepFiles = false,\n skipDependencyInstallation,\n }: {\n force: boolean;\n json: boolean;\n keepFiles: boolean;\n skipDependencyInstallation?: boolean;\n }\n ): Promise<string> {\n const componentIds = await this.workspace.idsByPattern(pattern);\n const ejectResults = await this.ejectMain.eject(componentIds, { force, keepFiles, skipDependencyInstallation });\n if (json) return JSON.stringify(ejectResults, null, 2);\n return ejectTemplate(ejectResults);\n }\n}\n"],"mappings":";;;;;;AAEA,SAAAA,WAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,UAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAE,eAAA;EAAA,MAAAF,IAAA,GAAAC,OAAA;EAAAC,cAAA,YAAAA,CAAA;IAAA,OAAAF,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAAiD,SAAAG,gBAAAC,GAAA,EAAAC,GAAA,EAAAC,KAAA,IAAAD,GAAA,GAAAE,cAAA,CAAAF,GAAA,OAAAA,GAAA,IAAAD,GAAA,IAAAI,MAAA,CAAAC,cAAA,CAAAL,GAAA,EAAAC,GAAA,IAAAC,KAAA,EAAAA,KAAA,EAAAI,UAAA,QAAAC,YAAA,QAAAC,QAAA,oBAAAR,GAAA,CAAAC,GAAA,IAAAC,KAAA,WAAAF,GAAA;AAAA,SAAAG,eAAAM,CAAA,QAAAC,CAAA,GAAAC,YAAA,CAAAF,CAAA,uCAAAC,CAAA,GAAAA,CAAA,GAAAA,CAAA;AAAA,SAAAC,aAAAF,CAAA,EAAAG,CAAA,2BAAAH,CAAA,KAAAA,CAAA,SAAAA,CAAA,MAAAI,CAAA,GAAAJ,CAAA,CAAAK,MAAA,CAAAC,WAAA,kBAAAF,CAAA,QAAAH,CAAA,GAAAG,CAAA,CAAAG,IAAA,CAAAP,CAAA,EAAAG,CAAA,uCAAAF,CAAA,SAAAA,CAAA,YAAAO,SAAA,yEAAAL,CAAA,GAAAM,MAAA,GAAAC,MAAA,EAAAV,CAAA;AAG1C,MAAMW,QAAQ,CAAoB;EAyBvCC,WAAWA,CAASC,SAAoB,EAAUC,SAAoB,EAAE;IAAA,KAApDD,SAAoB,GAApBA,SAAoB;IAAA,KAAUC,SAAoB,GAApBA,SAAoB;IAAAxB,eAAA,eAxB/D,2BAA2B;IAAAA,eAAA,sBACpB,sFAAsF;IAAAA,eAAA,8BAC9E,mEAAmE;IAAAA,eAAA,kBAC/E,+DAA+D;IAAAA,eAAA,oBAC7D,CACV;MACEyB,IAAI,EAAE,mBAAmB;MACzBC,WAAW,EAAEC;IACf,CAAC,CACF;IAAA3B,eAAA,gBACO,GAAG;IAAAA,eAAA,kBACD,CACR,CACE,GAAG,EACH,OAAO,EACP,kIAAkI,CACnI,EACD,CAAC,GAAG,EAAE,8BAA8B,EAAE,kCAAkC,CAAC,EACzE,CAAC,GAAG,EAAE,MAAM,EAAE,kCAAkC,CAAC,EACjD,CAAC,EAAE,EAAE,YAAY,EAAE,kDAAkD,CAAC,CACvE;IAAAA,eAAA,iBACQ,IAAI;IAAAA,eAAA,gBACL,aAAa;EAEoD;EAEzE,MAAM4B,MAAMA,CACV,CAACC,OAAO,CAAW,EACnB;IACEC,KAAK,GAAG,KAAK;IACbC,IAAI,GAAG,KAAK;IACZC,SAAS,GAAG,KAAK;IACjBC;EAMF,CAAC,EACgB;IACjB,MAAMC,YAAY,GAAG,MAAM,IAAI,CAACV,SAAS,CAACW,YAAY,CAACN,OAAO,CAAC;IAC/D,MAAMO,YAAY,GAAG,MAAM,IAAI,CAACb,SAAS,CAACc,KAAK,CAACH,YAAY,EAAE;MAAEJ,KAAK;MAAEE,SAAS;MAAEC;IAA2B,CAAC,CAAC;IAC/G,IAAIF,IAAI,EAAE,OAAOO,IAAI,CAACC,SAAS,CAACH,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC;IACtD,OAAO,IAAAI,8BAAa,EAACJ,YAAY,CAAC;EACpC;AACF;AAACK,OAAA,CAAApB,QAAA,GAAAA,QAAA","ignoreList":[]}
|
@@ -54,7 +54,7 @@ function _componentsEjector() {
|
|
54
54
|
return data;
|
55
55
|
}
|
56
56
|
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
57
|
-
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i :
|
57
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
58
58
|
function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
59
59
|
class EjectMain {
|
60
60
|
constructor(workspace, install, logger) {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["_cli","data","require","_logger","_workspace","_install","_ejectCmd","_eject","_componentsEjector","_defineProperty","obj","key","value","_toPropertyKey","Object","defineProperty","enumerable","configurable","writable","t","i","_toPrimitive","
|
1
|
+
{"version":3,"names":["_cli","data","require","_logger","_workspace","_install","_ejectCmd","_eject","_componentsEjector","_defineProperty","obj","key","value","_toPropertyKey","Object","defineProperty","enumerable","configurable","writable","t","i","_toPrimitive","r","e","Symbol","toPrimitive","call","TypeError","String","Number","EjectMain","constructor","workspace","install","logger","eject","componentIds","ejectOptions","OutsideWorkspaceError","componentEjector","ComponentsEjector","provider","cli","loggerMain","createLogger","EjectAspect","id","ejectMain","register","EjectCmd","exports","MainRuntime","CLIAspect","WorkspaceAspect","LoggerAspect","InstallAspect","addRuntime"],"sources":["eject.main.runtime.ts"],"sourcesContent":["import { CLIAspect, CLIMain, MainRuntime } from '@teambit/cli';\nimport { ComponentID } from '@teambit/component-id';\nimport { Logger, LoggerAspect, LoggerMain } from '@teambit/logger';\nimport { WorkspaceAspect, OutsideWorkspaceError, Workspace } from '@teambit/workspace';\nimport { InstallAspect, InstallMain } from '@teambit/install';\nimport { EjectCmd } from './eject-cmd';\nimport { EjectAspect } from './eject.aspect';\nimport { ComponentsEjector, EjectOptions, EjectResults } from './components-ejector';\n\nexport class EjectMain {\n constructor(private workspace: Workspace, private install: InstallMain, private logger: Logger) {}\n async eject(componentIds: ComponentID[], ejectOptions: EjectOptions = {}): Promise<EjectResults> {\n if (!this.workspace) throw new OutsideWorkspaceError();\n const componentEjector = new ComponentsEjector(\n this.workspace,\n this.install,\n this.logger,\n componentIds,\n ejectOptions\n );\n return componentEjector.eject();\n }\n\n static runtime = MainRuntime;\n\n static dependencies = [CLIAspect, WorkspaceAspect, LoggerAspect, InstallAspect];\n\n static async provider([cli, workspace, loggerMain, install]: [CLIMain, Workspace, LoggerMain, InstallMain]) {\n const logger = loggerMain.createLogger(EjectAspect.id);\n const ejectMain = new EjectMain(workspace, install, logger);\n cli.register(new EjectCmd(ejectMain, workspace));\n\n return ejectMain;\n }\n}\n\nEjectAspect.addRuntime(EjectMain);\n"],"mappings":"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","ignoreList":[]}
|
@@ -1,5 +1,5 @@
|
|
1
|
-
import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.workspace_eject@1.0.
|
2
|
-
import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.workspace_eject@1.0.
|
1
|
+
import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.workspace_eject@1.0.211/dist/eject.composition.js';
|
2
|
+
import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.workspace_eject@1.0.211/dist/eject.docs.mdx';
|
3
3
|
|
4
4
|
export const compositions = [compositions_0];
|
5
5
|
export const overview = [overview_0];
|
package/package.json
CHANGED
@@ -1,20 +1,20 @@
|
|
1
1
|
{
|
2
2
|
"name": "@teambit/eject",
|
3
|
-
"version": "1.0.
|
3
|
+
"version": "1.0.211",
|
4
4
|
"homepage": "https://bit.cloud/teambit/workspace/eject",
|
5
5
|
"main": "dist/index.js",
|
6
6
|
"componentId": {
|
7
7
|
"scope": "teambit.workspace",
|
8
8
|
"name": "eject",
|
9
|
-
"version": "1.0.
|
9
|
+
"version": "1.0.211"
|
10
10
|
},
|
11
11
|
"dependencies": {
|
12
12
|
"chalk": "2.4.2",
|
13
13
|
"@teambit/component-id": "1.2.0",
|
14
14
|
"@teambit/harmony": "0.4.6",
|
15
|
-
"@teambit/install": "1.0.
|
15
|
+
"@teambit/install": "1.0.211",
|
16
16
|
"@teambit/logger": "0.0.951",
|
17
|
-
"@teambit/workspace": "1.0.
|
17
|
+
"@teambit/workspace": "1.0.211",
|
18
18
|
"@teambit/cli": "0.0.858"
|
19
19
|
},
|
20
20
|
"devDependencies": {
|