Skip to content

Commit edaa88f

Browse files
committed
refactor: use early bails in logic deciding wether to enable skew protection
1 parent 92cfc9a commit edaa88f

File tree

1 file changed

+19
-8
lines changed

1 file changed

+19
-8
lines changed

src/build/skew-protection.ts

Lines changed: 19 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -50,9 +50,17 @@ export function shouldEnableSkewProtection(ctx: PluginContext) {
5050
process.env.NETLIFY_NEXT_SKEW_PROTECTION === 'false' ||
5151
process.env.NETLIFY_NEXT_SKEW_PROTECTION === '0'
5252
) {
53-
enabledOrDisabledReason = EnabledOrDisabledReason.OPT_OUT_ENV_VAR
53+
return {
54+
enabled: false,
55+
enabledOrDisabledReason: EnabledOrDisabledReason.OPT_OUT_ENV_VAR,
56+
}
5457
} else if (ctx.featureFlags?.['next-runtime-skew-protection']) {
5558
enabledOrDisabledReason = EnabledOrDisabledReason.OPT_IN_FF
59+
} else {
60+
return {
61+
enabled: false,
62+
enabledOrDisabledReason: EnabledOrDisabledReason.OPT_OUT_DEFAULT,
63+
}
5664
}
5765

5866
if (
@@ -61,13 +69,16 @@ export function shouldEnableSkewProtection(ctx: PluginContext) {
6169
) {
6270
// We can't proceed without a valid DEPLOY_ID, because Next.js does inline deploy ID at build time
6371
// This should only be the case for CLI deploys
64-
enabledOrDisabledReason =
65-
enabledOrDisabledReason === EnabledOrDisabledReason.OPT_IN_ENV_VAR && ctx.constants.IS_LOCAL
66-
? // this case is singled out to provide visible feedback to users that env var has no effect
67-
EnabledOrDisabledReason.OPT_OUT_NO_VALID_DEPLOY_ID_ENV_VAR
68-
: // this is silent disablement to avoid spam logs for users opted in via feature flag
69-
// that don't explicitly opt in via env var
70-
EnabledOrDisabledReason.OPT_OUT_NO_VALID_DEPLOY_ID
72+
return {
73+
enabled: false,
74+
enabledOrDisabledReason:
75+
enabledOrDisabledReason === EnabledOrDisabledReason.OPT_IN_ENV_VAR && ctx.constants.IS_LOCAL
76+
? // this case is singled out to provide visible feedback to users that env var has no effect
77+
EnabledOrDisabledReason.OPT_OUT_NO_VALID_DEPLOY_ID_ENV_VAR
78+
: // this is silent disablement to avoid spam logs for users opted in via feature flag
79+
// that don't explicitly opt in via env var
80+
EnabledOrDisabledReason.OPT_OUT_NO_VALID_DEPLOY_ID,
81+
}
7182
}
7283

7384
return {

0 commit comments

Comments
 (0)