react-native-bundle-discovery-ui 2.7.0-rc.0 → 2.7.0

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,83 +1,97 @@
1
1
  const require_pages__common = require("./_common.js");
2
2
  //#region src/client/pages/default.ts
3
3
  const topMetaData = [
4
- require_pages__common.metadata.platform,
5
- require_pages__common.metadata.size,
6
- require_pages__common.metadata.source_code_size,
7
- require_pages__common.metadata.node_modules_size,
8
- require_pages__common.metadata.is_dev,
9
- require_pages__common.metadata.is_minified
4
+ require_pages__common.metadata.platform,
5
+ require_pages__common.metadata.size,
6
+ require_pages__common.metadata.source_code_size,
7
+ require_pages__common.metadata.node_modules_size,
8
+ require_pages__common.metadata.is_dev,
9
+ require_pages__common.metadata.is_minified,
10
10
  ];
11
11
  const TABS = {
12
- TREEMAP_FOAMTREE: "treemap-foamtree",
13
- MODULES: "modules",
14
- PACKAGES: "packages",
15
- DUPLICATES: "duplicates"
12
+ TREEMAP_FOAMTREE: "treemap-foamtree",
13
+ MODULES: "modules",
14
+ PACKAGES: "packages",
15
+ DUPLICATES: "duplicates",
16
16
  };
17
17
  function parseHashRef(url = window.location.href) {
18
- return new URL(url).hash.split(":")?.[1];
18
+ return new URL(url).hash.split(":")?.[1];
19
19
  }
20
- discovery.page.define("default", [...topMetaData, {
21
- view: "tabs",
22
- name: "mainTabs",
23
- className: "main-tabs",
24
- value: parseHashRef() ?? TABS.TREEMAP_FOAMTREE,
25
- tabs: [
26
- {
27
- value: TABS.TREEMAP_FOAMTREE,
28
- text: "Treemap chart",
29
- className: `main-tabs-${TABS.TREEMAP_FOAMTREE}`
30
- },
31
- {
32
- value: TABS.PACKAGES,
33
- className: `main-tabs-${TABS.PACKAGES}`,
34
- content: ["text:'Packages '", `pill-badge: modules.filter(=> path has "node_modules").group(=> path.getModulesName(), => 0).size()`]
35
- },
36
- {
37
- value: TABS.MODULES,
38
- className: `main-tabs-${TABS.MODULES}`,
39
- content: ["text:'Modules '", "pill-badge: modules.size()"]
40
- },
41
- {
42
- value: TABS.DUPLICATES,
43
- className: `main-tabs-${TABS.DUPLICATES}`,
44
- content: ["text:'Duplicate modules '", "pill-badge: modules.filter(=> duplicates).size()"]
45
- }
46
- ],
47
- content: {
48
- view: "switch",
49
- context(_data, context) {
50
- const isHashChangeEvent = (/* @__PURE__ */ new Error("")).stack.includes("Promise.all");
51
- discovery.overridePageHashStateWithAnchor({
52
- id: "default",
53
- ref: isHashChangeEvent ? discovery.pageRef : context.mainTabs
54
- });
55
- discovery.cancelScheduledRender();
56
- const id = discovery.pageRef ?? TABS.TREEMAP_FOAMTREE;
57
- setTimeout(() => {
58
- discovery.dom.root.querySelectorAll(".main-tabs>div>.onclick").forEach((e) => {
59
- e.classList.remove("active");
60
- });
61
- discovery.dom.root.querySelectorAll(`.main-tabs .main-tabs-${id}`).forEach((e) => {
62
- e.classList.add("active");
63
- });
64
- }, 50);
65
- return {
66
- ...context,
67
- id
68
- };
69
- },
70
- content: [
71
- {
72
- when: `#.id="${TABS.TREEMAP_FOAMTREE}"`,
73
- content: {
74
- view: "content-filter",
75
- name: "filterByPathStr",
76
- debounce: 300,
77
- className: "foamtree-filter",
78
- content: {
79
- view: "foamtree",
80
- data: `
20
+ discovery.page.define("default", [
21
+ ...topMetaData,
22
+ {
23
+ view: "tabs",
24
+ name: "mainTabs",
25
+ className: "main-tabs",
26
+ value: parseHashRef() ?? TABS.TREEMAP_FOAMTREE,
27
+ tabs: [
28
+ {
29
+ value: TABS.TREEMAP_FOAMTREE,
30
+ text: "Treemap chart",
31
+ className: `main-tabs-${TABS.TREEMAP_FOAMTREE}`,
32
+ },
33
+ {
34
+ value: TABS.PACKAGES,
35
+ className: `main-tabs-${TABS.PACKAGES}`,
36
+ content: [
37
+ "text:'Packages '",
38
+ `pill-badge: modules.filter(=> path has "node_modules").group(=> path.getModulesName(), => 0).size()`,
39
+ ],
40
+ },
41
+ {
42
+ value: TABS.MODULES,
43
+ className: `main-tabs-${TABS.MODULES}`,
44
+ content: ["text:'Modules '", "pill-badge: modules.size()"],
45
+ },
46
+ {
47
+ value: TABS.DUPLICATES,
48
+ className: `main-tabs-${TABS.DUPLICATES}`,
49
+ content: [
50
+ "text:'Duplicate modules '",
51
+ "pill-badge: modules.filter(=> duplicates).size()",
52
+ ],
53
+ },
54
+ ],
55
+ content: {
56
+ view: "switch",
57
+ context(_data, context) {
58
+ const isHashChangeEvent = /* @__PURE__ */ new Error("").stack.includes(
59
+ "Promise.all",
60
+ );
61
+ discovery.overridePageHashStateWithAnchor({
62
+ id: "default",
63
+ ref: isHashChangeEvent ? discovery.pageRef : context.mainTabs,
64
+ });
65
+ discovery.cancelScheduledRender();
66
+ const id = discovery.pageRef ?? TABS.TREEMAP_FOAMTREE;
67
+ setTimeout(() => {
68
+ discovery.dom.root
69
+ .querySelectorAll(".main-tabs>div>.onclick")
70
+ .forEach((e) => {
71
+ e.classList.remove("active");
72
+ });
73
+ discovery.dom.root
74
+ .querySelectorAll(`.main-tabs .main-tabs-${id}`)
75
+ .forEach((e) => {
76
+ e.classList.add("active");
77
+ });
78
+ }, 50);
79
+ return {
80
+ ...context,
81
+ id,
82
+ };
83
+ },
84
+ content: [
85
+ {
86
+ when: `#.id="${TABS.TREEMAP_FOAMTREE}"`,
87
+ content: {
88
+ view: "content-filter",
89
+ name: "filterByPathStr",
90
+ debounce: 300,
91
+ className: "foamtree-filter",
92
+ content: {
93
+ view: "foamtree",
94
+ data: `
81
95
  $root: $.rootFolder;
82
96
  $applyFilter: => #.filterByPathStr ? $.modules.filter(=> $.path ~= #.filterByPathStr) : $.modules;
83
97
  $dataObject: $.$applyFilter()
@@ -91,15 +105,15 @@ discovery.page.define("default", [...topMetaData, {
91
105
  descriptionGroupMinHeight: 30,
92
106
  }
93
107
  }
94
- `
95
- }
96
- }
97
- },
98
- {
99
- when: `#.id="${TABS.MODULES}"`,
100
- content: require_pages__common.getModulesTree({
101
- limit: 200,
102
- data: `
108
+ `,
109
+ },
110
+ },
111
+ },
112
+ {
113
+ when: `#.id="${TABS.MODULES}"`,
114
+ content: require_pages__common.getModulesTree({
115
+ limit: 200,
116
+ data: `
103
117
  $entryPoint: $.entryPointPath;
104
118
  $totalSize: modules.sum(=>output.sizeInBytes);
105
119
  $toModule: => {
@@ -114,53 +128,54 @@ discovery.page.define("default", [...topMetaData, {
114
128
  reasons: $.dependents.map(=> $.$toModule()),
115
129
  duplicates: $.duplicates.map(=> $.$toModule()),
116
130
  })
117
- `
118
- })
119
- },
120
- {
121
- when: `#.id="${TABS.PACKAGES}"`,
122
- content: [
123
- require_pages__common.getCopyToClipboardButton({
124
- text: "Copy list",
125
- className: "copy-before-ask-chatgpt",
126
- textToCopy: `"- " + modules.filter(=> path has "node_modules").group(=> path.getModulesName()).map(=> $.key).join("\\n- ")`
127
- }),
128
- {
129
- view: "link",
130
- className: "ask-chatgpt view-button",
131
- text: "and Ask ChatGPT",
132
- external: true,
133
- data: `{
131
+ `,
132
+ }),
133
+ },
134
+ {
135
+ when: `#.id="${TABS.PACKAGES}"`,
136
+ content: [
137
+ require_pages__common.getCopyToClipboardButton({
138
+ text: "Copy list",
139
+ className: "copy-before-ask-chatgpt",
140
+ textToCopy: `"- " + modules.filter(=> path has "node_modules").group(=> path.getModulesName()).map(=> $.key).join("\\n- ")`,
141
+ }),
142
+ {
143
+ view: "link",
144
+ className: "ask-chatgpt view-button",
145
+ text: "and Ask ChatGPT",
146
+ external: true,
147
+ data: `{
134
148
  href: $.askChatGPTAboutPackages()
135
- }`
136
- },
137
- {
138
- view: "content-filter",
139
- data: `${require_pages__common.getPackage(`modules.filter(=> path has "node_modules")`)}.sort(pkgInstances desc, size desc)`,
140
- className: "packages-content",
141
- name: "filterByPathStr",
142
- content: require_pages__common.getPackageList({
143
- showCopiesBadge: true,
144
- expanded: false,
145
- limit: 200,
146
- subLimit: 50,
147
- data: ".[pkgName ~= #.filterByPathStr]",
148
- itemPkgName: {
149
- view: "link",
150
- content: "text-match",
151
- data: `{
149
+ }`,
150
+ },
151
+ {
152
+ view: "content-filter",
153
+ data: `${require_pages__common.getPackage(`modules.filter(=> path has "node_modules")`)}.sort(pkgInstances desc, size desc)`,
154
+ className: "packages-content",
155
+ name: "filterByPathStr",
156
+ content: require_pages__common.getPackageList({
157
+ showCopiesBadge: true,
158
+ expanded: false,
159
+ limit: 200,
160
+ subLimit: 50,
161
+ data: ".[pkgName ~= #.filterByPathStr]",
162
+ itemPkgName: {
163
+ view: "link",
164
+ content: "text-match",
165
+ data: `{
152
166
  href: pkgName.pageLink("package", {}),
153
167
  text: pkgName,
154
168
  match: #.filterByPathStr
155
- }`
156
- }
157
- })
158
- }
159
- ]
160
- },
161
- {
162
- when: `#.id="${TABS.DUPLICATES}"`,
163
- content: require_pages__common.getModulesTree({ data: `
169
+ }`,
170
+ },
171
+ }),
172
+ },
173
+ ],
174
+ },
175
+ {
176
+ when: `#.id="${TABS.DUPLICATES}"`,
177
+ content: require_pages__common.getModulesTree({
178
+ data: `
164
179
  // values
165
180
  $duplicatesOnly: modules.filter(=> duplicates);
166
181
  $totalSize: $duplicatesOnly.sum(=>output.sizeInBytes);
@@ -176,9 +191,11 @@ discovery.page.define("default", [...topMetaData, {
176
191
  reasons: $.dependents.map(=> $.$toModule()),
177
192
  duplicates: $.duplicates.map(=> $.$toModule()),
178
193
  })
179
- ` })
180
- }
181
- ]
182
- }
183
- }]);
194
+ `,
195
+ }),
196
+ },
197
+ ],
198
+ },
199
+ },
200
+ ]);
184
201
  //#endregion