@teambit/config 0.0.604 → 0.0.606

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.
@@ -4,26 +4,20 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.ConfigRuntime = exports.ConfigAspect = void 0;
7
-
8
7
  function _harmony() {
9
8
  const data = require("@teambit/harmony");
10
-
11
9
  _harmony = function () {
12
10
  return data;
13
11
  };
14
-
15
12
  return data;
16
13
  }
17
-
18
14
  const ConfigRuntime = new (_harmony().RuntimeDefinition)('main');
19
15
  exports.ConfigRuntime = ConfigRuntime;
20
-
21
16
  const ConfigAspect = _harmony().Aspect.create({
22
17
  id: 'teambit.harmony/config',
23
18
  dependencies: [],
24
19
  declareRuntime: ConfigRuntime
25
20
  });
26
-
27
21
  exports.ConfigAspect = ConfigAspect;
28
22
 
29
23
  //# sourceMappingURL=config.aspect.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["ConfigRuntime","RuntimeDefinition","ConfigAspect","Aspect","create","id","dependencies","declareRuntime"],"sources":["config.aspect.ts"],"sourcesContent":["import { Aspect, RuntimeDefinition } from '@teambit/harmony';\n\nexport const ConfigRuntime = new RuntimeDefinition('main');\n\nexport const ConfigAspect = Aspect.create({\n id: 'teambit.harmony/config',\n dependencies: [],\n declareRuntime: ConfigRuntime,\n});\n"],"mappings":";;;;;;;AAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AAEO,MAAMA,aAAa,GAAG,KAAIC,4BAAJ,EAAsB,MAAtB,CAAtB;;;AAEA,MAAMC,YAAY,GAAGC,iBAAA,CAAOC,MAAP,CAAc;EACxCC,EAAE,EAAE,wBADoC;EAExCC,YAAY,EAAE,EAF0B;EAGxCC,cAAc,EAAEP;AAHwB,CAAd,CAArB"}
1
+ {"version":3,"names":["ConfigRuntime","RuntimeDefinition","ConfigAspect","Aspect","create","id","dependencies","declareRuntime"],"sources":["config.aspect.ts"],"sourcesContent":["import { Aspect, RuntimeDefinition } from '@teambit/harmony';\n\nexport const ConfigRuntime = new RuntimeDefinition('main');\n\nexport const ConfigAspect = Aspect.create({\n id: 'teambit.harmony/config',\n dependencies: [],\n declareRuntime: ConfigRuntime,\n});\n"],"mappings":";;;;;;AAAA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AAEO,MAAMA,aAAa,GAAG,KAAIC,4BAAiB,EAAC,MAAM,CAAC;AAAC;AAEpD,MAAMC,YAAY,GAAGC,iBAAM,CAACC,MAAM,CAAC;EACxCC,EAAE,EAAE,wBAAwB;EAC5BC,YAAY,EAAE,EAAE;EAChBC,cAAc,EAAEP;AAClB,CAAC,CAAC;AAAC"}
@@ -1,111 +1,82 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  require("core-js/modules/es.promise.js");
6
-
7
5
  Object.defineProperty(exports, "__esModule", {
8
6
  value: true
9
7
  });
10
8
  exports.ConfigMain = void 0;
11
-
12
9
  function _defineProperty2() {
13
10
  const data = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
14
-
15
11
  _defineProperty2 = function () {
16
12
  return data;
17
13
  };
18
-
19
14
  return data;
20
15
  }
21
-
22
16
  function _consumer() {
23
17
  const data = require("@teambit/legacy/dist/consumer");
24
-
25
18
  _consumer = function () {
26
19
  return data;
27
20
  };
28
-
29
21
  return data;
30
22
  }
31
-
32
23
  function _workspaceConfig() {
33
24
  const data = _interopRequireDefault(require("@teambit/legacy/dist/consumer/config/workspace-config"));
34
-
35
25
  _workspaceConfig = function () {
36
26
  return data;
37
27
  };
38
-
39
28
  return data;
40
29
  }
41
-
42
30
  function _cli() {
43
31
  const data = require("@teambit/cli");
44
-
45
32
  _cli = function () {
46
33
  return data;
47
34
  };
48
-
49
35
  return data;
50
36
  }
51
-
52
37
  function _path() {
53
38
  const data = _interopRequireDefault(require("path"));
54
-
55
39
  _path = function () {
56
40
  return data;
57
41
  };
58
-
59
42
  return data;
60
43
  }
61
-
62
44
  function _workspaceConfig2() {
63
45
  const data = require("./workspace-config");
64
-
65
46
  _workspaceConfig2 = function () {
66
47
  return data;
67
48
  };
68
-
69
49
  return data;
70
50
  }
71
-
72
51
  function _config() {
73
52
  const data = require("./config.aspect");
74
-
75
53
  _config = function () {
76
54
  return data;
77
55
  };
78
-
79
56
  return data;
80
57
  }
81
-
82
58
  class ConfigMain {
83
59
  constructor(workspaceConfig, scopeConfig) {
84
60
  this.workspaceConfig = workspaceConfig;
85
61
  this.scopeConfig = scopeConfig;
86
62
  }
87
-
88
63
  get type() {
89
64
  if (this.workspaceConfig) {
90
65
  return 'workspace';
91
66
  }
92
-
93
67
  return 'scope';
94
68
  }
95
-
96
69
  get path() {
97
70
  var _this$config;
98
-
99
71
  return (_this$config = this.config) === null || _this$config === void 0 ? void 0 : _this$config.path;
100
72
  }
101
-
102
73
  get config() {
103
74
  if (this.workspaceConfig) {
104
75
  return this.workspaceConfig;
105
76
  }
106
-
107
77
  return this.scopeConfig;
108
78
  }
79
+
109
80
  /**
110
81
  * Ensure the given directory has a workspace config
111
82
  * Load if existing and create new if not
@@ -116,31 +87,22 @@ class ConfigMain {
116
87
  * @returns {Promise<WorkspaceConfig>}
117
88
  * @memberof WorkspaceConfig
118
89
  */
119
-
120
-
121
90
  static async ensureWorkspace(dirPath, workspaceConfigProps = {}) {
122
91
  const workspaceConfig = await _workspaceConfig2().WorkspaceConfig.ensure(dirPath, workspaceConfigProps);
123
92
  return new ConfigMain(workspaceConfig);
124
93
  }
125
-
126
94
  get extensions() {
127
95
  var _this$config2;
128
-
129
96
  return (_this$config2 = this.config) === null || _this$config2 === void 0 ? void 0 : _this$config2.extensions;
130
97
  }
131
-
132
98
  extension(extensionId, ignoreVersion) {
133
99
  var _this$config3;
134
-
135
100
  return (_this$config3 = this.config) === null || _this$config3 === void 0 ? void 0 : _this$config3.extension(extensionId, ignoreVersion);
136
101
  }
137
-
138
102
  setExtension(extensionId, config, options) {
139
103
  var _this$config4;
140
-
141
104
  (_this$config4 = this.config) === null || _this$config4 === void 0 ? void 0 : _this$config4.setExtension(extensionId, config, options);
142
105
  }
143
-
144
106
  getHarmonyConfigObject() {
145
107
  const config = {};
146
108
  if (!this.extensions) return config;
@@ -149,76 +111,57 @@ class ConfigMain {
149
111
  });
150
112
  return config;
151
113
  }
152
-
153
114
  static async provider() {
154
115
  _workspaceConfig().default.registerOnWorkspaceConfigIsExist(onLegacyWorkspaceConfigIsExist());
155
-
156
116
  _workspaceConfig().default.registerOnWorkspaceConfigEnsuring(onLegacyWorkspaceEnsure());
157
-
158
117
  const consumerInfo = await (0, _consumer().getConsumerInfo)(process.cwd());
159
118
  let configMain;
160
119
  const configDirPath = (consumerInfo === null || consumerInfo === void 0 ? void 0 : consumerInfo.path) || process.cwd();
161
120
  const workspaceConfig = await _workspaceConfig2().WorkspaceConfig.loadIfExist(configDirPath);
162
-
163
121
  if (workspaceConfig) {
164
122
  configMain = new ConfigMain(workspaceConfig, undefined);
165
123
  } else {
166
124
  // TODO: try load scope config here
167
125
  configMain = {};
168
126
  }
169
-
170
127
  _workspaceConfig().default.registerOnWorkspaceConfigLoading(onLegacyWorkspaceLoad(configMain));
171
-
172
128
  _workspaceConfig().default.registerOnWorkspaceConfigReset((dirPath, resetHard) => _workspaceConfig2().WorkspaceConfig.reset(dirPath, resetHard));
173
-
174
129
  return configMain;
175
130
  }
176
-
177
131
  }
178
-
179
132
  exports.ConfigMain = ConfigMain;
180
133
  (0, _defineProperty2().default)(ConfigMain, "runtime", _cli().MainRuntime);
181
134
  (0, _defineProperty2().default)(ConfigMain, "slots", []);
182
135
  (0, _defineProperty2().default)(ConfigMain, "dependencies", [_cli().CLIAspect]);
183
136
  (0, _defineProperty2().default)(ConfigMain, "config", {});
184
-
185
137
  _config().ConfigAspect.addRuntime(ConfigMain);
186
-
187
138
  function onLegacyWorkspaceConfigIsExist() {
188
139
  return async dirPath => {
189
140
  return _workspaceConfig2().WorkspaceConfig.isExist(dirPath);
190
141
  };
191
142
  }
192
-
193
143
  function onLegacyWorkspaceLoad(config) {
194
144
  return async dirPath => {
195
145
  if (config !== null && config !== void 0 && config.workspaceConfig && config.path && _path().default.normalize(dirPath) === _path().default.dirname(config.path)) {
196
146
  return config.config.toLegacy();
197
147
  }
198
-
199
148
  const newConfig = await _workspaceConfig2().WorkspaceConfig.loadIfExist(dirPath);
200
-
201
149
  if (newConfig) {
202
150
  return newConfig.toLegacy();
203
151
  }
204
-
205
152
  return undefined;
206
153
  };
207
154
  }
208
-
209
155
  function onLegacyWorkspaceEnsure() {
210
156
  const func = async (dirPath, standAlone, legacyWorkspaceConfigProps) => {
211
157
  let workspaceConfigProps;
212
-
213
158
  if (legacyWorkspaceConfigProps) {
214
159
  workspaceConfigProps = (0, _workspaceConfig2().transformLegacyPropsToExtensions)(legacyWorkspaceConfigProps);
215
160
  }
216
-
217
161
  const config = await ConfigMain.ensureWorkspace(dirPath, workspaceConfigProps);
218
162
  const workspaceConfig = config.config;
219
163
  return workspaceConfig.toLegacy();
220
164
  };
221
-
222
165
  return func;
223
166
  }
224
167
 
@@ -1 +1 @@
1
- {"version":3,"names":["ConfigMain","constructor","workspaceConfig","scopeConfig","type","path","config","ensureWorkspace","dirPath","workspaceConfigProps","WorkspaceConfig","ensure","extensions","extension","extensionId","ignoreVersion","setExtension","options","getHarmonyConfigObject","forEach","stringId","provider","LegacyWorkspaceConfig","registerOnWorkspaceConfigIsExist","onLegacyWorkspaceConfigIsExist","registerOnWorkspaceConfigEnsuring","onLegacyWorkspaceEnsure","consumerInfo","getConsumerInfo","process","cwd","configMain","configDirPath","loadIfExist","undefined","registerOnWorkspaceConfigLoading","onLegacyWorkspaceLoad","registerOnWorkspaceConfigReset","resetHard","reset","MainRuntime","CLIAspect","ConfigAspect","addRuntime","isExist","normalize","dirname","toLegacy","newConfig","func","standAlone","legacyWorkspaceConfigProps","transformLegacyPropsToExtensions"],"sources":["config.main.runtime.ts"],"sourcesContent":["import { getConsumerInfo } from '@teambit/legacy/dist/consumer';\nimport {\n ExtensionDataEntry,\n ExtensionDataList,\n ILegacyWorkspaceConfig,\n LegacyWorkspaceConfigProps,\n} from '@teambit/legacy/dist/consumer/config';\nimport LegacyWorkspaceConfig, {\n WorkspaceConfigEnsureFunction,\n WorkspaceConfigIsExistFunction,\n WorkspaceConfigLoadFunction,\n} from '@teambit/legacy/dist/consumer/config/workspace-config';\nimport { PathOsBased, PathOsBasedAbsolute } from '@teambit/legacy/dist/utils/path';\nimport { CLIAspect, MainRuntime } from '@teambit/cli';\nimport { GlobalConfig } from '@teambit/harmony';\nimport path from 'path';\nimport { transformLegacyPropsToExtensions, WorkspaceConfig, WorkspaceConfigFileProps } from './workspace-config';\nimport { ConfigType, HostConfig } from './types';\nimport { ConfigAspect } from './config.aspect';\n\nexport type SetExtensionOptions = {\n overrideExisting?: boolean;\n ignoreVersion: boolean;\n mergeIntoExisting?: boolean;\n};\n\nexport type ConfigDeps = [];\n\nexport type ConfigConfig = {};\n\nexport class ConfigMain {\n constructor(public workspaceConfig?: WorkspaceConfig, public scopeConfig?: WorkspaceConfig) {}\n\n get type(): ConfigType {\n if (this.workspaceConfig) {\n return 'workspace';\n }\n return 'scope';\n }\n\n get path(): PathOsBased | undefined {\n return this.config?.path;\n }\n\n get config(): HostConfig | undefined {\n if (this.workspaceConfig) {\n return this.workspaceConfig;\n }\n return this.scopeConfig;\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 ensureWorkspace(\n dirPath: PathOsBasedAbsolute,\n workspaceConfigProps: WorkspaceConfigFileProps = {} as any\n ): Promise<ConfigMain> {\n const workspaceConfig = await WorkspaceConfig.ensure(dirPath, workspaceConfigProps);\n return new ConfigMain(workspaceConfig);\n }\n\n get extensions(): ExtensionDataList | undefined {\n return this.config?.extensions;\n }\n\n extension(extensionId: string, ignoreVersion: boolean): ExtensionDataEntry | undefined {\n return this.config?.extension(extensionId, ignoreVersion);\n }\n\n setExtension(extensionId: string, config: Record<string, any>, options: SetExtensionOptions) {\n this.config?.setExtension(extensionId, config, options);\n }\n\n getHarmonyConfigObject(): GlobalConfig {\n const config = {};\n if (!this.extensions) return config;\n this.extensions.forEach((extension) => {\n config[extension.stringId] = extension.config;\n });\n return config;\n }\n\n static runtime = MainRuntime;\n static slots = [];\n static dependencies = [CLIAspect];\n static config = {};\n static async provider() {\n LegacyWorkspaceConfig.registerOnWorkspaceConfigIsExist(onLegacyWorkspaceConfigIsExist());\n LegacyWorkspaceConfig.registerOnWorkspaceConfigEnsuring(onLegacyWorkspaceEnsure());\n const consumerInfo = await getConsumerInfo(process.cwd());\n\n let configMain: ConfigMain | any;\n const configDirPath = consumerInfo?.path || process.cwd();\n const workspaceConfig = await WorkspaceConfig.loadIfExist(configDirPath);\n if (workspaceConfig) {\n configMain = new ConfigMain(workspaceConfig, undefined);\n } else {\n // TODO: try load scope config here\n configMain = {};\n }\n LegacyWorkspaceConfig.registerOnWorkspaceConfigLoading(onLegacyWorkspaceLoad(configMain));\n LegacyWorkspaceConfig.registerOnWorkspaceConfigReset((dirPath, resetHard) =>\n WorkspaceConfig.reset(dirPath, resetHard)\n );\n return configMain;\n }\n}\n\nConfigAspect.addRuntime(ConfigMain);\n\nfunction onLegacyWorkspaceConfigIsExist(): WorkspaceConfigIsExistFunction {\n return async (dirPath: PathOsBased): Promise<boolean | undefined> => {\n return WorkspaceConfig.isExist(dirPath);\n };\n}\n\nfunction onLegacyWorkspaceLoad(config?: ConfigMain): WorkspaceConfigLoadFunction {\n return async (dirPath: PathOsBased): Promise<ILegacyWorkspaceConfig | undefined> => {\n if (config?.workspaceConfig && config.path && path.normalize(dirPath) === path.dirname(config.path)) {\n return (config.config as WorkspaceConfig).toLegacy();\n }\n const newConfig = await WorkspaceConfig.loadIfExist(dirPath);\n if (newConfig) {\n return newConfig.toLegacy();\n }\n return undefined;\n };\n}\n\nfunction onLegacyWorkspaceEnsure(): WorkspaceConfigEnsureFunction {\n const func: WorkspaceConfigEnsureFunction = async (\n dirPath: string,\n standAlone,\n legacyWorkspaceConfigProps?: LegacyWorkspaceConfigProps\n ) => {\n let workspaceConfigProps;\n if (legacyWorkspaceConfigProps) {\n workspaceConfigProps = transformLegacyPropsToExtensions(legacyWorkspaceConfigProps);\n }\n const config = await ConfigMain.ensureWorkspace(dirPath, workspaceConfigProps);\n const workspaceConfig = config.config;\n return (workspaceConfig as WorkspaceConfig).toLegacy();\n };\n return func;\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["ConfigMain","constructor","workspaceConfig","scopeConfig","type","path","config","ensureWorkspace","dirPath","workspaceConfigProps","WorkspaceConfig","ensure","extensions","extension","extensionId","ignoreVersion","setExtension","options","getHarmonyConfigObject","forEach","stringId","provider","LegacyWorkspaceConfig","registerOnWorkspaceConfigIsExist","onLegacyWorkspaceConfigIsExist","registerOnWorkspaceConfigEnsuring","onLegacyWorkspaceEnsure","consumerInfo","getConsumerInfo","process","cwd","configMain","configDirPath","loadIfExist","undefined","registerOnWorkspaceConfigLoading","onLegacyWorkspaceLoad","registerOnWorkspaceConfigReset","resetHard","reset","MainRuntime","CLIAspect","ConfigAspect","addRuntime","isExist","normalize","dirname","toLegacy","newConfig","func","standAlone","legacyWorkspaceConfigProps","transformLegacyPropsToExtensions"],"sources":["config.main.runtime.ts"],"sourcesContent":["import { getConsumerInfo } from '@teambit/legacy/dist/consumer';\nimport {\n ExtensionDataEntry,\n ExtensionDataList,\n ILegacyWorkspaceConfig,\n LegacyWorkspaceConfigProps,\n} from '@teambit/legacy/dist/consumer/config';\nimport LegacyWorkspaceConfig, {\n WorkspaceConfigEnsureFunction,\n WorkspaceConfigIsExistFunction,\n WorkspaceConfigLoadFunction,\n} from '@teambit/legacy/dist/consumer/config/workspace-config';\nimport { PathOsBased, PathOsBasedAbsolute } from '@teambit/legacy/dist/utils/path';\nimport { CLIAspect, MainRuntime } from '@teambit/cli';\nimport { GlobalConfig } from '@teambit/harmony';\nimport path from 'path';\nimport { transformLegacyPropsToExtensions, WorkspaceConfig, WorkspaceConfigFileProps } from './workspace-config';\nimport { ConfigType, HostConfig } from './types';\nimport { ConfigAspect } from './config.aspect';\n\nexport type SetExtensionOptions = {\n overrideExisting?: boolean;\n ignoreVersion: boolean;\n mergeIntoExisting?: boolean;\n};\n\nexport type ConfigDeps = [];\n\nexport type ConfigConfig = {};\n\nexport class ConfigMain {\n constructor(public workspaceConfig?: WorkspaceConfig, public scopeConfig?: WorkspaceConfig) {}\n\n get type(): ConfigType {\n if (this.workspaceConfig) {\n return 'workspace';\n }\n return 'scope';\n }\n\n get path(): PathOsBased | undefined {\n return this.config?.path;\n }\n\n get config(): HostConfig | undefined {\n if (this.workspaceConfig) {\n return this.workspaceConfig;\n }\n return this.scopeConfig;\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 ensureWorkspace(\n dirPath: PathOsBasedAbsolute,\n workspaceConfigProps: WorkspaceConfigFileProps = {} as any\n ): Promise<ConfigMain> {\n const workspaceConfig = await WorkspaceConfig.ensure(dirPath, workspaceConfigProps);\n return new ConfigMain(workspaceConfig);\n }\n\n get extensions(): ExtensionDataList | undefined {\n return this.config?.extensions;\n }\n\n extension(extensionId: string, ignoreVersion: boolean): ExtensionDataEntry | undefined {\n return this.config?.extension(extensionId, ignoreVersion);\n }\n\n setExtension(extensionId: string, config: Record<string, any>, options: SetExtensionOptions) {\n this.config?.setExtension(extensionId, config, options);\n }\n\n getHarmonyConfigObject(): GlobalConfig {\n const config = {};\n if (!this.extensions) return config;\n this.extensions.forEach((extension) => {\n config[extension.stringId] = extension.config;\n });\n return config;\n }\n\n static runtime = MainRuntime;\n static slots = [];\n static dependencies = [CLIAspect];\n static config = {};\n static async provider() {\n LegacyWorkspaceConfig.registerOnWorkspaceConfigIsExist(onLegacyWorkspaceConfigIsExist());\n LegacyWorkspaceConfig.registerOnWorkspaceConfigEnsuring(onLegacyWorkspaceEnsure());\n const consumerInfo = await getConsumerInfo(process.cwd());\n\n let configMain: ConfigMain | any;\n const configDirPath = consumerInfo?.path || process.cwd();\n const workspaceConfig = await WorkspaceConfig.loadIfExist(configDirPath);\n if (workspaceConfig) {\n configMain = new ConfigMain(workspaceConfig, undefined);\n } else {\n // TODO: try load scope config here\n configMain = {};\n }\n LegacyWorkspaceConfig.registerOnWorkspaceConfigLoading(onLegacyWorkspaceLoad(configMain));\n LegacyWorkspaceConfig.registerOnWorkspaceConfigReset((dirPath, resetHard) =>\n WorkspaceConfig.reset(dirPath, resetHard)\n );\n return configMain;\n }\n}\n\nConfigAspect.addRuntime(ConfigMain);\n\nfunction onLegacyWorkspaceConfigIsExist(): WorkspaceConfigIsExistFunction {\n return async (dirPath: PathOsBased): Promise<boolean | undefined> => {\n return WorkspaceConfig.isExist(dirPath);\n };\n}\n\nfunction onLegacyWorkspaceLoad(config?: ConfigMain): WorkspaceConfigLoadFunction {\n return async (dirPath: PathOsBased): Promise<ILegacyWorkspaceConfig | undefined> => {\n if (config?.workspaceConfig && config.path && path.normalize(dirPath) === path.dirname(config.path)) {\n return (config.config as WorkspaceConfig).toLegacy();\n }\n const newConfig = await WorkspaceConfig.loadIfExist(dirPath);\n if (newConfig) {\n return newConfig.toLegacy();\n }\n return undefined;\n };\n}\n\nfunction onLegacyWorkspaceEnsure(): WorkspaceConfigEnsureFunction {\n const func: WorkspaceConfigEnsureFunction = async (\n dirPath: string,\n standAlone,\n legacyWorkspaceConfigProps?: LegacyWorkspaceConfigProps\n ) => {\n let workspaceConfigProps;\n if (legacyWorkspaceConfigProps) {\n workspaceConfigProps = transformLegacyPropsToExtensions(legacyWorkspaceConfigProps);\n }\n const config = await ConfigMain.ensureWorkspace(dirPath, workspaceConfigProps);\n const workspaceConfig = config.config;\n return (workspaceConfig as WorkspaceConfig).toLegacy();\n };\n return func;\n}\n"],"mappings":"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"}
@@ -4,24 +4,18 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.ConfigDirNotDefined = void 0;
7
-
8
7
  function _bitError() {
9
8
  const data = require("@teambit/bit-error");
10
-
11
9
  _bitError = function () {
12
10
  return data;
13
11
  };
14
-
15
12
  return data;
16
13
  }
17
-
18
14
  class ConfigDirNotDefined extends _bitError().BitError {
19
15
  constructor() {
20
16
  super(`error: the config directory is not defined`);
21
17
  }
22
-
23
18
  }
24
-
25
19
  exports.ConfigDirNotDefined = ConfigDirNotDefined;
26
20
 
27
21
  //# sourceMappingURL=config-dir-not-defined.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["ConfigDirNotDefined","BitError","constructor"],"sources":["config-dir-not-defined.ts"],"sourcesContent":["import { BitError } from '@teambit/bit-error';\n\nexport class ConfigDirNotDefined extends BitError {\n constructor() {\n super(`error: the config directory is not defined`);\n }\n}\n"],"mappings":";;;;;;;AAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AAEO,MAAMA,mBAAN,SAAkCC,oBAAlC,CAA2C;EAChDC,WAAW,GAAG;IACZ,MAAO,4CAAP;EACD;;AAH+C"}
1
+ {"version":3,"names":["ConfigDirNotDefined","BitError","constructor"],"sources":["config-dir-not-defined.ts"],"sourcesContent":["import { BitError } from '@teambit/bit-error';\n\nexport class ConfigDirNotDefined extends BitError {\n constructor() {\n super(`error: the config directory is not defined`);\n }\n}\n"],"mappings":";;;;;;AAAA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AAEO,MAAMA,mBAAmB,SAASC,oBAAQ,CAAC;EAChDC,WAAW,GAAG;IACZ,KAAK,CAAE,4CAA2C,CAAC;EACrD;AACF;AAAC"}
@@ -4,25 +4,19 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.ExtensionAlreadyConfigured = void 0;
7
-
8
7
  function _bitError() {
9
8
  const data = require("@teambit/bit-error");
10
-
11
9
  _bitError = function () {
12
10
  return data;
13
11
  };
14
-
15
12
  return data;
16
13
  }
17
-
18
14
  class ExtensionAlreadyConfigured extends _bitError().BitError {
19
15
  constructor(extensionId) {
20
16
  super(`error: the extension ${extensionId} is already configured in the config file`);
21
17
  this.extensionId = extensionId;
22
18
  }
23
-
24
19
  }
25
-
26
20
  exports.ExtensionAlreadyConfigured = ExtensionAlreadyConfigured;
27
21
 
28
22
  //# sourceMappingURL=extension-already-configured.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["ExtensionAlreadyConfigured","BitError","constructor","extensionId"],"sources":["extension-already-configured.ts"],"sourcesContent":["import { BitError } from '@teambit/bit-error';\n\nexport class ExtensionAlreadyConfigured extends BitError {\n constructor(readonly extensionId: string) {\n super(`error: the extension ${extensionId} is already configured in the config file`);\n }\n}\n"],"mappings":";;;;;;;AAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AAEO,MAAMA,0BAAN,SAAyCC,oBAAzC,CAAkD;EACvDC,WAAW,CAAUC,WAAV,EAA+B;IACxC,MAAO,wBAAuBA,WAAY,2CAA1C;IADwC,KAArBA,WAAqB,GAArBA,WAAqB;EAEzC;;AAHsD"}
1
+ {"version":3,"names":["ExtensionAlreadyConfigured","BitError","constructor","extensionId"],"sources":["extension-already-configured.ts"],"sourcesContent":["import { BitError } from '@teambit/bit-error';\n\nexport class ExtensionAlreadyConfigured extends BitError {\n constructor(readonly extensionId: string) {\n super(`error: the extension ${extensionId} is already configured in the config file`);\n }\n}\n"],"mappings":";;;;;;AAAA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AAEO,MAAMA,0BAA0B,SAASC,oBAAQ,CAAC;EACvDC,WAAW,CAAUC,WAAmB,EAAE;IACxC,KAAK,CAAE,wBAAuBA,WAAY,2CAA0C,CAAC;IAAC,KADnEA,WAAmB,GAAnBA,WAAmB;EAExC;AACF;AAAC"}
@@ -9,14 +9,11 @@ Object.defineProperty(exports, "ExtensionAlreadyConfigured", {
9
9
  return _extensionAlreadyConfigured().ExtensionAlreadyConfigured;
10
10
  }
11
11
  });
12
-
13
12
  function _extensionAlreadyConfigured() {
14
13
  const data = require("./extension-already-configured");
15
-
16
14
  _extensionAlreadyConfigured = function () {
17
15
  return data;
18
16
  };
19
-
20
17
  return data;
21
18
  }
22
19
 
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["index.ts"],"sourcesContent":["export { ExtensionAlreadyConfigured } from './extension-already-configured';\n"],"mappings":";;;;;;;;;;;;AAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA"}
1
+ {"version":3,"names":[],"sources":["index.ts"],"sourcesContent":["export { ExtensionAlreadyConfigured } from './extension-already-configured';\n"],"mappings":";;;;;;;;;;;AAAA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA"}
@@ -1,42 +1,31 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports.default = void 0;
9
-
10
8
  function _defineProperty2() {
11
9
  const data = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
12
-
13
10
  _defineProperty2 = function () {
14
11
  return data;
15
12
  };
16
-
17
13
  return data;
18
14
  }
19
-
20
15
  function _bitError() {
21
16
  const data = require("@teambit/bit-error");
22
-
23
17
  _bitError = function () {
24
18
  return data;
25
19
  };
26
-
27
20
  return data;
28
21
  }
29
-
30
22
  function _chalk() {
31
23
  const data = _interopRequireDefault(require("chalk"));
32
-
33
24
  _chalk = function () {
34
25
  return data;
35
26
  };
36
-
37
27
  return data;
38
28
  }
39
-
40
29
  class InvalidConfigFile extends _bitError().BitError {
41
30
  constructor(path) {
42
31
  super(`error: invalid workspace.jsonc: ${_chalk().default.bold(path)} is not a valid JSON file.
@@ -45,9 +34,7 @@ consider running ${_chalk().default.bold('bit init --reset')} to recreate the fi
45
34
  (0, _defineProperty2().default)(this, "showDoctorMessage", void 0);
46
35
  this.showDoctorMessage = true;
47
36
  }
48
-
49
37
  }
50
-
51
38
  exports.default = InvalidConfigFile;
52
39
 
53
40
  //# sourceMappingURL=invalid-config-file.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["InvalidConfigFile","BitError","constructor","path","chalk","bold","showDoctorMessage"],"sources":["invalid-config-file.ts"],"sourcesContent":["import { BitError } from '@teambit/bit-error';\nimport chalk from 'chalk';\n\nexport default class InvalidConfigFile extends BitError {\n showDoctorMessage: boolean;\n constructor(readonly path: string) {\n super(`error: invalid workspace.jsonc: ${chalk.bold(path)} is not a valid JSON file.\nconsider running ${chalk.bold('bit init --reset')} to recreate the file`);\n this.showDoctorMessage = true;\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;AAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AAEe,MAAMA,iBAAN,SAAgCC,oBAAhC,CAAyC;EAEtDC,WAAW,CAAUC,IAAV,EAAwB;IACjC,MAAO,mCAAkCC,gBAAA,CAAMC,IAAN,CAAWF,IAAX,CAAiB;AAC9D,mBAAmBC,gBAAA,CAAMC,IAAN,CAAW,kBAAX,CAA+B,uBAD9C;IADiC,KAAdF,IAAc,GAAdA,IAAc;IAAA;IAGjC,KAAKG,iBAAL,GAAyB,IAAzB;EACD;;AANqD"}
1
+ {"version":3,"names":["InvalidConfigFile","BitError","constructor","path","chalk","bold","showDoctorMessage"],"sources":["invalid-config-file.ts"],"sourcesContent":["import { BitError } from '@teambit/bit-error';\nimport chalk from 'chalk';\n\nexport default class InvalidConfigFile extends BitError {\n showDoctorMessage: boolean;\n constructor(readonly path: string) {\n super(`error: invalid workspace.jsonc: ${chalk.bold(path)} is not a valid JSON file.\nconsider running ${chalk.bold('bit init --reset')} to recreate the file`);\n this.showDoctorMessage = true;\n }\n}\n"],"mappings":";;;;;;;;;;;;;;AAAA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AAEe,MAAMA,iBAAiB,SAASC,oBAAQ,CAAC;EAEtDC,WAAW,CAAUC,IAAY,EAAE;IACjC,KAAK,CAAE,mCAAkCC,gBAAK,CAACC,IAAI,CAACF,IAAI,CAAE;AAC9D,mBAAmBC,gBAAK,CAACC,IAAI,CAAC,kBAAkB,CAAE,uBAAsB,CAAC;IAAC,KAFnDF,IAAY,GAAZA,IAAY;IAAA;IAG/B,IAAI,CAACG,iBAAiB,GAAG,IAAI;EAC/B;AACF;AAAC"}
package/dist/index.js CHANGED
@@ -39,34 +39,25 @@ Object.defineProperty(exports, "stringifyWorkspaceConfig", {
39
39
  return _workspaceConfig().stringifyWorkspaceConfig;
40
40
  }
41
41
  });
42
-
43
42
  function _configMain() {
44
43
  const data = require("./config.main.runtime");
45
-
46
44
  _configMain = function () {
47
45
  return data;
48
46
  };
49
-
50
47
  return data;
51
48
  }
52
-
53
49
  function _config() {
54
50
  const data = require("./config.aspect");
55
-
56
51
  _config = function () {
57
52
  return data;
58
53
  };
59
-
60
54
  return data;
61
55
  }
62
-
63
56
  function _workspaceConfig() {
64
57
  const data = require("./workspace-config");
65
-
66
58
  _workspaceConfig = function () {
67
59
  return data;
68
60
  };
69
-
70
61
  return data;
71
62
  }
72
63
 
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["index.ts"],"sourcesContent":["export { ConfigMain } from './config.main.runtime';\nexport { ConfigAspect, ConfigRuntime } from './config.aspect';\nexport { ComponentScopeDirMap, getWorkspaceConfigTemplateParsed, stringifyWorkspaceConfig } from './workspace-config';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA"}
1
+ {"version":3,"names":[],"sources":["index.ts"],"sourcesContent":["export { ConfigMain } from './config.main.runtime';\nexport { ConfigAspect, ConfigRuntime } from './config.aspect';\nexport { ComponentScopeDirMap, getWorkspaceConfigTemplateParsed, stringifyWorkspaceConfig } from './workspace-config';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA"}
@@ -1,9 +1,7 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  require("core-js/modules/es.promise.js");
6
-
7
5
  Object.defineProperty(exports, "__esModule", {
8
6
  value: true
9
7
  });
@@ -11,177 +9,123 @@ exports.WorkspaceConfig = void 0;
11
9
  exports.getWorkspaceConfigTemplateParsed = getWorkspaceConfigTemplateParsed;
12
10
  exports.stringifyWorkspaceConfig = stringifyWorkspaceConfig;
13
11
  exports.transformLegacyPropsToExtensions = transformLegacyPropsToExtensions;
14
-
15
12
  function _defineProperty2() {
16
13
  const data = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
17
-
18
14
  _defineProperty2 = function () {
19
15
  return data;
20
16
  };
21
-
22
17
  return data;
23
18
  }
24
-
25
19
  function _analytics() {
26
20
  const data = require("@teambit/legacy/dist/analytics/analytics");
27
-
28
21
  _analytics = function () {
29
22
  return data;
30
23
  };
31
-
32
24
  return data;
33
25
  }
34
-
35
26
  function _constants() {
36
27
  const data = require("@teambit/legacy/dist/constants");
37
-
38
28
  _constants = function () {
39
29
  return data;
40
30
  };
41
-
42
31
  return data;
43
32
  }
44
-
45
33
  function _sources() {
46
34
  const data = require("@teambit/legacy/dist/consumer/component/sources");
47
-
48
35
  _sources = function () {
49
36
  return data;
50
37
  };
51
-
52
38
  return data;
53
39
  }
54
-
55
40
  function _dataToPersist() {
56
41
  const data = _interopRequireDefault(require("@teambit/legacy/dist/consumer/component/sources/data-to-persist"));
57
-
58
42
  _dataToPersist = function () {
59
43
  return data;
60
44
  };
61
-
62
45
  return data;
63
46
  }
64
-
65
47
  function _config() {
66
48
  const data = require("@teambit/legacy/dist/consumer/config");
67
-
68
49
  _config = function () {
69
50
  return data;
70
51
  };
71
-
72
52
  return data;
73
53
  }
74
-
75
54
  function _exceptions() {
76
55
  const data = require("@teambit/legacy/dist/consumer/config/exceptions");
77
-
78
56
  _exceptions = function () {
79
57
  return data;
80
58
  };
81
-
82
59
  return data;
83
60
  }
84
-
85
61
  function _workspaceConfig() {
86
62
  const data = _interopRequireDefault(require("@teambit/legacy/dist/consumer/config/workspace-config"));
87
-
88
63
  _workspaceConfig = function () {
89
64
  return data;
90
65
  };
91
-
92
66
  return data;
93
67
  }
94
-
95
68
  function _logger() {
96
69
  const data = _interopRequireDefault(require("@teambit/legacy/dist/logger/logger"));
97
-
98
70
  _logger = function () {
99
71
  return data;
100
72
  };
101
-
102
73
  return data;
103
74
  }
104
-
105
75
  function _commentJson() {
106
76
  const data = require("comment-json");
107
-
108
77
  _commentJson = function () {
109
78
  return data;
110
79
  };
111
-
112
80
  return data;
113
81
  }
114
-
115
82
  function fs() {
116
83
  const data = _interopRequireWildcard(require("fs-extra"));
117
-
118
84
  fs = function () {
119
85
  return data;
120
86
  };
121
-
122
87
  return data;
123
88
  }
124
-
125
89
  function path() {
126
90
  const data = _interopRequireWildcard(require("path"));
127
-
128
91
  path = function () {
129
92
  return data;
130
93
  };
131
-
132
94
  return data;
133
95
  }
134
-
135
96
  function _lodash() {
136
97
  const data = require("lodash");
137
-
138
98
  _lodash = function () {
139
99
  return data;
140
100
  };
141
-
142
101
  return data;
143
102
  }
144
-
145
103
  function _exceptions2() {
146
104
  const data = require("./exceptions");
147
-
148
105
  _exceptions2 = function () {
149
106
  return data;
150
107
  };
151
-
152
108
  return data;
153
109
  }
154
-
155
110
  function _configDirNotDefined() {
156
111
  const data = require("./exceptions/config-dir-not-defined");
157
-
158
112
  _configDirNotDefined = function () {
159
113
  return data;
160
114
  };
161
-
162
115
  return data;
163
116
  }
164
-
165
117
  function _invalidConfigFile() {
166
118
  const data = _interopRequireDefault(require("./exceptions/invalid-config-file"));
167
-
168
119
  _invalidConfigFile = function () {
169
120
  return data;
170
121
  };
171
-
172
122
  return data;
173
123
  }
174
-
175
124
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
176
-
177
125
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
178
-
179
126
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
180
-
181
127
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2().default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
182
-
183
128
  const INTERNAL_CONFIG_PROPS = ['$schema', '$schemaVersion'];
184
-
185
129
  class WorkspaceConfig {
186
130
  constructor(data, legacyConfig) {
187
131
  this.data = data;
@@ -193,42 +137,31 @@ class WorkspaceConfig {
193
137
  (0, _defineProperty2().default)(this, "isLegacy", void 0);
194
138
  this.isLegacy = Boolean(legacyConfig);
195
139
  const isHarmony = !this.isLegacy;
196
-
197
140
  _logger().default.debug(`workspace-config, isLegacy: ${this.isLegacy}`);
198
-
199
141
  _analytics().Analytics.setExtraData('is_harmony', isHarmony);
200
-
201
142
  this.raw = data;
202
143
  this.loadExtensions();
203
144
  }
204
-
205
145
  get path() {
206
146
  var _this$legacyConfig;
207
-
208
147
  return this._path || ((_this$legacyConfig = this.legacyConfig) === null || _this$legacyConfig === void 0 ? void 0 : _this$legacyConfig.path) || '';
209
148
  }
210
-
211
149
  set path(configPath) {
212
150
  this._path = configPath;
213
151
  }
214
-
215
152
  get extensions() {
216
153
  return this._extensions;
217
154
  }
218
-
219
155
  loadExtensions() {
220
156
  const withoutInternalConfig = (0, _lodash().omit)(this.raw, INTERNAL_CONFIG_PROPS);
221
157
  this._extensions = _config().ExtensionDataList.fromConfigObject(withoutInternalConfig);
222
158
  }
223
-
224
159
  extension(extensionId, ignoreVersion) {
225
160
  const existing = this.extensions.findExtension(extensionId, ignoreVersion);
226
161
  return existing === null || existing === void 0 ? void 0 : existing.config;
227
162
  }
228
-
229
163
  setExtension(extensionId, config, options) {
230
164
  const existing = this.extension(extensionId, options.ignoreVersion);
231
-
232
165
  if (existing) {
233
166
  if (options.mergeIntoExisting) {
234
167
  config = _objectSpread(_objectSpread({}, existing), config);
@@ -236,20 +169,18 @@ class WorkspaceConfig {
236
169
  throw new (_exceptions2().ExtensionAlreadyConfigured)(extensionId);
237
170
  }
238
171
  }
239
-
240
172
  this.raw[extensionId] = config;
241
173
  this.loadExtensions();
242
174
  }
243
-
244
175
  renameExtensionInRaw(oldExtId, newExtId) {
245
176
  if (this.raw[oldExtId]) {
246
177
  this.raw[newExtId] = this.raw[oldExtId];
247
178
  delete this.raw[oldExtId];
248
179
  return true;
249
180
  }
250
-
251
181
  return false;
252
182
  }
183
+
253
184
  /**
254
185
  * Create an instance of the WorkspaceConfig by an instance of the legacy config
255
186
  *
@@ -258,11 +189,10 @@ class WorkspaceConfig {
258
189
  * @returns
259
190
  * @memberof WorkspaceConfig
260
191
  */
261
-
262
-
263
192
  static fromLegacyConfig(legacyConfig) {
264
193
  return new WorkspaceConfig(undefined, legacyConfig);
265
194
  }
195
+
266
196
  /**
267
197
  * Create an instance of the WorkspaceConfig by data
268
198
  *
@@ -271,11 +201,10 @@ class WorkspaceConfig {
271
201
  * @returns
272
202
  * @memberof WorkspaceConfig
273
203
  */
274
-
275
-
276
204
  static fromObject(data) {
277
205
  return new WorkspaceConfig(data, undefined);
278
206
  }
207
+
279
208
  /**
280
209
  * Create an instance of the WorkspaceConfig by the workspace config template and override values
281
210
  *
@@ -284,21 +213,18 @@ class WorkspaceConfig {
284
213
  * @returns
285
214
  * @memberof WorkspaceConfig
286
215
  */
287
-
288
-
289
216
  static async create(props, dirPath) {
290
- const template = await getWorkspaceConfigTemplateParsed(); // TODO: replace this assign with some kind of deepAssign that keeps the comments
217
+ const template = await getWorkspaceConfigTemplateParsed();
218
+ // TODO: replace this assign with some kind of deepAssign that keeps the comments
291
219
  // right now the comments above the internal props are overrides after the assign
292
-
293
220
  const merged = (0, _commentJson().assign)(template, props);
294
221
  const instance = new WorkspaceConfig(merged, undefined);
295
-
296
222
  if (dirPath) {
297
223
  instance.path = WorkspaceConfig.composeWorkspaceJsoncPath(dirPath);
298
224
  }
299
-
300
225
  return instance;
301
226
  }
227
+
302
228
  /**
303
229
  * Ensure the given directory has a workspace config
304
230
  * Load if existing and create new if not
@@ -309,16 +235,12 @@ class WorkspaceConfig {
309
235
  * @returns {Promise<WorkspaceConfig>}
310
236
  * @memberof WorkspaceConfig
311
237
  */
312
-
313
-
314
238
  static async ensure(dirPath, workspaceConfigProps = {}) {
315
239
  try {
316
240
  let workspaceConfig = await this.loadIfExist(dirPath);
317
-
318
241
  if (workspaceConfig) {
319
242
  return workspaceConfig;
320
243
  }
321
-
322
244
  workspaceConfig = await this.create(workspaceConfigProps, dirPath);
323
245
  return workspaceConfig;
324
246
  } catch (err) {
@@ -326,10 +248,10 @@ class WorkspaceConfig {
326
248
  const workspaceConfig = this.create(workspaceConfigProps, dirPath);
327
249
  return workspaceConfig;
328
250
  }
329
-
330
251
  throw err;
331
252
  }
332
253
  }
254
+
333
255
  /**
334
256
  * A function that register to the legacy ensure function in order to transform old props structure
335
257
  * to the new one
@@ -337,24 +259,20 @@ class WorkspaceConfig {
337
259
  * @param standAlone
338
260
  * @param legacyWorkspaceConfigProps
339
261
  */
340
-
341
-
342
262
  static async onLegacyEnsure(dirPath, standAlone, legacyWorkspaceConfigProps = {}) {
343
- const newProps = transformLegacyPropsToExtensions(legacyWorkspaceConfigProps); // TODO: gilad move to constants file
344
-
263
+ const newProps = transformLegacyPropsToExtensions(legacyWorkspaceConfigProps);
264
+ // TODO: gilad move to constants file
345
265
  newProps.$schemaVersion = '1.0.0';
346
266
  return WorkspaceConfig.ensure(dirPath, newProps);
347
267
  }
348
-
349
268
  static async reset(dirPath, resetHard) {
350
269
  const workspaceJsoncPath = WorkspaceConfig.composeWorkspaceJsoncPath(dirPath);
351
-
352
270
  if (resetHard && workspaceJsoncPath) {
353
271
  _logger().default.info(`deleting the consumer workspace.jsonc file at ${workspaceJsoncPath}`);
354
-
355
272
  await fs().remove(workspaceJsoncPath);
356
273
  }
357
274
  }
275
+
358
276
  /**
359
277
  * Get the path of the bit.jsonc file by a containing folder
360
278
  *
@@ -363,31 +281,26 @@ class WorkspaceConfig {
363
281
  * @returns {PathOsBased}
364
282
  * @memberof WorkspaceConfig
365
283
  */
366
-
367
-
368
284
  static composeWorkspaceJsoncPath(dirPath) {
369
285
  return path().join(dirPath, _constants().WORKSPACE_JSONC);
370
286
  }
371
-
372
287
  static async pathHasWorkspaceJsonc(dirPath) {
373
288
  const isExist = await fs().pathExists(WorkspaceConfig.composeWorkspaceJsoncPath(dirPath));
374
289
  return isExist;
375
290
  }
291
+
376
292
  /**
377
293
  * Check if the given dir has workspace config (new or legacy)
378
294
  * @param dirPath
379
295
  */
380
-
381
-
382
296
  static async isExist(dirPath) {
383
297
  const jsoncExist = await WorkspaceConfig.pathHasWorkspaceJsonc(dirPath);
384
-
385
298
  if (jsoncExist) {
386
299
  return true;
387
300
  }
388
-
389
301
  return _workspaceConfig().default._isExist(dirPath);
390
302
  }
303
+
391
304
  /**
392
305
  * Load the workspace configuration if it's exist
393
306
  *
@@ -396,72 +309,55 @@ class WorkspaceConfig {
396
309
  * @returns {(Promise<WorkspaceConfig | undefined>)}
397
310
  * @memberof WorkspaceConfig
398
311
  */
399
-
400
-
401
312
  static async loadIfExist(dirPath) {
402
313
  const jsoncExist = await WorkspaceConfig.pathHasWorkspaceJsonc(dirPath);
403
-
404
314
  if (jsoncExist) {
405
315
  const jsoncPath = WorkspaceConfig.composeWorkspaceJsoncPath(dirPath);
406
316
  const instance = await WorkspaceConfig._loadFromWorkspaceJsonc(jsoncPath);
407
317
  instance.path = jsoncPath;
408
318
  return instance;
409
319
  }
410
-
411
320
  const legacyConfig = await _workspaceConfig().default._loadIfExist(dirPath);
412
-
413
321
  if (legacyConfig) {
414
322
  return WorkspaceConfig.fromLegacyConfig(legacyConfig);
415
323
  }
416
-
417
324
  return undefined;
418
325
  }
419
-
420
326
  static async _loadFromWorkspaceJsonc(workspaceJsoncPath) {
421
327
  const contentBuffer = await fs().readFile(workspaceJsoncPath);
422
328
  let parsed;
423
-
424
329
  try {
425
330
  parsed = (0, _commentJson().parse)(contentBuffer.toString());
426
331
  } catch (e) {
427
332
  throw new (_invalidConfigFile().default)(workspaceJsoncPath);
428
333
  }
429
-
430
334
  return WorkspaceConfig.fromObject(parsed);
431
335
  }
432
-
433
336
  async write({
434
337
  dir
435
338
  } = {}) {
436
339
  var _this$legacyConfig2;
437
-
438
340
  const getCalculatedDir = () => {
439
341
  if (dir) return dir;
440
342
  if (this._path) return path().dirname(this._path);
441
343
  throw new (_configDirNotDefined().ConfigDirNotDefined)();
442
344
  };
443
-
444
345
  const calculatedDir = getCalculatedDir();
445
-
446
346
  if (this.data) {
447
347
  const files = await this.toVinyl(calculatedDir);
448
348
  const dataToPersist = new (_dataToPersist().default)();
449
-
450
349
  if (files) {
451
350
  dataToPersist.addManyFiles(files);
452
351
  return dataToPersist.persistAllToFS();
453
352
  }
454
353
  }
455
-
456
354
  await ((_this$legacyConfig2 = this.legacyConfig) === null || _this$legacyConfig2 === void 0 ? void 0 : _this$legacyConfig2.write({
457
355
  workspaceDir: calculatedDir
458
356
  }));
459
357
  return undefined;
460
358
  }
461
-
462
359
  async toVinyl(workspaceDir) {
463
360
  var _this$legacyConfig3;
464
-
465
361
  if (this.data) {
466
362
  const jsonStr = (0, _commentJson().stringify)(this.data, undefined, 2);
467
363
  const base = workspaceDir;
@@ -473,29 +369,22 @@ class WorkspaceConfig {
473
369
  });
474
370
  return [jsonFile];
475
371
  }
476
-
477
372
  return (_this$legacyConfig3 = this.legacyConfig) === null || _this$legacyConfig3 === void 0 ? void 0 : _this$legacyConfig3.toVinyl({
478
373
  workspaceDir
479
374
  });
480
375
  }
481
-
482
376
  _legacyPlainObject() {
483
377
  if (this.legacyConfig) {
484
378
  return this.legacyConfig.toPlainObject();
485
379
  }
486
-
487
380
  return undefined;
488
381
  }
489
-
490
382
  toLegacy() {
491
383
  var _this$extension, _this$legacyConfig4, _this$extension2, _this$extension3, _this$extension4, _this$extension5, _this$_legacyProps, _this$_legacyProps2, _this$_legacyProps3, _this$extension6, _this$extension7, _this$legacyConfig5, _this$legacyConfig6, _this$legacyConfig7, _this$legacyConfig8;
492
-
493
384
  let componentsDefaultDirectory = (_this$extension = this.extension('teambit.workspace/workspace', true)) === null || _this$extension === void 0 ? void 0 : _this$extension.defaultDirectory;
494
-
495
385
  if (componentsDefaultDirectory && !componentsDefaultDirectory.includes('{name}')) {
496
386
  componentsDefaultDirectory = `${componentsDefaultDirectory}/{name}`;
497
387
  }
498
-
499
388
  return {
500
389
  lang: ((_this$legacyConfig4 = this.legacyConfig) === null || _this$legacyConfig4 === void 0 ? void 0 : _this$legacyConfig4.lang) || _constants().DEFAULT_LANGUAGE,
501
390
  defaultScope: (_this$extension2 = this.extension('teambit.workspace/workspace', true)) === null || _this$extension2 === void 0 ? void 0 : _this$extension2.defaultScope,
@@ -524,14 +413,10 @@ class WorkspaceConfig {
524
413
  _legacyPlainObject: this.legacyConfig ? (_this$legacyConfig8 = this.legacyConfig) === null || _this$legacyConfig8 === void 0 ? void 0 : _this$legacyConfig8.toPlainObject.bind(this.legacyConfig) : () => undefined
525
414
  };
526
415
  }
527
-
528
416
  }
529
-
530
417
  exports.WorkspaceConfig = WorkspaceConfig;
531
-
532
418
  function transformLegacyPropsToExtensions(legacyConfig) {
533
419
  var _legacyConfig$overrid;
534
-
535
420
  // TODO: move to utils
536
421
  const removeUndefined = obj => {
537
422
  // const res = omit(mapObjIndexed((val) => val === undefined))(obj);
@@ -541,7 +426,6 @@ function transformLegacyPropsToExtensions(legacyConfig) {
541
426
  });
542
427
  return obj;
543
428
  };
544
-
545
429
  const workspace = removeUndefined({
546
430
  defaultScope: legacyConfig.defaultScope,
547
431
  defaultDirectory: legacyConfig.componentsDefaultDirectory,
@@ -557,40 +441,32 @@ function transformLegacyPropsToExtensions(legacyConfig) {
557
441
  });
558
442
  const variants = (_legacyConfig$overrid = legacyConfig.overrides) === null || _legacyConfig$overrid === void 0 ? void 0 : _legacyConfig$overrid.overrides;
559
443
  const data = {};
560
-
561
444
  if (workspace && !(0, _lodash().isEmpty)(workspace)) {
562
445
  data['teambit.workspace/workspace'] = workspace;
563
446
  }
564
-
565
447
  if (dependencyResolver && !(0, _lodash().isEmpty)(dependencyResolver)) {
566
448
  data['teambit.dependencies/dependency-resolver'] = dependencyResolver;
567
- } // TODO: add variants here once we have a way to pass the deps overrides and general key vals for package.json to
449
+ }
450
+ // TODO: add variants here once we have a way to pass the deps overrides and general key vals for package.json to
568
451
  // TODO: new extensions (via dependency-resolver extension and pkg extensions)
569
452
  // TODO: transform legacy props to new one once dependency-resolver extension and pkg extensions are ready
570
-
571
-
572
453
  if (variants && !(0, _lodash().isEmpty)(variants)) {
573
454
  data['teambit.workspace/variants'] = variants;
574
- } // @ts-ignore
575
-
576
-
455
+ }
456
+ // @ts-ignore
577
457
  return data;
578
458
  }
579
-
580
459
  async function getWorkspaceConfigTemplateParsed() {
581
460
  let fileContent;
582
-
583
461
  try {
584
462
  fileContent = await fs().readFile(path().join(__dirname, 'workspace-template.jsonc'));
585
463
  } catch (err) {
586
- if (err.code !== 'ENOENT') throw err; // when the extension is compiled by tsc, it doesn't copy .jsonc files into the dists, grab it from src
587
-
464
+ if (err.code !== 'ENOENT') throw err;
465
+ // when the extension is compiled by tsc, it doesn't copy .jsonc files into the dists, grab it from src
588
466
  fileContent = await fs().readFile(path().join(__dirname, '..', 'workspace-template.jsonc'));
589
467
  }
590
-
591
468
  return (0, _commentJson().parse)(fileContent.toString());
592
469
  }
593
-
594
470
  function stringifyWorkspaceConfig(workspaceConfig) {
595
471
  return (0, _commentJson().stringify)(workspaceConfig, undefined, 2);
596
472
  }
@@ -1 +1 @@
1
- {"version":3,"names":["INTERNAL_CONFIG_PROPS","WorkspaceConfig","constructor","data","legacyConfig","isLegacy","Boolean","isHarmony","logger","debug","Analytics","setExtraData","raw","loadExtensions","path","_path","configPath","extensions","_extensions","withoutInternalConfig","omit","ExtensionDataList","fromConfigObject","extension","extensionId","ignoreVersion","existing","findExtension","config","setExtension","options","mergeIntoExisting","overrideExisting","ExtensionAlreadyConfigured","renameExtensionInRaw","oldExtId","newExtId","fromLegacyConfig","undefined","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","info","fs","remove","join","WORKSPACE_JSONC","pathHasWorkspaceJsonc","isExist","pathExists","jsoncExist","LegacyWorkspaceConfig","_isExist","jsoncPath","_loadFromWorkspaceJsonc","_loadIfExist","contentBuffer","readFile","parsed","parse","toString","e","write","dir","getCalculatedDir","dirname","ConfigDirNotDefined","calculatedDir","files","toVinyl","dataToPersist","DataToPersist","addManyFiles","persistAllToFS","workspaceDir","jsonStr","stringify","base","fullPath","jsonFile","AbstractVinyl","contents","Buffer","from","_legacyPlainObject","toPlainObject","toLegacy","componentsDefaultDirectory","defaultDirectory","includes","lang","DEFAULT_LANGUAGE","defaultScope","_useWorkspaces","useWorkspaces","dependencyResolver","packageManager","_bindingPrefix","defaultOwner","_saveDependenciesAsComponents","_legacyProps","saveDependenciesAsComponents","_dependenciesDirectory","dependenciesDirectory","_resolveModules","resolveModules","_manageWorkspaces","manageWorkspaces","toConfigObject","call","bind","componentsConfig","overrides","getComponentConfig","getOverrideComponentData","removeUndefined","obj","Object","entries","forEach","workspace","bindingPrefix","extraArgs","packageManagerArgs","packageManagerProcessOptions","variants","isEmpty","fileContent","__dirname","code","stringifyWorkspaceConfig"],"sources":["workspace-config.ts"],"sourcesContent":["import { Analytics } from '@teambit/legacy/dist/analytics/analytics';\nimport { DEFAULT_LANGUAGE, WORKSPACE_JSONC } from '@teambit/legacy/dist/constants';\nimport { ResolveModulesConfig } from '@teambit/legacy/dist/consumer/component/dependencies/files-dependency-builder/types/dependency-tree-type';\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 resolveModules?: ResolveModulesConfig;\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 const isHarmony = !this.isLegacy;\n logger.debug(`workspace-config, isLegacy: ${this.isLegacy}`);\n Analytics.setExtraData('is_harmony', isHarmony);\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 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 _resolveModules: this._legacyProps?.resolveModules,\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":["INTERNAL_CONFIG_PROPS","WorkspaceConfig","constructor","data","legacyConfig","isLegacy","Boolean","isHarmony","logger","debug","Analytics","setExtraData","raw","loadExtensions","path","_path","configPath","extensions","_extensions","withoutInternalConfig","omit","ExtensionDataList","fromConfigObject","extension","extensionId","ignoreVersion","existing","findExtension","config","setExtension","options","mergeIntoExisting","overrideExisting","ExtensionAlreadyConfigured","renameExtensionInRaw","oldExtId","newExtId","fromLegacyConfig","undefined","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","info","fs","remove","join","WORKSPACE_JSONC","pathHasWorkspaceJsonc","isExist","pathExists","jsoncExist","LegacyWorkspaceConfig","_isExist","jsoncPath","_loadFromWorkspaceJsonc","_loadIfExist","contentBuffer","readFile","parsed","parse","toString","e","write","dir","getCalculatedDir","dirname","ConfigDirNotDefined","calculatedDir","files","toVinyl","dataToPersist","DataToPersist","addManyFiles","persistAllToFS","workspaceDir","jsonStr","stringify","base","fullPath","jsonFile","AbstractVinyl","contents","Buffer","from","_legacyPlainObject","toPlainObject","toLegacy","componentsDefaultDirectory","defaultDirectory","includes","lang","DEFAULT_LANGUAGE","defaultScope","_useWorkspaces","useWorkspaces","dependencyResolver","packageManager","_bindingPrefix","defaultOwner","_saveDependenciesAsComponents","_legacyProps","saveDependenciesAsComponents","_dependenciesDirectory","dependenciesDirectory","_resolveModules","resolveModules","_manageWorkspaces","manageWorkspaces","toConfigObject","call","bind","componentsConfig","overrides","getComponentConfig","getOverrideComponentData","removeUndefined","obj","Object","entries","forEach","workspace","bindingPrefix","extraArgs","packageManagerArgs","packageManagerProcessOptions","variants","isEmpty","fileContent","__dirname","code","stringifyWorkspaceConfig"],"sources":["workspace-config.ts"],"sourcesContent":["import { Analytics } from '@teambit/legacy/dist/analytics/analytics';\nimport { DEFAULT_LANGUAGE, WORKSPACE_JSONC } from '@teambit/legacy/dist/constants';\nimport { ResolveModulesConfig } from '@teambit/legacy/dist/consumer/component/dependencies/files-dependency-builder/types/dependency-tree-type';\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 resolveModules?: ResolveModulesConfig;\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 const isHarmony = !this.isLegacy;\n logger.debug(`workspace-config, isLegacy: ${this.isLegacy}`);\n Analytics.setExtraData('is_harmony', isHarmony);\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 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 _resolveModules: this._legacyProps?.resolveModules,\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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"}
package/package.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@teambit/config",
3
- "version": "0.0.604",
3
+ "version": "0.0.606",
4
4
  "homepage": "https://bit.dev/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.604"
9
+ "version": "0.0.606"
10
10
  },
11
11
  "dependencies": {
12
12
  "comment-json": "3.0.3",
@@ -16,7 +16,7 @@
16
16
  "@babel/runtime": "7.12.18",
17
17
  "core-js": "^3.0.0",
18
18
  "@teambit/harmony": "0.3.3",
19
- "@teambit/cli": "0.0.591",
19
+ "@teambit/cli": "0.0.593",
20
20
  "@teambit/bit-error": "0.0.400"
21
21
  },
22
22
  "devDependencies": {
@@ -30,7 +30,7 @@
30
30
  "@types/node": "12.20.4"
31
31
  },
32
32
  "peerDependencies": {
33
- "@teambit/legacy": "1.0.374",
33
+ "@teambit/legacy": "1.0.376",
34
34
  "react-dom": "^16.8.0 || ^17.0.0",
35
35
  "react": "^16.8.0 || ^17.0.0"
36
36
  },