@teambit/variants 0.0.525 → 0.0.529

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- export const overview = [require('/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.workspace_variants@0.0.525/dist/variants.docs.mdx')]
1
+ export const overview = [require('/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.workspace_variants@0.0.529/dist/variants.docs.mdx')]
@@ -2,6 +2,7 @@ import type { ConfigMain } from '@teambit/config';
2
2
  import ConsumerOverrides from '@teambit/legacy/dist/consumer/config/consumer-overrides';
3
3
  import { ExtensionDataList } from '@teambit/legacy/dist/consumer/config/extension-data';
4
4
  import { PathLinuxRelative } from '@teambit/legacy/dist/utils/path';
5
+ import { MatchedPatternWithConfig } from '@teambit/workspace.modules.match-pattern';
5
6
  export declare type Patterns = {
6
7
  [pattern: string]: Record<string, any>;
7
8
  };
@@ -11,6 +12,7 @@ export declare type VariantsComponentConfig = {
11
12
  defaultScope?: string;
12
13
  extensions: ExtensionDataList;
13
14
  maxSpecificity: number;
15
+ sortedMatches: MatchedPatternWithConfig[];
14
16
  };
15
17
  export declare class VariantsMain {
16
18
  private patterns;
@@ -158,7 +158,8 @@ class VariantsMain {
158
158
  if (match.match && !match.excluded) {
159
159
  matches.push({
160
160
  config: patternConfig,
161
- specificity: match.maxSpecificity
161
+ specificity: match.maxSpecificity,
162
+ pattern: match.pattern
162
163
  });
163
164
  }
164
165
  });
@@ -184,7 +185,8 @@ class VariantsMain {
184
185
  defaultScope,
185
186
  extensions: mergedExtensions,
186
187
  propagate,
187
- maxSpecificity: sortedMatches.length ? sortedMatches[0].specificity : -1
188
+ maxSpecificity: sortedMatches.length ? sortedMatches[0].specificity : -1,
189
+ sortedMatches
188
190
  };
189
191
  return result;
190
192
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["variants.main.runtime.ts"],"names":["INTERNAL_FIELDS","VariantsMain","constructor","patterns","configAspect","_loadedLegacy","ConsumerOverrides","load","validateConfig","patternConfig","pattern","defaultScope","InvalidScopeName","undefined","raw","legacy","byRootDirAndName","rootDir","componentName","matches","match","excluded","push","config","specificity","maxSpecificity","sortedMatches","propagate","extensionsToMerge","forEach","getExtensionFromPatternRawConfig","mergedExtensions","ExtensionDataList","mergeConfigs","result","extensions","length","setExtension","variant","extensionId","extensionConfig","opts","newVariant","VariantsAspect","id","overrideExisting","ignoreVersion","provider","MainRuntime","ConfigAspect","rawExtensions","fromConfigObject","addRuntime"],"mappings":"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","sourcesContent":["import { MainRuntime } from '@teambit/cli';\nimport { ConfigAspect } from '@teambit/config';\nimport type { ConfigMain } from '@teambit/config';\nimport ConsumerOverrides from '@teambit/legacy/dist/consumer/config/consumer-overrides';\nimport { ExtensionDataList } from '@teambit/legacy/dist/consumer/config/extension-data';\nimport { PathLinuxRelative } from '@teambit/legacy/dist/utils/path';\nimport { assign } from 'comment-json';\nimport { omit, forEach } from 'lodash';\nimport {\n MatchedPatternWithConfig,\n isMatchPattern,\n sortMatchesBySpecificity,\n} from '@teambit/workspace.modules.match-pattern';\nimport { InvalidScopeName, isValidScopeName } from '@teambit/legacy-bit-id';\nimport { VariantsAspect } from './variants.aspect';\n\nexport type Patterns = { [pattern: string]: Record<string, any> };\n\nexport type VariantsComponentConfig = {\n propagate: boolean;\n exclude?: string[];\n defaultScope?: string;\n extensions: ExtensionDataList;\n maxSpecificity: number;\n};\n\nconst INTERNAL_FIELDS = ['propagate', 'exclude', 'defaultScope'];\n\nexport class VariantsMain {\n static runtime = MainRuntime;\n static dependencies = [ConfigAspect];\n\n _loadedLegacy: ConsumerOverrides;\n\n constructor(private patterns: Patterns, private configAspect: ConfigMain) {\n this._loadedLegacy = ConsumerOverrides.load(this.patterns);\n this.validateConfig();\n }\n\n private validateConfig() {\n forEach(this.patterns, (patternConfig: Record<string, any>, pattern: string) => {\n if (patternConfig.defaultScope && !isValidScopeName(patternConfig.defaultScope)) {\n throw new InvalidScopeName(patternConfig.defaultScope, undefined, pattern);\n }\n });\n }\n\n raw(): Patterns {\n return this.patterns;\n }\n\n /**\n * Get all the patterns defined in the variants section of the workspace as the legacy ConsumerOverrides format\n */\n legacy(): ConsumerOverrides {\n // return ConsumerOverrides.load(this.patterns);\n return this._loadedLegacy;\n }\n\n /**\n * Gets the config for specific component after merge all matching patterns of the component dir and id in the variants section\n * @param rootDir\n */\n byRootDirAndName(rootDir: PathLinuxRelative, componentName: string): VariantsComponentConfig | undefined {\n const matches: MatchedPatternWithConfig[] = [];\n forEach(this.patterns, (patternConfig, pattern) => {\n const match = isMatchPattern(rootDir, componentName, pattern);\n\n // Ignore matches with exclude matches\n if (match.match && !match.excluded) {\n matches.push({\n config: patternConfig,\n specificity: match.maxSpecificity,\n });\n }\n });\n\n const sortedMatches: MatchedPatternWithConfig[] = sortMatchesBySpecificity(matches);\n\n let defaultScope;\n let propagate = true;\n const extensionsToMerge: ExtensionDataList[] = [];\n sortedMatches.forEach((match) => {\n defaultScope = defaultScope || match.config.defaultScope;\n if (propagate) {\n extensionsToMerge.push(getExtensionFromPatternRawConfig(match.config));\n }\n if (match.config.propagate === false) {\n propagate = false;\n }\n });\n\n const mergedExtensions = ExtensionDataList.mergeConfigs(extensionsToMerge);\n const result = {\n defaultScope,\n extensions: mergedExtensions,\n propagate,\n maxSpecificity: sortedMatches.length ? sortedMatches[0].specificity : -1,\n };\n return result;\n }\n\n /**\n * Updates the specified extension object of the specified variant.\n * @param {string} variant - The variant pattern.\n * @param {string} extensionId - The extension ID.\n * @param {Object} extensionConfig - The extension configuration.\n * @param {boolean} opts.overrideExisting - When true, any existing entries are overriden.\n */\n setExtension(variant: string, extensionId: string, extensionConfig: any, opts?: { overrideExisting?: boolean }) {\n const newVariant = this.patterns[variant] ?? {};\n assign(newVariant, { [extensionId]: extensionConfig });\n assign(this.patterns, { [variant]: newVariant });\n this.configAspect.setExtension(VariantsAspect.id, this.patterns, {\n overrideExisting: opts?.overrideExisting === true,\n ignoreVersion: true,\n });\n }\n\n static async provider([configAspect]: [ConfigMain], config) {\n return new VariantsMain(config, configAspect);\n }\n}\n\nfunction getExtensionFromPatternRawConfig(config: Record<string, any>) {\n const rawExtensions = omit(config, INTERNAL_FIELDS);\n const extensions = ExtensionDataList.fromConfigObject(rawExtensions);\n return extensions;\n}\n\nVariantsAspect.addRuntime(VariantsMain);\n"]}
1
+ {"version":3,"sources":["variants.main.runtime.ts"],"names":["INTERNAL_FIELDS","VariantsMain","constructor","patterns","configAspect","_loadedLegacy","ConsumerOverrides","load","validateConfig","patternConfig","pattern","defaultScope","InvalidScopeName","undefined","raw","legacy","byRootDirAndName","rootDir","componentName","matches","match","excluded","push","config","specificity","maxSpecificity","sortedMatches","propagate","extensionsToMerge","forEach","getExtensionFromPatternRawConfig","mergedExtensions","ExtensionDataList","mergeConfigs","result","extensions","length","setExtension","variant","extensionId","extensionConfig","opts","newVariant","VariantsAspect","id","overrideExisting","ignoreVersion","provider","MainRuntime","ConfigAspect","rawExtensions","fromConfigObject","addRuntime"],"mappings":"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","sourcesContent":["import { MainRuntime } from '@teambit/cli';\nimport { ConfigAspect } from '@teambit/config';\nimport type { ConfigMain } from '@teambit/config';\nimport ConsumerOverrides from '@teambit/legacy/dist/consumer/config/consumer-overrides';\nimport { ExtensionDataList } from '@teambit/legacy/dist/consumer/config/extension-data';\nimport { PathLinuxRelative } from '@teambit/legacy/dist/utils/path';\nimport { assign } from 'comment-json';\nimport { omit, forEach } from 'lodash';\nimport {\n MatchedPatternWithConfig,\n isMatchPattern,\n sortMatchesBySpecificity,\n} from '@teambit/workspace.modules.match-pattern';\nimport { InvalidScopeName, isValidScopeName } from '@teambit/legacy-bit-id';\nimport { VariantsAspect } from './variants.aspect';\n\nexport type Patterns = { [pattern: string]: Record<string, any> };\n\nexport type VariantsComponentConfig = {\n propagate: boolean;\n exclude?: string[];\n defaultScope?: string;\n extensions: ExtensionDataList;\n maxSpecificity: number;\n sortedMatches: MatchedPatternWithConfig[];\n};\n\nconst INTERNAL_FIELDS = ['propagate', 'exclude', 'defaultScope'];\n\nexport class VariantsMain {\n static runtime = MainRuntime;\n static dependencies = [ConfigAspect];\n\n _loadedLegacy: ConsumerOverrides;\n\n constructor(private patterns: Patterns, private configAspect: ConfigMain) {\n this._loadedLegacy = ConsumerOverrides.load(this.patterns);\n this.validateConfig();\n }\n\n private validateConfig() {\n forEach(this.patterns, (patternConfig: Record<string, any>, pattern: string) => {\n if (patternConfig.defaultScope && !isValidScopeName(patternConfig.defaultScope)) {\n throw new InvalidScopeName(patternConfig.defaultScope, undefined, pattern);\n }\n });\n }\n\n raw(): Patterns {\n return this.patterns;\n }\n\n /**\n * Get all the patterns defined in the variants section of the workspace as the legacy ConsumerOverrides format\n */\n legacy(): ConsumerOverrides {\n // return ConsumerOverrides.load(this.patterns);\n return this._loadedLegacy;\n }\n\n /**\n * Gets the config for specific component after merge all matching patterns of the component dir and id in the variants section\n * @param rootDir\n */\n byRootDirAndName(rootDir: PathLinuxRelative, componentName: string): VariantsComponentConfig | undefined {\n const matches: MatchedPatternWithConfig[] = [];\n forEach(this.patterns, (patternConfig, pattern) => {\n const match = isMatchPattern(rootDir, componentName, pattern);\n\n // Ignore matches with exclude matches\n if (match.match && !match.excluded) {\n matches.push({\n config: patternConfig,\n specificity: match.maxSpecificity,\n pattern: match.pattern,\n });\n }\n });\n\n const sortedMatches: MatchedPatternWithConfig[] = sortMatchesBySpecificity(matches);\n\n let defaultScope;\n let propagate = true;\n const extensionsToMerge: ExtensionDataList[] = [];\n sortedMatches.forEach((match) => {\n defaultScope = defaultScope || match.config.defaultScope;\n if (propagate) {\n extensionsToMerge.push(getExtensionFromPatternRawConfig(match.config));\n }\n if (match.config.propagate === false) {\n propagate = false;\n }\n });\n\n const mergedExtensions = ExtensionDataList.mergeConfigs(extensionsToMerge);\n const result = {\n defaultScope,\n extensions: mergedExtensions,\n propagate,\n maxSpecificity: sortedMatches.length ? sortedMatches[0].specificity : -1,\n sortedMatches,\n };\n return result;\n }\n\n /**\n * Updates the specified extension object of the specified variant.\n * @param {string} variant - The variant pattern.\n * @param {string} extensionId - The extension ID.\n * @param {Object} extensionConfig - The extension configuration.\n * @param {boolean} opts.overrideExisting - When true, any existing entries are overriden.\n */\n setExtension(variant: string, extensionId: string, extensionConfig: any, opts?: { overrideExisting?: boolean }) {\n const newVariant = this.patterns[variant] ?? {};\n assign(newVariant, { [extensionId]: extensionConfig });\n assign(this.patterns, { [variant]: newVariant });\n this.configAspect.setExtension(VariantsAspect.id, this.patterns, {\n overrideExisting: opts?.overrideExisting === true,\n ignoreVersion: true,\n });\n }\n\n static async provider([configAspect]: [ConfigMain], config) {\n return new VariantsMain(config, configAspect);\n }\n}\n\nfunction getExtensionFromPatternRawConfig(config: Record<string, any>) {\n const rawExtensions = omit(config, INTERNAL_FIELDS);\n const extensions = ExtensionDataList.fromConfigObject(rawExtensions);\n return extensions;\n}\n\nVariantsAspect.addRuntime(VariantsMain);\n"]}
package/package.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@teambit/variants",
3
- "version": "0.0.525",
3
+ "version": "0.0.529",
4
4
  "homepage": "https://bit.dev/teambit/workspace/variants",
5
5
  "main": "dist/index.js",
6
6
  "componentId": {
7
7
  "scope": "teambit.workspace",
8
8
  "name": "variants",
9
- "version": "0.0.525"
9
+ "version": "0.0.529"
10
10
  },
11
11
  "dependencies": {
12
12
  "@teambit/harmony": "0.2.11",
@@ -14,10 +14,10 @@
14
14
  "lodash": "4.17.21",
15
15
  "@babel/runtime": "7.12.18",
16
16
  "core-js": "^3.0.0",
17
- "@teambit/cli": "0.0.433",
18
- "@teambit/config": "0.0.446",
17
+ "@teambit/cli": "0.0.436",
18
+ "@teambit/config": "0.0.449",
19
19
  "@teambit/legacy-bit-id": "0.0.397",
20
- "@teambit/workspace.modules.match-pattern": "0.0.487"
20
+ "@teambit/workspace.modules.match-pattern": "0.0.488"
21
21
  },
22
22
  "devDependencies": {
23
23
  "@types/lodash": "4.14.165",
@@ -30,7 +30,7 @@
30
30
  "@teambit/workspace.aspect-docs.variants": "0.0.131"
31
31
  },
32
32
  "peerDependencies": {
33
- "@teambit/legacy": "1.0.209",
33
+ "@teambit/legacy": "1.0.212",
34
34
  "react-dom": "^16.8.0 || ^17.0.0",
35
35
  "react": "^16.8.0 || ^17.0.0"
36
36
  },
@@ -58,7 +58,7 @@
58
58
  "react": "-"
59
59
  },
60
60
  "peerDependencies": {
61
- "@teambit/legacy": "1.0.209",
61
+ "@teambit/legacy": "1.0.212",
62
62
  "react-dom": "^16.8.0 || ^17.0.0",
63
63
  "react": "^16.8.0 || ^17.0.0"
64
64
  }