axios 1.0.0-alpha.1 → 1.1.0

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.

Potentially problematic release.


This version of axios might be problematic. Click here for more details.

Files changed (70) hide show
  1. package/CHANGELOG.md +74 -1
  2. package/README.md +59 -48
  3. package/SECURITY.md +3 -2
  4. package/bin/ssl_hotfix.js +1 -1
  5. package/dist/axios.js +1564 -981
  6. package/dist/axios.js.map +1 -1
  7. package/dist/axios.min.js +1 -1
  8. package/dist/axios.min.js.map +1 -1
  9. package/dist/esm/axios.js +1472 -866
  10. package/dist/esm/axios.js.map +1 -1
  11. package/dist/esm/axios.min.js +1 -1
  12. package/dist/esm/axios.min.js.map +1 -1
  13. package/dist/node/axios.cjs +3761 -0
  14. package/dist/node/axios.cjs.map +1 -0
  15. package/gulpfile.js +88 -0
  16. package/index.d.ts +213 -67
  17. package/index.js +2 -1
  18. package/karma.conf.cjs +250 -0
  19. package/lib/adapters/http.js +256 -131
  20. package/lib/adapters/index.js +33 -0
  21. package/lib/adapters/xhr.js +79 -56
  22. package/lib/axios.js +41 -25
  23. package/lib/cancel/CancelToken.js +91 -88
  24. package/lib/cancel/CanceledError.js +5 -4
  25. package/lib/cancel/isCancel.js +2 -2
  26. package/lib/core/Axios.js +127 -100
  27. package/lib/core/AxiosError.js +10 -7
  28. package/lib/core/AxiosHeaders.js +274 -0
  29. package/lib/core/InterceptorManager.js +61 -53
  30. package/lib/core/buildFullPath.js +5 -4
  31. package/lib/core/dispatchRequest.js +21 -39
  32. package/lib/core/mergeConfig.js +8 -7
  33. package/lib/core/settle.js +6 -4
  34. package/lib/core/transformData.js +15 -10
  35. package/lib/defaults/index.js +46 -39
  36. package/lib/defaults/transitional.js +1 -1
  37. package/lib/env/classes/FormData.js +2 -2
  38. package/lib/env/data.js +1 -3
  39. package/lib/helpers/AxiosTransformStream.js +191 -0
  40. package/lib/helpers/AxiosURLSearchParams.js +23 -7
  41. package/lib/helpers/bind.js +2 -2
  42. package/lib/helpers/buildURL.js +16 -7
  43. package/lib/helpers/combineURLs.js +3 -2
  44. package/lib/helpers/cookies.js +43 -44
  45. package/lib/helpers/deprecatedMethod.js +4 -2
  46. package/lib/helpers/formDataToJSON.js +36 -15
  47. package/lib/helpers/fromDataURI.js +15 -13
  48. package/lib/helpers/isAbsoluteURL.js +3 -2
  49. package/lib/helpers/isAxiosError.js +4 -3
  50. package/lib/helpers/isURLSameOrigin.js +55 -56
  51. package/lib/helpers/null.js +1 -1
  52. package/lib/helpers/parseHeaders.js +24 -22
  53. package/lib/helpers/parseProtocol.js +3 -3
  54. package/lib/helpers/speedometer.js +55 -0
  55. package/lib/helpers/spread.js +3 -2
  56. package/lib/helpers/throttle.js +33 -0
  57. package/lib/helpers/toFormData.js +68 -18
  58. package/lib/helpers/toURLEncodedForm.js +5 -5
  59. package/lib/helpers/validator.js +20 -15
  60. package/lib/platform/browser/classes/FormData.js +1 -1
  61. package/lib/platform/browser/classes/URLSearchParams.js +2 -3
  62. package/lib/platform/browser/index.js +38 -6
  63. package/lib/platform/index.js +2 -2
  64. package/lib/platform/node/classes/FormData.js +2 -2
  65. package/lib/platform/node/classes/URLSearchParams.js +2 -3
  66. package/lib/platform/node/index.js +5 -4
  67. package/lib/utils.js +294 -192
  68. package/package.json +55 -22
  69. package/rollup.config.js +37 -7
  70. package/lib/helpers/normalizeHeaderName.js +0 -12
@@ -1,63 +1,71 @@
1
1
  'use strict';
2
2
 
3
- var utils = require('./../utils');
3
+ import utils from './../utils.js';
4
4
 
5
- function InterceptorManager() {
6
- this.handlers = [];
7
- }
8
-
9
- /**
10
- * Add a new interceptor to the stack
11
- *
12
- * @param {Function} fulfilled The function to handle `then` for a `Promise`
13
- * @param {Function} rejected The function to handle `reject` for a `Promise`
14
- *
15
- * @return {Number} An ID used to remove interceptor later
16
- */
17
- InterceptorManager.prototype.use = function use(fulfilled, rejected, options) {
18
- this.handlers.push({
19
- fulfilled: fulfilled,
20
- rejected: rejected,
21
- synchronous: options ? options.synchronous : false,
22
- runWhen: options ? options.runWhen : null
23
- });
24
- return this.handlers.length - 1;
25
- };
5
+ class InterceptorManager {
6
+ constructor() {
7
+ this.handlers = [];
8
+ }
26
9
 
27
- /**
28
- * Remove an interceptor from the stack
29
- *
30
- * @param {Number} id The ID that was returned by `use`
31
- */
32
- InterceptorManager.prototype.eject = function eject(id) {
33
- if (this.handlers[id]) {
34
- this.handlers[id] = null;
10
+ /**
11
+ * Add a new interceptor to the stack
12
+ *
13
+ * @param {Function} fulfilled The function to handle `then` for a `Promise`
14
+ * @param {Function} rejected The function to handle `reject` for a `Promise`
15
+ *
16
+ * @return {Number} An ID used to remove interceptor later
17
+ */
18
+ use(fulfilled, rejected, options) {
19
+ this.handlers.push({
20
+ fulfilled,
21
+ rejected,
22
+ synchronous: options ? options.synchronous : false,
23
+ runWhen: options ? options.runWhen : null
24
+ });
25
+ return this.handlers.length - 1;
35
26
  }
36
- };
37
27
 
38
- /**
39
- * Clear all interceptors from the stack
40
- */
41
- InterceptorManager.prototype.clear = function clear() {
42
- if (this.handlers) {
43
- this.handlers = [];
28
+ /**
29
+ * Remove an interceptor from the stack
30
+ *
31
+ * @param {Number} id The ID that was returned by `use`
32
+ *
33
+ * @returns {Boolean} `true` if the interceptor was removed, `false` otherwise
34
+ */
35
+ eject(id) {
36
+ if (this.handlers[id]) {
37
+ this.handlers[id] = null;
38
+ }
44
39
  }
45
- };
46
40
 
47
- /**
48
- * Iterate over all the registered interceptors
49
- *
50
- * This method is particularly useful for skipping over any
51
- * interceptors that may have become `null` calling `eject`.
52
- *
53
- * @param {Function} fn The function to call for each interceptor
54
- */
55
- InterceptorManager.prototype.forEach = function forEach(fn) {
56
- utils.forEach(this.handlers, function forEachHandler(h) {
57
- if (h !== null) {
58
- fn(h);
41
+ /**
42
+ * Clear all interceptors from the stack
43
+ *
44
+ * @returns {void}
45
+ */
46
+ clear() {
47
+ if (this.handlers) {
48
+ this.handlers = [];
59
49
  }
60
- });
61
- };
50
+ }
51
+
52
+ /**
53
+ * Iterate over all the registered interceptors
54
+ *
55
+ * This method is particularly useful for skipping over any
56
+ * interceptors that may have become `null` calling `eject`.
57
+ *
58
+ * @param {Function} fn The function to call for each interceptor
59
+ *
60
+ * @returns {void}
61
+ */
62
+ forEach(fn) {
63
+ utils.forEach(this.handlers, function forEachHandler(h) {
64
+ if (h !== null) {
65
+ fn(h);
66
+ }
67
+ });
68
+ }
69
+ }
62
70
 
63
- module.exports = InterceptorManager;
71
+ export default InterceptorManager;
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
- var isAbsoluteURL = require('../helpers/isAbsoluteURL');
4
- var combineURLs = require('../helpers/combineURLs');
3
+ import isAbsoluteURL from '../helpers/isAbsoluteURL.js';
4
+ import combineURLs from '../helpers/combineURLs.js';
5
5
 
6
6
  /**
7
7
  * Creates a new URL by combining the baseURL with the requestedURL,
@@ -10,11 +10,12 @@ var combineURLs = require('../helpers/combineURLs');
10
10
  *
11
11
  * @param {string} baseURL The base URL
12
12
  * @param {string} requestedURL Absolute or relative URL to combine
13
+ *
13
14
  * @returns {string} The combined full path
14
15
  */
15
- module.exports = function buildFullPath(baseURL, requestedURL) {
16
+ export default function buildFullPath(baseURL, requestedURL) {
16
17
  if (baseURL && !isAbsoluteURL(requestedURL)) {
17
18
  return combineURLs(baseURL, requestedURL);
18
19
  }
19
20
  return requestedURL;
20
- };
21
+ }
@@ -1,14 +1,17 @@
1
1
  'use strict';
2
2
 
3
- var utils = require('./../utils');
4
- var transformData = require('./transformData');
5
- var isCancel = require('../cancel/isCancel');
6
- var defaults = require('../defaults');
7
- var CanceledError = require('../cancel/CanceledError');
8
- var normalizeHeaderName = require('../helpers/normalizeHeaderName');
3
+ import transformData from './transformData.js';
4
+ import isCancel from '../cancel/isCancel.js';
5
+ import defaults from '../defaults/index.js';
6
+ import CanceledError from '../cancel/CanceledError.js';
7
+ import AxiosHeaders from '../core/AxiosHeaders.js';
9
8
 
10
9
  /**
11
10
  * Throws a `CanceledError` if cancellation has been requested.
11
+ *
12
+ * @param {Object} config The config that is to be used for the request
13
+ *
14
+ * @returns {void}
12
15
  */
13
16
  function throwIfCancellationRequested(config) {
14
17
  if (config.cancelToken) {
@@ -24,41 +27,21 @@ function throwIfCancellationRequested(config) {
24
27
  * Dispatch a request to the server using the configured adapter.
25
28
  *
26
29
  * @param {object} config The config that is to be used for the request
30
+ *
27
31
  * @returns {Promise} The Promise to be fulfilled
28
32
  */
29
- module.exports = function dispatchRequest(config) {
33
+ export default function dispatchRequest(config) {
30
34
  throwIfCancellationRequested(config);
31
35
 
32
- // Ensure headers exist
33
- config.headers = config.headers || {};
36
+ config.headers = AxiosHeaders.from(config.headers);
34
37
 
35
38
  // Transform request data
36
39
  config.data = transformData.call(
37
40
  config,
38
- config.data,
39
- config.headers,
40
- null,
41
41
  config.transformRequest
42
42
  );
43
43
 
44
- normalizeHeaderName(config.headers, 'Accept');
45
- normalizeHeaderName(config.headers, 'Content-Type');
46
-
47
- // Flatten headers
48
- config.headers = utils.merge(
49
- config.headers.common || {},
50
- config.headers[config.method] || {},
51
- config.headers
52
- );
53
-
54
- utils.forEach(
55
- ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],
56
- function cleanHeaderConfig(method) {
57
- delete config.headers[method];
58
- }
59
- );
60
-
61
- var adapter = config.adapter || defaults.adapter;
44
+ const adapter = config.adapter || defaults.adapter;
62
45
 
63
46
  return adapter(config).then(function onAdapterResolution(response) {
64
47
  throwIfCancellationRequested(config);
@@ -66,12 +49,12 @@ module.exports = function dispatchRequest(config) {
66
49
  // Transform response data
67
50
  response.data = transformData.call(
68
51
  config,
69
- response.data,
70
- response.headers,
71
- response.status,
72
- config.transformResponse
52
+ config.transformResponse,
53
+ response
73
54
  );
74
55
 
56
+ response.headers = AxiosHeaders.from(response.headers);
57
+
75
58
  return response;
76
59
  }, function onAdapterRejection(reason) {
77
60
  if (!isCancel(reason)) {
@@ -81,14 +64,13 @@ module.exports = function dispatchRequest(config) {
81
64
  if (reason && reason.response) {
82
65
  reason.response.data = transformData.call(
83
66
  config,
84
- reason.response.data,
85
- reason.response.headers,
86
- reason.response.status,
87
- config.transformResponse
67
+ config.transformResponse,
68
+ reason.response
88
69
  );
70
+ reason.response.headers = AxiosHeaders.from(reason.response.headers);
89
71
  }
90
72
  }
91
73
 
92
74
  return Promise.reject(reason);
93
75
  });
94
- };
76
+ }
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var utils = require('../utils');
3
+ import utils from '../utils.js';
4
4
 
5
5
  /**
6
6
  * Config-specific merge-function which creates a new config-object
@@ -8,12 +8,13 @@ var utils = require('../utils');
8
8
  *
9
9
  * @param {Object} config1
10
10
  * @param {Object} config2
11
+ *
11
12
  * @returns {Object} New object resulting from merging config2 to config1
12
13
  */
13
- module.exports = function mergeConfig(config1, config2) {
14
+ export default function mergeConfig(config1, config2) {
14
15
  // eslint-disable-next-line no-param-reassign
15
16
  config2 = config2 || {};
16
- var config = {};
17
+ const config = {};
17
18
 
18
19
  function getMergedValue(target, source) {
19
20
  if (utils.isPlainObject(target) && utils.isPlainObject(source)) {
@@ -60,7 +61,7 @@ module.exports = function mergeConfig(config1, config2) {
60
61
  }
61
62
  }
62
63
 
63
- var mergeMap = {
64
+ const mergeMap = {
64
65
  'url': valueFromConfig2,
65
66
  'method': valueFromConfig2,
66
67
  'data': valueFromConfig2,
@@ -91,10 +92,10 @@ module.exports = function mergeConfig(config1, config2) {
91
92
  };
92
93
 
93
94
  utils.forEach(Object.keys(config1).concat(Object.keys(config2)), function computeConfigValue(prop) {
94
- var merge = mergeMap[prop] || mergeDeepProperties;
95
- var configValue = merge(prop);
95
+ const merge = mergeMap[prop] || mergeDeepProperties;
96
+ const configValue = merge(prop);
96
97
  (utils.isUndefined(configValue) && merge !== mergeDirectKeys) || (config[prop] = configValue);
97
98
  });
98
99
 
99
100
  return config;
100
- };
101
+ }
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var AxiosError = require('./AxiosError');
3
+ import AxiosError from './AxiosError.js';
4
4
 
5
5
  /**
6
6
  * Resolve or reject a Promise based on response status.
@@ -8,9 +8,11 @@ var AxiosError = require('./AxiosError');
8
8
  * @param {Function} resolve A function that resolves the promise.
9
9
  * @param {Function} reject A function that rejects the promise.
10
10
  * @param {object} response The response.
11
+ *
12
+ * @returns {object} The response.
11
13
  */
12
- module.exports = function settle(resolve, reject, response) {
13
- var validateStatus = response.config.validateStatus;
14
+ export default function settle(resolve, reject, response) {
15
+ const validateStatus = response.config.validateStatus;
14
16
  if (!response.status || !validateStatus || validateStatus(response.status)) {
15
17
  resolve(response);
16
18
  } else {
@@ -22,4 +24,4 @@ module.exports = function settle(resolve, reject, response) {
22
24
  response
23
25
  ));
24
26
  }
25
- };
27
+ }
@@ -1,23 +1,28 @@
1
1
  'use strict';
2
2
 
3
- var utils = require('./../utils');
4
- var defaults = require('../defaults');
3
+ import utils from './../utils.js';
4
+ import defaults from '../defaults/index.js';
5
+ import AxiosHeaders from '../core/AxiosHeaders.js';
5
6
 
6
7
  /**
7
8
  * Transform the data for a request or a response
8
9
  *
9
- * @param {Object|String} data The data to be transformed
10
- * @param {Array} headers The headers for the request or response
11
- * @param {Number} status HTTP status code
12
10
  * @param {Array|Function} fns A single function or Array of functions
11
+ * @param {?Object} response The response object
12
+ *
13
13
  * @returns {*} The resulting transformed data
14
14
  */
15
- module.exports = function transformData(data, headers, status, fns) {
16
- var context = this || defaults;
17
- /*eslint no-param-reassign:0*/
15
+ export default function transformData(fns, response) {
16
+ const config = this || defaults;
17
+ const context = response || config;
18
+ const headers = AxiosHeaders.from(context.headers);
19
+ let data = context.data;
20
+
18
21
  utils.forEach(fns, function transform(fn) {
19
- data = fn.call(context, data, headers, status);
22
+ data = fn.call(config, data, headers.normalize(), response ? response.status : undefined);
20
23
  });
21
24
 
25
+ headers.normalize();
26
+
22
27
  return data;
23
- };
28
+ }
@@ -1,36 +1,46 @@
1
1
  'use strict';
2
2
 
3
- var utils = require('../utils');
4
- var normalizeHeaderName = require('../helpers/normalizeHeaderName');
5
- var AxiosError = require('../core/AxiosError');
6
- var transitionalDefaults = require('./transitional');
7
- var toFormData = require('../helpers/toFormData');
8
- var toURLEncodedForm = require('../helpers/toURLEncodedForm');
9
- var platform = require('../platform');
10
- var formDataToJSON = require('../helpers/formDataToJSON');
11
-
12
- var DEFAULT_CONTENT_TYPE = {
3
+ import utils from '../utils.js';
4
+ import AxiosError from '../core/AxiosError.js';
5
+ import transitionalDefaults from './transitional.js';
6
+ import toFormData from '../helpers/toFormData.js';
7
+ import toURLEncodedForm from '../helpers/toURLEncodedForm.js';
8
+ import platform from '../platform/index.js';
9
+ import formDataToJSON from '../helpers/formDataToJSON.js';
10
+ import adapters from '../adapters/index.js';
11
+
12
+ const DEFAULT_CONTENT_TYPE = {
13
13
  'Content-Type': 'application/x-www-form-urlencoded'
14
14
  };
15
15
 
16
- function setContentTypeIfUnset(headers, value) {
17
- if (!utils.isUndefined(headers) && utils.isUndefined(headers['Content-Type'])) {
18
- headers['Content-Type'] = value;
19
- }
20
- }
21
-
16
+ /**
17
+ * If the browser has an XMLHttpRequest object, use the XHR adapter, otherwise use the HTTP
18
+ * adapter
19
+ *
20
+ * @returns {Function}
21
+ */
22
22
  function getDefaultAdapter() {
23
- var adapter;
23
+ let adapter;
24
24
  if (typeof XMLHttpRequest !== 'undefined') {
25
25
  // For browsers use XHR adapter
26
- adapter = require('../adapters/xhr');
27
- } else if (typeof process !== 'undefined' && Object.prototype.toString.call(process) === '[object process]') {
26
+ adapter = adapters.getAdapter('xhr');
27
+ } else if (typeof process !== 'undefined' && utils.kindOf(process) === 'process') {
28
28
  // For node use HTTP adapter
29
- adapter = require('../adapters/http');
29
+ adapter = adapters.getAdapter('http');
30
30
  }
31
31
  return adapter;
32
32
  }
33
33
 
34
+ /**
35
+ * It takes a string, tries to parse it, and if it fails, it returns the stringified version
36
+ * of the input
37
+ *
38
+ * @param {any} rawValue - The value to be stringified.
39
+ * @param {Function} parser - A function that parses a string into a JavaScript object.
40
+ * @param {Function} encoder - A function that takes a value and returns a string.
41
+ *
42
+ * @returns {string} A stringified version of the rawValue.
43
+ */
34
44
  function stringifySafely(rawValue, parser, encoder) {
35
45
  if (utils.isString(rawValue)) {
36
46
  try {
@@ -46,25 +56,22 @@ function stringifySafely(rawValue, parser, encoder) {
46
56
  return (encoder || JSON.stringify)(rawValue);
47
57
  }
48
58
 
49
- var defaults = {
59
+ const defaults = {
50
60
 
51
61
  transitional: transitionalDefaults,
52
62
 
53
63
  adapter: getDefaultAdapter(),
54
64
 
55
65
  transformRequest: [function transformRequest(data, headers) {
56
- normalizeHeaderName(headers, 'Accept');
57
- normalizeHeaderName(headers, 'Content-Type');
58
-
59
- var contentType = headers && headers['Content-Type'] || '';
60
- var hasJSONContentType = contentType.indexOf('application/json') > -1;
61
- var isObjectPayload = utils.isObject(data);
66
+ const contentType = headers.getContentType() || '';
67
+ const hasJSONContentType = contentType.indexOf('application/json') > -1;
68
+ const isObjectPayload = utils.isObject(data);
62
69
 
63
70
  if (isObjectPayload && utils.isHTMLForm(data)) {
64
71
  data = new FormData(data);
65
72
  }
66
73
 
67
- var isFormData = utils.isFormData(data);
74
+ const isFormData = utils.isFormData(data);
68
75
 
69
76
  if (isFormData) {
70
77
  if (!hasJSONContentType) {
@@ -85,19 +92,19 @@ var defaults = {
85
92
  return data.buffer;
86
93
  }
87
94
  if (utils.isURLSearchParams(data)) {
88
- setContentTypeIfUnset(headers, 'application/x-www-form-urlencoded;charset=utf-8');
95
+ headers.setContentType('application/x-www-form-urlencoded;charset=utf-8', false);
89
96
  return data.toString();
90
97
  }
91
98
 
92
- var isFileList;
99
+ let isFileList;
93
100
 
94
101
  if (isObjectPayload) {
95
- if (contentType.indexOf('application/x-www-form-urlencoded') !== -1) {
102
+ if (contentType.indexOf('application/x-www-form-urlencoded') > -1) {
96
103
  return toURLEncodedForm(data, this.formSerializer).toString();
97
104
  }
98
105
 
99
106
  if ((isFileList = utils.isFileList(data)) || contentType.indexOf('multipart/form-data') > -1) {
100
- var _FormData = this.env && this.env.FormData;
107
+ const _FormData = this.env && this.env.FormData;
101
108
 
102
109
  return toFormData(
103
110
  isFileList ? {'files[]': data} : data,
@@ -108,7 +115,7 @@ var defaults = {
108
115
  }
109
116
 
110
117
  if (isObjectPayload || hasJSONContentType ) {
111
- setContentTypeIfUnset(headers, 'application/json');
118
+ headers.setContentType('application/json', false);
112
119
  return stringifySafely(data);
113
120
  }
114
121
 
@@ -116,13 +123,13 @@ var defaults = {
116
123
  }],
117
124
 
118
125
  transformResponse: [function transformResponse(data) {
119
- var transitional = this.transitional || defaults.transitional;
120
- var forcedJSONParsing = transitional && transitional.forcedJSONParsing;
121
- var JSONRequested = this.responseType === 'json';
126
+ const transitional = this.transitional || defaults.transitional;
127
+ const forcedJSONParsing = transitional && transitional.forcedJSONParsing;
128
+ const JSONRequested = this.responseType === 'json';
122
129
 
123
130
  if (data && utils.isString(data) && ((forcedJSONParsing && !this.responseType) || JSONRequested)) {
124
- var silentJSONParsing = transitional && transitional.silentJSONParsing;
125
- var strictJSONParsing = !silentJSONParsing && JSONRequested;
131
+ const silentJSONParsing = transitional && transitional.silentJSONParsing;
132
+ const strictJSONParsing = !silentJSONParsing && JSONRequested;
126
133
 
127
134
  try {
128
135
  return JSON.parse(data);
@@ -175,4 +182,4 @@ utils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {
175
182
  defaults.headers[method] = utils.merge(DEFAULT_CONTENT_TYPE);
176
183
  });
177
184
 
178
- module.exports = defaults;
185
+ export default defaults;
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- module.exports = {
3
+ export default {
4
4
  silentJSONParsing: true,
5
5
  forcedJSONParsing: true,
6
6
  clarifyTimeoutError: false
@@ -1,2 +1,2 @@
1
- // eslint-disable-next-line strict
2
- module.exports = require('form-data');
1
+ import FormData from 'form-data';
2
+ export default FormData;
package/lib/env/data.js CHANGED
@@ -1,3 +1 @@
1
- module.exports = {
2
- "version": "1.0.0-alpha.1"
3
- };
1
+ export const VERSION = "1.1.0";