1
1
import { defineAdder , defineAdderOptions } from '@sveltejs/cli-core' ;
2
2
import { imports } from '@sveltejs/cli-core/js' ;
3
- import { parseScript } from '@sveltejs/cli-core/parsers' ;
3
+ import { parseSvelte } from '@sveltejs/cli-core/parsers' ;
4
4
5
5
export const options = defineAdderOptions ( {
6
- demo : {
7
- question : 'Do you want to use a demo?' ,
8
- type : 'boolean' ,
9
- default : false
10
- }
6
+ demo : {
7
+ question : 'Do you want to use a demo?' ,
8
+ type : 'boolean' ,
9
+ default : false
10
+ }
11
11
} ) ;
12
12
13
- export const adder = defineAdder ( {
14
- id : 'community-adder-template ' ,
13
+ export default defineAdder ( {
14
+ id : 'community-addon ' ,
15
15
environments : { kit : true , svelte : true } ,
16
16
options,
17
17
packages : [ ] ,
@@ -27,10 +27,11 @@ export const adder = defineAdder({
27
27
} ,
28
28
{
29
29
name : ( ) => 'src/DemoComponent.svelte' ,
30
- content : ( { content } ) => {
31
- const { ast, generateCode } = parseScript ( content ) ;
32
- imports . addDefault ( ast , '../adder-template-demo.txt?raw' , 'Demo' ) ;
33
- return generateCode ( ) ;
30
+ content : ( { content, options, typescript } ) => {
31
+ if ( ! options . demo ) return content ;
32
+ const { script, generateCode } = parseSvelte ( content , { typescript } ) ;
33
+ imports . addDefault ( script . ast , '../adder-template-demo.txt?raw' , 'demo' ) ;
34
+ return generateCode ( { script : script . generateCode ( ) , template : '{demo}' } ) ;
34
35
}
35
36
}
36
37
]
0 commit comments