Why We Added package.json Support to Deno
The JavaScript ecosystem’s reliance on a single centralized module registry conflicts with the web's decentralized nature. With the introduction of ES modules, there is now a standard for loading remote modules, and that standard looks nothing like how module loading through NPM works. Deno implements loading ES modules through HTTP URLs - allowing anyone to host code on any domain simply by running a file server.
This approach offers great benefits. Single file programs can access robust tooling without needing a dependency manifest