@teambit/component-writer 1.0.329 → 1.0.331
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/artifacts/__bit_junit.xml +1 -1
- package/artifacts/schema.json +195 -309
- package/dist/component-writer.d.ts +2 -3
- package/dist/component-writer.js +5 -5
- package/dist/component-writer.js.map +1 -1
- package/dist/component-writer.main.runtime.js +7 -13
- package/dist/component-writer.main.runtime.js.map +1 -1
- package/package.json +13 -11
- /package/dist/{preview-1720427783719.js → preview-1720667996237.js} +0 -0
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import { ComponentIdList } from '@teambit/component-id';
|
|
2
2
|
import { Scope } from '@teambit/legacy/dist/scope';
|
|
3
|
-
import { PathLinuxRelative } from '@teambit/legacy
|
|
4
|
-
import BitMap from '@teambit/legacy
|
|
5
|
-
import ComponentMap from '@teambit/legacy/dist/consumer/bit-map/component-map';
|
|
3
|
+
import { PathLinuxRelative } from '@teambit/legacy.utils';
|
|
4
|
+
import { BitMap, ComponentMap } from '@teambit/legacy.bit-map';
|
|
6
5
|
import Component from '@teambit/legacy/dist/consumer/component/consumer-component';
|
|
7
6
|
import Consumer from '@teambit/legacy/dist/consumer/consumer';
|
|
8
7
|
import { Workspace } from '@teambit/workspace';
|
package/dist/component-writer.js
CHANGED
|
@@ -4,9 +4,9 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
|
-
function
|
|
8
|
-
const data = require("@teambit/legacy
|
|
9
|
-
|
|
7
|
+
function _legacy() {
|
|
8
|
+
const data = require("@teambit/legacy.utils");
|
|
9
|
+
_legacy = function () {
|
|
10
10
|
return data;
|
|
11
11
|
};
|
|
12
12
|
return data;
|
|
@@ -146,7 +146,7 @@ class ComponentWriter {
|
|
|
146
146
|
const filesForBitMap = this.component.files.map(file => {
|
|
147
147
|
return {
|
|
148
148
|
name: file.basename,
|
|
149
|
-
relativePath: (0,
|
|
149
|
+
relativePath: (0, _legacy().pathNormalizeToLinux)(file.relative),
|
|
150
150
|
test: file.test
|
|
151
151
|
};
|
|
152
152
|
});
|
|
@@ -157,7 +157,7 @@ class ComponentWriter {
|
|
|
157
157
|
componentId: compId,
|
|
158
158
|
files: filesForBitMap,
|
|
159
159
|
defaultScope,
|
|
160
|
-
mainFile: (0,
|
|
160
|
+
mainFile: (0, _legacy().pathNormalizeToLinux)(this.component.mainFile),
|
|
161
161
|
rootDir
|
|
162
162
|
});
|
|
163
163
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_path","data","require","_dataToPersist","_interopRequireDefault","_removePath","_componentVersion","_objects","_bitError","e","__esModule","default","_defineProperty","r","t","_toPropertyKey","Object","defineProperty","value","enumerable","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","ComponentWriter","constructor","component","writeToPath","writeConfig","writePackageJson","override","isolated","workspace","scope","consumer","bitMap","ignoreBitDependencies","deleteBitDirContent","existingComponentMap","skipUpdatingBitMap","populateComponentsFilesToWrite","Error","files","length","BitError","id","toString","throwForImportingLegacyIntoHarmony","dataToPersist","DataToPersist","componentMap","addComponentToBitMap","_updateComponentRootPathAccordingToBitMap","rootDir","populateFilesToWriteToComponentDir","isLegacy","removePath","RemovePath","forEach","file","map","addFile","license","contents","updatePaths","newBase","vinylFile","getComponentConfigVinylFile","filesForBitMap","name","basename","relativePath","pathNormalizeToLinux","relative","test","bitId","replaceSnapWithTagIfNeeded","compId","resolveIdWithDefaultScope","defaultScope","hasScope","undefined","componentDefaultScopeFromComponentDirAndName","fullName","addComponent","componentId","mainFile","version","isHash","compFromModel","getModelComponentIfExist","tag","getTagOfRefIfExists","Ref","from","changeVersion","getRootDir","writtenPath","_updateFilesBasePaths","exports"],"sources":["component-writer.ts"],"sourcesContent":["import { ComponentID, ComponentIdList } from '@teambit/component-id';\nimport { Scope } from '@teambit/legacy/dist/scope';\nimport { PathLinuxRelative, pathNormalizeToLinux } from '@teambit/legacy/dist/utils/path';\nimport BitMap from '@teambit/legacy/dist/consumer/bit-map/bit-map';\nimport ComponentMap from '@teambit/legacy/dist/consumer/bit-map/component-map';\nimport Component from '@teambit/legacy/dist/consumer/component/consumer-component';\nimport DataToPersist from '@teambit/legacy/dist/consumer/component/sources/data-to-persist';\nimport RemovePath from '@teambit/legacy/dist/consumer/component/sources/remove-path';\nimport Consumer from '@teambit/legacy/dist/consumer/consumer';\nimport { isHash } from '@teambit/component-version';\nimport { Ref } from '@teambit/legacy/dist/scope/objects';\nimport { Workspace } from '@teambit/workspace';\nimport { BitError } from '@teambit/bit-error';\n\nexport type ComponentWriterProps = {\n component: Component;\n writeToPath: PathLinuxRelative;\n writeConfig?: boolean;\n writePackageJson?: boolean;\n override?: boolean;\n isolated?: boolean;\n workspace: Workspace;\n scope?: Scope | undefined;\n bitMap: BitMap;\n ignoreBitDependencies?: boolean | ComponentIdList;\n deleteBitDirContent?: boolean;\n existingComponentMap?: ComponentMap;\n skipUpdatingBitMap?: boolean;\n};\n\nexport default class ComponentWriter {\n component: Component;\n writeToPath: PathLinuxRelative;\n writeConfig?: boolean;\n writePackageJson?: boolean;\n override: boolean; // default to true\n isolated?: boolean;\n consumer: Consumer | undefined; // when using capsule, the consumer is not defined\n workspace: Workspace;\n scope?: Scope | undefined;\n bitMap: BitMap;\n ignoreBitDependencies: boolean | ComponentIdList;\n deleteBitDirContent: boolean | undefined;\n existingComponentMap: ComponentMap | undefined;\n skipUpdatingBitMap?: boolean;\n\n constructor({\n component,\n writeToPath,\n writeConfig = false,\n writePackageJson = true,\n override = true,\n isolated = false,\n workspace,\n scope = workspace.consumer?.scope,\n bitMap,\n ignoreBitDependencies = true,\n deleteBitDirContent,\n existingComponentMap,\n skipUpdatingBitMap,\n }: ComponentWriterProps) {\n this.component = component;\n this.writeToPath = writeToPath;\n this.writeConfig = writeConfig;\n this.writePackageJson = writePackageJson;\n this.override = override;\n this.isolated = isolated;\n this.workspace = workspace;\n this.consumer = workspace.consumer;\n this.scope = scope;\n this.bitMap = bitMap;\n this.ignoreBitDependencies = ignoreBitDependencies;\n this.deleteBitDirContent = deleteBitDirContent;\n this.existingComponentMap = existingComponentMap;\n this.skipUpdatingBitMap = skipUpdatingBitMap;\n }\n\n async populateComponentsFilesToWrite(): Promise<Component> {\n if (this.isolated) throw new Error('for isolation, please use this.populateComponentsFilesToWriteForCapsule()');\n if (!this.component.files || !this.component.files.length) {\n throw new BitError(`Component ${this.component.id.toString()} is invalid as it has no files`);\n }\n this.throwForImportingLegacyIntoHarmony();\n this.component.dataToPersist = new DataToPersist();\n this.component.componentMap = this.existingComponentMap || (await this.addComponentToBitMap(this.writeToPath));\n this.deleteBitDirContent = false;\n this._updateComponentRootPathAccordingToBitMap();\n if (!this.skipUpdatingBitMap) {\n this.component.componentMap = await this.addComponentToBitMap(this.component.componentMap.rootDir);\n }\n this.writePackageJson = false;\n await this.populateFilesToWriteToComponentDir();\n return this.component;\n }\n\n private throwForImportingLegacyIntoHarmony() {\n if (this.component.isLegacy && this.consumer) {\n throw new Error(\n `unable to write component \"${this.component.id.toString()}\", it is a legacy component and this workspace is Harmony`\n );\n }\n }\n\n async populateFilesToWriteToComponentDir() {\n if (this.deleteBitDirContent) {\n this.component.dataToPersist.removePath(new RemovePath(this.writeToPath));\n }\n this.component.files.forEach((file) => (file.override = this.override));\n this.component.files.map((file) => this.component.dataToPersist.addFile(file));\n\n if (this.component.license && this.component.license.contents) {\n this.component.license.updatePaths({ newBase: this.writeToPath });\n this.component.license.override = this.override;\n this.component.dataToPersist.addFile(this.component.license);\n }\n if (this.writeConfig) {\n const vinylFile = await this.workspace.getComponentConfigVinylFile(this.component.id, { override: true }, true);\n this.component.dataToPersist.addFile(vinylFile);\n }\n }\n\n async addComponentToBitMap(rootDir: string): Promise<ComponentMap> {\n if (rootDir === '.') {\n throw new Error('addComponentToBitMap: rootDir cannot be \".\"');\n }\n const filesForBitMap = this.component.files.map((file) => {\n return { name: file.basename, relativePath: pathNormalizeToLinux(file.relative), test: file.test };\n });\n\n const bitId = await this.replaceSnapWithTagIfNeeded();\n const compId = this.workspace.resolveIdWithDefaultScope(bitId);\n const defaultScope = compId.hasScope()\n ? undefined\n : await this.workspace.componentDefaultScopeFromComponentDirAndName(rootDir, bitId.fullName);\n\n return this.bitMap.addComponent({\n componentId: compId,\n files: filesForBitMap,\n defaultScope,\n mainFile: pathNormalizeToLinux(this.component.mainFile),\n rootDir,\n });\n }\n\n private async replaceSnapWithTagIfNeeded(): Promise<ComponentID> {\n const version = this.component.id.version;\n if (!version || !isHash(version)) {\n return this.component.id;\n }\n const compFromModel = await this.scope?.getModelComponentIfExist(this.component.id);\n const tag = compFromModel?.getTagOfRefIfExists(Ref.from(version));\n if (tag) return this.component.id.changeVersion(tag);\n return this.component.id;\n }\n\n _updateComponentRootPathAccordingToBitMap() {\n // @ts-ignore this.component.componentMap is set\n this.writeToPath = this.component.componentMap.getRootDir();\n this.component.writtenPath = this.writeToPath;\n this._updateFilesBasePaths();\n }\n\n private _updateFilesBasePaths() {\n const newBase = this.writeToPath || '.';\n this.component.files.forEach((file) => file.updatePaths({ newBase }));\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_legacy","data","require","_dataToPersist","_interopRequireDefault","_removePath","_componentVersion","_objects","_bitError","e","__esModule","default","_defineProperty","r","t","_toPropertyKey","Object","defineProperty","value","enumerable","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","ComponentWriter","constructor","component","writeToPath","writeConfig","writePackageJson","override","isolated","workspace","scope","consumer","bitMap","ignoreBitDependencies","deleteBitDirContent","existingComponentMap","skipUpdatingBitMap","populateComponentsFilesToWrite","Error","files","length","BitError","id","toString","throwForImportingLegacyIntoHarmony","dataToPersist","DataToPersist","componentMap","addComponentToBitMap","_updateComponentRootPathAccordingToBitMap","rootDir","populateFilesToWriteToComponentDir","isLegacy","removePath","RemovePath","forEach","file","map","addFile","license","contents","updatePaths","newBase","vinylFile","getComponentConfigVinylFile","filesForBitMap","name","basename","relativePath","pathNormalizeToLinux","relative","test","bitId","replaceSnapWithTagIfNeeded","compId","resolveIdWithDefaultScope","defaultScope","hasScope","undefined","componentDefaultScopeFromComponentDirAndName","fullName","addComponent","componentId","mainFile","version","isHash","compFromModel","getModelComponentIfExist","tag","getTagOfRefIfExists","Ref","from","changeVersion","getRootDir","writtenPath","_updateFilesBasePaths","exports"],"sources":["component-writer.ts"],"sourcesContent":["import { ComponentID, ComponentIdList } from '@teambit/component-id';\nimport { Scope } from '@teambit/legacy/dist/scope';\nimport { PathLinuxRelative, pathNormalizeToLinux } from '@teambit/legacy.utils';\nimport { BitMap, ComponentMap } from '@teambit/legacy.bit-map';\nimport Component from '@teambit/legacy/dist/consumer/component/consumer-component';\nimport DataToPersist from '@teambit/legacy/dist/consumer/component/sources/data-to-persist';\nimport RemovePath from '@teambit/legacy/dist/consumer/component/sources/remove-path';\nimport Consumer from '@teambit/legacy/dist/consumer/consumer';\nimport { isHash } from '@teambit/component-version';\nimport { Ref } from '@teambit/legacy/dist/scope/objects';\nimport { Workspace } from '@teambit/workspace';\nimport { BitError } from '@teambit/bit-error';\n\nexport type ComponentWriterProps = {\n component: Component;\n writeToPath: PathLinuxRelative;\n writeConfig?: boolean;\n writePackageJson?: boolean;\n override?: boolean;\n isolated?: boolean;\n workspace: Workspace;\n scope?: Scope | undefined;\n bitMap: BitMap;\n ignoreBitDependencies?: boolean | ComponentIdList;\n deleteBitDirContent?: boolean;\n existingComponentMap?: ComponentMap;\n skipUpdatingBitMap?: boolean;\n};\n\nexport default class ComponentWriter {\n component: Component;\n writeToPath: PathLinuxRelative;\n writeConfig?: boolean;\n writePackageJson?: boolean;\n override: boolean; // default to true\n isolated?: boolean;\n consumer: Consumer | undefined; // when using capsule, the consumer is not defined\n workspace: Workspace;\n scope?: Scope | undefined;\n bitMap: BitMap;\n ignoreBitDependencies: boolean | ComponentIdList;\n deleteBitDirContent: boolean | undefined;\n existingComponentMap: ComponentMap | undefined;\n skipUpdatingBitMap?: boolean;\n\n constructor({\n component,\n writeToPath,\n writeConfig = false,\n writePackageJson = true,\n override = true,\n isolated = false,\n workspace,\n scope = workspace.consumer?.scope,\n bitMap,\n ignoreBitDependencies = true,\n deleteBitDirContent,\n existingComponentMap,\n skipUpdatingBitMap,\n }: ComponentWriterProps) {\n this.component = component;\n this.writeToPath = writeToPath;\n this.writeConfig = writeConfig;\n this.writePackageJson = writePackageJson;\n this.override = override;\n this.isolated = isolated;\n this.workspace = workspace;\n this.consumer = workspace.consumer;\n this.scope = scope;\n this.bitMap = bitMap;\n this.ignoreBitDependencies = ignoreBitDependencies;\n this.deleteBitDirContent = deleteBitDirContent;\n this.existingComponentMap = existingComponentMap;\n this.skipUpdatingBitMap = skipUpdatingBitMap;\n }\n\n async populateComponentsFilesToWrite(): Promise<Component> {\n if (this.isolated) throw new Error('for isolation, please use this.populateComponentsFilesToWriteForCapsule()');\n if (!this.component.files || !this.component.files.length) {\n throw new BitError(`Component ${this.component.id.toString()} is invalid as it has no files`);\n }\n this.throwForImportingLegacyIntoHarmony();\n this.component.dataToPersist = new DataToPersist();\n this.component.componentMap = this.existingComponentMap || (await this.addComponentToBitMap(this.writeToPath));\n this.deleteBitDirContent = false;\n this._updateComponentRootPathAccordingToBitMap();\n if (!this.skipUpdatingBitMap) {\n this.component.componentMap = await this.addComponentToBitMap(this.component.componentMap.rootDir);\n }\n this.writePackageJson = false;\n await this.populateFilesToWriteToComponentDir();\n return this.component;\n }\n\n private throwForImportingLegacyIntoHarmony() {\n if (this.component.isLegacy && this.consumer) {\n throw new Error(\n `unable to write component \"${this.component.id.toString()}\", it is a legacy component and this workspace is Harmony`\n );\n }\n }\n\n async populateFilesToWriteToComponentDir() {\n if (this.deleteBitDirContent) {\n this.component.dataToPersist.removePath(new RemovePath(this.writeToPath));\n }\n this.component.files.forEach((file) => (file.override = this.override));\n this.component.files.map((file) => this.component.dataToPersist.addFile(file));\n\n if (this.component.license && this.component.license.contents) {\n this.component.license.updatePaths({ newBase: this.writeToPath });\n this.component.license.override = this.override;\n this.component.dataToPersist.addFile(this.component.license);\n }\n if (this.writeConfig) {\n const vinylFile = await this.workspace.getComponentConfigVinylFile(this.component.id, { override: true }, true);\n this.component.dataToPersist.addFile(vinylFile);\n }\n }\n\n async addComponentToBitMap(rootDir: string): Promise<ComponentMap> {\n if (rootDir === '.') {\n throw new Error('addComponentToBitMap: rootDir cannot be \".\"');\n }\n const filesForBitMap = this.component.files.map((file) => {\n return { name: file.basename, relativePath: pathNormalizeToLinux(file.relative), test: file.test };\n });\n\n const bitId = await this.replaceSnapWithTagIfNeeded();\n const compId = this.workspace.resolveIdWithDefaultScope(bitId);\n const defaultScope = compId.hasScope()\n ? undefined\n : await this.workspace.componentDefaultScopeFromComponentDirAndName(rootDir, bitId.fullName);\n\n return this.bitMap.addComponent({\n componentId: compId,\n files: filesForBitMap,\n defaultScope,\n mainFile: pathNormalizeToLinux(this.component.mainFile),\n rootDir,\n });\n }\n\n private async replaceSnapWithTagIfNeeded(): Promise<ComponentID> {\n const version = this.component.id.version;\n if (!version || !isHash(version)) {\n return this.component.id;\n }\n const compFromModel = await this.scope?.getModelComponentIfExist(this.component.id);\n const tag = compFromModel?.getTagOfRefIfExists(Ref.from(version));\n if (tag) return this.component.id.changeVersion(tag);\n return this.component.id;\n }\n\n _updateComponentRootPathAccordingToBitMap() {\n // @ts-ignore this.component.componentMap is set\n this.writeToPath = this.component.componentMap.getRootDir();\n this.component.writtenPath = this.writeToPath;\n this._updateFilesBasePaths();\n }\n\n private _updateFilesBasePaths() {\n const newBase = this.writeToPath || '.';\n this.component.files.forEach((file) => file.updatePaths({ newBase }));\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -82,16 +82,9 @@ function _mover() {
|
|
|
82
82
|
};
|
|
83
83
|
return data;
|
|
84
84
|
}
|
|
85
|
-
function
|
|
86
|
-
const data = require("@teambit/legacy
|
|
87
|
-
|
|
88
|
-
return data;
|
|
89
|
-
};
|
|
90
|
-
return data;
|
|
91
|
-
}
|
|
92
|
-
function _path2() {
|
|
93
|
-
const data = require("@teambit/legacy/dist/utils/path");
|
|
94
|
-
_path2 = function () {
|
|
85
|
+
function _legacy() {
|
|
86
|
+
const data = require("@teambit/legacy.utils");
|
|
87
|
+
_legacy = function () {
|
|
95
88
|
return data;
|
|
96
89
|
};
|
|
97
90
|
return data;
|
|
@@ -304,7 +297,7 @@ class ComponentWriterMain {
|
|
|
304
297
|
});
|
|
305
298
|
}
|
|
306
299
|
getWriteParamsOfOneComponent(component, opts) {
|
|
307
|
-
const componentRootDir = opts.writeToPath ? (0,
|
|
300
|
+
const componentRootDir = opts.writeToPath ? (0, _legacy().pathNormalizeToLinux)(this.consumer.getPathRelativeToConsumer(path().resolve(opts.writeToPath))) : this.consumer.composeRelativeComponentPath(component.id);
|
|
308
301
|
const getParams = () => {
|
|
309
302
|
if (!this.consumer) {
|
|
310
303
|
return {};
|
|
@@ -320,6 +313,7 @@ class ComponentWriterMain {
|
|
|
320
313
|
};
|
|
321
314
|
return _objectSpread({
|
|
322
315
|
workspace: this.workspace,
|
|
316
|
+
// @ts-ignore todo: remove after deleting teambit.legacy
|
|
323
317
|
bitMap: this.consumer.bitMap,
|
|
324
318
|
component,
|
|
325
319
|
writeToPath: componentRootDir,
|
|
@@ -355,10 +349,10 @@ to move all component files to a different directory, run bit remove and then bi
|
|
|
355
349
|
// if writeToPath specified and that directory is already used for that component, it's ok to override
|
|
356
350
|
if (opts.writeToPath && componentMap && componentMap.rootDir && componentMap.rootDir === opts.writeToPath) return;
|
|
357
351
|
if (_fsExtra().default.pathExistsSync(componentDir)) {
|
|
358
|
-
if (!(0,
|
|
352
|
+
if (!(0, _legacy().isDir)(componentDir)) {
|
|
359
353
|
throw new (_bitError().BitError)(`unable to import to ${componentDir} because it's a file`);
|
|
360
354
|
}
|
|
361
|
-
if (!(0,
|
|
355
|
+
if (!(0, _legacy().isDirEmptySync)(componentDir) && opts.throwForExistingDir) {
|
|
362
356
|
throw new (_bitError().BitError)(`unable to import to ${componentDir}, the directory is not empty. use --override flag to delete the directory and then import`);
|
|
363
357
|
}
|
|
364
358
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_cli","data","require","_compiler","_install","_logger","_workspace","_bitError","_fsExtra","_interopRequireDefault","_lodash","_pMapSeries","path","_interopRequireWildcard","_mover","_utils","_path2","_constants","_dataToPersist","_configMerger","_componentWriter","_componentWriter2","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","ownKeys","keys","getOwnPropertySymbols","o","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","value","configurable","writable","_toPrimitive","Symbol","toPrimitive","TypeError","String","Number","ComponentWriterMain","constructor","installer","compiler","workspace","logger","mover","configMerge","consumer","writeMany","opts","components","debug","populateComponentsFilesToWrite","moveComponentsIfNeeded","persistComponentsData","skipUpdatingBitMap","writeBitMap","reasonForBitmapChange","installationError","compilationError","workspaceConfigUpdateResult","shouldUpdateWorkspaceConfig","updateDepsInWorkspaceConfig","mergeStrategy","skipDependencyInstallation","installPackagesGracefully","skipWriteConfigFiles","compileGracefully","installOpts","dedupe","updateExisting","import","writeConfigFiles","install","undefined","err","consoleFailure","message","error","compileOnWorkspace","skipWritingToFs","dataToPersist","DataToPersist","component","merge","addBasePath","getPath","persistAllToFS","writeComponentsParams","map","getWriteParamsOfOneComponent","componentWriterInstances","writeParams","ComponentWriter","fixDirsIfEqual","fixDirsIfNested","Promise","all","componentWriter","existingComponentMap","addComponentToBitMap","writeToPath","componentConfigPath","join","rootDir","COMPONENT_CONFIG_FILE_NAME","componentConfigExist","fs","pathExists","writeConfig","resetConfig","config","mapSeries","allDirs","c","duplicatedDirs","dir","d","uniqDuplicates","uniq","compDir","hasDuplication","compWriter","ownerName","id","scope","includes","split","startsWith","incrementPathRecursively","parentsOfOthersComps","find","existingRootDirs","bitMap","getAllRootDirs","parentsOfOthersCompsDirs","allPaths","newPath","existingParent","existingChildren","replace","componentRootDir","pathNormalizeToLinux","getPathRelativeToConsumer","resolve","composeRelativeComponentPath","getParams","componentMap","getComponentIfExist","ignoreVersion","throwErrorWhenDirectoryNotEmpty","toAbsolutePath","BitError","relativeWrittenPath","writtenPath","absoluteWrittenPath","absoluteWriteToPath","moveExistingComponent","componentDir","pathExistsSync","isDir","isDirEmptySync","throwForExistingDir","provider","loggerMain","configMerger","createLogger","ComponentWriterAspect","exports","InstallAspect","CompilerAspect","LoggerAspect","WorkspaceAspect","MoverAspect","ConfigMergerAspect","MainRuntime","addRuntime","_default","p","incrementPath","str","number","num"],"sources":["component-writer.main.runtime.ts"],"sourcesContent":["import { MainRuntime } from '@teambit/cli';\nimport { CompilerAspect, CompilerMain } from '@teambit/compiler';\nimport { InstallAspect, InstallMain } from '@teambit/install';\nimport { Logger, LoggerAspect, LoggerMain } from '@teambit/logger';\nimport { WorkspaceAspect, Workspace } from '@teambit/workspace';\nimport { BitError } from '@teambit/bit-error';\nimport fs from 'fs-extra';\nimport { uniq } from 'lodash';\nimport mapSeries from 'p-map-series';\nimport * as path from 'path';\nimport { MoverAspect, MoverMain } from '@teambit/mover';\nimport ConsumerComponent from '@teambit/legacy/dist/consumer/component';\nimport { isDir, isDirEmptySync } from '@teambit/legacy/dist/utils';\nimport { PathLinuxRelative, pathNormalizeToLinux, PathOsBasedAbsolute } from '@teambit/legacy/dist/utils/path';\nimport ComponentMap from '@teambit/legacy/dist/consumer/bit-map/component-map';\nimport { COMPONENT_CONFIG_FILE_NAME } from '@teambit/legacy/dist/constants';\nimport DataToPersist from '@teambit/legacy/dist/consumer/component/sources/data-to-persist';\nimport { ConfigMergerAspect, ConfigMergerMain, WorkspaceConfigUpdateResult } from '@teambit/config-merger';\nimport { MergeStrategy } from '@teambit/merging';\nimport Consumer from '@teambit/legacy/dist/consumer/consumer';\nimport ComponentWriter, { ComponentWriterProps } from './component-writer';\nimport { ComponentWriterAspect } from './component-writer.aspect';\n\nexport interface ManyComponentsWriterParams {\n components: ConsumerComponent[];\n writeToPath?: string;\n throwForExistingDir?: boolean;\n writeConfig?: boolean;\n skipDependencyInstallation?: boolean;\n verbose?: boolean;\n resetConfig?: boolean;\n skipWritingToFs?: boolean;\n skipUpdatingBitMap?: boolean;\n skipWriteConfigFiles?: boolean;\n reasonForBitmapChange?: string; // optional. will be written in the bitmap-history-metadata\n shouldUpdateWorkspaceConfig?: boolean; // whether it should update dependencies policy (or leave conflicts) in workspace.jsonc\n mergeStrategy?: MergeStrategy; // needed for workspace.jsonc conflicts\n}\n\nexport type ComponentWriterResults = {\n installationError?: Error;\n compilationError?: Error;\n workspaceConfigUpdateResult?: WorkspaceConfigUpdateResult;\n};\n\nexport class ComponentWriterMain {\n constructor(\n private installer: InstallMain,\n private compiler: CompilerMain,\n private workspace: Workspace,\n private logger: Logger,\n private mover: MoverMain,\n private configMerge: ConfigMergerMain\n ) {}\n\n get consumer(): Consumer {\n return this.workspace.consumer;\n }\n\n async writeMany(opts: ManyComponentsWriterParams): Promise<ComponentWriterResults> {\n if (!opts.components.length) return {};\n this.logger.debug('writeMany, started');\n await this.populateComponentsFilesToWrite(opts);\n this.moveComponentsIfNeeded(opts);\n await this.persistComponentsData(opts);\n if (!opts.skipUpdatingBitMap) await this.consumer.writeBitMap(opts.reasonForBitmapChange);\n let installationError: Error | undefined;\n let compilationError: Error | undefined;\n let workspaceConfigUpdateResult: WorkspaceConfigUpdateResult | undefined;\n if (opts.shouldUpdateWorkspaceConfig) {\n workspaceConfigUpdateResult = await this.configMerge.updateDepsInWorkspaceConfig(\n opts.components,\n opts.mergeStrategy\n );\n }\n if (!opts.skipDependencyInstallation) {\n installationError = await this.installPackagesGracefully(opts.skipWriteConfigFiles);\n // no point to compile if the installation is not running. the environment is not ready.\n compilationError = await this.compileGracefully();\n }\n this.logger.debug('writeMany, completed!');\n return { installationError, compilationError, workspaceConfigUpdateResult };\n }\n\n private async installPackagesGracefully(skipWriteConfigFiles = false): Promise<Error | undefined> {\n this.logger.debug('installPackagesGracefully, start installing packages');\n try {\n const installOpts = {\n dedupe: true,\n updateExisting: false,\n import: false,\n writeConfigFiles: !skipWriteConfigFiles,\n };\n await this.installer.install(undefined, installOpts);\n this.logger.debug('installPackagesGracefully, completed installing packages successfully');\n return undefined;\n } catch (err: any) {\n this.logger.consoleFailure(`installation failed with the following error: ${err.message}`);\n this.logger.error('installPackagesGracefully, package-installer found an error', err);\n return err;\n }\n }\n private async compileGracefully(): Promise<Error | undefined> {\n try {\n await this.compiler.compileOnWorkspace();\n return undefined;\n } catch (err: any) {\n this.logger.consoleFailure(`compilation failed with the following error: ${err.message}`);\n this.logger.error('compileGracefully, compiler found an error', err);\n return err;\n }\n }\n private async persistComponentsData(opts: ManyComponentsWriterParams) {\n if (opts.skipWritingToFs) return;\n const dataToPersist = new DataToPersist();\n opts.components.forEach((component) => dataToPersist.merge(component.dataToPersist));\n dataToPersist.addBasePath(this.consumer.getPath());\n await dataToPersist.persistAllToFS();\n }\n private async populateComponentsFilesToWrite(opts: ManyComponentsWriterParams) {\n const writeComponentsParams = opts.components.map((component) =>\n this.getWriteParamsOfOneComponent(component, opts)\n );\n const componentWriterInstances = writeComponentsParams.map((writeParams) => new ComponentWriter(writeParams));\n this.fixDirsIfEqual(componentWriterInstances);\n this.fixDirsIfNested(componentWriterInstances);\n // add componentMap entries into .bitmap before starting the process because steps like writing package-json\n // rely on .bitmap to determine whether a dependency exists and what's its origin\n await Promise.all(\n componentWriterInstances.map(async (componentWriter: ComponentWriter) => {\n componentWriter.existingComponentMap =\n componentWriter.existingComponentMap ||\n (await componentWriter.addComponentToBitMap(componentWriter.writeToPath));\n const componentConfigPath = path.join(\n this.workspace.path,\n componentWriter.existingComponentMap.rootDir,\n COMPONENT_CONFIG_FILE_NAME\n );\n const componentConfigExist = await fs.pathExists(componentConfigPath);\n componentWriter.writeConfig = componentWriter.writeConfig || componentConfigExist;\n })\n );\n if (opts.resetConfig) {\n componentWriterInstances.forEach((componentWriter: ComponentWriter) => {\n delete componentWriter.existingComponentMap?.config;\n });\n }\n await mapSeries(componentWriterInstances, (componentWriter: ComponentWriter) =>\n componentWriter.populateComponentsFilesToWrite()\n );\n }\n\n /**\n * this started to be an issue once same-name different-scope is supported.\n * by default, the component-dir consist of the scope-name part of the scope-id, without the owner part.\n * as a result, it's possible that multiple components have the same name, same scope-name but different owner.\n * e.g. org1.ui/button and org2.ui/button. the component-dir for both is \"ui/button\".\n * in this case, we try to prefix the component-dir with the owner-name and if not possible, just increment it (ui/button_1)\n */\n private fixDirsIfEqual(componentWriterInstances: ComponentWriter[]) {\n const allDirs = componentWriterInstances.map((c) => c.writeToPath);\n const duplicatedDirs = allDirs.filter((dir) => allDirs.filter((d) => d === dir).length > 1);\n if (!duplicatedDirs.length) return;\n const uniqDuplicates = uniq(duplicatedDirs);\n uniqDuplicates.forEach((compDir) => {\n const hasDuplication = componentWriterInstances.filter((compWriter) => compWriter.writeToPath === compDir);\n hasDuplication.forEach((compWriter) => {\n const ownerName = compWriter.component.id.scope?.includes('.')\n ? compWriter.component.id.scope.split('.')[0]\n : undefined;\n if (ownerName && !compDir.startsWith(ownerName) && !allDirs.includes(`${ownerName}/${compDir}`)) {\n compWriter.writeToPath = `${ownerName}/${compDir}`;\n } else {\n compWriter.writeToPath = incrementPathRecursively(compWriter.writeToPath, allDirs);\n }\n allDirs.push(compWriter.writeToPath);\n });\n });\n }\n\n /**\n * e.g. [bar, bar/foo] => [bar_1, bar/foo]\n * otherwise, the bar/foo component will be saved inside \"bar\" component.\n * in case bar_1 is taken, increment to bar_2 until the name is available.\n */\n private fixDirsIfNested(componentWriterInstances: ComponentWriter[]) {\n const allDirs = componentWriterInstances.map((c) => c.writeToPath);\n\n // get all components that their root-dir is a parent of other components root-dir.\n const parentsOfOthersComps = componentWriterInstances.filter(({ writeToPath }) =>\n allDirs.find((d) => d.startsWith(`${writeToPath}/`))\n );\n const existingRootDirs = this.workspace.bitMap.getAllRootDirs();\n const parentsOfOthersCompsDirs = parentsOfOthersComps.map((c) => c.writeToPath);\n const allPaths: PathLinuxRelative[] = [...existingRootDirs, ...parentsOfOthersCompsDirs];\n\n // this is when writing multiple components and some of them are parents of the others.\n // change the paths of all these parents root-dir to not collide with the children root-dir\n parentsOfOthersComps.forEach((componentWriter) => {\n if (existingRootDirs.includes(componentWriter.writeToPath)) return; // component already exists.\n const newPath = incrementPathRecursively(componentWriter.writeToPath, allPaths);\n componentWriter.writeToPath = newPath;\n });\n\n // this part is when a component's rootDir we about to write is a children of an existing rootDir.\n // e.g. we're now writing \"foo\", when an existing component has \"foo/bar\" as the rootDir.\n // in this case, we change \"foo\" to be \"foo_1\".\n componentWriterInstances.forEach((componentWriter) => {\n const existingParent = existingRootDirs.find((d) => d.startsWith(`${componentWriter.writeToPath}/`));\n if (!existingParent) return;\n if (existingRootDirs.includes(componentWriter.writeToPath)) return; // component already exists.\n const newPath = incrementPathRecursively(componentWriter.writeToPath, allPaths);\n componentWriter.writeToPath = newPath;\n });\n\n // this part if when for example an existing rootDir is \"comp1\" and currently written component is \"comp1/foo\".\n // obviously we don't want to change existing dirs. we change the \"comp1/foo\" to be \"comp1_1/foo\".\n componentWriterInstances.forEach((componentWriter) => {\n const existingChildren = existingRootDirs.find((d) => componentWriter.writeToPath.startsWith(`${d}/`));\n if (!existingChildren) return;\n // we increment the existing one, because it is used to replace the base-path of the current component\n const newPath = incrementPathRecursively(existingChildren, allPaths);\n componentWriter.writeToPath = componentWriter.writeToPath.replace(existingChildren, newPath);\n });\n }\n\n private getWriteParamsOfOneComponent(\n component: ConsumerComponent,\n opts: ManyComponentsWriterParams\n ): ComponentWriterProps {\n const componentRootDir: PathLinuxRelative = opts.writeToPath\n ? pathNormalizeToLinux(this.consumer.getPathRelativeToConsumer(path.resolve(opts.writeToPath)))\n : this.consumer.composeRelativeComponentPath(component.id);\n const getParams = () => {\n if (!this.consumer) {\n return {};\n }\n // components can't be saved with multiple versions, so we can ignore the version to find the component in bit.map\n const componentMap = this.consumer.bitMap.getComponentIfExist(component.id, {\n ignoreVersion: true,\n });\n this.throwErrorWhenDirectoryNotEmpty(this.consumer.toAbsolutePath(componentRootDir), componentMap, opts);\n return {\n existingComponentMap: componentMap,\n };\n };\n return {\n workspace: this.workspace,\n bitMap: this.consumer.bitMap,\n component,\n writeToPath: componentRootDir,\n writeConfig: opts.writeConfig,\n skipUpdatingBitMap: opts.skipUpdatingBitMap,\n ...getParams(),\n };\n }\n private moveComponentsIfNeeded(opts: ManyComponentsWriterParams) {\n if (opts.writeToPath && this.consumer) {\n opts.components.forEach((component) => {\n const componentMap = component.componentMap as ComponentMap;\n if (!componentMap.rootDir) {\n throw new BitError(`unable to use \"--path\" flag.\nto move individual files, use bit move.\nto move all component files to a different directory, run bit remove and then bit import --path`);\n }\n const relativeWrittenPath = component.writtenPath;\n // @ts-ignore relativeWrittenPath is set at this point\n const absoluteWrittenPath = this.consumer.toAbsolutePath(relativeWrittenPath);\n // @ts-ignore this.writeToPath is set at this point\n const absoluteWriteToPath = path.resolve(opts.writeToPath); // don't use consumer.toAbsolutePath, it might be an inner dir\n if (relativeWrittenPath && absoluteWrittenPath !== absoluteWriteToPath) {\n this.mover.moveExistingComponent(component, absoluteWrittenPath, absoluteWriteToPath);\n }\n });\n }\n }\n private throwErrorWhenDirectoryNotEmpty(\n componentDir: PathOsBasedAbsolute,\n componentMap: ComponentMap | null | undefined,\n opts: ManyComponentsWriterParams\n ) {\n if (opts.skipWritingToFs) return;\n // if not writeToPath specified, it goes to the default directory. When componentMap exists, the\n // component is not new, and it's ok to override the existing directory.\n if (!opts.writeToPath && componentMap) return;\n // if writeToPath specified and that directory is already used for that component, it's ok to override\n if (opts.writeToPath && componentMap && componentMap.rootDir && componentMap.rootDir === opts.writeToPath) return;\n\n if (fs.pathExistsSync(componentDir)) {\n if (!isDir(componentDir)) {\n throw new BitError(`unable to import to ${componentDir} because it's a file`);\n }\n if (!isDirEmptySync(componentDir) && opts.throwForExistingDir) {\n throw new BitError(\n `unable to import to ${componentDir}, the directory is not empty. use --override flag to delete the directory and then import`\n );\n }\n }\n }\n\n static slots = [];\n static dependencies = [InstallAspect, CompilerAspect, LoggerAspect, WorkspaceAspect, MoverAspect, ConfigMergerAspect];\n static runtime = MainRuntime;\n static async provider([install, compiler, loggerMain, workspace, mover, configMerger]: [\n InstallMain,\n CompilerMain,\n LoggerMain,\n Workspace,\n MoverMain,\n ConfigMergerMain\n ]) {\n const logger = loggerMain.createLogger(ComponentWriterAspect.id);\n return new ComponentWriterMain(install, compiler, workspace, logger, mover, configMerger);\n }\n}\n\nComponentWriterAspect.addRuntime(ComponentWriterMain);\n\nexport default ComponentWriterMain;\n\nexport function incrementPathRecursively(p: string, allPaths: string[]) {\n const incrementPath = (str: string, number: number) => `${str}_${number}`;\n let num = 1;\n let newPath = incrementPath(p, num);\n while (allPaths.includes(newPath)) {\n newPath = incrementPath(p, (num += 1));\n }\n return newPath;\n}\n"],"mappings":";;;;;;;AAAA,SAAAA,KAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,IAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAE,UAAA;EAAA,MAAAF,IAAA,GAAAC,OAAA;EAAAC,SAAA,YAAAA,CAAA;IAAA,OAAAF,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAG,SAAA;EAAA,MAAAH,IAAA,GAAAC,OAAA;EAAAE,QAAA,YAAAA,CAAA;IAAA,OAAAH,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAI,QAAA;EAAA,MAAAJ,IAAA,GAAAC,OAAA;EAAAG,OAAA,YAAAA,CAAA;IAAA,OAAAJ,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAK,WAAA;EAAA,MAAAL,IAAA,GAAAC,OAAA;EAAAI,UAAA,YAAAA,CAAA;IAAA,OAAAL,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAM,UAAA;EAAA,MAAAN,IAAA,GAAAC,OAAA;EAAAK,SAAA,YAAAA,CAAA;IAAA,OAAAN,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAO,SAAA;EAAA,MAAAP,IAAA,GAAAQ,sBAAA,CAAAP,OAAA;EAAAM,QAAA,YAAAA,CAAA;IAAA,OAAAP,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAS,QAAA;EAAA,MAAAT,IAAA,GAAAC,OAAA;EAAAQ,OAAA,YAAAA,CAAA;IAAA,OAAAT,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAU,YAAA;EAAA,MAAAV,IAAA,GAAAQ,sBAAA,CAAAP,OAAA;EAAAS,WAAA,YAAAA,CAAA;IAAA,OAAAV,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAW,KAAA;EAAA,MAAAX,IAAA,GAAAY,uBAAA,CAAAX,OAAA;EAAAU,IAAA,YAAAA,CAAA;IAAA,OAAAX,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAa,OAAA;EAAA,MAAAb,IAAA,GAAAC,OAAA;EAAAY,MAAA,YAAAA,CAAA;IAAA,OAAAb,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,SAAAc,OAAA;EAAA,MAAAd,IAAA,GAAAC,OAAA;EAAAa,MAAA,YAAAA,CAAA;IAAA,OAAAd,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAe,OAAA;EAAA,MAAAf,IAAA,GAAAC,OAAA;EAAAc,MAAA,YAAAA,CAAA;IAAA,OAAAf,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,SAAAgB,WAAA;EAAA,MAAAhB,IAAA,GAAAC,OAAA;EAAAe,UAAA,YAAAA,CAAA;IAAA,OAAAhB,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAiB,eAAA;EAAA,MAAAjB,IAAA,GAAAQ,sBAAA,CAAAP,OAAA;EAAAgB,cAAA,YAAAA,CAAA;IAAA,OAAAjB,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAkB,cAAA;EAAA,MAAAlB,IAAA,GAAAC,OAAA;EAAAiB,aAAA,YAAAA,CAAA;IAAA,OAAAlB,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAGA,SAAAmB,iBAAA;EAAA,MAAAnB,IAAA,GAAAQ,sBAAA,CAAAP,OAAA;EAAAkB,gBAAA,YAAAA,CAAA;IAAA,OAAAnB,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAoB,kBAAA;EAAA,MAAApB,IAAA,GAAAC,OAAA;EAAAmB,iBAAA,YAAAA,CAAA;IAAA,OAAApB,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAAkE,SAAAqB,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAV,wBAAAU,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,OAAAC,cAAA,CAAAC,IAAA,CAAAhB,CAAA,EAAAc,CAAA,SAAAG,CAAA,GAAAP,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAG,CAAA,KAAAA,CAAA,CAAAV,GAAA,IAAAU,CAAA,CAAAC,GAAA,IAAAP,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAG,CAAA,IAAAT,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAe,GAAA,CAAAlB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAAA,SAAAtB,uBAAAc,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAI,UAAA,GAAAJ,CAAA,KAAAK,OAAA,EAAAL,CAAA;AAAA,SAAAmB,QAAAnB,CAAA,EAAAE,CAAA,QAAAC,CAAA,GAAAQ,MAAA,CAAAS,IAAA,CAAApB,CAAA,OAAAW,MAAA,CAAAU,qBAAA,QAAAC,CAAA,GAAAX,MAAA,CAAAU,qBAAA,CAAArB,CAAA,GAAAE,CAAA,KAAAoB,CAAA,GAAAA,CAAA,CAAAC,MAAA,WAAArB,CAAA,WAAAS,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAE,CAAA,EAAAsB,UAAA,OAAArB,CAAA,CAAAsB,IAAA,CAAAC,KAAA,CAAAvB,CAAA,EAAAmB,CAAA,YAAAnB,CAAA;AAAA,SAAAwB,cAAA3B,CAAA,aAAAE,CAAA,MAAAA,CAAA,GAAA0B,SAAA,CAAAC,MAAA,EAAA3B,CAAA,UAAAC,CAAA,WAAAyB,SAAA,CAAA1B,CAAA,IAAA0B,SAAA,CAAA1B,CAAA,QAAAA,CAAA,OAAAiB,OAAA,CAAAR,MAAA,CAAAR,CAAA,OAAA2B,OAAA,WAAA5B,CAAA,IAAA6B,eAAA,CAAA/B,CAAA,EAAAE,CAAA,EAAAC,CAAA,CAAAD,CAAA,SAAAS,MAAA,CAAAqB,yBAAA,GAAArB,MAAA,CAAAsB,gBAAA,CAAAjC,CAAA,EAAAW,MAAA,CAAAqB,yBAAA,CAAA7B,CAAA,KAAAgB,OAAA,CAAAR,MAAA,CAAAR,CAAA,GAAA2B,OAAA,WAAA5B,CAAA,IAAAS,MAAA,CAAAC,cAAA,CAAAZ,CAAA,EAAAE,CAAA,EAAAS,MAAA,CAAAE,wBAAA,CAAAV,CAAA,EAAAD,CAAA,iBAAAF,CAAA;AAAA,SAAA+B,gBAAA/B,CAAA,EAAAE,CAAA,EAAAC,CAAA,YAAAD,CAAA,GAAAgC,cAAA,CAAAhC,CAAA,MAAAF,CAAA,GAAAW,MAAA,CAAAC,cAAA,CAAAZ,CAAA,EAAAE,CAAA,IAAAiC,KAAA,EAAAhC,CAAA,EAAAqB,UAAA,MAAAY,YAAA,MAAAC,QAAA,UAAArC,CAAA,CAAAE,CAAA,IAAAC,CAAA,EAAAH,CAAA;AAAA,SAAAkC,eAAA/B,CAAA,QAAAc,CAAA,GAAAqB,YAAA,CAAAnC,CAAA,uCAAAc,CAAA,GAAAA,CAAA,GAAAA,CAAA;AAAA,SAAAqB,aAAAnC,CAAA,EAAAD,CAAA,2BAAAC,CAAA,KAAAA,CAAA,SAAAA,CAAA,MAAAH,CAAA,GAAAG,CAAA,CAAAoC,MAAA,CAAAC,WAAA,kBAAAxC,CAAA,QAAAiB,CAAA,GAAAjB,CAAA,CAAAgB,IAAA,CAAAb,CAAA,EAAAD,CAAA,uCAAAe,CAAA,SAAAA,CAAA,YAAAwB,SAAA,yEAAAvC,CAAA,GAAAwC,MAAA,GAAAC,MAAA,EAAAxC,CAAA;AAwB3D,MAAMyC,mBAAmB,CAAC;EAC/BC,WAAWA,CACDC,SAAsB,EACtBC,QAAsB,EACtBC,SAAoB,EACpBC,MAAc,EACdC,KAAgB,EAChBC,WAA6B,EACrC;IAAA,KANQL,SAAsB,GAAtBA,SAAsB;IAAA,KACtBC,QAAsB,GAAtBA,QAAsB;IAAA,KACtBC,SAAoB,GAApBA,SAAoB;IAAA,KACpBC,MAAc,GAAdA,MAAc;IAAA,KACdC,KAAgB,GAAhBA,KAAgB;IAAA,KAChBC,WAA6B,GAA7BA,WAA6B;EACpC;EAEH,IAAIC,QAAQA,CAAA,EAAa;IACvB,OAAO,IAAI,CAACJ,SAAS,CAACI,QAAQ;EAChC;EAEA,MAAMC,SAASA,CAACC,IAAgC,EAAmC;IACjF,IAAI,CAACA,IAAI,CAACC,UAAU,CAAC1B,MAAM,EAAE,OAAO,CAAC,CAAC;IACtC,IAAI,CAACoB,MAAM,CAACO,KAAK,CAAC,oBAAoB,CAAC;IACvC,MAAM,IAAI,CAACC,8BAA8B,CAACH,IAAI,CAAC;IAC/C,IAAI,CAACI,sBAAsB,CAACJ,IAAI,CAAC;IACjC,MAAM,IAAI,CAACK,qBAAqB,CAACL,IAAI,CAAC;IACtC,IAAI,CAACA,IAAI,CAACM,kBAAkB,EAAE,MAAM,IAAI,CAACR,QAAQ,CAACS,WAAW,CAACP,IAAI,CAACQ,qBAAqB,CAAC;IACzF,IAAIC,iBAAoC;IACxC,IAAIC,gBAAmC;IACvC,IAAIC,2BAAoE;IACxE,IAAIX,IAAI,CAACY,2BAA2B,EAAE;MACpCD,2BAA2B,GAAG,MAAM,IAAI,CAACd,WAAW,CAACgB,2BAA2B,CAC9Eb,IAAI,CAACC,UAAU,EACfD,IAAI,CAACc,aACP,CAAC;IACH;IACA,IAAI,CAACd,IAAI,CAACe,0BAA0B,EAAE;MACpCN,iBAAiB,GAAG,MAAM,IAAI,CAACO,yBAAyB,CAAChB,IAAI,CAACiB,oBAAoB,CAAC;MACnF;MACAP,gBAAgB,GAAG,MAAM,IAAI,CAACQ,iBAAiB,CAAC,CAAC;IACnD;IACA,IAAI,CAACvB,MAAM,CAACO,KAAK,CAAC,uBAAuB,CAAC;IAC1C,OAAO;MAAEO,iBAAiB;MAAEC,gBAAgB;MAAEC;IAA4B,CAAC;EAC7E;EAEA,MAAcK,yBAAyBA,CAACC,oBAAoB,GAAG,KAAK,EAA8B;IAChG,IAAI,CAACtB,MAAM,CAACO,KAAK,CAAC,sDAAsD,CAAC;IACzE,IAAI;MACF,MAAMiB,WAAW,GAAG;QAClBC,MAAM,EAAE,IAAI;QACZC,cAAc,EAAE,KAAK;QACrBC,MAAM,EAAE,KAAK;QACbC,gBAAgB,EAAE,CAACN;MACrB,CAAC;MACD,MAAM,IAAI,CAACzB,SAAS,CAACgC,OAAO,CAACC,SAAS,EAAEN,WAAW,CAAC;MACpD,IAAI,CAACxB,MAAM,CAACO,KAAK,CAAC,uEAAuE,CAAC;MAC1F,OAAOuB,SAAS;IAClB,CAAC,CAAC,OAAOC,GAAQ,EAAE;MACjB,IAAI,CAAC/B,MAAM,CAACgC,cAAc,CAAC,iDAAiDD,GAAG,CAACE,OAAO,EAAE,CAAC;MAC1F,IAAI,CAACjC,MAAM,CAACkC,KAAK,CAAC,6DAA6D,EAAEH,GAAG,CAAC;MACrF,OAAOA,GAAG;IACZ;EACF;EACA,MAAcR,iBAAiBA,CAAA,EAA+B;IAC5D,IAAI;MACF,MAAM,IAAI,CAACzB,QAAQ,CAACqC,kBAAkB,CAAC,CAAC;MACxC,OAAOL,SAAS;IAClB,CAAC,CAAC,OAAOC,GAAQ,EAAE;MACjB,IAAI,CAAC/B,MAAM,CAACgC,cAAc,CAAC,gDAAgDD,GAAG,CAACE,OAAO,EAAE,CAAC;MACzF,IAAI,CAACjC,MAAM,CAACkC,KAAK,CAAC,4CAA4C,EAAEH,GAAG,CAAC;MACpE,OAAOA,GAAG;IACZ;EACF;EACA,MAAcrB,qBAAqBA,CAACL,IAAgC,EAAE;IACpE,IAAIA,IAAI,CAAC+B,eAAe,EAAE;IAC1B,MAAMC,aAAa,GAAG,KAAIC,wBAAa,EAAC,CAAC;IACzCjC,IAAI,CAACC,UAAU,CAACzB,OAAO,CAAE0D,SAAS,IAAKF,aAAa,CAACG,KAAK,CAACD,SAAS,CAACF,aAAa,CAAC,CAAC;IACpFA,aAAa,CAACI,WAAW,CAAC,IAAI,CAACtC,QAAQ,CAACuC,OAAO,CAAC,CAAC,CAAC;IAClD,MAAML,aAAa,CAACM,cAAc,CAAC,CAAC;EACtC;EACA,MAAcnC,8BAA8BA,CAACH,IAAgC,EAAE;IAC7E,MAAMuC,qBAAqB,GAAGvC,IAAI,CAACC,UAAU,CAACuC,GAAG,CAAEN,SAAS,IAC1D,IAAI,CAACO,4BAA4B,CAACP,SAAS,EAAElC,IAAI,CACnD,CAAC;IACD,MAAM0C,wBAAwB,GAAGH,qBAAqB,CAACC,GAAG,CAAEG,WAAW,IAAK,KAAIC,0BAAe,EAACD,WAAW,CAAC,CAAC;IAC7G,IAAI,CAACE,cAAc,CAACH,wBAAwB,CAAC;IAC7C,IAAI,CAACI,eAAe,CAACJ,wBAAwB,CAAC;IAC9C;IACA;IACA,MAAMK,OAAO,CAACC,GAAG,CACfN,wBAAwB,CAACF,GAAG,CAAC,MAAOS,eAAgC,IAAK;MACvEA,eAAe,CAACC,oBAAoB,GAClCD,eAAe,CAACC,oBAAoB,KACnC,MAAMD,eAAe,CAACE,oBAAoB,CAACF,eAAe,CAACG,WAAW,CAAC,CAAC;MAC3E,MAAMC,mBAAmB,GAAGtH,IAAI,CAAD,CAAC,CAACuH,IAAI,CACnC,IAAI,CAAC5D,SAAS,CAAC3D,IAAI,EACnBkH,eAAe,CAACC,oBAAoB,CAACK,OAAO,EAC5CC,uCACF,CAAC;MACD,MAAMC,oBAAoB,GAAG,MAAMC,kBAAE,CAACC,UAAU,CAACN,mBAAmB,CAAC;MACrEJ,eAAe,CAACW,WAAW,GAAGX,eAAe,CAACW,WAAW,IAAIH,oBAAoB;IACnF,CAAC,CACH,CAAC;IACD,IAAIzD,IAAI,CAAC6D,WAAW,EAAE;MACpBnB,wBAAwB,CAAClE,OAAO,CAAEyE,eAAgC,IAAK;QACrE,OAAOA,eAAe,CAACC,oBAAoB,EAAEY,MAAM;MACrD,CAAC,CAAC;IACJ;IACA,MAAM,IAAAC,qBAAS,EAACrB,wBAAwB,EAAGO,eAAgC,IACzEA,eAAe,CAAC9C,8BAA8B,CAAC,CACjD,CAAC;EACH;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;EACU0C,cAAcA,CAACH,wBAA2C,EAAE;IAClE,MAAMsB,OAAO,GAAGtB,wBAAwB,CAACF,GAAG,CAAEyB,CAAC,IAAKA,CAAC,CAACb,WAAW,CAAC;IAClE,MAAMc,cAAc,GAAGF,OAAO,CAAC/F,MAAM,CAAEkG,GAAG,IAAKH,OAAO,CAAC/F,MAAM,CAAEmG,CAAC,IAAKA,CAAC,KAAKD,GAAG,CAAC,CAAC5F,MAAM,GAAG,CAAC,CAAC;IAC3F,IAAI,CAAC2F,cAAc,CAAC3F,MAAM,EAAE;IAC5B,MAAM8F,cAAc,GAAG,IAAAC,cAAI,EAACJ,cAAc,CAAC;IAC3CG,cAAc,CAAC7F,OAAO,CAAE+F,OAAO,IAAK;MAClC,MAAMC,cAAc,GAAG9B,wBAAwB,CAACzE,MAAM,CAAEwG,UAAU,IAAKA,UAAU,CAACrB,WAAW,KAAKmB,OAAO,CAAC;MAC1GC,cAAc,CAAChG,OAAO,CAAEiG,UAAU,IAAK;QACrC,MAAMC,SAAS,GAAGD,UAAU,CAACvC,SAAS,CAACyC,EAAE,CAACC,KAAK,EAAEC,QAAQ,CAAC,GAAG,CAAC,GAC1DJ,UAAU,CAACvC,SAAS,CAACyC,EAAE,CAACC,KAAK,CAACE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAC3CrD,SAAS;QACb,IAAIiD,SAAS,IAAI,CAACH,OAAO,CAACQ,UAAU,CAACL,SAAS,CAAC,IAAI,CAACV,OAAO,CAACa,QAAQ,CAAC,GAAGH,SAAS,IAAIH,OAAO,EAAE,CAAC,EAAE;UAC/FE,UAAU,CAACrB,WAAW,GAAG,GAAGsB,SAAS,IAAIH,OAAO,EAAE;QACpD,CAAC,MAAM;UACLE,UAAU,CAACrB,WAAW,GAAG4B,wBAAwB,CAACP,UAAU,CAACrB,WAAW,EAAEY,OAAO,CAAC;QACpF;QACAA,OAAO,CAAC7F,IAAI,CAACsG,UAAU,CAACrB,WAAW,CAAC;MACtC,CAAC,CAAC;IACJ,CAAC,CAAC;EACJ;;EAEA;AACF;AACA;AACA;AACA;EACUN,eAAeA,CAACJ,wBAA2C,EAAE;IACnE,MAAMsB,OAAO,GAAGtB,wBAAwB,CAACF,GAAG,CAAEyB,CAAC,IAAKA,CAAC,CAACb,WAAW,CAAC;;IAElE;IACA,MAAM6B,oBAAoB,GAAGvC,wBAAwB,CAACzE,MAAM,CAAC,CAAC;MAAEmF;IAAY,CAAC,KAC3EY,OAAO,CAACkB,IAAI,CAAEd,CAAC,IAAKA,CAAC,CAACW,UAAU,CAAC,GAAG3B,WAAW,GAAG,CAAC,CACrD,CAAC;IACD,MAAM+B,gBAAgB,GAAG,IAAI,CAACzF,SAAS,CAAC0F,MAAM,CAACC,cAAc,CAAC,CAAC;IAC/D,MAAMC,wBAAwB,GAAGL,oBAAoB,CAACzC,GAAG,CAAEyB,CAAC,IAAKA,CAAC,CAACb,WAAW,CAAC;IAC/E,MAAMmC,QAA6B,GAAG,CAAC,GAAGJ,gBAAgB,EAAE,GAAGG,wBAAwB,CAAC;;IAExF;IACA;IACAL,oBAAoB,CAACzG,OAAO,CAAEyE,eAAe,IAAK;MAChD,IAAIkC,gBAAgB,CAACN,QAAQ,CAAC5B,eAAe,CAACG,WAAW,CAAC,EAAE,OAAO,CAAC;MACpE,MAAMoC,OAAO,GAAGR,wBAAwB,CAAC/B,eAAe,CAACG,WAAW,EAAEmC,QAAQ,CAAC;MAC/EtC,eAAe,CAACG,WAAW,GAAGoC,OAAO;IACvC,CAAC,CAAC;;IAEF;IACA;IACA;IACA9C,wBAAwB,CAAClE,OAAO,CAAEyE,eAAe,IAAK;MACpD,MAAMwC,cAAc,GAAGN,gBAAgB,CAACD,IAAI,CAAEd,CAAC,IAAKA,CAAC,CAACW,UAAU,CAAC,GAAG9B,eAAe,CAACG,WAAW,GAAG,CAAC,CAAC;MACpG,IAAI,CAACqC,cAAc,EAAE;MACrB,IAAIN,gBAAgB,CAACN,QAAQ,CAAC5B,eAAe,CAACG,WAAW,CAAC,EAAE,OAAO,CAAC;MACpE,MAAMoC,OAAO,GAAGR,wBAAwB,CAAC/B,eAAe,CAACG,WAAW,EAAEmC,QAAQ,CAAC;MAC/EtC,eAAe,CAACG,WAAW,GAAGoC,OAAO;IACvC,CAAC,CAAC;;IAEF;IACA;IACA9C,wBAAwB,CAAClE,OAAO,CAAEyE,eAAe,IAAK;MACpD,MAAMyC,gBAAgB,GAAGP,gBAAgB,CAACD,IAAI,CAAEd,CAAC,IAAKnB,eAAe,CAACG,WAAW,CAAC2B,UAAU,CAAC,GAAGX,CAAC,GAAG,CAAC,CAAC;MACtG,IAAI,CAACsB,gBAAgB,EAAE;MACvB;MACA,MAAMF,OAAO,GAAGR,wBAAwB,CAACU,gBAAgB,EAAEH,QAAQ,CAAC;MACpEtC,eAAe,CAACG,WAAW,GAAGH,eAAe,CAACG,WAAW,CAACuC,OAAO,CAACD,gBAAgB,EAAEF,OAAO,CAAC;IAC9F,CAAC,CAAC;EACJ;EAEQ/C,4BAA4BA,CAClCP,SAA4B,EAC5BlC,IAAgC,EACV;IACtB,MAAM4F,gBAAmC,GAAG5F,IAAI,CAACoD,WAAW,GACxD,IAAAyC,6BAAoB,EAAC,IAAI,CAAC/F,QAAQ,CAACgG,yBAAyB,CAAC/J,IAAI,CAAD,CAAC,CAACgK,OAAO,CAAC/F,IAAI,CAACoD,WAAW,CAAC,CAAC,CAAC,GAC7F,IAAI,CAACtD,QAAQ,CAACkG,4BAA4B,CAAC9D,SAAS,CAACyC,EAAE,CAAC;IAC5D,MAAMsB,SAAS,GAAGA,CAAA,KAAM;MACtB,IAAI,CAAC,IAAI,CAACnG,QAAQ,EAAE;QAClB,OAAO,CAAC,CAAC;MACX;MACA;MACA,MAAMoG,YAAY,GAAG,IAAI,CAACpG,QAAQ,CAACsF,MAAM,CAACe,mBAAmB,CAACjE,SAAS,CAACyC,EAAE,EAAE;QAC1EyB,aAAa,EAAE;MACjB,CAAC,CAAC;MACF,IAAI,CAACC,+BAA+B,CAAC,IAAI,CAACvG,QAAQ,CAACwG,cAAc,CAACV,gBAAgB,CAAC,EAAEM,YAAY,EAAElG,IAAI,CAAC;MACxG,OAAO;QACLkD,oBAAoB,EAAEgD;MACxB,CAAC;IACH,CAAC;IACD,OAAA7H,aAAA;MACEqB,SAAS,EAAE,IAAI,CAACA,SAAS;MACzB0F,MAAM,EAAE,IAAI,CAACtF,QAAQ,CAACsF,MAAM;MAC5BlD,SAAS;MACTkB,WAAW,EAAEwC,gBAAgB;MAC7BhC,WAAW,EAAE5D,IAAI,CAAC4D,WAAW;MAC7BtD,kBAAkB,EAAEN,IAAI,CAACM;IAAkB,GACxC2F,SAAS,CAAC,CAAC;EAElB;EACQ7F,sBAAsBA,CAACJ,IAAgC,EAAE;IAC/D,IAAIA,IAAI,CAACoD,WAAW,IAAI,IAAI,CAACtD,QAAQ,EAAE;MACrCE,IAAI,CAACC,UAAU,CAACzB,OAAO,CAAE0D,SAAS,IAAK;QACrC,MAAMgE,YAAY,GAAGhE,SAAS,CAACgE,YAA4B;QAC3D,IAAI,CAACA,YAAY,CAAC3C,OAAO,EAAE;UACzB,MAAM,KAAIgD,oBAAQ,EAAC;AAC7B;AACA,gGAAgG,CAAC;QACzF;QACA,MAAMC,mBAAmB,GAAGtE,SAAS,CAACuE,WAAW;QACjD;QACA,MAAMC,mBAAmB,GAAG,IAAI,CAAC5G,QAAQ,CAACwG,cAAc,CAACE,mBAAmB,CAAC;QAC7E;QACA,MAAMG,mBAAmB,GAAG5K,IAAI,CAAD,CAAC,CAACgK,OAAO,CAAC/F,IAAI,CAACoD,WAAW,CAAC,CAAC,CAAC;QAC5D,IAAIoD,mBAAmB,IAAIE,mBAAmB,KAAKC,mBAAmB,EAAE;UACtE,IAAI,CAAC/G,KAAK,CAACgH,qBAAqB,CAAC1E,SAAS,EAAEwE,mBAAmB,EAAEC,mBAAmB,CAAC;QACvF;MACF,CAAC,CAAC;IACJ;EACF;EACQN,+BAA+BA,CACrCQ,YAAiC,EACjCX,YAA6C,EAC7ClG,IAAgC,EAChC;IACA,IAAIA,IAAI,CAAC+B,eAAe,EAAE;IAC1B;IACA;IACA,IAAI,CAAC/B,IAAI,CAACoD,WAAW,IAAI8C,YAAY,EAAE;IACvC;IACA,IAAIlG,IAAI,CAACoD,WAAW,IAAI8C,YAAY,IAAIA,YAAY,CAAC3C,OAAO,IAAI2C,YAAY,CAAC3C,OAAO,KAAKvD,IAAI,CAACoD,WAAW,EAAE;IAE3G,IAAIM,kBAAE,CAACoD,cAAc,CAACD,YAAY,CAAC,EAAE;MACnC,IAAI,CAAC,IAAAE,cAAK,EAACF,YAAY,CAAC,EAAE;QACxB,MAAM,KAAIN,oBAAQ,EAAC,uBAAuBM,YAAY,sBAAsB,CAAC;MAC/E;MACA,IAAI,CAAC,IAAAG,uBAAc,EAACH,YAAY,CAAC,IAAI7G,IAAI,CAACiH,mBAAmB,EAAE;QAC7D,MAAM,KAAIV,oBAAQ,EAChB,uBAAuBM,YAAY,2FACrC,CAAC;MACH;IACF;EACF;EAKA,aAAaK,QAAQA,CAAC,CAAC1F,OAAO,EAAE/B,QAAQ,EAAE0H,UAAU,EAAEzH,SAAS,EAAEE,KAAK,EAAEwH,YAAY,CAOnF,EAAE;IACD,MAAMzH,MAAM,GAAGwH,UAAU,CAACE,YAAY,CAACC,yCAAqB,CAAC3C,EAAE,CAAC;IAChE,OAAO,IAAIrF,mBAAmB,CAACkC,OAAO,EAAE/B,QAAQ,EAAEC,SAAS,EAAEC,MAAM,EAAEC,KAAK,EAAEwH,YAAY,CAAC;EAC3F;AACF;AAACG,OAAA,CAAAjI,mBAAA,GAAAA,mBAAA;AAAAb,eAAA,CA7QYa,mBAAmB,WA+Pf,EAAE;AAAAb,eAAA,CA/PNa,mBAAmB,kBAgQR,CAACkI,wBAAa,EAAEC,0BAAc,EAAEC,sBAAY,EAAEC,4BAAe,EAAEC,oBAAW,EAAEC,kCAAkB,CAAC;AAAApJ,eAAA,CAhQ1Ga,mBAAmB,aAiQbwI,kBAAW;AAc9BR,yCAAqB,CAACS,UAAU,CAACzI,mBAAmB,CAAC;AAAC,IAAA0I,QAAA,GAAAT,OAAA,CAAAxK,OAAA,GAEvCuC,mBAAmB;AAE3B,SAAS0F,wBAAwBA,CAACiD,CAAS,EAAE1C,QAAkB,EAAE;EACtE,MAAM2C,aAAa,GAAGA,CAACC,GAAW,EAAEC,MAAc,KAAK,GAAGD,GAAG,IAAIC,MAAM,EAAE;EACzE,IAAIC,GAAG,GAAG,CAAC;EACX,IAAI7C,OAAO,GAAG0C,aAAa,CAACD,CAAC,EAAEI,GAAG,CAAC;EACnC,OAAO9C,QAAQ,CAACV,QAAQ,CAACW,OAAO,CAAC,EAAE;IACjCA,OAAO,GAAG0C,aAAa,CAACD,CAAC,EAAGI,GAAG,IAAI,CAAE,CAAC;EACxC;EACA,OAAO7C,OAAO;AAChB","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_cli","data","require","_compiler","_install","_logger","_workspace","_bitError","_fsExtra","_interopRequireDefault","_lodash","_pMapSeries","path","_interopRequireWildcard","_mover","_legacy","_constants","_dataToPersist","_configMerger","_componentWriter","_componentWriter2","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","ownKeys","keys","getOwnPropertySymbols","o","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","value","configurable","writable","_toPrimitive","Symbol","toPrimitive","TypeError","String","Number","ComponentWriterMain","constructor","installer","compiler","workspace","logger","mover","configMerge","consumer","writeMany","opts","components","debug","populateComponentsFilesToWrite","moveComponentsIfNeeded","persistComponentsData","skipUpdatingBitMap","writeBitMap","reasonForBitmapChange","installationError","compilationError","workspaceConfigUpdateResult","shouldUpdateWorkspaceConfig","updateDepsInWorkspaceConfig","mergeStrategy","skipDependencyInstallation","installPackagesGracefully","skipWriteConfigFiles","compileGracefully","installOpts","dedupe","updateExisting","import","writeConfigFiles","install","undefined","err","consoleFailure","message","error","compileOnWorkspace","skipWritingToFs","dataToPersist","DataToPersist","component","merge","addBasePath","getPath","persistAllToFS","writeComponentsParams","map","getWriteParamsOfOneComponent","componentWriterInstances","writeParams","ComponentWriter","fixDirsIfEqual","fixDirsIfNested","Promise","all","componentWriter","existingComponentMap","addComponentToBitMap","writeToPath","componentConfigPath","join","rootDir","COMPONENT_CONFIG_FILE_NAME","componentConfigExist","fs","pathExists","writeConfig","resetConfig","config","mapSeries","allDirs","c","duplicatedDirs","dir","d","uniqDuplicates","uniq","compDir","hasDuplication","compWriter","ownerName","id","scope","includes","split","startsWith","incrementPathRecursively","parentsOfOthersComps","find","existingRootDirs","bitMap","getAllRootDirs","parentsOfOthersCompsDirs","allPaths","newPath","existingParent","existingChildren","replace","componentRootDir","pathNormalizeToLinux","getPathRelativeToConsumer","resolve","composeRelativeComponentPath","getParams","componentMap","getComponentIfExist","ignoreVersion","throwErrorWhenDirectoryNotEmpty","toAbsolutePath","BitError","relativeWrittenPath","writtenPath","absoluteWrittenPath","absoluteWriteToPath","moveExistingComponent","componentDir","pathExistsSync","isDir","isDirEmptySync","throwForExistingDir","provider","loggerMain","configMerger","createLogger","ComponentWriterAspect","exports","InstallAspect","CompilerAspect","LoggerAspect","WorkspaceAspect","MoverAspect","ConfigMergerAspect","MainRuntime","addRuntime","_default","p","incrementPath","str","number","num"],"sources":["component-writer.main.runtime.ts"],"sourcesContent":["import { MainRuntime } from '@teambit/cli';\nimport { CompilerAspect, CompilerMain } from '@teambit/compiler';\nimport { InstallAspect, InstallMain } from '@teambit/install';\nimport { Logger, LoggerAspect, LoggerMain } from '@teambit/logger';\nimport { WorkspaceAspect, Workspace } from '@teambit/workspace';\nimport { BitError } from '@teambit/bit-error';\nimport fs from 'fs-extra';\nimport { uniq } from 'lodash';\nimport mapSeries from 'p-map-series';\nimport * as path from 'path';\nimport { MoverAspect, MoverMain } from '@teambit/mover';\nimport ConsumerComponent from '@teambit/legacy/dist/consumer/component';\nimport {\n isDir,\n isDirEmptySync,\n PathLinuxRelative,\n pathNormalizeToLinux,\n PathOsBasedAbsolute,\n} from '@teambit/legacy.utils';\nimport { ComponentMap } from '@teambit/legacy.bit-map';\nimport { COMPONENT_CONFIG_FILE_NAME } from '@teambit/legacy/dist/constants';\nimport DataToPersist from '@teambit/legacy/dist/consumer/component/sources/data-to-persist';\nimport { ConfigMergerAspect, ConfigMergerMain, WorkspaceConfigUpdateResult } from '@teambit/config-merger';\nimport { MergeStrategy } from '@teambit/merging';\nimport Consumer from '@teambit/legacy/dist/consumer/consumer';\nimport ComponentWriter, { ComponentWriterProps } from './component-writer';\nimport { ComponentWriterAspect } from './component-writer.aspect';\n\nexport interface ManyComponentsWriterParams {\n components: ConsumerComponent[];\n writeToPath?: string;\n throwForExistingDir?: boolean;\n writeConfig?: boolean;\n skipDependencyInstallation?: boolean;\n verbose?: boolean;\n resetConfig?: boolean;\n skipWritingToFs?: boolean;\n skipUpdatingBitMap?: boolean;\n skipWriteConfigFiles?: boolean;\n reasonForBitmapChange?: string; // optional. will be written in the bitmap-history-metadata\n shouldUpdateWorkspaceConfig?: boolean; // whether it should update dependencies policy (or leave conflicts) in workspace.jsonc\n mergeStrategy?: MergeStrategy; // needed for workspace.jsonc conflicts\n}\n\nexport type ComponentWriterResults = {\n installationError?: Error;\n compilationError?: Error;\n workspaceConfigUpdateResult?: WorkspaceConfigUpdateResult;\n};\n\nexport class ComponentWriterMain {\n constructor(\n private installer: InstallMain,\n private compiler: CompilerMain,\n private workspace: Workspace,\n private logger: Logger,\n private mover: MoverMain,\n private configMerge: ConfigMergerMain\n ) {}\n\n get consumer(): Consumer {\n return this.workspace.consumer;\n }\n\n async writeMany(opts: ManyComponentsWriterParams): Promise<ComponentWriterResults> {\n if (!opts.components.length) return {};\n this.logger.debug('writeMany, started');\n await this.populateComponentsFilesToWrite(opts);\n this.moveComponentsIfNeeded(opts);\n await this.persistComponentsData(opts);\n if (!opts.skipUpdatingBitMap) await this.consumer.writeBitMap(opts.reasonForBitmapChange);\n let installationError: Error | undefined;\n let compilationError: Error | undefined;\n let workspaceConfigUpdateResult: WorkspaceConfigUpdateResult | undefined;\n if (opts.shouldUpdateWorkspaceConfig) {\n workspaceConfigUpdateResult = await this.configMerge.updateDepsInWorkspaceConfig(\n opts.components,\n opts.mergeStrategy\n );\n }\n if (!opts.skipDependencyInstallation) {\n installationError = await this.installPackagesGracefully(opts.skipWriteConfigFiles);\n // no point to compile if the installation is not running. the environment is not ready.\n compilationError = await this.compileGracefully();\n }\n this.logger.debug('writeMany, completed!');\n return { installationError, compilationError, workspaceConfigUpdateResult };\n }\n\n private async installPackagesGracefully(skipWriteConfigFiles = false): Promise<Error | undefined> {\n this.logger.debug('installPackagesGracefully, start installing packages');\n try {\n const installOpts = {\n dedupe: true,\n updateExisting: false,\n import: false,\n writeConfigFiles: !skipWriteConfigFiles,\n };\n await this.installer.install(undefined, installOpts);\n this.logger.debug('installPackagesGracefully, completed installing packages successfully');\n return undefined;\n } catch (err: any) {\n this.logger.consoleFailure(`installation failed with the following error: ${err.message}`);\n this.logger.error('installPackagesGracefully, package-installer found an error', err);\n return err;\n }\n }\n private async compileGracefully(): Promise<Error | undefined> {\n try {\n await this.compiler.compileOnWorkspace();\n return undefined;\n } catch (err: any) {\n this.logger.consoleFailure(`compilation failed with the following error: ${err.message}`);\n this.logger.error('compileGracefully, compiler found an error', err);\n return err;\n }\n }\n private async persistComponentsData(opts: ManyComponentsWriterParams) {\n if (opts.skipWritingToFs) return;\n const dataToPersist = new DataToPersist();\n opts.components.forEach((component) => dataToPersist.merge(component.dataToPersist));\n dataToPersist.addBasePath(this.consumer.getPath());\n await dataToPersist.persistAllToFS();\n }\n private async populateComponentsFilesToWrite(opts: ManyComponentsWriterParams) {\n const writeComponentsParams = opts.components.map((component) =>\n this.getWriteParamsOfOneComponent(component, opts)\n );\n const componentWriterInstances = writeComponentsParams.map((writeParams) => new ComponentWriter(writeParams));\n this.fixDirsIfEqual(componentWriterInstances);\n this.fixDirsIfNested(componentWriterInstances);\n // add componentMap entries into .bitmap before starting the process because steps like writing package-json\n // rely on .bitmap to determine whether a dependency exists and what's its origin\n await Promise.all(\n componentWriterInstances.map(async (componentWriter: ComponentWriter) => {\n componentWriter.existingComponentMap =\n componentWriter.existingComponentMap ||\n (await componentWriter.addComponentToBitMap(componentWriter.writeToPath));\n const componentConfigPath = path.join(\n this.workspace.path,\n componentWriter.existingComponentMap.rootDir,\n COMPONENT_CONFIG_FILE_NAME\n );\n const componentConfigExist = await fs.pathExists(componentConfigPath);\n componentWriter.writeConfig = componentWriter.writeConfig || componentConfigExist;\n })\n );\n if (opts.resetConfig) {\n componentWriterInstances.forEach((componentWriter: ComponentWriter) => {\n delete componentWriter.existingComponentMap?.config;\n });\n }\n await mapSeries(componentWriterInstances, (componentWriter: ComponentWriter) =>\n componentWriter.populateComponentsFilesToWrite()\n );\n }\n\n /**\n * this started to be an issue once same-name different-scope is supported.\n * by default, the component-dir consist of the scope-name part of the scope-id, without the owner part.\n * as a result, it's possible that multiple components have the same name, same scope-name but different owner.\n * e.g. org1.ui/button and org2.ui/button. the component-dir for both is \"ui/button\".\n * in this case, we try to prefix the component-dir with the owner-name and if not possible, just increment it (ui/button_1)\n */\n private fixDirsIfEqual(componentWriterInstances: ComponentWriter[]) {\n const allDirs = componentWriterInstances.map((c) => c.writeToPath);\n const duplicatedDirs = allDirs.filter((dir) => allDirs.filter((d) => d === dir).length > 1);\n if (!duplicatedDirs.length) return;\n const uniqDuplicates = uniq(duplicatedDirs);\n uniqDuplicates.forEach((compDir) => {\n const hasDuplication = componentWriterInstances.filter((compWriter) => compWriter.writeToPath === compDir);\n hasDuplication.forEach((compWriter) => {\n const ownerName = compWriter.component.id.scope?.includes('.')\n ? compWriter.component.id.scope.split('.')[0]\n : undefined;\n if (ownerName && !compDir.startsWith(ownerName) && !allDirs.includes(`${ownerName}/${compDir}`)) {\n compWriter.writeToPath = `${ownerName}/${compDir}`;\n } else {\n compWriter.writeToPath = incrementPathRecursively(compWriter.writeToPath, allDirs);\n }\n allDirs.push(compWriter.writeToPath);\n });\n });\n }\n\n /**\n * e.g. [bar, bar/foo] => [bar_1, bar/foo]\n * otherwise, the bar/foo component will be saved inside \"bar\" component.\n * in case bar_1 is taken, increment to bar_2 until the name is available.\n */\n private fixDirsIfNested(componentWriterInstances: ComponentWriter[]) {\n const allDirs = componentWriterInstances.map((c) => c.writeToPath);\n\n // get all components that their root-dir is a parent of other components root-dir.\n const parentsOfOthersComps = componentWriterInstances.filter(({ writeToPath }) =>\n allDirs.find((d) => d.startsWith(`${writeToPath}/`))\n );\n const existingRootDirs = this.workspace.bitMap.getAllRootDirs();\n const parentsOfOthersCompsDirs = parentsOfOthersComps.map((c) => c.writeToPath);\n const allPaths: PathLinuxRelative[] = [...existingRootDirs, ...parentsOfOthersCompsDirs];\n\n // this is when writing multiple components and some of them are parents of the others.\n // change the paths of all these parents root-dir to not collide with the children root-dir\n parentsOfOthersComps.forEach((componentWriter) => {\n if (existingRootDirs.includes(componentWriter.writeToPath)) return; // component already exists.\n const newPath = incrementPathRecursively(componentWriter.writeToPath, allPaths);\n componentWriter.writeToPath = newPath;\n });\n\n // this part is when a component's rootDir we about to write is a children of an existing rootDir.\n // e.g. we're now writing \"foo\", when an existing component has \"foo/bar\" as the rootDir.\n // in this case, we change \"foo\" to be \"foo_1\".\n componentWriterInstances.forEach((componentWriter) => {\n const existingParent = existingRootDirs.find((d) => d.startsWith(`${componentWriter.writeToPath}/`));\n if (!existingParent) return;\n if (existingRootDirs.includes(componentWriter.writeToPath)) return; // component already exists.\n const newPath = incrementPathRecursively(componentWriter.writeToPath, allPaths);\n componentWriter.writeToPath = newPath;\n });\n\n // this part if when for example an existing rootDir is \"comp1\" and currently written component is \"comp1/foo\".\n // obviously we don't want to change existing dirs. we change the \"comp1/foo\" to be \"comp1_1/foo\".\n componentWriterInstances.forEach((componentWriter) => {\n const existingChildren = existingRootDirs.find((d) => componentWriter.writeToPath.startsWith(`${d}/`));\n if (!existingChildren) return;\n // we increment the existing one, because it is used to replace the base-path of the current component\n const newPath = incrementPathRecursively(existingChildren, allPaths);\n componentWriter.writeToPath = componentWriter.writeToPath.replace(existingChildren, newPath);\n });\n }\n\n private getWriteParamsOfOneComponent(\n component: ConsumerComponent,\n opts: ManyComponentsWriterParams\n ): ComponentWriterProps {\n const componentRootDir: PathLinuxRelative = opts.writeToPath\n ? pathNormalizeToLinux(this.consumer.getPathRelativeToConsumer(path.resolve(opts.writeToPath)))\n : this.consumer.composeRelativeComponentPath(component.id);\n const getParams = () => {\n if (!this.consumer) {\n return {};\n }\n // components can't be saved with multiple versions, so we can ignore the version to find the component in bit.map\n const componentMap = this.consumer.bitMap.getComponentIfExist(component.id, {\n ignoreVersion: true,\n });\n this.throwErrorWhenDirectoryNotEmpty(this.consumer.toAbsolutePath(componentRootDir), componentMap, opts);\n return {\n existingComponentMap: componentMap,\n };\n };\n return {\n workspace: this.workspace,\n // @ts-ignore todo: remove after deleting teambit.legacy\n bitMap: this.consumer.bitMap,\n component,\n writeToPath: componentRootDir,\n writeConfig: opts.writeConfig,\n skipUpdatingBitMap: opts.skipUpdatingBitMap,\n ...getParams(),\n };\n }\n private moveComponentsIfNeeded(opts: ManyComponentsWriterParams) {\n if (opts.writeToPath && this.consumer) {\n opts.components.forEach((component) => {\n const componentMap = component.componentMap as ComponentMap;\n if (!componentMap.rootDir) {\n throw new BitError(`unable to use \"--path\" flag.\nto move individual files, use bit move.\nto move all component files to a different directory, run bit remove and then bit import --path`);\n }\n const relativeWrittenPath = component.writtenPath;\n // @ts-ignore relativeWrittenPath is set at this point\n const absoluteWrittenPath = this.consumer.toAbsolutePath(relativeWrittenPath);\n // @ts-ignore this.writeToPath is set at this point\n const absoluteWriteToPath = path.resolve(opts.writeToPath); // don't use consumer.toAbsolutePath, it might be an inner dir\n if (relativeWrittenPath && absoluteWrittenPath !== absoluteWriteToPath) {\n this.mover.moveExistingComponent(component, absoluteWrittenPath, absoluteWriteToPath);\n }\n });\n }\n }\n private throwErrorWhenDirectoryNotEmpty(\n componentDir: PathOsBasedAbsolute,\n componentMap: ComponentMap | null | undefined,\n opts: ManyComponentsWriterParams\n ) {\n if (opts.skipWritingToFs) return;\n // if not writeToPath specified, it goes to the default directory. When componentMap exists, the\n // component is not new, and it's ok to override the existing directory.\n if (!opts.writeToPath && componentMap) return;\n // if writeToPath specified and that directory is already used for that component, it's ok to override\n if (opts.writeToPath && componentMap && componentMap.rootDir && componentMap.rootDir === opts.writeToPath) return;\n\n if (fs.pathExistsSync(componentDir)) {\n if (!isDir(componentDir)) {\n throw new BitError(`unable to import to ${componentDir} because it's a file`);\n }\n if (!isDirEmptySync(componentDir) && opts.throwForExistingDir) {\n throw new BitError(\n `unable to import to ${componentDir}, the directory is not empty. use --override flag to delete the directory and then import`\n );\n }\n }\n }\n\n static slots = [];\n static dependencies = [InstallAspect, CompilerAspect, LoggerAspect, WorkspaceAspect, MoverAspect, ConfigMergerAspect];\n static runtime = MainRuntime;\n static async provider([install, compiler, loggerMain, workspace, mover, configMerger]: [\n InstallMain,\n CompilerMain,\n LoggerMain,\n Workspace,\n MoverMain,\n ConfigMergerMain\n ]) {\n const logger = loggerMain.createLogger(ComponentWriterAspect.id);\n return new ComponentWriterMain(install, compiler, workspace, logger, mover, configMerger);\n }\n}\n\nComponentWriterAspect.addRuntime(ComponentWriterMain);\n\nexport default ComponentWriterMain;\n\nexport function incrementPathRecursively(p: string, allPaths: string[]) {\n const incrementPath = (str: string, number: number) => `${str}_${number}`;\n let num = 1;\n let newPath = incrementPath(p, num);\n while (allPaths.includes(newPath)) {\n newPath = incrementPath(p, (num += 1));\n }\n return newPath;\n}\n"],"mappings":"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","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@teambit/component-writer",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.331",
|
|
4
4
|
"homepage": "https://bit.cloud/teambit/component/component-writer",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"componentId": {
|
|
7
7
|
"scope": "teambit.component",
|
|
8
8
|
"name": "component-writer",
|
|
9
|
-
"version": "1.0.
|
|
9
|
+
"version": "1.0.331"
|
|
10
10
|
},
|
|
11
11
|
"dependencies": {
|
|
12
12
|
"fs-extra": "10.0.0",
|
|
@@ -16,21 +16,23 @@
|
|
|
16
16
|
"@teambit/bit-error": "0.0.404",
|
|
17
17
|
"@teambit/component-id": "1.2.0",
|
|
18
18
|
"@teambit/component-version": "1.0.3",
|
|
19
|
-
"@teambit/cli": "0.0.
|
|
20
|
-
"@teambit/compiler": "1.0.
|
|
21
|
-
"@teambit/config-merger": "0.0.
|
|
22
|
-
"@teambit/install": "1.0.
|
|
23
|
-
"@teambit/
|
|
24
|
-
"@teambit/
|
|
25
|
-
"@teambit/
|
|
26
|
-
"@teambit/
|
|
19
|
+
"@teambit/cli": "0.0.908",
|
|
20
|
+
"@teambit/compiler": "1.0.331",
|
|
21
|
+
"@teambit/config-merger": "0.0.198",
|
|
22
|
+
"@teambit/install": "1.0.331",
|
|
23
|
+
"@teambit/legacy.bit-map": "0.0.5",
|
|
24
|
+
"@teambit/legacy.utils": "0.0.3",
|
|
25
|
+
"@teambit/logger": "0.0.1001",
|
|
26
|
+
"@teambit/merging": "1.0.331",
|
|
27
|
+
"@teambit/mover": "1.0.331",
|
|
28
|
+
"@teambit/workspace": "1.0.331"
|
|
27
29
|
},
|
|
28
30
|
"devDependencies": {
|
|
29
31
|
"@types/fs-extra": "9.0.7",
|
|
30
32
|
"@types/lodash": "4.14.165",
|
|
31
33
|
"@types/mocha": "9.1.0",
|
|
32
34
|
"chai": "4.3.0",
|
|
33
|
-
"@teambit/harmony.envs.core-aspect-env": "0.0.
|
|
35
|
+
"@teambit/harmony.envs.core-aspect-env": "0.0.42"
|
|
34
36
|
},
|
|
35
37
|
"peerDependencies": {
|
|
36
38
|
"@teambit/legacy": "1.0.624"
|
|
File without changes
|