@@ -6,7 +6,7 @@ import type {
6
6
ObjectExpression ,
7
7
} from "@swc/core" ;
8
8
import { Config , SetupAst } from "../constants" ;
9
- import { output } from "../utils" ;
9
+ import { getRealSpan , output } from "../utils" ;
10
10
import { Visitor } from "@swc/core/Visitor.js" ;
11
11
import type MagicString from "magic-string" ;
12
12
@@ -46,13 +46,12 @@ function transformDirectives(
46
46
if ( c . type === "KeyValueProperty" && c . key . type !== "Computed" ) {
47
47
const key = String ( c . key . value ) ;
48
48
49
- const {
50
- span : { start, end } ,
51
- } = c . value as Identifier ;
49
+ const { span } = c . value as Identifier ;
52
50
51
+ const { start, end } = getRealSpan ( span , offset ) ;
53
52
p += `const v${
54
53
key . slice ( 0 , 1 ) . toLocaleUpperCase ( ) + key . slice ( 1 )
55
- } = ${ script . slice ( start - offset , end - offset ) } ;\n`;
54
+ } = ${ script . slice ( start , end ) } ;\n`;
56
55
}
57
56
58
57
return p ;
@@ -64,38 +63,27 @@ function transformDirectives(
64
63
this . ms = ms ;
65
64
}
66
65
visitImportDefaultSpecifier ( n : ImportDefaultSpecifier ) {
67
- const {
68
- value,
69
- span : { start, end } ,
70
- } = n . local ;
66
+ const { value, span } = n . local ;
67
+ const { start, end } = getRealSpan ( span , offset ) ;
71
68
if ( importDirective . includes ( value ) ) {
72
- this . ms . update (
73
- start - offset ,
74
- end - offset ,
75
- transformDirectiveName ( value ) ,
76
- ) ;
69
+ this . ms . update ( start , end , transformDirectiveName ( value ) ) ;
77
70
}
78
71
return n ;
79
72
}
80
73
visitNamedImportSpecifier ( n : NamedImportSpecifier ) {
81
74
const {
82
- local : { value, span : { start , end } } ,
75
+ local : { value, span } ,
83
76
imported,
84
77
} = n ;
85
78
if ( ! imported ) {
86
79
if ( importDirective . includes ( value ) ) {
87
- this . ms . appendRight (
88
- end - offset ,
89
- ` as ${ transformDirectiveName ( value ) } ` ,
90
- ) ;
80
+ const { end } = getRealSpan ( span , offset ) ;
81
+ this . ms . appendRight ( end , ` as ${ transformDirectiveName ( value ) } ` ) ;
91
82
}
92
83
} else {
93
84
if ( importDirective . includes ( value ) ) {
94
- this . ms . update (
95
- start - offset ,
96
- end - offset ,
97
- transformDirectiveName ( value ) ,
98
- ) ;
85
+ const { start, end } = getRealSpan ( span , offset ) ;
86
+ this . ms . update ( start , end , transformDirectiveName ( value ) ) ;
99
87
}
100
88
}
101
89
return n ;
@@ -104,13 +92,9 @@ function transformDirectives(
104
92
if ( ! customDirective ) {
105
93
return n ;
106
94
}
107
- const {
108
- span : { start } ,
109
- } = n ;
110
- this . ms . appendLeft (
111
- start - offset ,
112
- `// custom directive \n${ customDirective } ` ,
113
- ) ;
95
+
96
+ const { start } = getRealSpan ( n . span , offset ) ;
97
+ this . ms . appendLeft ( start , `// custom directive \n${ customDirective } ` ) ;
114
98
115
99
return n ;
116
100
}
0 commit comments