4 ms·
Why do you need docker to run esbuild? It’s a static binary.
by tubs 2y ago
Why do you need docker to run esbuild? It’s a static binary.
- qwertox 2y agoNot everyone is aware of this fact. I include myself in the list of those who didn't know that. Most likely because I didn't bother to inform myself because my expectation of the JavaScript ecosystem is that you first need to install npm via node, and then have it pull a huge amount of files just to then have a tool with which you can bundle stuff without then understanding where you need to "install" it. It's a chaotic ecosystem, much worse than Python, and I know and love Python. ``` Major features: - Extreme speed without needing a cache - JavaScript, CSS, TypeScript, and JSX built-in - A straightforward API for CLI, JS, and Go - Bundles ESM and CommonJS modules - Bundles CSS including CSS modules - Tree shaking, minification, and source maps - Local server, watch mode, and plugins ``` No word of it being a single executable, on the landing page, in the "major features"-list. `npm install --save-exact --save-dev esbuild`. We have different expectations on how to download a binary. Edit: I found an instruction on how to get the binary [0], why is this so hidden? [0] https://esbuild.github.io/getting-started/#download-a-build https://esbuild.github.io/getting-started/#download-a-build
- xdennis 2y agoNothing is perfect but it's ridiculous to say Node is more chaotic than Python. What's the Python package manager of the month? uv? poetry? pipenv? conda? pip? pyenv? setuptools? virtualenv? venv? pdm? easy_install? pymgr? mamba? Some only create environments, some only install, some don't even resolve packages, some don't create lock files, some only install python, AND NONE OF THEM agree where to install! Where does npm install? node_modules and it's been that way from the start. *I added a fake one to see if people can spot it.
- singhrac 2y agoThat’s a good question since usually these are built into the docker-compose by default. I think my answer would be that it’s to get the same build environment on my Mac as on prod (i.e. a Linux server), but in practice I don’t think platform-specific details matter. If that’s the case, why not run Python/gunicorn locally as well, and drop docker entirely?