Echo JS 0.11.0

<~>

tracker1 comments

tracker1 1382 days ago. link 2 points
Probably worth adding to the examples...

    typeof undefined === "undefined"
    typeof NaN === "number"

NaN in particular, along with Invalid Date can be interresting corner cases in practice.  I find it's often best to rely on coercion and input validation over type checking.

The first followup to this should probably be falsey values, and how knowing them is useful for input validation.
tracker1 1382 days ago. link 1 point
Venturing OT, but if you're doing end to end tests, I would suggest getting familiar with Docker, docker-compose and its' usage.  It's very easy to stand-up your entire environment, run your tests, and stand-down said environment.  Many CI/CD runners have a full docker environment available, so this makes integration super easy as well.
tracker1 1386 days ago. link 1 point
I wouldn't suggest using this library/approach.  First, read/write in your application directory is begging for trouble.  Second, it's using an array lookup instead of an object/map.  Third, it's not very flexible.
tracker1 1390 days ago. link 1 point
TLDR; 

Use Promise.all for parallel async operations.

    const [a, b, c] = await Promise.all([p1, p2, p3]);
tracker1 1390 days ago. link 1 point
For more/similar details, these two books from Steve Souders are good reads, and very relevant.

1. High Performance Web Sites
2. Even Faster Web Sites
tracker1 1391 days ago. link 1 point
Alternatively to using Firebae... Self-hosting CockroachDB, FaunaDB, Cloudflare KV+Workers, Azure Storage Tables, DynamoDB and other databases behind an API or Cloudflare Workers are some other options as well for backend storage.
[more]