From fca4286d85f10221e47cff13124ea675e87fd764 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Eduardo=20Bou=C3=A7as?= Date: Wed, 20 Jan 2021 11:05:32 +0000 Subject: [PATCH 1/7] feat!: use netlify/functions as the default functions directory --- packages/build/src/commands/constants.js | 2 +- packages/build/src/core/constants.js | 23 +---- packages/build/src/log/messages/core.js | 26 +----- packages/build/tests/core/tests.js | 8 -- .../fixtures/functions_src_dynamic/plugin.js | 4 +- .../functions_src_dynamic_bundle/plugin.js | 4 +- .../functions_src_dynamic_ignore/plugin.js | 4 +- .../build/tests/plugins/snapshots/tests.js.md | 4 +- .../tests/plugins/snapshots/tests.js.snap | Bin 9172 -> 9251 bytes packages/config/src/files.js | 2 +- .../netlify-automatic-functions/.gitkeep | 0 .../netlify/functions}/.gitkeep | 0 .../.gitkeep | 0 .../tests/normalize/snapshots/tests.js.md | 87 +++++++++++++++++- .../tests/normalize/snapshots/tests.js.snap | Bin 1178 -> 1214 bytes packages/config/tests/normalize/tests.js | 6 +- 16 files changed, 103 insertions(+), 67 deletions(-) delete mode 100644 packages/config/tests/normalize/fixtures/default_functions_not_defined/netlify-automatic-functions/.gitkeep rename packages/{build/tests/core/fixtures/netlify_dir/netlify => config/tests/normalize/fixtures/default_functions_not_defined/netlify/functions}/.gitkeep (100%) rename packages/{build/tests/core/fixtures/netlify_functions_dir/netlify/functions => config/tests/normalize/fixtures/default_functions_not_defined_directory_not_found}/.gitkeep (100%) diff --git a/packages/build/src/commands/constants.js b/packages/build/src/commands/constants.js index 3cb2bbb01d..924f2aa555 100644 --- a/packages/build/src/commands/constants.js +++ b/packages/build/src/commands/constants.js @@ -19,7 +19,7 @@ const getConstants = async function ({ constants, buildDir }) { // The current directory is the build directory, which is correct, so we don't // need to resolve paths const DEFAULT_PATHS = [ - { constantName: 'FUNCTIONS_SRC', defaultPath: 'netlify-automatic-functions' }, + { constantName: 'FUNCTIONS_SRC', defaultPath: 'netlify/functions' }, { constantName: 'EDGE_HANDLERS_SRC', defaultPath: 'edge-handlers' }, ] diff --git a/packages/build/src/core/constants.js b/packages/build/src/core/constants.js index b972402a03..7beadf3be0 100644 --- a/packages/build/src/core/constants.js +++ b/packages/build/src/core/constants.js @@ -1,13 +1,11 @@ 'use strict' -const { relative, normalize, join } = require('path') +const { relative, normalize } = require('path') const { getCacheDir } = require('@netlify/cache-utils') const mapObj = require('map-obj') -const pathExists = require('path-exists') const { version } = require('../../package.json') -const { logDefaultFunctionsSrcWarning, logNetlifyDirWarning } = require('../log/messages/core') // Retrieve constants passed to plugins const getConstants = async function ({ @@ -20,11 +18,8 @@ const getConstants = async function ({ siteInfo: { id: siteId }, token, mode, - logs, buildbotServerSocket, }) { - await validateNetlifyDir(logs, buildDir) - const isLocal = mode !== 'buildbot' const cacheDir = await getCacheDir({ mode }) @@ -78,22 +73,6 @@ const getConstants = async function ({ return constantsA } -// Temporary warning until we launch this feature in February 2021 -// TODO: remove once the feature is launched -const validateNetlifyDir = async function (logs, buildDir) { - if (await pathExists(`${buildDir}/${DEFAULT_FUNCTIONS_SRC}`)) { - logDefaultFunctionsSrcWarning(logs, NETLIFY_DIR, DEFAULT_FUNCTIONS_SRC) - return - } - - if (await pathExists(`${buildDir}/${NETLIFY_DIR}`)) { - logNetlifyDirWarning(logs, NETLIFY_DIR, DEFAULT_FUNCTIONS_SRC) - } -} - -const NETLIFY_DIR = 'netlify' -const DEFAULT_FUNCTIONS_SRC = join(NETLIFY_DIR, 'functions') - // The current directory is `buildDir`. Most constants are inside this `buildDir`. // Instead of passing absolute paths, we pass paths relative to `buildDir`, so // that logs are less verbose. diff --git a/packages/build/src/log/messages/core.js b/packages/build/src/log/messages/core.js index 63b2d2b27c..8151ada6c2 100644 --- a/packages/build/src/log/messages/core.js +++ b/packages/build/src/log/messages/core.js @@ -7,7 +7,7 @@ const { getFullErrorInfo } = require('../../error/parse/parse') const { serializeLogError } = require('../../error/parse/serialize_log') const { roundTimerToMillisecs } = require('../../time/measure') const { getLogHeaderFunc } = require('../header_func') -const { log, logError, logMessage, logHeader, logSubHeader } = require('../logger') +const { log, logMessage, logHeader, logSubHeader } = require('../logger') const { logOldCliVersionError } = require('../old_version') const { THEME } = require('../theme') @@ -19,28 +19,6 @@ const logBuildStart = function (logs) { logMessage(logs, `${name} ${version}`) } -const logDefaultFunctionsSrcWarning = function (logs, netlifyDir, defaultFunctionsSrc) { - logError( - logs, - ` -Detected site repository path: "${defaultFunctionsSrc}" -Starting in February 2021, this path will be used to detect and deploy Netlify functions. -To avoid potential build failures or irregularities, we recommend changing the name of the "${netlifyDir}" directory. -For more information, visit the Community update notification: community.netlify.com/t/upcoming-change-netlify-functions-as-zero-config-default-folder-for-deploying-netlify-functions/28789`, - ) -} - -const logNetlifyDirWarning = function (logs, netlifyDir, defaultFunctionsSrc) { - logError( - logs, - ` -Detected site repository path: "${netlifyDir}" -Netlify will begin using this path for detecting default deployment features, starting with "${defaultFunctionsSrc}" in February 2021. -To avoid potential build failures or irregularities in the future, we recommend changing the name of the "${netlifyDir}" directory. -For more information, visit the Community update notification: community.netlify.com/t/upcoming-change-netlify-functions-as-zero-config-default-folder-for-deploying-netlify-functions/28789`, - ) -} - const logBuildError = function ({ error, netlifyConfig, mode, logs, debug, testOpts }) { const fullErrorInfo = getFullErrorInfo({ error, colors: true, debug }) const { severity } = fullErrorInfo @@ -80,8 +58,6 @@ failed since something is still running.`), module.exports = { logBuildStart, - logDefaultFunctionsSrcWarning, - logNetlifyDirWarning, logBuildError, logBuildSuccess, logTimer, diff --git a/packages/build/tests/core/tests.js b/packages/build/tests/core/tests.js index 9530642acc..5d2ae8c2d5 100644 --- a/packages/build/tests/core/tests.js +++ b/packages/build/tests/core/tests.js @@ -192,14 +192,6 @@ test('--featureFlags can be used', async (t) => { await runFixture(t, 'empty', { flags: { featureFlags: 'test,test,testTwo' } }) }) -test('Print a warning message when "netlify" directory is used', async (t) => { - await runFixture(t, 'netlify_dir') -}) - -test('Print a warning message when "netlify/functions" directory is used', async (t) => { - await runFixture(t, 'netlify_functions_dir') -}) - // Normalize telemetry request so it can be snapshot const normalizeSnapshot = function ({ body, ...request }) { return { ...request, body: normalizeBody(body) } diff --git a/packages/build/tests/plugins/fixtures/functions_src_dynamic/plugin.js b/packages/build/tests/plugins/fixtures/functions_src_dynamic/plugin.js index ebeb6b3390..b59b7b3106 100644 --- a/packages/build/tests/plugins/fixtures/functions_src_dynamic/plugin.js +++ b/packages/build/tests/plugins/fixtures/functions_src_dynamic/plugin.js @@ -6,12 +6,12 @@ const { promisify } = require('util') const pMkdir = promisify(mkdir) const pRmdir = promisify(rmdir) -const DEFAULT_FUNCTIONS_SRC = 'netlify-automatic-functions' +const DEFAULT_FUNCTIONS_SRC = 'netlify/functions' module.exports = { async onPreBuild({ constants: { FUNCTIONS_SRC } }) { console.log(FUNCTIONS_SRC === undefined) - await pMkdir(DEFAULT_FUNCTIONS_SRC) + await pMkdir(DEFAULT_FUNCTIONS_SRC, { recursive: true }) }, async onBuild({ constants: { FUNCTIONS_SRC } }) { console.log(FUNCTIONS_SRC) diff --git a/packages/build/tests/plugins/fixtures/functions_src_dynamic_bundle/plugin.js b/packages/build/tests/plugins/fixtures/functions_src_dynamic_bundle/plugin.js index 46d5fdf012..e08cd8c8f2 100644 --- a/packages/build/tests/plugins/fixtures/functions_src_dynamic_bundle/plugin.js +++ b/packages/build/tests/plugins/fixtures/functions_src_dynamic_bundle/plugin.js @@ -5,10 +5,10 @@ const { promisify } = require('util') const pMkdir = promisify(mkdir) -const DEFAULT_FUNCTIONS_SRC = 'netlify-automatic-functions' +const DEFAULT_FUNCTIONS_SRC = 'netlify/functions' module.exports = { async onPreBuild() { - await pMkdir(DEFAULT_FUNCTIONS_SRC) + await pMkdir(DEFAULT_FUNCTIONS_SRC, { recursive: true }) }, } diff --git a/packages/build/tests/plugins/fixtures/functions_src_dynamic_ignore/plugin.js b/packages/build/tests/plugins/fixtures/functions_src_dynamic_ignore/plugin.js index 775af8c26e..b76899359f 100644 --- a/packages/build/tests/plugins/fixtures/functions_src_dynamic_ignore/plugin.js +++ b/packages/build/tests/plugins/fixtures/functions_src_dynamic_ignore/plugin.js @@ -5,12 +5,12 @@ const { promisify } = require('util') const pMkdir = promisify(mkdir) -const DEFAULT_FUNCTIONS_SRC = 'netlify-automatic-functions' +const DEFAULT_FUNCTIONS_SRC = 'netlify/functions' module.exports = { async onPreBuild({ constants: { FUNCTIONS_SRC } }) { console.log(FUNCTIONS_SRC.endsWith('test')) - await pMkdir(DEFAULT_FUNCTIONS_SRC) + await pMkdir(DEFAULT_FUNCTIONS_SRC, { recursive: true }) }, onBuild({ constants: { FUNCTIONS_SRC } }) { console.log(FUNCTIONS_SRC.endsWith('test')) diff --git a/packages/build/tests/plugins/snapshots/tests.js.md b/packages/build/tests/plugins/snapshots/tests.js.md index 78ede4a0ae..d5157dca50 100644 --- a/packages/build/tests/plugins/snapshots/tests.js.md +++ b/packages/build/tests/plugins/snapshots/tests.js.md @@ -3807,7 +3807,7 @@ Generated by [AVA](https://ava.li). 2. onBuild command from /file/path ␊ ────────────────────────────────────────────────────────────────␊ ␊ - netlify-automatic-functions␊ + netlify/functions␊ ␊ (/file/path onBuild completed in 1ms)␊ ␊ @@ -3996,7 +3996,7 @@ Generated by [AVA](https://ava.li). 2. Functions bundling ␊ ────────────────────────────────────────────────────────────────␊ ␊ - No Functions were found in netlify-automatic-functions directory␊ + No Functions were found in netlify/functions directory␊ ␊ (Functions bundling completed in 1ms)␊ ␊ diff --git a/packages/build/tests/plugins/snapshots/tests.js.snap b/packages/build/tests/plugins/snapshots/tests.js.snap index b569f858924669f1f7b00939df4f41174ce331a4..d75f4101e6d6cb71093b50062f600f8112e4a2c0 100644 GIT binary patch literal 9251 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 O}y_y!>($4 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 A^#A|> literal 9172 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 iLehlDJV>uxgzgBxx_Uv9D@T&M3*u^QF Snapshot 1 @@ -784,6 +784,91 @@ Generated by [AVA](https://ava.li). "siteInfo": {}␊ }` +## Does not assign default functions if default functions directory does not exist + +> Snapshot 1 + + `{␊ + "branch": "branch",␊ + "buildDir": "/file/path",␊ + "config": {␊ + "build": {␊ + "environment": {}␊ + },␊ + "plugins": []␊ + },␊ + "context": "production",␊ + "env": {␊ + "BRANCH": {␊ + "sources": [␊ + "general"␊ + ],␊ + "value": "branch"␊ + },␊ + "CACHED_COMMIT_REF": {␊ + "sources": [␊ + "general"␊ + ],␊ + "value": "HEXADECIMAL_ID"␊ + },␊ + "COMMIT_REF": {␊ + "sources": [␊ + "general"␊ + ],␊ + "value": "HEXADECIMAL_ID"␊ + },␊ + "CONTEXT": {␊ + "sources": [␊ + "general"␊ + ],␊ + "value": "production"␊ + },␊ + "GATSBY_TELEMETRY_DISABLED": {␊ + "sources": [␊ + "general"␊ + ],␊ + "value": "1"␊ + },␊ + "HEAD": {␊ + "sources": [␊ + "general"␊ + ],␊ + "value": "branch"␊ + },␊ + "LANG": {␊ + "sources": [␊ + "general"␊ + ],␊ + "value": "en_US.UTF-8"␊ + },␊ + "LANGUAGE": {␊ + "sources": [␊ + "general"␊ + ],␊ + "value": "en_US:en"␊ + },␊ + "LC_ALL": {␊ + "sources": [␊ + "general"␊ + ],␊ + "value": "en_US.UTF-8"␊ + },␊ + "NEXT_TELEMETRY_DISABLED": {␊ + "sources": [␊ + "general"␊ + ],␊ + "value": "1"␊ + },␊ + "PULL_REQUEST": {␊ + "sources": [␊ + "general"␊ + ],␊ + "value": "false"␊ + }␊ + },␊ + "siteInfo": {}␊ + }` + ## Some properties can be capitalized > Snapshot 1 diff --git a/packages/config/tests/normalize/snapshots/tests.js.snap b/packages/config/tests/normalize/snapshots/tests.js.snap index 06561df3c75a49a9788cf5ccc5b7ce39f84e7151..c56c5897df33f78b698a4b89f9e36e2803491d48 100644 GIT binary patch literal 1214 zcmV;v1VQ^jRzVD<6vp00000000B+ zn{Q|vWgN$!b99a%E82}|VOS%pvbC#j=^RDrF3F{dT(X#4wzk^{*W}6V#^o;DpEA@U zY=TTgbV?OmWgD9>rmLX7=mztRW$Lgx6cox-kPSAa_!l?Dp?6O%X>x08tV#dqudkBt z@5%4``!0&tdhy0f) zqTaF+p*77*1HG;tzg`Wwya&6-cTz;%*ND))+lNkXTJ;)p@yph|ef5WWD58FTCqidD zxAk6WJl+s(ZQmci>hGtBx^fLd=PrN!{lxg8vFmSrF!;>2Ek`M$Zd{8{W3!$+^ZYUO z`X|etT>HY|_bH-2*M`tnPyey{jUTenyTbuy%s@e3A&lAE>(way{WbCF;`QQyHDli)NXf2@lgv= z4N*$_Mb*;VGNOdra=dQWQi_}r1+!wkzA(1<)D*DXFRF^1#jr#b*E9qFnz|Kkz0I(C-SzxD7Gj^tw zY?hZT$*p5ecegkSTUF7-r&YFF6$b!yEA#>C0(F79KwY3NP#35R)CKC!NL^+DP}dOu zC2@hNH8cXIR&oGa7fNMqDJl}Bj)DEs`0Vj9!a$3TwlcR9+6A%gr1%&=55E@&A z2!(4@04x9&09(;E&o^MdSXwK<_VF5?j;kf#<_m_DYs$aaS)SpSRI`BhbJOdV$>ovRUSQ%!U>5l0Tgd}f@rHa`1l4MR?MEI$O@KU%uN4lVMe co9+}q+CkdQHtn2XpEmdY0?6W!fND?x0C7@Wi2wiq literal 1178 zcmV;L1ZDd{RzV>rB=00000000B+ zns00qWgN$!lMGCQE`;G^32~G#32sc00YS~Uw%4uZT1I!36R#GD+kO3r6FVXrjq7eL*1cPnLiZ1p?8#r`N7MwozugKllL8>NW){Zj~? z3%z;vRF&}Eh85Au1EB>sDWWb}iBMIIp8D+2Y4zSWj~-Zkr1x`*sOoBjetPTfvX8DO zTb2)%UFyfbK1mVvTs=aU{#fzJNb2d0%-L^0yu5f|kRs|64G3Lq>@DvfT6*mF8>3(G zJJ*`sEcNaS2)(>{_;}wdU!SiqPCnj1zkZk^>J<+{$yeWQ41U})5O&v`+^tuPQbZjN zAT$pxAZtjKp+%3>mF;s?SGzk@UXJf_Z_3`QC8{Axojy^u^!kJ-;rbM>+qJkNCq%)l zSkKRl%|0{*EO&{jA}6t|TXHwiyKB>w_I zxGpMkx@207O~ezXL*C}xnP`fk#xXIoB~uizj8$H8+e&+FW^@-X88~Mp^5*TOz0Hg- z=G_tu2Dn(5@fX3TnQ5baj5iRZ*;v5m@S8rP5XZD}MR3X4oIHmnnrrn$V;sXWL52%Q zW4=Hu?O_>T5j>yEw`ykSVsstv0I+nZsR*sH9E-HBiE#e9jraGD&`nISJT_s+Hn83p z&9bF@2_f?wP0Kd7L|E2*Yix}$t;IOF30~5$?T}@XCh9mKCzLe8y7SmsKD*cnbS$9} z(6NvM0CWU8!Y4~$XTA}zvycM->;!gZ*eR5ZopB|ZsZs>wT{9TRW$KwmF-s9 z0YKdXeSo?^U7#*d7pM!=1?mEIfx44Ymzf3BHN<~OTwrPmjex0z8~|V{Fg3%}XQ%DE z*X(2yhD_dCnxie?6YvT61bogVe1_&2KH+*F;0kaBxE8d{GY!{urGsmyfMdJN3wsHx zPL9ImJs=bi3JCpAAT&G&5elDC0k8mA0Bk|qJkx;vVScFq+reviBCh8AUL_b(syh8- zXL*wU3QPgsW6Q{;*E;=EnJqu~`-$uTQIHjtytGawkiMU-ncy&YO%r7y-!iUgc>-B5 zYx<_Ds|L;%y6>A$%IJ_p%^4?xH`GnsML+Ia1U sB@8*;vHTEp54Cie9h&1wH_<78w1c#pYT7x$K4I?t1I2s%wK7Wp0I1_Wga7~l diff --git a/packages/config/tests/normalize/tests.js b/packages/config/tests/normalize/tests.js index 0452209553..b744589912 100644 --- a/packages/config/tests/normalize/tests.js +++ b/packages/config/tests/normalize/tests.js @@ -53,10 +53,14 @@ test('Add build.commandOrigin ui if it came from defaultConfig', async (t) => { await runFixture(t, 'empty', { flags: { defaultConfig } }) }) -test('Assign default functions if build.functions is not defined', async (t) => { +test('Assign default functions if build.functions is not defined and default directory exists', async (t) => { await runFixture(t, 'default_functions_not_defined') }) +test('Does not assign default functions if default functions directory does not exist', async (t) => { + await runFixture(t, 'default_functions_not_defined_directory_not_found') +}) + test('Does not assign default functions if build.functions is defined', async (t) => { await runFixture(t, 'default_functions_defined') }) From 0add8d9faeb5a319840156333aef08f252421443 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Eduardo=20Bou=C3=A7as?= Date: Wed, 20 Jan 2021 12:22:21 +0000 Subject: [PATCH 2/7] chore: fix tests in Node 8 --- .../tests/plugins/fixtures/functions_src_dynamic/plugin.js | 5 ++++- .../plugins/fixtures/functions_src_dynamic_bundle/plugin.js | 4 +++- .../plugins/fixtures/functions_src_dynamic_ignore/plugin.js | 4 +++- 3 files changed, 10 insertions(+), 3 deletions(-) diff --git a/packages/build/tests/plugins/fixtures/functions_src_dynamic/plugin.js b/packages/build/tests/plugins/fixtures/functions_src_dynamic/plugin.js index b59b7b3106..d973fe4665 100644 --- a/packages/build/tests/plugins/fixtures/functions_src_dynamic/plugin.js +++ b/packages/build/tests/plugins/fixtures/functions_src_dynamic/plugin.js @@ -6,16 +6,19 @@ const { promisify } = require('util') const pMkdir = promisify(mkdir) const pRmdir = promisify(rmdir) +const DEFAULT_FUNCTIONS_SRC_PARENT = 'netlify' const DEFAULT_FUNCTIONS_SRC = 'netlify/functions' module.exports = { async onPreBuild({ constants: { FUNCTIONS_SRC } }) { console.log(FUNCTIONS_SRC === undefined) - await pMkdir(DEFAULT_FUNCTIONS_SRC, { recursive: true }) + await pMkdir(DEFAULT_FUNCTIONS_SRC_PARENT) + await pMkdir(DEFAULT_FUNCTIONS_SRC) }, async onBuild({ constants: { FUNCTIONS_SRC } }) { console.log(FUNCTIONS_SRC) await pRmdir(DEFAULT_FUNCTIONS_SRC) + await pRmdir(DEFAULT_FUNCTIONS_SRC_PARENT) }, onPostBuild({ constants: { FUNCTIONS_SRC } }) { console.log(FUNCTIONS_SRC === undefined) diff --git a/packages/build/tests/plugins/fixtures/functions_src_dynamic_bundle/plugin.js b/packages/build/tests/plugins/fixtures/functions_src_dynamic_bundle/plugin.js index e08cd8c8f2..a245099f69 100644 --- a/packages/build/tests/plugins/fixtures/functions_src_dynamic_bundle/plugin.js +++ b/packages/build/tests/plugins/fixtures/functions_src_dynamic_bundle/plugin.js @@ -5,10 +5,12 @@ const { promisify } = require('util') const pMkdir = promisify(mkdir) +const DEFAULT_FUNCTIONS_SRC_PARENT = 'netlify' const DEFAULT_FUNCTIONS_SRC = 'netlify/functions' module.exports = { async onPreBuild() { - await pMkdir(DEFAULT_FUNCTIONS_SRC, { recursive: true }) + await pMkdir(DEFAULT_FUNCTIONS_SRC_PARENT) + await pMkdir(DEFAULT_FUNCTIONS_SRC) }, } diff --git a/packages/build/tests/plugins/fixtures/functions_src_dynamic_ignore/plugin.js b/packages/build/tests/plugins/fixtures/functions_src_dynamic_ignore/plugin.js index b76899359f..6c2f6cc259 100644 --- a/packages/build/tests/plugins/fixtures/functions_src_dynamic_ignore/plugin.js +++ b/packages/build/tests/plugins/fixtures/functions_src_dynamic_ignore/plugin.js @@ -5,12 +5,14 @@ const { promisify } = require('util') const pMkdir = promisify(mkdir) +const DEFAULT_FUNCTIONS_SRC_PARENT = 'netlify' const DEFAULT_FUNCTIONS_SRC = 'netlify/functions' module.exports = { async onPreBuild({ constants: { FUNCTIONS_SRC } }) { console.log(FUNCTIONS_SRC.endsWith('test')) - await pMkdir(DEFAULT_FUNCTIONS_SRC, { recursive: true }) + await pMkdir(DEFAULT_FUNCTIONS_SRC_PARENT) + await pMkdir(DEFAULT_FUNCTIONS_SRC) }, onBuild({ constants: { FUNCTIONS_SRC } }) { console.log(FUNCTIONS_SRC.endsWith('test')) From 0c99646786faa0b1ad497e228774107f3c8bd33e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Eduardo=20Bou=C3=A7as?= Date: Wed, 20 Jan 2021 12:37:23 +0000 Subject: [PATCH 3/7] chore: clean up tests --- .../tests/plugins/fixtures/functions_src_dynamic/plugin.js | 6 +++--- .../plugins/fixtures/functions_src_dynamic_bundle/plugin.js | 4 ++-- .../plugins/fixtures/functions_src_dynamic_ignore/plugin.js | 4 ++-- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/packages/build/tests/plugins/fixtures/functions_src_dynamic/plugin.js b/packages/build/tests/plugins/fixtures/functions_src_dynamic/plugin.js index d973fe4665..de993cb339 100644 --- a/packages/build/tests/plugins/fixtures/functions_src_dynamic/plugin.js +++ b/packages/build/tests/plugins/fixtures/functions_src_dynamic/plugin.js @@ -1,24 +1,24 @@ 'use strict' const { mkdir, rmdir } = require('fs') +const { dirname } = require('path') const { promisify } = require('util') const pMkdir = promisify(mkdir) const pRmdir = promisify(rmdir) -const DEFAULT_FUNCTIONS_SRC_PARENT = 'netlify' const DEFAULT_FUNCTIONS_SRC = 'netlify/functions' module.exports = { async onPreBuild({ constants: { FUNCTIONS_SRC } }) { console.log(FUNCTIONS_SRC === undefined) - await pMkdir(DEFAULT_FUNCTIONS_SRC_PARENT) + await pMkdir(dirname(DEFAULT_FUNCTIONS_SRC)) await pMkdir(DEFAULT_FUNCTIONS_SRC) }, async onBuild({ constants: { FUNCTIONS_SRC } }) { console.log(FUNCTIONS_SRC) await pRmdir(DEFAULT_FUNCTIONS_SRC) - await pRmdir(DEFAULT_FUNCTIONS_SRC_PARENT) + await pRmdir(dirname(DEFAULT_FUNCTIONS_SRC)) }, onPostBuild({ constants: { FUNCTIONS_SRC } }) { console.log(FUNCTIONS_SRC === undefined) diff --git a/packages/build/tests/plugins/fixtures/functions_src_dynamic_bundle/plugin.js b/packages/build/tests/plugins/fixtures/functions_src_dynamic_bundle/plugin.js index a245099f69..6c48a28ce7 100644 --- a/packages/build/tests/plugins/fixtures/functions_src_dynamic_bundle/plugin.js +++ b/packages/build/tests/plugins/fixtures/functions_src_dynamic_bundle/plugin.js @@ -1,16 +1,16 @@ 'use strict' const { mkdir } = require('fs') +const { dirname } = require('path') const { promisify } = require('util') const pMkdir = promisify(mkdir) -const DEFAULT_FUNCTIONS_SRC_PARENT = 'netlify' const DEFAULT_FUNCTIONS_SRC = 'netlify/functions' module.exports = { async onPreBuild() { - await pMkdir(DEFAULT_FUNCTIONS_SRC_PARENT) + await pMkdir(dirname(DEFAULT_FUNCTIONS_SRC)) await pMkdir(DEFAULT_FUNCTIONS_SRC) }, } diff --git a/packages/build/tests/plugins/fixtures/functions_src_dynamic_ignore/plugin.js b/packages/build/tests/plugins/fixtures/functions_src_dynamic_ignore/plugin.js index 6c2f6cc259..a97b32d542 100644 --- a/packages/build/tests/plugins/fixtures/functions_src_dynamic_ignore/plugin.js +++ b/packages/build/tests/plugins/fixtures/functions_src_dynamic_ignore/plugin.js @@ -1,17 +1,17 @@ 'use strict' const { mkdir } = require('fs') +const { dirname } = require('path') const { promisify } = require('util') const pMkdir = promisify(mkdir) -const DEFAULT_FUNCTIONS_SRC_PARENT = 'netlify' const DEFAULT_FUNCTIONS_SRC = 'netlify/functions' module.exports = { async onPreBuild({ constants: { FUNCTIONS_SRC } }) { console.log(FUNCTIONS_SRC.endsWith('test')) - await pMkdir(DEFAULT_FUNCTIONS_SRC_PARENT) + await pMkdir(dirname(DEFAULT_FUNCTIONS_SRC)) await pMkdir(DEFAULT_FUNCTIONS_SRC) }, onBuild({ constants: { FUNCTIONS_SRC } }) { From 5554f9d2947d4ad8c67b80df495a2634084038e6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Eduardo=20Bou=C3=A7as?= Date: Fri, 22 Jan 2021 13:28:17 +0000 Subject: [PATCH 4/7] feat: add backward-compatibility for netlify-automatic-functions directory --- packages/build/src/commands/constants.js | 5 + packages/build/src/core/constants.js | 21 ++- packages/build/src/log/messages/core.js | 13 +- .../manifest.yml | 2 + .../netlify-automatic-functions/.gitkeep | 0 .../netlify.toml | 2 + .../netlify/functions/.gitkeep | 0 .../plugin.js | 7 + .../functions_src_legacy/manifest.yml | 2 + .../netlify-automatic-functions/.gitkeep | 0 .../functions_src_legacy/netlify.toml | 2 + .../fixtures/functions_src_legacy/plugin.js | 7 + .../build/tests/plugins/snapshots/tests.js.md | 132 ++++++++++++++++++ .../tests/plugins/snapshots/tests.js.snap | Bin 9251 -> 9584 bytes packages/build/tests/plugins/tests.js | 8 ++ packages/config/src/files.js | 2 + 16 files changed, 201 insertions(+), 2 deletions(-) create mode 100644 packages/build/tests/plugins/fixtures/functions_src_default_and_legacy/manifest.yml create mode 100644 packages/build/tests/plugins/fixtures/functions_src_default_and_legacy/netlify-automatic-functions/.gitkeep create mode 100644 packages/build/tests/plugins/fixtures/functions_src_default_and_legacy/netlify.toml create mode 100644 packages/build/tests/plugins/fixtures/functions_src_default_and_legacy/netlify/functions/.gitkeep create mode 100644 packages/build/tests/plugins/fixtures/functions_src_default_and_legacy/plugin.js create mode 100644 packages/build/tests/plugins/fixtures/functions_src_legacy/manifest.yml create mode 100644 packages/build/tests/plugins/fixtures/functions_src_legacy/netlify-automatic-functions/.gitkeep create mode 100644 packages/build/tests/plugins/fixtures/functions_src_legacy/netlify.toml create mode 100644 packages/build/tests/plugins/fixtures/functions_src_legacy/plugin.js diff --git a/packages/build/src/commands/constants.js b/packages/build/src/commands/constants.js index 924f2aa555..add94e7ae6 100644 --- a/packages/build/src/commands/constants.js +++ b/packages/build/src/commands/constants.js @@ -2,6 +2,9 @@ const pathExists = require('path-exists') +// @todo Remove once we drop support for the legact default functions directory. +const { LEGACY_DEFAULT_FUNCTIONS_DIR } = require('../core/constants') + // Some `constants` have a default value when a specific file exists. // Those default values are assigned by `@netlify/config`. However, the build // command or plugins might create those specific files, in which case, the @@ -19,6 +22,8 @@ const getConstants = async function ({ constants, buildDir }) { // The current directory is the build directory, which is correct, so we don't // need to resolve paths const DEFAULT_PATHS = [ + // @todo Remove once we drop support for the legact default functions directory. + { constantName: 'FUNCTIONS_SRC', defaultPath: LEGACY_DEFAULT_FUNCTIONS_DIR }, { constantName: 'FUNCTIONS_SRC', defaultPath: 'netlify/functions' }, { constantName: 'EDGE_HANDLERS_SRC', defaultPath: 'edge-handlers' }, ] diff --git a/packages/build/src/core/constants.js b/packages/build/src/core/constants.js index 7beadf3be0..ac3d3336e1 100644 --- a/packages/build/src/core/constants.js +++ b/packages/build/src/core/constants.js @@ -4,8 +4,18 @@ const { relative, normalize } = require('path') const { getCacheDir } = require('@netlify/cache-utils') const mapObj = require('map-obj') +const pathExists = require('path-exists') const { version } = require('../../package.json') +const { logLegacyDefaultFunctionsSrcWarning } = require('../log/messages/core') + +// @todo Remove once we drop support for the legact default functions directory. +const LEGACY_DEFAULT_FUNCTIONS_DIR = 'netlify-automatic-functions' +const checkForLegacyDefaultFunctionsDir = async function (logs, buildDir) { + if (await pathExists(`${buildDir}/${LEGACY_DEFAULT_FUNCTIONS_DIR}`)) { + logLegacyDefaultFunctionsSrcWarning(logs, LEGACY_DEFAULT_FUNCTIONS_DIR) + } +} // Retrieve constants passed to plugins const getConstants = async function ({ @@ -19,7 +29,11 @@ const getConstants = async function ({ token, mode, buildbotServerSocket, + logs, }) { + // @todo Remove once we drop support for the legact default functions directory. + await checkForLegacyDefaultFunctionsDir(logs, buildDir) + const isLocal = mode !== 'buildbot' const cacheDir = await getCacheDir({ mode }) @@ -99,4 +113,9 @@ const CONSTANT_PATHS = new Set([ 'CACHE_DIR', ]) -module.exports = { getConstants } +module.exports = { + getConstants, + + // @todo Remove once we drop support for the legact default functions directory. + LEGACY_DEFAULT_FUNCTIONS_DIR, +} diff --git a/packages/build/src/log/messages/core.js b/packages/build/src/log/messages/core.js index 8151ada6c2..9d453e1eff 100644 --- a/packages/build/src/log/messages/core.js +++ b/packages/build/src/log/messages/core.js @@ -7,7 +7,7 @@ const { getFullErrorInfo } = require('../../error/parse/parse') const { serializeLogError } = require('../../error/parse/serialize_log') const { roundTimerToMillisecs } = require('../../time/measure') const { getLogHeaderFunc } = require('../header_func') -const { log, logMessage, logHeader, logSubHeader } = require('../logger') +const { log, logError, logMessage, logHeader, logSubHeader } = require('../logger') const { logOldCliVersionError } = require('../old_version') const { THEME } = require('../theme') @@ -56,10 +56,21 @@ failed since something is still running.`), ) } +const logLegacyDefaultFunctionsSrcWarning = function (logs, legacyDefaultFunctionsSrc) { + logError( + logs, + ` +You or one of your plugins seem to be relying on a default directory for Netlify functions: "${legacyDefaultFunctionsSrc}" +This behavior has been deprecated and our builds will stop automatically bundling functions from this directory. +We recommend renaming this directory to "netlify/functions", or explicitly setting "${legacyDefaultFunctionsSrc}" as the functions directory in your build settings if you wish to continue using it.`, + ) +} + module.exports = { logBuildStart, logBuildError, logBuildSuccess, logTimer, logLingeringProcesses, + logLegacyDefaultFunctionsSrcWarning, } diff --git a/packages/build/tests/plugins/fixtures/functions_src_default_and_legacy/manifest.yml b/packages/build/tests/plugins/fixtures/functions_src_default_and_legacy/manifest.yml new file mode 100644 index 0000000000..a3512f0259 --- /dev/null +++ b/packages/build/tests/plugins/fixtures/functions_src_default_and_legacy/manifest.yml @@ -0,0 +1,2 @@ +name: test +inputs: [] diff --git a/packages/build/tests/plugins/fixtures/functions_src_default_and_legacy/netlify-automatic-functions/.gitkeep b/packages/build/tests/plugins/fixtures/functions_src_default_and_legacy/netlify-automatic-functions/.gitkeep new file mode 100644 index 0000000000..e69de29bb2 diff --git a/packages/build/tests/plugins/fixtures/functions_src_default_and_legacy/netlify.toml b/packages/build/tests/plugins/fixtures/functions_src_default_and_legacy/netlify.toml new file mode 100644 index 0000000000..81b0ce8bb1 --- /dev/null +++ b/packages/build/tests/plugins/fixtures/functions_src_default_and_legacy/netlify.toml @@ -0,0 +1,2 @@ +[[plugins]] +package = "./plugin" diff --git a/packages/build/tests/plugins/fixtures/functions_src_default_and_legacy/netlify/functions/.gitkeep b/packages/build/tests/plugins/fixtures/functions_src_default_and_legacy/netlify/functions/.gitkeep new file mode 100644 index 0000000000..e69de29bb2 diff --git a/packages/build/tests/plugins/fixtures/functions_src_default_and_legacy/plugin.js b/packages/build/tests/plugins/fixtures/functions_src_default_and_legacy/plugin.js new file mode 100644 index 0000000000..6d4d9c04c7 --- /dev/null +++ b/packages/build/tests/plugins/fixtures/functions_src_default_and_legacy/plugin.js @@ -0,0 +1,7 @@ +'use strict' + +module.exports = { + onPreBuild({ constants: { FUNCTIONS_SRC } }) { + console.log(FUNCTIONS_SRC) + }, +} diff --git a/packages/build/tests/plugins/fixtures/functions_src_legacy/manifest.yml b/packages/build/tests/plugins/fixtures/functions_src_legacy/manifest.yml new file mode 100644 index 0000000000..a3512f0259 --- /dev/null +++ b/packages/build/tests/plugins/fixtures/functions_src_legacy/manifest.yml @@ -0,0 +1,2 @@ +name: test +inputs: [] diff --git a/packages/build/tests/plugins/fixtures/functions_src_legacy/netlify-automatic-functions/.gitkeep b/packages/build/tests/plugins/fixtures/functions_src_legacy/netlify-automatic-functions/.gitkeep new file mode 100644 index 0000000000..e69de29bb2 diff --git a/packages/build/tests/plugins/fixtures/functions_src_legacy/netlify.toml b/packages/build/tests/plugins/fixtures/functions_src_legacy/netlify.toml new file mode 100644 index 0000000000..81b0ce8bb1 --- /dev/null +++ b/packages/build/tests/plugins/fixtures/functions_src_legacy/netlify.toml @@ -0,0 +1,2 @@ +[[plugins]] +package = "./plugin" diff --git a/packages/build/tests/plugins/fixtures/functions_src_legacy/plugin.js b/packages/build/tests/plugins/fixtures/functions_src_legacy/plugin.js new file mode 100644 index 0000000000..6d4d9c04c7 --- /dev/null +++ b/packages/build/tests/plugins/fixtures/functions_src_legacy/plugin.js @@ -0,0 +1,7 @@ +'use strict' + +module.exports = { + onPreBuild({ constants: { FUNCTIONS_SRC } }) { + console.log(FUNCTIONS_SRC) + }, +} diff --git a/packages/build/tests/plugins/snapshots/tests.js.md b/packages/build/tests/plugins/snapshots/tests.js.md index d5157dca50..44de4dbbea 100644 --- a/packages/build/tests/plugins/snapshots/tests.js.md +++ b/packages/build/tests/plugins/snapshots/tests.js.md @@ -6292,3 +6292,135 @@ Generated by [AVA](https://ava.li). ────────────────────────────────────────────────────────────────␊ ␊ (Netlify Build completed in 1ms)` + +## constants.FUNCTIONS_SRC ignores the legacy default functions directory if the new default directory exists + +> Snapshot 1 + + `␊ + ────────────────────────────────────────────────────────────────␊ + Netlify Build ␊ + ────────────────────────────────────────────────────────────────␊ + ␊ + > Version␊ + @netlify/build 1.0.0␊ + ␊ + > Flags␊ + debug: true␊ + featureFlags: {}␊ + repositoryRoot: /file/path␊ + testOpts:␊ + pluginsListUrl: test␊ + silentLingeringProcesses: true␊ + ␊ + > Current directory␊ + /file/path␊ + ␊ + > Config file␊ + /file/path␊ + ␊ + > Resolved config␊ + build:␊ + functions: /file/path␊ + plugins:␊ + - inputs: {}␊ + origin: config␊ + package: /file/path␊ + ␊ + > Context␊ + production␊ + ␊ + You or one of your plugins seem to be relying on a default directory for Netlify functions: "netlify-automatic-functions"␊ + This behavior has been deprecated and our builds will stop automatically bundling functions from this directory.␊ + We recommend renaming this directory to "netlify/functions", or explicitly setting "netlify-automatic-functions" as the functions directory in your build settings if you wish to continue using it.␊ + ␊ + > Loading plugins␊ + - /file/path from netlify.toml␊ + ␊ + ────────────────────────────────────────────────────────────────␊ + 1. onPreBuild command from /file/path ␊ + ────────────────────────────────────────────────────────────────␊ + ␊ + netlify/functions␊ + ␊ + (/file/path onPreBuild completed in 1ms)␊ + ␊ + ────────────────────────────────────────────────────────────────␊ + 2. Functions bundling ␊ + ────────────────────────────────────────────────────────────────␊ + ␊ + No Functions were found in netlify/functions directory␊ + ␊ + (Functions bundling completed in 1ms)␊ + ␊ + ────────────────────────────────────────────────────────────────␊ + Netlify Build Complete ␊ + ────────────────────────────────────────────────────────────────␊ + ␊ + (Netlify Build completed in 1ms)` + +## constants.FUNCTIONS_SRC uses legacy default functions directory, if it exists, and shows a warning + +> Snapshot 1 + + `␊ + ────────────────────────────────────────────────────────────────␊ + Netlify Build ␊ + ────────────────────────────────────────────────────────────────␊ + ␊ + > Version␊ + @netlify/build 1.0.0␊ + ␊ + > Flags␊ + debug: true␊ + featureFlags: {}␊ + repositoryRoot: /file/path␊ + testOpts:␊ + pluginsListUrl: test␊ + silentLingeringProcesses: true␊ + ␊ + > Current directory␊ + /file/path␊ + ␊ + > Config file␊ + /file/path␊ + ␊ + > Resolved config␊ + build:␊ + functions: /file/path␊ + plugins:␊ + - inputs: {}␊ + origin: config␊ + package: /file/path␊ + ␊ + > Context␊ + production␊ + ␊ + You or one of your plugins seem to be relying on a default directory for Netlify functions: "netlify-automatic-functions"␊ + This behavior has been deprecated and our builds will stop automatically bundling functions from this directory.␊ + We recommend renaming this directory to "netlify/functions", or explicitly setting "netlify-automatic-functions" as the functions directory in your build settings if you wish to continue using it.␊ + ␊ + > Loading plugins␊ + - /file/path from netlify.toml␊ + ␊ + ────────────────────────────────────────────────────────────────␊ + 1. onPreBuild command from /file/path ␊ + ────────────────────────────────────────────────────────────────␊ + ␊ + netlify-automatic-functions␊ + ␊ + (/file/path onPreBuild completed in 1ms)␊ + ␊ + ────────────────────────────────────────────────────────────────␊ + 2. Functions bundling ␊ + ────────────────────────────────────────────────────────────────␊ + ␊ + No Functions were found in netlify-automatic-functions directory␊ + ␊ + (Functions bundling completed in 1ms)␊ + ␊ + ────────────────────────────────────────────────────────────────␊ + Netlify Build Complete ␊ + ────────────────────────────────────────────────────────────────␊ + ␊ + (Netlify Build completed in 1ms)` diff --git a/packages/build/tests/plugins/snapshots/tests.js.snap b/packages/build/tests/plugins/snapshots/tests.js.snap index d75f4101e6d6cb71093b50062f600f8112e4a2c0..82e68dc2fd778eef631b576cd2d0c86ec85c9d27 100644 GIT binary patch literal 9584 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 O}y_y!>($4 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 A^#A|> diff --git a/packages/build/tests/plugins/tests.js b/packages/build/tests/plugins/tests.js index cf67ee91d9..fa044d09b3 100644 --- a/packages/build/tests/plugins/tests.js +++ b/packages/build/tests/plugins/tests.js @@ -50,6 +50,14 @@ test('constants.FUNCTIONS_SRC default value', async (t) => { await runFixture(t, 'functions_src_default') }) +test('constants.FUNCTIONS_SRC uses legacy default functions directory, if it exists, and shows a warning', async (t) => { + await runFixture(t, 'functions_src_legacy') +}) + +test('constants.FUNCTIONS_SRC ignores the legacy default functions directory if the new default directory exists', async (t) => { + await runFixture(t, 'functions_src_default_and_legacy') +}) + test('constants.FUNCTIONS_SRC relative path', async (t) => { await runFixture(t, 'functions_src_relative') }) diff --git a/packages/config/src/files.js b/packages/config/src/files.js index a0235ffdda..a5877dcf81 100644 --- a/packages/config/src/files.js +++ b/packages/config/src/files.js @@ -84,6 +84,8 @@ const addDefaultPaths = async function (build, baseRel) { } const DEFAULT_PATHS = [ + // @todo Remove once we drop support for the legact default functions directory. + { property: 'functions', defaultPath: 'netlify-automatic-functions' }, { property: 'functions', defaultPath: 'netlify/functions' }, { property: 'edge_handlers', defaultPath: 'edge-handlers' }, ] From 8b2dd8e2bd5d3708c0d55714993cb3ed2193c722 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Eduardo=20Bou=C3=A7as?= Date: Tue, 2 Feb 2021 11:25:54 +0000 Subject: [PATCH 5/7] chore: update test snapshots --- packages/build/package-lock.json | 648 ++++++------------ .../tests/commands/snapshots/tests.js.snap | Bin 837 -> 838 bytes .../build/tests/core/snapshots/tests.js.md | 86 --- .../build/tests/core/snapshots/tests.js.snap | Bin 3935 -> 3564 bytes .../build/tests/env/snapshots/tests.js.snap | Bin 909 -> 911 bytes .../build/tests/error/snapshots/tests.js.snap | Bin 7270 -> 7413 bytes .../tests/install/snapshots/tests.js.snap | Bin 2242 -> 2245 bytes .../tests/manifest/snapshots/tests.js.snap | Bin 2479 -> 2482 bytes .../build/tests/plugins/snapshots/tests.js.md | 264 +++---- .../tests/plugins/snapshots/tests.js.snap | Bin 9584 -> 9509 bytes .../tests/status/snapshots/tests.js.snap | Bin 5792 -> 5664 bytes .../config/tests/cli/snapshots/tests.js.snap | Bin 1370 -> 1371 bytes .../config/tests/load/snapshots/tests.js.snap | Bin 1388 -> 1388 bytes .../config/tests/log/snapshots/tests.js.snap | Bin 1106 -> 1112 bytes 14 files changed, 343 insertions(+), 655 deletions(-) diff --git a/packages/build/package-lock.json b/packages/build/package-lock.json index 532a399ede..f9b03d1fed 100644 --- a/packages/build/package-lock.json +++ b/packages/build/package-lock.json @@ -1057,101 +1057,12 @@ "version": "2.2.1", "resolved": "https://registry.npmjs.org/@mrmlnc/readdir-enhanced/-/readdir-enhanced-2.2.1.tgz", "integrity": "sha512-bPHp6Ji8b41szTOcaP63VlnbbO5Ny6dwAATtY6JTjh5N2OLrb5Qk/Th5cRkRQhkWCt+EJsYrNB0MiL+Gpn6e3g==", + "dev": true, "requires": { "call-me-maybe": "^1.0.1", "glob-to-regexp": "^0.3.0" } }, - "@netlify/cache-utils": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/@netlify/cache-utils/-/cache-utils-1.0.6.tgz", - "integrity": "sha512-Pz/TzLZhMUACT+X7Un6jZCXgEUwLPVNbx69DQtEOMZ6hNBE1b1ErTHFbSaHA0KfDn/yqCII5vS274DERvNuRwg==", - "requires": { - "array-flat-polyfill": "^1.0.1", - "cpy": "^8.1.0", - "del": "^5.1.0", - "get-stream": "^5.1.0", - "global-cache-dir": "^1.0.1", - "globby": "^10.0.2", - "locate-path": "^5.0.0", - "make-dir": "^3.1.0", - "move-file": "^1.2.0", - "path-exists": "^4.0.0", - "readdirp": "^3.4.0" - }, - "dependencies": { - "globby": { - "version": "10.0.2", - "resolved": "https://registry.npmjs.org/globby/-/globby-10.0.2.tgz", - "integrity": "sha512-7dUi7RvCoT/xast/o/dLN53oqND4yk0nsHkhRgn9w65C4PofCLOoJ39iSOg+qVDdWQPIEj+eszMHQ+aLVwwQSg==", - "requires": { - "@types/glob": "^7.1.1", - "array-union": "^2.1.0", - "dir-glob": "^3.0.1", - "fast-glob": "^3.0.3", - "glob": "^7.1.3", - "ignore": "^5.1.1", - "merge2": "^1.2.3", - "slash": "^3.0.0" - } - } - } - }, - "@netlify/config": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/@netlify/config/-/config-3.1.1.tgz", - "integrity": "sha512-FUOXzkn/iHrWU8wezWnAVsO7x/l2mPXBpcaP2X2BIcMzOePvzreHPCAplekjNof2Q1QPjHfo746Bd/CyMIUOeg==", - "requires": { - "@ungap/from-entries": "^0.2.1", - "array-flat-polyfill": "^1.0.1", - "chalk": "^3.0.0", - "deepmerge": "^4.2.2", - "execa": "^3.4.0", - "fast-safe-stringify": "^2.0.7", - "figures": "^3.2.0", - "filter-obj": "^2.0.1", - "find-up": "^4.1.0", - "indent-string": "^4.0.0", - "is-plain-obj": "^2.1.0", - "js-yaml": "^4.0.0", - "netlify": "^6.0.0", - "omit.js": "^2.0.2", - "p-locate": "^4.1.0", - "path-exists": "^4.0.0", - "path-type": "^4.0.0", - "toml": "^3.0.0", - "tomlify-j0.4": "^3.0.0", - "validate-npm-package-name": "^3.0.0", - "yargs": "^15.3.0" - } - }, - "@netlify/functions-utils": { - "version": "1.3.9", - "resolved": "https://registry.npmjs.org/@netlify/functions-utils/-/functions-utils-1.3.9.tgz", - "integrity": "sha512-i3HE/2NXqjUvShOqWCwPsBLV7puloMK6R7u3O6M3m7WacYKD8nh7dwkNIZSq7QbEueljslH8rwzbNw5EtyKIHw==", - "requires": { - "@netlify/zip-it-and-ship-it": "^2.0.0", - "cpy": "^8.1.0", - "path-exists": "^4.0.0" - } - }, - "@netlify/git-utils": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/@netlify/git-utils/-/git-utils-1.0.7.tgz", - "integrity": "sha512-+CT/1D13Uxi3Qlnf0/F2XpmBsTYGCax0SQJhIrq6hLJXJt0Ej2FBA3Rq7XxOXibAptK1Dw2LUi1JWHQ36H/3aw==", - "requires": { - "execa": "^3.4.0", - "map-obj": "^4.1.0", - "micromatch": "^4.0.2", - "moize": "^6.0.0", - "path-exists": "^4.0.0" - } - }, - "@netlify/open-api": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/@netlify/open-api/-/open-api-1.3.0.tgz", - "integrity": "sha512-GcCPXIWI8VDBsLN4nPvb6sKS9tbi4lrHLhex90hT27nwTDeu4HgGE93YilcsgZ1LLODJNxC5LdfTNLtvEHMKVg==" - }, "@netlify/plugin-edge-handlers": { "version": "1.11.3", "resolved": "https://registry.npmjs.org/@netlify/plugin-edge-handlers/-/plugin-edge-handlers-1.11.3.tgz", @@ -1199,14 +1110,6 @@ "resolved": "https://registry.npmjs.org/@netlify/plugins-list/-/plugins-list-2.2.0.tgz", "integrity": "sha512-8OCwatZIPsyze2KZ8fj21/+luzdTA78fxQ6p7UFLE9IRJlZqCRVXtgiIVd/HtEr6B9OacywX3fV1hVRBVlbmDA==" }, - "@netlify/run-utils": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/@netlify/run-utils/-/run-utils-1.0.5.tgz", - "integrity": "sha512-Ovgkw9b7HSLsdhTBA+LNq3KY83gU9DP0xHbwDlg07zLpY3RtRN2IBy11w+nRPjQwfNT33OmuTvayH6amJDku5Q==", - "requires": { - "execa": "^3.4.0" - } - }, "@netlify/zip-it-and-ship-it": { "version": "2.1.3", "resolved": "https://registry.npmjs.org/@netlify/zip-it-and-ship-it/-/zip-it-and-ship-it-2.1.3.tgz", @@ -1458,6 +1361,7 @@ "version": "7.1.3", "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.1.3.tgz", "integrity": "sha512-SEYeGAIQIQX8NN6LDKprLjbrd5dARM5EXsd8GI/A5l0apYI1fGMWgPHSe4ZKL4eozlAyI+doUE9XbYS4xCkQ1w==", + "dev": true, "requires": { "@types/minimatch": "*", "@types/node": "*" @@ -1511,7 +1415,8 @@ "@types/minimatch": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.3.tgz", - "integrity": "sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA==" + "integrity": "sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA==", + "dev": true }, "@types/node": { "version": "14.14.22", @@ -1754,17 +1659,20 @@ "arr-diff": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", - "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=" + "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", + "dev": true }, "arr-flatten": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", - "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==" + "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", + "dev": true }, "arr-union": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", - "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=" + "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=", + "dev": true }, "array-find-index": { "version": "1.0.2", @@ -1791,17 +1699,20 @@ "array-unique": { "version": "0.3.2", "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", - "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=" + "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", + "dev": true }, "arrify": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/arrify/-/arrify-2.0.1.tgz", - "integrity": "sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug==" + "integrity": "sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug==", + "dev": true }, "assign-symbols": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", - "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=" + "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=", + "dev": true }, "ast-module-types": { "version": "2.7.1", @@ -1822,7 +1733,8 @@ "atob": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", - "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==" + "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", + "dev": true }, "ava": { "version": "2.4.0", @@ -2447,14 +2359,6 @@ "estraverse": "^4.1.1" } }, - "backoff": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/backoff/-/backoff-2.5.0.tgz", - "integrity": "sha1-9hbtqdPktmuMp/ynn2lXIsX44m8=", - "requires": { - "precond": "0.2" - } - }, "bail": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/bail/-/bail-1.0.5.tgz", @@ -2469,6 +2373,7 @@ "version": "0.11.2", "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", + "dev": true, "requires": { "cache-base": "^1.0.1", "class-utils": "^0.3.5", @@ -2483,6 +2388,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, "requires": { "is-descriptor": "^1.0.0" } @@ -2491,6 +2397,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, "requires": { "kind-of": "^6.0.0" } @@ -2499,6 +2406,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, "requires": { "kind-of": "^6.0.0" } @@ -2507,6 +2415,7 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, "requires": { "is-accessor-descriptor": "^1.0.0", "is-data-descriptor": "^1.0.0", @@ -2621,11 +2530,6 @@ "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.2.0.tgz", "integrity": "sha512-lGzLKcioL90C7wMczpkY0n/oART3MbBa8R9OFGE1rJxoVI86u4WAGfEk8Wjv10eKSyTHVGkSo3bvBylCEtk7LA==" }, - "builtins": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/builtins/-/builtins-1.0.3.tgz", - "integrity": "sha1-y5T662HIaWRR2zZTThQi+U8K7og=" - }, "byline": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/byline/-/byline-5.0.0.tgz", @@ -2635,6 +2539,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", + "dev": true, "requires": { "collection-visit": "^1.0.0", "component-emitter": "^1.2.1", @@ -2723,7 +2628,8 @@ "call-me-maybe": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/call-me-maybe/-/call-me-maybe-1.0.1.tgz", - "integrity": "sha1-JtII6onje1y95gJQoV8DHBak1ms=" + "integrity": "sha1-JtII6onje1y95gJQoV8DHBak1ms=", + "dev": true }, "call-signature": { "version": "0.0.2", @@ -2865,6 +2771,7 @@ "version": "0.3.6", "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", + "dev": true, "requires": { "arr-union": "^3.1.0", "define-property": "^0.2.5", @@ -2876,22 +2783,13 @@ "version": "0.2.5", "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, "requires": { "is-descriptor": "^0.1.0" } } } }, - "clean-deep": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/clean-deep/-/clean-deep-3.4.0.tgz", - "integrity": "sha512-Lo78NV5ItJL/jl+B5w0BycAisaieJGXK1qYi/9m4SjR8zbqmrUtO7Yhro40wEShGmmxs/aJLI/A+jNhdkXK8mw==", - "requires": { - "lodash.isempty": "^4.4.0", - "lodash.isplainobject": "^4.0.6", - "lodash.transform": "^4.6.0" - } - }, "clean-stack": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", @@ -2980,6 +2878,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", + "dev": true, "requires": { "map-visit": "^1.0.0", "object-visit": "^1.0.0" @@ -3032,7 +2931,8 @@ "component-emitter": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", - "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==" + "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==", + "dev": true }, "compress-commons": { "version": "3.0.0", @@ -3132,7 +3032,8 @@ "copy-descriptor": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", - "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=" + "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=", + "dev": true }, "core-js": { "version": "2.6.12", @@ -3176,6 +3077,7 @@ "version": "8.1.1", "resolved": "https://registry.npmjs.org/cpy/-/cpy-8.1.1.tgz", "integrity": "sha512-vqHT+9o67sMwJ5hUd/BAOYeemkU+MuFRsK2c36Xc3eefQpAsp1kAsyDxEDcc5JS1+y9l/XHPrIsVTcyGGmkUUQ==", + "dev": true, "requires": { "arrify": "^2.0.1", "cp-file": "^7.0.0", @@ -3191,12 +3093,14 @@ "@nodelib/fs.stat": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-1.1.3.tgz", - "integrity": "sha512-shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw==" + "integrity": "sha512-shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw==", + "dev": true }, "array-union": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", + "dev": true, "requires": { "array-uniq": "^1.0.1" } @@ -3204,12 +3108,14 @@ "array-uniq": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", - "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=" + "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=", + "dev": true }, "braces": { "version": "2.3.2", "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "dev": true, "requires": { "arr-flatten": "^1.1.0", "array-unique": "^0.3.2", @@ -3227,6 +3133,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, "requires": { "is-extendable": "^0.1.0" } @@ -3237,6 +3144,7 @@ "version": "2.2.2", "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-2.2.2.tgz", "integrity": "sha512-f9LBi5QWzIW3I6e//uxZoLBlUt9kcp66qo0sSCxL6YZKc75R1c4MFCoe/LaZiBGmgujvQdxc5Bn3QhfyvK5Hsw==", + "dev": true, "requires": { "path-type": "^3.0.0" } @@ -3245,6 +3153,7 @@ "version": "2.2.7", "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-2.2.7.tgz", "integrity": "sha512-g1KuQwHOZAmOZMuBtHdxDtju+T2RT8jgCC9aANsbpdiDDTSnjgfuVsIBNKbUeJI3oKMRExcfNDtJl4OhbffMsw==", + "dev": true, "requires": { "@mrmlnc/readdir-enhanced": "^2.2.1", "@nodelib/fs.stat": "^1.1.2", @@ -3258,6 +3167,7 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "dev": true, "requires": { "extend-shallow": "^2.0.1", "is-number": "^3.0.0", @@ -3269,6 +3179,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, "requires": { "is-extendable": "^0.1.0" } @@ -3279,6 +3190,7 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", + "dev": true, "requires": { "is-glob": "^3.1.0", "path-dirname": "^1.0.0" @@ -3288,6 +3200,7 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", + "dev": true, "requires": { "is-extglob": "^2.1.0" } @@ -3298,6 +3211,7 @@ "version": "9.2.0", "resolved": "https://registry.npmjs.org/globby/-/globby-9.2.0.tgz", "integrity": "sha512-ollPHROa5mcxDEkwg6bPt3QbEf4pDQSNtd6JPL1YvOvAo/7/0VAm9TccUeoTmarjPw4pfUthSCqcyfNB1I3ZSg==", + "dev": true, "requires": { "@types/glob": "^7.1.1", "array-union": "^1.0.2", @@ -3312,17 +3226,20 @@ "ignore": { "version": "4.0.6", "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", - "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==" + "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", + "dev": true }, "is-buffer": { "version": "1.1.6", "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", + "dev": true }, "is-number": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "dev": true, "requires": { "kind-of": "^3.0.2" }, @@ -3331,6 +3248,7 @@ "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, "requires": { "is-buffer": "^1.1.5" } @@ -3341,6 +3259,7 @@ "version": "3.1.10", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "dev": true, "requires": { "arr-diff": "^4.0.0", "array-unique": "^0.3.2", @@ -3361,6 +3280,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/p-map/-/p-map-3.0.0.tgz", "integrity": "sha512-d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ==", + "dev": true, "requires": { "aggregate-error": "^3.0.0" } @@ -3369,6 +3289,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", + "dev": true, "requires": { "pify": "^3.0.0" }, @@ -3376,19 +3297,22 @@ "pify": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=" + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "dev": true } } }, "slash": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz", - "integrity": "sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==" + "integrity": "sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==", + "dev": true }, "to-regex-range": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", + "dev": true, "requires": { "is-number": "^3.0.0", "repeat-string": "^1.6.1" @@ -3437,11 +3361,6 @@ "array-find-index": "^1.0.1" } }, - "cyclist": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-1.0.1.tgz", - "integrity": "sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk=" - }, "date-time": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/date-time/-/date-time-2.1.0.tgz", @@ -3485,7 +3404,8 @@ "decode-uri-component": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", - "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=" + "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=", + "dev": true }, "decompress-response": { "version": "3.3.0", @@ -3550,6 +3470,7 @@ "version": "2.0.2", "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", + "dev": true, "requires": { "is-descriptor": "^1.0.2", "isobject": "^3.0.1" @@ -3559,6 +3480,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, "requires": { "kind-of": "^6.0.0" } @@ -3567,6 +3489,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, "requires": { "kind-of": "^6.0.0" } @@ -3575,6 +3498,7 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, "requires": { "is-accessor-descriptor": "^1.0.0", "is-data-descriptor": "^1.0.0", @@ -3587,6 +3511,7 @@ "version": "5.1.0", "resolved": "https://registry.npmjs.org/del/-/del-5.1.0.tgz", "integrity": "sha512-wH9xOVHnczo9jN2IW68BabcecVPxacIA3g/7z6vhSU/4stOKQzeCRK0yD0A24WiAAUJmmVpWqrERcTxnLo3AnA==", + "dev": true, "requires": { "globby": "^10.0.1", "graceful-fs": "^4.2.2", @@ -3602,6 +3527,7 @@ "version": "10.0.2", "resolved": "https://registry.npmjs.org/globby/-/globby-10.0.2.tgz", "integrity": "sha512-7dUi7RvCoT/xast/o/dLN53oqND4yk0nsHkhRgn9w65C4PofCLOoJ39iSOg+qVDdWQPIEj+eszMHQ+aLVwwQSg==", + "dev": true, "requires": { "@types/glob": "^7.1.1", "array-union": "^2.1.0", @@ -3617,6 +3543,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/p-map/-/p-map-3.0.0.tgz", "integrity": "sha512-d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ==", + "dev": true, "requires": { "aggregate-error": "^3.0.0" } @@ -3917,6 +3844,7 @@ "version": "2.1.4", "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", + "dev": true, "requires": { "debug": "^2.3.3", "define-property": "^0.2.5", @@ -3931,6 +3859,7 @@ "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, "requires": { "ms": "2.0.0" } @@ -3939,6 +3868,7 @@ "version": "0.2.5", "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, "requires": { "is-descriptor": "^0.1.0" } @@ -3947,6 +3877,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, "requires": { "is-extendable": "^0.1.0" } @@ -3954,7 +3885,8 @@ "ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true } } }, @@ -3967,6 +3899,7 @@ "version": "3.0.2", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", + "dev": true, "requires": { "assign-symbols": "^1.0.0", "is-extendable": "^1.0.1" @@ -3976,6 +3909,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, "requires": { "is-plain-object": "^2.0.4" } @@ -3984,6 +3918,7 @@ "version": "2.0.4", "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, "requires": { "isobject": "^3.0.1" } @@ -3994,6 +3929,7 @@ "version": "2.0.4", "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", + "dev": true, "requires": { "array-unique": "^0.3.2", "define-property": "^1.0.0", @@ -4009,6 +3945,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, "requires": { "is-descriptor": "^1.0.0" } @@ -4017,6 +3954,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, "requires": { "is-extendable": "^0.1.0" } @@ -4025,6 +3963,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, "requires": { "kind-of": "^6.0.0" } @@ -4033,6 +3972,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, "requires": { "kind-of": "^6.0.0" } @@ -4041,6 +3981,7 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, "requires": { "is-accessor-descriptor": "^1.0.0", "is-data-descriptor": "^1.0.0", @@ -4078,11 +4019,6 @@ "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=" }, - "fast-safe-stringify": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.0.7.tgz", - "integrity": "sha512-Utm6CdzT+6xsDk2m8S6uL8VHxNwI6Jub+e9NYTcAms28T84pTa25GJQV9j0CY0N1rM8hK4x6grpF2BQf+2qwVA==" - }, "fast-stringify": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/fast-stringify/-/fast-stringify-1.1.2.tgz", @@ -4225,69 +4161,21 @@ "resolved": "https://registry.npmjs.org/flatten/-/flatten-1.0.3.tgz", "integrity": "sha512-dVsPA/UwQ8+2uoFe5GHtiBMu48dWLTdsuEd7CKGlZlD78r1TTWBvDuFaFGKCo/ZfEr95Uk56vZoX86OsHkUeIg==" }, - "flush-write-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-2.0.0.tgz", - "integrity": "sha512-uXClqPxT4xW0lcdSBheb2ObVU+kuqUk3Jk64EwieirEXZx9XUrVwp/JuBfKAWaM4T5Td/VL7QLDWPXp/MvGm/g==", - "requires": { - "inherits": "^2.0.3", - "readable-stream": "^3.1.1" - } - }, - "folder-walker": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/folder-walker/-/folder-walker-3.2.0.tgz", - "integrity": "sha512-VjAQdSLsl6AkpZNyrQJfO7BXLo4chnStqb055bumZMbRUPpVuPN3a4ktsnRCmrFZjtMlYLkyXiR5rAs4WOpC4Q==", - "requires": { - "from2": "^2.1.0" - } - }, "for-in": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", - "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=" + "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", + "dev": true }, "fragment-cache": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", + "dev": true, "requires": { "map-cache": "^0.2.2" } }, - "from2": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz", - "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=", - "requires": { - "inherits": "^2.0.1", - "readable-stream": "^2.0.0" - }, - "dependencies": { - "readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - } - } - }, - "from2-array": { - "version": "0.0.4", - "resolved": "https://registry.npmjs.org/from2-array/-/from2-array-0.0.4.tgz", - "integrity": "sha1-6vwWtl9uJxm81X/cGGkAWsEzLNY=", - "requires": { - "from2": "^2.0.3" - } - }, "fs-constants": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", @@ -4443,7 +4331,8 @@ "get-value": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", - "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=" + "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=", + "dev": true }, "glob": { "version": "7.1.6", @@ -4469,7 +4358,8 @@ "glob-to-regexp": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.3.0.tgz", - "integrity": "sha1-jFoUlNIGbFcMw7/kSWF1rMTVAqs=" + "integrity": "sha1-jFoUlNIGbFcMw7/kSWF1rMTVAqs=", + "dev": true }, "global-cache-dir": { "version": "1.0.1", @@ -4582,6 +4472,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/has-glob/-/has-glob-1.0.0.tgz", "integrity": "sha1-mqqe7b/7G6OZCnsAEPtnjuAIEgc=", + "dev": true, "requires": { "is-glob": "^3.0.0" }, @@ -4590,6 +4481,7 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", + "dev": true, "requires": { "is-extglob": "^2.1.0" } @@ -4605,6 +4497,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", + "dev": true, "requires": { "get-value": "^2.0.6", "has-values": "^1.0.0", @@ -4615,6 +4508,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", + "dev": true, "requires": { "is-number": "^3.0.0", "kind-of": "^4.0.0" @@ -4623,12 +4517,14 @@ "is-buffer": { "version": "1.1.6", "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", + "dev": true }, "is-number": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "dev": true, "requires": { "kind-of": "^3.0.2" }, @@ -4637,6 +4533,7 @@ "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, "requires": { "is-buffer": "^1.1.5" } @@ -4647,6 +4544,7 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", + "dev": true, "requires": { "is-buffer": "^1.1.5" } @@ -4662,6 +4560,7 @@ "version": "5.2.2", "resolved": "https://registry.npmjs.org/hasha/-/hasha-5.2.2.tgz", "integrity": "sha512-Hrp5vIK/xr5SkeN2onO32H0MgNZ0f17HRNH39WfL0SYUNOTZ5Lz1TJ8Pajo/87dYGEFlLMm7mIc/k/s6Bvz9HQ==", + "dev": true, "requires": { "is-stream": "^2.0.0", "type-fest": "^0.8.0" @@ -4825,6 +4724,7 @@ "version": "0.1.6", "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "dev": true, "requires": { "kind-of": "^3.0.2" }, @@ -4832,12 +4732,14 @@ "is-buffer": { "version": "1.1.6", "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", + "dev": true }, "kind-of": { "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, "requires": { "is-buffer": "^1.1.5" } @@ -4892,6 +4794,7 @@ "version": "0.1.4", "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "dev": true, "requires": { "kind-of": "^3.0.2" }, @@ -4899,12 +4802,14 @@ "is-buffer": { "version": "1.1.6", "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", + "dev": true }, "kind-of": { "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, "requires": { "is-buffer": "^1.1.5" } @@ -4921,6 +4826,7 @@ "version": "0.1.6", "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, "requires": { "is-accessor-descriptor": "^0.1.6", "is-data-descriptor": "^0.1.4", @@ -4930,7 +4836,8 @@ "kind-of": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==" + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true } } }, @@ -4943,7 +4850,8 @@ "is-extendable": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=" + "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", + "dev": true }, "is-extglob": { "version": "2.1.1", @@ -5086,7 +4994,8 @@ "is-windows": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", - "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==" + "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", + "dev": true }, "is-yarn-global": { "version": "0.3.0", @@ -5111,7 +5020,8 @@ "isobject": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=" + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true }, "jest-get-type": { "version": "24.9.0", @@ -5281,7 +5191,8 @@ "kind-of": { "version": "6.0.3", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==" + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true }, "latest-version": { "version": "5.1.0", @@ -5386,11 +5297,6 @@ "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz", "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==" }, - "lodash.camelcase": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", - "integrity": "sha1-soqmKIorn8ZRA1x3EfZathkDMaY=" - }, "lodash.clonedeep": { "version": "4.5.0", "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz", @@ -5429,11 +5335,6 @@ "integrity": "sha1-LRd/ZS+jHpObRDjVNBSZ36OCXpk=", "dev": true }, - "lodash.isempty": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/lodash.isempty/-/lodash.isempty-4.4.0.tgz", - "integrity": "sha1-b4bL7di+TsmHvpqvM8loTbGzHn4=" - }, "lodash.islength": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/lodash.islength/-/lodash.islength-4.0.1.tgz", @@ -5451,11 +5352,6 @@ "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", "dev": true }, - "lodash.transform": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/lodash.transform/-/lodash.transform-4.6.0.tgz", - "integrity": "sha1-EjBkIvYzJK7YSD0/ODMrX2cFR6A=" - }, "lodash.union": { "version": "4.6.0", "resolved": "https://registry.npmjs.org/lodash.union/-/lodash.union-4.6.0.tgz", @@ -5572,7 +5468,8 @@ "map-cache": { "version": "0.2.2", "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", - "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=" + "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=", + "dev": true }, "map-obj": { "version": "4.1.0", @@ -5583,6 +5480,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", + "dev": true, "requires": { "object-visit": "^1.0.0" } @@ -5763,11 +5661,6 @@ "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==" }, - "micro-api-client": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/micro-api-client/-/micro-api-client-3.3.0.tgz", - "integrity": "sha512-y0y6CUB9RLVsy3kfgayU28746QrNMpSm9O/AYGNsBgOkJr/X/Jk0VLGoO8Ude7Bpa8adywzF+MzXNZRFRsNPhg==" - }, "micro-memoize": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/micro-memoize/-/micro-memoize-2.1.2.tgz", @@ -5833,6 +5726,7 @@ "version": "1.3.2", "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", + "dev": true, "requires": { "for-in": "^1.0.2", "is-extendable": "^1.0.1" @@ -5842,6 +5736,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, "requires": { "is-plain-object": "^2.0.4" } @@ -5850,6 +5745,7 @@ "version": "2.0.4", "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, "requires": { "isobject": "^3.0.1" } @@ -5884,6 +5780,7 @@ "version": "6.0.0", "resolved": "https://registry.npmjs.org/moize/-/moize-6.0.0.tgz", "integrity": "sha512-/GXPWgxfgQAeM2S7IPh29MDbhK9ZF1YjzP6QRcJ1QcYrqehe6eFpAQZ88Xk/s4dy/wYhMY5axT1vaaWC+lllZA==", + "dev": true, "requires": { "fast-equals": "2.0.0", "micro-memoize": "4.0.9" @@ -5892,12 +5789,14 @@ "fast-equals": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/fast-equals/-/fast-equals-2.0.0.tgz", - "integrity": "sha512-u6RBd8cSiLLxAiC04wVsLV6GBFDOXcTCgWkd3wEoFXgidPSoAJENqC9m7Jb2vewSvjBIfXV6icKeh3GTKfIaXA==" + "integrity": "sha512-u6RBd8cSiLLxAiC04wVsLV6GBFDOXcTCgWkd3wEoFXgidPSoAJENqC9m7Jb2vewSvjBIfXV6icKeh3GTKfIaXA==", + "dev": true }, "micro-memoize": { "version": "4.0.9", "resolved": "https://registry.npmjs.org/micro-memoize/-/micro-memoize-4.0.9.tgz", - "integrity": "sha512-Z2uZi/IUMGQDCXASdujXRqrXXEwSY0XffUrAOllhqzQI3wpUyZbiZTiE2JuYC0HSG2G7DbCS5jZmsEKEGZuemg==" + "integrity": "sha512-Z2uZi/IUMGQDCXASdujXRqrXXEwSY0XffUrAOllhqzQI3wpUyZbiZTiE2JuYC0HSG2G7DbCS5jZmsEKEGZuemg==", + "dev": true } } }, @@ -5905,6 +5804,7 @@ "version": "1.2.0", "resolved": "https://registry.npmjs.org/move-file/-/move-file-1.2.0.tgz", "integrity": "sha512-USHrRmxzGowUWAGBbJPdFjHzEqtxDU03pLHY0Rfqgtnq+q8FOIs8wvkkf+Udmg77SJKs47y9sI0jJvQeYsmiCA==", + "dev": true, "requires": { "cp-file": "^6.1.0", "make-dir": "^3.0.0", @@ -5915,6 +5815,7 @@ "version": "6.2.0", "resolved": "https://registry.npmjs.org/cp-file/-/cp-file-6.2.0.tgz", "integrity": "sha512-fmvV4caBnofhPe8kOcitBwSn2f39QLjnAnGq3gO9dfd75mUytzKNZB1hde6QHunW2Rt+OwuBOMc3i1tNElbszA==", + "dev": true, "requires": { "graceful-fs": "^4.1.2", "make-dir": "^2.0.0", @@ -5927,6 +5828,7 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", + "dev": true, "requires": { "pify": "^4.0.1", "semver": "^5.6.0" @@ -5937,12 +5839,14 @@ "path-exists": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=" + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "dev": true }, "semver": { "version": "5.7.1", "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true } } }, @@ -5955,6 +5859,7 @@ "version": "1.2.13", "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", + "dev": true, "requires": { "arr-diff": "^4.0.0", "array-unique": "^0.3.2", @@ -5974,44 +5879,6 @@ "resolved": "https://registry.npmjs.org/nested-error-stacks/-/nested-error-stacks-2.1.0.tgz", "integrity": "sha512-AO81vsIO1k1sM4Zrd6Hu7regmJN1NSiAja10gc4bX3F0wd+9rQmcuHQaHVQCYIEC8iFXnE+mavh23GOt7wBgug==" }, - "netlify": { - "version": "6.1.6", - "resolved": "https://registry.npmjs.org/netlify/-/netlify-6.1.6.tgz", - "integrity": "sha512-hjXoiqKHetP+OD/DmOLHeTW/AZvsitFCz5d1mOAivrnQXVKrKRS6XHbsLELiUuXv8hW1PrWnImFF0VdLPKo0wA==", - "requires": { - "@netlify/open-api": "^1.3.0", - "@netlify/zip-it-and-ship-it": "^2.1.3", - "backoff": "^2.5.0", - "clean-deep": "^3.4.0", - "flush-write-stream": "^2.0.0", - "folder-walker": "^3.2.0", - "from2-array": "0.0.4", - "hasha": "^5.2.2", - "lodash.camelcase": "^4.3.0", - "micro-api-client": "^3.3.0", - "node-fetch": "^2.6.1", - "omit.js": "^2.0.2", - "p-map": "^3.0.0", - "p-wait-for": "^3.2.0", - "parallel-transform": "^1.2.0", - "pump": "^3.0.0", - "qs": "^6.9.6", - "rimraf": "^3.0.2", - "tempy": "^0.3.0", - "through2-filter": "^3.0.0", - "through2-map": "^3.0.0" - }, - "dependencies": { - "p-map": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-3.0.0.tgz", - "integrity": "sha512-d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ==", - "requires": { - "aggregate-error": "^3.0.0" - } - } - } - }, "netlify-plugin-deploy-preview-commenting": { "version": "0.0.1-alpha.16", "resolved": "https://registry.npmjs.org/netlify-plugin-deploy-preview-commenting/-/netlify-plugin-deploy-preview-commenting-0.0.1-alpha.16.tgz", @@ -6158,6 +6025,7 @@ "version": "0.1.0", "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", + "dev": true, "requires": { "copy-descriptor": "^0.1.0", "define-property": "^0.2.5", @@ -6168,6 +6036,7 @@ "version": "0.2.5", "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, "requires": { "is-descriptor": "^0.1.0" } @@ -6175,12 +6044,14 @@ "is-buffer": { "version": "1.1.6", "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", + "dev": true }, "kind-of": { "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, "requires": { "is-buffer": "^1.1.5" } @@ -6206,6 +6077,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", + "dev": true, "requires": { "isobject": "^3.0.0" } @@ -6225,6 +6097,7 @@ "version": "1.3.0", "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", + "dev": true, "requires": { "isobject": "^3.0.1" } @@ -6239,11 +6112,6 @@ "symbol-observable": "^1.0.4" } }, - "omit.js": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/omit.js/-/omit.js-2.0.2.tgz", - "integrity": "sha512-hJmu9D+bNB40YpL9jYebQl4lsTW6yEHRTroJzNLqQJYHm7c+NQnJGfZmIWh8S3q3KoaxV1aLhV6B3+0N0/kyJg==" - }, "once": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", @@ -6377,6 +6245,7 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/p-all/-/p-all-2.1.0.tgz", "integrity": "sha512-HbZxz5FONzz/z2gJfk6bFca0BCiSRF8jU3yCsWOen/vR6lZjfPOu/e7L3uFzTW1i0H8TlC3vqQstEJPQL4/uLA==", + "dev": true, "requires": { "p-map": "^2.0.0" }, @@ -6384,7 +6253,8 @@ "p-map": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/p-map/-/p-map-2.1.0.tgz", - "integrity": "sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==" + "integrity": "sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==", + "dev": true } } }, @@ -6405,6 +6275,7 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/p-filter/-/p-filter-2.1.0.tgz", "integrity": "sha512-ZBxxZ5sL2HghephhpGAQdoskxplTwr7ICaehZwLIlfL6acuVgZPm8yBNuRAFBGEqtD/hmUeq9eqLg2ys9Xr/yw==", + "dev": true, "requires": { "p-map": "^2.0.0" }, @@ -6412,7 +6283,8 @@ "p-map": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/p-map/-/p-map-2.1.0.tgz", - "integrity": "sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==" + "integrity": "sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==", + "dev": true } } }, @@ -6463,14 +6335,6 @@ "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==" }, - "p-wait-for": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/p-wait-for/-/p-wait-for-3.2.0.tgz", - "integrity": "sha512-wpgERjNkLrBiFmkMEjuZJEWKKDrNfHCKA1OhyN1wg1FrLkULbviEy6py1AyJUgZ72YWFbZ38FIpnqvVqAlDUwA==", - "requires": { - "p-timeout": "^3.0.0" - } - }, "package-hash": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/package-hash/-/package-hash-4.0.0.tgz", @@ -6507,32 +6371,6 @@ "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==", "dev": true }, - "parallel-transform": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/parallel-transform/-/parallel-transform-1.2.0.tgz", - "integrity": "sha512-P2vSmIu38uIlvdcU7fDkyrxj33gTUy/ABO5ZUbGowxNCopBq/OoD42bP4UmMrJoPyk4Uqf0mu3mtWBhHCZD8yg==", - "requires": { - "cyclist": "^1.0.1", - "inherits": "^2.0.3", - "readable-stream": "^2.1.5" - }, - "dependencies": { - "readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - } - } - }, "parse-github-repo-url": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/parse-github-repo-url/-/parse-github-repo-url-1.4.1.tgz", @@ -6562,12 +6400,14 @@ "pascalcase": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", - "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=" + "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=", + "dev": true }, "path-dirname": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", - "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=" + "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=", + "dev": true }, "path-exists": { "version": "4.0.0", @@ -6625,7 +6465,8 @@ "pify": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", - "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==" + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "dev": true }, "pinkie": { "version": "2.0.4", @@ -6737,7 +6578,8 @@ "posix-character-classes": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", - "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=" + "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=", + "dev": true }, "postcss": { "version": "7.0.35", @@ -6814,11 +6656,6 @@ "node-source-walk": "^4.2.0" } }, - "precond": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/precond/-/precond-0.2.3.tgz", - "integrity": "sha1-qpWRvKokkj8eD0hJ0kD0fvwQdaw=" - }, "prelude-ls": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", @@ -6917,11 +6754,6 @@ "escape-goat": "^2.0.0" } }, - "qs": { - "version": "6.9.6", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.9.6.tgz", - "integrity": "sha512-TIRk4aqYLNoJUbd+g2lEdz5kLWIuTMRagAXxl78Q0RiVjAOugHmeKNGdd3cwo/ktpf9aL9epCfFqWDEKysUlLQ==" - }, "quick-lru": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-1.1.0.tgz", @@ -7046,6 +6878,7 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", + "dev": true, "requires": { "extend-shallow": "^3.0.2", "safe-regex": "^1.1.0" @@ -7144,12 +6977,14 @@ "repeat-element": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz", - "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==" + "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==", + "dev": true }, "repeat-string": { "version": "1.6.1", "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", - "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=" + "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", + "dev": true }, "require-directory": { "version": "2.1.1", @@ -7199,7 +7034,8 @@ "resolve-url": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", - "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=" + "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=", + "dev": true }, "responselike": { "version": "1.0.2", @@ -7222,7 +7058,8 @@ "ret": { "version": "0.1.15", "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", - "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==" + "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", + "dev": true }, "reusify": { "version": "1.0.4", @@ -7315,6 +7152,7 @@ "version": "1.1.0", "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", + "dev": true, "requires": { "ret": "~0.1.10" } @@ -7371,6 +7209,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", + "dev": true, "requires": { "extend-shallow": "^2.0.1", "is-extendable": "^0.1.1", @@ -7382,6 +7221,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, "requires": { "is-extendable": "^0.1.0" } @@ -7390,6 +7230,7 @@ "version": "2.0.4", "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, "requires": { "isobject": "^3.0.1" } @@ -7474,6 +7315,7 @@ "version": "0.8.2", "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", + "dev": true, "requires": { "base": "^0.11.1", "debug": "^2.2.0", @@ -7489,6 +7331,7 @@ "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, "requires": { "ms": "2.0.0" } @@ -7497,6 +7340,7 @@ "version": "0.2.5", "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, "requires": { "is-descriptor": "^0.1.0" } @@ -7505,6 +7349,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, "requires": { "is-extendable": "^0.1.0" } @@ -7512,7 +7357,8 @@ "ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true } } }, @@ -7520,6 +7366,7 @@ "version": "2.1.1", "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", + "dev": true, "requires": { "define-property": "^1.0.0", "isobject": "^3.0.0", @@ -7530,6 +7377,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, "requires": { "is-descriptor": "^1.0.0" } @@ -7538,6 +7386,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, "requires": { "kind-of": "^6.0.0" } @@ -7546,6 +7395,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, "requires": { "kind-of": "^6.0.0" } @@ -7554,6 +7404,7 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, "requires": { "is-accessor-descriptor": "^1.0.0", "is-data-descriptor": "^1.0.0", @@ -7566,6 +7417,7 @@ "version": "3.0.1", "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", + "dev": true, "requires": { "kind-of": "^3.2.0" }, @@ -7573,12 +7425,14 @@ "is-buffer": { "version": "1.1.6", "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", + "dev": true }, "kind-of": { "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, "requires": { "is-buffer": "^1.1.5" } @@ -7594,6 +7448,7 @@ "version": "0.5.3", "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz", "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==", + "dev": true, "requires": { "atob": "^2.1.2", "decode-uri-component": "^0.2.0", @@ -7621,7 +7476,8 @@ "source-map-url": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz", - "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=" + "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=", + "dev": true }, "sourcemap-codec": { "version": "1.4.8", @@ -7665,6 +7521,7 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", + "dev": true, "requires": { "extend-shallow": "^3.0.0" } @@ -7709,6 +7566,7 @@ "version": "0.1.2", "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", + "dev": true, "requires": { "define-property": "^0.2.5", "object-copy": "^0.1.0" @@ -7718,6 +7576,7 @@ "version": "0.2.5", "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, "requires": { "is-descriptor": "^0.1.0" } @@ -7907,41 +7766,6 @@ "readable-stream": "^3.1.1" } }, - "temp-dir": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/temp-dir/-/temp-dir-1.0.0.tgz", - "integrity": "sha1-CnwOom06Oa+n4OvqnB/AvE2qAR0=" - }, - "tempy": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/tempy/-/tempy-0.3.0.tgz", - "integrity": "sha512-WrH/pui8YCwmeiAoxV+lpRH9HpRtgBhSR2ViBPgpGb/wnYDzp21R4MN45fsCGvLROvY67o3byhJRYRONJyImVQ==", - "requires": { - "temp-dir": "^1.0.0", - "type-fest": "^0.3.1", - "unique-string": "^1.0.0" - }, - "dependencies": { - "crypto-random-string": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-1.0.0.tgz", - "integrity": "sha1-ojD2T1aDEOFJgAmUB5DsmVRbyn4=" - }, - "type-fest": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.3.1.tgz", - "integrity": "sha512-cUGJnCdr4STbePCgqNFbpVNCepa+kAVohJs1sLhxzdH+gnEoOd8VhbYa7pD3zZYGiURWM2xzEII3fQcRizDkYQ==" - }, - "unique-string": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-1.0.0.tgz", - "integrity": "sha1-nhBXzKhRq7kzmPizOuGHuZyuwRo=", - "requires": { - "crypto-random-string": "^1.0.0" - } - } - } - }, "term-size": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/term-size/-/term-size-2.2.1.tgz", @@ -7964,49 +7788,6 @@ } } }, - "through2": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", - "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", - "requires": { - "readable-stream": "~2.3.6", - "xtend": "~4.0.1" - }, - "dependencies": { - "readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - } - } - }, - "through2-filter": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/through2-filter/-/through2-filter-3.0.0.tgz", - "integrity": "sha512-jaRjI2WxN3W1V8/FMZ9HKIBXixtiqs3SQSX4/YGIiP3gL6djW48VoZq9tDqeCWs3MT8YY5wb/zli8VW8snY1CA==", - "requires": { - "through2": "~2.0.0", - "xtend": "~4.0.0" - } - }, - "through2-map": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/through2-map/-/through2-map-3.0.0.tgz", - "integrity": "sha1-psMCbOY7SJipl9VAUGtm/9lw8nE=", - "requires": { - "through2": "~2.0.0", - "xtend": "^4.0.0" - } - }, "time-zone": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/time-zone/-/time-zone-1.0.0.tgz", @@ -8038,6 +7819,7 @@ "version": "0.3.0", "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", + "dev": true, "requires": { "kind-of": "^3.0.2" }, @@ -8045,12 +7827,14 @@ "is-buffer": { "version": "1.1.6", "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", + "dev": true }, "kind-of": { "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, "requires": { "is-buffer": "^1.1.5" } @@ -8066,6 +7850,7 @@ "version": "3.0.2", "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", + "dev": true, "requires": { "define-property": "^2.0.2", "extend-shallow": "^3.0.2", @@ -8081,16 +7866,6 @@ "is-number": "^7.0.0" } }, - "toml": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/toml/-/toml-3.0.0.tgz", - "integrity": "sha512-y/mWCZinnvxjTKYhJ+pYxwD0mRLVvOtdS2Awbgxln6iEnt4rk0yBxeSBHkGJcPucRiG0e55mwWp+g/05rsrd6w==" - }, - "tomlify-j0.4": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/tomlify-j0.4/-/tomlify-j0.4-3.0.0.tgz", - "integrity": "sha512-2Ulkc8T7mXJ2l0W476YC/A209PR38Nw8PuaCNtk9uI3t1zzFdGQeWYGQvmj2PZkVvRC/Yoi4xQKMRnWc/N29tQ==" - }, "trim-newlines": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-2.0.0.tgz", @@ -8206,6 +7981,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", + "dev": true, "requires": { "arr-union": "^3.1.0", "get-value": "^2.0.6", @@ -8291,6 +8067,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", + "dev": true, "requires": { "has-value": "^0.3.1", "isobject": "^3.0.0" @@ -8300,6 +8077,7 @@ "version": "0.3.1", "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", + "dev": true, "requires": { "get-value": "^2.0.3", "has-values": "^0.1.4", @@ -8310,6 +8088,7 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", + "dev": true, "requires": { "isarray": "1.0.0" } @@ -8319,7 +8098,8 @@ "has-values": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", - "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=" + "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=", + "dev": true } } }, @@ -8346,7 +8126,8 @@ "urix": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", - "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=" + "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=", + "dev": true }, "url-parse-lax": { "version": "3.0.0", @@ -8359,7 +8140,8 @@ "use": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", - "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==" + "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==", + "dev": true }, "util-deprecate": { "version": "1.0.2", @@ -8380,14 +8162,6 @@ "spdx-expression-parse": "^3.0.0" } }, - "validate-npm-package-name": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-3.0.0.tgz", - "integrity": "sha1-X6kS2B630MdK/BQN5zF/DKffQ34=", - "requires": { - "builtins": "^1.0.3" - } - }, "vfile": { "version": "4.2.1", "resolved": "https://registry.npmjs.org/vfile/-/vfile-4.2.1.tgz", diff --git a/packages/build/tests/commands/snapshots/tests.js.snap b/packages/build/tests/commands/snapshots/tests.js.snap index d2f686984e75951ff2401b1389a192e5d4a8e5e4..a7e92b3d05c9d523817a59e44ed4462a583779b8 100644 GIT binary patch literal 838 zcmV-M1G)S`RzV|O(U?IWYi(S zLsqwLL8mTOhYlT*Is`&UK|}@_CY=gO>CMcVyIR;vmz{Z!Wrz8`_wW1O_kBMe^9TS? z1>)C^OifguoBvsz;P>k@UlicBrAh#1p4=O#9<6w}_50O5Bkf&C@uZRM0NkCqy?b%; z+q)01pFRBgDYi}Vq$hR(fR4Q#esjIAWn${+T>JC!Ma7f$>;qsS-A~Tk7(FoidG^K9 z+~d89Cmq=jz~qJboAp&6JEw;F9&}7bcPO58EDFHETYU?3db}nwedtxq75%B=N$*1rgZXAw7XY7oX9Y#OlCR{kD{w7_0O877u+#&OH{Ml9iZ zqe*R48{Hl!O+C$o-arW_twBy5B;Ha;=MF`lQiGQ+3lT*&VVDy-*i8u6U@V1A6ti`n z5lW62@3cA7BChLf(@A5CbzsJOsHu5cPr<|xi+5lvji~tRq9lnJLoC0p*iM^6sptX? zOi|KZOpGg7$?ZX`6i!1|=AJQu$rS+{(3!9#g)L-g&|zW?_f>aH4s*KcAf~!gbR$O0 z95V7l#Wcb~e`<~{x?8m=F`OiKU042busRdkNY*wHMWix1 z;+FEaSXRF+ed0d{(zaRYb`Qfwl40^QQ~tofL~rYs*7}Tnw93-!E$3 zbeN(f3-bY@a*{Ozo*1=-F;Eyn(PF=>sgi*>e#yd8Sa`Uq{4JI&lq~!+3oT+G*wB#k zeFN+2R!Jlw!%E0?BO~YMP5vR#8HzGm5;_%$&LEt*MCU)CQ-V^0vJi`shoPvACGoIU z@-PTz9s(Zzr;kb-!={6Sj?CZ1Vg;GYS*6={(DO$kQzBD-iIm6;7BV+-h15AoK;u;J zkkQ)QEN_ruy+Ia-ffu8ag`ud6C9&{_WML4_T(a=*_d<7^+Rr2k!-~S9DDcBik}wQa QaXk|L0tYWYpIR^g00%jY&Hw-a literal 837 zcmV-L1G@Y{RzVcw~0-XDty00000000B+ zm`z9&Q5?YEm}P8*L{!r0MVqXYyY3}uNlAqYlQbi5A+tMg*C(^{hWFmA9}(D1GU|}v zA*)-rpi>vCLx&DY9ReYwAR>hflTHPt^xo{Gt|{(z+nF~k3-kZKum9(dH%|coRiNeO ziK&U|iwnQ2ll)O#?>7y|XSou9#Y`VLe|z-E?AO`X%k$3;YOXZC8-SVT5BsY}E8gt< zdE>xHTPM<7Y2!Ws9?aa^zcl&duIYGp3$lLT{j?lSx2M9VFh;Naqekt}+3yUK1jUY{D=nbg+vMo`A75Hc`yhd9P4% z#CV6zSt2A|XPZt2TdW;3ewmsHSL-U6m}2pEY-JD?f1Q-15MzjW`- ztnw{hbVx@5gN|}r?fvHsi?AMvFB#kX(B%s5@9`aRpOb&Cp=^z%BOLQSd%p5Yj zsbU#nVSZ_j2INs~N(?8(rR&N+57t*gE6Lg>;wV6s5GnLP%JYB$u?6E=PScU-!&-bhTMXvtgQ&>`GPX zw(a-&39rwAoL4pxH(#QE{qj#U^+osYLRec{#7$8V zG6;m+GBdpUqq;^abZ&x9O`+2dF<0pP&rhlfl)(d~;-TW9`mE~fm@6J`$U~izBs9); z4;jskjS7cB#bIF@xH+m=7>K@D5(|GR7WyIPiiMls4duLOA5$m{Dhdm-AfJAUghA+v PTaoY&`U(==S}*_rc^r@; diff --git a/packages/build/tests/core/snapshots/tests.js.md b/packages/build/tests/core/snapshots/tests.js.md index 3eb0e39c82..c7ade1609a 100644 --- a/packages/build/tests/core/snapshots/tests.js.md +++ b/packages/build/tests/core/snapshots/tests.js.md @@ -945,92 +945,6 @@ Generated by [AVA](https://ava.li). ␊ (Netlify Build completed in 1ms)` -## Print a warning message when "netlify" directory is used - -> Snapshot 1 - - `␊ - ────────────────────────────────────────────────────────────────␊ - Netlify Build ␊ - ────────────────────────────────────────────────────────────────␊ - ␊ - > Version␊ - @netlify/build 1.0.0␊ - ␊ - > Flags␊ - debug: true␊ - featureFlags: {}␊ - repositoryRoot: /file/path␊ - testOpts:␊ - pluginsListUrl: test␊ - silentLingeringProcesses: true␊ - ␊ - > Current directory␊ - /file/path␊ - ␊ - > Config file␊ - No config file was defined: using default values.␊ - ␊ - > Resolved config␊ - {}␊ - ␊ - > Context␊ - production␊ - ␊ - Detected site repository path: "netlify"␊ - Netlify will begin using this path for detecting default deployment features, starting with "netlify/functions" in February 2021.␊ - To avoid potential build failures or irregularities in the future, we recommend changing the name of the "netlify" directory.␊ - For more information, visit the Community update notification: community.netlify.com/t/upcoming-change-netlify-functions-as-zero-config-default-folder-for-deploying-netlify-functions/28789␊ - ␊ - ────────────────────────────────────────────────────────────────␊ - Netlify Build Complete ␊ - ────────────────────────────────────────────────────────────────␊ - ␊ - (Netlify Build completed in 1ms)` - -## Print a warning message when "netlify/functions" directory is used - -> Snapshot 1 - - `␊ - ────────────────────────────────────────────────────────────────␊ - Netlify Build ␊ - ────────────────────────────────────────────────────────────────␊ - ␊ - > Version␊ - @netlify/build 1.0.0␊ - ␊ - > Flags␊ - debug: true␊ - featureFlags: {}␊ - repositoryRoot: /file/path␊ - testOpts:␊ - pluginsListUrl: test␊ - silentLingeringProcesses: true␊ - ␊ - > Current directory␊ - /file/path␊ - ␊ - > Config file␊ - No config file was defined: using default values.␊ - ␊ - > Resolved config␊ - {}␊ - ␊ - > Context␊ - production␊ - ␊ - Detected site repository path: "netlify/functions"␊ - Starting in February 2021, this path will be used to detect and deploy Netlify functions.␊ - To avoid potential build failures or irregularities, we recommend changing the name of the "netlify" directory.␊ - For more information, visit the Community update notification: community.netlify.com/t/upcoming-change-netlify-functions-as-zero-config-default-folder-for-deploying-netlify-functions/28789␊ - ␊ - ────────────────────────────────────────────────────────────────␊ - Netlify Build Complete ␊ - ────────────────────────────────────────────────────────────────␊ - ␊ - (Netlify Build completed in 1ms)` - ## Telemetry error > Snapshot 1 diff --git a/packages/build/tests/core/snapshots/tests.js.snap b/packages/build/tests/core/snapshots/tests.js.snap index 0362c17195b6bdb7cc0d48699dde6f7a06fafda3..b0803dcc1a772a6dcc70c97d0372cd7ce431fcf9 100644 GIT binary patch literal 3564 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 diff --git a/packages/build/tests/env/snapshots/tests.js.snap b/packages/build/tests/env/snapshots/tests.js.snap index b642fff0b45e13c1ced3796edea73fae307050de..2c4af8aa36949482597b52f75ce9e1b304a2213f 100644 GIT binary patch literal 911 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 AHvj+t diff --git a/packages/build/tests/install/snapshots/tests.js.snap b/packages/build/tests/install/snapshots/tests.js.snap index fb24c14942d533851986c23ca9b015a92504a174..d17dc4764b70281d026942a8e04aac0040097e49 100644 GIT binary patch literal 2245 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 QXK>p8Kl{J#Xkn5704^nBWB>pF diff --git a/packages/build/tests/manifest/snapshots/tests.js.snap b/packages/build/tests/manifest/snapshots/tests.js.snap index 74b813e3ca47e346376501de81fdac96b35734d9..f6ef0393ae5837b1a715ee70f4e7c65dbb422cfb 100644 GIT binary patch literal 2482 zcmV;j2~GAvRzV(_(vEMA5mHF*l2oc(OANiH$dq4`hF^k=Z*Jea+hlLwV}B$) z3&=3FtyT)1ro&VjI;E8<%3q?4p%rnIN~c<79Gp6iZ7pTAof^lEOzX%vzVEwxm%H2r zHVMg@&9eh{x##`0@4L_U{p5M~-OJW#2+c)DPA>ZSt<8V>@WoksfB)(M_B{oOW8O@J zHZ5GTp#DhcXYbckJ^%V*)~HBp>&FrLa@`4i_o=1HowqJNboOfxU8hLv2Xhem_w)si zUONBdt>1X(&APkVYClk<_4#=SMgNib{&RE5%E$J6_RyQ>jz<+~-5f$_|Dx&_fz4+kX#EF;sBWF%6-a1{8 z*7OR5&RjZmxN4K~)5``q_2>7pX7bJrvE z`lhp?s(XGlEBk5k+JD|?`II89tG6O_wy$^p`}o_fAKSKU?YWi%>lJD3h$D2v=3n+5 zy7Sl^{Kq?XymWpwFC(n6E`+|-zhlc^{{F&4chZ~w@apxq@DUZ()OLhc?6+RIzj5aF z`Ntn!G4R;qpHQTA*#ijO`1vRI9Zp&YzHo5Q>?d01zpO~>qObF|dN0&Ja`wCZ{Y$Ej z?P~wg-HNmt4&)7Z)EVcV`plkv?Xx0jMOteP@@uMGy!kiXcbvK9*?lzpw@>a;q;=b~ z2u(*br5`CX(Cle7Gppb3+dZlORb#w{+Pap=;=3J9SMf-X$v*~4sUR1eWL)g3V$ zVg?NbQ6d<(nI>yApr6_W{WlM5|OdWfczPMr>Eo@Kw;hX|6{Lr$`T#Ll939 zE?>2JaH!mo;GcQFJ+Tias?_Gqi_~>FRe49DxN?_4XK{IQ+^{jllevMYe5NSA90`-9 zu{WQEZI;$W1>>jvA~fCzXbghx0gYpnhc{*oZY>S2>ZbrB%k*2o(x#?CbWG(e7D&aE zl2U$-dLzTB5lRz7OYi{+XVZEJrya`{fFs<~2p>Au*~R@`RZ*Q2V zby>2Mr-MlOQxZ*^g36X76r8U^Hj``A5B17=TM7R7?;~nXnc*&rS9E{J^4NX2qkVa- zZ9Ldm=Cq0+`P_Ar-{Aq007-}+eF-I26juz#zyJ%Sl#LzvaB4_cZQ(S>f|%UN5MYL7 zF_|HmvUy#^$hlo%ZJu+5^3kEF&kYc-lsm&T5ytVDli)Q>r8v!9PiIh*7LR5rm7%1{;*JO$U6!4c2R1H6+bLyNGGnN->9vj$@h`{C~pROIpwK_cCBSFunqeKLm^q!dwN6 zhjnH@LK*F|AVJXyJP>jX={@QPLZ&Rd$GE=!4%`$D!XyN+23Y$MN_kjc15bv zQerZW7IexG(<%U2@dhSd!0{q>nMIKpjRjlx-xjn`Q4VU0L~^JXA5B~Ob}!WI0Kyd5endJgg6Viel$oh zcN>b_JS4s=V5QteLToH0BetA0;uNtkF|H8gg|8On6>fWMC{7Xw1c4Q%=0^|&24OY; zY63O=2nDD)?t4569+iwvZTD|TG^MTE0&(Sw w=hc|k$0;7*i?=i3xSPCqiD0RV%S~8>l4^XL1W4faN0MV7UzW@LL literal 2479 zcmV;g2~hSyRzVR_o>!S>}CAwqJO#A3@SX)s2H5rK)}mr$nf-M)9X$=<%_{z$wE zlwthUDuQDiM(f~+mXVgfO3O58DNc*UvDGpiI(9l$Dl)B(O{cbucFJ`6zVGf`?vjhy zBqV1x&rWied){~7clX)n`+n}(cXzX83PM+-gU1%Va$UopK7MJ&?%%(@kNrSFVwp1? zp^XcdET}mc{>6tgt6q3(F{@LgwdwN+-CccD-+6p#YWsDI_n-Rq{g)}y`q6BJ{xfyK z!xzr{bjt(py;FTl%e;>iX?WaT5fuHXO8=_4^kS~rCe+Pf(CvtPd3 zLC;mUZRO}}$-2T)Z^0p-ZE8@R(mx0Tm$x9aVz2euU3Js%nSbQr6}^u^NWhKzL`bnt&OL`Rk!_m zM(#`GjsL#g$V-HE+Pw&Ua7a1y!R;HKp0)nFPv{%Z{Z*0Hx!*zPdp+AW|K;y5-hVT_ z<`1u5K9?UKVO{9Zgs9aF>biflwn}Pfbf>26sl2 z;d&z)m)@w4)J5twww}RY$lIS2Q8XMTNP45+Zk~Nv?By8c?i615yua!>1;lAAsb5C^=T~l3; z;V?63IEWI#xWzP?i8DM7`5_;~87iX|Hkge`B0;nK&B%G7gyY;hIp$z1OA}gBqiW1` z7H_FJO%olW(DcI4i!#R~B6P6LaGYX`>kQjzV&`MjPE*h82FdV0Ez!2F%cwSmD)iid zn!J)`By>lm;)uxtx66eVCY?mnNnEG>x@TGOW)-znSjBDBr1v;nh8eC$3#UmZl`cr6 z374-L>T{Lr3I3VywOjvF?lc`-K-m5&sqha+jS z4EDyeh|My(XkhHLUxLP~0F6P=J)m)v^6-3C>$Xzss(unMvdn%9SlZMyh>oco#R93A zfuxk5W1eR?HNqKUXi4snNG_v?amKN10XV`Vjd0hocsq|<(NJ+cp%5A1K8R5+=5Suf zg<7tD1rYM8bc<4&y*O>#St}Ne^1stgJd$9UsAxsLM7WW!W@Iy1*Nl#Qd-+wmy1F8~ ztlg4pc{+%e-z3qsDX45YLcxVLWH;Jw;?}(23Kz0N(Vm+iep>A;(?lA_b54R+GnL{D4?*3{JVh%qyX`mR zxs7;^>A1@1hKOOGcFW#2}ny zxmuR2B_3GDF|7k)1wx2GEFhL2p#ZUfSQDIB2Z2~Y5F!u@h~-BpKIZ7$vqJ&Z$v|MW zy3a&g|O83q@4tCaXu+^e&&51O7b^>P4 zf*?kK)*$i-aDE1G9)w{Da1J;h ziEset{c*m|=rCB9F=R?wfOZMfu$5*G7ahkmGx%@PyOy+u*Y9G$cwl@57{4DFAB3?A z7!T)}{Rm~G_ksjPCvZc^C8YO=ZwQ&R@E+y)_4i;>I0%Cfz#3rfM=0fCJ;c2z0n*8! z_oOt-JX+8xOH8W>WTh7{@f92|W4B2P&%1@c#&RU1N0^zaX{f7fh)LBo;_8N2{SBf+ zT#vWmdGn-Md~Dz!`FpKcwoY!$jqyz@RpCe&EEu^jX%y_1)K#zrhqfRnIEA5&IUXxCzqu|Agv$6icUXTwg~RQ zb2d2rSP`hb4Nwb$SOIDPH9tZDs0}km3%hYt4rx4RGfk4iEa}avSwo$X%*Q0at}?JY z3$P1r@ySImluL@l0#~h6n3|UZHG?o305yS{euM(l90zKC z`jsxjMCN3FY$>$5ON1B0v7!U1+X}ht6xTd#-Xm58CgCF6O0vsPINR&~Z5b8ulJx zt(JvnoH3meW3)4u`95IkvQp@5o;L9X0q6vDjt4p$@hVTsUSA>EQ{SrP9%x_j;JDQ4 zYG#?NPHj4g)Ky*TfrRG)`Trv7Gu90yBkD3pMuKq6VMK)ybSbvVl1Az|tXD`hQWE>9)F~003cUzb^m) diff --git a/packages/build/tests/plugins/snapshots/tests.js.md b/packages/build/tests/plugins/snapshots/tests.js.md index 66224e065e..98d6d5db89 100644 --- a/packages/build/tests/plugins/snapshots/tests.js.md +++ b/packages/build/tests/plugins/snapshots/tests.js.md @@ -3981,6 +3981,72 @@ Generated by [AVA](https://ava.li). ␊ (Netlify Build completed in 1ms)` +## constants.FUNCTIONS_SRC ignores the legacy default functions directory if the new default directory exists + +> Snapshot 1 + + `␊ + ────────────────────────────────────────────────────────────────␊ + Netlify Build ␊ + ────────────────────────────────────────────────────────────────␊ + ␊ + > Version␊ + @netlify/build 1.0.0␊ + ␊ + > Flags␊ + debug: true␊ + featureFlags: {}␊ + repositoryRoot: /file/path␊ + testOpts:␊ + pluginsListUrl: test␊ + silentLingeringProcesses: true␊ + ␊ + > Current directory␊ + /file/path␊ + ␊ + > Config file␊ + /file/path␊ + ␊ + > Resolved config␊ + build:␊ + functions: /file/path␊ + plugins:␊ + - inputs: {}␊ + origin: config␊ + package: /file/path␊ + ␊ + > Context␊ + production␊ + ␊ + You or one of your plugins seem to be relying on a default directory for Netlify functions: "netlify-automatic-functions"␊ + This behavior has been deprecated and our builds will stop automatically bundling functions from this directory.␊ + We recommend renaming this directory to "netlify/functions", or explicitly setting "netlify-automatic-functions" as the functions directory in your build settings if you wish to continue using it.␊ + ␊ + > Loading plugins␊ + - /file/path from netlify.toml␊ + ␊ + ────────────────────────────────────────────────────────────────␊ + 1. onPreBuild command from /file/path ␊ + ────────────────────────────────────────────────────────────────␊ + ␊ + netlify/functions␊ + ␊ + (/file/path onPreBuild completed in 1ms)␊ + ␊ + ────────────────────────────────────────────────────────────────␊ + 2. Functions bundling ␊ + ────────────────────────────────────────────────────────────────␊ + ␊ + No Functions were found in netlify/functions directory␊ + ␊ + (Functions bundling completed in 1ms)␊ + ␊ + ────────────────────────────────────────────────────────────────␊ + Netlify Build Complete ␊ + ────────────────────────────────────────────────────────────────␊ + ␊ + (Netlify Build completed in 1ms)` + ## constants.FUNCTIONS_SRC missing path > Snapshot 1 @@ -4105,6 +4171,72 @@ Generated by [AVA](https://ava.li). ␊ (Netlify Build completed in 1ms)` +## constants.FUNCTIONS_SRC uses legacy default functions directory, if it exists, and shows a warning + +> Snapshot 1 + + `␊ + ────────────────────────────────────────────────────────────────␊ + Netlify Build ␊ + ────────────────────────────────────────────────────────────────␊ + ␊ + > Version␊ + @netlify/build 1.0.0␊ + ␊ + > Flags␊ + debug: true␊ + featureFlags: {}␊ + repositoryRoot: /file/path␊ + testOpts:␊ + pluginsListUrl: test␊ + silentLingeringProcesses: true␊ + ␊ + > Current directory␊ + /file/path␊ + ␊ + > Config file␊ + /file/path␊ + ␊ + > Resolved config␊ + build:␊ + functions: /file/path␊ + plugins:␊ + - inputs: {}␊ + origin: config␊ + package: /file/path␊ + ␊ + > Context␊ + production␊ + ␊ + You or one of your plugins seem to be relying on a default directory for Netlify functions: "netlify-automatic-functions"␊ + This behavior has been deprecated and our builds will stop automatically bundling functions from this directory.␊ + We recommend renaming this directory to "netlify/functions", or explicitly setting "netlify-automatic-functions" as the functions directory in your build settings if you wish to continue using it.␊ + ␊ + > Loading plugins␊ + - /file/path from netlify.toml␊ + ␊ + ────────────────────────────────────────────────────────────────␊ + 1. onPreBuild command from /file/path ␊ + ────────────────────────────────────────────────────────────────␊ + ␊ + netlify-automatic-functions␊ + ␊ + (/file/path onPreBuild completed in 1ms)␊ + ␊ + ────────────────────────────────────────────────────────────────␊ + 2. Functions bundling ␊ + ────────────────────────────────────────────────────────────────␊ + ␊ + No Functions were found in netlify-automatic-functions directory␊ + ␊ + (Functions bundling completed in 1ms)␊ + ␊ + ────────────────────────────────────────────────────────────────␊ + Netlify Build Complete ␊ + ────────────────────────────────────────────────────────────────␊ + ␊ + (Netlify Build completed in 1ms)` + ## constants.IS_LOCAL CI > Snapshot 1 @@ -6267,135 +6399,3 @@ Generated by [AVA](https://ava.li). ────────────────────────────────────────────────────────────────␊ ␊ (Netlify Build completed in 1ms)` - -## constants.FUNCTIONS_SRC ignores the legacy default functions directory if the new default directory exists - -> Snapshot 1 - - `␊ - ────────────────────────────────────────────────────────────────␊ - Netlify Build ␊ - ────────────────────────────────────────────────────────────────␊ - ␊ - > Version␊ - @netlify/build 1.0.0␊ - ␊ - > Flags␊ - debug: true␊ - featureFlags: {}␊ - repositoryRoot: /file/path␊ - testOpts:␊ - pluginsListUrl: test␊ - silentLingeringProcesses: true␊ - ␊ - > Current directory␊ - /file/path␊ - ␊ - > Config file␊ - /file/path␊ - ␊ - > Resolved config␊ - build:␊ - functions: /file/path␊ - plugins:␊ - - inputs: {}␊ - origin: config␊ - package: /file/path␊ - ␊ - > Context␊ - production␊ - ␊ - You or one of your plugins seem to be relying on a default directory for Netlify functions: "netlify-automatic-functions"␊ - This behavior has been deprecated and our builds will stop automatically bundling functions from this directory.␊ - We recommend renaming this directory to "netlify/functions", or explicitly setting "netlify-automatic-functions" as the functions directory in your build settings if you wish to continue using it.␊ - ␊ - > Loading plugins␊ - - /file/path from netlify.toml␊ - ␊ - ────────────────────────────────────────────────────────────────␊ - 1. onPreBuild command from /file/path ␊ - ────────────────────────────────────────────────────────────────␊ - ␊ - netlify/functions␊ - ␊ - (/file/path onPreBuild completed in 1ms)␊ - ␊ - ────────────────────────────────────────────────────────────────␊ - 2. Functions bundling ␊ - ────────────────────────────────────────────────────────────────␊ - ␊ - No Functions were found in netlify/functions directory␊ - ␊ - (Functions bundling completed in 1ms)␊ - ␊ - ────────────────────────────────────────────────────────────────␊ - Netlify Build Complete ␊ - ────────────────────────────────────────────────────────────────␊ - ␊ - (Netlify Build completed in 1ms)` - -## constants.FUNCTIONS_SRC uses legacy default functions directory, if it exists, and shows a warning - -> Snapshot 1 - - `␊ - ────────────────────────────────────────────────────────────────␊ - Netlify Build ␊ - ────────────────────────────────────────────────────────────────␊ - ␊ - > Version␊ - @netlify/build 1.0.0␊ - ␊ - > Flags␊ - debug: true␊ - featureFlags: {}␊ - repositoryRoot: /file/path␊ - testOpts:␊ - pluginsListUrl: test␊ - silentLingeringProcesses: true␊ - ␊ - > Current directory␊ - /file/path␊ - ␊ - > Config file␊ - /file/path␊ - ␊ - > Resolved config␊ - build:␊ - functions: /file/path␊ - plugins:␊ - - inputs: {}␊ - origin: config␊ - package: /file/path␊ - ␊ - > Context␊ - production␊ - ␊ - You or one of your plugins seem to be relying on a default directory for Netlify functions: "netlify-automatic-functions"␊ - This behavior has been deprecated and our builds will stop automatically bundling functions from this directory.␊ - We recommend renaming this directory to "netlify/functions", or explicitly setting "netlify-automatic-functions" as the functions directory in your build settings if you wish to continue using it.␊ - ␊ - > Loading plugins␊ - - /file/path from netlify.toml␊ - ␊ - ────────────────────────────────────────────────────────────────␊ - 1. onPreBuild command from /file/path ␊ - ────────────────────────────────────────────────────────────────␊ - ␊ - netlify-automatic-functions␊ - ␊ - (/file/path onPreBuild completed in 1ms)␊ - ␊ - ────────────────────────────────────────────────────────────────␊ - 2. Functions bundling ␊ - ────────────────────────────────────────────────────────────────␊ - ␊ - No Functions were found in netlify-automatic-functions directory␊ - ␊ - (Functions bundling completed in 1ms)␊ - ␊ - ────────────────────────────────────────────────────────────────␊ - Netlify Build Complete ␊ - ────────────────────────────────────────────────────────────────␊ - ␊ - (Netlify Build completed in 1ms)` diff --git a/packages/build/tests/plugins/snapshots/tests.js.snap b/packages/build/tests/plugins/snapshots/tests.js.snap index 82e68dc2fd778eef631b576cd2d0c86ec85c9d27..e4aeb5e5d9a054ea0ac74de3b9040e522ae49dce 100644 GIT binary patch literal 9509 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 aHHk(8uV+H37ec9@B`PNIIfkp?0RIKZ)@k+t literal 9584 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 diff --git a/packages/config/tests/cli/snapshots/tests.js.snap b/packages/config/tests/cli/snapshots/tests.js.snap index 5cfe30966fe890654048fa709da987b2047b1ad8..45f805040a7a495e4f2dfa934a5a7eb4fa3d2b1f 100644 GIT binary patch delta 1366 zcmV-c1*!Vl3fl^QK~_N^Q*L2!b7*gLAa*he0ss^pPinkNh%zpEWsLE#UYQ?@2mk;8 z00003?N?uDBSjeBoR%KJg0(LSB13&Rm1eK^Ae18LCfT;pG^xo3uh%=nCYdB-w=;2O zw!KpFbmF7>?umGa;H#jZ)ITWra45oo2zrX52vSA4r}IUTe;0qYHBB4U?izpWt*_nt z-d+CSTzvKC&)4#?A13}zUi&w9{Dy6y z{he>dUWq7a{-mZYox5}cd=k5H^Zd-+UtZpsi74r3W14oU_|hNu+;X-?LwGJ%WJDW3aeWj+?x5;stW0nf)xb)2$x3B2d0p2pM58&#DT3<|*th~HWW*7l zc^!g`cM5o?TxxSfupYI!{rBfQMDZgdug=$6s%N2%AOaTtU?@6Z}FV5lmgyfRdkSuu`Y@vV)SUQ7m%dF zjA?(RQ*+BjqhKu*t?W}~20*-yD8Xy8#_KjkD(JF}K?wqvDYEQoZUZ`w-aCzZu5f-4 zhp9jzT9M_29Hf$mvK_t>9fngYL~aL^=aeA%id&Z1J9QMy09~rp#gqeTPExHp2zMGP zNdOiXia|9NpBHvKo(hgeuVp$nOctQ0cMN}WE|A!*wsg1atsW1K`pC!`eOjLmiRPaX zZS2o=IeLBCRSo!#J(K6HKqG{!pi^){ph^NhD zA282^p%zS|A69!cK-$R6_rWy8#X^5xFIaQ2nQr?9W8Ul+#w^@bhIFE6q|<{8AtUVhkI8Y<&hVBw)t@!^4%A7X0K;l??-4C Y1Go6L!@w<0mLSpQf8!A-E6E-J02a=XRR910 delta 1365 zcmV-b1*-bn3fc;PK~_N^Q*L2!b7*gLAa*he0sur(9tQ&jCD$Z}WQ{1+dK2mk;8 z00003?N?uDBSjeBoR%KJg0(LSB13&Rl_uAF5K0krlWf~)n$%>2*Xz}=$xf27+nG2s z+g>SoI`L6`_e4BI@KsPy>K_z*I27SP1U*Gj1UW^yr}IUTe;0ptG))`TzIgHX#Qh)s zF!6Wl>c9E(zwJacxhBNlUE`0v^|gE7yUQP(ORW9;`Fjy1{by9uUVr)IFBM1o>Dy6y z?VWGNUWq7a;iRT5ox6Agd=k5H^Zd-+UtYRC6H(I7#x(6>>7_sJx%2X0;}1Ui>du=_ zd=ydAm@ql<{*`~krR4R?&z_imdNj{f}W$CUl)l}EmRA)=&X z4`|vQ!gIMIBieXm?EurQ*93Tc76k&f3ZD28AfhP;OEFk6QV1)yM z0pm7tIoL$Jt_)U*=KwuT>WE1Qb?!Q*b zggDT`tIFU8q)a9uWUwW~?s^&0qZtg;Os)O%9*_32n1WSHG!m2NL{Wg>sBuo#9e}X1 zRYP3#TRU5n5Z=>PyEcGOuVfa30cp>Oyn6TnZQ6gK&7?~y#Jpo74vI{)qwtls?#wL& zI}0ki4eyikpo5((!L^^ zMvs5?dI3o)%o=7UJ-1xai{?Vf%spjf0mK`K61*;JykSwKg05H?lp%1LBFmoUHlgFh zd#7>F70xf>FdZmFE3$%+gLLXpw!>GV!*FVa$nAjgoDw8&yA_$eQ%AuJ(4|^kOgW(D zB-N^eaHpYC1YmKY7*u2Nd11%nso-ezTBd(haL@pMOU5 ztUtu%ob@?c4ZhRz|7khXqRH;DXcNd(yzl~IJoJ9BMz)35lV0*CXWO5ql+>S~Qrj)%5RaMZ2iVL*>N;!)$2g+~&yvx@y{nG$$O}H({5THz?h87z*E6p7BeaWw XTYTGL;1(xKkZAKi6yvjd$sPaznSh~n diff --git a/packages/config/tests/load/snapshots/tests.js.snap b/packages/config/tests/load/snapshots/tests.js.snap index 61b8c40e2d4e71c111b54c0a164f2c2adcb3cddc..717a029fb8102dd9021f06cc7d2da30bab0b9ba0 100644 GIT binary patch delta 98 zcmV-o0GK2(sXonio|7 E07UL9>Hq)$ delta 98 zcmV-o0G3Fi2;!!$0_@B z%Tr%GcCGf=(F6JSUfK2uMu+%@gwVX)1O-vG&wKS5Ju6Nb_5iZ7s z99#;4_S8cUy_k}m0)gaWL+GiLLTO8(mmYEn#O);q(^D_W?96y~CCiT5u3|+QU%d0) z%=_NVn|a@x(FOou0(?1r=j6-V8xQVJegDqZwI8N3Ap9#&0`T30fBp7XGk?7H&&?n2 zzS?PIurzZVjrv0P_4ixrcRpRWw|~C-`9=myKRyA#=A+iR+P%lK!q)A-ektC#p25<_ z8vtCZf75F1bk2Y)AFjW0^zD@lmj3h>04L9G*Z$u5?BV9IuiyJ^?e#x1So-D+07t+i z_9k-_Ouh8MB=l-7qb9x^4I^4nb%#weCURH|?g!Eg2rHKua{; z9PhgU40~0e=U5$Bf4V2Q10I{esX2DTY@SD-y<#7(AeY*%Qx9ss>Dcj1N|GSrkHW(I zysYXKsYseap(KfVkMz8zD5!Bkld38fC_;HI`p|?qi8KnjpeXorPEf1)MO~E?X-sKW;C$X4ABDyWP1}q{@=j%I2c4 zQ&>tDFOBT^4)ro*htGMY}Tvltgg45cWM9DPX?a4Hcg9A#H&0 z;HO|3+PYSq(bVGf>|Xm}Vo3`l2YbRmlGQM$uuqmtKg`MWoPza+VR?`uL^%m@9F*;b zLsHmU7n^=NF)l8d%XV z>O})Zh!Wkwwn^eDqI`9L`8XMNTc^n~U4(&(o{OnHG9<-$O;$u*l=9l#h`g7xU!U2p z&#X#F2Z&V(gKPj+CA<(-!ayurO6_T3sP75===*Tkx1T5D%*um@W8~>OK1hB1XD!&I&WWSo7Y~ z``(+M_dU%f0ALRMJm=oHeQWXWcb@<7;LcmURtEULtvRIon)~CgA2+tX*f6($yYtm% z21}2>4ZzKXtz$>FHy=Hm|K-Db*YD3~u=L8i0Nj1jIn(&*zf;`3+yDMv`u;`+OIt?) zxZeD>(|OuE2`+xV@#et~u4b_G*Y^Q9_Q`hR+0!o{-#z@z$A9+U`zM2?#}@%O01n}3 zG6%u@8{f?_pR%HWTgHZkn zo6-jG4_yMTp{XkMMMW+xoZ9W*Kh#NKG%pip`8;E;8DJ%d`tP3@@*RV_H=sqHW3y@ zbZ{0u&LFwsjQyA!*4mn8HVJix<0>IoVm>uWC2%3t<%Sg1kRpkz(BP%MPsxIg36-+x z6oDw4POS;eZfI-;UBig3%&*>O#?v) z3*FwngThrp^=c3IQ866!PKsr+2op6u=MuX@h>Ht~DDf&U6qF@;wUDlcB>g=G?Gnb} z&@O>?3A9T{SC=pm%a#+nTA1p6!YKOQANCy;$t<(-6Li1_J^z@#{o>nYdI Y7T1p|22=T_p5?aUf6PFt>BTMp0GhuaApigX From c8c403cfb0f78dd5ec28a8f464be671fed1fce6b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Eduardo=20Bou=C3=A7as?= Date: Thu, 4 Feb 2021 10:22:46 +0000 Subject: [PATCH 6/7] chore: update netlify-automatic-functions warning message --- packages/build/src/log/messages/core.js | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/packages/build/src/log/messages/core.js b/packages/build/src/log/messages/core.js index 9d453e1eff..255abe2283 100644 --- a/packages/build/src/log/messages/core.js +++ b/packages/build/src/log/messages/core.js @@ -60,9 +60,13 @@ const logLegacyDefaultFunctionsSrcWarning = function (logs, legacyDefaultFunctio logError( logs, ` -You or one of your plugins seem to be relying on a default directory for Netlify functions: "${legacyDefaultFunctionsSrc}" -This behavior has been deprecated and our builds will stop automatically bundling functions from this directory. -We recommend renaming this directory to "netlify/functions", or explicitly setting "${legacyDefaultFunctionsSrc}" as the functions directory in your build settings if you wish to continue using it.`, +Detected site repository path: \`${legacyDefaultFunctionsSrc}\`. Netlify no longer recognizes this path as a default Functions directory location and can’t detect and build serverless functions stored there. + +If you created this directory yourself, we recommend that you: +- rename the Functions directory to \`netlify/functions\` +- or explicitly set \`${legacyDefaultFunctionsSrc}\` as the Functions directory in your site’s build settings. + +If you are using the \`@netlify/plugin-nextjs\` plugin, you should update it by running \`npm install @netlify/plugin-nextjs\` in your project directory.`, ) } From 0db710d669c1083372b840801efeaf6bacbf974a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Eduardo=20Bou=C3=A7as?= Date: Thu, 4 Feb 2021 13:57:50 +0000 Subject: [PATCH 7/7] chore: update test snapshots --- .../tests/commands/snapshots/tests.js.snap | Bin 838 -> 838 bytes .../build/tests/core/snapshots/tests.js.snap | Bin 3564 -> 3566 bytes .../build/tests/env/snapshots/tests.js.snap | Bin 911 -> 910 bytes .../build/tests/error/snapshots/tests.js.snap | Bin 7413 -> 7426 bytes .../tests/install/snapshots/tests.js.snap | Bin 2245 -> 2242 bytes .../tests/manifest/snapshots/tests.js.snap | Bin 2482 -> 2479 bytes .../build/tests/plugins/snapshots/tests.js.md | 20 ++++++++++++------ .../tests/plugins/snapshots/tests.js.snap | Bin 9117 -> 9427 bytes .../tests/status/snapshots/tests.js.snap | Bin 5664 -> 5638 bytes .../config/tests/api/snapshots/tests.js.snap | Bin 1726 -> 1718 bytes .../config/tests/cli/snapshots/tests.js.snap | Bin 1377 -> 1367 bytes .../config/tests/log/snapshots/tests.js.snap | Bin 1112 -> 1112 bytes .../tests/normalize/snapshots/tests.js.snap | Bin 1179 -> 1224 bytes .../tests/validate/snapshots/tests.js.snap | Bin 1588 -> 1600 bytes 14 files changed, 14 insertions(+), 6 deletions(-) diff --git a/packages/build/tests/commands/snapshots/tests.js.snap b/packages/build/tests/commands/snapshots/tests.js.snap index a7e92b3d05c9d523817a59e44ed4462a583779b8..42306a4a9a9433a4d5f5d95f895f48c6f67f3baa 100644 GIT binary patch literal 838 zcmV-M1G)S`RzVn6l4kpYzp3R`%HKOc(-00000000B+ znNLU*Q5eAAm}P8*L{#GGMJ6ldtX_hKlvJoNNi*~oGQ0D3eKI?5c<;@cMqoF|s6&E> ztZv7EX?=4f8Y1M@B8sFPXGWF zp!LS_>B-6q3%@Jl{9#@HHwC!QQaJ##&mIg`j+MRM`SbdL(e^H+c+$vj0MNU{v*pS`<(aq7p1Pj6p5{{AJlOYx*V)c|Bu1LWMTvBPs;=Uy$% zKRu{;($PZzOkG;IU03nBb9%V%QO8ttkK#$kqW~Pa)0d?)6IGF!qi?FN>CY8UdM^gR zHgR(IQMQAkGP4GL$KAsrU8q6O5X#KX4s1;!^9HKIA!I$5sQ1? zXjB{226x11Q%^CWH&EP3X^>L~iMJ%uxkHhs)Zmq?LPU{G80LfybrZrh7)xRk#cZAT z3nfR4ciNn35!ZFL>7=m5Ixyos)YLq!r(j}=#XGQ-LR9>9QIbH6A?EKZj??B)DuzG< zQbePz~ebpV4!;Ee^h^g)p-G~u0 zgA9MFSVmZwTbiTG?on+@3@5=|*Oh)8tj&ZrlD196QHU}jTIhjQ|^+U)DTpbEgs^pVlo=6;Yy}z?#;Ui)ZuYofL~hYs*uETnro4oL^Mm zbeNbiX&{?`tELK^%oK?DQ2R(mew<(b+zeGx81`C;6={9vv;?OwL zJ8ZNxHOba8tgU5X7Hw1{3@Zu?q97N3l7wNX Qihm>FA6TK?rCKlm0CFpcAOHXW literal 838 zcmV-M1G)S`RzV|O(U?IWYi(S zLsqwLL8mTOhYlT*Is`&UK|}@_CY=gO>CMcVyIR;vmz{Z!Wrz8`_wW1O_kBMe^9TS? z1>)C^OifguoBvsz;P>k@UlicBrAh#1p4=O#9<6w}_50O5Bkf&C@uZRM0NkCqy?b%; z+q)01pFRBgDYi}Vq$hR(fR4Q#esjIAWn${+T>JC!Ma7f$>;qsS-A~Tk7(FoidG^K9 z+~d89Cmq=jz~qJboAp&6JEw;F9&}7bcPO58EDFHETYU?3db}nwedtxq75%B=N$*1rgZXAw7XY7oX9Y#OlCR{kD{w7_0O877u+#&OH{Ml9iZ zqe*R48{Hl!O+C$o-arW_twBy5B;Ha;=MF`lQiGQ+3lT*&VVDy-*i8u6U@V1A6ti`n z5lW62@3cA7BChLf(@A5CbzsJOsHu5cPr<|xi+5lvji~tRq9lnJLoC0p*iM^6sptX? zOi|KZOpGg7$?ZX`6i!1|=AJQu$rS+{(3!9#g)L-g&|zW?_f>aH4s*KcAf~!gbR$O0 z95V7l#Wcb~e`<~{x?8m=F`OiKU042busRdkNY*wHMWix1 z;+FEaSXRF+ed0d{(zaRYb`Qfwl40^QQ~tofL~rYs*7}Tnw93-!E$3 zbeN(f3-bY@a*{Ozo*1=-F;Eyn(PF=>sgi*>e#yd8Sa`Uq{4JI&lq~!+3oT+G*wB#k zeFN+2R!Jlw!%E0?BO~YMP5vR#8HzGm5;_%$&LEt*MCU)CQ-V^0vJi`shoPvACGoIU z@-PTz9s(Zzr;kb-!={6Sj?CZ1Vg;GYS*6={(DO$kQzBD-iIm6;7BV+-h15AoK;u;J zkkQ)QEN_ruy+Ia-ffu8ag`ud6C9&{_WML4_T(a=*_d<7^+Rr2k!-~S9DDcBik}wQa QaXk|L0tYWYpIR^g00%jY&Hw-a diff --git a/packages/build/tests/core/snapshots/tests.js.snap b/packages/build/tests/core/snapshots/tests.js.snap index b0803dcc1a772a6dcc70c97d0372cd7ce431fcf9..d3340baa56c00617886645425eba7436e45a83cd 100644 GIT binary patch literal 3566 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 literal 911 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%0A8v%jq)8p zB3@82Kq7!d%BEd_L_8rzKq7!dMl6lO#tV7C3yFb6t4B3?@(X}0UeHB=EC5-`rdXFvdN33}VqijS5R$^fkxUfmqBPm7FR|n9hQH3}60KD;n z-U7S&6W-HEEa}UBzj7q^$o3;3}nW2ZM~Y=_<~mm z12U?b*GkX9!Gd1UP5?0gV#=mn0Af5LMgTD`AZEz3jpyc_ZA@yE^KfIg+mGn!#@QYZ za=fu+J@d~u&R!__fMbAswsROYnD;Q`s=Q#o0OkSAE1Px!%=2aY?+J+l;&V+~#mTr< zaC8NxuakJ*iW-1~Y+#nO(%A*Nuep`BvMNB{s(SKPvnSR5-~>QZ0-)iW6Sqb)V5BsJ z6W5G^1%`q>kvOI&rc-?b90WMXYie2hU4S!6205h*Ry2D;w2%n^4_G$s0uSg3F+%w7 z68=L7Uo9d0foZirzyOH=5*a}xQfmDXMKZ&esQuAf8rG@({yW}y)a7*8$rI;B40%-zYB2K24LK3!?>k8@rsYB($(@~)Vdy`X|4VK`>ehXbg5qUr*J$=F~_sK4Y98m zWDc=!6}e4_eT&s!hcwk>dCsEtnII`;#)(P0gk}4vQB(O+b^6gHcC~@n-(DhEYR6H^zI1EnP2&XJ2G@ zns7pmD%7-$A-&-5cW9@xd|<#PGZwM~jSP|oHd2Fqh9{)ojFVW65|1KdgKh67DGGNd z1uXsYg7ov>4K`+6g*_hZ_ob#r?B2Q*84LsrlfM{}O@jtq85Yv5^IBtUx4jHGjbsB! zsEzIwm>{M@p$8TySTe|0X)Q(uF|FiAv{X{ZhV_Du-hvod956_;N#e=-v4Z?otU^Yg zruwbMcvXqL_EVV2v-jz9X@}mH6~P;b;WgOSg|ritrb-D+ZxzvWI^2~sGLl#!9S{2W zt3*~Y_syZt{pH~B_SE7zcM2?;lG2JscNW}8s`=U2Yf>b`@Q0Bmr@@fX*r!JdmT18f48mFf0eVPb4CMgDH zRE{mI7xzo3uH;_T2s3p;*~mudAv_PMx5>B3fsuDW>dgz@0H$g}4y|n3RZFA=P{@ z-eiw&&WZs?T+Gii2ZMO}VU&fMnEV@!v^^>+xx|{XdhecGDv~vMNfEcp19J|}G9h*7 zHs`pvSxkn+7F#wA;$VdPV-G0B`A*An&f8`9w+@Qy!p?LdLYqp@&y>n5p1tw;RPNTL zDAKHh=`v*;knlWD*gSxQRq^^05MV9+0s;gC=uN2t0t5u;iU5~sy^JgNs#7VM4B7&u zOHb(=P9sEpRVVq>CM9r)&pPJBW@`qr8(sudnS&}1^MoA*R5|jAMr*zTpiDrSfHG_M z7f>dkOhB2CXDk>IzCWe*H69RQIS^q)kpT??8U!?0yT5=20Sy8g1T%DEKZQ$-ph6(v|iFxY8vWR@ei}Cjp1_Fo#uT0CkWxwErc5a0N876 AIsgCw literal 7413 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 QO~dN`2LuZRvtg0|0PX&43jhEB literal 2245 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 diff --git a/packages/build/tests/plugins/snapshots/tests.js.md b/packages/build/tests/plugins/snapshots/tests.js.md index a92e9edfe1..db7a82d48e 100644 --- a/packages/build/tests/plugins/snapshots/tests.js.md +++ b/packages/build/tests/plugins/snapshots/tests.js.md @@ -4014,9 +4014,13 @@ Generated by [AVA](https://ava.li). > Context␊ production␊ ␊ - You or one of your plugins seem to be relying on a default directory for Netlify functions: "netlify-automatic-functions"␊ - This behavior has been deprecated and our builds will stop automatically bundling functions from this directory.␊ - We recommend renaming this directory to "netlify/functions", or explicitly setting "netlify-automatic-functions" as the functions directory in your build settings if you wish to continue using it.␊ + Detected site repository path: `netlify-automatic-functions`. Netlify no longer recognizes this path as a default Functions directory location and can’t detect and build serverless functions stored there.␊ + ␊ + If you created this directory yourself, we recommend that you:␊ + - rename the Functions directory to `netlify/functions`␊ + - or explicitly set `netlify-automatic-functions` as the Functions directory in your site’s build settings.␊ + ␊ + If you are using the `@netlify/plugin-nextjs` plugin, you should update it by running `npm install @netlify/plugin-nextjs` in your project directory.␊ ␊ > Loading plugins␊ - /file/path from netlify.toml␊ @@ -4204,9 +4208,13 @@ Generated by [AVA](https://ava.li). > Context␊ production␊ ␊ - You or one of your plugins seem to be relying on a default directory for Netlify functions: "netlify-automatic-functions"␊ - This behavior has been deprecated and our builds will stop automatically bundling functions from this directory.␊ - We recommend renaming this directory to "netlify/functions", or explicitly setting "netlify-automatic-functions" as the functions directory in your build settings if you wish to continue using it.␊ + Detected site repository path: `netlify-automatic-functions`. Netlify no longer recognizes this path as a default Functions directory location and can’t detect and build serverless functions stored there.␊ + ␊ + If you created this directory yourself, we recommend that you:␊ + - rename the Functions directory to `netlify/functions`␊ + - or explicitly set `netlify-automatic-functions` as the Functions directory in your site’s build settings.␊ + ␊ + If you are using the `@netlify/plugin-nextjs` plugin, you should update it by running `npm install @netlify/plugin-nextjs` in your project directory.␊ ␊ > Loading plugins␊ - /file/path from netlify.toml␊ diff --git a/packages/build/tests/plugins/snapshots/tests.js.snap b/packages/build/tests/plugins/snapshots/tests.js.snap index 92cf2cabd8ff88d31c3236d6c40ac70baecf5d6b..aaa355250174c3c6d2d4c35cfa31fdb662af5c16 100644 GIT binary patch literal 9427 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 C0a0%N literal 9117 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 literal 5664 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 M9~Zz2Ug=~201R_E`~Uy| literal 1726 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 ZC~!w_eFg4lvLuPN{{vBgAWF#|000G+mlgm3 literal 1377 zcmV-n1)lmrRzVUhP?D^kP_rCxAslPH`{!_g0>uyX) z|K^`pUp)D9%~F2+W}IGo>+6Y^VnSLvsVLvxD89+iA7A{CsegR+q3@oH3F#*jigKy) z!tZz8e&x@}`yYOJ_w~mo zpMf<72nIH*6NiCK#9G2&gIE^XM7YUMkv60ZL3=h1K+=N%?%I~;cK|3#U+Q58Jo|xT zOD4C!ZSyE_^U)n3elj8u!zUZag5Uwv;E`@UC=65`WYsf>y13E+$JMGF*I^K}1D1p) zs3Xd;3Ek?zGkB4K(CL&=^tL1jHF2#4!fHj>CN^?SdHeBrq3wDpGm>mUs|^CH)FPXp zSGfOLsS;vA6R!$`8<5&=5<&($LhP(pAw8PGK+VM3KksTh%3=mKOx{SgdyW?cc#Wzu zvTgx{g{>xHyx+RnqJ*$WTix0KLS@NJ8wRA25y^UZ0d3Ypn`wtqh?#Ff1!bGJBlned z?#xXDI}2*PhWAN%&_O>7MV{h4b!q=lt#Bt!Ad=(EWKc44dQ@$hv&4VERcH*-a$OZ z7B3QyQPN%%kV}Pm-NSg068vk>J^NSeF1`5%Mtim#2@RjfxPOK2Q9Z;UroaF0H&CTBFqhJQ;Qmj6v z98zS6bm|rLxim~`Cw9}z)=Pt^ySNWwgq)V2AAn_uE9H_}Hs+Eu{r1b+ygn$5S=iIFxpYO# z<%Su;yk?YA%N0Y<>5IBiT&`rYB`uZH2hq)E!%%sCzlRGH_rMbVW8dBOsVgCNJ1_aD zJ$cgSrMBfX5f&bK!18#|>%a^b?AGs$I|6&SNqQphyMObA)FMsW_dxz<6m)<~Af-a$ zg2Z=1e7hp~);G=gG&*|Vhm3NnKTU_M!aivUO@@K-w#dW(%6P{JH0)`5jJz?R+1g+J z(Res8gyD1c@E-$RKI-Gu4vYG{+F{!6nb5PfhiT1TrVWz#t)c_;D j9r5jmZ%2GP;#)A{+X##i-yYifu=w_0uU?BA$sPaz8|t#8 diff --git a/packages/config/tests/log/snapshots/tests.js.snap b/packages/config/tests/log/snapshots/tests.js.snap index 329fe83e369ef9fec6aeb255eb36357e13a71981..fc2855fed27177334ae3c07b80d8e10cff2cf5cb 100644 GIT binary patch literal 1112 zcmV-e1gHB!RzV*@gIu_00000000B+ zSxsmgM-(2l#15OZ)R)pz*{Fo{5IeM&1W{U6+Lg6rEho}$64QodEsdn5>s_%wBB8jD zgG(Tgo_fe37Zci3Adp-V2tAb&2uUdP(nBwWxVhvILJz$p^XJ`_EIV$ys#SM<@y>fQ z?|U5OEaA8#Xjm!(HPUthWT<%+xZ;MT>}9Fex( z1>i#SYNzw8cNBbfYGwbPL+5ftdjB8*2R>SBJb(7pC$UKXGLd>eQtP5OP1S2s|JHGY0vw1+ja}<-GwiZDodB z6DeCfEKk;n>gaH!!Q2Gp;(iurAm4ZffxA=NWho~3ER+xzUAbZT)1#3A<_G;y_>_-m1K@+7 zfobTPMt#Q6%hSg;+Q*3{D~tjh2m?)4qnyGfSuXo9r_*x=)?1bnK!yriv}c!UkU1-_%df@6Z*KIXvLYe~Lx_;^lLzxNQu|*xyu>14!K_ z7ST412gDjYp;*h5{GPiR4lf#b(ZGv_@hTb^LY(NfwoMaP8Re@j%qPjP-#SZ{*&=MK z=&{D<)tm7F1+d+26bA8CvTHRyx7v`AEx*yz;$o{6^H?1c*~1oar{4is|5QCe-6w-m zwS*TJCXt=4G1zqCf~K#);ExQvUf}ftuNTJgk>PY^e47>*4ONp(St%N`WAa|ke|_e^ zK694M28grlb~XTKScc_nlJ literal 1112 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 diff --git a/packages/config/tests/validate/snapshots/tests.js.snap b/packages/config/tests/validate/snapshots/tests.js.snap index a748f111d61353d54c2c3b4159902054e52d1cd8..01e38efc71a75cd08d76f64d9eabc56b5f132f04 100644 GIT binary patch literal 1600 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 z