@teambit/config 0.0.851 → 0.0.853

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.
@@ -42,14 +42,13 @@ export declare type WorkspaceLegacyProps = {
42
42
  };
43
43
  export declare type ExtensionsDefs = WorkspaceSettingsNewProps;
44
44
  export declare class WorkspaceConfig implements HostConfig {
45
- private data?;
46
- private legacyConfig?;
45
+ private data;
47
46
  raw?: any;
48
47
  _path?: string;
49
48
  _extensions: ExtensionDataList;
50
49
  _legacyProps?: WorkspaceLegacyProps;
51
50
  isLegacy: boolean;
52
- constructor(data?: WorkspaceConfigFileProps | undefined, legacyConfig?: LegacyWorkspaceConfig | undefined);
51
+ constructor(data: WorkspaceConfigFileProps);
53
52
  get path(): PathOsBased;
54
53
  set path(configPath: PathOsBased);
55
54
  get extensions(): ExtensionDataList;
@@ -57,15 +56,6 @@ export declare class WorkspaceConfig implements HostConfig {
57
56
  extension(extensionId: string, ignoreVersion: boolean): any;
58
57
  setExtension(extensionId: string, config: Record<string, any>, options: SetExtensionOptions): any;
59
58
  renameExtensionInRaw(oldExtId: string, newExtId: string): boolean;
60
- /**
61
- * Create an instance of the WorkspaceConfig by an instance of the legacy config
62
- *
63
- * @static
64
- * @param {*} legacyConfig
65
- * @returns
66
- * @memberof WorkspaceConfig
67
- */
68
- static fromLegacyConfig(legacyConfig: any): WorkspaceConfig;
69
59
  /**
70
60
  * Create an instance of the WorkspaceConfig by data
71
61
  *
@@ -95,20 +85,12 @@ export declare class WorkspaceConfig implements HostConfig {
95
85
  * @memberof WorkspaceConfig
96
86
  */
97
87
  static ensure(dirPath: PathOsBasedAbsolute, workspaceConfigProps?: WorkspaceConfigFileProps): Promise<WorkspaceConfig>;
98
- /**
99
- * A function that register to the legacy ensure function in order to transform old props structure
100
- * to the new one
101
- * @param dirPath
102
- * @param standAlone
103
- * @param legacyWorkspaceConfigProps
104
- */
105
- static onLegacyEnsure(dirPath: PathOsBasedAbsolute, standAlone: boolean, legacyWorkspaceConfigProps?: LegacyWorkspaceConfigProps): Promise<WorkspaceConfig>;
106
88
  static reset(dirPath: PathOsBasedAbsolute, resetHard: boolean): Promise<void>;
107
89
  /**
108
- * Get the path of the bit.jsonc file by a containing folder
90
+ * Get the path of the workspace.jsonc file by a containing folder
109
91
  *
110
92
  * @static
111
- * @param {PathOsBased} dirPath containing dir of the bit.jsonc file
93
+ * @param {PathOsBased} dirPath containing dir of the workspace.jsonc file
112
94
  * @returns {PathOsBased}
113
95
  * @memberof WorkspaceConfig
114
96
  */
@@ -133,9 +115,6 @@ export declare class WorkspaceConfig implements HostConfig {
133
115
  dir?: PathOsBasedAbsolute;
134
116
  }): Promise<void>;
135
117
  toVinyl(workspaceDir: PathOsBasedAbsolute): Promise<AbstractVinyl[] | undefined>;
136
- _legacyPlainObject(): {
137
- [prop: string]: any;
138
- } | undefined;
139
118
  toLegacy(): ILegacyWorkspaceConfig;
140
119
  }
141
120
  export declare function transformLegacyPropsToExtensions(legacyConfig: LegacyWorkspaceConfig | LegacyWorkspaceConfigProps): ExtensionsDefs;
@@ -35,13 +35,6 @@ function _config() {
35
35
  };
36
36
  return data;
37
37
  }
38
- function _exceptions() {
39
- const data = require("@teambit/legacy/dist/consumer/config/exceptions");
40
- _exceptions = function () {
41
- return data;
42
- };
43
- return data;
44
- }
45
38
  function _workspaceConfig() {
46
39
  const data = _interopRequireDefault(require("@teambit/legacy/dist/consumer/config/workspace-config"));
47
40
  _workspaceConfig = function () {
@@ -84,9 +77,16 @@ function _lodash() {
84
77
  };
85
78
  return data;
86
79
  }
87
- function _exceptions2() {
80
+ function _workspace() {
81
+ const data = _interopRequireDefault(require("@teambit/workspace"));
82
+ _workspace = function () {
83
+ return data;
84
+ };
85
+ return data;
86
+ }
87
+ function _exceptions() {
88
88
  const data = require("./exceptions");
89
- _exceptions2 = function () {
89
+ _exceptions = function () {
90
90
  return data;
91
91
  };
92
92
  return data;
@@ -115,21 +115,18 @@ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typ
115
115
  function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
116
116
  const INTERNAL_CONFIG_PROPS = ['$schema', '$schemaVersion'];
117
117
  class WorkspaceConfig {
118
- constructor(data, legacyConfig) {
118
+ constructor(data) {
119
119
  this.data = data;
120
- this.legacyConfig = legacyConfig;
121
120
  _defineProperty(this, "raw", void 0);
122
121
  _defineProperty(this, "_path", void 0);
123
122
  _defineProperty(this, "_extensions", void 0);
124
123
  _defineProperty(this, "_legacyProps", void 0);
125
124
  _defineProperty(this, "isLegacy", void 0);
126
- this.isLegacy = Boolean(legacyConfig);
127
125
  this.raw = data;
128
126
  this.loadExtensions();
129
127
  }
130
128
  get path() {
131
- var _this$legacyConfig;
132
- return this._path || ((_this$legacyConfig = this.legacyConfig) === null || _this$legacyConfig === void 0 ? void 0 : _this$legacyConfig.path) || '';
129
+ return this._path || '';
133
130
  }
134
131
  set path(configPath) {
135
132
  this._path = configPath;
@@ -151,7 +148,7 @@ class WorkspaceConfig {
151
148
  if (options.mergeIntoExisting) {
152
149
  config = _objectSpread(_objectSpread({}, existing), config);
153
150
  } else if (!options.overrideExisting) {
154
- throw new (_exceptions2().ExtensionAlreadyConfigured)(extensionId);
151
+ throw new (_exceptions().ExtensionAlreadyConfigured)(extensionId);
155
152
  }
156
153
  }
157
154
  this.raw[extensionId] = config;
@@ -166,18 +163,6 @@ class WorkspaceConfig {
166
163
  return false;
167
164
  }
168
165
 
169
- /**
170
- * Create an instance of the WorkspaceConfig by an instance of the legacy config
171
- *
172
- * @static
173
- * @param {*} legacyConfig
174
- * @returns
175
- * @memberof WorkspaceConfig
176
- */
177
- static fromLegacyConfig(legacyConfig) {
178
- return new WorkspaceConfig(undefined, legacyConfig);
179
- }
180
-
181
166
  /**
182
167
  * Create an instance of the WorkspaceConfig by data
183
168
  *
@@ -187,7 +172,7 @@ class WorkspaceConfig {
187
172
  * @memberof WorkspaceConfig
188
173
  */
189
174
  static fromObject(data) {
190
- return new WorkspaceConfig(data, undefined);
175
+ return new WorkspaceConfig(data);
191
176
  }
192
177
 
193
178
  /**
@@ -200,10 +185,13 @@ class WorkspaceConfig {
200
185
  */
201
186
  static async create(props, dirPath) {
202
187
  const template = await getWorkspaceConfigTemplateParsed();
203
- // TODO: replace this assign with some kind of deepAssign that keeps the comments
204
- // right now the comments above the internal props are overrides after the assign
205
- const merged = (0, _commentJson().assign)(template, props);
206
- const instance = new WorkspaceConfig(merged, undefined);
188
+ // previously, we just did `assign(template, props)`, but it was replacing the entire workspace config with the "props".
189
+ // so for example, if the props only had defaultScope, it was removing the defaultDirectory.
190
+ const workspaceAspectConf = (0, _commentJson().assign)(template[_workspace().default.id], props[_workspace().default.id]);
191
+ const merged = (0, _commentJson().assign)(template, {
192
+ [_workspace().default.id]: workspaceAspectConf
193
+ });
194
+ const instance = new WorkspaceConfig(merged);
207
195
  if (dirPath) {
208
196
  instance.path = WorkspaceConfig.composeWorkspaceJsoncPath(dirPath);
209
197
  }
@@ -229,27 +217,13 @@ class WorkspaceConfig {
229
217
  workspaceConfig = await this.create(workspaceConfigProps, dirPath);
230
218
  return workspaceConfig;
231
219
  } catch (err) {
232
- if (err instanceof _exceptions().InvalidBitJson || err instanceof _invalidConfigFile().default) {
220
+ if (err instanceof _invalidConfigFile().default) {
233
221
  const workspaceConfig = this.create(workspaceConfigProps, dirPath);
234
222
  return workspaceConfig;
235
223
  }
236
224
  throw err;
237
225
  }
238
226
  }
239
-
240
- /**
241
- * A function that register to the legacy ensure function in order to transform old props structure
242
- * to the new one
243
- * @param dirPath
244
- * @param standAlone
245
- * @param legacyWorkspaceConfigProps
246
- */
247
- static async onLegacyEnsure(dirPath, standAlone, legacyWorkspaceConfigProps = {}) {
248
- const newProps = transformLegacyPropsToExtensions(legacyWorkspaceConfigProps);
249
- // TODO: gilad move to constants file
250
- newProps.$schemaVersion = '1.0.0';
251
- return WorkspaceConfig.ensure(dirPath, newProps);
252
- }
253
227
  static async reset(dirPath, resetHard) {
254
228
  const workspaceJsoncPath = WorkspaceConfig.composeWorkspaceJsoncPath(dirPath);
255
229
  if (resetHard && workspaceJsoncPath) {
@@ -259,10 +233,10 @@ class WorkspaceConfig {
259
233
  }
260
234
 
261
235
  /**
262
- * Get the path of the bit.jsonc file by a containing folder
236
+ * Get the path of the workspace.jsonc file by a containing folder
263
237
  *
264
238
  * @static
265
- * @param {PathOsBased} dirPath containing dir of the bit.jsonc file
239
+ * @param {PathOsBased} dirPath containing dir of the workspace.jsonc file
266
240
  * @returns {PathOsBased}
267
241
  * @memberof WorkspaceConfig
268
242
  */
@@ -302,10 +276,6 @@ class WorkspaceConfig {
302
276
  instance.path = jsoncPath;
303
277
  return instance;
304
278
  }
305
- const legacyConfig = await _workspaceConfig().default._loadIfExist(dirPath);
306
- if (legacyConfig) {
307
- return WorkspaceConfig.fromLegacyConfig(legacyConfig);
308
- }
309
279
  return undefined;
310
280
  }
311
281
  static async _loadFromWorkspaceJsonc(workspaceJsoncPath) {
@@ -321,57 +291,39 @@ class WorkspaceConfig {
321
291
  async write({
322
292
  dir
323
293
  } = {}) {
324
- var _this$legacyConfig2;
325
294
  const getCalculatedDir = () => {
326
295
  if (dir) return dir;
327
296
  if (this._path) return path().dirname(this._path);
328
297
  throw new (_configDirNotDefined().ConfigDirNotDefined)();
329
298
  };
330
299
  const calculatedDir = getCalculatedDir();
331
- if (this.data) {
332
- const files = await this.toVinyl(calculatedDir);
333
- const dataToPersist = new (_dataToPersist().default)();
334
- if (files) {
335
- dataToPersist.addManyFiles(files);
336
- return dataToPersist.persistAllToFS();
337
- }
300
+ const files = await this.toVinyl(calculatedDir);
301
+ const dataToPersist = new (_dataToPersist().default)();
302
+ if (files) {
303
+ dataToPersist.addManyFiles(files);
304
+ return dataToPersist.persistAllToFS();
338
305
  }
339
- await ((_this$legacyConfig2 = this.legacyConfig) === null || _this$legacyConfig2 === void 0 ? void 0 : _this$legacyConfig2.write({
340
- workspaceDir: calculatedDir
341
- }));
342
306
  return undefined;
343
307
  }
344
308
  async toVinyl(workspaceDir) {
345
- var _this$legacyConfig3;
346
- if (this.data) {
347
- const jsonStr = `${(0, _commentJson().stringify)(this.data, undefined, 2)}\n`;
348
- const base = workspaceDir;
349
- const fullPath = workspaceDir ? WorkspaceConfig.composeWorkspaceJsoncPath(workspaceDir) : this.path;
350
- const jsonFile = new (_sources().AbstractVinyl)({
351
- base,
352
- path: fullPath,
353
- contents: Buffer.from(jsonStr)
354
- });
355
- return [jsonFile];
356
- }
357
- return (_this$legacyConfig3 = this.legacyConfig) === null || _this$legacyConfig3 === void 0 ? void 0 : _this$legacyConfig3.toVinyl({
358
- workspaceDir
309
+ const jsonStr = `${(0, _commentJson().stringify)(this.data, undefined, 2)}\n`;
310
+ const base = workspaceDir;
311
+ const fullPath = workspaceDir ? WorkspaceConfig.composeWorkspaceJsoncPath(workspaceDir) : this.path;
312
+ const jsonFile = new (_sources().AbstractVinyl)({
313
+ base,
314
+ path: fullPath,
315
+ contents: Buffer.from(jsonStr)
359
316
  });
360
- }
361
- _legacyPlainObject() {
362
- if (this.legacyConfig) {
363
- return this.legacyConfig.toPlainObject();
364
- }
365
- return undefined;
317
+ return [jsonFile];
366
318
  }
367
319
  toLegacy() {
368
- var _this$extension, _this$legacyConfig4, _this$extension2, _this$extension3, _this$extension4, _this$_legacyProps, _this$_legacyProps2, _this$extension5, _this$legacyConfig5, _this$legacyConfig6, _this$legacyConfig7, _this$legacyConfig8;
320
+ var _this$extension, _this$extension2, _this$extension3, _this$extension4, _this$_legacyProps, _this$_legacyProps2, _this$extension5;
369
321
  let componentsDefaultDirectory = (_this$extension = this.extension('teambit.workspace/workspace', true)) === null || _this$extension === void 0 ? void 0 : _this$extension.defaultDirectory;
370
322
  if (componentsDefaultDirectory && !componentsDefaultDirectory.includes('{name}')) {
371
323
  componentsDefaultDirectory = `${componentsDefaultDirectory}/{name}`;
372
324
  }
373
325
  return {
374
- lang: ((_this$legacyConfig4 = this.legacyConfig) === null || _this$legacyConfig4 === void 0 ? void 0 : _this$legacyConfig4.lang) || _constants().DEFAULT_LANGUAGE,
326
+ lang: _constants().DEFAULT_LANGUAGE,
375
327
  defaultScope: (_this$extension2 = this.extension('teambit.workspace/workspace', true)) === null || _this$extension2 === void 0 ? void 0 : _this$extension2.defaultScope,
376
328
  _useWorkspaces: (_this$extension3 = this.extension('teambit.dependencies/dependency-resolver', true)) === null || _this$extension3 === void 0 ? void 0 : _this$extension3.useWorkspaces,
377
329
  dependencyResolver: this.extension('teambit.dependencies/dependency-resolver', true),
@@ -383,16 +335,16 @@ class WorkspaceConfig {
383
335
  extensions: this.extensions.toConfigObject(),
384
336
  // @ts-ignore
385
337
  path: this.path,
386
- isLegacy: this.isLegacy,
338
+ isLegacy: false,
387
339
  write: ({
388
340
  workspaceDir
389
341
  }) => this.write.call(this, {
390
342
  dir: workspaceDir
391
343
  }),
392
344
  toVinyl: this.toVinyl.bind(this),
393
- componentsConfig: this.legacyConfig ? (_this$legacyConfig5 = this.legacyConfig) === null || _this$legacyConfig5 === void 0 ? void 0 : _this$legacyConfig5.overrides : undefined,
394
- getComponentConfig: this.legacyConfig ? (_this$legacyConfig6 = this.legacyConfig) === null || _this$legacyConfig6 === void 0 ? void 0 : _this$legacyConfig6.overrides.getOverrideComponentData.bind((_this$legacyConfig7 = this.legacyConfig) === null || _this$legacyConfig7 === void 0 ? void 0 : _this$legacyConfig7.overrides) : () => undefined,
395
- _legacyPlainObject: this.legacyConfig ? (_this$legacyConfig8 = this.legacyConfig) === null || _this$legacyConfig8 === void 0 ? void 0 : _this$legacyConfig8.toPlainObject.bind(this.legacyConfig) : () => undefined
345
+ componentsConfig: undefined,
346
+ getComponentConfig: () => undefined,
347
+ _legacyPlainObject: () => undefined
396
348
  };
397
349
  }
398
350
  }
@@ -1 +1 @@
1
- {"version":3,"names":["_constants","data","require","_sources","_dataToPersist","_interopRequireDefault","_config","_exceptions","_workspaceConfig","_logger","_commentJson","fs","_interopRequireWildcard","path","_lodash","_exceptions2","_configDirNotDefined","_invalidConfigFile","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","ownKeys","keys","getOwnPropertySymbols","o","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","key","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","INTERNAL_CONFIG_PROPS","WorkspaceConfig","constructor","legacyConfig","isLegacy","Boolean","raw","loadExtensions","_this$legacyConfig","_path","configPath","extensions","_extensions","withoutInternalConfig","omit","ExtensionDataList","fromConfigObject","extension","extensionId","ignoreVersion","existing","findExtension","config","setExtension","options","mergeIntoExisting","overrideExisting","ExtensionAlreadyConfigured","renameExtensionInRaw","oldExtId","newExtId","fromLegacyConfig","fromObject","create","props","dirPath","template","getWorkspaceConfigTemplateParsed","merged","assign","instance","composeWorkspaceJsoncPath","ensure","workspaceConfigProps","workspaceConfig","loadIfExist","err","InvalidBitJson","InvalidConfigFile","onLegacyEnsure","standAlone","legacyWorkspaceConfigProps","newProps","transformLegacyPropsToExtensions","$schemaVersion","reset","resetHard","workspaceJsoncPath","logger","info","remove","join","WORKSPACE_JSONC","pathHasWorkspaceJsonc","isExist","pathExists","jsoncExist","LegacyWorkspaceConfig","_isExist","jsoncPath","_loadFromWorkspaceJsonc","_loadIfExist","contentBuffer","readFile","parsed","parse","toString","write","dir","_this$legacyConfig2","getCalculatedDir","dirname","ConfigDirNotDefined","calculatedDir","files","toVinyl","dataToPersist","DataToPersist","addManyFiles","persistAllToFS","workspaceDir","_this$legacyConfig3","jsonStr","stringify","base","fullPath","jsonFile","AbstractVinyl","contents","Buffer","from","_legacyPlainObject","toPlainObject","toLegacy","_this$extension","_this$legacyConfig4","_this$extension2","_this$extension3","_this$extension4","_this$_legacyProps","_this$_legacyProps2","_this$extension5","_this$legacyConfig5","_this$legacyConfig6","_this$legacyConfig7","_this$legacyConfig8","componentsDefaultDirectory","defaultDirectory","includes","lang","DEFAULT_LANGUAGE","defaultScope","_useWorkspaces","useWorkspaces","dependencyResolver","packageManager","_saveDependenciesAsComponents","_legacyProps","saveDependenciesAsComponents","_dependenciesDirectory","dependenciesDirectory","_manageWorkspaces","manageWorkspaces","toConfigObject","bind","componentsConfig","overrides","getComponentConfig","getOverrideComponentData","exports","_legacyConfig$overrid","removeUndefined","entries","workspace","extraArgs","packageManagerArgs","packageManagerProcessOptions","variants","isEmpty","fileContent","__dirname","code","stringifyWorkspaceConfig"],"sources":["workspace-config.ts"],"sourcesContent":["import { DEFAULT_LANGUAGE, WORKSPACE_JSONC } from '@teambit/legacy/dist/constants';\nimport { AbstractVinyl } from '@teambit/legacy/dist/consumer/component/sources';\nimport DataToPersist from '@teambit/legacy/dist/consumer/component/sources/data-to-persist';\nimport { ExtensionDataList, ILegacyWorkspaceConfig } from '@teambit/legacy/dist/consumer/config';\nimport { InvalidBitJson } from '@teambit/legacy/dist/consumer/config/exceptions';\nimport LegacyWorkspaceConfig, {\n WorkspaceConfigProps as LegacyWorkspaceConfigProps,\n} from '@teambit/legacy/dist/consumer/config/workspace-config';\nimport logger from '@teambit/legacy/dist/logger/logger';\nimport { PathOsBased, PathOsBasedAbsolute } from '@teambit/legacy/dist/utils/path';\nimport { assign, parse, stringify, CommentJSONValue } from 'comment-json';\nimport * as fs from 'fs-extra';\nimport * as path from 'path';\nimport { isEmpty, omit } from 'lodash';\n\nimport { SetExtensionOptions } from './config.main.runtime';\nimport { ExtensionAlreadyConfigured } from './exceptions';\nimport { ConfigDirNotDefined } from './exceptions/config-dir-not-defined';\nimport InvalidConfigFile from './exceptions/invalid-config-file';\nimport { HostConfig } from './types';\n\nconst INTERNAL_CONFIG_PROPS = ['$schema', '$schemaVersion'];\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} & ExtensionsDefs;\n\nexport type ComponentScopeDirMapEntry = {\n defaultScope?: string;\n directory: string;\n};\n\nexport type ComponentScopeDirMap = Array<ComponentScopeDirMapEntry>;\n\nexport type WorkspaceExtensionProps = {\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 type WorkspaceLegacyProps = {\n dependenciesDirectory?: string;\n bindingPrefix?: string;\n saveDependenciesAsComponents?: boolean;\n};\n\nexport type ExtensionsDefs = WorkspaceSettingsNewProps;\n\nexport class WorkspaceConfig implements HostConfig {\n raw?: any;\n _path?: string;\n _extensions: ExtensionDataList;\n _legacyProps?: WorkspaceLegacyProps;\n isLegacy: boolean;\n\n constructor(private data?: WorkspaceConfigFileProps, private legacyConfig?: LegacyWorkspaceConfig) {\n this.isLegacy = Boolean(legacyConfig);\n this.raw = data;\n this.loadExtensions();\n }\n\n get path(): PathOsBased {\n return this._path || this.legacyConfig?.path || '';\n }\n\n set path(configPath: PathOsBased) {\n this._path = configPath;\n }\n\n get extensions(): ExtensionDataList {\n return this._extensions;\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 if (this.raw[oldExtId]) {\n this.raw[newExtId] = this.raw[oldExtId];\n delete this.raw[oldExtId];\n return true;\n }\n return false;\n }\n\n /**\n * Create an instance of the WorkspaceConfig by an instance of the legacy config\n *\n * @static\n * @param {*} legacyConfig\n * @returns\n * @memberof WorkspaceConfig\n */\n static fromLegacyConfig(legacyConfig) {\n return new WorkspaceConfig(undefined, legacyConfig);\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) {\n return new WorkspaceConfig(data, undefined);\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(props: WorkspaceConfigFileProps, dirPath?: PathOsBasedAbsolute) {\n const template = await getWorkspaceConfigTemplateParsed();\n // TODO: replace this assign with some kind of deepAssign that keeps the comments\n // right now the comments above the internal props are overrides after the assign\n const merged = assign(template, props);\n const instance = new WorkspaceConfig(merged, undefined);\n if (dirPath) {\n instance.path = WorkspaceConfig.composeWorkspaceJsoncPath(dirPath);\n }\n return instance;\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 workspaceConfigProps: WorkspaceConfigFileProps = {} as any\n ): Promise<WorkspaceConfig> {\n try {\n let workspaceConfig = await this.loadIfExist(dirPath);\n if (workspaceConfig) {\n return workspaceConfig;\n }\n workspaceConfig = await this.create(workspaceConfigProps, dirPath);\n return workspaceConfig;\n } catch (err: any) {\n if (err instanceof InvalidBitJson || err instanceof InvalidConfigFile) {\n const workspaceConfig = this.create(workspaceConfigProps, dirPath);\n return workspaceConfig;\n }\n throw err;\n }\n }\n\n /**\n * A function that register to the legacy ensure function in order to transform old props structure\n * to the new one\n * @param dirPath\n * @param standAlone\n * @param legacyWorkspaceConfigProps\n */\n static async onLegacyEnsure(\n dirPath: PathOsBasedAbsolute,\n standAlone: boolean,\n legacyWorkspaceConfigProps: LegacyWorkspaceConfigProps = {} as any\n ): Promise<WorkspaceConfig> {\n const newProps: WorkspaceConfigFileProps = transformLegacyPropsToExtensions(legacyWorkspaceConfigProps);\n // TODO: gilad move to constants file\n newProps.$schemaVersion = '1.0.0';\n return WorkspaceConfig.ensure(dirPath, newProps);\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 bit.jsonc file by a containing folder\n *\n * @static\n * @param {PathOsBased} dirPath containing dir of the bit.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(dirPath: PathOsBased): 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);\n instance.path = jsoncPath;\n return instance;\n }\n const legacyConfig = await LegacyWorkspaceConfig._loadIfExist(dirPath);\n if (legacyConfig) {\n return WorkspaceConfig.fromLegacyConfig(legacyConfig);\n }\n return undefined;\n }\n\n static async _loadFromWorkspaceJsonc(workspaceJsoncPath: PathOsBased): Promise<WorkspaceConfig> {\n const contentBuffer = await fs.readFile(workspaceJsoncPath);\n let parsed;\n try {\n parsed = parse(contentBuffer.toString());\n } catch (e: any) {\n throw new InvalidConfigFile(workspaceJsoncPath);\n }\n return WorkspaceConfig.fromObject(parsed);\n }\n\n async write({ dir }: { dir?: PathOsBasedAbsolute } = {}): Promise<void> {\n const getCalculatedDir = () => {\n if (dir) return dir;\n if (this._path) return path.dirname(this._path);\n throw new ConfigDirNotDefined();\n };\n const calculatedDir = getCalculatedDir();\n if (this.data) {\n const files = await this.toVinyl(calculatedDir);\n const dataToPersist = new DataToPersist();\n if (files) {\n dataToPersist.addManyFiles(files);\n return dataToPersist.persistAllToFS();\n }\n }\n await this.legacyConfig?.write({ workspaceDir: calculatedDir });\n return undefined;\n }\n\n async toVinyl(workspaceDir: PathOsBasedAbsolute): Promise<AbstractVinyl[] | undefined> {\n if (this.data) {\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 return this.legacyConfig?.toVinyl({ workspaceDir });\n }\n\n _legacyPlainObject(): { [prop: string]: any } | undefined {\n if (this.legacyConfig) {\n return this.legacyConfig.toPlainObject();\n }\n return undefined;\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: this.legacyConfig?.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 _saveDependenciesAsComponents: this._legacyProps?.saveDependenciesAsComponents,\n _dependenciesDirectory: this._legacyProps?.dependenciesDirectory,\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: this.isLegacy,\n write: ({ workspaceDir }) => this.write.call(this, { dir: workspaceDir }),\n toVinyl: this.toVinyl.bind(this),\n componentsConfig: this.legacyConfig ? this.legacyConfig?.overrides : undefined,\n getComponentConfig: this.legacyConfig\n ? this.legacyConfig?.overrides.getOverrideComponentData.bind(this.legacyConfig?.overrides)\n : () => undefined,\n _legacyPlainObject: this.legacyConfig\n ? this.legacyConfig?.toPlainObject.bind(this.legacyConfig)\n : () => undefined,\n };\n }\n}\n\nexport function transformLegacyPropsToExtensions(\n legacyConfig: LegacyWorkspaceConfig | LegacyWorkspaceConfigProps\n): ExtensionsDefs {\n // TODO: move to utils\n const removeUndefined = (obj) => {\n // const res = omit(mapObjIndexed((val) => val === undefined))(obj);\n // return res;\n Object.entries(obj).forEach((e) => {\n if (e[1] === undefined) delete obj[e[0]];\n });\n return obj;\n };\n\n const workspace = removeUndefined({\n defaultScope: legacyConfig.defaultScope,\n defaultDirectory: legacyConfig.componentsDefaultDirectory,\n });\n const dependencyResolver = removeUndefined({\n packageManager: legacyConfig.packageManager,\n // strictPeerDependencies: false,\n extraArgs: legacyConfig.packageManagerArgs,\n packageManagerProcessOptions: legacyConfig.packageManagerProcessOptions,\n manageWorkspaces: legacyConfig.manageWorkspaces,\n useWorkspaces: legacyConfig.useWorkspaces,\n });\n const variants = legacyConfig.overrides?.overrides;\n const data = {};\n if (workspace && !isEmpty(workspace)) {\n data['teambit.workspace/workspace'] = workspace;\n }\n if (dependencyResolver && !isEmpty(dependencyResolver)) {\n data['teambit.dependencies/dependency-resolver'] = dependencyResolver;\n }\n // TODO: add variants here once we have a way to pass the deps overrides and general key vals for package.json to\n // TODO: new extensions (via dependency-resolver extension and pkg extensions)\n // TODO: transform legacy props to new one once dependency-resolver extension and pkg extensions are ready\n if (variants && !isEmpty(variants)) {\n data['teambit.workspace/variants'] = variants;\n }\n // @ts-ignore\n return data;\n}\n\nexport async function getWorkspaceConfigTemplateParsed(): Promise<CommentJSONValue> {\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());\n}\n\nexport function stringifyWorkspaceConfig(workspaceConfig: CommentJSONValue): string {\n return stringify(workspaceConfig, undefined, 2);\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["_constants","data","require","_sources","_dataToPersist","_interopRequireDefault","_config","_workspaceConfig","_logger","_commentJson","fs","_interopRequireWildcard","path","_lodash","_workspace","_exceptions","_configDirNotDefined","_invalidConfigFile","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","ownKeys","keys","getOwnPropertySymbols","o","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","key","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","INTERNAL_CONFIG_PROPS","WorkspaceConfig","constructor","raw","loadExtensions","_path","configPath","extensions","_extensions","withoutInternalConfig","omit","ExtensionDataList","fromConfigObject","extension","extensionId","ignoreVersion","existing","findExtension","config","setExtension","options","mergeIntoExisting","overrideExisting","ExtensionAlreadyConfigured","renameExtensionInRaw","oldExtId","newExtId","fromObject","create","props","dirPath","template","getWorkspaceConfigTemplateParsed","workspaceAspectConf","assign","WorkspaceAspect","id","merged","instance","composeWorkspaceJsoncPath","ensure","workspaceConfigProps","workspaceConfig","loadIfExist","err","InvalidConfigFile","reset","resetHard","workspaceJsoncPath","logger","info","remove","join","WORKSPACE_JSONC","pathHasWorkspaceJsonc","isExist","pathExists","jsoncExist","LegacyWorkspaceConfig","_isExist","jsoncPath","_loadFromWorkspaceJsonc","contentBuffer","readFile","parsed","parse","toString","write","dir","getCalculatedDir","dirname","ConfigDirNotDefined","calculatedDir","files","toVinyl","dataToPersist","DataToPersist","addManyFiles","persistAllToFS","workspaceDir","jsonStr","stringify","base","fullPath","jsonFile","AbstractVinyl","contents","Buffer","from","toLegacy","_this$extension","_this$extension2","_this$extension3","_this$extension4","_this$_legacyProps","_this$_legacyProps2","_this$extension5","componentsDefaultDirectory","defaultDirectory","includes","lang","DEFAULT_LANGUAGE","defaultScope","_useWorkspaces","useWorkspaces","dependencyResolver","packageManager","_saveDependenciesAsComponents","_legacyProps","saveDependenciesAsComponents","_dependenciesDirectory","dependenciesDirectory","_manageWorkspaces","manageWorkspaces","toConfigObject","isLegacy","bind","componentsConfig","getComponentConfig","_legacyPlainObject","exports","transformLegacyPropsToExtensions","legacyConfig","_legacyConfig$overrid","removeUndefined","entries","workspace","extraArgs","packageManagerArgs","packageManagerProcessOptions","variants","overrides","isEmpty","fileContent","__dirname","code","stringifyWorkspaceConfig"],"sources":["workspace-config.ts"],"sourcesContent":["import { DEFAULT_LANGUAGE, WORKSPACE_JSONC } from '@teambit/legacy/dist/constants';\nimport { AbstractVinyl } from '@teambit/legacy/dist/consumer/component/sources';\nimport DataToPersist from '@teambit/legacy/dist/consumer/component/sources/data-to-persist';\nimport { ExtensionDataList, ILegacyWorkspaceConfig } from '@teambit/legacy/dist/consumer/config';\nimport LegacyWorkspaceConfig, {\n WorkspaceConfigProps as LegacyWorkspaceConfigProps,\n} from '@teambit/legacy/dist/consumer/config/workspace-config';\nimport logger from '@teambit/legacy/dist/logger/logger';\nimport { PathOsBased, PathOsBasedAbsolute } from '@teambit/legacy/dist/utils/path';\nimport { assign, parse, stringify, CommentJSONValue } from 'comment-json';\nimport * as fs from 'fs-extra';\nimport * as path from 'path';\nimport { isEmpty, omit } from 'lodash';\nimport WorkspaceAspect from '@teambit/workspace';\nimport { SetExtensionOptions } from './config.main.runtime';\nimport { ExtensionAlreadyConfigured } from './exceptions';\nimport { ConfigDirNotDefined } from './exceptions/config-dir-not-defined';\nimport InvalidConfigFile from './exceptions/invalid-config-file';\nimport { HostConfig } from './types';\n\nconst INTERNAL_CONFIG_PROPS = ['$schema', '$schemaVersion'];\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} & ExtensionsDefs;\n\nexport type ComponentScopeDirMapEntry = {\n defaultScope?: string;\n directory: string;\n};\n\nexport type ComponentScopeDirMap = Array<ComponentScopeDirMapEntry>;\n\nexport type WorkspaceExtensionProps = {\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 type WorkspaceLegacyProps = {\n dependenciesDirectory?: string;\n bindingPrefix?: string;\n saveDependenciesAsComponents?: boolean;\n};\n\nexport type ExtensionsDefs = WorkspaceSettingsNewProps;\n\nexport class WorkspaceConfig implements HostConfig {\n raw?: any;\n _path?: string;\n _extensions: ExtensionDataList;\n _legacyProps?: WorkspaceLegacyProps;\n isLegacy: boolean;\n\n constructor(private data: WorkspaceConfigFileProps) {\n this.raw = data;\n this.loadExtensions();\n }\n\n get path(): PathOsBased {\n return this._path || '';\n }\n\n set path(configPath: PathOsBased) {\n this._path = configPath;\n }\n\n get extensions(): ExtensionDataList {\n return this._extensions;\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 if (this.raw[oldExtId]) {\n this.raw[newExtId] = this.raw[oldExtId];\n delete this.raw[oldExtId];\n return true;\n }\n return false;\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) {\n return new WorkspaceConfig(data);\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(props: WorkspaceConfigFileProps, dirPath?: PathOsBasedAbsolute) {\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 const instance = new WorkspaceConfig(merged);\n if (dirPath) {\n instance.path = WorkspaceConfig.composeWorkspaceJsoncPath(dirPath);\n }\n return instance;\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 workspaceConfigProps: WorkspaceConfigFileProps = {} as any\n ): Promise<WorkspaceConfig> {\n try {\n let workspaceConfig = await this.loadIfExist(dirPath);\n if (workspaceConfig) {\n return workspaceConfig;\n }\n workspaceConfig = await this.create(workspaceConfigProps, dirPath);\n return workspaceConfig;\n } catch (err: any) {\n if (err instanceof InvalidConfigFile) {\n const workspaceConfig = this.create(workspaceConfigProps, dirPath);\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(dirPath: PathOsBased): 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);\n instance.path = jsoncPath;\n return instance;\n }\n return undefined;\n }\n\n static async _loadFromWorkspaceJsonc(workspaceJsoncPath: PathOsBased): Promise<WorkspaceConfig> {\n const contentBuffer = await fs.readFile(workspaceJsoncPath);\n let parsed;\n try {\n parsed = parse(contentBuffer.toString());\n } catch (e: any) {\n throw new InvalidConfigFile(workspaceJsoncPath);\n }\n return WorkspaceConfig.fromObject(parsed);\n }\n\n async write({ dir }: { dir?: PathOsBasedAbsolute } = {}): Promise<void> {\n const getCalculatedDir = () => {\n if (dir) return dir;\n if (this._path) return path.dirname(this._path);\n throw new ConfigDirNotDefined();\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 return dataToPersist.persistAllToFS();\n }\n return undefined;\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 _saveDependenciesAsComponents: this._legacyProps?.saveDependenciesAsComponents,\n _dependenciesDirectory: this._legacyProps?.dependenciesDirectory,\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 componentsConfig: undefined,\n getComponentConfig: () => undefined,\n _legacyPlainObject: () => undefined,\n };\n }\n}\n\nexport function transformLegacyPropsToExtensions(\n legacyConfig: LegacyWorkspaceConfig | LegacyWorkspaceConfigProps\n): ExtensionsDefs {\n // TODO: move to utils\n const removeUndefined = (obj) => {\n // const res = omit(mapObjIndexed((val) => val === undefined))(obj);\n // return res;\n Object.entries(obj).forEach((e) => {\n if (e[1] === undefined) delete obj[e[0]];\n });\n return obj;\n };\n\n const workspace = removeUndefined({\n defaultScope: legacyConfig.defaultScope,\n defaultDirectory: legacyConfig.componentsDefaultDirectory,\n });\n const dependencyResolver = removeUndefined({\n packageManager: legacyConfig.packageManager,\n // strictPeerDependencies: false,\n extraArgs: legacyConfig.packageManagerArgs,\n packageManagerProcessOptions: legacyConfig.packageManagerProcessOptions,\n manageWorkspaces: legacyConfig.manageWorkspaces,\n useWorkspaces: legacyConfig.useWorkspaces,\n });\n const variants = legacyConfig.overrides?.overrides;\n const data = {};\n if (workspace && !isEmpty(workspace)) {\n data['teambit.workspace/workspace'] = workspace;\n }\n if (dependencyResolver && !isEmpty(dependencyResolver)) {\n data['teambit.dependencies/dependency-resolver'] = dependencyResolver;\n }\n // TODO: add variants here once we have a way to pass the deps overrides and general key vals for package.json to\n // TODO: new extensions (via dependency-resolver extension and pkg extensions)\n // TODO: transform legacy props to new one once dependency-resolver extension and pkg extensions are ready\n if (variants && !isEmpty(variants)) {\n data['teambit.workspace/variants'] = variants;\n }\n // @ts-ignore\n return data;\n}\n\nexport async function getWorkspaceConfigTemplateParsed(): Promise<CommentJSONValue> {\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());\n}\n\nexport function stringifyWorkspaceConfig(workspaceConfig: CommentJSONValue): string {\n return stringify(workspaceConfig, undefined, 2);\n}\n"],"mappings":";;;;;;;;;AAAA,SAAAA,WAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,UAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAE,SAAA;EAAA,MAAAF,IAAA,GAAAC,OAAA;EAAAC,QAAA,YAAAA,CAAA;IAAA,OAAAF,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAG,eAAA;EAAA,MAAAH,IAAA,GAAAI,sBAAA,CAAAH,OAAA;EAAAE,cAAA,YAAAA,CAAA;IAAA,OAAAH,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAK,QAAA;EAAA,MAAAL,IAAA,GAAAC,OAAA;EAAAI,OAAA,YAAAA,CAAA;IAAA,OAAAL,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAM,iBAAA;EAAA,MAAAN,IAAA,GAAAI,sBAAA,CAAAH,OAAA;EAAAK,gBAAA,YAAAA,CAAA;IAAA,OAAAN,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAGA,SAAAO,QAAA;EAAA,MAAAP,IAAA,GAAAI,sBAAA,CAAAH,OAAA;EAAAM,OAAA,YAAAA,CAAA;IAAA,OAAAP,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,SAAAQ,aAAA;EAAA,MAAAR,IAAA,GAAAC,OAAA;EAAAO,YAAA,YAAAA,CAAA;IAAA,OAAAR,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAS,GAAA;EAAA,MAAAT,IAAA,GAAAU,uBAAA,CAAAT,OAAA;EAAAQ,EAAA,YAAAA,CAAA;IAAA,OAAAT,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAW,KAAA;EAAA,MAAAX,IAAA,GAAAU,uBAAA,CAAAT,OAAA;EAAAU,IAAA,YAAAA,CAAA;IAAA,OAAAX,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAY,QAAA;EAAA,MAAAZ,IAAA,GAAAC,OAAA;EAAAW,OAAA,YAAAA,CAAA;IAAA,OAAAZ,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAa,WAAA;EAAA,MAAAb,IAAA,GAAAI,sBAAA,CAAAH,OAAA;EAAAY,UAAA,YAAAA,CAAA;IAAA,OAAAb,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,SAAAc,YAAA;EAAA,MAAAd,IAAA,GAAAC,OAAA;EAAAa,WAAA,YAAAA,CAAA;IAAA,OAAAd,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAe,qBAAA;EAAA,MAAAf,IAAA,GAAAC,OAAA;EAAAc,oBAAA,YAAAA,CAAA;IAAA,OAAAf,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAgB,mBAAA;EAAA,MAAAhB,IAAA,GAAAI,sBAAA,CAAAH,OAAA;EAAAe,kBAAA,YAAAA,CAAA;IAAA,OAAAhB,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAAiE,SAAAiB,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAR,wBAAAQ,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAjB,CAAA,EAAAc,CAAA,SAAAI,CAAA,GAAAR,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAI,CAAA,KAAAA,CAAA,CAAAX,GAAA,IAAAW,CAAA,CAAAC,GAAA,IAAAR,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAI,CAAA,IAAAV,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAgB,GAAA,CAAAnB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAAA,SAAAtB,uBAAAkC,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAhB,UAAA,GAAAgB,GAAA,KAAAf,OAAA,EAAAe,GAAA;AAAA,SAAAC,QAAArB,CAAA,EAAAE,CAAA,QAAAC,CAAA,GAAAQ,MAAA,CAAAW,IAAA,CAAAtB,CAAA,OAAAW,MAAA,CAAAY,qBAAA,QAAAC,CAAA,GAAAb,MAAA,CAAAY,qBAAA,CAAAvB,CAAA,GAAAE,CAAA,KAAAsB,CAAA,GAAAA,CAAA,CAAAC,MAAA,WAAAvB,CAAA,WAAAS,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAE,CAAA,EAAAwB,UAAA,OAAAvB,CAAA,CAAAwB,IAAA,CAAAC,KAAA,CAAAzB,CAAA,EAAAqB,CAAA,YAAArB,CAAA;AAAA,SAAA0B,cAAA7B,CAAA,aAAAE,CAAA,MAAAA,CAAA,GAAA4B,SAAA,CAAAC,MAAA,EAAA7B,CAAA,UAAAC,CAAA,WAAA2B,SAAA,CAAA5B,CAAA,IAAA4B,SAAA,CAAA5B,CAAA,QAAAA,CAAA,OAAAmB,OAAA,CAAAV,MAAA,CAAAR,CAAA,OAAA6B,OAAA,WAAA9B,CAAA,IAAA+B,eAAA,CAAAjC,CAAA,EAAAE,CAAA,EAAAC,CAAA,CAAAD,CAAA,SAAAS,MAAA,CAAAuB,yBAAA,GAAAvB,MAAA,CAAAwB,gBAAA,CAAAnC,CAAA,EAAAW,MAAA,CAAAuB,yBAAA,CAAA/B,CAAA,KAAAkB,OAAA,CAAAV,MAAA,CAAAR,CAAA,GAAA6B,OAAA,WAAA9B,CAAA,IAAAS,MAAA,CAAAC,cAAA,CAAAZ,CAAA,EAAAE,CAAA,EAAAS,MAAA,CAAAE,wBAAA,CAAAV,CAAA,EAAAD,CAAA,iBAAAF,CAAA;AAAA,SAAAiC,gBAAAb,GAAA,EAAAgB,GAAA,EAAAC,KAAA,IAAAD,GAAA,GAAAE,cAAA,CAAAF,GAAA,OAAAA,GAAA,IAAAhB,GAAA,IAAAT,MAAA,CAAAC,cAAA,CAAAQ,GAAA,EAAAgB,GAAA,IAAAC,KAAA,EAAAA,KAAA,EAAAX,UAAA,QAAAa,YAAA,QAAAC,QAAA,oBAAApB,GAAA,CAAAgB,GAAA,IAAAC,KAAA,WAAAjB,GAAA;AAAA,SAAAkB,eAAAG,GAAA,QAAAL,GAAA,GAAAM,YAAA,CAAAD,GAAA,2BAAAL,GAAA,gBAAAA,GAAA,GAAAO,MAAA,CAAAP,GAAA;AAAA,SAAAM,aAAAE,KAAA,EAAAC,IAAA,eAAAD,KAAA,iBAAAA,KAAA,kBAAAA,KAAA,MAAAE,IAAA,GAAAF,KAAA,CAAAG,MAAA,CAAAC,WAAA,OAAAF,IAAA,KAAAG,SAAA,QAAAC,GAAA,GAAAJ,IAAA,CAAA7B,IAAA,CAAA2B,KAAA,EAAAC,IAAA,2BAAAK,GAAA,sBAAAA,GAAA,YAAAC,SAAA,4DAAAN,IAAA,gBAAAF,MAAA,GAAAS,MAAA,EAAAR,KAAA;AAGjE,MAAMS,qBAAqB,GAAG,CAAC,SAAS,EAAE,gBAAgB,CAAC;AAiDpD,MAAMC,eAAe,CAAuB;EAOjDC,WAAWA,CAASzE,IAA8B,EAAE;IAAA,KAAhCA,IAA8B,GAA9BA,IAA8B;IAAAmD,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAChD,IAAI,CAACuB,GAAG,GAAG1E,IAAI;IACf,IAAI,CAAC2E,cAAc,CAAC,CAAC;EACvB;EAEA,IAAIhE,IAAIA,CAAA,EAAgB;IACtB,OAAO,IAAI,CAACiE,KAAK,IAAI,EAAE;EACzB;EAEA,IAAIjE,IAAIA,CAACkE,UAAuB,EAAE;IAChC,IAAI,CAACD,KAAK,GAAGC,UAAU;EACzB;EAEA,IAAIC,UAAUA,CAAA,EAAsB;IAClC,OAAO,IAAI,CAACC,WAAW;EACzB;EAEQJ,cAAcA,CAAA,EAAG;IACvB,MAAMK,qBAAqB,GAAG,IAAAC,cAAI,EAAC,IAAI,CAACP,GAAG,EAAEH,qBAAqB,CAAC;IACnE,IAAI,CAACQ,WAAW,GAAGG,2BAAiB,CAACC,gBAAgB,CAACH,qBAAqB,CAAC;EAC9E;EAEAI,SAASA,CAACC,WAAmB,EAAEC,aAAsB,EAAO;IAC1D,MAAMC,QAAQ,GAAG,IAAI,CAACT,UAAU,CAACU,aAAa,CAACH,WAAW,EAAEC,aAAa,CAAC;IAC1E,OAAOC,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAEE,MAAM;EACzB;EAEAC,YAAYA,CAACL,WAAmB,EAAEI,MAA2B,EAAEE,OAA4B,EAAO;IAChG,MAAMJ,QAAQ,GAAG,IAAI,CAACH,SAAS,CAACC,WAAW,EAAEM,OAAO,CAACL,aAAa,CAAC;IACnE,IAAIC,QAAQ,EAAE;MACZ,IAAII,OAAO,CAACC,iBAAiB,EAAE;QAC7BH,MAAM,GAAA1C,aAAA,CAAAA,aAAA,KAAQwC,QAAQ,GAAKE,MAAM,CAAE;MACrC,CAAC,MAAM,IAAI,CAACE,OAAO,CAACE,gBAAgB,EAAE;QACpC,MAAM,KAAIC,wCAA0B,EAACT,WAAW,CAAC;MACnD;IACF;IAEA,IAAI,CAACX,GAAG,CAACW,WAAW,CAAC,GAAGI,MAAM;IAC9B,IAAI,CAACd,cAAc,CAAC,CAAC;EACvB;EAEAoB,oBAAoBA,CAACC,QAAgB,EAAEC,QAAgB,EAAW;IAChE,IAAI,IAAI,CAACvB,GAAG,CAACsB,QAAQ,CAAC,EAAE;MACtB,IAAI,CAACtB,GAAG,CAACuB,QAAQ,CAAC,GAAG,IAAI,CAACvB,GAAG,CAACsB,QAAQ,CAAC;MACvC,OAAO,IAAI,CAACtB,GAAG,CAACsB,QAAQ,CAAC;MACzB,OAAO,IAAI;IACb;IACA,OAAO,KAAK;EACd;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;EACE,OAAOE,UAAUA,CAAClG,IAA8B,EAAE;IAChD,OAAO,IAAIwE,eAAe,CAACxE,IAAI,CAAC;EAClC;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;EACE,aAAamG,MAAMA,CAACC,KAA+B,EAAEC,OAA6B,EAAE;IAClF,MAAMC,QAAQ,GAAG,MAAMC,gCAAgC,CAAC,CAAC;IACzD;IACA;IACA,MAAMC,mBAAmB,GAAG,IAAAC,qBAAM,EAACH,QAAQ,CAACI,oBAAe,CAACC,EAAE,CAAC,EAAEP,KAAK,CAACM,oBAAe,CAACC,EAAE,CAAC,CAAC;IAC3F,MAAMC,MAAM,GAAG,IAAAH,qBAAM,EAACH,QAAQ,EAAE;MAAE,CAACI,oBAAe,CAACC,EAAE,GAAGH;IAAoB,CAAC,CAAC;IAC9E,MAAMK,QAAQ,GAAG,IAAIrC,eAAe,CAACoC,MAAM,CAAC;IAC5C,IAAIP,OAAO,EAAE;MACXQ,QAAQ,CAAClG,IAAI,GAAG6D,eAAe,CAACsC,yBAAyB,CAACT,OAAO,CAAC;IACpE;IACA,OAAOQ,QAAQ;EACjB;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACE,aAAaE,MAAMA,CACjBV,OAA4B,EAC5BW,oBAA8C,GAAG,CAAC,CAAQ,EAChC;IAC1B,IAAI;MACF,IAAIC,eAAe,GAAG,MAAM,IAAI,CAACC,WAAW,CAACb,OAAO,CAAC;MACrD,IAAIY,eAAe,EAAE;QACnB,OAAOA,eAAe;MACxB;MACAA,eAAe,GAAG,MAAM,IAAI,CAACd,MAAM,CAACa,oBAAoB,EAAEX,OAAO,CAAC;MAClE,OAAOY,eAAe;IACxB,CAAC,CAAC,OAAOE,GAAQ,EAAE;MACjB,IAAIA,GAAG,YAAYC,4BAAiB,EAAE;QACpC,MAAMH,eAAe,GAAG,IAAI,CAACd,MAAM,CAACa,oBAAoB,EAAEX,OAAO,CAAC;QAClE,OAAOY,eAAe;MACxB;MACA,MAAME,GAAG;IACX;EACF;EAEA,aAAaE,KAAKA,CAAChB,OAA4B,EAAEiB,SAAkB,EAAiB;IAClF,MAAMC,kBAAkB,GAAG/C,eAAe,CAACsC,yBAAyB,CAACT,OAAO,CAAC;IAC7E,IAAIiB,SAAS,IAAIC,kBAAkB,EAAE;MACnCC,iBAAM,CAACC,IAAI,CAAE,iDAAgDF,kBAAmB,EAAC,CAAC;MAClF,MAAM9G,EAAE,CAAD,CAAC,CAACiH,MAAM,CAACH,kBAAkB,CAAC;IACrC;EACF;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;EACE,OAAOT,yBAAyBA,CAACT,OAAoB,EAAe;IAClE,OAAO1F,IAAI,CAAD,CAAC,CAACgH,IAAI,CAACtB,OAAO,EAAEuB,4BAAe,CAAC;EAC5C;EAEA,aAAaC,qBAAqBA,CAACxB,OAAoB,EAAoB;IACzE,MAAMyB,OAAO,GAAG,MAAMrH,EAAE,CAAD,CAAC,CAACsH,UAAU,CAACvD,eAAe,CAACsC,yBAAyB,CAACT,OAAO,CAAC,CAAC;IACvF,OAAOyB,OAAO;EAChB;;EAEA;AACF;AACA;AACA;EACE,aAAaA,OAAOA,CAACzB,OAAoB,EAAgC;IACvE,MAAM2B,UAAU,GAAG,MAAMxD,eAAe,CAACqD,qBAAqB,CAACxB,OAAO,CAAC;IACvE,IAAI2B,UAAU,EAAE;MACd,OAAO,IAAI;IACb;IACA,OAAOC,0BAAqB,CAACC,QAAQ,CAAC7B,OAAO,CAAC;EAChD;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;EACE,aAAaa,WAAWA,CAACb,OAAoB,EAAwC;IACnF,MAAM2B,UAAU,GAAG,MAAMxD,eAAe,CAACqD,qBAAqB,CAACxB,OAAO,CAAC;IACvE,IAAI2B,UAAU,EAAE;MACd,MAAMG,SAAS,GAAG3D,eAAe,CAACsC,yBAAyB,CAACT,OAAO,CAAC;MACpE,MAAMQ,QAAQ,GAAG,MAAMrC,eAAe,CAAC4D,uBAAuB,CAACD,SAAS,CAAC;MACzEtB,QAAQ,CAAClG,IAAI,GAAGwH,SAAS;MACzB,OAAOtB,QAAQ;IACjB;IACA,OAAO1C,SAAS;EAClB;EAEA,aAAaiE,uBAAuBA,CAACb,kBAA+B,EAA4B;IAC9F,MAAMc,aAAa,GAAG,MAAM5H,EAAE,CAAD,CAAC,CAAC6H,QAAQ,CAACf,kBAAkB,CAAC;IAC3D,IAAIgB,MAAM;IACV,IAAI;MACFA,MAAM,GAAG,IAAAC,oBAAK,EAACH,aAAa,CAACI,QAAQ,CAAC,CAAC,CAAC;IAC1C,CAAC,CAAC,OAAOvH,CAAM,EAAE;MACf,MAAM,KAAIkG,4BAAiB,EAACG,kBAAkB,CAAC;IACjD;IACA,OAAO/C,eAAe,CAAC0B,UAAU,CAACqC,MAAM,CAAC;EAC3C;EAEA,MAAMG,KAAKA,CAAC;IAAEC;EAAmC,CAAC,GAAG,CAAC,CAAC,EAAiB;IACtE,MAAMC,gBAAgB,GAAGA,CAAA,KAAM;MAC7B,IAAID,GAAG,EAAE,OAAOA,GAAG;MACnB,IAAI,IAAI,CAAC/D,KAAK,EAAE,OAAOjE,IAAI,CAAD,CAAC,CAACkI,OAAO,CAAC,IAAI,CAACjE,KAAK,CAAC;MAC/C,MAAM,KAAIkE,0CAAmB,EAAC,CAAC;IACjC,CAAC;IACD,MAAMC,aAAa,GAAGH,gBAAgB,CAAC,CAAC;IACxC,MAAMI,KAAK,GAAG,MAAM,IAAI,CAACC,OAAO,CAACF,aAAa,CAAC;IAC/C,MAAMG,aAAa,GAAG,KAAIC,wBAAa,EAAC,CAAC;IACzC,IAAIH,KAAK,EAAE;MACTE,aAAa,CAACE,YAAY,CAACJ,KAAK,CAAC;MACjC,OAAOE,aAAa,CAACG,cAAc,CAAC,CAAC;IACvC;IACA,OAAOlF,SAAS;EAClB;EAEA,MAAM8E,OAAOA,CAACK,YAAiC,EAAwC;IACrF,MAAMC,OAAO,GAAI,GAAE,IAAAC,wBAAS,EAAC,IAAI,CAACxJ,IAAI,EAAEmE,SAAS,EAAE,CAAC,CAAE,IAAG;IACzD,MAAMsF,IAAI,GAAGH,YAAY;IACzB,MAAMI,QAAQ,GAAGJ,YAAY,GAAG9E,eAAe,CAACsC,yBAAyB,CAACwC,YAAY,CAAC,GAAG,IAAI,CAAC3I,IAAI;IACnG,MAAMgJ,QAAQ,GAAG,KAAIC,wBAAa,EAAC;MAAEH,IAAI;MAAE9I,IAAI,EAAE+I,QAAQ;MAAEG,QAAQ,EAAEC,MAAM,CAACC,IAAI,CAACR,OAAO;IAAE,CAAC,CAAC;IAC5F,OAAO,CAACI,QAAQ,CAAC;EACnB;EAEAK,QAAQA,CAAA,EAA2B;IAAA,IAAAC,eAAA,EAAAC,gBAAA,EAAAC,gBAAA,EAAAC,gBAAA,EAAAC,kBAAA,EAAAC,mBAAA,EAAAC,gBAAA;IACjC,IAAIC,0BAA0B,IAAAP,eAAA,GAAG,IAAI,CAAC7E,SAAS,CAAC,6BAA6B,EAAE,IAAI,CAAC,cAAA6E,eAAA,uBAAnDA,eAAA,CAAqDQ,gBAAgB;IACtG,IAAID,0BAA0B,IAAI,CAACA,0BAA0B,CAACE,QAAQ,CAAC,QAAQ,CAAC,EAAE;MAChFF,0BAA0B,GAAI,GAAEA,0BAA2B,SAAQ;IACrE;IAEA,OAAO;MACLG,IAAI,EAAEC,6BAAgB;MACtBC,YAAY,GAAAX,gBAAA,GAAE,IAAI,CAAC9E,SAAS,CAAC,6BAA6B,EAAE,IAAI,CAAC,cAAA8E,gBAAA,uBAAnDA,gBAAA,CAAqDW,YAAY;MAC/EC,cAAc,GAAAX,gBAAA,GAAE,IAAI,CAAC/E,SAAS,CAAC,0CAA0C,EAAE,IAAI,CAAC,cAAA+E,gBAAA,uBAAhEA,gBAAA,CAAkEY,aAAa;MAC/FC,kBAAkB,EAAE,IAAI,CAAC5F,SAAS,CAAC,0CAA0C,EAAE,IAAI,CAAC;MACpF6F,cAAc,GAAAb,gBAAA,GAAE,IAAI,CAAChF,SAAS,CAAC,0CAA0C,EAAE,IAAI,CAAC,cAAAgF,gBAAA,uBAAhEA,gBAAA,CAAkEa,cAAc;MAChGC,6BAA6B,GAAAb,kBAAA,GAAE,IAAI,CAACc,YAAY,cAAAd,kBAAA,uBAAjBA,kBAAA,CAAmBe,4BAA4B;MAC9EC,sBAAsB,GAAAf,mBAAA,GAAE,IAAI,CAACa,YAAY,cAAAb,mBAAA,uBAAjBA,mBAAA,CAAmBgB,qBAAqB;MAChEd,0BAA0B;MAC1Be,iBAAiB,GAAAhB,gBAAA,GAAE,IAAI,CAACnF,SAAS,CAAC,0CAA0C,EAAE,IAAI,CAAC,cAAAmF,gBAAA,uBAAhEA,gBAAA,CAAkEiB,gBAAgB;MACrG1G,UAAU,EAAE,IAAI,CAACA,UAAU,CAAC2G,cAAc,CAAC,CAAC;MAC5C;MACA9K,IAAI,EAAE,IAAI,CAACA,IAAI;MACf+K,QAAQ,EAAE,KAAK;MACfhD,KAAK,EAAEA,CAAC;QAAEY;MAAa,CAAC,KAAK,IAAI,CAACZ,KAAK,CAACvG,IAAI,CAAC,IAAI,EAAE;QAAEwG,GAAG,EAAEW;MAAa,CAAC,CAAC;MACzEL,OAAO,EAAE,IAAI,CAACA,OAAO,CAAC0C,IAAI,CAAC,IAAI,CAAC;MAChCC,gBAAgB,EAAEzH,SAAS;MAC3B0H,kBAAkB,EAAEA,CAAA,KAAM1H,SAAS;MACnC2H,kBAAkB,EAAEA,CAAA,KAAM3H;IAC5B,CAAC;EACH;AACF;AAAC4H,OAAA,CAAAvH,eAAA,GAAAA,eAAA;AAEM,SAASwH,gCAAgCA,CAC9CC,YAAgE,EAChD;EAAA,IAAAC,qBAAA;EAChB;EACA,MAAMC,eAAe,GAAI7J,GAAG,IAAK;IAC/B;IACA;IACAT,MAAM,CAACuK,OAAO,CAAC9J,GAAG,CAAC,CAACY,OAAO,CAAEhC,CAAC,IAAK;MACjC,IAAIA,CAAC,CAAC,CAAC,CAAC,KAAKiD,SAAS,EAAE,OAAO7B,GAAG,CAACpB,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1C,CAAC,CAAC;IACF,OAAOoB,GAAG;EACZ,CAAC;EAED,MAAM+J,SAAS,GAAGF,eAAe,CAAC;IAChCtB,YAAY,EAAEoB,YAAY,CAACpB,YAAY;IACvCJ,gBAAgB,EAAEwB,YAAY,CAACzB;EACjC,CAAC,CAAC;EACF,MAAMQ,kBAAkB,GAAGmB,eAAe,CAAC;IACzClB,cAAc,EAAEgB,YAAY,CAAChB,cAAc;IAC3C;IACAqB,SAAS,EAAEL,YAAY,CAACM,kBAAkB;IAC1CC,4BAA4B,EAAEP,YAAY,CAACO,4BAA4B;IACvEhB,gBAAgB,EAAES,YAAY,CAACT,gBAAgB;IAC/CT,aAAa,EAAEkB,YAAY,CAAClB;EAC9B,CAAC,CAAC;EACF,MAAM0B,QAAQ,IAAAP,qBAAA,GAAGD,YAAY,CAACS,SAAS,cAAAR,qBAAA,uBAAtBA,qBAAA,CAAwBQ,SAAS;EAClD,MAAM1M,IAAI,GAAG,CAAC,CAAC;EACf,IAAIqM,SAAS,IAAI,CAAC,IAAAM,iBAAO,EAACN,SAAS,CAAC,EAAE;IACpCrM,IAAI,CAAC,6BAA6B,CAAC,GAAGqM,SAAS;EACjD;EACA,IAAIrB,kBAAkB,IAAI,CAAC,IAAA2B,iBAAO,EAAC3B,kBAAkB,CAAC,EAAE;IACtDhL,IAAI,CAAC,0CAA0C,CAAC,GAAGgL,kBAAkB;EACvE;EACA;EACA;EACA;EACA,IAAIyB,QAAQ,IAAI,CAAC,IAAAE,iBAAO,EAACF,QAAQ,CAAC,EAAE;IAClCzM,IAAI,CAAC,4BAA4B,CAAC,GAAGyM,QAAQ;EAC/C;EACA;EACA,OAAOzM,IAAI;AACb;AAEO,eAAeuG,gCAAgCA,CAAA,EAA8B;EAClF,IAAIqG,WAAmB;EACvB,IAAI;IACFA,WAAW,GAAG,MAAMnM,EAAE,CAAD,CAAC,CAAC6H,QAAQ,CAAC3H,IAAI,CAAD,CAAC,CAACgH,IAAI,CAACkF,SAAS,EAAE,0BAA0B,CAAC,CAAC;EACnF,CAAC,CAAC,OAAO1F,GAAQ,EAAE;IACjB,IAAIA,GAAG,CAAC2F,IAAI,KAAK,QAAQ,EAAE,MAAM3F,GAAG;IACpC;IACAyF,WAAW,GAAG,MAAMnM,EAAE,CAAD,CAAC,CAAC6H,QAAQ,CAAC3H,IAAI,CAAD,CAAC,CAACgH,IAAI,CAACkF,SAAS,EAAE,IAAI,EAAE,0BAA0B,CAAC,CAAC;EACzF;EACA,OAAO,IAAArE,oBAAK,EAACoE,WAAW,CAACnE,QAAQ,CAAC,CAAC,CAAC;AACtC;AAEO,SAASsE,wBAAwBA,CAAC9F,eAAiC,EAAU;EAClF,OAAO,IAAAuC,wBAAS,EAACvC,eAAe,EAAE9C,SAAS,EAAE,CAAC,CAAC;AACjD"}
package/package.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@teambit/config",
3
- "version": "0.0.851",
3
+ "version": "0.0.853",
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.851"
9
+ "version": "0.0.853"
10
10
  },
11
11
  "dependencies": {
12
12
  "comment-json": "3.0.3",
@@ -17,7 +17,8 @@
17
17
  "@babel/runtime": "7.20.0",
18
18
  "@teambit/harmony": "0.4.6",
19
19
  "@teambit/bit-error": "0.0.404",
20
- "@teambit/cli": "0.0.834"
20
+ "@teambit/cli": "0.0.836",
21
+ "@teambit/workspace": "1.0.102"
21
22
  },
22
23
  "devDependencies": {
23
24
  "@types/fs-extra": "9.0.7",
@@ -30,7 +31,7 @@
30
31
  "@types/testing-library__jest-dom": "5.9.5"
31
32
  },
32
33
  "peerDependencies": {
33
- "@teambit/legacy": "1.0.619",
34
+ "@teambit/legacy": "1.0.621",
34
35
  "react": "^16.8.0 || ^17.0.0",
35
36
  "react-dom": "^16.8.0 || ^17.0.0"
36
37
  },