1
1
import path from 'path'
2
2
import slash from 'slash'
3
3
import hash from 'hash-sum'
4
- import { parse , SFCDescriptor } from '@vue/compiler-sfc'
4
+ import { CompilerError , parse , SFCDescriptor } from '@vue/compiler-sfc'
5
+
6
+ // node_modules/@vue /compiler-sfc/dist/compiler-sfc.d.ts SFCParseResult should be exported so it can be re-used
7
+ export interface SFCParseResult {
8
+ descriptor : SFCDescriptor
9
+ errors : Array < CompilerError | SyntaxError >
10
+ }
5
11
6
12
const cache = new Map < string , SFCDescriptor > ( )
7
13
const prevCache = new Map < string , SFCDescriptor | undefined > ( )
@@ -11,7 +17,7 @@ export function createDescriptor(
11
17
source : string ,
12
18
root : string ,
13
19
isProduction : boolean | undefined
14
- ) {
20
+ ) : SFCParseResult {
15
21
const { descriptor, errors } = parse ( source , {
16
22
filename,
17
23
sourceMap : true
@@ -26,15 +32,21 @@ export function createDescriptor(
26
32
return { descriptor, errors }
27
33
}
28
34
29
- export function getPrevDescriptor ( filename : string ) {
35
+ export function getPrevDescriptor ( filename : string ) : SFCDescriptor | undefined {
30
36
return prevCache . get ( filename )
31
37
}
32
38
33
- export function setPrevDescriptor ( filename : string , entry : SFCDescriptor ) {
39
+ export function setPrevDescriptor (
40
+ filename : string ,
41
+ entry : SFCDescriptor
42
+ ) : void {
34
43
prevCache . set ( filename , entry )
35
44
}
36
45
37
- export function getDescriptor ( filename : string , errorOnMissing = true ) {
46
+ export function getDescriptor (
47
+ filename : string ,
48
+ errorOnMissing = true
49
+ ) : SFCDescriptor | undefined {
38
50
if ( cache . has ( filename ) ) {
39
51
return cache . get ( filename ) !
40
52
}
@@ -46,6 +58,6 @@ export function getDescriptor(filename: string, errorOnMissing = true) {
46
58
}
47
59
}
48
60
49
- export function setDescriptor ( filename : string , entry : SFCDescriptor ) {
61
+ export function setDescriptor ( filename : string , entry : SFCDescriptor ) : void {
50
62
cache . set ( filename , entry )
51
63
}
0 commit comments