start new:
tmux
start new with session name:
tmux new -s myname
This is a walkthrough of how to set up Visual Regression Testing with Jest for an application created with create-react-app
.
The following walkthrough uses React as an example, but the approach should work for any modern frontend library! I assume it can be used with Angular, Vue, Cycle.js and more.
This gist walks you through a create-react-app
application as an example of how to set up Visual Regression Testing in Jest using libraries I wrote recently which enable this: jsdom-screenshot
, jest-transform-css
and jest-transform-file
.
version: "3.3" | |
services: | |
################################################ | |
#### Traefik Proxy Setup ##### | |
############################################### | |
traefik: | |
image: traefik:v2.0 | |
restart: always |
In addition to the Storybook for React setup, you'll also need to install these packages:
npm i -D @babel/core babel-loader css-loader style-loader
-- inspiration from https://dba.stackexchange.com/questions/69988/how-can-i-fake-inet-client-addr-for-unit-tests-in-postgresql/70009#70009 | |
CREATE SCHEMA if not exists override; | |
create table if not exists override.freeze_time_param_type | |
( | |
param_type text not null primary key | |
); | |
insert into override.freeze_time_param_type values ('enabled'), ('timestamp'), ('tick') on conflict do nothing; |
htmx-ext-shopify gives you access to the Shopify Ajax API from HTML to progressively enhance your Liquid templates. It's an unofficial, experimental extension for htmx.
The extension manipulates API requests and responses in order to replace / update Liquid sections on the current page. The new HTML for sections comes from Bundled section rendering and inserted using htmx swapping and out of band swaps.
This behavior is controlled using existing and new (see below) hx-*
attributes on the form triggering the request.
Update the customer's cart through the Shopify Ajax API and update the current page in response.
import { Prisma } from "@prisma/client"; | |
import type { Replace, UnionToTuple } from "type-fest"; | |
import { Effect, Option } from "effect"; | |
import { UnknownException } from "effect/Cause"; | |
type PrismaModelOp = Exclude< | |
// You can import operation types from the generated Prisma client | |
Operation, | |
| "$executeRaw" | |
| "$executeRawUnsafe" |
port { Chunk, Console, Context, Effect, Layer, Stream } from "effect"; | |
import amqp from "amqplib"; | |
import { NodeRuntime } from "@effect/platform-node"; | |
const make = Effect.gen(function* () { | |
const connection = yield* Effect.tryPromise(() => | |
amqp.connect( | |
"amqps://***", | |
), | |
); |