Only depend on jsxn, jsx will be pulled in transitively