Skip to content

Commit

Permalink
middleware packages
Browse files Browse the repository at this point in the history
  • Loading branch information
lukasbach committed Apr 7, 2022
1 parent b1a394d commit 279a676
Show file tree
Hide file tree
Showing 19 changed files with 233 additions and 218 deletions.
2 changes: 2 additions & 0 deletions packages/stories/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,8 @@
"react-test-renderer": "^17.0.1",
"storybook-addon-react-docgen": "^1.2.42",
"synergies": "^1.1.1",
"synergies-logging-middleware": "^1.0.0",
"synergies-storybook-middleware": "^1.0.0",
"ts-jest": "^26.4.4",
"typescript": "^4.1.2"
}
Expand Down
76 changes: 0 additions & 76 deletions packages/stories/src/example.stories-disabled.tsx

This file was deleted.

131 changes: 0 additions & 131 deletions packages/stories/src/helpers.tsx

This file was deleted.

24 changes: 22 additions & 2 deletions packages/stories/src/multiple-middlewares.stories.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,8 @@ import {
import { Button } from "@blueprintjs/core";
import React from "react";
import { action } from "@storybook/addon-actions";
import { StorybookMiddlewareProvider } from "synergies-storybook-middleware";
import { LoggingMiddlewareProvider } from "synergies-logging-middleware";

const countAtom = createAtom(0, "count");
const useIncrease = countAtom.createAction(() => value => {
Expand Down Expand Up @@ -51,7 +53,7 @@ const middleware3: Middleware = next => atoms => {
next(atoms);
};

export const Example = () => (
export const MultiMiddlewares = () => (
<MiddlewareProvider middlewares={[middleware3, middleware2, middleware1]}>
<SynergyProvider atoms={[countAtom]}>
<CounterButton />
Expand All @@ -64,6 +66,24 @@ export const Example = () => (
</MiddlewareProvider>
);

export const LoggingMiddlewareExample = () => (
<LoggingMiddlewareProvider>
<SynergyProvider atoms={[countAtom]}>
<CounterButton />
See console for the middleware logs.
</SynergyProvider>
</LoggingMiddlewareProvider>
);

export const StorybookMiddlewareExample = () => (
<StorybookMiddlewareProvider>
<SynergyProvider atoms={[countAtom]}>
<CounterButton />
See actions tab for middleware action logs.
</SynergyProvider>
</StorybookMiddlewareProvider>
);

export default {
title: "Multiple Middlewares",
title: "Middlewares",
};
6 changes: 3 additions & 3 deletions packages/stories/src/server-calls.stories.tsx
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import React from "react";
import { createAtom, createSynergy, SynergyProvider } from "synergies";
import { StorybookMiddlewareProvider } from "synergies-storybook-middleware";
import { Button } from "@blueprintjs/core";
import { StorybookActionsMiddleware } from "./helpers";

const isLoadingAtom = createAtom(false, "isLoading");
const dataAtom = createAtom<{
Expand Down Expand Up @@ -54,11 +54,11 @@ export default {
title: "Async Server Calls",
decorators: [
Story => (
<StorybookActionsMiddleware>
<StorybookMiddlewareProvider>
<SynergyProvider atoms={[isLoadingAtom, dataAtom]}>
<Story />
</SynergyProvider>
</StorybookActionsMiddleware>
</StorybookMiddlewareProvider>
),
],
};
6 changes: 3 additions & 3 deletions packages/stories/src/todo-list.stories.tsx
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import { createAtom, createSynergy, SynergyProvider } from "synergies";
import { Button, Checkbox, ControlGroup, InputGroup } from "@blueprintjs/core";
import React from "react";
import { StorybookActionsMiddleware } from "./helpers";
import { StorybookMiddlewareProvider } from "synergies-storybook-middleware";

// Atom name is optional and for debugging through middleware
const filterAtom = createAtom(false, "filter");
Expand Down Expand Up @@ -83,7 +83,7 @@ export const Example = () => (
// We don't have to nest the providers so extremely, but this demonstrates how you can inject
// atoms at any place in the hierarchy and they can still communicate upwards with other
// atoms.
<StorybookActionsMiddleware>
<StorybookMiddlewareProvider>
<SynergyProvider atoms={[filterAtom]}>
<FilterButton />
<SynergyProvider atoms={[itemsAtom]}>
Expand All @@ -93,7 +93,7 @@ export const Example = () => (
</SynergyProvider>
</SynergyProvider>
</SynergyProvider>
</StorybookActionsMiddleware>
</StorybookMiddlewareProvider>
);

export default {
Expand Down
2 changes: 2 additions & 0 deletions packages/synergies-logging-middleware/.npmignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
.idea
node_modules
3 changes: 3 additions & 0 deletions packages/synergies-logging-middleware/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# Synergies Logging Middleware

See https://synergies.js.org for more details.
1 change: 1 addition & 0 deletions packages/synergies-logging-middleware/jest.config.js
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
module.exports = require("../../config/jest.config");
49 changes: 49 additions & 0 deletions packages/synergies-logging-middleware/package.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
{
"name": "synergies-logging-middleware",
"version": "1.0.0",
"repository": {
"type": "git",
"url": "[email protected]:lukasbach/synergies.git",
"directory": "packages/synergies-logging-middleware"
},
"sideEffects": false,
"author": "Lukas Bach",
"license": "MIT",
"private": false,
"main": "lib/cjs/index.js",
"module": "lib/esm/index.js",
"esnext": "lib/esnext/index.js",
"typings": "lib/types/index.d.ts",
"scripts": {
"build": "tsc",
"build:all": "run-p \"build:cjs\" \"build:esm\" \"build:esnext\" \"build:types\"",
"build:cjs": "tsc -m commonjs --outDir lib/cjs",
"build:types": "tsc --declaration true --emitDeclarationOnly --outDir lib/types",
"build:esm": "tsc -m es2015 --outDir lib/esm",
"build:esnext": "tsc -m esnext --outDir lib/esnext",
"start": "tsc -w",
"test": "jest --passWithNoTests",
"prepublish": "yarn build:all && yarn test"
},
"devDependencies": {
"@babel/preset-env": "^7.12.11",
"@babel/preset-react": "^7.12.10",
"@testing-library/dom": "^8.13.0",
"@testing-library/jest-dom": "^4.2.4",
"@testing-library/react": "^9.3.2",
"@testing-library/react-hooks": "^7.0.2",
"@testing-library/user-event": "^14.0.4",
"@types/jest": "^27.4.1",
"@types/react": "^17.0.39",
"@types/react-dom": "^17.0.0",
"babel-jest": "^26.6.3",
"jest": "^26.6.3",
"npm-run-all": "^4.1.5",
"react-test-renderer": "^17.0.1",
"ts-jest": "^26.4.4",
"typescript": "^4.1.2"
},
"peerDependencies": {
"synergies": "*"
}
}
Loading

0 comments on commit 279a676

Please sign in to comment.