Visual regression testing framework

Related tags

Charts viz
Overview

Viz

Visual regression testing framework. Works with all web frameworks.

npm version npm

Quick start

Install:

npm i -D viz

Configure Babel in your configuration file, e.g.

{
    "babel": {
        "presets": [
            "@babel/preset-env",
            [
                "@babel/preset-react",
                {
                    "runtime": "automatic"
                }
            ],
            "@babel/preset-typescript"
        ]
    }
}

Create some tests using TypeScript (.viz.tsx) or JavaScript (.viz.js or .viz.jsx):

// my-component.viz.tsx

import {render, unmountComponentAtNode} from 'react-dom'
import {afterEach, beforeEach, click, describe, hover, test} from 'viz'
import MyComponent from './my-component'

describe('my-component', () => {
    beforeEach(async () => {
        // Setup before each my-component test...
    })

    afterEach(async (target) => {
        // Clean up after each my-component test
        unmountComponentAtNode(target)
    })

    test('basic', async target => {
        // Asynchronously render inside the target DOM node
        await new Promise<void>(resolve => {
            render(
                <MyComponent />,
                target,
                resolve
            )
        })

        // Return the DOM node for Viz to screenshot
        return target.firstChild
    })

    test('disabled', async target => {
        await new Promise<void>(resolve => {
            render(
                <MyComponent disabled/>,
                target,
                resolve
            )
        })

        // Return the DOM node for Viz to screenshot
        return target.firstChild

        // Override the screenshot viewports specified in describe()
    }, [[320, 568], [1024, 768]])

    test('focus', async target => {
        await new Promise<void>(resolve => {
            render(
                <MyComponent />,
                target,
                async () => {
                    // Trigger focus state
                    await click('.MyComponent')
                    resolve()
                }
            )
        })
    })

    test('hover', async target => {
        await new Promise<void>(resolve => {
            render(
                <MyComponent />,
                target,
                async () => {
                    // Trigger hover state
                    await hover('.MyComponent')
                    resolve()
                }
            )
        })
    })

    // Optional screenshot viewports [width, height] (defaults to [1280, 1024])
}, [[320, 568], [768, 1024], [1024, 768], [1280, 768]])

Generate baseline screenshots:

npx viz baseline

Test your UI:

npx viz test

About

Viz generates and compares screenshots of your UI components using Puppeteer. Integrated into your CI/CD workflow, this allows you to detect unexpected visual changes to your UI and prevent visual regressions making it to production.

CLI usage

Command Description
viz compile [packageDir] Compile all test cases.
viz baseline [packageDir] Take baseline screenshots.
viz test [packageDir] Run viz tests, taking screenshots and comparing them against the baseline.
viz --help Get help.

If a package directory is specified, it must exist and contain a package.json file.

viz baseline options

Option Description
--missing Only take baseline screenshots that don’t yet exist.
--suite SUITE-1 SUITE-2 Only run specified suites.
--skip-compile Don’t compile test. (Assumes they’ve been compiled.)

Debugging tests in the browser

If any of your screenshots aren't being generated as expected, you can run them individually in a browser.

  1. Compile the tests:
    npx viz compile
  2. Start a web server (on port 8080, for example):
    npx serve -l 8080 node_modules/viz
  3. Open http://localhost:8080/bin/runner.html in your browser.
  4. Open your browser's JavaScript console.
  5. Run the test by suite name and test name, e.g.
    viz.runTest('my-component', 'basic')

Viz will render your test and, from there, you can inspect it.

Configuration

Viz can be configured via the first of the following files found in your project's root:

  • viz.json
  • .vizrc
  • .viz.js
  • viz.js

Valid configuration options are as follows:

Option Description Default
chromeExecutablePath Path to external Chrome executable
concurrentLimit Number of browsers to run in parallel 1
defaultViewportWidth Default viewport width in pixels 1024
defaultViewportHeight Default viewport height in pixels 1080
viewportScale Viewport scale 1
outputPath Output path for screenshots .viz/out
testReportOutputDir Path for test reports .viz/out/report
testFilePath Path to search for test files Current working directory
testFilePattern File extension (or array of file extensions) of test files [".viz.js", ".viz.jsx", ".viz.tsx"]
testRunnerHtml Optional custom HTML page in which tests should be executed
tmpDir Optional custom directory to store temporary files .viz/tmp in the current working directory
threshold Image matching threshold from 0 to 1 (smaller is more sensitive) 0
includeAA Whether to disable detecting and ignoring anti-aliased pixels false
babel Babel configuration {presets: ['@babel/preset-env', '@babel/preset-typescript']}
sourceMaps Whether to include source maps in the build false

NOTE: If chromeExecutablePath isn't specified, Viz tries to find an installation of Chrome and may fail to do so.

Monorepo support

To run a Viz command in a single monorepo package, specify the packageDir positional parameter (see usage above).

When specified, packageDir overrides testFilePath and prefixes outputPath, testReportOutputDir and tmpDir in the config file, ensuring Viz generates output in the package's directory.

Additional features

Padding around screenshots

To add padding to a screenshot, wrap the target element in an element with padding. The screenshot will automatically inherit the parent element's padding without having to fill it horizontally.

Roadmap

  • Tests
  • Improve documentation
  • Example repository

Acknowledgements

Viz is a permanent fork of Vizard, by Streamotion.

Comments
  • Bump loader-utils from 2.0.2 to 2.0.3

    Bump loader-utils from 2.0.2 to 2.0.3

    Bumps loader-utils from 2.0.2 to 2.0.3.

    Release notes

    Sourced from loader-utils's releases.

    v2.0.3

    2.0.3 (2022-10-20)

    Bug Fixes

    • security: prototype pollution exploit (#217) (a93cf6f)
    Changelog

    Sourced from loader-utils's changelog.

    2.0.3 (2022-10-20)

    Bug Fixes

    • security: prototype pollution exploit (#217) (a93cf6f)
    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies 
    opened by dependabot[bot] 1
  • Monorepo support

    Monorepo support

    Viz should take an optional directory parameter (following the existing command parameter) that overrides testFilePath and prefix outputPath, testReportOutputDir, and tmpDir.

    However, in prefixing these output paths, it should ensure the specified path contains a package.json file.

    For example,

    npx viz baseline packages/buttons
    

    will

    • run only tests located in packages/buttons
    • use baseline screenshots located in packages/buttons/.viz/out/baseline
    • generate output in packages/buttons/.viz/out/tested and packages/buttons/.viz/out/diff
    • generate a report in packages/buttons/.viz/out/report
    • write temporary files to packages/buttons/.viz/tmp
    opened by steve-taylor 1
  • Support TypeScript

    Support TypeScript

    Viz currently has a default build configuration that only supports JavaScript.

    Update the build configuration to support TypeScript. Stretch goal: Custom build configuration.

    enhancement 
    opened by steve-taylor 1
  • Bump ws from 6.2.1 to 6.2.2

    Bump ws from 6.2.1 to 6.2.2

    Bumps ws from 6.2.1 to 6.2.2.

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies 
    opened by dependabot[bot] 1
  • Bump browserslist from 4.7.1 to 4.16.6

    Bump browserslist from 4.7.1 to 4.16.6

    Bumps browserslist from 4.7.1 to 4.16.6.

    Changelog

    Sourced from browserslist's changelog.

    4.16.6

    • Fixed npm-shrinkwrap.json support in --update-db (by Geoff Newman).

    4.16.5

    • Fixed unsafe RegExp (by Yeting Li).

    4.16.4

    • Fixed unsafe RegExp.
    • Added artifactory support to --update-db (by Ittai Baratz).

    4.16.3

    • Fixed --update-db.

    4.16.2

    4.16.1

    • Fixed Chrome 4 with mobileToDesktop (by Aron Woost).

    4.16

    • Add browserslist config query.

    4.15

    • Add TypeScript types (by Dmitry Semigradsky).

    4.14.7

    • Fixed Yarn Workspaces support to --update-db (by Fausto Núñez Alberro).
    • Added browser changes to --update-db (by @​AleksandrSl).
    • Added color output to --update-db.
    • Updated package.funding to have link to our Open Collective.

    4.14.6

    • Fixed Yarn support in --update-db (by Ivan Storck).
    • Fixed npm 7 support in --update-db.

    4.14.5

    • Fixed last 2 electron versions query (by Sergey Melyukov).

    4.14.4

    • Fixed Unknown version 59 of op_mob error.

    4.14.3

    • Update Firefox ESR.

    4.14.2

    • Fixed --update-db on Windows (by James Ross).
    • Improved --update-db output.

    4.14.1

    • Added --update-db explanation (by Justin Zelinsky).

    ... (truncated)

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies 
    opened by dependabot[bot] 1
  • Bump lodash from 4.17.19 to 4.17.21

    Bump lodash from 4.17.19 to 4.17.21

    Bumps lodash from 4.17.19 to 4.17.21.

    Commits
    • f299b52 Bump to v4.17.21
    • c4847eb Improve performance of toNumber, trim and trimEnd on large input strings
    • 3469357 Prevent command injection through _.template's variable option
    • ded9bc6 Bump to v4.17.20.
    • 63150ef Documentation fixes.
    • 00f0f62 test.js: Remove trailing comma.
    • 846e434 Temporarily use a custom fork of lodash-cli.
    • 5d046f3 Re-enable Travis tests on 4.17 branch.
    • aa816b3 Remove /npm-package.
    • See full diff in compare view
    Maintainer changes

    This version was pushed to npm by bnjmnt4n, a new releaser for lodash since your current version.


    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies 
    opened by dependabot[bot] 1
  • Bump elliptic from 6.5.3 to 6.5.4

    Bump elliptic from 6.5.3 to 6.5.4

    Bumps elliptic from 6.5.3 to 6.5.4.

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies 
    opened by dependabot[bot] 1
  • Bump minimist from 1.2.0 to 1.2.2

    Bump minimist from 1.2.0 to 1.2.2

    Bumps minimist from 1.2.0 to 1.2.2.

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies 
    opened by dependabot[bot] 1
  • Bump async from 2.6.3 to 2.6.4

    Bump async from 2.6.3 to 2.6.4

    Bumps async from 2.6.3 to 2.6.4.

    Changelog

    Sourced from async's changelog.

    v2.6.4

    • Fix potential prototype pollution exploit (#1828)
    Commits
    Maintainer changes

    This version was pushed to npm by hargasinski, a new releaser for async since your current version.


    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies 
    opened by dependabot[bot] 0
  • Bump ansi-regex from 5.0.0 to 5.0.1

    Bump ansi-regex from 5.0.0 to 5.0.1

    Bumps ansi-regex from 5.0.0 to 5.0.1.

    Release notes

    Sourced from ansi-regex's releases.

    v5.0.1

    Fixes (backport of 6.0.1 to v5)

    This is a backport of the minor ReDos vulnerability in ansi-regex@<6.0.1, as requested in #38.

    • Fix ReDoS in certain cases (#37) You are only really affected if you run the regex on untrusted user input in a server context, which it's very unlikely anyone is doing, since this regex is mainly used in command-line tools.

    CVE-2021-3807

    https://github.com/chalk/ansi-regex/compare/v5.0.0..v5.0.1

    Thank you @​yetingli for the patch and reproduction case!

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies 
    opened by dependabot[bot] 0
  • Bump minimist from 1.2.5 to 1.2.6

    Bump minimist from 1.2.5 to 1.2.6

    Bumps minimist from 1.2.5 to 1.2.6.

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies 
    opened by dependabot[bot] 0
  • Bump webpack from 5.72.1 to 5.76.0

    Bump webpack from 5.72.1 to 5.76.0

    Bumps webpack from 5.72.1 to 5.76.0.

    Release notes

    Sourced from webpack's releases.

    v5.76.0

    Bugfixes

    Features

    Security

    Repo Changes

    New Contributors

    Full Changelog: https://github.com/webpack/webpack/compare/v5.75.0...v5.76.0

    v5.75.0

    Bugfixes

    • experiments.* normalize to false when opt-out
    • avoid NaN%
    • show the correct error when using a conflicting chunk name in code
    • HMR code tests existance of window before trying to access it
    • fix eval-nosources-* actually exclude sources
    • fix race condition where no module is returned from processing module
    • fix position of standalong semicolon in runtime code

    Features

    • add support for @import to extenal CSS when using experimental CSS in node
    • add i64 support to the deprecated WASM implementation

    Developer Experience

    • expose EnableWasmLoadingPlugin
    • add more typings
    • generate getters instead of readonly properties in typings to allow overriding them

    ... (truncated)

    Commits
    • 97b1718 Merge pull request #16781 from askoufis/loader-context-target-type
    • b84efe6 Merge pull request #16759 from ryanwilsonperkin/real-content-hash-regex-perf
    • c98e9e0 Merge pull request #16493 from piwysocki/patch-1
    • 5f34acf feat: Add target to LoaderContext type
    • b7fc4d8 Merge pull request #16703 from ryanwilsonperkin/ryanwilsonperkin/fix-16160
    • 63ea82d Merge branch 'webpack:main' into patch-1
    • 4ba2252 Merge pull request #16446 from akhilgkrishnan/patch-1
    • 1acd635 Merge pull request #16613 from jakebailey/ts-logo
    • 302eb37 Merge pull request #16614 from jakebailey/html5-logo
    • cfdb1df Improve performance of hashRegExp lookup
    • Additional commits viewable in compare view
    Maintainer changes

    This version was pushed to npm by evilebottnawi, a new releaser for webpack since your current version.


    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies 
    opened by dependabot[bot] 0
  • Bump json5 from 2.2.1 to 2.2.3

    Bump json5 from 2.2.1 to 2.2.3

    Bumps json5 from 2.2.1 to 2.2.3.

    Release notes

    Sourced from json5's releases.

    v2.2.3

    v2.2.2

    • Fix: Properties with the name __proto__ are added to objects and arrays. (#199) This also fixes a prototype pollution vulnerability reported by Jonathan Gregson! (#295).
    Changelog

    Sourced from json5's changelog.

    v2.2.3 [code, diff]

    v2.2.2 [code, diff]

    • Fix: Properties with the name __proto__ are added to objects and arrays. (#199) This also fixes a prototype pollution vulnerability reported by Jonathan Gregson! (#295).
    Commits
    • c3a7524 2.2.3
    • 94fd06d docs: update CHANGELOG for v2.2.3
    • 3b8cebf docs(security): use GitHub security advisories
    • f0fd9e1 docs: publish a security policy
    • 6a91a05 docs(template): bug -> bug report
    • 14f8cb1 2.2.2
    • 10cc7ca docs: update CHANGELOG for v2.2.2
    • 7774c10 fix: add proto to objects and arrays
    • edde30a Readme: slight tweak to intro
    • 97286f8 Improve example in readme
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies 
    opened by dependabot[bot] 0
  • Bump loader-utils from 2.0.2 to 2.0.4

    Bump loader-utils from 2.0.2 to 2.0.4

    Bumps loader-utils from 2.0.2 to 2.0.4.

    Release notes

    Sourced from loader-utils's releases.

    v2.0.4

    2.0.4 (2022-11-11)

    Bug Fixes

    v2.0.3

    2.0.3 (2022-10-20)

    Bug Fixes

    • security: prototype pollution exploit (#217) (a93cf6f)
    Changelog

    Sourced from loader-utils's changelog.

    2.0.4 (2022-11-11)

    Bug Fixes

    2.0.3 (2022-10-20)

    Bug Fixes

    • security: prototype pollution exploit (#217) (a93cf6f)
    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies 
    opened by dependabot[bot] 0
  • Bump terser from 5.13.1 to 5.14.2

    Bump terser from 5.13.1 to 5.14.2

    Bumps terser from 5.13.1 to 5.14.2.

    Changelog

    Sourced from terser's changelog.

    v5.14.2

    • Security fix for RegExps that should not be evaluated (regexp DDOS)
    • Source maps improvements (#1211)
    • Performance improvements in long property access evaluation (#1213)

    v5.14.1

    • keep_numbers option added to TypeScript defs (#1208)
    • Fixed parsing of nested template strings (#1204)

    v5.14.0

    • Switched to @​jridgewell/source-map for sourcemap generation (#1190, #1181)
    • Fixed source maps with non-terminated segments (#1106)
    • Enabled typescript types to be imported from the package (#1194)
    • Extra DOM props have been added (#1191)
    • Delete the AST while generating code, as a means to save RAM
    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies 
    opened by dependabot[bot] 0
  • Bump jpeg-js from 0.4.3 to 0.4.4

    Bump jpeg-js from 0.4.3 to 0.4.4

    Bumps jpeg-js from 0.4.3 to 0.4.4.

    Release notes

    Sourced from jpeg-js's releases.

    v0.4.4

    v0.4.4 (2022-06-07)

    • feat: add comment tag encoding (#87) (13e1ffa), closes #87
    • fix: validate sampling factors (#106) (9ccd35f), closes #106
    • fix(decoder): rethrow a more helpful error if Buffer is undefined (#93) (b58cc11), closes #93
    • chore(ci): migrate to github actions (#86) (417e8e2), closes #86
    • chore(deps): bump y18n from 4.0.0 to 4.0.3 (#98) (2c90858), closes #98
    • chore(deps): bump ws from 7.2.3 to 7.4.6 (#91) (fd73289), closes #91
    • chore(deps): bump hosted-git-info from 2.8.8 to 2.8.9 (#90) (9449a8b), closes #90
    • chore(deps): bump lodash from 4.17.15 to 4.17.21 (#89) (ffdc4a4), closes #89
    Commits
    • 9ccd35f fix: validate sampling factors (#106)
    • b58cc11 fix(decoder): rethrow a more helpful error if Buffer is undefined (#93)
    • 2c90858 chore(deps): bump y18n from 4.0.0 to 4.0.3 (#98)
    • fd73289 chore(deps): bump ws from 7.2.3 to 7.4.6 (#91)
    • 9449a8b chore(deps): bump hosted-git-info from 2.8.8 to 2.8.9 (#90)
    • ffdc4a4 chore(deps): bump lodash from 4.17.15 to 4.17.21 (#89)
    • 13e1ffa feat: add comment tag encoding (#87)
    • 417e8e2 chore(ci): migrate to github actions (#86)
    • See full diff in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies 
    opened by dependabot[bot] 0
  • Monorepo

    Monorepo

    When using Viz, it's often necessary to create some helpers to improve the signal to noise ratio in tests (i.e. less boilerplate). For example, a React 18 test with Styled Components might look something like this:

    class TestHarness extends Component<{ children?: ReactNode }> {
        render() {
            return this.props.children
        }
    }
    
    describe('Alert', () => {
        let root: Root
    
        afterEach(() => {
            root?.unmount()
        })
    
        [darkTheme, lightTheme].forEach(theme => {
            test('basic', async target => {
                root = createRoot(target)
    
                await new Promise<void>(resolve => {
                    root.render(
                        <TestHarness ref={() => resolve()}>
                            <ThemeProvider theme={darkTheme}>
                                <Alert level="info">
                                    The quick brown fox jumps over the lazy dog.
                                </Alert>
                            </ThemeProvider>
                        </TestHarness>
                    )
                })
    
                return target.firstChild
            })
        })
    })
    

    It'd be nice to do something like this instead:

    describe('Alert', () => {
        styledTest(
            'basic',
            <Alert level="info">
                The quick brown fox jumps over the lazy dog.
            </Alert>,
            [darkTheme, lightTheme]
        )
    })
    

    I want to make official helpers for various frameworks, but I don't want React developers, for exapmle, to feel like they have to add dependencies for Angular, Vue, Solid, Svelte, etc. just to make npm stop shouting at them. To solve this problem, helpers should be contained in their own npm packages, with their own dependencies. This is easier to manage when those packages are in the same repo, so a monorepo seems like the ideal solution.

    opened by steve-taylor 0
Releases(v3.0.1)
  • v3.0.1(May 15, 2022)

    What's Changed

    • Bump log4js from 6.3.0 to 6.4.0 by @dependabot in https://github.com/steve-taylor/viz/pull/21
    • Bump hosted-git-info from 2.8.5 to 2.8.9 by @dependabot in https://github.com/steve-taylor/viz/pull/14
    • Bump cached-path-relative from 1.0.2 to 1.1.0 by @dependabot in https://github.com/steve-taylor/viz/pull/22
    • Bump minimist from 1.2.5 to 1.2.6 by @dependabot in https://github.com/steve-taylor/viz/pull/23
    • Bump ansi-regex from 5.0.0 to 5.0.1 by @dependabot in https://github.com/steve-taylor/viz/pull/24
    • Bump async from 2.6.3 to 2.6.4 by @dependabot in https://github.com/steve-taylor/viz/pull/25
    • Update all other dependencies to the latest version

    Full Changelog: https://github.com/steve-taylor/viz/compare/v3.0.0...v3.0.1

    Source code(tar.gz)
    Source code(zip)
  • v3.0.1-alpha.2(May 14, 2022)

  • v3.0.1-alpha.1(May 14, 2022)

    What's Changed

    • Bump log4js from 6.3.0 to 6.4.0 by @dependabot in https://github.com/steve-taylor/viz/pull/21
    • Bump hosted-git-info from 2.8.5 to 2.8.9 by @dependabot in https://github.com/steve-taylor/viz/pull/14
    • Bump cached-path-relative from 1.0.2 to 1.1.0 by @dependabot in https://github.com/steve-taylor/viz/pull/22
    • Bump minimist from 1.2.5 to 1.2.6 by @dependabot in https://github.com/steve-taylor/viz/pull/23
    • Bump ansi-regex from 5.0.0 to 5.0.1 by @dependabot in https://github.com/steve-taylor/viz/pull/24
    • Bump async from 2.6.3 to 2.6.4 by @dependabot in https://github.com/steve-taylor/viz/pull/25
    • Update all other dependencies to the latest

    Full Changelog: https://github.com/steve-taylor/viz/compare/v2.1.0...v3.0.1-alpha.1

    Source code(tar.gz)
    Source code(zip)
  • v2.1.0(Jul 19, 2021)

  • v2.0.0(Jul 17, 2021)

    • Type definitions for TypeScript
    • Configurable Babel settings
    • Optional sourcemaps
    • Optional viewport scale factor
    • Automatic Chrome path discovery

    Breaking changes:

    • Tests must now import describe, beforeEach, afterEach, test and it.
    • Babel configuration must be overridden in the config file to support React.
    Source code(tar.gz)
    Source code(zip)
  • v2.0.0-alpha.9(Jul 17, 2021)

  • v2.0.0-alpha.8(Jul 17, 2021)

  • v2.0.0-alpha.7(Jul 17, 2021)

  • v2.0.0-alpha.6(Jul 15, 2021)

  • v2.0.0-alpha.5(Jul 15, 2021)

  • v2.0.0-alpha.4(Jul 15, 2021)

  • v2.0.0-alpha.3(Jul 15, 2021)

  • v2.0.0-alpha.2(Jul 15, 2021)

  • v2.0.0-alpha.1(Jul 15, 2021)

  • v2.0.0-alpha.0(Jul 15, 2021)

Owner
Steve Taylor
Steve Taylor
🦎 Simple and complete Vue.js testing utilities that encourage good testing practices.

Vue Testing Library Simple and complete Vue.js testing utilities that encourage good testing practices. Vue Testing Library is a lightweight adapter b

Testing Library 932 Jan 6, 2023
基于G6和Vue的可视化图形编辑器。A visual graph editor based on G6 and Vue.

X-Flowchart-Vue A visual graph editor based on G6 and Vue. 预览 online 示例 # git clone https://github.com/OXOYO/X-Flowchart-Vue.git # install dependenci

葡萄干@吐鲁番 1.2k Jan 5, 2023
A visual graph editor based on G6 and Vue, inspired by GGEditor.

VGEditor A visual graph editor based on G6 and Vue, inspired by GGEditor Online demo flow koni mind Installation yarn and npm yarn add [email protected]

ChrisShen93 196 Oct 7, 2022
An unopinionated advanced visual filtering component for Vue 2 and 3

The What An unopinionated Vue visual filtering component. It's built with customizability in mind. Demo and Code Example GIF. Prerequisites Node versi

Obada Khalili 77 Jan 3, 2023
A modern, visual video player for Vue3. It will bring your videos to life with a customizable and powerful player!

vue3-player-video A modern, visual video player for Vue3. It will bring your videos to life with a customizable and powerful player! If you have a pro

Enzo Esteves ⚡ 35 Dec 24, 2022
vue-element-visual-layout基于vue3 + electron13 + element-plus 开发的可视化拖动布局工具

欢迎使用 vue-element-visual-layout 基于vue3 + electron13 + element-plus 开发的可视化拖动布局工具 更新日志 v1.0.3 待更新 v1.0.2 剪切控件快捷键功能 鼠标移入节点树对应控件高亮 修复快捷键监听和浏览器默认复制剪切粘贴冲突 新增

null 14 Jul 18, 2022
Vue bare components to create svg interactive graphs, diagrams or node visual tools.

Vue bare components to create svg interactive graphs, diagrams or node visual tools.

null 78 Jan 4, 2023
An unopinionated Vue visual filtering component. It's built with customizability in mind.

The What An unopinionated Vue visual filtering component. It's built with customizability in mind. Demo and Code Example GIF. Prerequisites Node versi

Obada Khalili 77 Jan 3, 2023
A free and opensource component visual builder for TailwindCSS

whoobe-one-studio WhoobeOne Studio is a free and opensource component visual builder for TailwindCSS (required 2.0 min). You can create simple or strt

Antonio 43 Dec 1, 2022
Visual activity editor, JSON Schema-based common form support editor configuration, quickly build your own editor platform

Visual activity editor, JSON Schema-based common form support editor configuration, quickly build your own editor platform

Liu 72 Jan 6, 2023
JittorVis - Visual understanding of deep learning models

JittorVis: Visual understanding of deep learning model JittorVis is an open-source library for understanding the inner workings of Jittor models by vi

thu-vis 181 Oct 29, 2022
Quickly design LinkedIn visual polls like the once you see on other's profiles, for FREE✨

Quickly design LinkedIn visual polls like the once you see on other's profiles, for FREE ✨

fotiecodes 4 Nov 30, 2021
Visual Studio Code Syntax Highlighting For Vue3 And Vue2

vue-composition-api-tsx-example Project setup yarn install Compiles and hot-reloads for development yarn run serve Compiles and minifies for product

X.L 67 Jul 6, 2022
Visual JSON editor built as an vue component. Provides a basic GUI

Vue-Json-Edit Visual JSON Editor built as an vue component. Provides a basic GUI DEMO Getting Started npm install vue-json-edit --save Usage //import

jinkin1995 271 Dec 17, 2022
A dashboard is a visual display of all of your data

Dummy Dashboard Simple Dummy Dashboard for monitoring in Vue About This is project is Simple Dummy Dashboard for monitoring in Vue. A dashboard is a v

vibgreon 5 Sep 22, 2022
Covid19-Dashboard - Visualisation and Visual Data Analysis at the University of Vienna.

Covid19-Dashboard Data Source: COVID-19 Dataset by Our World in Data This basic Covid dashboard has been developed for the course "VIS - Visualisation

null 1 Mar 4, 2022
The Vue SDK you need to interact with Storyblok API and enable the Real-time Visual Editing Experience.

@storyblok/vue The Vue SDK you need to interact with Storyblok API and enable the Real-time Visual Editing Experience. Note: This plugin is for Vue 3.

Storyblok 61 Dec 29, 2022
Chromatone audio-visual web-experience for Touch Me

The interactive playground Chromatone audio-visual web-experience for Touch Me - the tactile MIDI instrument by Playtronica. How to play Open any WebM

Chromatone 3 Jun 19, 2022
Visual editor for SQF briefing

GDCBriefing Only available in French for now, sorry guys. Editeur de texte pour les briefing simples.

Tom Sublet 1 Apr 17, 2022
🌬 Opiniated Nuxt 3 Starter — visual deployment indicator & more

?? Opiniated Nuxt 3 Starter — visual deployment indicator & more

Johann Schopplich 7 Dec 7, 2022