Well make a container for our svelteless library in Svelte, and then use that components onMount function to ensure the div has mounted i.e., that Svelte has put it on the page and pass that to makeHtmlIn. In order for Firebase admin to connect to Firebase emulator you have to export a couple of system variables. In your terminal create a new folder for this project. While adding it as a dev dependency sort of worked, there was still a flash of a server-side error during initial rendering. There is no right way to model data in Firestore, but always think data duplication and model data based on your app's views But beyond that, building an app with all the modern best practices is fiendishly complicated. You may need to review your build config to ensure that dependencies are compiled, rather than imported as pre-compiled modules error? Launching the CI/CD and R Collectives and community editing features for Other than quotes and umlaut, does " mean anything special? Jordan's line about intimate parties in The Great Gatsby? Note the id being set on the message element - this allows the message to be linked to the HTMLInputElement by setting the appropriate aria-invalid and aria-describedby attributes on it (this happens automatically): But we also have access to the ValidityState flags so we're not limited to the message that the browser generates - we can decide exactly what custom message we want to show for each reason: NOTE: instead of using the {#if} block another approach is to set the hidden attribute based on the show flag to control whether the validation message is shown: The use of {#if} blocks or hidden attributes helps keep the package size down and should be more efficient, but it's also possible to define some Svelte Components to make the outputting easier if preferred: The simplest message display just needs to reference the field: For separate validation messages per reason, nest one or more