@teambit/aspect 0.0.649 → 0.0.653
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/{__compositions-1644981953366.js → __compositions-1645393132004.js} +0 -0
- package/{__overview-1644981953366.js → __overview-1645393132004.js} +0 -0
- package/{__preview-1644981953366.js → __preview-1645393132004.js} +2 -2
- package/artifacts/env-template/public/141.js +1 -1
- package/artifacts/env-template/public/181.js +1 -1
- package/artifacts/env-template/public/56.js +1 -0
- package/artifacts/env-template/public/719.js +143 -0
- package/artifacts/env-template/public/848.js +1 -1
- package/artifacts/env-template/public/assets-manifest.json +14 -14
- package/artifacts/env-template/public/compositions.18e6e6c7848b31ae54f3.js +1 -0
- package/artifacts/env-template/public/compositions.html +1 -1
- package/artifacts/env-template/public/overview.9d5ea3fa2c8ab9d53c7b.js +1 -0
- package/artifacts/env-template/public/overview.html +1 -1
- package/artifacts/env-template/public/{peers.23d97726152f744ec115.js → peers.5587f86c7fd29fc836e9.js} +1 -1
- package/artifacts/env-template/public/preview-root.714be03433cbb3822c7d.js +1 -0
- package/artifacts/env-template/public/service-worker.js +1 -1
- package/artifacts/env-template/public/static/css/{664.3b6bb93f.css → 719.fd0bd83a.css} +1 -1
- package/artifacts/preview/teambit_harmony_aspect-preview.js +1 -1
- package/dist/aspect.cmd.d.ts +10 -0
- package/dist/aspect.cmd.js +25 -1
- package/dist/aspect.cmd.js.map +1 -1
- package/dist/aspect.env.d.ts +1 -0
- package/dist/aspect.env.js +1 -1
- package/dist/aspect.env.js.map +1 -1
- package/dist/aspect.main.runtime.d.ts +1 -0
- package/dist/aspect.main.runtime.js +51 -4
- package/dist/aspect.main.runtime.js.map +1 -1
- package/package-tar/teambit-aspect-0.0.653.tgz +0 -0
- package/package.json +17 -16
- package/artifacts/env-template/public/631.js +0 -1
- package/artifacts/env-template/public/664.js +0 -133
- package/artifacts/env-template/public/compositions.c55000e45d8c3b902dd5.js +0 -1
- package/artifacts/env-template/public/overview.728dc1bdf4dd7d9dcf73.js +0 -1
- package/artifacts/env-template/public/preview-root.07ad48d5546f1f057648.js +0 -1
- package/package-tar/teambit-aspect-0.0.649.tgz +0 -0
|
@@ -1 +1 @@
|
|
|
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={8244:e=>{e.exports=function(e){return e&&e.__esModule?e:{default:e}}},
|
|
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={8244:e=>{e.exports=function(e){return e&&e.__esModule?e:{default:e}}},4930:(e,t,o)=>{"use strict";o.r(t),o.d(t,{default:()=>c});o(3804);const n=MdxJsReact,r=TeambitMdxUiMdxScopeContext;var a=["components"];function s(){return s=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},s.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={},a=Object.keys(e);for(n=0;n<a.length;n++)o=a[n],t.indexOf(o)>=0||(r[o]=e[o]);return r}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n<a.length;n++)o=a[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,a);return(0,n.mdx)("wrapper",s({},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},6760:(e,t,o)=>{"use strict";var n={id:"teambit.harmony/aspect@0.0.653",homepage:"https://bit.dev/teambit/harmony/aspect",exported:!0},r=o(8244);function a(){const e=r(o(3804));return a=function(){return e},e}Object.defineProperty(t,"__esModule",{value:!0}),t.Logo=void 0,a.__bit_component=n;const s=()=>a().default.createElement("div",{style:{height:"100%",display:"flex",justifyContent:"center"}},a().default.createElement("img",{style:{width:70},src:"https://static.bit.dev/extensions-icons/default.svg"}));s.__bit_component=n,t.Logo=s},3804:e=>{"use strict";e.exports=React}},t={};function o(n){var r=t[n];if(void 0!==r)return r.exports;var a=t[n]={exports:{}};return e[n](a,a.exports,o),a.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(6760)],t=[o(4930)]})(),n})()}));
|
package/dist/aspect.cmd.d.ts
CHANGED
|
@@ -22,6 +22,16 @@ export declare class SetAspectCmd implements Command {
|
|
|
22
22
|
constructor(aspect: AspectMain);
|
|
23
23
|
report([pattern, aspectId, config]: [string, string, string]): Promise<string>;
|
|
24
24
|
}
|
|
25
|
+
export declare class UpdateAspectCmd implements Command {
|
|
26
|
+
private aspect;
|
|
27
|
+
name: string;
|
|
28
|
+
description: string;
|
|
29
|
+
extendedDescription: string;
|
|
30
|
+
options: never[];
|
|
31
|
+
group: string;
|
|
32
|
+
constructor(aspect: AspectMain);
|
|
33
|
+
report([aspectId, pattern]: [string, string]): Promise<string>;
|
|
34
|
+
}
|
|
25
35
|
export declare class UnsetAspectCmd implements Command {
|
|
26
36
|
private aspect;
|
|
27
37
|
name: string;
|
package/dist/aspect.cmd.js
CHANGED
|
@@ -9,7 +9,7 @@ require("core-js/modules/es.promise.js");
|
|
|
9
9
|
Object.defineProperty(exports, "__esModule", {
|
|
10
10
|
value: true
|
|
11
11
|
});
|
|
12
|
-
exports.UnsetAspectCmd = exports.SetAspectCmd = exports.ListAspectCmd = exports.GetAspectCmd = exports.AspectCmd = void 0;
|
|
12
|
+
exports.UpdateAspectCmd = exports.UnsetAspectCmd = exports.SetAspectCmd = exports.ListAspectCmd = exports.GetAspectCmd = exports.AspectCmd = void 0;
|
|
13
13
|
|
|
14
14
|
function _defineProperty2() {
|
|
15
15
|
const data = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
@@ -106,6 +106,30 @@ ${(0, _constants().PATTERN_HELP)('aspect set')}`);
|
|
|
106
106
|
|
|
107
107
|
exports.SetAspectCmd = SetAspectCmd;
|
|
108
108
|
|
|
109
|
+
class UpdateAspectCmd {
|
|
110
|
+
constructor(aspect) {
|
|
111
|
+
this.aspect = aspect;
|
|
112
|
+
(0, _defineProperty2().default)(this, "name", 'update <aspect-id> [pattern]');
|
|
113
|
+
(0, _defineProperty2().default)(this, "description", 'update a version of an aspect');
|
|
114
|
+
(0, _defineProperty2().default)(this, "extendedDescription", `default to all components using the aspect, unless "pattern" is provided.
|
|
115
|
+
${(0, _constants().PATTERN_HELP)('aspect update <aspect-id>')}
|
|
116
|
+
examples:
|
|
117
|
+
"bit update scope.org/aspect '**/ui/**'" - update "ui" components that use scope.org/aspect to the latest version
|
|
118
|
+
"bit update scope.org/aspect@2.0.0" - updates all components using scope.org/aspect to version 2.0.0.`);
|
|
119
|
+
(0, _defineProperty2().default)(this, "options", []);
|
|
120
|
+
(0, _defineProperty2().default)(this, "group", 'development');
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
async report([aspectId, pattern]) {
|
|
124
|
+
const results = await this.aspect.updateAspectsToComponents(aspectId, pattern);
|
|
125
|
+
if (!results.length) return _chalk().default.yellow(`unable to find any component that use ${_chalk().default.bold(aspectId)}`);
|
|
126
|
+
return _chalk().default.green(`the following component(s) have been successfully updated:\n${results.join('\n')}`);
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
exports.UpdateAspectCmd = UpdateAspectCmd;
|
|
132
|
+
|
|
109
133
|
class UnsetAspectCmd {
|
|
110
134
|
constructor(aspect) {
|
|
111
135
|
this.aspect = aspect;
|
package/dist/aspect.cmd.js.map
CHANGED
|
@@ -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","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 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","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 update scope.org/aspect '**/ui/**'\" - update \"ui\" components that use scope.org/aspect to the latest version\n\"bit 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"]}
|
package/dist/aspect.env.d.ts
CHANGED
|
@@ -19,6 +19,7 @@ export declare class AspectEnv implements DependenciesEnv {
|
|
|
19
19
|
createTsCompiler(tsConfig: TsConfigSourceFile): Compiler;
|
|
20
20
|
getNpmIgnore(context: GetNpmIgnoreContext): string[];
|
|
21
21
|
getPreviewConfig(): {
|
|
22
|
+
strategyName: string;
|
|
22
23
|
splitComponentBundle: boolean;
|
|
23
24
|
};
|
|
24
25
|
getDependencies(): Promise<{
|
package/dist/aspect.env.js
CHANGED
package/dist/aspect.env.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["aspect.env.ts"],"names":["tsconfig","require","AspectEnvType","AspectEnv","constructor","reactEnv","aspectLoader","__getDescriptor","type","getTsConfig","tsConfig","targetConf","createTsCompiler","getCompiler","getNpmIgnore","context","patterns","CAPSULE_ARTIFACTS_DIR","isCoreEnv","component","id","toStringWithoutVersion","push","getPreviewConfig","splitComponentBundle","getDependencies","dependencies","react","devDependencies","peerDependencies"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAEA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAGA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAGA,MAAMA,QAAQ,GAAGC,OAAO,CAAC,4BAAD,CAAxB;;AAEO,MAAMC,aAAa,GAAG,QAAtB;AAEP;AACA;AACA;;;;AACO,MAAMC,SAAN,CAA2C;AAChDC,EAAAA,WAAW,CAASC,QAAT,EAAqCC,YAArC,EAAqE;AAAA,SAA5DD,QAA4D,GAA5DA,QAA4D;AAAA,SAAhCC,YAAgC,GAAhCA,YAAgC;AAAA,kDAEzE,qDAFyE;AAAE;;AAI7D,QAAfC,eAAe,GAAG;AACtB,WAAO;AACLC,MAAAA,IAAI,EAAEN;AADD,KAAP;AAGD;;AAEDO,EAAAA,WAAW,CAACC,QAAD,EAA+B;AACxC,UAAMC,UAAU,GAAG,qBAAMX,QAAN,EAAgBU,QAAhB,CAAnB;AACA,WAAOC,UAAP;AACD;;AAEDC,EAAAA,gBAAgB,CAACF,QAAD,EAAyC;AACvD,WAAO,KAAKL,QAAL,CAAcQ,WAAd,CAA0B,KAAKJ,WAAL,CAAiBC,QAAjB,CAA1B,CAAP;AACD;;AAEDI,EAAAA,YAAY,CAACC,OAAD,EAA+B;AACzC;AACA;AACA;AACA,UAAMC,QAAQ,GAAG,CAAC,OAAD,EAAW,GAAEC,gCAAsB,GAAnC,CAAjB,CAJyC,CAMzC;AACA;AACA;AACA;;AACA,QAAI,KAAKX,YAAL,CAAkBY,SAAlB,CAA4BH,OAAO,CAACI,SAAR,CAAkBC,EAAlB,CAAqBC,sBAArB,EAA5B,CAAJ,EAAgF;AAC9EL,MAAAA,QAAQ,CAACM,IAAT,CAAe,IAAGL,gCAAsB,eAAxC;AACD;;AACD,WAAOD,QAAP;AACD;;AAEDO,EAAAA,gBAAgB,GAAG;AACjB,WAAO;
|
|
1
|
+
{"version":3,"sources":["aspect.env.ts"],"names":["tsconfig","require","AspectEnvType","AspectEnv","constructor","reactEnv","aspectLoader","__getDescriptor","type","getTsConfig","tsConfig","targetConf","createTsCompiler","getCompiler","getNpmIgnore","context","patterns","CAPSULE_ARTIFACTS_DIR","isCoreEnv","component","id","toStringWithoutVersion","push","getPreviewConfig","strategyName","splitComponentBundle","getDependencies","dependencies","react","devDependencies","peerDependencies"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAEA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAGA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAGA,MAAMA,QAAQ,GAAGC,OAAO,CAAC,4BAAD,CAAxB;;AAEO,MAAMC,aAAa,GAAG,QAAtB;AAEP;AACA;AACA;;;;AACO,MAAMC,SAAN,CAA2C;AAChDC,EAAAA,WAAW,CAASC,QAAT,EAAqCC,YAArC,EAAqE;AAAA,SAA5DD,QAA4D,GAA5DA,QAA4D;AAAA,SAAhCC,YAAgC,GAAhCA,YAAgC;AAAA,kDAEzE,qDAFyE;AAAE;;AAI7D,QAAfC,eAAe,GAAG;AACtB,WAAO;AACLC,MAAAA,IAAI,EAAEN;AADD,KAAP;AAGD;;AAEDO,EAAAA,WAAW,CAACC,QAAD,EAA+B;AACxC,UAAMC,UAAU,GAAG,qBAAMX,QAAN,EAAgBU,QAAhB,CAAnB;AACA,WAAOC,UAAP;AACD;;AAEDC,EAAAA,gBAAgB,CAACF,QAAD,EAAyC;AACvD,WAAO,KAAKL,QAAL,CAAcQ,WAAd,CAA0B,KAAKJ,WAAL,CAAiBC,QAAjB,CAA1B,CAAP;AACD;;AAEDI,EAAAA,YAAY,CAACC,OAAD,EAA+B;AACzC;AACA;AACA;AACA,UAAMC,QAAQ,GAAG,CAAC,OAAD,EAAW,GAAEC,gCAAsB,GAAnC,CAAjB,CAJyC,CAMzC;AACA;AACA;AACA;;AACA,QAAI,KAAKX,YAAL,CAAkBY,SAAlB,CAA4BH,OAAO,CAACI,SAAR,CAAkBC,EAAlB,CAAqBC,sBAArB,EAA5B,CAAJ,EAAgF;AAC9EL,MAAAA,QAAQ,CAACM,IAAT,CAAe,IAAGL,gCAAsB,eAAxC;AACD;;AACD,WAAOD,QAAP;AACD;;AAEDO,EAAAA,gBAAgB,GAAG;AACjB,WAAO;AACLC,MAAAA,YAAY,EAAE,WADT;AAELC,MAAAA,oBAAoB,EAAE;AAFjB,KAAP;AAID;;AAEoB,QAAfC,eAAe,GAAG;AACtB,WAAO;AACLC,MAAAA,YAAY,EAAE;AACZC,QAAAA,KAAK,EAAE,GADK;AAEZ,qBAAa,GAFD;AAGZ,mBAAW,QAHC;AAIZ;AACA,0BAAkB;AALN,OADT;AAQL;AACAC,MAAAA,eAAe,EAAE;AACfD,QAAAA,KAAK,EAAE,GADQ;AAEf,qBAAa,GAFE;AAGf,wBAAgB,GAHD;AAIf,uBAAe,SAJA;AAKf,wBAAgB,SALD;AAMf,4BAAoB,SANL;AAOf,uBAAe,SAPA;AAQf,4CAAoC;AARrB,OATZ;AAmBLE,MAAAA,gBAAgB,EAAE;AAChB;AACAF,QAAAA,KAAK,EAAE,oBAFS;AAGhB,qBAAa;AAHG;AAnBb,KAAP;AAyBD;;AArE+C","sourcesContent":["import { Compiler } from '@teambit/compiler';\nimport type { DependenciesEnv, GetNpmIgnoreContext } from '@teambit/envs';\nimport { merge } from 'lodash';\nimport { TsConfigSourceFile } from 'typescript';\nimport { ReactEnv } from '@teambit/react';\nimport { CAPSULE_ARTIFACTS_DIR } from '@teambit/builder';\nimport type { AspectLoaderMain } from '@teambit/aspect-loader';\n\nconst tsconfig = require('./typescript/tsconfig.json');\n\nexport const AspectEnvType = 'aspect';\n\n/**\n * a component environment built for Aspects .\n */\nexport class AspectEnv implements DependenciesEnv {\n constructor(private reactEnv: ReactEnv, private aspectLoader: AspectLoaderMain) {}\n\n icon = 'https://static.bit.dev/extensions-icons/default.svg';\n\n async __getDescriptor() {\n return {\n type: AspectEnvType,\n };\n }\n\n getTsConfig(tsConfig: TsConfigSourceFile) {\n const targetConf = merge(tsconfig, tsConfig);\n return targetConf;\n }\n\n createTsCompiler(tsConfig: TsConfigSourceFile): Compiler {\n return this.reactEnv.getCompiler(this.getTsConfig(tsConfig));\n }\n\n getNpmIgnore(context: GetNpmIgnoreContext) {\n // ignores only .ts files in the root directory, so d.ts files inside dists are unaffected.\n // without this change, the package has \"index.ts\" file in the root, causing typescript to parse it instead of the\n // d.ts files. (changing the \"types\" prop in the package.json file doesn't help).\n const patterns = ['/*.ts', `${CAPSULE_ARTIFACTS_DIR}/`];\n\n // In order to load the env preview template from core aspects we need it to be in the package of the core envs\n // This is because we don't have the core envs in the local scope so we load it from the package itself in the bvm installation\n // as this will be excluded from the package tar by default (as it's under the CAPSULE_ARTIFACTS_DIR)\n // we want to make sure to add it for the core envs\n if (this.aspectLoader.isCoreEnv(context.component.id.toStringWithoutVersion())) {\n patterns.push(`!${CAPSULE_ARTIFACTS_DIR}/env-template`);\n }\n return patterns;\n }\n\n getPreviewConfig() {\n return {\n strategyName: 'component',\n splitComponentBundle: false,\n };\n }\n\n async getDependencies() {\n return {\n dependencies: {\n react: '-',\n 'react-dom': '-',\n 'core-js': '^3.0.0',\n // For aspects the babel runtime should be a runtime dep not only dev as they are compiled by babel\n '@babel/runtime': '7.12.18',\n },\n // TODO: add this only if using ts\n devDependencies: {\n react: '-',\n 'react-dom': '-',\n '@types/mocha': '-',\n '@types/node': '12.20.4',\n '@types/react': '^17.0.8',\n '@types/react-dom': '^17.0.5',\n '@types/jest': '^26.0.0',\n '@types/testing-library__jest-dom': '5.9.5',\n },\n peerDependencies: {\n // TODO: check if we really need react for aspects (maybe for ink support)\n react: '^16.8.0 || ^17.0.0',\n 'react-dom': '^16.8.0 || ^17.0.0',\n },\n };\n }\n}\n"]}
|
|
@@ -38,6 +38,7 @@ export declare class AspectMain {
|
|
|
38
38
|
extraData: any;
|
|
39
39
|
}[];
|
|
40
40
|
}>;
|
|
41
|
+
updateAspectsToComponents(aspectId: string, pattern?: string): Promise<ComponentID[]>;
|
|
41
42
|
static runtime: import("@teambit/harmony").RuntimeDefinition;
|
|
42
43
|
static dependencies: import("@teambit/harmony").Aspect[];
|
|
43
44
|
static provider([react, envs, builder, aspectLoader, compiler, babel, generator, workspace, cli]: [
|
|
@@ -41,6 +41,26 @@ function _builder() {
|
|
|
41
41
|
return data;
|
|
42
42
|
}
|
|
43
43
|
|
|
44
|
+
function _lodash() {
|
|
45
|
+
const data = require("lodash");
|
|
46
|
+
|
|
47
|
+
_lodash = function () {
|
|
48
|
+
return data;
|
|
49
|
+
};
|
|
50
|
+
|
|
51
|
+
return data;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
function _bitError() {
|
|
55
|
+
const data = require("@teambit/bit-error");
|
|
56
|
+
|
|
57
|
+
_bitError = function () {
|
|
58
|
+
return data;
|
|
59
|
+
};
|
|
60
|
+
|
|
61
|
+
return data;
|
|
62
|
+
}
|
|
63
|
+
|
|
44
64
|
function _cli() {
|
|
45
65
|
const data = require("@teambit/cli");
|
|
46
66
|
|
|
@@ -240,9 +260,9 @@ class AspectMain {
|
|
|
240
260
|
|
|
241
261
|
async setAspectsToComponents(pattern, aspectId, config = {}) {
|
|
242
262
|
const componentIds = await this.workspace.idsByPattern(pattern);
|
|
243
|
-
componentIds.
|
|
244
|
-
this.workspace.
|
|
245
|
-
});
|
|
263
|
+
await Promise.all(componentIds.map(async componentId => {
|
|
264
|
+
await this.workspace.addSpecificComponentConfig(componentId, aspectId, config);
|
|
265
|
+
}));
|
|
246
266
|
await this.workspace.bitMap.write();
|
|
247
267
|
return componentIds;
|
|
248
268
|
}
|
|
@@ -265,6 +285,33 @@ class AspectMain {
|
|
|
265
285
|
return this.workspace.componentExtensions(id, componentFromScope);
|
|
266
286
|
}
|
|
267
287
|
|
|
288
|
+
async updateAspectsToComponents(aspectId, pattern) {
|
|
289
|
+
let aspectCompId = await this.workspace.resolveComponentId(aspectId);
|
|
290
|
+
|
|
291
|
+
if (!aspectCompId.hasVersion()) {
|
|
292
|
+
try {
|
|
293
|
+
const fromRemote = await this.workspace.scope.getRemoteComponent(aspectCompId);
|
|
294
|
+
aspectCompId = aspectCompId.changeVersion(fromRemote.id.version);
|
|
295
|
+
} catch (err) {
|
|
296
|
+
throw new (_bitError().BitError)(`unable to find ${aspectId} in the remote. if this is a local aspect, please provide a version with your aspect (${aspectId}) to update to`);
|
|
297
|
+
}
|
|
298
|
+
}
|
|
299
|
+
|
|
300
|
+
const allCompIds = pattern ? await this.workspace.idsByPattern(pattern) : await this.workspace.listIds();
|
|
301
|
+
const allComps = await this.workspace.getMany(allCompIds);
|
|
302
|
+
const updatedComponentIds = await Promise.all(allComps.map(async comp => {
|
|
303
|
+
const aspect = comp.state.aspects.get(aspectCompId.toStringWithoutVersion());
|
|
304
|
+
if (!aspect) return undefined;
|
|
305
|
+
if (aspect.id.version === aspectCompId.version) return undefined; // nothing to update
|
|
306
|
+
|
|
307
|
+
await this.workspace.removeSpecificComponentConfig(comp.id, aspect.id.toString(), true);
|
|
308
|
+
await this.workspace.addSpecificComponentConfig(comp.id, aspectCompId.toString(), aspect.config);
|
|
309
|
+
return comp.id;
|
|
310
|
+
}));
|
|
311
|
+
await this.workspace.bitMap.write();
|
|
312
|
+
return (0, _lodash().compact)(updatedComponentIds);
|
|
313
|
+
}
|
|
314
|
+
|
|
268
315
|
static async provider([react, envs, builder, aspectLoader, compiler, babel, generator, workspace, cli]) {
|
|
269
316
|
const babelCompiler = babel.createCompiler({
|
|
270
317
|
babelTransformOptions: _babelConfig().babelConfig,
|
|
@@ -295,7 +342,7 @@ class AspectMain {
|
|
|
295
342
|
generator.registerComponentTemplate([_aspect3().aspectTemplate]);
|
|
296
343
|
const aspectMain = new AspectMain(aspectEnv, envs, workspace);
|
|
297
344
|
const aspectCmd = new (_aspect4().AspectCmd)();
|
|
298
|
-
aspectCmd.commands = [new (_aspect4().ListAspectCmd)(aspectMain), new (_aspect4().GetAspectCmd)(aspectMain), new (_aspect4().SetAspectCmd)(aspectMain), new (_aspect4().UnsetAspectCmd)(aspectMain)];
|
|
345
|
+
aspectCmd.commands = [new (_aspect4().ListAspectCmd)(aspectMain), new (_aspect4().GetAspectCmd)(aspectMain), new (_aspect4().SetAspectCmd)(aspectMain), new (_aspect4().UnsetAspectCmd)(aspectMain), new (_aspect4().UpdateAspectCmd)(aspectMain)];
|
|
299
346
|
cli.register(aspectCmd);
|
|
300
347
|
return aspectMain;
|
|
301
348
|
}
|
|
@@ -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","componentFromScope","scope","get","beforeMerge","componentExtensions","forEach","source","extensions","ext","aspectName","name","extensionId","alreadySaved","find","_","push","origin","level","getLevelBySourceOrigin","setAspectsToComponents","aspectId","config","componentId","bitMap","addComponentConfig","write","unsetAspectsFromComponents","removeSpecificComponentConfig","getAspectsOfComponent","resolveComponentId","provider","react","builder","aspectLoader","compiler","babel","generator","cli","babelCompiler","createCompiler","babelTransformOptions","babelConfig","distDir","distGlobPatterns","compilerOverride","override","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","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 { BuilderAspect, BuilderMain } from '@teambit/builder';\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 } 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 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 componentIds.forEach((componentId) => {\n this.workspace.bitMap.addComponentConfig(componentId, aspectId, config);\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 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 ];\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","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","provider","react","builder","aspectLoader","compiler","babel","generator","cli","babelCompiler","createCompiler","babelTransformOptions","babelConfig","distDir","distGlobPatterns","compilerOverride","override","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 { BuilderAspect, BuilderMain } from '@teambit/builder';\nimport { compact } from 'lodash';\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 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 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"]}
|
|
Binary file
|
package/package.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@teambit/aspect",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.653",
|
|
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.
|
|
9
|
+
"version": "0.0.653"
|
|
10
10
|
},
|
|
11
11
|
"dependencies": {
|
|
12
12
|
"@teambit/harmony": "0.2.11",
|
|
@@ -26,21 +26,22 @@
|
|
|
26
26
|
"@babel/runtime": "7.12.18",
|
|
27
27
|
"core-js": "^3.0.0",
|
|
28
28
|
"@teambit/cli-table": "0.0.33",
|
|
29
|
-
"@teambit/cli": "0.0.
|
|
30
|
-
"@teambit/aspect-loader": "0.0.
|
|
31
|
-
"@teambit/builder": "0.0.
|
|
32
|
-
"@teambit/compiler": "0.0.
|
|
33
|
-
"@teambit/envs": "0.0.
|
|
34
|
-
"@teambit/react": "0.0.
|
|
35
|
-
"@teambit/babel": "0.0.
|
|
29
|
+
"@teambit/cli": "0.0.445",
|
|
30
|
+
"@teambit/aspect-loader": "0.0.653",
|
|
31
|
+
"@teambit/builder": "0.0.653",
|
|
32
|
+
"@teambit/compiler": "0.0.653",
|
|
33
|
+
"@teambit/envs": "0.0.653",
|
|
34
|
+
"@teambit/react": "0.0.653",
|
|
35
|
+
"@teambit/babel": "0.0.653",
|
|
36
|
+
"@teambit/bit-error": "0.0.394",
|
|
36
37
|
"@teambit/component-id": "0.0.401",
|
|
37
|
-
"@teambit/generator": "0.0.
|
|
38
|
-
"@teambit/workspace": "0.0.
|
|
39
|
-
"@teambit/compositions": "0.0.
|
|
38
|
+
"@teambit/generator": "0.0.653",
|
|
39
|
+
"@teambit/workspace": "0.0.653",
|
|
40
|
+
"@teambit/compositions": "0.0.653",
|
|
40
41
|
"@teambit/design.ui.empty-box": "0.0.353",
|
|
41
|
-
"@teambit/tester": "0.0.
|
|
42
|
-
"@teambit/ui": "0.0.
|
|
43
|
-
"@teambit/isolator": "0.0.
|
|
42
|
+
"@teambit/tester": "0.0.653",
|
|
43
|
+
"@teambit/ui": "0.0.653",
|
|
44
|
+
"@teambit/isolator": "0.0.653"
|
|
44
45
|
},
|
|
45
46
|
"devDependencies": {
|
|
46
47
|
"@types/react": "^17.0.8",
|
|
@@ -52,7 +53,7 @@
|
|
|
52
53
|
"@types/node": "12.20.4"
|
|
53
54
|
},
|
|
54
55
|
"peerDependencies": {
|
|
55
|
-
"@teambit/legacy": "1.0.
|
|
56
|
+
"@teambit/legacy": "1.0.223",
|
|
56
57
|
"react-dom": "^16.8.0 || ^17.0.0",
|
|
57
58
|
"react": "^16.8.0 || ^17.0.0"
|
|
58
59
|
},
|