shaka-bundle-size 0.0.10 → 0.0.12

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 (72) hide show
  1. package/dist/BaselineStorage.d.ts +6 -2
  2. package/dist/BaselineStorage.d.ts.map +1 -1
  3. package/dist/BaselineStorage.js +6 -1
  4. package/dist/BaselineStorage.js.map +1 -1
  5. package/dist/SourceMapGenerator.d.ts.map +1 -1
  6. package/dist/SourceMapGenerator.js +3 -1
  7. package/dist/SourceMapGenerator.js.map +1 -1
  8. package/dist/WebpackStatsReader.js +1 -1
  9. package/dist/WebpackStatsReader.js.map +1 -1
  10. package/dist/__tests__/BaselineComparator.test.d.ts +2 -0
  11. package/dist/__tests__/BaselineComparator.test.d.ts.map +1 -0
  12. package/dist/__tests__/BaselineComparator.test.js +269 -0
  13. package/dist/__tests__/BaselineComparator.test.js.map +1 -0
  14. package/dist/__tests__/BaselineStorage.test.d.ts +2 -0
  15. package/dist/__tests__/BaselineStorage.test.d.ts.map +1 -0
  16. package/dist/__tests__/BaselineStorage.test.js +145 -0
  17. package/dist/__tests__/BaselineStorage.test.js.map +1 -0
  18. package/dist/__tests__/BaselineWriter.test.d.ts +2 -0
  19. package/dist/__tests__/BaselineWriter.test.d.ts.map +1 -0
  20. package/dist/__tests__/BaselineWriter.test.js +169 -0
  21. package/dist/__tests__/BaselineWriter.test.js.map +1 -0
  22. package/dist/__tests__/BundleSizeChecker.test.d.ts +2 -0
  23. package/dist/__tests__/BundleSizeChecker.test.d.ts.map +1 -0
  24. package/dist/__tests__/BundleSizeChecker.test.js +276 -0
  25. package/dist/__tests__/BundleSizeChecker.test.js.map +1 -0
  26. package/dist/__tests__/ExtendedStatsGenerator.test.d.ts +2 -0
  27. package/dist/__tests__/ExtendedStatsGenerator.test.d.ts.map +1 -0
  28. package/dist/__tests__/ExtendedStatsGenerator.test.js +118 -0
  29. package/dist/__tests__/ExtendedStatsGenerator.test.js.map +1 -0
  30. package/dist/__tests__/HtmlDiffGenerator.test.d.ts +2 -0
  31. package/dist/__tests__/HtmlDiffGenerator.test.d.ts.map +1 -0
  32. package/dist/__tests__/HtmlDiffGenerator.test.js +283 -0
  33. package/dist/__tests__/HtmlDiffGenerator.test.js.map +1 -0
  34. package/dist/__tests__/RegressionDetector.test.d.ts +2 -0
  35. package/dist/__tests__/RegressionDetector.test.d.ts.map +1 -0
  36. package/dist/__tests__/RegressionDetector.test.js +227 -0
  37. package/dist/__tests__/RegressionDetector.test.js.map +1 -0
  38. package/dist/__tests__/Reporter.test.d.ts +2 -0
  39. package/dist/__tests__/Reporter.test.d.ts.map +1 -0
  40. package/dist/__tests__/Reporter.test.js +359 -0
  41. package/dist/__tests__/Reporter.test.js.map +1 -0
  42. package/dist/__tests__/SizeCalculator.test.d.ts +2 -0
  43. package/dist/__tests__/SizeCalculator.test.d.ts.map +1 -0
  44. package/dist/__tests__/SizeCalculator.test.js +172 -0
  45. package/dist/__tests__/SizeCalculator.test.js.map +1 -0
  46. package/dist/__tests__/SourceMapGenerator.test.d.ts +2 -0
  47. package/dist/__tests__/SourceMapGenerator.test.d.ts.map +1 -0
  48. package/dist/__tests__/SourceMapGenerator.test.js +242 -0
  49. package/dist/__tests__/SourceMapGenerator.test.js.map +1 -0
  50. package/dist/__tests__/WebpackStatsReader.test.d.ts +2 -0
  51. package/dist/__tests__/WebpackStatsReader.test.d.ts.map +1 -0
  52. package/dist/__tests__/WebpackStatsReader.test.js +210 -0
  53. package/dist/__tests__/WebpackStatsReader.test.js.map +1 -0
  54. package/dist/__tests__/colors.test.d.ts +2 -0
  55. package/dist/__tests__/colors.test.d.ts.map +1 -0
  56. package/dist/__tests__/colors.test.js +54 -0
  57. package/dist/__tests__/colors.test.js.map +1 -0
  58. package/dist/__tests__/config.test.d.ts +2 -0
  59. package/dist/__tests__/config.test.d.ts.map +1 -0
  60. package/dist/__tests__/config.test.js +380 -0
  61. package/dist/__tests__/config.test.js.map +1 -0
  62. package/dist/cli.js +29 -16
  63. package/dist/cli.js.map +1 -1
  64. package/dist/config.d.ts +200 -33
  65. package/dist/config.d.ts.map +1 -1
  66. package/dist/config.js +93 -19
  67. package/dist/config.js.map +1 -1
  68. package/dist/index.d.ts +1 -1
  69. package/dist/index.d.ts.map +1 -1
  70. package/dist/index.js +6 -1
  71. package/dist/index.js.map +1 -1
  72. package/package.json +7 -2
package/dist/config.d.ts CHANGED
@@ -1,60 +1,227 @@
1
+ import { z } from 'zod';
1
2
  import type { RegressionPolicyFunction } from './types';
3
+ export declare function findConfigFile(cwd?: string): string | null;
2
4
  export declare const RESOLVING_BUNDLE_SIZE_ISSUES_DOC_URL = "https://github.com/shakacode/shaka-perf/blob/main/docs/resolving-bundle-size-issues.md";
3
- export interface ThresholdConfig {
5
+ export declare const ThresholdConfigSchema: z.ZodObject<{
4
6
  /** Maximum allowed size increase in KB for normal components (default: 10) */
5
- default?: number;
7
+ default: z.ZodOptional<z.ZodNumber>;
6
8
  /** List of component names considered critical */
7
- keyComponents?: string[];
9
+ keyComponents: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
8
10
  /** Stricter threshold for key components in KB (default: 1) */
9
- keyComponentThreshold?: number;
11
+ keyComponentThreshold: z.ZodOptional<z.ZodNumber>;
10
12
  /** Minimum size in KB for a new component to trigger a review (default: 1) */
11
- minComponentSizeKb?: number;
12
- }
13
- export interface HtmlDiffConfig {
13
+ minComponentSizeKb: z.ZodOptional<z.ZodNumber>;
14
+ }, "strip", z.ZodTypeAny, {
15
+ default?: number | undefined;
16
+ keyComponents?: string[] | undefined;
17
+ keyComponentThreshold?: number | undefined;
18
+ minComponentSizeKb?: number | undefined;
19
+ }, {
20
+ default?: number | undefined;
21
+ keyComponents?: string[] | undefined;
22
+ keyComponentThreshold?: number | undefined;
23
+ minComponentSizeKb?: number | undefined;
24
+ }>;
25
+ export type ThresholdConfig = z.infer<typeof ThresholdConfigSchema>;
26
+ export declare const HtmlDiffConfigSchema: z.ZodObject<{
14
27
  /** Whether to generate HTML diffs (default: true) */
15
- enabled?: boolean;
28
+ enabled: z.ZodOptional<z.ZodBoolean>;
16
29
  /** Directory for output HTML diff files (default: 'bundle-size-diffs') */
17
- outputDir?: string;
30
+ outputDir: z.ZodOptional<z.ZodString>;
18
31
  /** Directory for current source maps during compare (default: 'tmp/bundle_size_current') */
19
- currentDir?: string;
20
- }
21
- export interface StorageConfig {
32
+ currentDir: z.ZodOptional<z.ZodString>;
33
+ }, "strip", z.ZodTypeAny, {
34
+ currentDir?: string | undefined;
35
+ outputDir?: string | undefined;
36
+ enabled?: boolean | undefined;
37
+ }, {
38
+ currentDir?: string | undefined;
39
+ outputDir?: string | undefined;
40
+ enabled?: boolean | undefined;
41
+ }>;
42
+ export type HtmlDiffConfig = z.infer<typeof HtmlDiffConfigSchema>;
43
+ export declare const StorageConfigSchema: z.ZodObject<{
22
44
  /** S3/R2 bucket name for baseline storage */
23
- s3Bucket: string;
45
+ s3Bucket: z.ZodString;
24
46
  /** S3/R2 key prefix for baselines (default: 'bundle-size-baselines/') */
25
- s3Prefix?: string;
47
+ s3Prefix: z.ZodOptional<z.ZodString>;
26
48
  /** AWS region (default: uses AWS_REGION env var or 'auto'). Use 'auto' for R2. */
27
- awsRegion?: string;
28
- /** Custom endpoint URL for S3-compatible services like Cloudflare R2 (e.g., 'https://<account_id>.r2.cloudflarestorage.com') */
29
- endpoint?: string;
49
+ awsRegion: z.ZodOptional<z.ZodString>;
50
+ /** Custom endpoint URL for S3-compatible services like Cloudflare R2 (e.g., 'https://<account_id>.r2.cloudflarestorage.com'). Falls back to S3_ENDPOINT env var. */
51
+ s3Endpoint: z.ZodOptional<z.ZodString>;
52
+ /** AWS access key ID (default: uses AWS_ACCESS_KEY_ID env var) */
53
+ awsAccessKeyId: z.ZodOptional<z.ZodString>;
54
+ /** AWS secret access key (default: uses AWS_SECRET_ACCESS_KEY env var) */
55
+ awsSecretAccessKey: z.ZodOptional<z.ZodString>;
30
56
  /** Number of main branch commits to search for baseline (default: 10) */
31
- mainCommitsToCheck?: number;
32
- }
57
+ mainCommitsToCheck: z.ZodOptional<z.ZodNumber>;
58
+ }, "strip", z.ZodTypeAny, {
59
+ s3Bucket: string;
60
+ s3Prefix?: string | undefined;
61
+ awsRegion?: string | undefined;
62
+ s3Endpoint?: string | undefined;
63
+ awsAccessKeyId?: string | undefined;
64
+ awsSecretAccessKey?: string | undefined;
65
+ mainCommitsToCheck?: number | undefined;
66
+ }, {
67
+ s3Bucket: string;
68
+ s3Prefix?: string | undefined;
69
+ awsRegion?: string | undefined;
70
+ s3Endpoint?: string | undefined;
71
+ awsAccessKeyId?: string | undefined;
72
+ awsSecretAccessKey?: string | undefined;
73
+ mainCommitsToCheck?: number | undefined;
74
+ }>;
75
+ export type StorageConfig = z.infer<typeof StorageConfigSchema>;
33
76
  /** The config structure users define in their config files. */
34
- export interface BundleSizeConfig {
77
+ export declare const BundleSizeConfigSchema: z.ZodObject<{
35
78
  /** Path to webpack loadable stats JSON file (required) */
36
- statsFile: string;
79
+ statsFile: z.ZodString;
37
80
  /** Directory for baseline config files (default: 'tmp/bundle_size') */
38
- baselineDir?: string;
81
+ baselineDir: z.ZodOptional<z.ZodString>;
39
82
  /** Baseline config filename (default: derived from statsFile name) */
40
- baselineFile?: string;
83
+ baselineFile: z.ZodOptional<z.ZodString>;
41
84
  /** Prefix for webpack stats and extended stats files (e.g., 'consumer' -> 'consumer-webpack-stats.json'). If not set, no prefix is used. */
42
- bundleNamePrefix?: string;
85
+ bundleNamePrefix: z.ZodOptional<z.ZodString>;
43
86
  /** Threshold configuration */
44
- thresholds?: ThresholdConfig;
87
+ thresholds: z.ZodOptional<z.ZodObject<{
88
+ /** Maximum allowed size increase in KB for normal components (default: 10) */
89
+ default: z.ZodOptional<z.ZodNumber>;
90
+ /** List of component names considered critical */
91
+ keyComponents: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
92
+ /** Stricter threshold for key components in KB (default: 1) */
93
+ keyComponentThreshold: z.ZodOptional<z.ZodNumber>;
94
+ /** Minimum size in KB for a new component to trigger a review (default: 1) */
95
+ minComponentSizeKb: z.ZodOptional<z.ZodNumber>;
96
+ }, "strip", z.ZodTypeAny, {
97
+ default?: number | undefined;
98
+ keyComponents?: string[] | undefined;
99
+ keyComponentThreshold?: number | undefined;
100
+ minComponentSizeKb?: number | undefined;
101
+ }, {
102
+ default?: number | undefined;
103
+ keyComponents?: string[] | undefined;
104
+ keyComponentThreshold?: number | undefined;
105
+ minComponentSizeKb?: number | undefined;
106
+ }>>;
45
107
  /** Bundle names to skip during checking */
46
- ignoredBundles?: string[];
108
+ ignoredBundles: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
47
109
  /** Path to file containing acknowledged branch name (for acknowledging bundle-size failures) */
48
- acknowledgedBranchesFilePath?: string;
110
+ acknowledgedBranchesFilePath: z.ZodOptional<z.ZodString>;
49
111
  /** Whether to generate source map files on update (default: true) */
50
- generateSourceMaps?: boolean;
112
+ generateSourceMaps: z.ZodOptional<z.ZodBoolean>;
51
113
  /** HTML diff generation configuration */
52
- htmlDiffs?: HtmlDiffConfig;
114
+ htmlDiffs: z.ZodOptional<z.ZodObject<{
115
+ /** Whether to generate HTML diffs (default: true) */
116
+ enabled: z.ZodOptional<z.ZodBoolean>;
117
+ /** Directory for output HTML diff files (default: 'bundle-size-diffs') */
118
+ outputDir: z.ZodOptional<z.ZodString>;
119
+ /** Directory for current source maps during compare (default: 'tmp/bundle_size_current') */
120
+ currentDir: z.ZodOptional<z.ZodString>;
121
+ }, "strip", z.ZodTypeAny, {
122
+ currentDir?: string | undefined;
123
+ outputDir?: string | undefined;
124
+ enabled?: boolean | undefined;
125
+ }, {
126
+ currentDir?: string | undefined;
127
+ outputDir?: string | undefined;
128
+ enabled?: boolean | undefined;
129
+ }>>;
53
130
  /** Baseline storage configuration for --download/--upload */
54
- storage?: StorageConfig;
131
+ storage: z.ZodObject<{
132
+ /** S3/R2 bucket name for baseline storage */
133
+ s3Bucket: z.ZodString;
134
+ /** S3/R2 key prefix for baselines (default: 'bundle-size-baselines/') */
135
+ s3Prefix: z.ZodOptional<z.ZodString>;
136
+ /** AWS region (default: uses AWS_REGION env var or 'auto'). Use 'auto' for R2. */
137
+ awsRegion: z.ZodOptional<z.ZodString>;
138
+ /** Custom endpoint URL for S3-compatible services like Cloudflare R2 (e.g., 'https://<account_id>.r2.cloudflarestorage.com'). Falls back to S3_ENDPOINT env var. */
139
+ s3Endpoint: z.ZodOptional<z.ZodString>;
140
+ /** AWS access key ID (default: uses AWS_ACCESS_KEY_ID env var) */
141
+ awsAccessKeyId: z.ZodOptional<z.ZodString>;
142
+ /** AWS secret access key (default: uses AWS_SECRET_ACCESS_KEY env var) */
143
+ awsSecretAccessKey: z.ZodOptional<z.ZodString>;
144
+ /** Number of main branch commits to search for baseline (default: 10) */
145
+ mainCommitsToCheck: z.ZodOptional<z.ZodNumber>;
146
+ }, "strip", z.ZodTypeAny, {
147
+ s3Bucket: string;
148
+ s3Prefix?: string | undefined;
149
+ awsRegion?: string | undefined;
150
+ s3Endpoint?: string | undefined;
151
+ awsAccessKeyId?: string | undefined;
152
+ awsSecretAccessKey?: string | undefined;
153
+ mainCommitsToCheck?: number | undefined;
154
+ }, {
155
+ s3Bucket: string;
156
+ s3Prefix?: string | undefined;
157
+ awsRegion?: string | undefined;
158
+ s3Endpoint?: string | undefined;
159
+ awsAccessKeyId?: string | undefined;
160
+ awsSecretAccessKey?: string | undefined;
161
+ mainCommitsToCheck?: number | undefined;
162
+ }>;
55
163
  /** Custom regression policy function */
56
- regressionPolicy?: RegressionPolicyFunction;
57
- }
164
+ regressionPolicy: z.ZodOptional<z.ZodType<RegressionPolicyFunction, z.ZodTypeDef, RegressionPolicyFunction>>;
165
+ }, "strip", z.ZodTypeAny, {
166
+ statsFile: string;
167
+ storage: {
168
+ s3Bucket: string;
169
+ s3Prefix?: string | undefined;
170
+ awsRegion?: string | undefined;
171
+ s3Endpoint?: string | undefined;
172
+ awsAccessKeyId?: string | undefined;
173
+ awsSecretAccessKey?: string | undefined;
174
+ mainCommitsToCheck?: number | undefined;
175
+ };
176
+ baselineDir?: string | undefined;
177
+ ignoredBundles?: string[] | undefined;
178
+ baselineFile?: string | undefined;
179
+ bundleNamePrefix?: string | undefined;
180
+ thresholds?: {
181
+ default?: number | undefined;
182
+ keyComponents?: string[] | undefined;
183
+ keyComponentThreshold?: number | undefined;
184
+ minComponentSizeKb?: number | undefined;
185
+ } | undefined;
186
+ acknowledgedBranchesFilePath?: string | undefined;
187
+ generateSourceMaps?: boolean | undefined;
188
+ htmlDiffs?: {
189
+ currentDir?: string | undefined;
190
+ outputDir?: string | undefined;
191
+ enabled?: boolean | undefined;
192
+ } | undefined;
193
+ regressionPolicy?: RegressionPolicyFunction | undefined;
194
+ }, {
195
+ statsFile: string;
196
+ storage: {
197
+ s3Bucket: string;
198
+ s3Prefix?: string | undefined;
199
+ awsRegion?: string | undefined;
200
+ s3Endpoint?: string | undefined;
201
+ awsAccessKeyId?: string | undefined;
202
+ awsSecretAccessKey?: string | undefined;
203
+ mainCommitsToCheck?: number | undefined;
204
+ };
205
+ baselineDir?: string | undefined;
206
+ ignoredBundles?: string[] | undefined;
207
+ baselineFile?: string | undefined;
208
+ bundleNamePrefix?: string | undefined;
209
+ thresholds?: {
210
+ default?: number | undefined;
211
+ keyComponents?: string[] | undefined;
212
+ keyComponentThreshold?: number | undefined;
213
+ minComponentSizeKb?: number | undefined;
214
+ } | undefined;
215
+ acknowledgedBranchesFilePath?: string | undefined;
216
+ generateSourceMaps?: boolean | undefined;
217
+ htmlDiffs?: {
218
+ currentDir?: string | undefined;
219
+ outputDir?: string | undefined;
220
+ enabled?: boolean | undefined;
221
+ } | undefined;
222
+ regressionPolicy?: RegressionPolicyFunction | undefined;
223
+ }>;
224
+ export type BundleSizeConfig = z.infer<typeof BundleSizeConfigSchema>;
58
225
  /** Configuration with all defaults applied, used internally by BundleSizeChecker. */
59
226
  export interface ResolvedConfig {
60
227
  /** Path to webpack loadable stats JSON file */
@@ -86,7 +253,7 @@ export declare const DEFAULT_STORAGE: Required<StorageConfig>;
86
253
  /** Uses threshold-based checking for size increases. */
87
254
  export declare function createDefaultPolicy(thresholds: Required<ThresholdConfig>): RegressionPolicyFunction;
88
255
  export declare function defineConfig(config: BundleSizeConfig): BundleSizeConfig;
89
- export declare function resolveConfig(config: BundleSizeConfig): ResolvedConfig;
256
+ export declare function resolveConfig(config: unknown): ResolvedConfig;
90
257
  /** Supports .ts (via tsx/tsImport) and .js files. */
91
258
  export declare function loadConfig(configPath: string): Promise<BundleSizeConfig>;
92
259
  /** Only supports .js files (TypeScript requires async import). */
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
package/dist/config.js CHANGED
@@ -33,7 +33,8 @@ var __importStar = (this && this.__importStar) || (function () {
33
33
  };
34
34
  })();
35
35
  Object.defineProperty(exports, "__esModule", { value: true });
36
- exports.DEFAULT_STORAGE = exports.DEFAULT_HTML_DIFFS = exports.DEFAULT_THRESHOLDS = exports.RESOLVING_BUNDLE_SIZE_ISSUES_DOC_URL = void 0;
36
+ exports.DEFAULT_STORAGE = exports.DEFAULT_HTML_DIFFS = exports.DEFAULT_THRESHOLDS = exports.BundleSizeConfigSchema = exports.StorageConfigSchema = exports.HtmlDiffConfigSchema = exports.ThresholdConfigSchema = exports.RESOLVING_BUNDLE_SIZE_ISSUES_DOC_URL = void 0;
37
+ exports.findConfigFile = findConfigFile;
37
38
  exports.createDefaultPolicy = createDefaultPolicy;
38
39
  exports.defineConfig = defineConfig;
39
40
  exports.resolveConfig = resolveConfig;
@@ -44,8 +45,78 @@ exports.isBranchAcknowledged = isBranchAcknowledged;
44
45
  exports.writeAcknowledgedBranchFile = writeAcknowledgedBranchFile;
45
46
  const fs = __importStar(require("fs"));
46
47
  const path = __importStar(require("path"));
48
+ const zod_1 = require("zod");
47
49
  const types_1 = require("./types");
50
+ const CONFIG_FILENAMES = ['bundle-size.config.ts', 'bundle-size.config.js'];
51
+ function findConfigFile(cwd = process.cwd()) {
52
+ for (const filename of CONFIG_FILENAMES) {
53
+ const configPath = path.join(cwd, filename);
54
+ if (fs.existsSync(configPath)) {
55
+ return configPath;
56
+ }
57
+ }
58
+ return null;
59
+ }
48
60
  exports.RESOLVING_BUNDLE_SIZE_ISSUES_DOC_URL = 'https://github.com/shakacode/shaka-perf/blob/main/docs/resolving-bundle-size-issues.md';
61
+ exports.ThresholdConfigSchema = zod_1.z.object({
62
+ /** Maximum allowed size increase in KB for normal components (default: 10) */
63
+ default: zod_1.z.number().optional(),
64
+ /** List of component names considered critical */
65
+ keyComponents: zod_1.z.array(zod_1.z.string()).optional(),
66
+ /** Stricter threshold for key components in KB (default: 1) */
67
+ keyComponentThreshold: zod_1.z.number().optional(),
68
+ /** Minimum size in KB for a new component to trigger a review (default: 1) */
69
+ minComponentSizeKb: zod_1.z.number().optional(),
70
+ });
71
+ exports.HtmlDiffConfigSchema = zod_1.z.object({
72
+ /** Whether to generate HTML diffs (default: true) */
73
+ enabled: zod_1.z.boolean().optional(),
74
+ /** Directory for output HTML diff files (default: 'bundle-size-diffs') */
75
+ outputDir: zod_1.z.string().optional(),
76
+ /** Directory for current source maps during compare (default: 'tmp/bundle_size_current') */
77
+ currentDir: zod_1.z.string().optional(),
78
+ });
79
+ exports.StorageConfigSchema = zod_1.z.object({
80
+ /** S3/R2 bucket name for baseline storage */
81
+ s3Bucket: zod_1.z.string().min(1, 'storage.s3Bucket is required'),
82
+ /** S3/R2 key prefix for baselines (default: 'bundle-size-baselines/') */
83
+ s3Prefix: zod_1.z.string().optional(),
84
+ /** AWS region (default: uses AWS_REGION env var or 'auto'). Use 'auto' for R2. */
85
+ awsRegion: zod_1.z.string().optional(),
86
+ /** Custom endpoint URL for S3-compatible services like Cloudflare R2 (e.g., 'https://<account_id>.r2.cloudflarestorage.com'). Falls back to S3_ENDPOINT env var. */
87
+ s3Endpoint: zod_1.z.string().optional(),
88
+ /** AWS access key ID (default: uses AWS_ACCESS_KEY_ID env var) */
89
+ awsAccessKeyId: zod_1.z.string().optional(),
90
+ /** AWS secret access key (default: uses AWS_SECRET_ACCESS_KEY env var) */
91
+ awsSecretAccessKey: zod_1.z.string().optional(),
92
+ /** Number of main branch commits to search for baseline (default: 10) */
93
+ mainCommitsToCheck: zod_1.z.number().optional(),
94
+ });
95
+ /** The config structure users define in their config files. */
96
+ exports.BundleSizeConfigSchema = zod_1.z.object({
97
+ /** Path to webpack loadable stats JSON file (required) */
98
+ statsFile: zod_1.z.string().min(1, 'statsFile is required'),
99
+ /** Directory for baseline config files (default: 'tmp/bundle_size') */
100
+ baselineDir: zod_1.z.string().optional(),
101
+ /** Baseline config filename (default: derived from statsFile name) */
102
+ baselineFile: zod_1.z.string().optional(),
103
+ /** Prefix for webpack stats and extended stats files (e.g., 'consumer' -> 'consumer-webpack-stats.json'). If not set, no prefix is used. */
104
+ bundleNamePrefix: zod_1.z.string().optional(),
105
+ /** Threshold configuration */
106
+ thresholds: exports.ThresholdConfigSchema.optional(),
107
+ /** Bundle names to skip during checking */
108
+ ignoredBundles: zod_1.z.array(zod_1.z.string()).optional(),
109
+ /** Path to file containing acknowledged branch name (for acknowledging bundle-size failures) */
110
+ acknowledgedBranchesFilePath: zod_1.z.string().optional(),
111
+ /** Whether to generate source map files on update (default: true) */
112
+ generateSourceMaps: zod_1.z.boolean().optional(),
113
+ /** HTML diff generation configuration */
114
+ htmlDiffs: exports.HtmlDiffConfigSchema.optional(),
115
+ /** Baseline storage configuration for --download/--upload */
116
+ storage: exports.StorageConfigSchema,
117
+ /** Custom regression policy function */
118
+ regressionPolicy: zod_1.z.custom((val) => typeof val === 'function', { message: 'regressionPolicy must be a function' }).optional(),
119
+ });
49
120
  exports.DEFAULT_THRESHOLDS = {
50
121
  default: 10, // 10 KB
51
122
  keyComponents: [],
@@ -61,7 +132,9 @@ exports.DEFAULT_STORAGE = {
61
132
  s3Bucket: '',
62
133
  s3Prefix: 'bundle-size-baselines/',
63
134
  awsRegion: '',
64
- endpoint: '',
135
+ s3Endpoint: '',
136
+ awsAccessKeyId: '',
137
+ awsSecretAccessKey: '',
65
138
  mainCommitsToCheck: 10,
66
139
  };
67
140
  /** Uses threshold-based checking for size increases. */
@@ -106,35 +179,36 @@ function deriveBaselineFile(bundleNamePrefix) {
106
179
  return bundleNamePrefix ? `${bundleNamePrefix}-config.json` : 'config.json';
107
180
  }
108
181
  function resolveConfig(config) {
109
- if (!config.statsFile) {
110
- throw new Error('BundleSizeConfig: statsFile is required');
111
- }
112
- if (!config.storage?.s3Bucket) {
113
- throw new Error('BundleSizeConfig: storage.s3Bucket is required');
182
+ const parseResult = exports.BundleSizeConfigSchema.safeParse(config);
183
+ if (!parseResult.success) {
184
+ const firstError = parseResult.error.errors[0];
185
+ const fieldPath = firstError.path.join('.');
186
+ throw new Error(fieldPath ? `${fieldPath}: ${firstError.message}` : firstError.message);
114
187
  }
188
+ const validConfig = parseResult.data;
115
189
  const thresholds = {
116
190
  ...exports.DEFAULT_THRESHOLDS,
117
- ...config.thresholds,
118
- keyComponents: config.thresholds?.keyComponents ?? exports.DEFAULT_THRESHOLDS.keyComponents,
191
+ ...validConfig.thresholds,
192
+ keyComponents: validConfig.thresholds?.keyComponents ?? exports.DEFAULT_THRESHOLDS.keyComponents,
119
193
  };
120
194
  const htmlDiffs = {
121
195
  ...exports.DEFAULT_HTML_DIFFS,
122
- ...config.htmlDiffs,
196
+ ...validConfig.htmlDiffs,
123
197
  };
124
198
  const storage = {
125
199
  ...exports.DEFAULT_STORAGE,
126
- ...config.storage,
200
+ ...validConfig.storage,
127
201
  };
128
- const regressionPolicy = config.regressionPolicy || createDefaultPolicy(thresholds);
202
+ const regressionPolicy = validConfig.regressionPolicy || createDefaultPolicy(thresholds);
129
203
  return {
130
- statsFile: config.statsFile,
131
- baselineDir: config.baselineDir ?? 'tmp/bundle_size',
132
- baselineFile: config.baselineFile ?? deriveBaselineFile(config.bundleNamePrefix),
133
- bundleNamePrefix: config.bundleNamePrefix,
204
+ statsFile: validConfig.statsFile,
205
+ baselineDir: validConfig.baselineDir ?? 'tmp/bundle_size',
206
+ baselineFile: validConfig.baselineFile ?? deriveBaselineFile(validConfig.bundleNamePrefix),
207
+ bundleNamePrefix: validConfig.bundleNamePrefix,
134
208
  thresholds,
135
- ignoredBundles: config.ignoredBundles ?? [],
136
- acknowledgedBranchesFilePath: config.acknowledgedBranchesFilePath,
137
- generateSourceMaps: config.generateSourceMaps !== false,
209
+ ignoredBundles: validConfig.ignoredBundles ?? [],
210
+ acknowledgedBranchesFilePath: validConfig.acknowledgedBranchesFilePath,
211
+ generateSourceMaps: validConfig.generateSourceMaps !== false,
138
212
  htmlDiffs,
139
213
  storage,
140
214
  regressionPolicy,
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- export { defineConfig, resolveConfig, loadConfig, loadConfigSync, createDefaultPolicy, getCurrentBranch, isBranchAcknowledged, writeAcknowledgedBranchFile, DEFAULT_THRESHOLDS, DEFAULT_HTML_DIFFS, DEFAULT_STORAGE, } from './config';
1
+ export { defineConfig, findConfigFile, resolveConfig, loadConfig, loadConfigSync, createDefaultPolicy, getCurrentBranch, isBranchAcknowledged, writeAcknowledgedBranchFile, DEFAULT_THRESHOLDS, DEFAULT_HTML_DIFFS, DEFAULT_STORAGE, BundleSizeConfigSchema, ThresholdConfigSchema, HtmlDiffConfigSchema, StorageConfigSchema, } from './config';
2
2
  export type { BundleSizeConfig, ResolvedConfig, ThresholdConfig, HtmlDiffConfig, StorageConfig, } from './config';
3
3
  export * from './types';
4
4
  export { BundleSizeChecker } from './BundleSizeChecker';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EACZ,aAAa,EACb,UAAU,EACV,cAAc,EACd,mBAAmB,EACnB,gBAAgB,EAChB,oBAAoB,EACpB,2BAA2B,EAC3B,kBAAkB,EAClB,kBAAkB,EAClB,eAAe,GAChB,MAAM,UAAU,CAAC;AAClB,YAAY,EACV,gBAAgB,EAChB,cAAc,EACd,eAAe,EACf,cAAc,EACd,aAAa,GACd,MAAM,UAAU,CAAC;AAElB,cAAc,SAAS,CAAC;AAExB,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtE,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,kBAAkB,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AACrF,OAAO,EAAE,kBAAkB,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACzF,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC9E,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAElE,YAAY,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EACZ,cAAc,EACd,aAAa,EACb,UAAU,EACV,cAAc,EACd,mBAAmB,EACnB,gBAAgB,EAChB,oBAAoB,EACpB,2BAA2B,EAC3B,kBAAkB,EAClB,kBAAkB,EAClB,eAAe,EACf,sBAAsB,EACtB,qBAAqB,EACrB,oBAAoB,EACpB,mBAAmB,GACpB,MAAM,UAAU,CAAC;AAClB,YAAY,EACV,gBAAgB,EAChB,cAAc,EACd,eAAe,EACf,cAAc,EACd,aAAa,GACd,MAAM,UAAU,CAAC;AAElB,cAAc,SAAS,CAAC;AAExB,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtE,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,kBAAkB,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AACrF,OAAO,EAAE,kBAAkB,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACzF,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC9E,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAElE,YAAY,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC"}
package/dist/index.js CHANGED
@@ -14,9 +14,10 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- exports.ExtendedStatsGenerator = exports.HtmlDiffGenerator = exports.UNCATEGORIZED_NAME = exports.SourceMapGenerator = exports.BaselineWriter = exports.defaultPolicy = exports.RegressionType = exports.RegressionDetector = exports.UNCATEGORIZED_CHUNKS_NAME = exports.BaselineComparator = exports.SizeCalculator = exports.WebpackStatsReader = exports.colorize = exports.ANSI = exports.SilentReporter = exports.Reporter = exports.BaselineStorage = exports.BundleSizeChecker = exports.DEFAULT_STORAGE = exports.DEFAULT_HTML_DIFFS = exports.DEFAULT_THRESHOLDS = exports.writeAcknowledgedBranchFile = exports.isBranchAcknowledged = exports.getCurrentBranch = exports.createDefaultPolicy = exports.loadConfigSync = exports.loadConfig = exports.resolveConfig = exports.defineConfig = void 0;
17
+ exports.ExtendedStatsGenerator = exports.HtmlDiffGenerator = exports.UNCATEGORIZED_NAME = exports.SourceMapGenerator = exports.BaselineWriter = exports.defaultPolicy = exports.RegressionType = exports.RegressionDetector = exports.UNCATEGORIZED_CHUNKS_NAME = exports.BaselineComparator = exports.SizeCalculator = exports.WebpackStatsReader = exports.colorize = exports.ANSI = exports.SilentReporter = exports.Reporter = exports.BaselineStorage = exports.BundleSizeChecker = exports.StorageConfigSchema = exports.HtmlDiffConfigSchema = exports.ThresholdConfigSchema = exports.BundleSizeConfigSchema = exports.DEFAULT_STORAGE = exports.DEFAULT_HTML_DIFFS = exports.DEFAULT_THRESHOLDS = exports.writeAcknowledgedBranchFile = exports.isBranchAcknowledged = exports.getCurrentBranch = exports.createDefaultPolicy = exports.loadConfigSync = exports.loadConfig = exports.resolveConfig = exports.findConfigFile = exports.defineConfig = void 0;
18
18
  var config_1 = require("./config");
19
19
  Object.defineProperty(exports, "defineConfig", { enumerable: true, get: function () { return config_1.defineConfig; } });
20
+ Object.defineProperty(exports, "findConfigFile", { enumerable: true, get: function () { return config_1.findConfigFile; } });
20
21
  Object.defineProperty(exports, "resolveConfig", { enumerable: true, get: function () { return config_1.resolveConfig; } });
21
22
  Object.defineProperty(exports, "loadConfig", { enumerable: true, get: function () { return config_1.loadConfig; } });
22
23
  Object.defineProperty(exports, "loadConfigSync", { enumerable: true, get: function () { return config_1.loadConfigSync; } });
@@ -27,6 +28,10 @@ Object.defineProperty(exports, "writeAcknowledgedBranchFile", { enumerable: true
27
28
  Object.defineProperty(exports, "DEFAULT_THRESHOLDS", { enumerable: true, get: function () { return config_1.DEFAULT_THRESHOLDS; } });
28
29
  Object.defineProperty(exports, "DEFAULT_HTML_DIFFS", { enumerable: true, get: function () { return config_1.DEFAULT_HTML_DIFFS; } });
29
30
  Object.defineProperty(exports, "DEFAULT_STORAGE", { enumerable: true, get: function () { return config_1.DEFAULT_STORAGE; } });
31
+ Object.defineProperty(exports, "BundleSizeConfigSchema", { enumerable: true, get: function () { return config_1.BundleSizeConfigSchema; } });
32
+ Object.defineProperty(exports, "ThresholdConfigSchema", { enumerable: true, get: function () { return config_1.ThresholdConfigSchema; } });
33
+ Object.defineProperty(exports, "HtmlDiffConfigSchema", { enumerable: true, get: function () { return config_1.HtmlDiffConfigSchema; } });
34
+ Object.defineProperty(exports, "StorageConfigSchema", { enumerable: true, get: function () { return config_1.StorageConfigSchema; } });
30
35
  __exportStar(require("./types"), exports);
31
36
  var BundleSizeChecker_1 = require("./BundleSizeChecker");
32
37
  Object.defineProperty(exports, "BundleSizeChecker", { enumerable: true, get: function () { return BundleSizeChecker_1.BundleSizeChecker; } });
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,mCAYkB;AAXhB,sGAAA,YAAY,OAAA;AACZ,uGAAA,aAAa,OAAA;AACb,oGAAA,UAAU,OAAA;AACV,wGAAA,cAAc,OAAA;AACd,6GAAA,mBAAmB,OAAA;AACnB,0GAAA,gBAAgB,OAAA;AAChB,8GAAA,oBAAoB,OAAA;AACpB,qHAAA,2BAA2B,OAAA;AAC3B,4GAAA,kBAAkB,OAAA;AAClB,4GAAA,kBAAkB,OAAA;AAClB,yGAAA,eAAe,OAAA;AAUjB,0CAAwB;AAExB,yDAAwD;AAA/C,sHAAA,iBAAiB,OAAA;AAC1B,qDAAoD;AAA3C,kHAAA,eAAe,OAAA;AACxB,uCAAsE;AAA7D,oGAAA,QAAQ,OAAA;AAAE,0GAAA,cAAc,OAAA;AAAE,gGAAA,IAAI,OAAA;AAAE,oGAAA,QAAQ,OAAA;AACjD,2DAA0D;AAAjD,wHAAA,kBAAkB,OAAA;AAC3B,mDAAkD;AAAzC,gHAAA,cAAc,OAAA;AACvB,2DAAqF;AAA5E,wHAAA,kBAAkB,OAAA;AAAE,+HAAA,yBAAyB,OAAA;AACtD,2DAAyF;AAAhF,wHAAA,kBAAkB,OAAA;AAAE,oHAAA,cAAc,OAAA;AAAE,mHAAA,aAAa,OAAA;AAC1D,mDAAkD;AAAzC,gHAAA,cAAc,OAAA;AACvB,2DAA8E;AAArE,wHAAA,kBAAkB,OAAA;AAAE,wHAAA,kBAAkB,OAAA;AAC/C,yDAAwD;AAA/C,sHAAA,iBAAiB,OAAA;AAC1B,mEAAkE;AAAzD,gIAAA,sBAAsB,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,mCAiBkB;AAhBhB,sGAAA,YAAY,OAAA;AACZ,wGAAA,cAAc,OAAA;AACd,uGAAA,aAAa,OAAA;AACb,oGAAA,UAAU,OAAA;AACV,wGAAA,cAAc,OAAA;AACd,6GAAA,mBAAmB,OAAA;AACnB,0GAAA,gBAAgB,OAAA;AAChB,8GAAA,oBAAoB,OAAA;AACpB,qHAAA,2BAA2B,OAAA;AAC3B,4GAAA,kBAAkB,OAAA;AAClB,4GAAA,kBAAkB,OAAA;AAClB,yGAAA,eAAe,OAAA;AACf,gHAAA,sBAAsB,OAAA;AACtB,+GAAA,qBAAqB,OAAA;AACrB,8GAAA,oBAAoB,OAAA;AACpB,6GAAA,mBAAmB,OAAA;AAUrB,0CAAwB;AAExB,yDAAwD;AAA/C,sHAAA,iBAAiB,OAAA;AAC1B,qDAAoD;AAA3C,kHAAA,eAAe,OAAA;AACxB,uCAAsE;AAA7D,oGAAA,QAAQ,OAAA;AAAE,0GAAA,cAAc,OAAA;AAAE,gGAAA,IAAI,OAAA;AAAE,oGAAA,QAAQ,OAAA;AACjD,2DAA0D;AAAjD,wHAAA,kBAAkB,OAAA;AAC3B,mDAAkD;AAAzC,gHAAA,cAAc,OAAA;AACvB,2DAAqF;AAA5E,wHAAA,kBAAkB,OAAA;AAAE,+HAAA,yBAAyB,OAAA;AACtD,2DAAyF;AAAhF,wHAAA,kBAAkB,OAAA;AAAE,oHAAA,cAAc,OAAA;AAAE,mHAAA,aAAa,OAAA;AAC1D,mDAAkD;AAAzC,gHAAA,cAAc,OAAA;AACvB,2DAA8E;AAArE,wHAAA,kBAAkB,OAAA;AAAE,wHAAA,kBAAkB,OAAA;AAC/C,yDAAwD;AAA/C,sHAAA,iBAAiB,OAAA;AAC1B,mEAAkE;AAAzD,gIAAA,sBAAsB,OAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "shaka-bundle-size",
3
- "version": "0.0.10",
3
+ "version": "0.0.12",
4
4
  "description": "Bundle size diffing and analysis tool for React and React on Rails apps using loadable components",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -11,6 +11,7 @@
11
11
  ],
12
12
  "scripts": {
13
13
  "build": "tsc",
14
+ "test": "jest",
14
15
  "prepublishOnly": "yarn build"
15
16
  },
16
17
  "keywords": [
@@ -36,10 +37,14 @@
36
37
  "diff2html": "^3.4.48",
37
38
  "dotenv": "^16.0.0",
38
39
  "tsx": "^4.21.0",
39
- "webpack-bundle-analyzer": "^4.10.0"
40
+ "webpack-bundle-analyzer": "^4.10.0",
41
+ "zod": "^3.24.0"
40
42
  },
41
43
  "devDependencies": {
44
+ "@types/jest": "^29.5.0",
42
45
  "@types/node": "^20.0.0",
46
+ "jest": "^29.7.0",
47
+ "ts-jest": "^29.1.0",
43
48
  "typescript": "^5.3.3"
44
49
  }
45
50
  }