netlify-cli 9.0.3 → 9.1.1

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.
package/README.md CHANGED
@@ -159,6 +159,7 @@ Manage netlify functions
159
159
 
160
160
  | Subcommand | description |
161
161
  |:--------------------------- |:-----|
162
+ | [`graph:config:write`](/docs/commands/graph.md#graphconfigwrite) | Write a .graphqlrc.json file to the current directory for use with local tooling (e.g. the graphql extension for vscode) |
162
163
  | [`graph:edit`](/docs/commands/graph.md#graphedit) | Launch the browser to edit your local graph functions from Netlify |
163
164
  | [`graph:handler`](/docs/commands/graph.md#graphhandler) | Generate a handler for a Graph operation given its name. See `graph:operations` for a list of operations. |
164
165
  | [`graph:library`](/docs/commands/graph.md#graphlibrary) | Generate the Graph function library |
package/bin/run CHANGED
@@ -25,5 +25,10 @@ if (require.main === module) {
25
25
  const program = createMainCommand()
26
26
 
27
27
  // eslint-disable-next-line promise/prefer-await-to-then
28
- program.parseAsync(process.argv).catch((error_) => program.onEnd(error_))
28
+ program
29
+ .parseAsync(process.argv)
30
+ .then(() => {
31
+ program.onEnd()
32
+ })
33
+ .catch((error_) => program.onEnd(error_))
29
34
  }
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "netlify-cli",
3
- "version": "9.0.3",
3
+ "version": "9.1.1",
4
4
  "lockfileVersion": 2,
5
5
  "requires": true,
6
6
  "packages": {
7
7
  "": {
8
8
  "name": "netlify-cli",
9
- "version": "9.0.3",
9
+ "version": "9.1.1",
10
10
  "hasInstallScript": true,
11
11
  "license": "MIT",
12
12
  "dependencies": {
@@ -17,7 +17,7 @@
17
17
  "@netlify/plugin-edge-handlers": "^3.0.6",
18
18
  "@netlify/plugins-list": "^6.9.0",
19
19
  "@netlify/routing-local-proxy": "^0.34.1",
20
- "@netlify/zip-it-and-ship-it": "^5.7.2",
20
+ "@netlify/zip-it-and-ship-it": "^5.7.4",
21
21
  "@octokit/rest": "^18.0.0",
22
22
  "@sindresorhus/slugify": "^1.1.0",
23
23
  "ansi-escapes": "^5.0.0",
@@ -82,7 +82,7 @@
82
82
  "multiparty": "^4.2.1",
83
83
  "netlify": "^11.0.0",
84
84
  "netlify-headers-parser": "^6.0.1",
85
- "netlify-onegraph-internal": "0.0.32",
85
+ "netlify-onegraph-internal": "0.0.37",
86
86
  "netlify-redirect-parser": "^13.0.2",
87
87
  "netlify-redirector": "^0.2.1",
88
88
  "node-fetch": "^2.6.0",
@@ -2707,9 +2707,9 @@
2707
2707
  }
2708
2708
  },
2709
2709
  "node_modules/@netlify/build/node_modules/npm-run-path": {
2710
- "version": "5.0.1",
2711
- "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.0.1.tgz",
2712
- "integrity": "sha512-ybBJQUSyFwEEhqO2lXmyKOl9ucHtyZBWVM0h0FiMfT/+WKxCUZFa95qAR2X3w/w6oigN3B0b2UNHZbD+kdfD5w==",
2710
+ "version": "5.1.0",
2711
+ "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.1.0.tgz",
2712
+ "integrity": "sha512-sJOdmRGrY2sjNTRMbSvluQqg+8X7ZK61yvzBEIDhz4f8z1TZFYABsqjjCBd/0PUNE9M6QDgHJXQkGUEm7Q+l9Q==",
2713
2713
  "dependencies": {
2714
2714
  "path-key": "^4.0.0"
2715
2715
  },
@@ -2912,24 +2912,85 @@
2912
2912
  }
2913
2913
  },
2914
2914
  "node_modules/@netlify/cache-utils": {
2915
- "version": "4.1.2",
2916
- "resolved": "https://registry.npmjs.org/@netlify/cache-utils/-/cache-utils-4.1.2.tgz",
2917
- "integrity": "sha512-CRqJLmoyBipU2fjaOeBmH9VgNGnm2kp6yuoN5PoEgzPFnB4t1mBCtEw7hes00jb5KJqBON7ESLS+4pSKr7W61Q==",
2915
+ "version": "4.1.3",
2916
+ "resolved": "https://registry.npmjs.org/@netlify/cache-utils/-/cache-utils-4.1.3.tgz",
2917
+ "integrity": "sha512-fpLCCyHA+i+ZkoIDnEy0woVXHEuhGheYcpzAB9FTbWuf4zBbt364pCOcq+OlSBbM/O4zQO6N36AmOIECGSL/Dw==",
2918
2918
  "dependencies": {
2919
2919
  "cpy": "^8.1.0",
2920
2920
  "del": "^6.0.0",
2921
2921
  "get-stream": "^6.0.0",
2922
2922
  "globby": "^11.0.0",
2923
2923
  "junk": "^3.1.0",
2924
- "locate-path": "^6.0.0",
2924
+ "locate-path": "^7.0.0",
2925
2925
  "move-file": "^2.0.0",
2926
- "path-exists": "^4.0.0",
2926
+ "path-exists": "^5.0.0",
2927
2927
  "readdirp": "^3.4.0"
2928
2928
  },
2929
2929
  "engines": {
2930
2930
  "node": "^12.20.0 || ^14.14.0 || >=16.0.0"
2931
2931
  }
2932
2932
  },
2933
+ "node_modules/@netlify/cache-utils/node_modules/locate-path": {
2934
+ "version": "7.1.0",
2935
+ "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-7.1.0.tgz",
2936
+ "integrity": "sha512-HNx5uOnYeK4SxEoid5qnhRfprlJeGMzFRKPLCf/15N3/B4AiofNwC/yq7VBKdVk9dx7m+PiYCJOGg55JYTAqoQ==",
2937
+ "dependencies": {
2938
+ "p-locate": "^6.0.0"
2939
+ },
2940
+ "engines": {
2941
+ "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
2942
+ },
2943
+ "funding": {
2944
+ "url": "https://github.com/sponsors/sindresorhus"
2945
+ }
2946
+ },
2947
+ "node_modules/@netlify/cache-utils/node_modules/p-limit": {
2948
+ "version": "4.0.0",
2949
+ "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-4.0.0.tgz",
2950
+ "integrity": "sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==",
2951
+ "dependencies": {
2952
+ "yocto-queue": "^1.0.0"
2953
+ },
2954
+ "engines": {
2955
+ "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
2956
+ },
2957
+ "funding": {
2958
+ "url": "https://github.com/sponsors/sindresorhus"
2959
+ }
2960
+ },
2961
+ "node_modules/@netlify/cache-utils/node_modules/p-locate": {
2962
+ "version": "6.0.0",
2963
+ "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-6.0.0.tgz",
2964
+ "integrity": "sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw==",
2965
+ "dependencies": {
2966
+ "p-limit": "^4.0.0"
2967
+ },
2968
+ "engines": {
2969
+ "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
2970
+ },
2971
+ "funding": {
2972
+ "url": "https://github.com/sponsors/sindresorhus"
2973
+ }
2974
+ },
2975
+ "node_modules/@netlify/cache-utils/node_modules/path-exists": {
2976
+ "version": "5.0.0",
2977
+ "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-5.0.0.tgz",
2978
+ "integrity": "sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==",
2979
+ "engines": {
2980
+ "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
2981
+ }
2982
+ },
2983
+ "node_modules/@netlify/cache-utils/node_modules/yocto-queue": {
2984
+ "version": "1.0.0",
2985
+ "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.0.0.tgz",
2986
+ "integrity": "sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==",
2987
+ "engines": {
2988
+ "node": ">=12.20"
2989
+ },
2990
+ "funding": {
2991
+ "url": "https://github.com/sponsors/sindresorhus"
2992
+ }
2993
+ },
2933
2994
  "node_modules/@netlify/config": {
2934
2995
  "version": "17.0.7",
2935
2996
  "resolved": "https://registry.npmjs.org/@netlify/config/-/config-17.0.7.tgz",
@@ -3064,9 +3125,9 @@
3064
3125
  }
3065
3126
  },
3066
3127
  "node_modules/@netlify/config/node_modules/npm-run-path": {
3067
- "version": "5.0.1",
3068
- "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.0.1.tgz",
3069
- "integrity": "sha512-ybBJQUSyFwEEhqO2lXmyKOl9ucHtyZBWVM0h0FiMfT/+WKxCUZFa95qAR2X3w/w6oigN3B0b2UNHZbD+kdfD5w==",
3128
+ "version": "5.1.0",
3129
+ "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.1.0.tgz",
3130
+ "integrity": "sha512-sJOdmRGrY2sjNTRMbSvluQqg+8X7ZK61yvzBEIDhz4f8z1TZFYABsqjjCBd/0PUNE9M6QDgHJXQkGUEm7Q+l9Q==",
3070
3131
  "dependencies": {
3071
3132
  "path-key": "^4.0.0"
3072
3133
  },
@@ -3364,104 +3425,160 @@
3364
3425
  "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug=="
3365
3426
  },
3366
3427
  "node_modules/@netlify/functions-utils": {
3367
- "version": "4.1.6",
3368
- "resolved": "https://registry.npmjs.org/@netlify/functions-utils/-/functions-utils-4.1.6.tgz",
3369
- "integrity": "sha512-kTMGMRTlxSZyzJZ13x4d/I3wHbAnNUs+D9Usrhb6RAzdEZfNw+lewgar9/9H1YhZVylQxTHLOeyLUkdysw2v6w==",
3428
+ "version": "4.1.9",
3429
+ "resolved": "https://registry.npmjs.org/@netlify/functions-utils/-/functions-utils-4.1.9.tgz",
3430
+ "integrity": "sha512-wPmtkT8W3TXxdHQgWPwwGv182/XPDrCE7uQtZkv5zmUJRaVVLnCh3JJHzijnN7gzhFSuqsl9C3Wz2OD7wxT+oQ==",
3370
3431
  "dependencies": {
3371
- "@netlify/zip-it-and-ship-it": "5.5.2",
3432
+ "@netlify/zip-it-and-ship-it": "5.7.4",
3372
3433
  "cpy": "^8.1.0",
3373
- "path-exists": "^4.0.0"
3434
+ "path-exists": "^5.0.0"
3374
3435
  },
3375
3436
  "engines": {
3376
3437
  "node": "^12.20.0 || ^14.14.0 || >=16.0.0"
3377
3438
  }
3378
3439
  },
3379
- "node_modules/@netlify/functions-utils/node_modules/@babel/parser": {
3380
- "version": "7.16.8",
3381
- "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.16.8.tgz",
3382
- "integrity": "sha512-i7jDUfrVBWc+7OKcBzEe5n7fbv3i2fWtxKzzCvOjnzSxMfWMigAhtfJ7qzZNGFNMsCCd67+uz553dYKWXPvCKw==",
3383
- "bin": {
3384
- "parser": "bin/babel-parser.js"
3440
+ "node_modules/@netlify/functions-utils/node_modules/path-exists": {
3441
+ "version": "5.0.0",
3442
+ "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-5.0.0.tgz",
3443
+ "integrity": "sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==",
3444
+ "engines": {
3445
+ "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
3446
+ }
3447
+ },
3448
+ "node_modules/@netlify/git-utils": {
3449
+ "version": "4.1.1",
3450
+ "resolved": "https://registry.npmjs.org/@netlify/git-utils/-/git-utils-4.1.1.tgz",
3451
+ "integrity": "sha512-nErJowHlUHd36R/1KsXFEh9a5VL98/fr/IjwealZRQK+2E4Pm9t/KBkvR+LAyqWoINrrtkbpwjBRnO4r034OUg==",
3452
+ "dependencies": {
3453
+ "execa": "^6.0.0",
3454
+ "map-obj": "^5.0.0",
3455
+ "micromatch": "^4.0.2",
3456
+ "moize": "^6.0.0",
3457
+ "path-exists": "^5.0.0"
3385
3458
  },
3386
3459
  "engines": {
3387
- "node": ">=6.0.0"
3460
+ "node": "^12.20.0 || ^14.14.0 || >=16.0.0"
3388
3461
  }
3389
3462
  },
3390
- "node_modules/@netlify/functions-utils/node_modules/@netlify/zip-it-and-ship-it": {
3391
- "version": "5.5.2",
3392
- "resolved": "https://registry.npmjs.org/@netlify/zip-it-and-ship-it/-/zip-it-and-ship-it-5.5.2.tgz",
3393
- "integrity": "sha512-5uBfXHYarfNeOxrW7JK4rJaq1Xk2be0Ogt/MvLDr0kuKPtPmfHyNrWmr9JlZ1qtR/SuV1t2x22Tj/mxecL8eIQ==",
3463
+ "node_modules/@netlify/git-utils/node_modules/execa": {
3464
+ "version": "6.0.0",
3465
+ "resolved": "https://registry.npmjs.org/execa/-/execa-6.0.0.tgz",
3466
+ "integrity": "sha512-m4wU9j4Z9nXXoqT8RSfl28JSwmMNLFF69OON8H/lL3NeU0tNpGz313bcOfYoBBHokB0dC2tMl3VUcKgHELhL2Q==",
3394
3467
  "dependencies": {
3395
- "@babel/parser": "7.16.8",
3396
- "@netlify/esbuild": "^0.13.6",
3397
- "@vercel/nft": "^0.17.0",
3398
- "archiver": "^5.3.0",
3399
- "common-path-prefix": "^3.0.0",
3400
- "cp-file": "^9.0.0",
3401
- "del": "^6.0.0",
3402
- "elf-cam": "^0.1.1",
3403
- "end-of-stream": "^1.4.4",
3404
- "es-module-lexer": "^0.9.0",
3405
- "execa": "^5.0.0",
3406
- "filter-obj": "^2.0.1",
3407
- "find-up": "^5.0.0",
3408
- "glob": "^7.1.6",
3409
- "is-builtin-module": "^3.1.0",
3410
- "junk": "^3.1.0",
3411
- "locate-path": "^6.0.0",
3412
- "merge-options": "^3.0.4",
3413
- "minimatch": "^3.0.4",
3414
- "p-map": "^4.0.0",
3415
- "path-exists": "^4.0.0",
3416
- "pkg-dir": "^5.0.0",
3417
- "precinct": "^8.2.0",
3418
- "read-package-json-fast": "^2.0.2",
3419
- "require-package-name": "^2.0.1",
3420
- "resolve": "^2.0.0-next.1",
3421
- "semver": "^7.0.0",
3422
- "tmp-promise": "^3.0.2",
3423
- "toml": "^3.0.0",
3424
- "typescript": "^4.4.3",
3425
- "unixify": "^1.0.0",
3426
- "yargs": "^16.0.0"
3468
+ "cross-spawn": "^7.0.3",
3469
+ "get-stream": "^6.0.1",
3470
+ "human-signals": "^3.0.1",
3471
+ "is-stream": "^3.0.0",
3472
+ "merge-stream": "^2.0.0",
3473
+ "npm-run-path": "^5.0.1",
3474
+ "onetime": "^6.0.0",
3475
+ "signal-exit": "^3.0.5",
3476
+ "strip-final-newline": "^3.0.0"
3427
3477
  },
3428
- "bin": {
3429
- "zip-it-and-ship-it": "dist/bin.js"
3478
+ "engines": {
3479
+ "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
3430
3480
  },
3481
+ "funding": {
3482
+ "url": "https://github.com/sindresorhus/execa?sponsor=1"
3483
+ }
3484
+ },
3485
+ "node_modules/@netlify/git-utils/node_modules/human-signals": {
3486
+ "version": "3.0.1",
3487
+ "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-3.0.1.tgz",
3488
+ "integrity": "sha512-rQLskxnM/5OCldHo+wNXbpVgDn5A17CUoKX+7Sokwaknlq7CdSnphy0W39GU8dw59XiCXmFXDg4fRuckQRKewQ==",
3431
3489
  "engines": {
3432
- "node": "^12.20.0 || ^14.14.0 || >=16.0.0"
3490
+ "node": ">=12.20.0"
3433
3491
  }
3434
3492
  },
3435
- "node_modules/@netlify/functions-utils/node_modules/yargs": {
3436
- "version": "16.2.0",
3437
- "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz",
3438
- "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==",
3493
+ "node_modules/@netlify/git-utils/node_modules/is-stream": {
3494
+ "version": "3.0.0",
3495
+ "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz",
3496
+ "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==",
3497
+ "engines": {
3498
+ "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
3499
+ },
3500
+ "funding": {
3501
+ "url": "https://github.com/sponsors/sindresorhus"
3502
+ }
3503
+ },
3504
+ "node_modules/@netlify/git-utils/node_modules/map-obj": {
3505
+ "version": "5.0.0",
3506
+ "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-5.0.0.tgz",
3507
+ "integrity": "sha512-2L3MIgJynYrZ3TYMriLDLWocz15okFakV6J12HXvMXDHui2x/zgChzg1u9mFFGbbGWE+GsLpQByt4POb9Or+uA==",
3508
+ "engines": {
3509
+ "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
3510
+ },
3511
+ "funding": {
3512
+ "url": "https://github.com/sponsors/sindresorhus"
3513
+ }
3514
+ },
3515
+ "node_modules/@netlify/git-utils/node_modules/mimic-fn": {
3516
+ "version": "4.0.0",
3517
+ "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz",
3518
+ "integrity": "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==",
3519
+ "engines": {
3520
+ "node": ">=12"
3521
+ },
3522
+ "funding": {
3523
+ "url": "https://github.com/sponsors/sindresorhus"
3524
+ }
3525
+ },
3526
+ "node_modules/@netlify/git-utils/node_modules/npm-run-path": {
3527
+ "version": "5.1.0",
3528
+ "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.1.0.tgz",
3529
+ "integrity": "sha512-sJOdmRGrY2sjNTRMbSvluQqg+8X7ZK61yvzBEIDhz4f8z1TZFYABsqjjCBd/0PUNE9M6QDgHJXQkGUEm7Q+l9Q==",
3439
3530
  "dependencies": {
3440
- "cliui": "^7.0.2",
3441
- "escalade": "^3.1.1",
3442
- "get-caller-file": "^2.0.5",
3443
- "require-directory": "^2.1.1",
3444
- "string-width": "^4.2.0",
3445
- "y18n": "^5.0.5",
3446
- "yargs-parser": "^20.2.2"
3531
+ "path-key": "^4.0.0"
3447
3532
  },
3448
3533
  "engines": {
3449
- "node": ">=10"
3534
+ "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
3535
+ },
3536
+ "funding": {
3537
+ "url": "https://github.com/sponsors/sindresorhus"
3450
3538
  }
3451
3539
  },
3452
- "node_modules/@netlify/git-utils": {
3453
- "version": "4.1.0",
3454
- "resolved": "https://registry.npmjs.org/@netlify/git-utils/-/git-utils-4.1.0.tgz",
3455
- "integrity": "sha512-WseJxFYY6rgQcRX7GuHIhG7XZg1dz88pGSjO5nZCwqL7VAB0FSbholuZBUWqetCFVsW4ICIArDaA04WTvWyS+A==",
3540
+ "node_modules/@netlify/git-utils/node_modules/onetime": {
3541
+ "version": "6.0.0",
3542
+ "resolved": "https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz",
3543
+ "integrity": "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==",
3456
3544
  "dependencies": {
3457
- "execa": "^5.1.1",
3458
- "map-obj": "^4.0.0",
3459
- "micromatch": "^4.0.2",
3460
- "moize": "^6.0.0",
3461
- "path-exists": "^4.0.0"
3545
+ "mimic-fn": "^4.0.0"
3462
3546
  },
3463
3547
  "engines": {
3464
- "node": "^12.20.0 || ^14.14.0 || >=16.0.0"
3548
+ "node": ">=12"
3549
+ },
3550
+ "funding": {
3551
+ "url": "https://github.com/sponsors/sindresorhus"
3552
+ }
3553
+ },
3554
+ "node_modules/@netlify/git-utils/node_modules/path-exists": {
3555
+ "version": "5.0.0",
3556
+ "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-5.0.0.tgz",
3557
+ "integrity": "sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==",
3558
+ "engines": {
3559
+ "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
3560
+ }
3561
+ },
3562
+ "node_modules/@netlify/git-utils/node_modules/path-key": {
3563
+ "version": "4.0.0",
3564
+ "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz",
3565
+ "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==",
3566
+ "engines": {
3567
+ "node": ">=12"
3568
+ },
3569
+ "funding": {
3570
+ "url": "https://github.com/sponsors/sindresorhus"
3571
+ }
3572
+ },
3573
+ "node_modules/@netlify/git-utils/node_modules/strip-final-newline": {
3574
+ "version": "3.0.0",
3575
+ "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz",
3576
+ "integrity": "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==",
3577
+ "engines": {
3578
+ "node": ">=12"
3579
+ },
3580
+ "funding": {
3581
+ "url": "https://github.com/sponsors/sindresorhus"
3465
3582
  }
3466
3583
  },
3467
3584
  "node_modules/@netlify/local-functions-proxy": {
@@ -3792,16 +3909,118 @@
3792
3909
  ]
3793
3910
  },
3794
3911
  "node_modules/@netlify/run-utils": {
3795
- "version": "4.0.0",
3796
- "resolved": "https://registry.npmjs.org/@netlify/run-utils/-/run-utils-4.0.0.tgz",
3797
- "integrity": "sha512-ZeQFp1VmSMfrKaV2A13HJ2b7UJBHf7DUvzAcNjjJdbugD8wCDs5l00rRZeLhyl48AIZl9ki+RpsATZ/j6qKn+g==",
3912
+ "version": "4.0.1",
3913
+ "resolved": "https://registry.npmjs.org/@netlify/run-utils/-/run-utils-4.0.1.tgz",
3914
+ "integrity": "sha512-6xwmYJWcQkRTdtA/u6WFRYBTuU7j9j+lh7Ld2+6TsUricnyg4orMIKQBdmVYM3tGbzzAidTOjzmbc8XXzQOo6g==",
3798
3915
  "dependencies": {
3799
- "execa": "^5.1.1"
3916
+ "execa": "^6.0.0"
3800
3917
  },
3801
3918
  "engines": {
3802
3919
  "node": "^12.20.0 || ^14.14.0 || >=16.0.0"
3803
3920
  }
3804
3921
  },
3922
+ "node_modules/@netlify/run-utils/node_modules/execa": {
3923
+ "version": "6.0.0",
3924
+ "resolved": "https://registry.npmjs.org/execa/-/execa-6.0.0.tgz",
3925
+ "integrity": "sha512-m4wU9j4Z9nXXoqT8RSfl28JSwmMNLFF69OON8H/lL3NeU0tNpGz313bcOfYoBBHokB0dC2tMl3VUcKgHELhL2Q==",
3926
+ "dependencies": {
3927
+ "cross-spawn": "^7.0.3",
3928
+ "get-stream": "^6.0.1",
3929
+ "human-signals": "^3.0.1",
3930
+ "is-stream": "^3.0.0",
3931
+ "merge-stream": "^2.0.0",
3932
+ "npm-run-path": "^5.0.1",
3933
+ "onetime": "^6.0.0",
3934
+ "signal-exit": "^3.0.5",
3935
+ "strip-final-newline": "^3.0.0"
3936
+ },
3937
+ "engines": {
3938
+ "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
3939
+ },
3940
+ "funding": {
3941
+ "url": "https://github.com/sindresorhus/execa?sponsor=1"
3942
+ }
3943
+ },
3944
+ "node_modules/@netlify/run-utils/node_modules/human-signals": {
3945
+ "version": "3.0.1",
3946
+ "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-3.0.1.tgz",
3947
+ "integrity": "sha512-rQLskxnM/5OCldHo+wNXbpVgDn5A17CUoKX+7Sokwaknlq7CdSnphy0W39GU8dw59XiCXmFXDg4fRuckQRKewQ==",
3948
+ "engines": {
3949
+ "node": ">=12.20.0"
3950
+ }
3951
+ },
3952
+ "node_modules/@netlify/run-utils/node_modules/is-stream": {
3953
+ "version": "3.0.0",
3954
+ "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz",
3955
+ "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==",
3956
+ "engines": {
3957
+ "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
3958
+ },
3959
+ "funding": {
3960
+ "url": "https://github.com/sponsors/sindresorhus"
3961
+ }
3962
+ },
3963
+ "node_modules/@netlify/run-utils/node_modules/mimic-fn": {
3964
+ "version": "4.0.0",
3965
+ "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz",
3966
+ "integrity": "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==",
3967
+ "engines": {
3968
+ "node": ">=12"
3969
+ },
3970
+ "funding": {
3971
+ "url": "https://github.com/sponsors/sindresorhus"
3972
+ }
3973
+ },
3974
+ "node_modules/@netlify/run-utils/node_modules/npm-run-path": {
3975
+ "version": "5.1.0",
3976
+ "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.1.0.tgz",
3977
+ "integrity": "sha512-sJOdmRGrY2sjNTRMbSvluQqg+8X7ZK61yvzBEIDhz4f8z1TZFYABsqjjCBd/0PUNE9M6QDgHJXQkGUEm7Q+l9Q==",
3978
+ "dependencies": {
3979
+ "path-key": "^4.0.0"
3980
+ },
3981
+ "engines": {
3982
+ "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
3983
+ },
3984
+ "funding": {
3985
+ "url": "https://github.com/sponsors/sindresorhus"
3986
+ }
3987
+ },
3988
+ "node_modules/@netlify/run-utils/node_modules/onetime": {
3989
+ "version": "6.0.0",
3990
+ "resolved": "https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz",
3991
+ "integrity": "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==",
3992
+ "dependencies": {
3993
+ "mimic-fn": "^4.0.0"
3994
+ },
3995
+ "engines": {
3996
+ "node": ">=12"
3997
+ },
3998
+ "funding": {
3999
+ "url": "https://github.com/sponsors/sindresorhus"
4000
+ }
4001
+ },
4002
+ "node_modules/@netlify/run-utils/node_modules/path-key": {
4003
+ "version": "4.0.0",
4004
+ "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz",
4005
+ "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==",
4006
+ "engines": {
4007
+ "node": ">=12"
4008
+ },
4009
+ "funding": {
4010
+ "url": "https://github.com/sponsors/sindresorhus"
4011
+ }
4012
+ },
4013
+ "node_modules/@netlify/run-utils/node_modules/strip-final-newline": {
4014
+ "version": "3.0.0",
4015
+ "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz",
4016
+ "integrity": "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==",
4017
+ "engines": {
4018
+ "node": ">=12"
4019
+ },
4020
+ "funding": {
4021
+ "url": "https://github.com/sponsors/sindresorhus"
4022
+ }
4023
+ },
3805
4024
  "node_modules/@netlify/zip-it-and-ship-it": {
3806
4025
  "version": "5.7.4",
3807
4026
  "resolved": "https://registry.npmjs.org/@netlify/zip-it-and-ship-it/-/zip-it-and-ship-it-5.7.4.tgz",
@@ -16265,9 +16484,9 @@
16265
16484
  }
16266
16485
  },
16267
16486
  "node_modules/netlify-onegraph-internal": {
16268
- "version": "0.0.32",
16269
- "resolved": "https://registry.npmjs.org/netlify-onegraph-internal/-/netlify-onegraph-internal-0.0.32.tgz",
16270
- "integrity": "sha512-coV53I8OWqsv6pF5+e7nnIh9wbFcitkdbptsRyhuToJvzbJPvf9F0Ym47bsO6kfnj2iXDZEnT44O5i0gaBmcMQ==",
16487
+ "version": "0.0.37",
16488
+ "resolved": "https://registry.npmjs.org/netlify-onegraph-internal/-/netlify-onegraph-internal-0.0.37.tgz",
16489
+ "integrity": "sha512-EjcLO4jafn2mKVval6hns7wdqT28c7rHJyOzYTUa5ViU+L4eF6CweA4jjH36rmsFxNJchQBpzR2zl/KY4auOKg==",
16271
16490
  "dependencies": {
16272
16491
  "graphql": "16.0.0",
16273
16492
  "node-fetch": "^2.6.0",
@@ -25255,9 +25474,9 @@
25255
25474
  "integrity": "sha512-wXqjST+SLt7R009ySCglWBCFpjUygmCIfD790/kVbiGmUgfYGuB14PiTd5DwVxSV4NcYHjzMkoj5LjQZwTQLEA=="
25256
25475
  },
25257
25476
  "npm-run-path": {
25258
- "version": "5.0.1",
25259
- "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.0.1.tgz",
25260
- "integrity": "sha512-ybBJQUSyFwEEhqO2lXmyKOl9ucHtyZBWVM0h0FiMfT/+WKxCUZFa95qAR2X3w/w6oigN3B0b2UNHZbD+kdfD5w==",
25477
+ "version": "5.1.0",
25478
+ "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.1.0.tgz",
25479
+ "integrity": "sha512-sJOdmRGrY2sjNTRMbSvluQqg+8X7ZK61yvzBEIDhz4f8z1TZFYABsqjjCBd/0PUNE9M6QDgHJXQkGUEm7Q+l9Q==",
25261
25480
  "requires": {
25262
25481
  "path-key": "^4.0.0"
25263
25482
  }
@@ -25373,19 +25592,55 @@
25373
25592
  }
25374
25593
  },
25375
25594
  "@netlify/cache-utils": {
25376
- "version": "4.1.2",
25377
- "resolved": "https://registry.npmjs.org/@netlify/cache-utils/-/cache-utils-4.1.2.tgz",
25378
- "integrity": "sha512-CRqJLmoyBipU2fjaOeBmH9VgNGnm2kp6yuoN5PoEgzPFnB4t1mBCtEw7hes00jb5KJqBON7ESLS+4pSKr7W61Q==",
25595
+ "version": "4.1.3",
25596
+ "resolved": "https://registry.npmjs.org/@netlify/cache-utils/-/cache-utils-4.1.3.tgz",
25597
+ "integrity": "sha512-fpLCCyHA+i+ZkoIDnEy0woVXHEuhGheYcpzAB9FTbWuf4zBbt364pCOcq+OlSBbM/O4zQO6N36AmOIECGSL/Dw==",
25379
25598
  "requires": {
25380
25599
  "cpy": "^8.1.0",
25381
25600
  "del": "^6.0.0",
25382
25601
  "get-stream": "^6.0.0",
25383
25602
  "globby": "^11.0.0",
25384
25603
  "junk": "^3.1.0",
25385
- "locate-path": "^6.0.0",
25604
+ "locate-path": "^7.0.0",
25386
25605
  "move-file": "^2.0.0",
25387
- "path-exists": "^4.0.0",
25606
+ "path-exists": "^5.0.0",
25388
25607
  "readdirp": "^3.4.0"
25608
+ },
25609
+ "dependencies": {
25610
+ "locate-path": {
25611
+ "version": "7.1.0",
25612
+ "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-7.1.0.tgz",
25613
+ "integrity": "sha512-HNx5uOnYeK4SxEoid5qnhRfprlJeGMzFRKPLCf/15N3/B4AiofNwC/yq7VBKdVk9dx7m+PiYCJOGg55JYTAqoQ==",
25614
+ "requires": {
25615
+ "p-locate": "^6.0.0"
25616
+ }
25617
+ },
25618
+ "p-limit": {
25619
+ "version": "4.0.0",
25620
+ "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-4.0.0.tgz",
25621
+ "integrity": "sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==",
25622
+ "requires": {
25623
+ "yocto-queue": "^1.0.0"
25624
+ }
25625
+ },
25626
+ "p-locate": {
25627
+ "version": "6.0.0",
25628
+ "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-6.0.0.tgz",
25629
+ "integrity": "sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw==",
25630
+ "requires": {
25631
+ "p-limit": "^4.0.0"
25632
+ }
25633
+ },
25634
+ "path-exists": {
25635
+ "version": "5.0.0",
25636
+ "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-5.0.0.tgz",
25637
+ "integrity": "sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ=="
25638
+ },
25639
+ "yocto-queue": {
25640
+ "version": "1.0.0",
25641
+ "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.0.0.tgz",
25642
+ "integrity": "sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g=="
25643
+ }
25389
25644
  }
25390
25645
  },
25391
25646
  "@netlify/config": {
@@ -25471,9 +25726,9 @@
25471
25726
  "integrity": "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw=="
25472
25727
  },
25473
25728
  "npm-run-path": {
25474
- "version": "5.0.1",
25475
- "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.0.1.tgz",
25476
- "integrity": "sha512-ybBJQUSyFwEEhqO2lXmyKOl9ucHtyZBWVM0h0FiMfT/+WKxCUZFa95qAR2X3w/w6oigN3B0b2UNHZbD+kdfD5w==",
25729
+ "version": "5.1.0",
25730
+ "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.1.0.tgz",
25731
+ "integrity": "sha512-sJOdmRGrY2sjNTRMbSvluQqg+8X7ZK61yvzBEIDhz4f8z1TZFYABsqjjCBd/0PUNE9M6QDgHJXQkGUEm7Q+l9Q==",
25477
25732
  "requires": {
25478
25733
  "path-key": "^4.0.0"
25479
25734
  }
@@ -25668,85 +25923,101 @@
25668
25923
  }
25669
25924
  },
25670
25925
  "@netlify/functions-utils": {
25671
- "version": "4.1.6",
25672
- "resolved": "https://registry.npmjs.org/@netlify/functions-utils/-/functions-utils-4.1.6.tgz",
25673
- "integrity": "sha512-kTMGMRTlxSZyzJZ13x4d/I3wHbAnNUs+D9Usrhb6RAzdEZfNw+lewgar9/9H1YhZVylQxTHLOeyLUkdysw2v6w==",
25926
+ "version": "4.1.9",
25927
+ "resolved": "https://registry.npmjs.org/@netlify/functions-utils/-/functions-utils-4.1.9.tgz",
25928
+ "integrity": "sha512-wPmtkT8W3TXxdHQgWPwwGv182/XPDrCE7uQtZkv5zmUJRaVVLnCh3JJHzijnN7gzhFSuqsl9C3Wz2OD7wxT+oQ==",
25674
25929
  "requires": {
25675
- "@netlify/zip-it-and-ship-it": "5.5.2",
25930
+ "@netlify/zip-it-and-ship-it": "5.7.4",
25676
25931
  "cpy": "^8.1.0",
25677
- "path-exists": "^4.0.0"
25932
+ "path-exists": "^5.0.0"
25678
25933
  },
25679
25934
  "dependencies": {
25680
- "@babel/parser": {
25681
- "version": "7.16.8",
25682
- "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.16.8.tgz",
25683
- "integrity": "sha512-i7jDUfrVBWc+7OKcBzEe5n7fbv3i2fWtxKzzCvOjnzSxMfWMigAhtfJ7qzZNGFNMsCCd67+uz553dYKWXPvCKw=="
25684
- },
25685
- "@netlify/zip-it-and-ship-it": {
25686
- "version": "5.5.2",
25687
- "resolved": "https://registry.npmjs.org/@netlify/zip-it-and-ship-it/-/zip-it-and-ship-it-5.5.2.tgz",
25688
- "integrity": "sha512-5uBfXHYarfNeOxrW7JK4rJaq1Xk2be0Ogt/MvLDr0kuKPtPmfHyNrWmr9JlZ1qtR/SuV1t2x22Tj/mxecL8eIQ==",
25689
- "requires": {
25690
- "@babel/parser": "7.16.8",
25691
- "@netlify/esbuild": "^0.13.6",
25692
- "@vercel/nft": "^0.17.0",
25693
- "archiver": "^5.3.0",
25694
- "common-path-prefix": "^3.0.0",
25695
- "cp-file": "^9.0.0",
25696
- "del": "^6.0.0",
25697
- "elf-cam": "^0.1.1",
25698
- "end-of-stream": "^1.4.4",
25699
- "es-module-lexer": "^0.9.0",
25700
- "execa": "^5.0.0",
25701
- "filter-obj": "^2.0.1",
25702
- "find-up": "^5.0.0",
25703
- "glob": "^7.1.6",
25704
- "is-builtin-module": "^3.1.0",
25705
- "junk": "^3.1.0",
25706
- "locate-path": "^6.0.0",
25707
- "merge-options": "^3.0.4",
25708
- "minimatch": "^3.0.4",
25709
- "p-map": "^4.0.0",
25710
- "path-exists": "^4.0.0",
25711
- "pkg-dir": "^5.0.0",
25712
- "precinct": "^8.2.0",
25713
- "read-package-json-fast": "^2.0.2",
25714
- "require-package-name": "^2.0.1",
25715
- "resolve": "^2.0.0-next.1",
25716
- "semver": "^7.0.0",
25717
- "tmp-promise": "^3.0.2",
25718
- "toml": "^3.0.0",
25719
- "typescript": "^4.4.3",
25720
- "unixify": "^1.0.0",
25721
- "yargs": "^16.0.0"
25722
- }
25723
- },
25724
- "yargs": {
25725
- "version": "16.2.0",
25726
- "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz",
25727
- "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==",
25728
- "requires": {
25729
- "cliui": "^7.0.2",
25730
- "escalade": "^3.1.1",
25731
- "get-caller-file": "^2.0.5",
25732
- "require-directory": "^2.1.1",
25733
- "string-width": "^4.2.0",
25734
- "y18n": "^5.0.5",
25735
- "yargs-parser": "^20.2.2"
25736
- }
25935
+ "path-exists": {
25936
+ "version": "5.0.0",
25937
+ "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-5.0.0.tgz",
25938
+ "integrity": "sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ=="
25737
25939
  }
25738
25940
  }
25739
25941
  },
25740
25942
  "@netlify/git-utils": {
25741
- "version": "4.1.0",
25742
- "resolved": "https://registry.npmjs.org/@netlify/git-utils/-/git-utils-4.1.0.tgz",
25743
- "integrity": "sha512-WseJxFYY6rgQcRX7GuHIhG7XZg1dz88pGSjO5nZCwqL7VAB0FSbholuZBUWqetCFVsW4ICIArDaA04WTvWyS+A==",
25943
+ "version": "4.1.1",
25944
+ "resolved": "https://registry.npmjs.org/@netlify/git-utils/-/git-utils-4.1.1.tgz",
25945
+ "integrity": "sha512-nErJowHlUHd36R/1KsXFEh9a5VL98/fr/IjwealZRQK+2E4Pm9t/KBkvR+LAyqWoINrrtkbpwjBRnO4r034OUg==",
25744
25946
  "requires": {
25745
- "execa": "^5.1.1",
25746
- "map-obj": "^4.0.0",
25947
+ "execa": "^6.0.0",
25948
+ "map-obj": "^5.0.0",
25747
25949
  "micromatch": "^4.0.2",
25748
25950
  "moize": "^6.0.0",
25749
- "path-exists": "^4.0.0"
25951
+ "path-exists": "^5.0.0"
25952
+ },
25953
+ "dependencies": {
25954
+ "execa": {
25955
+ "version": "6.0.0",
25956
+ "resolved": "https://registry.npmjs.org/execa/-/execa-6.0.0.tgz",
25957
+ "integrity": "sha512-m4wU9j4Z9nXXoqT8RSfl28JSwmMNLFF69OON8H/lL3NeU0tNpGz313bcOfYoBBHokB0dC2tMl3VUcKgHELhL2Q==",
25958
+ "requires": {
25959
+ "cross-spawn": "^7.0.3",
25960
+ "get-stream": "^6.0.1",
25961
+ "human-signals": "^3.0.1",
25962
+ "is-stream": "^3.0.0",
25963
+ "merge-stream": "^2.0.0",
25964
+ "npm-run-path": "^5.0.1",
25965
+ "onetime": "^6.0.0",
25966
+ "signal-exit": "^3.0.5",
25967
+ "strip-final-newline": "^3.0.0"
25968
+ }
25969
+ },
25970
+ "human-signals": {
25971
+ "version": "3.0.1",
25972
+ "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-3.0.1.tgz",
25973
+ "integrity": "sha512-rQLskxnM/5OCldHo+wNXbpVgDn5A17CUoKX+7Sokwaknlq7CdSnphy0W39GU8dw59XiCXmFXDg4fRuckQRKewQ=="
25974
+ },
25975
+ "is-stream": {
25976
+ "version": "3.0.0",
25977
+ "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz",
25978
+ "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA=="
25979
+ },
25980
+ "map-obj": {
25981
+ "version": "5.0.0",
25982
+ "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-5.0.0.tgz",
25983
+ "integrity": "sha512-2L3MIgJynYrZ3TYMriLDLWocz15okFakV6J12HXvMXDHui2x/zgChzg1u9mFFGbbGWE+GsLpQByt4POb9Or+uA=="
25984
+ },
25985
+ "mimic-fn": {
25986
+ "version": "4.0.0",
25987
+ "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz",
25988
+ "integrity": "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw=="
25989
+ },
25990
+ "npm-run-path": {
25991
+ "version": "5.1.0",
25992
+ "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.1.0.tgz",
25993
+ "integrity": "sha512-sJOdmRGrY2sjNTRMbSvluQqg+8X7ZK61yvzBEIDhz4f8z1TZFYABsqjjCBd/0PUNE9M6QDgHJXQkGUEm7Q+l9Q==",
25994
+ "requires": {
25995
+ "path-key": "^4.0.0"
25996
+ }
25997
+ },
25998
+ "onetime": {
25999
+ "version": "6.0.0",
26000
+ "resolved": "https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz",
26001
+ "integrity": "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==",
26002
+ "requires": {
26003
+ "mimic-fn": "^4.0.0"
26004
+ }
26005
+ },
26006
+ "path-exists": {
26007
+ "version": "5.0.0",
26008
+ "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-5.0.0.tgz",
26009
+ "integrity": "sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ=="
26010
+ },
26011
+ "path-key": {
26012
+ "version": "4.0.0",
26013
+ "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz",
26014
+ "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ=="
26015
+ },
26016
+ "strip-final-newline": {
26017
+ "version": "3.0.0",
26018
+ "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz",
26019
+ "integrity": "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw=="
26020
+ }
25750
26021
  }
25751
26022
  },
25752
26023
  "@netlify/local-functions-proxy": {
@@ -25925,11 +26196,70 @@
25925
26196
  "optional": true
25926
26197
  },
25927
26198
  "@netlify/run-utils": {
25928
- "version": "4.0.0",
25929
- "resolved": "https://registry.npmjs.org/@netlify/run-utils/-/run-utils-4.0.0.tgz",
25930
- "integrity": "sha512-ZeQFp1VmSMfrKaV2A13HJ2b7UJBHf7DUvzAcNjjJdbugD8wCDs5l00rRZeLhyl48AIZl9ki+RpsATZ/j6qKn+g==",
26199
+ "version": "4.0.1",
26200
+ "resolved": "https://registry.npmjs.org/@netlify/run-utils/-/run-utils-4.0.1.tgz",
26201
+ "integrity": "sha512-6xwmYJWcQkRTdtA/u6WFRYBTuU7j9j+lh7Ld2+6TsUricnyg4orMIKQBdmVYM3tGbzzAidTOjzmbc8XXzQOo6g==",
25931
26202
  "requires": {
25932
- "execa": "^5.1.1"
26203
+ "execa": "^6.0.0"
26204
+ },
26205
+ "dependencies": {
26206
+ "execa": {
26207
+ "version": "6.0.0",
26208
+ "resolved": "https://registry.npmjs.org/execa/-/execa-6.0.0.tgz",
26209
+ "integrity": "sha512-m4wU9j4Z9nXXoqT8RSfl28JSwmMNLFF69OON8H/lL3NeU0tNpGz313bcOfYoBBHokB0dC2tMl3VUcKgHELhL2Q==",
26210
+ "requires": {
26211
+ "cross-spawn": "^7.0.3",
26212
+ "get-stream": "^6.0.1",
26213
+ "human-signals": "^3.0.1",
26214
+ "is-stream": "^3.0.0",
26215
+ "merge-stream": "^2.0.0",
26216
+ "npm-run-path": "^5.0.1",
26217
+ "onetime": "^6.0.0",
26218
+ "signal-exit": "^3.0.5",
26219
+ "strip-final-newline": "^3.0.0"
26220
+ }
26221
+ },
26222
+ "human-signals": {
26223
+ "version": "3.0.1",
26224
+ "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-3.0.1.tgz",
26225
+ "integrity": "sha512-rQLskxnM/5OCldHo+wNXbpVgDn5A17CUoKX+7Sokwaknlq7CdSnphy0W39GU8dw59XiCXmFXDg4fRuckQRKewQ=="
26226
+ },
26227
+ "is-stream": {
26228
+ "version": "3.0.0",
26229
+ "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz",
26230
+ "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA=="
26231
+ },
26232
+ "mimic-fn": {
26233
+ "version": "4.0.0",
26234
+ "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz",
26235
+ "integrity": "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw=="
26236
+ },
26237
+ "npm-run-path": {
26238
+ "version": "5.1.0",
26239
+ "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.1.0.tgz",
26240
+ "integrity": "sha512-sJOdmRGrY2sjNTRMbSvluQqg+8X7ZK61yvzBEIDhz4f8z1TZFYABsqjjCBd/0PUNE9M6QDgHJXQkGUEm7Q+l9Q==",
26241
+ "requires": {
26242
+ "path-key": "^4.0.0"
26243
+ }
26244
+ },
26245
+ "onetime": {
26246
+ "version": "6.0.0",
26247
+ "resolved": "https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz",
26248
+ "integrity": "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==",
26249
+ "requires": {
26250
+ "mimic-fn": "^4.0.0"
26251
+ }
26252
+ },
26253
+ "path-key": {
26254
+ "version": "4.0.0",
26255
+ "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz",
26256
+ "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ=="
26257
+ },
26258
+ "strip-final-newline": {
26259
+ "version": "3.0.0",
26260
+ "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz",
26261
+ "integrity": "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw=="
26262
+ }
25933
26263
  }
25934
26264
  },
25935
26265
  "@netlify/zip-it-and-ship-it": {
@@ -35476,9 +35806,9 @@
35476
35806
  }
35477
35807
  },
35478
35808
  "netlify-onegraph-internal": {
35479
- "version": "0.0.32",
35480
- "resolved": "https://registry.npmjs.org/netlify-onegraph-internal/-/netlify-onegraph-internal-0.0.32.tgz",
35481
- "integrity": "sha512-coV53I8OWqsv6pF5+e7nnIh9wbFcitkdbptsRyhuToJvzbJPvf9F0Ym47bsO6kfnj2iXDZEnT44O5i0gaBmcMQ==",
35809
+ "version": "0.0.37",
35810
+ "resolved": "https://registry.npmjs.org/netlify-onegraph-internal/-/netlify-onegraph-internal-0.0.37.tgz",
35811
+ "integrity": "sha512-EjcLO4jafn2mKVval6hns7wdqT28c7rHJyOzYTUa5ViU+L4eF6CweA4jjH36rmsFxNJchQBpzR2zl/KY4auOKg==",
35482
35812
  "requires": {
35483
35813
  "graphql": "16.0.0",
35484
35814
  "node-fetch": "^2.6.0",
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "netlify-cli",
3
3
  "description": "Netlify command line tool",
4
- "version": "9.0.3",
4
+ "version": "9.1.1",
5
5
  "author": "Netlify Inc.",
6
6
  "contributors": [
7
7
  "Abraham Schilling <AbrahamSchilling@gmail.com> (https://gitlab.com/n4bb12)",
@@ -164,6 +164,7 @@
164
164
  "url": "https://github.com/netlify/cli/issues"
165
165
  },
166
166
  "scripts": {
167
+ "snap": "ava --verbose -u tests/integration/**/*graph*.test.js",
167
168
  "prepare": "husky install node_modules/@netlify/eslint-config-node/.husky/",
168
169
  "start": "node ./bin/run",
169
170
  "test": "run-s format test:dev",
@@ -195,7 +196,7 @@
195
196
  },
196
197
  "config": {
197
198
  "eslint": "--ignore-path .gitignore --cache --format=codeframe --max-warnings=0 \"{src,scripts,site,tests,.github}/**/*.{mjs,cjs,js,md,html}\" \"*.{mjs,cjs,js,md,html}\" \".*.{mjs,cjs,js,md,html}\"",
198
- "prettier": "--ignore-path .gitignore --loglevel=warn \"{src,tools,scripts,site,tests,.github}/**/*.{mjs,cjs,js,md,yml,json,html}\" \"*.{mjs,cjs,js,yml,json,html}\" \".*.{mjs,cjs,js,yml,json,html}\" \"!CHANGELOG.md\" \"!npm-shrinkwrap.json\" \"!.github/**/*.md\""
199
+ "prettier": "--ignore-path .gitignore --loglevel=warn \"{src,tools,scripts,site,tests,.github}/**/*.{mjs,cjs,js,md,yml,json,html}\" \"*.{mjs,cjs,js,yml,json,html}\" \".*.{mjs,cjs,js,yml,json,html}\" \"!CHANGELOG.md\" \"!npm-shrinkwrap.json\" \"!site/package-lock.json\" \"!.github/**/*.md\""
199
200
  },
200
201
  "dependencies": {
201
202
  "@netlify/build": "^26.2.6",
@@ -205,7 +206,7 @@
205
206
  "@netlify/plugin-edge-handlers": "^3.0.6",
206
207
  "@netlify/plugins-list": "^6.9.0",
207
208
  "@netlify/routing-local-proxy": "^0.34.1",
208
- "@netlify/zip-it-and-ship-it": "^5.7.2",
209
+ "@netlify/zip-it-and-ship-it": "^5.7.4",
209
210
  "@octokit/rest": "^18.0.0",
210
211
  "@sindresorhus/slugify": "^1.1.0",
211
212
  "ansi-escapes": "^5.0.0",
@@ -270,7 +271,7 @@
270
271
  "multiparty": "^4.2.1",
271
272
  "netlify": "^11.0.0",
272
273
  "netlify-headers-parser": "^6.0.1",
273
- "netlify-onegraph-internal": "0.0.32",
274
+ "netlify-onegraph-internal": "0.0.37",
274
275
  "netlify-redirect-parser": "^13.0.2",
275
276
  "netlify-redirector": "^0.2.1",
276
277
  "node-fetch": "^2.6.0",
@@ -300,13 +300,14 @@ class BaseCommand extends Command {
300
300
  const duration = getDuration(startTime)
301
301
  const status = error_ === undefined ? 'success' : 'error'
302
302
 
303
- debug(`${this.name()}:onEnd`)(`Status: ${status}`)
304
- debug(`${this.name()}:onEnd`)(`Duration: ${duration}ms`)
303
+ const command = Array.isArray(this.args) ? this.args[0] : this.name()
304
+
305
+ debug(`${this.name()}:onEnd`)(`Command: ${command}. Status: ${status}. Duration: ${duration}ms`)
305
306
 
306
307
  try {
307
308
  await track('command', {
308
309
  ...payload,
309
- command: this.name(),
310
+ command,
310
311
  duration,
311
312
  status,
312
313
  })
@@ -0,0 +1,55 @@
1
+ // @ts-check
2
+ const fs = require('fs')
3
+ const path = require('path')
4
+
5
+ const { getNetlifyGraphConfig } = require('../../lib/one-graph/cli-netlify-graph')
6
+ const { NETLIFYDEVERR, chalk, error } = require('../../utils')
7
+
8
+ /**
9
+ * Creates the `netlify graph:config:write` command
10
+ * @param {import('commander').OptionValues} options
11
+ * @param {import('../base-command').BaseCommand} command
12
+ * @returns
13
+ */
14
+ const graphConfigWrite = async (options, command) => {
15
+ const { site } = command.netlify
16
+
17
+ if (!site.id) {
18
+ error(
19
+ `${NETLIFYDEVERR} Warning: no siteId defined, unable to start Netlify Graph. To enable, run ${chalk.yellow(
20
+ 'netlify init',
21
+ )} or ${chalk.yellow('netlify link')}`,
22
+ )
23
+ }
24
+
25
+ const netlifyGraphConfig = await getNetlifyGraphConfig({ command, options })
26
+
27
+ const schemaPath = netlifyGraphConfig.graphQLSchemaFilename.join('/')
28
+
29
+ // Support tools that looks for the schema under different keys
30
+ const graphQLConfig = {
31
+ schema: [schemaPath],
32
+ schemaPath: [schemaPath],
33
+ }
34
+
35
+ const filePath = path.resolve(...netlifyGraphConfig.graphQLConfigJsonFilename)
36
+
37
+ fs.writeFileSync(filePath, JSON.stringify(graphQLConfig, null, 2))
38
+ }
39
+
40
+ /**
41
+ * Creates the `netlify graph:config:write` command
42
+ * @param {import('../base-command').BaseCommand} program
43
+ * @returns
44
+ */
45
+ const createGraphConfigWriteCommand = (program) =>
46
+ program
47
+ .command('graph:config:write')
48
+ .description(
49
+ 'Write a .graphqlrc.json file to the current directory for use with local tooling (e.g. the graphql extension for vscode)',
50
+ )
51
+ .action(async (options, command) => {
52
+ await graphConfigWrite(options, command)
53
+ })
54
+
55
+ module.exports = { createGraphConfigWriteCommand }
@@ -1,4 +1,5 @@
1
1
  // @ts-check
2
+ const { createGraphConfigWriteCommand } = require('./graph-config-write')
2
3
  const { createGraphEditCommand } = require('./graph-edit')
3
4
  const { createGraphHandlerCommand } = require('./graph-handler')
4
5
  const { createGraphLibraryCommand } = require('./graph-library')
@@ -20,6 +21,7 @@ const graph = (options, command) => {
20
21
  * @returns
21
22
  */
22
23
  const createGraphCommand = (program) => {
24
+ createGraphConfigWriteCommand(program)
23
25
  createGraphEditCommand(program)
24
26
  createGraphHandlerCommand(program)
25
27
  createGraphLibraryCommand(program)
@@ -16,6 +16,7 @@ const { watchDebounced } = require('../functions/watcher')
16
16
  const {
17
17
  generateFunctionsFile,
18
18
  generateHandlerByOperationId,
19
+ normalizeOperationsDoc,
19
20
  readGraphQLOperationsSourceFile,
20
21
  writeGraphQLOperationsSourceFile,
21
22
  writeGraphQLSchemaFile,
@@ -231,7 +232,8 @@ const updateGraphQLOperationsFileFromPersistedDoc = async (input) => {
231
232
  return
232
233
  }
233
234
 
234
- const doc = persistedDoc.query
235
+ // Sorts the operations stably, prepends the @netlify directive, etc.
236
+ const doc = normalizeOperationsDoc(persistedDoc.query)
235
237
 
236
238
  writeGraphQLOperationsSourceFile(netlifyGraphConfig, doc)
237
239
  regenerateFunctionsFileFromOperationsFile({ netlifyGraphConfig, schema })
@@ -3,7 +3,7 @@ const fs = require('fs')
3
3
  const path = require('path')
4
4
  const process = require('process')
5
5
 
6
- const { GraphQL, InternalConsole, NetlifyGraph } = require('netlify-onegraph-internal')
6
+ const { GraphQL, GraphQLHelpers, InternalConsole, NetlifyGraph } = require('netlify-onegraph-internal')
7
7
 
8
8
  const { detectServerSettings, error, execa, getFunctionsDir, log, warn } = require('../../utils')
9
9
 
@@ -202,6 +202,10 @@ const getNetlifyGraphConfig = async ({ command, options, settings }) => {
202
202
  (userSpecifiedConfig.graphQLOperationsSourceFilename &&
203
203
  userSpecifiedConfig.graphQLOperationsSourceFilename.split(path.sep)) ||
204
204
  defaultFrameworkConfig.graphQLOperationsSourceFilename
205
+ const graphQLConfigJsonFilename =
206
+ (userSpecifiedConfig.graphQLConfigJsonFilename && userSpecifiedConfig.graphQLConfigJsonFilename.split(path.sep)) ||
207
+ defaultFrameworkConfig.graphQLConfigJsonFilename ||
208
+ baseConfig.graphQLConfigJsonFilename
205
209
  const graphQLSchemaFilename =
206
210
  (userSpecifiedConfig.graphQLSchemaFilename && userSpecifiedConfig.graphQLSchemaFilename.split(path.sep)) ||
207
211
  defaultFrameworkConfig.graphQLSchemaFilename
@@ -229,6 +233,7 @@ const getNetlifyGraphConfig = async ({ command, options, settings }) => {
229
233
  netlifyGraphTypeDefinitionsFilename,
230
234
  graphQLOperationsSourceFilename,
231
235
  graphQLSchemaFilename,
236
+ graphQLConfigJsonFilename,
232
237
  netlifyGraphRequirePath,
233
238
  framework,
234
239
  language,
@@ -505,6 +510,7 @@ module.exports = {
505
510
  getGraphEditUrlBySiteId,
506
511
  getGraphEditUrlBySiteName,
507
512
  getNetlifyGraphConfig,
513
+ normalizeOperationsDoc: GraphQLHelpers.normalizeOperationsDoc,
508
514
  parse,
509
515
  readGraphQLOperationsSourceFile,
510
516
  readGraphQLSchemaFile,