@teambit/aspect 0.0.635 → 0.0.639

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 (34) hide show
  1. package/{__compositions-1643340137110.js → __compositions-1643772133658.js} +0 -0
  2. package/{__overview-1643340137110.js → __overview-1643772133658.js} +0 -0
  3. package/__preview-1643772133658.js +2 -0
  4. package/artifacts/env-template/public/141.js +1 -1
  5. package/artifacts/env-template/public/181.js +1 -1
  6. package/artifacts/env-template/public/656.js +1 -0
  7. package/artifacts/env-template/public/664.js +4 -4
  8. package/artifacts/env-template/public/848.js +1 -1
  9. package/artifacts/env-template/public/assets-manifest.json +12 -12
  10. package/artifacts/env-template/public/compositions.71e28dc6e51034dfbe70.js +1 -0
  11. package/artifacts/env-template/public/compositions.html +1 -1
  12. package/artifacts/env-template/public/{overview.ce1e226389e5a467e3c7.js → overview.68d24abd9528004a7786.js} +1 -1
  13. package/artifacts/env-template/public/overview.html +1 -1
  14. package/artifacts/env-template/public/preview-root.de117b6c493f3bc57146.js +1 -0
  15. package/artifacts/env-template/public/service-worker.js +1 -1
  16. package/artifacts/env-template/public/static/css/664.3b6bb93f.css +1 -0
  17. package/artifacts/env-template/public/static/css/{previewRoot.5ad41161.css → previewRoot.1262db93.css} +1 -1
  18. package/artifacts/preview/teambit_harmony_aspect-preview.js +1 -1
  19. package/aspect.docs.mdx +34 -0
  20. package/dist/aspect.cmd.d.ts +55 -0
  21. package/dist/aspect.cmd.js +236 -0
  22. package/dist/aspect.cmd.js.map +1 -0
  23. package/dist/aspect.docs.mdx +34 -0
  24. package/dist/aspect.main.runtime.d.ts +29 -3
  25. package/dist/aspect.main.runtime.js +109 -4
  26. package/dist/aspect.main.runtime.js.map +1 -1
  27. package/package-tar/teambit-aspect-0.0.639.tgz +0 -0
  28. package/package.json +19 -14
  29. package/__preview-1643340137110.js +0 -1
  30. package/artifacts/env-template/public/287.js +0 -1
  31. package/artifacts/env-template/public/compositions.2830f5a503105bf27158.js +0 -1
  32. package/artifacts/env-template/public/preview-root.344bfad0432988cf6b3e.js +0 -1
  33. package/artifacts/env-template/public/static/css/664.e8cc4753.css +0 -1
  34. package/package-tar/teambit-aspect-0.0.635.tgz +0 -0
@@ -0,0 +1,236 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ require("core-js/modules/es.array.iterator.js");
6
+
7
+ require("core-js/modules/es.promise.js");
8
+
9
+ Object.defineProperty(exports, "__esModule", {
10
+ value: true
11
+ });
12
+ exports.UnsetAspectCmd = exports.SetAspectCmd = exports.ListAspectCmd = exports.GetAspectCmd = exports.AspectCmd = void 0;
13
+
14
+ function _defineProperty2() {
15
+ const data = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
16
+
17
+ _defineProperty2 = function () {
18
+ return data;
19
+ };
20
+
21
+ return data;
22
+ }
23
+
24
+ function _cliTable() {
25
+ const data = require("@teambit/cli-table");
26
+
27
+ _cliTable = function () {
28
+ return data;
29
+ };
30
+
31
+ return data;
32
+ }
33
+
34
+ function _chalk() {
35
+ const data = _interopRequireDefault(require("chalk"));
36
+
37
+ _chalk = function () {
38
+ return data;
39
+ };
40
+
41
+ return data;
42
+ }
43
+
44
+ // eslint-disable-next-line max-classes-per-file
45
+ class ListAspectCmd {
46
+ constructor(aspect) {
47
+ this.aspect = aspect;
48
+ (0, _defineProperty2().default)(this, "name", 'list [pattern]');
49
+ (0, _defineProperty2().default)(this, "description", 'list all aspects configured on component(s)');
50
+ (0, _defineProperty2().default)(this, "options", [['d', 'debug', 'show the origins were the aspects were taken from']]);
51
+ (0, _defineProperty2().default)(this, "group", 'development');
52
+ }
53
+
54
+ async report([name], {
55
+ debug
56
+ }) {
57
+ const listAspectsResults = await this.aspect.listAspectsOfComponent(name);
58
+ const rows = Object.keys(listAspectsResults).map(componentId => {
59
+ const longestAspectName = Math.max(...listAspectsResults[componentId].map(_ => _.aspectName.length));
60
+ const aspects = listAspectsResults[componentId].map(aspectSource => {
61
+ const origin = debug ? ` (origin: ${aspectSource.source})` : '';
62
+ const aspectName = aspectSource.aspectName.padEnd(longestAspectName);
63
+ return `${aspectName} (level: ${aspectSource.level})${origin}`;
64
+ }).join('\n');
65
+ return [componentId, aspects];
66
+ });
67
+ const table = new (_cliTable().CLITable)([], rows);
68
+ return table.render();
69
+ }
70
+
71
+ }
72
+
73
+ exports.ListAspectCmd = ListAspectCmd;
74
+
75
+ class SetAspectCmd {
76
+ constructor(aspect) {
77
+ this.aspect = aspect;
78
+ (0, _defineProperty2().default)(this, "name", 'set <pattern> <aspect-id> [config]');
79
+ (0, _defineProperty2().default)(this, "description", `set an aspect to component(s) with optional config.
80
+ enter the config as stringified JSON (e.g. '{"foo":"bar"}' ).
81
+ if no config entered, the aspect will be set with empty config ({}).`);
82
+ (0, _defineProperty2().default)(this, "shortDescription", 'set an aspect to component(s) with optional config');
83
+ (0, _defineProperty2().default)(this, "options", []);
84
+ (0, _defineProperty2().default)(this, "group", 'development');
85
+ }
86
+
87
+ async report([pattern, aspectId, config]) {
88
+ const configParsed = config ? JSON.parse(config) : {};
89
+ const results = await this.aspect.setAspectsToComponents(pattern, aspectId, configParsed);
90
+ if (!results.length) return _chalk().default.yellow(`unable to find any matching for ${_chalk().default.bold(pattern)} pattern`);
91
+ return _chalk().default.green(`the following component(s) have been successfully updated:\n${results.join('\n')}`);
92
+ }
93
+
94
+ }
95
+
96
+ exports.SetAspectCmd = SetAspectCmd;
97
+
98
+ class UnsetAspectCmd {
99
+ constructor(aspect) {
100
+ this.aspect = aspect;
101
+ (0, _defineProperty2().default)(this, "name", 'unset <pattern> <aspect-id>');
102
+ (0, _defineProperty2().default)(this, "description", `unset an aspect from component(s).`);
103
+ (0, _defineProperty2().default)(this, "options", []);
104
+ (0, _defineProperty2().default)(this, "group", 'development');
105
+ }
106
+
107
+ async report([pattern, aspectId]) {
108
+ const results = await this.aspect.unsetAspectsFromComponents(pattern, aspectId);
109
+ if (!results.length) return _chalk().default.yellow(`unable to find any matching for ${_chalk().default.bold(pattern)} pattern`);
110
+ return _chalk().default.green(`the following component(s) have been successfully updated:\n${results.join('\n')}`);
111
+ }
112
+
113
+ }
114
+
115
+ exports.UnsetAspectCmd = UnsetAspectCmd;
116
+
117
+ class GetAspectCmd {
118
+ constructor(aspect) {
119
+ this.aspect = aspect;
120
+ (0, _defineProperty2().default)(this, "name", 'get <component-id>');
121
+ (0, _defineProperty2().default)(this, "description", "show aspects' data and configuration of the given component");
122
+ (0, _defineProperty2().default)(this, "options", [['d', 'debug', 'show the origins were the aspects were taken from'], ['j', 'json', 'format as json']]);
123
+ (0, _defineProperty2().default)(this, "group", 'development');
124
+ }
125
+
126
+ async report([componentName], {
127
+ debug
128
+ }) {
129
+ const {
130
+ extensions: mergedExtensions,
131
+ beforeMerge
132
+ } = await this.aspect.getAspectsOfComponent(componentName);
133
+
134
+ const extensionsDetailsToString = extensions => extensions.map(e => {
135
+ const {
136
+ name,
137
+ data,
138
+ config,
139
+ extensionId
140
+ } = e.toComponentObject();
141
+ return `${_chalk().default.bold('name:')} ${name || (extensionId === null || extensionId === void 0 ? void 0 : extensionId.toString())}
142
+ ${_chalk().default.bold('config:')} ${JSON.stringify(config, undefined, 2)}
143
+ ${_chalk().default.bold('data:')} ${JSON.stringify(data, undefined, 2)}
144
+ `;
145
+ }).join('\n');
146
+
147
+ if (debug) {
148
+ const beforeMergeOutput = beforeMerge.map(({
149
+ origin,
150
+ extensions,
151
+ extraData
152
+ }) => {
153
+ const title = _chalk().default.green.bold(`Origin: ${origin}`);
154
+
155
+ const details = extensionsDetailsToString(extensions);
156
+ const moreData = extraData ? `\n${_chalk().default.bold('Extra Data:')} ${JSON.stringify(extraData, undefined, 2)}` : '';
157
+ return `${title}\n${details}${moreData}`;
158
+ }).join('\n\n');
159
+
160
+ const afterMergeTitle = _chalk().default.green.bold('Final - after merging all origins');
161
+
162
+ const afterMergeOutput = `${afterMergeTitle}\n${extensionsDetailsToString(mergedExtensions)}`;
163
+ return `${beforeMergeOutput}\n\n\n${afterMergeOutput}`;
164
+ }
165
+
166
+ return extensionsDetailsToString(mergedExtensions);
167
+ }
168
+
169
+ async json([componentName], {
170
+ debug
171
+ }) {
172
+ const {
173
+ extensions: mergedExtensions,
174
+ beforeMerge
175
+ } = await this.aspect.getAspectsOfComponent(componentName);
176
+
177
+ const extensionsDetailsToObject = extensions => extensions.reduce((acc, current) => {
178
+ const {
179
+ name,
180
+ data,
181
+ config,
182
+ extensionId
183
+ } = current.toComponentObject();
184
+ const aspectName = name || (extensionId === null || extensionId === void 0 ? void 0 : extensionId.toString()) || '<no-name>';
185
+ acc[aspectName] = {
186
+ name: aspectName,
187
+ config,
188
+ data
189
+ };
190
+ return acc;
191
+ }, {});
192
+
193
+ if (debug) {
194
+ const jsonObj = {};
195
+ beforeMerge.forEach(({
196
+ origin,
197
+ extensions,
198
+ extraData
199
+ }) => {
200
+ jsonObj[origin] = {
201
+ extensions: extensionsDetailsToObject(extensions),
202
+ extraData
203
+ };
204
+ });
205
+ jsonObj.FinalAfterMerge = {
206
+ extensions: extensionsDetailsToObject(mergedExtensions)
207
+ };
208
+ return jsonObj;
209
+ }
210
+
211
+ return extensionsDetailsToObject(mergedExtensions);
212
+ }
213
+
214
+ }
215
+
216
+ exports.GetAspectCmd = GetAspectCmd;
217
+
218
+ class AspectCmd {
219
+ constructor() {
220
+ (0, _defineProperty2().default)(this, "name", 'aspect <sub-command>');
221
+ (0, _defineProperty2().default)(this, "alias", '');
222
+ (0, _defineProperty2().default)(this, "description", 'EXPERIMENTAL. manage aspects');
223
+ (0, _defineProperty2().default)(this, "options", []);
224
+ (0, _defineProperty2().default)(this, "group", 'development');
225
+ (0, _defineProperty2().default)(this, "commands", []);
226
+ }
227
+
228
+ async report([unrecognizedSubcommand]) {
229
+ return _chalk().default.red(`"${unrecognizedSubcommand}" is not a subcommand of "aspect", please run "bit aspect --help" to list the subcommands`);
230
+ }
231
+
232
+ }
233
+
234
+ exports.AspectCmd = AspectCmd;
235
+
236
+ //# sourceMappingURL=aspect.cmd.js.map
@@ -0,0 +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 { 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\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.\nenter the config as stringified JSON (e.g. '{\"foo\":\"bar\"}' ).\nif no config entered, the aspect will be set with empty config ({}).`;\n shortDescription = 'set an aspect to component(s) with optional config';\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 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"]}
@@ -0,0 +1,34 @@
1
+ ## Overview
2
+
3
+ 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.
4
+ Config is what the user entered, Data is a result of the aspect process.
5
+
6
+ ## Debugging aspects
7
+
8
+ To help understanding why a component has these specific aspects, `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.
9
+ The various sources are as follows:
10
+
11
+ ```
12
+ 'BitmapFile'
13
+ 'Model'
14
+ 'WorkspaceVariants'
15
+ 'ComponentJsonFile'
16
+ 'WorkspaceDefault'
17
+ ```
18
+
19
+ Since the list of all the config+data can be very long and hard to follow, the flag `--json` is very helpful.
20
+ This with help of [fx](https://github.com/antonmedv/fx), it's easy to extract the data needed.
21
+
22
+ If for example, we're interested in one source only, we can run the following:
23
+
24
+ ```
25
+ bit aspect get ui/text --debug --json | fx .BitmapFile
26
+ ```
27
+
28
+ 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:
29
+
30
+ ```
31
+ bit aspect get ui/text --debug --json | fx 'Object.keys(this).map(origin => ({ origin, value: this[origin].extensions["teambit.pkg/pkg"] }))'
32
+ ```
33
+
34
+ Another data shown with the `--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.
@@ -1,28 +1,54 @@
1
1
  import { AspectLoaderMain } from '@teambit/aspect-loader';
2
2
  import { BuilderMain } from '@teambit/builder';
3
+ import { CLIMain } from '@teambit/cli';
3
4
  import { Environment, EnvsMain, EnvTransformer } from '@teambit/envs';
4
5
  import { ReactMain } from '@teambit/react';
5
6
  import { GeneratorMain } from '@teambit/generator';
6
7
  import { BabelMain } from '@teambit/babel';
8
+ import { ComponentID } from '@teambit/component-id';
9
+ import { ExtensionsOrigin, Workspace } from '@teambit/workspace';
7
10
  import { CompilerMain } from '@teambit/compiler';
8
11
  import { AspectEnv } from './aspect.env';
12
+ export declare type AspectSource = {
13
+ aspectName: string;
14
+ source: string;
15
+ level: string;
16
+ };
9
17
  export declare class AspectMain {
10
18
  readonly aspectEnv: AspectEnv;
11
19
  private envs;
12
- constructor(aspectEnv: AspectEnv, envs: EnvsMain);
20
+ private workspace;
21
+ constructor(aspectEnv: AspectEnv, envs: EnvsMain, workspace: Workspace);
13
22
  /**
14
23
  * compose your own aspect environment.
15
24
  */
16
25
  compose(transformers?: EnvTransformer[], targetEnv?: Environment): Environment;
26
+ listAspectsOfComponent(pattern?: string): Promise<{
27
+ [component: string]: AspectSource[];
28
+ }>;
29
+ private getAspectNamesForComponent;
30
+ private getLevelBySourceOrigin;
31
+ setAspectsToComponents(pattern: string, aspectId: string, config?: Record<string, any>): Promise<ComponentID[]>;
32
+ unsetAspectsFromComponents(pattern: string, aspectId: string): Promise<ComponentID[]>;
33
+ getAspectsOfComponent(id: string | ComponentID): Promise<{
34
+ extensions: import("@teambit/legacy/dist/consumer/config").ExtensionDataList;
35
+ beforeMerge: {
36
+ extensions: import("@teambit/legacy/dist/consumer/config").ExtensionDataList;
37
+ origin: ExtensionsOrigin;
38
+ extraData: any;
39
+ }[];
40
+ }>;
17
41
  static runtime: import("@teambit/harmony").RuntimeDefinition;
18
42
  static dependencies: import("@teambit/harmony").Aspect[];
19
- static provider([react, envs, builder, aspectLoader, compiler, babel, generator]: [
43
+ static provider([react, envs, builder, aspectLoader, compiler, babel, generator, workspace, cli]: [
20
44
  ReactMain,
21
45
  EnvsMain,
22
46
  BuilderMain,
23
47
  AspectLoaderMain,
24
48
  CompilerMain,
25
49
  BabelMain,
26
- GeneratorMain
50
+ GeneratorMain,
51
+ Workspace,
52
+ CLIMain
27
53
  ]): Promise<AspectMain>;
28
54
  }
@@ -91,6 +91,16 @@ function _babel() {
91
91
  return data;
92
92
  }
93
93
 
94
+ function _workspace() {
95
+ const data = _interopRequireDefault(require("@teambit/workspace"));
96
+
97
+ _workspace = function () {
98
+ return data;
99
+ };
100
+
101
+ return data;
102
+ }
103
+
94
104
  function _compiler() {
95
105
  const data = require("@teambit/compiler");
96
106
 
@@ -151,12 +161,23 @@ function _babelConfig() {
151
161
  return data;
152
162
  }
153
163
 
164
+ function _aspect4() {
165
+ const data = require("./aspect.cmd");
166
+
167
+ _aspect4 = function () {
168
+ return data;
169
+ };
170
+
171
+ return data;
172
+ }
173
+
154
174
  const tsconfig = require('./typescript/tsconfig.json');
155
175
 
156
176
  class AspectMain {
157
- constructor(aspectEnv, envs) {
177
+ constructor(aspectEnv, envs, workspace) {
158
178
  this.aspectEnv = aspectEnv;
159
179
  this.envs = envs;
180
+ this.workspace = workspace;
160
181
  }
161
182
  /**
162
183
  * compose your own aspect environment.
@@ -167,7 +188,87 @@ class AspectMain {
167
188
  return this.envs.compose(this.envs.merge(targetEnv, this.aspectEnv), transformers);
168
189
  }
169
190
 
170
- static async provider([react, envs, builder, aspectLoader, compiler, babel, generator]) {
191
+ async listAspectsOfComponent(pattern) {
192
+ const getIds = async () => {
193
+ if (!pattern) return this.workspace.listIds();
194
+ const comps = await this.workspace.byPattern(pattern);
195
+ return comps.map(comp => comp.id);
196
+ };
197
+
198
+ const componentIds = await getIds();
199
+ const results = {};
200
+ await Promise.all(componentIds.map(async id => {
201
+ const aspectSources = await this.getAspectNamesForComponent(id);
202
+ results[id.toString()] = aspectSources;
203
+ }));
204
+ return results;
205
+ }
206
+
207
+ async getAspectNamesForComponent(id) {
208
+ const componentFromScope = await this.workspace.scope.get(id);
209
+ const {
210
+ beforeMerge
211
+ } = await this.workspace.componentExtensions(id, componentFromScope);
212
+ const aspectSources = [];
213
+ beforeMerge.forEach(source => {
214
+ source.extensions.forEach(ext => {
215
+ var _ext$extensionId;
216
+
217
+ const aspectName = ext.name || ((_ext$extensionId = ext.extensionId) === null || _ext$extensionId === void 0 ? void 0 : _ext$extensionId.toString()) || '<no-name>';
218
+ const alreadySaved = aspectSources.find(_ => _.aspectName === aspectName);
219
+ if (alreadySaved) return;
220
+ aspectSources.push({
221
+ aspectName,
222
+ source: source.origin,
223
+ level: this.getLevelBySourceOrigin(source.origin)
224
+ });
225
+ });
226
+ });
227
+ return aspectSources;
228
+ }
229
+
230
+ getLevelBySourceOrigin(origin) {
231
+ switch (origin) {
232
+ case 'BitmapFile':
233
+ case 'ComponentJsonFile':
234
+ case 'ModelSpecific':
235
+ return 'component';
236
+
237
+ default:
238
+ return 'workspace';
239
+ }
240
+ }
241
+
242
+ async setAspectsToComponents(pattern, aspectId, config = {}) {
243
+ const components = await this.workspace.byPattern(pattern);
244
+ const componentIds = components.map(comp => comp.id);
245
+ componentIds.forEach(componentId => {
246
+ this.workspace.bitMap.addComponentConfig(componentId, aspectId, config);
247
+ });
248
+ await this.workspace.bitMap.write();
249
+ return componentIds;
250
+ }
251
+
252
+ async unsetAspectsFromComponents(pattern, aspectId) {
253
+ const components = await this.workspace.byPattern(pattern);
254
+ const componentIds = components.map(comp => comp.id);
255
+ componentIds.forEach(componentId => {
256
+ this.workspace.bitMap.removeComponentConfig(componentId, aspectId, true);
257
+ });
258
+ await this.workspace.bitMap.write();
259
+ return componentIds;
260
+ }
261
+
262
+ async getAspectsOfComponent(id) {
263
+ if (typeof id === 'string') {
264
+ id = await this.workspace.resolveComponentId(id);
265
+ }
266
+
267
+ const componentFromScope = await this.workspace.scope.get(id);
268
+ return this.workspace.componentExtensions(id, componentFromScope);
269
+ }
270
+
271
+ static async provider([react, envs, builder, aspectLoader, compiler, babel, generator, workspace, cli]) {
171
272
  const babelCompiler = babel.createCompiler({
172
273
  babelTransformOptions: _babelConfig().babelConfig,
173
274
  distDir: 'dist',
@@ -195,14 +296,18 @@ class AspectMain {
195
296
 
196
297
  envs.registerEnv(aspectEnv);
197
298
  generator.registerComponentTemplate([_aspect3().aspectTemplate]);
198
- return new AspectMain(aspectEnv, envs);
299
+ const aspectMain = new AspectMain(aspectEnv, envs, workspace);
300
+ const aspectCmd = new (_aspect4().AspectCmd)();
301
+ aspectCmd.commands = [new (_aspect4().ListAspectCmd)(aspectMain), new (_aspect4().GetAspectCmd)(aspectMain), new (_aspect4().SetAspectCmd)(aspectMain), new (_aspect4().UnsetAspectCmd)(aspectMain)];
302
+ cli.register(aspectCmd);
303
+ return aspectMain;
199
304
  }
200
305
 
201
306
  }
202
307
 
203
308
  exports.AspectMain = AspectMain;
204
309
  (0, _defineProperty2().default)(AspectMain, "runtime", _cli().MainRuntime);
205
- (0, _defineProperty2().default)(AspectMain, "dependencies", [_react().ReactAspect, _envs().EnvsAspect, _builder().BuilderAspect, _aspectLoader().AspectLoaderAspect, _compiler().CompilerAspect, _babel().BabelAspect, _generator().GeneratorAspect]);
310
+ (0, _defineProperty2().default)(AspectMain, "dependencies", [_react().ReactAspect, _envs().EnvsAspect, _builder().BuilderAspect, _aspectLoader().AspectLoaderAspect, _compiler().CompilerAspect, _babel().BabelAspect, _generator().GeneratorAspect, _workspace().default, _cli().CLIAspect]);
206
311
 
207
312
  _aspect().AspectAspect.addRuntime(AspectMain);
208
313
 
@@ -1 +1 @@
1
- {"version":3,"sources":["aspect.main.runtime.ts"],"names":["tsconfig","require","AspectMain","constructor","aspectEnv","envs","compose","transformers","targetEnv","merge","provider","react","builder","aspectLoader","compiler","babel","generator","babelCompiler","createCompiler","babelTransformOptions","babelConfig","distDir","distGlobPatterns","compilerOverride","override","getCompiler","transformer","config","mergeTsConfig","setArtifactName","setDistGlobPatterns","setShouldCopyNonSupportedFiles","tsCompiler","env","compilerTasksOverride","overrideCompilerTasks","createTask","AspectEnv","reactEnv","coreExporterTask","CoreExporterTask","__dirname","includes","registerBuildTasks","registerEnv","registerComponentTemplate","aspectTemplate","MainRuntime","ReactAspect","EnvsAspect","BuilderAspect","AspectLoaderAspect","CompilerAspect","BabelAspect","GeneratorAspect","AspectAspect","addRuntime"],"mappings":"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","sourcesContent":["import { AspectLoaderAspect, AspectLoaderMain } from '@teambit/aspect-loader';\nimport { BuilderAspect, BuilderMain } from '@teambit/builder';\nimport { 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 { 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';\n\nconst tsconfig = require('./typescript/tsconfig.json');\n\nexport class AspectMain {\n constructor(readonly aspectEnv: AspectEnv, private envs: EnvsMain) {}\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 static runtime = MainRuntime;\n static dependencies = [\n ReactAspect,\n EnvsAspect,\n BuilderAspect,\n AspectLoaderAspect,\n CompilerAspect,\n BabelAspect,\n GeneratorAspect,\n ];\n\n static async provider([react, envs, builder, aspectLoader, compiler, babel, generator]: [\n ReactMain,\n EnvsMain,\n BuilderMain,\n AspectLoaderMain,\n CompilerMain,\n BabelMain,\n GeneratorMain\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 return new AspectMain(aspectEnv as AspectEnv, envs);\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","comps","byPattern","map","comp","id","componentIds","results","Promise","all","aspectSources","getAspectNamesForComponent","toString","componentFromScope","scope","get","beforeMerge","componentExtensions","forEach","source","extensions","ext","aspectName","name","extensionId","alreadySaved","find","_","push","origin","level","getLevelBySourceOrigin","setAspectsToComponents","aspectId","config","components","componentId","bitMap","addComponentConfig","write","unsetAspectsFromComponents","removeComponentConfig","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 const comps = await this.workspace.byPattern(pattern);\n return comps.map((comp) => comp.id);\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 components = await this.workspace.byPattern(pattern);\n const componentIds = components.map((comp) => comp.id);\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 components = await this.workspace.byPattern(pattern);\n const componentIds = components.map((comp) => comp.id);\n componentIds.forEach((componentId) => {\n this.workspace.bitMap.removeComponentConfig(componentId, aspectId, true);\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"]}
package/package.json CHANGED
@@ -1,15 +1,16 @@
1
1
  {
2
2
  "name": "@teambit/aspect",
3
- "version": "0.0.635",
3
+ "version": "0.0.639",
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.635"
9
+ "version": "0.0.639"
10
10
  },
11
11
  "dependencies": {
12
12
  "@teambit/harmony": "0.2.11",
13
+ "chalk": "2.4.2",
13
14
  "lodash": "4.17.21",
14
15
  "typescript": "4.4.2",
15
16
  "fs-extra": "10.0.0",
@@ -24,19 +25,22 @@
24
25
  "@babel/plugin-proposal-class-properties": "7.12.13",
25
26
  "@babel/runtime": "7.12.18",
26
27
  "core-js": "^3.0.0",
27
- "@teambit/aspect-loader": "0.0.635",
28
- "@teambit/builder": "0.0.635",
29
- "@teambit/compiler": "0.0.635",
30
- "@teambit/envs": "0.0.635",
31
- "@teambit/react": "0.0.635",
32
- "@teambit/babel": "0.0.635",
33
- "@teambit/cli": "0.0.434",
34
- "@teambit/generator": "0.0.635",
35
- "@teambit/compositions": "0.0.635",
28
+ "@teambit/cli-table": "0.0.33",
29
+ "@teambit/cli": "0.0.436",
30
+ "@teambit/aspect-loader": "0.0.639",
31
+ "@teambit/builder": "0.0.639",
32
+ "@teambit/compiler": "0.0.639",
33
+ "@teambit/envs": "0.0.639",
34
+ "@teambit/react": "0.0.639",
35
+ "@teambit/babel": "0.0.639",
36
+ "@teambit/component-id": "0.0.400",
37
+ "@teambit/generator": "0.0.639",
38
+ "@teambit/workspace": "0.0.639",
39
+ "@teambit/compositions": "0.0.639",
36
40
  "@teambit/design.ui.empty-box": "0.0.353",
37
- "@teambit/tester": "0.0.635",
38
- "@teambit/ui": "0.0.635",
39
- "@teambit/isolator": "0.0.635"
41
+ "@teambit/tester": "0.0.639",
42
+ "@teambit/ui": "0.0.639",
43
+ "@teambit/isolator": "0.0.639"
40
44
  },
41
45
  "devDependencies": {
42
46
  "@types/react": "^17.0.8",
@@ -48,6 +52,7 @@
48
52
  "@types/node": "12.20.4"
49
53
  },
50
54
  "peerDependencies": {
55
+ "@teambit/legacy": "1.0.212",
51
56
  "react-dom": "^16.8.0 || ^17.0.0",
52
57
  "react": "^16.8.0 || ^17.0.0"
53
58
  },
@@ -1 +0,0 @@
1
- export const compositions = [require('/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.harmony_aspect@0.0.635/dist/aspect.composition.js')]