Skip to content

Instantly share code, notes, and snippets.


Alex Ilyaev alexilyaev

View GitHub Profile
alexilyaev / .
Last active May 18, 2022
Setup ESLint with Prettier
View .

ESLint with Prettier Setup

Basically, when using Prettier, all ESLint styling rules should be disabled.
This can be done with eslint-config-prettier.

See .eslintrc.js example below.
In prettier.config.js you can use anything you want (see example below).

Now the tricky part is how to run them...
Usually ESLint should run first, then Prettier.

alexilyaev /
Last active May 16, 2022
CSS in JS - Emotion Guidelines


This repo uses a CSS-in-JS library called Emotion for its styling.

Why Emotion?

Emotion is a performant and flexible CSS-in-JS library. Building on many other CSS-in-JS libraries, it allows us to style apps quickly with string or object styles. It has predictable composition to avoid specificity issues in CSS. With source maps and labels, Emotion has a great developer experience and performance with heavy caching in production.

Also, Material UI v5 will most likely use Emotion instead of JSS:
material-ui - [RFC] v5 styling solution

alexilyaev /
Last active May 11, 2022
New Mac Guidelines
alexilyaev / user-settings.json
Last active May 8, 2022
VS Code Common Settings
View user-settings.json
"[html]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
"[javascript]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
"[javascriptreact]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
alexilyaev /
Last active May 23, 2021
Checking out StackBlitz Web Containers

StackBlitz - Introducing WebContainers: Run Node.js natively in your browser

Good Things

  • Really easy to start up a new project and play around with it locally (like in CodeSandbox, but supports Node.js as well).
    • Turns out CodeSandbox have an experimental support for Node.js projects as well 😳 I don't know if they run it locally or remotely, and you can't clone and existing Node repo and run it.
  • Can connect to any repo on GitHub and play around with the code (if the Node.js version matches):
    • If it's my repo, I can directly commit to it. That's actually nice, cause it could be a very fast workflow for quick changes.
  • Can run on a Tablet or Chromebook.
alexilyaev /
Last active Mar 4, 2021
ESLint `no-null` rule from `eslint-plugin-unicorn`

Configs + Environment Variables



  • Very simple to setup.
  • Automatically assigns configured values on top of process.env.
  • Automatically supports overriding configured values via Environment Variables.
  • Promotes best practices (FAQ):


A really nice tool to manage the different Node.js/npm/yarn versions between projects:

The problems it solves

  • Making sure everyone who works on the project uses the same Node.js/npm/yarn version for consistent dependencies tree and Node.js execution.
  • Switching the Node.js version when jumping between projects.
alexilyaev /
Last active Dec 10, 2020
React Folder Structure Ideas

React Folder Structure Ideas

Suggested structure


Style Guides


  • Avoid using any as much as possible.
    • If you want a type meaning "any object", use Record<string, unknown> instead.
  • If you want a type meaning "any value", you probably want unknown instead.