@tryghost/content-api 1.11.16 → 1.11.18

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/LICENSE CHANGED
@@ -1,6 +1,6 @@
1
1
  MIT License
2
2
 
3
- Copyright (c) 2013-2022 Ghost Foundation
3
+ Copyright (c) 2013-2023 Ghost Foundation
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  of this software and associated documentation files (the "Software"), to deal
package/README.md CHANGED
@@ -18,4 +18,4 @@ Follow the instructions for the top-level repo.
18
18
 
19
19
  # Copyright & License
20
20
 
21
- Copyright (c) 2013-2022 Ghost Foundation - Released under the [MIT license](LICENSE).
21
+ Copyright (c) 2013-2023 Ghost Foundation - Released under the [MIT license](LICENSE).
@@ -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.16";
6
+ var version = "1.11.18";
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,12 +32,12 @@ var publishConfig = {
32
32
  access: "public"
33
33
  };
34
34
  var devDependencies = {
35
- "@babel/core": "7.22.9",
35
+ "@babel/core": "7.23.2",
36
36
  "@babel/polyfill": "7.12.1",
37
- "@babel/preset-env": "7.22.9",
38
- "@rollup/plugin-json": "6.0.0",
37
+ "@babel/preset-env": "7.23.2",
38
+ "@rollup/plugin-json": "6.0.1",
39
39
  c8: "7.13.0",
40
- "core-js": "3.31.1",
40
+ "core-js": "3.33.1",
41
41
  "eslint-plugin-ghost": "2.16.0",
42
42
  mocha: "10.2.0",
43
43
  rollup: "2.79.1",
@@ -53,7 +53,7 @@ var devDependencies = {
53
53
  var dependencies = {
54
54
  axios: "^1.0.0"
55
55
  };
56
- var gitHead = "9aab58d76232aa8487afaa4006db14816094671d";
56
+ var gitHead = "8c2ce00854de1d1aca04c01ff8c753cb868368b6";
57
57
  var packageInfo = {
58
58
  name: name$1,
59
59
  version: version,
package/es/content-api.js CHANGED
@@ -542,8 +542,9 @@ const reduceDescriptors = (obj, reducer) => {
542
542
  const reducedDescriptors = {};
543
543
 
544
544
  forEach(descriptors, (descriptor, name) => {
545
- if (reducer(descriptor, name, obj) !== false) {
546
- reducedDescriptors[name] = descriptor;
545
+ let ret;
546
+ if ((ret = reducer(descriptor, name, obj)) !== false) {
547
+ reducedDescriptors[name] = ret || descriptor;
547
548
  }
548
549
  });
549
550
 
@@ -1385,10 +1386,6 @@ function formDataToJSON(formData) {
1385
1386
  return null;
1386
1387
  }
1387
1388
 
1388
- const DEFAULT_CONTENT_TYPE = {
1389
- 'Content-Type': undefined
1390
- };
1391
-
1392
1389
  /**
1393
1390
  * It takes a string, tries to parse it, and if it fails, it returns the stringified version
1394
1391
  * of the input
@@ -1527,19 +1524,16 @@ const defaults = {
1527
1524
 
1528
1525
  headers: {
1529
1526
  common: {
1530
- 'Accept': 'application/json, text/plain, */*'
1527
+ 'Accept': 'application/json, text/plain, */*',
1528
+ 'Content-Type': undefined
1531
1529
  }
1532
1530
  }
1533
1531
  };
1534
1532
 
1535
- utils.forEach(['delete', 'get', 'head'], function forEachMethodNoData(method) {
1533
+ utils.forEach(['delete', 'get', 'head', 'post', 'put', 'patch'], (method) => {
1536
1534
  defaults.headers[method] = {};
1537
1535
  });
1538
1536
 
1539
- utils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {
1540
- defaults.headers[method] = utils.merge(DEFAULT_CONTENT_TYPE);
1541
- });
1542
-
1543
1537
  var defaults$1 = defaults;
1544
1538
 
1545
1539
  // RawAxiosHeaders whose duplicates are ignored by node
@@ -1873,7 +1867,17 @@ class AxiosHeaders {
1873
1867
 
1874
1868
  AxiosHeaders.accessor(['Content-Type', 'Content-Length', 'Accept', 'Accept-Encoding', 'User-Agent', 'Authorization']);
1875
1869
 
1876
- utils.freezeMethods(AxiosHeaders.prototype);
1870
+ // reserved names hotfix
1871
+ utils.reduceDescriptors(AxiosHeaders.prototype, ({value}, key) => {
1872
+ let mapped = key[0].toUpperCase() + key.slice(1); // map `set` => `Set`
1873
+ return {
1874
+ get: () => value,
1875
+ set(headerValue) {
1876
+ this[mapped] = headerValue;
1877
+ }
1878
+ }
1879
+ });
1880
+
1877
1881
  utils.freezeMethods(AxiosHeaders);
1878
1882
 
1879
1883
  var AxiosHeaders$1 = AxiosHeaders;
@@ -2208,11 +2212,16 @@ var xhrAdapter = isXHRAdapterSupported && function (config) {
2208
2212
  }
2209
2213
  }
2210
2214
 
2215
+ let contentType;
2216
+
2211
2217
  if (utils.isFormData(requestData)) {
2212
2218
  if (platform.isStandardBrowserEnv || platform.isStandardBrowserWebWorkerEnv) {
2213
2219
  requestHeaders.setContentType(false); // Let the browser set it
2214
- } else {
2215
- 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'));
2216
2225
  }
2217
2226
  }
2218
2227
 
@@ -2405,7 +2414,7 @@ const knownAdapters = {
2405
2414
  };
2406
2415
 
2407
2416
  utils.forEach(knownAdapters, (fn, value) => {
2408
- if(fn) {
2417
+ if (fn) {
2409
2418
  try {
2410
2419
  Object.defineProperty(fn, 'name', {value});
2411
2420
  } catch (e) {
@@ -2415,6 +2424,10 @@ utils.forEach(knownAdapters, (fn, value) => {
2415
2424
  }
2416
2425
  });
2417
2426
 
2427
+ const renderReason = (reason) => `- ${reason}`;
2428
+
2429
+ const isResolvedHandle = (adapter) => utils.isFunction(adapter) || adapter === null || adapter === false;
2430
+
2418
2431
  var adapters = {
2419
2432
  getAdapter: (adapters) => {
2420
2433
  adapters = utils.isArray(adapters) ? adapters : [adapters];
@@ -2423,30 +2436,44 @@ var adapters = {
2423
2436
  let nameOrAdapter;
2424
2437
  let adapter;
2425
2438
 
2439
+ const rejectedReasons = {};
2440
+
2426
2441
  for (let i = 0; i < length; i++) {
2427
2442
  nameOrAdapter = adapters[i];
2428
- 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) {
2429
2456
  break;
2430
2457
  }
2458
+
2459
+ rejectedReasons[id || '#' + i] = adapter;
2431
2460
  }
2432
2461
 
2433
2462
  if (!adapter) {
2434
- if (adapter === false) {
2435
- throw new AxiosError(
2436
- `Adapter ${nameOrAdapter} is not supported by the environment`,
2437
- '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')
2438
2467
  );
2439
- }
2440
2468
 
2441
- throw new Error(
2442
- utils.hasOwnProp(knownAdapters, nameOrAdapter) ?
2443
- `Adapter '${nameOrAdapter}' is not available in the build` :
2444
- `Unknown adapter '${nameOrAdapter}'`
2445
- );
2446
- }
2469
+ let s = length ?
2470
+ (reasons.length > 1 ? 'since :\n' + reasons.map(renderReason).join('\n') : ' ' + renderReason(reasons[0])) :
2471
+ 'as no adapter specified';
2447
2472
 
2448
- if (!utils.isFunction(adapter)) {
2449
- 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
+ );
2450
2477
  }
2451
2478
 
2452
2479
  return adapter;
@@ -2628,7 +2655,7 @@ function mergeConfig(config1, config2) {
2628
2655
  return config;
2629
2656
  }
2630
2657
 
2631
- const VERSION = "1.4.0";
2658
+ const VERSION = "1.5.1";
2632
2659
 
2633
2660
  const validators$1 = {};
2634
2661
 
@@ -2781,15 +2808,13 @@ class Axios {
2781
2808
  // Set config.method
2782
2809
  config.method = (config.method || this.defaults.method || 'get').toLowerCase();
2783
2810
 
2784
- let contextHeaders;
2785
-
2786
2811
  // Flatten headers
2787
- contextHeaders = headers && utils.merge(
2812
+ let contextHeaders = headers && utils.merge(
2788
2813
  headers.common,
2789
2814
  headers[config.method]
2790
2815
  );
2791
2816
 
2792
- contextHeaders && utils.forEach(
2817
+ headers && utils.forEach(
2793
2818
  ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],
2794
2819
  (method) => {
2795
2820
  delete headers[method];
@@ -3199,6 +3224,8 @@ axios.AxiosHeaders = AxiosHeaders$1;
3199
3224
 
3200
3225
  axios.formToJSON = thing => formDataToJSON(utils.isHTMLForm(thing) ? new FormData(thing) : thing);
3201
3226
 
3227
+ axios.getAdapter = adapters.getAdapter;
3228
+
3202
3229
  axios.HttpStatusCode = HttpStatusCode$1;
3203
3230
 
3204
3231
  axios.default = axios;
@@ -3207,7 +3234,7 @@ axios.default = axios;
3207
3234
  var axios$1 = axios;
3208
3235
 
3209
3236
  var name$1 = "@tryghost/content-api";
3210
- var version = "1.11.16";
3237
+ var version = "1.11.18";
3211
3238
  var repository = "https://github.com/TryGhost/SDK/tree/main/packages/content-api";
3212
3239
  var author = "Ghost Foundation";
3213
3240
  var license = "MIT";
@@ -3236,12 +3263,12 @@ var publishConfig = {
3236
3263
  access: "public"
3237
3264
  };
3238
3265
  var devDependencies = {
3239
- "@babel/core": "7.22.9",
3266
+ "@babel/core": "7.23.2",
3240
3267
  "@babel/polyfill": "7.12.1",
3241
- "@babel/preset-env": "7.22.9",
3242
- "@rollup/plugin-json": "6.0.0",
3268
+ "@babel/preset-env": "7.23.2",
3269
+ "@rollup/plugin-json": "6.0.1",
3243
3270
  c8: "7.13.0",
3244
- "core-js": "3.31.1",
3271
+ "core-js": "3.33.1",
3245
3272
  "eslint-plugin-ghost": "2.16.0",
3246
3273
  mocha: "10.2.0",
3247
3274
  rollup: "2.79.1",
@@ -3257,7 +3284,7 @@ var devDependencies = {
3257
3284
  var dependencies = {
3258
3285
  axios: "^1.0.0"
3259
3286
  };
3260
- var gitHead = "9aab58d76232aa8487afaa4006db14816094671d";
3287
+ var gitHead = "8c2ce00854de1d1aca04c01ff8c753cb868368b6";
3261
3288
  var packageInfo = {
3262
3289
  name: name$1,
3263
3290
  version: version,