1
- import type {
2
- AutoPreprocessGroup ,
3
- AutoPreprocessOptions ,
4
- PreprocessorGroup ,
5
- Preprocessor ,
6
- Processed ,
7
- TransformerArgs ,
8
- TransformerOptions ,
9
- Transformers ,
10
- } from './types' ;
11
1
import { hasDepInstalled , concat , setProp } from './modules/utils' ;
12
2
import { getTagInfo } from './modules/tagInfo' ;
13
3
import {
@@ -21,6 +11,17 @@ import {
21
11
import { prepareContent } from './modules/prepareContent' ;
22
12
import { transformMarkup } from './modules/markup' ;
23
13
14
+ import type {
15
+ AutoPreprocessGroup ,
16
+ AutoPreprocessOptions ,
17
+ PreprocessorGroup ,
18
+ Preprocessor ,
19
+ Processed ,
20
+ TransformerArgs ,
21
+ TransformerOptions ,
22
+ Transformers ,
23
+ } from './types' ;
24
+
24
25
export const transform = async (
25
26
name : string | null | undefined ,
26
27
options : TransformerOptions ,
@@ -122,59 +123,54 @@ export function sveltePreprocess(
122
123
return resolveLanguageArgs ( lang , alias ) ;
123
124
}
124
125
125
- const getTransformerTo = (
126
- type : 'markup' | 'script' | 'style' ,
127
- targetLanguage : string ,
128
- ) : Preprocessor => async ( svelteFile ) => {
129
- let {
130
- content ,
131
- markup,
132
- filename ,
133
- lang ,
134
- alias,
135
- dependencies ,
136
- attributes ,
137
- } = await getTagInfo ( svelteFile ) ;
126
+ const getTransformerTo =
127
+ (
128
+ type : 'markup' | 'script' | 'style' ,
129
+ targetLanguage : string ,
130
+ ) : Preprocessor =>
131
+ async ( svelteFile ) => {
132
+ let { content , markup, filename , lang , alias , dependencies , attributes } =
133
+ await getTagInfo ( svelteFile ) ;
134
+
135
+ if ( lang == null || alias == null ) {
136
+ alias = defaultLanguages [ type ] ;
137
+ lang = getLanguageFromAlias ( alias ) ;
138
+ }
138
139
139
- if ( lang == null || alias == null ) {
140
- alias = defaultLanguages [ type ] ;
141
- lang = getLanguageFromAlias ( alias ) ;
142
- }
140
+ if ( ( lang && preserve . includes ( lang ) ) || preserve . includes ( alias ) ) {
141
+ return { code : content } ;
142
+ }
143
143
144
- if ( ( lang && preserve . includes ( lang ) ) || preserve . includes ( alias ) ) {
145
- return { code : content } ;
146
- }
144
+ const transformerOptions = getTransformerOptions ( lang , alias ) ;
147
145
148
- const transformerOptions = getTransformerOptions ( lang , alias ) ;
146
+ content = prepareContent ( {
147
+ options : transformerOptions ,
148
+ content,
149
+ } ) ;
149
150
150
- content = prepareContent ( {
151
- options : transformerOptions ,
152
- content,
153
- } ) ;
151
+ if ( lang === targetLanguage ) {
152
+ // has override method for alias
153
+ // example: sugarss override should work apart from postcss
154
+ if ( typeof transformerOptions === 'function' && alias !== lang ) {
155
+ return transformerOptions ( { content, filename, attributes } ) ;
156
+ }
154
157
155
- if ( lang === targetLanguage ) {
156
- // has override method for alias
157
- // example: sugarss override should work apart from postcss
158
- if ( typeof transformerOptions === 'function' && alias !== lang ) {
159
- return transformerOptions ( { content, filename, attributes } ) ;
158
+ // otherwise, we're done here
159
+ return { code : content , dependencies } ;
160
160
}
161
161
162
- // otherwise, we're done here
163
- return { code : content , dependencies } ;
164
- }
165
-
166
- const transformed = await transform ( lang , transformerOptions , {
167
- content,
168
- markup,
169
- filename,
170
- attributes,
171
- } ) ;
162
+ const transformed = await transform ( lang , transformerOptions , {
163
+ content,
164
+ markup,
165
+ filename,
166
+ attributes,
167
+ } ) ;
172
168
173
- return {
174
- ...transformed ,
175
- dependencies : concat ( dependencies , transformed . dependencies ) ,
169
+ return {
170
+ ...transformed ,
171
+ dependencies : concat ( dependencies , transformed . dependencies ) ,
172
+ } ;
176
173
} ;
177
- } ;
178
174
179
175
const scriptTransformer = getTransformerTo ( 'script' , 'javascript' ) ;
180
176
const cssTransformer = getTransformerTo ( 'style' , 'css' ) ;
0 commit comments