run icon indicating copy to clipboard operation
run copied to clipboard

Bug: <script> tags with relative path in `src` get the file contents placed in `src` on build

Open svallory opened this issue 1 year ago • 0 comments

What's happening

A script tag with a relativesrc path like <script src="./test.js"></script>

gets compiled into <script src="[CONTENTS OF test.js]"></script>

NOTE: That does not happen with absolute paths: /js/script.js or full URLs

Expected Behavior

Marko does nothing and the script tag remains "as is". I was caught totally by surprise that Marko/Run was doing anything at all with something I considered "plain html".

Ok, nothing in Marko is plain HTML... but usually boundaries and side effects are clear. In this case, I don't know what's going on here.

How to reproduce:

  1. Create a new Run project

  2. Create a src/routes/test.js file

    export default "the script content";
    
  3. Add <script src="./test.js"></script> to +layout.marko

    image
  4. Build

This is easier to see when using the static adapter...

image

But it happens with the default adapter too

image

svallory avatar Apr 15 '24 16:04 svallory