@@ -152,6 +152,19 @@ export function useP5Version() {
152
152
const versionInfo = useMemo ( ( ) => {
153
153
if ( ! indexSrc ) return null ;
154
154
const dom = new DOMParser ( ) . parseFromString ( indexSrc , 'text/html' ) ;
155
+
156
+ const serializeResult = ( ) => {
157
+ let src = dom . documentElement . outerHTML ;
158
+
159
+ if ( dom . doctype ) {
160
+ const doctype = new XMLSerializer ( ) . serializeToString ( dom . doctype ) ;
161
+ src = `${ doctype } \n${ src } ` ;
162
+ }
163
+
164
+ console . log ( src ) ;
165
+ return src ;
166
+ } ;
167
+
155
168
const usedP5Versions = [ ...dom . documentElement . querySelectorAll ( 'script' ) ]
156
169
. map ( ( scriptNode ) => {
157
170
const src = scriptNode . getAttribute ( 'src' ) || '' ;
@@ -179,7 +192,7 @@ export function useP5Version() {
179
192
'src' ,
180
193
`https://cdnjs.cloudflare.com/ajax/libs/p5.js/${ newVersion } /${ file } `
181
194
) ;
182
- return dom . documentElement . outerHTML ;
195
+ return serializeResult ( ) ;
183
196
} ;
184
197
185
198
const p5SoundNode = [
@@ -193,7 +206,7 @@ export function useP5Version() {
193
206
newNode . setAttribute ( 'src' , p5SoundURL ) ;
194
207
scriptNode . parentNode . insertBefore ( newNode , scriptNode . nextSibling ) ;
195
208
}
196
- return dom . documentElement . outerHTML ;
209
+ return serializeResult ( ) ;
197
210
} ;
198
211
199
212
const p5PreloadAddonNode = [
@@ -207,7 +220,7 @@ export function useP5Version() {
207
220
newNode . setAttribute ( 'src' , p5PreloadAddonURL ) ;
208
221
scriptNode . parentNode . insertBefore ( newNode , scriptNode . nextSibling ) ;
209
222
}
210
- return dom . documentElement . outerHTML ;
223
+ return serializeResult ( ) ;
211
224
} ;
212
225
213
226
const p5ShapesAddonNode = [
@@ -221,7 +234,7 @@ export function useP5Version() {
221
234
newNode . setAttribute ( 'src' , p5ShapesAddonURL ) ;
222
235
scriptNode . parentNode . insertBefore ( newNode , scriptNode . nextSibling ) ;
223
236
}
224
- return dom . documentElement . outerHTML ;
237
+ return serializeResult ( ) ;
225
238
} ;
226
239
227
240
return {
0 commit comments