@teambit/aspect 0.0.637 → 0.0.641
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-1643599267183.js → __compositions-1644176887286.js} +0 -0
- package/{__overview-1643599267183.js → __overview-1644176887286.js} +0 -0
- package/{__preview-1643599267183.js → __preview-1644176887286.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/664.js +6 -4
- package/artifacts/env-template/public/733.js +1 -0
- 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.d358d3b1455dbd0ce85c.js +1 -0
- package/artifacts/env-template/public/compositions.html +1 -1
- package/artifacts/env-template/public/{overview.efc721595618d778f5d7.js → overview.92a5e67a813dde7c514d.js} +1 -1
- package/artifacts/env-template/public/overview.html +1 -1
- package/artifacts/env-template/public/preview-root.b7c3405a276c5fb44ba9.js +1 -0
- package/artifacts/env-template/public/service-worker.js +1 -1
- package/artifacts/env-template/public/static/css/664.fd0bd83a.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/dist/aspect.cmd.d.ts +7 -3
- package/dist/aspect.cmd.js +44 -10
- package/dist/aspect.cmd.js.map +1 -1
- package/dist/aspect.main.runtime.d.ts +12 -3
- package/dist/aspect.main.runtime.js +50 -11
- package/dist/aspect.main.runtime.js.map +1 -1
- package/package-tar/teambit-aspect-0.0.641.tgz +0 -0
- package/package.json +17 -16
- package/artifacts/env-template/public/287.js +0 -1
- package/artifacts/env-template/public/compositions.545ce1870255a5cddfff.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.637.tgz +0 -0
package/dist/aspect.cmd.js
CHANGED
|
@@ -21,6 +21,26 @@ function _defineProperty2() {
|
|
|
21
21
|
return data;
|
|
22
22
|
}
|
|
23
23
|
|
|
24
|
+
function _constants() {
|
|
25
|
+
const data = require("@teambit/legacy/dist/constants");
|
|
26
|
+
|
|
27
|
+
_constants = function () {
|
|
28
|
+
return data;
|
|
29
|
+
};
|
|
30
|
+
|
|
31
|
+
return data;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
function _cliTable() {
|
|
35
|
+
const data = require("@teambit/cli-table");
|
|
36
|
+
|
|
37
|
+
_cliTable = function () {
|
|
38
|
+
return data;
|
|
39
|
+
};
|
|
40
|
+
|
|
41
|
+
return data;
|
|
42
|
+
}
|
|
43
|
+
|
|
24
44
|
function _chalk() {
|
|
25
45
|
const data = _interopRequireDefault(require("chalk"));
|
|
26
46
|
|
|
@@ -35,15 +55,28 @@ function _chalk() {
|
|
|
35
55
|
class ListAspectCmd {
|
|
36
56
|
constructor(aspect) {
|
|
37
57
|
this.aspect = aspect;
|
|
38
|
-
(0, _defineProperty2().default)(this, "name", 'list
|
|
39
|
-
(0, _defineProperty2().default)(this, "description", 'list all
|
|
40
|
-
(0, _defineProperty2().default)(this, "options", []);
|
|
58
|
+
(0, _defineProperty2().default)(this, "name", 'list [pattern]');
|
|
59
|
+
(0, _defineProperty2().default)(this, "description", 'list all aspects configured on component(s)');
|
|
60
|
+
(0, _defineProperty2().default)(this, "options", [['d', 'debug', 'show the origins were the aspects were taken from']]);
|
|
41
61
|
(0, _defineProperty2().default)(this, "group", 'development');
|
|
62
|
+
(0, _defineProperty2().default)(this, "extendedDescription", `${(0, _constants().PATTERN_HELP)('aspect list')}`);
|
|
42
63
|
}
|
|
43
64
|
|
|
44
|
-
async report([name]
|
|
45
|
-
|
|
46
|
-
|
|
65
|
+
async report([name], {
|
|
66
|
+
debug
|
|
67
|
+
}) {
|
|
68
|
+
const listAspectsResults = await this.aspect.listAspectsOfComponent(name);
|
|
69
|
+
const rows = Object.keys(listAspectsResults).map(componentId => {
|
|
70
|
+
const longestAspectName = Math.max(...listAspectsResults[componentId].map(_ => _.aspectName.length));
|
|
71
|
+
const aspects = listAspectsResults[componentId].map(aspectSource => {
|
|
72
|
+
const origin = debug ? ` (origin: ${aspectSource.source})` : '';
|
|
73
|
+
const aspectName = aspectSource.aspectName.padEnd(longestAspectName);
|
|
74
|
+
return `${aspectName} (level: ${aspectSource.level})${origin}`;
|
|
75
|
+
}).join('\n');
|
|
76
|
+
return [componentId, aspects];
|
|
77
|
+
});
|
|
78
|
+
const table = new (_cliTable().CLITable)([], rows);
|
|
79
|
+
return table.render();
|
|
47
80
|
}
|
|
48
81
|
|
|
49
82
|
}
|
|
@@ -54,10 +87,10 @@ class SetAspectCmd {
|
|
|
54
87
|
constructor(aspect) {
|
|
55
88
|
this.aspect = aspect;
|
|
56
89
|
(0, _defineProperty2().default)(this, "name", 'set <pattern> <aspect-id> [config]');
|
|
57
|
-
(0, _defineProperty2().default)(this, "description",
|
|
58
|
-
enter the config as stringified JSON (e.g. '{"foo":"bar"}' ).
|
|
59
|
-
if no config entered, the aspect will be set with empty config ({})
|
|
60
|
-
|
|
90
|
+
(0, _defineProperty2().default)(this, "description", 'set an aspect to component(s) with optional config.');
|
|
91
|
+
(0, _defineProperty2().default)(this, "extendedDescription", `enter the config as stringified JSON (e.g. '{"foo":"bar"}' ).
|
|
92
|
+
if no config entered, the aspect will be set with empty config ({}).
|
|
93
|
+
${(0, _constants().PATTERN_HELP)('aspect set')}`);
|
|
61
94
|
(0, _defineProperty2().default)(this, "options", []);
|
|
62
95
|
(0, _defineProperty2().default)(this, "group", 'development');
|
|
63
96
|
}
|
|
@@ -78,6 +111,7 @@ class UnsetAspectCmd {
|
|
|
78
111
|
this.aspect = aspect;
|
|
79
112
|
(0, _defineProperty2().default)(this, "name", 'unset <pattern> <aspect-id>');
|
|
80
113
|
(0, _defineProperty2().default)(this, "description", `unset an aspect from component(s).`);
|
|
114
|
+
(0, _defineProperty2().default)(this, "extendedDescription", `${(0, _constants().PATTERN_HELP)('aspect unset')}`);
|
|
81
115
|
(0, _defineProperty2().default)(this, "options", []);
|
|
82
116
|
(0, _defineProperty2().default)(this, "group", 'development');
|
|
83
117
|
}
|
package/dist/aspect.cmd.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["aspect.cmd.ts"],"names":["ListAspectCmd","constructor","aspect","report","name","aspectIds","listAspectsOfComponent","join","SetAspectCmd","pattern","aspectId","config","configParsed","JSON","parse","results","setAspectsToComponents","length","chalk","yellow","bold","green","UnsetAspectCmd","unsetAspectsFromComponents","GetAspectCmd","componentName","debug","extensions","mergedExtensions","beforeMerge","getAspectsOfComponent","extensionsDetailsToString","map","e","data","extensionId","toComponentObject","toString","stringify","undefined","beforeMergeOutput","origin","extraData","title","details","moreData","afterMergeTitle","afterMergeOutput","json","extensionsDetailsToObject","reduce","acc","current","aspectName","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 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 <component-id>';\n description = 'list all aspect names configured on a component';\n options = [];\n group = 'development';\n\n constructor(private aspect: AspectMain) {}\n\n async report([name]: [string]) {\n const aspectIds = await this.aspect.listAspectsOfComponent(name);\n return aspectIds.join('\\n');\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"]}
|
|
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"]}
|
|
@@ -6,9 +6,14 @@ import { ReactMain } from '@teambit/react';
|
|
|
6
6
|
import { GeneratorMain } from '@teambit/generator';
|
|
7
7
|
import { BabelMain } from '@teambit/babel';
|
|
8
8
|
import { ComponentID } from '@teambit/component-id';
|
|
9
|
-
import { Workspace } from '@teambit/workspace';
|
|
9
|
+
import { ExtensionsOrigin, Workspace } from '@teambit/workspace';
|
|
10
10
|
import { CompilerMain } from '@teambit/compiler';
|
|
11
11
|
import { AspectEnv } from './aspect.env';
|
|
12
|
+
export declare type AspectSource = {
|
|
13
|
+
aspectName: string;
|
|
14
|
+
source: string;
|
|
15
|
+
level: string;
|
|
16
|
+
};
|
|
12
17
|
export declare class AspectMain {
|
|
13
18
|
readonly aspectEnv: AspectEnv;
|
|
14
19
|
private envs;
|
|
@@ -18,14 +23,18 @@ export declare class AspectMain {
|
|
|
18
23
|
* compose your own aspect environment.
|
|
19
24
|
*/
|
|
20
25
|
compose(transformers?: EnvTransformer[], targetEnv?: Environment): Environment;
|
|
21
|
-
listAspectsOfComponent(
|
|
26
|
+
listAspectsOfComponent(pattern?: string): Promise<{
|
|
27
|
+
[component: string]: AspectSource[];
|
|
28
|
+
}>;
|
|
29
|
+
private getAspectNamesForComponent;
|
|
30
|
+
private getLevelBySourceOrigin;
|
|
22
31
|
setAspectsToComponents(pattern: string, aspectId: string, config?: Record<string, any>): Promise<ComponentID[]>;
|
|
23
32
|
unsetAspectsFromComponents(pattern: string, aspectId: string): Promise<ComponentID[]>;
|
|
24
33
|
getAspectsOfComponent(id: string | ComponentID): Promise<{
|
|
25
34
|
extensions: import("@teambit/legacy/dist/consumer/config").ExtensionDataList;
|
|
26
35
|
beforeMerge: {
|
|
27
36
|
extensions: import("@teambit/legacy/dist/consumer/config").ExtensionDataList;
|
|
28
|
-
origin:
|
|
37
|
+
origin: ExtensionsOrigin;
|
|
29
38
|
extraData: any;
|
|
30
39
|
}[];
|
|
31
40
|
}>;
|
|
@@ -188,18 +188,58 @@ class AspectMain {
|
|
|
188
188
|
return this.envs.compose(this.envs.merge(targetEnv, this.aspectEnv), transformers);
|
|
189
189
|
}
|
|
190
190
|
|
|
191
|
-
async listAspectsOfComponent(
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
191
|
+
async listAspectsOfComponent(pattern) {
|
|
192
|
+
const getIds = async () => {
|
|
193
|
+
if (!pattern) return this.workspace.listIds();
|
|
194
|
+
return this.workspace.idsByPattern(pattern);
|
|
195
|
+
};
|
|
196
|
+
|
|
197
|
+
const componentIds = await getIds();
|
|
198
|
+
const results = {};
|
|
199
|
+
await Promise.all(componentIds.map(async id => {
|
|
200
|
+
const aspectSources = await this.getAspectNamesForComponent(id);
|
|
201
|
+
results[id.toString()] = aspectSources;
|
|
202
|
+
}));
|
|
203
|
+
return results;
|
|
204
|
+
}
|
|
195
205
|
|
|
196
|
-
|
|
197
|
-
|
|
206
|
+
async getAspectNamesForComponent(id) {
|
|
207
|
+
const componentFromScope = await this.workspace.scope.get(id);
|
|
208
|
+
const {
|
|
209
|
+
beforeMerge
|
|
210
|
+
} = await this.workspace.componentExtensions(id, componentFromScope);
|
|
211
|
+
const aspectSources = [];
|
|
212
|
+
beforeMerge.forEach(source => {
|
|
213
|
+
source.extensions.forEach(ext => {
|
|
214
|
+
var _ext$extensionId;
|
|
215
|
+
|
|
216
|
+
const aspectName = ext.name || ((_ext$extensionId = ext.extensionId) === null || _ext$extensionId === void 0 ? void 0 : _ext$extensionId.toString()) || '<no-name>';
|
|
217
|
+
const alreadySaved = aspectSources.find(_ => _.aspectName === aspectName);
|
|
218
|
+
if (alreadySaved) return;
|
|
219
|
+
aspectSources.push({
|
|
220
|
+
aspectName,
|
|
221
|
+
source: source.origin,
|
|
222
|
+
level: this.getLevelBySourceOrigin(source.origin)
|
|
223
|
+
});
|
|
224
|
+
});
|
|
225
|
+
});
|
|
226
|
+
return aspectSources;
|
|
227
|
+
}
|
|
228
|
+
|
|
229
|
+
getLevelBySourceOrigin(origin) {
|
|
230
|
+
switch (origin) {
|
|
231
|
+
case 'BitmapFile':
|
|
232
|
+
case 'ComponentJsonFile':
|
|
233
|
+
case 'ModelSpecific':
|
|
234
|
+
return 'component';
|
|
235
|
+
|
|
236
|
+
default:
|
|
237
|
+
return 'workspace';
|
|
238
|
+
}
|
|
198
239
|
}
|
|
199
240
|
|
|
200
241
|
async setAspectsToComponents(pattern, aspectId, config = {}) {
|
|
201
|
-
const
|
|
202
|
-
const componentIds = components.map(comp => comp.id);
|
|
242
|
+
const componentIds = await this.workspace.idsByPattern(pattern);
|
|
203
243
|
componentIds.forEach(componentId => {
|
|
204
244
|
this.workspace.bitMap.addComponentConfig(componentId, aspectId, config);
|
|
205
245
|
});
|
|
@@ -208,10 +248,9 @@ class AspectMain {
|
|
|
208
248
|
}
|
|
209
249
|
|
|
210
250
|
async unsetAspectsFromComponents(pattern, aspectId) {
|
|
211
|
-
const
|
|
212
|
-
const componentIds = components.map(comp => comp.id);
|
|
251
|
+
const componentIds = await this.workspace.idsByPattern(pattern);
|
|
213
252
|
componentIds.forEach(componentId => {
|
|
214
|
-
this.workspace.bitMap.removeComponentConfig(componentId, aspectId);
|
|
253
|
+
this.workspace.bitMap.removeComponentConfig(componentId, aspectId, true);
|
|
215
254
|
});
|
|
216
255
|
await this.workspace.bitMap.write();
|
|
217
256
|
return componentIds;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["aspect.main.runtime.ts"],"names":["tsconfig","require","AspectMain","constructor","aspectEnv","envs","workspace","compose","transformers","targetEnv","merge","listAspectsOfComponent","id","resolveComponentId","component","get","state","aspects","ids","setAspectsToComponents","pattern","aspectId","config","components","byPattern","componentIds","map","comp","forEach","componentId","bitMap","addComponentConfig","write","unsetAspectsFromComponents","removeComponentConfig","getAspectsOfComponent","componentFromScope","scope","componentExtensions","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, { 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\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(id: string | ComponentID): Promise<string[]> {\n if (typeof id === 'string') {\n id = await this.workspace.resolveComponentId(id);\n }\n const component = await this.workspace.get(id);\n return component.state.aspects.ids;\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);\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","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 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 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,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@teambit/aspect",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.641",
|
|
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.641"
|
|
10
10
|
},
|
|
11
11
|
"dependencies": {
|
|
12
12
|
"@teambit/harmony": "0.2.11",
|
|
@@ -25,21 +25,22 @@
|
|
|
25
25
|
"@babel/plugin-proposal-class-properties": "7.12.13",
|
|
26
26
|
"@babel/runtime": "7.12.18",
|
|
27
27
|
"core-js": "^3.0.0",
|
|
28
|
-
"@teambit/cli": "0.0.
|
|
29
|
-
"@teambit/
|
|
30
|
-
"@teambit/
|
|
31
|
-
"@teambit/
|
|
32
|
-
"@teambit/
|
|
33
|
-
"@teambit/
|
|
34
|
-
"@teambit/
|
|
28
|
+
"@teambit/cli-table": "0.0.33",
|
|
29
|
+
"@teambit/cli": "0.0.438",
|
|
30
|
+
"@teambit/aspect-loader": "0.0.641",
|
|
31
|
+
"@teambit/builder": "0.0.641",
|
|
32
|
+
"@teambit/compiler": "0.0.641",
|
|
33
|
+
"@teambit/envs": "0.0.641",
|
|
34
|
+
"@teambit/react": "0.0.641",
|
|
35
|
+
"@teambit/babel": "0.0.641",
|
|
35
36
|
"@teambit/component-id": "0.0.400",
|
|
36
|
-
"@teambit/generator": "0.0.
|
|
37
|
-
"@teambit/workspace": "0.0.
|
|
38
|
-
"@teambit/compositions": "0.0.
|
|
37
|
+
"@teambit/generator": "0.0.641",
|
|
38
|
+
"@teambit/workspace": "0.0.641",
|
|
39
|
+
"@teambit/compositions": "0.0.641",
|
|
39
40
|
"@teambit/design.ui.empty-box": "0.0.353",
|
|
40
|
-
"@teambit/tester": "0.0.
|
|
41
|
-
"@teambit/ui": "0.0.
|
|
42
|
-
"@teambit/isolator": "0.0.
|
|
41
|
+
"@teambit/tester": "0.0.641",
|
|
42
|
+
"@teambit/ui": "0.0.641",
|
|
43
|
+
"@teambit/isolator": "0.0.641"
|
|
43
44
|
},
|
|
44
45
|
"devDependencies": {
|
|
45
46
|
"@types/react": "^17.0.8",
|
|
@@ -51,7 +52,7 @@
|
|
|
51
52
|
"@types/node": "12.20.4"
|
|
52
53
|
},
|
|
53
54
|
"peerDependencies": {
|
|
54
|
-
"@teambit/legacy": "1.0.
|
|
55
|
+
"@teambit/legacy": "1.0.216",
|
|
55
56
|
"react-dom": "^16.8.0 || ^17.0.0",
|
|
56
57
|
"react": "^16.8.0 || ^17.0.0"
|
|
57
58
|
},
|