「Servie WorkerのJavaScriptをHTMLと同じ階層か上位階層に置かないとresolveできない」と書いてある場所
#Service_Worker #PWA #JavaScript
ここで、Service Workerスクリプト(ここではpush.js)はWebアプリのHTMLと同じかより上位のディレクトリに置いたほうがよいのでご注意下さい。例えば、スクリプトの場所js/push.jsのようにしてしまうと、親Webアプリのスクリプト上でnavigator.serviceWorker.readyがいつまで経ってもresolveできなくなってしまいます。
引用元: ChromeでW3C Push APIを使ってみた - Qiita
上記の引用においてpush.jsはService Workerのファイル名。
おそらくいままで常に同じ階層に置いていたらからハマらなかっただけなのだろうか。