@teambit/component-writer 1.0.510 → 1.0.512
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.
|
@@ -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.component/component-writer@1.0.
|
|
3
|
+
<testsuite name="teambit.component/component-writer@1.0.512" tests="0" failures="0" errors="0" skipped="0"/>
|
|
4
4
|
</testsuites>
|
package/dist/component-writer.js
CHANGED
|
@@ -25,9 +25,9 @@ function _componentVersion() {
|
|
|
25
25
|
};
|
|
26
26
|
return data;
|
|
27
27
|
}
|
|
28
|
-
function
|
|
29
|
-
const data = require("@teambit/
|
|
30
|
-
|
|
28
|
+
function _objects() {
|
|
29
|
+
const data = require("@teambit/objects");
|
|
30
|
+
_objects = function () {
|
|
31
31
|
return data;
|
|
32
32
|
};
|
|
33
33
|
return data;
|
|
@@ -159,7 +159,7 @@ class ComponentWriter {
|
|
|
159
159
|
return this.component.id;
|
|
160
160
|
}
|
|
161
161
|
const compFromModel = await this.scope?.getModelComponentIfExist(this.component.id);
|
|
162
|
-
const tag = compFromModel?.getTagOfRefIfExists(
|
|
162
|
+
const tag = compFromModel?.getTagOfRefIfExists(_objects().Ref.from(version));
|
|
163
163
|
if (tag) return this.component.id.changeVersion(tag);
|
|
164
164
|
return this.component.id;
|
|
165
165
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_legacy","data","require","_component","_componentVersion","_scope","_bitError","_defineProperty","e","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","default"],"sources":["component-writer.ts"],"sourcesContent":["import { ComponentID, ComponentIdList } from '@teambit/component-id';\nimport { Scope } from '@teambit/legacy.scope';\nimport { PathLinuxRelative, pathNormalizeToLinux } from '@teambit/legacy.utils';\nimport { BitMap, ComponentMap } from '@teambit/legacy.bit-map';\nimport { ConsumerComponent as Component } from '@teambit/legacy.consumer-component';\nimport { DataToPersist, RemovePath } from '@teambit/component.sources';\nimport { Consumer } from '@teambit/legacy.consumer';\nimport { isHash } from '@teambit/component-version';\nimport { Ref } from '@teambit/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","_component","_componentVersion","_objects","_bitError","_defineProperty","e","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","default"],"sources":["component-writer.ts"],"sourcesContent":["import { ComponentID, ComponentIdList } from '@teambit/component-id';\nimport { Scope } from '@teambit/legacy.scope';\nimport { PathLinuxRelative, pathNormalizeToLinux } from '@teambit/legacy.utils';\nimport { BitMap, ComponentMap } from '@teambit/legacy.bit-map';\nimport { ConsumerComponent as Component } from '@teambit/legacy.consumer-component';\nimport { DataToPersist, RemovePath } from '@teambit/component.sources';\nimport { Consumer } from '@teambit/legacy.consumer';\nimport { isHash } from '@teambit/component-version';\nimport { Ref } from '@teambit/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":[]}
|
package/package.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@teambit/component-writer",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.512",
|
|
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.512"
|
|
10
10
|
},
|
|
11
11
|
"dependencies": {
|
|
12
12
|
"fs-extra": "10.0.0",
|
|
@@ -16,22 +16,22 @@
|
|
|
16
16
|
"@teambit/bit-error": "0.0.404",
|
|
17
17
|
"@teambit/component-id": "1.2.2",
|
|
18
18
|
"@teambit/component-version": "1.0.3",
|
|
19
|
-
"@teambit/cli": "0.0.
|
|
20
|
-
"@teambit/compiler": "1.0.
|
|
21
|
-
"@teambit/component.sources": "0.0.
|
|
22
|
-
"@teambit/config-merger": "0.0.
|
|
23
|
-
"@teambit/install": "1.0.
|
|
24
|
-
"@teambit/legacy.bit-map": "0.0.
|
|
25
|
-
"@teambit/legacy.constants": "0.0.
|
|
26
|
-
"@teambit/legacy.consumer-component": "0.0.
|
|
27
|
-
"@teambit/legacy.consumer": "0.0.
|
|
28
|
-
"@teambit/legacy.utils": "0.0.
|
|
29
|
-
"@teambit/logger": "0.0.
|
|
30
|
-
"@teambit/merging": "1.0.
|
|
31
|
-
"@teambit/mover": "1.0.
|
|
32
|
-
"@teambit/workspace": "1.0.
|
|
33
|
-
"@teambit/legacy.scope": "0.0.
|
|
34
|
-
"@teambit/
|
|
19
|
+
"@teambit/cli": "0.0.1089",
|
|
20
|
+
"@teambit/compiler": "1.0.512",
|
|
21
|
+
"@teambit/component.sources": "0.0.71",
|
|
22
|
+
"@teambit/config-merger": "0.0.379",
|
|
23
|
+
"@teambit/install": "1.0.512",
|
|
24
|
+
"@teambit/legacy.bit-map": "0.0.76",
|
|
25
|
+
"@teambit/legacy.constants": "0.0.5",
|
|
26
|
+
"@teambit/legacy.consumer-component": "0.0.20",
|
|
27
|
+
"@teambit/legacy.consumer": "0.0.19",
|
|
28
|
+
"@teambit/legacy.utils": "0.0.13",
|
|
29
|
+
"@teambit/logger": "0.0.1182",
|
|
30
|
+
"@teambit/merging": "1.0.512",
|
|
31
|
+
"@teambit/mover": "1.0.512",
|
|
32
|
+
"@teambit/workspace": "1.0.512",
|
|
33
|
+
"@teambit/legacy.scope": "0.0.19",
|
|
34
|
+
"@teambit/objects": "0.0.19"
|
|
35
35
|
},
|
|
36
36
|
"devDependencies": {
|
|
37
37
|
"@types/fs-extra": "9.0.7",
|