I think we found a too-strict issue in cljs.main regarding :as-alias and :require-macros
This repository contains the full reproduction: https://github.com/danieroux/duplicate-alias-repro This is a reproduction pulled out of the fulcro-rad source, which uses this pattern and compiles in shadow:
(ns a-ns
; This line causes:
;
; Assert failed: Duplicate :as-alias aliased-in, already in use for lib a-ns
#?(:cljs (:require-macros [a-ns]))
(:require [aliases-in-a-ns]))
(ns aliases-in-a-ns
(:require [a-ns :as-alias aliased-in]))