India's Hindu nationalist Bharatiya Janata Party (BJP) is on track to win the first parliamentary majority by a single party in 30 years, two television channels projected on Friday based on preliminary results.