Getting program of a shader material to create a list of shader uniforms

I’m trying to get a list of uniforms in the shader material but looks like there is no material.program to use for calling gl.getActiveUniform

const gl = renderer.getContext();
const program = cube.material.program;
const uniformCount = gl.getProgramParameter(program,gl.ACTIVE_UNIFORMS);
const uniformList = [];
for (let i = 0; i < uniformCount; i++) {
  const info = gl.getActiveUniform(program,i);
  console.log(info);
  uniformList.push({
    name: info.name,
    type: info.type,
    size: info.size
  });
}
console.log(uniformList);