@teambit/config 0.0.862 → 0.0.863
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.
- package/dist/config.main.runtime.d.ts +2 -2
- package/dist/config.main.runtime.js +16 -8
- package/dist/config.main.runtime.js.map +1 -1
- package/dist/workspace-config.d.ts +15 -9
- package/dist/workspace-config.js +73 -35
- package/dist/workspace-config.js.map +1 -1
- package/package.json +3 -3
- package/dist/exceptions/config-dir-not-defined.d.ts +0 -4
- package/dist/exceptions/config-dir-not-defined.js +0 -21
- package/dist/exceptions/config-dir-not-defined.js.map +0 -1
- package/exceptions/config-dir-not-defined.ts +0 -7
- /package/dist/{preview-1703766819573.js → preview-1703820221885.js} +0 -0
|
@@ -23,12 +23,12 @@ export declare class ConfigMain {
|
|
|
23
23
|
* Load if existing and create new if not
|
|
24
24
|
*
|
|
25
25
|
* @static
|
|
26
|
-
* @param {PathOsBasedAbsolute}
|
|
26
|
+
* @param {PathOsBasedAbsolute} workspacePath
|
|
27
27
|
* @param {WorkspaceConfigFileProps} [workspaceConfigProps={} as any]
|
|
28
28
|
* @returns {Promise<WorkspaceConfig>}
|
|
29
29
|
* @memberof WorkspaceConfig
|
|
30
30
|
*/
|
|
31
|
-
static ensureWorkspace(
|
|
31
|
+
static ensureWorkspace(workspacePath: PathOsBasedAbsolute, scopePath: PathOsBasedAbsolute, workspaceConfigProps?: WorkspaceConfigFileProps): Promise<ConfigMain>;
|
|
32
32
|
get extensions(): ExtensionDataList | undefined;
|
|
33
33
|
extension(extensionId: string, ignoreVersion: boolean): ExtensionDataEntry | undefined;
|
|
34
34
|
setExtension(extensionId: string, config: Record<string, any>, options: SetExtensionOptions): void;
|
|
@@ -18,6 +18,13 @@ function _workspaceConfig() {
|
|
|
18
18
|
};
|
|
19
19
|
return data;
|
|
20
20
|
}
|
|
21
|
+
function _utils() {
|
|
22
|
+
const data = require("@teambit/legacy/dist/utils");
|
|
23
|
+
_utils = function () {
|
|
24
|
+
return data;
|
|
25
|
+
};
|
|
26
|
+
return data;
|
|
27
|
+
}
|
|
21
28
|
function _cli() {
|
|
22
29
|
const data = require("@teambit/cli");
|
|
23
30
|
_cli = function () {
|
|
@@ -80,13 +87,13 @@ class ConfigMain {
|
|
|
80
87
|
* Load if existing and create new if not
|
|
81
88
|
*
|
|
82
89
|
* @static
|
|
83
|
-
* @param {PathOsBasedAbsolute}
|
|
90
|
+
* @param {PathOsBasedAbsolute} workspacePath
|
|
84
91
|
* @param {WorkspaceConfigFileProps} [workspaceConfigProps={} as any]
|
|
85
92
|
* @returns {Promise<WorkspaceConfig>}
|
|
86
93
|
* @memberof WorkspaceConfig
|
|
87
94
|
*/
|
|
88
|
-
static async ensureWorkspace(
|
|
89
|
-
const workspaceConfig = await _workspaceConfig2().WorkspaceConfig.ensure(
|
|
95
|
+
static async ensureWorkspace(workspacePath, scopePath, workspaceConfigProps = {}) {
|
|
96
|
+
const workspaceConfig = await _workspaceConfig2().WorkspaceConfig.ensure(workspacePath, scopePath, workspaceConfigProps);
|
|
90
97
|
return new ConfigMain(workspaceConfig);
|
|
91
98
|
}
|
|
92
99
|
get extensions() {
|
|
@@ -131,7 +138,8 @@ _config().ConfigAspect.addRuntime(ConfigMain);
|
|
|
131
138
|
async function loadWorkspaceConfigIfExist() {
|
|
132
139
|
const consumerInfo = await (0, _consumer().getConsumerInfo)(process.cwd());
|
|
133
140
|
const configDirPath = consumerInfo?.path || process.cwd();
|
|
134
|
-
const
|
|
141
|
+
const scopePath = (0, _utils().findScopePath)(configDirPath);
|
|
142
|
+
const workspaceConfig = await _workspaceConfig2().WorkspaceConfig.loadIfExist(configDirPath, scopePath);
|
|
135
143
|
return workspaceConfig;
|
|
136
144
|
}
|
|
137
145
|
function onLegacyWorkspaceConfigIsExist() {
|
|
@@ -140,11 +148,11 @@ function onLegacyWorkspaceConfigIsExist() {
|
|
|
140
148
|
};
|
|
141
149
|
}
|
|
142
150
|
function onLegacyWorkspaceLoad(config) {
|
|
143
|
-
return async dirPath => {
|
|
151
|
+
return async (dirPath, scopePath) => {
|
|
144
152
|
if (config?.workspaceConfig && config.path && _path().default.normalize(dirPath) === _path().default.dirname(config.path)) {
|
|
145
153
|
return config.config.toLegacy();
|
|
146
154
|
}
|
|
147
|
-
const newConfig = await _workspaceConfig2().WorkspaceConfig.loadIfExist(dirPath);
|
|
155
|
+
const newConfig = await _workspaceConfig2().WorkspaceConfig.loadIfExist(dirPath, scopePath);
|
|
148
156
|
if (newConfig) {
|
|
149
157
|
return newConfig.toLegacy();
|
|
150
158
|
}
|
|
@@ -152,12 +160,12 @@ function onLegacyWorkspaceLoad(config) {
|
|
|
152
160
|
};
|
|
153
161
|
}
|
|
154
162
|
function onLegacyWorkspaceEnsure() {
|
|
155
|
-
const func = async (
|
|
163
|
+
const func = async (workspacePath, scopePath, standAlone, legacyWorkspaceConfigProps) => {
|
|
156
164
|
let workspaceConfigProps;
|
|
157
165
|
if (legacyWorkspaceConfigProps) {
|
|
158
166
|
workspaceConfigProps = (0, _workspaceConfig2().transformLegacyPropsToExtensions)(legacyWorkspaceConfigProps);
|
|
159
167
|
}
|
|
160
|
-
const config = await ConfigMain.ensureWorkspace(
|
|
168
|
+
const config = await ConfigMain.ensureWorkspace(workspacePath, scopePath, workspaceConfigProps);
|
|
161
169
|
const workspaceConfig = config.config;
|
|
162
170
|
return workspaceConfig.toLegacy();
|
|
163
171
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_consumer","data","require","_workspaceConfig","_interopRequireDefault","_cli","_path","_workspaceConfig2","_config","obj","__esModule","default","_defineProperty","key","value","_toPropertyKey","Object","defineProperty","enumerable","configurable","writable","t","i","_toPrimitive","String","r","e","Symbol","toPrimitive","call","TypeError","Number","ConfigMain","constructor","workspaceConfig","scopeConfig","type","path","config","reloadWorkspaceConfig","loadWorkspaceConfigIfExist","ensureWorkspace","dirPath","workspaceConfigProps","WorkspaceConfig","ensure","extensions","extension","extensionId","ignoreVersion","setExtension","options","getHarmonyConfigObject","forEach","stringId","provider","LegacyWorkspaceConfig","registerOnWorkspaceConfigIsExist","onLegacyWorkspaceConfigIsExist","registerOnWorkspaceConfigEnsuring","onLegacyWorkspaceEnsure","configMain","undefined","registerOnWorkspaceConfigLoading","onLegacyWorkspaceLoad","registerOnWorkspaceConfigReset","resetHard","reset","exports","MainRuntime","ConfigAspect","addRuntime","consumerInfo","getConsumerInfo","process","cwd","configDirPath","loadIfExist","isExist","normalize","dirname","toLegacy","newConfig","func","standAlone","legacyWorkspaceConfigProps","transformLegacyPropsToExtensions"],"sources":["config.main.runtime.ts"],"sourcesContent":["import { getConsumerInfo } from '@teambit/legacy/dist/consumer';\nimport {\n ExtensionDataEntry,\n ExtensionDataList,\n ILegacyWorkspaceConfig,\n LegacyWorkspaceConfigProps,\n} from '@teambit/legacy/dist/consumer/config';\nimport LegacyWorkspaceConfig, {\n WorkspaceConfigEnsureFunction,\n WorkspaceConfigIsExistFunction,\n WorkspaceConfigLoadFunction,\n} from '@teambit/legacy/dist/consumer/config/workspace-config';\nimport { PathOsBased, PathOsBasedAbsolute } from '@teambit/legacy/dist/utils/path';\nimport { MainRuntime } from '@teambit/cli';\nimport { GlobalConfig } from '@teambit/harmony';\nimport path from 'path';\nimport { transformLegacyPropsToExtensions, WorkspaceConfig, WorkspaceConfigFileProps } from './workspace-config';\nimport { ConfigType, HostConfig } from './types';\nimport { ConfigAspect } from './config.aspect';\n\nexport type SetExtensionOptions = {\n overrideExisting?: boolean;\n ignoreVersion: boolean;\n mergeIntoExisting?: boolean;\n};\n\nexport type ConfigDeps = [];\n\nexport type ConfigConfig = {};\n\nexport class ConfigMain {\n constructor(public workspaceConfig?: WorkspaceConfig, public scopeConfig?: WorkspaceConfig) {}\n\n get type(): ConfigType {\n if (this.workspaceConfig) {\n return 'workspace';\n }\n return 'scope';\n }\n\n get path(): PathOsBased | undefined {\n return this.config?.path;\n }\n\n get config(): HostConfig | undefined {\n if (this.workspaceConfig) {\n return this.workspaceConfig;\n }\n return this.scopeConfig;\n }\n\n async reloadWorkspaceConfig() {\n const workspaceConfig = await loadWorkspaceConfigIfExist();\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} dirPath\n * @param {WorkspaceConfigFileProps} [workspaceConfigProps={} as any]\n * @returns {Promise<WorkspaceConfig>}\n * @memberof WorkspaceConfig\n */\n static async ensureWorkspace(\n dirPath: PathOsBasedAbsolute,\n workspaceConfigProps: WorkspaceConfigFileProps = {} as any\n ): Promise<ConfigMain> {\n const workspaceConfig = await WorkspaceConfig.ensure(dirPath, workspaceConfigProps);\n return new ConfigMain(workspaceConfig);\n }\n\n get extensions(): ExtensionDataList | undefined {\n return this.config?.extensions;\n }\n\n extension(extensionId: string, ignoreVersion: boolean): ExtensionDataEntry | undefined {\n return this.config?.extension(extensionId, ignoreVersion);\n }\n\n setExtension(extensionId: string, config: Record<string, any>, options: SetExtensionOptions) {\n this.config?.setExtension(extensionId, config, options);\n }\n\n getHarmonyConfigObject(): GlobalConfig {\n const config = {};\n if (!this.extensions) return config;\n this.extensions.forEach((extension) => {\n config[extension.stringId] = extension.config;\n });\n return config;\n }\n\n static runtime = MainRuntime;\n static slots = [];\n static dependencies = [];\n static config = {};\n static async provider() {\n LegacyWorkspaceConfig.registerOnWorkspaceConfigIsExist(onLegacyWorkspaceConfigIsExist());\n LegacyWorkspaceConfig.registerOnWorkspaceConfigEnsuring(onLegacyWorkspaceEnsure());\n\n let configMain: ConfigMain | any;\n const workspaceConfig = await loadWorkspaceConfigIfExist();\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(): Promise<WorkspaceConfig | undefined> {\n const consumerInfo = await getConsumerInfo(process.cwd());\n const configDirPath = consumerInfo?.path || process.cwd();\n const workspaceConfig = await WorkspaceConfig.loadIfExist(configDirPath);\n return workspaceConfig;\n}\n\nfunction onLegacyWorkspaceConfigIsExist(): WorkspaceConfigIsExistFunction {\n return async (dirPath: PathOsBased): Promise<boolean | undefined> => {\n return WorkspaceConfig.isExist(dirPath);\n };\n}\n\nfunction onLegacyWorkspaceLoad(config?: ConfigMain): WorkspaceConfigLoadFunction {\n return async (dirPath: PathOsBased): Promise<ILegacyWorkspaceConfig | undefined> => {\n if (config?.workspaceConfig && config.path && path.normalize(dirPath) === path.dirname(config.path)) {\n return (config.config as WorkspaceConfig).toLegacy();\n }\n const newConfig = await WorkspaceConfig.loadIfExist(dirPath);\n if (newConfig) {\n return newConfig.toLegacy();\n }\n return undefined;\n };\n}\n\nfunction onLegacyWorkspaceEnsure(): WorkspaceConfigEnsureFunction {\n const func: WorkspaceConfigEnsureFunction = async (\n dirPath: string,\n standAlone,\n legacyWorkspaceConfigProps?: LegacyWorkspaceConfigProps\n ) => {\n let workspaceConfigProps;\n if (legacyWorkspaceConfigProps) {\n workspaceConfigProps = transformLegacyPropsToExtensions(legacyWorkspaceConfigProps);\n }\n const config = await ConfigMain.ensureWorkspace(dirPath, workspaceConfigProps);\n const workspaceConfig = config.config;\n return (workspaceConfig as WorkspaceConfig).toLegacy();\n };\n return func;\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_consumer","data","require","_workspaceConfig","_interopRequireDefault","_utils","_cli","_path","_workspaceConfig2","_config","obj","__esModule","default","_defineProperty","key","value","_toPropertyKey","Object","defineProperty","enumerable","configurable","writable","t","i","_toPrimitive","String","r","e","Symbol","toPrimitive","call","TypeError","Number","ConfigMain","constructor","workspaceConfig","scopeConfig","type","path","config","reloadWorkspaceConfig","loadWorkspaceConfigIfExist","ensureWorkspace","workspacePath","scopePath","workspaceConfigProps","WorkspaceConfig","ensure","extensions","extension","extensionId","ignoreVersion","setExtension","options","getHarmonyConfigObject","forEach","stringId","provider","LegacyWorkspaceConfig","registerOnWorkspaceConfigIsExist","onLegacyWorkspaceConfigIsExist","registerOnWorkspaceConfigEnsuring","onLegacyWorkspaceEnsure","configMain","undefined","registerOnWorkspaceConfigLoading","onLegacyWorkspaceLoad","registerOnWorkspaceConfigReset","dirPath","resetHard","reset","exports","MainRuntime","ConfigAspect","addRuntime","consumerInfo","getConsumerInfo","process","cwd","configDirPath","findScopePath","loadIfExist","isExist","normalize","dirname","toLegacy","newConfig","func","standAlone","legacyWorkspaceConfigProps","transformLegacyPropsToExtensions"],"sources":["config.main.runtime.ts"],"sourcesContent":["import { getConsumerInfo } from '@teambit/legacy/dist/consumer';\nimport {\n ExtensionDataEntry,\n ExtensionDataList,\n ILegacyWorkspaceConfig,\n LegacyWorkspaceConfigProps,\n} from '@teambit/legacy/dist/consumer/config';\nimport LegacyWorkspaceConfig, {\n WorkspaceConfigEnsureFunction,\n WorkspaceConfigIsExistFunction,\n WorkspaceConfigLoadFunction,\n} from '@teambit/legacy/dist/consumer/config/workspace-config';\nimport { PathOsBased, PathOsBasedAbsolute } from '@teambit/legacy/dist/utils/path';\nimport { findScopePath } from '@teambit/legacy/dist/utils';\nimport { MainRuntime } from '@teambit/cli';\nimport { GlobalConfig } from '@teambit/harmony';\nimport path from 'path';\nimport { transformLegacyPropsToExtensions, WorkspaceConfig, WorkspaceConfigFileProps } from './workspace-config';\nimport { ConfigType, HostConfig } from './types';\nimport { ConfigAspect } from './config.aspect';\n\nexport type SetExtensionOptions = {\n overrideExisting?: boolean;\n ignoreVersion: boolean;\n mergeIntoExisting?: boolean;\n};\n\nexport type ConfigDeps = [];\n\nexport type ConfigConfig = {};\n\nexport class ConfigMain {\n constructor(public workspaceConfig?: WorkspaceConfig, public scopeConfig?: WorkspaceConfig) {}\n\n get type(): ConfigType {\n if (this.workspaceConfig) {\n return 'workspace';\n }\n return 'scope';\n }\n\n get path(): PathOsBased | undefined {\n return this.config?.path;\n }\n\n get config(): HostConfig | undefined {\n if (this.workspaceConfig) {\n return this.workspaceConfig;\n }\n return this.scopeConfig;\n }\n\n async reloadWorkspaceConfig() {\n const workspaceConfig = await loadWorkspaceConfigIfExist();\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() {\n LegacyWorkspaceConfig.registerOnWorkspaceConfigIsExist(onLegacyWorkspaceConfigIsExist());\n LegacyWorkspaceConfig.registerOnWorkspaceConfigEnsuring(onLegacyWorkspaceEnsure());\n\n let configMain: ConfigMain | any;\n const workspaceConfig = await loadWorkspaceConfigIfExist();\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(): Promise<WorkspaceConfig | undefined> {\n const consumerInfo = await getConsumerInfo(process.cwd());\n const configDirPath = consumerInfo?.path || process.cwd();\n const scopePath = findScopePath(configDirPath);\n const workspaceConfig = await WorkspaceConfig.loadIfExist(configDirPath, scopePath);\n return workspaceConfig;\n}\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, 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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"}
|
|
@@ -42,14 +42,14 @@ export type WorkspaceLegacyProps = {
|
|
|
42
42
|
export type ExtensionsDefs = WorkspaceSettingsNewProps;
|
|
43
43
|
export declare class WorkspaceConfig implements HostConfig {
|
|
44
44
|
private data;
|
|
45
|
+
private _path;
|
|
46
|
+
private scopePath?;
|
|
45
47
|
raw?: any;
|
|
46
|
-
_path?: string;
|
|
47
48
|
_extensions: ExtensionDataList;
|
|
48
49
|
_legacyProps?: WorkspaceLegacyProps;
|
|
49
50
|
isLegacy: boolean;
|
|
50
|
-
constructor(data: WorkspaceConfigFileProps);
|
|
51
|
+
constructor(data: WorkspaceConfigFileProps, _path: PathOsBasedAbsolute, scopePath?: PathOsBasedAbsolute);
|
|
51
52
|
get path(): PathOsBased;
|
|
52
|
-
set path(configPath: PathOsBased);
|
|
53
53
|
get extensions(): ExtensionDataList;
|
|
54
54
|
private loadExtensions;
|
|
55
55
|
extension(extensionId: string, ignoreVersion: boolean): any;
|
|
@@ -63,7 +63,7 @@ export declare class WorkspaceConfig implements HostConfig {
|
|
|
63
63
|
* @returns
|
|
64
64
|
* @memberof WorkspaceConfig
|
|
65
65
|
*/
|
|
66
|
-
static fromObject(data: WorkspaceConfigFileProps): WorkspaceConfig;
|
|
66
|
+
static fromObject(data: WorkspaceConfigFileProps, workspaceJsoncPath: PathOsBased, scopePath?: PathOsBasedAbsolute): WorkspaceConfig;
|
|
67
67
|
/**
|
|
68
68
|
* Create an instance of the WorkspaceConfig by the workspace config template and override values
|
|
69
69
|
*
|
|
@@ -72,7 +72,7 @@ export declare class WorkspaceConfig implements HostConfig {
|
|
|
72
72
|
* @returns
|
|
73
73
|
* @memberof WorkspaceConfig
|
|
74
74
|
*/
|
|
75
|
-
static create(props: WorkspaceConfigFileProps, dirPath
|
|
75
|
+
static create(props: WorkspaceConfigFileProps, dirPath: PathOsBasedAbsolute, scopePath: PathOsBasedAbsolute): Promise<WorkspaceConfig>;
|
|
76
76
|
/**
|
|
77
77
|
* Ensure the given directory has a workspace config
|
|
78
78
|
* Load if existing and create new if not
|
|
@@ -83,7 +83,7 @@ export declare class WorkspaceConfig implements HostConfig {
|
|
|
83
83
|
* @returns {Promise<WorkspaceConfig>}
|
|
84
84
|
* @memberof WorkspaceConfig
|
|
85
85
|
*/
|
|
86
|
-
static ensure(dirPath: PathOsBasedAbsolute, workspaceConfigProps?: WorkspaceConfigFileProps): Promise<WorkspaceConfig>;
|
|
86
|
+
static ensure(dirPath: PathOsBasedAbsolute, scopePath: PathOsBasedAbsolute, workspaceConfigProps?: WorkspaceConfigFileProps): Promise<WorkspaceConfig>;
|
|
87
87
|
static reset(dirPath: PathOsBasedAbsolute, resetHard: boolean): Promise<void>;
|
|
88
88
|
/**
|
|
89
89
|
* Get the path of the workspace.jsonc file by a containing folder
|
|
@@ -108,11 +108,17 @@ export declare class WorkspaceConfig implements HostConfig {
|
|
|
108
108
|
* @returns {(Promise<WorkspaceConfig | undefined>)}
|
|
109
109
|
* @memberof WorkspaceConfig
|
|
110
110
|
*/
|
|
111
|
-
static loadIfExist(dirPath: PathOsBased): Promise<WorkspaceConfig | undefined>;
|
|
112
|
-
static _loadFromWorkspaceJsonc(workspaceJsoncPath: PathOsBased): Promise<WorkspaceConfig>;
|
|
113
|
-
write({ dir }?: {
|
|
111
|
+
static loadIfExist(dirPath: PathOsBased, scopePath?: PathOsBasedAbsolute): Promise<WorkspaceConfig | undefined>;
|
|
112
|
+
static _loadFromWorkspaceJsonc(workspaceJsoncPath: PathOsBased, scopePath?: string): Promise<WorkspaceConfig>;
|
|
113
|
+
write({ dir, reasonForChange }?: {
|
|
114
114
|
dir?: PathOsBasedAbsolute;
|
|
115
|
+
reasonForChange?: string;
|
|
115
116
|
}): Promise<void>;
|
|
117
|
+
private backupConfigFile;
|
|
118
|
+
private getBackupDir;
|
|
119
|
+
getBackupHistoryDir(): string;
|
|
120
|
+
getBackupMetadataFilePath(): string;
|
|
121
|
+
private getParsedHistoryMetadata;
|
|
116
122
|
toVinyl(workspaceDir: PathOsBasedAbsolute): Promise<AbstractVinyl[] | undefined>;
|
|
117
123
|
toLegacy(): ILegacyWorkspaceConfig;
|
|
118
124
|
}
|
package/dist/workspace-config.js
CHANGED
|
@@ -49,6 +49,13 @@ function _logger() {
|
|
|
49
49
|
};
|
|
50
50
|
return data;
|
|
51
51
|
}
|
|
52
|
+
function _consumer() {
|
|
53
|
+
const data = require("@teambit/legacy/dist/consumer/consumer");
|
|
54
|
+
_consumer = function () {
|
|
55
|
+
return data;
|
|
56
|
+
};
|
|
57
|
+
return data;
|
|
58
|
+
}
|
|
52
59
|
function _commentJson() {
|
|
53
60
|
const data = require("comment-json");
|
|
54
61
|
_commentJson = function () {
|
|
@@ -91,13 +98,6 @@ function _exceptions() {
|
|
|
91
98
|
};
|
|
92
99
|
return data;
|
|
93
100
|
}
|
|
94
|
-
function _configDirNotDefined() {
|
|
95
|
-
const data = require("./exceptions/config-dir-not-defined");
|
|
96
|
-
_configDirNotDefined = function () {
|
|
97
|
-
return data;
|
|
98
|
-
};
|
|
99
|
-
return data;
|
|
100
|
-
}
|
|
101
101
|
function _invalidConfigFile() {
|
|
102
102
|
const data = _interopRequireDefault(require("./exceptions/invalid-config-file"));
|
|
103
103
|
_invalidConfigFile = function () {
|
|
@@ -115,10 +115,11 @@ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol"
|
|
|
115
115
|
function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
116
116
|
const INTERNAL_CONFIG_PROPS = ['$schema', '$schemaVersion'];
|
|
117
117
|
class WorkspaceConfig {
|
|
118
|
-
constructor(data) {
|
|
118
|
+
constructor(data, _path, scopePath) {
|
|
119
119
|
this.data = data;
|
|
120
|
+
this._path = _path;
|
|
121
|
+
this.scopePath = scopePath;
|
|
120
122
|
_defineProperty(this, "raw", void 0);
|
|
121
|
-
_defineProperty(this, "_path", void 0);
|
|
122
123
|
_defineProperty(this, "_extensions", void 0);
|
|
123
124
|
_defineProperty(this, "_legacyProps", void 0);
|
|
124
125
|
_defineProperty(this, "isLegacy", void 0);
|
|
@@ -126,10 +127,7 @@ class WorkspaceConfig {
|
|
|
126
127
|
this.loadExtensions();
|
|
127
128
|
}
|
|
128
129
|
get path() {
|
|
129
|
-
return this._path
|
|
130
|
-
}
|
|
131
|
-
set path(configPath) {
|
|
132
|
-
this._path = configPath;
|
|
130
|
+
return this._path;
|
|
133
131
|
}
|
|
134
132
|
get extensions() {
|
|
135
133
|
return this._extensions;
|
|
@@ -171,8 +169,8 @@ class WorkspaceConfig {
|
|
|
171
169
|
* @returns
|
|
172
170
|
* @memberof WorkspaceConfig
|
|
173
171
|
*/
|
|
174
|
-
static fromObject(data) {
|
|
175
|
-
return new WorkspaceConfig(data);
|
|
172
|
+
static fromObject(data, workspaceJsoncPath, scopePath) {
|
|
173
|
+
return new WorkspaceConfig(data, workspaceJsoncPath, scopePath);
|
|
176
174
|
}
|
|
177
175
|
|
|
178
176
|
/**
|
|
@@ -183,7 +181,7 @@ class WorkspaceConfig {
|
|
|
183
181
|
* @returns
|
|
184
182
|
* @memberof WorkspaceConfig
|
|
185
183
|
*/
|
|
186
|
-
static async create(props, dirPath) {
|
|
184
|
+
static async create(props, dirPath, scopePath) {
|
|
187
185
|
const template = await getWorkspaceConfigTemplateParsed();
|
|
188
186
|
// previously, we just did `assign(template, props)`, but it was replacing the entire workspace config with the "props".
|
|
189
187
|
// so for example, if the props only had defaultScope, it was removing the defaultDirectory.
|
|
@@ -191,11 +189,7 @@ class WorkspaceConfig {
|
|
|
191
189
|
const merged = (0, _commentJson().assign)(template, {
|
|
192
190
|
[_workspace().default.id]: workspaceAspectConf
|
|
193
191
|
});
|
|
194
|
-
|
|
195
|
-
if (dirPath) {
|
|
196
|
-
instance.path = WorkspaceConfig.composeWorkspaceJsoncPath(dirPath);
|
|
197
|
-
}
|
|
198
|
-
return instance;
|
|
192
|
+
return new WorkspaceConfig(merged, WorkspaceConfig.composeWorkspaceJsoncPath(dirPath), scopePath);
|
|
199
193
|
}
|
|
200
194
|
|
|
201
195
|
/**
|
|
@@ -208,17 +202,17 @@ class WorkspaceConfig {
|
|
|
208
202
|
* @returns {Promise<WorkspaceConfig>}
|
|
209
203
|
* @memberof WorkspaceConfig
|
|
210
204
|
*/
|
|
211
|
-
static async ensure(dirPath, workspaceConfigProps = {}) {
|
|
205
|
+
static async ensure(dirPath, scopePath, workspaceConfigProps = {}) {
|
|
212
206
|
try {
|
|
213
|
-
let workspaceConfig = await this.loadIfExist(dirPath);
|
|
207
|
+
let workspaceConfig = await this.loadIfExist(dirPath, scopePath);
|
|
214
208
|
if (workspaceConfig) {
|
|
215
209
|
return workspaceConfig;
|
|
216
210
|
}
|
|
217
|
-
workspaceConfig = await this.create(workspaceConfigProps, dirPath);
|
|
211
|
+
workspaceConfig = await this.create(workspaceConfigProps, dirPath, scopePath);
|
|
218
212
|
return workspaceConfig;
|
|
219
213
|
} catch (err) {
|
|
220
214
|
if (err instanceof _invalidConfigFile().default) {
|
|
221
|
-
const workspaceConfig = this.create(workspaceConfigProps, dirPath);
|
|
215
|
+
const workspaceConfig = this.create(workspaceConfigProps, dirPath, scopePath);
|
|
222
216
|
return workspaceConfig;
|
|
223
217
|
}
|
|
224
218
|
throw err;
|
|
@@ -268,17 +262,16 @@ class WorkspaceConfig {
|
|
|
268
262
|
* @returns {(Promise<WorkspaceConfig | undefined>)}
|
|
269
263
|
* @memberof WorkspaceConfig
|
|
270
264
|
*/
|
|
271
|
-
static async loadIfExist(dirPath) {
|
|
265
|
+
static async loadIfExist(dirPath, scopePath) {
|
|
272
266
|
const jsoncExist = await WorkspaceConfig.pathHasWorkspaceJsonc(dirPath);
|
|
273
267
|
if (jsoncExist) {
|
|
274
268
|
const jsoncPath = WorkspaceConfig.composeWorkspaceJsoncPath(dirPath);
|
|
275
|
-
const instance = await WorkspaceConfig._loadFromWorkspaceJsonc(jsoncPath);
|
|
276
|
-
instance.path = jsoncPath;
|
|
269
|
+
const instance = await WorkspaceConfig._loadFromWorkspaceJsonc(jsoncPath, scopePath);
|
|
277
270
|
return instance;
|
|
278
271
|
}
|
|
279
272
|
return undefined;
|
|
280
273
|
}
|
|
281
|
-
static async _loadFromWorkspaceJsonc(workspaceJsoncPath) {
|
|
274
|
+
static async _loadFromWorkspaceJsonc(workspaceJsoncPath, scopePath) {
|
|
282
275
|
const contentBuffer = await fs().readFile(workspaceJsoncPath);
|
|
283
276
|
let parsed;
|
|
284
277
|
try {
|
|
@@ -286,24 +279,69 @@ class WorkspaceConfig {
|
|
|
286
279
|
} catch (e) {
|
|
287
280
|
throw new (_invalidConfigFile().default)(workspaceJsoncPath);
|
|
288
281
|
}
|
|
289
|
-
return WorkspaceConfig.fromObject(parsed);
|
|
282
|
+
return WorkspaceConfig.fromObject(parsed, workspaceJsoncPath, scopePath);
|
|
290
283
|
}
|
|
291
284
|
async write({
|
|
292
|
-
dir
|
|
285
|
+
dir,
|
|
286
|
+
reasonForChange
|
|
293
287
|
} = {}) {
|
|
294
288
|
const getCalculatedDir = () => {
|
|
295
289
|
if (dir) return dir;
|
|
296
|
-
|
|
297
|
-
throw new (_configDirNotDefined().ConfigDirNotDefined)();
|
|
290
|
+
return path().dirname(this._path);
|
|
298
291
|
};
|
|
299
292
|
const calculatedDir = getCalculatedDir();
|
|
300
293
|
const files = await this.toVinyl(calculatedDir);
|
|
301
294
|
const dataToPersist = new (_dataToPersist().default)();
|
|
302
295
|
if (files) {
|
|
303
296
|
dataToPersist.addManyFiles(files);
|
|
304
|
-
|
|
297
|
+
await this.backupConfigFile(reasonForChange);
|
|
298
|
+
await dataToPersist.persistAllToFS();
|
|
305
299
|
}
|
|
306
|
-
|
|
300
|
+
}
|
|
301
|
+
async backupConfigFile(reasonForChange) {
|
|
302
|
+
if (!this.scopePath) {
|
|
303
|
+
_logger().default.error(`unable to backup workspace.jsonc file without scope path`);
|
|
304
|
+
return;
|
|
305
|
+
}
|
|
306
|
+
try {
|
|
307
|
+
const baseDir = this.getBackupHistoryDir();
|
|
308
|
+
await fs().ensureDir(baseDir);
|
|
309
|
+
const fileId = (0, _consumer().currentDateAndTimeToFileName)();
|
|
310
|
+
const backupPath = path().join(baseDir, fileId);
|
|
311
|
+
await fs().copyFile(this._path, backupPath);
|
|
312
|
+
const metadataFile = this.getBackupMetadataFilePath();
|
|
313
|
+
await fs().appendFile(metadataFile, `${fileId} ${reasonForChange || ''}\n`);
|
|
314
|
+
} catch (err) {
|
|
315
|
+
if (err.code === 'ENOENT') return; // no such file or directory, meaning the .bitmap file doesn't exist (yet)
|
|
316
|
+
// it's a nice to have feature. don't kill the process if something goes wrong.
|
|
317
|
+
_logger().default.error(`failed to backup workspace.jsonc`, err);
|
|
318
|
+
}
|
|
319
|
+
}
|
|
320
|
+
getBackupDir() {
|
|
321
|
+
if (!this.scopePath) throw new Error('unable to get backup dir without scope path');
|
|
322
|
+
return path().join(this.scopePath, 'workspace-config-history');
|
|
323
|
+
}
|
|
324
|
+
getBackupHistoryDir() {
|
|
325
|
+
return path().join(this.getBackupDir(), 'files');
|
|
326
|
+
}
|
|
327
|
+
getBackupMetadataFilePath() {
|
|
328
|
+
return path().join(this.getBackupDir(), 'metadata.txt');
|
|
329
|
+
}
|
|
330
|
+
async getParsedHistoryMetadata() {
|
|
331
|
+
let fileContent;
|
|
332
|
+
try {
|
|
333
|
+
fileContent = await fs().readFile(this.getBackupMetadataFilePath(), 'utf-8');
|
|
334
|
+
} catch (err) {
|
|
335
|
+
if (err.code === 'ENOENT') return {}; // no such file or directory, meaning the history-metadata file doesn't exist (yet)
|
|
336
|
+
}
|
|
337
|
+
const lines = fileContent?.split('\n') || [];
|
|
338
|
+
const metadata = {};
|
|
339
|
+
lines.forEach(line => {
|
|
340
|
+
const [fileId, ...reason] = line.split(' ');
|
|
341
|
+
if (!fileId) return;
|
|
342
|
+
metadata[fileId] = reason.join(' ');
|
|
343
|
+
});
|
|
344
|
+
return metadata;
|
|
307
345
|
}
|
|
308
346
|
async toVinyl(workspaceDir) {
|
|
309
347
|
const jsonStr = `${(0, _commentJson().stringify)(this.data, undefined, 2)}\n`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_constants","data","require","_sources","_dataToPersist","_interopRequireDefault","_config","_workspaceConfig","_logger","_commentJson","fs","_interopRequireWildcard","path","_lodash","_workspace","_exceptions","_configDirNotDefined","_invalidConfigFile","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","ownKeys","keys","getOwnPropertySymbols","o","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","key","value","_toPropertyKey","configurable","writable","_toPrimitive","String","Symbol","toPrimitive","TypeError","Number","INTERNAL_CONFIG_PROPS","WorkspaceConfig","constructor","raw","loadExtensions","_path","configPath","extensions","_extensions","withoutInternalConfig","omit","ExtensionDataList","fromConfigObject","extension","extensionId","ignoreVersion","existing","findExtension","config","setExtension","options","mergeIntoExisting","overrideExisting","ExtensionAlreadyConfigured","renameExtensionInRaw","oldExtId","newExtId","fromObject","create","props","dirPath","template","getWorkspaceConfigTemplateParsed","workspaceAspectConf","assign","WorkspaceAspect","id","merged","instance","composeWorkspaceJsoncPath","ensure","workspaceConfigProps","workspaceConfig","loadIfExist","err","InvalidConfigFile","reset","resetHard","workspaceJsoncPath","logger","info","remove","join","WORKSPACE_JSONC","pathHasWorkspaceJsonc","isExist","pathExists","jsoncExist","LegacyWorkspaceConfig","_isExist","jsoncPath","_loadFromWorkspaceJsonc","undefined","contentBuffer","readFile","parsed","parse","toString","write","dir","getCalculatedDir","dirname","ConfigDirNotDefined","calculatedDir","files","toVinyl","dataToPersist","DataToPersist","addManyFiles","persistAllToFS","workspaceDir","jsonStr","stringify","base","fullPath","jsonFile","AbstractVinyl","contents","Buffer","from","toLegacy","componentsDefaultDirectory","defaultDirectory","includes","lang","DEFAULT_LANGUAGE","defaultScope","_useWorkspaces","useWorkspaces","dependencyResolver","packageManager","_saveDependenciesAsComponents","_legacyProps","saveDependenciesAsComponents","_dependenciesDirectory","dependenciesDirectory","_manageWorkspaces","manageWorkspaces","toConfigObject","isLegacy","bind","_legacyPlainObject","exports","transformLegacyPropsToExtensions","legacyConfig","removeUndefined","entries","workspace","extraArgs","packageManagerArgs","packageManagerProcessOptions","isEmpty","fileContent","__dirname","code","stringifyWorkspaceConfig"],"sources":["workspace-config.ts"],"sourcesContent":["import { DEFAULT_LANGUAGE, WORKSPACE_JSONC } from '@teambit/legacy/dist/constants';\nimport { AbstractVinyl } from '@teambit/legacy/dist/consumer/component/sources';\nimport DataToPersist from '@teambit/legacy/dist/consumer/component/sources/data-to-persist';\nimport { ExtensionDataList, ILegacyWorkspaceConfig } from '@teambit/legacy/dist/consumer/config';\nimport LegacyWorkspaceConfig, {\n WorkspaceConfigProps as LegacyWorkspaceConfigProps,\n} from '@teambit/legacy/dist/consumer/config/workspace-config';\nimport logger from '@teambit/legacy/dist/logger/logger';\nimport { PathOsBased, PathOsBasedAbsolute } from '@teambit/legacy/dist/utils/path';\nimport { assign, parse, stringify, CommentJSONValue } from 'comment-json';\nimport * as fs from 'fs-extra';\nimport * as path from 'path';\nimport { isEmpty, omit } from 'lodash';\nimport WorkspaceAspect from '@teambit/workspace';\nimport { SetExtensionOptions } from './config.main.runtime';\nimport { ExtensionAlreadyConfigured } from './exceptions';\nimport { ConfigDirNotDefined } from './exceptions/config-dir-not-defined';\nimport InvalidConfigFile from './exceptions/invalid-config-file';\nimport { HostConfig } from './types';\n\nconst INTERNAL_CONFIG_PROPS = ['$schema', '$schemaVersion'];\n\nexport type LegacyInitProps = {\n standAlone?: boolean;\n};\n\nexport type WorkspaceConfigFileProps = {\n // TODO: make it no optional\n $schema?: string;\n $schemaVersion?: string;\n} & ExtensionsDefs;\n\nexport type ComponentScopeDirMapEntry = {\n defaultScope?: string;\n directory: string;\n};\n\nexport type ComponentScopeDirMap = Array<ComponentScopeDirMapEntry>;\n\nexport type WorkspaceExtensionProps = {\n defaultScope?: string;\n defaultDirectory?: string;\n components?: ComponentScopeDirMap;\n};\n\nexport type PackageManagerClients = 'npm' | 'yarn' | undefined;\n\nexport interface DependencyResolverExtensionProps {\n packageManager: PackageManagerClients;\n strictPeerDependencies?: boolean;\n extraArgs?: string[];\n packageManagerProcessOptions?: any;\n useWorkspaces?: boolean;\n manageWorkspaces?: boolean;\n}\n\nexport type WorkspaceSettingsNewProps = {\n 'teambit.workspace/workspace': WorkspaceExtensionProps;\n 'teambit.dependencies/dependency-resolver': DependencyResolverExtensionProps;\n};\n\nexport type WorkspaceLegacyProps = {\n dependenciesDirectory?: string;\n saveDependenciesAsComponents?: boolean;\n};\n\nexport type ExtensionsDefs = WorkspaceSettingsNewProps;\n\nexport class WorkspaceConfig implements HostConfig {\n raw?: any;\n _path?: string;\n _extensions: ExtensionDataList;\n _legacyProps?: WorkspaceLegacyProps;\n isLegacy: boolean;\n\n constructor(private data: WorkspaceConfigFileProps) {\n this.raw = data;\n this.loadExtensions();\n }\n\n get path(): PathOsBased {\n return this._path || '';\n }\n\n set path(configPath: PathOsBased) {\n this._path = configPath;\n }\n\n get extensions(): ExtensionDataList {\n return this._extensions;\n }\n\n private loadExtensions() {\n const withoutInternalConfig = omit(this.raw, INTERNAL_CONFIG_PROPS);\n this._extensions = ExtensionDataList.fromConfigObject(withoutInternalConfig);\n }\n\n extension(extensionId: string, ignoreVersion: boolean): any {\n const existing = this.extensions.findExtension(extensionId, ignoreVersion);\n return existing?.config;\n }\n\n setExtension(extensionId: string, config: Record<string, any>, options: SetExtensionOptions): any {\n const existing = this.extension(extensionId, options.ignoreVersion);\n if (existing) {\n if (options.mergeIntoExisting) {\n config = { ...existing, ...config };\n } else if (!options.overrideExisting) {\n throw new ExtensionAlreadyConfigured(extensionId);\n }\n }\n\n this.raw[extensionId] = config;\n this.loadExtensions();\n }\n\n renameExtensionInRaw(oldExtId: string, newExtId: string): boolean {\n if (this.raw[oldExtId]) {\n this.raw[newExtId] = this.raw[oldExtId];\n delete this.raw[oldExtId];\n return true;\n }\n return false;\n }\n\n /**\n * Create an instance of the WorkspaceConfig by data\n *\n * @static\n * @param {WorkspaceConfigFileProps} data\n * @returns\n * @memberof WorkspaceConfig\n */\n static fromObject(data: WorkspaceConfigFileProps) {\n return new WorkspaceConfig(data);\n }\n\n /**\n * Create an instance of the WorkspaceConfig by the workspace config template and override values\n *\n * @static\n * @param {WorkspaceConfigFileProps} data values to override in the default template\n * @returns\n * @memberof WorkspaceConfig\n */\n static async create(props: WorkspaceConfigFileProps, dirPath?: PathOsBasedAbsolute) {\n const template = await getWorkspaceConfigTemplateParsed();\n // previously, we just did `assign(template, props)`, but it was replacing the entire workspace config with the \"props\".\n // so for example, if the props only had defaultScope, it was removing the defaultDirectory.\n const workspaceAspectConf = assign(template[WorkspaceAspect.id], props[WorkspaceAspect.id]);\n const merged = assign(template, { [WorkspaceAspect.id]: workspaceAspectConf });\n const instance = new WorkspaceConfig(merged);\n if (dirPath) {\n instance.path = WorkspaceConfig.composeWorkspaceJsoncPath(dirPath);\n }\n return instance;\n }\n\n /**\n * Ensure the given directory has a workspace config\n * Load if existing and create new if not\n *\n * @static\n * @param {PathOsBasedAbsolute} dirPath\n * @param {WorkspaceConfigFileProps} [workspaceConfigProps={} as any]\n * @returns {Promise<WorkspaceConfig>}\n * @memberof WorkspaceConfig\n */\n static async ensure(\n dirPath: PathOsBasedAbsolute,\n workspaceConfigProps: WorkspaceConfigFileProps = {} as any\n ): Promise<WorkspaceConfig> {\n try {\n let workspaceConfig = await this.loadIfExist(dirPath);\n if (workspaceConfig) {\n return workspaceConfig;\n }\n workspaceConfig = await this.create(workspaceConfigProps, dirPath);\n return workspaceConfig;\n } catch (err: any) {\n if (err instanceof InvalidConfigFile) {\n const workspaceConfig = this.create(workspaceConfigProps, dirPath);\n return workspaceConfig;\n }\n throw err;\n }\n }\n\n static async reset(dirPath: PathOsBasedAbsolute, resetHard: boolean): Promise<void> {\n const workspaceJsoncPath = WorkspaceConfig.composeWorkspaceJsoncPath(dirPath);\n if (resetHard && workspaceJsoncPath) {\n logger.info(`deleting the consumer workspace.jsonc file at ${workspaceJsoncPath}`);\n await fs.remove(workspaceJsoncPath);\n }\n }\n\n /**\n * Get the path of the workspace.jsonc file by a containing folder\n *\n * @static\n * @param {PathOsBased} dirPath containing dir of the workspace.jsonc file\n * @returns {PathOsBased}\n * @memberof WorkspaceConfig\n */\n static composeWorkspaceJsoncPath(dirPath: PathOsBased): PathOsBased {\n return path.join(dirPath, WORKSPACE_JSONC);\n }\n\n static async pathHasWorkspaceJsonc(dirPath: PathOsBased): Promise<boolean> {\n const isExist = await fs.pathExists(WorkspaceConfig.composeWorkspaceJsoncPath(dirPath));\n return isExist;\n }\n\n /**\n * Check if the given dir has workspace config (new or legacy)\n * @param dirPath\n */\n static async isExist(dirPath: PathOsBased): Promise<boolean | undefined> {\n const jsoncExist = await WorkspaceConfig.pathHasWorkspaceJsonc(dirPath);\n if (jsoncExist) {\n return true;\n }\n return LegacyWorkspaceConfig._isExist(dirPath);\n }\n\n /**\n * Load the workspace configuration if it's exist\n *\n * @static\n * @param {PathOsBased} dirPath\n * @returns {(Promise<WorkspaceConfig | undefined>)}\n * @memberof WorkspaceConfig\n */\n static async loadIfExist(dirPath: PathOsBased): Promise<WorkspaceConfig | undefined> {\n const jsoncExist = await WorkspaceConfig.pathHasWorkspaceJsonc(dirPath);\n if (jsoncExist) {\n const jsoncPath = WorkspaceConfig.composeWorkspaceJsoncPath(dirPath);\n const instance = await WorkspaceConfig._loadFromWorkspaceJsonc(jsoncPath);\n instance.path = jsoncPath;\n return instance;\n }\n return undefined;\n }\n\n static async _loadFromWorkspaceJsonc(workspaceJsoncPath: PathOsBased): Promise<WorkspaceConfig> {\n const contentBuffer = await fs.readFile(workspaceJsoncPath);\n let parsed;\n try {\n parsed = parse(contentBuffer.toString());\n } catch (e: any) {\n throw new InvalidConfigFile(workspaceJsoncPath);\n }\n return WorkspaceConfig.fromObject(parsed);\n }\n\n async write({ dir }: { dir?: PathOsBasedAbsolute } = {}): Promise<void> {\n const getCalculatedDir = () => {\n if (dir) return dir;\n if (this._path) return path.dirname(this._path);\n throw new ConfigDirNotDefined();\n };\n const calculatedDir = getCalculatedDir();\n const files = await this.toVinyl(calculatedDir);\n const dataToPersist = new DataToPersist();\n if (files) {\n dataToPersist.addManyFiles(files);\n return dataToPersist.persistAllToFS();\n }\n return undefined;\n }\n\n async toVinyl(workspaceDir: PathOsBasedAbsolute): Promise<AbstractVinyl[] | undefined> {\n const jsonStr = `${stringify(this.data, undefined, 2)}\\n`;\n const base = workspaceDir;\n const fullPath = workspaceDir ? WorkspaceConfig.composeWorkspaceJsoncPath(workspaceDir) : this.path;\n const jsonFile = new AbstractVinyl({ base, path: fullPath, contents: Buffer.from(jsonStr) });\n return [jsonFile];\n }\n\n toLegacy(): ILegacyWorkspaceConfig {\n let componentsDefaultDirectory = this.extension('teambit.workspace/workspace', true)?.defaultDirectory;\n if (componentsDefaultDirectory && !componentsDefaultDirectory.includes('{name}')) {\n componentsDefaultDirectory = `${componentsDefaultDirectory}/{name}`;\n }\n\n return {\n lang: DEFAULT_LANGUAGE,\n defaultScope: this.extension('teambit.workspace/workspace', true)?.defaultScope,\n _useWorkspaces: this.extension('teambit.dependencies/dependency-resolver', true)?.useWorkspaces,\n dependencyResolver: this.extension('teambit.dependencies/dependency-resolver', true),\n packageManager: this.extension('teambit.dependencies/dependency-resolver', true)?.packageManager,\n _saveDependenciesAsComponents: this._legacyProps?.saveDependenciesAsComponents,\n _dependenciesDirectory: this._legacyProps?.dependenciesDirectory,\n componentsDefaultDirectory,\n _manageWorkspaces: this.extension('teambit.dependencies/dependency-resolver', true)?.manageWorkspaces,\n extensions: this.extensions.toConfigObject(),\n // @ts-ignore\n path: this.path,\n isLegacy: false,\n write: ({ workspaceDir }) => this.write.call(this, { dir: workspaceDir }),\n toVinyl: this.toVinyl.bind(this),\n _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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"}
|
|
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","prototype","hasOwnProperty","call","i","set","obj","ownKeys","keys","getOwnPropertySymbols","o","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","key","value","_toPropertyKey","configurable","writable","_toPrimitive","String","Symbol","toPrimitive","TypeError","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","fromObject","workspaceJsoncPath","create","props","dirPath","template","getWorkspaceConfigTemplateParsed","workspaceAspectConf","assign","WorkspaceAspect","id","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","includes","lang","DEFAULT_LANGUAGE","defaultScope","_useWorkspaces","useWorkspaces","dependencyResolver","packageManager","_saveDependenciesAsComponents","_legacyProps","saveDependenciesAsComponents","_dependenciesDirectory","dependenciesDirectory","_manageWorkspaces","manageWorkspaces","toConfigObject","isLegacy","bind","_legacyPlainObject","exports","transformLegacyPropsToExtensions","legacyConfig","removeUndefined","entries","workspace","extraArgs","packageManagerArgs","packageManagerProcessOptions","isEmpty","__dirname","stringifyWorkspaceConfig"],"sources":["workspace-config.ts"],"sourcesContent":["import { DEFAULT_LANGUAGE, WORKSPACE_JSONC } from '@teambit/legacy/dist/constants';\nimport { AbstractVinyl } from '@teambit/legacy/dist/consumer/component/sources';\nimport DataToPersist from '@teambit/legacy/dist/consumer/component/sources/data-to-persist';\nimport { ExtensionDataList, ILegacyWorkspaceConfig } from '@teambit/legacy/dist/consumer/config';\nimport LegacyWorkspaceConfig, {\n WorkspaceConfigProps as LegacyWorkspaceConfigProps,\n} from '@teambit/legacy/dist/consumer/config/workspace-config';\nimport logger from '@teambit/legacy/dist/logger/logger';\nimport { PathOsBased, PathOsBasedAbsolute } from '@teambit/legacy/dist/utils/path';\nimport { 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'];\n\nexport type LegacyInitProps = {\n standAlone?: boolean;\n};\n\nexport type WorkspaceConfigFileProps = {\n // TODO: make it no optional\n $schema?: string;\n $schemaVersion?: string;\n} & ExtensionsDefs;\n\nexport type ComponentScopeDirMapEntry = {\n defaultScope?: string;\n directory: string;\n};\n\nexport type ComponentScopeDirMap = Array<ComponentScopeDirMapEntry>;\n\nexport type WorkspaceExtensionProps = {\n defaultScope?: string;\n defaultDirectory?: string;\n components?: ComponentScopeDirMap;\n};\n\nexport type PackageManagerClients = 'npm' | 'yarn' | undefined;\n\nexport interface DependencyResolverExtensionProps {\n packageManager: PackageManagerClients;\n strictPeerDependencies?: boolean;\n extraArgs?: string[];\n packageManagerProcessOptions?: any;\n useWorkspaces?: boolean;\n manageWorkspaces?: boolean;\n}\n\nexport type WorkspaceSettingsNewProps = {\n 'teambit.workspace/workspace': WorkspaceExtensionProps;\n 'teambit.dependencies/dependency-resolver': DependencyResolverExtensionProps;\n};\n\nexport type WorkspaceLegacyProps = {\n dependenciesDirectory?: string;\n saveDependenciesAsComponents?: boolean;\n};\n\nexport type ExtensionsDefs = WorkspaceSettingsNewProps;\n\nexport class WorkspaceConfig implements HostConfig {\n raw?: any;\n _extensions: ExtensionDataList;\n _legacyProps?: WorkspaceLegacyProps;\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 if (this.raw[oldExtId]) {\n this.raw[newExtId] = this.raw[oldExtId];\n delete this.raw[oldExtId];\n return true;\n }\n return false;\n }\n\n /**\n * Create an instance of the WorkspaceConfig by data\n *\n * @static\n * @param {WorkspaceConfigFileProps} data\n * @returns\n * @memberof WorkspaceConfig\n */\n static fromObject(data: WorkspaceConfigFileProps, 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 private 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 _saveDependenciesAsComponents: this._legacyProps?.saveDependenciesAsComponents,\n _dependenciesDirectory: this._legacyProps?.dependenciesDirectory,\n componentsDefaultDirectory,\n _manageWorkspaces: this.extension('teambit.dependencies/dependency-resolver', true)?.manageWorkspaces,\n extensions: this.extensions.toConfigObject(),\n // @ts-ignore\n path: this.path,\n isLegacy: false,\n write: ({ workspaceDir }) => this.write.call(this, { dir: workspaceDir }),\n toVinyl: this.toVinyl.bind(this),\n _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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"}
|
package/package.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@teambit/config",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.863",
|
|
4
4
|
"homepage": "https://bit.cloud/teambit/harmony/config",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"componentId": {
|
|
7
7
|
"scope": "teambit.harmony",
|
|
8
8
|
"name": "config",
|
|
9
|
-
"version": "0.0.
|
|
9
|
+
"version": "0.0.863"
|
|
10
10
|
},
|
|
11
11
|
"dependencies": {
|
|
12
12
|
"comment-json": "3.0.3",
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
"@teambit/harmony": "0.4.6",
|
|
17
17
|
"@teambit/bit-error": "0.0.404",
|
|
18
18
|
"@teambit/cli": "0.0.842",
|
|
19
|
-
"@teambit/workspace": "1.0.
|
|
19
|
+
"@teambit/workspace": "1.0.112"
|
|
20
20
|
},
|
|
21
21
|
"devDependencies": {
|
|
22
22
|
"@types/fs-extra": "9.0.7",
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.ConfigDirNotDefined = void 0;
|
|
7
|
-
function _bitError() {
|
|
8
|
-
const data = require("@teambit/bit-error");
|
|
9
|
-
_bitError = function () {
|
|
10
|
-
return data;
|
|
11
|
-
};
|
|
12
|
-
return data;
|
|
13
|
-
}
|
|
14
|
-
class ConfigDirNotDefined extends _bitError().BitError {
|
|
15
|
-
constructor() {
|
|
16
|
-
super(`error: the config directory is not defined`);
|
|
17
|
-
}
|
|
18
|
-
}
|
|
19
|
-
exports.ConfigDirNotDefined = ConfigDirNotDefined;
|
|
20
|
-
|
|
21
|
-
//# sourceMappingURL=config-dir-not-defined.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["_bitError","data","require","ConfigDirNotDefined","BitError","constructor","exports"],"sources":["config-dir-not-defined.ts"],"sourcesContent":["import { BitError } from '@teambit/bit-error';\n\nexport class ConfigDirNotDefined extends BitError {\n constructor() {\n super(`error: the config directory is not defined`);\n }\n}\n"],"mappings":";;;;;;AAAA,SAAAA,UAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,SAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEO,MAAME,mBAAmB,SAASC,oBAAQ,CAAC;EAChDC,WAAWA,CAAA,EAAG;IACZ,KAAK,CAAE,4CAA2C,CAAC;EACrD;AACF;AAACC,OAAA,CAAAH,mBAAA,GAAAA,mBAAA"}
|
|
File without changes
|