SYMBOL INDEX (159 symbols across 34 files) FILE: jest.config.ts constant EXCLUDE_PATHS (line 6) | const EXCLUDE_PATHS = new Set(['class-transformer/cjs/storage']); FILE: lib/const.ts constant DEFAULT_LOCALE_KEY (line 1) | const DEFAULT_LOCALE_KEY = ''; FILE: lib/features/default-tags.ts class SetDefaultTags (line 5) | class SetDefaultTags extends Feature { method apply (line 8) | public apply({ hooks }: UserscriptPluginInstance): void { FILE: lib/features/feature.ts method constructor (line 4) | public constructor(public readonly options: Options) {} FILE: lib/features/fix-tags.ts class FixTags (line 4) | class FixTags extends Feature { method apply (line 17) | public apply({ hooks }: UserscriptPluginInstance): void { FILE: lib/features/interpolater.ts class Interpolater (line 9) | class Interpolater extends Feature { method apply (line 12) | public apply({ hooks }: UserscriptPluginInstance): void { method getVariables (line 26) | private getVariables({ method interpolate (line 60) | private interpolate( FILE: lib/features/load-headers/impl.ts type HeadersOption (line 17) | type HeadersOption = HeadersProps | HeadersFile | HeadersProvider; type LoadHeadersOptions (line 19) | interface LoadHeadersOptions { class LoadHeaders (line 25) | class LoadHeaders extends Feature { method apply (line 33) | public apply({ hooks }: UserscriptPluginInstance): void { method addLoader (line 65) | private addLoader(locale: string, headersOption: HeadersOption): void { method provideHeaders (line 84) | private async provideHeaders(ctx: WaterfallContext): Promise { type HeadersProvider (line 64) | type HeadersProvider = ( class ProviderLoader (line 69) | class ProviderLoader { method constructor (line 70) | public constructor(private provider: HeadersProvider) {} method load (line 72) | public async load( type PackageInfo (line 80) | interface PackageInfo { class PackageLoader (line 89) | class PackageLoader { method constructor (line 92) | public constructor(private root?: string) {} method load (line 94) | public async load(compiler: Compiler): Promise { FILE: lib/features/proxy-script.ts type ProxyScriptFeatureOptions (line 6) | interface ProxyScriptFeatureOptions { type ProxyScriptOptions (line 11) | interface ProxyScriptOptions { class ProcessProxyScript (line 15) | class ProcessProxyScript extends Feature { method apply (line 18) | public apply({ hooks }: UserscriptPluginInstance): void { FILE: lib/features/render-headers.ts type RenderHeadersOptions (line 12) | interface RenderHeadersOptions { class RenderHeaders (line 20) | class RenderHeaders extends Feature { method apply (line 23) | public apply({ hooks }: UserscriptPluginInstance): void { method mergeHeadersMap (line 35) | private mergeHeadersMap(headersMap: Map): Header... method render (line 49) | private render( method renderTag (line 94) | protected renderTag(tag: TagType, value: ValueType): string[][] { method getTagName (line 114) | private getTagName(tag: string): string { FILE: lib/features/resolve-base-urls.ts type ResolveBaseURLsOptions (line 6) | interface ResolveBaseURLsOptions { class ResolveBaseURLs (line 12) | class ResolveBaseURLs extends Feature { method apply (line 15) | public apply({ hooks }: UserscriptPluginInstance): void { FILE: lib/features/ssri.ts type RawSSRILock (line 25) | type RawSSRILock = Record; type SSRILock (line 26) | type SSRILock = Record; type SSRIAlgorithm (line 28) | type SSRIAlgorithm = 'sha256' | 'sha384' | 'sha512'; type SSRITag (line 30) | type SSRITag = 'require' | 'resource'; type URLFilter (line 32) | type URLFilter = (tag: SSRITag, value: URL) => boolean; type SSRIFeatureOptions (line 34) | interface SSRIFeatureOptions { type SSRIOptions (line 43) | interface SSRIOptions { class ProcessSSRI (line 48) | class ProcessSSRI extends Feature { method apply (line 62) | public apply({ hooks }: UserscriptPluginInstance): void { method getSSRILockFile (line 182) | private getSSRILockFile({ lock = true }: SSRIFeatureOptions = {}): method getTargetURLs (line 192) | private getTargetURLs( method normalizeURL (line 225) | private normalizeURL(url: string): string { method filterURL (line 232) | private filterURL( method computeSSRI (line 252) | private async computeSSRI( method parseSSRILike (line 272) | private parseSSRILike(url: string): string { method parseSSRILock (line 276) | private parseSSRILock(rawSSRILock: RawSSRILock): SSRILock { method toRawSSRILock (line 285) | private toRawSSRILock(ssriLock: SSRILock): RawSSRILock { method parseURL (line 294) | private parseURL(url: string): URL { method stringifyURL (line 298) | private stringifyURL(url: URL): string { method updateURL (line 302) | private updateURL(url: string, ssriLock: SSRILock): string { method patchHeaders (line 313) | private patchHeaders( FILE: lib/features/validate-headers/headers.ts type ValidationGroup (line 26) | enum ValidationGroup { class Compatibility (line 35) | class Compatibility implements CompatibilityValue { class Headers (line 54) | class Headers implements StrictHeadersProps { FILE: lib/features/validate-headers/impl.ts type HeadersValidatorOptions (line 9) | interface HeadersValidatorOptions { type HeaderClass (line 14) | type HeaderClass = { new (): object }; type ValidateHeadersOptions (line 16) | interface ValidateHeadersOptions extends HeadersValidatorOptions { class ValidateHeaders (line 21) | class ValidateHeaders extends Feature { method apply (line 24) | public apply({ hooks }: UserscriptPluginInstance): void { method validateHeaders (line 38) | private validateHeaders( FILE: lib/features/validate-headers/utils.ts type GroupsOptions (line 7) | interface GroupsOptions { type Validator (line 11) | type Validator = (options?: GroupsOptions) => PropertyDecorator; type ValidatorFactory (line 12) | type ValidatorFactory = (...args: T) => Validator; FILE: lib/fs.ts type Stats (line 8) | interface Stats { type FsStat (line 13) | interface FsStat { type FsReadFile (line 17) | interface FsReadFile { type FsWriteFile (line 24) | interface FsWriteFile { type FsMkdir (line 32) | interface FsMkdir { function findPackage (line 40) | async function findPackage(cwd: string, fs: FsStat): Promise { function readJSON (line 61) | async function readJSON(file: string, fs: FsReadFile): Promise { function writeJSON (line 68) | async function writeJSON( function mkdirp (line 77) | async function mkdirp( FILE: lib/plugin.ts type UserscriptPluginOptions (line 40) | interface UserscriptPluginOptions { type UserscriptOptions (line 47) | type UserscriptOptions = LoadHeadersOptions & class UserscriptPlugin (line 55) | class UserscriptPlugin method constructor (line 95) | public constructor(options: UserscriptOptions = {}) { method apply (line 114) | public apply(compiler: Compiler): void { method init (line 157) | private async init(compiler: Compiler): Promise { method close (line 161) | private async close(compiler: Compiler): Promise { method preprocess (line 165) | private async preprocess(compilation: Compilation): Promise { method process (line 178) | private async process(compilation: Compilation): Promise { method collectFileInfo (line 201) | private collectFileInfo(compilation: Compilation): FileInfo[] { method emitUserscript (line 248) | private async emitUserscript( FILE: lib/types.ts type SingleValue (line 8) | type SingleValue = string | undefined; type MultiValue (line 9) | type MultiValue = SingleValue | SingleValue[]; type NamedValue (line 10) | type NamedValue = Record; type SwitchValue (line 11) | type SwitchValue = boolean; type TagType (line 13) | type TagType = string; type ValueType (line 14) | type ValueType = type EnumValue (line 21) | type EnumValue = T | `${T}`; type RunAt (line 23) | enum RunAt { type Sandbox (line 31) | enum Sandbox { type InjectInto (line 37) | enum InjectInto { type CompatibilityValue (line 43) | interface CompatibilityValue extends NamedValue { type StrictHeadersProps (line 51) | interface StrictHeadersProps { type HeadersProps (line 93) | interface HeadersProps extends StrictHeadersProps { type FileInfo (line 97) | interface FileInfo { type CompilationContext (line 109) | interface CompilationContext { type WaterfallContext (line 115) | interface WaterfallContext { type UserscriptPluginInstance (line 123) | interface UserscriptPluginInstance { FILE: lib/utils.ts function date (line 7) | function date(): Date { function applyDecorators (line 15) | function applyDecorators( function MutuallyExclusive (line 40) | function MutuallyExclusive( function IsRecord (line 99) | function IsRecord( FILE: test/integration/default-tags/fixtures.ts class Fixtures (line 3) | class Fixtures extends GlobalFixtures { FILE: test/integration/fix-tags/fixtures.ts class Fixtures (line 3) | class Fixtures extends GlobalFixtures { FILE: test/integration/fixtures.ts constant FIXTURES_DIR (line 6) | const FIXTURES_DIR = path.join(__dirname, 'fixtures'); class GlobalFixtures (line 19) | class GlobalFixtures { method entryUserJs (line 42) | public static entryUserJs(headers: string): string { FILE: test/integration/general/fixtures.ts class Fixtures (line 3) | class Fixtures extends GlobalFixtures {} FILE: test/integration/headers/fixtures.ts type TagSample (line 5) | interface TagSample { type TagCase (line 10) | interface TagCase { class Fixtures (line 15) | class Fixtures extends GlobalFixtures { FILE: test/integration/headers/index.test.ts class EmptyHeaders (line 93) | class EmptyHeaders {} FILE: test/integration/i18n/fixtures.ts class Fixtures (line 3) | class Fixtures extends GlobalFixtures { FILE: test/integration/interpolater/fixtures.ts class Fixtures (line 3) | class Fixtures extends GlobalFixtures {} FILE: test/integration/load-headers/fixtures.ts class Fixtures (line 5) | class Fixtures extends GlobalFixtures { method headersJson (line 7) | public static get headersJson(): string { FILE: test/integration/multi-entry/fixtures.ts class Fixtures (line 3) | class Fixtures extends GlobalFixtures { FILE: test/integration/package-json/fixtures.ts class Fixtures (line 3) | class Fixtures extends GlobalFixtures { FILE: test/integration/proxy-script/fixtures.ts class Fixtures (line 3) | class Fixtures extends GlobalFixtures { FILE: test/integration/resolve-base-urls/fixtures.ts class Fixtures (line 3) | class Fixtures extends GlobalFixtures { FILE: test/integration/ssri/fixtures.ts class Fixtures (line 8) | class Fixtures extends GlobalFixtures { method ssriLockJson (line 12) | public static get ssriLockJson(): (data: any) => string { method ssriHeaders (line 20) | public static get ssriHeaders(): (data: any) => string { method filtersSSRIHeaders (line 28) | public static get filtersSSRIHeaders(): (data: any) => string { method filtersSSRILockJson (line 36) | public static get filtersSSRILockJson(): (data: any) => string { method algorithmsSSRIHeaders (line 44) | public static get algorithmsSSRIHeaders(): (data: any) => string { method algorithmsSSRILockJson (line 52) | public static get algorithmsSSRILockJson(): (data: any) => string { method multiAlgorithmsSSRILockJson (line 60) | public static get multiAlgorithmsSSRILockJson(): (data: any) => string { method unsupportedProtocolsHeaders (line 68) | public static get unsupportedProtocolsHeaders(): (data: any) => string { FILE: test/integration/util.ts constant GLOBAL_FIXTURES_DIR (line 12) | const GLOBAL_FIXTURES_DIR = path.join(__dirname, 'fixtures'); type CompilerFileSystems (line 14) | interface CompilerFileSystems { type IntermediateFileSystem (line 18) | type IntermediateFileSystem = Compiler['intermediateFileSystem']; function compile (line 20) | async function compile( type WatchStep (line 52) | interface WatchStep { function watchCompile (line 62) | async function watchCompile( type ServeStatic (line 149) | interface ServeStatic { function servceStatic (line 154) | async function servceStatic(root: string): Promise { function escapeRegex (line 169) | function escapeRegex(str: string): string { function findTags (line 173) | function findTags( function template (line 185) | function template>( function readJSON (line 196) | function readJSON(vol: Volume, file: string): unknown {