UNPKG

@injectable/webpack-service

Version:
51 lines (50 loc) 2.15 kB
import { InjectableContainer, Dependencies, Injectable } from "@injectable/core"; import { FileHostingService, Encoding, OnRequest } from "@injectable/file-hosting-service"; import { LogService } from "@injectable/log-service"; import { Configuration } from "webpack"; export declare class WebpackService extends Injectable<["WebpackService"], Dependencies<[FileHostingService, LogService<any, any>]>> { private resourceStore; private counter; prepare(): void; /** * registers an id for a compilation */ registerCompilationId(): number; /** * Sets a compilation to be compiled and then hosted. * @param injectableName creator injectable * @param compilationId id of the compilation * @param files files to compile * @param configuration webpack configuration * @param baseRoute base route to host the files on * @param encodings all possible encodings * @param onRequest callback to verify the file request */ setCompilation(injectableName: string, compilationId: number, files: { [filename: string]: string; }, configuration: Configuration, baseRoute: string, encodings: Array<Encoding>, onRequest?: OnRequest): void; /** * deletes a compilation and all hosted files assoicated with it * @param injectableName creator injectable * @param compilationId id of the compilation */ deleteCompilation(injectableName: string, compilationId: number): void; protected onClose(): void; protected removeResources(injectableName: string): void; private compileFiles; /** * * queue.length must be at least 1 * @param hash * @param compileRequests */ private compileQueue; private compile; } export { Configuration } from "webpack"; export { Encoding, OnRequest } from "@injectable/file-hosting-service"; export default class WebpackServiceContainer extends InjectableContainer<WebpackService> { typeNames: ["WebpackService"]; injectableClass: typeof WebpackService; dependencyTypeNames: ["FileHostingService", "LogService"]; }