netlify-cli 6.14.23 → 6.14.24

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "netlify-cli",
3
- "version": "6.14.23",
3
+ "version": "6.14.24",
4
4
  "lockfileVersion": 2,
5
5
  "requires": true,
6
6
  "packages": {
7
7
  "": {
8
8
  "name": "netlify-cli",
9
- "version": "6.14.23",
9
+ "version": "6.14.24",
10
10
  "hasInstallScript": true,
11
11
  "license": "MIT",
12
12
  "dependencies": {
@@ -2636,6 +2636,14 @@
2636
2636
  "node": ">=0.3.1"
2637
2637
  }
2638
2638
  },
2639
+ "node_modules/@netlify/build/node_modules/get-caller-file": {
2640
+ "version": "2.0.5",
2641
+ "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz",
2642
+ "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==",
2643
+ "engines": {
2644
+ "node": "6.* || 8.* || >= 10.*"
2645
+ }
2646
+ },
2639
2647
  "node_modules/@netlify/build/node_modules/get-stream": {
2640
2648
  "version": "5.2.0",
2641
2649
  "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz",
@@ -3028,6 +3036,14 @@
3028
3036
  "node": ">=8"
3029
3037
  }
3030
3038
  },
3039
+ "node_modules/@netlify/config/node_modules/get-caller-file": {
3040
+ "version": "2.0.5",
3041
+ "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz",
3042
+ "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==",
3043
+ "engines": {
3044
+ "node": "6.* || 8.* || >= 10.*"
3045
+ }
3046
+ },
3031
3047
  "node_modules/@netlify/config/node_modules/locate-path": {
3032
3048
  "version": "5.0.0",
3033
3049
  "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
@@ -3592,6 +3608,14 @@
3592
3608
  "node": ">=10.18.0"
3593
3609
  }
3594
3610
  },
3611
+ "node_modules/@netlify/zip-it-and-ship-it/node_modules/get-caller-file": {
3612
+ "version": "2.0.5",
3613
+ "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz",
3614
+ "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==",
3615
+ "engines": {
3616
+ "node": "6.* || 8.* || >= 10.*"
3617
+ }
3618
+ },
3595
3619
  "node_modules/@netlify/zip-it-and-ship-it/node_modules/resolve": {
3596
3620
  "version": "2.0.0-next.3",
3597
3621
  "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.3.tgz",
@@ -5254,9 +5278,9 @@
5254
5278
  }
5255
5279
  },
5256
5280
  "node_modules/ajv": {
5257
- "version": "8.7.1",
5258
- "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.7.1.tgz",
5259
- "integrity": "sha512-gPpOObTO1QjbnN1sVMjJcp1TF9nggMfO4MBR5uQl6ZVTOaEPq5i4oq/6R9q2alMMPB3eg53wFv1RuJBLuxf3Hw==",
5281
+ "version": "8.8.0",
5282
+ "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.8.0.tgz",
5283
+ "integrity": "sha512-L+cJ/+pkdICMueKR6wIx3VP2fjIx3yAhuvadUv/osv9yFD7OVZy442xFF+Oeu3ZvmhBGQzoF6mTSt+LUWBmGQg==",
5260
5284
  "dependencies": {
5261
5285
  "fast-deep-equal": "^3.1.1",
5262
5286
  "json-schema-traverse": "^1.0.0",
@@ -5903,6 +5927,15 @@
5903
5927
  "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==",
5904
5928
  "dev": true
5905
5929
  },
5930
+ "node_modules/ava/node_modules/get-caller-file": {
5931
+ "version": "2.0.5",
5932
+ "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz",
5933
+ "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==",
5934
+ "dev": true,
5935
+ "engines": {
5936
+ "node": "6.* || 8.* || >= 10.*"
5937
+ }
5938
+ },
5906
5939
  "node_modules/ava/node_modules/yargs": {
5907
5940
  "version": "16.2.0",
5908
5941
  "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz",
@@ -6183,12 +6216,12 @@
6183
6216
  }
6184
6217
  },
6185
6218
  "node_modules/browserslist": {
6186
- "version": "4.17.6",
6187
- "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.17.6.tgz",
6188
- "integrity": "sha512-uPgz3vyRTlEiCv4ee9KlsKgo2V6qPk7Jsn0KAn2OBqbqKo3iNcPEC1Ti6J4dwnz+aIRfEEEuOzC9IBk8tXUomw==",
6219
+ "version": "4.18.0",
6220
+ "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.18.0.tgz",
6221
+ "integrity": "sha512-ER2M0g5iAR84fS/zjBDqEgU6iO5fS9JI2EkHr5zxDxYEFk3LjhU9Vpp/INb6RMQphxko7PDV1FH38H/qVP5yCA==",
6189
6222
  "dependencies": {
6190
- "caniuse-lite": "^1.0.30001274",
6191
- "electron-to-chromium": "^1.3.886",
6223
+ "caniuse-lite": "^1.0.30001280",
6224
+ "electron-to-chromium": "^1.3.896",
6192
6225
  "escalade": "^3.1.1",
6193
6226
  "node-releases": "^2.0.1",
6194
6227
  "picocolors": "^1.0.0"
@@ -6419,9 +6452,9 @@
6419
6452
  }
6420
6453
  },
6421
6454
  "node_modules/camelcase": {
6422
- "version": "6.2.0",
6423
- "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.2.0.tgz",
6424
- "integrity": "sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg==",
6455
+ "version": "6.2.1",
6456
+ "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.2.1.tgz",
6457
+ "integrity": "sha512-tVI4q5jjFV5CavAU8DXfza/TJcZutVKo/5Foskmsqcm0MsL91moHvwiGNnqaa2o6PF/7yT5ikDRcVcl8Rj6LCA==",
6425
6458
  "engines": {
6426
6459
  "node": ">=10"
6427
6460
  },
@@ -6465,9 +6498,9 @@
6465
6498
  }
6466
6499
  },
6467
6500
  "node_modules/caniuse-lite": {
6468
- "version": "1.0.30001279",
6469
- "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001279.tgz",
6470
- "integrity": "sha512-VfEHpzHEXj6/CxggTwSFoZBBYGQfQv9Cf42KPlO79sWXCD1QNKWKsKzFeWL7QpZHJQYAvocqV6Rty1yJMkqWLQ==",
6501
+ "version": "1.0.30001280",
6502
+ "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001280.tgz",
6503
+ "integrity": "sha512-kFXwYvHe5rix25uwueBxC569o53J6TpnGu0BEEn+6Lhl2vsnAumRFWEBhDft1fwyo6m1r4i+RqA4+163FpeFcA==",
6471
6504
  "funding": {
6472
6505
  "type": "opencollective",
6473
6506
  "url": "https://opencollective.com/browserslist"
@@ -9005,9 +9038,9 @@
9005
9038
  "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0="
9006
9039
  },
9007
9040
  "node_modules/electron-to-chromium": {
9008
- "version": "1.3.894",
9009
- "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.894.tgz",
9010
- "integrity": "sha512-WY8pA4irAZ4cm/Pr7YFPtPLVqj3nU6d0SbfoHF6M7HZNONfPdAnYAarumqQ75go2LuN72uO9wGuCEqnfya/ytg=="
9041
+ "version": "1.3.896",
9042
+ "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.896.tgz",
9043
+ "integrity": "sha512-NcGkBVXePiuUrPLV8IxP43n1EOtdg+dudVjrfVEUd/bOqpQUFZ2diL5PPYzbgEhZFEltdXV3AcyKwGnEQ5lhMA=="
9011
9044
  },
9012
9045
  "node_modules/elegant-spinner": {
9013
9046
  "version": "1.0.1",
@@ -11526,12 +11559,9 @@
11526
11559
  }
11527
11560
  },
11528
11561
  "node_modules/get-caller-file": {
11529
- "version": "2.0.5",
11530
- "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz",
11531
- "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==",
11532
- "engines": {
11533
- "node": "6.* || 8.* || >= 10.*"
11534
- }
11562
+ "version": "1.0.3",
11563
+ "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz",
11564
+ "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w=="
11535
11565
  },
11536
11566
  "node_modules/get-intrinsic": {
11537
11567
  "version": "1.1.1",
@@ -15069,11 +15099,6 @@
15069
15099
  "node": ">=4.3.0"
15070
15100
  }
15071
15101
  },
15072
- "node_modules/mock-require/node_modules/get-caller-file": {
15073
- "version": "1.0.3",
15074
- "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz",
15075
- "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w=="
15076
- },
15077
15102
  "node_modules/mock-require/node_modules/normalize-path": {
15078
15103
  "version": "2.1.1",
15079
15104
  "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz",
@@ -15154,15 +15179,15 @@
15154
15179
  }
15155
15180
  },
15156
15181
  "node_modules/multiparty/node_modules/http-errors": {
15157
- "version": "1.8.0",
15158
- "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.8.0.tgz",
15159
- "integrity": "sha512-4I8r0C5JDhT5VkvI47QktDW75rNlGVsUf/8hzjCC/wkWI/jdTRmBb9aI7erSG82r1bjKY3F6k28WnsVxB1C73A==",
15182
+ "version": "1.8.1",
15183
+ "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.8.1.tgz",
15184
+ "integrity": "sha512-Kpk9Sm7NmI+RHhnj6OIWDI1d6fIoFAtFt9RLaTMRlg/8w49juAStsrBgp0Dp4OdxdVbRIeKhtCUvoi/RuAhO4g==",
15160
15185
  "dependencies": {
15161
15186
  "depd": "~1.1.2",
15162
15187
  "inherits": "2.0.4",
15163
15188
  "setprototypeof": "1.2.0",
15164
15189
  "statuses": ">= 1.5.0 < 2",
15165
- "toidentifier": "1.0.0"
15190
+ "toidentifier": "1.0.1"
15166
15191
  },
15167
15192
  "engines": {
15168
15193
  "node": ">= 0.6"
@@ -15200,6 +15225,14 @@
15200
15225
  "node": ">= 0.6"
15201
15226
  }
15202
15227
  },
15228
+ "node_modules/multiparty/node_modules/toidentifier": {
15229
+ "version": "1.0.1",
15230
+ "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz",
15231
+ "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==",
15232
+ "engines": {
15233
+ "node": ">=0.6"
15234
+ }
15235
+ },
15203
15236
  "node_modules/mute-stream": {
15204
15237
  "version": "0.0.7",
15205
15238
  "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz",
@@ -15393,9 +15426,9 @@
15393
15426
  }
15394
15427
  },
15395
15428
  "node_modules/nock": {
15396
- "version": "13.2.0",
15397
- "resolved": "https://registry.npmjs.org/nock/-/nock-13.2.0.tgz",
15398
- "integrity": "sha512-j7xjoMU9ZnvkTeoLnD2gIXNlwmLb+GNCPbnqtx7IwlNvdBBqU5aaQPK4Nw6lNmqIJkBubyka6rvrZuDNz1L7Ew==",
15429
+ "version": "13.2.1",
15430
+ "resolved": "https://registry.npmjs.org/nock/-/nock-13.2.1.tgz",
15431
+ "integrity": "sha512-CoHAabbqq/xZEknubuyQMjq6Lfi5b7RtK6SoNK6m40lebGp3yiMagWtIoYaw2s9sISD7wPuCfwFpivVHX/35RA==",
15399
15432
  "dev": true,
15400
15433
  "dependencies": {
15401
15434
  "debug": "^4.1.0",
@@ -16433,6 +16466,15 @@
16433
16466
  "node": ">=8"
16434
16467
  }
16435
16468
  },
16469
+ "node_modules/nyc/node_modules/get-caller-file": {
16470
+ "version": "2.0.5",
16471
+ "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz",
16472
+ "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==",
16473
+ "dev": true,
16474
+ "engines": {
16475
+ "node": "6.* || 8.* || >= 10.*"
16476
+ }
16477
+ },
16436
16478
  "node_modules/nyc/node_modules/locate-path": {
16437
16479
  "version": "5.0.0",
16438
16480
  "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
@@ -19123,9 +19165,9 @@
19123
19165
  }
19124
19166
  },
19125
19167
  "node_modules/rollup": {
19126
- "version": "2.59.0",
19127
- "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.59.0.tgz",
19128
- "integrity": "sha512-l7s90JQhCQ6JyZjKgo7Lq1dKh2RxatOM+Jr6a9F7WbS9WgKbocyUSeLmZl8evAse7y96Ae98L2k1cBOwWD8nHw==",
19168
+ "version": "2.60.0",
19169
+ "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.60.0.tgz",
19170
+ "integrity": "sha512-cHdv9GWd58v58rdseC8e8XIaPUo8a9cgZpnCMMDGZFDZKEODOiPPEQFXLriWr/TjXzhPPmG5bkAztPsOARIcGQ==",
19129
19171
  "bin": {
19130
19172
  "rollup": "dist/bin/rollup"
19131
19173
  },
@@ -19975,9 +20017,9 @@
19975
20017
  }
19976
20018
  },
19977
20019
  "node_modules/spdx-license-ids": {
19978
- "version": "3.0.10",
19979
- "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.10.tgz",
19980
- "integrity": "sha512-oie3/+gKf7QtpitB0LYLETe+k8SifzsX4KixvpOsbI6S0kRiRQ5MKOio8eMSAKQ17N06+wdEOXRiId+zOxo0hA=="
20020
+ "version": "3.0.11",
20021
+ "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.11.tgz",
20022
+ "integrity": "sha512-Ctl2BrFiM0X3MANYgj3CkygxhRmr9mi6xhejbdO960nF6EDJApTYpn0BQnDKlnNBULKiCN1n3w9EBkHK8ZWg+g=="
19981
20023
  },
19982
20024
  "node_modules/split-string": {
19983
20025
  "version": "3.1.0",
@@ -22090,6 +22132,15 @@
22090
22132
  "node": ">=10"
22091
22133
  }
22092
22134
  },
22135
+ "node_modules/yargs/node_modules/get-caller-file": {
22136
+ "version": "2.0.5",
22137
+ "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz",
22138
+ "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==",
22139
+ "dev": true,
22140
+ "engines": {
22141
+ "node": "6.* || 8.* || >= 10.*"
22142
+ }
22143
+ },
22093
22144
  "node_modules/yarn": {
22094
22145
  "version": "1.22.17",
22095
22146
  "resolved": "https://registry.npmjs.org/yarn/-/yarn-1.22.17.tgz",
@@ -23921,6 +23972,11 @@
23921
23972
  "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz",
23922
23973
  "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A=="
23923
23974
  },
23975
+ "get-caller-file": {
23976
+ "version": "2.0.5",
23977
+ "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz",
23978
+ "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg=="
23979
+ },
23924
23980
  "get-stream": {
23925
23981
  "version": "5.2.0",
23926
23982
  "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz",
@@ -24216,6 +24272,11 @@
24216
24272
  "is-obj": "^2.0.0"
24217
24273
  }
24218
24274
  },
24275
+ "get-caller-file": {
24276
+ "version": "2.0.5",
24277
+ "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz",
24278
+ "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg=="
24279
+ },
24219
24280
  "locate-path": {
24220
24281
  "version": "5.0.0",
24221
24282
  "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
@@ -24593,6 +24654,11 @@
24593
24654
  "yargs": "^16.0.0"
24594
24655
  },
24595
24656
  "dependencies": {
24657
+ "get-caller-file": {
24658
+ "version": "2.0.5",
24659
+ "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz",
24660
+ "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg=="
24661
+ },
24596
24662
  "resolve": {
24597
24663
  "version": "2.0.0-next.3",
24598
24664
  "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.3.tgz",
@@ -25899,9 +25965,9 @@
25899
25965
  }
25900
25966
  },
25901
25967
  "ajv": {
25902
- "version": "8.7.1",
25903
- "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.7.1.tgz",
25904
- "integrity": "sha512-gPpOObTO1QjbnN1sVMjJcp1TF9nggMfO4MBR5uQl6ZVTOaEPq5i4oq/6R9q2alMMPB3eg53wFv1RuJBLuxf3Hw==",
25968
+ "version": "8.8.0",
25969
+ "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.8.0.tgz",
25970
+ "integrity": "sha512-L+cJ/+pkdICMueKR6wIx3VP2fjIx3yAhuvadUv/osv9yFD7OVZy442xFF+Oeu3ZvmhBGQzoF6mTSt+LUWBmGQg==",
25905
25971
  "requires": {
25906
25972
  "fast-deep-equal": "^3.1.1",
25907
25973
  "json-schema-traverse": "^1.0.0",
@@ -26400,6 +26466,12 @@
26400
26466
  "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==",
26401
26467
  "dev": true
26402
26468
  },
26469
+ "get-caller-file": {
26470
+ "version": "2.0.5",
26471
+ "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz",
26472
+ "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==",
26473
+ "dev": true
26474
+ },
26403
26475
  "yargs": {
26404
26476
  "version": "16.2.0",
26405
26477
  "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz",
@@ -26625,12 +26697,12 @@
26625
26697
  }
26626
26698
  },
26627
26699
  "browserslist": {
26628
- "version": "4.17.6",
26629
- "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.17.6.tgz",
26630
- "integrity": "sha512-uPgz3vyRTlEiCv4ee9KlsKgo2V6qPk7Jsn0KAn2OBqbqKo3iNcPEC1Ti6J4dwnz+aIRfEEEuOzC9IBk8tXUomw==",
26700
+ "version": "4.18.0",
26701
+ "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.18.0.tgz",
26702
+ "integrity": "sha512-ER2M0g5iAR84fS/zjBDqEgU6iO5fS9JI2EkHr5zxDxYEFk3LjhU9Vpp/INb6RMQphxko7PDV1FH38H/qVP5yCA==",
26631
26703
  "requires": {
26632
- "caniuse-lite": "^1.0.30001274",
26633
- "electron-to-chromium": "^1.3.886",
26704
+ "caniuse-lite": "^1.0.30001280",
26705
+ "electron-to-chromium": "^1.3.896",
26634
26706
  "escalade": "^3.1.1",
26635
26707
  "node-releases": "^2.0.1",
26636
26708
  "picocolors": "^1.0.0"
@@ -26794,9 +26866,9 @@
26794
26866
  "dev": true
26795
26867
  },
26796
26868
  "camelcase": {
26797
- "version": "6.2.0",
26798
- "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.2.0.tgz",
26799
- "integrity": "sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg=="
26869
+ "version": "6.2.1",
26870
+ "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.2.1.tgz",
26871
+ "integrity": "sha512-tVI4q5jjFV5CavAU8DXfza/TJcZutVKo/5Foskmsqcm0MsL91moHvwiGNnqaa2o6PF/7yT5ikDRcVcl8Rj6LCA=="
26800
26872
  },
26801
26873
  "camelcase-keys": {
26802
26874
  "version": "6.2.2",
@@ -26824,9 +26896,9 @@
26824
26896
  }
26825
26897
  },
26826
26898
  "caniuse-lite": {
26827
- "version": "1.0.30001279",
26828
- "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001279.tgz",
26829
- "integrity": "sha512-VfEHpzHEXj6/CxggTwSFoZBBYGQfQv9Cf42KPlO79sWXCD1QNKWKsKzFeWL7QpZHJQYAvocqV6Rty1yJMkqWLQ=="
26899
+ "version": "1.0.30001280",
26900
+ "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001280.tgz",
26901
+ "integrity": "sha512-kFXwYvHe5rix25uwueBxC569o53J6TpnGu0BEEn+6Lhl2vsnAumRFWEBhDft1fwyo6m1r4i+RqA4+163FpeFcA=="
26830
26902
  },
26831
26903
  "cardinal": {
26832
26904
  "version": "2.1.1",
@@ -28796,9 +28868,9 @@
28796
28868
  "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0="
28797
28869
  },
28798
28870
  "electron-to-chromium": {
28799
- "version": "1.3.894",
28800
- "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.894.tgz",
28801
- "integrity": "sha512-WY8pA4irAZ4cm/Pr7YFPtPLVqj3nU6d0SbfoHF6M7HZNONfPdAnYAarumqQ75go2LuN72uO9wGuCEqnfya/ytg=="
28871
+ "version": "1.3.896",
28872
+ "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.896.tgz",
28873
+ "integrity": "sha512-NcGkBVXePiuUrPLV8IxP43n1EOtdg+dudVjrfVEUd/bOqpQUFZ2diL5PPYzbgEhZFEltdXV3AcyKwGnEQ5lhMA=="
28802
28874
  },
28803
28875
  "elegant-spinner": {
28804
28876
  "version": "1.0.1",
@@ -30697,9 +30769,9 @@
30697
30769
  }
30698
30770
  },
30699
30771
  "get-caller-file": {
30700
- "version": "2.0.5",
30701
- "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz",
30702
- "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg=="
30772
+ "version": "1.0.3",
30773
+ "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz",
30774
+ "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w=="
30703
30775
  },
30704
30776
  "get-intrinsic": {
30705
30777
  "version": "1.1.1",
@@ -33346,11 +33418,6 @@
33346
33418
  "normalize-path": "^2.1.1"
33347
33419
  },
33348
33420
  "dependencies": {
33349
- "get-caller-file": {
33350
- "version": "1.0.3",
33351
- "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz",
33352
- "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w=="
33353
- },
33354
33421
  "normalize-path": {
33355
33422
  "version": "2.1.1",
33356
33423
  "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz",
@@ -33415,15 +33482,15 @@
33415
33482
  },
33416
33483
  "dependencies": {
33417
33484
  "http-errors": {
33418
- "version": "1.8.0",
33419
- "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.8.0.tgz",
33420
- "integrity": "sha512-4I8r0C5JDhT5VkvI47QktDW75rNlGVsUf/8hzjCC/wkWI/jdTRmBb9aI7erSG82r1bjKY3F6k28WnsVxB1C73A==",
33485
+ "version": "1.8.1",
33486
+ "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.8.1.tgz",
33487
+ "integrity": "sha512-Kpk9Sm7NmI+RHhnj6OIWDI1d6fIoFAtFt9RLaTMRlg/8w49juAStsrBgp0Dp4OdxdVbRIeKhtCUvoi/RuAhO4g==",
33421
33488
  "requires": {
33422
33489
  "depd": "~1.1.2",
33423
33490
  "inherits": "2.0.4",
33424
33491
  "setprototypeof": "1.2.0",
33425
33492
  "statuses": ">= 1.5.0 < 2",
33426
- "toidentifier": "1.0.0"
33493
+ "toidentifier": "1.0.1"
33427
33494
  }
33428
33495
  },
33429
33496
  "safe-buffer": {
@@ -33440,6 +33507,11 @@
33440
33507
  "version": "1.5.0",
33441
33508
  "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz",
33442
33509
  "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow="
33510
+ },
33511
+ "toidentifier": {
33512
+ "version": "1.0.1",
33513
+ "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz",
33514
+ "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA=="
33443
33515
  }
33444
33516
  }
33445
33517
  },
@@ -33606,9 +33678,9 @@
33606
33678
  }
33607
33679
  },
33608
33680
  "nock": {
33609
- "version": "13.2.0",
33610
- "resolved": "https://registry.npmjs.org/nock/-/nock-13.2.0.tgz",
33611
- "integrity": "sha512-j7xjoMU9ZnvkTeoLnD2gIXNlwmLb+GNCPbnqtx7IwlNvdBBqU5aaQPK4Nw6lNmqIJkBubyka6rvrZuDNz1L7Ew==",
33681
+ "version": "13.2.1",
33682
+ "resolved": "https://registry.npmjs.org/nock/-/nock-13.2.1.tgz",
33683
+ "integrity": "sha512-CoHAabbqq/xZEknubuyQMjq6Lfi5b7RtK6SoNK6m40lebGp3yiMagWtIoYaw2s9sISD7wPuCfwFpivVHX/35RA==",
33612
33684
  "dev": true,
33613
33685
  "requires": {
33614
33686
  "debug": "^4.1.0",
@@ -34421,6 +34493,12 @@
34421
34493
  "path-exists": "^4.0.0"
34422
34494
  }
34423
34495
  },
34496
+ "get-caller-file": {
34497
+ "version": "2.0.5",
34498
+ "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz",
34499
+ "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==",
34500
+ "dev": true
34501
+ },
34424
34502
  "locate-path": {
34425
34503
  "version": "5.0.0",
34426
34504
  "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
@@ -36425,9 +36503,9 @@
36425
36503
  }
36426
36504
  },
36427
36505
  "rollup": {
36428
- "version": "2.59.0",
36429
- "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.59.0.tgz",
36430
- "integrity": "sha512-l7s90JQhCQ6JyZjKgo7Lq1dKh2RxatOM+Jr6a9F7WbS9WgKbocyUSeLmZl8evAse7y96Ae98L2k1cBOwWD8nHw==",
36506
+ "version": "2.60.0",
36507
+ "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.60.0.tgz",
36508
+ "integrity": "sha512-cHdv9GWd58v58rdseC8e8XIaPUo8a9cgZpnCMMDGZFDZKEODOiPPEQFXLriWr/TjXzhPPmG5bkAztPsOARIcGQ==",
36431
36509
  "requires": {
36432
36510
  "fsevents": "~2.3.2"
36433
36511
  }
@@ -37134,9 +37212,9 @@
37134
37212
  }
37135
37213
  },
37136
37214
  "spdx-license-ids": {
37137
- "version": "3.0.10",
37138
- "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.10.tgz",
37139
- "integrity": "sha512-oie3/+gKf7QtpitB0LYLETe+k8SifzsX4KixvpOsbI6S0kRiRQ5MKOio8eMSAKQ17N06+wdEOXRiId+zOxo0hA=="
37215
+ "version": "3.0.11",
37216
+ "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.11.tgz",
37217
+ "integrity": "sha512-Ctl2BrFiM0X3MANYgj3CkygxhRmr9mi6xhejbdO960nF6EDJApTYpn0BQnDKlnNBULKiCN1n3w9EBkHK8ZWg+g=="
37140
37218
  },
37141
37219
  "split-string": {
37142
37220
  "version": "3.1.0",
@@ -38775,6 +38853,14 @@
38775
38853
  "string-width": "^4.2.0",
38776
38854
  "y18n": "^5.0.5",
38777
38855
  "yargs-parser": "^20.2.2"
38856
+ },
38857
+ "dependencies": {
38858
+ "get-caller-file": {
38859
+ "version": "2.0.5",
38860
+ "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz",
38861
+ "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==",
38862
+ "dev": true
38863
+ }
38778
38864
  }
38779
38865
  },
38780
38866
  "yargs-parser": {
@@ -1 +1 @@
1
- {"version":"6.14.23","commands":{"api":{"id":"api","description":"Run any Netlify API method\n\nFor more information on available methods checkout https://open-api.netlify.com/ or run \"netlify api --list\"\n","pluginName":"netlify-cli","pluginType":"core","aliases":[],"examples":["netlify api --list","netlify api getSite --data '{ \"site_id\": \"123456\"}'"],"flags":{"data":{"name":"data","type":"option","char":"d","description":"Data to use"},"list":{"name":"list","type":"boolean","description":"List out available API methods","allowNo":false},"debug":{"name":"debug","type":"boolean","description":"Print debugging information","allowNo":false},"httpProxy":{"name":"httpProxy","type":"option","description":"Proxy server address to route requests through."},"httpProxyCertificateFilename":{"name":"httpProxyCertificateFilename","type":"option","description":"Certificate file to use when connecting using a proxy server"}},"args":[{"name":"apiMethod","description":"Open API method to run"}]},"deploy":{"id":"deploy","description":"Create a new deploy from the contents of a folder\n\nDeploys from the build settings found in the netlify.toml file, or settings from the API.\n\nThe following environment variables can be used to override configuration file lookups and prompts:\n\n- `NETLIFY_AUTH_TOKEN` - an access token to use when authenticating commands. Keep this value private.\n- `NETLIFY_SITE_ID` - override any linked site in the current working directory.\n\nLambda functions in the function folder can be in the following configurations for deployment:\n\n\nBuilt Go binaries:\n------------------\n\n```\nfunctions/\n└── nameOfGoFunction\n```\n\nBuild binaries of your Go language functions into the functions folder as part of your build process.\n\n\nSingle file Node.js functions:\n-----------------------------\n\nBuild dependency bundled Node.js lambda functions with tools like netlify-lambda, webpack or browserify into the function folder as part of your build process.\n\n```\nfunctions/\n└── nameOfBundledNodeJSFunction.js\n```\n\nUnbundled Node.js functions that have dependencies outside or inside of the functions folder:\n---------------------------------------------------------------------------------------------\n\nYou can ship unbundled Node.js functions with the CLI, utilizing top level project dependencies, or a nested package.json.\nIf you use nested dependencies, be sure to populate the nested node_modules as part of your build process before deploying using npm or yarn.\n\n```\nproject/\n├── functions\n│ ├── functionName/\n│ │ ├── functionName.js (Note the folder and the function name need to match)\n│ │ ├── package.json\n│ │ └── node_modules/\n│ └── unbundledFunction.js\n├── package.json\n├── netlify.toml\n└── node_modules/\n```\n\nAny mix of these configurations works as well.\n\n\nNode.js function entry points\n-----------------------------\n\nFunction entry points are determined by the file name and name of the folder they are in:\n\n```\nfunctions/\n├── aFolderlessFunctionEntrypoint.js\n└── functionName/\n ├── notTheEntryPoint.js\n └── functionName.js\n```\n\nSupport for package.json's main field, and intrinsic index.js entrypoints are coming soon.\n","pluginName":"netlify-cli","pluginType":"core","aliases":[],"examples":["netlify deploy","netlify deploy --prod","netlify deploy --prod --open","netlify deploy --prodIfUnlocked","netlify deploy --message \"A message with an $ENV_VAR\"","netlify deploy --auth $NETLIFY_AUTH_TOKEN","netlify deploy --trigger"],"flags":{"dir":{"name":"dir","type":"option","char":"d","description":"Specify a folder to deploy"},"functions":{"name":"functions","type":"option","char":"f","description":"Specify a functions folder to deploy"},"prod":{"name":"prod","type":"boolean","char":"p","description":"Deploy to production","allowNo":false},"prodIfUnlocked":{"name":"prodIfUnlocked","type":"boolean","description":"Deploy to production if unlocked, create a draft otherwise","allowNo":false},"alias":{"name":"alias","type":"option","description":"Specifies the alias for deployment, the string at the beginning of the deploy subdomain. Useful for creating predictable deployment URLs. Avoid setting an alias string to the same value as a deployed branch. `alias` doesn’t create a branch deploy and can’t be used in conjunction with the branch subdomain feature. Maximum 37 characters."},"branch":{"name":"branch","type":"option","char":"b","description":"Serves the same functionality as --alias. Deprecated and will be removed in future versions"},"open":{"name":"open","type":"boolean","char":"o","description":"Open site after deploy","allowNo":false},"message":{"name":"message","type":"option","char":"m","description":"A short message to include in the deploy log"},"auth":{"name":"auth","type":"option","char":"a","description":"Netlify auth token to deploy with"},"site":{"name":"site","type":"option","char":"s","description":"A site ID to deploy to"},"json":{"name":"json","type":"boolean","description":"Output deployment data as JSON","allowNo":false},"timeout":{"name":"timeout","type":"option","description":"Timeout to wait for deployment to finish"},"trigger":{"name":"trigger","type":"boolean","description":"Trigger a new build of your site on Netlify without uploading local files","allowNo":false},"build":{"name":"build","type":"boolean","description":"Run build command before deploying","allowNo":false},"skip-functions-cache":{"name":"skip-functions-cache","type":"boolean","description":"Ignore any functions created as part of a previous `build` or `deploy` commands, forcing them to be bundled again as part of the deployment","allowNo":false},"debug":{"name":"debug","type":"boolean","description":"Print debugging information","allowNo":false},"httpProxy":{"name":"httpProxy","type":"option","description":"Proxy server address to route requests through."},"httpProxyCertificateFilename":{"name":"httpProxyCertificateFilename","type":"option","description":"Certificate file to use when connecting using a proxy server"}},"args":[]},"init":{"id":"init","description":"Configure continuous deployment for a new or existing site. To create a new site without continuous deployment, use `netlify sites:create`","pluginName":"netlify-cli","pluginType":"core","aliases":[],"flags":{"manual":{"name":"manual","type":"boolean","char":"m","description":"Manually configure a git remote for CI","allowNo":false},"force":{"name":"force","type":"boolean","description":"Reinitialize CI hooks if the linked site is already configured to use CI","allowNo":false},"gitRemoteName":{"name":"gitRemoteName","type":"option","description":"Name of Git remote to use. e.g. \"origin\""},"debug":{"name":"debug","type":"boolean","description":"Print debugging information","allowNo":false},"httpProxy":{"name":"httpProxy","type":"option","description":"Proxy server address to route requests through."},"httpProxyCertificateFilename":{"name":"httpProxyCertificateFilename","type":"option","description":"Certificate file to use when connecting using a proxy server"}},"args":[]},"link":{"id":"link","description":"Link a local repo or project folder to an existing site on Netlify","pluginName":"netlify-cli","pluginType":"core","aliases":[],"examples":["netlify link","netlify link --id 123-123-123-123","netlify link --name my-site-name"],"flags":{"id":{"name":"id","type":"option","description":"ID of site to link to"},"name":{"name":"name","type":"option","description":"Name of site to link to"},"gitRemoteName":{"name":"gitRemoteName","type":"option","description":"Name of Git remote to use. e.g. \"origin\""},"debug":{"name":"debug","type":"boolean","description":"Print debugging information","allowNo":false},"httpProxy":{"name":"httpProxy","type":"option","description":"Proxy server address to route requests through."},"httpProxyCertificateFilename":{"name":"httpProxyCertificateFilename","type":"option","description":"Certificate file to use when connecting using a proxy server"}},"args":[]},"login":{"id":"login","description":"Login to your Netlify account\n\nOpens a web browser to acquire an OAuth token.\n","pluginName":"netlify-cli","pluginType":"core","aliases":[],"flags":{"new":{"name":"new","type":"boolean","description":"Login to new Netlify account","allowNo":false},"debug":{"name":"debug","type":"boolean","description":"Print debugging information","allowNo":false},"httpProxy":{"name":"httpProxy","type":"option","description":"Proxy server address to route requests through."},"httpProxyCertificateFilename":{"name":"httpProxyCertificateFilename","type":"option","description":"Certificate file to use when connecting using a proxy server"}},"args":[]},"logout":{"id":"logout","description":"Logout of your Netlify account","pluginName":"netlify-cli","pluginType":"core","hidden":true,"aliases":[],"flags":{"debug":{"name":"debug","type":"boolean","description":"Print debugging information","allowNo":false},"httpProxy":{"name":"httpProxy","type":"option","description":"Proxy server address to route requests through."},"httpProxyCertificateFilename":{"name":"httpProxyCertificateFilename","type":"option","description":"Certificate file to use when connecting using a proxy server"}},"args":[]},"switch":{"id":"switch","description":"Switch your active Netlify account","pluginName":"netlify-cli","pluginType":"core","aliases":[],"flags":{"debug":{"name":"debug","type":"boolean","description":"Print debugging information","allowNo":false},"httpProxy":{"name":"httpProxy","type":"option","description":"Proxy server address to route requests through."},"httpProxyCertificateFilename":{"name":"httpProxyCertificateFilename","type":"option","description":"Certificate file to use when connecting using a proxy server"}},"args":[]},"unlink":{"id":"unlink","description":"Unlink a local folder from a Netlify site","pluginName":"netlify-cli","pluginType":"core","aliases":[],"flags":{"debug":{"name":"debug","type":"boolean","description":"Print debugging information","allowNo":false},"httpProxy":{"name":"httpProxy","type":"option","description":"Proxy server address to route requests through."},"httpProxyCertificateFilename":{"name":"httpProxyCertificateFilename","type":"option","description":"Certificate file to use when connecting using a proxy server"}},"args":[]},"watch":{"id":"watch","description":"Watch for site deploy to finish","pluginName":"netlify-cli","pluginType":"core","aliases":[],"examples":["netlify watch","git push && netlify watch"],"flags":{"debug":{"name":"debug","type":"boolean","description":"Print debugging information","allowNo":false},"httpProxy":{"name":"httpProxy","type":"option","description":"Proxy server address to route requests through."},"httpProxyCertificateFilename":{"name":"httpProxyCertificateFilename","type":"option","description":"Certificate file to use when connecting using a proxy server"}},"args":[]},"addons:auth":{"id":"addons:auth","description":"Login to add-on provider","pluginName":"netlify-cli","pluginType":"core","aliases":["addon:auth"],"flags":{"debug":{"name":"debug","type":"boolean","description":"Print debugging information","allowNo":false},"httpProxy":{"name":"httpProxy","type":"option","description":"Proxy server address to route requests through."},"httpProxyCertificateFilename":{"name":"httpProxyCertificateFilename","type":"option","description":"Certificate file to use when connecting using a proxy server"}},"args":[{"name":"name","description":"Add-on slug","required":true}]},"addons:config":{"id":"addons:config","description":"Configure add-on settings","pluginName":"netlify-cli","pluginType":"core","aliases":["addon:config"],"flags":{"debug":{"name":"debug","type":"boolean","description":"Print debugging information","allowNo":false},"httpProxy":{"name":"httpProxy","type":"option","description":"Proxy server address to route requests through."},"httpProxyCertificateFilename":{"name":"httpProxyCertificateFilename","type":"option","description":"Certificate file to use when connecting using a proxy server"}},"args":[{"name":"name","description":"Add-on namespace","required":true}]},"addons:create":{"id":"addons:create","description":"Add an add-on extension to your site\n...\nAdd-ons are a way to extend the functionality of your Netlify site\n","pluginName":"netlify-cli","pluginType":"core","aliases":["addon:create"],"flags":{"debug":{"name":"debug","type":"boolean","description":"Print debugging information","allowNo":false},"httpProxy":{"name":"httpProxy","type":"option","description":"Proxy server address to route requests through."},"httpProxyCertificateFilename":{"name":"httpProxyCertificateFilename","type":"option","description":"Certificate file to use when connecting using a proxy server"}},"args":[{"name":"name","description":"Add-on namespace","required":true}]},"addons:delete":{"id":"addons:delete","description":"Remove an add-on extension to your site\n...\nAdd-ons are a way to extend the functionality of your Netlify site\n","pluginName":"netlify-cli","pluginType":"core","aliases":["addon:delete"],"flags":{"force":{"name":"force","type":"boolean","char":"f","description":"delete without prompting (useful for CI)","allowNo":false},"debug":{"name":"debug","type":"boolean","description":"Print debugging information","allowNo":false},"httpProxy":{"name":"httpProxy","type":"option","description":"Proxy server address to route requests through."},"httpProxyCertificateFilename":{"name":"httpProxyCertificateFilename","type":"option","description":"Certificate file to use when connecting using a proxy server"}},"args":[{"name":"name","description":"Add-on namespace","required":true}]},"addons":{"id":"addons","description":"(Beta) Manage Netlify Add-ons","pluginName":"netlify-cli","pluginType":"core","aliases":["addon"],"examples":["netlify addons:create addon-xyz","netlify addons:list","netlify addons:config addon-xyz","netlify addons:delete addon-xyz","netlify addons:auth addon-xyz"],"flags":{},"args":[]},"addons:list":{"id":"addons:list","description":"List currently installed add-ons for site","pluginName":"netlify-cli","pluginType":"core","aliases":["addon:list"],"flags":{"json":{"name":"json","type":"boolean","description":"Output add-on data as JSON","allowNo":false},"debug":{"name":"debug","type":"boolean","description":"Print debugging information","allowNo":false},"httpProxy":{"name":"httpProxy","type":"option","description":"Proxy server address to route requests through."},"httpProxyCertificateFilename":{"name":"httpProxyCertificateFilename","type":"option","description":"Certificate file to use when connecting using a proxy server"}},"args":[]},"build":{"id":"build","description":"(Beta) Build on your local machine","pluginName":"netlify-cli","pluginType":"core","aliases":[],"examples":["netlify build"],"flags":{"dry":{"name":"dry","type":"boolean","description":"Dry run: show instructions without running them","allowNo":false},"context":{"name":"context","type":"option","description":"Build context"},"offline":{"name":"offline","type":"boolean","char":"o","description":"disables any features that require network access","allowNo":false},"debug":{"name":"debug","type":"boolean","description":"Print debugging information","allowNo":false},"httpProxy":{"name":"httpProxy","type":"option","description":"Proxy server address to route requests through."},"httpProxyCertificateFilename":{"name":"httpProxyCertificateFilename","type":"option","description":"Certificate file to use when connecting using a proxy server"}},"args":[]},"dev:exec":{"id":"dev:exec","description":"Exec command\nRuns a command within the netlify dev environment, e.g. with env variables from any installed addons\n","pluginName":"netlify-cli","pluginType":"core","aliases":[],"examples":["$ netlify dev:exec npm run bootstrap"],"flags":{"debug":{"name":"debug","type":"boolean","description":"Print debugging information","allowNo":false},"httpProxy":{"name":"httpProxy","type":"option","description":"Proxy server address to route requests through."},"httpProxyCertificateFilename":{"name":"httpProxyCertificateFilename","type":"option","description":"Certificate file to use when connecting using a proxy server"}},"args":[]},"dev":{"id":"dev","description":"Local dev server\nThe dev command will run a local dev server with Netlify's proxy and redirect rules\n","pluginName":"netlify-cli","pluginType":"core","aliases":[],"examples":["$ netlify dev","$ netlify dev -d public","$ netlify dev -c \"hugo server -w\" --targetPort 1313"],"flags":{"command":{"name":"command","type":"option","char":"c","description":"command to run"},"port":{"name":"port","type":"option","char":"p","description":"port of netlify dev"},"targetPort":{"name":"targetPort","type":"option","description":"port of target app server"},"framework":{"name":"framework","type":"option","description":"framework to use. Defaults to #auto which automatically detects a framework"},"staticServerPort":{"name":"staticServerPort","type":"option","description":"port of the static app server used when no framework is detected","hidden":true},"dir":{"name":"dir","type":"option","char":"d","description":"dir with static files"},"functions":{"name":"functions","type":"option","char":"f","description":"specify a functions folder to serve"},"offline":{"name":"offline","type":"boolean","char":"o","description":"disables any features that require network access","allowNo":false},"live":{"name":"live","type":"boolean","char":"l","description":"start a public live session","allowNo":false},"edgeHandlers":{"name":"edgeHandlers","type":"boolean","char":"e","description":"activates the Edge Handlers runtime","hidden":true,"allowNo":false},"trafficMesh":{"name":"trafficMesh","type":"boolean","char":"t","description":"(DEPRECATED: use --edgeHandlers or -e instead) uses Traffic Mesh for proxying requests","hidden":true,"allowNo":false},"locationDb":{"name":"locationDb","type":"option","char":"g","description":"specify the path to a local GeoIP location database in MMDB format","hidden":true},"debug":{"name":"debug","type":"boolean","description":"Print debugging information","allowNo":false},"httpProxy":{"name":"httpProxy","type":"option","description":"Proxy server address to route requests through."},"httpProxyCertificateFilename":{"name":"httpProxyCertificateFilename","type":"option","description":"Certificate file to use when connecting using a proxy server"}},"args":[]},"dev:trace":{"id":"dev:trace","description":"Trace command\nSimulates Netlify's Edge routing logic to match specific requests.\nThis command is designed to mimic cURL's command line, so the flags are more familiar.\n","pluginName":"netlify-cli","pluginType":"core","aliases":[],"examples":["$ netlify dev:trace http://localhost/routing-path","$ netlify dev:trace -w dist-directory http://localhost/routing-path","$ netlify dev:trace -X POST http://localhost/routing-path","$ netlify dev:trace -H \"Accept-Language es\" http://localhost/routing-path","$ netlify dev:trace --cookie nf_jwt=token http://localhost/routing-path"],"flags":{"request":{"name":"request","type":"option","char":"X","description":"Specifies a custom request method [default: GET]"},"cookie":{"name":"cookie","type":"option","char":"b","description":"Request cookie, this flag can be used multiple times. Example: \"nf_jwt=token\""},"header":{"name":"header","type":"option","char":"H","description":"Request header, this flag can be used multiple times. Example: \"Host: netlify.test\""},"watch":{"name":"watch","type":"option","char":"w","description":"Path to the publish directory"},"debug":{"name":"debug","type":"boolean","description":"Print debugging information","allowNo":false}},"args":[{"name":"url","description":"Sets the request URL","required":true}]},"env:get":{"id":"env:get","description":"Get resolved value of specified environment variable (includes netlify.toml)","pluginName":"netlify-cli","pluginType":"core","aliases":[],"flags":{"debug":{"name":"debug","type":"boolean","description":"Print debugging information","allowNo":false},"httpProxy":{"name":"httpProxy","type":"option","description":"Proxy server address to route requests through."},"httpProxyCertificateFilename":{"name":"httpProxyCertificateFilename","type":"option","description":"Certificate file to use when connecting using a proxy server"}},"args":[{"name":"name","description":"Environment variable name","required":true}]},"env:import":{"id":"env:import","description":"Import and set environment variables from .env file","pluginName":"netlify-cli","pluginType":"core","aliases":[],"flags":{"replaceExisting":{"name":"replaceExisting","type":"boolean","char":"r","description":"Replace all existing variables instead of merging them with the current ones","allowNo":false},"debug":{"name":"debug","type":"boolean","description":"Print debugging information","allowNo":false},"httpProxy":{"name":"httpProxy","type":"option","description":"Proxy server address to route requests through."},"httpProxyCertificateFilename":{"name":"httpProxyCertificateFilename","type":"option","description":"Certificate file to use when connecting using a proxy server"}},"args":[{"name":"fileName","description":".env file to import","required":true}]},"env":{"id":"env","description":"(Beta) Control environment variables for the current site","pluginName":"netlify-cli","pluginType":"core","aliases":[],"examples":["netlify env:list","netlify env:get VAR_NAME","netlify env:set VAR_NAME value","netlify env:unset VAR_NAME","netlify env:import fileName"],"flags":{"debug":{"name":"debug","type":"boolean","description":"Print debugging information","allowNo":false},"httpProxy":{"name":"httpProxy","type":"option","description":"Proxy server address to route requests through."},"httpProxyCertificateFilename":{"name":"httpProxyCertificateFilename","type":"option","description":"Certificate file to use when connecting using a proxy server"}},"args":[]},"env:list":{"id":"env:list","description":"Lists resolved environment variables for site (includes netlify.toml)","pluginName":"netlify-cli","pluginType":"core","aliases":[],"flags":{"debug":{"name":"debug","type":"boolean","description":"Print debugging information","allowNo":false},"httpProxy":{"name":"httpProxy","type":"option","description":"Proxy server address to route requests through."},"httpProxyCertificateFilename":{"name":"httpProxyCertificateFilename","type":"option","description":"Certificate file to use when connecting using a proxy server"}},"args":[]},"env:set":{"id":"env:set","description":"Set value of environment variable","pluginName":"netlify-cli","pluginType":"core","aliases":[],"flags":{"debug":{"name":"debug","type":"boolean","description":"Print debugging information","allowNo":false},"httpProxy":{"name":"httpProxy","type":"option","description":"Proxy server address to route requests through."},"httpProxyCertificateFilename":{"name":"httpProxyCertificateFilename","type":"option","description":"Certificate file to use when connecting using a proxy server"}},"args":[{"name":"name","description":"Environment variable name","required":true},{"name":"value","description":"Value to set to","required":false,"default":""}]},"env:unset":{"id":"env:unset","description":"Unset an environment variable which removes it from the UI","pluginName":"netlify-cli","pluginType":"core","aliases":["env:delete","env:remove"],"flags":{"debug":{"name":"debug","type":"boolean","description":"Print debugging information","allowNo":false},"httpProxy":{"name":"httpProxy","type":"option","description":"Proxy server address to route requests through."},"httpProxyCertificateFilename":{"name":"httpProxyCertificateFilename","type":"option","description":"Certificate file to use when connecting using a proxy server"}},"args":[{"name":"name","description":"Environment variable name","required":true}]},"functions:build":{"id":"functions:build","description":"Build functions locally\n","pluginName":"netlify-cli","pluginType":"core","aliases":["function:build"],"flags":{"functions":{"name":"functions","type":"option","char":"f","description":"Specify a functions directory to build to"},"src":{"name":"src","type":"option","char":"s","description":"Specify the source directory for the functions"},"debug":{"name":"debug","type":"boolean","description":"Print debugging information","allowNo":false},"httpProxy":{"name":"httpProxy","type":"option","description":"Proxy server address to route requests through."},"httpProxyCertificateFilename":{"name":"httpProxyCertificateFilename","type":"option","description":"Certificate file to use when connecting using a proxy server"}},"args":[]},"functions:create":{"id":"functions:create","description":"Create a new function locally","pluginName":"netlify-cli","pluginType":"core","aliases":["function:create"],"examples":["netlify functions:create","netlify functions:create hello-world","netlify functions:create --name hello-world"],"flags":{"name":{"name":"name","type":"option","char":"n","description":"function name"},"url":{"name":"url","type":"option","char":"u","description":"pull template from URL"},"language":{"name":"language","type":"option","char":"l","description":"function language"},"debug":{"name":"debug","type":"boolean","description":"Print debugging information","allowNo":false},"httpProxy":{"name":"httpProxy","type":"option","description":"Proxy server address to route requests through."},"httpProxyCertificateFilename":{"name":"httpProxyCertificateFilename","type":"option","description":"Certificate file to use when connecting using a proxy server"}},"args":[{"name":"name","description":"name of your new function file inside your functions directory"}]},"functions":{"id":"functions","description":"Manage netlify functions\nThe `functions` command will help you manage the functions in this site\n","pluginName":"netlify-cli","pluginType":"core","aliases":["function"],"examples":["netlify functions:create --name function-xyz","netlify functions:build --name function-abc --timeout 30s"],"flags":{},"args":[]},"functions:invoke":{"id":"functions:invoke","description":"Trigger a function while in netlify dev with simulated data, good for testing function calls including Netlify's Event Triggered Functions","pluginName":"netlify-cli","pluginType":"core","aliases":["function:trigger"],"examples":["$ netlify functions:invoke","$ netlify functions:invoke myfunction","$ netlify functions:invoke --name myfunction","$ netlify functions:invoke --name myfunction --identity","$ netlify functions:invoke --name myfunction --no-identity","$ netlify functions:invoke myfunction --payload '{\"foo\": 1}'","$ netlify functions:invoke myfunction --querystring \"foo=1","$ netlify functions:invoke myfunction --payload \"./pathTo.json\""],"flags":{"name":{"name":"name","type":"option","char":"n","description":"function name to invoke"},"functions":{"name":"functions","type":"option","char":"f","description":"Specify a functions folder to parse, overriding netlify.toml"},"querystring":{"name":"querystring","type":"option","char":"q","description":"Querystring to add to your function invocation"},"payload":{"name":"payload","type":"option","char":"p","description":"Supply POST payload in stringified json, or a path to a json file"},"identity":{"name":"identity","type":"boolean","description":"simulate Netlify Identity authentication JWT. pass --no-identity to affirm unauthenticated request","allowNo":true},"port":{"name":"port","type":"option","description":"Port where netlify dev is accessible. e.g. 8888"},"debug":{"name":"debug","type":"boolean","description":"Print debugging information","allowNo":false},"httpProxy":{"name":"httpProxy","type":"option","description":"Proxy server address to route requests through."},"httpProxyCertificateFilename":{"name":"httpProxyCertificateFilename","type":"option","description":"Certificate file to use when connecting using a proxy server"}},"args":[{"name":"name","description":"function name to invoke"}]},"functions:list":{"id":"functions:list","description":"List functions that exist locally\n\nHelpful for making sure that you have formatted your functions correctly\n\nNOT the same as listing the functions that have been deployed. For that info you need to go to your Netlify deploy log.\n","pluginName":"netlify-cli","pluginType":"core","aliases":["function:list"],"flags":{"name":{"name":"name","type":"option","char":"n","description":"name to print"},"functions":{"name":"functions","type":"option","char":"f","description":"Specify a functions directory to list"},"json":{"name":"json","type":"boolean","description":"Output function data as JSON","allowNo":false},"debug":{"name":"debug","type":"boolean","description":"Print debugging information","allowNo":false},"httpProxy":{"name":"httpProxy","type":"option","description":"Proxy server address to route requests through."},"httpProxyCertificateFilename":{"name":"httpProxyCertificateFilename","type":"option","description":"Certificate file to use when connecting using a proxy server"}},"args":[]},"functions:serve":{"id":"functions:serve","description":"(Beta) Serve functions locally\n\nHelpful for debugging functions.\n","pluginName":"netlify-cli","pluginType":"core","aliases":["function:serve"],"flags":{"functions":{"name":"functions","type":"option","char":"f","description":"Specify a functions directory to serve"},"port":{"name":"port","type":"option","char":"p","description":"Specify a port for the functions server"},"offline":{"name":"offline","type":"boolean","char":"o","description":"disables any features that require network access","allowNo":false},"debug":{"name":"debug","type":"boolean","description":"Print debugging information","allowNo":false},"httpProxy":{"name":"httpProxy","type":"option","description":"Proxy server address to route requests through."},"httpProxyCertificateFilename":{"name":"httpProxyCertificateFilename","type":"option","description":"Certificate file to use when connecting using a proxy server"}},"args":[]},"lm":{"id":"lm","description":"Handle Netlify Large Media operations\nThe lm command will help you manage large media for a site\n","pluginName":"netlify-cli","pluginType":"core","aliases":[],"examples":["netlify lm:info","netlify lm:install","netlify lm:setup"],"flags":{"debug":{"name":"debug","type":"boolean","description":"Print debugging information","allowNo":false},"httpProxy":{"name":"httpProxy","type":"option","description":"Proxy server address to route requests through."},"httpProxyCertificateFilename":{"name":"httpProxyCertificateFilename","type":"option","description":"Certificate file to use when connecting using a proxy server"}},"args":[]},"lm:info":{"id":"lm:info","description":"Show large media requirements information.","pluginName":"netlify-cli","pluginType":"core","aliases":[],"flags":{"debug":{"name":"debug","type":"boolean","description":"Print debugging information","allowNo":false},"httpProxy":{"name":"httpProxy","type":"option","description":"Proxy server address to route requests through."},"httpProxyCertificateFilename":{"name":"httpProxyCertificateFilename","type":"option","description":"Certificate file to use when connecting using a proxy server"}},"args":[]},"lm:install":{"id":"lm:install","description":"Configures your computer to use Netlify Large Media.\nIt installs the required credentials helper for Git,\nand configures your Git environment with the right credentials.","pluginName":"netlify-cli","pluginType":"core","aliases":["lm:init"],"flags":{"force":{"name":"force","type":"boolean","char":"f","description":"Force the credentials helper installation","allowNo":false}},"args":[]},"lm:setup":{"id":"lm:setup","description":"Configures your site to use Netlify Large Media.\nIt runs the install command if you have not installed the dependencies yet.","pluginName":"netlify-cli","pluginType":"core","aliases":[],"flags":{"skip-install":{"name":"skip-install","type":"boolean","char":"s","description":"Skip the credentials helper installation check","allowNo":false},"force-install":{"name":"force-install","type":"boolean","char":"f","description":"Force the credentials helper installation","allowNo":false},"debug":{"name":"debug","type":"boolean","description":"Print debugging information","allowNo":false},"httpProxy":{"name":"httpProxy","type":"option","description":"Proxy server address to route requests through."},"httpProxyCertificateFilename":{"name":"httpProxyCertificateFilename","type":"option","description":"Certificate file to use when connecting using a proxy server"}},"args":[]},"lm:uninstall":{"id":"lm:uninstall","description":"Uninstalls Netlify git credentials helper and cleans up any related configuration changes made by the install command.","pluginName":"netlify-cli","pluginType":"core","hidden":true,"aliases":["lm:remove"],"flags":{"debug":{"name":"debug","type":"boolean","description":"Print debugging information","allowNo":false},"httpProxy":{"name":"httpProxy","type":"option","description":"Proxy server address to route requests through."},"httpProxyCertificateFilename":{"name":"httpProxyCertificateFilename","type":"option","description":"Certificate file to use when connecting using a proxy server"}},"args":[]},"open:admin":{"id":"open:admin","description":"Opens current site admin UI in Netlify","pluginName":"netlify-cli","pluginType":"core","aliases":[],"examples":["netlify open:admin"],"flags":{"debug":{"name":"debug","type":"boolean","description":"Print debugging information","allowNo":false},"httpProxy":{"name":"httpProxy","type":"option","description":"Proxy server address to route requests through."},"httpProxyCertificateFilename":{"name":"httpProxyCertificateFilename","type":"option","description":"Certificate file to use when connecting using a proxy server"}},"args":[]},"open":{"id":"open","description":"Open settings for the site linked to the current folder","pluginName":"netlify-cli","pluginType":"core","aliases":[],"examples":["netlify open --site","netlify open --admin","netlify open:admin","netlify open:site"],"flags":{"debug":{"name":"debug","type":"boolean","description":"Print debugging information","allowNo":false},"httpProxy":{"name":"httpProxy","type":"option","description":"Proxy server address to route requests through."},"httpProxyCertificateFilename":{"name":"httpProxyCertificateFilename","type":"option","description":"Certificate file to use when connecting using a proxy server"},"site":{"name":"site","type":"boolean","description":"Open site","allowNo":false},"admin":{"name":"admin","type":"boolean","description":"Open Netlify site","allowNo":false}},"args":[]},"open:site":{"id":"open:site","description":"Opens current site url in browser","pluginName":"netlify-cli","pluginType":"core","aliases":[],"examples":["netlify open:site"],"flags":{"debug":{"name":"debug","type":"boolean","description":"Print debugging information","allowNo":false},"httpProxy":{"name":"httpProxy","type":"option","description":"Proxy server address to route requests through."},"httpProxyCertificateFilename":{"name":"httpProxyCertificateFilename","type":"option","description":"Certificate file to use when connecting using a proxy server"}},"args":[]},"sites:create":{"id":"sites:create","description":"Create an empty site (advanced)\n\nCreate a blank site that isn't associated with any git remote. Does not link to the current working directory.\n","pluginName":"netlify-cli","pluginType":"core","aliases":[],"flags":{"name":{"name":"name","type":"option","char":"n","description":"name of site"},"account-slug":{"name":"account-slug","type":"option","char":"a","description":"account slug to create the site under"},"with-ci":{"name":"with-ci","type":"boolean","char":"c","description":"initialize CI hooks during site creation","allowNo":false},"manual":{"name":"manual","type":"boolean","char":"m","description":"Force manual CI setup. Used --with-ci flag","allowNo":false},"debug":{"name":"debug","type":"boolean","description":"Print debugging information","allowNo":false},"httpProxy":{"name":"httpProxy","type":"option","description":"Proxy server address to route requests through."},"httpProxyCertificateFilename":{"name":"httpProxyCertificateFilename","type":"option","description":"Certificate file to use when connecting using a proxy server"}},"args":[]},"sites:delete":{"id":"sites:delete","description":"Delete a site\n\nThis command will permanently delete the site on Netlify. Use with caution.\n","pluginName":"netlify-cli","pluginType":"core","aliases":[],"examples":["netlify sites:delete 1234-3262-1211"],"flags":{"force":{"name":"force","type":"boolean","char":"f","description":"delete without prompting (useful for CI)","allowNo":false},"debug":{"name":"debug","type":"boolean","description":"Print debugging information","allowNo":false},"httpProxy":{"name":"httpProxy","type":"option","description":"Proxy server address to route requests through."},"httpProxyCertificateFilename":{"name":"httpProxyCertificateFilename","type":"option","description":"Certificate file to use when connecting using a proxy server"}},"args":[{"name":"siteId","description":"Site ID to delete.","required":true}]},"sites":{"id":"sites","description":"Handle various site operations\nThe sites command will help you manage all your sites\n","pluginName":"netlify-cli","pluginType":"core","aliases":[],"examples":["netlify sites:create --name my-new-site","netlify sites:list"],"flags":{},"args":[]},"sites:list":{"id":"sites:list","description":"List all sites you have access to","pluginName":"netlify-cli","pluginType":"core","aliases":[],"flags":{"json":{"name":"json","type":"boolean","description":"Output site data as JSON","allowNo":false},"debug":{"name":"debug","type":"boolean","description":"Print debugging information","allowNo":false},"httpProxy":{"name":"httpProxy","type":"option","description":"Proxy server address to route requests through."},"httpProxyCertificateFilename":{"name":"httpProxyCertificateFilename","type":"option","description":"Certificate file to use when connecting using a proxy server"}},"args":[]},"status:hooks":{"id":"status:hooks","description":"Print hook information of the linked site","pluginName":"netlify-cli","pluginType":"core","aliases":[],"flags":{"debug":{"name":"debug","type":"boolean","description":"Print debugging information","allowNo":false},"httpProxy":{"name":"httpProxy","type":"option","description":"Proxy server address to route requests through."},"httpProxyCertificateFilename":{"name":"httpProxyCertificateFilename","type":"option","description":"Certificate file to use when connecting using a proxy server"}},"args":[]},"status":{"id":"status","description":"Print status information","pluginName":"netlify-cli","pluginType":"core","aliases":[],"flags":{"verbose":{"name":"verbose","type":"boolean","description":"Output system info","allowNo":false},"debug":{"name":"debug","type":"boolean","description":"Print debugging information","allowNo":false},"httpProxy":{"name":"httpProxy","type":"option","description":"Proxy server address to route requests through."},"httpProxyCertificateFilename":{"name":"httpProxyCertificateFilename","type":"option","description":"Certificate file to use when connecting using a proxy server"}},"args":[]}}}
1
+ {"version":"6.14.24","commands":{"api":{"id":"api","description":"Run any Netlify API method\n\nFor more information on available methods checkout https://open-api.netlify.com/ or run \"netlify api --list\"\n","pluginName":"netlify-cli","pluginType":"core","aliases":[],"examples":["netlify api --list","netlify api getSite --data '{ \"site_id\": \"123456\"}'"],"flags":{"data":{"name":"data","type":"option","char":"d","description":"Data to use"},"list":{"name":"list","type":"boolean","description":"List out available API methods","allowNo":false},"debug":{"name":"debug","type":"boolean","description":"Print debugging information","allowNo":false},"httpProxy":{"name":"httpProxy","type":"option","description":"Proxy server address to route requests through."},"httpProxyCertificateFilename":{"name":"httpProxyCertificateFilename","type":"option","description":"Certificate file to use when connecting using a proxy server"}},"args":[{"name":"apiMethod","description":"Open API method to run"}]},"deploy":{"id":"deploy","description":"Create a new deploy from the contents of a folder\n\nDeploys from the build settings found in the netlify.toml file, or settings from the API.\n\nThe following environment variables can be used to override configuration file lookups and prompts:\n\n- `NETLIFY_AUTH_TOKEN` - an access token to use when authenticating commands. Keep this value private.\n- `NETLIFY_SITE_ID` - override any linked site in the current working directory.\n\nLambda functions in the function folder can be in the following configurations for deployment:\n\n\nBuilt Go binaries:\n------------------\n\n```\nfunctions/\n└── nameOfGoFunction\n```\n\nBuild binaries of your Go language functions into the functions folder as part of your build process.\n\n\nSingle file Node.js functions:\n-----------------------------\n\nBuild dependency bundled Node.js lambda functions with tools like netlify-lambda, webpack or browserify into the function folder as part of your build process.\n\n```\nfunctions/\n└── nameOfBundledNodeJSFunction.js\n```\n\nUnbundled Node.js functions that have dependencies outside or inside of the functions folder:\n---------------------------------------------------------------------------------------------\n\nYou can ship unbundled Node.js functions with the CLI, utilizing top level project dependencies, or a nested package.json.\nIf you use nested dependencies, be sure to populate the nested node_modules as part of your build process before deploying using npm or yarn.\n\n```\nproject/\n├── functions\n│ ├── functionName/\n│ │ ├── functionName.js (Note the folder and the function name need to match)\n│ │ ├── package.json\n│ │ └── node_modules/\n│ └── unbundledFunction.js\n├── package.json\n├── netlify.toml\n└── node_modules/\n```\n\nAny mix of these configurations works as well.\n\n\nNode.js function entry points\n-----------------------------\n\nFunction entry points are determined by the file name and name of the folder they are in:\n\n```\nfunctions/\n├── aFolderlessFunctionEntrypoint.js\n└── functionName/\n ├── notTheEntryPoint.js\n └── functionName.js\n```\n\nSupport for package.json's main field, and intrinsic index.js entrypoints are coming soon.\n","pluginName":"netlify-cli","pluginType":"core","aliases":[],"examples":["netlify deploy","netlify deploy --prod","netlify deploy --prod --open","netlify deploy --prodIfUnlocked","netlify deploy --message \"A message with an $ENV_VAR\"","netlify deploy --auth $NETLIFY_AUTH_TOKEN","netlify deploy --trigger"],"flags":{"dir":{"name":"dir","type":"option","char":"d","description":"Specify a folder to deploy"},"functions":{"name":"functions","type":"option","char":"f","description":"Specify a functions folder to deploy"},"prod":{"name":"prod","type":"boolean","char":"p","description":"Deploy to production","allowNo":false},"prodIfUnlocked":{"name":"prodIfUnlocked","type":"boolean","description":"Deploy to production if unlocked, create a draft otherwise","allowNo":false},"alias":{"name":"alias","type":"option","description":"Specifies the alias for deployment, the string at the beginning of the deploy subdomain. Useful for creating predictable deployment URLs. Avoid setting an alias string to the same value as a deployed branch. `alias` doesn’t create a branch deploy and can’t be used in conjunction with the branch subdomain feature. Maximum 37 characters."},"branch":{"name":"branch","type":"option","char":"b","description":"Serves the same functionality as --alias. Deprecated and will be removed in future versions"},"open":{"name":"open","type":"boolean","char":"o","description":"Open site after deploy","allowNo":false},"message":{"name":"message","type":"option","char":"m","description":"A short message to include in the deploy log"},"auth":{"name":"auth","type":"option","char":"a","description":"Netlify auth token to deploy with"},"site":{"name":"site","type":"option","char":"s","description":"A site ID to deploy to"},"json":{"name":"json","type":"boolean","description":"Output deployment data as JSON","allowNo":false},"timeout":{"name":"timeout","type":"option","description":"Timeout to wait for deployment to finish"},"trigger":{"name":"trigger","type":"boolean","description":"Trigger a new build of your site on Netlify without uploading local files","allowNo":false},"build":{"name":"build","type":"boolean","description":"Run build command before deploying","allowNo":false},"skip-functions-cache":{"name":"skip-functions-cache","type":"boolean","description":"Ignore any functions created as part of a previous `build` or `deploy` commands, forcing them to be bundled again as part of the deployment","allowNo":false},"debug":{"name":"debug","type":"boolean","description":"Print debugging information","allowNo":false},"httpProxy":{"name":"httpProxy","type":"option","description":"Proxy server address to route requests through."},"httpProxyCertificateFilename":{"name":"httpProxyCertificateFilename","type":"option","description":"Certificate file to use when connecting using a proxy server"}},"args":[]},"init":{"id":"init","description":"Configure continuous deployment for a new or existing site. To create a new site without continuous deployment, use `netlify sites:create`","pluginName":"netlify-cli","pluginType":"core","aliases":[],"flags":{"manual":{"name":"manual","type":"boolean","char":"m","description":"Manually configure a git remote for CI","allowNo":false},"force":{"name":"force","type":"boolean","description":"Reinitialize CI hooks if the linked site is already configured to use CI","allowNo":false},"gitRemoteName":{"name":"gitRemoteName","type":"option","description":"Name of Git remote to use. e.g. \"origin\""},"debug":{"name":"debug","type":"boolean","description":"Print debugging information","allowNo":false},"httpProxy":{"name":"httpProxy","type":"option","description":"Proxy server address to route requests through."},"httpProxyCertificateFilename":{"name":"httpProxyCertificateFilename","type":"option","description":"Certificate file to use when connecting using a proxy server"}},"args":[]},"link":{"id":"link","description":"Link a local repo or project folder to an existing site on Netlify","pluginName":"netlify-cli","pluginType":"core","aliases":[],"examples":["netlify link","netlify link --id 123-123-123-123","netlify link --name my-site-name"],"flags":{"id":{"name":"id","type":"option","description":"ID of site to link to"},"name":{"name":"name","type":"option","description":"Name of site to link to"},"gitRemoteName":{"name":"gitRemoteName","type":"option","description":"Name of Git remote to use. e.g. \"origin\""},"debug":{"name":"debug","type":"boolean","description":"Print debugging information","allowNo":false},"httpProxy":{"name":"httpProxy","type":"option","description":"Proxy server address to route requests through."},"httpProxyCertificateFilename":{"name":"httpProxyCertificateFilename","type":"option","description":"Certificate file to use when connecting using a proxy server"}},"args":[]},"login":{"id":"login","description":"Login to your Netlify account\n\nOpens a web browser to acquire an OAuth token.\n","pluginName":"netlify-cli","pluginType":"core","aliases":[],"flags":{"new":{"name":"new","type":"boolean","description":"Login to new Netlify account","allowNo":false},"debug":{"name":"debug","type":"boolean","description":"Print debugging information","allowNo":false},"httpProxy":{"name":"httpProxy","type":"option","description":"Proxy server address to route requests through."},"httpProxyCertificateFilename":{"name":"httpProxyCertificateFilename","type":"option","description":"Certificate file to use when connecting using a proxy server"}},"args":[]},"logout":{"id":"logout","description":"Logout of your Netlify account","pluginName":"netlify-cli","pluginType":"core","hidden":true,"aliases":[],"flags":{"debug":{"name":"debug","type":"boolean","description":"Print debugging information","allowNo":false},"httpProxy":{"name":"httpProxy","type":"option","description":"Proxy server address to route requests through."},"httpProxyCertificateFilename":{"name":"httpProxyCertificateFilename","type":"option","description":"Certificate file to use when connecting using a proxy server"}},"args":[]},"switch":{"id":"switch","description":"Switch your active Netlify account","pluginName":"netlify-cli","pluginType":"core","aliases":[],"flags":{"debug":{"name":"debug","type":"boolean","description":"Print debugging information","allowNo":false},"httpProxy":{"name":"httpProxy","type":"option","description":"Proxy server address to route requests through."},"httpProxyCertificateFilename":{"name":"httpProxyCertificateFilename","type":"option","description":"Certificate file to use when connecting using a proxy server"}},"args":[]},"unlink":{"id":"unlink","description":"Unlink a local folder from a Netlify site","pluginName":"netlify-cli","pluginType":"core","aliases":[],"flags":{"debug":{"name":"debug","type":"boolean","description":"Print debugging information","allowNo":false},"httpProxy":{"name":"httpProxy","type":"option","description":"Proxy server address to route requests through."},"httpProxyCertificateFilename":{"name":"httpProxyCertificateFilename","type":"option","description":"Certificate file to use when connecting using a proxy server"}},"args":[]},"watch":{"id":"watch","description":"Watch for site deploy to finish","pluginName":"netlify-cli","pluginType":"core","aliases":[],"examples":["netlify watch","git push && netlify watch"],"flags":{"debug":{"name":"debug","type":"boolean","description":"Print debugging information","allowNo":false},"httpProxy":{"name":"httpProxy","type":"option","description":"Proxy server address to route requests through."},"httpProxyCertificateFilename":{"name":"httpProxyCertificateFilename","type":"option","description":"Certificate file to use when connecting using a proxy server"}},"args":[]},"addons:auth":{"id":"addons:auth","description":"Login to add-on provider","pluginName":"netlify-cli","pluginType":"core","aliases":["addon:auth"],"flags":{"debug":{"name":"debug","type":"boolean","description":"Print debugging information","allowNo":false},"httpProxy":{"name":"httpProxy","type":"option","description":"Proxy server address to route requests through."},"httpProxyCertificateFilename":{"name":"httpProxyCertificateFilename","type":"option","description":"Certificate file to use when connecting using a proxy server"}},"args":[{"name":"name","description":"Add-on slug","required":true}]},"addons:config":{"id":"addons:config","description":"Configure add-on settings","pluginName":"netlify-cli","pluginType":"core","aliases":["addon:config"],"flags":{"debug":{"name":"debug","type":"boolean","description":"Print debugging information","allowNo":false},"httpProxy":{"name":"httpProxy","type":"option","description":"Proxy server address to route requests through."},"httpProxyCertificateFilename":{"name":"httpProxyCertificateFilename","type":"option","description":"Certificate file to use when connecting using a proxy server"}},"args":[{"name":"name","description":"Add-on namespace","required":true}]},"addons:create":{"id":"addons:create","description":"Add an add-on extension to your site\n...\nAdd-ons are a way to extend the functionality of your Netlify site\n","pluginName":"netlify-cli","pluginType":"core","aliases":["addon:create"],"flags":{"debug":{"name":"debug","type":"boolean","description":"Print debugging information","allowNo":false},"httpProxy":{"name":"httpProxy","type":"option","description":"Proxy server address to route requests through."},"httpProxyCertificateFilename":{"name":"httpProxyCertificateFilename","type":"option","description":"Certificate file to use when connecting using a proxy server"}},"args":[{"name":"name","description":"Add-on namespace","required":true}]},"addons:delete":{"id":"addons:delete","description":"Remove an add-on extension to your site\n...\nAdd-ons are a way to extend the functionality of your Netlify site\n","pluginName":"netlify-cli","pluginType":"core","aliases":["addon:delete"],"flags":{"force":{"name":"force","type":"boolean","char":"f","description":"delete without prompting (useful for CI)","allowNo":false},"debug":{"name":"debug","type":"boolean","description":"Print debugging information","allowNo":false},"httpProxy":{"name":"httpProxy","type":"option","description":"Proxy server address to route requests through."},"httpProxyCertificateFilename":{"name":"httpProxyCertificateFilename","type":"option","description":"Certificate file to use when connecting using a proxy server"}},"args":[{"name":"name","description":"Add-on namespace","required":true}]},"addons":{"id":"addons","description":"(Beta) Manage Netlify Add-ons","pluginName":"netlify-cli","pluginType":"core","aliases":["addon"],"examples":["netlify addons:create addon-xyz","netlify addons:list","netlify addons:config addon-xyz","netlify addons:delete addon-xyz","netlify addons:auth addon-xyz"],"flags":{},"args":[]},"addons:list":{"id":"addons:list","description":"List currently installed add-ons for site","pluginName":"netlify-cli","pluginType":"core","aliases":["addon:list"],"flags":{"json":{"name":"json","type":"boolean","description":"Output add-on data as JSON","allowNo":false},"debug":{"name":"debug","type":"boolean","description":"Print debugging information","allowNo":false},"httpProxy":{"name":"httpProxy","type":"option","description":"Proxy server address to route requests through."},"httpProxyCertificateFilename":{"name":"httpProxyCertificateFilename","type":"option","description":"Certificate file to use when connecting using a proxy server"}},"args":[]},"build":{"id":"build","description":"(Beta) Build on your local machine","pluginName":"netlify-cli","pluginType":"core","aliases":[],"examples":["netlify build"],"flags":{"dry":{"name":"dry","type":"boolean","description":"Dry run: show instructions without running them","allowNo":false},"context":{"name":"context","type":"option","description":"Build context"},"offline":{"name":"offline","type":"boolean","char":"o","description":"disables any features that require network access","allowNo":false},"debug":{"name":"debug","type":"boolean","description":"Print debugging information","allowNo":false},"httpProxy":{"name":"httpProxy","type":"option","description":"Proxy server address to route requests through."},"httpProxyCertificateFilename":{"name":"httpProxyCertificateFilename","type":"option","description":"Certificate file to use when connecting using a proxy server"}},"args":[]},"dev:exec":{"id":"dev:exec","description":"Exec command\nRuns a command within the netlify dev environment, e.g. with env variables from any installed addons\n","pluginName":"netlify-cli","pluginType":"core","aliases":[],"examples":["$ netlify dev:exec npm run bootstrap"],"flags":{"debug":{"name":"debug","type":"boolean","description":"Print debugging information","allowNo":false},"httpProxy":{"name":"httpProxy","type":"option","description":"Proxy server address to route requests through."},"httpProxyCertificateFilename":{"name":"httpProxyCertificateFilename","type":"option","description":"Certificate file to use when connecting using a proxy server"}},"args":[]},"dev":{"id":"dev","description":"Local dev server\nThe dev command will run a local dev server with Netlify's proxy and redirect rules\n","pluginName":"netlify-cli","pluginType":"core","aliases":[],"examples":["$ netlify dev","$ netlify dev -d public","$ netlify dev -c \"hugo server -w\" --targetPort 1313"],"flags":{"command":{"name":"command","type":"option","char":"c","description":"command to run"},"port":{"name":"port","type":"option","char":"p","description":"port of netlify dev"},"targetPort":{"name":"targetPort","type":"option","description":"port of target app server"},"framework":{"name":"framework","type":"option","description":"framework to use. Defaults to #auto which automatically detects a framework"},"staticServerPort":{"name":"staticServerPort","type":"option","description":"port of the static app server used when no framework is detected","hidden":true},"dir":{"name":"dir","type":"option","char":"d","description":"dir with static files"},"functions":{"name":"functions","type":"option","char":"f","description":"specify a functions folder to serve"},"offline":{"name":"offline","type":"boolean","char":"o","description":"disables any features that require network access","allowNo":false},"live":{"name":"live","type":"boolean","char":"l","description":"start a public live session","allowNo":false},"edgeHandlers":{"name":"edgeHandlers","type":"boolean","char":"e","description":"activates the Edge Handlers runtime","hidden":true,"allowNo":false},"trafficMesh":{"name":"trafficMesh","type":"boolean","char":"t","description":"(DEPRECATED: use --edgeHandlers or -e instead) uses Traffic Mesh for proxying requests","hidden":true,"allowNo":false},"locationDb":{"name":"locationDb","type":"option","char":"g","description":"specify the path to a local GeoIP location database in MMDB format","hidden":true},"debug":{"name":"debug","type":"boolean","description":"Print debugging information","allowNo":false},"httpProxy":{"name":"httpProxy","type":"option","description":"Proxy server address to route requests through."},"httpProxyCertificateFilename":{"name":"httpProxyCertificateFilename","type":"option","description":"Certificate file to use when connecting using a proxy server"}},"args":[]},"dev:trace":{"id":"dev:trace","description":"Trace command\nSimulates Netlify's Edge routing logic to match specific requests.\nThis command is designed to mimic cURL's command line, so the flags are more familiar.\n","pluginName":"netlify-cli","pluginType":"core","aliases":[],"examples":["$ netlify dev:trace http://localhost/routing-path","$ netlify dev:trace -w dist-directory http://localhost/routing-path","$ netlify dev:trace -X POST http://localhost/routing-path","$ netlify dev:trace -H \"Accept-Language es\" http://localhost/routing-path","$ netlify dev:trace --cookie nf_jwt=token http://localhost/routing-path"],"flags":{"request":{"name":"request","type":"option","char":"X","description":"Specifies a custom request method [default: GET]"},"cookie":{"name":"cookie","type":"option","char":"b","description":"Request cookie, this flag can be used multiple times. Example: \"nf_jwt=token\""},"header":{"name":"header","type":"option","char":"H","description":"Request header, this flag can be used multiple times. Example: \"Host: netlify.test\""},"watch":{"name":"watch","type":"option","char":"w","description":"Path to the publish directory"},"debug":{"name":"debug","type":"boolean","description":"Print debugging information","allowNo":false}},"args":[{"name":"url","description":"Sets the request URL","required":true}]},"env:get":{"id":"env:get","description":"Get resolved value of specified environment variable (includes netlify.toml)","pluginName":"netlify-cli","pluginType":"core","aliases":[],"flags":{"debug":{"name":"debug","type":"boolean","description":"Print debugging information","allowNo":false},"httpProxy":{"name":"httpProxy","type":"option","description":"Proxy server address to route requests through."},"httpProxyCertificateFilename":{"name":"httpProxyCertificateFilename","type":"option","description":"Certificate file to use when connecting using a proxy server"}},"args":[{"name":"name","description":"Environment variable name","required":true}]},"env:import":{"id":"env:import","description":"Import and set environment variables from .env file","pluginName":"netlify-cli","pluginType":"core","aliases":[],"flags":{"replaceExisting":{"name":"replaceExisting","type":"boolean","char":"r","description":"Replace all existing variables instead of merging them with the current ones","allowNo":false},"debug":{"name":"debug","type":"boolean","description":"Print debugging information","allowNo":false},"httpProxy":{"name":"httpProxy","type":"option","description":"Proxy server address to route requests through."},"httpProxyCertificateFilename":{"name":"httpProxyCertificateFilename","type":"option","description":"Certificate file to use when connecting using a proxy server"}},"args":[{"name":"fileName","description":".env file to import","required":true}]},"env":{"id":"env","description":"(Beta) Control environment variables for the current site","pluginName":"netlify-cli","pluginType":"core","aliases":[],"examples":["netlify env:list","netlify env:get VAR_NAME","netlify env:set VAR_NAME value","netlify env:unset VAR_NAME","netlify env:import fileName"],"flags":{"debug":{"name":"debug","type":"boolean","description":"Print debugging information","allowNo":false},"httpProxy":{"name":"httpProxy","type":"option","description":"Proxy server address to route requests through."},"httpProxyCertificateFilename":{"name":"httpProxyCertificateFilename","type":"option","description":"Certificate file to use when connecting using a proxy server"}},"args":[]},"env:list":{"id":"env:list","description":"Lists resolved environment variables for site (includes netlify.toml)","pluginName":"netlify-cli","pluginType":"core","aliases":[],"flags":{"debug":{"name":"debug","type":"boolean","description":"Print debugging information","allowNo":false},"httpProxy":{"name":"httpProxy","type":"option","description":"Proxy server address to route requests through."},"httpProxyCertificateFilename":{"name":"httpProxyCertificateFilename","type":"option","description":"Certificate file to use when connecting using a proxy server"}},"args":[]},"env:set":{"id":"env:set","description":"Set value of environment variable","pluginName":"netlify-cli","pluginType":"core","aliases":[],"flags":{"debug":{"name":"debug","type":"boolean","description":"Print debugging information","allowNo":false},"httpProxy":{"name":"httpProxy","type":"option","description":"Proxy server address to route requests through."},"httpProxyCertificateFilename":{"name":"httpProxyCertificateFilename","type":"option","description":"Certificate file to use when connecting using a proxy server"}},"args":[{"name":"name","description":"Environment variable name","required":true},{"name":"value","description":"Value to set to","required":false,"default":""}]},"env:unset":{"id":"env:unset","description":"Unset an environment variable which removes it from the UI","pluginName":"netlify-cli","pluginType":"core","aliases":["env:delete","env:remove"],"flags":{"debug":{"name":"debug","type":"boolean","description":"Print debugging information","allowNo":false},"httpProxy":{"name":"httpProxy","type":"option","description":"Proxy server address to route requests through."},"httpProxyCertificateFilename":{"name":"httpProxyCertificateFilename","type":"option","description":"Certificate file to use when connecting using a proxy server"}},"args":[{"name":"name","description":"Environment variable name","required":true}]},"functions:build":{"id":"functions:build","description":"Build functions locally\n","pluginName":"netlify-cli","pluginType":"core","aliases":["function:build"],"flags":{"functions":{"name":"functions","type":"option","char":"f","description":"Specify a functions directory to build to"},"src":{"name":"src","type":"option","char":"s","description":"Specify the source directory for the functions"},"debug":{"name":"debug","type":"boolean","description":"Print debugging information","allowNo":false},"httpProxy":{"name":"httpProxy","type":"option","description":"Proxy server address to route requests through."},"httpProxyCertificateFilename":{"name":"httpProxyCertificateFilename","type":"option","description":"Certificate file to use when connecting using a proxy server"}},"args":[]},"functions:create":{"id":"functions:create","description":"Create a new function locally","pluginName":"netlify-cli","pluginType":"core","aliases":["function:create"],"examples":["netlify functions:create","netlify functions:create hello-world","netlify functions:create --name hello-world"],"flags":{"name":{"name":"name","type":"option","char":"n","description":"function name"},"url":{"name":"url","type":"option","char":"u","description":"pull template from URL"},"language":{"name":"language","type":"option","char":"l","description":"function language"},"debug":{"name":"debug","type":"boolean","description":"Print debugging information","allowNo":false},"httpProxy":{"name":"httpProxy","type":"option","description":"Proxy server address to route requests through."},"httpProxyCertificateFilename":{"name":"httpProxyCertificateFilename","type":"option","description":"Certificate file to use when connecting using a proxy server"}},"args":[{"name":"name","description":"name of your new function file inside your functions directory"}]},"functions":{"id":"functions","description":"Manage netlify functions\nThe `functions` command will help you manage the functions in this site\n","pluginName":"netlify-cli","pluginType":"core","aliases":["function"],"examples":["netlify functions:create --name function-xyz","netlify functions:build --name function-abc --timeout 30s"],"flags":{},"args":[]},"functions:invoke":{"id":"functions:invoke","description":"Trigger a function while in netlify dev with simulated data, good for testing function calls including Netlify's Event Triggered Functions","pluginName":"netlify-cli","pluginType":"core","aliases":["function:trigger"],"examples":["$ netlify functions:invoke","$ netlify functions:invoke myfunction","$ netlify functions:invoke --name myfunction","$ netlify functions:invoke --name myfunction --identity","$ netlify functions:invoke --name myfunction --no-identity","$ netlify functions:invoke myfunction --payload '{\"foo\": 1}'","$ netlify functions:invoke myfunction --querystring \"foo=1","$ netlify functions:invoke myfunction --payload \"./pathTo.json\""],"flags":{"name":{"name":"name","type":"option","char":"n","description":"function name to invoke"},"functions":{"name":"functions","type":"option","char":"f","description":"Specify a functions folder to parse, overriding netlify.toml"},"querystring":{"name":"querystring","type":"option","char":"q","description":"Querystring to add to your function invocation"},"payload":{"name":"payload","type":"option","char":"p","description":"Supply POST payload in stringified json, or a path to a json file"},"identity":{"name":"identity","type":"boolean","description":"simulate Netlify Identity authentication JWT. pass --no-identity to affirm unauthenticated request","allowNo":true},"port":{"name":"port","type":"option","description":"Port where netlify dev is accessible. e.g. 8888"},"debug":{"name":"debug","type":"boolean","description":"Print debugging information","allowNo":false},"httpProxy":{"name":"httpProxy","type":"option","description":"Proxy server address to route requests through."},"httpProxyCertificateFilename":{"name":"httpProxyCertificateFilename","type":"option","description":"Certificate file to use when connecting using a proxy server"}},"args":[{"name":"name","description":"function name to invoke"}]},"functions:list":{"id":"functions:list","description":"List functions that exist locally\n\nHelpful for making sure that you have formatted your functions correctly\n\nNOT the same as listing the functions that have been deployed. For that info you need to go to your Netlify deploy log.\n","pluginName":"netlify-cli","pluginType":"core","aliases":["function:list"],"flags":{"name":{"name":"name","type":"option","char":"n","description":"name to print"},"functions":{"name":"functions","type":"option","char":"f","description":"Specify a functions directory to list"},"json":{"name":"json","type":"boolean","description":"Output function data as JSON","allowNo":false},"debug":{"name":"debug","type":"boolean","description":"Print debugging information","allowNo":false},"httpProxy":{"name":"httpProxy","type":"option","description":"Proxy server address to route requests through."},"httpProxyCertificateFilename":{"name":"httpProxyCertificateFilename","type":"option","description":"Certificate file to use when connecting using a proxy server"}},"args":[]},"functions:serve":{"id":"functions:serve","description":"(Beta) Serve functions locally\n\nHelpful for debugging functions.\n","pluginName":"netlify-cli","pluginType":"core","aliases":["function:serve"],"flags":{"functions":{"name":"functions","type":"option","char":"f","description":"Specify a functions directory to serve"},"port":{"name":"port","type":"option","char":"p","description":"Specify a port for the functions server"},"offline":{"name":"offline","type":"boolean","char":"o","description":"disables any features that require network access","allowNo":false},"debug":{"name":"debug","type":"boolean","description":"Print debugging information","allowNo":false},"httpProxy":{"name":"httpProxy","type":"option","description":"Proxy server address to route requests through."},"httpProxyCertificateFilename":{"name":"httpProxyCertificateFilename","type":"option","description":"Certificate file to use when connecting using a proxy server"}},"args":[]},"lm":{"id":"lm","description":"Handle Netlify Large Media operations\nThe lm command will help you manage large media for a site\n","pluginName":"netlify-cli","pluginType":"core","aliases":[],"examples":["netlify lm:info","netlify lm:install","netlify lm:setup"],"flags":{"debug":{"name":"debug","type":"boolean","description":"Print debugging information","allowNo":false},"httpProxy":{"name":"httpProxy","type":"option","description":"Proxy server address to route requests through."},"httpProxyCertificateFilename":{"name":"httpProxyCertificateFilename","type":"option","description":"Certificate file to use when connecting using a proxy server"}},"args":[]},"lm:info":{"id":"lm:info","description":"Show large media requirements information.","pluginName":"netlify-cli","pluginType":"core","aliases":[],"flags":{"debug":{"name":"debug","type":"boolean","description":"Print debugging information","allowNo":false},"httpProxy":{"name":"httpProxy","type":"option","description":"Proxy server address to route requests through."},"httpProxyCertificateFilename":{"name":"httpProxyCertificateFilename","type":"option","description":"Certificate file to use when connecting using a proxy server"}},"args":[]},"lm:install":{"id":"lm:install","description":"Configures your computer to use Netlify Large Media.\nIt installs the required credentials helper for Git,\nand configures your Git environment with the right credentials.","pluginName":"netlify-cli","pluginType":"core","aliases":["lm:init"],"flags":{"force":{"name":"force","type":"boolean","char":"f","description":"Force the credentials helper installation","allowNo":false}},"args":[]},"lm:setup":{"id":"lm:setup","description":"Configures your site to use Netlify Large Media.\nIt runs the install command if you have not installed the dependencies yet.","pluginName":"netlify-cli","pluginType":"core","aliases":[],"flags":{"skip-install":{"name":"skip-install","type":"boolean","char":"s","description":"Skip the credentials helper installation check","allowNo":false},"force-install":{"name":"force-install","type":"boolean","char":"f","description":"Force the credentials helper installation","allowNo":false},"debug":{"name":"debug","type":"boolean","description":"Print debugging information","allowNo":false},"httpProxy":{"name":"httpProxy","type":"option","description":"Proxy server address to route requests through."},"httpProxyCertificateFilename":{"name":"httpProxyCertificateFilename","type":"option","description":"Certificate file to use when connecting using a proxy server"}},"args":[]},"lm:uninstall":{"id":"lm:uninstall","description":"Uninstalls Netlify git credentials helper and cleans up any related configuration changes made by the install command.","pluginName":"netlify-cli","pluginType":"core","hidden":true,"aliases":["lm:remove"],"flags":{"debug":{"name":"debug","type":"boolean","description":"Print debugging information","allowNo":false},"httpProxy":{"name":"httpProxy","type":"option","description":"Proxy server address to route requests through."},"httpProxyCertificateFilename":{"name":"httpProxyCertificateFilename","type":"option","description":"Certificate file to use when connecting using a proxy server"}},"args":[]},"open:admin":{"id":"open:admin","description":"Opens current site admin UI in Netlify","pluginName":"netlify-cli","pluginType":"core","aliases":[],"examples":["netlify open:admin"],"flags":{"debug":{"name":"debug","type":"boolean","description":"Print debugging information","allowNo":false},"httpProxy":{"name":"httpProxy","type":"option","description":"Proxy server address to route requests through."},"httpProxyCertificateFilename":{"name":"httpProxyCertificateFilename","type":"option","description":"Certificate file to use when connecting using a proxy server"}},"args":[]},"open":{"id":"open","description":"Open settings for the site linked to the current folder","pluginName":"netlify-cli","pluginType":"core","aliases":[],"examples":["netlify open --site","netlify open --admin","netlify open:admin","netlify open:site"],"flags":{"debug":{"name":"debug","type":"boolean","description":"Print debugging information","allowNo":false},"httpProxy":{"name":"httpProxy","type":"option","description":"Proxy server address to route requests through."},"httpProxyCertificateFilename":{"name":"httpProxyCertificateFilename","type":"option","description":"Certificate file to use when connecting using a proxy server"},"site":{"name":"site","type":"boolean","description":"Open site","allowNo":false},"admin":{"name":"admin","type":"boolean","description":"Open Netlify site","allowNo":false}},"args":[]},"open:site":{"id":"open:site","description":"Opens current site url in browser","pluginName":"netlify-cli","pluginType":"core","aliases":[],"examples":["netlify open:site"],"flags":{"debug":{"name":"debug","type":"boolean","description":"Print debugging information","allowNo":false},"httpProxy":{"name":"httpProxy","type":"option","description":"Proxy server address to route requests through."},"httpProxyCertificateFilename":{"name":"httpProxyCertificateFilename","type":"option","description":"Certificate file to use when connecting using a proxy server"}},"args":[]},"sites:create":{"id":"sites:create","description":"Create an empty site (advanced)\n\nCreate a blank site that isn't associated with any git remote. Does not link to the current working directory.\n","pluginName":"netlify-cli","pluginType":"core","aliases":[],"flags":{"name":{"name":"name","type":"option","char":"n","description":"name of site"},"account-slug":{"name":"account-slug","type":"option","char":"a","description":"account slug to create the site under"},"with-ci":{"name":"with-ci","type":"boolean","char":"c","description":"initialize CI hooks during site creation","allowNo":false},"manual":{"name":"manual","type":"boolean","char":"m","description":"Force manual CI setup. Used --with-ci flag","allowNo":false},"debug":{"name":"debug","type":"boolean","description":"Print debugging information","allowNo":false},"httpProxy":{"name":"httpProxy","type":"option","description":"Proxy server address to route requests through."},"httpProxyCertificateFilename":{"name":"httpProxyCertificateFilename","type":"option","description":"Certificate file to use when connecting using a proxy server"}},"args":[]},"sites:delete":{"id":"sites:delete","description":"Delete a site\n\nThis command will permanently delete the site on Netlify. Use with caution.\n","pluginName":"netlify-cli","pluginType":"core","aliases":[],"examples":["netlify sites:delete 1234-3262-1211"],"flags":{"force":{"name":"force","type":"boolean","char":"f","description":"delete without prompting (useful for CI)","allowNo":false},"debug":{"name":"debug","type":"boolean","description":"Print debugging information","allowNo":false},"httpProxy":{"name":"httpProxy","type":"option","description":"Proxy server address to route requests through."},"httpProxyCertificateFilename":{"name":"httpProxyCertificateFilename","type":"option","description":"Certificate file to use when connecting using a proxy server"}},"args":[{"name":"siteId","description":"Site ID to delete.","required":true}]},"sites":{"id":"sites","description":"Handle various site operations\nThe sites command will help you manage all your sites\n","pluginName":"netlify-cli","pluginType":"core","aliases":[],"examples":["netlify sites:create --name my-new-site","netlify sites:list"],"flags":{},"args":[]},"sites:list":{"id":"sites:list","description":"List all sites you have access to","pluginName":"netlify-cli","pluginType":"core","aliases":[],"flags":{"json":{"name":"json","type":"boolean","description":"Output site data as JSON","allowNo":false},"debug":{"name":"debug","type":"boolean","description":"Print debugging information","allowNo":false},"httpProxy":{"name":"httpProxy","type":"option","description":"Proxy server address to route requests through."},"httpProxyCertificateFilename":{"name":"httpProxyCertificateFilename","type":"option","description":"Certificate file to use when connecting using a proxy server"}},"args":[]},"status:hooks":{"id":"status:hooks","description":"Print hook information of the linked site","pluginName":"netlify-cli","pluginType":"core","aliases":[],"flags":{"debug":{"name":"debug","type":"boolean","description":"Print debugging information","allowNo":false},"httpProxy":{"name":"httpProxy","type":"option","description":"Proxy server address to route requests through."},"httpProxyCertificateFilename":{"name":"httpProxyCertificateFilename","type":"option","description":"Certificate file to use when connecting using a proxy server"}},"args":[]},"status":{"id":"status","description":"Print status information","pluginName":"netlify-cli","pluginType":"core","aliases":[],"flags":{"verbose":{"name":"verbose","type":"boolean","description":"Output system info","allowNo":false},"debug":{"name":"debug","type":"boolean","description":"Print debugging information","allowNo":false},"httpProxy":{"name":"httpProxy","type":"option","description":"Proxy server address to route requests through."},"httpProxyCertificateFilename":{"name":"httpProxyCertificateFilename","type":"option","description":"Certificate file to use when connecting using a proxy server"}},"args":[]}}}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "netlify-cli",
3
3
  "description": "Netlify command line tool",
4
- "version": "6.14.23",
4
+ "version": "6.14.24",
5
5
  "author": "Netlify Inc.",
6
6
  "contributors": [
7
7
  "Mathias Biilmann <matt@netlify.com> (https://twitter.com/biilmann)",
@@ -105,9 +105,9 @@
105
105
  }
106
106
  },
107
107
  "node_modules/stripe": {
108
- "version": "8.186.1",
109
- "resolved": "https://registry.npmjs.org/stripe/-/stripe-8.186.1.tgz",
110
- "integrity": "sha512-BBByVyqKEBY2GNQDLmfwL1RtfsPmjForD+up7tu+P7KYxxvwEzF1gM2Iv4npfOQevGaBmR70sxIWRwn7utS5pg==",
108
+ "version": "8.188.0",
109
+ "resolved": "https://registry.npmjs.org/stripe/-/stripe-8.188.0.tgz",
110
+ "integrity": "sha512-AW5IOKq4y+ENfHddJPrLL/GSvGj1MnBvUe6QMI1z27x/4pMNrU7v0ZqzRSJCihWqP0tUuCmQibSYSbsV4XJ3zA==",
111
111
  "dependencies": {
112
112
  "@types/node": ">=8.1.0",
113
113
  "qs": "^6.6.0"
@@ -184,9 +184,9 @@
184
184
  }
185
185
  },
186
186
  "stripe": {
187
- "version": "8.186.1",
188
- "resolved": "https://registry.npmjs.org/stripe/-/stripe-8.186.1.tgz",
189
- "integrity": "sha512-BBByVyqKEBY2GNQDLmfwL1RtfsPmjForD+up7tu+P7KYxxvwEzF1gM2Iv4npfOQevGaBmR70sxIWRwn7utS5pg==",
187
+ "version": "8.188.0",
188
+ "resolved": "https://registry.npmjs.org/stripe/-/stripe-8.188.0.tgz",
189
+ "integrity": "sha512-AW5IOKq4y+ENfHddJPrLL/GSvGj1MnBvUe6QMI1z27x/4pMNrU7v0ZqzRSJCihWqP0tUuCmQibSYSbsV4XJ3zA==",
190
190
  "requires": {
191
191
  "@types/node": ">=8.1.0",
192
192
  "qs": "^6.6.0"
@@ -105,9 +105,9 @@
105
105
  }
106
106
  },
107
107
  "node_modules/stripe": {
108
- "version": "8.186.1",
109
- "resolved": "https://registry.npmjs.org/stripe/-/stripe-8.186.1.tgz",
110
- "integrity": "sha512-BBByVyqKEBY2GNQDLmfwL1RtfsPmjForD+up7tu+P7KYxxvwEzF1gM2Iv4npfOQevGaBmR70sxIWRwn7utS5pg==",
108
+ "version": "8.188.0",
109
+ "resolved": "https://registry.npmjs.org/stripe/-/stripe-8.188.0.tgz",
110
+ "integrity": "sha512-AW5IOKq4y+ENfHddJPrLL/GSvGj1MnBvUe6QMI1z27x/4pMNrU7v0ZqzRSJCihWqP0tUuCmQibSYSbsV4XJ3zA==",
111
111
  "dependencies": {
112
112
  "@types/node": ">=8.1.0",
113
113
  "qs": "^6.6.0"
@@ -184,9 +184,9 @@
184
184
  }
185
185
  },
186
186
  "stripe": {
187
- "version": "8.186.1",
188
- "resolved": "https://registry.npmjs.org/stripe/-/stripe-8.186.1.tgz",
189
- "integrity": "sha512-BBByVyqKEBY2GNQDLmfwL1RtfsPmjForD+up7tu+P7KYxxvwEzF1gM2Iv4npfOQevGaBmR70sxIWRwn7utS5pg==",
187
+ "version": "8.188.0",
188
+ "resolved": "https://registry.npmjs.org/stripe/-/stripe-8.188.0.tgz",
189
+ "integrity": "sha512-AW5IOKq4y+ENfHddJPrLL/GSvGj1MnBvUe6QMI1z27x/4pMNrU7v0ZqzRSJCihWqP0tUuCmQibSYSbsV4XJ3zA==",
190
190
  "requires": {
191
191
  "@types/node": ">=8.1.0",
192
192
  "qs": "^6.6.0"
@@ -13,6 +13,14 @@ const { openBrowser } = require('./open-browser')
13
13
 
14
14
  const SERVER_PORT = 3000
15
15
 
16
+ /**
17
+ * @typedef Token
18
+ * @type {object}
19
+ * @property {string} user - The username that is associated with the token
20
+ * @property {string} token - The actual token value starting with `gho_`
21
+ * @property {string} provider - The Provider where the token is associated with ('github').
22
+ */
23
+
16
24
  const promptForAuthMethod = async () => {
17
25
  const authChoiceNetlify = 'Authorize with GitHub through app.netlify.com'
18
26
  const authChoiceToken = 'Authorize with a GitHub personal access token'
@@ -34,14 +42,7 @@ const promptForAuthMethod = async () => {
34
42
 
35
43
  /**
36
44
  * Authenticate with the netlify app
37
- * @returns {Promise<Record<string,string>} Returns a Promise with an object of the following shape
38
- * ```
39
- * {
40
- * user: 'spongebob,
41
- * token: 'gho_some-token',
42
- * provider: 'github'
43
- * }
44
- * ```
45
+ * @returns {Promise<Token>} Returns a Promise with a token object
45
46
  */
46
47
  const authWithNetlify = async () => {
47
48
  const port = await getPort({ port: SERVER_PORT })
@@ -95,6 +96,10 @@ const getPersonalAccessToken = async () => {
95
96
  return { token }
96
97
  }
97
98
 
99
+ /**
100
+ * Authenticate with the netlify app
101
+ * @returns {Promise<Token>} Returns a Promise with a token object
102
+ */
98
103
  const authWithToken = async () => {
99
104
  const { token } = await getPersonalAccessToken()
100
105
  if (token) {
@@ -108,6 +113,10 @@ const authWithToken = async () => {
108
113
  throw error
109
114
  }
110
115
 
116
+ /**
117
+ * Get a github token
118
+ * @returns {Promise<Token>} Returns a Promise with a token object
119
+ */
111
120
  const getGitHubToken = async () => {
112
121
  log('')
113
122
 
@@ -6,6 +6,14 @@ const { getGitHubToken: ghauth } = require('../gh-auth')
6
6
 
7
7
  const { createDeployKey, formatErrorMessage, getBuildSettings, saveNetlifyToml, setupSite } = require('./utils')
8
8
 
9
+ /**
10
+ * @typedef Token
11
+ * @type {object}
12
+ * @property {string} user - The username that is associated with the token
13
+ * @property {string} token - The actual token value.
14
+ * @property {string} provider - The Provider where the token is associated with ('github').
15
+ */
16
+
9
17
  const formatRepoAndOwner = ({ repoName, repoOwner }) => ({
10
18
  name: chalk.magenta(repoName),
11
19
  owner: chalk.magenta(repoOwner),
@@ -13,14 +21,27 @@ const formatRepoAndOwner = ({ repoName, repoOwner }) => ({
13
21
 
14
22
  const PAGE_SIZE = 100
15
23
 
16
- const isValidToken = (token) => token && token.user && token.token
17
-
24
+ /**
25
+ * Get a valid github token
26
+ * @returns {string}
27
+ */
18
28
  const getGitHubToken = async ({ globalConfig }) => {
19
29
  const userId = globalConfig.get('userId')
30
+
31
+ /** @type {Token} */
20
32
  const githubToken = globalConfig.get(`users.${userId}.auth.github`)
21
33
 
22
- if (isValidToken(githubToken)) {
23
- return githubToken.token
34
+ if (githubToken && githubToken.user && githubToken.token) {
35
+ try {
36
+ const octokit = getGitHubClient(githubToken.token)
37
+ const { status } = await octokit.rest.users.getAuthenticated()
38
+ if (status < 400) {
39
+ return githubToken.token
40
+ }
41
+ } catch {
42
+ log(chalk.yellow('Token is expired or invalid!'))
43
+ log('Generating a new Github token...')
44
+ }
24
45
  }
25
46
 
26
47
  const newToken = await ghauth()
@@ -28,12 +49,15 @@ const getGitHubToken = async ({ globalConfig }) => {
28
49
  return newToken.token
29
50
  }
30
51
 
31
- const getGitHubClient = ({ token }) => {
32
- const octokit = new Octokit({
52
+ /**
53
+ * Retrieves the Github octokit client
54
+ * @param {string} token
55
+ * @returns {Octokit}
56
+ */
57
+ const getGitHubClient = (token) =>
58
+ new Octokit({
33
59
  auth: `token ${token}`,
34
60
  })
35
- return octokit
36
- }
37
61
 
38
62
  const addDeployKey = async ({ api, octokit, repoName, repoOwner }) => {
39
63
  log('Adding deploy key to repository...')
@@ -172,7 +196,7 @@ const addNotificationHooks = async ({ api, siteId, token }) => {
172
196
  log(`Netlify Notification Hooks configured!`)
173
197
  }
174
198
 
175
- module.exports = async function configGithub({ context, repoName, repoOwner, siteId }) {
199
+ const configGithub = async ({ context, repoName, repoOwner, siteId }) => {
176
200
  const { netlify } = context
177
201
  const {
178
202
  api,
@@ -193,7 +217,7 @@ module.exports = async function configGithub({ context, repoName, repoOwner, sit
193
217
  })
194
218
  await saveNetlifyToml({ repositoryRoot, config, configPath, baseDir, buildCmd, buildDir, functionsDir })
195
219
 
196
- const octokit = getGitHubClient({ token })
220
+ const octokit = getGitHubClient(token)
197
221
  const [deployKey, githubRepo] = await Promise.all([
198
222
  addDeployKey({ api, octokit, repoOwner, repoName }),
199
223
  getGitHubRepo({ octokit, repoOwner, repoName }),
@@ -223,3 +247,5 @@ module.exports = async function configGithub({ context, repoName, repoOwner, sit
223
247
  log()
224
248
  await addNotificationHooks({ siteId, api, token })
225
249
  }
250
+
251
+ module.exports = { configGithub, getGitHubToken }
@@ -2,7 +2,7 @@ const chalk = require('chalk')
2
2
 
3
3
  const { log } = require('../command-helpers')
4
4
 
5
- const configGithub = require('./config-github')
5
+ const { configGithub } = require('./config-github')
6
6
  const configManual = require('./config-manual')
7
7
 
8
8
  const logSuccess = (repoData) => {