123456789101112131415161718192021222324252627282930313233343536373839404142434445 |
- "use strict";
- /*
- Copyright 2018 Google LLC
- Use of this source code is governed by an MIT-style
- license that can be found in the LICENSE file or at
- https://opensource.org/licenses/MIT.
- */
- const assert = require('assert');
- const cdn = require('../cdn-details.json');
- const errors = require('./errors');
- const getCDNOrigin = () => {
- return `${cdn.origin}/${cdn.bucketName}/${cdn.releasesDir}`;
- };
- const getVersionedCDNURL = () => {
- return `${getCDNOrigin()}/${cdn.latestVersion}`;
- };
- const getModuleURL = (moduleName, buildType) => {
- assert(moduleName, errors['no-module-name']);
- if (buildType) {
- const pkgJson = require(`${moduleName}/package.json`);
- if (buildType === 'dev' && pkgJson.workbox.prodOnly) {
- // This is not due to a public-facing exception, so just throw an Error(),
- // without creating an entry in errors.js.
- throw Error(`The 'dev' build of ${moduleName} is not available.`);
- }
- return `${getVersionedCDNURL()}/${moduleName}.${buildType.slice(0, 4)}.js`;
- }
- return `${getVersionedCDNURL()}/${moduleName}.js`;
- };
- module.exports = {
- getCDNOrigin,
- getModuleURL
- };
|