@@ -47,13 +47,34 @@ const loadSourceFiles = async (files: string[], version: number) => {
47
47
}
48
48
49
49
const openHtmlEditor = async ( code : string , options ?: EditorOptions ) => {
50
- const [ index_ts , index_html , variables_css , package_json ] = await loadSourceFiles ( [
50
+ const defaultFiles = await loadSourceFiles ( [
51
51
'html/index.ts' ,
52
52
options ?. includeIonContent ? 'html/index.withContent.html' : 'html/index.html' ,
53
53
'html/variables.css' ,
54
54
'html/package.json'
55
55
] , options . version ) ;
56
56
57
+ const indexHtml = 'index.html' ;
58
+ const files = {
59
+ 'index.ts' : defaultFiles [ 0 ] ,
60
+ [ indexHtml ] : defaultFiles [ 1 ] ,
61
+ 'theme/variables.css' : defaultFiles [ 2 ] ,
62
+ ...options ?. files
63
+ } ;
64
+
65
+ const package_json = defaultFiles [ 3 ] ;
66
+
67
+ files [ indexHtml ] = files [ indexHtml ] . replace ( / { { T E M P L A T E } } / g, code ) . replace ( '</head>' , `
68
+ <script>
69
+ window.Ionic = {
70
+ config: {
71
+ mode: '${ options ?. mode } '
72
+ }
73
+ }
74
+ </script>
75
+ </head>
76
+ ` ) ;
77
+
57
78
let dependencies = { } ;
58
79
try {
59
80
dependencies = {
@@ -68,12 +89,7 @@ const openHtmlEditor = async (code: string, options?: EditorOptions) => {
68
89
template : 'typescript' ,
69
90
title : options ?. title ?? DEFAULT_EDITOR_TITLE ,
70
91
description : options ?. description ?? DEFAULT_EDITOR_DESCRIPTION ,
71
- files : {
72
- 'index.html' : index_html . replace ( / { { T E M P L A T E } } / g, code ) . replace ( / { { M O D E } } / g, options ?. mode ) ,
73
- 'index.ts' : index_ts ,
74
- 'theme/variables.css' : variables_css ,
75
- ...options ?. files
76
- } ,
92
+ files,
77
93
dependencies
78
94
} )
79
95
}
0 commit comments