@@ -117,6 +117,8 @@ export interface StoreOptions {
117117 defaultVueRuntimeProdURL ?: string
118118 defaultVueServerRendererURL ?: string
119119 customElement ?: boolean | string | RegExp | ( string | RegExp ) [ ]
120+ welcomeFileTemplate ?: string
121+ newSFCTemplate ?: string
120122}
121123
122124export class ReplStore implements Store {
@@ -134,6 +136,8 @@ export class ReplStore implements Store {
134136 private defaultVueRuntimeProdURL : string
135137 private defaultVueServerRendererURL : string
136138 private pendingCompiler : Promise < any > | null = null
139+ private welcomeFileTemplate ?: string
140+ private newSFCTemplate ?: string
137141
138142 constructor ( {
139143 serializedState = '' ,
@@ -144,16 +148,20 @@ export class ReplStore implements Store {
144148 outputMode = 'preview' ,
145149 productionMode = false ,
146150 customElement = / \. c e \. v u e $ / ,
151+ welcomeFileTemplate = welcomeCode ,
152+ newSFCTemplate = newSFCCode ,
147153 } : StoreOptions = { } ) {
148154 const files : StoreState [ 'files' ] = { }
155+ this . welcomeFileTemplate = welcomeFileTemplate
156+ this . newSFCTemplate = newSFCTemplate
149157
150158 if ( serializedState ) {
151159 const saved = JSON . parse ( atou ( serializedState ) )
152160 for ( const filename in saved ) {
153161 setFile ( files , filename , saved [ filename ] )
154162 }
155163 } else {
156- setFile ( files , defaultMainFile , welcomeCode )
164+ setFile ( files , defaultMainFile , this . welcomeFileTemplate )
157165 }
158166
159167 this . productionMode = productionMode
@@ -250,7 +258,7 @@ export class ReplStore implements Store {
250258 if ( typeof fileOrFilename === 'string' ) {
251259 file = new File (
252260 fileOrFilename ,
253- fileOrFilename . endsWith ( '.vue' ) ? newSFCCode : ''
261+ fileOrFilename . endsWith ( '.vue' ) ? this . newSFCTemplate : ''
254262 )
255263 } else {
256264 file = fileOrFilename
0 commit comments