auth0-lock
Advanced tools
Comparing version 11.30.4 to 11.30.5
@@ -6,3 +6,3 @@ ## Environment | ||
- [Yarn](https://yarnpkg.com/) | ||
- Node 10.x | ||
- >= Node 10.18.1 | ||
@@ -24,3 +24,3 @@ ## Building | ||
``` | ||
yarn test:jest | ||
yarn test | ||
``` | ||
@@ -31,5 +31,15 @@ | ||
``` | ||
yarn test:jest:watch | ||
yarn test:watch | ||
``` | ||
End-to-end tests can be executed locally using [Karma](https://karma-runner.github.io/), in both watch and CLI mode: | ||
``` | ||
# CLI mode using Chrome Headless browser: | ||
yarn test:e2e | ||
# Watch mode using Chrome desktop browser, in watch mode: | ||
yarn test:e2e:watch | ||
``` | ||
## The SDK Playground | ||
@@ -36,0 +46,0 @@ |
@@ -62,2 +62,3 @@ 'use strict'; | ||
}); | ||
it('default redirectUrl should not include location.hash', function () { | ||
@@ -74,2 +75,3 @@ (0, _testUtils.setURL)('https://test.com/path/#not-this-part'); | ||
}); | ||
it('default redirectUrl should work when `window.location.origin` is not available', function () { | ||
@@ -86,2 +88,3 @@ (0, _testUtils.setURL)('https://test.com/path/#not-this-part', { noOrigin: true }); | ||
}); | ||
it('should work with redirect:false and responseType:id_token', function () { | ||
@@ -94,2 +97,3 @@ var options = { | ||
}; | ||
setup('id', 'clientID', 'domain', options, 'hookRunner', 'emitEventFn', 'handleEventFn'); | ||
@@ -103,2 +107,132 @@ var _mockInit3 = mockInit, | ||
}); | ||
describe('clientBaseUrl', function () { | ||
it('should default to the specified domain', function () { | ||
var _mockInit4 = mockInit, | ||
mock = _mockInit4.mock; | ||
setup('id', 'clientID', 'my-tenant.us.auth0.com', {}, 'hookRunner', 'emitEventFn', 'handleEventFn'); | ||
expect(mock.calls.length).toBe(1); | ||
var model = mock.calls[0][1].toJS(); | ||
expect(model.clientBaseUrl).toBe('https://my-tenant.us.auth0.com'); | ||
}); | ||
it('should use the clientBaseUrl option if given', function () { | ||
var _mockInit5 = mockInit, | ||
mock = _mockInit5.mock; | ||
setup('id', 'clientID', 'my-tenant.us.auth0.com', { | ||
clientBaseUrl: 'https://client-base-url.example.com', | ||
configurationBaseUrl: 'https://config-base-url.example.com', | ||
assetsUrl: 'https://assets-url.example.com' | ||
}, 'hookRunner', 'emitEventFn', 'handleEventFn'); | ||
expect(mock.calls.length).toBe(1); | ||
var model = mock.calls[0][1].toJS(); | ||
expect(model.clientBaseUrl).toBe('https://client-base-url.example.com'); | ||
}); | ||
it('should use configurationBaseUrl if given', function () { | ||
var _mockInit6 = mockInit, | ||
mock = _mockInit6.mock; | ||
setup('id', 'clientID', 'my-tenant.us.auth0.com', { | ||
configurationBaseUrl: 'https://config-base-url.example.com', | ||
assetsUrl: 'https://assets-url.example.com' | ||
}, 'hookRunner', 'emitEventFn', 'handleEventFn'); | ||
expect(mock.calls.length).toBe(1); | ||
var model = mock.calls[0][1].toJS(); | ||
expect(model.clientBaseUrl).toBe('https://config-base-url.example.com'); | ||
}); | ||
it('should use assetsUrl if given', function () { | ||
var _mockInit7 = mockInit, | ||
mock = _mockInit7.mock; | ||
setup('id', 'clientID', 'my-tenant.us.auth0.com', { | ||
assetsUrl: 'https://assets-url.example.com' | ||
}, 'hookRunner', 'emitEventFn', 'handleEventFn'); | ||
expect(mock.calls.length).toBe(1); | ||
var model = mock.calls[0][1].toJS(); | ||
expect(model.clientBaseUrl).toBe('https://assets-url.example.com'); | ||
}); | ||
}); | ||
describe('tenantBaseUrl', function () { | ||
it('should default to domain URL when using auth0.com', function () { | ||
var _mockInit8 = mockInit, | ||
mock = _mockInit8.mock; | ||
setup('id', 'clientID', 'my-tenant.us.auth0.com', { | ||
__useTenantInfo: true | ||
}, 'hookRunner', 'emitEventFn', 'handleEventFn'); | ||
expect(mock.calls.length).toBe(1); | ||
var model = mock.calls[0][1].toJS(); | ||
expect(model.tenantBaseUrl).toBe('https://my-tenant.us.auth0.com/tenants/v1/my-tenant.js'); | ||
}); | ||
it('should default to domain URL when using a custom domain', function () { | ||
var _mockInit9 = mockInit, | ||
mock = _mockInit9.mock; | ||
setup('id', 'clientID', 'auth.my-tenant.com', { | ||
__useTenantInfo: true | ||
}, 'hookRunner', 'emitEventFn', 'handleEventFn'); | ||
expect(mock.calls.length).toBe(1); | ||
var model = mock.calls[0][1].toJS(); | ||
expect(model.tenantBaseUrl).toBe('https://auth.my-tenant.com/info-v1.js'); | ||
}); | ||
it('should use configurationBaseUrl if specified', function () { | ||
var _mockInit10 = mockInit, | ||
mock = _mockInit10.mock; | ||
setup('id', 'clientID', 'auth.my-tenant.com', { | ||
__useTenantInfo: true, | ||
configurationBaseUrl: 'https://config-base-url.com' | ||
}, 'hookRunner', 'emitEventFn', 'handleEventFn'); | ||
expect(mock.calls.length).toBe(1); | ||
var model = mock.calls[0][1].toJS(); | ||
expect(model.tenantBaseUrl).toBe('https://config-base-url.com/info-v1.js'); | ||
}); | ||
it('should use configurationBaseUrl with a custom tenant if specified', function () { | ||
var _mockInit11 = mockInit, | ||
mock = _mockInit11.mock; | ||
setup('id', 'clientID', 'auth.my-tenant.com', { | ||
__useTenantInfo: true, | ||
configurationBaseUrl: 'https://config-base-url.com', | ||
overrides: { | ||
__tenant: 'custom-tenant' | ||
} | ||
}, 'hookRunner', 'emitEventFn', 'handleEventFn'); | ||
expect(mock.calls.length).toBe(1); | ||
var model = mock.calls[0][1].toJS(); | ||
expect(model.tenantBaseUrl).toBe('https://config-base-url.com/tenants/v1/custom-tenant.js'); | ||
}); | ||
}); | ||
}); | ||
@@ -105,0 +239,0 @@ |
@@ -22,7 +22,7 @@ 'use strict'; | ||
beforeEach(function () { | ||
originalWindow = global.window; | ||
originalWindow = window.window; | ||
}); | ||
afterEach(function () { | ||
global.window = originalWindow; | ||
window.window = originalWindow; | ||
}); | ||
@@ -32,3 +32,3 @@ | ||
it('sets the correct options when is on the hosted login page', function () { | ||
delete global.window.location; | ||
delete window.location; | ||
window.location = _extends({}, originalWindow.location, { host: DEFAULT_DOMAIN, search: '' }); | ||
@@ -47,3 +47,3 @@ _web_api2.default.setupClient(LOCK_ID, CLIENT_ID, DEFAULT_DOMAIN, { redirect: true }); | ||
it('sets redirect: true when on the same origin as the specified domain', function () { | ||
delete global.window.location; | ||
delete window.location; | ||
window.location = _extends({}, originalWindow.location, { host: DEFAULT_DOMAIN, search: '' }); | ||
@@ -56,3 +56,3 @@ | ||
it('sets redirect: false when on a different origin as the specified domain', function () { | ||
delete global.window.location; | ||
delete window.location; | ||
window.location = _extends({}, originalWindow.location, { host: 'test-other.com', search: '' }); | ||
@@ -65,3 +65,3 @@ | ||
it('forces popup and sso mode for cordova, only when not running in the hosted environment', function () { | ||
delete global.window.location; | ||
delete window.location; | ||
window.location = _extends({}, originalWindow.location, { host: DEFAULT_DOMAIN, search: '' }); | ||
@@ -76,3 +76,3 @@ window.cordova = true; | ||
it('forces popup and sso mode for electron, only when not running in the hosted environment', function () { | ||
delete global.window.location; | ||
delete window.location; | ||
window.location = _extends({}, originalWindow.location, { host: DEFAULT_DOMAIN, search: '' }); | ||
@@ -79,0 +79,0 @@ window.electron = true; |
@@ -47,4 +47,4 @@ 'use strict'; | ||
beforeAll(function () { | ||
currentWindowObj = global.window; | ||
global.window = { | ||
currentWindowObj = window.window; | ||
window.window = { | ||
locaction: { | ||
@@ -57,3 +57,3 @@ host: domainMock | ||
afterAll(function () { | ||
global.window = currentWindowObj; | ||
window.window = currentWindowObj; | ||
}); | ||
@@ -60,0 +60,0 @@ |
@@ -15,4 +15,4 @@ 'use strict'; | ||
//jest polyfills | ||
global.requestAnimationFrame = function (callback) { | ||
window.requestAnimationFrame = function (callback) { | ||
setTimeout(callback, 0); | ||
}; |
@@ -22,12 +22,12 @@ 'use strict'; | ||
if (typeof global.window.define == 'function' && global.window.define.amd) { | ||
global.window.define('auth0Lock', function () { | ||
if (typeof window.define == 'function' && window.define.amd) { | ||
window.define('auth0Lock', function () { | ||
return _index2.default; | ||
}); | ||
global.window.define('auth0LockPasswordless', function () { | ||
window.define('auth0LockPasswordless', function () { | ||
return _passwordless2.default; | ||
}); | ||
} else if (global.window) { | ||
global.window.Auth0Lock = _index2.default; | ||
global.window.Auth0LockPasswordless = _passwordless2.default; | ||
} else if (window.window) { | ||
window.Auth0Lock = _index2.default; | ||
window.Auth0LockPasswordless = _passwordless2.default; | ||
} |
@@ -95,3 +95,3 @@ 'use strict'; | ||
function assertMaybeArray(opts, name) { | ||
var valid = opts[name] === undefined || global.Array.isArray(opts[name]); | ||
var valid = opts[name] === undefined || window.Array.isArray(opts[name]); | ||
if (!valid) l.warn(opts, 'The `' + name + '` option will be ignored, because it is not an array.'); | ||
@@ -212,3 +212,3 @@ return valid; | ||
if (options != undefined && !global.Array.isArray(options) && typeof options != 'function' || type === 'select' && options === undefined) { | ||
if (options != undefined && !window.Array.isArray(options) && typeof options != 'function' || type === 'select' && options === undefined) { | ||
l.warn(opts, 'Ignoring an element of `additionalSignUpFields` (' + name + ') because it has a "select" `type` but does not specify an `options` property that is an Array or a function.'); | ||
@@ -215,0 +215,0 @@ filter = false; |
@@ -70,10 +70,10 @@ 'use strict'; | ||
}).size > 0; | ||
var urlWithoutHash = global.location.href.split('#')[0]; | ||
var urlWithoutHash = window.location.href.split('#')[0]; | ||
var callback = function callback(error, authResult) { | ||
var parsed = !!(error || authResult); | ||
if (parsed && !keepHash) { | ||
global.history.replaceState(null, '', urlWithoutHash); | ||
window.history.replaceState(null, '', urlWithoutHash); | ||
} | ||
}; | ||
resumeAuth(global.location.hash, callback); | ||
resumeAuth(window.location.hash, callback); | ||
} | ||
@@ -80,0 +80,0 @@ |
@@ -505,12 +505,3 @@ 'use strict'; | ||
var domainUrl = 'https://' + domain; | ||
var hostname = (0, _url_utils.getLocationFromUrl)(domainUrl).hostname; | ||
var DOT_AUTH0_DOT_COM = '.auth0.com'; | ||
var AUTH0_US_CDN_URL = 'https://cdn.auth0.com'; | ||
if ((0, _string_utils.endsWith)(hostname, DOT_AUTH0_DOT_COM)) { | ||
var parts = hostname.split('.'); | ||
return parts.length > 3 ? 'https://cdn.' + parts[parts.length - 3] + DOT_AUTH0_DOT_COM : AUTH0_US_CDN_URL; | ||
} else { | ||
return domainUrl; | ||
} | ||
return 'https://' + domain; | ||
} | ||
@@ -534,12 +525,10 @@ | ||
var DOT_AUTH0_DOT_COM = '.auth0.com'; | ||
var AUTH0_US_CDN_URL = 'https://cdn.auth0.com'; | ||
var parts = hostname.split('.'); | ||
var tenant_name = parts[0]; | ||
var domain; | ||
// prettier-ignore | ||
if ((0, _string_utils.endsWith)(hostname, DOT_AUTH0_DOT_COM)) { | ||
domain = parts.length > 3 ? 'https://cdn.' + parts[parts.length - 3] + DOT_AUTH0_DOT_COM : AUTH0_US_CDN_URL; | ||
// lgtm [js/incomplete-url-substring-sanitization] | ||
var parts = hostname.split('.'); | ||
var tenant_name = parts[0]; | ||
return (0, _urlJoin2.default)(domain, 'tenants', 'v1', tenant_name + '.js'); | ||
return (0, _urlJoin2.default)(domainUrl, 'tenants', 'v1', tenant_name + '.js'); | ||
} else { | ||
@@ -546,0 +535,0 @@ return (0, _urlJoin2.default)(domainUrl, 'info-v1.js'); |
@@ -179,3 +179,3 @@ 'use strict'; | ||
function getVersion() { | ||
return '11.30.4'; | ||
return '11.30.5'; | ||
} |
@@ -20,4 +20,6 @@ 'use strict'; | ||
var _util = require('util'); | ||
var _format = require('./utils/format'); | ||
var _format2 = _interopRequireDefault(_format); | ||
var _dompurify = require('dompurify'); | ||
@@ -54,3 +56,3 @@ | ||
return _util.format.apply(undefined, [get(m, ['strings'].concat(keyPath), '')].concat(args)); | ||
return _format2.default.apply(undefined, [get(m, ['strings'].concat(keyPath), '')].concat(args)); | ||
} | ||
@@ -128,3 +130,3 @@ | ||
method: 'registerLanguageDictionary', | ||
url: l.languageBaseUrl(m) + '/js/lock/' + '11.30.4' + '/' + language + '.js', | ||
url: l.languageBaseUrl(m) + '/js/lock/' + '11.30.5' + '/' + language + '.js', | ||
check: function check(str) { | ||
@@ -131,0 +133,0 @@ return str && str === language; |
@@ -45,3 +45,3 @@ 'use strict'; | ||
exports.default = Auth0Lock; | ||
Auth0Lock.version = '11.30.4'; | ||
Auth0Lock.version = '11.30.5'; | ||
@@ -48,0 +48,0 @@ // TODO: should we have different telemetry for classic/passwordless? |
@@ -44,2 +44,2 @@ 'use strict'; | ||
Auth0LockPasswordless.version = '11.30.4'; | ||
Auth0LockPasswordless.version = '11.30.5'; |
@@ -104,4 +104,4 @@ 'use strict'; | ||
// store.addWatch("keepHistory", (key, oldState, newState) => { | ||
// if (!global.window.h) global.window.h = []; global.window.h.push(newState); | ||
// if (!window.h) window.h = []; window.h.push(newState); | ||
// console.debug("something changed", newState.toJS()); | ||
// }); |
@@ -43,3 +43,3 @@ 'use strict'; | ||
var syncStatusKey = function syncStatusKey(key) { | ||
return (global.Array.isArray(key) ? key : [key]).concat(['syncStatus']); | ||
return (window.Array.isArray(key) ? key : [key]).concat(['syncStatus']); | ||
}; | ||
@@ -46,0 +46,0 @@ var getStatus = function getStatus(m, key) { |
@@ -32,9 +32,9 @@ 'use strict'; | ||
ContainerManager.prototype.ensure = function ensure(id, shouldAppend) { | ||
var container = global.document.getElementById(id); | ||
var container = window.document.getElementById(id); | ||
if (!container && shouldAppend) { | ||
container = global.document.createElement('div'); | ||
container = window.document.createElement('div'); | ||
container.id = id; | ||
container.className = 'auth0-lock-container'; | ||
global.document.body.appendChild(container); | ||
window.document.body.appendChild(container); | ||
} | ||
@@ -66,3 +66,3 @@ | ||
if (isModal && !this.modals[containerId]) { | ||
_CSSCore2.default.addClass(global.document.getElementsByTagName('html')[0], 'auth0-lock-html'); | ||
_CSSCore2.default.addClass(window.document.getElementsByTagName('html')[0], 'auth0-lock-html'); | ||
} | ||
@@ -105,3 +105,3 @@ // eslint-disable-next-line | ||
_CSSCore2.default.removeClass(global.document.getElementsByTagName('html')[0], 'auth0-lock-html'); | ||
_CSSCore2.default.removeClass(window.document.getElementsByTagName('html')[0], 'auth0-lock-html'); | ||
} | ||
@@ -108,0 +108,0 @@ }; |
@@ -249,3 +249,3 @@ 'use strict'; | ||
if (!auxiliaryPane && nextProps.auxiliaryPane) { | ||
this.auxiliaryPaneTriggerInput = global.document.activeElement; | ||
this.auxiliaryPaneTriggerInput = window.document.activeElement; | ||
this.setState({ moving: true }); | ||
@@ -252,0 +252,0 @@ } |
@@ -105,7 +105,7 @@ 'use strict'; | ||
}; | ||
global.document.addEventListener('keydown', this.handler, false); | ||
window.document.addEventListener('keydown', this.handler, false); | ||
} | ||
EscKeyDownHandler.prototype.release = function release() { | ||
global.document.removeEventListener('keydown', this.handler); | ||
window.document.removeEventListener('keydown', this.handler); | ||
}; | ||
@@ -116,3 +116,3 @@ | ||
var IPHONE = global.navigator && !!global.navigator.userAgent.match(/iPhone/i); | ||
var IPHONE = window.navigator && !!window.navigator.userAgent.match(/iPhone/i); | ||
@@ -389,3 +389,3 @@ var Container = function (_React$Component) { | ||
// NOTE: detecting the file protocol is important for things like electron. | ||
var isFileProtocol = global.window && global.window.location && global.window.location.protocol === 'file:'; | ||
var isFileProtocol = window.window && window.location && window.location.protocol === 'file:'; | ||
@@ -392,0 +392,0 @@ var defaultProps = exports.defaultProps = Container.defaultProps = { |
@@ -159,8 +159,8 @@ 'use strict'; | ||
// Check stolen from Modernizr, see https://github.com/Modernizr/Modernizr/blob/29eab707f7a2fb261c8a9c538370e97eb1f86e25/feature-detects/css/filters.js | ||
var isEdge = global.navigator && !!global.navigator.userAgent.match(/Edge/i); | ||
if (typeof global.document === 'undefined' || isEdge) return false; | ||
var isEdge = window.navigator && !!window.navigator.userAgent.match(/Edge/i); | ||
if (typeof window.document === 'undefined' || isEdge) return false; | ||
var el = global.document.createElement('div'); | ||
var el = window.document.createElement('div'); | ||
el.style.cssText = 'filter: blur(2px); -webkit-filter: blur(2px)'; | ||
return !!el.style.length && (global.document.documentMode === undefined || global.document.documentMode > 9); | ||
return !!el.style.length && (window.document.documentMode === undefined || window.document.documentMode > 9); | ||
}(); | ||
@@ -167,0 +167,0 @@ |
@@ -19,5 +19,5 @@ 'use strict'; | ||
var _util = require('util'); | ||
var _format = require('../../../utils/format'); | ||
var _util2 = _interopRequireDefault(_util); | ||
var _format2 = _interopRequireDefault(_format); | ||
@@ -57,3 +57,3 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } | ||
o.message = _util2.default.format.apply(_util2.default, [o.message].concat(o.format || [])); | ||
o.message = _format2.default.apply(undefined, [o.message].concat(o.format || [])); | ||
@@ -60,0 +60,0 @@ if (o.items) { |
@@ -13,4 +13,4 @@ 'use strict'; | ||
if (!global.Auth0) { | ||
global.Auth0 = {}; | ||
if (!window.Auth0) { | ||
window.Auth0 = {}; | ||
} | ||
@@ -29,3 +29,3 @@ | ||
cbs[method] = []; | ||
global.Auth0[method] = function () { | ||
window.Auth0[method] = function () { | ||
for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) { | ||
@@ -56,5 +56,5 @@ args[_key] = arguments[_key]; | ||
var script = global.document.createElement('script'); | ||
var script = window.document.createElement('script'); | ||
script.src = url; | ||
global.document.getElementsByTagName('head')[0].appendChild(script); | ||
window.document.getElementsByTagName('head')[0].appendChild(script); | ||
@@ -92,3 +92,3 @@ var handleError = function handleError(err) { | ||
global.Auth0[method] = cb; | ||
window.Auth0[method] = cb; | ||
} |
{ | ||
"name": "auth0-lock", | ||
"version": "11.30.4", | ||
"version": "11.30.5", | ||
"description": "Auth0 Lock", | ||
@@ -30,11 +30,9 @@ "author": "Auth0 <support@auth0.com> (http://auth0.com)", | ||
"lint": "eslint --ext .jsx,.js src/", | ||
"test": "cross-env BABEL_ENV=test zuul -- test/**/*.test.js", | ||
"test:browser": "cross-env BABEL_ENV=test zuul --local 8080 --disable-tunnel -- test/**/*.test.js", | ||
"test:cli": "cross-env BABEL_ENV=test mochify --extension=.jsx --transform=babelify ./test/setup.js test/**/*.test.js", | ||
"test:watch": "cross-env BABEL_ENV=test mochify --watch --extension=.jsx --transform=babelify ./test/setup.js test/**/*.test.js", | ||
"test:jest": "jest --coverage --runInBand", | ||
"test:jest:watch": "jest --watch --coverage", | ||
"test:e2e": "cross-env BABEL_ENV=test karma start --browsers ChromeHeadless", | ||
"test:e2e:watch": "cross-env BABEL_ENV=test karma start --browsers Chrome --single-run=false", | ||
"test:e2e:browserstack": "cross-env BABEL_ENV=test karma start", | ||
"test": "jest --coverage --runInBand", | ||
"test:watch": "jest --watch --coverage", | ||
"test:es-check": "es-check es5 'build/*.js'", | ||
"publish:cdn": "ccu --trace", | ||
"release": "scripts/release.sh", | ||
"i18n:translate": "grunt dist && node scripts/complete-translations.js && npm run i18n:prettier && npm run build", | ||
@@ -51,2 +49,3 @@ "i18n:prettier": "prettier --write --print-width 100 --single-quote src/i18n/*", | ||
"babel-plugin-stylus-compiler": "^1.4.0", | ||
"babel-plugin-transform-class-properties": "^6.24.1", | ||
"babel-plugin-transform-css-import-to-string": "0.0.2", | ||
@@ -57,3 +56,4 @@ "babel-plugin-version-inline": "^1.0.0", | ||
"babel-preset-stage-0": "^6.3.13", | ||
"babelify": "^7.2.0", | ||
"babelify": "^8.0.0", | ||
"browserify": "^17.0.0", | ||
"bump-version": "^0.5.0", | ||
@@ -87,6 +87,14 @@ "chalk": "^3.0.0", | ||
"jsonwebtoken": "^7.3.0", | ||
"karma": "^6.3.4", | ||
"karma-babel-preprocessor": "^7.0.0", | ||
"karma-browserify": "^8.1.0", | ||
"karma-browserstack-launcher": "^1.6.0", | ||
"karma-chrome-launcher": "^3.1.0", | ||
"karma-mocha": "^2.0.1", | ||
"karma-mocha-reporter": "^2.2.5", | ||
"lint-staged": "^4.2.3", | ||
"mochify": "^6.3.0", | ||
"mocha": "^8.4.0", | ||
"node-es-module-loader": "^0.3.8", | ||
"prettier": "^1.7.4", | ||
"puppeteer": "^10.1.0", | ||
"react-test-renderer": "^15.6.2", | ||
@@ -102,17 +110,15 @@ "semver": "^6.2.0", | ||
"unreleased": "^0.1.0", | ||
"watchify": "^3.7.0", | ||
"watchify": "^4.0.0", | ||
"webpack": "^2.2.1", | ||
"webpack-core": "^0.6.8", | ||
"webpack-dev-server": "^2.3.0", | ||
"zuul": "^3.12.0", | ||
"zuul-ngrok": "4.0.0" | ||
"webpack-dev-server": "^2.3.0" | ||
}, | ||
"dependencies": { | ||
"auth0-js": "^9.16.2", | ||
"auth0-js": "^9.16.4", | ||
"auth0-password-policies": "^1.0.2", | ||
"blueimp-md5": "2.3.1", | ||
"blueimp-md5": "^2.18.0", | ||
"dompurify": "^2.2.8", | ||
"immutable": "^3.7.3", | ||
"jsonp": "^0.2.1", | ||
"password-sheriff": "^1.1.0", | ||
"password-sheriff": "^1.1.1", | ||
"prop-types": "^15.6.0", | ||
@@ -123,3 +129,3 @@ "qs": "^6.7.0", | ||
"react-transition-group": "^2.2.1", | ||
"trim": "1.0.0", | ||
"trim": "^1.0.1", | ||
"url-join": "^1.1.0", | ||
@@ -129,3 +135,4 @@ "validator": "^13.6.0" | ||
"resolutions": { | ||
"node-fetch": "^2.6.1" | ||
"node-fetch": "^2.6.1", | ||
"crypto-js": "^4.1.1" | ||
}, | ||
@@ -132,0 +139,0 @@ "ccu": { |
@@ -27,3 +27,3 @@ [![NPM version][npm-image]][npm-url] | ||
<!-- Latest patch release (recommended for production) --> | ||
<script src="https://cdn.auth0.com/js/lock/11.30.4/lock.min.js"></script> | ||
<script src="https://cdn.auth0.com/js/lock/11.30.5/lock.min.js"></script> | ||
``` | ||
@@ -354,2 +354,3 @@ | ||
- **signUpHideUsernameField {Boolean}**: When set to `true` hides the _username_ input during sign up for a Database connection that has the `requires_username` flag set. Defaults to `false`. | ||
- **signUpFieldsStrictValidation {Boolean}**: When set to `true`, the _email_ input on the sign-up page is validated using [`validator`](https://www.npmjs.com/package/validator). Otherwise, a very loose check is made on the format before being fully validate on the server. Defaults to `false`. | ||
@@ -356,0 +357,0 @@ #### Enterprise options |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
New author
Supply chain riskA new npm collaborator published a version of the package for the first time. New collaborators are usually benign additions to a project, but do indicate a change to the security surface area of a package.
Found 1 instance in 1 package
Environment variable access
Supply chain riskPackage accesses environment variables, which may be a sign of credential stuffing or data theft.
Found 3 instances in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
1945414
244
24005
685
68
11
1
338
0
0
0
4
+ Addedblueimp-md5@2.19.0(transitive)
+ Addedtrim@1.0.1(transitive)
- Removedblueimp-md5@2.3.1(transitive)
- Removedtrim@1.0.0(transitive)
Updatedauth0-js@^9.16.4
Updatedblueimp-md5@^2.18.0
Updatedpassword-sheriff@^1.1.1
Updatedtrim@^1.0.1