@@ -3,27 +3,25 @@ import { imports, vite } from '@sveltejs/cli-core/js';
3
3
import { parseCss , parseJson , parseScript , parseSvelte } from '@sveltejs/cli-core/parsers' ;
4
4
import { addSlot } from '@sveltejs/cli-core/html' ;
5
5
6
- function typedEntries < T extends Record < string , any > > ( obj : T ) : Array < [ keyof T , T [ keyof T ] ] > {
7
- return Object . entries ( obj ) as Array < [ keyof T , T [ keyof T ] ] > ;
8
- }
9
-
10
- const plugins = {
11
- typography : {
6
+ const plugins = [
7
+ {
8
+ id : 'typography' ,
12
9
package : '@tailwindcss/typography' ,
13
10
version : '^0.5.15'
14
11
} ,
15
- forms : {
12
+ {
13
+ id : 'forms' ,
16
14
package : '@tailwindcss/forms' ,
17
15
version : '^0.5.9'
18
16
}
19
- } as const ;
17
+ ] as const ;
20
18
21
19
const options = defineAddonOptions ( )
22
20
. add ( 'plugins' , {
23
21
type : 'multiselect' ,
24
22
question : 'Which plugins would you like to add?' ,
25
- options : typedEntries ( plugins ) . map ( ( [ id , p ] ) => ( { value : id , label : id , hint : p . package } ) ) ,
26
- default : [ ] as Array < keyof typeof plugins > ,
23
+ options : plugins . map ( ( p ) => ( { value : p . id , label : p . id , hint : p . package } ) ) ,
24
+ default : [ ] as Array < ( typeof plugins ) [ number ] [ 'id' ] > ,
27
25
required : false
28
26
} )
29
27
. build ( ) ;
@@ -42,8 +40,8 @@ export default defineAddon({
42
40
43
41
if ( prettierInstalled ) sv . devDependency ( 'prettier-plugin-tailwindcss' , '^0.6.11' ) ;
44
42
45
- for ( const [ id , plugin ] of typedEntries ( plugins ) ) {
46
- if ( ! options . plugins . includes ( id ) ) continue ;
43
+ for ( const plugin of plugins ) {
44
+ if ( ! options . plugins . includes ( plugin . id ) ) continue ;
47
45
48
46
sv . devDependency ( plugin . package , plugin . version ) ;
49
47
}
@@ -81,8 +79,8 @@ export default defineAddon({
81
79
const lastAtRule = atRules . findLast ( ( rule ) => [ 'plugin' , 'import' ] . includes ( rule . name ) ) ;
82
80
const pluginPos = lastAtRule ! . source ! . end ! . offset ;
83
81
84
- for ( const [ id , plugin ] of typedEntries ( plugins ) ) {
85
- if ( ! options . plugins . includes ( id ) ) continue ;
82
+ for ( const plugin of plugins ) {
83
+ if ( ! options . plugins . includes ( plugin . id ) ) continue ;
86
84
87
85
const pluginRule = findAtRule ( 'plugin' , plugin . package ) ;
88
86
if ( ! pluginRule ) {
0 commit comments