@revealui/core 0.3.0 → 0.5.2

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 (155) hide show
  1. package/dist/client/admin/components/AdminDashboard.d.ts.map +1 -1
  2. package/dist/client/admin/components/AdminDashboard.js +20 -3
  3. package/dist/client/richtext/index.d.ts.map +1 -1
  4. package/dist/client/richtext/plugins/FloatingToolbarPlugin.js +1 -3
  5. package/dist/collections/operations/create.d.ts +2 -1
  6. package/dist/collections/operations/create.d.ts.map +1 -1
  7. package/dist/collections/operations/create.js +28 -1
  8. package/dist/database/type-adapter.d.ts.map +1 -1
  9. package/dist/features.d.ts +13 -3
  10. package/dist/features.d.ts.map +1 -1
  11. package/dist/features.js +17 -0
  12. package/dist/globals/GlobalOperations.d.ts.map +1 -1
  13. package/dist/globals/GlobalOperations.js +12 -2
  14. package/dist/index.d.ts +11 -0
  15. package/dist/index.d.ts.map +1 -1
  16. package/dist/index.js +11 -1
  17. package/dist/license.d.ts +6 -0
  18. package/dist/license.d.ts.map +1 -1
  19. package/dist/license.js +14 -1
  20. package/dist/monitoring/alerts.d.ts +4 -4
  21. package/dist/monitoring/alerts.d.ts.map +1 -1
  22. package/dist/plugins/nested-docs.d.ts.map +1 -1
  23. package/dist/plugins/nested-docs.js +0 -1
  24. package/dist/queries/queryBuilder.d.ts.map +1 -1
  25. package/dist/queries/queryBuilder.js +4 -3
  26. package/dist/richtext/index.d.ts.map +1 -1
  27. package/dist/storage/vercel-blob.d.ts.map +1 -1
  28. package/dist/storage/vercel-blob.js +3 -0
  29. package/dist/types/api.d.ts.map +1 -1
  30. package/dist/types/config.d.ts.map +1 -1
  31. package/dist/types/core.d.ts +1 -1
  32. package/dist/types/core.d.ts.map +1 -1
  33. package/dist/types/extensions.d.ts.map +1 -1
  34. package/dist/types/frontend.d.ts.map +1 -1
  35. package/dist/types/legacy.d.ts.map +1 -1
  36. package/dist/types/query.d.ts.map +1 -1
  37. package/dist/types/runtime.d.ts +1 -0
  38. package/dist/types/runtime.d.ts.map +1 -1
  39. package/dist/utils/error-responses.d.ts.map +1 -1
  40. package/dist/utils/error-responses.js +2 -3
  41. package/package.json +24 -24
  42. package/dist/caching/app-cache.d.ts +0 -242
  43. package/dist/caching/app-cache.d.ts.map +0 -1
  44. package/dist/caching/app-cache.js +0 -438
  45. package/dist/caching/cdn-config.d.ts +0 -155
  46. package/dist/caching/cdn-config.d.ts.map +0 -1
  47. package/dist/caching/cdn-config.js +0 -415
  48. package/dist/caching/edge-cache.d.ts +0 -177
  49. package/dist/caching/edge-cache.d.ts.map +0 -1
  50. package/dist/caching/edge-cache.js +0 -414
  51. package/dist/caching/service-worker.d.ts +0 -157
  52. package/dist/caching/service-worker.d.ts.map +0 -1
  53. package/dist/caching/service-worker.js +0 -438
  54. package/dist/client/admin/utils/auth.d.ts +0 -23
  55. package/dist/client/admin/utils/auth.d.ts.map +0 -1
  56. package/dist/client/admin/utils/auth.js +0 -52
  57. package/dist/client/http/client.d.ts +0 -15
  58. package/dist/client/http/client.d.ts.map +0 -1
  59. package/dist/client/http/client.js +0 -49
  60. package/dist/client/http/fetchBanner.d.ts +0 -18
  61. package/dist/client/http/fetchBanner.d.ts.map +0 -1
  62. package/dist/client/http/fetchBanner.js +0 -44
  63. package/dist/client/http/fetchCard.d.ts +0 -18
  64. package/dist/client/http/fetchCard.d.ts.map +0 -1
  65. package/dist/client/http/fetchCard.js +0 -46
  66. package/dist/client/http/fetchEvents.d.ts +0 -18
  67. package/dist/client/http/fetchEvents.d.ts.map +0 -1
  68. package/dist/client/http/fetchEvents.js +0 -44
  69. package/dist/client/http/fetchHero.d.ts +0 -17
  70. package/dist/client/http/fetchHero.d.ts.map +0 -1
  71. package/dist/client/http/fetchHero.js +0 -55
  72. package/dist/client/http/fetchMainInfos.d.ts +0 -17
  73. package/dist/client/http/fetchMainInfos.d.ts.map +0 -1
  74. package/dist/client/http/fetchMainInfos.js +0 -44
  75. package/dist/client/http/fetchVideos.d.ts +0 -13
  76. package/dist/client/http/fetchVideos.d.ts.map +0 -1
  77. package/dist/client/http/fetchVideos.js +0 -36
  78. package/dist/client/http/index.d.ts +0 -19
  79. package/dist/client/http/index.d.ts.map +0 -1
  80. package/dist/client/http/index.js +0 -11
  81. package/dist/error-handling/circuit-breaker.d.ts +0 -262
  82. package/dist/error-handling/circuit-breaker.d.ts.map +0 -1
  83. package/dist/error-handling/circuit-breaker.js +0 -550
  84. package/dist/error-handling/retry.d.ts +0 -194
  85. package/dist/error-handling/retry.d.ts.map +0 -1
  86. package/dist/error-handling/retry.js +0 -455
  87. package/dist/errors/index.d.ts +0 -23
  88. package/dist/errors/index.d.ts.map +0 -1
  89. package/dist/errors/index.js +0 -40
  90. package/dist/generated/agents/index.d.ts +0 -8
  91. package/dist/generated/agents/index.d.ts.map +0 -1
  92. package/dist/generated/agents/index.js +0 -7
  93. package/dist/generated/components/index.d.ts +0 -8
  94. package/dist/generated/components/index.d.ts.map +0 -1
  95. package/dist/generated/components/index.js +0 -7
  96. package/dist/generated/functions/index.d.ts +0 -8
  97. package/dist/generated/functions/index.d.ts.map +0 -1
  98. package/dist/generated/functions/index.js +0 -7
  99. package/dist/generated/hooks/index.d.ts +0 -8
  100. package/dist/generated/hooks/index.d.ts.map +0 -1
  101. package/dist/generated/hooks/index.js +0 -7
  102. package/dist/generated/plans/index.d.ts +0 -8
  103. package/dist/generated/plans/index.d.ts.map +0 -1
  104. package/dist/generated/plans/index.js +0 -7
  105. package/dist/generated/prompts/index.d.ts +0 -8
  106. package/dist/generated/prompts/index.d.ts.map +0 -1
  107. package/dist/generated/prompts/index.js +0 -7
  108. package/dist/generated/tools/index.d.ts +0 -8
  109. package/dist/generated/tools/index.d.ts.map +0 -1
  110. package/dist/generated/tools/index.js +0 -7
  111. package/dist/generated/types/supabase.d.ts +0 -193
  112. package/dist/generated/types/supabase.d.ts.map +0 -1
  113. package/dist/generated/types/supabase.js +0 -5
  114. package/dist/optimization/asset-optimizer.d.ts +0 -206
  115. package/dist/optimization/asset-optimizer.d.ts.map +0 -1
  116. package/dist/optimization/asset-optimizer.js +0 -336
  117. package/dist/optimization/build-optimizer.d.ts +0 -202
  118. package/dist/optimization/build-optimizer.d.ts.map +0 -1
  119. package/dist/optimization/build-optimizer.js +0 -271
  120. package/dist/optimization/bundle-analyzer.d.ts +0 -98
  121. package/dist/optimization/bundle-analyzer.d.ts.map +0 -1
  122. package/dist/optimization/bundle-analyzer.js +0 -346
  123. package/dist/optimization/code-splitting.d.ts +0 -121
  124. package/dist/optimization/code-splitting.d.ts.map +0 -1
  125. package/dist/optimization/code-splitting.js +0 -261
  126. package/dist/plugin/index.d.ts +0 -12
  127. package/dist/plugin/index.d.ts.map +0 -1
  128. package/dist/plugin/index.js +0 -4
  129. package/dist/security/audit.d.ts +0 -188
  130. package/dist/security/audit.d.ts.map +0 -1
  131. package/dist/security/audit.js +0 -433
  132. package/dist/security/auth.d.ts +0 -110
  133. package/dist/security/auth.d.ts.map +0 -1
  134. package/dist/security/auth.js +0 -257
  135. package/dist/security/authorization.d.ts +0 -211
  136. package/dist/security/authorization.d.ts.map +0 -1
  137. package/dist/security/authorization.js +0 -492
  138. package/dist/security/encryption.d.ts +0 -226
  139. package/dist/security/encryption.d.ts.map +0 -1
  140. package/dist/security/encryption.js +0 -534
  141. package/dist/security/gdpr-storage.d.ts +0 -102
  142. package/dist/security/gdpr-storage.d.ts.map +0 -1
  143. package/dist/security/gdpr-storage.js +0 -65
  144. package/dist/security/gdpr.d.ts +0 -320
  145. package/dist/security/gdpr.d.ts.map +0 -1
  146. package/dist/security/gdpr.js +0 -531
  147. package/dist/security/headers.d.ts +0 -184
  148. package/dist/security/headers.d.ts.map +0 -1
  149. package/dist/security/headers.js +0 -420
  150. package/dist/utils/jwt-validation.d.ts +0 -14
  151. package/dist/utils/jwt-validation.d.ts.map +0 -1
  152. package/dist/utils/jwt-validation.js +0 -36
  153. package/dist/utils/request-headers.d.ts +0 -15
  154. package/dist/utils/request-headers.d.ts.map +0 -1
  155. package/dist/utils/request-headers.js +0 -31
@@ -1,271 +0,0 @@
1
- /**
2
- * Build Performance Optimization
3
- *
4
- * Utilities for optimizing build performance and configuration
5
- */
6
- export const DEFAULT_NEXT_CONFIG = {
7
- compiler: {
8
- removeConsole: {
9
- exclude: ['error', 'warn'],
10
- },
11
- },
12
- swcMinify: true,
13
- outputFileTracing: true,
14
- experimental: {
15
- optimizeCss: true,
16
- optimizePackageImports: ['lodash', 'date-fns', 'recharts', '@radix-ui/react-icons'],
17
- },
18
- productionBrowserSourceMaps: false,
19
- generateEtags: true,
20
- poweredByHeader: false,
21
- compress: true,
22
- };
23
- export const DEFAULT_WEBPACK_CONFIG = {
24
- minimize: true,
25
- splitChunks: {
26
- chunks: 'all',
27
- minSize: 20000,
28
- maxSize: 244000,
29
- minChunks: 1,
30
- maxAsyncRequests: 30,
31
- maxInitialRequests: 30,
32
- cacheGroups: {
33
- defaultVendors: {
34
- test: /[\\/]node_modules[\\/]/,
35
- priority: -10,
36
- reuseExistingChunk: true,
37
- },
38
- default: {
39
- minChunks: 2,
40
- priority: -20,
41
- reuseExistingChunk: true,
42
- },
43
- },
44
- },
45
- runtimeChunk: 'single',
46
- moduleIds: 'deterministic',
47
- chunkIds: 'deterministic',
48
- concatenateModules: true,
49
- usedExports: true,
50
- sideEffects: true,
51
- providedExports: true,
52
- innerGraph: true,
53
- };
54
- export const DEFAULT_TURBOPACK_CONFIG = {
55
- resolveExtensions: ['.tsx', '.ts', '.jsx', '.js', '.json'],
56
- resolveAlias: {
57
- '@': './src',
58
- '@components': './src/components',
59
- '@lib': './src/lib',
60
- '@utils': './src/utils',
61
- },
62
- };
63
- export const DEFAULT_CACHE_CONFIG = {
64
- type: 'filesystem',
65
- cacheDirectory: '.next/cache',
66
- compression: 'gzip',
67
- maxAge: 1000 * 60 * 60 * 24 * 7, // 1 week
68
- };
69
- export const DEFAULT_TREE_SHAKING_CONFIG = {
70
- usedExports: true,
71
- sideEffects: true,
72
- providedExports: true,
73
- innerGraph: true,
74
- mangleExports: true,
75
- };
76
- /**
77
- * Generate package.json sideEffects field
78
- */
79
- export function generateSideEffectsConfig(includeCSS = true) {
80
- if (!includeCSS) {
81
- return false;
82
- }
83
- return ['*.css', '*.scss', '*.sass', '*.less'];
84
- }
85
- export const DEFAULT_MODULE_RESOLUTION = {
86
- extensions: ['.tsx', '.ts', '.jsx', '.js', '.json'],
87
- alias: {
88
- '@': './src',
89
- '@components': './src/components',
90
- '@lib': './src/lib',
91
- '@utils': './src/utils',
92
- '@hooks': './src/hooks',
93
- '@types': './src/types',
94
- },
95
- modules: ['node_modules'],
96
- symlinks: true,
97
- fullySpecified: false,
98
- };
99
- export const DEFAULT_PARALLEL_CONFIG = {
100
- parallel: true,
101
- cache: true,
102
- threads: 4,
103
- };
104
- export const DEFAULT_PERFORMANCE_CONFIG = {
105
- hints: 'warning',
106
- maxEntrypointSize: 250000, // 250KB
107
- maxAssetSize: 250000,
108
- assetFilter: (assetFilename) => {
109
- return !assetFilename.endsWith('.map');
110
- },
111
- };
112
- /**
113
- * Analyze build performance
114
- */
115
- export function analyzeBuildPerformance(stats) {
116
- const issues = [];
117
- let score = 100;
118
- // Check build duration
119
- if (stats.duration > 60000) {
120
- issues.push({
121
- type: 'warning',
122
- message: `Build time (${(stats.duration / 1000).toFixed(1)}s) is slow. Consider parallel builds.`,
123
- });
124
- score -= 10;
125
- }
126
- // Check output size
127
- if (stats.outputSize > 1024 * 1024) {
128
- issues.push({
129
- type: 'warning',
130
- message: `Output size (${(stats.outputSize / 1024 / 1024).toFixed(1)}MB) is large. Consider code splitting.`,
131
- });
132
- score -= 15;
133
- }
134
- // Check for large assets
135
- const largeAssets = stats.assets.filter((a) => a.size > 250000);
136
- if (largeAssets.length > 0) {
137
- issues.push({
138
- type: 'warning',
139
- message: `${largeAssets.length} assets exceed 250KB. Consider optimization.`,
140
- });
141
- score -= 10;
142
- }
143
- // Check for errors
144
- if (stats.errors.length > 0) {
145
- issues.push({
146
- type: 'error',
147
- message: `${stats.errors.length} build errors found.`,
148
- });
149
- score -= 30;
150
- }
151
- // Check for warnings
152
- if (stats.warnings.length > 5) {
153
- issues.push({
154
- type: 'warning',
155
- message: `${stats.warnings.length} build warnings found.`,
156
- });
157
- score -= 5;
158
- }
159
- return {
160
- score: Math.max(0, score),
161
- issues,
162
- };
163
- }
164
- /**
165
- * Generate tsconfig for optimal builds
166
- */
167
- export function generateOptimizedTSConfig() {
168
- return {
169
- compilerOptions: {
170
- target: 'ES2020',
171
- lib: ['ES2020', 'DOM', 'DOM.Iterable'],
172
- module: 'ESNext',
173
- moduleResolution: 'bundler',
174
- resolveJsonModule: true,
175
- isolatedModules: true,
176
- jsx: 'preserve',
177
- incremental: true,
178
- strict: true,
179
- esModuleInterop: true,
180
- skipLibCheck: true,
181
- forceConsistentCasingInFileNames: true,
182
- noEmit: true,
183
- paths: {
184
- '@/*': ['./src/*'],
185
- '@components/*': ['./src/components/*'],
186
- '@lib/*': ['./src/lib/*'],
187
- '@utils/*': ['./src/utils/*'],
188
- },
189
- },
190
- };
191
- }
192
- export function shouldPrebuildDependency(packageName, config = {}) {
193
- const { include = [], exclude = [] } = config;
194
- if (exclude.includes(packageName)) {
195
- return false;
196
- }
197
- if (include.length > 0) {
198
- return include.includes(packageName);
199
- }
200
- // Prebuild large, stable dependencies by default
201
- const prebuildByDefault = ['react', 'react-dom', 'lodash', 'date-fns', 'zod', '@radix-ui'];
202
- return prebuildByDefault.some((pkg) => packageName.startsWith(pkg));
203
- }
204
- export class BuildProfiler {
205
- profiles = new Map();
206
- stack = [];
207
- start(name) {
208
- const profile = {
209
- name,
210
- startTime: Date.now(),
211
- children: [],
212
- };
213
- if (this.stack.length > 0) {
214
- const parentName = this.stack[this.stack.length - 1];
215
- if (parentName) {
216
- const parent = this.profiles.get(parentName);
217
- if (parent) {
218
- parent.children.push(profile);
219
- }
220
- }
221
- }
222
- this.profiles.set(name, profile);
223
- this.stack.push(name);
224
- }
225
- end(name) {
226
- const profile = this.profiles.get(name);
227
- if (profile) {
228
- profile.endTime = Date.now();
229
- profile.duration = profile.endTime - profile.startTime;
230
- }
231
- const index = this.stack.indexOf(name);
232
- if (index !== -1) {
233
- this.stack.splice(index, 1);
234
- }
235
- }
236
- getProfile(name) {
237
- return this.profiles.get(name);
238
- }
239
- getAllProfiles() {
240
- return Array.from(this.profiles.values()).filter((p) => p.endTime !== undefined);
241
- }
242
- getSlowestProfiles(limit = 10) {
243
- return this.getAllProfiles()
244
- .sort((a, b) => (b.duration || 0) - (a.duration || 0))
245
- .slice(0, limit);
246
- }
247
- reset() {
248
- this.profiles.clear();
249
- this.stack = [];
250
- }
251
- }
252
- /**
253
- * Build optimization recommendations
254
- */
255
- export function getBuildOptimizationRecommendations(stats) {
256
- const recommendations = [];
257
- if (stats.duration > 30000) {
258
- recommendations.push('Enable parallel builds with --parallel flag', 'Use build cache with filesystem caching', 'Consider using Turbopack for faster builds');
259
- }
260
- if (stats.outputSize > 500000) {
261
- recommendations.push('Enable code splitting for better chunking', 'Use dynamic imports for large components', 'Enable tree shaking in production');
262
- }
263
- const largeAssets = stats.assets.filter((a) => a.size > 250000);
264
- if (largeAssets.length > 0) {
265
- recommendations.push('Compress large assets with gzip/brotli', 'Optimize images using next/image', 'Split large vendor bundles');
266
- }
267
- if (stats.chunks.length > 100) {
268
- recommendations.push('Too many chunks - adjust splitChunks configuration', 'Increase minSize and minChunks thresholds');
269
- }
270
- return recommendations;
271
- }
@@ -1,98 +0,0 @@
1
- /**
2
- * Bundle Analyzer
3
- *
4
- * Analyzes bundle size, dependencies, and optimization opportunities
5
- */
6
- export interface BundleStats {
7
- totalSize: number;
8
- gzipSize?: number;
9
- files: BundleFile[];
10
- chunks: BundleChunk[];
11
- dependencies: DependencyStats[];
12
- duplicates: DuplicateModule[];
13
- largeFiles: BundleFile[];
14
- }
15
- export interface BundleFile {
16
- path: string;
17
- size: number;
18
- gzipSize?: number;
19
- type: string;
20
- relativeSize: number;
21
- }
22
- export interface BundleChunk {
23
- name: string;
24
- size: number;
25
- files: string[];
26
- dependencies: string[];
27
- }
28
- export interface DependencyStats {
29
- name: string;
30
- version: string;
31
- size: number;
32
- instances: number;
33
- treeshakeable: boolean;
34
- }
35
- export interface DuplicateModule {
36
- name: string;
37
- versions: string[];
38
- totalSize: number;
39
- locations: string[];
40
- }
41
- /**
42
- * Analyze bundle directory
43
- */
44
- export declare function analyzeBundleDirectory(bundlePath: string): BundleStats;
45
- /**
46
- * Format file size
47
- */
48
- export declare function formatSize(bytes: number): string;
49
- /**
50
- * Analyze webpack stats
51
- */
52
- export declare function analyzeWebpackStats(statsPath: string): BundleStats;
53
- /**
54
- * Find duplicate dependencies
55
- */
56
- export declare function findDuplicateDependencies(stats: BundleStats): DuplicateModule[];
57
- /**
58
- * Get optimization suggestions
59
- */
60
- export interface OptimizationSuggestion {
61
- type: 'bundle-split' | 'tree-shaking' | 'dynamic-import' | 'compression' | 'dependency';
62
- severity: 'critical' | 'warning' | 'info';
63
- message: string;
64
- potentialSavings?: number;
65
- file?: string;
66
- }
67
- export declare function getOptimizationSuggestions(stats: BundleStats): OptimizationSuggestion[];
68
- /**
69
- * Generate bundle report
70
- */
71
- export declare function generateBundleReport(stats: BundleStats): string;
72
- /**
73
- * Compare two bundle stats
74
- */
75
- export interface BundleComparison {
76
- sizeDiff: number;
77
- sizeChangePercent: number;
78
- filesAdded: number;
79
- filesRemoved: number;
80
- filesChanged: number;
81
- newLargeFiles: BundleFile[];
82
- improvements: string[];
83
- regressions: string[];
84
- }
85
- export declare function compareBundles(before: BundleStats, after: BundleStats): BundleComparison;
86
- /**
87
- * Get bundle health score (0-100)
88
- */
89
- export declare function getBundleHealthScore(stats: BundleStats): {
90
- score: number;
91
- factors: Array<{
92
- name: string;
93
- score: number;
94
- weight: number;
95
- reason: string;
96
- }>;
97
- };
98
- //# sourceMappingURL=bundle-analyzer.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"bundle-analyzer.d.ts","sourceRoot":"","sources":["../../src/optimization/bundle-analyzer.ts"],"names":[],"mappings":"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"}