Skip to content

Commit 1bfdd27

Browse files
feat: populate NETLIFY_SKEW_PROTECTION_TOKEN (#6792)
1 parent 9ad94c8 commit 1bfdd27

File tree

7 files changed

+38
-1
lines changed

7 files changed

+38
-1
lines changed

packages/build/src/core/flags.js

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,11 @@ Default: automatically guessed`,
7676
describe: `Netlify Build ID.
7777
Default: automatically guessed`,
7878
},
79+
skewProtectionToken: {
80+
string: true,
81+
describe: `Netlify Skew Protection token.`,
82+
hidden: true,
83+
},
7984
context: {
8085
string: true,
8186
describe: `Build context.

packages/build/src/core/normalize_flags.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -87,6 +87,7 @@ const getDefaultFlags = function ({ env: envOpt = {} }, combinedEnv) {
8787
edgeFunctionsDistDir: DEFAULT_EDGE_FUNCTIONS_DIST,
8888
cacheDir: DEFAULT_CACHE_DIR,
8989
deployId: combinedEnv.DEPLOY_ID,
90+
skewProtectionToken: combinedEnv.NETLIFY_SKEW_PROTECTION_TOKEN,
9091
buildId: combinedEnv.BUILD_ID,
9192
debug: Boolean(combinedEnv.NETLIFY_BUILD_DEBUG),
9293
bugsnagKey: combinedEnv.BUGSNAG_KEY,

packages/build/src/core/types.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,8 @@ export type BuildCLIFlags = {
1010
token: string
1111
/** Netlify Deploy ID */
1212
deployId: string
13+
/** Netlify Skew Protection token */
14+
skewProtectionToken?: string
1315
/**
1416
* Run in dry mode, i.e. printing steps without executing them
1517
* @default false

packages/config/src/env/main.ts

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ export const getEnv = async function ({
2121
buildDir,
2222
branch,
2323
deployId,
24+
skewProtectionToken,
2425
buildId,
2526
context,
2627
cachedEnv,
@@ -30,7 +31,15 @@ export const getEnv = async function ({
3031
}
3132

3233
const internalEnv = getInternalEnv(cachedEnv)
33-
const generalEnv = await getGeneralEnv({ siteInfo, buildDir, branch, deployId, buildId, context })
34+
const generalEnv = await getGeneralEnv({
35+
siteInfo,
36+
buildDir,
37+
branch,
38+
deployId,
39+
skewProtectionToken,
40+
buildId,
41+
context,
42+
})
3443
const [accountEnv, uiEnv, configFileEnv] = await getUserEnv({
3544
api,
3645
config,
@@ -95,6 +104,7 @@ const getGeneralEnv = async function ({
95104
buildDir,
96105
branch,
97106
deployId,
107+
skewProtectionToken,
98108
buildId,
99109
context,
100110
}) {
@@ -104,6 +114,7 @@ const getGeneralEnv = async function ({
104114
SITE_ID: id,
105115
SITE_NAME: name,
106116
DEPLOY_ID: deployId,
117+
NETLIFY_SKEW_PROTECTION_TOKEN: skewProtectionToken,
107118
BUILD_ID: buildId,
108119
ACCOUNT_ID: accountId,
109120
...deployUrls,

packages/config/src/main.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -92,6 +92,7 @@ export const resolveConfig = async function (opts): Promise<Config> {
9292
siteId,
9393
accountId,
9494
deployId,
95+
skewProtectionToken,
9596
buildId,
9697
baseRelDir,
9798
mode,
@@ -163,6 +164,7 @@ export const resolveConfig = async function (opts): Promise<Config> {
163164
buildDir,
164165
branch,
165166
deployId,
167+
skewProtectionToken,
166168
buildId,
167169
context,
168170
cachedEnv: parsedCachedConfig?.env || {},

packages/config/src/options/main.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,7 @@ const getDefaultOpts = function ({ env: envOpt = {}, cwd: cwdOpt, defaultConfig
4545
token: combinedEnv.NETLIFY_AUTH_TOKEN,
4646
siteId: combinedEnv.NETLIFY_SITE_ID,
4747
deployId: combinedEnv.DEPLOY_ID || DEFAULT_DEPLOY_ID,
48+
skewProtectionToken: combinedEnv.NETLIFY_SKEW_PROTECTION_TOKEN,
4849
buildId: combinedEnv.BUILD_ID || DEFAULT_BUILD_ID,
4950
mode: 'require',
5051
offline: false,

packages/config/tests/env/tests.js

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -254,6 +254,21 @@ test('Sets default BUILD_ID environment variable', async (t) => {
254254
t.is(BUILD_ID.value, '0')
255255
})
256256

257+
test('Sets NETLIFY_SKEW_PROTECTION_TOKEN environment variable', async (t) => {
258+
const {
259+
env: { NETLIFY_SKEW_PROTECTION_TOKEN },
260+
} = await new Fixture('./fixtures/empty').withFlags({ skewProtectionToken: 'test-token' }).runWithConfigAsObject()
261+
t.deepEqual(NETLIFY_SKEW_PROTECTION_TOKEN.sources, ['general'])
262+
t.is(NETLIFY_SKEW_PROTECTION_TOKEN.value, 'test-token')
263+
})
264+
265+
test('Does not set NETLIFY_SKEW_PROTECTION_TOKEN environment variable if no flag is provided', async (t) => {
266+
const {
267+
env: { NETLIFY_SKEW_PROTECTION_TOKEN },
268+
} = await new Fixture('./fixtures/empty').runWithConfigAsObject()
269+
t.is(NETLIFY_SKEW_PROTECTION_TOKEN, undefined)
270+
})
271+
257272
test('Sets SITE_ID environment variable', async (t) => {
258273
const {
259274
env: { SITE_ID },

0 commit comments

Comments
 (0)