You could try [Helios](https://www.npmjs.com/package/@hyperionbt/helios).

Here is a guide to building transactions: https://www.hyperion-bt.org/Helios-Book/api/building/index.html

The following links will help you define a UTxO containing native assets:
  * https://www.hyperion-bt.org/Helios-Book/api/reference/utxo.html
  * https://www.hyperion-bt.org/Helios-Book/api/reference/txoutput.html
  * https://www.hyperion-bt.org/Helios-Book/api/reference/value.html
  * https://www.hyperion-bt.org/Helios-Book/api/reference/assets.html
  * https://www.hyperion-bt.org/Helios-Book/api/reference/mintingpolicyhash.html

If you're struggling with using ES imports, then you can try the following import style:
```
import("/path/to/helios.js").then( helios=>{
   const tx = new helios.Tx()
   
   ...
})
```

Note: Helios is more low-level than Lucid/Mesh because you need to take care of calling the Blockfrost API yourself.