/
stats-config.js
129 lines (127 loc) · 3.14 KB
/
stats-config.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
const clientGlobs = [
{
name: 'Client Bundles (main, webpack)',
globs: [
'.next/static/runtime/+(main|webpack)-*',
'.next/static/chunks/!(polyfills*)',
],
},
{
name: 'Legacy Client Bundles (polyfills)',
globs: ['.next/static/chunks/+(polyfills)-*'],
},
{
name: 'Client Pages',
globs: ['.next/static/BUILD_ID/pages/**/*.js', '.next/static/css/**/*'],
},
{
name: 'Client Build Manifests',
globs: ['.next/static/BUILD_ID/_buildManifest*'],
},
{
name: 'Rendered Page Sizes',
globs: ['fetched-pages/**/*.html'],
},
{
name: 'Edge SSR bundle Size',
globs: [
'.next/server/pages/edge-ssr.js',
'.next/server/app/app-edge-ssr/page.js',
],
},
{
name: 'Middleware size',
globs: [
'.next/server/middleware*.js',
'.next/server/edge-runtime-webpack.js',
],
},
]
const renames = [
{
srcGlob: '.next/static/chunks/pages',
dest: '.next/static/BUILD_ID/pages',
},
{
srcGlob: '.next/static/BUILD_ID/pages/**/*.js',
removeHash: true,
},
{
srcGlob: '.next/static/runtime/*.js',
removeHash: true,
},
{
srcGlob: '.next/static/chunks/*.js',
removeHash: true,
},
{
srcGlob: '.next/static/*/_buildManifest.js',
dest: '.next/static/BUILD_ID/_buildManifest.js',
},
]
module.exports = {
commentHeading: 'Stats from current PR',
commentReleaseHeading: 'Stats from current release',
appBuildCommand: 'NEXT_TELEMETRY_DISABLED=1 yarn next build',
appStartCommand: 'NEXT_TELEMETRY_DISABLED=1 yarn next start --port $PORT',
appDevCommand: 'NEXT_TELEMETRY_DISABLED=1 yarn next --port $PORT',
mainRepo: 'vercel/next.js',
mainBranch: 'canary',
autoMergeMain: true,
configs: [
{
title: 'Default Build',
diff: 'onOutputChange',
diffConfigFiles: [
{
path: 'next.config.js',
content: `
module.exports = {
experimental: {
appDir: true,
},
generateBuildId: () => 'BUILD_ID',
webpack(config) {
config.optimization.minimize = false
config.optimization.minimizer = undefined
return config
}
}
`,
},
],
// renames to apply to make file names deterministic
renames,
configFiles: [
{
path: 'next.config.js',
content: `
module.exports = {
experimental: {
appDir: true,
},
generateBuildId: () => 'BUILD_ID'
}
`,
},
],
filesToTrack: clientGlobs,
// will be output to fetched-pages/${pathname}.html
pagesToFetch: [
'http://localhost:$PORT/',
'http://localhost:$PORT/link',
'http://localhost:$PORT/withRouter',
],
// TODO: investigate replacing "ab" for this
// pagesToBench: [
// 'http://localhost:$PORT/',
// 'http://localhost:$PORT/error-in-render',
// ],
// benchOptions: {
// reqTimeout: 60,
// concurrency: 50,
// numRequests: 2500,
// },
},
],
}