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

@syngrisi/syngrisi

v2.2.3

Published

Syngrisi - Visual Testing Tool

Downloads

8

Readme

Syngrisi: Visual Testing Tool

Syngrisi is designed to facilitate automated visual regression testing. It seamlessly integrates with both new and existing test automation kits, providing an API for automated solutions and a user-friendly UI for reviewing and managing visual test data.

Try with a Single-Click

To quickly preview the project without setting it up locally, click the 'Open in Gitpod' button. Gitpod will automatically set up an environment, install the Syngrisi Cucumber Boilerplate Project, and launch the Syngrisi instance for you.

Open in Gitpod

System Prerequisites

There are two modes in which Syngrisi can be run:

  • Native Mode: Utilize Node.js to run Syngrisi directly on your operating system for local execution.
  • Container Mode: Utilizing Docker and Docker Compose, this mode is more apt for production environments.

Native Mode

Container Mode

Quick Start

https://user-images.githubusercontent.com/23633060/225095007-39ee0a29-61c1-4f46-99ab-1af67052accb.mp4

[!TIP] If you want to try Syngrisi for the first time, you can use boilerplate projects; they are installed easily and quickly and allow you to evaluate the basic capabilities of the tool.

Native Mode Installation

To install Syngrisi in the current folder:

npm init sy@latest

To install to a specific folder:

npm init sy@latest <path_to_syngrisi>

For more details on setup customization, refer to the create-sy package documentation.

[!IMPORTANT] Ensure that MongoDB is running before starting Syngrisi in native mode.

To run the server, execute:

npx sy

Container Mode

In addition to running the application natively, it can also be launched in a Docker container using a Docker Compose file. To download and execute Docker and Docker Compose files for Syngrisi, follow these steps:

# Check if docker-compose is installed
command -v docker-compose >/dev/null 2>&1 || { echo >&2 "docker-compose is required; please install it and run this command again."; exit 1; }

# Create the project folder
mkdir my_new_syngrisi_project && cd my_new_syngrisi_project

# Download Docker and Docker Compose files
curl -LO https://raw.githubusercontent.com/syngrisi/syngrisi/main/packages/syngrisi/syngrisi-app.dockerfile
curl -LO https://raw.githubusercontent.com/syngrisi/syngrisi/main/packages/syngrisi/docker-compose.yml

# Create and start services
sudo docker-compose up

You are free to modify the Docker Compose file according to your requirements. Ensure that service definitions and options are set up correctly; otherwise, services may not function as expected.

Environment variables for Docker Compose can be configured either in an environment file or directly in the shell. For detailed configuration instructions, please refer to the Syngrisi documentation.

sudo docker-compose up

Syngrisi Boilerplates

To quickly take a look at Syngrisi or start a new automation test project, you can use one of the boilerplates:

Configuration via Environment Variables

Customize Syngrisi's behavior effortlessly using environment variables, without any need to modify the codebase. The System Environment variables have priority more than correspondent Syngrisi Admin Settings if they exist. For example, to set the log level to debug, use the following command:

Windows:set SYNGRISI_LOG_LEVEL=debug macOS/Linux: export SYNGRISI_LOG_LEVEL=debug

You can also include the variables in your .env or modify variables in docker-compose.yml file before start Syngrisi service.

| Variable | Host | Docker | Description | Default Value | |--------------------------------|------|--------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------|----------------------------------------| | SYNGRISI_DOCKER_IMAGES_PATH | - | + | Path to the internal Docker folder for Syngrisi images, including screenshots and diffs. | ./.snapshots-images | | SYNGRISI_DOCKER_PORT | - | + | Docker external Syngrisi App Server Port (host port) | 5000 | | SYNGRISI_DOCKER_DB_PORT | - | + | Docker external Syngrisi Database Server Port (host port) | 27017 | | SYNGRISI_DOCKER_DB_AUTH_ARG | - | + | To enable mongo database authentication set it to --auth be sure that you create user for SyngrisiDb database and add appropriate values to connection string | --noauth | | SYNGRISI_DOCKER_BACKUPS_PATH | - | + | Host Backup Folder path | ./backups/ | | SYNGRISI_DOCKER_DB_PATH | - | + | Host Path to Syngrisi Database files | ./data/db_data | | SYNGRISI_DB_URI | + | + | Connection URI for Mongo DB service | mongodb://127.0.0.1:27017/SyngrisiDb | | SYNGRISI_IMAGES_PATH | + | + | Path to the folder for Syngrisi images, including screenshots and diffs. | ./.snapshots-images/ | | SYNGRISI_APP_PORT | + | - | TCP port for application server | 3000 | | SYNGRISI_AUTH | + | + | Enables authentication | 1 | | MONGODB_ROOT_USERNAME | - | + | Username for the Database Root user, that will be created at first Applications start | - | | MONGODB_ROOT_PASSWORD | - | + | Password for the Database Root user, that will be created at first Applications start | - | | LOGLEVEL | + | - | Log level (error warn,info,verbose,debug,silly) | debug | | SYNGRISI_PAGINATION_SIZE | + | - | Number of tests items on that return /checks?page={page_num} API | 50 | | SYNGRISI_TEST_MODE | + | + | Enables test admin user if equal 1, used only for tests purposes | 0 | | SYNGRISI_DISABLE_FIRST_RUN | + | + | Disable first run procedure, disabled if equal 1, used only for tests purposes | 0 | | SYNGRISI_DISABLE_DEV_CORS | + | - | Disable CORS for vite dev server, only for dev and test purposes | - | | SYNGRISI_SESSION_STORE_KEY | + | + | A Secret for session storage | random generated | | SYNGRISI_COVERAGE | + | - | Enable coverage, if true generated coverage data to ./coverage | - | | SYNGRISI_HTTP_LOG | + | + | Enable HTTP logs, if true logging all HTTP request to ./logs/http.log file | false |

Devices list

Syngrisi includes a list of recognized devices, sourced from BrowserStack.

The application sets the platform icon based on this list. Do not edit this file directly. If you wish to add your own devices, simply create an additional file named custom_devices.json; the data from this file will be appended to the main list.

License

Syngrisi is available under the MIT License. For more details, refer to the LICENSE file.