Bring a large stockpot of generously salted water to a rolling boil. Add rotini and cook according to package directions until al dente.
Drain pasta in a colander and rinse under cold water until cool to the touch. Shake to remove excess water and transfer to a large mixing bowl.
Drain artichoke hearts, reserving about 2 tablespoons of oil for the dressing. Quarter large pieces and add to the bowl with pasta.
Halve cherry tomatoes, pit and halve olives if needed, and finely dice red onion. Add all to the bowl with pasta and toss lightly.
In a mason jar, combine olive oil, reserved artichoke oil, red wine vinegar, minced garlic, dijon mustard, oregano, salt, and pepper. Add lemon juice if using.
Close lid tightly and shake vigorously for about 20 seconds until combined and lightly thickened. Taste and adjust seasoning.
Pour three-quarters of dressing over pasta mixture. Add mozzarella pearls, parmesan, parsley, and basil.
Toss everything together with tongs until evenly coated. Taste and adjust seasoning with remaining dressing if needed.
Cover bowl and refrigerate for at least 30 minutes, or up to overnight for deeper flavor. Toss again before serving.