/
githubmirror
/
meteor
Обзор
Документация
Войти
/
githubmirror
/
meteor
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
devel
tools/isobuild/minifier-plugin.js
102 строки
2 KB
Evan Broder
Handle deleted PostCSS dependency files gracefully
11 фев 2026, 09:11
11 фев 2026, 09:11
1d738b5
Код
Авторство
О чём код?
import buildmessage from '../utils/buildmessage.js'; import { optimisticReadFile, optimisticHashOrNull, } from "../fs/optimistic"; import { convertToPosixPath } from '../fs/files'; const buildPluginModule = require('./build-plugin.js'); class InputFile extends buildPluginModule.InputFile { constructor(source, options = {}) { super(); this._source = source; this._arch = options.arch; this._watchSet = options.watchSet; this._minifiedFiles = []; } getContentsAsBuffer() { return this._source.contents(); } getPathInPackage() { throw new Error("Compiled files don't belong to any package"); } getPackageName() { throw new Error("Compiled files don't belong to any package"); } getSourceHash() { return this._source.hash(); } getArch() { return this._arch; } getSourcePath() { return this._source.sourcePath || null; } error({message, sourcePath, line, column, func}) { const relPath = this.getPathInBundle(); buildmessage.error(message || ('error minifying ' + relPath), { file: sourcePath || relPath, line: line ? line : undefined, column: column ? column : undefined, func: func ? func : undefined }); } /** * @summary Returns the path of the compiled file in the bundle. * @memberof InputFile * @returns {String} */ getPathInBundle() { return this._source.targetPath; } /** * @summary Returns the source-map associated with the file. * @memberof InputFile * @returns {String} */ getSourceMap() { return this._source.sourceMap; } } export class JsFile extends InputFile { // - data // - sourceMap // - path // - hash? // - stats? addJavaScript(options) { this._minifiedFiles.push({ ...options }); } } export class CssFile extends InputFile { // - data // - sourceMap // - path // - hash? // - stats? addStylesheet(options) { this._minifiedFiles.push({ ...options }); } readAndWatchFileWithHash(path) { const filePath = convertToPosixPath(path); const hash = optimisticHashOrNull(filePath); const contents = hash !== null ? optimisticReadFile(filePath) : null; this._watchSet.addFile(filePath, hash); return { hash, contents } } }