Открыть меню
Переключить меню настроек
Открыть персональное меню
Вы не представились системе
Ваш IP-адрес будет виден всем, если вы внесёте какие-либо изменения.

Winerr.js

Материал из YastreWiki
Winerr.js
Автор DimaYastrebov
Первая версия 0.1.0 (30 марта 2025)
Последняя версия 0.3.6 (2 апреля 2025)
Язык JavaScript, TypeScript
Лицензия Проприетарная
Сайт npmjs.com/package/winerrjs

Winerr.js — библиотека для генерации смешных ошибок Windows в среде Node.js. Представляет собой оболочку над Puppeteer, которая использует браузер для взаимодействия со страницей 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 при успешном сохранении

Лицензия

Проект распространяется под проприетарной лицензией.

См. также