Zero
Infrastructure
web server framework
SHOW HN2019
How HN took it
31 positive, 52 neutral or asking, 8 mixed, 41 critical, out of 132 comments about the project. Thread score -0.12.
Idea: 19 for, 10 againstPrivacy: 0 for, 15 againstDesign: 2 for, 7 againstExecution: 1 for, 7 againstDocs: 0 for, 2 against
The thread, comment by comment
Each row is a top-level comment and its replies, in HN's order. Select a cell to open that comment on HN.
positive neutral or mixed critical about another commenter or something else the maker
What HN said
What people liked
Quick setup for prototypes and small apps
From 3 comments
My first thought is it doesn't have enough features or too much magic BUT that is EXACTLY why it shines. I'm not going to build the next FAANG company on this but it will let me…
joshstrange on HNI think this is really nice for when I want to hack together a quick front-end for something. Once I have a working React/Node.js set up I can really quickly build something, but…
photonios on HNGreat job! Took 2 minutes to install and run.
html5web on HN
Markdown and MDX support is useful
From 2 comments
Supports the new hotness MDX. JSX/React components inside markdown. This is awesome for standing something up quickly. Thanks for creating this!
dstroot on HNHaving Markdown rendered as HTML is basically all I want when I'm standing up a single web page or a small website. This is definitely something I'll bookmark for later.
PerryCox on HN
Objections
Security concerns with file-system routing and exposed files
From 4 comments
> File-system Based Routing: If your code resides in ./api/login.js it's exposed at http://<SERVER>/api/login. Inspired by good ol' PHP days. > Auto Dependency Resolution: If a…
q3k on HNBecause if you ever have a broken upload system that allows you to drop a JS file somewhere accessible by the file system routing, you have remote code execution. Additionally,…
q3k on HNProbably having .htaccess / .env / database configuration / files that are not supposed to be public be exposed. For instance, Rails has a public/ folder for files that are going…
aboutruby on HN> Zero reads credentials from environment variables. Zero also loads variables from .env file in your project root, if it's present. Security nightmare? Can I do myapp.com/.env…
miki123211 on HN
Automatic dependency resolution is hidden magic
From 2 comments
Because if you ever have a broken upload system that allows you to drop a JS file somewhere accessible by the file system routing, you have remote code execution. Additionally,…
q3k on HNMake your application directory read-only to the user running the application, as it ought to be anyway. Automatic dependency resolution however... Fantastic for experimentation,…
adrusi on HN
Too much abstraction over plain Express
From 2 comments
"Zero configuration" But, you can install express, copy paste the getting started code and be up and running at a similar level in 5 minutes. I...guess I don't understand why I…
BinaryIdiot on HNWow, I love that people can wrap express and many of its components and end with something so different from its foundation. That being said, this level of "batteries included"…
wesleytodd on HN
Requests
Ignore specific files or directories
From 2 comments
Is there any way to "ignore" specific files or directories? For example, I want to reuse React components across different routes (exposed as jsx files). However, I don't want…
sjroot on HNCurrently, files starting with _ (underscore) are hidden in zero. This is still a feature spec we need to finalize as this can create confusion. Maybe a .zeroignore file (as…
asadlionpk on HN
TypeScript support
From 1 comment
Are there any plans to make this support Typescript in the future? :)
desmondl on HN
Python handler support
From 1 comment
Looking through the code on github found a .py file handler in the works: https://github.com/remoteinterview/zero/blob/master/packages/handler-python/handler.js Any idea of a…
davish on HN
Questions
How to split components that are not pages
From 1 comment
This is very cool framework and I will certainly use it for small to medium sized apps or website. However, just going through the doc there doesn’t seems to be a way to split…
gumbo on HN
How TLS certificates are handled
From 2 comments
Weird how does it knows what certificate to get for https
LoSboccacc on HNWhile I embrace less configuration, you can't really avoid TLS these days. There is always configuration, many of configurations. Some implicit, some explicit.
metalrain on HN
Alternatives named
Express
From 2 comments
"Zero configuration" But, you can install express, copy paste the getting started code and be up and running at a similar level in 5 minutes. I...guess I don't understand why I…
BinaryIdiot on HNWow, I love that people can wrap express and many of its components and end with something so different from its foundation. That being said, this level of "batteries included"…
wesleytodd on HN
Next.js
From 2 comments
Why is this any different than say, next.js?
gjmacd on HNNextjs uses a pages/ subdirectory which gives you implicit routing, without having to compromise on the whitelist aspect. I think it's a better compromise.
scrollaway on HN
Koa
From 1 comment
How's this different from Koa?
gyvastis on HN
serverjs
From 1 comment
I did something very similar but arguably with even less configuration, https://serverjs.io/ ``` const server = require('server'); server(() => "Place your Node.js API here.");…
franciscop on HN