netlify-cli 6.14.21 → 6.14.23

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,16 +1,16 @@
1
1
  {
2
2
  "name": "netlify-cli",
3
- "version": "6.14.21",
3
+ "version": "6.14.23",
4
4
  "lockfileVersion": 2,
5
5
  "requires": true,
6
6
  "packages": {
7
7
  "": {
8
8
  "name": "netlify-cli",
9
- "version": "6.14.21",
9
+ "version": "6.14.23",
10
10
  "hasInstallScript": true,
11
11
  "license": "MIT",
12
12
  "dependencies": {
13
- "@netlify/build": "^18.21.10",
13
+ "@netlify/build": "^18.22.0",
14
14
  "@netlify/config": "^15.8.2",
15
15
  "@netlify/framework-info": "^5.11.0",
16
16
  "@netlify/local-functions-proxy": "^1.1.1",
@@ -82,6 +82,7 @@
82
82
  "make-dir": "^3.0.0",
83
83
  "memoize-one": "^6.0.0",
84
84
  "minimist": "^1.2.5",
85
+ "mock-require": "^3.0.3",
85
86
  "multiparty": "^4.2.1",
86
87
  "netlify": "^8.0.4",
87
88
  "netlify-headers-parser": "^4.0.1",
@@ -151,6 +152,7 @@
151
152
  "sinon": "^12.0.0",
152
153
  "sort-on": "^4.1.0",
153
154
  "strip-ansi": "^6.0.0",
155
+ "supertest": "^6.1.6",
154
156
  "temp-dir": "^2.0.0",
155
157
  "tomlify-j0.4": "^3.0.0",
156
158
  "tree-kill": "^1.2.2"
@@ -2424,9 +2426,9 @@
2424
2426
  }
2425
2427
  },
2426
2428
  "node_modules/@netlify/build": {
2427
- "version": "18.21.10",
2428
- "resolved": "https://registry.npmjs.org/@netlify/build/-/build-18.21.10.tgz",
2429
- "integrity": "sha512-wEQxQrwY80rSj6Qp3BGQqczQDlKQZPTcGDClEFBU/ua0QvO3+hxqytCQYJNetIChJGnz3b1fH79OdZYEchePYw==",
2429
+ "version": "18.22.0",
2430
+ "resolved": "https://registry.npmjs.org/@netlify/build/-/build-18.22.0.tgz",
2431
+ "integrity": "sha512-/cOSn08l4JGghV6o7F4z34qYaRPLN153IAIFs16DnrSffLkQO25GB+cxmxgb2Er9kUo9pTK3Otg5WzkfZuUKCg==",
2430
2432
  "dependencies": {
2431
2433
  "@bugsnag/js": "^7.0.0",
2432
2434
  "@netlify/cache-utils": "^2.0.0",
@@ -2436,7 +2438,7 @@
2436
2438
  "@netlify/plugin-edge-handlers": "^1.11.22",
2437
2439
  "@netlify/plugins-list": "^4.2.0",
2438
2440
  "@netlify/run-utils": "^2.0.0",
2439
- "@netlify/zip-it-and-ship-it": "^4.29.3",
2441
+ "@netlify/zip-it-and-ship-it": "^4.29.4",
2440
2442
  "@sindresorhus/slugify": "^1.1.0",
2441
2443
  "@ungap/from-entries": "^0.2.1",
2442
2444
  "ansi-escapes": "^4.3.2",
@@ -2490,6 +2492,70 @@
2490
2492
  "node": ">=10.18.0"
2491
2493
  }
2492
2494
  },
2495
+ "node_modules/@netlify/build/node_modules/@netlify/zip-it-and-ship-it": {
2496
+ "version": "4.29.4",
2497
+ "resolved": "https://registry.npmjs.org/@netlify/zip-it-and-ship-it/-/zip-it-and-ship-it-4.29.4.tgz",
2498
+ "integrity": "sha512-CDU9zzGNQF9p3b/oznT1GGKMw8X7PbaoCnsl787KbC6rx45QjAUiJqspCQv13GOh/a4n8WSnIf05VocCMMFLFw==",
2499
+ "dependencies": {
2500
+ "@babel/parser": "^7.15.7",
2501
+ "@netlify/esbuild": "^0.13.6",
2502
+ "@vercel/nft": "^0.17.0",
2503
+ "archiver": "^5.3.0",
2504
+ "array-flat-polyfill": "^1.0.1",
2505
+ "common-path-prefix": "^3.0.0",
2506
+ "cp-file": "^9.0.0",
2507
+ "del": "^6.0.0",
2508
+ "elf-cam": "^0.1.1",
2509
+ "end-of-stream": "^1.4.4",
2510
+ "es-module-lexer": "^0.9.0",
2511
+ "execa": "^5.0.0",
2512
+ "filter-obj": "^2.0.1",
2513
+ "find-up": "^5.0.0",
2514
+ "glob": "^7.1.6",
2515
+ "is-builtin-module": "^3.1.0",
2516
+ "junk": "^3.1.0",
2517
+ "locate-path": "^6.0.0",
2518
+ "make-dir": "^3.1.0",
2519
+ "merge-options": "^3.0.4",
2520
+ "minimatch": "^3.0.4",
2521
+ "p-map": "^4.0.0",
2522
+ "path-exists": "^4.0.0",
2523
+ "pkg-dir": "^5.0.0",
2524
+ "precinct": "^8.2.0",
2525
+ "read-package-json-fast": "^2.0.2",
2526
+ "require-package-name": "^2.0.1",
2527
+ "resolve": "^2.0.0-next.1",
2528
+ "semver": "^7.0.0",
2529
+ "tmp-promise": "^3.0.2",
2530
+ "toml": "^3.0.0",
2531
+ "typescript": "^4.4.3",
2532
+ "unixify": "^1.0.0",
2533
+ "yargs": "^16.0.0"
2534
+ },
2535
+ "bin": {
2536
+ "zip-it-and-ship-it": "dist/bin.js"
2537
+ },
2538
+ "engines": {
2539
+ "node": ">=10.18.0"
2540
+ }
2541
+ },
2542
+ "node_modules/@netlify/build/node_modules/@netlify/zip-it-and-ship-it/node_modules/yargs": {
2543
+ "version": "16.2.0",
2544
+ "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz",
2545
+ "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==",
2546
+ "dependencies": {
2547
+ "cliui": "^7.0.2",
2548
+ "escalade": "^3.1.1",
2549
+ "get-caller-file": "^2.0.5",
2550
+ "require-directory": "^2.1.1",
2551
+ "string-width": "^4.2.0",
2552
+ "y18n": "^5.0.5",
2553
+ "yargs-parser": "^20.2.2"
2554
+ },
2555
+ "engines": {
2556
+ "node": ">=10"
2557
+ }
2558
+ },
2493
2559
  "node_modules/@netlify/build/node_modules/@sindresorhus/is": {
2494
2560
  "version": "2.1.1",
2495
2561
  "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-2.1.1.tgz",
@@ -2535,16 +2601,6 @@
2535
2601
  "node": ">=6"
2536
2602
  }
2537
2603
  },
2538
- "node_modules/@netlify/build/node_modules/cliui": {
2539
- "version": "6.0.0",
2540
- "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz",
2541
- "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==",
2542
- "dependencies": {
2543
- "string-width": "^4.2.0",
2544
- "strip-ansi": "^6.0.0",
2545
- "wrap-ansi": "^6.2.0"
2546
- }
2547
- },
2548
2604
  "node_modules/@netlify/build/node_modules/color-convert": {
2549
2605
  "version": "2.0.1",
2550
2606
  "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
@@ -2580,40 +2636,6 @@
2580
2636
  "node": ">=0.3.1"
2581
2637
  }
2582
2638
  },
2583
- "node_modules/@netlify/build/node_modules/find-up": {
2584
- "version": "4.1.0",
2585
- "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
2586
- "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
2587
- "dependencies": {
2588
- "locate-path": "^5.0.0",
2589
- "path-exists": "^4.0.0"
2590
- },
2591
- "engines": {
2592
- "node": ">=8"
2593
- }
2594
- },
2595
- "node_modules/@netlify/build/node_modules/find-up/node_modules/locate-path": {
2596
- "version": "5.0.0",
2597
- "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
2598
- "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
2599
- "dependencies": {
2600
- "p-locate": "^4.1.0"
2601
- },
2602
- "engines": {
2603
- "node": ">=8"
2604
- }
2605
- },
2606
- "node_modules/@netlify/build/node_modules/find-up/node_modules/p-locate": {
2607
- "version": "4.1.0",
2608
- "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
2609
- "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
2610
- "dependencies": {
2611
- "p-limit": "^2.2.0"
2612
- },
2613
- "engines": {
2614
- "node": ">=8"
2615
- }
2616
- },
2617
2639
  "node_modules/@netlify/build/node_modules/get-stream": {
2618
2640
  "version": "5.2.0",
2619
2641
  "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz",
@@ -2757,11 +2779,6 @@
2757
2779
  "node": ">=8"
2758
2780
  }
2759
2781
  },
2760
- "node_modules/@netlify/build/node_modules/y18n": {
2761
- "version": "4.0.3",
2762
- "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz",
2763
- "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ=="
2764
- },
2765
2782
  "node_modules/@netlify/build/node_modules/yargs": {
2766
2783
  "version": "15.4.1",
2767
2784
  "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz",
@@ -2783,7 +2800,56 @@
2783
2800
  "node": ">=8"
2784
2801
  }
2785
2802
  },
2786
- "node_modules/@netlify/build/node_modules/yargs-parser": {
2803
+ "node_modules/@netlify/build/node_modules/yargs/node_modules/cliui": {
2804
+ "version": "6.0.0",
2805
+ "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz",
2806
+ "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==",
2807
+ "dependencies": {
2808
+ "string-width": "^4.2.0",
2809
+ "strip-ansi": "^6.0.0",
2810
+ "wrap-ansi": "^6.2.0"
2811
+ }
2812
+ },
2813
+ "node_modules/@netlify/build/node_modules/yargs/node_modules/find-up": {
2814
+ "version": "4.1.0",
2815
+ "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
2816
+ "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
2817
+ "dependencies": {
2818
+ "locate-path": "^5.0.0",
2819
+ "path-exists": "^4.0.0"
2820
+ },
2821
+ "engines": {
2822
+ "node": ">=8"
2823
+ }
2824
+ },
2825
+ "node_modules/@netlify/build/node_modules/yargs/node_modules/locate-path": {
2826
+ "version": "5.0.0",
2827
+ "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
2828
+ "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
2829
+ "dependencies": {
2830
+ "p-locate": "^4.1.0"
2831
+ },
2832
+ "engines": {
2833
+ "node": ">=8"
2834
+ }
2835
+ },
2836
+ "node_modules/@netlify/build/node_modules/yargs/node_modules/p-locate": {
2837
+ "version": "4.1.0",
2838
+ "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
2839
+ "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
2840
+ "dependencies": {
2841
+ "p-limit": "^2.2.0"
2842
+ },
2843
+ "engines": {
2844
+ "node": ">=8"
2845
+ }
2846
+ },
2847
+ "node_modules/@netlify/build/node_modules/yargs/node_modules/y18n": {
2848
+ "version": "4.0.3",
2849
+ "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz",
2850
+ "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ=="
2851
+ },
2852
+ "node_modules/@netlify/build/node_modules/yargs/node_modules/yargs-parser": {
2787
2853
  "version": "18.1.3",
2788
2854
  "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz",
2789
2855
  "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==",
@@ -7224,6 +7290,12 @@
7224
7290
  "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz",
7225
7291
  "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw="
7226
7292
  },
7293
+ "node_modules/cookiejar": {
7294
+ "version": "2.1.3",
7295
+ "resolved": "https://registry.npmjs.org/cookiejar/-/cookiejar-2.1.3.tgz",
7296
+ "integrity": "sha512-JxbCBUdrfr6AQjOXrxoTvAMJO4HBTUIlBzslcJPAz+/KT8yk53fXun51u+RenNYvad/+Vc2DIz5o9UxlCDymFQ==",
7297
+ "dev": true
7298
+ },
7227
7299
  "node_modules/copy-descriptor": {
7228
7300
  "version": "0.1.1",
7229
7301
  "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz",
@@ -8407,9 +8479,9 @@
8407
8479
  }
8408
8480
  },
8409
8481
  "node_modules/detective-es6": {
8410
- "version": "2.2.0",
8411
- "resolved": "https://registry.npmjs.org/detective-es6/-/detective-es6-2.2.0.tgz",
8412
- "integrity": "sha512-fSpNY0SLER7/sVgQZ1NxJPwmc9uCTzNgdkQDhAaj8NPYwr7Qji9QBcmbNvtMCnuuOGMuKn3O7jv0An+/WRWJZQ==",
8482
+ "version": "2.2.1",
8483
+ "resolved": "https://registry.npmjs.org/detective-es6/-/detective-es6-2.2.1.tgz",
8484
+ "integrity": "sha512-22z7MblxkhsIQGuALeGwCKEfqNy4WmgDGmfJCwdXbfDkVYIiIDmY513hiIWBvX3kCmzvvWE7RR7kAYxs01wwKQ==",
8413
8485
  "dependencies": {
8414
8486
  "node-source-walk": "^4.0.0"
8415
8487
  },
@@ -11203,6 +11275,16 @@
11203
11275
  "node": ">= 6"
11204
11276
  }
11205
11277
  },
11278
+ "node_modules/formidable": {
11279
+ "version": "1.2.6",
11280
+ "resolved": "https://registry.npmjs.org/formidable/-/formidable-1.2.6.tgz",
11281
+ "integrity": "sha512-KcpbcpuLNOwrEjnbpMC0gS+X8ciDoZE1kkqzat4a8vrprf+s9pKNQ/QIwWfbfs4ltgmFl3MD177SNTkve3BwGQ==",
11282
+ "deprecated": "Please upgrade to latest, formidable@v2 or formidable@v3! Check these notes: https://bit.ly/2ZEqIau",
11283
+ "dev": true,
11284
+ "funding": {
11285
+ "url": "https://ko-fi.com/tunnckoCore/commissions"
11286
+ }
11287
+ },
11206
11288
  "node_modules/forwarded": {
11207
11289
  "version": "0.2.0",
11208
11290
  "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz",
@@ -14975,6 +15057,34 @@
14975
15057
  "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==",
14976
15058
  "dev": true
14977
15059
  },
15060
+ "node_modules/mock-require": {
15061
+ "version": "3.0.3",
15062
+ "resolved": "https://registry.npmjs.org/mock-require/-/mock-require-3.0.3.tgz",
15063
+ "integrity": "sha512-lLzfLHcyc10MKQnNUCv7dMcoY/2Qxd6wJfbqCcVk3LDb8An4hF6ohk5AztrvgKhJCqj36uyzi/p5se+tvyD+Wg==",
15064
+ "dependencies": {
15065
+ "get-caller-file": "^1.0.2",
15066
+ "normalize-path": "^2.1.1"
15067
+ },
15068
+ "engines": {
15069
+ "node": ">=4.3.0"
15070
+ }
15071
+ },
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
+ "node_modules/mock-require/node_modules/normalize-path": {
15078
+ "version": "2.1.1",
15079
+ "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz",
15080
+ "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=",
15081
+ "dependencies": {
15082
+ "remove-trailing-separator": "^1.0.1"
15083
+ },
15084
+ "engines": {
15085
+ "node": ">=0.10.0"
15086
+ }
15087
+ },
14978
15088
  "node_modules/mock-stdin": {
14979
15089
  "version": "1.0.0",
14980
15090
  "resolved": "https://registry.npmjs.org/mock-stdin/-/mock-stdin-1.0.0.tgz",
@@ -20354,6 +20464,69 @@
20354
20464
  "node": ">=0.8.0"
20355
20465
  }
20356
20466
  },
20467
+ "node_modules/superagent": {
20468
+ "version": "6.1.0",
20469
+ "resolved": "https://registry.npmjs.org/superagent/-/superagent-6.1.0.tgz",
20470
+ "integrity": "sha512-OUDHEssirmplo3F+1HWKUrUjvnQuA+nZI6i/JJBdXb5eq9IyEQwPyPpqND+SSsxf6TygpBEkUjISVRN4/VOpeg==",
20471
+ "dev": true,
20472
+ "dependencies": {
20473
+ "component-emitter": "^1.3.0",
20474
+ "cookiejar": "^2.1.2",
20475
+ "debug": "^4.1.1",
20476
+ "fast-safe-stringify": "^2.0.7",
20477
+ "form-data": "^3.0.0",
20478
+ "formidable": "^1.2.2",
20479
+ "methods": "^1.1.2",
20480
+ "mime": "^2.4.6",
20481
+ "qs": "^6.9.4",
20482
+ "readable-stream": "^3.6.0",
20483
+ "semver": "^7.3.2"
20484
+ },
20485
+ "engines": {
20486
+ "node": ">= 7.0.0"
20487
+ }
20488
+ },
20489
+ "node_modules/superagent/node_modules/form-data": {
20490
+ "version": "3.0.1",
20491
+ "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz",
20492
+ "integrity": "sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==",
20493
+ "dev": true,
20494
+ "dependencies": {
20495
+ "asynckit": "^0.4.0",
20496
+ "combined-stream": "^1.0.8",
20497
+ "mime-types": "^2.1.12"
20498
+ },
20499
+ "engines": {
20500
+ "node": ">= 6"
20501
+ }
20502
+ },
20503
+ "node_modules/superagent/node_modules/mime": {
20504
+ "version": "2.6.0",
20505
+ "resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz",
20506
+ "integrity": "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==",
20507
+ "dev": true,
20508
+ "bin": {
20509
+ "mime": "cli.js"
20510
+ },
20511
+ "engines": {
20512
+ "node": ">=4.0.0"
20513
+ }
20514
+ },
20515
+ "node_modules/superagent/node_modules/qs": {
20516
+ "version": "6.10.1",
20517
+ "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.1.tgz",
20518
+ "integrity": "sha512-M528Hph6wsSVOBiYUnGf+K/7w0hNshs/duGsNXPUCLH5XAqjEtiPGwNONLV0tBH8NoGb0mvD5JubnUTrujKDTg==",
20519
+ "dev": true,
20520
+ "dependencies": {
20521
+ "side-channel": "^1.0.4"
20522
+ },
20523
+ "engines": {
20524
+ "node": ">=0.6"
20525
+ },
20526
+ "funding": {
20527
+ "url": "https://github.com/sponsors/ljharb"
20528
+ }
20529
+ },
20357
20530
  "node_modules/supertap": {
20358
20531
  "version": "2.0.0",
20359
20532
  "resolved": "https://registry.npmjs.org/supertap/-/supertap-2.0.0.tgz",
@@ -20392,6 +20565,19 @@
20392
20565
  "js-yaml": "bin/js-yaml.js"
20393
20566
  }
20394
20567
  },
20568
+ "node_modules/supertest": {
20569
+ "version": "6.1.6",
20570
+ "resolved": "https://registry.npmjs.org/supertest/-/supertest-6.1.6.tgz",
20571
+ "integrity": "sha512-0hACYGNJ8OHRg8CRITeZOdbjur7NLuNs0mBjVhdpxi7hP6t3QIbOzLON5RTUmZcy2I9riuII3+Pr2C7yztrIIg==",
20572
+ "dev": true,
20573
+ "dependencies": {
20574
+ "methods": "^1.1.2",
20575
+ "superagent": "^6.1.0"
20576
+ },
20577
+ "engines": {
20578
+ "node": ">=6.0.0"
20579
+ }
20580
+ },
20395
20581
  "node_modules/supports-color": {
20396
20582
  "version": "8.1.1",
20397
20583
  "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz",
@@ -23565,9 +23751,9 @@
23565
23751
  }
23566
23752
  },
23567
23753
  "@netlify/build": {
23568
- "version": "18.21.10",
23569
- "resolved": "https://registry.npmjs.org/@netlify/build/-/build-18.21.10.tgz",
23570
- "integrity": "sha512-wEQxQrwY80rSj6Qp3BGQqczQDlKQZPTcGDClEFBU/ua0QvO3+hxqytCQYJNetIChJGnz3b1fH79OdZYEchePYw==",
23754
+ "version": "18.22.0",
23755
+ "resolved": "https://registry.npmjs.org/@netlify/build/-/build-18.22.0.tgz",
23756
+ "integrity": "sha512-/cOSn08l4JGghV6o7F4z34qYaRPLN153IAIFs16DnrSffLkQO25GB+cxmxgb2Er9kUo9pTK3Otg5WzkfZuUKCg==",
23571
23757
  "requires": {
23572
23758
  "@bugsnag/js": "^7.0.0",
23573
23759
  "@netlify/cache-utils": "^2.0.0",
@@ -23577,7 +23763,7 @@
23577
23763
  "@netlify/plugin-edge-handlers": "^1.11.22",
23578
23764
  "@netlify/plugins-list": "^4.2.0",
23579
23765
  "@netlify/run-utils": "^2.0.0",
23580
- "@netlify/zip-it-and-ship-it": "^4.29.3",
23766
+ "@netlify/zip-it-and-ship-it": "^4.29.4",
23581
23767
  "@sindresorhus/slugify": "^1.1.0",
23582
23768
  "@ungap/from-entries": "^0.2.1",
23583
23769
  "ansi-escapes": "^4.3.2",
@@ -23625,6 +23811,63 @@
23625
23811
  "yargs": "^15.3.1"
23626
23812
  },
23627
23813
  "dependencies": {
23814
+ "@netlify/zip-it-and-ship-it": {
23815
+ "version": "4.29.4",
23816
+ "resolved": "https://registry.npmjs.org/@netlify/zip-it-and-ship-it/-/zip-it-and-ship-it-4.29.4.tgz",
23817
+ "integrity": "sha512-CDU9zzGNQF9p3b/oznT1GGKMw8X7PbaoCnsl787KbC6rx45QjAUiJqspCQv13GOh/a4n8WSnIf05VocCMMFLFw==",
23818
+ "requires": {
23819
+ "@babel/parser": "^7.15.7",
23820
+ "@netlify/esbuild": "^0.13.6",
23821
+ "@vercel/nft": "^0.17.0",
23822
+ "archiver": "^5.3.0",
23823
+ "array-flat-polyfill": "^1.0.1",
23824
+ "common-path-prefix": "^3.0.0",
23825
+ "cp-file": "^9.0.0",
23826
+ "del": "^6.0.0",
23827
+ "elf-cam": "^0.1.1",
23828
+ "end-of-stream": "^1.4.4",
23829
+ "es-module-lexer": "^0.9.0",
23830
+ "execa": "^5.0.0",
23831
+ "filter-obj": "^2.0.1",
23832
+ "find-up": "^5.0.0",
23833
+ "glob": "^7.1.6",
23834
+ "is-builtin-module": "^3.1.0",
23835
+ "junk": "^3.1.0",
23836
+ "locate-path": "^6.0.0",
23837
+ "make-dir": "^3.1.0",
23838
+ "merge-options": "^3.0.4",
23839
+ "minimatch": "^3.0.4",
23840
+ "p-map": "^4.0.0",
23841
+ "path-exists": "^4.0.0",
23842
+ "pkg-dir": "^5.0.0",
23843
+ "precinct": "^8.2.0",
23844
+ "read-package-json-fast": "^2.0.2",
23845
+ "require-package-name": "^2.0.1",
23846
+ "resolve": "^2.0.0-next.1",
23847
+ "semver": "^7.0.0",
23848
+ "tmp-promise": "^3.0.2",
23849
+ "toml": "^3.0.0",
23850
+ "typescript": "^4.4.3",
23851
+ "unixify": "^1.0.0",
23852
+ "yargs": "^16.0.0"
23853
+ },
23854
+ "dependencies": {
23855
+ "yargs": {
23856
+ "version": "16.2.0",
23857
+ "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz",
23858
+ "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==",
23859
+ "requires": {
23860
+ "cliui": "^7.0.2",
23861
+ "escalade": "^3.1.1",
23862
+ "get-caller-file": "^2.0.5",
23863
+ "require-directory": "^2.1.1",
23864
+ "string-width": "^4.2.0",
23865
+ "y18n": "^5.0.5",
23866
+ "yargs-parser": "^20.2.2"
23867
+ }
23868
+ }
23869
+ }
23870
+ },
23628
23871
  "@sindresorhus/is": {
23629
23872
  "version": "2.1.1",
23630
23873
  "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-2.1.1.tgz",
@@ -23652,16 +23895,6 @@
23652
23895
  "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz",
23653
23896
  "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg=="
23654
23897
  },
23655
- "cliui": {
23656
- "version": "6.0.0",
23657
- "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz",
23658
- "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==",
23659
- "requires": {
23660
- "string-width": "^4.2.0",
23661
- "strip-ansi": "^6.0.0",
23662
- "wrap-ansi": "^6.2.0"
23663
- }
23664
- },
23665
23898
  "color-convert": {
23666
23899
  "version": "2.0.1",
23667
23900
  "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
@@ -23688,33 +23921,6 @@
23688
23921
  "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz",
23689
23922
  "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A=="
23690
23923
  },
23691
- "find-up": {
23692
- "version": "4.1.0",
23693
- "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
23694
- "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
23695
- "requires": {
23696
- "locate-path": "^5.0.0",
23697
- "path-exists": "^4.0.0"
23698
- },
23699
- "dependencies": {
23700
- "locate-path": {
23701
- "version": "5.0.0",
23702
- "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
23703
- "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
23704
- "requires": {
23705
- "p-locate": "^4.1.0"
23706
- }
23707
- },
23708
- "p-locate": {
23709
- "version": "4.1.0",
23710
- "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
23711
- "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
23712
- "requires": {
23713
- "p-limit": "^2.2.0"
23714
- }
23715
- }
23716
- }
23717
- },
23718
23924
  "get-stream": {
23719
23925
  "version": "5.2.0",
23720
23926
  "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz",
@@ -23801,11 +24007,6 @@
23801
24007
  "strip-ansi": "^6.0.0"
23802
24008
  }
23803
24009
  },
23804
- "y18n": {
23805
- "version": "4.0.3",
23806
- "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz",
23807
- "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ=="
23808
- },
23809
24010
  "yargs": {
23810
24011
  "version": "15.4.1",
23811
24012
  "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz",
@@ -23822,15 +24023,57 @@
23822
24023
  "which-module": "^2.0.0",
23823
24024
  "y18n": "^4.0.0",
23824
24025
  "yargs-parser": "^18.1.2"
23825
- }
23826
- },
23827
- "yargs-parser": {
23828
- "version": "18.1.3",
23829
- "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz",
23830
- "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==",
23831
- "requires": {
23832
- "camelcase": "^5.0.0",
23833
- "decamelize": "^1.2.0"
24026
+ },
24027
+ "dependencies": {
24028
+ "cliui": {
24029
+ "version": "6.0.0",
24030
+ "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz",
24031
+ "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==",
24032
+ "requires": {
24033
+ "string-width": "^4.2.0",
24034
+ "strip-ansi": "^6.0.0",
24035
+ "wrap-ansi": "^6.2.0"
24036
+ }
24037
+ },
24038
+ "find-up": {
24039
+ "version": "4.1.0",
24040
+ "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
24041
+ "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
24042
+ "requires": {
24043
+ "locate-path": "^5.0.0",
24044
+ "path-exists": "^4.0.0"
24045
+ }
24046
+ },
24047
+ "locate-path": {
24048
+ "version": "5.0.0",
24049
+ "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
24050
+ "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
24051
+ "requires": {
24052
+ "p-locate": "^4.1.0"
24053
+ }
24054
+ },
24055
+ "p-locate": {
24056
+ "version": "4.1.0",
24057
+ "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
24058
+ "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
24059
+ "requires": {
24060
+ "p-limit": "^2.2.0"
24061
+ }
24062
+ },
24063
+ "y18n": {
24064
+ "version": "4.0.3",
24065
+ "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz",
24066
+ "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ=="
24067
+ },
24068
+ "yargs-parser": {
24069
+ "version": "18.1.3",
24070
+ "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz",
24071
+ "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==",
24072
+ "requires": {
24073
+ "camelcase": "^5.0.0",
24074
+ "decamelize": "^1.2.0"
24075
+ }
24076
+ }
23834
24077
  }
23835
24078
  }
23836
24079
  }
@@ -27227,6 +27470,12 @@
27227
27470
  "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz",
27228
27471
  "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw="
27229
27472
  },
27473
+ "cookiejar": {
27474
+ "version": "2.1.3",
27475
+ "resolved": "https://registry.npmjs.org/cookiejar/-/cookiejar-2.1.3.tgz",
27476
+ "integrity": "sha512-JxbCBUdrfr6AQjOXrxoTvAMJO4HBTUIlBzslcJPAz+/KT8yk53fXun51u+RenNYvad/+Vc2DIz5o9UxlCDymFQ==",
27477
+ "dev": true
27478
+ },
27230
27479
  "copy-descriptor": {
27231
27480
  "version": "0.1.1",
27232
27481
  "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz",
@@ -28155,9 +28404,9 @@
28155
28404
  }
28156
28405
  },
28157
28406
  "detective-es6": {
28158
- "version": "2.2.0",
28159
- "resolved": "https://registry.npmjs.org/detective-es6/-/detective-es6-2.2.0.tgz",
28160
- "integrity": "sha512-fSpNY0SLER7/sVgQZ1NxJPwmc9uCTzNgdkQDhAaj8NPYwr7Qji9QBcmbNvtMCnuuOGMuKn3O7jv0An+/WRWJZQ==",
28407
+ "version": "2.2.1",
28408
+ "resolved": "https://registry.npmjs.org/detective-es6/-/detective-es6-2.2.1.tgz",
28409
+ "integrity": "sha512-22z7MblxkhsIQGuALeGwCKEfqNy4WmgDGmfJCwdXbfDkVYIiIDmY513hiIWBvX3kCmzvvWE7RR7kAYxs01wwKQ==",
28161
28410
  "requires": {
28162
28411
  "node-source-walk": "^4.0.0"
28163
28412
  }
@@ -30257,6 +30506,12 @@
30257
30506
  "mime-types": "^2.1.12"
30258
30507
  }
30259
30508
  },
30509
+ "formidable": {
30510
+ "version": "1.2.6",
30511
+ "resolved": "https://registry.npmjs.org/formidable/-/formidable-1.2.6.tgz",
30512
+ "integrity": "sha512-KcpbcpuLNOwrEjnbpMC0gS+X8ciDoZE1kkqzat4a8vrprf+s9pKNQ/QIwWfbfs4ltgmFl3MD177SNTkve3BwGQ==",
30513
+ "dev": true
30514
+ },
30260
30515
  "forwarded": {
30261
30516
  "version": "0.2.0",
30262
30517
  "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz",
@@ -33082,6 +33337,30 @@
33082
33337
  "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==",
33083
33338
  "dev": true
33084
33339
  },
33340
+ "mock-require": {
33341
+ "version": "3.0.3",
33342
+ "resolved": "https://registry.npmjs.org/mock-require/-/mock-require-3.0.3.tgz",
33343
+ "integrity": "sha512-lLzfLHcyc10MKQnNUCv7dMcoY/2Qxd6wJfbqCcVk3LDb8An4hF6ohk5AztrvgKhJCqj36uyzi/p5se+tvyD+Wg==",
33344
+ "requires": {
33345
+ "get-caller-file": "^1.0.2",
33346
+ "normalize-path": "^2.1.1"
33347
+ },
33348
+ "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
+ "normalize-path": {
33355
+ "version": "2.1.1",
33356
+ "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz",
33357
+ "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=",
33358
+ "requires": {
33359
+ "remove-trailing-separator": "^1.0.1"
33360
+ }
33361
+ }
33362
+ }
33363
+ },
33085
33364
  "mock-stdin": {
33086
33365
  "version": "1.0.0",
33087
33366
  "resolved": "https://registry.npmjs.org/mock-stdin/-/mock-stdin-1.0.0.tgz",
@@ -37218,6 +37497,53 @@
37218
37497
  }
37219
37498
  }
37220
37499
  },
37500
+ "superagent": {
37501
+ "version": "6.1.0",
37502
+ "resolved": "https://registry.npmjs.org/superagent/-/superagent-6.1.0.tgz",
37503
+ "integrity": "sha512-OUDHEssirmplo3F+1HWKUrUjvnQuA+nZI6i/JJBdXb5eq9IyEQwPyPpqND+SSsxf6TygpBEkUjISVRN4/VOpeg==",
37504
+ "dev": true,
37505
+ "requires": {
37506
+ "component-emitter": "^1.3.0",
37507
+ "cookiejar": "^2.1.2",
37508
+ "debug": "^4.1.1",
37509
+ "fast-safe-stringify": "^2.0.7",
37510
+ "form-data": "^3.0.0",
37511
+ "formidable": "^1.2.2",
37512
+ "methods": "^1.1.2",
37513
+ "mime": "^2.4.6",
37514
+ "qs": "^6.9.4",
37515
+ "readable-stream": "^3.6.0",
37516
+ "semver": "^7.3.2"
37517
+ },
37518
+ "dependencies": {
37519
+ "form-data": {
37520
+ "version": "3.0.1",
37521
+ "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz",
37522
+ "integrity": "sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==",
37523
+ "dev": true,
37524
+ "requires": {
37525
+ "asynckit": "^0.4.0",
37526
+ "combined-stream": "^1.0.8",
37527
+ "mime-types": "^2.1.12"
37528
+ }
37529
+ },
37530
+ "mime": {
37531
+ "version": "2.6.0",
37532
+ "resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz",
37533
+ "integrity": "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==",
37534
+ "dev": true
37535
+ },
37536
+ "qs": {
37537
+ "version": "6.10.1",
37538
+ "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.1.tgz",
37539
+ "integrity": "sha512-M528Hph6wsSVOBiYUnGf+K/7w0hNshs/duGsNXPUCLH5XAqjEtiPGwNONLV0tBH8NoGb0mvD5JubnUTrujKDTg==",
37540
+ "dev": true,
37541
+ "requires": {
37542
+ "side-channel": "^1.0.4"
37543
+ }
37544
+ }
37545
+ }
37546
+ },
37221
37547
  "supertap": {
37222
37548
  "version": "2.0.0",
37223
37549
  "resolved": "https://registry.npmjs.org/supertap/-/supertap-2.0.0.tgz",
@@ -37252,6 +37578,16 @@
37252
37578
  }
37253
37579
  }
37254
37580
  },
37581
+ "supertest": {
37582
+ "version": "6.1.6",
37583
+ "resolved": "https://registry.npmjs.org/supertest/-/supertest-6.1.6.tgz",
37584
+ "integrity": "sha512-0hACYGNJ8OHRg8CRITeZOdbjur7NLuNs0mBjVhdpxi7hP6t3QIbOzLON5RTUmZcy2I9riuII3+Pr2C7yztrIIg==",
37585
+ "dev": true,
37586
+ "requires": {
37587
+ "methods": "^1.1.2",
37588
+ "superagent": "^6.1.0"
37589
+ }
37590
+ },
37255
37591
  "supports-color": {
37256
37592
  "version": "8.1.1",
37257
37593
  "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz",
@@ -1 +1 @@
1
- {"version":"6.14.21","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.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":[]}}}
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.21",
4
+ "version": "6.14.23",
5
5
  "author": "Netlify Inc.",
6
6
  "contributors": [
7
7
  "Mathias Biilmann <matt@netlify.com> (https://twitter.com/biilmann)",
@@ -79,7 +79,7 @@
79
79
  "prettier": "--ignore-path .gitignore --loglevel=warn \"{src,scripts,site,tests,.github}/**/*.{js,md,yml,json,html}\" \"*.{js,yml,json,html}\" \".*.{js,yml,json,html}\" \"!CHANGELOG.md\" \"!npm-shrinkwrap.json\" \"!.github/**/*.md\""
80
80
  },
81
81
  "dependencies": {
82
- "@netlify/build": "^18.21.10",
82
+ "@netlify/build": "^18.22.0",
83
83
  "@netlify/config": "^15.8.2",
84
84
  "@netlify/framework-info": "^5.11.0",
85
85
  "@netlify/local-functions-proxy": "^1.1.1",
@@ -151,6 +151,7 @@
151
151
  "make-dir": "^3.0.0",
152
152
  "memoize-one": "^6.0.0",
153
153
  "minimist": "^1.2.5",
154
+ "mock-require": "^3.0.3",
154
155
  "multiparty": "^4.2.1",
155
156
  "netlify": "^8.0.4",
156
157
  "netlify-headers-parser": "^4.0.1",
@@ -216,6 +217,7 @@
216
217
  "sinon": "^12.0.0",
217
218
  "sort-on": "^4.1.0",
218
219
  "strip-ansi": "^6.0.0",
220
+ "supertest": "^6.1.6",
219
221
  "temp-dir": "^2.0.0",
220
222
  "tomlify-j0.4": "^3.0.0",
221
223
  "tree-kill": "^1.2.2"
@@ -78,9 +78,10 @@ const createHandler = function ({ functionsRegistry }) {
78
78
  (prev, [key, value]) => ({ ...prev, [key]: Array.isArray(value) ? value : [value] }),
79
79
  {},
80
80
  )
81
- const host = request.get('host') || 'localhost'
82
- const rawUrl = `${request.protocol}://${host}${request.originalUrl}`
83
81
  const rawQuery = new URLSearchParams(request.query).toString()
82
+ const url = new URL(requestPath, `${request.protocol}://${request.get('host') || 'localhost'}`)
83
+ url.search = rawQuery
84
+ const rawUrl = url.toString()
84
85
  const event = {
85
86
  path: requestPath,
86
87
  httpMethod: request.method,
@@ -209,4 +210,4 @@ const startWebServer = async ({ server, settings }) => {
209
210
  })
210
211
  }
211
212
 
212
- module.exports = { startFunctionsServer }
213
+ module.exports = { startFunctionsServer, createHandler }