@@ -117,6 +117,8 @@ export interface StoreOptions {
117
117
defaultVueRuntimeProdURL ?: string
118
118
defaultVueServerRendererURL ?: string
119
119
customElement ?: boolean | string | RegExp | ( string | RegExp ) [ ]
120
+ welcomeFileTemplate ?: string
121
+ newSFCTemplate ?: string
120
122
}
121
123
122
124
export class ReplStore implements Store {
@@ -134,6 +136,8 @@ export class ReplStore implements Store {
134
136
private defaultVueRuntimeProdURL : string
135
137
private defaultVueServerRendererURL : string
136
138
private pendingCompiler : Promise < any > | null = null
139
+ private welcomeFileTemplate ?: string
140
+ private newSFCTemplate ?: string
137
141
138
142
constructor ( {
139
143
serializedState = '' ,
@@ -144,16 +148,20 @@ export class ReplStore implements Store {
144
148
outputMode = 'preview' ,
145
149
productionMode = false ,
146
150
customElement = / \. c e \. v u e $ / ,
151
+ welcomeFileTemplate = welcomeCode ,
152
+ newSFCTemplate = newSFCCode ,
147
153
} : StoreOptions = { } ) {
148
154
const files : StoreState [ 'files' ] = { }
155
+ this . welcomeFileTemplate = welcomeFileTemplate
156
+ this . newSFCTemplate = newSFCTemplate
149
157
150
158
if ( serializedState ) {
151
159
const saved = JSON . parse ( atou ( serializedState ) )
152
160
for ( const filename in saved ) {
153
161
setFile ( files , filename , saved [ filename ] )
154
162
}
155
163
} else {
156
- setFile ( files , defaultMainFile , welcomeCode )
164
+ setFile ( files , defaultMainFile , this . welcomeFileTemplate )
157
165
}
158
166
159
167
this . productionMode = productionMode
@@ -250,7 +258,7 @@ export class ReplStore implements Store {
250
258
if ( typeof fileOrFilename === 'string' ) {
251
259
file = new File (
252
260
fileOrFilename ,
253
- fileOrFilename . endsWith ( '.vue' ) ? newSFCCode : ''
261
+ fileOrFilename . endsWith ( '.vue' ) ? this . newSFCTemplate : ''
254
262
)
255
263
} else {
256
264
file = fileOrFilename
0 commit comments