@teambit/config 0.0.1038 → 0.0.1039

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.
@@ -1,7 +1,7 @@
1
- import { ExtensionDataEntry, ExtensionDataList } from '@teambit/legacy/dist/consumer/config';
1
+ import { ExtensionDataEntry, ExtensionDataList, ILegacyWorkspaceConfig } from '@teambit/legacy/dist/consumer/config';
2
2
  import { PathOsBased, PathOsBasedAbsolute } from '@teambit/legacy/dist/utils/path';
3
3
  import { GlobalConfig, Harmony } from '@teambit/harmony';
4
- import { WorkspaceConfig, WorkspaceConfigFileProps } from './workspace-config';
4
+ import { WorkspaceConfig, WorkspaceConfigFileProps, WorkspaceExtensionProps } from './workspace-config';
5
5
  import { ConfigType, HostConfig } from './types';
6
6
  export type SetExtensionOptions = {
7
7
  overrideExisting?: boolean;
@@ -33,6 +33,7 @@ export declare class ConfigMain {
33
33
  extension(extensionId: string, ignoreVersion: boolean): ExtensionDataEntry | undefined;
34
34
  setExtension(extensionId: string, config: Record<string, any>, options: SetExtensionOptions): void;
35
35
  getHarmonyConfigObject(): GlobalConfig;
36
+ static workspaceEnsureLegacy(workspacePath: string, scopePath: string, workspaceExtensionProps?: WorkspaceExtensionProps): Promise<ILegacyWorkspaceConfig>;
36
37
  static runtime: import("@teambit/harmony").RuntimeDefinition;
37
38
  static slots: never[];
38
39
  static dependencies: never[];
@@ -113,8 +113,20 @@ class ConfigMain {
113
113
  });
114
114
  return config;
115
115
  }
116
+ static async workspaceEnsureLegacy(workspacePath, scopePath, workspaceExtensionProps) {
117
+ let workspaceConfigProps;
118
+ if (workspaceExtensionProps) {
119
+ workspaceConfigProps = {
120
+ 'teambit.workspace/workspace': workspaceExtensionProps
121
+ };
122
+ }
123
+ const config = await ConfigMain.ensureWorkspace(workspacePath, scopePath, workspaceConfigProps);
124
+ const workspaceConfig = config.config;
125
+ return workspaceConfig.toLegacy();
126
+ }
116
127
  static async provider(_deps, _config, _slots, harmony) {
117
- _workspaceConfig().default.registerOnWorkspaceConfigEnsuring(onLegacyWorkspaceEnsure());
128
+ // LegacyWorkspaceConfig.registerOnWorkspaceConfigEnsuring(onLegacyWorkspaceEnsure());
129
+
118
130
  let configMain;
119
131
  const bitConfig = harmony.config.raw.get('teambit.harmony/bit');
120
132
  const workspaceConfig = await loadWorkspaceConfigIfExist(bitConfig?.cwd);
@@ -125,7 +137,6 @@ class ConfigMain {
125
137
  configMain = {};
126
138
  }
127
139
  _workspaceConfig().default.registerOnWorkspaceConfigLoading(onLegacyWorkspaceLoad(configMain));
128
- _workspaceConfig().default.registerOnWorkspaceConfigReset((dirPath, resetHard) => _workspaceConfig2().WorkspaceConfig.reset(dirPath, resetHard));
129
140
  return configMain;
130
141
  }
131
142
  }
@@ -154,17 +165,5 @@ function onLegacyWorkspaceLoad(config) {
154
165
  return undefined;
155
166
  };
156
167
  }
157
- function onLegacyWorkspaceEnsure() {
158
- const func = async (workspacePath, scopePath, standAlone, legacyWorkspaceConfigProps) => {
159
- let workspaceConfigProps;
160
- if (legacyWorkspaceConfigProps) {
161
- workspaceConfigProps = (0, _workspaceConfig2().transformLegacyPropsToExtensions)(legacyWorkspaceConfigProps);
162
- }
163
- const config = await ConfigMain.ensureWorkspace(workspacePath, scopePath, workspaceConfigProps);
164
- const workspaceConfig = config.config;
165
- return workspaceConfig.toLegacy();
166
- };
167
- return func;
168
- }
169
168
 
170
169
  //# sourceMappingURL=config.main.runtime.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_consumer","data","require","_workspaceConfig","_interopRequireDefault","_scopeModules","_cli","_path","_workspaceConfig2","_config2","e","__esModule","default","_defineProperty","r","t","_toPropertyKey","Object","defineProperty","value","enumerable","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","ConfigMain","constructor","workspaceConfig","scopeConfig","type","path","config","reloadWorkspaceConfig","cwd","loadWorkspaceConfigIfExist","ensureWorkspace","workspacePath","scopePath","workspaceConfigProps","WorkspaceConfig","ensure","extensions","extension","extensionId","ignoreVersion","setExtension","options","getHarmonyConfigObject","forEach","stringId","provider","_deps","_config","_slots","harmony","LegacyWorkspaceConfig","registerOnWorkspaceConfigEnsuring","onLegacyWorkspaceEnsure","configMain","bitConfig","raw","get","undefined","registerOnWorkspaceConfigLoading","onLegacyWorkspaceLoad","registerOnWorkspaceConfigReset","dirPath","resetHard","reset","exports","MainRuntime","ConfigAspect","addRuntime","process","consumerInfo","getConsumerInfo","configDirPath","findScopePath","loadIfExist","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 WorkspaceConfigLoadFunction,\n} from '@teambit/legacy/dist/consumer/config/workspace-config';\nimport { PathOsBased, PathOsBasedAbsolute } from '@teambit/legacy/dist/utils/path';\nimport { findScopePath } from '@teambit/scope.modules.find-scope-path';\nimport { MainRuntime } from '@teambit/cli';\nimport { GlobalConfig, Harmony } 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 async reloadWorkspaceConfig(cwd: string) {\n const workspaceConfig = await loadWorkspaceConfigIfExist(cwd);\n if (workspaceConfig) this.workspaceConfig = workspaceConfig;\n }\n\n /**\n * Ensure the given directory has a workspace config\n * Load if existing and create new if not\n *\n * @static\n * @param {PathOsBasedAbsolute} workspacePath\n * @param {WorkspaceConfigFileProps} [workspaceConfigProps={} as any]\n * @returns {Promise<WorkspaceConfig>}\n * @memberof WorkspaceConfig\n */\n static async ensureWorkspace(\n workspacePath: PathOsBasedAbsolute,\n scopePath: PathOsBasedAbsolute,\n workspaceConfigProps: WorkspaceConfigFileProps = {} as any\n ): Promise<ConfigMain> {\n const workspaceConfig = await WorkspaceConfig.ensure(workspacePath, scopePath, 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 = [];\n static config = {};\n static async provider(_deps, _config, _slots, harmony: Harmony) {\n LegacyWorkspaceConfig.registerOnWorkspaceConfigEnsuring(onLegacyWorkspaceEnsure());\n\n let configMain: ConfigMain | any;\n const bitConfig = harmony.config.raw.get('teambit.harmony/bit') as any;\n const workspaceConfig = await loadWorkspaceConfigIfExist(bitConfig?.cwd);\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\nasync function loadWorkspaceConfigIfExist(cwd = process.cwd()): Promise<WorkspaceConfig | undefined> {\n const consumerInfo = await getConsumerInfo(cwd);\n const configDirPath = consumerInfo?.path || cwd;\n const scopePath = findScopePath(configDirPath);\n const workspaceConfig = await WorkspaceConfig.loadIfExist(configDirPath, scopePath);\n return workspaceConfig;\n}\n\nfunction onLegacyWorkspaceLoad(config?: ConfigMain): WorkspaceConfigLoadFunction {\n return async (dirPath: PathOsBased, scopePath: PathOsBasedAbsolute): 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, scopePath);\n if (newConfig) {\n return newConfig.toLegacy();\n }\n return undefined;\n };\n}\n\nfunction onLegacyWorkspaceEnsure(): WorkspaceConfigEnsureFunction {\n const func: WorkspaceConfigEnsureFunction = async (\n workspacePath: string,\n scopePath: string,\n standAlone,\n legacyWorkspaceConfigProps?: LegacyWorkspaceConfigProps\n ) => {\n let workspaceConfigProps;\n if (legacyWorkspaceConfigProps) {\n workspaceConfigProps = transformLegacyPropsToExtensions(legacyWorkspaceConfigProps);\n }\n const config = await ConfigMain.ensureWorkspace(workspacePath, scopePath, workspaceConfigProps);\n const workspaceConfig = config.config;\n return (workspaceConfig as WorkspaceConfig).toLegacy();\n };\n return func;\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_consumer","data","require","_workspaceConfig","_interopRequireDefault","_scopeModules","_cli","_path","_workspaceConfig2","_config2","e","__esModule","default","_defineProperty","r","t","_toPropertyKey","Object","defineProperty","value","enumerable","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","ConfigMain","constructor","workspaceConfig","scopeConfig","type","path","config","reloadWorkspaceConfig","cwd","loadWorkspaceConfigIfExist","ensureWorkspace","workspacePath","scopePath","workspaceConfigProps","WorkspaceConfig","ensure","extensions","extension","extensionId","ignoreVersion","setExtension","options","getHarmonyConfigObject","forEach","stringId","workspaceEnsureLegacy","workspaceExtensionProps","toLegacy","provider","_deps","_config","_slots","harmony","configMain","bitConfig","raw","get","undefined","LegacyWorkspaceConfig","registerOnWorkspaceConfigLoading","onLegacyWorkspaceLoad","exports","MainRuntime","ConfigAspect","addRuntime","process","consumerInfo","getConsumerInfo","configDirPath","findScopePath","loadIfExist","dirPath","normalize","dirname","newConfig"],"sources":["config.main.runtime.ts"],"sourcesContent":["import { getConsumerInfo } from '@teambit/legacy/dist/consumer';\nimport { ExtensionDataEntry, ExtensionDataList, ILegacyWorkspaceConfig } from '@teambit/legacy/dist/consumer/config';\nimport LegacyWorkspaceConfig, {\n WorkspaceConfigLoadFunction,\n} from '@teambit/legacy/dist/consumer/config/workspace-config';\nimport { PathOsBased, PathOsBasedAbsolute } from '@teambit/legacy/dist/utils/path';\nimport { findScopePath } from '@teambit/scope.modules.find-scope-path';\nimport { MainRuntime } from '@teambit/cli';\nimport { GlobalConfig, Harmony } from '@teambit/harmony';\nimport path from 'path';\nimport { WorkspaceConfig, WorkspaceConfigFileProps, WorkspaceExtensionProps } 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 async reloadWorkspaceConfig(cwd: string) {\n const workspaceConfig = await loadWorkspaceConfigIfExist(cwd);\n if (workspaceConfig) this.workspaceConfig = workspaceConfig;\n }\n\n /**\n * Ensure the given directory has a workspace config\n * Load if existing and create new if not\n *\n * @static\n * @param {PathOsBasedAbsolute} workspacePath\n * @param {WorkspaceConfigFileProps} [workspaceConfigProps={} as any]\n * @returns {Promise<WorkspaceConfig>}\n * @memberof WorkspaceConfig\n */\n static async ensureWorkspace(\n workspacePath: PathOsBasedAbsolute,\n scopePath: PathOsBasedAbsolute,\n workspaceConfigProps: WorkspaceConfigFileProps = {} as any\n ): Promise<ConfigMain> {\n const workspaceConfig = await WorkspaceConfig.ensure(workspacePath, scopePath, 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 async workspaceEnsureLegacy(\n workspacePath: string,\n scopePath: string,\n workspaceExtensionProps?: WorkspaceExtensionProps\n ) {\n let workspaceConfigProps;\n if (workspaceExtensionProps) {\n workspaceConfigProps = { 'teambit.workspace/workspace': workspaceExtensionProps };\n }\n const config = await ConfigMain.ensureWorkspace(workspacePath, scopePath, workspaceConfigProps);\n const workspaceConfig = config.config;\n return (workspaceConfig as WorkspaceConfig).toLegacy();\n }\n\n static runtime = MainRuntime;\n static slots = [];\n static dependencies = [];\n static config = {};\n static async provider(_deps, _config, _slots, harmony: Harmony) {\n // LegacyWorkspaceConfig.registerOnWorkspaceConfigEnsuring(onLegacyWorkspaceEnsure());\n\n let configMain: ConfigMain | any;\n const bitConfig = harmony.config.raw.get('teambit.harmony/bit') as any;\n const workspaceConfig = await loadWorkspaceConfigIfExist(bitConfig?.cwd);\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 return configMain;\n }\n}\n\nConfigAspect.addRuntime(ConfigMain);\n\nasync function loadWorkspaceConfigIfExist(cwd = process.cwd()): Promise<WorkspaceConfig | undefined> {\n const consumerInfo = await getConsumerInfo(cwd);\n const configDirPath = consumerInfo?.path || cwd;\n const scopePath = findScopePath(configDirPath);\n const workspaceConfig = await WorkspaceConfig.loadIfExist(configDirPath, scopePath);\n return workspaceConfig;\n}\n\nfunction onLegacyWorkspaceLoad(config?: ConfigMain): WorkspaceConfigLoadFunction {\n return async (dirPath: PathOsBased, scopePath: PathOsBasedAbsolute): 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, scopePath);\n if (newConfig) {\n return newConfig.toLegacy();\n }\n return undefined;\n };\n}\n"],"mappings":"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","ignoreList":[]}
package/dist/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
1
  export { ConfigMain } from './config.main.runtime';
2
2
  export { ConfigAspect, ConfigRuntime } from './config.aspect';
3
- export type { ComponentScopeDirMap, WorkspaceConfig } from './workspace-config';
4
- export { getWorkspaceConfigTemplateParsed, stringifyWorkspaceConfig } from './workspace-config';
3
+ export type { ComponentScopeDirMap, WorkspaceExtensionProps, WorkspaceConfigFileProps } from './workspace-config';
4
+ export { getWorkspaceConfigTemplateParsed, stringifyWorkspaceConfig, WorkspaceConfig } from './workspace-config';
package/dist/index.js CHANGED
@@ -21,6 +21,12 @@ Object.defineProperty(exports, "ConfigRuntime", {
21
21
  return _config().ConfigRuntime;
22
22
  }
23
23
  });
24
+ Object.defineProperty(exports, "WorkspaceConfig", {
25
+ enumerable: true,
26
+ get: function () {
27
+ return _workspaceConfig().WorkspaceConfig;
28
+ }
29
+ });
24
30
  Object.defineProperty(exports, "getWorkspaceConfigTemplateParsed", {
25
31
  enumerable: true,
26
32
  get: function () {
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"names":["_configMain","data","require","_config","_workspaceConfig"],"sources":["index.ts"],"sourcesContent":["export { ConfigMain } from './config.main.runtime';\nexport { ConfigAspect, ConfigRuntime } from './config.aspect';\nexport type { ComponentScopeDirMap, WorkspaceConfig } from './workspace-config';\nexport { getWorkspaceConfigTemplateParsed, stringifyWorkspaceConfig } from './workspace-config';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,SAAAA,YAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,WAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAE,QAAA;EAAA,MAAAF,IAAA,GAAAC,OAAA;EAAAC,OAAA,YAAAA,CAAA;IAAA,OAAAF,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,SAAAG,iBAAA;EAAA,MAAAH,IAAA,GAAAC,OAAA;EAAAE,gBAAA,YAAAA,CAAA;IAAA,OAAAH,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA","ignoreList":[]}
1
+ {"version":3,"names":["_configMain","data","require","_config","_workspaceConfig"],"sources":["index.ts"],"sourcesContent":["export { ConfigMain } from './config.main.runtime';\nexport { ConfigAspect, ConfigRuntime } from './config.aspect';\nexport type { ComponentScopeDirMap, WorkspaceExtensionProps, WorkspaceConfigFileProps } from './workspace-config';\nexport { getWorkspaceConfigTemplateParsed, stringifyWorkspaceConfig, WorkspaceConfig } from './workspace-config';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,SAAAA,YAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,WAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAE,QAAA;EAAA,MAAAF,IAAA,GAAAC,OAAA;EAAAC,OAAA,YAAAA,CAAA;IAAA,OAAAF,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,SAAAG,iBAAA;EAAA,MAAAH,IAAA,GAAAC,OAAA;EAAAE,gBAAA,YAAAA,CAAA;IAAA,OAAAH,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA","ignoreList":[]}
@@ -1,7 +1,6 @@
1
1
  import { ComponentID } from '@teambit/component-id';
2
2
  import { AbstractVinyl } from '@teambit/legacy/dist/consumer/component/sources';
3
3
  import { ExtensionDataList, ILegacyWorkspaceConfig } from '@teambit/legacy/dist/consumer/config';
4
- import LegacyWorkspaceConfig, { WorkspaceConfigProps as LegacyWorkspaceConfigProps } from '@teambit/legacy/dist/consumer/config/workspace-config';
5
4
  import { PathOsBased, PathOsBasedAbsolute } from '@teambit/legacy/dist/utils/path';
6
5
  import { CommentJSONValue } from 'comment-json';
7
6
  import { SetExtensionOptions } from './config.main.runtime';
@@ -12,13 +11,14 @@ export type LegacyInitProps = {
12
11
  export type WorkspaceConfigFileProps = {
13
12
  $schema?: string;
14
13
  $schemaVersion?: string;
15
- } & ExtensionsDefs;
14
+ } & WorkspaceSettingsNewProps;
16
15
  export type ComponentScopeDirMapEntry = {
17
16
  defaultScope?: string;
18
17
  directory: string;
19
18
  };
20
19
  export type ComponentScopeDirMap = Array<ComponentScopeDirMapEntry>;
21
20
  export type WorkspaceExtensionProps = {
21
+ name?: string;
22
22
  defaultScope?: string;
23
23
  defaultDirectory?: string;
24
24
  components?: ComponentScopeDirMap;
@@ -36,7 +36,6 @@ export type WorkspaceSettingsNewProps = {
36
36
  'teambit.workspace/workspace': WorkspaceExtensionProps;
37
37
  'teambit.dependencies/dependency-resolver': DependencyResolverExtensionProps;
38
38
  };
39
- export type ExtensionsDefs = WorkspaceSettingsNewProps;
40
39
  export declare class WorkspaceConfig implements HostConfig {
41
40
  private data;
42
41
  private _path;
@@ -120,6 +119,5 @@ export declare class WorkspaceConfig implements HostConfig {
120
119
  toVinyl(workspaceDir: PathOsBasedAbsolute): Promise<AbstractVinyl[] | undefined>;
121
120
  toLegacy(): ILegacyWorkspaceConfig;
122
121
  }
123
- export declare function transformLegacyPropsToExtensions(legacyConfig: LegacyWorkspaceConfig | LegacyWorkspaceConfigProps): ExtensionsDefs;
124
122
  export declare function getWorkspaceConfigTemplateParsed(): Promise<CommentJSONValue>;
125
123
  export declare function stringifyWorkspaceConfig(workspaceConfig: CommentJSONValue): string;
@@ -6,7 +6,6 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.WorkspaceConfig = void 0;
7
7
  exports.getWorkspaceConfigTemplateParsed = getWorkspaceConfigTemplateParsed;
8
8
  exports.stringifyWorkspaceConfig = stringifyWorkspaceConfig;
9
- exports.transformLegacyPropsToExtensions = transformLegacyPropsToExtensions;
10
9
  function _constants() {
11
10
  const data = require("@teambit/legacy/dist/constants");
12
11
  _constants = function () {
@@ -409,38 +408,6 @@ class WorkspaceConfig {
409
408
  }
410
409
  }
411
410
  exports.WorkspaceConfig = WorkspaceConfig;
412
- function transformLegacyPropsToExtensions(legacyConfig) {
413
- // TODO: move to utils
414
- const removeUndefined = obj => {
415
- // const res = omit(mapObjIndexed((val) => val === undefined))(obj);
416
- // return res;
417
- Object.entries(obj).forEach(e => {
418
- if (e[1] === undefined) delete obj[e[0]];
419
- });
420
- return obj;
421
- };
422
- const workspace = removeUndefined({
423
- defaultScope: legacyConfig.defaultScope,
424
- defaultDirectory: legacyConfig.componentsDefaultDirectory
425
- });
426
- const dependencyResolver = removeUndefined({
427
- packageManager: legacyConfig.packageManager,
428
- // strictPeerDependencies: false,
429
- extraArgs: legacyConfig.packageManagerArgs,
430
- packageManagerProcessOptions: legacyConfig.packageManagerProcessOptions,
431
- manageWorkspaces: legacyConfig.manageWorkspaces,
432
- useWorkspaces: legacyConfig.useWorkspaces
433
- });
434
- const data = {};
435
- if (workspace && !(0, _lodash().isEmpty)(workspace)) {
436
- data['teambit.workspace/workspace'] = workspace;
437
- }
438
- if (dependencyResolver && !(0, _lodash().isEmpty)(dependencyResolver)) {
439
- data['teambit.dependencies/dependency-resolver'] = dependencyResolver;
440
- }
441
- // @ts-ignore
442
- return data;
443
- }
444
411
  async function getWorkspaceConfigTemplateParsed() {
445
412
  let fileContent;
446
413
  try {
@@ -1 +1 @@
1
- {"version":3,"names":["_constants","data","require","_sources","_dataToPersist","_interopRequireDefault","_config","_workspaceConfig","_logger","_consumer","_commentJson","fs","_interopRequireWildcard","path","_lodash","_workspace","_exceptions","_invalidConfigFile","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","ownKeys","keys","getOwnPropertySymbols","o","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","value","configurable","writable","_toPrimitive","Symbol","toPrimitive","TypeError","String","Number","INTERNAL_CONFIG_PROPS","WorkspaceConfig","constructor","_path","scopePath","raw","loadExtensions","extensions","_extensions","withoutInternalConfig","omit","ExtensionDataList","fromConfigObject","extension","extensionId","ignoreVersion","existing","findExtension","config","setExtension","options","mergeIntoExisting","overrideExisting","ExtensionAlreadyConfigured","renameExtensionInRaw","oldExtId","newExtId","isChanged","generatorEnvs","envs","includes","splice","indexOf","removeExtension","extCompId","extId","toStringWithoutVersion","existingKey","getExistingKeyIgnoreVersion","id","idStr","find","key","startsWith","fromObject","workspaceJsoncPath","create","props","dirPath","template","getWorkspaceConfigTemplateParsed","workspaceAspectConf","assign","WorkspaceAspect","merged","composeWorkspaceJsoncPath","ensure","workspaceConfigProps","workspaceConfig","loadIfExist","err","InvalidConfigFile","reset","resetHard","logger","info","remove","join","WORKSPACE_JSONC","pathHasWorkspaceJsonc","isExist","pathExists","jsoncExist","LegacyWorkspaceConfig","_isExist","jsoncPath","instance","_loadFromWorkspaceJsonc","undefined","contentBuffer","readFile","parsed","parse","toString","write","dir","reasonForChange","getCalculatedDir","dirname","calculatedDir","files","toVinyl","dataToPersist","DataToPersist","addManyFiles","backupConfigFile","persistAllToFS","error","baseDir","getBackupHistoryDir","ensureDir","fileId","currentDateAndTimeToFileName","backupPath","copyFile","metadataFile","getBackupMetadataFilePath","appendFile","code","getBackupDir","Error","getParsedHistoryMetadata","fileContent","lines","split","metadata","line","reason","workspaceDir","jsonStr","stringify","base","fullPath","jsonFile","AbstractVinyl","contents","Buffer","from","toLegacy","componentsDefaultDirectory","defaultDirectory","lang","DEFAULT_LANGUAGE","defaultScope","_useWorkspaces","useWorkspaces","dependencyResolver","packageManager","_manageWorkspaces","manageWorkspaces","toConfigObject","isLegacy","bind","_legacyPlainObject","exports","transformLegacyPropsToExtensions","legacyConfig","removeUndefined","obj","entries","workspace","extraArgs","packageManagerArgs","packageManagerProcessOptions","isEmpty","__dirname","stringifyWorkspaceConfig"],"sources":["workspace-config.ts"],"sourcesContent":["import { ComponentID } from '@teambit/component-id';\nimport { DEFAULT_LANGUAGE, WORKSPACE_JSONC } from '@teambit/legacy/dist/constants';\nimport { AbstractVinyl } from '@teambit/legacy/dist/consumer/component/sources';\nimport DataToPersist from '@teambit/legacy/dist/consumer/component/sources/data-to-persist';\nimport { ExtensionDataList, ILegacyWorkspaceConfig } from '@teambit/legacy/dist/consumer/config';\nimport LegacyWorkspaceConfig, {\n WorkspaceConfigProps as LegacyWorkspaceConfigProps,\n} from '@teambit/legacy/dist/consumer/config/workspace-config';\nimport logger from '@teambit/legacy/dist/logger/logger';\nimport { PathOsBased, PathOsBasedAbsolute } from '@teambit/legacy/dist/utils/path';\nimport { currentDateAndTimeToFileName } from '@teambit/legacy/dist/consumer/consumer';\nimport { assign, parse, stringify, CommentJSONValue } from 'comment-json';\nimport * as fs from 'fs-extra';\nimport * as path from 'path';\nimport { isEmpty, omit } from 'lodash';\nimport { WorkspaceAspect } from '@teambit/workspace';\nimport { SetExtensionOptions } from './config.main.runtime';\nimport { ExtensionAlreadyConfigured } from './exceptions';\nimport InvalidConfigFile from './exceptions/invalid-config-file';\nimport { HostConfig } from './types';\n\nconst INTERNAL_CONFIG_PROPS = ['$schema', '$schemaVersion', 'require'];\n\nexport type LegacyInitProps = {\n standAlone?: boolean;\n};\n\nexport type WorkspaceConfigFileProps = {\n // TODO: make it no optional\n $schema?: string;\n $schemaVersion?: string;\n} & ExtensionsDefs;\n\nexport type ComponentScopeDirMapEntry = {\n defaultScope?: string;\n directory: string;\n};\n\nexport type ComponentScopeDirMap = Array<ComponentScopeDirMapEntry>;\n\nexport type WorkspaceExtensionProps = {\n defaultScope?: string;\n defaultDirectory?: string;\n components?: ComponentScopeDirMap;\n};\n\nexport type PackageManagerClients = 'npm' | 'yarn' | undefined;\n\nexport interface DependencyResolverExtensionProps {\n packageManager: PackageManagerClients;\n strictPeerDependencies?: boolean;\n extraArgs?: string[];\n packageManagerProcessOptions?: any;\n useWorkspaces?: boolean;\n manageWorkspaces?: boolean;\n}\n\nexport type WorkspaceSettingsNewProps = {\n 'teambit.workspace/workspace': WorkspaceExtensionProps;\n 'teambit.dependencies/dependency-resolver': DependencyResolverExtensionProps;\n};\n\nexport type ExtensionsDefs = WorkspaceSettingsNewProps;\n\nexport class WorkspaceConfig implements HostConfig {\n raw?: any;\n _extensions: ExtensionDataList;\n isLegacy: boolean;\n\n constructor(\n private data: WorkspaceConfigFileProps,\n private _path: PathOsBasedAbsolute,\n private scopePath?: PathOsBasedAbsolute\n ) {\n this.raw = data;\n this.loadExtensions();\n }\n\n get path(): PathOsBased {\n return this._path;\n }\n\n get extensions(): ExtensionDataList {\n return this._extensions;\n }\n\n private loadExtensions() {\n const withoutInternalConfig = omit(this.raw, INTERNAL_CONFIG_PROPS);\n this._extensions = ExtensionDataList.fromConfigObject(withoutInternalConfig);\n }\n\n extension(extensionId: string, ignoreVersion: boolean): any {\n const existing = this.extensions.findExtension(extensionId, ignoreVersion);\n return existing?.config;\n }\n\n setExtension(extensionId: string, config: Record<string, any>, options: SetExtensionOptions): any {\n const existing = this.extension(extensionId, options.ignoreVersion);\n if (existing) {\n if (options.mergeIntoExisting) {\n config = { ...existing, ...config };\n } else if (!options.overrideExisting) {\n throw new ExtensionAlreadyConfigured(extensionId);\n }\n }\n\n this.raw[extensionId] = config;\n this.loadExtensions();\n }\n\n renameExtensionInRaw(oldExtId: string, newExtId: string): boolean {\n let isChanged = false;\n if (this.raw[oldExtId]) {\n this.raw[newExtId] = this.raw[oldExtId];\n delete this.raw[oldExtId];\n isChanged = true;\n }\n const generatorEnvs = this.raw?.['teambit.generator/generator']?.envs;\n if (generatorEnvs && generatorEnvs.includes(oldExtId)) {\n generatorEnvs.splice(generatorEnvs.indexOf(oldExtId), 1, newExtId);\n isChanged = true;\n }\n return isChanged;\n }\n\n removeExtension(extCompId: ComponentID): boolean {\n const extId = extCompId.toStringWithoutVersion();\n let isChanged = false;\n const existingKey = this.getExistingKeyIgnoreVersion(extCompId);\n if (existingKey) {\n delete this.raw[existingKey];\n isChanged = true;\n }\n const generatorEnvs = this.raw?.['teambit.generator/generator']?.envs;\n if (generatorEnvs && generatorEnvs.includes(extId)) {\n generatorEnvs.splice(generatorEnvs.indexOf(extId), 1);\n isChanged = true;\n }\n if (isChanged) this.loadExtensions();\n return isChanged;\n }\n\n getExistingKeyIgnoreVersion(id: ComponentID): string | undefined {\n const idStr = id.toStringWithoutVersion();\n if (this.raw[idStr]) return idStr;\n const keys = Object.keys(this.raw);\n return keys.find((key) => key.startsWith(`${idStr}@`));\n }\n\n /**\n * Create an instance of the WorkspaceConfig by data\n *\n * @static\n * @param {WorkspaceConfigFileProps} data\n * @returns\n * @memberof WorkspaceConfig\n */\n static fromObject(data: WorkspaceConfigFileProps, workspaceJsoncPath: PathOsBased, scopePath?: PathOsBasedAbsolute) {\n return new WorkspaceConfig(data, workspaceJsoncPath, scopePath);\n }\n\n /**\n * Create an instance of the WorkspaceConfig by the workspace config template and override values\n *\n * @static\n * @param {WorkspaceConfigFileProps} data values to override in the default template\n * @returns\n * @memberof WorkspaceConfig\n */\n static async create(props: WorkspaceConfigFileProps, dirPath: PathOsBasedAbsolute, scopePath: PathOsBasedAbsolute) {\n const template = await getWorkspaceConfigTemplateParsed();\n // previously, we just did `assign(template, props)`, but it was replacing the entire workspace config with the \"props\".\n // so for example, if the props only had defaultScope, it was removing the defaultDirectory.\n const workspaceAspectConf = assign(template[WorkspaceAspect.id], props[WorkspaceAspect.id]);\n const merged = assign(template, { [WorkspaceAspect.id]: workspaceAspectConf });\n return new WorkspaceConfig(merged, WorkspaceConfig.composeWorkspaceJsoncPath(dirPath), scopePath);\n }\n\n /**\n * Ensure the given directory has a workspace config\n * Load if existing and create new if not\n *\n * @static\n * @param {PathOsBasedAbsolute} dirPath\n * @param {WorkspaceConfigFileProps} [workspaceConfigProps={} as any]\n * @returns {Promise<WorkspaceConfig>}\n * @memberof WorkspaceConfig\n */\n static async ensure(\n dirPath: PathOsBasedAbsolute,\n scopePath: PathOsBasedAbsolute,\n workspaceConfigProps: WorkspaceConfigFileProps = {} as any\n ): Promise<WorkspaceConfig> {\n try {\n let workspaceConfig = await this.loadIfExist(dirPath, scopePath);\n if (workspaceConfig) {\n return workspaceConfig;\n }\n workspaceConfig = await this.create(workspaceConfigProps, dirPath, scopePath);\n return workspaceConfig;\n } catch (err: any) {\n if (err instanceof InvalidConfigFile) {\n const workspaceConfig = this.create(workspaceConfigProps, dirPath, scopePath);\n return workspaceConfig;\n }\n throw err;\n }\n }\n\n static async reset(dirPath: PathOsBasedAbsolute, resetHard: boolean): Promise<void> {\n const workspaceJsoncPath = WorkspaceConfig.composeWorkspaceJsoncPath(dirPath);\n if (resetHard && workspaceJsoncPath) {\n logger.info(`deleting the consumer workspace.jsonc file at ${workspaceJsoncPath}`);\n await fs.remove(workspaceJsoncPath);\n }\n }\n\n /**\n * Get the path of the workspace.jsonc file by a containing folder\n *\n * @static\n * @param {PathOsBased} dirPath containing dir of the workspace.jsonc file\n * @returns {PathOsBased}\n * @memberof WorkspaceConfig\n */\n static composeWorkspaceJsoncPath(dirPath: PathOsBased): PathOsBased {\n return path.join(dirPath, WORKSPACE_JSONC);\n }\n\n static async pathHasWorkspaceJsonc(dirPath: PathOsBased): Promise<boolean> {\n const isExist = await fs.pathExists(WorkspaceConfig.composeWorkspaceJsoncPath(dirPath));\n return isExist;\n }\n\n /**\n * Check if the given dir has workspace config (new or legacy)\n * @param dirPath\n */\n static async isExist(dirPath: PathOsBased): Promise<boolean | undefined> {\n const jsoncExist = await WorkspaceConfig.pathHasWorkspaceJsonc(dirPath);\n if (jsoncExist) {\n return true;\n }\n return LegacyWorkspaceConfig._isExist(dirPath);\n }\n\n /**\n * Load the workspace configuration if it's exist\n *\n * @static\n * @param {PathOsBased} dirPath\n * @returns {(Promise<WorkspaceConfig | undefined>)}\n * @memberof WorkspaceConfig\n */\n static async loadIfExist(\n dirPath: PathOsBased,\n scopePath?: PathOsBasedAbsolute\n ): Promise<WorkspaceConfig | undefined> {\n const jsoncExist = await WorkspaceConfig.pathHasWorkspaceJsonc(dirPath);\n if (jsoncExist) {\n const jsoncPath = WorkspaceConfig.composeWorkspaceJsoncPath(dirPath);\n const instance = await WorkspaceConfig._loadFromWorkspaceJsonc(jsoncPath, scopePath);\n return instance;\n }\n return undefined;\n }\n\n static async _loadFromWorkspaceJsonc(workspaceJsoncPath: PathOsBased, scopePath?: string): Promise<WorkspaceConfig> {\n const contentBuffer = await fs.readFile(workspaceJsoncPath);\n let parsed;\n try {\n parsed = parse(contentBuffer.toString());\n } catch (e: any) {\n throw new InvalidConfigFile(workspaceJsoncPath);\n }\n return WorkspaceConfig.fromObject(parsed, workspaceJsoncPath, scopePath);\n }\n\n async write({ dir, reasonForChange }: { dir?: PathOsBasedAbsolute; reasonForChange?: string } = {}): Promise<void> {\n const getCalculatedDir = () => {\n if (dir) return dir;\n return path.dirname(this._path);\n };\n const calculatedDir = getCalculatedDir();\n const files = await this.toVinyl(calculatedDir);\n const dataToPersist = new DataToPersist();\n if (files) {\n dataToPersist.addManyFiles(files);\n await this.backupConfigFile(reasonForChange);\n await dataToPersist.persistAllToFS();\n }\n }\n\n async backupConfigFile(reasonForChange?: string) {\n if (!this.scopePath) {\n logger.error(`unable to backup workspace.jsonc file without scope path`);\n return;\n }\n try {\n const baseDir = this.getBackupHistoryDir();\n await fs.ensureDir(baseDir);\n const fileId = currentDateAndTimeToFileName();\n const backupPath = path.join(baseDir, fileId);\n await fs.copyFile(this._path, backupPath);\n const metadataFile = this.getBackupMetadataFilePath();\n await fs.appendFile(metadataFile, `${fileId} ${reasonForChange || ''}\\n`);\n } catch (err: any) {\n if (err.code === 'ENOENT') return; // no such file or directory, meaning the .bitmap file doesn't exist (yet)\n // it's a nice to have feature. don't kill the process if something goes wrong.\n logger.error(`failed to backup workspace.jsonc`, err);\n }\n }\n private getBackupDir() {\n if (!this.scopePath) throw new Error('unable to get backup dir without scope path');\n return path.join(this.scopePath, 'workspace-config-history');\n }\n getBackupHistoryDir() {\n return path.join(this.getBackupDir(), 'files');\n }\n getBackupMetadataFilePath() {\n return path.join(this.getBackupDir(), 'metadata.txt');\n }\n private async getParsedHistoryMetadata(): Promise<{ [fileId: string]: string }> {\n let fileContent: string | undefined;\n try {\n fileContent = await fs.readFile(this.getBackupMetadataFilePath(), 'utf-8');\n } catch (err: any) {\n if (err.code === 'ENOENT') return {}; // no such file or directory, meaning the history-metadata file doesn't exist (yet)\n }\n const lines = fileContent?.split('\\n') || [];\n const metadata = {};\n lines.forEach((line) => {\n const [fileId, ...reason] = line.split(' ');\n if (!fileId) return;\n metadata[fileId] = reason.join(' ');\n });\n return metadata;\n }\n\n async toVinyl(workspaceDir: PathOsBasedAbsolute): Promise<AbstractVinyl[] | undefined> {\n const jsonStr = `${stringify(this.data, undefined, 2)}\\n`;\n const base = workspaceDir;\n const fullPath = workspaceDir ? WorkspaceConfig.composeWorkspaceJsoncPath(workspaceDir) : this.path;\n const jsonFile = new AbstractVinyl({ base, path: fullPath, contents: Buffer.from(jsonStr) });\n return [jsonFile];\n }\n\n toLegacy(): ILegacyWorkspaceConfig {\n let componentsDefaultDirectory = this.extension('teambit.workspace/workspace', true)?.defaultDirectory;\n if (componentsDefaultDirectory && !componentsDefaultDirectory.includes('{name}')) {\n componentsDefaultDirectory = `${componentsDefaultDirectory}/{name}`;\n }\n\n return {\n lang: DEFAULT_LANGUAGE,\n defaultScope: this.extension('teambit.workspace/workspace', true)?.defaultScope,\n _useWorkspaces: this.extension('teambit.dependencies/dependency-resolver', true)?.useWorkspaces,\n dependencyResolver: this.extension('teambit.dependencies/dependency-resolver', true),\n packageManager: this.extension('teambit.dependencies/dependency-resolver', true)?.packageManager,\n componentsDefaultDirectory,\n _manageWorkspaces: this.extension('teambit.dependencies/dependency-resolver', true)?.manageWorkspaces,\n extensions: this.extensions.toConfigObject(),\n // @ts-ignore\n path: this.path,\n isLegacy: false,\n write: ({ workspaceDir }) => this.write.call(this, { dir: workspaceDir }),\n toVinyl: this.toVinyl.bind(this),\n _legacyPlainObject: () => undefined,\n };\n }\n}\n\nexport function transformLegacyPropsToExtensions(\n legacyConfig: LegacyWorkspaceConfig | LegacyWorkspaceConfigProps\n): ExtensionsDefs {\n // TODO: move to utils\n const removeUndefined = (obj) => {\n // const res = omit(mapObjIndexed((val) => val === undefined))(obj);\n // return res;\n Object.entries(obj).forEach((e) => {\n if (e[1] === undefined) delete obj[e[0]];\n });\n return obj;\n };\n\n const workspace = removeUndefined({\n defaultScope: legacyConfig.defaultScope,\n defaultDirectory: legacyConfig.componentsDefaultDirectory,\n });\n const dependencyResolver = removeUndefined({\n packageManager: legacyConfig.packageManager,\n // strictPeerDependencies: false,\n extraArgs: legacyConfig.packageManagerArgs,\n packageManagerProcessOptions: legacyConfig.packageManagerProcessOptions,\n manageWorkspaces: legacyConfig.manageWorkspaces,\n useWorkspaces: legacyConfig.useWorkspaces,\n });\n const 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 // @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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","ignoreList":[]}
1
+ {"version":3,"names":["_constants","data","require","_sources","_dataToPersist","_interopRequireDefault","_config","_workspaceConfig","_logger","_consumer","_commentJson","fs","_interopRequireWildcard","path","_lodash","_workspace","_exceptions","_invalidConfigFile","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","ownKeys","keys","getOwnPropertySymbols","o","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","value","configurable","writable","_toPrimitive","Symbol","toPrimitive","TypeError","String","Number","INTERNAL_CONFIG_PROPS","WorkspaceConfig","constructor","_path","scopePath","raw","loadExtensions","extensions","_extensions","withoutInternalConfig","omit","ExtensionDataList","fromConfigObject","extension","extensionId","ignoreVersion","existing","findExtension","config","setExtension","options","mergeIntoExisting","overrideExisting","ExtensionAlreadyConfigured","renameExtensionInRaw","oldExtId","newExtId","isChanged","generatorEnvs","envs","includes","splice","indexOf","removeExtension","extCompId","extId","toStringWithoutVersion","existingKey","getExistingKeyIgnoreVersion","id","idStr","find","key","startsWith","fromObject","workspaceJsoncPath","create","props","dirPath","template","getWorkspaceConfigTemplateParsed","workspaceAspectConf","assign","WorkspaceAspect","merged","composeWorkspaceJsoncPath","ensure","workspaceConfigProps","workspaceConfig","loadIfExist","err","InvalidConfigFile","reset","resetHard","logger","info","remove","join","WORKSPACE_JSONC","pathHasWorkspaceJsonc","isExist","pathExists","jsoncExist","LegacyWorkspaceConfig","_isExist","jsoncPath","instance","_loadFromWorkspaceJsonc","undefined","contentBuffer","readFile","parsed","parse","toString","write","dir","reasonForChange","getCalculatedDir","dirname","calculatedDir","files","toVinyl","dataToPersist","DataToPersist","addManyFiles","backupConfigFile","persistAllToFS","error","baseDir","getBackupHistoryDir","ensureDir","fileId","currentDateAndTimeToFileName","backupPath","copyFile","metadataFile","getBackupMetadataFilePath","appendFile","code","getBackupDir","Error","getParsedHistoryMetadata","fileContent","lines","split","metadata","line","reason","workspaceDir","jsonStr","stringify","base","fullPath","jsonFile","AbstractVinyl","contents","Buffer","from","toLegacy","componentsDefaultDirectory","defaultDirectory","lang","DEFAULT_LANGUAGE","defaultScope","_useWorkspaces","useWorkspaces","dependencyResolver","packageManager","_manageWorkspaces","manageWorkspaces","toConfigObject","isLegacy","bind","_legacyPlainObject","exports","__dirname","stringifyWorkspaceConfig"],"sources":["workspace-config.ts"],"sourcesContent":["import { ComponentID } from '@teambit/component-id';\nimport { DEFAULT_LANGUAGE, WORKSPACE_JSONC } from '@teambit/legacy/dist/constants';\nimport { AbstractVinyl } from '@teambit/legacy/dist/consumer/component/sources';\nimport DataToPersist from '@teambit/legacy/dist/consumer/component/sources/data-to-persist';\nimport { ExtensionDataList, ILegacyWorkspaceConfig } from '@teambit/legacy/dist/consumer/config';\nimport LegacyWorkspaceConfig 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 { currentDateAndTimeToFileName } from '@teambit/legacy/dist/consumer/consumer';\nimport { assign, parse, stringify, CommentJSONValue } from 'comment-json';\nimport * as fs from 'fs-extra';\nimport * as path from 'path';\nimport { omit } from 'lodash';\nimport { WorkspaceAspect } from '@teambit/workspace';\nimport { SetExtensionOptions } from './config.main.runtime';\nimport { ExtensionAlreadyConfigured } from './exceptions';\nimport InvalidConfigFile from './exceptions/invalid-config-file';\nimport { HostConfig } from './types';\n\nconst INTERNAL_CONFIG_PROPS = ['$schema', '$schemaVersion', 'require'];\n\nexport type LegacyInitProps = {\n standAlone?: boolean;\n};\n\nexport type WorkspaceConfigFileProps = {\n // TODO: make it no optional\n $schema?: string;\n $schemaVersion?: string;\n} & WorkspaceSettingsNewProps;\n\nexport type ComponentScopeDirMapEntry = {\n defaultScope?: string;\n directory: string;\n};\n\nexport type ComponentScopeDirMap = Array<ComponentScopeDirMapEntry>;\n\nexport type WorkspaceExtensionProps = {\n name?: string;\n defaultScope?: string;\n defaultDirectory?: string;\n components?: ComponentScopeDirMap;\n};\n\nexport type PackageManagerClients = 'npm' | 'yarn' | undefined;\n\nexport interface DependencyResolverExtensionProps {\n packageManager: PackageManagerClients;\n strictPeerDependencies?: boolean;\n extraArgs?: string[];\n packageManagerProcessOptions?: any;\n useWorkspaces?: boolean;\n manageWorkspaces?: boolean;\n}\n\nexport type WorkspaceSettingsNewProps = {\n 'teambit.workspace/workspace': WorkspaceExtensionProps;\n 'teambit.dependencies/dependency-resolver': DependencyResolverExtensionProps;\n};\n\nexport class WorkspaceConfig implements HostConfig {\n raw?: any;\n _extensions: ExtensionDataList;\n isLegacy: boolean;\n\n constructor(\n private data: WorkspaceConfigFileProps,\n private _path: PathOsBasedAbsolute,\n private scopePath?: PathOsBasedAbsolute\n ) {\n this.raw = data;\n this.loadExtensions();\n }\n\n get path(): PathOsBased {\n return this._path;\n }\n\n get extensions(): ExtensionDataList {\n return this._extensions;\n }\n\n private loadExtensions() {\n const withoutInternalConfig = omit(this.raw, INTERNAL_CONFIG_PROPS);\n this._extensions = ExtensionDataList.fromConfigObject(withoutInternalConfig);\n }\n\n extension(extensionId: string, ignoreVersion: boolean): any {\n const existing = this.extensions.findExtension(extensionId, ignoreVersion);\n return existing?.config;\n }\n\n setExtension(extensionId: string, config: Record<string, any>, options: SetExtensionOptions): any {\n const existing = this.extension(extensionId, options.ignoreVersion);\n if (existing) {\n if (options.mergeIntoExisting) {\n config = { ...existing, ...config };\n } else if (!options.overrideExisting) {\n throw new ExtensionAlreadyConfigured(extensionId);\n }\n }\n\n this.raw[extensionId] = config;\n this.loadExtensions();\n }\n\n renameExtensionInRaw(oldExtId: string, newExtId: string): boolean {\n let isChanged = false;\n if (this.raw[oldExtId]) {\n this.raw[newExtId] = this.raw[oldExtId];\n delete this.raw[oldExtId];\n isChanged = true;\n }\n const generatorEnvs = this.raw?.['teambit.generator/generator']?.envs;\n if (generatorEnvs && generatorEnvs.includes(oldExtId)) {\n generatorEnvs.splice(generatorEnvs.indexOf(oldExtId), 1, newExtId);\n isChanged = true;\n }\n return isChanged;\n }\n\n removeExtension(extCompId: ComponentID): boolean {\n const extId = extCompId.toStringWithoutVersion();\n let isChanged = false;\n const existingKey = this.getExistingKeyIgnoreVersion(extCompId);\n if (existingKey) {\n delete this.raw[existingKey];\n isChanged = true;\n }\n const generatorEnvs = this.raw?.['teambit.generator/generator']?.envs;\n if (generatorEnvs && generatorEnvs.includes(extId)) {\n generatorEnvs.splice(generatorEnvs.indexOf(extId), 1);\n isChanged = true;\n }\n if (isChanged) this.loadExtensions();\n return isChanged;\n }\n\n getExistingKeyIgnoreVersion(id: ComponentID): string | undefined {\n const idStr = id.toStringWithoutVersion();\n if (this.raw[idStr]) return idStr;\n const keys = Object.keys(this.raw);\n return keys.find((key) => key.startsWith(`${idStr}@`));\n }\n\n /**\n * Create an instance of the WorkspaceConfig by data\n *\n * @static\n * @param {WorkspaceConfigFileProps} data\n * @returns\n * @memberof WorkspaceConfig\n */\n static fromObject(data: WorkspaceConfigFileProps, workspaceJsoncPath: PathOsBased, scopePath?: PathOsBasedAbsolute) {\n return new WorkspaceConfig(data, workspaceJsoncPath, scopePath);\n }\n\n /**\n * Create an instance of the WorkspaceConfig by the workspace config template and override values\n *\n * @static\n * @param {WorkspaceConfigFileProps} data values to override in the default template\n * @returns\n * @memberof WorkspaceConfig\n */\n static async create(props: WorkspaceConfigFileProps, dirPath: PathOsBasedAbsolute, scopePath: PathOsBasedAbsolute) {\n const template = await getWorkspaceConfigTemplateParsed();\n // previously, we just did `assign(template, props)`, but it was replacing the entire workspace config with the \"props\".\n // so for example, if the props only had defaultScope, it was removing the defaultDirectory.\n const workspaceAspectConf = assign(template[WorkspaceAspect.id], props[WorkspaceAspect.id]);\n const merged = assign(template, { [WorkspaceAspect.id]: workspaceAspectConf });\n return new WorkspaceConfig(merged, WorkspaceConfig.composeWorkspaceJsoncPath(dirPath), scopePath);\n }\n\n /**\n * Ensure the given directory has a workspace config\n * Load if existing and create new if not\n *\n * @static\n * @param {PathOsBasedAbsolute} dirPath\n * @param {WorkspaceConfigFileProps} [workspaceConfigProps={} as any]\n * @returns {Promise<WorkspaceConfig>}\n * @memberof WorkspaceConfig\n */\n static async ensure(\n dirPath: PathOsBasedAbsolute,\n scopePath: PathOsBasedAbsolute,\n workspaceConfigProps: WorkspaceConfigFileProps = {} as any\n ): Promise<WorkspaceConfig> {\n try {\n let workspaceConfig = await this.loadIfExist(dirPath, scopePath);\n if (workspaceConfig) {\n return workspaceConfig;\n }\n workspaceConfig = await this.create(workspaceConfigProps, dirPath, scopePath);\n return workspaceConfig;\n } catch (err: any) {\n if (err instanceof InvalidConfigFile) {\n const workspaceConfig = this.create(workspaceConfigProps, dirPath, scopePath);\n return workspaceConfig;\n }\n throw err;\n }\n }\n\n static async reset(dirPath: PathOsBasedAbsolute, resetHard: boolean): Promise<void> {\n const workspaceJsoncPath = WorkspaceConfig.composeWorkspaceJsoncPath(dirPath);\n if (resetHard && workspaceJsoncPath) {\n logger.info(`deleting the consumer workspace.jsonc file at ${workspaceJsoncPath}`);\n await fs.remove(workspaceJsoncPath);\n }\n }\n\n /**\n * Get the path of the workspace.jsonc file by a containing folder\n *\n * @static\n * @param {PathOsBased} dirPath containing dir of the workspace.jsonc file\n * @returns {PathOsBased}\n * @memberof WorkspaceConfig\n */\n static composeWorkspaceJsoncPath(dirPath: PathOsBased): PathOsBased {\n return path.join(dirPath, WORKSPACE_JSONC);\n }\n\n static async pathHasWorkspaceJsonc(dirPath: PathOsBased): Promise<boolean> {\n const isExist = await fs.pathExists(WorkspaceConfig.composeWorkspaceJsoncPath(dirPath));\n return isExist;\n }\n\n /**\n * Check if the given dir has workspace config (new or legacy)\n * @param dirPath\n */\n static async isExist(dirPath: PathOsBased): Promise<boolean | undefined> {\n const jsoncExist = await WorkspaceConfig.pathHasWorkspaceJsonc(dirPath);\n if (jsoncExist) {\n return true;\n }\n return LegacyWorkspaceConfig._isExist(dirPath);\n }\n\n /**\n * Load the workspace configuration if it's exist\n *\n * @static\n * @param {PathOsBased} dirPath\n * @returns {(Promise<WorkspaceConfig | undefined>)}\n * @memberof WorkspaceConfig\n */\n static async loadIfExist(\n dirPath: PathOsBased,\n scopePath?: PathOsBasedAbsolute\n ): Promise<WorkspaceConfig | undefined> {\n const jsoncExist = await WorkspaceConfig.pathHasWorkspaceJsonc(dirPath);\n if (jsoncExist) {\n const jsoncPath = WorkspaceConfig.composeWorkspaceJsoncPath(dirPath);\n const instance = await WorkspaceConfig._loadFromWorkspaceJsonc(jsoncPath, scopePath);\n return instance;\n }\n return undefined;\n }\n\n static async _loadFromWorkspaceJsonc(workspaceJsoncPath: PathOsBased, scopePath?: string): Promise<WorkspaceConfig> {\n const contentBuffer = await fs.readFile(workspaceJsoncPath);\n let parsed;\n try {\n parsed = parse(contentBuffer.toString());\n } catch (e: any) {\n throw new InvalidConfigFile(workspaceJsoncPath);\n }\n return WorkspaceConfig.fromObject(parsed, workspaceJsoncPath, scopePath);\n }\n\n async write({ dir, reasonForChange }: { dir?: PathOsBasedAbsolute; reasonForChange?: string } = {}): Promise<void> {\n const getCalculatedDir = () => {\n if (dir) return dir;\n return path.dirname(this._path);\n };\n const calculatedDir = getCalculatedDir();\n const files = await this.toVinyl(calculatedDir);\n const dataToPersist = new DataToPersist();\n if (files) {\n dataToPersist.addManyFiles(files);\n await this.backupConfigFile(reasonForChange);\n await dataToPersist.persistAllToFS();\n }\n }\n\n async backupConfigFile(reasonForChange?: string) {\n if (!this.scopePath) {\n logger.error(`unable to backup workspace.jsonc file without scope path`);\n return;\n }\n try {\n const baseDir = this.getBackupHistoryDir();\n await fs.ensureDir(baseDir);\n const fileId = currentDateAndTimeToFileName();\n const backupPath = path.join(baseDir, fileId);\n await fs.copyFile(this._path, backupPath);\n const metadataFile = this.getBackupMetadataFilePath();\n await fs.appendFile(metadataFile, `${fileId} ${reasonForChange || ''}\\n`);\n } catch (err: any) {\n if (err.code === 'ENOENT') return; // no such file or directory, meaning the .bitmap file doesn't exist (yet)\n // it's a nice to have feature. don't kill the process if something goes wrong.\n logger.error(`failed to backup workspace.jsonc`, err);\n }\n }\n private getBackupDir() {\n if (!this.scopePath) throw new Error('unable to get backup dir without scope path');\n return path.join(this.scopePath, 'workspace-config-history');\n }\n getBackupHistoryDir() {\n return path.join(this.getBackupDir(), 'files');\n }\n getBackupMetadataFilePath() {\n return path.join(this.getBackupDir(), 'metadata.txt');\n }\n private async getParsedHistoryMetadata(): Promise<{ [fileId: string]: string }> {\n let fileContent: string | undefined;\n try {\n fileContent = await fs.readFile(this.getBackupMetadataFilePath(), 'utf-8');\n } catch (err: any) {\n if (err.code === 'ENOENT') return {}; // no such file or directory, meaning the history-metadata file doesn't exist (yet)\n }\n const lines = fileContent?.split('\\n') || [];\n const metadata = {};\n lines.forEach((line) => {\n const [fileId, ...reason] = line.split(' ');\n if (!fileId) return;\n metadata[fileId] = reason.join(' ');\n });\n return metadata;\n }\n\n async toVinyl(workspaceDir: PathOsBasedAbsolute): Promise<AbstractVinyl[] | undefined> {\n const jsonStr = `${stringify(this.data, undefined, 2)}\\n`;\n const base = workspaceDir;\n const fullPath = workspaceDir ? WorkspaceConfig.composeWorkspaceJsoncPath(workspaceDir) : this.path;\n const jsonFile = new AbstractVinyl({ base, path: fullPath, contents: Buffer.from(jsonStr) });\n return [jsonFile];\n }\n\n toLegacy(): ILegacyWorkspaceConfig {\n let componentsDefaultDirectory = this.extension('teambit.workspace/workspace', true)?.defaultDirectory;\n if (componentsDefaultDirectory && !componentsDefaultDirectory.includes('{name}')) {\n componentsDefaultDirectory = `${componentsDefaultDirectory}/{name}`;\n }\n\n return {\n lang: DEFAULT_LANGUAGE,\n defaultScope: this.extension('teambit.workspace/workspace', true)?.defaultScope,\n _useWorkspaces: this.extension('teambit.dependencies/dependency-resolver', true)?.useWorkspaces,\n dependencyResolver: this.extension('teambit.dependencies/dependency-resolver', true),\n packageManager: this.extension('teambit.dependencies/dependency-resolver', true)?.packageManager,\n componentsDefaultDirectory,\n _manageWorkspaces: this.extension('teambit.dependencies/dependency-resolver', true)?.manageWorkspaces,\n extensions: this.extensions.toConfigObject(),\n // @ts-ignore\n path: this.path,\n isLegacy: false,\n write: ({ workspaceDir }) => this.write.call(this, { dir: workspaceDir }),\n toVinyl: this.toVinyl.bind(this),\n _legacyPlainObject: () => undefined,\n };\n }\n}\n\nexport async function getWorkspaceConfigTemplateParsed(): Promise<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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","ignoreList":[]}
package/package.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@teambit/config",
3
- "version": "0.0.1038",
3
+ "version": "0.0.1039",
4
4
  "homepage": "https://bit.cloud/teambit/harmony/config",
5
5
  "main": "dist/index.js",
6
6
  "componentId": {
7
7
  "scope": "teambit.harmony",
8
8
  "name": "config",
9
- "version": "0.0.1038"
9
+ "version": "0.0.1039"
10
10
  },
11
11
  "dependencies": {
12
12
  "comment-json": "3.0.3",
@@ -18,7 +18,7 @@
18
18
  "@teambit/component-id": "1.2.0",
19
19
  "@teambit/bit-error": "0.0.404",
20
20
  "@teambit/cli": "0.0.865",
21
- "@teambit/workspace": "1.0.287"
21
+ "@teambit/workspace": "1.0.288"
22
22
  },
23
23
  "devDependencies": {
24
24
  "@types/fs-extra": "9.0.7",