@teambit/lister 1.0.106 → 1.0.108

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.
@@ -1,6 +1,6 @@
1
1
  import { Command, CommandOptions } from '@teambit/cli';
2
2
  import { ListerMain } from './lister.main.runtime';
3
- declare type ListFlags = {
3
+ type ListFlags = {
4
4
  ids?: boolean;
5
5
  scope?: boolean;
6
6
  json?: boolean;
@@ -21,7 +21,7 @@ export declare class ListCmd implements Command {
21
21
  remoteOp: boolean;
22
22
  constructor(lister: ListerMain);
23
23
  report([scopeName]: string[], listFlags: ListFlags): Promise<string>;
24
- json([scopeName]: string[], listFlags: ListFlags): Promise<Record<string, any>>;
24
+ json([scopeName]: string[], listFlags: ListFlags): Promise<string[] | Record<string, any>>;
25
25
  private getListResults;
26
26
  }
27
27
  export {};
@@ -2,7 +2,7 @@ import { CLIMain } from '@teambit/cli';
2
2
  import { Logger, LoggerMain } from '@teambit/logger';
3
3
  import { Workspace } from '@teambit/workspace';
4
4
  import { ComponentID } from '@teambit/component-id';
5
- export declare type ListScopeResult = {
5
+ export type ListScopeResult = {
6
6
  id: ComponentID;
7
7
  currentlyUsedVersion?: string | null | undefined;
8
8
  remoteVersion?: string;
@@ -12,11 +12,11 @@ export declare type ListScopeResult = {
12
12
  export declare class ListerMain {
13
13
  private logger;
14
14
  private workspace?;
15
- constructor(logger: Logger, workspace?: Workspace | undefined);
15
+ constructor(logger: Logger, workspace?: Workspace);
16
16
  remoteList(scopeName: string, namespacesUsingWildcards?: string): Promise<ListScopeResult[]>;
17
17
  localList(showAll?: boolean, showRemoteVersion?: boolean, namespacesUsingWildcards?: string): Promise<ListScopeResult[]>;
18
18
  private convertListScopeResultsFromLegacy;
19
- static slots: never[];
19
+ static slots: any[];
20
20
  static dependencies: import("@teambit/harmony").Aspect[];
21
21
  static runtime: import("@teambit/harmony").RuntimeDefinition;
22
22
  static provider([cli, loggerMain, workspace]: [CLIMain, LoggerMain, Workspace]): Promise<ListerMain>;
@@ -77,8 +77,7 @@ class ListerMain {
77
77
  this.workspace = workspace;
78
78
  }
79
79
  async remoteList(scopeName, namespacesUsingWildcards) {
80
- var _this$workspace;
81
- const remote = await (0, _getRemoteByName().default)(scopeName, (_this$workspace = this.workspace) === null || _this$workspace === void 0 ? void 0 : _this$workspace.consumer);
80
+ const remote = await (0, _getRemoteByName().default)(scopeName, this.workspace?.consumer);
82
81
  this.logger.setStatusLine(_loaderMessages().BEFORE_REMOTE_LIST);
83
82
  const legacyListScopeResult = await remote.list(namespacesUsingWildcards);
84
83
  return this.convertListScopeResultsFromLegacy(legacyListScopeResult);
@@ -1 +1 @@
1
- {"version":3,"names":["_cli","data","require","_logger","_workspace","_interopRequireDefault","_loaderMessages","_exceptions","_getRemoteByName","_componentsList","_list","_lister","obj","__esModule","default","_defineProperty","key","value","_toPropertyKey","Object","defineProperty","enumerable","configurable","writable","t","i","_toPrimitive","String","r","e","Symbol","toPrimitive","call","TypeError","Number","ListerMain","constructor","logger","workspace","remoteList","scopeName","namespacesUsingWildcards","_this$workspace","remote","getRemoteByName","consumer","setStatusLine","BEFORE_REMOTE_LIST","legacyListScopeResult","list","convertListScopeResultsFromLegacy","localList","showAll","showRemoteVersion","ConsumerNotFound","BEFORE_LOCAL_LIST","componentsList","ComponentsList","listAll","results","Promise","all","map","legacyResult","componentId","id","currentlyUsedVersion","remoteVersion","deprecated","laneReadmeOf","sort","a","b","toString","localeCompare","provider","cli","loggerMain","createLogger","ListerAspect","lister","register","ListCmd","exports","CLIAspect","LoggerAspect","WorkspaceAspect","MainRuntime","addRuntime"],"sources":["lister.main.runtime.ts"],"sourcesContent":["import { CLIAspect, CLIMain, MainRuntime } from '@teambit/cli';\nimport { Logger, LoggerAspect, LoggerMain } from '@teambit/logger';\nimport WorkspaceAspect, { Workspace } from '@teambit/workspace';\nimport { BEFORE_LOCAL_LIST, BEFORE_REMOTE_LIST } from '@teambit/legacy/dist/cli/loader/loader-messages';\nimport { ComponentID } from '@teambit/component-id';\nimport { ConsumerNotFound } from '@teambit/legacy/dist/consumer/exceptions';\nimport { Remote } from '@teambit/legacy/dist/remotes';\nimport getRemoteByName from '@teambit/legacy/dist/remotes/get-remote-by-name';\nimport ComponentsList, {\n ListScopeResult as ListScopeResultLegacy,\n} from '@teambit/legacy/dist/consumer/component/components-list';\nimport { ListCmd } from './list.cmd';\nimport { ListerAspect } from './lister.aspect';\n\nexport type ListScopeResult = {\n id: ComponentID;\n currentlyUsedVersion?: string | null | undefined;\n remoteVersion?: string;\n deprecated?: boolean;\n laneReadmeOf?: string[];\n};\n\nexport class ListerMain {\n constructor(private logger: Logger, private workspace?: Workspace) {}\n\n async remoteList(scopeName: string, namespacesUsingWildcards?: string): Promise<ListScopeResult[]> {\n const remote: Remote = await getRemoteByName(scopeName, this.workspace?.consumer);\n this.logger.setStatusLine(BEFORE_REMOTE_LIST);\n const legacyListScopeResult = await remote.list(namespacesUsingWildcards);\n return this.convertListScopeResultsFromLegacy(legacyListScopeResult);\n }\n\n async localList(\n showAll = false,\n showRemoteVersion = false,\n namespacesUsingWildcards?: string\n ): Promise<ListScopeResult[]> {\n if (!this.workspace) {\n throw new ConsumerNotFound();\n }\n this.logger.setStatusLine(BEFORE_LOCAL_LIST);\n const componentsList = new ComponentsList(this.workspace.consumer);\n const legacyListScopeResult = await componentsList.listAll(showRemoteVersion, showAll, namespacesUsingWildcards);\n return this.convertListScopeResultsFromLegacy(legacyListScopeResult);\n }\n\n private async convertListScopeResultsFromLegacy(\n legacyListScopeResult: ListScopeResultLegacy[]\n ): Promise<ListScopeResult[]> {\n const results = await Promise.all(\n legacyListScopeResult.map(async (legacyResult) => {\n const componentId = legacyResult.id;\n return {\n id: componentId,\n currentlyUsedVersion: legacyResult.currentlyUsedVersion,\n remoteVersion: legacyResult.remoteVersion,\n deprecated: legacyResult.deprecated,\n laneReadmeOf: legacyResult.laneReadmeOf,\n };\n })\n );\n return results.sort((a, b) => a.id.toString().localeCompare(b.id.toString()));\n }\n\n static slots = [];\n static dependencies = [CLIAspect, LoggerAspect, WorkspaceAspect];\n static runtime = MainRuntime;\n static async provider([cli, loggerMain, workspace]: [CLIMain, LoggerMain, Workspace]) {\n const logger = loggerMain.createLogger(ListerAspect.id);\n const lister = new ListerMain(logger, workspace);\n cli.register(new ListCmd(lister));\n return lister;\n }\n}\n\nListerAspect.addRuntime(ListerMain);\n"],"mappings":"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"}
1
+ {"version":3,"names":["_cli","data","require","_logger","_workspace","_interopRequireDefault","_loaderMessages","_exceptions","_getRemoteByName","_componentsList","_list","_lister","obj","__esModule","default","_defineProperty","key","value","_toPropertyKey","Object","defineProperty","enumerable","configurable","writable","t","i","_toPrimitive","String","r","e","Symbol","toPrimitive","call","TypeError","Number","ListerMain","constructor","logger","workspace","remoteList","scopeName","namespacesUsingWildcards","remote","getRemoteByName","consumer","setStatusLine","BEFORE_REMOTE_LIST","legacyListScopeResult","list","convertListScopeResultsFromLegacy","localList","showAll","showRemoteVersion","ConsumerNotFound","BEFORE_LOCAL_LIST","componentsList","ComponentsList","listAll","results","Promise","all","map","legacyResult","componentId","id","currentlyUsedVersion","remoteVersion","deprecated","laneReadmeOf","sort","a","b","toString","localeCompare","provider","cli","loggerMain","createLogger","ListerAspect","lister","register","ListCmd","exports","CLIAspect","LoggerAspect","WorkspaceAspect","MainRuntime","addRuntime"],"sources":["lister.main.runtime.ts"],"sourcesContent":["import { CLIAspect, CLIMain, MainRuntime } from '@teambit/cli';\nimport { Logger, LoggerAspect, LoggerMain } from '@teambit/logger';\nimport WorkspaceAspect, { Workspace } from '@teambit/workspace';\nimport { BEFORE_LOCAL_LIST, BEFORE_REMOTE_LIST } from '@teambit/legacy/dist/cli/loader/loader-messages';\nimport { ComponentID } from '@teambit/component-id';\nimport { ConsumerNotFound } from '@teambit/legacy/dist/consumer/exceptions';\nimport { Remote } from '@teambit/legacy/dist/remotes';\nimport getRemoteByName from '@teambit/legacy/dist/remotes/get-remote-by-name';\nimport ComponentsList, {\n ListScopeResult as ListScopeResultLegacy,\n} from '@teambit/legacy/dist/consumer/component/components-list';\nimport { ListCmd } from './list.cmd';\nimport { ListerAspect } from './lister.aspect';\n\nexport type ListScopeResult = {\n id: ComponentID;\n currentlyUsedVersion?: string | null | undefined;\n remoteVersion?: string;\n deprecated?: boolean;\n laneReadmeOf?: string[];\n};\n\nexport class ListerMain {\n constructor(private logger: Logger, private workspace?: Workspace) {}\n\n async remoteList(scopeName: string, namespacesUsingWildcards?: string): Promise<ListScopeResult[]> {\n const remote: Remote = await getRemoteByName(scopeName, this.workspace?.consumer);\n this.logger.setStatusLine(BEFORE_REMOTE_LIST);\n const legacyListScopeResult = await remote.list(namespacesUsingWildcards);\n return this.convertListScopeResultsFromLegacy(legacyListScopeResult);\n }\n\n async localList(\n showAll = false,\n showRemoteVersion = false,\n namespacesUsingWildcards?: string\n ): Promise<ListScopeResult[]> {\n if (!this.workspace) {\n throw new ConsumerNotFound();\n }\n this.logger.setStatusLine(BEFORE_LOCAL_LIST);\n const componentsList = new ComponentsList(this.workspace.consumer);\n const legacyListScopeResult = await componentsList.listAll(showRemoteVersion, showAll, namespacesUsingWildcards);\n return this.convertListScopeResultsFromLegacy(legacyListScopeResult);\n }\n\n private async convertListScopeResultsFromLegacy(\n legacyListScopeResult: ListScopeResultLegacy[]\n ): Promise<ListScopeResult[]> {\n const results = await Promise.all(\n legacyListScopeResult.map(async (legacyResult) => {\n const componentId = legacyResult.id;\n return {\n id: componentId,\n currentlyUsedVersion: legacyResult.currentlyUsedVersion,\n remoteVersion: legacyResult.remoteVersion,\n deprecated: legacyResult.deprecated,\n laneReadmeOf: legacyResult.laneReadmeOf,\n };\n })\n );\n return results.sort((a, b) => a.id.toString().localeCompare(b.id.toString()));\n }\n\n static slots = [];\n static dependencies = [CLIAspect, LoggerAspect, WorkspaceAspect];\n static runtime = MainRuntime;\n static async provider([cli, loggerMain, workspace]: [CLIMain, LoggerMain, Workspace]) {\n const logger = loggerMain.createLogger(ListerAspect.id);\n const lister = new ListerMain(logger, workspace);\n cli.register(new ListCmd(lister));\n return lister;\n }\n}\n\nListerAspect.addRuntime(ListerMain);\n"],"mappings":"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"}
package/index.ts ADDED
@@ -0,0 +1,5 @@
1
+ import { ListerAspect } from './lister.aspect';
2
+
3
+ export type { ListerMain } from './lister.main.runtime';
4
+ export default ListerAspect;
5
+ export { ListerAspect };
@@ -0,0 +1,77 @@
1
+ import c from 'chalk';
2
+ import semver from 'semver';
3
+ import Table from 'cli-table';
4
+ import { ListScopeResult } from './lister.main.runtime';
5
+
6
+ type Row = { id: string; localVersion: string; currentVersion: string; remoteVersion?: string };
7
+
8
+ export function listTemplate(listScopeResults: ListScopeResult[], json: boolean, showRemoteVersion: boolean) {
9
+ function tabulateComponent(listScopeResult: ListScopeResult): Row {
10
+ const id = listScopeResult.id.toStringWithoutVersion();
11
+ let version = listScopeResult.id.hasVersion() ? (listScopeResult.id.version as string) : '<new>';
12
+ if (!json && showRemoteVersion) {
13
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
14
+ const color = listScopeResult.remoteVersion && semver.gt(listScopeResult.remoteVersion, version!) ? 'red' : null;
15
+ // @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!
16
+ version = color ? c[color](version) : version;
17
+ }
18
+ const getFormattedId = () => {
19
+ const { deprecated, laneReadmeOf } = listScopeResult;
20
+ let formattedId = c.white(`${id}`);
21
+ if (deprecated) {
22
+ formattedId = c.white(`${formattedId} [Deprecated]`);
23
+ }
24
+ if (laneReadmeOf && laneReadmeOf.length > 0) {
25
+ formattedId = `${formattedId}\n`;
26
+ laneReadmeOf.forEach((laneName) => {
27
+ formattedId = `${formattedId}${c.yellow(`[Lane Readme]: ${laneName}\n`)}`;
28
+ });
29
+ }
30
+ return formattedId;
31
+ };
32
+
33
+ const data: Row = {
34
+ id: getFormattedId(),
35
+ localVersion: version,
36
+ currentVersion: listScopeResult.currentlyUsedVersion || 'N/A',
37
+ };
38
+
39
+ if (showRemoteVersion) {
40
+ let remoteVersion = listScopeResult.remoteVersion || 'N/A';
41
+ const color =
42
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
43
+ listScopeResult.remoteVersion && semver.gt(listScopeResult.id.version!, listScopeResult.remoteVersion)
44
+ ? 'red'
45
+ : null;
46
+ remoteVersion = color ? c[color](remoteVersion) : remoteVersion;
47
+ data.remoteVersion = remoteVersion;
48
+ }
49
+ return data;
50
+ }
51
+
52
+ function toJsonComponent(listScopeResult: ListScopeResult): Record<string, any> {
53
+ const id = listScopeResult.id.toStringWithoutVersion();
54
+ const localVersion = listScopeResult.id.hasVersion() ? (listScopeResult.id.version as string) : '<new>';
55
+ const data = {
56
+ id,
57
+ localVersion,
58
+ deprecated: listScopeResult.deprecated,
59
+ currentVersion: listScopeResult.currentlyUsedVersion || 'N/A',
60
+ remoteVersion: listScopeResult.remoteVersion || 'N/A',
61
+ };
62
+ return data;
63
+ }
64
+
65
+ if (json) {
66
+ return listScopeResults.map(toJsonComponent);
67
+ }
68
+ const rows = listScopeResults.map(tabulateComponent);
69
+ const head = ['component ID', 'latest in scope', 'used in workspace'];
70
+ if (showRemoteVersion) {
71
+ head.push('latest in remote scope');
72
+ }
73
+
74
+ const table = new Table({ head, style: { head: ['cyan'] } });
75
+ rows.map((row) => table.push(Object.values(row)));
76
+ return table.toString();
77
+ }
package/list.cmd.ts ADDED
@@ -0,0 +1,82 @@
1
+ import { Command, CommandOptions } from '@teambit/cli';
2
+ import chalk from 'chalk';
3
+ import R from 'ramda';
4
+ import hasWildcard from '@teambit/legacy/dist/utils/string/has-wildcard';
5
+ import { listTemplate } from './list-template';
6
+ import { ListerMain, ListScopeResult } from './lister.main.runtime';
7
+
8
+ type ListFlags = {
9
+ ids?: boolean;
10
+ scope?: boolean;
11
+ json?: boolean;
12
+ outdated?: boolean;
13
+ namespace?: string;
14
+ };
15
+
16
+ export class ListCmd implements Command {
17
+ name = 'list [remote-scope]';
18
+ description = 'list components on a workspace or a remote scope (with flag).';
19
+ group = 'discover';
20
+ helpUrl = 'reference/reference/cli-reference#list';
21
+ alias = 'ls';
22
+ options = [
23
+ ['i', 'ids', 'show only component ids, unformatted'],
24
+ ['s', 'scope', 'show only components stored in the local scope, including indirect dependencies'],
25
+ ['o', 'outdated', 'highlight outdated components, in comparison with their latest remote version (if one exists)'],
26
+ ['j', 'json', 'show the output in JSON format'],
27
+ ['n', 'namespace <string>', "show only components in the specified namespace/s e.g. '-n ui' or '*/ui'"],
28
+ ] as CommandOptions;
29
+ loader = true;
30
+ migration = true;
31
+ skipWorkspace = true;
32
+ remoteOp = true;
33
+
34
+ constructor(private lister: ListerMain) {}
35
+
36
+ async report([scopeName]: string[], listFlags: ListFlags) {
37
+ const listScopeResults = await this.getListResults(scopeName, listFlags);
38
+
39
+ const { ids, outdated = false } = listFlags;
40
+
41
+ function decideHeaderSentence() {
42
+ if (!scopeName) return `found ${listScopeResults.length} components\n`;
43
+ return chalk.white(`found ${listScopeResults.length} components in ${chalk.bold(scopeName)}\n`);
44
+ }
45
+
46
+ if (R.isEmpty(listScopeResults)) {
47
+ return chalk.white(decideHeaderSentence());
48
+ }
49
+
50
+ if (ids) return JSON.stringify(listScopeResults.map((result) => result.id.toString()));
51
+ // TODO - use a cheaper list for ids flag (do not fetch versions at all) @!IMPORTANT
52
+ return decideHeaderSentence() + listTemplate(listScopeResults, false, outdated);
53
+ }
54
+
55
+ async json([scopeName]: string[], listFlags: ListFlags) {
56
+ const listScopeResults = await this.getListResults(scopeName, listFlags);
57
+
58
+ if (R.isEmpty(listScopeResults)) {
59
+ return [];
60
+ }
61
+
62
+ const { ids, outdated = false } = listFlags;
63
+ if (ids) return listScopeResults.map((result) => result.id.toString());
64
+ return listTemplate(listScopeResults, true, outdated) as Record<string, any>;
65
+ }
66
+
67
+ private async getListResults(
68
+ scopeName?: string,
69
+ { namespace, scope, outdated }: ListFlags = {}
70
+ ): Promise<ListScopeResult[]> {
71
+ const getNamespaceWithWildcard = () => {
72
+ if (!namespace) return undefined;
73
+ if (hasWildcard(namespace)) return namespace;
74
+ return `${namespace}/*`;
75
+ };
76
+ const namespaceWithWildcard = getNamespaceWithWildcard();
77
+
78
+ return scopeName
79
+ ? this.lister.remoteList(scopeName, namespaceWithWildcard)
80
+ : this.lister.localList(scope, outdated, namespaceWithWildcard);
81
+ }
82
+ }
@@ -0,0 +1,5 @@
1
+ import { Aspect } from '@teambit/harmony';
2
+
3
+ export const ListerAspect = Aspect.create({
4
+ id: 'teambit.component/lister',
5
+ });
@@ -0,0 +1,76 @@
1
+ import { CLIAspect, CLIMain, MainRuntime } from '@teambit/cli';
2
+ import { Logger, LoggerAspect, LoggerMain } from '@teambit/logger';
3
+ import WorkspaceAspect, { Workspace } from '@teambit/workspace';
4
+ import { BEFORE_LOCAL_LIST, BEFORE_REMOTE_LIST } from '@teambit/legacy/dist/cli/loader/loader-messages';
5
+ import { ComponentID } from '@teambit/component-id';
6
+ import { ConsumerNotFound } from '@teambit/legacy/dist/consumer/exceptions';
7
+ import { Remote } from '@teambit/legacy/dist/remotes';
8
+ import getRemoteByName from '@teambit/legacy/dist/remotes/get-remote-by-name';
9
+ import ComponentsList, {
10
+ ListScopeResult as ListScopeResultLegacy,
11
+ } from '@teambit/legacy/dist/consumer/component/components-list';
12
+ import { ListCmd } from './list.cmd';
13
+ import { ListerAspect } from './lister.aspect';
14
+
15
+ export type ListScopeResult = {
16
+ id: ComponentID;
17
+ currentlyUsedVersion?: string | null | undefined;
18
+ remoteVersion?: string;
19
+ deprecated?: boolean;
20
+ laneReadmeOf?: string[];
21
+ };
22
+
23
+ export class ListerMain {
24
+ constructor(private logger: Logger, private workspace?: Workspace) {}
25
+
26
+ async remoteList(scopeName: string, namespacesUsingWildcards?: string): Promise<ListScopeResult[]> {
27
+ const remote: Remote = await getRemoteByName(scopeName, this.workspace?.consumer);
28
+ this.logger.setStatusLine(BEFORE_REMOTE_LIST);
29
+ const legacyListScopeResult = await remote.list(namespacesUsingWildcards);
30
+ return this.convertListScopeResultsFromLegacy(legacyListScopeResult);
31
+ }
32
+
33
+ async localList(
34
+ showAll = false,
35
+ showRemoteVersion = false,
36
+ namespacesUsingWildcards?: string
37
+ ): Promise<ListScopeResult[]> {
38
+ if (!this.workspace) {
39
+ throw new ConsumerNotFound();
40
+ }
41
+ this.logger.setStatusLine(BEFORE_LOCAL_LIST);
42
+ const componentsList = new ComponentsList(this.workspace.consumer);
43
+ const legacyListScopeResult = await componentsList.listAll(showRemoteVersion, showAll, namespacesUsingWildcards);
44
+ return this.convertListScopeResultsFromLegacy(legacyListScopeResult);
45
+ }
46
+
47
+ private async convertListScopeResultsFromLegacy(
48
+ legacyListScopeResult: ListScopeResultLegacy[]
49
+ ): Promise<ListScopeResult[]> {
50
+ const results = await Promise.all(
51
+ legacyListScopeResult.map(async (legacyResult) => {
52
+ const componentId = legacyResult.id;
53
+ return {
54
+ id: componentId,
55
+ currentlyUsedVersion: legacyResult.currentlyUsedVersion,
56
+ remoteVersion: legacyResult.remoteVersion,
57
+ deprecated: legacyResult.deprecated,
58
+ laneReadmeOf: legacyResult.laneReadmeOf,
59
+ };
60
+ })
61
+ );
62
+ return results.sort((a, b) => a.id.toString().localeCompare(b.id.toString()));
63
+ }
64
+
65
+ static slots = [];
66
+ static dependencies = [CLIAspect, LoggerAspect, WorkspaceAspect];
67
+ static runtime = MainRuntime;
68
+ static async provider([cli, loggerMain, workspace]: [CLIMain, LoggerMain, Workspace]) {
69
+ const logger = loggerMain.createLogger(ListerAspect.id);
70
+ const lister = new ListerMain(logger, workspace);
71
+ cli.register(new ListCmd(lister));
72
+ return lister;
73
+ }
74
+ }
75
+
76
+ ListerAspect.addRuntime(ListerMain);
package/package.json CHANGED
@@ -1,40 +1,34 @@
1
1
  {
2
2
  "name": "@teambit/lister",
3
- "version": "1.0.106",
3
+ "version": "1.0.108",
4
4
  "homepage": "https://bit.cloud/teambit/component/lister",
5
5
  "main": "dist/index.js",
6
6
  "componentId": {
7
7
  "scope": "teambit.component",
8
8
  "name": "lister",
9
- "version": "1.0.106"
9
+ "version": "1.0.108"
10
10
  },
11
11
  "dependencies": {
12
12
  "chalk": "2.4.2",
13
13
  "cli-table": "0.3.6",
14
14
  "semver": "7.5.2",
15
15
  "ramda": "0.27.1",
16
- "core-js": "^3.0.0",
17
- "@babel/runtime": "7.20.0",
18
16
  "@teambit/harmony": "0.4.6",
19
17
  "@teambit/component-id": "1.2.0",
20
- "@teambit/cli": "0.0.839",
21
- "@teambit/logger": "0.0.932",
22
- "@teambit/workspace": "1.0.106"
18
+ "@teambit/cli": "0.0.840",
19
+ "@teambit/logger": "0.0.933",
20
+ "@teambit/workspace": "1.0.108"
23
21
  },
24
22
  "devDependencies": {
25
23
  "@types/cli-table": "^0.3.0",
26
24
  "@types/semver": "7.3.4",
27
25
  "@types/mocha": "9.1.0",
28
- "@types/node": "12.20.4",
29
- "@types/react": "^17.0.8",
30
- "@types/react-dom": "^17.0.5",
31
- "@types/jest": "^26.0.0",
32
- "@types/testing-library__jest-dom": "5.9.5"
26
+ "@types/jest": "^29.2.2",
27
+ "@types/testing-library__jest-dom": "^5.9.5",
28
+ "@teambit/harmony.envs.core-aspect-env": "0.0.13"
33
29
  },
34
30
  "peerDependencies": {
35
- "@teambit/legacy": "1.0.624",
36
- "react": "^16.8.0 || ^17.0.0",
37
- "react-dom": "^16.8.0 || ^17.0.0"
31
+ "@teambit/legacy": "1.0.624"
38
32
  },
39
33
  "license": "Apache-2.0",
40
34
  "optionalDependencies": {},
@@ -48,7 +42,7 @@
48
42
  },
49
43
  "private": false,
50
44
  "engines": {
51
- "node": ">=12.22.0"
45
+ "node": ">=16.0.0"
52
46
  },
53
47
  "repository": {
54
48
  "type": "git",
@@ -57,12 +51,9 @@
57
51
  "keywords": [
58
52
  "bit",
59
53
  "bit-aspect",
54
+ "bit-core-aspect",
60
55
  "components",
61
56
  "collaboration",
62
- "web",
63
- "react",
64
- "react-components",
65
- "angular",
66
- "angular-components"
57
+ "web"
67
58
  ]
68
59
  }
package/tsconfig.json CHANGED
@@ -1,38 +1,33 @@
1
1
  {
2
2
  "compilerOptions": {
3
3
  "lib": [
4
- "es2019",
5
- "DOM",
6
- "ES6",
7
- "DOM.Iterable",
8
- "ScriptHost"
4
+ "esnext",
5
+ "dom",
6
+ "dom.Iterable"
9
7
  ],
10
- "target": "es2015",
11
- "module": "CommonJS",
12
- "jsx": "react",
13
- "allowJs": true,
14
- "composite": true,
8
+ "target": "es2020",
9
+ "module": "es2020",
10
+ "jsx": "react-jsx",
15
11
  "declaration": true,
16
12
  "sourceMap": true,
17
- "skipLibCheck": true,
18
13
  "experimentalDecorators": true,
19
- "outDir": "dist",
14
+ "skipLibCheck": true,
20
15
  "moduleResolution": "node",
21
16
  "esModuleInterop": true,
22
- "rootDir": ".",
23
17
  "resolveJsonModule": true,
24
- "emitDeclarationOnly": true,
25
- "emitDecoratorMetadata": true,
26
- "allowSyntheticDefaultImports": true,
27
- "strictPropertyInitialization": false,
28
- "strict": true,
29
- "noImplicitAny": false,
30
- "preserveConstEnums": true
18
+ "allowJs": true,
19
+ "outDir": "dist",
20
+ "emitDeclarationOnly": true
31
21
  },
32
22
  "exclude": [
23
+ "artifacts",
24
+ "public",
33
25
  "dist",
26
+ "node_modules",
27
+ "package.json",
34
28
  "esm.mjs",
35
- "package.json"
29
+ "**/*.cjs",
30
+ "./dist"
36
31
  ],
37
32
  "include": [
38
33
  "**/*",
package/types/asset.d.ts CHANGED
@@ -5,12 +5,12 @@ declare module '*.png' {
5
5
  declare module '*.svg' {
6
6
  import type { FunctionComponent, SVGProps } from 'react';
7
7
 
8
- export const ReactComponent: FunctionComponent<SVGProps<SVGSVGElement> & { title?: string }>;
8
+ export const ReactComponent: FunctionComponent<
9
+ SVGProps<SVGSVGElement> & { title?: string }
10
+ >;
9
11
  const src: string;
10
12
  export default src;
11
13
  }
12
-
13
- // @TODO Gilad
14
14
  declare module '*.jpg' {
15
15
  const value: any;
16
16
  export = value;
@@ -27,3 +27,15 @@ declare module '*.bmp' {
27
27
  const value: any;
28
28
  export = value;
29
29
  }
30
+ declare module '*.otf' {
31
+ const value: any;
32
+ export = value;
33
+ }
34
+ declare module '*.woff' {
35
+ const value: any;
36
+ export = value;
37
+ }
38
+ declare module '*.woff2' {
39
+ const value: any;
40
+ export = value;
41
+ }