Incrementar una cadena con letras?

Necesito incrementar una cadena de ... digamosaaa azzz y escribe cada incremento en la consola (¿es el incremento incluso una palabra?). Sería algo así:

aaa
aab
aac
...
aaz

aba
abb
abc
...
abz

aca
acb

Y así. Hasta ahora he incrementado una sola letra al hacer esto:

String.prototype.replaceAt = function(index, character) {
    return this.substr(0, index) + character + this.substr(index+character.length);
}

string = "aaa";

string = string.replaceAt(2, String.fromCharCode(string.charCodeAt(2) + 1));

//string == "aab"

Sin embargo, estoy perdido cuando se trata de que la carta final seaz y luego debe incrementar la letra 2 (índice 1) y restablecer la última letra para que seaa.

¿Alguien tiene o conoce una solución inteligente para esto? ¡Gracias!

Respuestas a la pregunta(11)

Su respuesta a la pregunta