Winerr.js
Материал из YastreWiki
Дополнительные действия
| Автор | DimaYastrebov |
|---|---|
| Первая версия | 0.1.0 (30 марта 2025) |
| Последняя версия | 0.3.6 (2 апреля 2025) |
| Язык | JavaScript, TypeScript |
| Лицензия | Проприетарная |
| Сайт | npmjs.com/package/winerrjs |
Winerr.js — библиотека для генерации смешных ошибок Windows в среде Node.js. Представляет собой адаптацию оригинального проекта Winerr от Shikoshib для JavaScript и TypeScript и позволяет получать результат в виде строки base64 или буфера.
История
Winerr.js была впервые опубликована в npm 28 марта 2025 года. DimaYastrebov (автор библиотеки) адаптировал существующий веб-инструмент для использования в коде Node.js, добавив возможность передачи параметров через API и интеграции с Puppeteer.
Нумерация версий
На данный момент последняя версия — 0.3.6, вышедшая 2 апреля 2025 года в 5 часов, 55 минут и 34 секунды по МСК.
| Версия | Дата (МСК) |
|---|---|
| 0.1.0 | 30 марта 2025, 02:49:56 |
| 0.2.0 | 30 марта 2025, 06:17:53 |
| 0.2.1 | 30 марта 2025, 06:21:31 |
| 0.2.2 | 30 марта 2025, 07:04:16 |
| 0.2.3 | 30 марта 2025, 07:46:32 |
| 0.2.4 | 30 марта 2025, 07:48:05 |
| 0.2.5 | 30 марта 2025, 07:50:36 |
| 0.2.6 | 30 марта 2025, 07:52:07 |
| 0.2.7 | 30 марта 2025, 09:45:33 |
| 0.2.8 | 30 марта 2025, 09:51:41 |
| 0.2.9 | 30 марта 2025, 09:53:36 |
| 0.2.10 | 30 марта 2025, 09:54:44 |
| 0.3.0 | 31 марта 2025, 07:56:24 |
| 0.3.1 | 1 апреля 2025, 05:04:10 |
| 0.3.2 | 1 апреля 2025, 05:04:35 |
| 0.3.3 | 1 апреля 2025, 05:24:16 |
| 0.3.4 | 1 апреля 2025, 06:46:47 |
| 0.3.5 | 1 апреля 2025, 15:06:53 |
| 0.3.6 | 2 апреля 2025, 05:55:34 |
Особенности
- Поддержка официальной и локальной установки Winerr (с собственными сборками)
- Генерация окон ошибок различных версий Windows с настраиваемыми заголовками, текстом, иконками и кнопками
- Вывод изображения окна ошибки в виде base64-строки или буфера
- Поддержка стилей окон ошибок, характерных для разных версий Windows
Установка
Для установки пакета используйте npm:
npm install winerrjs
Пример использования
const { Winerr, SystemTypes, ButtonBuilder, ButtonTypes } = require('winerrjs');
const puppeteer = require('puppeteer');
(async () => {
const client = new Winerr({
baseURL: 'https://shikoshib.ru/tools/winerr',
browser: await puppeteer.launch({ headless: true }),
});
const body = {
system: "Windows_11",
title: 'Winerr.js',
text: 'Библиотека для генерации окон ошибок в Node.js.',
icon: 28,
buttons: [
new ButtonBuilder().setType(ButtonTypes.DEFAULT).setText('Ok').build(),
new ButtonBuilder().setType(ButtonTypes.DISABLED).setText('Close').build(),
new ButtonBuilder().setType(ButtonTypes.RECOMMENDED).setText('Alt + F4').build(),
],
frameColor: '#000000',
primaryColor: '#FF0000',
secondaryColor: '#00FF00',
cross: false,
debug: true,
};
// Получение base64-строки
const errorBase64 = await client.image.create({ ...body, toBase64: true });
console.log(errorBase64);
// Получение буфера
const errorBuffer = await client.image.create({ ...body, toBase64: false });
console.log(errorBuffer);
await client.browser.close();
})();
Сохранение в файл
// Начиная с версии 0.2.4
client.image.create({
...body,
toBase64: false,
path: './image.png'
}); // возвращает true при успешном сохранении
Лицензия
Проект распространяется под проприетарной лицензией.