Новости
@tailwindcss/vite
/about/
, /about
или даже /about///
http
или https
, прописываемые сразу в конфигеimport maps
в старых браузерах эти полифиллы открывают возможность запускать type-erasable-код на TS прямиком в браузере, без компиляцииboundaries
(проверяет реп на следование бестпрактисам для лучшего кеширования сборки) и кеширование в watch-режимеscheduler.yield()
для «создания пауз» в работе эвент-лупа)Проекты
package.json
)node_modules
в проектеСтатьи и демки
JS
// server
const myApp = async (req: Request) => {
return new Response("Hello world!");
};
const response = await myApp(new Request("http://localhost/"));
const text = await response.text();
document.cookie
(только Хромиум, но есть в «ночных» версия Safari и FF):
await cookieStore.set()/get()/getAll()/delete()
// а также эвент на изменение
cookieStore.addEventListener("change")
useOptimistic
из React 19 подходит для обработки кейсов «промежуточных» состояний интерфейса при асинхронном выполнением действий: ушёл запрос, ждём ответ, пока что оптимистично показали результатCSS
@starting-style
можно применять в том числе для анимации показа/сокрытия <dialog>
и подложки ::backdrop
: чтобы они плавно показывались и скрывались без дополнительных телодвижений в коде (типа сменить туда-сюда opacity
)::view-transition
, который показывается оверлеем над всем вьюпортом; поправить это можно, выключив pointer-events
для него:
::view-transition {
pointer-events: none;
}
min-width: fit-content
, который подтянет ширину под контент и справится с задачей переноса более аккуратно, чем text-wrap: nowrap
hyphens: auto
, но в дополнение есть ещё свойство hyphenate-limit-chars
, ограничивающее количество символов, которые будут перенесены (только Хромиум)<meter>
под «звёздный» рейтинг: ставим на фон SVG с прозрачной «маской», заполняем цветомclip-path: polygon()
и transition
можно сделать «скошенный» слайдер@web_platform | Поддержать канал