@teambit/snapping 1.0.187 → 1.0.188
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 +2 -2
- package/dist/generate-comp-from-scope.d.ts +1 -1
- package/dist/generate-comp-from-scope.js +23 -9
- package/dist/generate-comp-from-scope.js.map +1 -1
- package/dist/snap-from-scope.cmd.js +1 -1
- package/dist/snap-from-scope.cmd.js.map +1 -1
- package/dist/snapping.main.runtime.d.ts +1 -1
- package/dist/snapping.main.runtime.js +7 -12
- package/dist/snapping.main.runtime.js.map +1 -1
- package/package.json +16 -16
- package/artifacts/schema.json +0 -11555
- /package/dist/{preview-1709867881461.js → preview-1710040632859.js} +0 -0
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
2
|
<testsuites tests="4" failures="0" errors="0" skipped="1">
|
|
3
|
-
<testsuite name="teambit.component/snapping@1.0.
|
|
3
|
+
<testsuite name="teambit.component/snapping@1.0.188" tests="4" failures="0" errors="0" skipped="1">
|
|
4
4
|
<testcase classname="dist/snapping.spec.js" name="tag should throw an ComponentsHaveIssues error" time="0.032"/>
|
|
5
5
|
<testcase classname="dist/snapping.spec.js" name="should not throw an error if the config was set to ignore MissingPackagesDependenciesOnFs error">
|
|
6
6
|
<skipped/>
|
|
7
7
|
</testcase>
|
|
8
|
-
<testcase classname="dist/snapping.spec.js" name="should add the new dev dep" time="0.
|
|
8
|
+
<testcase classname="dist/snapping.spec.js" name="should add the new dev dep" time="0.013"/>
|
|
9
9
|
<testcase classname="dist/snapping.spec.js" name="should remove the specified dependency" time="0.001"/>
|
|
10
10
|
</testsuite>
|
|
11
11
|
</testsuites>
|
|
@@ -7,7 +7,7 @@ import { FileData } from './snap-from-scope.cmd';
|
|
|
7
7
|
import type { SnappingMain, SnapDataParsed } from './snapping.main.runtime';
|
|
8
8
|
export type CompData = {
|
|
9
9
|
componentId: ComponentID;
|
|
10
|
-
dependencies:
|
|
10
|
+
dependencies: string[];
|
|
11
11
|
aspects: Record<string, any> | undefined;
|
|
12
12
|
message: string | undefined;
|
|
13
13
|
files: FileData[] | undefined;
|
|
@@ -120,6 +120,7 @@ async function generateCompFromScope(scope, compData, snapping) {
|
|
|
120
120
|
}
|
|
121
121
|
async function addDeps(component, snapData, scope, deps, depsResolver) {
|
|
122
122
|
const newDeps = snapData.newDependencies || [];
|
|
123
|
+
const updateDeps = snapData.dependencies || [];
|
|
123
124
|
const compIdsData = newDeps.filter(dep => dep.isComponent);
|
|
124
125
|
const compIdsDataParsed = compIdsData.map(data => _objectSpread(_objectSpread({}, data), {}, {
|
|
125
126
|
id: _componentId().ComponentID.fromString(data.id)
|
|
@@ -146,26 +147,39 @@ async function addDeps(component, snapData, scope, deps, depsResolver) {
|
|
|
146
147
|
const getPkgObj = type => {
|
|
147
148
|
return toPackageObj(packageDeps.filter(dep => dep.type === type));
|
|
148
149
|
};
|
|
149
|
-
const
|
|
150
|
+
const manipulateCurrentPkgs = pkgs => {
|
|
150
151
|
snapData.removeDependencies?.forEach(pkg => {
|
|
151
152
|
delete pkgs[pkg];
|
|
152
153
|
});
|
|
154
|
+
Object.keys(pkgs).forEach(pkg => {
|
|
155
|
+
const found = updateDeps.find(d => d.startsWith(`${pkg}@`));
|
|
156
|
+
if (found) {
|
|
157
|
+
pkgs[pkg] = found.replace(`${pkg}@`, '');
|
|
158
|
+
}
|
|
159
|
+
});
|
|
153
160
|
return pkgs;
|
|
154
161
|
};
|
|
155
|
-
const
|
|
156
|
-
|
|
162
|
+
const manipulateCurrentDeps = currentCompDeps => {
|
|
163
|
+
const afterRemoval = currentCompDeps.filter(dep => !snapData.removeDependencies?.includes(dep.id.toStringWithoutVersion()));
|
|
164
|
+
afterRemoval.forEach(dep => {
|
|
165
|
+
const found = updateDeps.find(d => d.startsWith(`${dep.id.toStringWithoutVersion()}@`));
|
|
166
|
+
if (found) {
|
|
167
|
+
dep.id = dep.id.changeVersion(found.replace(`${dep.id.toStringWithoutVersion()}@`, ''));
|
|
168
|
+
}
|
|
169
|
+
});
|
|
170
|
+
return afterRemoval;
|
|
157
171
|
};
|
|
158
172
|
const consumerComponent = component.state._consumer;
|
|
159
173
|
const dependenciesData = {
|
|
160
174
|
allDependencies: {
|
|
161
|
-
dependencies: [...compDeps, ...
|
|
162
|
-
devDependencies: [...compDevDeps, ...
|
|
163
|
-
peerDependencies: [...compPeerDeps, ...
|
|
175
|
+
dependencies: [...compDeps, ...manipulateCurrentDeps(consumerComponent.dependencies.get())],
|
|
176
|
+
devDependencies: [...compDevDeps, ...manipulateCurrentDeps(consumerComponent.devDependencies.get())],
|
|
177
|
+
peerDependencies: [...compPeerDeps, ...manipulateCurrentDeps(consumerComponent.peerDependencies.get())]
|
|
164
178
|
},
|
|
165
179
|
allPackagesDependencies: {
|
|
166
|
-
packageDependencies: _objectSpread(_objectSpread({},
|
|
167
|
-
devPackageDependencies: _objectSpread(_objectSpread({},
|
|
168
|
-
peerPackageDependencies: _objectSpread(_objectSpread({},
|
|
180
|
+
packageDependencies: _objectSpread(_objectSpread({}, manipulateCurrentPkgs(consumerComponent.packageDependencies)), getPkgObj('runtime')),
|
|
181
|
+
devPackageDependencies: _objectSpread(_objectSpread({}, manipulateCurrentPkgs(consumerComponent.devPackageDependencies)), getPkgObj('dev')),
|
|
182
|
+
peerPackageDependencies: _objectSpread(_objectSpread({}, manipulateCurrentPkgs(consumerComponent.peerPackageDependencies)), getPkgObj('peer'))
|
|
169
183
|
}
|
|
170
184
|
};
|
|
171
185
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_componentId","data","require","_component","_interopRequireDefault","_dependencies","_sources","_componentOverrides","_config","_componentSchema","_dependencyResolver","obj","__esModule","default","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","key","value","_toPropertyKey","configurable","writable","i","_toPrimitive","String","Symbol","toPrimitive","call","TypeError","Number","generateCompFromScope","scope","compData","snapping","files","Error","map","file","SourceFile","base","path","contents","Buffer","from","content","test","id","componentId","extensions","ExtensionDataList","fromConfigObject","aspects","consumerComponent","ConsumerComponent","mainFile","name","fullName","schema","CURRENT_SCHEMA","overrides","ComponentOverrides","loadNewFromScope","defaultScope","log","message","date","Date","now","toString","username","email","_addFlattenedDependenciesToComponents","version","filesBitObject","legacyScope","sources","consumerComponentToVersion","modelComponent","findOrAddComponent","hash","objects","writeObjectsToTheFS","f","component","getManyByLegacy","addDeps","snapData","deps","depsResolver","newDeps","newDependencies","compIdsData","dep","isComponent","compIdsDataParsed","ComponentID","fromString","compIds","changeVersion","comps","getMany","toDependency","depId","comp","find","c","isEqualWithoutVersion","pkgName","getPackageName","Dependency","compDeps","type","compDevDeps","compPeerDeps","packageDeps","toPackageObj","pkgs","reduce","acc","curr","getPkgObj","filterRemovedPkgs","removeDependencies","pkg","filterRemovedDeps","currentCompDeps","includes","toStringWithoutVersion","state","_consumer","dependenciesData","allDependencies","dependencies","get","devDependencies","peerDependencies","allPackagesDependencies","packageDependencies","devPackageDependencies","peerPackageDependencies","loadDependenciesFromScope","dependenciesListSerialized","extractDepsFromLegacy","serialize","extId","DependencyResolverAspect","existingExtension","config","findExtension","assign"],"sources":["generate-comp-from-scope.ts"],"sourcesContent":["import { ComponentID } from '@teambit/component-id';\nimport ConsumerComponent from '@teambit/legacy/dist/consumer/component';\nimport { Dependency } from '@teambit/legacy/dist/consumer/component/dependencies';\nimport { SourceFile } from '@teambit/legacy/dist/consumer/component/sources';\nimport { ScopeMain } from '@teambit/scope';\nimport ComponentOverrides from '@teambit/legacy/dist/consumer/config/component-overrides';\nimport { ExtensionDataList } from '@teambit/legacy/dist/consumer/config';\nimport { Component } from '@teambit/component';\nimport { CURRENT_SCHEMA } from '@teambit/legacy/dist/consumer/component/component-schema';\nimport { DependenciesMain } from '@teambit/dependencies';\nimport { DependencyResolverAspect, DependencyResolverMain } from '@teambit/dependency-resolver';\nimport { FileData } from './snap-from-scope.cmd';\nimport type { SnappingMain, SnapDataParsed } from './snapping.main.runtime';\n\nexport type CompData = {\n componentId: ComponentID;\n dependencies: ComponentID[];\n aspects: Record<string, any> | undefined;\n message: string | undefined;\n files: FileData[] | undefined;\n mainFile?: string;\n};\n\n/**\n * normally new components are created from a workspace. the files are in the filesystem and the ConsumerComponent\n * object is created from the files.\n * here, we need to create the ConsumerComponent object \"on the fly\". we don't have workspace, only scope. the files\n * are in-memory (we got them from snap-from-scope command).\n * the way how it is done is by creating a minimal ConsumerComponent object, then convert `Version` object from it,\n * write the version and files into the scope as objects, so then it's possible to load Component object using the\n * ConsumerComponent.\n */\nexport async function generateCompFromScope(\n scope: ScopeMain,\n compData: CompData,\n snapping: SnappingMain\n): Promise<Component> {\n if (!compData.files) throw new Error('generateComp: files are missing');\n const files = compData.files.map((file) => {\n return new SourceFile({ base: '.', path: file.path, contents: Buffer.from(file.content), test: false });\n });\n const id = compData.componentId;\n const extensions = ExtensionDataList.fromConfigObject(compData.aspects || {});\n\n const consumerComponent = new ConsumerComponent({\n mainFile: compData.mainFile || 'index.ts',\n name: compData.componentId.fullName,\n scope: compData.componentId.scope,\n files,\n schema: CURRENT_SCHEMA,\n overrides: await ComponentOverrides.loadNewFromScope(id, files, extensions),\n defaultScope: compData.componentId.scope,\n extensions,\n // the dummy data here are not important. this Version object will be discarded later.\n log: {\n message: compData.message || '',\n date: Date.now().toString(),\n username: '',\n email: '',\n },\n });\n // this is needed, otherwise in case of updating envs/aspects, the version-validator throws\n // an error saying \"the extension ${extensionId.toString()} is missing from the flattenedDependencies\"\n await snapping._addFlattenedDependenciesToComponents([consumerComponent]);\n\n const { version, files: filesBitObject } = await scope.legacyScope.sources.consumerComponentToVersion(\n consumerComponent\n );\n const modelComponent = scope.legacyScope.sources.findOrAddComponent(consumerComponent);\n consumerComponent.version = version.hash().toString();\n await scope.legacyScope.objects.writeObjectsToTheFS([version, modelComponent, ...filesBitObject.map((f) => f.file)]);\n const component = await scope.getManyByLegacy([consumerComponent]);\n\n return component[0];\n}\n\nexport async function addDeps(\n component: Component,\n snapData: SnapDataParsed,\n scope: ScopeMain,\n deps: DependenciesMain,\n depsResolver: DependencyResolverMain\n) {\n const newDeps = snapData.newDependencies || [];\n const compIdsData = newDeps.filter((dep) => dep.isComponent);\n const compIdsDataParsed = compIdsData.map((data) => ({\n ...data,\n id: ComponentID.fromString(data.id),\n }));\n const compIds = compIdsDataParsed.map((dep) => (dep.version ? dep.id.changeVersion(dep.version) : dep.id));\n const comps = await scope.getMany(compIds);\n const toDependency = (depId: ComponentID) => {\n const comp = comps.find((c) => c.id.isEqualWithoutVersion(depId));\n if (!comp) throw new Error(`unable to find the specified dependency ${depId.toString()} in the scope`);\n const pkgName = depsResolver.getPackageName(comp);\n return new Dependency(comp.id, [], pkgName);\n };\n const compDeps = compIdsDataParsed.filter((c) => c.type === 'runtime').map((dep) => toDependency(dep.id));\n const compDevDeps = compIdsDataParsed.filter((c) => c.type === 'dev').map((dep) => toDependency(dep.id));\n const compPeerDeps = compIdsDataParsed.filter((c) => c.type === 'peer').map((dep) => toDependency(dep.id));\n const packageDeps = newDeps.filter((dep) => !dep.isComponent);\n const toPackageObj = (pkgs: Array<{ id: string; version?: string }>) => {\n return pkgs.reduce((acc, curr) => {\n if (!curr.version) throw new Error(`please specify a version for the package dependency: \"${curr.id}\"`);\n acc[curr.id] = curr.version;\n return acc;\n }, {});\n };\n const getPkgObj = (type: 'runtime' | 'dev' | 'peer') => {\n return toPackageObj(packageDeps.filter((dep) => dep.type === type));\n };\n const filterRemovedPkgs = (pkgs: Record<string, string>) => {\n snapData.removeDependencies?.forEach((pkg) => {\n delete pkgs[pkg];\n });\n return pkgs;\n };\n const filterRemovedDeps = (currentCompDeps: Dependency[]) => {\n return currentCompDeps.filter((dep) => !snapData.removeDependencies?.includes(dep.id.toStringWithoutVersion()));\n };\n\n const consumerComponent = component.state._consumer as ConsumerComponent;\n\n const dependenciesData = {\n allDependencies: {\n dependencies: [...compDeps, ...filterRemovedDeps(consumerComponent.dependencies.get())],\n devDependencies: [...compDevDeps, ...filterRemovedDeps(consumerComponent.devDependencies.get())],\n peerDependencies: [...compPeerDeps, ...filterRemovedDeps(consumerComponent.peerDependencies.get())],\n },\n allPackagesDependencies: {\n packageDependencies: { ...filterRemovedPkgs(consumerComponent.packageDependencies), ...getPkgObj('runtime') },\n devPackageDependencies: { ...filterRemovedPkgs(consumerComponent.devPackageDependencies), ...getPkgObj('dev') },\n peerPackageDependencies: {\n ...filterRemovedPkgs(consumerComponent.peerPackageDependencies),\n ...getPkgObj('peer'),\n },\n },\n };\n\n // add the dependencies to the legacy ConsumerComponent object\n // it takes care of both: given dependencies (from the cli) and the overrides, which are coming from the env.\n await deps.loadDependenciesFromScope(consumerComponent, dependenciesData);\n\n // add the dependencies data to the dependency-resolver aspect\n const dependenciesListSerialized = (await depsResolver.extractDepsFromLegacy(component)).serialize();\n const extId = DependencyResolverAspect.id;\n const data = { dependencies: dependenciesListSerialized };\n const existingExtension = component.config.extensions.findExtension(extId);\n if (!existingExtension) throw new Error('unable to find DependencyResolver extension');\n Object.assign(existingExtension.data, data);\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_componentId","data","require","_component","_interopRequireDefault","_dependencies","_sources","_componentOverrides","_config","_componentSchema","_dependencyResolver","obj","__esModule","default","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","key","value","_toPropertyKey","configurable","writable","i","_toPrimitive","String","Symbol","toPrimitive","call","TypeError","Number","generateCompFromScope","scope","compData","snapping","files","Error","map","file","SourceFile","base","path","contents","Buffer","from","content","test","id","componentId","extensions","ExtensionDataList","fromConfigObject","aspects","consumerComponent","ConsumerComponent","mainFile","name","fullName","schema","CURRENT_SCHEMA","overrides","ComponentOverrides","loadNewFromScope","defaultScope","log","message","date","Date","now","toString","username","email","_addFlattenedDependenciesToComponents","version","filesBitObject","legacyScope","sources","consumerComponentToVersion","modelComponent","findOrAddComponent","hash","objects","writeObjectsToTheFS","f","component","getManyByLegacy","addDeps","snapData","deps","depsResolver","newDeps","newDependencies","updateDeps","dependencies","compIdsData","dep","isComponent","compIdsDataParsed","ComponentID","fromString","compIds","changeVersion","comps","getMany","toDependency","depId","comp","find","c","isEqualWithoutVersion","pkgName","getPackageName","Dependency","compDeps","type","compDevDeps","compPeerDeps","packageDeps","toPackageObj","pkgs","reduce","acc","curr","getPkgObj","manipulateCurrentPkgs","removeDependencies","pkg","found","d","startsWith","replace","manipulateCurrentDeps","currentCompDeps","afterRemoval","includes","toStringWithoutVersion","state","_consumer","dependenciesData","allDependencies","get","devDependencies","peerDependencies","allPackagesDependencies","packageDependencies","devPackageDependencies","peerPackageDependencies","loadDependenciesFromScope","dependenciesListSerialized","extractDepsFromLegacy","serialize","extId","DependencyResolverAspect","existingExtension","config","findExtension","assign"],"sources":["generate-comp-from-scope.ts"],"sourcesContent":["import { ComponentID } from '@teambit/component-id';\nimport ConsumerComponent from '@teambit/legacy/dist/consumer/component';\nimport { Dependency } from '@teambit/legacy/dist/consumer/component/dependencies';\nimport { SourceFile } from '@teambit/legacy/dist/consumer/component/sources';\nimport { ScopeMain } from '@teambit/scope';\nimport ComponentOverrides from '@teambit/legacy/dist/consumer/config/component-overrides';\nimport { ExtensionDataList } from '@teambit/legacy/dist/consumer/config';\nimport { Component } from '@teambit/component';\nimport { CURRENT_SCHEMA } from '@teambit/legacy/dist/consumer/component/component-schema';\nimport { DependenciesMain } from '@teambit/dependencies';\nimport { DependencyResolverAspect, DependencyResolverMain } from '@teambit/dependency-resolver';\nimport { FileData } from './snap-from-scope.cmd';\nimport type { SnappingMain, SnapDataParsed } from './snapping.main.runtime';\n\nexport type CompData = {\n componentId: ComponentID;\n dependencies: string[];\n aspects: Record<string, any> | undefined;\n message: string | undefined;\n files: FileData[] | undefined;\n mainFile?: string;\n};\n\n/**\n * normally new components are created from a workspace. the files are in the filesystem and the ConsumerComponent\n * object is created from the files.\n * here, we need to create the ConsumerComponent object \"on the fly\". we don't have workspace, only scope. the files\n * are in-memory (we got them from snap-from-scope command).\n * the way how it is done is by creating a minimal ConsumerComponent object, then convert `Version` object from it,\n * write the version and files into the scope as objects, so then it's possible to load Component object using the\n * ConsumerComponent.\n */\nexport async function generateCompFromScope(\n scope: ScopeMain,\n compData: CompData,\n snapping: SnappingMain\n): Promise<Component> {\n if (!compData.files) throw new Error('generateComp: files are missing');\n const files = compData.files.map((file) => {\n return new SourceFile({ base: '.', path: file.path, contents: Buffer.from(file.content), test: false });\n });\n const id = compData.componentId;\n const extensions = ExtensionDataList.fromConfigObject(compData.aspects || {});\n\n const consumerComponent = new ConsumerComponent({\n mainFile: compData.mainFile || 'index.ts',\n name: compData.componentId.fullName,\n scope: compData.componentId.scope,\n files,\n schema: CURRENT_SCHEMA,\n overrides: await ComponentOverrides.loadNewFromScope(id, files, extensions),\n defaultScope: compData.componentId.scope,\n extensions,\n // the dummy data here are not important. this Version object will be discarded later.\n log: {\n message: compData.message || '',\n date: Date.now().toString(),\n username: '',\n email: '',\n },\n });\n // this is needed, otherwise in case of updating envs/aspects, the version-validator throws\n // an error saying \"the extension ${extensionId.toString()} is missing from the flattenedDependencies\"\n await snapping._addFlattenedDependenciesToComponents([consumerComponent]);\n\n const { version, files: filesBitObject } = await scope.legacyScope.sources.consumerComponentToVersion(\n consumerComponent\n );\n const modelComponent = scope.legacyScope.sources.findOrAddComponent(consumerComponent);\n consumerComponent.version = version.hash().toString();\n await scope.legacyScope.objects.writeObjectsToTheFS([version, modelComponent, ...filesBitObject.map((f) => f.file)]);\n const component = await scope.getManyByLegacy([consumerComponent]);\n\n return component[0];\n}\n\nexport async function addDeps(\n component: Component,\n snapData: SnapDataParsed,\n scope: ScopeMain,\n deps: DependenciesMain,\n depsResolver: DependencyResolverMain\n) {\n const newDeps = snapData.newDependencies || [];\n const updateDeps = snapData.dependencies || [];\n const compIdsData = newDeps.filter((dep) => dep.isComponent);\n const compIdsDataParsed = compIdsData.map((data) => ({\n ...data,\n id: ComponentID.fromString(data.id),\n }));\n const compIds = compIdsDataParsed.map((dep) => (dep.version ? dep.id.changeVersion(dep.version) : dep.id));\n const comps = await scope.getMany(compIds);\n const toDependency = (depId: ComponentID) => {\n const comp = comps.find((c) => c.id.isEqualWithoutVersion(depId));\n if (!comp) throw new Error(`unable to find the specified dependency ${depId.toString()} in the scope`);\n const pkgName = depsResolver.getPackageName(comp);\n return new Dependency(comp.id, [], pkgName);\n };\n const compDeps = compIdsDataParsed.filter((c) => c.type === 'runtime').map((dep) => toDependency(dep.id));\n const compDevDeps = compIdsDataParsed.filter((c) => c.type === 'dev').map((dep) => toDependency(dep.id));\n const compPeerDeps = compIdsDataParsed.filter((c) => c.type === 'peer').map((dep) => toDependency(dep.id));\n const packageDeps = newDeps.filter((dep) => !dep.isComponent);\n const toPackageObj = (pkgs: Array<{ id: string; version?: string }>) => {\n return pkgs.reduce((acc, curr) => {\n if (!curr.version) throw new Error(`please specify a version for the package dependency: \"${curr.id}\"`);\n acc[curr.id] = curr.version;\n return acc;\n }, {});\n };\n const getPkgObj = (type: 'runtime' | 'dev' | 'peer') => {\n return toPackageObj(packageDeps.filter((dep) => dep.type === type));\n };\n const manipulateCurrentPkgs = (pkgs: Record<string, string>) => {\n snapData.removeDependencies?.forEach((pkg) => {\n delete pkgs[pkg];\n });\n Object.keys(pkgs).forEach((pkg) => {\n const found = updateDeps.find((d) => d.startsWith(`${pkg}@`));\n if (found) {\n pkgs[pkg] = found.replace(`${pkg}@`, '');\n }\n });\n return pkgs;\n };\n const manipulateCurrentDeps = (currentCompDeps: Dependency[]) => {\n const afterRemoval = currentCompDeps.filter(\n (dep) => !snapData.removeDependencies?.includes(dep.id.toStringWithoutVersion())\n );\n afterRemoval.forEach((dep) => {\n const found = updateDeps.find((d) => d.startsWith(`${dep.id.toStringWithoutVersion()}@`));\n if (found) {\n dep.id = dep.id.changeVersion(found.replace(`${dep.id.toStringWithoutVersion()}@`, ''));\n }\n });\n return afterRemoval;\n };\n\n const consumerComponent = component.state._consumer as ConsumerComponent;\n\n const dependenciesData = {\n allDependencies: {\n dependencies: [...compDeps, ...manipulateCurrentDeps(consumerComponent.dependencies.get())],\n devDependencies: [...compDevDeps, ...manipulateCurrentDeps(consumerComponent.devDependencies.get())],\n peerDependencies: [...compPeerDeps, ...manipulateCurrentDeps(consumerComponent.peerDependencies.get())],\n },\n allPackagesDependencies: {\n packageDependencies: { ...manipulateCurrentPkgs(consumerComponent.packageDependencies), ...getPkgObj('runtime') },\n devPackageDependencies: {\n ...manipulateCurrentPkgs(consumerComponent.devPackageDependencies),\n ...getPkgObj('dev'),\n },\n peerPackageDependencies: {\n ...manipulateCurrentPkgs(consumerComponent.peerPackageDependencies),\n ...getPkgObj('peer'),\n },\n },\n };\n\n // add the dependencies to the legacy ConsumerComponent object\n // it takes care of both: given dependencies (from the cli) and the overrides, which are coming from the env.\n await deps.loadDependenciesFromScope(consumerComponent, dependenciesData);\n\n // add the dependencies data to the dependency-resolver aspect\n const dependenciesListSerialized = (await depsResolver.extractDepsFromLegacy(component)).serialize();\n const extId = DependencyResolverAspect.id;\n const data = { dependencies: dependenciesListSerialized };\n const existingExtension = component.config.extensions.findExtension(extId);\n if (!existingExtension) throw new Error('unable to find DependencyResolver extension');\n Object.assign(existingExtension.data, data);\n}\n"],"mappings":"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"}
|
|
@@ -39,7 +39,7 @@ class SnapFromScopeCmd {
|
|
|
39
39
|
the input data is a stringified JSON of an array of the following object.
|
|
40
40
|
{
|
|
41
41
|
componentId: string; // ids always have scope, so it's safe to parse them from string
|
|
42
|
-
dependencies?: string[]; // dependencies
|
|
42
|
+
dependencies?: string[]; // dependencies include versions. for components use component-id. e.g. [teambit.compilation/compiler@1.0.0, lodash@4.17.21]
|
|
43
43
|
aspects?: Record<string,any> // e.g. { "teambit.react/react": {}, "teambit.envs/envs": { "env": "teambit.react/react" } }
|
|
44
44
|
message?: string; // tag-message.
|
|
45
45
|
files?: Array<{path: string, content: string}>; // replace content of specified source-files. the content is base64 encoded.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_chalk","data","_interopRequireDefault","require","_componentIssues","_bitError","obj","__esModule","default","_defineProperty","key","value","_toPropertyKey","Object","defineProperty","enumerable","configurable","writable","t","i","_toPrimitive","String","r","e","Symbol","toPrimitive","call","TypeError","Number","SnapFromScopeCmd","constructor","snapping","logger","keys","IssuesClasses","join","report","options","results","json","snappedIds","exportedIds","snappedOutput","chalk","bold","exportedOutput","length","push","message","lane","ignoreIssues","build","skipTests","disableSnapPipeline","ignoreBuildErrors","rebuildDepsGraph","forceDeploy","updateDependents","disableTagAndSnapPipelines","BitError","snapDataPerCompRaw","parseData","snapFromScope","map","id","toString","dataParsed","JSON","parse","err","Error","Array","isArray","forEach","dataItem","componentId","files","file","path","content","Buffer","from","exports"],"sources":["snap-from-scope.cmd.ts"],"sourcesContent":["import chalk from 'chalk';\nimport { IssuesClasses } from '@teambit/component-issues';\nimport { Command, CommandOptions } from '@teambit/cli';\nimport { BitError } from '@teambit/bit-error';\nimport { Logger } from '@teambit/logger';\nimport { SnappingMain } from './snapping.main.runtime';\nimport { BasicTagSnapParams } from './tag-model-component';\n\nexport type FileData = { path: string; content: string; delete?: boolean };\n\nexport type SnapDataPerCompRaw = {\n componentId: string;\n dependencies?: string[];\n aspects?: Record<string, any>;\n message?: string;\n files?: FileData[];\n isNew?: boolean;\n mainFile?: string; // relevant when isNew is true. default to \"index.ts\".\n newDependencies?: Array<{\n id: string; // component-id or package-name. e.g. \"teambit.react/react\" or \"lodash\".\n version?: string; // version of the package. e.g. \"2.0.3\". for packages, it is mandatory.\n isComponent?: boolean; // default true. if false, it's a package dependency\n type?: 'runtime' | 'dev' | 'peer'; // default \"runtime\".\n }>;\n removeDependencies?: string[];\n};\n\ntype SnapFromScopeOptions = {\n push?: boolean;\n lane?: string;\n ignoreIssues?: string;\n disableSnapPipeline?: boolean;\n forceDeploy?: boolean;\n updateDependents?: boolean;\n} & BasicTagSnapParams;\n\nexport class SnapFromScopeCmd implements Command {\n name = '_snap <data>';\n description = 'snap components from a bare-scope';\n extendedDescription = `this command should be running from a new bare scope, it first imports the components it needs and then processes the snap.\nthe input data is a stringified JSON of an array of the following object.\n{\n componentId: string; // ids always have scope, so it's safe to parse them from string\n dependencies?: string[]; // dependencies component-ids to update their versions, e.g. [teambit.compilation/compiler@1.0.0, teambit.defender/tester@1.0.0]\n aspects?: Record<string,any> // e.g. { \"teambit.react/react\": {}, \"teambit.envs/envs\": { \"env\": \"teambit.react/react\" } }\n message?: string; // tag-message.\n files?: Array<{path: string, content: string}>; // replace content of specified source-files. the content is base64 encoded.\n isNew?: boolean; // if it's new, it'll be generated from the given files. otherwise, it'll be fetched from the scope and updated.\n mainFile?: string; // relevant when isNew is true. default to \"index.ts\".\n newDependencies?: Array<{ // new dependencies (components and packages) to add.\n id: string; // component-id or package-name. e.g. \"teambit.react/react\" or \"lodash\".\n version?: string; // version of the package. e.g. \"2.0.3\". for packages, it is mandatory.\n isComponent?: boolean; // default true. if false, it's a package dependency\n type?: 'runtime' | 'dev' | 'peer'; // default \"runtime\".\n }>;\n removeDependencies?: string[]; // component-id (for components) or package-name (for packages) to remove from the dependencies.\n}\nan example of the final data: '[{\"componentId\":\"ci.remote2/comp-b\",\"message\": \"first snap\"}]'\n`;\n alias = '';\n options = [\n ['', 'push', 'export the updated objects to the original scopes once done'],\n ['m', 'message <message>', 'log message describing the latest changes'],\n ['', 'lane <lane-id>', 'fetch the components from the given lane'],\n ['', 'build', 'run the build pipeline'],\n ['', 'skip-tests', 'skip running component tests during snap process'],\n ['', 'disable-snap-pipeline', 'skip the snap pipeline'],\n ['', 'force-deploy', 'DEPRECATED. use --ignore-build-error instead'],\n ['', 'ignore-build-errors', 'run the snap pipeline although the build pipeline failed'],\n ['', 'rebuild-deps-graph', 'do not reuse the saved dependencies graph, instead build it from scratch'],\n [\n 'i',\n 'ignore-issues [issues]',\n `ignore component issues (shown in \"bit status\" as \"issues found\"), issues to ignore:\n[${Object.keys(IssuesClasses).join(', ')}]\nto ignore multiple issues, separate them by a comma and wrap with quotes. to ignore all issues, specify \"*\".`,\n ],\n [\n '',\n 'update-dependents',\n 'EXPERIMENTAL. when snapped on a lane, mark it as update-dependents so it will be skipped from the workspace',\n ],\n ['j', 'json', 'output as json format'],\n ] as CommandOptions;\n loader = true;\n private = true;\n\n constructor(private snapping: SnappingMain, private logger: Logger) {}\n\n async report([data]: [string], options: SnapFromScopeOptions) {\n const results = await this.json([data], options);\n\n const { snappedIds, exportedIds } = results;\n\n const snappedOutput = `${chalk.bold('snapped components')}\\n${snappedIds.join('\\n')}`;\n const exportedOutput =\n exportedIds && exportedIds.length ? `\\n\\n${chalk.bold('exported components')}\\n${exportedIds.join('\\n')}` : '';\n\n return `${snappedOutput}${exportedOutput}`;\n }\n async json(\n [data]: [string],\n {\n push = false,\n message = '',\n lane,\n ignoreIssues,\n build = false,\n skipTests = false,\n disableSnapPipeline = false,\n ignoreBuildErrors = false,\n rebuildDepsGraph,\n forceDeploy = false,\n updateDependents,\n }: SnapFromScopeOptions\n ) {\n const disableTagAndSnapPipelines = disableSnapPipeline;\n if (forceDeploy) {\n ignoreBuildErrors = true;\n }\n if (disableTagAndSnapPipelines && ignoreBuildErrors) {\n throw new BitError('you can use either ignore-build-errors or disable-snap-pipeline, but not both');\n }\n if (updateDependents && !lane) {\n throw new BitError('update-dependents flag is only available when snapping from a lane');\n }\n\n const snapDataPerCompRaw = this.parseData(data);\n\n const results = await this.snapping.snapFromScope(snapDataPerCompRaw, {\n push,\n message,\n lane,\n ignoreIssues,\n build,\n skipTests,\n disableTagAndSnapPipelines,\n ignoreBuildErrors,\n rebuildDepsGraph,\n updateDependents,\n });\n\n return {\n exportedIds: results.exportedIds?.map((id) => id.toString()),\n snappedIds: results.snappedIds.map((id) => id.toString()),\n };\n }\n private parseData(data: string): SnapDataPerCompRaw[] {\n let dataParsed: unknown;\n try {\n dataParsed = JSON.parse(data);\n } catch (err: any) {\n throw new Error(`failed parsing the data entered as JSON. err ${err.message}`);\n }\n if (!Array.isArray(dataParsed)) {\n throw new Error('expect data to be an array');\n }\n dataParsed.forEach((dataItem) => {\n if (!dataItem.componentId) throw new Error('expect data item to have \"componentId\" prop');\n dataItem.files?.forEach((file) => {\n if (!file.path) throw new Error('expect file to have \"path\" prop');\n if (file.content) {\n file.content = Buffer.from(file.content, 'base64').toString();\n }\n });\n });\n\n return dataParsed;\n }\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_chalk","data","_interopRequireDefault","require","_componentIssues","_bitError","obj","__esModule","default","_defineProperty","key","value","_toPropertyKey","Object","defineProperty","enumerable","configurable","writable","t","i","_toPrimitive","String","r","e","Symbol","toPrimitive","call","TypeError","Number","SnapFromScopeCmd","constructor","snapping","logger","keys","IssuesClasses","join","report","options","results","json","snappedIds","exportedIds","snappedOutput","chalk","bold","exportedOutput","length","push","message","lane","ignoreIssues","build","skipTests","disableSnapPipeline","ignoreBuildErrors","rebuildDepsGraph","forceDeploy","updateDependents","disableTagAndSnapPipelines","BitError","snapDataPerCompRaw","parseData","snapFromScope","map","id","toString","dataParsed","JSON","parse","err","Error","Array","isArray","forEach","dataItem","componentId","files","file","path","content","Buffer","from","exports"],"sources":["snap-from-scope.cmd.ts"],"sourcesContent":["import chalk from 'chalk';\nimport { IssuesClasses } from '@teambit/component-issues';\nimport { Command, CommandOptions } from '@teambit/cli';\nimport { BitError } from '@teambit/bit-error';\nimport { Logger } from '@teambit/logger';\nimport { SnappingMain } from './snapping.main.runtime';\nimport { BasicTagSnapParams } from './tag-model-component';\n\nexport type FileData = { path: string; content: string; delete?: boolean };\n\nexport type SnapDataPerCompRaw = {\n componentId: string;\n dependencies?: string[];\n aspects?: Record<string, any>;\n message?: string;\n files?: FileData[];\n isNew?: boolean;\n mainFile?: string; // relevant when isNew is true. default to \"index.ts\".\n newDependencies?: Array<{\n id: string; // component-id or package-name. e.g. \"teambit.react/react\" or \"lodash\".\n version?: string; // version of the package. e.g. \"2.0.3\". for packages, it is mandatory.\n isComponent?: boolean; // default true. if false, it's a package dependency\n type?: 'runtime' | 'dev' | 'peer'; // default \"runtime\".\n }>;\n removeDependencies?: string[];\n};\n\ntype SnapFromScopeOptions = {\n push?: boolean;\n lane?: string;\n ignoreIssues?: string;\n disableSnapPipeline?: boolean;\n forceDeploy?: boolean;\n updateDependents?: boolean;\n} & BasicTagSnapParams;\n\nexport class SnapFromScopeCmd implements Command {\n name = '_snap <data>';\n description = 'snap components from a bare-scope';\n extendedDescription = `this command should be running from a new bare scope, it first imports the components it needs and then processes the snap.\nthe input data is a stringified JSON of an array of the following object.\n{\n componentId: string; // ids always have scope, so it's safe to parse them from string\n dependencies?: string[]; // dependencies include versions. for components use component-id. e.g. [teambit.compilation/compiler@1.0.0, lodash@4.17.21]\n aspects?: Record<string,any> // e.g. { \"teambit.react/react\": {}, \"teambit.envs/envs\": { \"env\": \"teambit.react/react\" } }\n message?: string; // tag-message.\n files?: Array<{path: string, content: string}>; // replace content of specified source-files. the content is base64 encoded.\n isNew?: boolean; // if it's new, it'll be generated from the given files. otherwise, it'll be fetched from the scope and updated.\n mainFile?: string; // relevant when isNew is true. default to \"index.ts\".\n newDependencies?: Array<{ // new dependencies (components and packages) to add.\n id: string; // component-id or package-name. e.g. \"teambit.react/react\" or \"lodash\".\n version?: string; // version of the package. e.g. \"2.0.3\". for packages, it is mandatory.\n isComponent?: boolean; // default true. if false, it's a package dependency\n type?: 'runtime' | 'dev' | 'peer'; // default \"runtime\".\n }>;\n removeDependencies?: string[]; // component-id (for components) or package-name (for packages) to remove from the dependencies.\n}\nan example of the final data: '[{\"componentId\":\"ci.remote2/comp-b\",\"message\": \"first snap\"}]'\n`;\n alias = '';\n options = [\n ['', 'push', 'export the updated objects to the original scopes once done'],\n ['m', 'message <message>', 'log message describing the latest changes'],\n ['', 'lane <lane-id>', 'fetch the components from the given lane'],\n ['', 'build', 'run the build pipeline'],\n ['', 'skip-tests', 'skip running component tests during snap process'],\n ['', 'disable-snap-pipeline', 'skip the snap pipeline'],\n ['', 'force-deploy', 'DEPRECATED. use --ignore-build-error instead'],\n ['', 'ignore-build-errors', 'run the snap pipeline although the build pipeline failed'],\n ['', 'rebuild-deps-graph', 'do not reuse the saved dependencies graph, instead build it from scratch'],\n [\n 'i',\n 'ignore-issues [issues]',\n `ignore component issues (shown in \"bit status\" as \"issues found\"), issues to ignore:\n[${Object.keys(IssuesClasses).join(', ')}]\nto ignore multiple issues, separate them by a comma and wrap with quotes. to ignore all issues, specify \"*\".`,\n ],\n [\n '',\n 'update-dependents',\n 'EXPERIMENTAL. when snapped on a lane, mark it as update-dependents so it will be skipped from the workspace',\n ],\n ['j', 'json', 'output as json format'],\n ] as CommandOptions;\n loader = true;\n private = true;\n\n constructor(private snapping: SnappingMain, private logger: Logger) {}\n\n async report([data]: [string], options: SnapFromScopeOptions) {\n const results = await this.json([data], options);\n\n const { snappedIds, exportedIds } = results;\n\n const snappedOutput = `${chalk.bold('snapped components')}\\n${snappedIds.join('\\n')}`;\n const exportedOutput =\n exportedIds && exportedIds.length ? `\\n\\n${chalk.bold('exported components')}\\n${exportedIds.join('\\n')}` : '';\n\n return `${snappedOutput}${exportedOutput}`;\n }\n async json(\n [data]: [string],\n {\n push = false,\n message = '',\n lane,\n ignoreIssues,\n build = false,\n skipTests = false,\n disableSnapPipeline = false,\n ignoreBuildErrors = false,\n rebuildDepsGraph,\n forceDeploy = false,\n updateDependents,\n }: SnapFromScopeOptions\n ) {\n const disableTagAndSnapPipelines = disableSnapPipeline;\n if (forceDeploy) {\n ignoreBuildErrors = true;\n }\n if (disableTagAndSnapPipelines && ignoreBuildErrors) {\n throw new BitError('you can use either ignore-build-errors or disable-snap-pipeline, but not both');\n }\n if (updateDependents && !lane) {\n throw new BitError('update-dependents flag is only available when snapping from a lane');\n }\n\n const snapDataPerCompRaw = this.parseData(data);\n\n const results = await this.snapping.snapFromScope(snapDataPerCompRaw, {\n push,\n message,\n lane,\n ignoreIssues,\n build,\n skipTests,\n disableTagAndSnapPipelines,\n ignoreBuildErrors,\n rebuildDepsGraph,\n updateDependents,\n });\n\n return {\n exportedIds: results.exportedIds?.map((id) => id.toString()),\n snappedIds: results.snappedIds.map((id) => id.toString()),\n };\n }\n private parseData(data: string): SnapDataPerCompRaw[] {\n let dataParsed: unknown;\n try {\n dataParsed = JSON.parse(data);\n } catch (err: any) {\n throw new Error(`failed parsing the data entered as JSON. err ${err.message}`);\n }\n if (!Array.isArray(dataParsed)) {\n throw new Error('expect data to be an array');\n }\n dataParsed.forEach((dataItem) => {\n if (!dataItem.componentId) throw new Error('expect data item to have \"componentId\" prop');\n dataItem.files?.forEach((file) => {\n if (!file.path) throw new Error('expect file to have \"path\" prop');\n if (file.content) {\n file.content = Buffer.from(file.content, 'base64').toString();\n }\n });\n });\n\n return dataParsed;\n }\n}\n"],"mappings":"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"}
|
|
@@ -574,15 +574,10 @@ if you're willing to lose the history from the head to the specified version, us
|
|
|
574
574
|
this.scope.legacyScope.scopeImporter.shouldOnlyFetchFromCurrentLane = true;
|
|
575
575
|
}
|
|
576
576
|
const laneCompIds = lane?.toComponentIds();
|
|
577
|
-
const resolveDepVer = dep => {
|
|
578
|
-
if (dep.hasVersion()) return dep;
|
|
579
|
-
const fromLane = laneCompIds?.searchWithoutVersion(dep);
|
|
580
|
-
return fromLane || dep;
|
|
581
|
-
};
|
|
582
577
|
const snapDataPerComp = snapDataPerCompRaw.map(snapData => {
|
|
583
578
|
return {
|
|
584
579
|
componentId: _componentId().ComponentID.fromString(snapData.componentId),
|
|
585
|
-
dependencies: snapData.dependencies
|
|
580
|
+
dependencies: snapData.dependencies || [],
|
|
586
581
|
aspects: snapData.aspects,
|
|
587
582
|
message: snapData.message,
|
|
588
583
|
files: snapData.files,
|
|
@@ -629,20 +624,16 @@ if you're willing to lose the history from the head to the specified version, us
|
|
|
629
624
|
deps.forEach(dep => {
|
|
630
625
|
const fromLane = laneCompIds.searchWithoutVersion(dep.componentId);
|
|
631
626
|
if (fromLane) {
|
|
632
|
-
snapData.dependencies.push(fromLane);
|
|
627
|
+
snapData.dependencies.push(fromLane.toString());
|
|
633
628
|
}
|
|
634
629
|
});
|
|
635
630
|
});
|
|
636
631
|
}
|
|
637
632
|
const components = [...existingComponents, ...newComponents];
|
|
638
633
|
// for new components these are not needed. coz when generating them we already add the aspects and the files.
|
|
639
|
-
// the dependencies are calculated later and they're provided by "newDependencies" prop (not "dependencies").
|
|
640
634
|
await Promise.all(existingComponents.map(async comp => {
|
|
641
635
|
const snapData = getSnapData(comp.id);
|
|
642
636
|
if (snapData.aspects) await this.scope.addAspectsFromConfigObject(comp, snapData.aspects);
|
|
643
|
-
if (snapData.dependencies.length) {
|
|
644
|
-
await this.updateDependenciesVersionsOfComponent(comp, snapData.dependencies, componentIds);
|
|
645
|
-
}
|
|
646
637
|
if (snapData.files?.length) {
|
|
647
638
|
await this.updateSourceFiles(comp, snapData.files);
|
|
648
639
|
}
|
|
@@ -666,7 +657,11 @@ if you're willing to lose the history from the head to the specified version, us
|
|
|
666
657
|
const results = await (0, _tagModelComponent().tagModelComponent)(_objectSpread(_objectSpread({}, params), {}, {
|
|
667
658
|
scope: this.scope,
|
|
668
659
|
consumerComponents,
|
|
669
|
-
tagDataPerComp: snapDataPerComp
|
|
660
|
+
tagDataPerComp: snapDataPerComp.map(s => ({
|
|
661
|
+
componentId: s.componentId,
|
|
662
|
+
message: s.message,
|
|
663
|
+
dependencies: []
|
|
664
|
+
})),
|
|
670
665
|
snapping: this,
|
|
671
666
|
builder: this.builder,
|
|
672
667
|
dependencyResolver: this.dependencyResolver,
|