123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 |
- "use strict";
- /*
- Copyright 2019 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.
- */
- var __importDefault = (this && this.__importDefault) || function (mod) {
- return (mod && mod.__esModule) ? mod : { "default": mod };
- };
- Object.defineProperty(exports, "__esModule", { value: true });
- exports.getSourcemapAssetName = void 0;
- const get_source_map_url_1 = require("workbox-build/build/lib/get-source-map-url");
- const upath_1 = __importDefault(require("upath"));
- /**
- * If our bundled swDest file contains a sourcemap, we would invalidate that
- * mapping if we just replaced injectionPoint with the stringified manifest.
- * Instead, we need to update the swDest contents as well as the sourcemap
- * at the same time.
- *
- * See https://github.com/GoogleChrome/workbox/issues/2235
- *
- * @param {Object} compilation The current webpack compilation.
- * @param {string} swContents The contents of the swSrc file, which may or
- * may not include a valid sourcemap comment.
- * @param {string} swDest The configured swDest value.
- * @return {string|undefined} If the swContents contains a valid sourcemap
- * comment pointing to an asset present in the compilation, this will return the
- * name of that asset. Otherwise, it will return undefined.
- *
- * @private
- */
- function getSourcemapAssetName(compilation, swContents, swDest) {
- const url = (0, get_source_map_url_1.getSourceMapURL)(swContents);
- if (url) {
- // Translate the relative URL to what the presumed name for the webpack
- // asset should be.
- // This *might* not be a valid asset if the sourcemap URL that was found
- // was added by another module incidentally.
- // See https://github.com/GoogleChrome/workbox/issues/2250
- const swAssetDirname = upath_1.default.dirname(swDest);
- const sourcemapURLAssetName = upath_1.default.normalize(upath_1.default.join(swAssetDirname, url));
- // Not sure if there's a better way to check for asset existence?
- if (compilation.getAsset(sourcemapURLAssetName)) {
- return sourcemapURLAssetName;
- }
- }
- return undefined;
- }
- exports.getSourcemapAssetName = getSourcemapAssetName;
|