Skip to content

Commit c66cab3

Browse files
authored
Fixing client side cross scripting vulnerability (#3317)
1 parent 7d0d042 commit c66cab3

File tree

1 file changed

+24
-1
lines changed
  • packages/typescriptlang-org/src/templates

1 file changed

+24
-1
lines changed

packages/typescriptlang-org/src/templates/play.tsx

Lines changed: 24 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -111,7 +111,30 @@ const Play: React.FC<Props> = (props) => {
111111
div.style.webkitAnimation = ""
112112
})
113113

114-
document.getElementById("loading-message")!.innerHTML = `This version of TypeScript <em>(${tsVersion?.replace(/</g, "-")})</em><br/>has not been prepared for the Playground<br/><br/>Try <a href='/play?ts=${latestRelease}${document.location.hash}'>${latestRelease}</a> or <a href="/play?ts=next${document.location.hash}">Nightly</a>`
114+
const loadingMessage = document.getElementById("loading-message")!
115+
loadingMessage.textContent = ""
116+
117+
const em = document.createElement("em")
118+
em.textContent = `(${tsVersion})`
119+
120+
const latestReleaseLink = document.createElement('a');
121+
latestReleaseLink.href = `/play?ts=${latestRelease}${document.location.hash}`;
122+
latestReleaseLink.textContent = latestRelease;
123+
124+
const nightlyLink = document.createElement('a');
125+
nightlyLink.href = `/play?ts=next${document.location.hash}`;
126+
nightlyLink.textContent = 'Nightly';
127+
128+
loadingMessage.appendChild(document.createTextNode("This version of TypeScript "))
129+
loadingMessage.appendChild(em)
130+
loadingMessage.appendChild(document.createElement("br"))
131+
loadingMessage.appendChild(document.createTextNode("has not been prepared for the Playground"))
132+
loadingMessage.appendChild(document.createElement("br"))
133+
loadingMessage.appendChild(document.createElement("br"))
134+
loadingMessage.appendChild(document.createTextNode("Try "))
135+
loadingMessage.appendChild(latestReleaseLink)
136+
loadingMessage.appendChild(document.createTextNode(" or "))
137+
loadingMessage.appendChild(nightlyLink)
115138
return
116139
}
117140

0 commit comments

Comments
 (0)