npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

prk-utils3333

v3.0.9

Published

Описание библиотеки тестовых методов Эта библиотека содержит набор методов для тестирования различных аспектов HTML, CSS, JavaScript и их элементов. Основные функциональные возможности включают проверку корректности импорта, сравнение CSS и JS кода, прове

Downloads

57

Readme

prk-utils

Описание библиотеки тестовых методов Эта библиотека содержит набор методов для тестирования различных аспектов HTML, CSS, JavaScript и их элементов. Основные функциональные возможности включают проверку корректности импорта, сравнение CSS и JS кода, проверку атрибутов HTML и сравнение контента тегов. Используется в тестах React, Node.js тренажеров веб-факультета

Функциональность

Методы для проверки импорта

  • checkImport(tree, name, path, errors, mandatory) - Проверяет наличие и правильность импорта модуля в дереве AST.

Методы для сравнения CSS

  • compareCSS(css1, css2) - Сравнивает две строки CSS кода, возвращает результат сравнения и ошибки.
  • cssToObject(cssString) - Преобразует CSS строку в объект, представляющий структуру CSS правил.

Методы для проверки HTML атрибутов

  • checkAttributes(element1, element2) - Сравнивает атрибуты двух HTML элементов, возвращает результат сравнения и ошибки.
  • checkClass(classString1, classString2, location) - Сравнивает классы двух HTML элементов, проверяет наличие и порядок классов.
  • checkHref(href1, href2, location) - Сравнивает значения атрибута href у двух HTML элементов, проверяет корректность ссылки.

Методы для сравнения контента тегов

  • checkTagContent(content1, content2, tagName) - Сравнивает содержимое двух HTML тегов, возвращает результат сравнения и ошибки.
  • getTagContent(htmlString, tagName) - Извлекает содержимое указанных тегов из HTML строки, возвращает массив объектов с содержимым тегов.

Методы для проверки JavaScript кода

  • compareJS(js1, js2, errors) - Сравнивает две строки JavaScript кода, определяет различия в синтаксисе и семантике.
  • checkExpressionCorrect(tree, query, expressionName, errors, options) - Проверяет правильность выражений в дереве AST, возвращает результат и ошибки.

Методы для общего сравнения HTML

  • compareHTML(html1, html2) - Сравнивает две строки HTML, определяет различия в тегах, атрибутах и содержимом, возвращает результат и ошибки.

Методы для конвертации

  • convertCSSError(compareResult) - Преобразует ошибки CSS в читаемый формат, возвращает объект с идентификатором ошибки и дополнительными данными.
  • convertHTMLError(compareResult) - Преобразует ошибки HTML в читаемый формат, возвращает объект с идентификатором ошибки и дополнительными данными.

Вспомогательные методы

  • addError(errors, errorKey) - Добавляет ошибку в массив ошибок, проверяет наличие дубликатов.
  • checkFiles(answers, errors) - Проверяет файлы на соответствие ожидаемому содержимому, возвращает массив ошибок.
  • jsxToJS(jsxCode) - Преобразует JSX код в JavaScript, возвращает строку JavaScript кода.
  • tsToJS(tsCode) - Преобразует TypeScript код в JavaScript, возвращает строку JavaScript кода.
  • getParse5tokenizer(htmlString) - Создает токенайзер для HTML, возвращает токены для анализа HTML структуры.

Методы для тестирования React компонентов

  • getReactTestRendererComponent(importStatement, jsx) - Возвращает React компонент для тестирования, принимает путь к компоненту и его рендер.

Использование в проектах

Для корректной установки пакета в образ docker необходимо добросить авторизационный токен (скоуп packages_registry:read) и задать его в CI env'ах (NPM_TOKEN). Для этого в пайплайне перед сборкой можно использовать следующий сниппет

  script:
    - export TAG=$(echo $CI_COMMIT_BRANCH | cut -d "/" -f 2)
    - echo "@prk-dev:registry=https://practicum.gitlab.yandexcloud.net/api/v4/projects/271/packages/npm/" >> image/nodejs/.npmrc
    - echo "//practicum.gitlab.yandexcloud.net/api/v4/projects/271/packages/npm/:_authToken=${NPM_TOKEN}" >> image/nodejs/.npmrc
    - docker build . -t this-is-example