Echo JS 0.11.0

<~>

tracker1 comments

tracker1 1979 days ago. link 2 points
I'm just really not a fan of Tailwind and growing less a fan of Bootstrap.  Tailwind in particular uses classes like "text-white" etc, instead of purpose driven classes.

Even then, I'm more of a fan of JSS at this point as it allows for component driven styles that share a common theme.  This means that you can define your color pallets by use/purpose over the name of the color.  It also allows for the exclusion of styles that are no longer used, because a component was dropped or changed.

I always find stale CSS rules when auditing sites... why, because everything, the kitchen sink, the kitchen and the entire condo and the neighboring park tends to get added over time.  I know the purpose of CSS was to separate styling rules from the content for flexibility, and always loved the CSS Zen site for great ideas.  But the fact is that the CSS and the content are tethered together, and even more so in applications.

The way these frameworks work is that there is usually a lot of cruft that builds over time.
tracker1 1987 days ago. link 1 point
From the source, seems to assume that each read chunk is suitable for markdown transformation separately, and that the final chunk in a stream will never happen.
tracker1 1987 days ago. link 1 point
You're creating a `new Function(...)`, this and `eval` are blocked by static analysis tooling, ad network linting applications, and other code linting tools such as eslint[1].

    const compile = (template) => {
      return new Function("data", "return " + compileToString(template))
    }

[1] https://eslint.org/docs/rules/no-new-func
tracker1 1987 days ago. link 1 point
The use of eval and dynamic function creation are blocked by quite a few linters by default.  This will be doubly so in most ad networks, if you happen to be targeting that context.
tracker1 1989 days ago. link 1 point
It's an interesting ui-library, it does remind me a bit of Bootstrap, though fewer components and less polished.  From the documentation site, the colors/contrast are stark to say the least.  Not my taste, but some may like it.  Should also consider a few more fallback fonts, especially if you intend to support emoji character rendering in your site/application.
tracker1 1991 days ago. link 1 point
Okay, now add in some external data fetching (API calls) and control flow, and unit tests...

With Redux patterns, I can test my entire application state logic in reducers/action-creators and ensure that all the control flow logic is appropriate without spinning up components in unit tests.

Beyond that, this logic flow can be (re)used with react native swapping out only the UI patterns with React Native.
tracker1 1992 days ago. link 1 point
Should probably mention the node global error handler as well as the unhandled promise exception handler.  Would also suggest showing registering for the error event in the browser in addition to error property/function assignment.
tracker1 1992 days ago. link 1 point
The jss library bridges the gap very well.  It creates a stylesheet that is used at runtime, but will still be CSS based rendering in the browser while still performing very well on load.  It's the underlying library used by @material-ui/core
tracker1 1992 days ago. link 1 point
At this point the only cookies I *might* have set these days is an http only refresh token... for all others I'll use sessionStorage or localStorage for.
tracker1 1992 days ago. link 1 point
Do not use this in a web server unless run inside a worker thread.
[more]