@@ -21,6 +21,26 @@ function normalizeFileExt(ext: string, name?: string) {
2121 return name
2222}
2323
24+ async function getFFmpegPath ( options : Partial < CommandOptions > ) {
25+ if ( options . ffmpeg )
26+ return options . ffmpeg
27+
28+ try {
29+ const { installPackage } = await import ( '@antfu/install-pkg' )
30+ await installPackage ( '@ffmpeg-installer/ffmpeg' , {
31+ cwd : PACKAGE_ROOT ,
32+ silent : true ,
33+ preferOffline : true ,
34+ } )
35+
36+ const { default : ffmpeg } = await import ( '@ffmpeg-installer/ffmpeg' )
37+ return ffmpeg . path
38+ }
39+ catch {
40+ return 'ffmpeg'
41+ }
42+ }
43+
2444export async function resolveConfig ( command : string , options : Partial < CommandOptions > ) : Promise < ConfigOptions > {
2545 options = normalizeConfig ( options )
2646
@@ -86,7 +106,15 @@ export async function resolveConfig(command: string, options: Partial<CommandOpt
86106 const themeConfig = await loadTheme ( merged . theme , options . force ) as DeepRequired < ThemeConfig >
87107
88108 merged . port = await getPort ( { port : portNumbers ( options . port , options . port + 100 ) } )
109+
110+ // merge flat typed options
89111 merged . typedOptions = { ...DEFAULT_TYPED_OPTIONS , ...merged . typedOptions }
112+ if ( merged . typedSpeed )
113+ merged . typedOptions . speed = merged . typedSpeed
114+ if ( merged . typedInitialDelay )
115+ merged . typedOptions . initialDelay = merged . typedInitialDelay
116+ if ( merged . typedPauseAfter )
117+ merged . typedOptions . pauseAfter = merged . typedPauseAfter
90118
91119 // character width (approximate for monospace fonts)
92120 merged . fontAspectRatio = merged . fontAspectRatio ? Number ( merged . fontAspectRatio ) : 0.6
@@ -116,23 +144,3 @@ export async function resolveConfig(command: string, options: Partial<CommandOpt
116144 ...themeConfig ,
117145 } as ConfigOptions
118146}
119-
120- async function getFFmpegPath ( options : Partial < CommandOptions > ) {
121- if ( options . ffmpeg )
122- return options . ffmpeg
123-
124- try {
125- const { installPackage } = await import ( '@antfu/install-pkg' )
126- await installPackage ( '@ffmpeg-installer/ffmpeg' , {
127- cwd : PACKAGE_ROOT ,
128- silent : true ,
129- preferOffline : true ,
130- } )
131-
132- const { default : ffmpeg } = await import ( '@ffmpeg-installer/ffmpeg' )
133- return ffmpeg . path
134- }
135- catch {
136- return 'ffmpeg'
137- }
138- }
0 commit comments