11import { defineAdder , defineAdderOptions } from '@sveltejs/cli-core' ;
22import { imports } from '@sveltejs/cli-core/js' ;
3- import { parseScript } from '@sveltejs/cli-core/parsers' ;
3+ import { parseSvelte } from '@sveltejs/cli-core/parsers' ;
44
55export 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+ }
1111} ) ;
1212
13- export const adder = defineAdder ( {
14- id : 'community-adder-template ' ,
13+ export default defineAdder ( {
14+ id : 'community-addon ' ,
1515 environments : { kit : true , svelte : true } ,
1616 options,
1717 packages : [ ] ,
@@ -27,10 +27,11 @@ export const adder = defineAdder({
2727 } ,
2828 {
2929 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}' } ) ;
3435 }
3536 }
3637 ]
0 commit comments