netlify-cli 8.14.0-scheduled-functions → 8.15.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.
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "netlify-cli",
3
- "version": "8.14.0-scheduled-functions",
3
+ "version": "8.15.1",
4
4
  "lockfileVersion": 2,
5
5
  "requires": true,
6
6
  "packages": {
7
7
  "": {
8
8
  "name": "netlify-cli",
9
- "version": "8.14.0-scheduled-functions",
9
+ "version": "8.15.1",
10
10
  "hasInstallScript": true,
11
11
  "license": "MIT",
12
12
  "dependencies": {
@@ -81,7 +81,7 @@
81
81
  "multiparty": "^4.2.1",
82
82
  "netlify": "^10.1.2",
83
83
  "netlify-headers-parser": "^6.0.1",
84
- "netlify-onegraph-internal": "0.0.15",
84
+ "netlify-onegraph-internal": "0.0.16",
85
85
  "netlify-redirect-parser": "^13.0.1",
86
86
  "netlify-redirector": "^0.2.1",
87
87
  "node-fetch": "^2.6.0",
@@ -124,7 +124,7 @@
124
124
  },
125
125
  "devDependencies": {
126
126
  "@babel/preset-react": "^7.12.13",
127
- "@netlify/eslint-config-node": "^4.1.6",
127
+ "@netlify/eslint-config-node": "^4.1.7",
128
128
  "ava": "^4.0.0",
129
129
  "c8": "^7.11.0",
130
130
  "eslint-plugin-sort-destructure-keys": "^1.3.5",
@@ -148,7 +148,7 @@
148
148
  "tomlify-j0.4": "^3.0.0",
149
149
  "tree-kill": "^1.2.2",
150
150
  "typescript": "^4.4.4",
151
- "verdaccio": "^5.4.0"
151
+ "verdaccio": "^5.5.2"
152
152
  },
153
153
  "engines": {
154
154
  "node": "^12.20.0 || ^14.14.0 || >=16.0.0"
@@ -2567,9 +2567,9 @@
2567
2567
  }
2568
2568
  },
2569
2569
  "node_modules/@netlify/eslint-config-node": {
2570
- "version": "4.1.6",
2571
- "resolved": "https://registry.npmjs.org/@netlify/eslint-config-node/-/eslint-config-node-4.1.6.tgz",
2572
- "integrity": "sha512-G/6bqpeR8jQj1cbEjFg8sdc23Wq4TUz/fD+XFup0EYEJbUnjriClsljgMUSnmnBNllyMy36T9YEXkam4HUKtJA==",
2570
+ "version": "4.1.7",
2571
+ "resolved": "https://registry.npmjs.org/@netlify/eslint-config-node/-/eslint-config-node-4.1.7.tgz",
2572
+ "integrity": "sha512-3XYVE0Wnr8YmSTls7447fT4Lyr5goFJ1kK/xevdLVdlzinxd1Wc6SK4um5hZAvl6nrURmgRfLBSIqdpDeRFIlg==",
2573
2573
  "dev": true,
2574
2574
  "dependencies": {
2575
2575
  "@babel/core": "^7.13.8",
@@ -4053,18 +4053,6 @@
4053
4053
  "url": "https://opencollective.com/verdaccio"
4054
4054
  }
4055
4055
  },
4056
- "node_modules/@verdaccio/readme/node_modules/marked": {
4057
- "version": "4.0.10",
4058
- "resolved": "https://registry.npmjs.org/marked/-/marked-4.0.10.tgz",
4059
- "integrity": "sha512-+QvuFj0nGgO970fySghXGmuw+Fd0gD2x3+MqCWLIPf5oxdv1Ka6b2q+z9RP01P/IaKPMEramy+7cNy/Lw8c3hw==",
4060
- "dev": true,
4061
- "bin": {
4062
- "marked": "bin/marked.js"
4063
- },
4064
- "engines": {
4065
- "node": ">= 12"
4066
- }
4067
- },
4068
4056
  "node_modules/@verdaccio/streams": {
4069
4057
  "version": "10.1.0",
4070
4058
  "resolved": "https://registry.npmjs.org/@verdaccio/streams/-/streams-10.1.0.tgz",
@@ -4080,14 +4068,10 @@
4080
4068
  }
4081
4069
  },
4082
4070
  "node_modules/@verdaccio/ui-theme": {
4083
- "version": "6.0.0-6-next.15",
4084
- "resolved": "https://registry.npmjs.org/@verdaccio/ui-theme/-/ui-theme-6.0.0-6-next.15.tgz",
4085
- "integrity": "sha512-qKqsk3OUIG1VJh2cgkA8H1nSyB1ybMw9VAiWkBarv8uriRkwG+cIcEMUXZuG1pnr6ieNLsYtLRGKbnlBhIpSaA==",
4086
- "dev": true,
4087
- "engines": {
4088
- "node": ">=14",
4089
- "npm": ">=6"
4090
- }
4071
+ "version": "6.0.0-6-next.16",
4072
+ "resolved": "https://registry.npmjs.org/@verdaccio/ui-theme/-/ui-theme-6.0.0-6-next.16.tgz",
4073
+ "integrity": "sha512-FbYl3273qaA0/fRwrvE876/HuvU81zjsnR70rCEojBelDuddl3xbY1LVdvthCjUGuIj2SUNpTzGhyROdqHJUCg==",
4074
+ "dev": true
4091
4075
  },
4092
4076
  "node_modules/abab": {
4093
4077
  "version": "2.0.5",
@@ -14276,15 +14260,15 @@
14276
14260
  }
14277
14261
  },
14278
14262
  "node_modules/marked": {
14279
- "version": "2.1.3",
14280
- "resolved": "https://registry.npmjs.org/marked/-/marked-2.1.3.tgz",
14281
- "integrity": "sha512-/Q+7MGzaETqifOMWYEA7HVMaZb4XbcRfaOzcSsHZEith83KGlvaSG33u0SKu89Mj5h+T8V2hM+8O45Qc5XTgwA==",
14263
+ "version": "4.0.10",
14264
+ "resolved": "https://registry.npmjs.org/marked/-/marked-4.0.10.tgz",
14265
+ "integrity": "sha512-+QvuFj0nGgO970fySghXGmuw+Fd0gD2x3+MqCWLIPf5oxdv1Ka6b2q+z9RP01P/IaKPMEramy+7cNy/Lw8c3hw==",
14282
14266
  "dev": true,
14283
14267
  "bin": {
14284
- "marked": "bin/marked"
14268
+ "marked": "bin/marked.js"
14285
14269
  },
14286
14270
  "engines": {
14287
- "node": ">= 10"
14271
+ "node": ">= 12"
14288
14272
  }
14289
14273
  },
14290
14274
  "node_modules/matcher": {
@@ -15033,9 +15017,9 @@
15033
15017
  }
15034
15018
  },
15035
15019
  "node_modules/netlify-onegraph-internal": {
15036
- "version": "0.0.15",
15037
- "resolved": "https://registry.npmjs.org/netlify-onegraph-internal/-/netlify-onegraph-internal-0.0.15.tgz",
15038
- "integrity": "sha512-PlUro29zk/D+9/8NLQOx8Qw58KWvZo/42uR+7YMqSx9pMtgvtqKWqpAGGf0iCy4eAwe/XLT/eCQR6k/dIBbZHw==",
15020
+ "version": "0.0.16",
15021
+ "resolved": "https://registry.npmjs.org/netlify-onegraph-internal/-/netlify-onegraph-internal-0.0.16.tgz",
15022
+ "integrity": "sha512-reQ/C7ztbYCDMXqFLSw0rBwOi866sqdBjagUs6Ug6LXDkCIGHBTjMX0iwNhEn7+/WzV4f1lJj66NhdjF5Q4/aQ==",
15039
15023
  "dependencies": {
15040
15024
  "graphql": "16.0.0",
15041
15025
  "node-fetch": "^2.6.0",
@@ -21037,16 +21021,16 @@
21037
21021
  }
21038
21022
  },
21039
21023
  "node_modules/verdaccio": {
21040
- "version": "5.5.0",
21041
- "resolved": "https://registry.npmjs.org/verdaccio/-/verdaccio-5.5.0.tgz",
21042
- "integrity": "sha512-isHIHRpjoT0cUXQyH1wAAHnO0E5Ky+pMVaaYThrzsjlkQHS2rp04xj7VPQrVHTJFIbv2VTIHRjWriw0J2Ilt8g==",
21024
+ "version": "5.5.2",
21025
+ "resolved": "https://registry.npmjs.org/verdaccio/-/verdaccio-5.5.2.tgz",
21026
+ "integrity": "sha512-SU107gfxE8FLrwp5GezhmWE0otWTAb7xIcz/m931vqOPjeH2MwbMf0+WuCDQ5O80XxdwurlK/JFNRYzDzqUrMA==",
21043
21027
  "dev": true,
21044
21028
  "dependencies": {
21045
21029
  "@verdaccio/commons-api": "10.1.0",
21046
21030
  "@verdaccio/local-storage": "10.1.1",
21047
21031
  "@verdaccio/readme": "10.2.1",
21048
21032
  "@verdaccio/streams": "10.1.0",
21049
- "@verdaccio/ui-theme": "6.0.0-6-next.15",
21033
+ "@verdaccio/ui-theme": "6.0.0-6-next.16",
21050
21034
  "async": "3.2.3",
21051
21035
  "body-parser": "1.19.1",
21052
21036
  "clipanion": "3.1.0",
@@ -21069,9 +21053,9 @@
21069
21053
  "lodash": "4.17.21",
21070
21054
  "lru-cache": "6.0.0",
21071
21055
  "lunr-mutable-indexes": "2.3.2",
21072
- "marked": "2.1.3",
21056
+ "marked": "4.0.10",
21073
21057
  "memoizee": "0.4.15",
21074
- "mime": "2.6.0",
21058
+ "mime": "3.0.0",
21075
21059
  "minimatch": "3.0.4",
21076
21060
  "mkdirp": "1.0.4",
21077
21061
  "mv": "2.1.1",
@@ -21162,15 +21146,15 @@
21162
21146
  }
21163
21147
  },
21164
21148
  "node_modules/verdaccio/node_modules/mime": {
21165
- "version": "2.6.0",
21166
- "resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz",
21167
- "integrity": "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==",
21149
+ "version": "3.0.0",
21150
+ "resolved": "https://registry.npmjs.org/mime/-/mime-3.0.0.tgz",
21151
+ "integrity": "sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A==",
21168
21152
  "dev": true,
21169
21153
  "bin": {
21170
21154
  "mime": "cli.js"
21171
21155
  },
21172
21156
  "engines": {
21173
- "node": ">=4.0.0"
21157
+ "node": ">=10.0.0"
21174
21158
  }
21175
21159
  },
21176
21160
  "node_modules/verdaccio/node_modules/mkdirp": {
@@ -21450,9 +21434,9 @@
21450
21434
  }
21451
21435
  },
21452
21436
  "node_modules/winston": {
21453
- "version": "3.4.0",
21454
- "resolved": "https://registry.npmjs.org/winston/-/winston-3.4.0.tgz",
21455
- "integrity": "sha512-FqilVj+5HKwCfIHQzMxrrd5tBIH10JTS3koFGbLVWBODjiIYq7zir08rFyBT4rrTYG/eaTqDcfSIbcjSM78YSw==",
21437
+ "version": "3.5.0",
21438
+ "resolved": "https://registry.npmjs.org/winston/-/winston-3.5.0.tgz",
21439
+ "integrity": "sha512-OQMbmLsIdVHvm2hSurrYZs+iZNIImXneYJ6pX7LseSMEq20HdTETXiNnNX3FDwN4LB/xDRZLF6JYOY+AI112Kw==",
21456
21440
  "dependencies": {
21457
21441
  "@dabh/diagnostics": "^2.0.2",
21458
21442
  "async": "^3.2.3",
@@ -21460,6 +21444,7 @@
21460
21444
  "logform": "^2.3.2",
21461
21445
  "one-time": "^1.0.0",
21462
21446
  "readable-stream": "^3.4.0",
21447
+ "safe-stable-stringify": "^2.3.1",
21463
21448
  "stack-trace": "0.0.x",
21464
21449
  "triple-beam": "^1.3.0",
21465
21450
  "winston-transport": "^4.4.2"
@@ -21481,6 +21466,14 @@
21481
21466
  "node": ">= 6.4.0"
21482
21467
  }
21483
21468
  },
21469
+ "node_modules/winston/node_modules/safe-stable-stringify": {
21470
+ "version": "2.3.1",
21471
+ "resolved": "https://registry.npmjs.org/safe-stable-stringify/-/safe-stable-stringify-2.3.1.tgz",
21472
+ "integrity": "sha512-kYBSfT+troD9cDA85VDnHZ1rpHC50O0g1e6WlGHVCz/g+JS+9WKLj+XwFYyR8UbrZN8ll9HUpDAAddY58MGisg==",
21473
+ "engines": {
21474
+ "node": ">=10"
21475
+ }
21476
+ },
21484
21477
  "node_modules/word-wrap": {
21485
21478
  "version": "1.2.3",
21486
21479
  "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz",
@@ -23426,9 +23419,9 @@
23426
23419
  "integrity": "sha512-tiKmDcHM2riSVN79c0mJY/67EBDafXQAMitHuLiCDAMdtz3kfv+NqdVG5krgf5lWR8Uf8AeZrUW5Q9RP25REvw=="
23427
23420
  },
23428
23421
  "@netlify/eslint-config-node": {
23429
- "version": "4.1.6",
23430
- "resolved": "https://registry.npmjs.org/@netlify/eslint-config-node/-/eslint-config-node-4.1.6.tgz",
23431
- "integrity": "sha512-G/6bqpeR8jQj1cbEjFg8sdc23Wq4TUz/fD+XFup0EYEJbUnjriClsljgMUSnmnBNllyMy36T9YEXkam4HUKtJA==",
23422
+ "version": "4.1.7",
23423
+ "resolved": "https://registry.npmjs.org/@netlify/eslint-config-node/-/eslint-config-node-4.1.7.tgz",
23424
+ "integrity": "sha512-3XYVE0Wnr8YmSTls7447fT4Lyr5goFJ1kK/xevdLVdlzinxd1Wc6SK4um5hZAvl6nrURmgRfLBSIqdpDeRFIlg==",
23432
23425
  "dev": true,
23433
23426
  "requires": {
23434
23427
  "@babel/core": "^7.13.8",
@@ -24521,14 +24514,6 @@
24521
24514
  "dompurify": "^2.2.6",
24522
24515
  "jsdom": "15.2.1",
24523
24516
  "marked": "4.0.10"
24524
- },
24525
- "dependencies": {
24526
- "marked": {
24527
- "version": "4.0.10",
24528
- "resolved": "https://registry.npmjs.org/marked/-/marked-4.0.10.tgz",
24529
- "integrity": "sha512-+QvuFj0nGgO970fySghXGmuw+Fd0gD2x3+MqCWLIPf5oxdv1Ka6b2q+z9RP01P/IaKPMEramy+7cNy/Lw8c3hw==",
24530
- "dev": true
24531
- }
24532
24517
  }
24533
24518
  },
24534
24519
  "@verdaccio/streams": {
@@ -24538,9 +24523,9 @@
24538
24523
  "dev": true
24539
24524
  },
24540
24525
  "@verdaccio/ui-theme": {
24541
- "version": "6.0.0-6-next.15",
24542
- "resolved": "https://registry.npmjs.org/@verdaccio/ui-theme/-/ui-theme-6.0.0-6-next.15.tgz",
24543
- "integrity": "sha512-qKqsk3OUIG1VJh2cgkA8H1nSyB1ybMw9VAiWkBarv8uriRkwG+cIcEMUXZuG1pnr6ieNLsYtLRGKbnlBhIpSaA==",
24526
+ "version": "6.0.0-6-next.16",
24527
+ "resolved": "https://registry.npmjs.org/@verdaccio/ui-theme/-/ui-theme-6.0.0-6-next.16.tgz",
24528
+ "integrity": "sha512-FbYl3273qaA0/fRwrvE876/HuvU81zjsnR70rCEojBelDuddl3xbY1LVdvthCjUGuIj2SUNpTzGhyROdqHJUCg==",
24544
24529
  "dev": true
24545
24530
  },
24546
24531
  "abab": {
@@ -32219,9 +32204,9 @@
32219
32204
  }
32220
32205
  },
32221
32206
  "marked": {
32222
- "version": "2.1.3",
32223
- "resolved": "https://registry.npmjs.org/marked/-/marked-2.1.3.tgz",
32224
- "integrity": "sha512-/Q+7MGzaETqifOMWYEA7HVMaZb4XbcRfaOzcSsHZEith83KGlvaSG33u0SKu89Mj5h+T8V2hM+8O45Qc5XTgwA==",
32207
+ "version": "4.0.10",
32208
+ "resolved": "https://registry.npmjs.org/marked/-/marked-4.0.10.tgz",
32209
+ "integrity": "sha512-+QvuFj0nGgO970fySghXGmuw+Fd0gD2x3+MqCWLIPf5oxdv1Ka6b2q+z9RP01P/IaKPMEramy+7cNy/Lw8c3hw==",
32225
32210
  "dev": true
32226
32211
  },
32227
32212
  "matcher": {
@@ -32799,9 +32784,9 @@
32799
32784
  }
32800
32785
  },
32801
32786
  "netlify-onegraph-internal": {
32802
- "version": "0.0.15",
32803
- "resolved": "https://registry.npmjs.org/netlify-onegraph-internal/-/netlify-onegraph-internal-0.0.15.tgz",
32804
- "integrity": "sha512-PlUro29zk/D+9/8NLQOx8Qw58KWvZo/42uR+7YMqSx9pMtgvtqKWqpAGGf0iCy4eAwe/XLT/eCQR6k/dIBbZHw==",
32787
+ "version": "0.0.16",
32788
+ "resolved": "https://registry.npmjs.org/netlify-onegraph-internal/-/netlify-onegraph-internal-0.0.16.tgz",
32789
+ "integrity": "sha512-reQ/C7ztbYCDMXqFLSw0rBwOi866sqdBjagUs6Ug6LXDkCIGHBTjMX0iwNhEn7+/WzV4f1lJj66NhdjF5Q4/aQ==",
32805
32790
  "requires": {
32806
32791
  "graphql": "16.0.0",
32807
32792
  "node-fetch": "^2.6.0",
@@ -37412,16 +37397,16 @@
37412
37397
  "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw="
37413
37398
  },
37414
37399
  "verdaccio": {
37415
- "version": "5.5.0",
37416
- "resolved": "https://registry.npmjs.org/verdaccio/-/verdaccio-5.5.0.tgz",
37417
- "integrity": "sha512-isHIHRpjoT0cUXQyH1wAAHnO0E5Ky+pMVaaYThrzsjlkQHS2rp04xj7VPQrVHTJFIbv2VTIHRjWriw0J2Ilt8g==",
37400
+ "version": "5.5.2",
37401
+ "resolved": "https://registry.npmjs.org/verdaccio/-/verdaccio-5.5.2.tgz",
37402
+ "integrity": "sha512-SU107gfxE8FLrwp5GezhmWE0otWTAb7xIcz/m931vqOPjeH2MwbMf0+WuCDQ5O80XxdwurlK/JFNRYzDzqUrMA==",
37418
37403
  "dev": true,
37419
37404
  "requires": {
37420
37405
  "@verdaccio/commons-api": "10.1.0",
37421
37406
  "@verdaccio/local-storage": "10.1.1",
37422
37407
  "@verdaccio/readme": "10.2.1",
37423
37408
  "@verdaccio/streams": "10.1.0",
37424
- "@verdaccio/ui-theme": "6.0.0-6-next.15",
37409
+ "@verdaccio/ui-theme": "6.0.0-6-next.16",
37425
37410
  "async": "3.2.3",
37426
37411
  "body-parser": "1.19.1",
37427
37412
  "clipanion": "3.1.0",
@@ -37444,9 +37429,9 @@
37444
37429
  "lodash": "4.17.21",
37445
37430
  "lru-cache": "6.0.0",
37446
37431
  "lunr-mutable-indexes": "2.3.2",
37447
- "marked": "2.1.3",
37432
+ "marked": "4.0.10",
37448
37433
  "memoizee": "0.4.15",
37449
- "mime": "2.6.0",
37434
+ "mime": "3.0.0",
37450
37435
  "minimatch": "3.0.4",
37451
37436
  "mkdirp": "1.0.4",
37452
37437
  "mv": "2.1.1",
@@ -37481,9 +37466,9 @@
37481
37466
  }
37482
37467
  },
37483
37468
  "mime": {
37484
- "version": "2.6.0",
37485
- "resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz",
37486
- "integrity": "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==",
37469
+ "version": "3.0.0",
37470
+ "resolved": "https://registry.npmjs.org/mime/-/mime-3.0.0.tgz",
37471
+ "integrity": "sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A==",
37487
37472
  "dev": true
37488
37473
  },
37489
37474
  "mkdirp": {
@@ -37730,9 +37715,9 @@
37730
37715
  }
37731
37716
  },
37732
37717
  "winston": {
37733
- "version": "3.4.0",
37734
- "resolved": "https://registry.npmjs.org/winston/-/winston-3.4.0.tgz",
37735
- "integrity": "sha512-FqilVj+5HKwCfIHQzMxrrd5tBIH10JTS3koFGbLVWBODjiIYq7zir08rFyBT4rrTYG/eaTqDcfSIbcjSM78YSw==",
37718
+ "version": "3.5.0",
37719
+ "resolved": "https://registry.npmjs.org/winston/-/winston-3.5.0.tgz",
37720
+ "integrity": "sha512-OQMbmLsIdVHvm2hSurrYZs+iZNIImXneYJ6pX7LseSMEq20HdTETXiNnNX3FDwN4LB/xDRZLF6JYOY+AI112Kw==",
37736
37721
  "requires": {
37737
37722
  "@dabh/diagnostics": "^2.0.2",
37738
37723
  "async": "^3.2.3",
@@ -37740,9 +37725,17 @@
37740
37725
  "logform": "^2.3.2",
37741
37726
  "one-time": "^1.0.0",
37742
37727
  "readable-stream": "^3.4.0",
37728
+ "safe-stable-stringify": "^2.3.1",
37743
37729
  "stack-trace": "0.0.x",
37744
37730
  "triple-beam": "^1.3.0",
37745
37731
  "winston-transport": "^4.4.2"
37732
+ },
37733
+ "dependencies": {
37734
+ "safe-stable-stringify": {
37735
+ "version": "2.3.1",
37736
+ "resolved": "https://registry.npmjs.org/safe-stable-stringify/-/safe-stable-stringify-2.3.1.tgz",
37737
+ "integrity": "sha512-kYBSfT+troD9cDA85VDnHZ1rpHC50O0g1e6WlGHVCz/g+JS+9WKLj+XwFYyR8UbrZN8ll9HUpDAAddY58MGisg=="
37738
+ }
37746
37739
  }
37747
37740
  },
37748
37741
  "winston-transport": {
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "netlify-cli",
3
3
  "description": "Netlify command line tool",
4
- "version": "8.14.0-scheduled-functions",
4
+ "version": "8.15.1",
5
5
  "author": "Netlify Inc.",
6
6
  "contributors": [
7
7
  "Mathias Biilmann <matt@netlify.com> (https://twitter.com/biilmann)",
@@ -64,7 +64,7 @@
64
64
  "test:dev:ava": "ava --verbose",
65
65
  "test:ci:ava": "c8 -r json ava",
66
66
  "test:affected": "node ./tools/affected-test.js",
67
- "e2e": "node ./tools/e2e/run.js",
67
+ "e2e": "node ./tools/e2e/run.mjs",
68
68
  "docs": "node ./site/scripts/docs.js",
69
69
  "watch": "c8 --reporter=lcov ava --watch",
70
70
  "site:build": "run-s site:build:*",
@@ -73,8 +73,8 @@
73
73
  "postinstall": "node ./scripts/postinstall.js"
74
74
  },
75
75
  "config": {
76
- "eslint": "--ignore-path .gitignore --cache --format=codeframe --max-warnings=0 \"{src,tools,scripts,site,tests,.github}/**/*.{js,md,html}\" \"*.{js,md,html}\" \".*.{js,md,html}\"",
77
- "prettier": "--ignore-path .gitignore --loglevel=warn \"{src,tools,scripts,site,tests,.github}/**/*.{js,md,yml,json,html}\" \"*.{js,yml,json,html}\" \".*.{js,yml,json,html}\" \"!CHANGELOG.md\" \"!npm-shrinkwrap.json\" \"!.github/**/*.md\""
76
+ "eslint": "--ignore-path .gitignore --cache --format=codeframe --max-warnings=0 \"{src,tools,scripts,site,tests,.github}/**/*.{mjs,cjs,js,md,html}\" \"*.{mjs,cjs,js,md,html}\" \".*.{mjs,cjs,js,md,html}\"",
77
+ "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\""
78
78
  },
79
79
  "dependencies": {
80
80
  "@netlify/build": "^26.2.0",
@@ -148,7 +148,7 @@
148
148
  "multiparty": "^4.2.1",
149
149
  "netlify": "^10.1.2",
150
150
  "netlify-headers-parser": "^6.0.1",
151
- "netlify-onegraph-internal": "0.0.15",
151
+ "netlify-onegraph-internal": "0.0.16",
152
152
  "netlify-redirect-parser": "^13.0.1",
153
153
  "netlify-redirector": "^0.2.1",
154
154
  "node-fetch": "^2.6.0",
@@ -187,7 +187,7 @@
187
187
  },
188
188
  "devDependencies": {
189
189
  "@babel/preset-react": "^7.12.13",
190
- "@netlify/eslint-config-node": "^4.1.6",
190
+ "@netlify/eslint-config-node": "^4.1.7",
191
191
  "ava": "^4.0.0",
192
192
  "c8": "^7.11.0",
193
193
  "eslint-plugin-sort-destructure-keys": "^1.3.5",
@@ -308,7 +308,7 @@ const dev = async (options, command) => {
308
308
  } else if (startNetlifyGraphWatcher) {
309
309
  const netlifyToken = await command.authenticate()
310
310
  await OneGraphCliClient.ensureAppForSite(netlifyToken, site.id)
311
- const netlifyGraphConfig = await getNetlifyGraphConfig({ command, options })
311
+ const netlifyGraphConfig = await getNetlifyGraphConfig({ command, options, settings })
312
312
 
313
313
  log(`Starting Netlify Graph session, to edit your library run \`netlify graph:edit\` in another tab`)
314
314
 
@@ -276,16 +276,13 @@ const link = async (options, command) => {
276
276
  return exit()
277
277
  }
278
278
 
279
- // If already linked to site. exit and prompt for unlink
280
279
  if (siteData) {
280
+ // If already linked to site. exit and prompt for unlink
281
281
  log(`Site already linked to "${siteData.name}"`)
282
282
  log(`Admin url: ${siteData.admin_url}`)
283
283
  log()
284
284
  log(`To unlink this site, run: ${chalk.cyanBright('netlify unlink')}`)
285
- return exit()
286
- }
287
-
288
- if (options.id) {
285
+ } else if (options.id) {
289
286
  try {
290
287
  // @ts-ignore types from API are wrong they cannot recognize `getSite` of API
291
288
  siteData = await api.getSite({ site_id: options.id })
@@ -306,11 +303,7 @@ const link = async (options, command) => {
306
303
  linkType: 'manual',
307
304
  kind: 'byId',
308
305
  })
309
-
310
- return exit()
311
- }
312
-
313
- if (options.name) {
306
+ } else if (options.name) {
314
307
  let results
315
308
  try {
316
309
  results = await listSites({
@@ -341,11 +334,9 @@ const link = async (options, command) => {
341
334
  linkType: 'manual',
342
335
  kind: 'byName',
343
336
  })
344
-
345
- return exit()
337
+ } else {
338
+ siteData = await linkPrompt(command.netlify, options)
346
339
  }
347
-
348
- siteData = await linkPrompt(command.netlify, options)
349
340
  return siteData
350
341
  }
351
342
 
@@ -9,6 +9,7 @@ const { v4: uuidv4 } = require('uuid')
9
9
 
10
10
  const { chalk, error, getRepoData, log, logJson, track, warn } = require('../../utils')
11
11
  const { configureRepo } = require('../../utils/init/config')
12
+ const { link } = require('../link')
12
13
 
13
14
  const SITE_NAME_SUGGESTION_SUFFIX_LENGTH = 5
14
15
 
@@ -159,6 +160,11 @@ const sitesCreate = async (options, command) => {
159
160
  )
160
161
  }
161
162
 
163
+ if (!options.disableLinking) {
164
+ log()
165
+ await link({ id: site.id }, command)
166
+ }
167
+
162
168
  return site
163
169
  }
164
170
 
@@ -172,15 +178,16 @@ const createSitesCreateCommand = (program) =>
172
178
  .command('sites:create')
173
179
  .description(
174
180
  `Create an empty site (advanced)
175
- Create a blank site that isn't associated with any git remote. Does not link to the current working directory.`,
181
+ Create a blank site that isn't associated with any git remote. Will link the site to the current working directory.`,
176
182
  )
177
183
  .option('-n, --name [name]', 'name of site')
178
184
  .option('-a, --account-slug [slug]', 'account slug to create the site under')
179
185
  .option('-c, --with-ci', 'initialize CI hooks during site creation')
180
186
  .option('-m, --manual', 'force manual CI setup. Used --with-ci flag')
187
+ .option('--disable-linking', 'create the site without linking it to current directory')
181
188
  .addHelpText(
182
189
  'after',
183
- `Create a blank site that isn't associated with any git remote. Does not link to the current working directory.`,
190
+ `Create a blank site that isn't associated with any git remote. Will link the site to the current working directory.`,
184
191
  )
185
192
  .action(sitesCreate)
186
193
 
@@ -9,7 +9,7 @@
9
9
  "version": "1.0.0",
10
10
  "license": "MIT",
11
11
  "dependencies": {
12
- "stripe": "^8.199.0"
12
+ "stripe": "^8.201.0"
13
13
  }
14
14
  },
15
15
  "node_modules/@types/node": {
@@ -105,9 +105,9 @@
105
105
  }
106
106
  },
107
107
  "node_modules/stripe": {
108
- "version": "8.199.0",
109
- "resolved": "https://registry.npmjs.org/stripe/-/stripe-8.199.0.tgz",
110
- "integrity": "sha512-Bc5Zfp6eOOCdde9x5NPrAczeGSKuNwemzjsfGJXWtpbUfQXgJujzTGgkhx2YuzamqakDYJkTgf9w7Ry2uY8QNA==",
108
+ "version": "8.201.0",
109
+ "resolved": "https://registry.npmjs.org/stripe/-/stripe-8.201.0.tgz",
110
+ "integrity": "sha512-pF0F1DdE9zt0U6Cb0XN+REpdFkUmaqp6C7OEVOCeUpTAafjjJqrdV/WmZd7Y5MwT8XvDAxB5/v3CAXwxAp0XNg==",
111
111
  "dependencies": {
112
112
  "@types/node": ">=8.1.0",
113
113
  "qs": "^6.6.0"
@@ -184,9 +184,9 @@
184
184
  }
185
185
  },
186
186
  "stripe": {
187
- "version": "8.199.0",
188
- "resolved": "https://registry.npmjs.org/stripe/-/stripe-8.199.0.tgz",
189
- "integrity": "sha512-Bc5Zfp6eOOCdde9x5NPrAczeGSKuNwemzjsfGJXWtpbUfQXgJujzTGgkhx2YuzamqakDYJkTgf9w7Ry2uY8QNA==",
187
+ "version": "8.201.0",
188
+ "resolved": "https://registry.npmjs.org/stripe/-/stripe-8.201.0.tgz",
189
+ "integrity": "sha512-pF0F1DdE9zt0U6Cb0XN+REpdFkUmaqp6C7OEVOCeUpTAafjjJqrdV/WmZd7Y5MwT8XvDAxB5/v3CAXwxAp0XNg==",
190
190
  "requires": {
191
191
  "@types/node": ">=8.1.0",
192
192
  "qs": "^6.6.0"
@@ -9,7 +9,7 @@
9
9
  "version": "1.0.0",
10
10
  "license": "MIT",
11
11
  "dependencies": {
12
- "stripe": "^8.199.0"
12
+ "stripe": "^8.201.0"
13
13
  }
14
14
  },
15
15
  "node_modules/@types/node": {
@@ -105,9 +105,9 @@
105
105
  }
106
106
  },
107
107
  "node_modules/stripe": {
108
- "version": "8.199.0",
109
- "resolved": "https://registry.npmjs.org/stripe/-/stripe-8.199.0.tgz",
110
- "integrity": "sha512-Bc5Zfp6eOOCdde9x5NPrAczeGSKuNwemzjsfGJXWtpbUfQXgJujzTGgkhx2YuzamqakDYJkTgf9w7Ry2uY8QNA==",
108
+ "version": "8.201.0",
109
+ "resolved": "https://registry.npmjs.org/stripe/-/stripe-8.201.0.tgz",
110
+ "integrity": "sha512-pF0F1DdE9zt0U6Cb0XN+REpdFkUmaqp6C7OEVOCeUpTAafjjJqrdV/WmZd7Y5MwT8XvDAxB5/v3CAXwxAp0XNg==",
111
111
  "dependencies": {
112
112
  "@types/node": ">=8.1.0",
113
113
  "qs": "^6.6.0"
@@ -184,9 +184,9 @@
184
184
  }
185
185
  },
186
186
  "stripe": {
187
- "version": "8.199.0",
188
- "resolved": "https://registry.npmjs.org/stripe/-/stripe-8.199.0.tgz",
189
- "integrity": "sha512-Bc5Zfp6eOOCdde9x5NPrAczeGSKuNwemzjsfGJXWtpbUfQXgJujzTGgkhx2YuzamqakDYJkTgf9w7Ry2uY8QNA==",
187
+ "version": "8.201.0",
188
+ "resolved": "https://registry.npmjs.org/stripe/-/stripe-8.201.0.tgz",
189
+ "integrity": "sha512-pF0F1DdE9zt0U6Cb0XN+REpdFkUmaqp6C7OEVOCeUpTAafjjJqrdV/WmZd7Y5MwT8XvDAxB5/v3CAXwxAp0XNg==",
190
190
  "requires": {
191
191
  "@types/node": ">=8.1.0",
192
192
  "qs": "^6.6.0"
@@ -64,7 +64,10 @@ const buildFunction = async ({ cache, config, directory, func, hasTypeModule, pr
64
64
  }
65
65
 
66
66
  /**
67
- * @param {string} mainFile
67
+ * @param {object} params
68
+ * @param {unknown} params.config
69
+ * @param {string} params.mainFile
70
+ * @param {string} params.projectRoot
68
71
  */
69
72
  const parseForSchedule = async ({ config, mainFile, projectRoot }) => {
70
73
  const listedFunction = await listFunction(mainFile, {
@@ -4,8 +4,9 @@ const { CLOCKWORK_USERAGENT } = require('../../utils')
4
4
 
5
5
  const { formatLambdaError } = require('./utils')
6
6
 
7
- const handleScheduledFunction = ({ error, request, response, result }) => {
8
- const acceptsHtml = request.headers.accept && request.headers.accept.includes('text/html')
7
+ const buildHelpResponse = ({ error, headers, path, result }) => {
8
+ const acceptsHtml = headers.accept && headers.accept.includes('text/html')
9
+
9
10
  const paragraph = (text) => {
10
11
  text = text.trim()
11
12
 
@@ -14,21 +15,21 @@ const handleScheduledFunction = ({ error, request, response, result }) => {
14
15
  }
15
16
 
16
17
  text = text
17
- .replaceAll('<pre><code>', '```\n')
18
- .replaceAll('</code></pre>', '\n```')
19
- .replaceAll(`<code>`, '`')
20
- .replaceAll(`</code>`, '`')
18
+ .replace(/<pre><code>/gm, '```\n')
19
+ .replace(/<\/code><\/pre>/gm, '\n```')
20
+ .replace(/<code>/gm, '`')
21
+ .replace(/<\/code>/gm, '`')
21
22
 
22
23
  return `${text}\n\n`
23
24
  }
24
25
 
25
- const isSimulatedRequest = request.headers['user-agent'] === CLOCKWORK_USERAGENT
26
+ const isSimulatedRequest = headers['user-agent'] === CLOCKWORK_USERAGENT
26
27
 
27
28
  let message = ''
28
29
 
29
30
  if (!isSimulatedRequest) {
30
31
  message += paragraph(`
31
- You performed an HTTP request to <code>${request.path}</code>, which is a scheduled function.
32
+ You performed an HTTP request to <code>${path}</code>, which is a scheduled function.
32
33
  You can do this to test your functions locally, but it won't work in production.
33
34
  `)
34
35
  }
@@ -41,7 +42,11 @@ There was an error during execution of your scheduled function:
41
42
  }
42
43
 
43
44
  if (result) {
44
- const { statusCode } = result
45
+ // lambda emulator adds level field, which isn't user-provided
46
+ const returnValue = { ...result }
47
+ delete returnValue.level
48
+
49
+ const { statusCode } = returnValue
45
50
  if (statusCode >= 500) {
46
51
  message += paragraph(`
47
52
  Your function returned a status code of <code>${statusCode}</code>.
@@ -50,7 +55,7 @@ At the moment, Netlify does nothing about that. In the future, there might be a
50
55
  }
51
56
 
52
57
  const allowedKeys = new Set(['statusCode'])
53
- const returnedKeys = Object.keys(result)
58
+ const returnedKeys = Object.keys(returnValue)
54
59
  const ignoredKeys = returnedKeys.filter((key) => !allowedKeys.has(key))
55
60
 
56
61
  if (ignoredKeys.length !== 0) {
@@ -62,17 +67,32 @@ At the moment, Netlify does nothing about that. In the future, there might be a
62
67
  }
63
68
  }
64
69
 
65
- response.status(error ? 500 : 200)
66
- if (acceptsHtml) {
67
- response.set('Content-Type', 'text/html')
68
- response.send(
69
- `<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/water.css@2/out/water.css">\n
70
- ${message}`,
71
- )
72
- } else {
73
- response.set('Content-Type', 'text/plain')
74
- response.send(message)
75
- }
70
+ const statusCode = error ? 500 : 200
71
+ return acceptsHtml
72
+ ? {
73
+ statusCode,
74
+ contentType: 'text/html',
75
+ message: `<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/water.css@2/out/water.css">\n
76
+ ${message}`,
77
+ }
78
+ : {
79
+ statusCode,
80
+ contentType: 'text/plain',
81
+ message,
82
+ }
83
+ }
84
+
85
+ const handleScheduledFunction = ({ error, request, response, result }) => {
86
+ const { contentType, message, statusCode } = buildHelpResponse({
87
+ error,
88
+ headers: request.headers,
89
+ path: request.path,
90
+ result,
91
+ })
92
+
93
+ response.status(statusCode)
94
+ response.set('Content-Type', contentType)
95
+ response.send(message)
76
96
  }
77
97
 
78
- module.exports = { handleScheduledFunction }
98
+ module.exports = { handleScheduledFunction, buildHelpResponse }
@@ -29,7 +29,7 @@ const filterRelativePathItems = (items) => items.filter((part) => part !== '')
29
29
  * @param {import('../base-command').BaseCommand} command
30
30
  * @return {NetlifyGraphConfig} NetlifyGraphConfig
31
31
  */
32
- const getNetlifyGraphConfig = async ({ command, options }) => {
32
+ const getNetlifyGraphConfig = async ({ command, options, settings }) => {
33
33
  const { config, site } = command.netlify
34
34
  config.dev = { ...config.dev }
35
35
  config.build = { ...config.build }
@@ -44,11 +44,12 @@ const getNetlifyGraphConfig = async ({ command, options }) => {
44
44
  }
45
45
 
46
46
  /** @type {Partial<import('../../utils/types').ServerSettings>} */
47
- let settings = {}
48
- try {
49
- settings = await detectServerSettings(devConfig, options, site.root)
50
- } catch (detectServerSettingsError) {
51
- error(detectServerSettingsError)
47
+ if (!settings) {
48
+ try {
49
+ settings = await detectServerSettings(devConfig, options, site.root)
50
+ } catch (detectServerSettingsError) {
51
+ error(detectServerSettingsError)
52
+ }
52
53
  }
53
54
 
54
55
  const siteRoot = [path.sep, ...filterRelativePathItems(site.root.split(path.sep))]