@@ -28,7 +28,7 @@ export interface Props {
2828 useCode? : string
2929 }
3030 }
31- importMap: Record <string , string >
31+ importMap? : Record <string , string > | string
3232}
3333
3434const props = withDefaults (defineProps <Props >(), {
@@ -63,38 +63,22 @@ const msg = ref('vite-plugin-vue-preview')
6363</template>
6464` .trim ()
6565
66- if (! props .code ) {
67- store .setFiles ({
68- [defaultMainFile ]: welcomeCode ,
69- })
70- }
71- else if (props .encode ) {
72- store .setFiles ({
73- [defaultMainFile ]: decodeURIComponent (props .code ),
74- })
75- }
76- else {
77- store .setFiles ({
78- [defaultMainFile ]: props .code ,
79- })
80- }
66+ const files: Record <string , string > = {}
8167
82- if (props .importMap ) {
83- const files = store .getFiles ()
84- const importMapCode = files [importMapFile ]
68+ if (! props .code )
69+ files [defaultMainFile ] = welcomeCode
70+ else if (props .encode )
71+ files [defaultMainFile ] = decodeURIComponent (props .code )
72+ else
73+ files [defaultMainFile ] = props .code
8574
86- if (importMapCode ) {
87- const importMapObj: { imports: Record <string , string > } = JSON .parse (importMapCode ! )
88- Object .assign (importMapObj .imports , props .importMap )
89- files [importMapFile ] = JSON .stringify (importMapObj , null , 2 )
90- }
91- else {
92- files [importMapFile ] = JSON .stringify ({ imports: props .importMap }, null , 2 )
93- }
94-
95- store .setFiles (files )
75+ if (props .importMap ) {
76+ const importMap = typeof props .importMap === ' string' ? JSON .parse (decodeURIComponent (props .importMap )) : props .importMap
77+ files [importMapFile ] = JSON .stringify ({ imports: importMap }, null , 2 )
9678}
9779
80+ store .setFiles (files )
81+
9882onMounted (() => {
9983 if (props .clearConsole )
10084 // eslint-disable-next-line no-console
0 commit comments