@@ -6,7 +6,7 @@ import type {
66 ObjectExpression ,
77} from "@swc/core" ;
88import { Config , SetupAst } from "../constants" ;
9- import { output } from "../utils" ;
9+ import { getRealSpan , output } from "../utils" ;
1010import { Visitor } from "@swc/core/Visitor.js" ;
1111import type MagicString from "magic-string" ;
1212
@@ -46,13 +46,12 @@ function transformDirectives(
4646 if ( c . type === "KeyValueProperty" && c . key . type !== "Computed" ) {
4747 const key = String ( c . key . value ) ;
4848
49- const {
50- span : { start, end } ,
51- } = c . value as Identifier ;
49+ const { span } = c . value as Identifier ;
5250
51+ const { start, end } = getRealSpan ( span , offset ) ;
5352 p += `const v${
5453 key . slice ( 0 , 1 ) . toLocaleUpperCase ( ) + key . slice ( 1 )
55- } = ${ script . slice ( start - offset , end - offset ) } ;\n`;
54+ } = ${ script . slice ( start , end ) } ;\n`;
5655 }
5756
5857 return p ;
@@ -64,38 +63,27 @@ function transformDirectives(
6463 this . ms = ms ;
6564 }
6665 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 ) ;
7168 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 ) ) ;
7770 }
7871 return n ;
7972 }
8073 visitNamedImportSpecifier ( n : NamedImportSpecifier ) {
8174 const {
82- local : { value, span : { start , end } } ,
75+ local : { value, span } ,
8376 imported,
8477 } = n ;
8578 if ( ! imported ) {
8679 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 ) } ` ) ;
9182 }
9283 } else {
9384 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 ) ) ;
9987 }
10088 }
10189 return n ;
@@ -104,13 +92,9 @@ function transformDirectives(
10492 if ( ! customDirective ) {
10593 return n ;
10694 }
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 } ` ) ;
11498
11599 return n ;
116100 }
0 commit comments