UNPKG

@descope/sdk-mixins

Version:
29 lines (25 loc) 1.41 kB
'use strict'; var sdkHelpers = require('@descope/sdk-helpers'); var loggerMixin = require('../loggerMixin/loggerMixin.js'); var constants = require('./constants.js'); var helpers = require('./helpers.js'); const injectNpmLibMixin = sdkHelpers.createSingletonMixin((superclass) => { const BaseClass = sdkHelpers.compose(loggerMixin.loggerMixin)(superclass); return class InjectNpmLibMixinClass extends BaseClass { get baseCdnUrl() { return this.getAttribute('base-cdn-url') || ''; } injectNpmLib(libName, version, filePath = '', overrides = [], integrity) { this.logger.debug(`Injecting npm lib: "${libName}" with version: "${version}"${integrity ? ' with SRI integrity check' : ''}`); return helpers.injectScriptWithFallbacks(helpers.generateLibUrls([...overrides, this.baseCdnUrl, ...constants.BASE_URLS], libName, version, filePath, integrity), (scriptData, existingScript) => { if (existingScript) { this.logger.error(`Existing script cannot be loaded: "${scriptData.url}"`); return; } this.logger.error(`Cannot load script from URL, Make sure this URL is valid and return the correct script: "${scriptData.url}"`); }); } }; }); exports.injectNpmLibMixin = injectNpmLibMixin; //# sourceMappingURL=injectNpmLibMixin.js.map