Skip to content

Commit 1eac470

Browse files
committed
Add doctype
1 parent 6bd28e9 commit 1eac470

File tree

1 file changed

+17
-4
lines changed

1 file changed

+17
-4
lines changed

client/modules/IDE/hooks/useP5Version.js

Lines changed: 17 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -152,6 +152,19 @@ export function useP5Version() {
152152
const versionInfo = useMemo(() => {
153153
if (!indexSrc) return null;
154154
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+
155168
const usedP5Versions = [...dom.documentElement.querySelectorAll('script')]
156169
.map((scriptNode) => {
157170
const src = scriptNode.getAttribute('src') || '';
@@ -179,7 +192,7 @@ export function useP5Version() {
179192
'src',
180193
`https://cdnjs.cloudflare.com/ajax/libs/p5.js/${newVersion}/${file}`
181194
);
182-
return dom.documentElement.outerHTML;
195+
return serializeResult();
183196
};
184197

185198
const p5SoundNode = [
@@ -193,7 +206,7 @@ export function useP5Version() {
193206
newNode.setAttribute('src', p5SoundURL);
194207
scriptNode.parentNode.insertBefore(newNode, scriptNode.nextSibling);
195208
}
196-
return dom.documentElement.outerHTML;
209+
return serializeResult();
197210
};
198211

199212
const p5PreloadAddonNode = [
@@ -207,7 +220,7 @@ export function useP5Version() {
207220
newNode.setAttribute('src', p5PreloadAddonURL);
208221
scriptNode.parentNode.insertBefore(newNode, scriptNode.nextSibling);
209222
}
210-
return dom.documentElement.outerHTML;
223+
return serializeResult();
211224
};
212225

213226
const p5ShapesAddonNode = [
@@ -221,7 +234,7 @@ export function useP5Version() {
221234
newNode.setAttribute('src', p5ShapesAddonURL);
222235
scriptNode.parentNode.insertBefore(newNode, scriptNode.nextSibling);
223236
}
224-
return dom.documentElement.outerHTML;
237+
return serializeResult();
225238
};
226239

227240
return {

0 commit comments

Comments
 (0)