Open jlarmstrongiv opened 11 months ago
Compiler seems to get confused by all the template literals and can't tell where the frontmatter ends
const url = `${"placeholder"}${"placeholder".replace(`${"placeholder"}/`, "")}/`;
---
export default function __AstroComponent_(_props: Record<string, any>): any {}
//# sourceMappingURL=data:application/json;charset=utf-8;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiPHN0ZGluPiJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLS0tXG5jb25zdCB1cmwgPSBgJHtcInBsYWNlaG9sZGVyXCJ9JHtcInBsYWNlaG9sZGVyXCIucmVwbGFjZShgJHtcInBsYWNlaG9sZGVyXCJ9L2AsIFwiXCIpfS9gO1xuLS0tXG4iXSwKICAibWFwcGluZ3MiOiAiQUFBQSxBQUFHO0FBQ0gsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDakYsQ0FBQyxDQUFDLENBQUM7QUFDSCxBQUFHO0FBQUgsQUFIQTsiLAogICJuYW1lcyI6IFtdCn0=
Happens for me to - the function causes it because of the divivdes
function formatDate(date:Date) {
const MINUTE = 60 * 1000;
const HOUR = MINUTE * 60;
const DAY = HOUR * 24;
const elapsed = new Date().getTime() - date.getTime();
if (Math.abs(elapsed) < MINUTE) {
return "Just Now";
} else if (Math.abs(elapsed) < HOUR) {
return Math.round(elapsed / MINUTE) + ` minute${Math.round(elapsed / MINUTE) == 1 ? "" : "s"} ago`;
} else if (Math.abs(elapsed) < DAY ) {
return Math.round(elapsed / HOUR) + ` hour${Math.round(elapsed / HOUR) == 1 ? "" : "s"} ago`;
} else if (Math.abs(elapsed) < DAY * 30 && Math.floor(elapsed / DAY) < 7) {
return Math.round(elapsed / DAY) + ` day${Math.round(elapsed / DAY) == 1 ? "" : "s"} ago`;
} else {
return new Intl.DateTimeFormat(Astro.preferredLocale, {month: "short", day: "numeric"}).format(date);
};
};
<a href={"/" + url}>
<div class="preview | flex dir-v pos-rel" style={{backgroundImage: `url("${cover}")`}}>
<span class="slots" aria-label={strings.TournamentCard.slots}>{slots - (teams?.length ?? 0)}/{slots}</span>
<img class="icon" alt="" src={logo}/>
<div class="push-down">
<p class="name">{name}</p>
{joined_as_team ?
<div class="team">
<img src={joined_as_team.logo} alt="" />
<p>{joined_as_team.name}</p>
</div>
: <p class="date">{
Date.now() < join_by_date.toMillis() ? strings.TournamentCard.join :
Date.now() < start_date.toMillis() ? strings.TournamentCard.starts :
strings.TournamentCard.started
}{" "}{Date.now() < join_by_date.toMillis() ? formateDate(join_by_date.toMillis()) : formatDate(start_date.toMillis()) }</p>
}
</div>
</div>
</a>
Describe the Bug
After using a template string ending with
/
, my Astro file lights up like a Christmas tree with errors.Steps to Reproduce
Use this line in the Astro head between the
---
It’s valid typescript