It seems like npm registry https://registry.npmjs.org/
turned on CF protection which is causing publish issue. I and some of my social friends are having the issue as well. Tested from several VPS as well and from residential IP.
npm publish
Refusing to publish
Should publish normally
...
18 http fetch PUT 503 https://registry.npmjs.org/hooman 80485ms attempt #3
19 verbose stack Error: 503 Service Unavailable - PUT https://registry.npmjs.org/hooman - Service Unavailable
19 verbose stack at /usr/lib/node_modules/npm/node_modules/npm-registry-fetch/check-response.js:104:15
19 verbose stack at processTicksAndRejections (internal/process/task_queues.js:97:5)
20 verbose statusCode 503
...
Me too!
Today there is a new issue.
UPDATE: Both issues are resolved now (I was able to publish with the same IP) but it's not completely gone, it seems to re-appears and fixed automatically. There should be a persistent fix.
I'm able to reproduce this error consistently. I've been trying to publish my package tree-sitter-hack and I get the same error every time. I'm able to publish the same package under a different name (I published it privately for testing).
I also tried publishing an empty test package and every time I add the word "hack" to the name, I get the same 503 error. The same package without the word "hack" publishes successfully.
18 http fetch PUT 503 https://registry.npmjs.org/tree-sitter-hack 75289ms attempt #3
19 verbose stack Error: 503 Service Unavailable - PUT https://registry.npmjs.org/tree-sitter-hack - Service Unavailable
19 verbose stack at /Users/antoniodejesusochoasolano/.nvm/versions/node/v14.7.0/lib/node_modules/npm/node_modules/npm-registry-fetch/check-response.js:114:15
19 verbose stack at processTicksAndRejections (internal/process/task_queues.js:93:5)
20 verbose statusCode 503
21 verbose pkgid [email protected]
@antoniodejesusochoasolano I also removed the hack word from the name and was able to publish my package.
homebridge-garage-door-hack -> homebridge-garage-door-gpio.
@antoniotorres nice! It would save people time and frustration if NPM would return a useful error message and publicly document that you can’t have the word “hack” in NPM packages.
Turns out you can have the word hack in certain some cases though. I ended up calling my package tree-sitter-hacklang.