vite-awesome-svg-loader 2.0.1 → 2.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +7 -1
- package/declarations.d.ts +390 -77
- package/index.js +16 -7
- package/index.mjs +16 -7
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -78,8 +78,14 @@ import imageCurColorSrc from "./path/to/image.svg?set-current-color";
|
|
|
78
78
|
// @ts-ignore
|
|
79
79
|
import transformedImageUrl from "./path/to/image.svg?url&preserve-line-width&set-current-color";
|
|
80
80
|
|
|
81
|
-
//
|
|
81
|
+
// Explicitly disable any parameter by setting it to false. This takes precedence over config.
|
|
82
82
|
import initialLineWidthImageUrl from "./path/to/image.svg?url&preserve-line-width=false";
|
|
83
|
+
|
|
84
|
+
// Get classes and IDs prefix to target DOM elements later
|
|
85
|
+
import imageSrc, { prefix as imagePrefix } from "./path/to/image.svg";
|
|
86
|
+
|
|
87
|
+
// or:
|
|
88
|
+
import { src as imageSrc, prefix as imagePrefix } from "./path/to/image.svg";
|
|
83
89
|
```
|
|
84
90
|
|
|
85
91
|
5. Optional, but highly recommended. Configure loader, so you can import SVGs without URL parameters:
|
package/declarations.d.ts
CHANGED
|
@@ -1,77 +1,390 @@
|
|
|
1
|
-
declare module "*.svg
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
declare module "*.svg?
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
declare module "*.svg?
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
declare module "*.svg?source-data-uri
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
declare module "*.svg?base64
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
declare module "*.svg?
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
declare module "*.svg?
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
declare module "*.svg?
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
declare module "*.svg?
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
declare module "*.svg?url&
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
declare module "*.svg?
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
declare module "*.svg?
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
declare module "*.svg?
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
declare module "*.svg?source&
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
declare module "*.svg?source
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
declare module "*.svg?
|
|
77
|
-
|
|
1
|
+
declare module "*.svg" {
|
|
2
|
+
export const src: string;
|
|
3
|
+
export default src;
|
|
4
|
+
export const prefix: string
|
|
5
|
+
}
|
|
6
|
+
declare module "*.svg?url" {
|
|
7
|
+
export const src: string;
|
|
8
|
+
export default src;
|
|
9
|
+
export const prefix: string
|
|
10
|
+
}
|
|
11
|
+
declare module "*.svg?source" {
|
|
12
|
+
export const src: string;
|
|
13
|
+
export default src;
|
|
14
|
+
export const prefix: string
|
|
15
|
+
}
|
|
16
|
+
declare module "*.svg?source-data-uri" {
|
|
17
|
+
export const src: string;
|
|
18
|
+
export default src;
|
|
19
|
+
export const prefix: string
|
|
20
|
+
}
|
|
21
|
+
declare module "*.svg?base64" {
|
|
22
|
+
export const src: string;
|
|
23
|
+
export default src;
|
|
24
|
+
export const prefix: string
|
|
25
|
+
}
|
|
26
|
+
declare module "*.svg?base64-data-uri" {
|
|
27
|
+
export const src: string;
|
|
28
|
+
export default src;
|
|
29
|
+
export const prefix: string
|
|
30
|
+
}
|
|
31
|
+
declare module "*.svg?preserve-line-width" {
|
|
32
|
+
export const src: string;
|
|
33
|
+
export default src;
|
|
34
|
+
export const prefix: string
|
|
35
|
+
}
|
|
36
|
+
declare module "*.svg?preserve-line-width=true" {
|
|
37
|
+
export const src: string;
|
|
38
|
+
export default src;
|
|
39
|
+
export const prefix: string
|
|
40
|
+
}
|
|
41
|
+
declare module "*.svg?preserve-line-width=false" {
|
|
42
|
+
export const src: string;
|
|
43
|
+
export default src;
|
|
44
|
+
export const prefix: string
|
|
45
|
+
}
|
|
46
|
+
declare module "*.svg?url&preserve-line-width" {
|
|
47
|
+
export const src: string;
|
|
48
|
+
export default src;
|
|
49
|
+
export const prefix: string
|
|
50
|
+
}
|
|
51
|
+
declare module "*.svg?url&preserve-line-width=true" {
|
|
52
|
+
export const src: string;
|
|
53
|
+
export default src;
|
|
54
|
+
export const prefix: string
|
|
55
|
+
}
|
|
56
|
+
declare module "*.svg?url&preserve-line-width=false" {
|
|
57
|
+
export const src: string;
|
|
58
|
+
export default src;
|
|
59
|
+
export const prefix: string
|
|
60
|
+
}
|
|
61
|
+
declare module "*.svg?source&preserve-line-width" {
|
|
62
|
+
export const src: string;
|
|
63
|
+
export default src;
|
|
64
|
+
export const prefix: string
|
|
65
|
+
}
|
|
66
|
+
declare module "*.svg?source&preserve-line-width=true" {
|
|
67
|
+
export const src: string;
|
|
68
|
+
export default src;
|
|
69
|
+
export const prefix: string
|
|
70
|
+
}
|
|
71
|
+
declare module "*.svg?source&preserve-line-width=false" {
|
|
72
|
+
export const src: string;
|
|
73
|
+
export default src;
|
|
74
|
+
export const prefix: string
|
|
75
|
+
}
|
|
76
|
+
declare module "*.svg?source-data-uri&preserve-line-width" {
|
|
77
|
+
export const src: string;
|
|
78
|
+
export default src;
|
|
79
|
+
export const prefix: string
|
|
80
|
+
}
|
|
81
|
+
declare module "*.svg?source-data-uri&preserve-line-width=true" {
|
|
82
|
+
export const src: string;
|
|
83
|
+
export default src;
|
|
84
|
+
export const prefix: string
|
|
85
|
+
}
|
|
86
|
+
declare module "*.svg?source-data-uri&preserve-line-width=false" {
|
|
87
|
+
export const src: string;
|
|
88
|
+
export default src;
|
|
89
|
+
export const prefix: string
|
|
90
|
+
}
|
|
91
|
+
declare module "*.svg?base64&preserve-line-width" {
|
|
92
|
+
export const src: string;
|
|
93
|
+
export default src;
|
|
94
|
+
export const prefix: string
|
|
95
|
+
}
|
|
96
|
+
declare module "*.svg?base64&preserve-line-width=true" {
|
|
97
|
+
export const src: string;
|
|
98
|
+
export default src;
|
|
99
|
+
export const prefix: string
|
|
100
|
+
}
|
|
101
|
+
declare module "*.svg?base64&preserve-line-width=false" {
|
|
102
|
+
export const src: string;
|
|
103
|
+
export default src;
|
|
104
|
+
export const prefix: string
|
|
105
|
+
}
|
|
106
|
+
declare module "*.svg?base64-data-uri&preserve-line-width" {
|
|
107
|
+
export const src: string;
|
|
108
|
+
export default src;
|
|
109
|
+
export const prefix: string
|
|
110
|
+
}
|
|
111
|
+
declare module "*.svg?base64-data-uri&preserve-line-width=true" {
|
|
112
|
+
export const src: string;
|
|
113
|
+
export default src;
|
|
114
|
+
export const prefix: string
|
|
115
|
+
}
|
|
116
|
+
declare module "*.svg?base64-data-uri&preserve-line-width=false" {
|
|
117
|
+
export const src: string;
|
|
118
|
+
export default src;
|
|
119
|
+
export const prefix: string
|
|
120
|
+
}
|
|
121
|
+
declare module "*.svg?set-current-color" {
|
|
122
|
+
export const src: string;
|
|
123
|
+
export default src;
|
|
124
|
+
export const prefix: string
|
|
125
|
+
}
|
|
126
|
+
declare module "*.svg?set-current-color=true" {
|
|
127
|
+
export const src: string;
|
|
128
|
+
export default src;
|
|
129
|
+
export const prefix: string
|
|
130
|
+
}
|
|
131
|
+
declare module "*.svg?set-current-color=false" {
|
|
132
|
+
export const src: string;
|
|
133
|
+
export default src;
|
|
134
|
+
export const prefix: string
|
|
135
|
+
}
|
|
136
|
+
declare module "*.svg?url&set-current-color" {
|
|
137
|
+
export const src: string;
|
|
138
|
+
export default src;
|
|
139
|
+
export const prefix: string
|
|
140
|
+
}
|
|
141
|
+
declare module "*.svg?url&set-current-color=true" {
|
|
142
|
+
export const src: string;
|
|
143
|
+
export default src;
|
|
144
|
+
export const prefix: string
|
|
145
|
+
}
|
|
146
|
+
declare module "*.svg?url&set-current-color=false" {
|
|
147
|
+
export const src: string;
|
|
148
|
+
export default src;
|
|
149
|
+
export const prefix: string
|
|
150
|
+
}
|
|
151
|
+
declare module "*.svg?source&set-current-color" {
|
|
152
|
+
export const src: string;
|
|
153
|
+
export default src;
|
|
154
|
+
export const prefix: string
|
|
155
|
+
}
|
|
156
|
+
declare module "*.svg?source&set-current-color=true" {
|
|
157
|
+
export const src: string;
|
|
158
|
+
export default src;
|
|
159
|
+
export const prefix: string
|
|
160
|
+
}
|
|
161
|
+
declare module "*.svg?source&set-current-color=false" {
|
|
162
|
+
export const src: string;
|
|
163
|
+
export default src;
|
|
164
|
+
export const prefix: string
|
|
165
|
+
}
|
|
166
|
+
declare module "*.svg?source-data-uri&set-current-color" {
|
|
167
|
+
export const src: string;
|
|
168
|
+
export default src;
|
|
169
|
+
export const prefix: string
|
|
170
|
+
}
|
|
171
|
+
declare module "*.svg?source-data-uri&set-current-color=true" {
|
|
172
|
+
export const src: string;
|
|
173
|
+
export default src;
|
|
174
|
+
export const prefix: string
|
|
175
|
+
}
|
|
176
|
+
declare module "*.svg?source-data-uri&set-current-color=false" {
|
|
177
|
+
export const src: string;
|
|
178
|
+
export default src;
|
|
179
|
+
export const prefix: string
|
|
180
|
+
}
|
|
181
|
+
declare module "*.svg?base64&set-current-color" {
|
|
182
|
+
export const src: string;
|
|
183
|
+
export default src;
|
|
184
|
+
export const prefix: string
|
|
185
|
+
}
|
|
186
|
+
declare module "*.svg?base64&set-current-color=true" {
|
|
187
|
+
export const src: string;
|
|
188
|
+
export default src;
|
|
189
|
+
export const prefix: string
|
|
190
|
+
}
|
|
191
|
+
declare module "*.svg?base64&set-current-color=false" {
|
|
192
|
+
export const src: string;
|
|
193
|
+
export default src;
|
|
194
|
+
export const prefix: string
|
|
195
|
+
}
|
|
196
|
+
declare module "*.svg?base64-data-uri&set-current-color" {
|
|
197
|
+
export const src: string;
|
|
198
|
+
export default src;
|
|
199
|
+
export const prefix: string
|
|
200
|
+
}
|
|
201
|
+
declare module "*.svg?base64-data-uri&set-current-color=true" {
|
|
202
|
+
export const src: string;
|
|
203
|
+
export default src;
|
|
204
|
+
export const prefix: string
|
|
205
|
+
}
|
|
206
|
+
declare module "*.svg?base64-data-uri&set-current-color=false" {
|
|
207
|
+
export const src: string;
|
|
208
|
+
export default src;
|
|
209
|
+
export const prefix: string
|
|
210
|
+
}
|
|
211
|
+
declare module "*.svg?skip-transforms" {
|
|
212
|
+
export const src: string;
|
|
213
|
+
export default src;
|
|
214
|
+
export const prefix: string
|
|
215
|
+
}
|
|
216
|
+
declare module "*.svg?skip-transforms=true" {
|
|
217
|
+
export const src: string;
|
|
218
|
+
export default src;
|
|
219
|
+
export const prefix: string
|
|
220
|
+
}
|
|
221
|
+
declare module "*.svg?skip-transforms=false" {
|
|
222
|
+
export const src: string;
|
|
223
|
+
export default src;
|
|
224
|
+
export const prefix: string
|
|
225
|
+
}
|
|
226
|
+
declare module "*.svg?url&skip-transforms" {
|
|
227
|
+
export const src: string;
|
|
228
|
+
export default src;
|
|
229
|
+
export const prefix: string
|
|
230
|
+
}
|
|
231
|
+
declare module "*.svg?url&skip-transforms=true" {
|
|
232
|
+
export const src: string;
|
|
233
|
+
export default src;
|
|
234
|
+
export const prefix: string
|
|
235
|
+
}
|
|
236
|
+
declare module "*.svg?url&skip-transforms=false" {
|
|
237
|
+
export const src: string;
|
|
238
|
+
export default src;
|
|
239
|
+
export const prefix: string
|
|
240
|
+
}
|
|
241
|
+
declare module "*.svg?source&skip-transforms" {
|
|
242
|
+
export const src: string;
|
|
243
|
+
export default src;
|
|
244
|
+
export const prefix: string
|
|
245
|
+
}
|
|
246
|
+
declare module "*.svg?source&skip-transforms=true" {
|
|
247
|
+
export const src: string;
|
|
248
|
+
export default src;
|
|
249
|
+
export const prefix: string
|
|
250
|
+
}
|
|
251
|
+
declare module "*.svg?source&skip-transforms=false" {
|
|
252
|
+
export const src: string;
|
|
253
|
+
export default src;
|
|
254
|
+
export const prefix: string
|
|
255
|
+
}
|
|
256
|
+
declare module "*.svg?source-data-uri&skip-transforms" {
|
|
257
|
+
export const src: string;
|
|
258
|
+
export default src;
|
|
259
|
+
export const prefix: string
|
|
260
|
+
}
|
|
261
|
+
declare module "*.svg?source-data-uri&skip-transforms=true" {
|
|
262
|
+
export const src: string;
|
|
263
|
+
export default src;
|
|
264
|
+
export const prefix: string
|
|
265
|
+
}
|
|
266
|
+
declare module "*.svg?source-data-uri&skip-transforms=false" {
|
|
267
|
+
export const src: string;
|
|
268
|
+
export default src;
|
|
269
|
+
export const prefix: string
|
|
270
|
+
}
|
|
271
|
+
declare module "*.svg?base64&skip-transforms" {
|
|
272
|
+
export const src: string;
|
|
273
|
+
export default src;
|
|
274
|
+
export const prefix: string
|
|
275
|
+
}
|
|
276
|
+
declare module "*.svg?base64&skip-transforms=true" {
|
|
277
|
+
export const src: string;
|
|
278
|
+
export default src;
|
|
279
|
+
export const prefix: string
|
|
280
|
+
}
|
|
281
|
+
declare module "*.svg?base64&skip-transforms=false" {
|
|
282
|
+
export const src: string;
|
|
283
|
+
export default src;
|
|
284
|
+
export const prefix: string
|
|
285
|
+
}
|
|
286
|
+
declare module "*.svg?base64-data-uri&skip-transforms" {
|
|
287
|
+
export const src: string;
|
|
288
|
+
export default src;
|
|
289
|
+
export const prefix: string
|
|
290
|
+
}
|
|
291
|
+
declare module "*.svg?base64-data-uri&skip-transforms=true" {
|
|
292
|
+
export const src: string;
|
|
293
|
+
export default src;
|
|
294
|
+
export const prefix: string
|
|
295
|
+
}
|
|
296
|
+
declare module "*.svg?base64-data-uri&skip-transforms=false" {
|
|
297
|
+
export const src: string;
|
|
298
|
+
export default src;
|
|
299
|
+
export const prefix: string
|
|
300
|
+
}
|
|
301
|
+
declare module "*.svg?skip-awesome-svg-loader" {
|
|
302
|
+
export const src: string;
|
|
303
|
+
export default src;
|
|
304
|
+
export const prefix: string
|
|
305
|
+
}
|
|
306
|
+
declare module "*.svg?skip-awesome-svg-loader=true" {
|
|
307
|
+
export const src: string;
|
|
308
|
+
export default src;
|
|
309
|
+
export const prefix: string
|
|
310
|
+
}
|
|
311
|
+
declare module "*.svg?skip-awesome-svg-loader=false" {
|
|
312
|
+
export const src: string;
|
|
313
|
+
export default src;
|
|
314
|
+
export const prefix: string
|
|
315
|
+
}
|
|
316
|
+
declare module "*.svg?url&skip-awesome-svg-loader" {
|
|
317
|
+
export const src: string;
|
|
318
|
+
export default src;
|
|
319
|
+
export const prefix: string
|
|
320
|
+
}
|
|
321
|
+
declare module "*.svg?url&skip-awesome-svg-loader=true" {
|
|
322
|
+
export const src: string;
|
|
323
|
+
export default src;
|
|
324
|
+
export const prefix: string
|
|
325
|
+
}
|
|
326
|
+
declare module "*.svg?url&skip-awesome-svg-loader=false" {
|
|
327
|
+
export const src: string;
|
|
328
|
+
export default src;
|
|
329
|
+
export const prefix: string
|
|
330
|
+
}
|
|
331
|
+
declare module "*.svg?source&skip-awesome-svg-loader" {
|
|
332
|
+
export const src: string;
|
|
333
|
+
export default src;
|
|
334
|
+
export const prefix: string
|
|
335
|
+
}
|
|
336
|
+
declare module "*.svg?source&skip-awesome-svg-loader=true" {
|
|
337
|
+
export const src: string;
|
|
338
|
+
export default src;
|
|
339
|
+
export const prefix: string
|
|
340
|
+
}
|
|
341
|
+
declare module "*.svg?source&skip-awesome-svg-loader=false" {
|
|
342
|
+
export const src: string;
|
|
343
|
+
export default src;
|
|
344
|
+
export const prefix: string
|
|
345
|
+
}
|
|
346
|
+
declare module "*.svg?source-data-uri&skip-awesome-svg-loader" {
|
|
347
|
+
export const src: string;
|
|
348
|
+
export default src;
|
|
349
|
+
export const prefix: string
|
|
350
|
+
}
|
|
351
|
+
declare module "*.svg?source-data-uri&skip-awesome-svg-loader=true" {
|
|
352
|
+
export const src: string;
|
|
353
|
+
export default src;
|
|
354
|
+
export const prefix: string
|
|
355
|
+
}
|
|
356
|
+
declare module "*.svg?source-data-uri&skip-awesome-svg-loader=false" {
|
|
357
|
+
export const src: string;
|
|
358
|
+
export default src;
|
|
359
|
+
export const prefix: string
|
|
360
|
+
}
|
|
361
|
+
declare module "*.svg?base64&skip-awesome-svg-loader" {
|
|
362
|
+
export const src: string;
|
|
363
|
+
export default src;
|
|
364
|
+
export const prefix: string
|
|
365
|
+
}
|
|
366
|
+
declare module "*.svg?base64&skip-awesome-svg-loader=true" {
|
|
367
|
+
export const src: string;
|
|
368
|
+
export default src;
|
|
369
|
+
export const prefix: string
|
|
370
|
+
}
|
|
371
|
+
declare module "*.svg?base64&skip-awesome-svg-loader=false" {
|
|
372
|
+
export const src: string;
|
|
373
|
+
export default src;
|
|
374
|
+
export const prefix: string
|
|
375
|
+
}
|
|
376
|
+
declare module "*.svg?base64-data-uri&skip-awesome-svg-loader" {
|
|
377
|
+
export const src: string;
|
|
378
|
+
export default src;
|
|
379
|
+
export const prefix: string
|
|
380
|
+
}
|
|
381
|
+
declare module "*.svg?base64-data-uri&skip-awesome-svg-loader=true" {
|
|
382
|
+
export const src: string;
|
|
383
|
+
export default src;
|
|
384
|
+
export const prefix: string
|
|
385
|
+
}
|
|
386
|
+
declare module "*.svg?base64-data-uri&skip-awesome-svg-loader=false" {
|
|
387
|
+
export const src: string;
|
|
388
|
+
export default src;
|
|
389
|
+
export const prefix: string
|
|
390
|
+
}
|
package/index.js
CHANGED
|
@@ -495,6 +495,7 @@ function viteAwesomeSvgLoader(options = {}) {
|
|
|
495
495
|
let code = import_fs_extra.default.readFileSync(fullPath).toString();
|
|
496
496
|
let isFillSetOnRoot = false;
|
|
497
497
|
const nodesWithOrigColors = [];
|
|
498
|
+
const classesAndIdsPrefix = assetFileNameNoExt + "__";
|
|
498
499
|
let didTransform = false;
|
|
499
500
|
code = (0, import_svgo.optimize)(code, {
|
|
500
501
|
multipass: true,
|
|
@@ -504,7 +505,8 @@ function viteAwesomeSvgLoader(options = {}) {
|
|
|
504
505
|
params: {
|
|
505
506
|
prefixIds: true,
|
|
506
507
|
prefixClassNames: true,
|
|
507
|
-
prefix:
|
|
508
|
+
prefix: classesAndIdsPrefix,
|
|
509
|
+
delim: ""
|
|
508
510
|
}
|
|
509
511
|
},
|
|
510
512
|
{
|
|
@@ -548,27 +550,34 @@ function viteAwesomeSvgLoader(options = {}) {
|
|
|
548
550
|
importType = type;
|
|
549
551
|
}
|
|
550
552
|
}
|
|
553
|
+
const getExports = (src) => {
|
|
554
|
+
return [
|
|
555
|
+
`export const src = ${src};`,
|
|
556
|
+
`export const prefix = "${classesAndIdsPrefix}"`,
|
|
557
|
+
`export default src`
|
|
558
|
+
].join("\n");
|
|
559
|
+
};
|
|
551
560
|
switch (importType) {
|
|
552
561
|
case "source":
|
|
553
|
-
return "
|
|
562
|
+
return getExports("`" + escapeBackticks(code) + "`");
|
|
554
563
|
case "source-data-uri":
|
|
555
|
-
return "
|
|
564
|
+
return getExports("`data:image/svg+xml," + encodeURIComponent(code) + "`");
|
|
556
565
|
case "base64":
|
|
557
|
-
return "
|
|
566
|
+
return getExports("`" + escapeBackticks(toBase64(code)) + "`");
|
|
558
567
|
case "base64-data-uri":
|
|
559
|
-
return "
|
|
568
|
+
return getExports("`data:image/svg+xml;base64," + encodeURIComponent(toBase64(code)) + "`");
|
|
560
569
|
}
|
|
561
570
|
if (!isBuildMode) {
|
|
562
571
|
const assetUrl = mergedOptions.tempDir + assetRelPath;
|
|
563
572
|
import_fs_extra.default.outputFileSync(root + assetUrl, code);
|
|
564
|
-
return `
|
|
573
|
+
return getExports(`"${base + assetUrl}"`);
|
|
565
574
|
}
|
|
566
575
|
const assetId = this.emitFile({
|
|
567
576
|
type: "asset",
|
|
568
577
|
name: assetFileName,
|
|
569
578
|
source: code
|
|
570
579
|
});
|
|
571
|
-
return `
|
|
580
|
+
return getExports(`"__VITE_ASSET__${assetId}__"`);
|
|
572
581
|
}
|
|
573
582
|
};
|
|
574
583
|
}
|
package/index.mjs
CHANGED
|
@@ -462,6 +462,7 @@ function viteAwesomeSvgLoader(options = {}) {
|
|
|
462
462
|
let code = fs.readFileSync(fullPath).toString();
|
|
463
463
|
let isFillSetOnRoot = false;
|
|
464
464
|
const nodesWithOrigColors = [];
|
|
465
|
+
const classesAndIdsPrefix = assetFileNameNoExt + "__";
|
|
465
466
|
let didTransform = false;
|
|
466
467
|
code = optimize(code, {
|
|
467
468
|
multipass: true,
|
|
@@ -471,7 +472,8 @@ function viteAwesomeSvgLoader(options = {}) {
|
|
|
471
472
|
params: {
|
|
472
473
|
prefixIds: true,
|
|
473
474
|
prefixClassNames: true,
|
|
474
|
-
prefix:
|
|
475
|
+
prefix: classesAndIdsPrefix,
|
|
476
|
+
delim: ""
|
|
475
477
|
}
|
|
476
478
|
},
|
|
477
479
|
{
|
|
@@ -515,27 +517,34 @@ function viteAwesomeSvgLoader(options = {}) {
|
|
|
515
517
|
importType = type;
|
|
516
518
|
}
|
|
517
519
|
}
|
|
520
|
+
const getExports = (src) => {
|
|
521
|
+
return [
|
|
522
|
+
`export const src = ${src};`,
|
|
523
|
+
`export const prefix = "${classesAndIdsPrefix}"`,
|
|
524
|
+
`export default src`
|
|
525
|
+
].join("\n");
|
|
526
|
+
};
|
|
518
527
|
switch (importType) {
|
|
519
528
|
case "source":
|
|
520
|
-
return "
|
|
529
|
+
return getExports("`" + escapeBackticks(code) + "`");
|
|
521
530
|
case "source-data-uri":
|
|
522
|
-
return "
|
|
531
|
+
return getExports("`data:image/svg+xml," + encodeURIComponent(code) + "`");
|
|
523
532
|
case "base64":
|
|
524
|
-
return "
|
|
533
|
+
return getExports("`" + escapeBackticks(toBase64(code)) + "`");
|
|
525
534
|
case "base64-data-uri":
|
|
526
|
-
return "
|
|
535
|
+
return getExports("`data:image/svg+xml;base64," + encodeURIComponent(toBase64(code)) + "`");
|
|
527
536
|
}
|
|
528
537
|
if (!isBuildMode) {
|
|
529
538
|
const assetUrl = mergedOptions.tempDir + assetRelPath;
|
|
530
539
|
fs.outputFileSync(root + assetUrl, code);
|
|
531
|
-
return `
|
|
540
|
+
return getExports(`"${base + assetUrl}"`);
|
|
532
541
|
}
|
|
533
542
|
const assetId = this.emitFile({
|
|
534
543
|
type: "asset",
|
|
535
544
|
name: assetFileName,
|
|
536
545
|
source: code
|
|
537
546
|
});
|
|
538
|
-
return `
|
|
547
|
+
return getExports(`"__VITE_ASSET__${assetId}__"`);
|
|
539
548
|
}
|
|
540
549
|
};
|
|
541
550
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "vite-awesome-svg-loader",
|
|
3
|
-
"description": "Imports SVGs as source code, base64 and data URI. Preserves stroke width, replaces colors with currentColor. Optimizes SVGs with SVGO. Creates SVG sprites.",
|
|
3
|
+
"description": "Imports SVGs as source code, base64 and data URI. Preserves stroke width, replaces colors with currentColor or custom colors. Optimizes SVGs with SVGO. Creates SVG sprites.",
|
|
4
4
|
"keywords": [
|
|
5
5
|
"vite",
|
|
6
6
|
"svg",
|
|
@@ -27,7 +27,7 @@
|
|
|
27
27
|
"vite-awesome-svg-loader",
|
|
28
28
|
"svgo"
|
|
29
29
|
],
|
|
30
|
-
"version": "2.0
|
|
30
|
+
"version": "2.1.0",
|
|
31
31
|
"homepage": "https://github.com/matafokka/vite-awesome-svg-loader",
|
|
32
32
|
"repository": "https://github.com/matafokka/vite-awesome-svg-loader",
|
|
33
33
|
"license": "LGPL-2.1-or-later",
|