@teambit/config 0.0.1399 → 0.0.1401
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/dist/workspace-config.d.ts +5 -0
- package/dist/workspace-config.js +47 -3
- package/dist/workspace-config.js.map +1 -1
- package/dist/workspace-template.jsonc +1 -0
- package/package.json +9 -9
- package/workspace-template.jsonc +1 -0
- /package/dist/{preview-1752152596621.js → preview-1752524063927.js} +0 -0
|
@@ -31,6 +31,7 @@ export interface DependencyResolverExtensionProps {
|
|
|
31
31
|
packageManagerProcessOptions?: any;
|
|
32
32
|
useWorkspaces?: boolean;
|
|
33
33
|
manageWorkspaces?: boolean;
|
|
34
|
+
externalPackageManager?: boolean;
|
|
34
35
|
}
|
|
35
36
|
export type WorkspaceSettingsNewProps = {
|
|
36
37
|
'teambit.workspace/workspace': WorkspaceExtensionProps;
|
|
@@ -119,6 +120,10 @@ export declare class WorkspaceConfig implements HostConfig {
|
|
|
119
120
|
private getParsedHistoryMetadata;
|
|
120
121
|
toVinyl(workspaceDir: PathOsBasedAbsolute): Promise<AbstractVinyl[] | undefined>;
|
|
121
122
|
toLegacy(): ILegacyWorkspaceConfig;
|
|
123
|
+
/**
|
|
124
|
+
* Validates that external package manager configuration is compatible with other settings
|
|
125
|
+
*/
|
|
126
|
+
validateExternalPackageManagerConfig(): void;
|
|
122
127
|
}
|
|
123
128
|
export declare function getWorkspaceConfigTemplateParsed(): Promise<Record<string, any>>;
|
|
124
129
|
export declare function stringifyWorkspaceConfig(workspaceConfig: Record<string, any>): string;
|
package/dist/workspace-config.js
CHANGED
|
@@ -207,8 +207,19 @@ class WorkspaceConfig {
|
|
|
207
207
|
// previously, we just did `assign(template, props)`, but it was replacing the entire workspace config with the "props".
|
|
208
208
|
// so for example, if the props only had defaultScope, it was removing the defaultDirectory.
|
|
209
209
|
const workspaceAspectConf = (0, _commentJson().assign)(template[_workspace().WorkspaceAspect.id], props[_workspace().WorkspaceAspect.id]);
|
|
210
|
+
|
|
211
|
+
// When external package manager mode is enabled, set conflicting properties to false in the template
|
|
212
|
+
const depResolverConf = (0, _commentJson().assign)(template['teambit.dependencies/dependency-resolver'], props['teambit.dependencies/dependency-resolver']);
|
|
213
|
+
if (depResolverConf.externalPackageManager) {
|
|
214
|
+
// Override template defaults to be compatible with external package manager mode
|
|
215
|
+
template['teambit.dependencies/dependency-resolver'] = template['teambit.dependencies/dependency-resolver'] || {};
|
|
216
|
+
template['teambit.dependencies/dependency-resolver'].rootComponent = false;
|
|
217
|
+
template['teambit.workspace/workspace-config-files'] = template['teambit.workspace/workspace-config-files'] || {};
|
|
218
|
+
template['teambit.workspace/workspace-config-files'].enableWorkspaceConfigWrite = false;
|
|
219
|
+
}
|
|
210
220
|
const merged = (0, _commentJson().assign)(template, {
|
|
211
|
-
[_workspace().WorkspaceAspect.id]: workspaceAspectConf
|
|
221
|
+
[_workspace().WorkspaceAspect.id]: workspaceAspectConf,
|
|
222
|
+
'teambit.dependencies/dependency-resolver': depResolverConf
|
|
212
223
|
});
|
|
213
224
|
if (generator) {
|
|
214
225
|
const generators = generator.split(',').map(g => g.trim());
|
|
@@ -216,7 +227,11 @@ class WorkspaceConfig {
|
|
|
216
227
|
envs: generators
|
|
217
228
|
};
|
|
218
229
|
}
|
|
219
|
-
|
|
230
|
+
const workspaceConfig = new WorkspaceConfig(merged, WorkspaceConfig.composeWorkspaceJsoncPath(dirPath), scopePath);
|
|
231
|
+
|
|
232
|
+
// Validate external package manager configuration
|
|
233
|
+
workspaceConfig.validateExternalPackageManagerConfig();
|
|
234
|
+
return workspaceConfig;
|
|
220
235
|
}
|
|
221
236
|
|
|
222
237
|
/**
|
|
@@ -306,7 +321,11 @@ class WorkspaceConfig {
|
|
|
306
321
|
} catch {
|
|
307
322
|
throw new (_invalidConfigFile().default)(workspaceJsoncPath);
|
|
308
323
|
}
|
|
309
|
-
|
|
324
|
+
const workspaceConfig = WorkspaceConfig.fromObject(parsed, workspaceJsoncPath, scopePath);
|
|
325
|
+
|
|
326
|
+
// Validate external package manager configuration
|
|
327
|
+
workspaceConfig.validateExternalPackageManagerConfig();
|
|
328
|
+
return workspaceConfig;
|
|
310
329
|
}
|
|
311
330
|
async write({
|
|
312
331
|
dir,
|
|
@@ -407,6 +426,31 @@ class WorkspaceConfig {
|
|
|
407
426
|
_legacyPlainObject: () => undefined
|
|
408
427
|
};
|
|
409
428
|
}
|
|
429
|
+
|
|
430
|
+
/**
|
|
431
|
+
* Validates that external package manager configuration is compatible with other settings
|
|
432
|
+
*/
|
|
433
|
+
validateExternalPackageManagerConfig() {
|
|
434
|
+
const depResolverExt = this.extension('teambit.dependencies/dependency-resolver', true);
|
|
435
|
+
if (!depResolverExt?.externalPackageManager) {
|
|
436
|
+
return; // No validation needed if external package manager is not enabled
|
|
437
|
+
}
|
|
438
|
+
const conflicts = [];
|
|
439
|
+
|
|
440
|
+
// Check dependency-resolver aspect conflicts
|
|
441
|
+
if (depResolverExt?.rootComponent === true) {
|
|
442
|
+
conflicts.push('rootComponent cannot be true when externalPackageManager is enabled');
|
|
443
|
+
}
|
|
444
|
+
|
|
445
|
+
// Check workspace-config-files aspect conflicts
|
|
446
|
+
const workspaceConfigFilesExt = this.extension('teambit.workspace/workspace-config-files', true);
|
|
447
|
+
if (workspaceConfigFilesExt?.enableWorkspaceConfigWrite === true) {
|
|
448
|
+
conflicts.push('enableWorkspaceConfigWrite cannot be true when externalPackageManager is enabled');
|
|
449
|
+
}
|
|
450
|
+
if (conflicts.length > 0) {
|
|
451
|
+
throw new Error(`External package manager mode is incompatible with the following settings:\n${conflicts.map(c => ` - ${c}`).join('\n')}\n\nPlease set these properties to false or remove them from your workspace.jsonc`);
|
|
452
|
+
}
|
|
453
|
+
}
|
|
410
454
|
}
|
|
411
455
|
exports.WorkspaceConfig = WorkspaceConfig;
|
|
412
456
|
async function getWorkspaceConfigTemplateParsed() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_legacy","data","require","_component","_legacy2","_legacy3","_legacy4","_legacy5","_commentJson","fs","_interopRequireWildcard","path","_lodash","_workspace","_exceptions","_invalidConfigFile","_interopRequireDefault","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","ownKeys","keys","getOwnPropertySymbols","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","value","configurable","writable","_toPrimitive","Symbol","toPrimitive","TypeError","String","Number","INTERNAL_CONFIG_PROPS","WorkspaceConfig","constructor","_path","scopePath","raw","loadExtensions","extensions","_extensions","extensionsIds","omit","withoutInternalConfig","ExtensionDataList","fromConfigObject","extension","extensionId","ignoreVersion","existing","findExtension","config","setExtension","options","mergeIntoExisting","overrideExisting","ExtensionAlreadyConfigured","renameExtensionInRaw","oldExtId","newExtId","isChanged","generatorEnvs","envs","includes","splice","indexOf","removeExtension","extCompId","extId","toStringWithoutVersion","existingKey","getExistingKeyIgnoreVersion","id","idStr","find","key","startsWith","fromObject","workspaceJsoncPath","create","props","dirPath","generator","template","getWorkspaceConfigTemplateParsed","workspaceAspectConf","assign","WorkspaceAspect","merged","generators","split","map","g","trim","composeWorkspaceJsoncPath","ensure","workspaceConfigProps","workspaceConfig","loadIfExist","err","InvalidConfigFile","reset","resetHard","logger","info","remove","join","WORKSPACE_JSONC","pathHasWorkspaceJsonc","isExist","pathExists","jsoncExist","LegacyWorkspaceConfig","_isExist","jsoncPath","instance","_loadFromWorkspaceJsonc","undefined","contentBuffer","readFile","parsed","parse","toString","write","dir","reasonForChange","getCalculatedDir","dirname","calculatedDir","files","toVinyl","dataToPersist","DataToPersist","addManyFiles","backupConfigFile","persistAllToFS","error","baseDir","getBackupHistoryDir","ensureDir","fileId","currentDateAndTimeToFileName","backupPath","copyFile","metadataFile","getBackupMetadataFilePath","appendFile","code","getBackupDir","Error","getParsedHistoryMetadata","fileContent","lines","metadata","line","reason","workspaceDir","jsonStr","stringify","base","fullPath","jsonFile","AbstractVinyl","contents","Buffer","from","toLegacy","componentsDefaultDirectory","defaultDirectory","lang","DEFAULT_LANGUAGE","defaultScope","_useWorkspaces","useWorkspaces","dependencyResolver","packageManager","_manageWorkspaces","manageWorkspaces","toConfigObject","isLegacy","bind","_legacyPlainObject","exports","__dirname","stringifyWorkspaceConfig"],"sources":["workspace-config.ts"],"sourcesContent":["import { ComponentID } from '@teambit/component-id';\nimport { DEFAULT_LANGUAGE, WORKSPACE_JSONC } from '@teambit/legacy.constants';\nimport { AbstractVinyl, DataToPersist } from '@teambit/component.sources';\nimport { LegacyWorkspaceConfig, ILegacyWorkspaceConfig } from '@teambit/legacy.consumer-config';\nimport { ExtensionDataList } from '@teambit/legacy.extension-data';\nimport { logger } from '@teambit/legacy.logger';\nimport { PathOsBased, PathOsBasedAbsolute } from '@teambit/legacy.utils';\nimport { currentDateAndTimeToFileName } from '@teambit/legacy.consumer';\nimport { assign, parse, stringify, CommentObject } from 'comment-json';\nimport * as fs from 'fs-extra';\nimport * as path from 'path';\nimport { omit } from 'lodash';\nimport { WorkspaceAspect } from '@teambit/workspace';\nimport { SetExtensionOptions } from './config.main.runtime';\nimport { ExtensionAlreadyConfigured } from './exceptions';\nimport InvalidConfigFile from './exceptions/invalid-config-file';\nimport { HostConfig } from './types';\n\nconst INTERNAL_CONFIG_PROPS = ['$schema', '$schemaVersion', 'require'];\n\nexport type LegacyInitProps = {\n standAlone?: boolean;\n};\n\nexport type WorkspaceConfigFileProps = {\n // TODO: make it no optional\n $schema?: string;\n $schemaVersion?: string;\n} & WorkspaceSettingsNewProps;\n\nexport type ComponentScopeDirMapEntry = {\n defaultScope?: string;\n directory: string;\n};\n\nexport type ComponentScopeDirMap = Array<ComponentScopeDirMapEntry>;\n\nexport type WorkspaceExtensionProps = {\n name?: string;\n defaultScope?: string;\n defaultDirectory?: string;\n components?: ComponentScopeDirMap;\n};\n\nexport type PackageManagerClients = 'npm' | 'yarn' | undefined;\n\nexport interface DependencyResolverExtensionProps {\n packageManager: PackageManagerClients;\n strictPeerDependencies?: boolean;\n extraArgs?: string[];\n packageManagerProcessOptions?: any;\n useWorkspaces?: boolean;\n manageWorkspaces?: boolean;\n}\n\nexport type WorkspaceSettingsNewProps = {\n 'teambit.workspace/workspace': WorkspaceExtensionProps;\n 'teambit.dependencies/dependency-resolver': DependencyResolverExtensionProps;\n};\n\nexport class WorkspaceConfig implements HostConfig {\n raw?: any;\n _extensions: ExtensionDataList;\n isLegacy: boolean;\n\n constructor(\n private data: WorkspaceConfigFileProps,\n private _path: PathOsBasedAbsolute,\n private scopePath?: PathOsBasedAbsolute\n ) {\n this.raw = data;\n this.loadExtensions();\n }\n\n get path(): PathOsBased {\n return this._path;\n }\n\n get extensions(): ExtensionDataList {\n return this._extensions;\n }\n\n get extensionsIds(): string[] {\n return Object.keys(omit(this.raw, INTERNAL_CONFIG_PROPS));\n }\n\n private loadExtensions() {\n const withoutInternalConfig = omit(this.raw, INTERNAL_CONFIG_PROPS);\n this._extensions = ExtensionDataList.fromConfigObject(withoutInternalConfig);\n }\n\n extension(extensionId: string, ignoreVersion: boolean): any {\n const existing = this.extensions.findExtension(extensionId, ignoreVersion);\n return existing?.config;\n }\n\n setExtension(extensionId: string, config: Record<string, any>, options: SetExtensionOptions): any {\n const existing = this.extension(extensionId, options.ignoreVersion);\n if (existing) {\n if (options.mergeIntoExisting) {\n config = { ...existing, ...config };\n } else if (!options.overrideExisting) {\n throw new ExtensionAlreadyConfigured(extensionId);\n }\n }\n\n this.raw[extensionId] = config;\n this.loadExtensions();\n }\n\n renameExtensionInRaw(oldExtId: string, newExtId: string): boolean {\n let isChanged = false;\n if (this.raw[oldExtId]) {\n this.raw[newExtId] = this.raw[oldExtId];\n delete this.raw[oldExtId];\n isChanged = true;\n }\n const generatorEnvs = this.raw?.['teambit.generator/generator']?.envs;\n if (generatorEnvs && generatorEnvs.includes(oldExtId)) {\n generatorEnvs.splice(generatorEnvs.indexOf(oldExtId), 1, newExtId);\n isChanged = true;\n }\n return isChanged;\n }\n\n removeExtension(extCompId: ComponentID): boolean {\n const extId = extCompId.toStringWithoutVersion();\n let isChanged = false;\n const existingKey = this.getExistingKeyIgnoreVersion(extCompId);\n if (existingKey) {\n delete this.raw[existingKey];\n isChanged = true;\n }\n const generatorEnvs = this.raw?.['teambit.generator/generator']?.envs;\n if (generatorEnvs && generatorEnvs.includes(extId)) {\n generatorEnvs.splice(generatorEnvs.indexOf(extId), 1);\n isChanged = true;\n }\n if (isChanged) this.loadExtensions();\n return isChanged;\n }\n\n getExistingKeyIgnoreVersion(id: ComponentID): string | undefined {\n const idStr = id.toStringWithoutVersion();\n if (this.raw[idStr]) return idStr;\n const keys = Object.keys(this.raw);\n return keys.find((key) => key.startsWith(`${idStr}@`));\n }\n\n /**\n * Create an instance of the WorkspaceConfig by data\n *\n * @static\n * @param {WorkspaceConfigFileProps} data\n * @returns\n * @memberof WorkspaceConfig\n */\n static fromObject(data: WorkspaceConfigFileProps, workspaceJsoncPath: PathOsBased, scopePath?: PathOsBasedAbsolute) {\n return new WorkspaceConfig(data, workspaceJsoncPath, scopePath);\n }\n\n /**\n * Create an instance of the WorkspaceConfig by the workspace config template and override values\n *\n * @static\n * @param {WorkspaceConfigFileProps} data values to override in the default template\n * @returns\n * @memberof WorkspaceConfig\n */\n static async create(\n props: WorkspaceConfigFileProps,\n dirPath: PathOsBasedAbsolute,\n scopePath: PathOsBasedAbsolute,\n generator?: string\n ) {\n const template = await getWorkspaceConfigTemplateParsed();\n // previously, we just did `assign(template, props)`, but it was replacing the entire workspace config with the \"props\".\n // so for example, if the props only had defaultScope, it was removing the defaultDirectory.\n const workspaceAspectConf = assign(template[WorkspaceAspect.id], props[WorkspaceAspect.id]);\n const merged = assign(template, { [WorkspaceAspect.id]: workspaceAspectConf });\n if (generator) {\n const generators = generator.split(',').map((g) => g.trim());\n merged['teambit.generator/generator'] = { envs: generators };\n }\n return new WorkspaceConfig(\n merged as WorkspaceConfigFileProps,\n WorkspaceConfig.composeWorkspaceJsoncPath(dirPath),\n scopePath\n );\n }\n\n /**\n * Ensure the given directory has a workspace config\n * Load if existing and create new if not\n *\n * @static\n * @param {PathOsBasedAbsolute} dirPath\n * @param {WorkspaceConfigFileProps} [workspaceConfigProps={} as any]\n * @returns {Promise<WorkspaceConfig>}\n * @memberof WorkspaceConfig\n */\n static async ensure(\n dirPath: PathOsBasedAbsolute,\n scopePath: PathOsBasedAbsolute,\n workspaceConfigProps: WorkspaceConfigFileProps = {} as any,\n generator?: string\n ): Promise<WorkspaceConfig> {\n try {\n let workspaceConfig = await this.loadIfExist(dirPath, scopePath);\n if (workspaceConfig) {\n return workspaceConfig;\n }\n workspaceConfig = await this.create(workspaceConfigProps, dirPath, scopePath, generator);\n return workspaceConfig;\n } catch (err: any) {\n if (err instanceof InvalidConfigFile) {\n const workspaceConfig = this.create(workspaceConfigProps, dirPath, scopePath, generator);\n return workspaceConfig;\n }\n throw err;\n }\n }\n\n static async reset(dirPath: PathOsBasedAbsolute, resetHard: boolean): Promise<void> {\n const workspaceJsoncPath = WorkspaceConfig.composeWorkspaceJsoncPath(dirPath);\n if (resetHard && workspaceJsoncPath) {\n logger.info(`deleting the consumer workspace.jsonc file at ${workspaceJsoncPath}`);\n await fs.remove(workspaceJsoncPath);\n }\n }\n\n /**\n * Get the path of the workspace.jsonc file by a containing folder\n *\n * @static\n * @param {PathOsBased} dirPath containing dir of the workspace.jsonc file\n * @returns {PathOsBased}\n * @memberof WorkspaceConfig\n */\n static composeWorkspaceJsoncPath(dirPath: PathOsBased): PathOsBased {\n return path.join(dirPath, WORKSPACE_JSONC);\n }\n\n static async pathHasWorkspaceJsonc(dirPath: PathOsBased): Promise<boolean> {\n const isExist = await fs.pathExists(WorkspaceConfig.composeWorkspaceJsoncPath(dirPath));\n return isExist;\n }\n\n /**\n * Check if the given dir has workspace config (new or legacy)\n * @param dirPath\n */\n static async isExist(dirPath: PathOsBased): Promise<boolean | undefined> {\n const jsoncExist = await WorkspaceConfig.pathHasWorkspaceJsonc(dirPath);\n if (jsoncExist) {\n return true;\n }\n return LegacyWorkspaceConfig._isExist(dirPath);\n }\n\n /**\n * Load the workspace configuration if it's exist\n *\n * @static\n * @param {PathOsBased} dirPath\n * @returns {(Promise<WorkspaceConfig | undefined>)}\n * @memberof WorkspaceConfig\n */\n static async loadIfExist(\n dirPath: PathOsBased,\n scopePath?: PathOsBasedAbsolute\n ): Promise<WorkspaceConfig | undefined> {\n const jsoncExist = await WorkspaceConfig.pathHasWorkspaceJsonc(dirPath);\n if (jsoncExist) {\n const jsoncPath = WorkspaceConfig.composeWorkspaceJsoncPath(dirPath);\n const instance = await WorkspaceConfig._loadFromWorkspaceJsonc(jsoncPath, scopePath);\n return instance;\n }\n return undefined;\n }\n\n static async _loadFromWorkspaceJsonc(workspaceJsoncPath: PathOsBased, scopePath?: string): Promise<WorkspaceConfig> {\n const contentBuffer = await fs.readFile(workspaceJsoncPath);\n let parsed;\n try {\n parsed = parse(contentBuffer.toString());\n } catch {\n throw new InvalidConfigFile(workspaceJsoncPath);\n }\n return WorkspaceConfig.fromObject(parsed, workspaceJsoncPath, scopePath);\n }\n\n async write({ dir, reasonForChange }: { dir?: PathOsBasedAbsolute; reasonForChange?: string } = {}): Promise<void> {\n const getCalculatedDir = () => {\n if (dir) return dir;\n return path.dirname(this._path);\n };\n const calculatedDir = getCalculatedDir();\n const files = await this.toVinyl(calculatedDir);\n const dataToPersist = new DataToPersist();\n if (files) {\n dataToPersist.addManyFiles(files);\n await this.backupConfigFile(reasonForChange);\n await dataToPersist.persistAllToFS();\n }\n }\n\n async backupConfigFile(reasonForChange?: string) {\n if (!this.scopePath) {\n logger.error(`unable to backup workspace.jsonc file without scope path`);\n return;\n }\n try {\n const baseDir = this.getBackupHistoryDir();\n await fs.ensureDir(baseDir);\n const fileId = currentDateAndTimeToFileName();\n const backupPath = path.join(baseDir, fileId);\n await fs.copyFile(this._path, backupPath);\n const metadataFile = this.getBackupMetadataFilePath();\n await fs.appendFile(metadataFile, `${fileId} ${reasonForChange || ''}\\n`);\n } catch (err: any) {\n if (err.code === 'ENOENT') return; // no such file or directory, meaning the .bitmap file doesn't exist (yet)\n // it's a nice to have feature. don't kill the process if something goes wrong.\n logger.error(`failed to backup workspace.jsonc`, err);\n }\n }\n private getBackupDir() {\n if (!this.scopePath) throw new Error('unable to get backup dir without scope path');\n return path.join(this.scopePath, 'workspace-config-history');\n }\n getBackupHistoryDir() {\n return path.join(this.getBackupDir(), 'files');\n }\n getBackupMetadataFilePath() {\n return path.join(this.getBackupDir(), 'metadata.txt');\n }\n private async getParsedHistoryMetadata(): Promise<{ [fileId: string]: string }> {\n let fileContent: string | undefined;\n try {\n fileContent = await fs.readFile(this.getBackupMetadataFilePath(), 'utf-8');\n } catch (err: any) {\n if (err.code === 'ENOENT') return {}; // no such file or directory, meaning the history-metadata file doesn't exist (yet)\n }\n const lines = fileContent?.split('\\n') || [];\n const metadata = {};\n lines.forEach((line) => {\n const [fileId, ...reason] = line.split(' ');\n if (!fileId) return;\n metadata[fileId] = reason.join(' ');\n });\n return metadata;\n }\n\n async toVinyl(workspaceDir: PathOsBasedAbsolute): Promise<AbstractVinyl[] | undefined> {\n const jsonStr = `${stringify(this.data, undefined, 2)}\\n`;\n const base = workspaceDir;\n const fullPath = workspaceDir ? WorkspaceConfig.composeWorkspaceJsoncPath(workspaceDir) : this.path;\n const jsonFile = new AbstractVinyl({ base, path: fullPath, contents: Buffer.from(jsonStr) });\n return [jsonFile];\n }\n\n toLegacy(): ILegacyWorkspaceConfig {\n let componentsDefaultDirectory = this.extension('teambit.workspace/workspace', true)?.defaultDirectory;\n if (componentsDefaultDirectory && !componentsDefaultDirectory.includes('{name}')) {\n componentsDefaultDirectory = `${componentsDefaultDirectory}/{name}`;\n }\n\n return {\n lang: DEFAULT_LANGUAGE,\n defaultScope: this.extension('teambit.workspace/workspace', true)?.defaultScope,\n _useWorkspaces: this.extension('teambit.dependencies/dependency-resolver', true)?.useWorkspaces,\n dependencyResolver: this.extension('teambit.dependencies/dependency-resolver', true),\n packageManager: this.extension('teambit.dependencies/dependency-resolver', true)?.packageManager,\n componentsDefaultDirectory,\n _manageWorkspaces: this.extension('teambit.dependencies/dependency-resolver', true)?.manageWorkspaces,\n extensions: this.extensions.toConfigObject(),\n // @ts-ignore\n path: this.path,\n isLegacy: false,\n write: ({ workspaceDir }) => this.write.call(this, { dir: workspaceDir }),\n toVinyl: this.toVinyl.bind(this),\n _legacyPlainObject: () => undefined,\n };\n }\n}\n\nexport async function getWorkspaceConfigTemplateParsed(): Promise<Record<string, any>> {\n let fileContent: Buffer;\n try {\n fileContent = await fs.readFile(path.join(__dirname, 'workspace-template.jsonc'));\n } catch (err: any) {\n if (err.code !== 'ENOENT') throw err;\n // when the extension is compiled by tsc, it doesn't copy .jsonc files into the dists, grab it from src\n fileContent = await fs.readFile(path.join(__dirname, '..', 'workspace-template.jsonc'));\n }\n return parse(fileContent.toString()) as CommentObject;\n}\n\nexport function stringifyWorkspaceConfig(workspaceConfig: Record<string, any>): string {\n return stringify(workspaceConfig, undefined, 2);\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_legacy","data","require","_component","_legacy2","_legacy3","_legacy4","_legacy5","_commentJson","fs","_interopRequireWildcard","path","_lodash","_workspace","_exceptions","_invalidConfigFile","_interopRequireDefault","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","ownKeys","keys","getOwnPropertySymbols","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","value","configurable","writable","_toPrimitive","Symbol","toPrimitive","TypeError","String","Number","INTERNAL_CONFIG_PROPS","WorkspaceConfig","constructor","_path","scopePath","raw","loadExtensions","extensions","_extensions","extensionsIds","omit","withoutInternalConfig","ExtensionDataList","fromConfigObject","extension","extensionId","ignoreVersion","existing","findExtension","config","setExtension","options","mergeIntoExisting","overrideExisting","ExtensionAlreadyConfigured","renameExtensionInRaw","oldExtId","newExtId","isChanged","generatorEnvs","envs","includes","splice","indexOf","removeExtension","extCompId","extId","toStringWithoutVersion","existingKey","getExistingKeyIgnoreVersion","id","idStr","find","key","startsWith","fromObject","workspaceJsoncPath","create","props","dirPath","generator","template","getWorkspaceConfigTemplateParsed","workspaceAspectConf","assign","WorkspaceAspect","depResolverConf","externalPackageManager","rootComponent","enableWorkspaceConfigWrite","merged","generators","split","map","g","trim","workspaceConfig","composeWorkspaceJsoncPath","validateExternalPackageManagerConfig","ensure","workspaceConfigProps","loadIfExist","err","InvalidConfigFile","reset","resetHard","logger","info","remove","join","WORKSPACE_JSONC","pathHasWorkspaceJsonc","isExist","pathExists","jsoncExist","LegacyWorkspaceConfig","_isExist","jsoncPath","instance","_loadFromWorkspaceJsonc","undefined","contentBuffer","readFile","parsed","parse","toString","write","dir","reasonForChange","getCalculatedDir","dirname","calculatedDir","files","toVinyl","dataToPersist","DataToPersist","addManyFiles","backupConfigFile","persistAllToFS","error","baseDir","getBackupHistoryDir","ensureDir","fileId","currentDateAndTimeToFileName","backupPath","copyFile","metadataFile","getBackupMetadataFilePath","appendFile","code","getBackupDir","Error","getParsedHistoryMetadata","fileContent","lines","metadata","line","reason","workspaceDir","jsonStr","stringify","base","fullPath","jsonFile","AbstractVinyl","contents","Buffer","from","toLegacy","componentsDefaultDirectory","defaultDirectory","lang","DEFAULT_LANGUAGE","defaultScope","_useWorkspaces","useWorkspaces","dependencyResolver","packageManager","_manageWorkspaces","manageWorkspaces","toConfigObject","isLegacy","bind","_legacyPlainObject","depResolverExt","conflicts","workspaceConfigFilesExt","c","exports","__dirname","stringifyWorkspaceConfig"],"sources":["workspace-config.ts"],"sourcesContent":["import { ComponentID } from '@teambit/component-id';\nimport { DEFAULT_LANGUAGE, WORKSPACE_JSONC } from '@teambit/legacy.constants';\nimport { AbstractVinyl, DataToPersist } from '@teambit/component.sources';\nimport { LegacyWorkspaceConfig, ILegacyWorkspaceConfig } from '@teambit/legacy.consumer-config';\nimport { ExtensionDataList } from '@teambit/legacy.extension-data';\nimport { logger } from '@teambit/legacy.logger';\nimport { PathOsBased, PathOsBasedAbsolute } from '@teambit/legacy.utils';\nimport { currentDateAndTimeToFileName } from '@teambit/legacy.consumer';\nimport { assign, parse, stringify, CommentObject } from 'comment-json';\nimport * as fs from 'fs-extra';\nimport * as path from 'path';\nimport { omit } from 'lodash';\nimport { WorkspaceAspect } from '@teambit/workspace';\nimport { SetExtensionOptions } from './config.main.runtime';\nimport { ExtensionAlreadyConfigured } from './exceptions';\nimport InvalidConfigFile from './exceptions/invalid-config-file';\nimport { HostConfig } from './types';\n\nconst INTERNAL_CONFIG_PROPS = ['$schema', '$schemaVersion', 'require'];\n\nexport type LegacyInitProps = {\n standAlone?: boolean;\n};\n\nexport type WorkspaceConfigFileProps = {\n // TODO: make it no optional\n $schema?: string;\n $schemaVersion?: string;\n} & WorkspaceSettingsNewProps;\n\nexport type ComponentScopeDirMapEntry = {\n defaultScope?: string;\n directory: string;\n};\n\nexport type ComponentScopeDirMap = Array<ComponentScopeDirMapEntry>;\n\nexport type WorkspaceExtensionProps = {\n name?: string;\n defaultScope?: string;\n defaultDirectory?: string;\n components?: ComponentScopeDirMap;\n};\n\nexport type PackageManagerClients = 'npm' | 'yarn' | undefined;\n\nexport interface DependencyResolverExtensionProps {\n packageManager: PackageManagerClients;\n strictPeerDependencies?: boolean;\n extraArgs?: string[];\n packageManagerProcessOptions?: any;\n useWorkspaces?: boolean;\n manageWorkspaces?: boolean;\n externalPackageManager?: boolean;\n}\n\nexport type WorkspaceSettingsNewProps = {\n 'teambit.workspace/workspace': WorkspaceExtensionProps;\n 'teambit.dependencies/dependency-resolver': DependencyResolverExtensionProps;\n};\n\nexport class WorkspaceConfig implements HostConfig {\n raw?: any;\n _extensions: ExtensionDataList;\n isLegacy: boolean;\n\n constructor(\n private data: WorkspaceConfigFileProps,\n private _path: PathOsBasedAbsolute,\n private scopePath?: PathOsBasedAbsolute\n ) {\n this.raw = data;\n this.loadExtensions();\n }\n\n get path(): PathOsBased {\n return this._path;\n }\n\n get extensions(): ExtensionDataList {\n return this._extensions;\n }\n\n get extensionsIds(): string[] {\n return Object.keys(omit(this.raw, INTERNAL_CONFIG_PROPS));\n }\n\n private loadExtensions() {\n const withoutInternalConfig = omit(this.raw, INTERNAL_CONFIG_PROPS);\n this._extensions = ExtensionDataList.fromConfigObject(withoutInternalConfig);\n }\n\n extension(extensionId: string, ignoreVersion: boolean): any {\n const existing = this.extensions.findExtension(extensionId, ignoreVersion);\n return existing?.config;\n }\n\n setExtension(extensionId: string, config: Record<string, any>, options: SetExtensionOptions): any {\n const existing = this.extension(extensionId, options.ignoreVersion);\n if (existing) {\n if (options.mergeIntoExisting) {\n config = { ...existing, ...config };\n } else if (!options.overrideExisting) {\n throw new ExtensionAlreadyConfigured(extensionId);\n }\n }\n\n this.raw[extensionId] = config;\n this.loadExtensions();\n }\n\n renameExtensionInRaw(oldExtId: string, newExtId: string): boolean {\n let isChanged = false;\n if (this.raw[oldExtId]) {\n this.raw[newExtId] = this.raw[oldExtId];\n delete this.raw[oldExtId];\n isChanged = true;\n }\n const generatorEnvs = this.raw?.['teambit.generator/generator']?.envs;\n if (generatorEnvs && generatorEnvs.includes(oldExtId)) {\n generatorEnvs.splice(generatorEnvs.indexOf(oldExtId), 1, newExtId);\n isChanged = true;\n }\n return isChanged;\n }\n\n removeExtension(extCompId: ComponentID): boolean {\n const extId = extCompId.toStringWithoutVersion();\n let isChanged = false;\n const existingKey = this.getExistingKeyIgnoreVersion(extCompId);\n if (existingKey) {\n delete this.raw[existingKey];\n isChanged = true;\n }\n const generatorEnvs = this.raw?.['teambit.generator/generator']?.envs;\n if (generatorEnvs && generatorEnvs.includes(extId)) {\n generatorEnvs.splice(generatorEnvs.indexOf(extId), 1);\n isChanged = true;\n }\n if (isChanged) this.loadExtensions();\n return isChanged;\n }\n\n getExistingKeyIgnoreVersion(id: ComponentID): string | undefined {\n const idStr = id.toStringWithoutVersion();\n if (this.raw[idStr]) return idStr;\n const keys = Object.keys(this.raw);\n return keys.find((key) => key.startsWith(`${idStr}@`));\n }\n\n /**\n * Create an instance of the WorkspaceConfig by data\n *\n * @static\n * @param {WorkspaceConfigFileProps} data\n * @returns\n * @memberof WorkspaceConfig\n */\n static fromObject(data: WorkspaceConfigFileProps, workspaceJsoncPath: PathOsBased, scopePath?: PathOsBasedAbsolute) {\n return new WorkspaceConfig(data, workspaceJsoncPath, scopePath);\n }\n\n /**\n * Create an instance of the WorkspaceConfig by the workspace config template and override values\n *\n * @static\n * @param {WorkspaceConfigFileProps} data values to override in the default template\n * @returns\n * @memberof WorkspaceConfig\n */\n static async create(\n props: WorkspaceConfigFileProps,\n dirPath: PathOsBasedAbsolute,\n scopePath: PathOsBasedAbsolute,\n generator?: string\n ) {\n const template = await getWorkspaceConfigTemplateParsed();\n // previously, we just did `assign(template, props)`, but it was replacing the entire workspace config with the \"props\".\n // so for example, if the props only had defaultScope, it was removing the defaultDirectory.\n const workspaceAspectConf = assign(template[WorkspaceAspect.id], props[WorkspaceAspect.id]);\n\n // When external package manager mode is enabled, set conflicting properties to false in the template\n const depResolverConf = assign(\n template['teambit.dependencies/dependency-resolver'],\n props['teambit.dependencies/dependency-resolver']\n );\n if (depResolverConf.externalPackageManager) {\n // Override template defaults to be compatible with external package manager mode\n template['teambit.dependencies/dependency-resolver'] = template['teambit.dependencies/dependency-resolver'] || {};\n template['teambit.dependencies/dependency-resolver'].rootComponent = false;\n template['teambit.workspace/workspace-config-files'] = template['teambit.workspace/workspace-config-files'] || {};\n template['teambit.workspace/workspace-config-files'].enableWorkspaceConfigWrite = false;\n }\n\n const merged = assign(template, {\n [WorkspaceAspect.id]: workspaceAspectConf,\n 'teambit.dependencies/dependency-resolver': depResolverConf,\n });\n\n if (generator) {\n const generators = generator.split(',').map((g) => g.trim());\n merged['teambit.generator/generator'] = { envs: generators };\n }\n\n const workspaceConfig = new WorkspaceConfig(\n merged as WorkspaceConfigFileProps,\n WorkspaceConfig.composeWorkspaceJsoncPath(dirPath),\n scopePath\n );\n\n // Validate external package manager configuration\n workspaceConfig.validateExternalPackageManagerConfig();\n\n return workspaceConfig;\n }\n\n /**\n * Ensure the given directory has a workspace config\n * Load if existing and create new if not\n *\n * @static\n * @param {PathOsBasedAbsolute} dirPath\n * @param {WorkspaceConfigFileProps} [workspaceConfigProps={} as any]\n * @returns {Promise<WorkspaceConfig>}\n * @memberof WorkspaceConfig\n */\n static async ensure(\n dirPath: PathOsBasedAbsolute,\n scopePath: PathOsBasedAbsolute,\n workspaceConfigProps: WorkspaceConfigFileProps = {} as any,\n generator?: string\n ): Promise<WorkspaceConfig> {\n try {\n let workspaceConfig = await this.loadIfExist(dirPath, scopePath);\n if (workspaceConfig) {\n return workspaceConfig;\n }\n workspaceConfig = await this.create(workspaceConfigProps, dirPath, scopePath, generator);\n return workspaceConfig;\n } catch (err: any) {\n if (err instanceof InvalidConfigFile) {\n const workspaceConfig = this.create(workspaceConfigProps, dirPath, scopePath, generator);\n return workspaceConfig;\n }\n throw err;\n }\n }\n\n static async reset(dirPath: PathOsBasedAbsolute, resetHard: boolean): Promise<void> {\n const workspaceJsoncPath = WorkspaceConfig.composeWorkspaceJsoncPath(dirPath);\n if (resetHard && workspaceJsoncPath) {\n logger.info(`deleting the consumer workspace.jsonc file at ${workspaceJsoncPath}`);\n await fs.remove(workspaceJsoncPath);\n }\n }\n\n /**\n * Get the path of the workspace.jsonc file by a containing folder\n *\n * @static\n * @param {PathOsBased} dirPath containing dir of the workspace.jsonc file\n * @returns {PathOsBased}\n * @memberof WorkspaceConfig\n */\n static composeWorkspaceJsoncPath(dirPath: PathOsBased): PathOsBased {\n return path.join(dirPath, WORKSPACE_JSONC);\n }\n\n static async pathHasWorkspaceJsonc(dirPath: PathOsBased): Promise<boolean> {\n const isExist = await fs.pathExists(WorkspaceConfig.composeWorkspaceJsoncPath(dirPath));\n return isExist;\n }\n\n /**\n * Check if the given dir has workspace config (new or legacy)\n * @param dirPath\n */\n static async isExist(dirPath: PathOsBased): Promise<boolean | undefined> {\n const jsoncExist = await WorkspaceConfig.pathHasWorkspaceJsonc(dirPath);\n if (jsoncExist) {\n return true;\n }\n return LegacyWorkspaceConfig._isExist(dirPath);\n }\n\n /**\n * Load the workspace configuration if it's exist\n *\n * @static\n * @param {PathOsBased} dirPath\n * @returns {(Promise<WorkspaceConfig | undefined>)}\n * @memberof WorkspaceConfig\n */\n static async loadIfExist(\n dirPath: PathOsBased,\n scopePath?: PathOsBasedAbsolute\n ): Promise<WorkspaceConfig | undefined> {\n const jsoncExist = await WorkspaceConfig.pathHasWorkspaceJsonc(dirPath);\n if (jsoncExist) {\n const jsoncPath = WorkspaceConfig.composeWorkspaceJsoncPath(dirPath);\n const instance = await WorkspaceConfig._loadFromWorkspaceJsonc(jsoncPath, scopePath);\n return instance;\n }\n return undefined;\n }\n\n static async _loadFromWorkspaceJsonc(workspaceJsoncPath: PathOsBased, scopePath?: string): Promise<WorkspaceConfig> {\n const contentBuffer = await fs.readFile(workspaceJsoncPath);\n let parsed;\n try {\n parsed = parse(contentBuffer.toString());\n } catch {\n throw new InvalidConfigFile(workspaceJsoncPath);\n }\n const workspaceConfig = WorkspaceConfig.fromObject(parsed, workspaceJsoncPath, scopePath);\n\n // Validate external package manager configuration\n workspaceConfig.validateExternalPackageManagerConfig();\n\n return workspaceConfig;\n }\n\n async write({ dir, reasonForChange }: { dir?: PathOsBasedAbsolute; reasonForChange?: string } = {}): Promise<void> {\n const getCalculatedDir = () => {\n if (dir) return dir;\n return path.dirname(this._path);\n };\n const calculatedDir = getCalculatedDir();\n const files = await this.toVinyl(calculatedDir);\n const dataToPersist = new DataToPersist();\n if (files) {\n dataToPersist.addManyFiles(files);\n await this.backupConfigFile(reasonForChange);\n await dataToPersist.persistAllToFS();\n }\n }\n\n async backupConfigFile(reasonForChange?: string) {\n if (!this.scopePath) {\n logger.error(`unable to backup workspace.jsonc file without scope path`);\n return;\n }\n try {\n const baseDir = this.getBackupHistoryDir();\n await fs.ensureDir(baseDir);\n const fileId = currentDateAndTimeToFileName();\n const backupPath = path.join(baseDir, fileId);\n await fs.copyFile(this._path, backupPath);\n const metadataFile = this.getBackupMetadataFilePath();\n await fs.appendFile(metadataFile, `${fileId} ${reasonForChange || ''}\\n`);\n } catch (err: any) {\n if (err.code === 'ENOENT') return; // no such file or directory, meaning the .bitmap file doesn't exist (yet)\n // it's a nice to have feature. don't kill the process if something goes wrong.\n logger.error(`failed to backup workspace.jsonc`, err);\n }\n }\n private getBackupDir() {\n if (!this.scopePath) throw new Error('unable to get backup dir without scope path');\n return path.join(this.scopePath, 'workspace-config-history');\n }\n getBackupHistoryDir() {\n return path.join(this.getBackupDir(), 'files');\n }\n getBackupMetadataFilePath() {\n return path.join(this.getBackupDir(), 'metadata.txt');\n }\n private async getParsedHistoryMetadata(): Promise<{ [fileId: string]: string }> {\n let fileContent: string | undefined;\n try {\n fileContent = await fs.readFile(this.getBackupMetadataFilePath(), 'utf-8');\n } catch (err: any) {\n if (err.code === 'ENOENT') return {}; // no such file or directory, meaning the history-metadata file doesn't exist (yet)\n }\n const lines = fileContent?.split('\\n') || [];\n const metadata = {};\n lines.forEach((line) => {\n const [fileId, ...reason] = line.split(' ');\n if (!fileId) return;\n metadata[fileId] = reason.join(' ');\n });\n return metadata;\n }\n\n async toVinyl(workspaceDir: PathOsBasedAbsolute): Promise<AbstractVinyl[] | undefined> {\n const jsonStr = `${stringify(this.data, undefined, 2)}\\n`;\n const base = workspaceDir;\n const fullPath = workspaceDir ? WorkspaceConfig.composeWorkspaceJsoncPath(workspaceDir) : this.path;\n const jsonFile = new AbstractVinyl({ base, path: fullPath, contents: Buffer.from(jsonStr) });\n return [jsonFile];\n }\n\n toLegacy(): ILegacyWorkspaceConfig {\n let componentsDefaultDirectory = this.extension('teambit.workspace/workspace', true)?.defaultDirectory;\n if (componentsDefaultDirectory && !componentsDefaultDirectory.includes('{name}')) {\n componentsDefaultDirectory = `${componentsDefaultDirectory}/{name}`;\n }\n\n return {\n lang: DEFAULT_LANGUAGE,\n defaultScope: this.extension('teambit.workspace/workspace', true)?.defaultScope,\n _useWorkspaces: this.extension('teambit.dependencies/dependency-resolver', true)?.useWorkspaces,\n dependencyResolver: this.extension('teambit.dependencies/dependency-resolver', true),\n packageManager: this.extension('teambit.dependencies/dependency-resolver', true)?.packageManager,\n componentsDefaultDirectory,\n _manageWorkspaces: this.extension('teambit.dependencies/dependency-resolver', true)?.manageWorkspaces,\n extensions: this.extensions.toConfigObject(),\n // @ts-ignore\n path: this.path,\n isLegacy: false,\n write: ({ workspaceDir }) => this.write.call(this, { dir: workspaceDir }),\n toVinyl: this.toVinyl.bind(this),\n _legacyPlainObject: () => undefined,\n };\n }\n\n /**\n * Validates that external package manager configuration is compatible with other settings\n */\n validateExternalPackageManagerConfig(): void {\n const depResolverExt = this.extension('teambit.dependencies/dependency-resolver', true);\n if (!depResolverExt?.externalPackageManager) {\n return; // No validation needed if external package manager is not enabled\n }\n\n const conflicts: string[] = [];\n\n // Check dependency-resolver aspect conflicts\n if (depResolverExt?.rootComponent === true) {\n conflicts.push('rootComponent cannot be true when externalPackageManager is enabled');\n }\n\n // Check workspace-config-files aspect conflicts\n const workspaceConfigFilesExt = this.extension('teambit.workspace/workspace-config-files', true);\n if (workspaceConfigFilesExt?.enableWorkspaceConfigWrite === true) {\n conflicts.push('enableWorkspaceConfigWrite cannot be true when externalPackageManager is enabled');\n }\n\n if (conflicts.length > 0) {\n throw new Error(\n `External package manager mode is incompatible with the following settings:\\n${conflicts.map((c) => ` - ${c}`).join('\\n')}\\n\\nPlease set these properties to false or remove them from your workspace.jsonc`\n );\n }\n }\n}\n\nexport async function getWorkspaceConfigTemplateParsed(): Promise<Record<string, any>> {\n let fileContent: Buffer;\n try {\n fileContent = await fs.readFile(path.join(__dirname, 'workspace-template.jsonc'));\n } catch (err: any) {\n if (err.code !== 'ENOENT') throw err;\n // when the extension is compiled by tsc, it doesn't copy .jsonc files into the dists, grab it from src\n fileContent = await fs.readFile(path.join(__dirname, '..', 'workspace-template.jsonc'));\n }\n return parse(fileContent.toString()) as CommentObject;\n}\n\nexport function stringifyWorkspaceConfig(workspaceConfig: Record<string, any>): string {\n return stringify(workspaceConfig, undefined, 2);\n}\n"],"mappings":"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","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@teambit/config",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.1401",
|
|
4
4
|
"homepage": "https://bit.cloud/teambit/harmony/config",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"componentId": {
|
|
7
7
|
"scope": "teambit.harmony",
|
|
8
8
|
"name": "config",
|
|
9
|
-
"version": "0.0.
|
|
9
|
+
"version": "0.0.1401"
|
|
10
10
|
},
|
|
11
11
|
"dependencies": {
|
|
12
12
|
"comment-json": "4.2.5",
|
|
@@ -16,18 +16,18 @@
|
|
|
16
16
|
"@teambit/harmony": "0.4.7",
|
|
17
17
|
"@teambit/component-id": "1.2.4",
|
|
18
18
|
"@teambit/bit-error": "0.0.404",
|
|
19
|
-
"@teambit/cli": "0.0.
|
|
20
|
-
"@teambit/legacy.consumer-config": "0.0.
|
|
21
|
-
"@teambit/legacy.extension-data": "0.0.
|
|
19
|
+
"@teambit/cli": "0.0.1227",
|
|
20
|
+
"@teambit/legacy.consumer-config": "0.0.55",
|
|
21
|
+
"@teambit/legacy.extension-data": "0.0.57",
|
|
22
22
|
"@teambit/legacy.utils": "0.0.21",
|
|
23
23
|
"@teambit/scope.modules.find-scope-path": "0.0.13",
|
|
24
24
|
"@teambit/workspace.modules.workspace-locator": "0.0.13",
|
|
25
25
|
"@teambit/toolbox.path.path": "0.0.8",
|
|
26
|
-
"@teambit/component.sources": "0.0.
|
|
26
|
+
"@teambit/component.sources": "0.0.107",
|
|
27
27
|
"@teambit/legacy.constants": "0.0.12",
|
|
28
|
-
"@teambit/legacy.consumer": "0.0.
|
|
29
|
-
"@teambit/legacy.logger": "0.0.
|
|
30
|
-
"@teambit/workspace": "1.0.
|
|
28
|
+
"@teambit/legacy.consumer": "0.0.55",
|
|
29
|
+
"@teambit/legacy.logger": "0.0.21",
|
|
30
|
+
"@teambit/workspace": "1.0.650"
|
|
31
31
|
},
|
|
32
32
|
"devDependencies": {
|
|
33
33
|
"@types/fs-extra": "9.0.7",
|
package/workspace-template.jsonc
CHANGED
|
File without changes
|