@tryghost/content-api 1.11.17 → 1.11.19

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.
@@ -3,7 +3,7 @@
3
3
  var axios = require('axios');
4
4
 
5
5
  var name$1 = "@tryghost/content-api";
6
- var version = "1.11.17";
6
+ var version = "1.11.19";
7
7
  var repository = "https://github.com/TryGhost/SDK/tree/main/packages/content-api";
8
8
  var author = "Ghost Foundation";
9
9
  var license = "MIT";
@@ -32,13 +32,13 @@ var publishConfig = {
32
32
  access: "public"
33
33
  };
34
34
  var devDependencies = {
35
- "@babel/core": "7.23.0",
35
+ "@babel/core": "7.23.2",
36
36
  "@babel/polyfill": "7.12.1",
37
- "@babel/preset-env": "7.22.20",
38
- "@rollup/plugin-json": "6.0.0",
39
- c8: "7.13.0",
40
- "core-js": "3.32.2",
41
- "eslint-plugin-ghost": "2.16.0",
37
+ "@babel/preset-env": "7.23.2",
38
+ "@rollup/plugin-json": "6.0.1",
39
+ c8: "8.0.1",
40
+ "core-js": "3.33.1",
41
+ "eslint-plugin-ghost": "3.3.2",
42
42
  mocha: "10.2.0",
43
43
  rollup: "2.79.1",
44
44
  "rollup-plugin-babel": "4.4.0",
@@ -48,12 +48,12 @@ var devDependencies = {
48
48
  "rollup-plugin-replace": "2.2.0",
49
49
  "rollup-plugin-terser": "7.0.2",
50
50
  should: "13.2.3",
51
- sinon: "15.0.4"
51
+ sinon: "17.0.0"
52
52
  };
53
53
  var dependencies = {
54
54
  axios: "^1.0.0"
55
55
  };
56
- var gitHead = "432b7bde7594264164b08c403d87d1d06659d603";
56
+ var gitHead = "77a1645eadd5ce2c2a747a95405f6d8b15ea4e45";
57
57
  var packageInfo = {
58
58
  name: name$1,
59
59
  version: version,
package/es/content-api.js CHANGED
@@ -1415,7 +1415,7 @@ const defaults = {
1415
1415
 
1416
1416
  transitional: transitionalDefaults,
1417
1417
 
1418
- adapter: platform.isNode ? 'http' : 'xhr',
1418
+ adapter: ['xhr', 'http'],
1419
1419
 
1420
1420
  transformRequest: [function transformRequest(data, headers) {
1421
1421
  const contentType = headers.getContentType() || '';
@@ -2212,11 +2212,16 @@ var xhrAdapter = isXHRAdapterSupported && function (config) {
2212
2212
  }
2213
2213
  }
2214
2214
 
2215
+ let contentType;
2216
+
2215
2217
  if (utils.isFormData(requestData)) {
2216
2218
  if (platform.isStandardBrowserEnv || platform.isStandardBrowserWebWorkerEnv) {
2217
2219
  requestHeaders.setContentType(false); // Let the browser set it
2218
- } else {
2219
- requestHeaders.setContentType('multipart/form-data;', false); // mobile/desktop app frameworks
2220
+ } else if(!requestHeaders.getContentType(/^\s*multipart\/form-data/)){
2221
+ requestHeaders.setContentType('multipart/form-data'); // mobile/desktop app frameworks
2222
+ } else if(utils.isString(contentType = requestHeaders.getContentType())){
2223
+ // fix semicolon duplication issue for ReactNative FormData implementation
2224
+ requestHeaders.setContentType(contentType.replace(/^\s*(multipart\/form-data);+/, '$1'));
2220
2225
  }
2221
2226
  }
2222
2227
 
@@ -2334,8 +2339,8 @@ var xhrAdapter = isXHRAdapterSupported && function (config) {
2334
2339
  // Specifically not if we're in a web worker, or react-native.
2335
2340
  if (platform.isStandardBrowserEnv) {
2336
2341
  // Add xsrf header
2337
- const xsrfValue = (config.withCredentials || isURLSameOrigin(fullPath))
2338
- && config.xsrfCookieName && cookies.read(config.xsrfCookieName);
2342
+ // regarding CVE-2023-45857 config.withCredentials condition was removed temporarily
2343
+ const xsrfValue = isURLSameOrigin(fullPath) && config.xsrfCookieName && cookies.read(config.xsrfCookieName);
2339
2344
 
2340
2345
  if (xsrfValue) {
2341
2346
  requestHeaders.set(config.xsrfHeaderName, xsrfValue);
@@ -2409,7 +2414,7 @@ const knownAdapters = {
2409
2414
  };
2410
2415
 
2411
2416
  utils.forEach(knownAdapters, (fn, value) => {
2412
- if(fn) {
2417
+ if (fn) {
2413
2418
  try {
2414
2419
  Object.defineProperty(fn, 'name', {value});
2415
2420
  } catch (e) {
@@ -2419,6 +2424,10 @@ utils.forEach(knownAdapters, (fn, value) => {
2419
2424
  }
2420
2425
  });
2421
2426
 
2427
+ const renderReason = (reason) => `- ${reason}`;
2428
+
2429
+ const isResolvedHandle = (adapter) => utils.isFunction(adapter) || adapter === null || adapter === false;
2430
+
2422
2431
  var adapters = {
2423
2432
  getAdapter: (adapters) => {
2424
2433
  adapters = utils.isArray(adapters) ? adapters : [adapters];
@@ -2427,30 +2436,44 @@ var adapters = {
2427
2436
  let nameOrAdapter;
2428
2437
  let adapter;
2429
2438
 
2439
+ const rejectedReasons = {};
2440
+
2430
2441
  for (let i = 0; i < length; i++) {
2431
2442
  nameOrAdapter = adapters[i];
2432
- if((adapter = utils.isString(nameOrAdapter) ? knownAdapters[nameOrAdapter.toLowerCase()] : nameOrAdapter)) {
2443
+ let id;
2444
+
2445
+ adapter = nameOrAdapter;
2446
+
2447
+ if (!isResolvedHandle(nameOrAdapter)) {
2448
+ adapter = knownAdapters[(id = String(nameOrAdapter)).toLowerCase()];
2449
+
2450
+ if (adapter === undefined) {
2451
+ throw new AxiosError(`Unknown adapter '${id}'`);
2452
+ }
2453
+ }
2454
+
2455
+ if (adapter) {
2433
2456
  break;
2434
2457
  }
2458
+
2459
+ rejectedReasons[id || '#' + i] = adapter;
2435
2460
  }
2436
2461
 
2437
2462
  if (!adapter) {
2438
- if (adapter === false) {
2439
- throw new AxiosError(
2440
- `Adapter ${nameOrAdapter} is not supported by the environment`,
2441
- 'ERR_NOT_SUPPORT'
2463
+
2464
+ const reasons = Object.entries(rejectedReasons)
2465
+ .map(([id, state]) => `adapter ${id} ` +
2466
+ (state === false ? 'is not supported by the environment' : 'is not available in the build')
2442
2467
  );
2443
- }
2444
2468
 
2445
- throw new Error(
2446
- utils.hasOwnProp(knownAdapters, nameOrAdapter) ?
2447
- `Adapter '${nameOrAdapter}' is not available in the build` :
2448
- `Unknown adapter '${nameOrAdapter}'`
2449
- );
2450
- }
2469
+ let s = length ?
2470
+ (reasons.length > 1 ? 'since :\n' + reasons.map(renderReason).join('\n') : ' ' + renderReason(reasons[0])) :
2471
+ 'as no adapter specified';
2451
2472
 
2452
- if (!utils.isFunction(adapter)) {
2453
- throw new TypeError('adapter is not a function');
2473
+ throw new AxiosError(
2474
+ `There is no suitable adapter to dispatch the request ` + s,
2475
+ 'ERR_NOT_SUPPORT'
2476
+ );
2454
2477
  }
2455
2478
 
2456
2479
  return adapter;
@@ -2632,7 +2655,7 @@ function mergeConfig(config1, config2) {
2632
2655
  return config;
2633
2656
  }
2634
2657
 
2635
- const VERSION = "1.5.0";
2658
+ const VERSION = "1.6.0";
2636
2659
 
2637
2660
  const validators$1 = {};
2638
2661
 
@@ -3211,7 +3234,7 @@ axios.default = axios;
3211
3234
  var axios$1 = axios;
3212
3235
 
3213
3236
  var name$1 = "@tryghost/content-api";
3214
- var version = "1.11.17";
3237
+ var version = "1.11.19";
3215
3238
  var repository = "https://github.com/TryGhost/SDK/tree/main/packages/content-api";
3216
3239
  var author = "Ghost Foundation";
3217
3240
  var license = "MIT";
@@ -3240,13 +3263,13 @@ var publishConfig = {
3240
3263
  access: "public"
3241
3264
  };
3242
3265
  var devDependencies = {
3243
- "@babel/core": "7.23.0",
3266
+ "@babel/core": "7.23.2",
3244
3267
  "@babel/polyfill": "7.12.1",
3245
- "@babel/preset-env": "7.22.20",
3246
- "@rollup/plugin-json": "6.0.0",
3247
- c8: "7.13.0",
3248
- "core-js": "3.32.2",
3249
- "eslint-plugin-ghost": "2.16.0",
3268
+ "@babel/preset-env": "7.23.2",
3269
+ "@rollup/plugin-json": "6.0.1",
3270
+ c8: "8.0.1",
3271
+ "core-js": "3.33.1",
3272
+ "eslint-plugin-ghost": "3.3.2",
3250
3273
  mocha: "10.2.0",
3251
3274
  rollup: "2.79.1",
3252
3275
  "rollup-plugin-babel": "4.4.0",
@@ -3256,12 +3279,12 @@ var devDependencies = {
3256
3279
  "rollup-plugin-replace": "2.2.0",
3257
3280
  "rollup-plugin-terser": "7.0.2",
3258
3281
  should: "13.2.3",
3259
- sinon: "15.0.4"
3282
+ sinon: "17.0.0"
3260
3283
  };
3261
3284
  var dependencies = {
3262
3285
  axios: "^1.0.0"
3263
3286
  };
3264
- var gitHead = "432b7bde7594264164b08c403d87d1d06659d603";
3287
+ var gitHead = "77a1645eadd5ce2c2a747a95405f6d8b15ea4e45";
3265
3288
  var packageInfo = {
3266
3289
  name: name$1,
3267
3290
  version: version,