lazy-render-virtual-scroll 1.12.0 → 1.13.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.
Files changed (151) hide show
  1. package/dist/adapters/react/index.d.ts +91 -2
  2. package/dist/cjs/adapters/react/adapters/react/components/PerformanceMonitor.d.ts +10 -0
  3. package/dist/cjs/adapters/react/adapters/react/components/PerformanceMonitor.d.ts.map +1 -0
  4. package/dist/cjs/adapters/react/adapters/react/components/index.d.ts +2 -0
  5. package/dist/cjs/adapters/react/adapters/react/components/index.d.ts.map +1 -1
  6. package/dist/cjs/adapters/react/components/PerformanceMonitor.d.ts +10 -0
  7. package/dist/cjs/adapters/react/components/PerformanceMonitor.d.ts.map +1 -0
  8. package/dist/cjs/adapters/react/components/index.d.ts +2 -0
  9. package/dist/cjs/adapters/react/components/index.d.ts.map +1 -1
  10. package/dist/cjs/adapters/react/core/AccessibilityManager.d.ts +86 -0
  11. package/dist/cjs/adapters/react/core/AccessibilityManager.d.ts.map +1 -0
  12. package/dist/cjs/adapters/react/core/AnimationManager.d.ts +63 -0
  13. package/dist/cjs/adapters/react/core/AnimationManager.d.ts.map +1 -0
  14. package/dist/cjs/adapters/react/core/PerformanceAnalytics.d.ts +83 -0
  15. package/dist/cjs/adapters/react/core/PerformanceAnalytics.d.ts.map +1 -0
  16. package/dist/cjs/adapters/react/core/PerformanceDashboard.d.ts +60 -0
  17. package/dist/cjs/adapters/react/core/PerformanceDashboard.d.ts.map +1 -0
  18. package/dist/cjs/adapters/react/index.d.ts +4 -0
  19. package/dist/cjs/adapters/react/index.d.ts.map +1 -1
  20. package/dist/cjs/adapters/react/index.js +282 -0
  21. package/dist/cjs/adapters/react/index.js.map +1 -1
  22. package/dist/cjs/angular/adapters/react/components/PerformanceMonitor.d.ts +10 -0
  23. package/dist/cjs/angular/adapters/react/components/PerformanceMonitor.d.ts.map +1 -0
  24. package/dist/cjs/angular/adapters/react/components/index.d.ts +2 -0
  25. package/dist/cjs/angular/adapters/react/components/index.d.ts.map +1 -1
  26. package/dist/cjs/angular/core/AccessibilityManager.d.ts +86 -0
  27. package/dist/cjs/angular/core/AccessibilityManager.d.ts.map +1 -0
  28. package/dist/cjs/angular/core/AnimationManager.d.ts +63 -0
  29. package/dist/cjs/angular/core/AnimationManager.d.ts.map +1 -0
  30. package/dist/cjs/angular/core/PerformanceAnalytics.d.ts +83 -0
  31. package/dist/cjs/angular/core/PerformanceAnalytics.d.ts.map +1 -0
  32. package/dist/cjs/angular/core/PerformanceDashboard.d.ts +60 -0
  33. package/dist/cjs/angular/core/PerformanceDashboard.d.ts.map +1 -0
  34. package/dist/cjs/angular/index.d.ts +4 -0
  35. package/dist/cjs/angular/index.d.ts.map +1 -1
  36. package/dist/cjs/core/AccessibilityManager.d.ts +86 -0
  37. package/dist/cjs/core/AccessibilityManager.d.ts.map +1 -0
  38. package/dist/cjs/core/AnimationManager.d.ts +63 -0
  39. package/dist/cjs/core/AnimationManager.d.ts.map +1 -0
  40. package/dist/cjs/core/PerformanceAnalytics.d.ts +83 -0
  41. package/dist/cjs/core/PerformanceAnalytics.d.ts.map +1 -0
  42. package/dist/cjs/core/PerformanceDashboard.d.ts +60 -0
  43. package/dist/cjs/core/PerformanceDashboard.d.ts.map +1 -0
  44. package/dist/cjs/index.d.ts +4 -0
  45. package/dist/cjs/index.d.ts.map +1 -1
  46. package/dist/cjs/index.js +756 -0
  47. package/dist/cjs/index.js.map +1 -1
  48. package/dist/cjs/svelte/adapters/react/components/PerformanceMonitor.d.ts +10 -0
  49. package/dist/cjs/svelte/adapters/react/components/PerformanceMonitor.d.ts.map +1 -0
  50. package/dist/cjs/svelte/adapters/react/components/index.d.ts +2 -0
  51. package/dist/cjs/svelte/adapters/react/components/index.d.ts.map +1 -1
  52. package/dist/cjs/svelte/core/AccessibilityManager.d.ts +86 -0
  53. package/dist/cjs/svelte/core/AccessibilityManager.d.ts.map +1 -0
  54. package/dist/cjs/svelte/core/AnimationManager.d.ts +63 -0
  55. package/dist/cjs/svelte/core/AnimationManager.d.ts.map +1 -0
  56. package/dist/cjs/svelte/core/PerformanceAnalytics.d.ts +83 -0
  57. package/dist/cjs/svelte/core/PerformanceAnalytics.d.ts.map +1 -0
  58. package/dist/cjs/svelte/core/PerformanceDashboard.d.ts +60 -0
  59. package/dist/cjs/svelte/core/PerformanceDashboard.d.ts.map +1 -0
  60. package/dist/cjs/svelte/index.d.ts +4 -0
  61. package/dist/cjs/svelte/index.d.ts.map +1 -1
  62. package/dist/cjs/vue/adapters/react/components/PerformanceMonitor.d.ts +10 -0
  63. package/dist/cjs/vue/adapters/react/components/PerformanceMonitor.d.ts.map +1 -0
  64. package/dist/cjs/vue/adapters/react/components/index.d.ts +2 -0
  65. package/dist/cjs/vue/adapters/react/components/index.d.ts.map +1 -1
  66. package/dist/cjs/vue/core/AccessibilityManager.d.ts +86 -0
  67. package/dist/cjs/vue/core/AccessibilityManager.d.ts.map +1 -0
  68. package/dist/cjs/vue/core/AnimationManager.d.ts +63 -0
  69. package/dist/cjs/vue/core/AnimationManager.d.ts.map +1 -0
  70. package/dist/cjs/vue/core/PerformanceAnalytics.d.ts +83 -0
  71. package/dist/cjs/vue/core/PerformanceAnalytics.d.ts.map +1 -0
  72. package/dist/cjs/vue/core/PerformanceDashboard.d.ts +60 -0
  73. package/dist/cjs/vue/core/PerformanceDashboard.d.ts.map +1 -0
  74. package/dist/cjs/vue/index.d.ts +4 -0
  75. package/dist/cjs/vue/index.d.ts.map +1 -1
  76. package/dist/esm/adapters/react/adapters/react/components/PerformanceMonitor.d.ts +10 -0
  77. package/dist/esm/adapters/react/adapters/react/components/PerformanceMonitor.d.ts.map +1 -0
  78. package/dist/esm/adapters/react/adapters/react/components/index.d.ts +2 -0
  79. package/dist/esm/adapters/react/adapters/react/components/index.d.ts.map +1 -1
  80. package/dist/esm/adapters/react/components/PerformanceMonitor.d.ts +10 -0
  81. package/dist/esm/adapters/react/components/PerformanceMonitor.d.ts.map +1 -0
  82. package/dist/esm/adapters/react/components/index.d.ts +2 -0
  83. package/dist/esm/adapters/react/components/index.d.ts.map +1 -1
  84. package/dist/esm/adapters/react/core/AccessibilityManager.d.ts +86 -0
  85. package/dist/esm/adapters/react/core/AccessibilityManager.d.ts.map +1 -0
  86. package/dist/esm/adapters/react/core/AnimationManager.d.ts +63 -0
  87. package/dist/esm/adapters/react/core/AnimationManager.d.ts.map +1 -0
  88. package/dist/esm/adapters/react/core/PerformanceAnalytics.d.ts +83 -0
  89. package/dist/esm/adapters/react/core/PerformanceAnalytics.d.ts.map +1 -0
  90. package/dist/esm/adapters/react/core/PerformanceDashboard.d.ts +60 -0
  91. package/dist/esm/adapters/react/core/PerformanceDashboard.d.ts.map +1 -0
  92. package/dist/esm/adapters/react/index.d.ts +4 -0
  93. package/dist/esm/adapters/react/index.d.ts.map +1 -1
  94. package/dist/esm/adapters/react/index.js +282 -1
  95. package/dist/esm/adapters/react/index.js.map +1 -1
  96. package/dist/esm/angular/adapters/react/components/PerformanceMonitor.d.ts +10 -0
  97. package/dist/esm/angular/adapters/react/components/PerformanceMonitor.d.ts.map +1 -0
  98. package/dist/esm/angular/adapters/react/components/index.d.ts +2 -0
  99. package/dist/esm/angular/adapters/react/components/index.d.ts.map +1 -1
  100. package/dist/esm/angular/core/AccessibilityManager.d.ts +86 -0
  101. package/dist/esm/angular/core/AccessibilityManager.d.ts.map +1 -0
  102. package/dist/esm/angular/core/AnimationManager.d.ts +63 -0
  103. package/dist/esm/angular/core/AnimationManager.d.ts.map +1 -0
  104. package/dist/esm/angular/core/PerformanceAnalytics.d.ts +83 -0
  105. package/dist/esm/angular/core/PerformanceAnalytics.d.ts.map +1 -0
  106. package/dist/esm/angular/core/PerformanceDashboard.d.ts +60 -0
  107. package/dist/esm/angular/core/PerformanceDashboard.d.ts.map +1 -0
  108. package/dist/esm/angular/index.d.ts +4 -0
  109. package/dist/esm/angular/index.d.ts.map +1 -1
  110. package/dist/esm/core/AccessibilityManager.d.ts +86 -0
  111. package/dist/esm/core/AccessibilityManager.d.ts.map +1 -0
  112. package/dist/esm/core/AnimationManager.d.ts +63 -0
  113. package/dist/esm/core/AnimationManager.d.ts.map +1 -0
  114. package/dist/esm/core/PerformanceAnalytics.d.ts +83 -0
  115. package/dist/esm/core/PerformanceAnalytics.d.ts.map +1 -0
  116. package/dist/esm/core/PerformanceDashboard.d.ts +60 -0
  117. package/dist/esm/core/PerformanceDashboard.d.ts.map +1 -0
  118. package/dist/esm/index.d.ts +4 -0
  119. package/dist/esm/index.d.ts.map +1 -1
  120. package/dist/esm/index.js +753 -1
  121. package/dist/esm/index.js.map +1 -1
  122. package/dist/esm/svelte/adapters/react/components/PerformanceMonitor.d.ts +10 -0
  123. package/dist/esm/svelte/adapters/react/components/PerformanceMonitor.d.ts.map +1 -0
  124. package/dist/esm/svelte/adapters/react/components/index.d.ts +2 -0
  125. package/dist/esm/svelte/adapters/react/components/index.d.ts.map +1 -1
  126. package/dist/esm/svelte/core/AccessibilityManager.d.ts +86 -0
  127. package/dist/esm/svelte/core/AccessibilityManager.d.ts.map +1 -0
  128. package/dist/esm/svelte/core/AnimationManager.d.ts +63 -0
  129. package/dist/esm/svelte/core/AnimationManager.d.ts.map +1 -0
  130. package/dist/esm/svelte/core/PerformanceAnalytics.d.ts +83 -0
  131. package/dist/esm/svelte/core/PerformanceAnalytics.d.ts.map +1 -0
  132. package/dist/esm/svelte/core/PerformanceDashboard.d.ts +60 -0
  133. package/dist/esm/svelte/core/PerformanceDashboard.d.ts.map +1 -0
  134. package/dist/esm/svelte/index.d.ts +4 -0
  135. package/dist/esm/svelte/index.d.ts.map +1 -1
  136. package/dist/esm/vue/adapters/react/components/PerformanceMonitor.d.ts +10 -0
  137. package/dist/esm/vue/adapters/react/components/PerformanceMonitor.d.ts.map +1 -0
  138. package/dist/esm/vue/adapters/react/components/index.d.ts +2 -0
  139. package/dist/esm/vue/adapters/react/components/index.d.ts.map +1 -1
  140. package/dist/esm/vue/core/AccessibilityManager.d.ts +86 -0
  141. package/dist/esm/vue/core/AccessibilityManager.d.ts.map +1 -0
  142. package/dist/esm/vue/core/AnimationManager.d.ts +63 -0
  143. package/dist/esm/vue/core/AnimationManager.d.ts.map +1 -0
  144. package/dist/esm/vue/core/PerformanceAnalytics.d.ts +83 -0
  145. package/dist/esm/vue/core/PerformanceAnalytics.d.ts.map +1 -0
  146. package/dist/esm/vue/core/PerformanceDashboard.d.ts +60 -0
  147. package/dist/esm/vue/core/PerformanceDashboard.d.ts.map +1 -0
  148. package/dist/esm/vue/index.d.ts +4 -0
  149. package/dist/esm/vue/index.d.ts.map +1 -1
  150. package/dist/index.d.ts +289 -1
  151. package/package.json +1 -1
package/dist/index.d.ts CHANGED
@@ -1064,6 +1064,294 @@ declare class IntelligentPagination {
1064
1064
  getCurrentPage(): number;
1065
1065
  }
1066
1066
 
1067
+ /**
1068
+ * Performance Analytics Engine
1069
+ * Tracks render time, memory usage, and network performance
1070
+ */
1071
+ interface PerformanceMetrics {
1072
+ renderTime: {
1073
+ average: number;
1074
+ min: number;
1075
+ max: number;
1076
+ count: number;
1077
+ };
1078
+ memoryUsage: {
1079
+ current: number;
1080
+ peak: number;
1081
+ trend: 'increasing' | 'stable' | 'decreasing';
1082
+ };
1083
+ networkPerformance: {
1084
+ averageLatency: number;
1085
+ averageSpeed: number;
1086
+ failedRequests: number;
1087
+ };
1088
+ scrollPerformance: {
1089
+ averageFPS: number;
1090
+ droppedFrames: number;
1091
+ jankCount: number;
1092
+ };
1093
+ }
1094
+ declare class PerformanceAnalytics {
1095
+ private renderTimeHistory;
1096
+ private memoryHistory;
1097
+ private networkLatencyHistory;
1098
+ private frameTimestamps;
1099
+ private droppedFrames;
1100
+ private jankCount;
1101
+ private readonly MAX_HISTORY;
1102
+ private readonly JANK_THRESHOLD;
1103
+ /**
1104
+ * Track render time for an item
1105
+ */
1106
+ trackRenderTime(renderTime: number): void;
1107
+ /**
1108
+ * Track memory usage
1109
+ */
1110
+ trackMemoryUsage(memoryMB: number): void;
1111
+ /**
1112
+ * Track network request latency
1113
+ */
1114
+ trackNetworkLatency(latency: number): void;
1115
+ /**
1116
+ * Track frame timing for FPS calculation
1117
+ */
1118
+ trackFrame(): void;
1119
+ /**
1120
+ * Get current FPS
1121
+ */
1122
+ getCurrentFPS(): number;
1123
+ /**
1124
+ * Get comprehensive performance metrics
1125
+ */
1126
+ getMetrics(): PerformanceMetrics;
1127
+ /**
1128
+ * Get average from array
1129
+ */
1130
+ private getAverage;
1131
+ /**
1132
+ * Get trend from array
1133
+ */
1134
+ private getTrend;
1135
+ /**
1136
+ * Reset all metrics
1137
+ */
1138
+ reset(): void;
1139
+ /**
1140
+ * Get performance score (0-100)
1141
+ */
1142
+ getPerformanceScore(): number;
1143
+ /**
1144
+ * Get optimization recommendations
1145
+ */
1146
+ getRecommendations(): string[];
1147
+ }
1148
+
1149
+ /**
1150
+ * Performance Dashboard
1151
+ * Real-time performance monitoring and bottleneck identification
1152
+ */
1153
+
1154
+ interface DashboardData {
1155
+ overallScore: number;
1156
+ fps: number;
1157
+ renderTime: number;
1158
+ memoryUsage: number;
1159
+ networkLatency: number;
1160
+ recommendations: string[];
1161
+ bottlenecks: string[];
1162
+ }
1163
+ declare class PerformanceDashboard {
1164
+ private analytics;
1165
+ private updateInterval;
1166
+ private listeners;
1167
+ private intervalId;
1168
+ private isMonitoring;
1169
+ constructor(analytics: PerformanceAnalytics);
1170
+ /**
1171
+ * Start real-time monitoring
1172
+ */
1173
+ startMonitoring(): void;
1174
+ /**
1175
+ * Stop monitoring
1176
+ */
1177
+ stopMonitoring(): void;
1178
+ /**
1179
+ * Get current dashboard data
1180
+ */
1181
+ getDashboardData(): DashboardData;
1182
+ /**
1183
+ * Identify performance bottlenecks
1184
+ */
1185
+ private identifyBottlenecks;
1186
+ /**
1187
+ * Add listener for dashboard updates
1188
+ */
1189
+ addListener(callback: (data: DashboardData) => void): void;
1190
+ /**
1191
+ * Remove listener
1192
+ */
1193
+ removeListener(callback: (data: DashboardData) => void): void;
1194
+ /**
1195
+ * Notify all listeners
1196
+ */
1197
+ private notifyListeners;
1198
+ /**
1199
+ * Export metrics as JSON
1200
+ */
1201
+ exportMetrics(): string;
1202
+ /**
1203
+ * Get performance report
1204
+ */
1205
+ getPerformanceReport(): string;
1206
+ }
1207
+
1208
+ /**
1209
+ * Accessibility Manager
1210
+ * Handles keyboard navigation, screen reader compatibility, and ARIA attributes
1211
+ */
1212
+ interface AccessibilityConfig {
1213
+ enableKeyboardNav: boolean;
1214
+ enableScreenReader: boolean;
1215
+ enableARIA: boolean;
1216
+ }
1217
+ declare class AccessibilityManager {
1218
+ private config;
1219
+ private focusedIndex;
1220
+ private containerElement;
1221
+ private itemElements;
1222
+ constructor(config?: Partial<AccessibilityConfig>);
1223
+ /**
1224
+ * Initialize accessibility features
1225
+ */
1226
+ initialize(container: HTMLElement): void;
1227
+ /**
1228
+ * Setup ARIA attributes
1229
+ */
1230
+ private setupARIA;
1231
+ /**
1232
+ * Setup keyboard navigation
1233
+ */
1234
+ private setupKeyboardNav;
1235
+ /**
1236
+ * Handle keyboard events
1237
+ */
1238
+ private handleKeyDown;
1239
+ /**
1240
+ * Focus next item
1241
+ */
1242
+ private focusNext;
1243
+ /**
1244
+ * Focus previous item
1245
+ */
1246
+ private focusPrevious;
1247
+ /**
1248
+ * Focus first item
1249
+ */
1250
+ private focusFirst;
1251
+ /**
1252
+ * Focus last item
1253
+ */
1254
+ private focusLast;
1255
+ /**
1256
+ * Focus page down (10 items)
1257
+ */
1258
+ private focusPageDown;
1259
+ /**
1260
+ * Focus page up (10 items)
1261
+ */
1262
+ private focusPageUp;
1263
+ /**
1264
+ * Focus specific item
1265
+ */
1266
+ private focusItem;
1267
+ /**
1268
+ * Setup screen reader support
1269
+ */
1270
+ private setupScreenReader;
1271
+ /**
1272
+ * Announce message to screen readers
1273
+ */
1274
+ private announce;
1275
+ /**
1276
+ * Update item elements
1277
+ */
1278
+ updateItems(elements: HTMLElement[]): void;
1279
+ /**
1280
+ * Set focused index from outside
1281
+ */
1282
+ setFocusedIndex(index: number): void;
1283
+ /**
1284
+ * Get current focused index
1285
+ */
1286
+ getFocusedIndex(): number;
1287
+ /**
1288
+ * Cleanup accessibility features
1289
+ */
1290
+ cleanup(): void;
1291
+ }
1292
+
1293
+ /**
1294
+ * Animation Manager
1295
+ * Handles smooth transitions, staggered animations, and performance-optimized animations
1296
+ */
1297
+ interface AnimationConfig {
1298
+ enableTransitions: boolean;
1299
+ enableStagger: boolean;
1300
+ staggerDelay: number;
1301
+ transitionDuration: number;
1302
+ easingFunction: string;
1303
+ }
1304
+ declare class AnimationManager {
1305
+ private config;
1306
+ private activeAnimations;
1307
+ private prefersReducedMotion;
1308
+ constructor(config?: Partial<AnimationConfig>);
1309
+ /**
1310
+ * Animate item entrance
1311
+ */
1312
+ animateEntrance(element: HTMLElement, index: number): Promise<void>;
1313
+ /**
1314
+ * Animate item exit
1315
+ */
1316
+ animateExit(element: HTMLElement): Promise<void>;
1317
+ /**
1318
+ * Animate scroll indicator
1319
+ */
1320
+ animateScrollIndicator(element: HTMLElement, direction: 'up' | 'down'): void;
1321
+ /**
1322
+ * Smooth scroll to position
1323
+ */
1324
+ smoothScroll(container: HTMLElement, targetPosition: number, duration?: number): Promise<void>;
1325
+ /**
1326
+ * Animate loading skeleton
1327
+ */
1328
+ animateSkeleton(element: HTMLElement): void;
1329
+ /**
1330
+ * Stop skeleton animation
1331
+ */
1332
+ stopSkeletonAnimation(element: HTMLElement): void;
1333
+ /**
1334
+ * Animate item highlight
1335
+ */
1336
+ animateHighlight(element: HTMLElement, color?: string, duration?: number): Promise<void>;
1337
+ /**
1338
+ * Batch animate multiple elements
1339
+ */
1340
+ batchAnimate(elements: HTMLElement[], animation: 'entrance' | 'exit'): Promise<void>;
1341
+ /**
1342
+ * Cancel active animations
1343
+ */
1344
+ cancelAnimations(): void;
1345
+ /**
1346
+ * Check if reduced motion is preferred
1347
+ */
1348
+ hasReducedMotion(): boolean;
1349
+ /**
1350
+ * Update animation config
1351
+ */
1352
+ updateConfig(config: Partial<AnimationConfig>): void;
1353
+ }
1354
+
1067
1355
  declare class ScrollObserver {
1068
1356
  private container;
1069
1357
  private callback;
@@ -1267,5 +1555,5 @@ declare class LazyScrollElementClass {
1267
1555
  }
1268
1556
  declare const LazyScrollElement: typeof LazyScrollElementClass;
1269
1557
 
1270
- export { AdaptiveBufferCalculator, BatchSizeOptimizer, ContentComplexityAnalyzer, DevicePerformanceMonitor, DynamicHeightEngine, Engine, GPUAccelerator, HeightMeasurementCache, IntelligentPagination, IntelligentScrollDetector, LazyList, LazyScroll, LazyScrollElement, MemoryManager, NetworkAwarePrefetchManager, NetworkAwareRequestQueue, NetworkSpeedDetector, PerformanceOptimizer, PreemptiveCache, PrefetchManager, Priority, PriorityRequestQueue, RequestDeduplicator, RequestQueue, ScrollObserver, SmartPrefetchAlgorithm, VariableHeightManager, WindowManager, createLazyScroll, debounce, throttle, useLazyList };
1558
+ export { AccessibilityManager, AdaptiveBufferCalculator, AnimationManager, BatchSizeOptimizer, ContentComplexityAnalyzer, DevicePerformanceMonitor, DynamicHeightEngine, Engine, GPUAccelerator, HeightMeasurementCache, IntelligentPagination, IntelligentScrollDetector, LazyList, LazyScroll, LazyScrollElement, MemoryManager, NetworkAwarePrefetchManager, NetworkAwareRequestQueue, NetworkSpeedDetector, PerformanceAnalytics, PerformanceDashboard, PerformanceOptimizer, PreemptiveCache, PrefetchManager, Priority, PriorityRequestQueue, RequestDeduplicator, RequestQueue, ScrollObserver, SmartPrefetchAlgorithm, VariableHeightManager, WindowManager, createLazyScroll, debounce, throttle, useLazyList };
1271
1559
  export type { EngineConfig, EngineState, FetchMoreCallback, ScrollAnalysis, VisibleRange };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lazy-render-virtual-scroll",
3
- "version": "1.12.0",
3
+ "version": "1.13.0",
4
4
  "description": "A framework-agnostic virtual scrolling and lazy rendering solution",
5
5
  "main": "dist/cjs/index.js",
6
6
  "module": "dist/esm/index.js",