@teambit/config 0.0.520 → 0.0.523

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.
@@ -2,7 +2,7 @@ import { ExtensionDataEntry, ExtensionDataList } from '@teambit/legacy/dist/cons
2
2
  import { PathOsBased, PathOsBasedAbsolute } from '@teambit/legacy/dist/utils/path';
3
3
  import { CLIMain } from '@teambit/cli';
4
4
  import { SlotRegistry, GlobalConfig } from '@teambit/harmony';
5
- import { LegacyInitProps, WorkspaceConfig, WorkspaceConfigFileProps } from './workspace-config';
5
+ import { WorkspaceConfig, WorkspaceConfigFileProps } from './workspace-config';
6
6
  import { ConfigType, HostConfig } from './types';
7
7
  export declare type SetExtensionOptions = {
8
8
  overrideExisting?: boolean;
@@ -34,7 +34,7 @@ export declare class ConfigMain {
34
34
  * @returns {Promise<WorkspaceConfig>}
35
35
  * @memberof WorkspaceConfig
36
36
  */
37
- static ensureWorkspace(dirPath: PathOsBasedAbsolute, workspaceConfigProps?: WorkspaceConfigFileProps, legacyInitProps?: LegacyInitProps): Promise<ConfigMain>;
37
+ static ensureWorkspace(dirPath: PathOsBasedAbsolute, workspaceConfigProps?: WorkspaceConfigFileProps): Promise<ConfigMain>;
38
38
  get extensions(): ExtensionDataList | undefined;
39
39
  extension(extensionId: string, ignoreVersion: boolean): ExtensionDataEntry | undefined;
40
40
  setExtension(extensionId: string, config: Record<string, any>, options: SetExtensionOptions): void;
@@ -141,8 +141,8 @@ class ConfigMain {
141
141
  */
142
142
 
143
143
 
144
- static async ensureWorkspace(dirPath, workspaceConfigProps = {}, legacyInitProps) {
145
- const workspaceConfig = await _workspaceConfig2().WorkspaceConfig.ensure(dirPath, workspaceConfigProps, legacyInitProps);
144
+ static async ensureWorkspace(dirPath, workspaceConfigProps = {}) {
145
+ const workspaceConfig = await _workspaceConfig2().WorkspaceConfig.ensure(dirPath, workspaceConfigProps);
146
146
  return new ConfigMain(workspaceConfig);
147
147
  }
148
148
 
@@ -237,17 +237,14 @@ function onLegacyWorkspaceLoad(config) {
237
237
  }
238
238
 
239
239
  function onLegacyWorkspaceEnsure() {
240
- const func = async (dirPath, standAlone = false, legacyWorkspaceConfigProps) => {
240
+ const func = async (dirPath, standAlone, legacyWorkspaceConfigProps) => {
241
241
  let workspaceConfigProps;
242
242
 
243
243
  if (legacyWorkspaceConfigProps) {
244
244
  workspaceConfigProps = (0, _workspaceConfig2().transformLegacyPropsToExtensions)(legacyWorkspaceConfigProps);
245
245
  }
246
246
 
247
- const legacyInitProps = {
248
- standAlone
249
- };
250
- const config = await ConfigMain.ensureWorkspace(dirPath, workspaceConfigProps, legacyInitProps);
247
+ const config = await ConfigMain.ensureWorkspace(dirPath, workspaceConfigProps);
251
248
  const workspaceConfig = config.config;
252
249
  return workspaceConfig.toLegacy();
253
250
  };
@@ -1 +1 @@
1
- {"version":3,"names":["ConfigMain","constructor","workspaceConfig","scopeConfig","preAddingAspectsSlot","type","path","config","ensureWorkspace","dirPath","workspaceConfigProps","legacyInitProps","WorkspaceConfig","ensure","extensions","extension","extensionId","ignoreVersion","setExtension","options","getHarmonyConfigObject","forEach","stringId","registerPreAddingAspectsSlot","func","register","provider","cli","LegacyWorkspaceConfig","registerOnWorkspaceConfigIsExist","onLegacyWorkspaceConfigIsExist","registerOnWorkspaceConfigEnsuring","onLegacyWorkspaceEnsure","consumerInfo","getConsumerInfo","process","cwd","configMain","configDirPath","loadIfExist","undefined","registerOnWorkspaceConfigLoading","onLegacyWorkspaceLoad","registerOnWorkspaceConfigReset","resetHard","reset","UseCmd","MainRuntime","Slot","withType","CLIAspect","ConfigAspect","addRuntime","isExist","normalize","dirname","toLegacy","newConfig","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, CLIMain } from '@teambit/cli';\nimport { Slot, SlotRegistry, GlobalConfig } from '@teambit/harmony';\nimport path from 'path';\nimport { UseCmd } from './use.cmd';\nimport {\n LegacyInitProps,\n transformLegacyPropsToExtensions,\n WorkspaceConfig,\n WorkspaceConfigFileProps,\n} 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\n/**\n * pass the aspectIds entered by the user. returns the complete ids including versions.\n */\nexport type PreAddingAspects = (aspectIds: string[]) => Promise<string[]>;\nexport type PreAddingAspectsSlot = SlotRegistry<PreAddingAspects>;\n\nexport class ConfigMain {\n constructor(\n public workspaceConfig?: WorkspaceConfig,\n public scopeConfig?: WorkspaceConfig,\n public preAddingAspectsSlot?: PreAddingAspectsSlot\n ) {}\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 legacyInitProps?: LegacyInitProps\n ): Promise<ConfigMain> {\n const workspaceConfig = await WorkspaceConfig.ensure(dirPath, workspaceConfigProps, legacyInitProps);\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 registerPreAddingAspectsSlot(func: PreAddingAspects) {\n this.preAddingAspectsSlot?.register(func);\n }\n\n static runtime = MainRuntime;\n static slots = [Slot.withType<PreAddingAspects>()];\n static dependencies = [CLIAspect];\n static config = {};\n static async provider([cli]: [CLIMain], config: any, [preAddingAspectsSlot]: [PreAddingAspectsSlot]) {\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, preAddingAspectsSlot);\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 cli.register(new UseCmd(configMain));\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 = false,\n legacyWorkspaceConfigProps?: LegacyWorkspaceConfigProps\n ) => {\n let workspaceConfigProps;\n if (legacyWorkspaceConfigProps) {\n workspaceConfigProps = transformLegacyPropsToExtensions(legacyWorkspaceConfigProps);\n }\n const legacyInitProps: LegacyInitProps = {\n standAlone,\n };\n const config = await ConfigMain.ensureWorkspace(dirPath, workspaceConfigProps, legacyInitProps);\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","preAddingAspectsSlot","type","path","config","ensureWorkspace","dirPath","workspaceConfigProps","WorkspaceConfig","ensure","extensions","extension","extensionId","ignoreVersion","setExtension","options","getHarmonyConfigObject","forEach","stringId","registerPreAddingAspectsSlot","func","register","provider","cli","LegacyWorkspaceConfig","registerOnWorkspaceConfigIsExist","onLegacyWorkspaceConfigIsExist","registerOnWorkspaceConfigEnsuring","onLegacyWorkspaceEnsure","consumerInfo","getConsumerInfo","process","cwd","configMain","configDirPath","loadIfExist","undefined","registerOnWorkspaceConfigLoading","onLegacyWorkspaceLoad","registerOnWorkspaceConfigReset","resetHard","reset","UseCmd","MainRuntime","Slot","withType","CLIAspect","ConfigAspect","addRuntime","isExist","normalize","dirname","toLegacy","newConfig","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, CLIMain } from '@teambit/cli';\nimport { Slot, SlotRegistry, GlobalConfig } from '@teambit/harmony';\nimport path from 'path';\nimport { UseCmd } from './use.cmd';\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\n/**\n * pass the aspectIds entered by the user. returns the complete ids including versions.\n */\nexport type PreAddingAspects = (aspectIds: string[]) => Promise<string[]>;\nexport type PreAddingAspectsSlot = SlotRegistry<PreAddingAspects>;\n\nexport class ConfigMain {\n constructor(\n public workspaceConfig?: WorkspaceConfig,\n public scopeConfig?: WorkspaceConfig,\n public preAddingAspectsSlot?: PreAddingAspectsSlot\n ) {}\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 registerPreAddingAspectsSlot(func: PreAddingAspects) {\n this.preAddingAspectsSlot?.register(func);\n }\n\n static runtime = MainRuntime;\n static slots = [Slot.withType<PreAddingAspects>()];\n static dependencies = [CLIAspect];\n static config = {};\n static async provider([cli]: [CLIMain], config: any, [preAddingAspectsSlot]: [PreAddingAspectsSlot]) {\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, preAddingAspectsSlot);\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 cli.register(new UseCmd(configMain));\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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"}
@@ -87,7 +87,7 @@ export declare class WorkspaceConfig implements HostConfig {
87
87
  * @returns
88
88
  * @memberof WorkspaceConfig
89
89
  */
90
- static create(props: WorkspaceConfigFileProps, dirPath?: PathOsBasedAbsolute, legacyInitProps?: LegacyInitProps): Promise<WorkspaceConfig>;
90
+ static create(props: WorkspaceConfigFileProps, dirPath?: PathOsBasedAbsolute): Promise<WorkspaceConfig>;
91
91
  /**
92
92
  * Ensure the given directory has a workspace config
93
93
  * Load if existing and create new if not
@@ -98,7 +98,7 @@ export declare class WorkspaceConfig implements HostConfig {
98
98
  * @returns {Promise<WorkspaceConfig>}
99
99
  * @memberof WorkspaceConfig
100
100
  */
101
- static ensure(dirPath: PathOsBasedAbsolute, workspaceConfigProps?: WorkspaceConfigFileProps, legacyInitProps?: LegacyInitProps): Promise<WorkspaceConfig>;
101
+ static ensure(dirPath: PathOsBasedAbsolute, workspaceConfigProps?: WorkspaceConfigFileProps): Promise<WorkspaceConfig>;
102
102
  /**
103
103
  * A function that register to the legacy ensure function in order to transform old props structure
104
104
  * to the new one
@@ -32,16 +32,6 @@ function _analytics() {
32
32
  return data;
33
33
  }
34
34
 
35
- function _featureToggle() {
36
- const data = require("@teambit/legacy/dist/api/consumer/lib/feature-toggle");
37
-
38
- _featureToggle = function () {
39
- return data;
40
- };
41
-
42
- return data;
43
- }
44
-
45
35
  function _constants() {
46
36
  const data = require("@teambit/legacy/dist/constants");
47
37
 
@@ -201,7 +191,7 @@ class WorkspaceConfig {
201
191
  (0, _defineProperty2().default)(this, "_extensions", void 0);
202
192
  (0, _defineProperty2().default)(this, "_legacyProps", void 0);
203
193
  (0, _defineProperty2().default)(this, "isLegacy", void 0);
204
- this.isLegacy = Boolean((0, _featureToggle().isLegacyEnabled)() || legacyConfig);
194
+ this.isLegacy = Boolean(legacyConfig);
205
195
  const isHarmony = !this.isLegacy;
206
196
 
207
197
  _logger().default.debug(`workspace-config, isLegacy: ${this.isLegacy}`);
@@ -302,28 +292,7 @@ class WorkspaceConfig {
302
292
  */
303
293
 
304
294
 
305
- static async create(props, dirPath, legacyInitProps) {
306
- if ((0, _featureToggle().isLegacyEnabled)() && dirPath) {
307
- var _legacyInitProps$stan;
308
-
309
- if (!dirPath) throw new Error('workspace-config, dirPath is missing'); // Only support here what needed for e2e tests
310
-
311
- const legacyProps = {};
312
-
313
- if (props['teambit.dependencies/dependency-resolver']) {
314
- legacyProps.packageManager = props['teambit.dependencies/dependency-resolver'].packageManager;
315
- }
316
-
317
- if (props['teambit.workspace/workspace']) {
318
- legacyProps.componentsDefaultDirectory = props['teambit.workspace/workspace'].defaultDirectory;
319
- }
320
-
321
- const standAlone = (_legacyInitProps$stan = legacyInitProps === null || legacyInitProps === void 0 ? void 0 : legacyInitProps.standAlone) !== null && _legacyInitProps$stan !== void 0 ? _legacyInitProps$stan : false;
322
- const legacyConfig = await _workspaceConfig().default._ensure(dirPath, standAlone, legacyProps);
323
- const instance = WorkspaceConfig.fromLegacyConfig(legacyConfig);
324
- return instance;
325
- }
326
-
295
+ static async create(props, dirPath) {
327
296
  const template = await getWorkspaceConfigTemplateParsed(); // TODO: replace this assign with some kind of deepAssign that keeps the comments
328
297
  // right now the comments above the internal props are overrides after the assign
329
298
 
@@ -348,7 +317,7 @@ class WorkspaceConfig {
348
317
  */
349
318
 
350
319
 
351
- static async ensure(dirPath, workspaceConfigProps = {}, legacyInitProps) {
320
+ static async ensure(dirPath, workspaceConfigProps = {}) {
352
321
  try {
353
322
  let workspaceConfig = await this.loadIfExist(dirPath);
354
323
 
@@ -356,7 +325,7 @@ class WorkspaceConfig {
356
325
  return workspaceConfig;
357
326
  }
358
327
 
359
- workspaceConfig = await this.create(workspaceConfigProps, dirPath, legacyInitProps);
328
+ workspaceConfig = await this.create(workspaceConfigProps, dirPath);
360
329
  return workspaceConfig;
361
330
  } catch (err) {
362
331
  if (err instanceof _exceptions().InvalidBitJson || err instanceof _invalidConfigFile().default) {
@@ -380,9 +349,7 @@ class WorkspaceConfig {
380
349
  const newProps = transformLegacyPropsToExtensions(legacyWorkspaceConfigProps); // TODO: gilad move to constants file
381
350
 
382
351
  newProps.$schemaVersion = '1.0.0';
383
- return WorkspaceConfig.ensure(dirPath, newProps, {
384
- standAlone
385
- });
352
+ return WorkspaceConfig.ensure(dirPath, newProps);
386
353
  }
387
354
 
388
355
  static async reset(dirPath, resetHard) {
@@ -1 +1 @@
1
- {"version":3,"names":["INTERNAL_CONFIG_PROPS","WorkspaceConfig","constructor","data","legacyConfig","isLegacy","Boolean","isLegacyEnabled","isHarmony","logger","debug","Analytics","setExtraData","raw","loadExtensions","_extensions","ExtensionDataList","fromConfigObject","transformLegacyPropsToExtensions","_legacyProps","dependenciesDirectory","resolveModules","saveDependenciesAsComponents","distEntry","distTarget","path","_path","configPath","extensions","withoutInternalConfig","omit","extension","extensionId","ignoreVersion","existing","findExtension","config","setExtension","options","mergeIntoExisting","overrideExisting","ExtensionAlreadyConfigured","fromLegacyConfig","undefined","fromObject","create","props","dirPath","legacyInitProps","Error","legacyProps","packageManager","componentsDefaultDirectory","defaultDirectory","standAlone","LegacyWorkspaceConfig","_ensure","instance","template","getWorkspaceConfigTemplateParsed","merged","assign","composeWorkspaceJsoncPath","ensure","workspaceConfigProps","workspaceConfig","loadIfExist","err","InvalidBitJson","InvalidConfigFile","onLegacyEnsure","legacyWorkspaceConfigProps","newProps","$schemaVersion","reset","resetHard","workspaceJsoncPath","info","fs","remove","join","WORKSPACE_JSONC","pathHasWorkspaceJsonc","isExist","pathExists","jsoncExist","_isExist","jsoncPath","_loadFromWorkspaceJsonc","_loadIfExist","contentBuffer","readFile","parsed","parse","toString","e","write","dir","calculatedDir","ConfigDirNotDefined","files","toVinyl","dataToPersist","DataToPersist","addManyFiles","persistAllToFS","workspaceDir","jsonStr","stringify","base","fullPath","jsonFile","AbstractVinyl","contents","Buffer","from","_legacyPlainObject","toPlainObject","toLegacy","_setCompiler","compiler","setCompiler","_setTester","tester","setTester","_getEnvsByType","type","COMPILER_ENV_TYPE","includes","lang","DEFAULT_LANGUAGE","defaultScope","_useWorkspaces","useWorkspaces","dependencyResolver","_bindingPrefix","defaultOwner","_distEntry","_distTarget","_saveDependenciesAsComponents","_dependenciesDirectory","_resolveModules","_manageWorkspaces","manageWorkspaces","toConfigObject","call","bind","componentsConfig","overrides","getComponentConfig","getOverrideComponentData","_compiler","_tester","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 { isLegacyEnabled } from '@teambit/legacy/dist/api/consumer/lib/feature-toggle';\nimport { COMPILER_ENV_TYPE, 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 { Compilers, Testers } from '@teambit/legacy/dist/consumer/config/abstract-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 { EnvType } from '@teambit/legacy/dist/legacy-extensions/env-extension-types';\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 distEntry?: string;\n distTarget?: string;\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(isLegacyEnabled() || legacyConfig);\n const isHarmony = !this.isLegacy;\n logger.debug(`workspace-config, isLegacy: ${this.isLegacy}`);\n Analytics.setExtraData('is_harmony', isHarmony);\n if (isHarmony) {\n this.raw = data;\n this.loadExtensions();\n } else {\n // We know we have either data or legacy config\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n this._extensions = ExtensionDataList.fromConfigObject(transformLegacyPropsToExtensions(legacyConfig!));\n if (legacyConfig) {\n this._legacyProps = {\n dependenciesDirectory: legacyConfig.dependenciesDirectory,\n resolveModules: legacyConfig.resolveModules,\n saveDependenciesAsComponents: legacyConfig.saveDependenciesAsComponents,\n distEntry: legacyConfig.distEntry,\n distTarget: legacyConfig.distTarget,\n };\n }\n }\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 /**\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(\n props: WorkspaceConfigFileProps,\n dirPath?: PathOsBasedAbsolute,\n legacyInitProps?: LegacyInitProps\n ) {\n if (isLegacyEnabled() && dirPath) {\n if (!dirPath) throw new Error('workspace-config, dirPath is missing');\n // Only support here what needed for e2e tests\n const legacyProps: LegacyWorkspaceConfigProps = {};\n if (props['teambit.dependencies/dependency-resolver']) {\n legacyProps.packageManager = props['teambit.dependencies/dependency-resolver'].packageManager;\n }\n if (props['teambit.workspace/workspace']) {\n legacyProps.componentsDefaultDirectory = props['teambit.workspace/workspace'].defaultDirectory;\n }\n\n const standAlone = legacyInitProps?.standAlone ?? false;\n const legacyConfig = await LegacyWorkspaceConfig._ensure(dirPath, standAlone, legacyProps);\n const instance = WorkspaceConfig.fromLegacyConfig(legacyConfig);\n return instance;\n }\n\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 legacyInitProps?: LegacyInitProps\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, legacyInitProps);\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, { standAlone });\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 calculatedDir = dir || this._path;\n if (!calculatedDir) {\n throw new ConfigDirNotDefined();\n }\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 const _setCompiler = (compiler) => {\n if (this.legacyConfig) {\n this.legacyConfig.setCompiler(compiler);\n }\n };\n\n const _setTester = (tester) => {\n if (this.legacyConfig) {\n this.legacyConfig.setTester(tester);\n }\n };\n\n const _getEnvsByType = (type: EnvType): Compilers | Testers | undefined => {\n if (type === COMPILER_ENV_TYPE) {\n return this.legacyConfig?.compiler;\n }\n return this.legacyConfig?.tester;\n };\n\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 _distEntry: this._legacyProps?.distEntry,\n _distTarget: this._legacyProps?.distTarget,\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 _getEnvsByType,\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 _compiler: this.legacyConfig?.compiler,\n _setCompiler,\n _tester: this.legacyConfig?.tester,\n _setTester,\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","_extensions","ExtensionDataList","fromConfigObject","transformLegacyPropsToExtensions","_legacyProps","dependenciesDirectory","resolveModules","saveDependenciesAsComponents","distEntry","distTarget","path","_path","configPath","extensions","withoutInternalConfig","omit","extension","extensionId","ignoreVersion","existing","findExtension","config","setExtension","options","mergeIntoExisting","overrideExisting","ExtensionAlreadyConfigured","fromLegacyConfig","undefined","fromObject","create","props","dirPath","template","getWorkspaceConfigTemplateParsed","merged","assign","instance","composeWorkspaceJsoncPath","ensure","workspaceConfigProps","workspaceConfig","loadIfExist","err","InvalidBitJson","InvalidConfigFile","onLegacyEnsure","standAlone","legacyWorkspaceConfigProps","newProps","$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","calculatedDir","ConfigDirNotDefined","files","toVinyl","dataToPersist","DataToPersist","addManyFiles","persistAllToFS","workspaceDir","jsonStr","stringify","base","fullPath","jsonFile","AbstractVinyl","contents","Buffer","from","_legacyPlainObject","toPlainObject","toLegacy","_setCompiler","compiler","setCompiler","_setTester","tester","setTester","_getEnvsByType","type","COMPILER_ENV_TYPE","componentsDefaultDirectory","defaultDirectory","includes","lang","DEFAULT_LANGUAGE","defaultScope","_useWorkspaces","useWorkspaces","dependencyResolver","packageManager","_bindingPrefix","defaultOwner","_distEntry","_distTarget","_saveDependenciesAsComponents","_dependenciesDirectory","_resolveModules","_manageWorkspaces","manageWorkspaces","toConfigObject","call","bind","componentsConfig","overrides","getComponentConfig","getOverrideComponentData","_compiler","_tester","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 { COMPILER_ENV_TYPE, 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 { Compilers, Testers } from '@teambit/legacy/dist/consumer/config/abstract-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 { EnvType } from '@teambit/legacy/dist/legacy-extensions/env-extension-types';\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 distEntry?: string;\n distTarget?: string;\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 if (isHarmony) {\n this.raw = data;\n this.loadExtensions();\n } else {\n // We know we have either data or legacy config\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n this._extensions = ExtensionDataList.fromConfigObject(transformLegacyPropsToExtensions(legacyConfig!));\n if (legacyConfig) {\n this._legacyProps = {\n dependenciesDirectory: legacyConfig.dependenciesDirectory,\n resolveModules: legacyConfig.resolveModules,\n saveDependenciesAsComponents: legacyConfig.saveDependenciesAsComponents,\n distEntry: legacyConfig.distEntry,\n distTarget: legacyConfig.distTarget,\n };\n }\n }\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 /**\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 calculatedDir = dir || this._path;\n if (!calculatedDir) {\n throw new ConfigDirNotDefined();\n }\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 const _setCompiler = (compiler) => {\n if (this.legacyConfig) {\n this.legacyConfig.setCompiler(compiler);\n }\n };\n\n const _setTester = (tester) => {\n if (this.legacyConfig) {\n this.legacyConfig.setTester(tester);\n }\n };\n\n const _getEnvsByType = (type: EnvType): Compilers | Testers | undefined => {\n if (type === COMPILER_ENV_TYPE) {\n return this.legacyConfig?.compiler;\n }\n return this.legacyConfig?.tester;\n };\n\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 _distEntry: this._legacyProps?.distEntry,\n _distTarget: this._legacyProps?.distTarget,\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 _getEnvsByType,\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 _compiler: this.legacyConfig?.compiler,\n _setCompiler,\n _tester: this.legacyConfig?.tester,\n _setTester,\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.520",
3
+ "version": "0.0.523",
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.520"
9
+ "version": "0.0.523"
10
10
  },
11
11
  "dependencies": {
12
12
  "chalk": "2.4.2",
@@ -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.507",
19
+ "@teambit/cli": "0.0.510",
20
20
  "@teambit/bit-error": "0.0.394"
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.287",
33
+ "@teambit/legacy": "1.0.291",
34
34
  "react-dom": "^16.8.0 || ^17.0.0",
35
35
  "react": "^16.8.0 || ^17.0.0"
36
36
  },
@@ -58,7 +58,7 @@
58
58
  "react": "-"
59
59
  },
60
60
  "peerDependencies": {
61
- "@teambit/legacy": "1.0.287",
61
+ "@teambit/legacy": "1.0.291",
62
62
  "react-dom": "^16.8.0 || ^17.0.0",
63
63
  "react": "^16.8.0 || ^17.0.0"
64
64
  }
@@ -0,0 +1,5 @@
1
+
2
+
3
+
4
+ export const compositions = [];
5
+ export const overview = []
@@ -1 +0,0 @@
1
-