shaka-bundle-size 0.0.11 → 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 (68) hide show
  1. package/dist/SourceMapGenerator.d.ts.map +1 -1
  2. package/dist/SourceMapGenerator.js +3 -1
  3. package/dist/SourceMapGenerator.js.map +1 -1
  4. package/dist/WebpackStatsReader.js +1 -1
  5. package/dist/WebpackStatsReader.js.map +1 -1
  6. package/dist/__tests__/BaselineComparator.test.d.ts +2 -0
  7. package/dist/__tests__/BaselineComparator.test.d.ts.map +1 -0
  8. package/dist/__tests__/BaselineComparator.test.js +269 -0
  9. package/dist/__tests__/BaselineComparator.test.js.map +1 -0
  10. package/dist/__tests__/BaselineStorage.test.d.ts +2 -0
  11. package/dist/__tests__/BaselineStorage.test.d.ts.map +1 -0
  12. package/dist/__tests__/BaselineStorage.test.js +145 -0
  13. package/dist/__tests__/BaselineStorage.test.js.map +1 -0
  14. package/dist/__tests__/BaselineWriter.test.d.ts +2 -0
  15. package/dist/__tests__/BaselineWriter.test.d.ts.map +1 -0
  16. package/dist/__tests__/BaselineWriter.test.js +169 -0
  17. package/dist/__tests__/BaselineWriter.test.js.map +1 -0
  18. package/dist/__tests__/BundleSizeChecker.test.d.ts +2 -0
  19. package/dist/__tests__/BundleSizeChecker.test.d.ts.map +1 -0
  20. package/dist/__tests__/BundleSizeChecker.test.js +276 -0
  21. package/dist/__tests__/BundleSizeChecker.test.js.map +1 -0
  22. package/dist/__tests__/ExtendedStatsGenerator.test.d.ts +2 -0
  23. package/dist/__tests__/ExtendedStatsGenerator.test.d.ts.map +1 -0
  24. package/dist/__tests__/ExtendedStatsGenerator.test.js +118 -0
  25. package/dist/__tests__/ExtendedStatsGenerator.test.js.map +1 -0
  26. package/dist/__tests__/HtmlDiffGenerator.test.d.ts +2 -0
  27. package/dist/__tests__/HtmlDiffGenerator.test.d.ts.map +1 -0
  28. package/dist/__tests__/HtmlDiffGenerator.test.js +283 -0
  29. package/dist/__tests__/HtmlDiffGenerator.test.js.map +1 -0
  30. package/dist/__tests__/RegressionDetector.test.d.ts +2 -0
  31. package/dist/__tests__/RegressionDetector.test.d.ts.map +1 -0
  32. package/dist/__tests__/RegressionDetector.test.js +227 -0
  33. package/dist/__tests__/RegressionDetector.test.js.map +1 -0
  34. package/dist/__tests__/Reporter.test.d.ts +2 -0
  35. package/dist/__tests__/Reporter.test.d.ts.map +1 -0
  36. package/dist/__tests__/Reporter.test.js +359 -0
  37. package/dist/__tests__/Reporter.test.js.map +1 -0
  38. package/dist/__tests__/SizeCalculator.test.d.ts +2 -0
  39. package/dist/__tests__/SizeCalculator.test.d.ts.map +1 -0
  40. package/dist/__tests__/SizeCalculator.test.js +172 -0
  41. package/dist/__tests__/SizeCalculator.test.js.map +1 -0
  42. package/dist/__tests__/SourceMapGenerator.test.d.ts +2 -0
  43. package/dist/__tests__/SourceMapGenerator.test.d.ts.map +1 -0
  44. package/dist/__tests__/SourceMapGenerator.test.js +242 -0
  45. package/dist/__tests__/SourceMapGenerator.test.js.map +1 -0
  46. package/dist/__tests__/WebpackStatsReader.test.d.ts +2 -0
  47. package/dist/__tests__/WebpackStatsReader.test.d.ts.map +1 -0
  48. package/dist/__tests__/WebpackStatsReader.test.js +210 -0
  49. package/dist/__tests__/WebpackStatsReader.test.js.map +1 -0
  50. package/dist/__tests__/colors.test.d.ts +2 -0
  51. package/dist/__tests__/colors.test.d.ts.map +1 -0
  52. package/dist/__tests__/colors.test.js +54 -0
  53. package/dist/__tests__/colors.test.js.map +1 -0
  54. package/dist/__tests__/config.test.d.ts +2 -0
  55. package/dist/__tests__/config.test.d.ts.map +1 -0
  56. package/dist/__tests__/config.test.js +380 -0
  57. package/dist/__tests__/config.test.js.map +1 -0
  58. package/dist/cli.js +25 -14
  59. package/dist/cli.js.map +1 -1
  60. package/dist/config.d.ts +197 -34
  61. package/dist/config.d.ts.map +1 -1
  62. package/dist/config.js +90 -18
  63. package/dist/config.js.map +1 -1
  64. package/dist/index.d.ts +1 -1
  65. package/dist/index.d.ts.map +1 -1
  66. package/dist/index.js +6 -1
  67. package/dist/index.js.map +1 -1
  68. package/package.json +7 -2
package/dist/config.d.ts CHANGED
@@ -1,64 +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;
49
+ awsRegion: z.ZodOptional<z.ZodString>;
28
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. */
29
- s3Endpoint?: string;
51
+ s3Endpoint: z.ZodOptional<z.ZodString>;
30
52
  /** AWS access key ID (default: uses AWS_ACCESS_KEY_ID env var) */
31
- awsAccessKeyId?: string;
53
+ awsAccessKeyId: z.ZodOptional<z.ZodString>;
32
54
  /** AWS secret access key (default: uses AWS_SECRET_ACCESS_KEY env var) */
33
- awsSecretAccessKey?: string;
55
+ awsSecretAccessKey: z.ZodOptional<z.ZodString>;
34
56
  /** Number of main branch commits to search for baseline (default: 10) */
35
- mainCommitsToCheck?: number;
36
- }
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>;
37
76
  /** The config structure users define in their config files. */
38
- export interface BundleSizeConfig {
77
+ export declare const BundleSizeConfigSchema: z.ZodObject<{
39
78
  /** Path to webpack loadable stats JSON file (required) */
40
- statsFile: string;
79
+ statsFile: z.ZodString;
41
80
  /** Directory for baseline config files (default: 'tmp/bundle_size') */
42
- baselineDir?: string;
81
+ baselineDir: z.ZodOptional<z.ZodString>;
43
82
  /** Baseline config filename (default: derived from statsFile name) */
44
- baselineFile?: string;
83
+ baselineFile: z.ZodOptional<z.ZodString>;
45
84
  /** Prefix for webpack stats and extended stats files (e.g., 'consumer' -> 'consumer-webpack-stats.json'). If not set, no prefix is used. */
46
- bundleNamePrefix?: string;
85
+ bundleNamePrefix: z.ZodOptional<z.ZodString>;
47
86
  /** Threshold configuration */
48
- 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
+ }>>;
49
107
  /** Bundle names to skip during checking */
50
- ignoredBundles?: string[];
108
+ ignoredBundles: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
51
109
  /** Path to file containing acknowledged branch name (for acknowledging bundle-size failures) */
52
- acknowledgedBranchesFilePath?: string;
110
+ acknowledgedBranchesFilePath: z.ZodOptional<z.ZodString>;
53
111
  /** Whether to generate source map files on update (default: true) */
54
- generateSourceMaps?: boolean;
112
+ generateSourceMaps: z.ZodOptional<z.ZodBoolean>;
55
113
  /** HTML diff generation configuration */
56
- 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
+ }>>;
57
130
  /** Baseline storage configuration for --download/--upload */
58
- 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
+ }>;
59
163
  /** Custom regression policy function */
60
- regressionPolicy?: RegressionPolicyFunction;
61
- }
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>;
62
225
  /** Configuration with all defaults applied, used internally by BundleSizeChecker. */
63
226
  export interface ResolvedConfig {
64
227
  /** Path to webpack loadable stats JSON file */
@@ -90,7 +253,7 @@ export declare const DEFAULT_STORAGE: Required<StorageConfig>;
90
253
  /** Uses threshold-based checking for size increases. */
91
254
  export declare function createDefaultPolicy(thresholds: Required<ThresholdConfig>): RegressionPolicyFunction;
92
255
  export declare function defineConfig(config: BundleSizeConfig): BundleSizeConfig;
93
- export declare function resolveConfig(config: BundleSizeConfig): ResolvedConfig;
256
+ export declare function resolveConfig(config: unknown): ResolvedConfig;
94
257
  /** Supports .ts (via tsx/tsImport) and .js files. */
95
258
  export declare function loadConfig(configPath: string): Promise<BundleSizeConfig>;
96
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: [],
@@ -108,35 +179,36 @@ function deriveBaselineFile(bundleNamePrefix) {
108
179
  return bundleNamePrefix ? `${bundleNamePrefix}-config.json` : 'config.json';
109
180
  }
110
181
  function resolveConfig(config) {
111
- if (!config.statsFile) {
112
- throw new Error('BundleSizeConfig: statsFile is required');
113
- }
114
- if (!config.storage?.s3Bucket) {
115
- 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);
116
187
  }
188
+ const validConfig = parseResult.data;
117
189
  const thresholds = {
118
190
  ...exports.DEFAULT_THRESHOLDS,
119
- ...config.thresholds,
120
- keyComponents: config.thresholds?.keyComponents ?? exports.DEFAULT_THRESHOLDS.keyComponents,
191
+ ...validConfig.thresholds,
192
+ keyComponents: validConfig.thresholds?.keyComponents ?? exports.DEFAULT_THRESHOLDS.keyComponents,
121
193
  };
122
194
  const htmlDiffs = {
123
195
  ...exports.DEFAULT_HTML_DIFFS,
124
- ...config.htmlDiffs,
196
+ ...validConfig.htmlDiffs,
125
197
  };
126
198
  const storage = {
127
199
  ...exports.DEFAULT_STORAGE,
128
- ...config.storage,
200
+ ...validConfig.storage,
129
201
  };
130
- const regressionPolicy = config.regressionPolicy || createDefaultPolicy(thresholds);
202
+ const regressionPolicy = validConfig.regressionPolicy || createDefaultPolicy(thresholds);
131
203
  return {
132
- statsFile: config.statsFile,
133
- baselineDir: config.baselineDir ?? 'tmp/bundle_size',
134
- baselineFile: config.baselineFile ?? deriveBaselineFile(config.bundleNamePrefix),
135
- 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,
136
208
  thresholds,
137
- ignoredBundles: config.ignoredBundles ?? [],
138
- acknowledgedBranchesFilePath: config.acknowledgedBranchesFilePath,
139
- generateSourceMaps: config.generateSourceMaps !== false,
209
+ ignoredBundles: validConfig.ignoredBundles ?? [],
210
+ acknowledgedBranchesFilePath: validConfig.acknowledgedBranchesFilePath,
211
+ generateSourceMaps: validConfig.generateSourceMaps !== false,
140
212
  htmlDiffs,
141
213
  storage,
142
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.11",
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
  }