@teambit/aspect 0.0.692 → 0.0.695

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.
Files changed (36) hide show
  1. package/artifacts/env-template/public/283.js +34 -1
  2. package/artifacts/env-template/public/569.js +74 -0
  3. package/artifacts/env-template/public/677.js +4 -1
  4. package/artifacts/env-template/public/750.js +86 -2
  5. package/artifacts/env-template/public/793.js +752 -16
  6. package/artifacts/env-template/public/928.js +30 -0
  7. package/artifacts/env-template/public/assets-manifest.json +17 -17
  8. package/artifacts/env-template/public/compositions.67584f6b866c229c9b48.js +1 -0
  9. package/artifacts/env-template/public/compositions.html +1 -1
  10. package/artifacts/env-template/public/overview.3359a09b8ed3828b8390.js +5 -0
  11. package/artifacts/env-template/public/overview.html +1 -1
  12. package/artifacts/env-template/public/peers.b1e5a815a97146071b4a.js +1 -0
  13. package/artifacts/env-template/public/preview-root.846ea4a5def55d8a86dc.js +1 -0
  14. package/artifacts/env-template/public/runtime.js +1 -1
  15. package/artifacts/env-template/public/service-worker.js +1 -1
  16. package/artifacts/env-template/public/static/css/793.fecb3731.css +1 -0
  17. package/artifacts/env-template/public/static/css/{previewRoot.1262db93.css → previewRoot.a16607da.css} +1 -1
  18. package/artifacts/preview/teambit_harmony_aspect-preview.js +11 -1
  19. package/{compositions-1648437892896.js → compositions-1648696872583.js} +0 -0
  20. package/dist/aspect.cmd.js +25 -15
  21. package/dist/aspect.cmd.js.map +1 -1
  22. package/dist/aspect.main.runtime.d.ts +10 -1
  23. package/dist/aspect.main.runtime.js +27 -1
  24. package/dist/aspect.main.runtime.js.map +1 -1
  25. package/{overview-1648437892896.js → overview-1648696872583.js} +0 -0
  26. package/package-tar/teambit-aspect-0.0.695.tgz +0 -0
  27. package/package.json +20 -19
  28. package/{preview-1648437892896.js → preview-1648696872583.js} +2 -2
  29. package/artifacts/env-template/public/420.js +0 -1
  30. package/artifacts/env-template/public/934.js +0 -1
  31. package/artifacts/env-template/public/compositions.523202bf685360fc5303.js +0 -1
  32. package/artifacts/env-template/public/overview.8f7339911b85a8e4d5ae.js +0 -1
  33. package/artifacts/env-template/public/peers.f0c76108cfe204de95bd.js +0 -1
  34. package/artifacts/env-template/public/preview-root.a1f71de58f10102ed2c6.js +0 -1
  35. package/artifacts/env-template/public/static/css/793.253dc893.css +0 -1
  36. package/package-tar/teambit-aspect-0.0.692.tgz +0 -0
@@ -1 +1,11 @@
1
- !function(e,t){"object"===typeof exports&&"object"===typeof module?module.exports=t():"function"===typeof define&&define.amd?define([],t):"object"===typeof exports?exports["teambit.harmony/aspect-preview"]=t():e["teambit.harmony/aspect-preview"]=t()}(self,(function(){return(()=>{var e={88244:e=>{e.exports=function(e){return e&&e.__esModule?e:{default:e}}},93877:(e,t,o)=>{"use strict";o.r(t),o.d(t,{default:()=>c});o(63804);const n=MdxJsReact,r=TeambitMdxUiMdxScopeContext;var s=["components"];function a(){return a=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var o=arguments[t];for(var n in o)Object.prototype.hasOwnProperty.call(o,n)&&(e[n]=o[n])}return e},a.apply(this,arguments)}function i(e,t){if(null==e)return{};var o,n,r=function(e,t){if(null==e)return{};var o,n,r={},s=Object.keys(e);for(n=0;n<s.length;n++)o=s[n],t.indexOf(o)>=0||(r[o]=e[o]);return r}(e,t);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);for(n=0;n<s.length;n++)o=s[n],t.indexOf(o)>=0||Object.prototype.propertyIsEnumerable.call(e,o)&&(r[o]=e[o])}return r}var p={};function c(e){var t=e.components,o=i(e,s);return(0,n.mdx)("wrapper",a({},p,o,{components:t,mdxType:"MDXLayout"}),(0,n.mdx)(r.MDXScopeProvider,{components:{},mdxType:"MDXScopeProvider"},(0,n.mdx)("h2",null,"Overview"),(0,n.mdx)("p",null,"Aspects can be configured on a component is various ways, some more general and some more specific. Once a component is loaded, Bit calculates all the sources and comes up with the final list of aspects. Each aspect has its config and data.\nConfig is what the user entered, Data is a result of the aspect process."),(0,n.mdx)("h2",null,"Debugging aspects"),(0,n.mdx)("p",null,"To help understanding why a component has these specific aspects, ",(0,n.mdx)("inlineCode",{parentName:"p"},"bit aspect get --debug")," shows each one of the sources, from the more specific one to the general one. At the end, it shows the merged result of all sources.\nThe various sources are as follows:"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre"},"'BitmapFile'\n'Model'\n'WorkspaceVariants'\n'ComponentJsonFile'\n'WorkspaceDefault'\n")),(0,n.mdx)("p",null,"Since the list of all the config+data can be very long and hard to follow, the flag ",(0,n.mdx)("inlineCode",{parentName:"p"},"--json")," is very helpful.\nThis with help of ",(0,n.mdx)("a",{parentName:"p",href:"https://github.com/antonmedv/fx"},"fx"),", it's easy to extract the data needed."),(0,n.mdx)("p",null,"If for example, we're interested in one source only, we can run the following:"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre"},"bit aspect get ui/text --debug --json | fx .BitmapFile\n")),(0,n.mdx)("p",null,"It's possible to run any arbitrary javascript code with fx, so for example, if you want to debug just one specific aspect, and see its config/data per each one of the source, you can do something like this:"),(0,n.mdx)("pre",null,(0,n.mdx)("code",{parentName:"pre"},"bit aspect get ui/text --debug --json | fx 'Object.keys(this).map(origin => ({ origin, value: this[origin].extensions[\"teambit.pkg/pkg\"] }))'\n")),(0,n.mdx)("p",null,"Another data shown with the ",(0,n.mdx)("inlineCode",{parentName:"p"},"--debug")," flag is the rules in the workspace.jsonc#variants applied to this component. It shows the list of these rules sorted with the data about the specifity.")))}c.isMDXComponent=!0},75303:(e,t,o)=>{"use strict";var n={id:"teambit.harmony/aspect@0.0.692",homepage:"https://bit.dev/teambit/harmony/aspect",exported:!0},r=o(88244);function s(){const e=r(o(63804));return s=function(){return e},e}Object.defineProperty(t,"__esModule",{value:!0}),t.Logo=void 0,s.__bit_component=n;const a=()=>s().default.createElement("div",{style:{height:"100%",display:"flex",justifyContent:"center"}},s().default.createElement("img",{style:{width:70},src:"https://static.bit.dev/extensions-icons/aspect.svg"}));a.__bit_component=n,t.Logo=a},63804:e=>{"use strict";e.exports=React}},t={};function o(n){var r=t[n];if(void 0!==r)return r.exports;var s=t[n]={exports:{}};return e[n](s,s.exports,o),s.exports}o.d=(e,t)=>{for(var n in t)o.o(t,n)&&!o.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),o.r=e=>{"undefined"!==typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var n={};return(()=>{"use strict";o.r(n),o.d(n,{compositions:()=>e,overview:()=>t});const e=[o(75303)],t=[o(93877)]})(),n})()}));
1
+ (function(root,factory){typeof exports=="object"&&typeof module=="object"?module.exports=factory():typeof define=="function"&&define.amd?define([],factory):typeof exports=="object"?exports["teambit.harmony/aspect-preview"]=factory():root["teambit.harmony/aspect-preview"]=factory()})(self,function(){return(()=>{var __webpack_modules__={88244:module2=>{function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}module2.exports=_interopRequireDefault},26076:(__unused_webpack_module,__webpack_exports__2,__webpack_require__2)=>{"use strict";__webpack_require__2.r(__webpack_exports__2),__webpack_require__2.d(__webpack_exports__2,{default:()=>MDXContent});var external_React_=__webpack_require__2(63804);const external_MdxJsReact_namespaceObject=MdxJsReact,external_TeambitMdxUiMdxScopeContext_namespaceObject=TeambitMdxUiMdxScopeContext;var _excluded=["components"];function _extends(){return _extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source)Object.prototype.hasOwnProperty.call(source,key)&&(target[key]=source[key])}return target},_extends.apply(this,arguments)}function _objectWithoutProperties(source,excluded){if(source==null)return{};var target=_objectWithoutPropertiesLoose(source,excluded),key,i;if(Object.getOwnPropertySymbols){var sourceSymbolKeys=Object.getOwnPropertySymbols(source);for(i=0;i<sourceSymbolKeys.length;i++)key=sourceSymbolKeys[i],!(excluded.indexOf(key)>=0)&&(!Object.prototype.propertyIsEnumerable.call(source,key)||(target[key]=source[key]))}return target}function _objectWithoutPropertiesLoose(source,excluded){if(source==null)return{};var target={},sourceKeys=Object.keys(source),key,i;for(i=0;i<sourceKeys.length;i++)key=sourceKeys[i],!(excluded.indexOf(key)>=0)&&(target[key]=source[key]);return target}var layoutProps={},MDXLayout="wrapper";function MDXContent(_ref){var components=_ref.components,props=_objectWithoutProperties(_ref,_excluded);return(0,external_MdxJsReact_namespaceObject.mdx)(MDXLayout,_extends({},layoutProps,props,{components,mdxType:"MDXLayout"}),(0,external_MdxJsReact_namespaceObject.mdx)(external_TeambitMdxUiMdxScopeContext_namespaceObject.MDXScopeProvider,{components:{},mdxType:"MDXScopeProvider"},(0,external_MdxJsReact_namespaceObject.mdx)("h2",null,"Overview"),(0,external_MdxJsReact_namespaceObject.mdx)("p",null,`Aspects can be configured on a component is various ways, some more general and some more specific. Once a component is loaded, Bit calculates all the sources and comes up with the final list of aspects. Each aspect has its config and data.
2
+ Config is what the user entered, Data is a result of the aspect process.`),(0,external_MdxJsReact_namespaceObject.mdx)("h2",null,"Debugging aspects"),(0,external_MdxJsReact_namespaceObject.mdx)("p",null,"To help understanding why a component has these specific aspects, ",(0,external_MdxJsReact_namespaceObject.mdx)("inlineCode",{parentName:"p"},"bit aspect get --debug"),` shows each one of the sources, from the more specific one to the general one. At the end, it shows the merged result of all sources.
3
+ The various sources are as follows:`),(0,external_MdxJsReact_namespaceObject.mdx)("pre",null,(0,external_MdxJsReact_namespaceObject.mdx)("code",{parentName:"pre"},`'BitmapFile'
4
+ 'Model'
5
+ 'WorkspaceVariants'
6
+ 'ComponentJsonFile'
7
+ 'WorkspaceDefault'
8
+ `)),(0,external_MdxJsReact_namespaceObject.mdx)("p",null,"Since the list of all the config+data can be very long and hard to follow, the flag ",(0,external_MdxJsReact_namespaceObject.mdx)("inlineCode",{parentName:"p"},"--json"),` is very helpful.
9
+ This with help of `,(0,external_MdxJsReact_namespaceObject.mdx)("a",{parentName:"p",href:"https://github.com/antonmedv/fx"},"fx"),", it's easy to extract the data needed."),(0,external_MdxJsReact_namespaceObject.mdx)("p",null,"If for example, we're interested in one source only, we can run the following:"),(0,external_MdxJsReact_namespaceObject.mdx)("pre",null,(0,external_MdxJsReact_namespaceObject.mdx)("code",{parentName:"pre"},`bit aspect get ui/text --debug --json | fx .BitmapFile
10
+ `)),(0,external_MdxJsReact_namespaceObject.mdx)("p",null,"It's possible to run any arbitrary javascript code with fx, so for example, if you want to debug just one specific aspect, and see its config/data per each one of the source, you can do something like this:"),(0,external_MdxJsReact_namespaceObject.mdx)("pre",null,(0,external_MdxJsReact_namespaceObject.mdx)("code",{parentName:"pre"},`bit aspect get ui/text --debug --json | fx 'Object.keys(this).map(origin => ({ origin, value: this[origin].extensions["teambit.pkg/pkg"] }))'
11
+ `)),(0,external_MdxJsReact_namespaceObject.mdx)("p",null,"Another data shown with the ",(0,external_MdxJsReact_namespaceObject.mdx)("inlineCode",{parentName:"p"},"--debug")," flag is the rules in the workspace.jsonc#variants applied to this component. It shows the list of these rules sorted with the data about the specifity.")))}MDXContent.isMDXComponent=!0},34831:(__unused_webpack_module,exports2,__webpack_require__2)=>{"use strict";var __bit_component={id:"teambit.harmony/aspect@0.0.695",homepage:"https://bit.dev/teambit/harmony/aspect",exported:!0},_interopRequireDefault=__webpack_require__2(88244);Object.defineProperty(exports2,"__esModule",{value:!0}),exports2.Logo=void 0;function _react(){const data=_interopRequireDefault(__webpack_require__2(63804));return _react=function(){return data},data}_react.__bit_component=__bit_component;const Logo=()=>_react().default.createElement("div",{style:{height:"100%",display:"flex",justifyContent:"center"}},_react().default.createElement("img",{style:{width:70},src:"https://static.bit.dev/extensions-icons/aspect.svg"}));Logo.__bit_component=__bit_component,exports2.Logo=Logo},63804:module2=>{"use strict";module2.exports=React}},__webpack_module_cache__={};function __webpack_require__(moduleId){var cachedModule=__webpack_module_cache__[moduleId];if(cachedModule!==void 0)return cachedModule.exports;var module2=__webpack_module_cache__[moduleId]={exports:{}};return __webpack_modules__[moduleId](module2,module2.exports,__webpack_require__),module2.exports}__webpack_require__.d=(exports2,definition)=>{for(var key in definition)__webpack_require__.o(definition,key)&&!__webpack_require__.o(exports2,key)&&Object.defineProperty(exports2,key,{enumerable:!0,get:definition[key]})},__webpack_require__.o=(obj,prop)=>Object.prototype.hasOwnProperty.call(obj,prop),__webpack_require__.r=exports2=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(exports2,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(exports2,"__esModule",{value:!0})};var __webpack_exports__={};return(()=>{"use strict";__webpack_require__.r(__webpack_exports__),__webpack_require__.d(__webpack_exports__,{compositions:()=>compositions,overview:()=>overview});const compositions=[__webpack_require__(34831)],overview=[__webpack_require__(26076)]})(),__webpack_exports__})()});
@@ -162,11 +162,6 @@ class GetAspectCmd {
162
162
  async report([componentName], {
163
163
  debug
164
164
  }) {
165
- const {
166
- extensions: mergedExtensions,
167
- beforeMerge
168
- } = await this.aspect.getAspectsOfComponent(componentName);
169
-
170
165
  const extensionsDetailsToString = extensions => extensions.map(e => {
171
166
  const {
172
167
  name,
@@ -181,6 +176,11 @@ ${_chalk().default.bold('data:')} ${JSON.stringify(data, undefined, 2)}
181
176
  }).join('\n');
182
177
 
183
178
  if (debug) {
179
+ const {
180
+ aspects,
181
+ extensions: mergedExtensions,
182
+ beforeMerge
183
+ } = await this.aspect.getAspectsOfComponentForDebugging(componentName);
184
184
  const beforeMergeOutput = beforeMerge.map(({
185
185
  origin,
186
186
  extensions,
@@ -193,23 +193,24 @@ ${_chalk().default.bold('data:')} ${JSON.stringify(data, undefined, 2)}
193
193
  return `${title}\n${details}${moreData}`;
194
194
  }).join('\n\n');
195
195
 
196
- const afterMergeTitle = _chalk().default.green.bold('Final - after merging all origins');
196
+ const afterMergeTitle = _chalk().default.green.bold('After merging the origins above');
197
197
 
198
198
  const afterMergeOutput = `${afterMergeTitle}\n${extensionsDetailsToString(mergedExtensions)}`;
199
- return `${beforeMergeOutput}\n\n\n${afterMergeOutput}`;
199
+
200
+ const afterFinalMergeTitle = _chalk().default.green.bold('Final - After merging the origin above and the loaded data');
201
+
202
+ const afterFinalMergeOutput = `${afterFinalMergeTitle}\n${extensionsDetailsToString(aspects.toLegacy())}`;
203
+ return `${beforeMergeOutput}\n\n${afterMergeOutput}\n\n\n${afterFinalMergeOutput}`;
200
204
  }
201
205
 
202
- return extensionsDetailsToString(mergedExtensions);
206
+ const aspects = await this.aspect.getAspectsOfComponent(componentName);
207
+ const extensionDataList = aspects.toLegacy();
208
+ return extensionsDetailsToString(extensionDataList);
203
209
  }
204
210
 
205
211
  async json([componentName], {
206
212
  debug
207
213
  }) {
208
- const {
209
- extensions: mergedExtensions,
210
- beforeMerge
211
- } = await this.aspect.getAspectsOfComponent(componentName);
212
-
213
214
  const extensionsDetailsToObject = extensions => extensions.reduce((acc, current) => {
214
215
  const {
215
216
  name,
@@ -227,6 +228,11 @@ ${_chalk().default.bold('data:')} ${JSON.stringify(data, undefined, 2)}
227
228
  }, {});
228
229
 
229
230
  if (debug) {
231
+ const {
232
+ aspects,
233
+ extensions: mergedExtensions,
234
+ beforeMerge
235
+ } = await this.aspect.getAspectsOfComponentForDebugging(componentName);
230
236
  const jsonObj = {};
231
237
  beforeMerge.forEach(({
232
238
  origin,
@@ -238,13 +244,17 @@ ${_chalk().default.bold('data:')} ${JSON.stringify(data, undefined, 2)}
238
244
  extraData
239
245
  };
240
246
  });
241
- jsonObj.FinalAfterMerge = {
247
+ jsonObj.AfterMerge = {
242
248
  extensions: extensionsDetailsToObject(mergedExtensions)
243
249
  };
250
+ jsonObj.FinalAfterMergeIncludeLoad = {
251
+ extensions: extensionsDetailsToObject(aspects.toLegacy())
252
+ };
244
253
  return jsonObj;
245
254
  }
246
255
 
247
- return extensionsDetailsToObject(mergedExtensions);
256
+ const aspects = await this.aspect.getAspectsOfComponent(componentName);
257
+ return extensionsDetailsToObject(aspects.toLegacy());
248
258
  }
249
259
 
250
260
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["aspect.cmd.ts"],"names":["ListAspectCmd","constructor","aspect","report","name","debug","listAspectsResults","listAspectsOfComponent","rows","Object","keys","map","componentId","longestAspectName","Math","max","_","aspectName","length","aspects","aspectSource","origin","source","padEnd","level","join","table","CLITable","render","SetAspectCmd","pattern","aspectId","config","configParsed","JSON","parse","results","setAspectsToComponents","chalk","yellow","bold","green","UpdateAspectCmd","updateAspectsToComponents","UnsetAspectCmd","unsetAspectsFromComponents","GetAspectCmd","componentName","extensions","mergedExtensions","beforeMerge","getAspectsOfComponent","extensionsDetailsToString","e","data","extensionId","toComponentObject","toString","stringify","undefined","beforeMergeOutput","extraData","title","details","moreData","afterMergeTitle","afterMergeOutput","json","extensionsDetailsToObject","reduce","acc","current","jsonObj","forEach","FinalAfterMerge","AspectCmd","unrecognizedSubcommand","red"],"mappings":"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","sourcesContent":["// eslint-disable-next-line max-classes-per-file\nimport { Command, CommandOptions } from '@teambit/cli';\nimport { PATTERN_HELP } from '@teambit/legacy/dist/constants';\nimport { CLITable } from '@teambit/cli-table';\nimport chalk from 'chalk';\nimport { ExtensionDataList } from '@teambit/legacy/dist/consumer/config';\nimport { AspectMain } from './aspect.main.runtime';\n\nexport class ListAspectCmd implements Command {\n name = 'list [pattern]';\n description = 'list all aspects configured on component(s)';\n options = [['d', 'debug', 'show the origins were the aspects were taken from']] as CommandOptions;\n group = 'development';\n extendedDescription = `${PATTERN_HELP('aspect list')}`;\n\n constructor(private aspect: AspectMain) {}\n\n async report([name]: [string], { debug }: { debug: boolean }) {\n const listAspectsResults = await this.aspect.listAspectsOfComponent(name);\n const rows = Object.keys(listAspectsResults).map((componentId) => {\n const longestAspectName = Math.max(...listAspectsResults[componentId].map((_) => _.aspectName.length));\n const aspects = listAspectsResults[componentId]\n .map((aspectSource) => {\n const origin = debug ? ` (origin: ${aspectSource.source})` : '';\n const aspectName = aspectSource.aspectName.padEnd(longestAspectName);\n return `${aspectName} (level: ${aspectSource.level})${origin}`;\n })\n .join('\\n');\n\n return [componentId, aspects];\n });\n const table = new CLITable([], rows);\n return table.render();\n }\n}\n\nexport class SetAspectCmd implements Command {\n name = 'set <pattern> <aspect-id> [config]';\n description = 'set an aspect to component(s) with optional config.';\n extendedDescription = `enter the config as stringified JSON (e.g. '{\"foo\":\"bar\"}' ).\nif no config entered, the aspect will be set with empty config ({}).\n${PATTERN_HELP('aspect set')}`;\n options = [];\n group = 'development';\n\n constructor(private aspect: AspectMain) {}\n\n async report([pattern, aspectId, config]: [string, string, string]) {\n const configParsed = config ? JSON.parse(config) : {};\n const results = await this.aspect.setAspectsToComponents(pattern, aspectId, configParsed);\n if (!results.length) return chalk.yellow(`unable to find any matching for ${chalk.bold(pattern)} pattern`);\n return chalk.green(`the following component(s) have been successfully updated:\\n${results.join('\\n')}`);\n }\n}\n\nexport class UpdateAspectCmd implements Command {\n name = 'update <aspect-id> [pattern]';\n description = 'update a version of an aspect';\n extendedDescription = `default to all components using the aspect, unless \"pattern\" is provided.\n${PATTERN_HELP('aspect update <aspect-id>')}\nexamples:\n\"bit aspect update scope.org/aspect '**/ui/**'\" - update \"ui\" components that use scope.org/aspect to the latest version\n\"bit aspect update scope.org/aspect@2.0.0\" - updates all components using scope.org/aspect to version 2.0.0.`;\n\n options = [];\n group = 'development';\n\n constructor(private aspect: AspectMain) {}\n\n async report([aspectId, pattern]: [string, string]) {\n const results = await this.aspect.updateAspectsToComponents(aspectId, pattern);\n if (!results.length) return chalk.yellow(`unable to find any component that use ${chalk.bold(aspectId)}`);\n return chalk.green(`the following component(s) have been successfully updated:\\n${results.join('\\n')}`);\n }\n}\n\nexport class UnsetAspectCmd implements Command {\n name = 'unset <pattern> <aspect-id>';\n description = `unset an aspect from component(s).`;\n extendedDescription = `${PATTERN_HELP('aspect unset')}`;\n options = [];\n group = 'development';\n\n constructor(private aspect: AspectMain) {}\n\n async report([pattern, aspectId]: [string, string]) {\n const results = await this.aspect.unsetAspectsFromComponents(pattern, aspectId);\n if (!results.length) return chalk.yellow(`unable to find any matching for ${chalk.bold(pattern)} pattern`);\n return chalk.green(`the following component(s) have been successfully updated:\\n${results.join('\\n')}`);\n }\n}\n\nexport class GetAspectCmd implements Command {\n name = 'get <component-id>';\n description = \"show aspects' data and configuration of the given component\";\n options = [\n ['d', 'debug', 'show the origins were the aspects were taken from'],\n ['j', 'json', 'format as json'],\n ] as CommandOptions;\n group = 'development';\n\n constructor(private aspect: AspectMain) {}\n\n async report([componentName]: [string], { debug }: { debug: boolean }) {\n const { extensions: mergedExtensions, beforeMerge } = await this.aspect.getAspectsOfComponent(componentName);\n\n const extensionsDetailsToString = (extensions: ExtensionDataList) =>\n extensions\n .map((e) => {\n const { name, data, config, extensionId } = e.toComponentObject();\n return `${chalk.bold('name:')} ${name || extensionId?.toString()}\n${chalk.bold('config:')} ${JSON.stringify(config, undefined, 2)}\n${chalk.bold('data:')} ${JSON.stringify(data, undefined, 2)}\n`;\n })\n .join('\\n');\n\n if (debug) {\n const beforeMergeOutput = beforeMerge\n .map(({ origin, extensions, extraData }) => {\n const title = chalk.green.bold(`Origin: ${origin}`);\n const details = extensionsDetailsToString(extensions);\n const moreData = extraData ? `\\n${chalk.bold('Extra Data:')} ${JSON.stringify(extraData, undefined, 2)}` : '';\n return `${title}\\n${details}${moreData}`;\n })\n .join('\\n\\n');\n\n const afterMergeTitle = chalk.green.bold('Final - after merging all origins');\n const afterMergeOutput = `${afterMergeTitle}\\n${extensionsDetailsToString(mergedExtensions)}`;\n\n return `${beforeMergeOutput}\\n\\n\\n${afterMergeOutput}`;\n }\n\n return extensionsDetailsToString(mergedExtensions);\n }\n\n async json([componentName]: [string], { debug }: { debug: boolean }) {\n const { extensions: mergedExtensions, beforeMerge } = await this.aspect.getAspectsOfComponent(componentName);\n\n const extensionsDetailsToObject = (extensions: ExtensionDataList) =>\n extensions.reduce((acc, current) => {\n const { name, data, config, extensionId } = current.toComponentObject();\n const aspectName = name || extensionId?.toString() || '<no-name>';\n acc[aspectName] = {\n name: aspectName,\n config,\n data,\n };\n return acc;\n }, {});\n\n if (debug) {\n const jsonObj: Record<string, any> = {};\n beforeMerge.forEach(({ origin, extensions, extraData }) => {\n jsonObj[origin] = {\n extensions: extensionsDetailsToObject(extensions),\n extraData,\n };\n });\n\n jsonObj.FinalAfterMerge = { extensions: extensionsDetailsToObject(mergedExtensions) };\n return jsonObj;\n }\n\n return extensionsDetailsToObject(mergedExtensions);\n }\n}\n\nexport class AspectCmd implements Command {\n name = 'aspect <sub-command>';\n alias = '';\n description = 'EXPERIMENTAL. manage aspects';\n options = [];\n group = 'development';\n commands: Command[] = [];\n\n async report([unrecognizedSubcommand]: [string]) {\n return chalk.red(\n `\"${unrecognizedSubcommand}\" is not a subcommand of \"aspect\", please run \"bit aspect --help\" to list the subcommands`\n );\n }\n}\n"]}
1
+ {"version":3,"sources":["aspect.cmd.ts"],"names":["ListAspectCmd","constructor","aspect","report","name","debug","listAspectsResults","listAspectsOfComponent","rows","Object","keys","map","componentId","longestAspectName","Math","max","_","aspectName","length","aspects","aspectSource","origin","source","padEnd","level","join","table","CLITable","render","SetAspectCmd","pattern","aspectId","config","configParsed","JSON","parse","results","setAspectsToComponents","chalk","yellow","bold","green","UpdateAspectCmd","updateAspectsToComponents","UnsetAspectCmd","unsetAspectsFromComponents","GetAspectCmd","componentName","extensionsDetailsToString","extensions","e","data","extensionId","toComponentObject","toString","stringify","undefined","mergedExtensions","beforeMerge","getAspectsOfComponentForDebugging","beforeMergeOutput","extraData","title","details","moreData","afterMergeTitle","afterMergeOutput","afterFinalMergeTitle","afterFinalMergeOutput","toLegacy","getAspectsOfComponent","extensionDataList","json","extensionsDetailsToObject","reduce","acc","current","jsonObj","forEach","AfterMerge","FinalAfterMergeIncludeLoad","AspectCmd","unrecognizedSubcommand","red"],"mappings":"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","sourcesContent":["// eslint-disable-next-line max-classes-per-file\nimport { Command, CommandOptions } from '@teambit/cli';\nimport { PATTERN_HELP } from '@teambit/legacy/dist/constants';\nimport { CLITable } from '@teambit/cli-table';\nimport chalk from 'chalk';\nimport { ExtensionDataList } from '@teambit/legacy/dist/consumer/config';\nimport { AspectMain } from './aspect.main.runtime';\n\nexport class ListAspectCmd implements Command {\n name = 'list [pattern]';\n description = 'list all aspects configured on component(s)';\n options = [['d', 'debug', 'show the origins were the aspects were taken from']] as CommandOptions;\n group = 'development';\n extendedDescription = `${PATTERN_HELP('aspect list')}`;\n\n constructor(private aspect: AspectMain) {}\n\n async report([name]: [string], { debug }: { debug: boolean }) {\n const listAspectsResults = await this.aspect.listAspectsOfComponent(name);\n const rows = Object.keys(listAspectsResults).map((componentId) => {\n const longestAspectName = Math.max(...listAspectsResults[componentId].map((_) => _.aspectName.length));\n const aspects = listAspectsResults[componentId]\n .map((aspectSource) => {\n const origin = debug ? ` (origin: ${aspectSource.source})` : '';\n const aspectName = aspectSource.aspectName.padEnd(longestAspectName);\n return `${aspectName} (level: ${aspectSource.level})${origin}`;\n })\n .join('\\n');\n\n return [componentId, aspects];\n });\n const table = new CLITable([], rows);\n return table.render();\n }\n}\n\nexport class SetAspectCmd implements Command {\n name = 'set <pattern> <aspect-id> [config]';\n description = 'set an aspect to component(s) with optional config.';\n extendedDescription = `enter the config as stringified JSON (e.g. '{\"foo\":\"bar\"}' ).\nif no config entered, the aspect will be set with empty config ({}).\n${PATTERN_HELP('aspect set')}`;\n options = [];\n group = 'development';\n\n constructor(private aspect: AspectMain) {}\n\n async report([pattern, aspectId, config]: [string, string, string]) {\n const configParsed = config ? JSON.parse(config) : {};\n const results = await this.aspect.setAspectsToComponents(pattern, aspectId, configParsed);\n if (!results.length) return chalk.yellow(`unable to find any matching for ${chalk.bold(pattern)} pattern`);\n return chalk.green(`the following component(s) have been successfully updated:\\n${results.join('\\n')}`);\n }\n}\n\nexport class UpdateAspectCmd implements Command {\n name = 'update <aspect-id> [pattern]';\n description = 'update a version of an aspect';\n extendedDescription = `default to all components using the aspect, unless \"pattern\" is provided.\n${PATTERN_HELP('aspect update <aspect-id>')}\nexamples:\n\"bit aspect update scope.org/aspect '**/ui/**'\" - update \"ui\" components that use scope.org/aspect to the latest version\n\"bit aspect update scope.org/aspect@2.0.0\" - updates all components using scope.org/aspect to version 2.0.0.`;\n\n options = [];\n group = 'development';\n\n constructor(private aspect: AspectMain) {}\n\n async report([aspectId, pattern]: [string, string]) {\n const results = await this.aspect.updateAspectsToComponents(aspectId, pattern);\n if (!results.length) return chalk.yellow(`unable to find any component that use ${chalk.bold(aspectId)}`);\n return chalk.green(`the following component(s) have been successfully updated:\\n${results.join('\\n')}`);\n }\n}\n\nexport class UnsetAspectCmd implements Command {\n name = 'unset <pattern> <aspect-id>';\n description = `unset an aspect from component(s).`;\n extendedDescription = `${PATTERN_HELP('aspect unset')}`;\n options = [];\n group = 'development';\n\n constructor(private aspect: AspectMain) {}\n\n async report([pattern, aspectId]: [string, string]) {\n const results = await this.aspect.unsetAspectsFromComponents(pattern, aspectId);\n if (!results.length) return chalk.yellow(`unable to find any matching for ${chalk.bold(pattern)} pattern`);\n return chalk.green(`the following component(s) have been successfully updated:\\n${results.join('\\n')}`);\n }\n}\n\nexport class GetAspectCmd implements Command {\n name = 'get <component-id>';\n description = \"show aspects' data and configuration of the given component\";\n options = [\n ['d', 'debug', 'show the origins were the aspects were taken from'],\n ['j', 'json', 'format as json'],\n ] as CommandOptions;\n group = 'development';\n\n constructor(private aspect: AspectMain) {}\n\n async report([componentName]: [string], { debug }: { debug: boolean }) {\n const extensionsDetailsToString = (extensions: ExtensionDataList) =>\n extensions\n .map((e) => {\n const { name, data, config, extensionId } = e.toComponentObject();\n return `${chalk.bold('name:')} ${name || extensionId?.toString()}\n${chalk.bold('config:')} ${JSON.stringify(config, undefined, 2)}\n${chalk.bold('data:')} ${JSON.stringify(data, undefined, 2)}\n`;\n })\n .join('\\n');\n\n if (debug) {\n const {\n aspects,\n extensions: mergedExtensions,\n beforeMerge,\n } = await this.aspect.getAspectsOfComponentForDebugging(componentName);\n const beforeMergeOutput = beforeMerge\n .map(({ origin, extensions, extraData }) => {\n const title = chalk.green.bold(`Origin: ${origin}`);\n const details = extensionsDetailsToString(extensions);\n const moreData = extraData ? `\\n${chalk.bold('Extra Data:')} ${JSON.stringify(extraData, undefined, 2)}` : '';\n return `${title}\\n${details}${moreData}`;\n })\n .join('\\n\\n');\n\n const afterMergeTitle = chalk.green.bold('After merging the origins above');\n const afterMergeOutput = `${afterMergeTitle}\\n${extensionsDetailsToString(mergedExtensions)}`;\n\n const afterFinalMergeTitle = chalk.green.bold('Final - After merging the origin above and the loaded data');\n const afterFinalMergeOutput = `${afterFinalMergeTitle}\\n${extensionsDetailsToString(aspects.toLegacy())}`;\n\n return `${beforeMergeOutput}\\n\\n${afterMergeOutput}\\n\\n\\n${afterFinalMergeOutput}`;\n }\n const aspects = await this.aspect.getAspectsOfComponent(componentName);\n const extensionDataList = aspects.toLegacy();\n return extensionsDetailsToString(extensionDataList);\n }\n\n async json([componentName]: [string], { debug }: { debug: boolean }) {\n const extensionsDetailsToObject = (extensions: ExtensionDataList) =>\n extensions.reduce((acc, current) => {\n const { name, data, config, extensionId } = current.toComponentObject();\n const aspectName = name || extensionId?.toString() || '<no-name>';\n acc[aspectName] = {\n name: aspectName,\n config,\n data,\n };\n return acc;\n }, {});\n\n if (debug) {\n const {\n aspects,\n extensions: mergedExtensions,\n beforeMerge,\n } = await this.aspect.getAspectsOfComponentForDebugging(componentName);\n const jsonObj: Record<string, any> = {};\n beforeMerge.forEach(({ origin, extensions, extraData }) => {\n jsonObj[origin] = {\n extensions: extensionsDetailsToObject(extensions),\n extraData,\n };\n });\n\n jsonObj.AfterMerge = { extensions: extensionsDetailsToObject(mergedExtensions) };\n jsonObj.FinalAfterMergeIncludeLoad = { extensions: extensionsDetailsToObject(aspects.toLegacy()) };\n return jsonObj;\n }\n\n const aspects = await this.aspect.getAspectsOfComponent(componentName);\n\n return extensionsDetailsToObject(aspects.toLegacy());\n }\n}\n\nexport class AspectCmd implements Command {\n name = 'aspect <sub-command>';\n alias = '';\n description = 'EXPERIMENTAL. manage aspects';\n options = [];\n group = 'development';\n commands: Command[] = [];\n\n async report([unrecognizedSubcommand]: [string]) {\n return chalk.red(\n `\"${unrecognizedSubcommand}\" is not a subcommand of \"aspect\", please run \"bit aspect --help\" to list the subcommands`\n );\n }\n}\n"]}
@@ -7,6 +7,7 @@ import { ReactMain } from '@teambit/react';
7
7
  import { GeneratorMain } from '@teambit/generator';
8
8
  import { BabelMain } from '@teambit/babel';
9
9
  import { ComponentID } from '@teambit/component-id';
10
+ import { AspectList } from '@teambit/component';
10
11
  import { ExtensionsOrigin, Workspace } from '@teambit/workspace';
11
12
  import { CompilerMain } from '@teambit/compiler';
12
13
  import { AspectEnv } from './aspect.env';
@@ -46,7 +47,15 @@ export declare class AspectMain {
46
47
  private getLevelBySourceOrigin;
47
48
  setAspectsToComponents(pattern: string, aspectId: string, config?: Record<string, any>): Promise<ComponentID[]>;
48
49
  unsetAspectsFromComponents(pattern: string, aspectId: string): Promise<ComponentID[]>;
49
- getAspectsOfComponent(id: string | ComponentID): Promise<{
50
+ /**
51
+ * returns all aspects info of a component, include the config and the data.
52
+ */
53
+ getAspectsOfComponent(id: string | ComponentID): Promise<AspectList>;
54
+ /**
55
+ * helps debugging why/how an aspect was set to a component
56
+ */
57
+ getAspectsOfComponentForDebugging(id: string | ComponentID): Promise<{
58
+ aspects: AspectList;
50
59
  extensions: import("@teambit/legacy/dist/consumer/config").ExtensionDataList;
51
60
  beforeMerge: {
52
61
  extensions: import("@teambit/legacy/dist/consumer/config").ExtensionDataList;
@@ -289,14 +289,40 @@ class AspectMain {
289
289
  await this.workspace.bitMap.write();
290
290
  return componentIds;
291
291
  }
292
+ /**
293
+ * returns all aspects info of a component, include the config and the data.
294
+ */
295
+
292
296
 
293
297
  async getAspectsOfComponent(id) {
294
298
  if (typeof id === 'string') {
295
299
  id = await this.workspace.resolveComponentId(id);
296
300
  }
297
301
 
302
+ const component = await this.workspace.get(id);
303
+ return component.state.aspects;
304
+ }
305
+ /**
306
+ * helps debugging why/how an aspect was set to a component
307
+ */
308
+
309
+
310
+ async getAspectsOfComponentForDebugging(id) {
311
+ if (typeof id === 'string') {
312
+ id = await this.workspace.resolveComponentId(id);
313
+ }
314
+
298
315
  const componentFromScope = await this.workspace.scope.get(id);
299
- return this.workspace.componentExtensions(id, componentFromScope);
316
+ const {
317
+ extensions,
318
+ beforeMerge
319
+ } = await this.workspace.componentExtensions(id, componentFromScope);
320
+ const component = await this.workspace.get(id);
321
+ return {
322
+ aspects: component.state.aspects,
323
+ extensions,
324
+ beforeMerge
325
+ };
300
326
  }
301
327
 
302
328
  async updateAspectsToComponents(aspectId, pattern) {
@@ -1 +1 @@
1
- {"version":3,"sources":["aspect.main.runtime.ts"],"names":["tsconfig","require","AspectMain","constructor","aspectEnv","envs","workspace","compose","transformers","targetEnv","merge","listAspectsOfComponent","pattern","getIds","listIds","idsByPattern","componentIds","results","Promise","all","map","id","aspectSources","getAspectNamesForComponent","toString","babelConfig","componentFromScope","scope","get","beforeMerge","componentExtensions","forEach","source","extensions","ext","aspectName","name","extensionId","alreadySaved","find","_","push","origin","level","getLevelBySourceOrigin","setAspectsToComponents","aspectId","config","componentId","addSpecificComponentConfig","bitMap","write","unsetAspectsFromComponents","removeSpecificComponentConfig","getAspectsOfComponent","resolveComponentId","updateAspectsToComponents","aspectCompId","hasVersion","fromRemote","getRemoteComponent","changeVersion","version","err","BitError","allCompIds","allComps","getMany","updatedComponentIds","comp","aspect","state","aspects","toStringWithoutVersion","undefined","overrideDependencies","dependencyPolicy","override","getDependencies","reactDeps","provider","react","builder","aspectLoader","compiler","babel","generator","cli","babelCompiler","createCompiler","babelTransformOptions","distDir","distGlobPatterns","compilerOverride","getCompiler","transformer","mergeTsConfig","setArtifactName","setDistGlobPatterns","setShouldCopyNonSupportedFiles","tsCompiler","env","compilerTasksOverride","overrideCompilerTasks","createTask","AspectEnv","reactEnv","coreExporterTask","CoreExporterTask","__dirname","includes","registerBuildTasks","registerEnv","registerComponentTemplate","aspectTemplate","aspectMain","aspectCmd","AspectCmd","commands","ListAspectCmd","GetAspectCmd","SetAspectCmd","UnsetAspectCmd","UpdateAspectCmd","register","MainRuntime","ReactAspect","EnvsAspect","BuilderAspect","AspectLoaderAspect","CompilerAspect","BabelAspect","GeneratorAspect","WorkspaceAspect","CLIAspect","AspectAspect","addRuntime"],"mappings":"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","sourcesContent":["import { AspectLoaderAspect, AspectLoaderMain } from '@teambit/aspect-loader';\nimport mergeDeepLeft from 'ramda/src/mergeDeepLeft';\nimport { BuilderAspect, BuilderMain } from '@teambit/builder';\nimport { compact } from 'lodash';\nimport { EnvPolicyConfigObject } from '@teambit/dependency-resolver';\nimport { BitError } from '@teambit/bit-error';\nimport { CLIAspect, CLIMain, MainRuntime } from '@teambit/cli';\nimport { Environment, EnvsAspect, EnvsMain, EnvTransformer } from '@teambit/envs';\nimport { ReactAspect, ReactMain } from '@teambit/react';\nimport { GeneratorAspect, GeneratorMain } from '@teambit/generator';\nimport { BabelAspect, BabelMain } from '@teambit/babel';\nimport { ComponentID } from '@teambit/component-id';\nimport WorkspaceAspect, { ExtensionsOrigin, Workspace } from '@teambit/workspace';\nimport { CompilerAspect, CompilerMain } from '@teambit/compiler';\nimport { AspectAspect } from './aspect.aspect';\nimport { AspectEnv } from './aspect.env';\nimport { CoreExporterTask } from './core-exporter.task';\nimport { aspectTemplate } from './templates/aspect';\nimport { babelConfig } from './babel/babel-config';\nimport { AspectCmd, GetAspectCmd, ListAspectCmd, SetAspectCmd, UnsetAspectCmd, UpdateAspectCmd } from './aspect.cmd';\n\nexport type AspectSource = { aspectName: string; source: string; level: string };\n\nconst tsconfig = require('./typescript/tsconfig.json');\n\nexport class AspectMain {\n constructor(readonly aspectEnv: AspectEnv, private envs: EnvsMain, private workspace: Workspace) {}\n\n /**\n * compose your own aspect environment.\n */\n compose(transformers: EnvTransformer[] = [], targetEnv: Environment = {}) {\n return this.envs.compose(this.envs.merge(targetEnv, this.aspectEnv), transformers);\n }\n\n async listAspectsOfComponent(pattern?: string): Promise<{ [component: string]: AspectSource[] }> {\n const getIds = async () => {\n if (!pattern) return this.workspace.listIds();\n return this.workspace.idsByPattern(pattern);\n };\n const componentIds = await getIds();\n const results = {};\n await Promise.all(\n componentIds.map(async (id) => {\n const aspectSources = await this.getAspectNamesForComponent(id);\n results[id.toString()] = aspectSources;\n })\n );\n return results;\n }\n\n get babelConfig() {\n return babelConfig;\n }\n\n private async getAspectNamesForComponent(id: ComponentID): Promise<AspectSource[]> {\n const componentFromScope = await this.workspace.scope.get(id);\n const { beforeMerge } = await this.workspace.componentExtensions(id, componentFromScope);\n const aspectSources: AspectSource[] = [];\n beforeMerge.forEach((source) => {\n source.extensions.forEach((ext) => {\n const aspectName = ext.name || ext.extensionId?.toString() || '<no-name>';\n const alreadySaved = aspectSources.find((_) => _.aspectName === aspectName);\n if (alreadySaved) return;\n aspectSources.push({ aspectName, source: source.origin, level: this.getLevelBySourceOrigin(source.origin) });\n });\n });\n return aspectSources;\n }\n\n private getLevelBySourceOrigin(origin: ExtensionsOrigin) {\n switch (origin) {\n case 'BitmapFile':\n case 'ComponentJsonFile':\n case 'ModelSpecific':\n return 'component';\n default:\n return 'workspace';\n }\n }\n\n async setAspectsToComponents(\n pattern: string,\n aspectId: string,\n config: Record<string, any> = {}\n ): Promise<ComponentID[]> {\n const componentIds = await this.workspace.idsByPattern(pattern);\n await Promise.all(\n componentIds.map(async (componentId) => {\n await this.workspace.addSpecificComponentConfig(componentId, aspectId, config);\n })\n );\n await this.workspace.bitMap.write();\n\n return componentIds;\n }\n\n async unsetAspectsFromComponents(pattern: string, aspectId: string): Promise<ComponentID[]> {\n const componentIds = await this.workspace.idsByPattern(pattern);\n await Promise.all(\n componentIds.map(async (componentId) => {\n await this.workspace.removeSpecificComponentConfig(componentId, aspectId, true);\n })\n );\n await this.workspace.bitMap.write();\n\n return componentIds;\n }\n\n async getAspectsOfComponent(id: string | ComponentID) {\n if (typeof id === 'string') {\n id = await this.workspace.resolveComponentId(id);\n }\n const componentFromScope = await this.workspace.scope.get(id);\n return this.workspace.componentExtensions(id, componentFromScope);\n }\n\n async updateAspectsToComponents(aspectId: string, pattern?: string): Promise<ComponentID[]> {\n let aspectCompId = await this.workspace.resolveComponentId(aspectId);\n if (!aspectCompId.hasVersion()) {\n try {\n const fromRemote = await this.workspace.scope.getRemoteComponent(aspectCompId);\n aspectCompId = aspectCompId.changeVersion(fromRemote.id.version);\n } catch (err) {\n throw new BitError(\n `unable to find ${aspectId} in the remote. if this is a local aspect, please provide a version with your aspect (${aspectId}) to update to`\n );\n }\n }\n const allCompIds = pattern ? await this.workspace.idsByPattern(pattern) : await this.workspace.listIds();\n const allComps = await this.workspace.getMany(allCompIds);\n const updatedComponentIds = await Promise.all(\n allComps.map(async (comp) => {\n const aspect = comp.state.aspects.get(aspectCompId.toStringWithoutVersion());\n if (!aspect) return undefined;\n if (aspect.id.version === aspectCompId.version) return undefined; // nothing to update\n await this.workspace.removeSpecificComponentConfig(comp.id, aspect.id.toString(), true);\n await this.workspace.addSpecificComponentConfig(comp.id, aspectCompId.toString(), aspect.config);\n return comp.id;\n })\n );\n await this.workspace.bitMap.write();\n return compact(updatedComponentIds);\n }\n\n /**\n * override the dependency configuration of the component environment.\n */\n overrideDependencies(dependencyPolicy: EnvPolicyConfigObject) {\n return this.envs.override({\n getDependencies: async () => {\n const reactDeps = await this.aspectEnv.getDependencies();\n return mergeDeepLeft(dependencyPolicy, reactDeps);\n },\n });\n }\n\n static runtime = MainRuntime;\n static dependencies = [\n ReactAspect,\n EnvsAspect,\n BuilderAspect,\n AspectLoaderAspect,\n CompilerAspect,\n BabelAspect,\n GeneratorAspect,\n WorkspaceAspect,\n CLIAspect,\n ];\n\n static async provider([react, envs, builder, aspectLoader, compiler, babel, generator, workspace, cli]: [\n ReactMain,\n EnvsMain,\n BuilderMain,\n AspectLoaderMain,\n CompilerMain,\n BabelMain,\n GeneratorMain,\n Workspace,\n CLIMain\n ]) {\n const babelCompiler = babel.createCompiler({\n babelTransformOptions: babelConfig,\n distDir: 'dist',\n distGlobPatterns: [`dist/**`, `!dist/**/*.d.ts`, `!dist/tsconfig.tsbuildinfo`],\n });\n const compilerOverride = envs.override({\n getCompiler: () => {\n return babelCompiler;\n },\n });\n\n const transformer = (config) => {\n config\n .mergeTsConfig(tsconfig)\n .setArtifactName('declaration')\n .setDistGlobPatterns([`dist/**/*.d.ts`])\n .setShouldCopyNonSupportedFiles(false);\n return config;\n };\n const tsCompiler = react.env.getCompiler([transformer]);\n\n const compilerTasksOverride = react.overrideCompilerTasks([\n compiler.createTask('BabelCompiler', babelCompiler),\n compiler.createTask('TypescriptCompiler', tsCompiler),\n ]);\n\n const aspectEnv = react.compose(\n [compilerOverride, compilerTasksOverride],\n new AspectEnv(react.reactEnv, aspectLoader)\n );\n\n const coreExporterTask = new CoreExporterTask(aspectEnv, aspectLoader);\n if (!__dirname.includes('@teambit/bit')) {\n builder.registerBuildTasks([coreExporterTask]);\n }\n\n envs.registerEnv(aspectEnv);\n generator.registerComponentTemplate([aspectTemplate]);\n const aspectMain = new AspectMain(aspectEnv as AspectEnv, envs, workspace);\n const aspectCmd = new AspectCmd();\n aspectCmd.commands = [\n new ListAspectCmd(aspectMain),\n new GetAspectCmd(aspectMain),\n new SetAspectCmd(aspectMain),\n new UnsetAspectCmd(aspectMain),\n new UpdateAspectCmd(aspectMain),\n ];\n cli.register(aspectCmd);\n\n return aspectMain;\n }\n}\n\nAspectAspect.addRuntime(AspectMain);\n"]}
1
+ {"version":3,"sources":["aspect.main.runtime.ts"],"names":["tsconfig","require","AspectMain","constructor","aspectEnv","envs","workspace","compose","transformers","targetEnv","merge","listAspectsOfComponent","pattern","getIds","listIds","idsByPattern","componentIds","results","Promise","all","map","id","aspectSources","getAspectNamesForComponent","toString","babelConfig","componentFromScope","scope","get","beforeMerge","componentExtensions","forEach","source","extensions","ext","aspectName","name","extensionId","alreadySaved","find","_","push","origin","level","getLevelBySourceOrigin","setAspectsToComponents","aspectId","config","componentId","addSpecificComponentConfig","bitMap","write","unsetAspectsFromComponents","removeSpecificComponentConfig","getAspectsOfComponent","resolveComponentId","component","state","aspects","getAspectsOfComponentForDebugging","updateAspectsToComponents","aspectCompId","hasVersion","fromRemote","getRemoteComponent","changeVersion","version","err","BitError","allCompIds","allComps","getMany","updatedComponentIds","comp","aspect","toStringWithoutVersion","undefined","overrideDependencies","dependencyPolicy","override","getDependencies","reactDeps","provider","react","builder","aspectLoader","compiler","babel","generator","cli","babelCompiler","createCompiler","babelTransformOptions","distDir","distGlobPatterns","compilerOverride","getCompiler","transformer","mergeTsConfig","setArtifactName","setDistGlobPatterns","setShouldCopyNonSupportedFiles","tsCompiler","env","compilerTasksOverride","overrideCompilerTasks","createTask","AspectEnv","reactEnv","coreExporterTask","CoreExporterTask","__dirname","includes","registerBuildTasks","registerEnv","registerComponentTemplate","aspectTemplate","aspectMain","aspectCmd","AspectCmd","commands","ListAspectCmd","GetAspectCmd","SetAspectCmd","UnsetAspectCmd","UpdateAspectCmd","register","MainRuntime","ReactAspect","EnvsAspect","BuilderAspect","AspectLoaderAspect","CompilerAspect","BabelAspect","GeneratorAspect","WorkspaceAspect","CLIAspect","AspectAspect","addRuntime"],"mappings":"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","sourcesContent":["import { AspectLoaderAspect, AspectLoaderMain } from '@teambit/aspect-loader';\nimport mergeDeepLeft from 'ramda/src/mergeDeepLeft';\nimport { BuilderAspect, BuilderMain } from '@teambit/builder';\nimport { compact } from 'lodash';\nimport { EnvPolicyConfigObject } from '@teambit/dependency-resolver';\nimport { BitError } from '@teambit/bit-error';\nimport { CLIAspect, CLIMain, MainRuntime } from '@teambit/cli';\nimport { Environment, EnvsAspect, EnvsMain, EnvTransformer } from '@teambit/envs';\nimport { ReactAspect, ReactMain } from '@teambit/react';\nimport { GeneratorAspect, GeneratorMain } from '@teambit/generator';\nimport { BabelAspect, BabelMain } from '@teambit/babel';\nimport { ComponentID } from '@teambit/component-id';\nimport { AspectList } from '@teambit/component';\nimport WorkspaceAspect, { ExtensionsOrigin, Workspace } from '@teambit/workspace';\nimport { CompilerAspect, CompilerMain } from '@teambit/compiler';\nimport { AspectAspect } from './aspect.aspect';\nimport { AspectEnv } from './aspect.env';\nimport { CoreExporterTask } from './core-exporter.task';\nimport { aspectTemplate } from './templates/aspect';\nimport { babelConfig } from './babel/babel-config';\nimport { AspectCmd, GetAspectCmd, ListAspectCmd, SetAspectCmd, UnsetAspectCmd, UpdateAspectCmd } from './aspect.cmd';\n\nexport type AspectSource = { aspectName: string; source: string; level: string };\n\nconst tsconfig = require('./typescript/tsconfig.json');\n\nexport class AspectMain {\n constructor(readonly aspectEnv: AspectEnv, private envs: EnvsMain, private workspace: Workspace) {}\n\n /**\n * compose your own aspect environment.\n */\n compose(transformers: EnvTransformer[] = [], targetEnv: Environment = {}) {\n return this.envs.compose(this.envs.merge(targetEnv, this.aspectEnv), transformers);\n }\n\n async listAspectsOfComponent(pattern?: string): Promise<{ [component: string]: AspectSource[] }> {\n const getIds = async () => {\n if (!pattern) return this.workspace.listIds();\n return this.workspace.idsByPattern(pattern);\n };\n const componentIds = await getIds();\n const results = {};\n await Promise.all(\n componentIds.map(async (id) => {\n const aspectSources = await this.getAspectNamesForComponent(id);\n results[id.toString()] = aspectSources;\n })\n );\n return results;\n }\n\n get babelConfig() {\n return babelConfig;\n }\n\n private async getAspectNamesForComponent(id: ComponentID): Promise<AspectSource[]> {\n const componentFromScope = await this.workspace.scope.get(id);\n const { beforeMerge } = await this.workspace.componentExtensions(id, componentFromScope);\n const aspectSources: AspectSource[] = [];\n beforeMerge.forEach((source) => {\n source.extensions.forEach((ext) => {\n const aspectName = ext.name || ext.extensionId?.toString() || '<no-name>';\n const alreadySaved = aspectSources.find((_) => _.aspectName === aspectName);\n if (alreadySaved) return;\n aspectSources.push({ aspectName, source: source.origin, level: this.getLevelBySourceOrigin(source.origin) });\n });\n });\n return aspectSources;\n }\n\n private getLevelBySourceOrigin(origin: ExtensionsOrigin) {\n switch (origin) {\n case 'BitmapFile':\n case 'ComponentJsonFile':\n case 'ModelSpecific':\n return 'component';\n default:\n return 'workspace';\n }\n }\n\n async setAspectsToComponents(\n pattern: string,\n aspectId: string,\n config: Record<string, any> = {}\n ): Promise<ComponentID[]> {\n const componentIds = await this.workspace.idsByPattern(pattern);\n await Promise.all(\n componentIds.map(async (componentId) => {\n await this.workspace.addSpecificComponentConfig(componentId, aspectId, config);\n })\n );\n await this.workspace.bitMap.write();\n\n return componentIds;\n }\n\n async unsetAspectsFromComponents(pattern: string, aspectId: string): Promise<ComponentID[]> {\n const componentIds = await this.workspace.idsByPattern(pattern);\n await Promise.all(\n componentIds.map(async (componentId) => {\n await this.workspace.removeSpecificComponentConfig(componentId, aspectId, true);\n })\n );\n await this.workspace.bitMap.write();\n\n return componentIds;\n }\n\n /**\n * returns all aspects info of a component, include the config and the data.\n */\n async getAspectsOfComponent(id: string | ComponentID): Promise<AspectList> {\n if (typeof id === 'string') {\n id = await this.workspace.resolveComponentId(id);\n }\n const component = await this.workspace.get(id);\n return component.state.aspects;\n }\n\n /**\n * helps debugging why/how an aspect was set to a component\n */\n async getAspectsOfComponentForDebugging(id: string | ComponentID) {\n if (typeof id === 'string') {\n id = await this.workspace.resolveComponentId(id);\n }\n const componentFromScope = await this.workspace.scope.get(id);\n const { extensions, beforeMerge } = await this.workspace.componentExtensions(id, componentFromScope);\n const component = await this.workspace.get(id);\n return {\n aspects: component.state.aspects,\n extensions,\n beforeMerge,\n };\n }\n\n async updateAspectsToComponents(aspectId: string, pattern?: string): Promise<ComponentID[]> {\n let aspectCompId = await this.workspace.resolveComponentId(aspectId);\n if (!aspectCompId.hasVersion()) {\n try {\n const fromRemote = await this.workspace.scope.getRemoteComponent(aspectCompId);\n aspectCompId = aspectCompId.changeVersion(fromRemote.id.version);\n } catch (err) {\n throw new BitError(\n `unable to find ${aspectId} in the remote. if this is a local aspect, please provide a version with your aspect (${aspectId}) to update to`\n );\n }\n }\n const allCompIds = pattern ? await this.workspace.idsByPattern(pattern) : await this.workspace.listIds();\n const allComps = await this.workspace.getMany(allCompIds);\n const updatedComponentIds = await Promise.all(\n allComps.map(async (comp) => {\n const aspect = comp.state.aspects.get(aspectCompId.toStringWithoutVersion());\n if (!aspect) return undefined;\n if (aspect.id.version === aspectCompId.version) return undefined; // nothing to update\n await this.workspace.removeSpecificComponentConfig(comp.id, aspect.id.toString(), true);\n await this.workspace.addSpecificComponentConfig(comp.id, aspectCompId.toString(), aspect.config);\n return comp.id;\n })\n );\n await this.workspace.bitMap.write();\n return compact(updatedComponentIds);\n }\n\n /**\n * override the dependency configuration of the component environment.\n */\n overrideDependencies(dependencyPolicy: EnvPolicyConfigObject) {\n return this.envs.override({\n getDependencies: async () => {\n const reactDeps = await this.aspectEnv.getDependencies();\n return mergeDeepLeft(dependencyPolicy, reactDeps);\n },\n });\n }\n\n static runtime = MainRuntime;\n static dependencies = [\n ReactAspect,\n EnvsAspect,\n BuilderAspect,\n AspectLoaderAspect,\n CompilerAspect,\n BabelAspect,\n GeneratorAspect,\n WorkspaceAspect,\n CLIAspect,\n ];\n\n static async provider([react, envs, builder, aspectLoader, compiler, babel, generator, workspace, cli]: [\n ReactMain,\n EnvsMain,\n BuilderMain,\n AspectLoaderMain,\n CompilerMain,\n BabelMain,\n GeneratorMain,\n Workspace,\n CLIMain\n ]) {\n const babelCompiler = babel.createCompiler({\n babelTransformOptions: babelConfig,\n distDir: 'dist',\n distGlobPatterns: [`dist/**`, `!dist/**/*.d.ts`, `!dist/tsconfig.tsbuildinfo`],\n });\n const compilerOverride = envs.override({\n getCompiler: () => {\n return babelCompiler;\n },\n });\n\n const transformer = (config) => {\n config\n .mergeTsConfig(tsconfig)\n .setArtifactName('declaration')\n .setDistGlobPatterns([`dist/**/*.d.ts`])\n .setShouldCopyNonSupportedFiles(false);\n return config;\n };\n const tsCompiler = react.env.getCompiler([transformer]);\n\n const compilerTasksOverride = react.overrideCompilerTasks([\n compiler.createTask('BabelCompiler', babelCompiler),\n compiler.createTask('TypescriptCompiler', tsCompiler),\n ]);\n\n const aspectEnv = react.compose(\n [compilerOverride, compilerTasksOverride],\n new AspectEnv(react.reactEnv, aspectLoader)\n );\n\n const coreExporterTask = new CoreExporterTask(aspectEnv, aspectLoader);\n if (!__dirname.includes('@teambit/bit')) {\n builder.registerBuildTasks([coreExporterTask]);\n }\n\n envs.registerEnv(aspectEnv);\n generator.registerComponentTemplate([aspectTemplate]);\n const aspectMain = new AspectMain(aspectEnv as AspectEnv, envs, workspace);\n const aspectCmd = new AspectCmd();\n aspectCmd.commands = [\n new ListAspectCmd(aspectMain),\n new GetAspectCmd(aspectMain),\n new SetAspectCmd(aspectMain),\n new UnsetAspectCmd(aspectMain),\n new UpdateAspectCmd(aspectMain),\n ];\n cli.register(aspectCmd);\n\n return aspectMain;\n }\n}\n\nAspectAspect.addRuntime(AspectMain);\n"]}
package/package.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@teambit/aspect",
3
- "version": "0.0.692",
3
+ "version": "0.0.695",
4
4
  "homepage": "https://bit.dev/teambit/harmony/aspect",
5
5
  "main": "dist/index.js",
6
6
  "componentId": {
7
7
  "scope": "teambit.harmony",
8
8
  "name": "aspect",
9
- "version": "0.0.692"
9
+ "version": "0.0.695"
10
10
  },
11
11
  "dependencies": {
12
12
  "@teambit/harmony": "0.2.11",
@@ -27,25 +27,26 @@
27
27
  "@babel/runtime": "7.12.18",
28
28
  "core-js": "^3.0.0",
29
29
  "@teambit/cli-table": "0.0.33",
30
- "@teambit/cli": "0.0.463",
31
- "@teambit/aspect-loader": "0.0.692",
32
- "@teambit/builder": "0.0.692",
33
- "@teambit/bundler": "0.0.692",
34
- "@teambit/compiler": "0.0.692",
35
- "@teambit/envs": "0.0.692",
36
- "@teambit/react": "0.0.692",
37
- "@teambit/webpack": "0.0.692",
38
- "@teambit/babel": "0.0.692",
30
+ "@teambit/cli": "0.0.464",
31
+ "@teambit/aspect-loader": "0.0.695",
32
+ "@teambit/builder": "0.0.695",
33
+ "@teambit/bundler": "0.0.695",
34
+ "@teambit/compiler": "0.0.695",
35
+ "@teambit/envs": "0.0.695",
36
+ "@teambit/react": "0.0.695",
37
+ "@teambit/webpack": "0.0.695",
38
+ "@teambit/babel": "0.0.695",
39
39
  "@teambit/bit-error": "0.0.394",
40
40
  "@teambit/component-id": "0.0.402",
41
- "@teambit/dependency-resolver": "0.0.692",
42
- "@teambit/generator": "0.0.692",
43
- "@teambit/workspace": "0.0.692",
44
- "@teambit/compositions": "0.0.692",
41
+ "@teambit/component": "0.0.695",
42
+ "@teambit/dependency-resolver": "0.0.695",
43
+ "@teambit/generator": "0.0.695",
44
+ "@teambit/workspace": "0.0.695",
45
+ "@teambit/compositions": "0.0.695",
45
46
  "@teambit/design.ui.empty-box": "0.0.353",
46
- "@teambit/tester": "0.0.692",
47
- "@teambit/ui": "0.0.692",
48
- "@teambit/isolator": "0.0.692"
47
+ "@teambit/tester": "0.0.695",
48
+ "@teambit/ui": "0.0.695",
49
+ "@teambit/isolator": "0.0.695"
49
50
  },
50
51
  "devDependencies": {
51
52
  "@types/react": "^17.0.8",
@@ -57,7 +58,7 @@
57
58
  "@types/node": "12.20.4"
58
59
  },
59
60
  "peerDependencies": {
60
- "@teambit/legacy": "1.0.241",
61
+ "@teambit/legacy": "1.0.242",
61
62
  "react-dom": "^16.8.0 || ^17.0.0",
62
63
  "react": "^16.8.0 || ^17.0.0"
63
64
  },
@@ -1,2 +1,2 @@
1
- export const compositions = [require('/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.harmony_aspect@0.0.692/dist/aspect.composition.js')]
2
- export const overview = [require('/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.harmony_aspect@0.0.692/dist/aspect.docs.mdx')]
1
+ export const compositions = [require('/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.harmony_aspect@0.0.695/dist/aspect.composition.js')]
2
+ export const overview = [require('/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.harmony_aspect@0.0.695/dist/aspect.docs.mdx')]