Articles
07 April, 2026
How to avoid localStorage, cookie, and service worker conflicts between projects — automatic port assignment based on package.json.
17 March, 2026
Analyzing when to use <style scoped> in Vue and when unique class names are sufficient.
20 February, 2026
How to truncate text in the middle using Flexbox, text-overflow, and ResizeObserver without dependencies.
17 February, 2026
A repository template for automating version publishing, generating changelogs, and creating GitHub Releases using GitHub Actions.
04 November, 2025
When regex-based email validation is unnecessary and how to correctly ensure the entered address is valid.
14 October, 2025
A concise guide to CSS properties for text wrapping and truncation: overflow-wrap, text-wrap, word-break, white-space, and text-overflow.
25 September, 2025
Strict typing and immutability of objects in TypeScript: how to use as const and satisfies to validate object fields and lock literal values.
26 August, 2025
Exports from modules are visible globally, clutters autocomplete in the IDE, and prevents code encapsulation — analysis of the problem and possible workarounds.
21 August, 2025
How to run TypeScript files directly, without intermediate transpilation, using modern Node.js versions.
19 August, 2025
How to quickly create a Telegram Mini App — simple bot registration via BotFather and a link to your website.
05 August, 2025
A web service for tracking metrics and dependencies of GitHub repositories: stars, forks, issues, dependencies. Quick setup, local storage, no deployment — a simple and intuitive dashboard for your pet projects.
31 July, 2025
A plugin for ESLint that helps monitor the style and architecture of Pinia stores. Supports recommended rules, structure checking, and naming.
29 July, 2025
A plugin for ESLint that checks Markdown files against markdownlint rules. Useful when working with documentation, README files, and articles. Supports configuration, custom rules, and autofix.
24 July, 2025
ESLint plugin that checks the compatibility of your code with target browsers. Easy to install, supports polyfills, configurable via browserslist.
22 July, 2025
How to automatically assign size/M and size/XL labels to Merge Requests in GitLab CI based on the number of changes.
17 July, 2025
Abandoning Prettier — why the popular code formatter is losing relevance and how ESLint has become a convenient and flexible alternative.
15 July, 2025
How to create a custom Stylelint plugin: from the basic API to autofix support. Parse CSS tokens using PostCSS without manual value replacement.
10 July, 2025
Why do Vue components in defineProps not work correctly with imported types? How does props compilation work, and why does local type declaration help.
08 July, 2025
Postman and Insomnia have become overloaded and overgrown with paid features. A new alternative is Yaak. A lightweight REST client with a basic set of features.
03 July, 2025
Downloading an APK from RuStore without registration via the official API: how to get information about the app and download the APK from RuStore.
01 July, 2025
How to find merged git branches and check related tasks in the tracker. Simplifies cleaning up the repository after releases and helps you not to lose anything important.
27 June, 2025
How to automatically add icons to links to external resources using CSS — without JavaScript and with security in mind.
25 June, 2025
How to use npkill to find and delete node_modules folders with a single click — freeing up gigabytes of disk space in a couple of minutes.
23 June, 2025
How to implement a typed CustomEvent service in Vue with autocompletion, strict types, and useEventListener support from VueUse.
20 June, 2025
How to set up spell checking in code using cspell — support for Russian and English, dictionaries, masks, and integration into a project.
18 June, 2025
How to find and remove outdated polyfills from node_modules using nolyfill to speed up the installation, build, and launch of a JavaScript project.
16 June, 2025
How to prohibit implicit state mutation in Pinia using TypeScript so that changes are explicit and controllable, improving application stability.
13 June, 2025
The convenient tld-list aggregator collects prices, terms, and WHOIS privacy options for domain zones to help you easily choose the best registrar and rate.
11 June, 2025
Let's figure out whether it's worth using setup store in Pinia: pros, limitations, and why option store remains a reliable choice for most projects.
09 June, 2025
Why you should migrate from CommonJS to ESM, what advantages the new module format offers, and when migration may cause issues.
06 June, 2025
How to add superscript explanations to words using the <ruby> tag. Works for Japanese, Chinese, and any other languages.
04 June, 2025
Improved typing for querySelector and querySelectorAll with typed-query-selector for accurate output of element types based on CSS selectors in TypeScript.
02 June, 2025
The ts-reset utility improves TypeScript's standard typing, making the API stricter and safer without changing existing correct code.
28 May, 2025
A convenient way to automatically update npm dependencies using npm-check-updates: more control, filters, and interactivity for easy project maintenance.