mirror of
https://github.com/tenrok/axios.git
synced 2026-06-14 18:42:33 +03:00
Release/v0.22.0 (#4107)
* fix/Avoid package.json import; (#4041) * Added auto-generated config module `env/data.js` for importing package environment vars without importing the whole `package.json`; Refactored `http.js` to use `env/data.js` instead of package.json; * Added `env/data.js`; Added `env/README.md`; * Feat/export package version constant (#4065) * Added auto-generated config module `env/data.js` for importing package environment vars without importing the whole `package.json`; Refactored `http.js` to use `env/data.js` instead of package.json; * Added `env/data.js`; Added `env/README.md`; * Export package version constant; * Fixed cancelToken leakage; Added AbortController support; (#3305) * Fixed cancelToken leakage; Added AbortController support; * Fixed typings; * Documented `signal` option; * Added processing of early cancellation using AbortController without sending a request; Co-authored-by: Jay <jasonsaayman@gmail.com> * Updating CI to run on release branches * Fixed default transitional config for custom Axios instance; (#4052) Refactored `/core/mergeConfig`; Co-authored-by: Jay <jasonsaayman@gmail.com> * Prepping v0.22.0 for release * Updated date Co-authored-by: Dmitriy Mozgovoy <robotshara@gmail.com>
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
'use strict';
|
||||
|
||||
var pkg = require('./../../package.json');
|
||||
var VERSION = require('../env/data').version;
|
||||
|
||||
var validators = {};
|
||||
|
||||
@@ -12,48 +12,26 @@ var validators = {};
|
||||
});
|
||||
|
||||
var deprecatedWarnings = {};
|
||||
var currentVerArr = pkg.version.split('.');
|
||||
|
||||
/**
|
||||
* Compare package versions
|
||||
* @param {string} version
|
||||
* @param {string?} thanVersion
|
||||
* @returns {boolean}
|
||||
*/
|
||||
function isOlderVersion(version, thanVersion) {
|
||||
var pkgVersionArr = thanVersion ? thanVersion.split('.') : currentVerArr;
|
||||
var destVer = version.split('.');
|
||||
for (var i = 0; i < 3; i++) {
|
||||
if (pkgVersionArr[i] > destVer[i]) {
|
||||
return true;
|
||||
} else if (pkgVersionArr[i] < destVer[i]) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Transitional option validator
|
||||
* @param {function|boolean?} validator
|
||||
* @param {string?} version
|
||||
* @param {string} message
|
||||
* @param {function|boolean?} validator - set to false if the transitional option has been removed
|
||||
* @param {string?} version - deprecated version / removed since version
|
||||
* @param {string?} message - some message with additional info
|
||||
* @returns {function}
|
||||
*/
|
||||
validators.transitional = function transitional(validator, version, message) {
|
||||
var isDeprecated = version && isOlderVersion(version);
|
||||
|
||||
function formatMessage(opt, desc) {
|
||||
return '[Axios v' + pkg.version + '] Transitional option \'' + opt + '\'' + desc + (message ? '. ' + message : '');
|
||||
return '[Axios v' + VERSION + '] Transitional option \'' + opt + '\'' + desc + (message ? '. ' + message : '');
|
||||
}
|
||||
|
||||
// eslint-disable-next-line func-names
|
||||
return function(value, opt, opts) {
|
||||
if (validator === false) {
|
||||
throw new Error(formatMessage(opt, ' has been removed in ' + version));
|
||||
throw new Error(formatMessage(opt, ' has been removed' + (version ? ' in ' + version : '')));
|
||||
}
|
||||
|
||||
if (isDeprecated && !deprecatedWarnings[opt]) {
|
||||
if (version && !deprecatedWarnings[opt]) {
|
||||
deprecatedWarnings[opt] = true;
|
||||
// eslint-disable-next-line no-console
|
||||
console.warn(
|
||||
@@ -99,7 +77,6 @@ function assertOptions(options, schema, allowUnknown) {
|
||||
}
|
||||
|
||||
module.exports = {
|
||||
isOlderVersion: isOlderVersion,
|
||||
assertOptions: assertOptions,
|
||||
validators: validators
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user