@teambit/config 0.0.850 → 0.0.852
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.
|
@@ -18,7 +18,6 @@ export declare type ComponentScopeDirMapEntry = {
|
|
|
18
18
|
};
|
|
19
19
|
export declare type ComponentScopeDirMap = Array<ComponentScopeDirMapEntry>;
|
|
20
20
|
export declare type WorkspaceExtensionProps = {
|
|
21
|
-
defaultOwner?: string;
|
|
22
21
|
defaultScope?: string;
|
|
23
22
|
defaultDirectory?: string;
|
|
24
23
|
components?: ComponentScopeDirMap;
|
|
@@ -43,14 +42,13 @@ export declare type WorkspaceLegacyProps = {
|
|
|
43
42
|
};
|
|
44
43
|
export declare type ExtensionsDefs = WorkspaceSettingsNewProps;
|
|
45
44
|
export declare class WorkspaceConfig implements HostConfig {
|
|
46
|
-
private data
|
|
47
|
-
private legacyConfig?;
|
|
45
|
+
private data;
|
|
48
46
|
raw?: any;
|
|
49
47
|
_path?: string;
|
|
50
48
|
_extensions: ExtensionDataList;
|
|
51
49
|
_legacyProps?: WorkspaceLegacyProps;
|
|
52
50
|
isLegacy: boolean;
|
|
53
|
-
constructor(data
|
|
51
|
+
constructor(data: WorkspaceConfigFileProps);
|
|
54
52
|
get path(): PathOsBased;
|
|
55
53
|
set path(configPath: PathOsBased);
|
|
56
54
|
get extensions(): ExtensionDataList;
|
|
@@ -58,15 +56,6 @@ export declare class WorkspaceConfig implements HostConfig {
|
|
|
58
56
|
extension(extensionId: string, ignoreVersion: boolean): any;
|
|
59
57
|
setExtension(extensionId: string, config: Record<string, any>, options: SetExtensionOptions): any;
|
|
60
58
|
renameExtensionInRaw(oldExtId: string, newExtId: string): boolean;
|
|
61
|
-
/**
|
|
62
|
-
* Create an instance of the WorkspaceConfig by an instance of the legacy config
|
|
63
|
-
*
|
|
64
|
-
* @static
|
|
65
|
-
* @param {*} legacyConfig
|
|
66
|
-
* @returns
|
|
67
|
-
* @memberof WorkspaceConfig
|
|
68
|
-
*/
|
|
69
|
-
static fromLegacyConfig(legacyConfig: any): WorkspaceConfig;
|
|
70
59
|
/**
|
|
71
60
|
* Create an instance of the WorkspaceConfig by data
|
|
72
61
|
*
|
|
@@ -96,20 +85,12 @@ export declare class WorkspaceConfig implements HostConfig {
|
|
|
96
85
|
* @memberof WorkspaceConfig
|
|
97
86
|
*/
|
|
98
87
|
static ensure(dirPath: PathOsBasedAbsolute, workspaceConfigProps?: WorkspaceConfigFileProps): Promise<WorkspaceConfig>;
|
|
99
|
-
/**
|
|
100
|
-
* A function that register to the legacy ensure function in order to transform old props structure
|
|
101
|
-
* to the new one
|
|
102
|
-
* @param dirPath
|
|
103
|
-
* @param standAlone
|
|
104
|
-
* @param legacyWorkspaceConfigProps
|
|
105
|
-
*/
|
|
106
|
-
static onLegacyEnsure(dirPath: PathOsBasedAbsolute, standAlone: boolean, legacyWorkspaceConfigProps?: LegacyWorkspaceConfigProps): Promise<WorkspaceConfig>;
|
|
107
88
|
static reset(dirPath: PathOsBasedAbsolute, resetHard: boolean): Promise<void>;
|
|
108
89
|
/**
|
|
109
|
-
* Get the path of the
|
|
90
|
+
* Get the path of the workspace.jsonc file by a containing folder
|
|
110
91
|
*
|
|
111
92
|
* @static
|
|
112
|
-
* @param {PathOsBased} dirPath containing dir of the
|
|
93
|
+
* @param {PathOsBased} dirPath containing dir of the workspace.jsonc file
|
|
113
94
|
* @returns {PathOsBased}
|
|
114
95
|
* @memberof WorkspaceConfig
|
|
115
96
|
*/
|
|
@@ -134,9 +115,6 @@ export declare class WorkspaceConfig implements HostConfig {
|
|
|
134
115
|
dir?: PathOsBasedAbsolute;
|
|
135
116
|
}): Promise<void>;
|
|
136
117
|
toVinyl(workspaceDir: PathOsBasedAbsolute): Promise<AbstractVinyl[] | undefined>;
|
|
137
|
-
_legacyPlainObject(): {
|
|
138
|
-
[prop: string]: any;
|
|
139
|
-
} | undefined;
|
|
140
118
|
toLegacy(): ILegacyWorkspaceConfig;
|
|
141
119
|
}
|
|
142
120
|
export declare function transformLegacyPropsToExtensions(legacyConfig: LegacyWorkspaceConfig | LegacyWorkspaceConfigProps): ExtensionsDefs;
|
package/dist/workspace-config.js
CHANGED
|
@@ -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,9 @@ function _lodash() {
|
|
|
84
77
|
};
|
|
85
78
|
return data;
|
|
86
79
|
}
|
|
87
|
-
function
|
|
80
|
+
function _exceptions() {
|
|
88
81
|
const data = require("./exceptions");
|
|
89
|
-
|
|
82
|
+
_exceptions = function () {
|
|
90
83
|
return data;
|
|
91
84
|
};
|
|
92
85
|
return data;
|
|
@@ -115,21 +108,18 @@ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typ
|
|
|
115
108
|
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
109
|
const INTERNAL_CONFIG_PROPS = ['$schema', '$schemaVersion'];
|
|
117
110
|
class WorkspaceConfig {
|
|
118
|
-
constructor(data
|
|
111
|
+
constructor(data) {
|
|
119
112
|
this.data = data;
|
|
120
|
-
this.legacyConfig = legacyConfig;
|
|
121
113
|
_defineProperty(this, "raw", void 0);
|
|
122
114
|
_defineProperty(this, "_path", void 0);
|
|
123
115
|
_defineProperty(this, "_extensions", void 0);
|
|
124
116
|
_defineProperty(this, "_legacyProps", void 0);
|
|
125
117
|
_defineProperty(this, "isLegacy", void 0);
|
|
126
|
-
this.isLegacy = Boolean(legacyConfig);
|
|
127
118
|
this.raw = data;
|
|
128
119
|
this.loadExtensions();
|
|
129
120
|
}
|
|
130
121
|
get path() {
|
|
131
|
-
|
|
132
|
-
return this._path || ((_this$legacyConfig = this.legacyConfig) === null || _this$legacyConfig === void 0 ? void 0 : _this$legacyConfig.path) || '';
|
|
122
|
+
return this._path || '';
|
|
133
123
|
}
|
|
134
124
|
set path(configPath) {
|
|
135
125
|
this._path = configPath;
|
|
@@ -151,7 +141,7 @@ class WorkspaceConfig {
|
|
|
151
141
|
if (options.mergeIntoExisting) {
|
|
152
142
|
config = _objectSpread(_objectSpread({}, existing), config);
|
|
153
143
|
} else if (!options.overrideExisting) {
|
|
154
|
-
throw new (
|
|
144
|
+
throw new (_exceptions().ExtensionAlreadyConfigured)(extensionId);
|
|
155
145
|
}
|
|
156
146
|
}
|
|
157
147
|
this.raw[extensionId] = config;
|
|
@@ -166,18 +156,6 @@ class WorkspaceConfig {
|
|
|
166
156
|
return false;
|
|
167
157
|
}
|
|
168
158
|
|
|
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
159
|
/**
|
|
182
160
|
* Create an instance of the WorkspaceConfig by data
|
|
183
161
|
*
|
|
@@ -187,7 +165,7 @@ class WorkspaceConfig {
|
|
|
187
165
|
* @memberof WorkspaceConfig
|
|
188
166
|
*/
|
|
189
167
|
static fromObject(data) {
|
|
190
|
-
return new WorkspaceConfig(data
|
|
168
|
+
return new WorkspaceConfig(data);
|
|
191
169
|
}
|
|
192
170
|
|
|
193
171
|
/**
|
|
@@ -203,7 +181,7 @@ class WorkspaceConfig {
|
|
|
203
181
|
// TODO: replace this assign with some kind of deepAssign that keeps the comments
|
|
204
182
|
// right now the comments above the internal props are overrides after the assign
|
|
205
183
|
const merged = (0, _commentJson().assign)(template, props);
|
|
206
|
-
const instance = new WorkspaceConfig(merged
|
|
184
|
+
const instance = new WorkspaceConfig(merged);
|
|
207
185
|
if (dirPath) {
|
|
208
186
|
instance.path = WorkspaceConfig.composeWorkspaceJsoncPath(dirPath);
|
|
209
187
|
}
|
|
@@ -229,27 +207,13 @@ class WorkspaceConfig {
|
|
|
229
207
|
workspaceConfig = await this.create(workspaceConfigProps, dirPath);
|
|
230
208
|
return workspaceConfig;
|
|
231
209
|
} catch (err) {
|
|
232
|
-
if (err instanceof
|
|
210
|
+
if (err instanceof _invalidConfigFile().default) {
|
|
233
211
|
const workspaceConfig = this.create(workspaceConfigProps, dirPath);
|
|
234
212
|
return workspaceConfig;
|
|
235
213
|
}
|
|
236
214
|
throw err;
|
|
237
215
|
}
|
|
238
216
|
}
|
|
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
217
|
static async reset(dirPath, resetHard) {
|
|
254
218
|
const workspaceJsoncPath = WorkspaceConfig.composeWorkspaceJsoncPath(dirPath);
|
|
255
219
|
if (resetHard && workspaceJsoncPath) {
|
|
@@ -259,10 +223,10 @@ class WorkspaceConfig {
|
|
|
259
223
|
}
|
|
260
224
|
|
|
261
225
|
/**
|
|
262
|
-
* Get the path of the
|
|
226
|
+
* Get the path of the workspace.jsonc file by a containing folder
|
|
263
227
|
*
|
|
264
228
|
* @static
|
|
265
|
-
* @param {PathOsBased} dirPath containing dir of the
|
|
229
|
+
* @param {PathOsBased} dirPath containing dir of the workspace.jsonc file
|
|
266
230
|
* @returns {PathOsBased}
|
|
267
231
|
* @memberof WorkspaceConfig
|
|
268
232
|
*/
|
|
@@ -302,10 +266,6 @@ class WorkspaceConfig {
|
|
|
302
266
|
instance.path = jsoncPath;
|
|
303
267
|
return instance;
|
|
304
268
|
}
|
|
305
|
-
const legacyConfig = await _workspaceConfig().default._loadIfExist(dirPath);
|
|
306
|
-
if (legacyConfig) {
|
|
307
|
-
return WorkspaceConfig.fromLegacyConfig(legacyConfig);
|
|
308
|
-
}
|
|
309
269
|
return undefined;
|
|
310
270
|
}
|
|
311
271
|
static async _loadFromWorkspaceJsonc(workspaceJsoncPath) {
|
|
@@ -321,80 +281,60 @@ class WorkspaceConfig {
|
|
|
321
281
|
async write({
|
|
322
282
|
dir
|
|
323
283
|
} = {}) {
|
|
324
|
-
var _this$legacyConfig2;
|
|
325
284
|
const getCalculatedDir = () => {
|
|
326
285
|
if (dir) return dir;
|
|
327
286
|
if (this._path) return path().dirname(this._path);
|
|
328
287
|
throw new (_configDirNotDefined().ConfigDirNotDefined)();
|
|
329
288
|
};
|
|
330
289
|
const calculatedDir = getCalculatedDir();
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
return dataToPersist.persistAllToFS();
|
|
337
|
-
}
|
|
290
|
+
const files = await this.toVinyl(calculatedDir);
|
|
291
|
+
const dataToPersist = new (_dataToPersist().default)();
|
|
292
|
+
if (files) {
|
|
293
|
+
dataToPersist.addManyFiles(files);
|
|
294
|
+
return dataToPersist.persistAllToFS();
|
|
338
295
|
}
|
|
339
|
-
await ((_this$legacyConfig2 = this.legacyConfig) === null || _this$legacyConfig2 === void 0 ? void 0 : _this$legacyConfig2.write({
|
|
340
|
-
workspaceDir: calculatedDir
|
|
341
|
-
}));
|
|
342
296
|
return undefined;
|
|
343
297
|
}
|
|
344
298
|
async toVinyl(workspaceDir) {
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
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
|
|
299
|
+
const jsonStr = `${(0, _commentJson().stringify)(this.data, undefined, 2)}\n`;
|
|
300
|
+
const base = workspaceDir;
|
|
301
|
+
const fullPath = workspaceDir ? WorkspaceConfig.composeWorkspaceJsoncPath(workspaceDir) : this.path;
|
|
302
|
+
const jsonFile = new (_sources().AbstractVinyl)({
|
|
303
|
+
base,
|
|
304
|
+
path: fullPath,
|
|
305
|
+
contents: Buffer.from(jsonStr)
|
|
359
306
|
});
|
|
360
|
-
|
|
361
|
-
_legacyPlainObject() {
|
|
362
|
-
if (this.legacyConfig) {
|
|
363
|
-
return this.legacyConfig.toPlainObject();
|
|
364
|
-
}
|
|
365
|
-
return undefined;
|
|
307
|
+
return [jsonFile];
|
|
366
308
|
}
|
|
367
309
|
toLegacy() {
|
|
368
|
-
var _this$extension, _this$
|
|
310
|
+
var _this$extension, _this$extension2, _this$extension3, _this$extension4, _this$_legacyProps, _this$_legacyProps2, _this$extension5;
|
|
369
311
|
let componentsDefaultDirectory = (_this$extension = this.extension('teambit.workspace/workspace', true)) === null || _this$extension === void 0 ? void 0 : _this$extension.defaultDirectory;
|
|
370
312
|
if (componentsDefaultDirectory && !componentsDefaultDirectory.includes('{name}')) {
|
|
371
313
|
componentsDefaultDirectory = `${componentsDefaultDirectory}/{name}`;
|
|
372
314
|
}
|
|
373
315
|
return {
|
|
374
|
-
lang:
|
|
316
|
+
lang: _constants().DEFAULT_LANGUAGE,
|
|
375
317
|
defaultScope: (_this$extension2 = this.extension('teambit.workspace/workspace', true)) === null || _this$extension2 === void 0 ? void 0 : _this$extension2.defaultScope,
|
|
376
318
|
_useWorkspaces: (_this$extension3 = this.extension('teambit.dependencies/dependency-resolver', true)) === null || _this$extension3 === void 0 ? void 0 : _this$extension3.useWorkspaces,
|
|
377
319
|
dependencyResolver: this.extension('teambit.dependencies/dependency-resolver', true),
|
|
378
320
|
packageManager: (_this$extension4 = this.extension('teambit.dependencies/dependency-resolver', true)) === null || _this$extension4 === void 0 ? void 0 : _this$extension4.packageManager,
|
|
379
|
-
_bindingPrefix: (_this$extension5 = this.extension('teambit.workspace/workspace', true)) === null || _this$extension5 === void 0 ? void 0 : _this$extension5.defaultOwner,
|
|
380
321
|
_saveDependenciesAsComponents: (_this$_legacyProps = this._legacyProps) === null || _this$_legacyProps === void 0 ? void 0 : _this$_legacyProps.saveDependenciesAsComponents,
|
|
381
322
|
_dependenciesDirectory: (_this$_legacyProps2 = this._legacyProps) === null || _this$_legacyProps2 === void 0 ? void 0 : _this$_legacyProps2.dependenciesDirectory,
|
|
382
323
|
componentsDefaultDirectory,
|
|
383
|
-
_manageWorkspaces: (_this$
|
|
384
|
-
defaultOwner: (_this$extension7 = this.extension('teambit.workspace/workspace', true)) === null || _this$extension7 === void 0 ? void 0 : _this$extension7.defaultOwner,
|
|
324
|
+
_manageWorkspaces: (_this$extension5 = this.extension('teambit.dependencies/dependency-resolver', true)) === null || _this$extension5 === void 0 ? void 0 : _this$extension5.manageWorkspaces,
|
|
385
325
|
extensions: this.extensions.toConfigObject(),
|
|
386
326
|
// @ts-ignore
|
|
387
327
|
path: this.path,
|
|
388
|
-
isLegacy:
|
|
328
|
+
isLegacy: false,
|
|
389
329
|
write: ({
|
|
390
330
|
workspaceDir
|
|
391
331
|
}) => this.write.call(this, {
|
|
392
332
|
dir: workspaceDir
|
|
393
333
|
}),
|
|
394
334
|
toVinyl: this.toVinyl.bind(this),
|
|
395
|
-
componentsConfig:
|
|
396
|
-
getComponentConfig:
|
|
397
|
-
_legacyPlainObject:
|
|
335
|
+
componentsConfig: undefined,
|
|
336
|
+
getComponentConfig: () => undefined,
|
|
337
|
+
_legacyPlainObject: () => undefined
|
|
398
338
|
};
|
|
399
339
|
}
|
|
400
340
|
}
|
|
@@ -412,8 +352,7 @@ function transformLegacyPropsToExtensions(legacyConfig) {
|
|
|
412
352
|
};
|
|
413
353
|
const workspace = removeUndefined({
|
|
414
354
|
defaultScope: legacyConfig.defaultScope,
|
|
415
|
-
defaultDirectory: legacyConfig.componentsDefaultDirectory
|
|
416
|
-
defaultOwner: legacyConfig.bindingPrefix
|
|
355
|
+
defaultDirectory: legacyConfig.componentsDefaultDirectory
|
|
417
356
|
});
|
|
418
357
|
const dependencyResolver = removeUndefined({
|
|
419
358
|
packageManager: legacyConfig.packageManager,
|
|
@@ -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$extension5","_this$_legacyProps","_this$_legacyProps2","_this$extension6","_this$extension7","_this$legacyConfig5","_this$legacyConfig6","_this$legacyConfig7","_this$legacyConfig8","componentsDefaultDirectory","defaultDirectory","includes","lang","DEFAULT_LANGUAGE","defaultScope","_useWorkspaces","useWorkspaces","dependencyResolver","packageManager","_bindingPrefix","defaultOwner","_saveDependenciesAsComponents","_legacyProps","saveDependenciesAsComponents","_dependenciesDirectory","dependenciesDirectory","_manageWorkspaces","manageWorkspaces","toConfigObject","bind","componentsConfig","overrides","getComponentConfig","getOverrideComponentData","exports","_legacyConfig$overrid","removeUndefined","entries","workspace","bindingPrefix","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 defaultOwner?: 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 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 _bindingPrefix: this.extension('teambit.workspace/workspace', true)?.defaultOwner,\n _saveDependenciesAsComponents: this._legacyProps?.saveDependenciesAsComponents,\n _dependenciesDirectory: this._legacyProps?.dependenciesDirectory,\n componentsDefaultDirectory,\n _manageWorkspaces: this.extension('teambit.dependencies/dependency-resolver', true)?.manageWorkspaces,\n defaultOwner: this.extension('teambit.workspace/workspace', true)?.defaultOwner,\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 defaultOwner: legacyConfig.bindingPrefix,\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","_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","merged","assign","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';\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) {\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 // 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);\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;AAGA,SAAAa,YAAA;EAAA,MAAAb,IAAA,GAAAC,OAAA;EAAAY,WAAA,YAAAA,CAAA;IAAA,OAAAb,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAc,qBAAA;EAAA,MAAAd,IAAA,GAAAC,OAAA;EAAAa,oBAAA,YAAAA,CAAA;IAAA,OAAAd,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAe,mBAAA;EAAA,MAAAf,IAAA,GAAAI,sBAAA,CAAAH,OAAA;EAAAc,kBAAA,YAAAA,CAAA;IAAA,OAAAf,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAAiE,SAAAgB,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,SAAAP,wBAAAO,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,SAAArB,uBAAAiC,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,CAASxE,IAA8B,EAAE;IAAA,KAAhCA,IAA8B,GAA9BA,IAA8B;IAAAkD,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAChD,IAAI,CAACuB,GAAG,GAAGzE,IAAI;IACf,IAAI,CAAC0E,cAAc,CAAC,CAAC;EACvB;EAEA,IAAI/D,IAAIA,CAAA,EAAgB;IACtB,OAAO,IAAI,CAACgE,KAAK,IAAI,EAAE;EACzB;EAEA,IAAIhE,IAAIA,CAACiE,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,CAACjG,IAA8B,EAAE;IAChD,OAAO,IAAIuE,eAAe,CAACvE,IAAI,CAAC;EAClC;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;EACE,aAAakG,MAAMA,CAACC,KAA+B,EAAEC,OAA6B,EAAE;IAClF,MAAMC,QAAQ,GAAG,MAAMC,gCAAgC,CAAC,CAAC;IACzD;IACA;IACA,MAAMC,MAAM,GAAG,IAAAC,qBAAM,EAACH,QAAQ,EAAEF,KAAK,CAAC;IACtC,MAAMM,QAAQ,GAAG,IAAIlC,eAAe,CAACgC,MAAM,CAAC;IAC5C,IAAIH,OAAO,EAAE;MACXK,QAAQ,CAAC9F,IAAI,GAAG4D,eAAe,CAACmC,yBAAyB,CAACN,OAAO,CAAC;IACpE;IACA,OAAOK,QAAQ;EACjB;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACE,aAAaE,MAAMA,CACjBP,OAA4B,EAC5BQ,oBAA8C,GAAG,CAAC,CAAQ,EAChC;IAC1B,IAAI;MACF,IAAIC,eAAe,GAAG,MAAM,IAAI,CAACC,WAAW,CAACV,OAAO,CAAC;MACrD,IAAIS,eAAe,EAAE;QACnB,OAAOA,eAAe;MACxB;MACAA,eAAe,GAAG,MAAM,IAAI,CAACX,MAAM,CAACU,oBAAoB,EAAER,OAAO,CAAC;MAClE,OAAOS,eAAe;IACxB,CAAC,CAAC,OAAOE,GAAQ,EAAE;MACjB,IAAIA,GAAG,YAAYC,4BAAiB,EAAE;QACpC,MAAMH,eAAe,GAAG,IAAI,CAACX,MAAM,CAACU,oBAAoB,EAAER,OAAO,CAAC;QAClE,OAAOS,eAAe;MACxB;MACA,MAAME,GAAG;IACX;EACF;EAEA,aAAaE,KAAKA,CAACb,OAA4B,EAAEc,SAAkB,EAAiB;IAClF,MAAMC,kBAAkB,GAAG5C,eAAe,CAACmC,yBAAyB,CAACN,OAAO,CAAC;IAC7E,IAAIc,SAAS,IAAIC,kBAAkB,EAAE;MACnCC,iBAAM,CAACC,IAAI,CAAE,iDAAgDF,kBAAmB,EAAC,CAAC;MAClF,MAAM1G,EAAE,CAAD,CAAC,CAAC6G,MAAM,CAACH,kBAAkB,CAAC;IACrC;EACF;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;EACE,OAAOT,yBAAyBA,CAACN,OAAoB,EAAe;IAClE,OAAOzF,IAAI,CAAD,CAAC,CAAC4G,IAAI,CAACnB,OAAO,EAAEoB,4BAAe,CAAC;EAC5C;EAEA,aAAaC,qBAAqBA,CAACrB,OAAoB,EAAoB;IACzE,MAAMsB,OAAO,GAAG,MAAMjH,EAAE,CAAD,CAAC,CAACkH,UAAU,CAACpD,eAAe,CAACmC,yBAAyB,CAACN,OAAO,CAAC,CAAC;IACvF,OAAOsB,OAAO;EAChB;;EAEA;AACF;AACA;AACA;EACE,aAAaA,OAAOA,CAACtB,OAAoB,EAAgC;IACvE,MAAMwB,UAAU,GAAG,MAAMrD,eAAe,CAACkD,qBAAqB,CAACrB,OAAO,CAAC;IACvE,IAAIwB,UAAU,EAAE;MACd,OAAO,IAAI;IACb;IACA,OAAOC,0BAAqB,CAACC,QAAQ,CAAC1B,OAAO,CAAC;EAChD;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;EACE,aAAaU,WAAWA,CAACV,OAAoB,EAAwC;IACnF,MAAMwB,UAAU,GAAG,MAAMrD,eAAe,CAACkD,qBAAqB,CAACrB,OAAO,CAAC;IACvE,IAAIwB,UAAU,EAAE;MACd,MAAMG,SAAS,GAAGxD,eAAe,CAACmC,yBAAyB,CAACN,OAAO,CAAC;MACpE,MAAMK,QAAQ,GAAG,MAAMlC,eAAe,CAACyD,uBAAuB,CAACD,SAAS,CAAC;MACzEtB,QAAQ,CAAC9F,IAAI,GAAGoH,SAAS;MACzB,OAAOtB,QAAQ;IACjB;IACA,OAAOvC,SAAS;EAClB;EAEA,aAAa8D,uBAAuBA,CAACb,kBAA+B,EAA4B;IAC9F,MAAMc,aAAa,GAAG,MAAMxH,EAAE,CAAD,CAAC,CAACyH,QAAQ,CAACf,kBAAkB,CAAC;IAC3D,IAAIgB,MAAM;IACV,IAAI;MACFA,MAAM,GAAG,IAAAC,oBAAK,EAACH,aAAa,CAACI,QAAQ,CAAC,CAAC,CAAC;IAC1C,CAAC,CAAC,OAAOpH,CAAM,EAAE;MACf,MAAM,KAAI+F,4BAAiB,EAACG,kBAAkB,CAAC;IACjD;IACA,OAAO5C,eAAe,CAAC0B,UAAU,CAACkC,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,CAAC5D,KAAK,EAAE,OAAOhE,IAAI,CAAD,CAAC,CAAC8H,OAAO,CAAC,IAAI,CAAC9D,KAAK,CAAC;MAC/C,MAAM,KAAI+D,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,OAAO/E,SAAS;EAClB;EAEA,MAAM2E,OAAOA,CAACK,YAAiC,EAAwC;IACrF,MAAMC,OAAO,GAAI,GAAE,IAAAC,wBAAS,EAAC,IAAI,CAACpJ,IAAI,EAAEkE,SAAS,EAAE,CAAC,CAAE,IAAG;IACzD,MAAMmF,IAAI,GAAGH,YAAY;IACzB,MAAMI,QAAQ,GAAGJ,YAAY,GAAG3E,eAAe,CAACmC,yBAAyB,CAACwC,YAAY,CAAC,GAAG,IAAI,CAACvI,IAAI;IACnG,MAAM4I,QAAQ,GAAG,KAAIC,wBAAa,EAAC;MAAEH,IAAI;MAAE1I,IAAI,EAAE2I,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,CAAC1E,SAAS,CAAC,6BAA6B,EAAE,IAAI,CAAC,cAAA0E,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,CAAC3E,SAAS,CAAC,6BAA6B,EAAE,IAAI,CAAC,cAAA2E,gBAAA,uBAAnDA,gBAAA,CAAqDW,YAAY;MAC/EC,cAAc,GAAAX,gBAAA,GAAE,IAAI,CAAC5E,SAAS,CAAC,0CAA0C,EAAE,IAAI,CAAC,cAAA4E,gBAAA,uBAAhEA,gBAAA,CAAkEY,aAAa;MAC/FC,kBAAkB,EAAE,IAAI,CAACzF,SAAS,CAAC,0CAA0C,EAAE,IAAI,CAAC;MACpF0F,cAAc,GAAAb,gBAAA,GAAE,IAAI,CAAC7E,SAAS,CAAC,0CAA0C,EAAE,IAAI,CAAC,cAAA6E,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,CAAChF,SAAS,CAAC,0CAA0C,EAAE,IAAI,CAAC,cAAAgF,gBAAA,uBAAhEA,gBAAA,CAAkEiB,gBAAgB;MACrGvG,UAAU,EAAE,IAAI,CAACA,UAAU,CAACwG,cAAc,CAAC,CAAC;MAC5C;MACA1K,IAAI,EAAE,IAAI,CAACA,IAAI;MACf2K,QAAQ,EAAE,KAAK;MACfhD,KAAK,EAAEA,CAAC;QAAEY;MAAa,CAAC,KAAK,IAAI,CAACZ,KAAK,CAACpG,IAAI,CAAC,IAAI,EAAE;QAAEqG,GAAG,EAAEW;MAAa,CAAC,CAAC;MACzEL,OAAO,EAAE,IAAI,CAACA,OAAO,CAAC0C,IAAI,CAAC,IAAI,CAAC;MAChCC,gBAAgB,EAAEtH,SAAS;MAC3BuH,kBAAkB,EAAEA,CAAA,KAAMvH,SAAS;MACnCwH,kBAAkB,EAAEA,CAAA,KAAMxH;IAC5B,CAAC;EACH;AACF;AAACyH,OAAA,CAAApH,eAAA,GAAAA,eAAA;AAEM,SAASqH,gCAAgCA,CAC9CC,YAAgE,EAChD;EAAA,IAAAC,qBAAA;EAChB;EACA,MAAMC,eAAe,GAAI1J,GAAG,IAAK;IAC/B;IACA;IACAT,MAAM,CAACoK,OAAO,CAAC3J,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,MAAM4J,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,MAAMtM,IAAI,GAAG,CAAC,CAAC;EACf,IAAIiM,SAAS,IAAI,CAAC,IAAAM,iBAAO,EAACN,SAAS,CAAC,EAAE;IACpCjM,IAAI,CAAC,6BAA6B,CAAC,GAAGiM,SAAS;EACjD;EACA,IAAIrB,kBAAkB,IAAI,CAAC,IAAA2B,iBAAO,EAAC3B,kBAAkB,CAAC,EAAE;IACtD5K,IAAI,CAAC,0CAA0C,CAAC,GAAG4K,kBAAkB;EACvE;EACA;EACA;EACA;EACA,IAAIyB,QAAQ,IAAI,CAAC,IAAAE,iBAAO,EAACF,QAAQ,CAAC,EAAE;IAClCrM,IAAI,CAAC,4BAA4B,CAAC,GAAGqM,QAAQ;EAC/C;EACA;EACA,OAAOrM,IAAI;AACb;AAEO,eAAesG,gCAAgCA,CAAA,EAA8B;EAClF,IAAIkG,WAAmB;EACvB,IAAI;IACFA,WAAW,GAAG,MAAM/L,EAAE,CAAD,CAAC,CAACyH,QAAQ,CAACvH,IAAI,CAAD,CAAC,CAAC4G,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,MAAM/L,EAAE,CAAD,CAAC,CAACyH,QAAQ,CAACvH,IAAI,CAAD,CAAC,CAAC4G,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,EAAE3C,SAAS,EAAE,CAAC,CAAC;AACjD"}
|
package/package.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@teambit/config",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.852",
|
|
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.852"
|
|
10
10
|
},
|
|
11
11
|
"dependencies": {
|
|
12
12
|
"comment-json": "3.0.3",
|
|
@@ -17,7 +17,7 @@
|
|
|
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.
|
|
20
|
+
"@teambit/cli": "0.0.835"
|
|
21
21
|
},
|
|
22
22
|
"devDependencies": {
|
|
23
23
|
"@types/fs-extra": "9.0.7",
|
|
@@ -30,11 +30,13 @@
|
|
|
30
30
|
"@types/testing-library__jest-dom": "5.9.5"
|
|
31
31
|
},
|
|
32
32
|
"peerDependencies": {
|
|
33
|
-
"@teambit/legacy": "1.0.
|
|
33
|
+
"@teambit/legacy": "1.0.620",
|
|
34
34
|
"react": "^16.8.0 || ^17.0.0",
|
|
35
35
|
"react-dom": "^16.8.0 || ^17.0.0"
|
|
36
36
|
},
|
|
37
37
|
"license": "Apache-2.0",
|
|
38
|
+
"optionalDependencies": {},
|
|
39
|
+
"peerDependenciesMeta": {},
|
|
38
40
|
"exports": {
|
|
39
41
|
"node": {
|
|
40
42
|
"require": "./dist/index.js",
|
|
File without changes
|