/
lostSun
/
project-client-server-apps
Обзор
Документация
Войти
/
lostSun
/
project-client-server-apps
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
node_modules/workbox-webpack-plugin/src/lib/get-script-files-for-chunks.ts
51 строка
1 KB
1lostsun
initial commit
05 май 2025, 11:35
05 май 2025, 11:35
fe8f535
Код
Авторство
О чём код?
/* 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. */ import upath from 'upath'; import {Compilation, WebpackError} from 'webpack'; import {resolveWebpackURL} from './resolve-webpack-url'; export function getScriptFilesForChunks( compilation: Compilation, chunkNames: Array<string>, ): Array<string> { const {chunks} = compilation.getStats().toJson({chunks: true}); const {publicPath} = compilation.options.output; const scriptFiles = new Set<string>(); for (const chunkName of chunkNames) { const chunk = chunks!.find((chunk) => chunk.names?.includes(chunkName)); if (chunk) { for (const file of chunk?.files ?? []) { // See https://github.com/GoogleChrome/workbox/issues/2161 if (upath.extname(file) === '.js') { scriptFiles.add(resolveWebpackURL(publicPath as string, file)); } } } else { compilation.warnings.push( new Error( `${chunkName} was provided to ` + `importScriptsViaChunks, but didn't match any named chunks.`, ) as WebpackError, ); } } if (scriptFiles.size === 0) { compilation.warnings.push( new Error( `There were no assets matching ` + `importScriptsViaChunks: [${chunkNames.join(' ')}].`, ) as WebpackError, ); } return Array.from(scriptFiles); }