@injectable/webpack-service
Version:
service for compiling strings to js
51 lines (50 loc) • 2.15 kB
TypeScript
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"];
}