1- import { IResolve } from ' ./app-paths'
2- import { QuasarConf } from ' ./configuration/conf'
3- import { DeepRequired , DeepNonNullable } from ' ts-essentials'
1+ import { IResolve } from " ./app-paths" ;
2+ import { QuasarConf } from " ./configuration/conf" ;
3+ import { DeepRequired , DeepNonNullable } from " ts-essentials" ;
44
55type QuasarConfProxy = DeepRequired < DeepNonNullable < QuasarConf > > ;
66type ExtractQuasarConfParameters <
77 FirstLevelKey extends keyof QuasarConfProxy ,
88 SecondLevelKey extends keyof QuasarConfProxy [ FirstLevelKey ] ,
99 MaybeFunction = QuasarConfProxy [ FirstLevelKey ] [ SecondLevelKey ]
10- > = MaybeFunction extends ( ...args : any ) => any
10+ > = MaybeFunction extends ( ...args : any ) => any
1111 ? Parameters < MaybeFunction >
1212 : never ;
1313
14- type chainWebpack = ( fn : ( ...args : [ ...ExtractQuasarConfParameters < "build" , "chainWebpack" > , IndexAPI ] ) => void ) => void ,
15- type extendWebpack = ( fn : ( ...args : [ ...ExtractQuasarConfParameters < "build" , "extendWebpack" > , IndexAPI ] ) => void ) => void ,
14+ type chainWebpack = (
15+ fn : (
16+ ...args : [ ...ExtractQuasarConfParameters < "build" , "chainWebpack" > , IndexAPI ]
17+ ) => void
18+ ) => void ;
19+ type extendWebpack = (
20+ fn : (
21+ ...args : [
22+ ...ExtractQuasarConfParameters < "build" , "extendWebpack" > ,
23+ IndexAPI
24+ ]
25+ ) => void
26+ ) => void ;
1627
17- type getPersistentConf = ( ) => Record < string , unknown >
18- type hasExtension = ( extId : string ) => boolean
28+ type getPersistentConf = ( ) => Record < string , unknown > ;
29+ type hasExtension = ( extId : string ) => boolean ;
1930
2031interface SharedAPI {
21- extId : string
22- prompts : Record < string , unknown >
23- resolve : IResolve ,
24- appDir : string ,
25- getPersistentConf : getPersistentConf ,
26- setPersistentConf : ( cfg : Record < string , unknown > ) => void ,
27- mergePersistentConf : ( cfg : Record < string , unknown > ) => void ,
28- compatibleWith : ( packageName : string , semverCondition ?: string ) => void ,
29- hasPackage : ( packageName : string , semverCondition ?: string ) => boolean ,
30- hasExtension : hasExtension ,
31- getPackageVersion : ( packageName : string ) => string | undefined ,
32+ extId : string ;
33+ prompts : Record < string , unknown > ;
34+ resolve : IResolve ;
35+ appDir : string ;
36+ getPersistentConf : getPersistentConf ;
37+ setPersistentConf : ( cfg : Record < string , unknown > ) => void ;
38+ mergePersistentConf : ( cfg : Record < string , unknown > ) => void ;
39+ compatibleWith : ( packageName : string , semverCondition ?: string ) => void ;
40+ hasPackage : ( packageName : string , semverCondition ?: string ) => boolean ;
41+ hasExtension : hasExtension ;
42+ getPackageVersion : ( packageName : string ) => string | undefined ;
3243}
3344
3445export interface IndexAPI extends SharedAPI {
35- extendQuasarConf : ( cfg : QuasarConf , api : IndexAPI ) => void ,
36- chainWebpack : chainWebpack ,
37- extendWebpack : extendWebpack ,
38- chainWebpackMainElectronProcess : chainWebpack
39- extendWebpackMainElectronProcess : extendWebpack
40- chainWebpackPreloadElectronProcess : chainWebpack
41- extendWebpackPreloadElectronProcess : extendWebpack ,
42- chainWebpackWebserver : chainWebpack
43- extendWebpackWebserver : extendWebpack ,
44- chainWebpackCustomSW : chainWebpack
45- extendWebpackCustomSW : extendWebpack ,
46- registerCommand : ( commandName : string , fn : { args : string [ ] , params : Record < string , any > } ) => void ,
47- registerDescribeApi : ( name : string , relativePath : string ) => void ,
48- beforeDev : ( api : IndexAPI , payload : { quasarConf : QuasarConf } ) => Promise < void > | void ,
49- afterDev : ( api : IndexAPI , payload : { quasarConf : QuasarConf } ) => Promise < void > | void ,
50- beforeBuild : ( api : IndexAPI , payload : { quasarConf : QuasarConf } ) => Promise < void > | void ,
51- afterBuild : ( api : IndexAPI , payload : { quasarConf : QuasarConf } ) => Promise < void > | void ,
52- onPublish : ( api : IndexAPI , opts : { arg : string , distDir : string } ) => Promise < void > | void ,
46+ extendQuasarConf : ( cfg : QuasarConf , api : IndexAPI ) => void ;
47+ chainWebpack : chainWebpack ;
48+ extendWebpack : extendWebpack ;
49+ chainWebpackMainElectronProcess : chainWebpack ;
50+ extendWebpackMainElectronProcess : extendWebpack ;
51+ chainWebpackPreloadElectronProcess : chainWebpack ;
52+ extendWebpackPreloadElectronProcess : extendWebpack ;
53+ chainWebpackWebserver : chainWebpack ;
54+ extendWebpackWebserver : extendWebpack ;
55+ chainWebpackCustomSW : chainWebpack ;
56+ extendWebpackCustomSW : extendWebpack ;
57+ registerCommand : (
58+ commandName : string ,
59+ fn : { args : string [ ] ; params : Record < string , any > }
60+ ) => void ;
61+ registerDescribeApi : ( name : string , relativePath : string ) => void ;
62+ beforeDev : (
63+ api : IndexAPI ,
64+ payload : { quasarConf : QuasarConf }
65+ ) => Promise < void > | void ;
66+ afterDev : (
67+ api : IndexAPI ,
68+ payload : { quasarConf : QuasarConf }
69+ ) => Promise < void > | void ;
70+ beforeBuild : (
71+ api : IndexAPI ,
72+ payload : { quasarConf : QuasarConf }
73+ ) => Promise < void > | void ;
74+ afterBuild : (
75+ api : IndexAPI ,
76+ payload : { quasarConf : QuasarConf }
77+ ) => Promise < void > | void ;
78+ onPublish : (
79+ api : IndexAPI ,
80+ opts : { arg : string ; distDir : string }
81+ ) => Promise < void > | void ;
5382}
5483
55- type onExitLog = ( msg : string ) => void
84+ type onExitLog = ( msg : string ) => void ;
5685export interface InstallAPI extends SharedAPI {
57- extendPackageJson : ( extPkg : object | string ) => void ,
58- extendJsonFile : ( file : string , newData : object ) => void ,
59- render : ( templatePath : string , scope ?: object ) => void ,
60- renderFile : ( relativeSourcePath : string , relativeTargetPath : string , scope ?: object ) => void ,
61- onExitLog : onExitLog
86+ extendPackageJson : ( extPkg : object | string ) => void ;
87+ extendJsonFile : ( file : string , newData : object ) => void ;
88+ render : ( templatePath : string , scope ?: object ) => void ;
89+ renderFile : (
90+ relativeSourcePath : string ,
91+ relativeTargetPath : string ,
92+ scope ?: object
93+ ) => void ;
94+ onExitLog : onExitLog ;
6295}
6396
6497export interface UninstallAPI {
65- getPersistentConf : getPersistentConf ,
66- hasExtension : hasExtension
67- removePath : ( __path : string ) => void ,
68- onExitLog : onExitLog
69- }
98+ getPersistentConf : getPersistentConf ;
99+ hasExtension : hasExtension ;
100+ removePath : ( __path : string ) => void ;
101+ onExitLog : onExitLog ;
102+ }
0 commit comments