ScaleOrdinal, What am i missing?

So ive atempted to make a ordinal scale to plot months rather than using dates as the format the data came in was numbers and i will first need to convert the numbers into month strings anyway so it would save some code and make everything more readable, however when i plot these to the axis they all appear at either end of the axis not spread out. ive went though various searches and blo.cks examples and i cant see what im doing wrong. Here is my code

 let parseTime = timeFormat("%B")
          
const parsedMonths = data.map(x => { 
    return parseTime(new Date(2000,x.month,1))
})

const yScale =  scaleOrdinal()
      .domain(['jan','feb',ect...])
      .range([padding,innerHeight]) 

const yAxis = axisLeft(yScale)
    
g.append('g').call(yAxis)
                    .attr('transform', `translate(${0},${0})`)
                    .attr('id','y-axis')

im missed out the svg / g variables as that part is clearly working as intended. The only fix ive had is to convert the month strings into date objects and then use scale time which increases the amount of code by quite abit would be really nice to get the ordinal scale to work.
heres my fix:

let parseTime = timeFormat("%B")
let parseDate = timeParse("%B")

      const parsedMonths = data.map(x => { 
        return parseTime(new Date(2000,x.month,1))
    })
    const parsedDate = parsedMonths.map(x => {
      return parseDate(x)

      const yScale =  scaleTime()
      .domain(extent(parsedDate))
      .range([padding,innerHeight])
      
      const yAxis = axisLeft(yScale)
      .tickFormat(function(d){
          return timeFormat(parseDate)(d)
      });
      g.append('g').call(yAxis)
      .attr('transform', `translate(${margin.left},${0})`)

any help to make the same thing as that last snip of code but with scale ordinal very appreachated
this d3 course is a real nightmare