Skip to content

Instantly share code, notes, and snippets.

@monochromer
monochromer / dual-package.md
Last active December 8, 2024 12:46
Роман Дворнов. Организация dual package с поддержкой модулей EcmaScripts и CommonsJS

Оригинал: https://t.me/gorshochekvarit/175

Dual Package - ESM и CJS

Примерно год назад стал очевиден тренд на переход всего и вся на ESM. Было несколько заявлений от опенсорс мейнтейнеров, самое известное, возможно, пост от Sindre Sorhus. Стало понятно, что нужно смотреть в эту сторону и думать как перевести свои проекты на ESM, в том числе CSSTree (и должно быть частью 2.0). Но в отличие от Sindre, я планировал перевод не на Pure ESM (поддержка только ESM), а на Dual, когда поддерживается и ESM и CommonJS.

Кажется, что до сих пор нет единого мнения о том как правильно – есть ярые сторонники как Pure ESM, так и Dual. У каждого подхода свои плюсы и минусы. Я склоняюсь к Dual, потому что попробовав использовать ESM на нескольких Node.js проектах (библиотеки и скрипты), пришел к мнению, что CommonJS во многих случаях и проще, и уместнее ESM. А вот если говорить про код испо

@monochromer
monochromer / web-components.md
Last active October 14, 2024 08:31
Сергей Куликов. Веб-компоненты (Web Components)
@monochromer
monochromer / nginx-location.md
Last active November 9, 2022 09:30
nginx location
@monochromer
monochromer / youtube-thumbnails-cdn.md
Last active October 19, 2022 19:28
Youtube Thumbnails CDN

Youtube Thumbnails CDN

URLS:

  • https://i.ytimg.com/vi/<video-id>/<size>.jpg
  • https://i.ytimg.com/vi_webp/<video-id>/<size>.webp

Sizes (video, channel):

  • default - 120x90, 88x88
  • mqdefault - 320x180, 240x240
  • hqdefault - 480x360, 800x800
@monochromer
monochromer / nginx.conf
Last active October 11, 2023 06:36
Стратегия кэширования от Adobe в Nginx
* https://medium.com/adobetech/an-http-caching-strategy-for-static-assets-configuring-the-server-1192452ce06a
server {
* style.cache-a1b2c3d4e5.css
location ~ \.cache-[a-z0-9]+\. {
etag off;
add_header Cache-Control "public,max-age=31536000,immutable";
}
* index.html
@monochromer
monochromer / app.md
Last active April 12, 2022 06:17
NGINX Server Sent Events Proxy configuration

Headers from backend app:

Content-Type: text/event-stream;  
Connection: keep-alive;  
Cache-Control: no-cache;  
X-Accel-Buffering: no;
@monochromer
monochromer / hover-pointer-any-hover-any-pointer.md
Last active August 10, 2021 08:23
Определение способа взаимодействия hover, pointer, any-hover, any-pointer

Определение способа взаимодействия

https://habr.com/ru/company/ruvds/blog/556156/

hover

Мультимедийная функция hover используется для выполнения запроса, направленного на выяснение возможности пользователя наводить указатель основного указывающего устройства на элементы. Если у устройства имеется несколько указывающих устройств, то hover-запрос должен отражать характеристики «основного» указывающего устройства, определённого пользовательским агентом.

@media (hover: hover) {
 /* при использовании основного механизма ввода можно без труда навести указатель на элемент */