From bc34862060e551f04e2afab179e92915faeab93b Mon Sep 17 00:00:00 2001 From: Bjorn Lu <34116392+bluwy@users.noreply.github.com> Date: Tue, 9 Nov 2021 20:21:30 +0800 Subject: [PATCH] [fix] update preprocessor types (#6904) --- src/compiler/preprocess/index.ts | 11 +++++------ src/compiler/preprocess/types.ts | 8 ++++---- 2 files changed, 9 insertions(+), 10 deletions(-) diff --git a/src/compiler/preprocess/index.ts b/src/compiler/preprocess/index.ts index c2a8e3b7d2..ab2ede29e0 100644 --- a/src/compiler/preprocess/index.ts +++ b/src/compiler/preprocess/index.ts @@ -30,7 +30,7 @@ class PreprocessResult implements Source { get_location: ReturnType; - constructor(public source: string, public filename: string) { + constructor(public source: string, public filename?: string) { this.update_source({ string: source }); // preprocess source must be relative to itself or equal null @@ -179,10 +179,10 @@ async function process_tag( return { string, map, dependencies }; } -async function process_markup(filename: string, process: MarkupPreprocessor, source: Source) { +async function process_markup(process: MarkupPreprocessor, source: Source) { const processed = await process({ content: source.source, - filename + filename: source.filename }); if (processed) { @@ -206,8 +206,7 @@ export default async function preprocess( preprocessor: PreprocessorGroup | PreprocessorGroup[], options?: { filename?: string } ): Promise { - // @ts-ignore todo: doublecheck - const filename = (options && options.filename) || preprocessor.filename; // legacy + const filename: string | undefined = (options && options.filename) || (preprocessor as any).filename; // legacy const preprocessors = preprocessor ? (Array.isArray(preprocessor) ? preprocessor : [preprocessor]) : []; @@ -221,7 +220,7 @@ export default async function preprocess( // to make debugging easier = detect low-resolution sourcemaps in fn combine_mappings for (const process of markup) { - result.update_source(await process_markup(filename, process, result)); + result.update_source(await process_markup(process, result)); } for (const process of script) { diff --git a/src/compiler/preprocess/types.ts b/src/compiler/preprocess/types.ts index 4ac441b5e6..b1e605238d 100644 --- a/src/compiler/preprocess/types.ts +++ b/src/compiler/preprocess/types.ts @@ -7,7 +7,7 @@ export interface Source { source: string; get_location: (search: number) => Location; file_basename: string; - filename: string; + filename?: string; } export interface Processed { @@ -19,8 +19,8 @@ export interface Processed { export type MarkupPreprocessor = (options: { content: string; - filename: string; -}) => Processed | Promise; + filename?: string; +}) => Processed | void | Promise; export type Preprocessor = (options: { /** @@ -33,7 +33,7 @@ export type Preprocessor = (options: { */ markup: string; filename?: string; -}) => Processed | Promise; +}) => Processed | void | Promise; export interface PreprocessorGroup { markup?: MarkupPreprocessor;