Equalizing fractions
JavaScript (Node.js), 63 bytes

f=(a,t=1)=&gt;a.some(v=&gt;t%v[1])?f(a,1+t):a.map(([p,q])=&gt;[p*t/q,t])

Try it online!

JavaScript (Node.js), 63 bytes

f=(a,t,b=a.map(([p,q])=&gt;[m=p*t/q,o&amp;=m%1||t],o=t))=&gt;o?b:f(a,-~t)

Try it online!
m=p*t/q cannot be changed to p*=t/q due to floating point errors. For example, 11*15/11 is 15, but 11*(15/11) is 14.999999999999998. :(

The first answer here will output [[6, 12], [6, 12]]  for input [[2, 4], [3, 6]].
The second one will output [[1, 2], [1, 2]] for input [[2, 4], [3, 6]].


JavaScript (Node.js), 62 bytes

@Arnauld had modified the code to make it work in 62 bytes. This one would support positive fractions.


f=(a,t,o=-~t,b=a.map(([p,q])=&gt;[p*t/q,t+=p*t%q]))=&gt;t&lt;o?b:f(a,o)

Try it online!