@teambit/config 0.0.852 → 0.0.854

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.
@@ -77,6 +77,13 @@ function _lodash() {
77
77
  };
78
78
  return data;
79
79
  }
80
+ function _workspace() {
81
+ const data = _interopRequireDefault(require("@teambit/workspace"));
82
+ _workspace = function () {
83
+ return data;
84
+ };
85
+ return data;
86
+ }
80
87
  function _exceptions() {
81
88
  const data = require("./exceptions");
82
89
  _exceptions = function () {
@@ -178,9 +185,12 @@ class WorkspaceConfig {
178
185
  */
179
186
  static async create(props, dirPath) {
180
187
  const template = await getWorkspaceConfigTemplateParsed();
181
- // TODO: replace this assign with some kind of deepAssign that keeps the comments
182
- // right now the comments above the internal props are overrides after the assign
183
- const merged = (0, _commentJson().assign)(template, props);
188
+ // previously, we just did `assign(template, props)`, but it was replacing the entire workspace config with the "props".
189
+ // so for example, if the props only had defaultScope, it was removing the defaultDirectory.
190
+ const workspaceAspectConf = (0, _commentJson().assign)(template[_workspace().default.id], props[_workspace().default.id]);
191
+ const merged = (0, _commentJson().assign)(template, {
192
+ [_workspace().default.id]: workspaceAspectConf
193
+ });
184
194
  const instance = new WorkspaceConfig(merged);
185
195
  if (dirPath) {
186
196
  instance.path = WorkspaceConfig.composeWorkspaceJsoncPath(dirPath);
@@ -332,15 +342,12 @@ class WorkspaceConfig {
332
342
  dir: workspaceDir
333
343
  }),
334
344
  toVinyl: this.toVinyl.bind(this),
335
- componentsConfig: undefined,
336
- getComponentConfig: () => undefined,
337
345
  _legacyPlainObject: () => undefined
338
346
  };
339
347
  }
340
348
  }
341
349
  exports.WorkspaceConfig = WorkspaceConfig;
342
350
  function transformLegacyPropsToExtensions(legacyConfig) {
343
- var _legacyConfig$overrid;
344
351
  // TODO: move to utils
345
352
  const removeUndefined = obj => {
346
353
  // const res = omit(mapObjIndexed((val) => val === undefined))(obj);
@@ -362,7 +369,6 @@ function transformLegacyPropsToExtensions(legacyConfig) {
362
369
  manageWorkspaces: legacyConfig.manageWorkspaces,
363
370
  useWorkspaces: legacyConfig.useWorkspaces
364
371
  });
365
- const variants = (_legacyConfig$overrid = legacyConfig.overrides) === null || _legacyConfig$overrid === void 0 ? void 0 : _legacyConfig$overrid.overrides;
366
372
  const data = {};
367
373
  if (workspace && !(0, _lodash().isEmpty)(workspace)) {
368
374
  data['teambit.workspace/workspace'] = workspace;
@@ -370,12 +376,6 @@ function transformLegacyPropsToExtensions(legacyConfig) {
370
376
  if (dependencyResolver && !(0, _lodash().isEmpty)(dependencyResolver)) {
371
377
  data['teambit.dependencies/dependency-resolver'] = dependencyResolver;
372
378
  }
373
- // TODO: add variants here once we have a way to pass the deps overrides and general key vals for package.json to
374
- // TODO: new extensions (via dependency-resolver extension and pkg extensions)
375
- // TODO: transform legacy props to new one once dependency-resolver extension and pkg extensions are ready
376
- if (variants && !(0, _lodash().isEmpty)(variants)) {
377
- data['teambit.workspace/variants'] = variants;
378
- }
379
379
  // @ts-ignore
380
380
  return data;
381
381
  }
@@ -1 +1 @@
1
- {"version":3,"names":["_constants","data","require","_sources","_dataToPersist","_interopRequireDefault","_config","_workspaceConfig","_logger","_commentJson","fs","_interopRequireWildcard","path","_lodash","_exceptions","_configDirNotDefined","_invalidConfigFile","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","ownKeys","keys","getOwnPropertySymbols","o","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","key","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","INTERNAL_CONFIG_PROPS","WorkspaceConfig","constructor","raw","loadExtensions","_path","configPath","extensions","_extensions","withoutInternalConfig","omit","ExtensionDataList","fromConfigObject","extension","extensionId","ignoreVersion","existing","findExtension","config","setExtension","options","mergeIntoExisting","overrideExisting","ExtensionAlreadyConfigured","renameExtensionInRaw","oldExtId","newExtId","fromObject","create","props","dirPath","template","getWorkspaceConfigTemplateParsed","merged","assign","instance","composeWorkspaceJsoncPath","ensure","workspaceConfigProps","workspaceConfig","loadIfExist","err","InvalidConfigFile","reset","resetHard","workspaceJsoncPath","logger","info","remove","join","WORKSPACE_JSONC","pathHasWorkspaceJsonc","isExist","pathExists","jsoncExist","LegacyWorkspaceConfig","_isExist","jsoncPath","_loadFromWorkspaceJsonc","contentBuffer","readFile","parsed","parse","toString","write","dir","getCalculatedDir","dirname","ConfigDirNotDefined","calculatedDir","files","toVinyl","dataToPersist","DataToPersist","addManyFiles","persistAllToFS","workspaceDir","jsonStr","stringify","base","fullPath","jsonFile","AbstractVinyl","contents","Buffer","from","toLegacy","_this$extension","_this$extension2","_this$extension3","_this$extension4","_this$_legacyProps","_this$_legacyProps2","_this$extension5","componentsDefaultDirectory","defaultDirectory","includes","lang","DEFAULT_LANGUAGE","defaultScope","_useWorkspaces","useWorkspaces","dependencyResolver","packageManager","_saveDependenciesAsComponents","_legacyProps","saveDependenciesAsComponents","_dependenciesDirectory","dependenciesDirectory","_manageWorkspaces","manageWorkspaces","toConfigObject","isLegacy","bind","componentsConfig","getComponentConfig","_legacyPlainObject","exports","transformLegacyPropsToExtensions","legacyConfig","_legacyConfig$overrid","removeUndefined","entries","workspace","extraArgs","packageManagerArgs","packageManagerProcessOptions","variants","overrides","isEmpty","fileContent","__dirname","code","stringifyWorkspaceConfig"],"sources":["workspace-config.ts"],"sourcesContent":["import { DEFAULT_LANGUAGE, WORKSPACE_JSONC } from '@teambit/legacy/dist/constants';\nimport { AbstractVinyl } from '@teambit/legacy/dist/consumer/component/sources';\nimport DataToPersist from '@teambit/legacy/dist/consumer/component/sources/data-to-persist';\nimport { ExtensionDataList, ILegacyWorkspaceConfig } from '@teambit/legacy/dist/consumer/config';\nimport LegacyWorkspaceConfig, {\n WorkspaceConfigProps as LegacyWorkspaceConfigProps,\n} from '@teambit/legacy/dist/consumer/config/workspace-config';\nimport logger from '@teambit/legacy/dist/logger/logger';\nimport { PathOsBased, PathOsBasedAbsolute } from '@teambit/legacy/dist/utils/path';\nimport { assign, parse, stringify, CommentJSONValue } from 'comment-json';\nimport * as fs from 'fs-extra';\nimport * as path from 'path';\nimport { isEmpty, omit } from 'lodash';\n\nimport { SetExtensionOptions } from './config.main.runtime';\nimport { ExtensionAlreadyConfigured } from './exceptions';\nimport { ConfigDirNotDefined } from './exceptions/config-dir-not-defined';\nimport InvalidConfigFile from './exceptions/invalid-config-file';\nimport { HostConfig } from './types';\n\nconst INTERNAL_CONFIG_PROPS = ['$schema', '$schemaVersion'];\n\nexport type LegacyInitProps = {\n standAlone?: boolean;\n};\n\nexport type WorkspaceConfigFileProps = {\n // TODO: make it no optional\n $schema?: string;\n $schemaVersion?: string;\n} & ExtensionsDefs;\n\nexport type ComponentScopeDirMapEntry = {\n defaultScope?: string;\n directory: string;\n};\n\nexport type ComponentScopeDirMap = Array<ComponentScopeDirMapEntry>;\n\nexport type WorkspaceExtensionProps = {\n defaultScope?: string;\n defaultDirectory?: string;\n components?: ComponentScopeDirMap;\n};\n\nexport type PackageManagerClients = 'npm' | 'yarn' | undefined;\n\nexport interface DependencyResolverExtensionProps {\n packageManager: PackageManagerClients;\n strictPeerDependencies?: boolean;\n extraArgs?: string[];\n packageManagerProcessOptions?: any;\n useWorkspaces?: boolean;\n manageWorkspaces?: boolean;\n}\n\nexport type WorkspaceSettingsNewProps = {\n 'teambit.workspace/workspace': WorkspaceExtensionProps;\n 'teambit.dependencies/dependency-resolver': DependencyResolverExtensionProps;\n};\n\nexport type WorkspaceLegacyProps = {\n dependenciesDirectory?: string;\n bindingPrefix?: string;\n saveDependenciesAsComponents?: boolean;\n};\n\nexport type ExtensionsDefs = WorkspaceSettingsNewProps;\n\nexport class WorkspaceConfig implements HostConfig {\n raw?: any;\n _path?: string;\n _extensions: ExtensionDataList;\n _legacyProps?: WorkspaceLegacyProps;\n isLegacy: boolean;\n\n constructor(private data: WorkspaceConfigFileProps) {\n this.raw = data;\n this.loadExtensions();\n }\n\n get path(): PathOsBased {\n return this._path || '';\n }\n\n set path(configPath: PathOsBased) {\n this._path = configPath;\n }\n\n get extensions(): ExtensionDataList {\n return this._extensions;\n }\n\n private loadExtensions() {\n const withoutInternalConfig = omit(this.raw, INTERNAL_CONFIG_PROPS);\n this._extensions = ExtensionDataList.fromConfigObject(withoutInternalConfig);\n }\n\n extension(extensionId: string, ignoreVersion: boolean): any {\n const existing = this.extensions.findExtension(extensionId, ignoreVersion);\n return existing?.config;\n }\n\n setExtension(extensionId: string, config: Record<string, any>, options: SetExtensionOptions): any {\n const existing = this.extension(extensionId, options.ignoreVersion);\n if (existing) {\n if (options.mergeIntoExisting) {\n config = { ...existing, ...config };\n } else if (!options.overrideExisting) {\n throw new ExtensionAlreadyConfigured(extensionId);\n }\n }\n\n this.raw[extensionId] = config;\n this.loadExtensions();\n }\n\n renameExtensionInRaw(oldExtId: string, newExtId: string): boolean {\n if (this.raw[oldExtId]) {\n this.raw[newExtId] = this.raw[oldExtId];\n delete this.raw[oldExtId];\n return true;\n }\n return false;\n }\n\n /**\n * Create an instance of the WorkspaceConfig by data\n *\n * @static\n * @param {WorkspaceConfigFileProps} data\n * @returns\n * @memberof WorkspaceConfig\n */\n static fromObject(data: WorkspaceConfigFileProps) {\n return new WorkspaceConfig(data);\n }\n\n /**\n * Create an instance of the WorkspaceConfig by the workspace config template and override values\n *\n * @static\n * @param {WorkspaceConfigFileProps} data values to override in the default template\n * @returns\n * @memberof WorkspaceConfig\n */\n static async create(props: WorkspaceConfigFileProps, dirPath?: PathOsBasedAbsolute) {\n const template = await getWorkspaceConfigTemplateParsed();\n // TODO: replace this assign with some kind of deepAssign that keeps the comments\n // right now the comments above the internal props are overrides after the assign\n const merged = assign(template, props);\n const instance = new WorkspaceConfig(merged);\n if (dirPath) {\n instance.path = WorkspaceConfig.composeWorkspaceJsoncPath(dirPath);\n }\n return instance;\n }\n\n /**\n * Ensure the given directory has a workspace config\n * Load if existing and create new if not\n *\n * @static\n * @param {PathOsBasedAbsolute} dirPath\n * @param {WorkspaceConfigFileProps} [workspaceConfigProps={} as any]\n * @returns {Promise<WorkspaceConfig>}\n * @memberof WorkspaceConfig\n */\n static async ensure(\n dirPath: PathOsBasedAbsolute,\n workspaceConfigProps: WorkspaceConfigFileProps = {} as any\n ): Promise<WorkspaceConfig> {\n try {\n let workspaceConfig = await this.loadIfExist(dirPath);\n if (workspaceConfig) {\n return workspaceConfig;\n }\n workspaceConfig = await this.create(workspaceConfigProps, dirPath);\n return workspaceConfig;\n } catch (err: any) {\n if (err instanceof InvalidConfigFile) {\n const workspaceConfig = this.create(workspaceConfigProps, dirPath);\n return workspaceConfig;\n }\n throw err;\n }\n }\n\n static async reset(dirPath: PathOsBasedAbsolute, resetHard: boolean): Promise<void> {\n const workspaceJsoncPath = WorkspaceConfig.composeWorkspaceJsoncPath(dirPath);\n if (resetHard && workspaceJsoncPath) {\n logger.info(`deleting the consumer workspace.jsonc file at ${workspaceJsoncPath}`);\n await fs.remove(workspaceJsoncPath);\n }\n }\n\n /**\n * Get the path of the workspace.jsonc file by a containing folder\n *\n * @static\n * @param {PathOsBased} dirPath containing dir of the workspace.jsonc file\n * @returns {PathOsBased}\n * @memberof WorkspaceConfig\n */\n static composeWorkspaceJsoncPath(dirPath: PathOsBased): PathOsBased {\n return path.join(dirPath, WORKSPACE_JSONC);\n }\n\n static async pathHasWorkspaceJsonc(dirPath: PathOsBased): Promise<boolean> {\n const isExist = await fs.pathExists(WorkspaceConfig.composeWorkspaceJsoncPath(dirPath));\n return isExist;\n }\n\n /**\n * Check if the given dir has workspace config (new or legacy)\n * @param dirPath\n */\n static async isExist(dirPath: PathOsBased): Promise<boolean | undefined> {\n const jsoncExist = await WorkspaceConfig.pathHasWorkspaceJsonc(dirPath);\n if (jsoncExist) {\n return true;\n }\n return LegacyWorkspaceConfig._isExist(dirPath);\n }\n\n /**\n * Load the workspace configuration if it's exist\n *\n * @static\n * @param {PathOsBased} dirPath\n * @returns {(Promise<WorkspaceConfig | undefined>)}\n * @memberof WorkspaceConfig\n */\n static async loadIfExist(dirPath: PathOsBased): Promise<WorkspaceConfig | undefined> {\n const jsoncExist = await WorkspaceConfig.pathHasWorkspaceJsonc(dirPath);\n if (jsoncExist) {\n const jsoncPath = WorkspaceConfig.composeWorkspaceJsoncPath(dirPath);\n const instance = await WorkspaceConfig._loadFromWorkspaceJsonc(jsoncPath);\n instance.path = jsoncPath;\n return instance;\n }\n return undefined;\n }\n\n static async _loadFromWorkspaceJsonc(workspaceJsoncPath: PathOsBased): Promise<WorkspaceConfig> {\n const contentBuffer = await fs.readFile(workspaceJsoncPath);\n let parsed;\n try {\n parsed = parse(contentBuffer.toString());\n } catch (e: any) {\n throw new InvalidConfigFile(workspaceJsoncPath);\n }\n return WorkspaceConfig.fromObject(parsed);\n }\n\n async write({ dir }: { dir?: PathOsBasedAbsolute } = {}): Promise<void> {\n const getCalculatedDir = () => {\n if (dir) return dir;\n if (this._path) return path.dirname(this._path);\n throw new ConfigDirNotDefined();\n };\n const calculatedDir = getCalculatedDir();\n const files = await this.toVinyl(calculatedDir);\n const dataToPersist = new DataToPersist();\n if (files) {\n dataToPersist.addManyFiles(files);\n return dataToPersist.persistAllToFS();\n }\n return undefined;\n }\n\n async toVinyl(workspaceDir: PathOsBasedAbsolute): Promise<AbstractVinyl[] | undefined> {\n const jsonStr = `${stringify(this.data, undefined, 2)}\\n`;\n const base = workspaceDir;\n const fullPath = workspaceDir ? WorkspaceConfig.composeWorkspaceJsoncPath(workspaceDir) : this.path;\n const jsonFile = new AbstractVinyl({ base, path: fullPath, contents: Buffer.from(jsonStr) });\n return [jsonFile];\n }\n\n toLegacy(): ILegacyWorkspaceConfig {\n let componentsDefaultDirectory = this.extension('teambit.workspace/workspace', true)?.defaultDirectory;\n if (componentsDefaultDirectory && !componentsDefaultDirectory.includes('{name}')) {\n componentsDefaultDirectory = `${componentsDefaultDirectory}/{name}`;\n }\n\n return {\n lang: DEFAULT_LANGUAGE,\n defaultScope: this.extension('teambit.workspace/workspace', true)?.defaultScope,\n _useWorkspaces: this.extension('teambit.dependencies/dependency-resolver', true)?.useWorkspaces,\n dependencyResolver: this.extension('teambit.dependencies/dependency-resolver', true),\n packageManager: this.extension('teambit.dependencies/dependency-resolver', true)?.packageManager,\n _saveDependenciesAsComponents: this._legacyProps?.saveDependenciesAsComponents,\n _dependenciesDirectory: this._legacyProps?.dependenciesDirectory,\n componentsDefaultDirectory,\n _manageWorkspaces: this.extension('teambit.dependencies/dependency-resolver', true)?.manageWorkspaces,\n extensions: this.extensions.toConfigObject(),\n // @ts-ignore\n path: this.path,\n isLegacy: false,\n write: ({ workspaceDir }) => this.write.call(this, { dir: workspaceDir }),\n toVinyl: this.toVinyl.bind(this),\n componentsConfig: undefined,\n getComponentConfig: () => undefined,\n _legacyPlainObject: () => undefined,\n };\n }\n}\n\nexport function transformLegacyPropsToExtensions(\n legacyConfig: LegacyWorkspaceConfig | LegacyWorkspaceConfigProps\n): ExtensionsDefs {\n // TODO: move to utils\n const removeUndefined = (obj) => {\n // const res = omit(mapObjIndexed((val) => val === undefined))(obj);\n // return res;\n Object.entries(obj).forEach((e) => {\n if (e[1] === undefined) delete obj[e[0]];\n });\n return obj;\n };\n\n const workspace = removeUndefined({\n defaultScope: legacyConfig.defaultScope,\n defaultDirectory: legacyConfig.componentsDefaultDirectory,\n });\n const dependencyResolver = removeUndefined({\n packageManager: legacyConfig.packageManager,\n // strictPeerDependencies: false,\n extraArgs: legacyConfig.packageManagerArgs,\n packageManagerProcessOptions: legacyConfig.packageManagerProcessOptions,\n manageWorkspaces: legacyConfig.manageWorkspaces,\n useWorkspaces: legacyConfig.useWorkspaces,\n });\n const variants = legacyConfig.overrides?.overrides;\n const data = {};\n if (workspace && !isEmpty(workspace)) {\n data['teambit.workspace/workspace'] = workspace;\n }\n if (dependencyResolver && !isEmpty(dependencyResolver)) {\n data['teambit.dependencies/dependency-resolver'] = dependencyResolver;\n }\n // TODO: add variants here once we have a way to pass the deps overrides and general key vals for package.json to\n // TODO: new extensions (via dependency-resolver extension and pkg extensions)\n // TODO: transform legacy props to new one once dependency-resolver extension and pkg extensions are ready\n if (variants && !isEmpty(variants)) {\n data['teambit.workspace/variants'] = variants;\n }\n // @ts-ignore\n return data;\n}\n\nexport async function getWorkspaceConfigTemplateParsed(): Promise<CommentJSONValue> {\n let fileContent: Buffer;\n try {\n fileContent = await fs.readFile(path.join(__dirname, 'workspace-template.jsonc'));\n } catch (err: any) {\n if (err.code !== 'ENOENT') throw err;\n // when the extension is compiled by tsc, it doesn't copy .jsonc files into the dists, grab it from src\n fileContent = await fs.readFile(path.join(__dirname, '..', 'workspace-template.jsonc'));\n }\n return parse(fileContent.toString());\n}\n\nexport function stringifyWorkspaceConfig(workspaceConfig: CommentJSONValue): string {\n return stringify(workspaceConfig, undefined, 2);\n}\n"],"mappings":"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"}
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","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","INTERNAL_CONFIG_PROPS","WorkspaceConfig","constructor","raw","loadExtensions","_path","configPath","extensions","_extensions","withoutInternalConfig","omit","ExtensionDataList","fromConfigObject","extension","extensionId","ignoreVersion","existing","findExtension","config","setExtension","options","mergeIntoExisting","overrideExisting","ExtensionAlreadyConfigured","renameExtensionInRaw","oldExtId","newExtId","fromObject","create","props","dirPath","template","getWorkspaceConfigTemplateParsed","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","contentBuffer","readFile","parsed","parse","toString","write","dir","getCalculatedDir","dirname","ConfigDirNotDefined","calculatedDir","files","toVinyl","dataToPersist","DataToPersist","addManyFiles","persistAllToFS","workspaceDir","jsonStr","stringify","base","fullPath","jsonFile","AbstractVinyl","contents","Buffer","from","toLegacy","_this$extension","_this$extension2","_this$extension3","_this$extension4","_this$_legacyProps","_this$_legacyProps2","_this$extension5","componentsDefaultDirectory","defaultDirectory","includes","lang","DEFAULT_LANGUAGE","defaultScope","_useWorkspaces","useWorkspaces","dependencyResolver","packageManager","_saveDependenciesAsComponents","_legacyProps","saveDependenciesAsComponents","_dependenciesDirectory","dependenciesDirectory","_manageWorkspaces","manageWorkspaces","toConfigObject","isLegacy","bind","_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 bindingPrefix?: string;\n saveDependenciesAsComponents?: boolean;\n};\n\nexport type ExtensionsDefs = WorkspaceSettingsNewProps;\n\nexport class WorkspaceConfig implements HostConfig {\n raw?: any;\n _path?: string;\n _extensions: ExtensionDataList;\n _legacyProps?: WorkspaceLegacyProps;\n isLegacy: boolean;\n\n constructor(private data: WorkspaceConfigFileProps) {\n this.raw = data;\n this.loadExtensions();\n }\n\n get path(): PathOsBased {\n return this._path || '';\n }\n\n set path(configPath: PathOsBased) {\n this._path = configPath;\n }\n\n get extensions(): ExtensionDataList {\n return this._extensions;\n }\n\n private loadExtensions() {\n const withoutInternalConfig = omit(this.raw, INTERNAL_CONFIG_PROPS);\n this._extensions = ExtensionDataList.fromConfigObject(withoutInternalConfig);\n }\n\n extension(extensionId: string, ignoreVersion: boolean): any {\n const existing = this.extensions.findExtension(extensionId, ignoreVersion);\n return existing?.config;\n }\n\n setExtension(extensionId: string, config: Record<string, any>, options: SetExtensionOptions): any {\n const existing = this.extension(extensionId, options.ignoreVersion);\n if (existing) {\n if (options.mergeIntoExisting) {\n config = { ...existing, ...config };\n } else if (!options.overrideExisting) {\n throw new ExtensionAlreadyConfigured(extensionId);\n }\n }\n\n this.raw[extensionId] = config;\n this.loadExtensions();\n }\n\n renameExtensionInRaw(oldExtId: string, newExtId: string): boolean {\n if (this.raw[oldExtId]) {\n this.raw[newExtId] = this.raw[oldExtId];\n delete this.raw[oldExtId];\n return true;\n }\n return false;\n }\n\n /**\n * Create an instance of the WorkspaceConfig by data\n *\n * @static\n * @param {WorkspaceConfigFileProps} data\n * @returns\n * @memberof WorkspaceConfig\n */\n static fromObject(data: WorkspaceConfigFileProps) {\n return new WorkspaceConfig(data);\n }\n\n /**\n * Create an instance of the WorkspaceConfig by the workspace config template and override values\n *\n * @static\n * @param {WorkspaceConfigFileProps} data values to override in the default template\n * @returns\n * @memberof WorkspaceConfig\n */\n static async create(props: WorkspaceConfigFileProps, dirPath?: PathOsBasedAbsolute) {\n const template = await getWorkspaceConfigTemplateParsed();\n // 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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"}
package/package.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@teambit/config",
3
- "version": "0.0.852",
3
+ "version": "0.0.854",
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.852"
9
+ "version": "0.0.854"
10
10
  },
11
11
  "dependencies": {
12
12
  "comment-json": "3.0.3",
@@ -17,7 +17,8 @@
17
17
  "@babel/runtime": "7.20.0",
18
18
  "@teambit/harmony": "0.4.6",
19
19
  "@teambit/bit-error": "0.0.404",
20
- "@teambit/cli": "0.0.835"
20
+ "@teambit/cli": "0.0.837",
21
+ "@teambit/workspace": "1.0.103"
21
22
  },
22
23
  "devDependencies": {
23
24
  "@types/fs-extra": "9.0.7",
@@ -30,7 +31,7 @@
30
31
  "@types/testing-library__jest-dom": "5.9.5"
31
32
  },
32
33
  "peerDependencies": {
33
- "@teambit/legacy": "1.0.620",
34
+ "@teambit/legacy": "1.0.622",
34
35
  "react": "^16.8.0 || ^17.0.0",
35
36
  "react-dom": "^16.8.0 || ^17.0.0"
36
37
  },