@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.
- package/{__compositions-1643340137110.js → __compositions-1643772133658.js} +0 -0
- package/{__overview-1643340137110.js → __overview-1643772133658.js} +0 -0
- package/__preview-1643772133658.js +2 -0
- package/artifacts/env-template/public/141.js +1 -1
- package/artifacts/env-template/public/181.js +1 -1
- package/artifacts/env-template/public/656.js +1 -0
- package/artifacts/env-template/public/664.js +4 -4
- package/artifacts/env-template/public/848.js +1 -1
- package/artifacts/env-template/public/assets-manifest.json +12 -12
- package/artifacts/env-template/public/compositions.71e28dc6e51034dfbe70.js +1 -0
- package/artifacts/env-template/public/compositions.html +1 -1
- package/artifacts/env-template/public/{overview.ce1e226389e5a467e3c7.js → overview.68d24abd9528004a7786.js} +1 -1
- package/artifacts/env-template/public/overview.html +1 -1
- package/artifacts/env-template/public/preview-root.de117b6c493f3bc57146.js +1 -0
- package/artifacts/env-template/public/service-worker.js +1 -1
- package/artifacts/env-template/public/static/css/664.3b6bb93f.css +1 -0
- package/artifacts/env-template/public/static/css/{previewRoot.5ad41161.css → previewRoot.1262db93.css} +1 -1
- package/artifacts/preview/teambit_harmony_aspect-preview.js +1 -1
- package/aspect.docs.mdx +34 -0
- package/dist/aspect.cmd.d.ts +55 -0
- package/dist/aspect.cmd.js +236 -0
- package/dist/aspect.cmd.js.map +1 -0
- package/dist/aspect.docs.mdx +34 -0
- package/dist/aspect.main.runtime.d.ts +29 -3
- package/dist/aspect.main.runtime.js +109 -4
- package/dist/aspect.main.runtime.js.map +1 -1
- package/package-tar/teambit-aspect-0.0.639.tgz +0 -0
- package/package.json +19 -14
- package/__preview-1643340137110.js +0 -1
- package/artifacts/env-template/public/287.js +0 -1
- package/artifacts/env-template/public/compositions.2830f5a503105bf27158.js +0 -1
- package/artifacts/env-template/public/preview-root.344bfad0432988cf6b3e.js +0 -1
- package/artifacts/env-template/public/static/css/664.e8cc4753.css +0 -1
- 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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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":";;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAEA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAIA,MAAMA,QAAQ,GAAGC,OAAO,CAAC,4BAAD,CAAxB;;AAEO,MAAMC,UAAN,CAAiB;AACtBC,EAAAA,WAAW,CAAUC,SAAV,EAAwCC,IAAxC,EAAgEC,SAAhE,EAAsF;AAAA,SAA5EF,SAA4E,GAA5EA,SAA4E;AAAA,SAA9CC,IAA8C,GAA9CA,IAA8C;AAAA,SAAtBC,SAAsB,GAAtBA,SAAsB;AAAE;AAEnG;AACF;AACA;;;AACEC,EAAAA,OAAO,CAACC,YAA8B,GAAG,EAAlC,EAAsCC,SAAsB,GAAG,EAA/D,EAAmE;AACxE,WAAO,KAAKJ,IAAL,CAAUE,OAAV,CAAkB,KAAKF,IAAL,CAAUK,KAAV,CAAgBD,SAAhB,EAA2B,KAAKL,SAAhC,CAAlB,EAA8DI,YAA9D,CAAP;AACD;;AAE2B,QAAtBG,sBAAsB,CAACC,OAAD,EAAqE;AAC/F,UAAMC,MAAM,GAAG,YAAY;AACzB,UAAI,CAACD,OAAL,EAAc,OAAO,KAAKN,SAAL,CAAeQ,OAAf,EAAP;AACd,YAAMC,KAAK,GAAG,MAAM,KAAKT,SAAL,CAAeU,SAAf,CAAyBJ,OAAzB,CAApB;AACA,aAAOG,KAAK,CAACE,GAAN,CAAWC,IAAD,IAAUA,IAAI,CAACC,EAAzB,CAAP;AACD,KAJD;;AAKA,UAAMC,YAAY,GAAG,MAAMP,MAAM,EAAjC;AACA,UAAMQ,OAAO,GAAG,EAAhB;AACA,UAAMC,OAAO,CAACC,GAAR,CACJH,YAAY,CAACH,GAAb,CAAiB,MAAOE,EAAP,IAAc;AAC7B,YAAMK,aAAa,GAAG,MAAM,KAAKC,0BAAL,CAAgCN,EAAhC,CAA5B;AACAE,MAAAA,OAAO,CAACF,EAAE,CAACO,QAAH,EAAD,CAAP,GAAyBF,aAAzB;AACD,KAHD,CADI,CAAN;AAMA,WAAOH,OAAP;AACD;;AAEuC,QAA1BI,0BAA0B,CAACN,EAAD,EAA2C;AACjF,UAAMQ,kBAAkB,GAAG,MAAM,KAAKrB,SAAL,CAAesB,KAAf,CAAqBC,GAArB,CAAyBV,EAAzB,CAAjC;AACA,UAAM;AAAEW,MAAAA;AAAF,QAAkB,MAAM,KAAKxB,SAAL,CAAeyB,mBAAf,CAAmCZ,EAAnC,EAAuCQ,kBAAvC,CAA9B;AACA,UAAMH,aAA6B,GAAG,EAAtC;AACAM,IAAAA,WAAW,CAACE,OAAZ,CAAqBC,MAAD,IAAY;AAC9BA,MAAAA,MAAM,CAACC,UAAP,CAAkBF,OAAlB,CAA2BG,GAAD,IAAS;AAAA;;AACjC,cAAMC,UAAU,GAAGD,GAAG,CAACE,IAAJ,yBAAYF,GAAG,CAACG,WAAhB,qDAAY,iBAAiBZ,QAAjB,EAAZ,KAA2C,WAA9D;AACA,cAAMa,YAAY,GAAGf,aAAa,CAACgB,IAAd,CAAoBC,CAAD,IAAOA,CAAC,CAACL,UAAF,KAAiBA,UAA3C,CAArB;AACA,YAAIG,YAAJ,EAAkB;AAClBf,QAAAA,aAAa,CAACkB,IAAd,CAAmB;AAAEN,UAAAA,UAAF;AAAcH,UAAAA,MAAM,EAAEA,MAAM,CAACU,MAA7B;AAAqCC,UAAAA,KAAK,EAAE,KAAKC,sBAAL,CAA4BZ,MAAM,CAACU,MAAnC;AAA5C,SAAnB;AACD,OALD;AAMD,KAPD;AAQA,WAAOnB,aAAP;AACD;;AAEOqB,EAAAA,sBAAsB,CAACF,MAAD,EAA2B;AACvD,YAAQA,MAAR;AACE,WAAK,YAAL;AACA,WAAK,mBAAL;AACA,WAAK,eAAL;AACE,eAAO,WAAP;;AACF;AACE,eAAO,WAAP;AANJ;AAQD;;AAE2B,QAAtBG,sBAAsB,CAC1BlC,OAD0B,EAE1BmC,QAF0B,EAG1BC,MAA2B,GAAG,EAHJ,EAIF;AACxB,UAAMC,UAAU,GAAG,MAAM,KAAK3C,SAAL,CAAeU,SAAf,CAAyBJ,OAAzB,CAAzB;AACA,UAAMQ,YAAY,GAAG6B,UAAU,CAAChC,GAAX,CAAgBC,IAAD,IAAUA,IAAI,CAACC,EAA9B,CAArB;AACAC,IAAAA,YAAY,CAACY,OAAb,CAAsBkB,WAAD,IAAiB;AACpC,WAAK5C,SAAL,CAAe6C,MAAf,CAAsBC,kBAAtB,CAAyCF,WAAzC,EAAsDH,QAAtD,EAAgEC,MAAhE;AACD,KAFD;AAGA,UAAM,KAAK1C,SAAL,CAAe6C,MAAf,CAAsBE,KAAtB,EAAN;AAEA,WAAOjC,YAAP;AACD;;AAE+B,QAA1BkC,0BAA0B,CAAC1C,OAAD,EAAkBmC,QAAlB,EAA4D;AAC1F,UAAME,UAAU,GAAG,MAAM,KAAK3C,SAAL,CAAeU,SAAf,CAAyBJ,OAAzB,CAAzB;AACA,UAAMQ,YAAY,GAAG6B,UAAU,CAAChC,GAAX,CAAgBC,IAAD,IAAUA,IAAI,CAACC,EAA9B,CAArB;AACAC,IAAAA,YAAY,CAACY,OAAb,CAAsBkB,WAAD,IAAiB;AACpC,WAAK5C,SAAL,CAAe6C,MAAf,CAAsBI,qBAAtB,CAA4CL,WAA5C,EAAyDH,QAAzD,EAAmE,IAAnE;AACD,KAFD;AAGA,UAAM,KAAKzC,SAAL,CAAe6C,MAAf,CAAsBE,KAAtB,EAAN;AAEA,WAAOjC,YAAP;AACD;;AAE0B,QAArBoC,qBAAqB,CAACrC,EAAD,EAA2B;AACpD,QAAI,OAAOA,EAAP,KAAc,QAAlB,EAA4B;AAC1BA,MAAAA,EAAE,GAAG,MAAM,KAAKb,SAAL,CAAemD,kBAAf,CAAkCtC,EAAlC,CAAX;AACD;;AACD,UAAMQ,kBAAkB,GAAG,MAAM,KAAKrB,SAAL,CAAesB,KAAf,CAAqBC,GAArB,CAAyBV,EAAzB,CAAjC;AACA,WAAO,KAAKb,SAAL,CAAeyB,mBAAf,CAAmCZ,EAAnC,EAAuCQ,kBAAvC,CAAP;AACD;;AAeoB,eAAR+B,QAAQ,CAAC,CAACC,KAAD,EAAQtD,IAAR,EAAcuD,OAAd,EAAuBC,YAAvB,EAAqCC,QAArC,EAA+CC,KAA/C,EAAsDC,SAAtD,EAAiE1D,SAAjE,EAA4E2D,GAA5E,CAAD,EAUlB;AACD,UAAMC,aAAa,GAAGH,KAAK,CAACI,cAAN,CAAqB;AACzCC,MAAAA,qBAAqB,EAAEC,0BADkB;AAEzCC,MAAAA,OAAO,EAAE,MAFgC;AAGzCC,MAAAA,gBAAgB,EAAE,CAAE,SAAF,EAAa,iBAAb,EAAgC,4BAAhC;AAHuB,KAArB,CAAtB;AAKA,UAAMC,gBAAgB,GAAGnE,IAAI,CAACoE,QAAL,CAAc;AACrCC,MAAAA,WAAW,EAAE,MAAM;AACjB,eAAOR,aAAP;AACD;AAHoC,KAAd,CAAzB;;AAMA,UAAMS,WAAW,GAAI3B,MAAD,IAAY;AAC9BA,MAAAA,MAAM,CACH4B,aADH,CACiB5E,QADjB,EAEG6E,eAFH,CAEmB,aAFnB,EAGGC,mBAHH,CAGuB,CAAE,gBAAF,CAHvB,EAIGC,8BAJH,CAIkC,KAJlC;AAKA,aAAO/B,MAAP;AACD,KAPD;;AAQA,UAAMgC,UAAU,GAAGrB,KAAK,CAACsB,GAAN,CAAUP,WAAV,CAAsB,CAACC,WAAD,CAAtB,CAAnB;AAEA,UAAMO,qBAAqB,GAAGvB,KAAK,CAACwB,qBAAN,CAA4B,CACxDrB,QAAQ,CAACsB,UAAT,CAAoB,eAApB,EAAqClB,aAArC,CADwD,EAExDJ,QAAQ,CAACsB,UAAT,CAAoB,oBAApB,EAA0CJ,UAA1C,CAFwD,CAA5B,CAA9B;AAKA,UAAM5E,SAAS,GAAGuD,KAAK,CAACpD,OAAN,CAChB,CAACiE,gBAAD,EAAmBU,qBAAnB,CADgB,EAEhB,KAAIG,oBAAJ,EAAc1B,KAAK,CAAC2B,QAApB,EAA8BzB,YAA9B,CAFgB,CAAlB;AAKA,UAAM0B,gBAAgB,GAAG,KAAIC,gCAAJ,EAAqBpF,SAArB,EAAgCyD,YAAhC,CAAzB;;AACA,QAAI,CAAC4B,SAAS,CAACC,QAAV,CAAmB,cAAnB,CAAL,EAAyC;AACvC9B,MAAAA,OAAO,CAAC+B,kBAAR,CAA2B,CAACJ,gBAAD,CAA3B;AACD;;AAEDlF,IAAAA,IAAI,CAACuF,WAAL,CAAiBxF,SAAjB;AACA4D,IAAAA,SAAS,CAAC6B,yBAAV,CAAoC,CAACC,yBAAD,CAApC;AACA,UAAMC,UAAU,GAAG,IAAI7F,UAAJ,CAAeE,SAAf,EAAuCC,IAAvC,EAA6CC,SAA7C,CAAnB;AACA,UAAM0F,SAAS,GAAG,KAAIC,oBAAJ,GAAlB;AACAD,IAAAA,SAAS,CAACE,QAAV,GAAqB,CACnB,KAAIC,wBAAJ,EAAkBJ,UAAlB,CADmB,EAEnB,KAAIK,uBAAJ,EAAiBL,UAAjB,CAFmB,EAGnB,KAAIM,uBAAJ,EAAiBN,UAAjB,CAHmB,EAInB,KAAIO,yBAAJ,EAAmBP,UAAnB,CAJmB,CAArB;AAMA9B,IAAAA,GAAG,CAACsC,QAAJ,CAAaP,SAAb;AAEA,WAAOD,UAAP;AACD;;AAhKqB;;;gCAAX7F,U,aAuFMsG,kB;gCAvFNtG,U,kBAwFW,CACpBuG,oBADoB,EAEpBC,kBAFoB,EAGpBC,wBAHoB,EAIpBC,kCAJoB,EAKpBC,0BALoB,EAMpBC,oBANoB,EAOpBC,4BAPoB,EAQpBC,oBARoB,EASpBC,gBAToB,C;;AA2ExBC,uBAAaC,UAAb,CAAwBjH,UAAxB","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"]}
|
|
Binary file
|
package/package.json
CHANGED
|
@@ -1,15 +1,16 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@teambit/aspect",
|
|
3
|
-
"version": "0.0.
|
|
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.
|
|
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/
|
|
28
|
-
"@teambit/
|
|
29
|
-
"@teambit/
|
|
30
|
-
"@teambit/
|
|
31
|
-
"@teambit/
|
|
32
|
-
"@teambit/
|
|
33
|
-
"@teambit/
|
|
34
|
-
"@teambit/
|
|
35
|
-
"@teambit/
|
|
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.
|
|
38
|
-
"@teambit/ui": "0.0.
|
|
39
|
-
"@teambit/isolator": "0.0.
|
|
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')]
|