@@ -2,6 +2,7 @@ import { defineAdder, defineAdderOptions } from '@svelte-cli/core';
22import { addImports } from '@svelte-cli/core/css' ;
33import { array , common , exports , functions , imports , object } from '@svelte-cli/core/js' ;
44import { parseCss , parseScript , parseJson , parseSvelte } from '@svelte-cli/core/parsers' ;
5+ import { addSlot } from '../common.ts' ;
56
67export const options = defineAdderOptions ( {
78 plugins : {
@@ -121,12 +122,19 @@ export default defineAdder({
121122 } ,
122123 {
123124 name : ( { kit } ) => `${ kit ?. routesDirectory } /+layout.svelte` ,
124- content : ( { content, typescript } ) => {
125- const { script, generateCode } = parseSvelte ( content , { typescript } ) ;
125+ content : ( { content, typescript, dependencyVersion } ) => {
126+ const { script, template , generateCode } = parseSvelte ( content , { typescript } ) ;
126127 imports . addEmpty ( script . ast , '../app.css' ) ;
128+
129+ if ( content . length === 0 ) {
130+ const svelteVersion = dependencyVersion ( 'svelte' ) ;
131+ if ( ! svelteVersion ) throw new Error ( 'Failed to determine svelte version' ) ;
132+ addSlot ( script . ast , template . ast , svelteVersion ) ;
133+ }
134+
127135 return generateCode ( {
128136 script : script . generateCode ( ) ,
129- template : content . length === 0 ? '<slot />' : undefined
137+ template : content . length === 0 ? template . generateCode ( ) : undefined
130138 } ) ;
131139 } ,
132140 condition : ( { kit } ) => Boolean ( kit )
0 commit comments