Lightweight Redux Store based on RxJS

Overview

MiniRx - RxJS Redux Store - Logo

NPM semantic-release MIT License Tests All Contributors Downloads styled with prettier

MiniRx Store 5 (alpha)

MiniRx Store 5 (alpha) has been released (2023-01-23)!

What's new?

  • Component Store:
    • Manage state independently of the global state object (which is used by Store and Feature Store)
    • Component Store and Feature Store share the same API (setState, select, effect...)
    • Component Store is perfect for managing smaller and local state (most times that is Component state)
    • You can use most of the MiniRx extensions: Logger Extension, Undo Extension and Immutable Extension
    • Component Store extensions can be configured globally or individually for each store
  • Tree-shakable: even more lightweight!
  • Lazy state initialisation with setInitialState
  • setState accepts also an Observable: use an Observable to update state

Read more in the CHANGELOG about the changes and the very few BREAKING CHANGES.

Angular Integration (mini-rx-store-ng)

  • ComponentStoreModule: Configure ComponentStore extensions globally with the forRoot static method
  • BREAKING CHANGE: StoreDevtoolsModule has been removed. You can use now the normal ReduxDevtoolsExtension from mini-rx-store with StoreModule.forRoot.

Read more in the CHANGELOG of the Angular Integration.

Installation

npm i mini-rx-store@5@alpha

Install the Angular Integration if you are using Angular:

npm i mini-rx-store-ng@4@alpha

The Angular Integration requires now Angular@12.

Final todos until the major release

  • Update documentation

MiniRx Store

MiniRx Store provides Reactive State Management for JavaScript and TypeScript applications. It is a global, application-wide solution to manage state and is powered by RxJS. MiniRx will help you to manage state at large scale (with the Redux pattern), but it also offers a simple form of state management: Feature Stores.

What's Included

  • RxJS powered global state management
  • State and actions are exposed as RxJS Observables
  • Store (Redux API):
    • Actions
    • Reducers
    • Meta Reducers
    • Memoized Selectors
    • Effects
    • mapResponse operator: handle the side effect response in Effects
    • Support for ts-action: Create and consume actions with as little boilerplate as possible
  • Feature Store: Manage feature state directly with a minimum of boilerplate:
    • setState() update the feature state
    • select() select state from the feature state object as RxJS Observable
    • effect() run side effects like API calls and update feature state
    • undo() easily undo setState actions (requires UndoExtension)
    • destroy() remove the feature state
    • tapResponse operator: handle the side effect response in Feature Store effect
  • Extensions:
    • Redux DevTools Extension: Inspect global state with the Redux DevTools
    • Immutable Extension: Enforce state immutability
    • Undo Extension: Undo dispatched actions
    • Logger Extension: console.log the current action and updated state
  • Framework-agnostic: MiniRx works with any front-end project built with JavaScript or TypeScript (Angular, Svelte, React, Vue, or anything else)
  • TypeScript support: The MiniRx API comes with TypeScript type definitions
  • Angular Integration: Use MiniRx Store the Angular way:
    • Configure the Store with StoreModule.forRoot()
    • Add feature state with StoreModule.forFeature()
    • Inject Store and Actions

Key Concepts

  • The store is a single object which holds the global application state. It is the "single source of truth"
  • State and actions are exposed as RxJS Observables
  • State has a flat hierarchy and is divided into "feature states" (also called "slices" in Redux world)
  • For each "feature state" we can decide to use the Redux API with actions and reducers or the simplified Feature Store API
  • State is read-only (immutable) and can only be changed by dispatching actions (Redux API) or by using setState (Feature Store API)

Installation

Install from the NPM repository using npm:

npm install mini-rx-store

Install the RxJS peer dependency:

npm install rxjs

Basic Tutorial

Let's dive into some code to see MiniRx in action. You can play with the tutorial code on StackBlitz.

Store (Redux API)

MiniRx supports the classic Redux API with registering reducers and dispatching actions. Observable state can be selected with memoized selectors.

import {
  Action,
  Store,
  configureStore,
  createFeatureSelector,
  createSelector
} from 'mini-rx-store';
import { Observable } from 'rxjs';

// 1.) State interface
interface CounterState {
  count: number;
}

// 2.) Initial state
const counterInitialState: CounterState = {
  count: 1
};

// 3.) Reducer
function counterReducer(
  state: CounterState = counterInitialState,
  action: Action
): CounterState {
  switch (action.type) {
    case 'inc':
      return {
        ...state,
        count: state.count + 1
      };
    default:
      return state;
  }
}

// 4.) Get hold of the store instance and register root reducers
const store: Store = configureStore({
  reducers: {
    counter: counterReducer
  }
});

// 5.) Create memoized selectors
const getCounterFeatureState = createFeatureSelector<CounterState>('counter');
const getCount = createSelector(
  getCounterFeatureState,
  state => state.count
);

// 6.) Select state as RxJS Observable
const count$: Observable<number> = store.select(getCount);
count$.subscribe(count => console.log('count:', count));
// OUTPUT: count: 1

// 7.) Dispatch an action
store.dispatch({ type: 'inc' });
// OUTPUT: count: 2

Feature Store API

With MiniRx Feature Stores we can manage feature state directly with a minimum of boilerplate.

import { FeatureStore } from 'mini-rx-store';
import { Observable } from 'rxjs';

// State interface
interface CounterState {
  count: number;
}

// Initial state
const counterInitialState: CounterState = {
  count: 11
};

// Extend FeatureStore and pass the State interface
export class CounterFeatureStore extends FeatureStore<CounterState> {
  // Select state as RxJS Observable
  count$: Observable<number> = this.select(state => state.count);

  constructor() {
    // Call super with the feature key and the initial state
    super('counterFs', counterInitialState);
  }

  // Update state with `setState`
  inc() {
    this.setState(state => ({ count: state.count + 1 }));
  }
}

Use the "counterFs" Feature Store like this:

import { CounterFeatureStore } from "./counter-feature-store";

const counterFs = new CounterFeatureStore();
counterFs.count$.subscribe(count => console.log('count:', count));
// OUTPUT: count: 11

counterFs.inc();
// OUTPUT: count: 12

ℹ️ The state of a Feature Store becomes part of the global state

Every new Feature Store will show up in the global state with the corresponding feature key (e.g. 'counterFs').

store.select(state => state).subscribe(console.log);
//OUTPUT: {"counter":{"count":2},"counterFs":{"count":12}}

See the basic tutorial on Stackblitz: MiniRx Store - Basic Tutorial

Demos and examples:

Demos:

These popular Angular demo applications show the power of MiniRx:

More about MiniRx:

Blog Posts:

Community

References

These projects, articles and courses helped and inspired us to create MiniRx:

License

MIT

Contributors

Thanks goes to these wonderful people (emoji key):

Pieter Van Poyer
Pieter Van Poyer

💻
Florian Spier
Florian Spier

💻 🤔
Carsten
Carsten

🎨
Maximo Cudich-Sieburger
Maximo Cudich-Sieburger

💻
sashion
sashion

💻
BrainCrumbz
BrainCrumbz

💻

This project follows the all-contributors specification. Contributions of any kind welcome!

Comments
  • use of mini-rx-store within a shared worker

    use of mini-rx-store within a shared worker

    We are trying to use the store within a shared worker in such a setup there is no "window" object, like it is used in some places:

    https://github.com/spierala/mini-rx-store/blob/7ec69f84fc77440178f245922c8dfb2ef2ec346c/libs/mini-rx-store/src/lib/extensions/redux-devtools.extension.ts#L6

    it would be great to have a parameter to use self in such places or get any other hints on how to implement such a plan

    opened by h4de5 8
  • build(deps): bump ejs from 3.1.6 to 3.1.7

    build(deps): bump ejs from 3.1.6 to 3.1.7

    Bumps ejs from 3.1.6 to 3.1.7.

    Release notes

    Sourced from ejs's releases.

    v3.1.7

    Version 3.1.7

    Commits
    • 820855a Version 3.1.7
    • 076dcb6 Don't use template literal
    • faf8b84 Skip test -- error message vary depending on JS runtime
    • c028c34 Update packages
    • e4180b4 Merge pull request #629 from markbrouwer96/main
    • d5404d6 Updated jsdoc to 3.6.7
    • 7b0845d Merge pull request #609 from mde/dependabot/npm_and_yarn/glob-parent-5.1.2
    • 32fb8ee Bump glob-parent from 5.1.1 to 5.1.2
    • f21a9e4 Merge pull request #603 from mde/mde-null-proto-where-possible
    • a50e46f Merge pull request #606 from akash-55/main
    • 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] 3
  • build(deps): bump minimist from 1.2.5 to 1.2.6

    build(deps): 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] 3
  • Refactor to Nx Workspace

    Refactor to Nx Workspace

    Currently MiniRx uses an Angular workspace (Angular 9) to manage the two libraries (mini-rx-store and mini-rx-store-ng) and the two demo apps.

    Using a Nx workspace is the more modern approach and it includes many of the community best practices (Jest, EsLint, Cypress). Read more here: https://nx.dev/

    With Nx we can create real TypeScript libraries: https://www.youtube.com/watch?v=-OmQ-PaSY5M&t=4s That is exactly what we need for the mini-rx-store library.

    Overview of what we need: Libs: mini-rx-store: typescript library (publishable), migrate Jest tests mini-rx-store-ng: angular library (publishable), migrate Jest tests

    Apps: ~~mini-rx-store-showcase (angular app)~~ ~~mini-rx-store-showcase-redux (angular app)~~ or: replace the two apps with this angular app: https://github.com/spierala/mini-rx-angular-demo

    Read more about publishable libraries in Nx: https://nx.dev/l/r/structure/buildable-and-publishable-libraries#publishable-libraries

    Migration: I experimented with migrating existing Angular workspaces to Nx and the experience was not so great. IMO it is better to create an empty Nx workspace and create the libs and apps and then copy&paste the src code from the old Angular workspace.

    enhancement 
    opened by spierala 3
  • Make dependency on window optional

    Make dependency on window optional

    I am using this package in a node environment (I need state management and I am using rxjs extensively so this project works quite neatly) and I am seeing window is not defined errors when running my application. I understand that you want to provide redux devtools compatibility which requires setting properties on the window. Could you perhaps check the presence of the window global variable and perform the redux devtools setup logic only if it is defined? If you are open to a pull request let me know.

    opened by M5150 2
  • chore(deps): bump loader-utils from 2.0.0 to 2.0.3 in /docs

    chore(deps): bump loader-utils from 2.0.0 to 2.0.3 in /docs

    Bumps loader-utils from 2.0.0 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)

    v2.0.2

    2.0.2 (2021-11-04)

    Bug Fixes

    • base64 generation and unicode characters (#197) (8c2d24e)

    v2.0.1

    2.0.1 (2021-10-29)

    Bug Fixes

    Changelog

    Sourced from loader-utils's changelog.

    2.0.3 (2022-10-20)

    Bug Fixes

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

    2.0.2 (2021-11-04)

    Bug Fixes

    • base64 generation and unicode characters (#197) (8c2d24e)

    2.0.1 (2021-10-29)

    Bug Fixes

    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
  • store-devtools trace tab not working

    store-devtools trace tab not working

    Originally posted in the NgRx repo, but the same issue exists in MiniRx Store.

    hi, currently the trace tab displays the message: "To enable tracing action calls, you should set trace option to true for Redux DevTools enhancer. Refer to this page for more details"

    i could not find any option like trace: boolean in the docs or typescript file. is there an option for tracing? if not will there be one in the future? im using angular v13.

    thank you

    See original issue in NgRx: https://github.com/ngrx/platform/issues/3517

    opened by spierala 1
  • chore(deps): bump shell-quote and @docusaurus/core in /docs

    chore(deps): bump shell-quote and @docusaurus/core in /docs

    Bumps shell-quote to 1.7.3 and updates ancestor dependency @docusaurus/core. These dependencies need to be updated together.

    Updates shell-quote from 1.7.2 to 1.7.3

    Commits

    Updates @docusaurus/core from 2.0.0-alpha.70 to 2.1.0

    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
  • chore(deps): bump terser from 4.8.0 to 4.8.1 in /docs

    chore(deps): bump terser from 4.8.0 to 4.8.1 in /docs

    Bumps terser from 4.8.0 to 4.8.1.

    Changelog

    Sourced from terser's changelog.

    v4.8.1 (backport)

    • Security fix for RegExps that should not be evaluated (regexp DDOS)
    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
  • build(deps): bump eventsource from 1.0.7 to 1.1.1 in /docs

    build(deps): bump eventsource from 1.0.7 to 1.1.1 in /docs

    Bumps eventsource from 1.0.7 to 1.1.1.

    Changelog

    Sourced from eventsource's changelog.

    1.1.1

    • Do not include authorization and cookie headers on redirect to different origin (#273 Espen Hovlandsdal)

    1.1.0

    • Improve performance for large messages across many chunks (#130 Trent Willis)
    • Add createConnection option for http or https requests (#120 Vasily Lavrov)
    • Support HTTP 302 redirects (#116 Ryan Bonte)
    • Prevent sequential errors from attempting multiple reconnections (#125 David Patty)
    • Add new to correct test (#111 Stéphane Alnet)
    • Fix reconnections attempts now happen more than once (#136 Icy Fish)
    Commits
    • aa7a408 1.1.1
    • 56d489e chore: rebuild polyfill
    • 4a951e5 docs: update history for 1.1.1
    • f9f6416 fix: strip sensitive headers on redirect to different origin
    • 9dd0687 1.1.0
    • 49497ba Update history for 1.1.0 (#146)
    • 3a38537 Update history for #136
    • 46fe04e Merge pull request #136 from icy-fish/master
    • 9a4190f Fix issue: reconnection only happends for 1 time after connection drops
    • 61e1b19 test: destroy both proxied request and response on close
    • 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] 1
  • build(deps): bump cross-fetch from 3.0.6 to 3.1.5 in /docs

    build(deps): bump cross-fetch from 3.0.6 to 3.1.5 in /docs

    Bumps cross-fetch from 3.0.6 to 3.1.5.

    Release notes

    Sourced from cross-fetch's releases.

    v3.1.5

    What's Changed

    New Contributors

    Full Changelog: https://github.com/lquixada/cross-fetch/compare/v3.1.4...v3.1.5

    v3.1.4

    🐞 fixed typescript errors.

    v3.1.3

    🐞 fixed typescript compilation error causing #95, #101, #102.

    v3.1.2

    🐞 added missing Headers interface augmentation from lib.dom.iterable.d.ts (#97)

    v3.1.1

    🐞 fixed missing fetch api types from constructor signatures #96 (thanks @​jstewmon)

    v3.1.0

    ⚡️ improved TypeScript support with own fetch API type definitions (thanks @​jstewmon) ⚡️ set fetch.ponyfill to true when custom ponyfill implementation is used. 💡 set the same fetch API test suite to run against node-fetch, whatwg-fetch and native fetch.

    Commits
    • c6089df chore(release): 3.1.5
    • a3b3a94 chore: updated node-fetch version to 2.6.7 (#124)
    • efed703 chore: updated node-fetch version to 2.6.5
    • 694ff77 refactor: removed ora from dependencies
    • efc5956 refactor: added .vscode to .gitignore
    • da605d5 refactor: renamed test/fetch/ to test/fetch-api/ and test/module/ to test/mod...
    • 0f0d51d chore: updated minor and patch versions of dev dependencies
    • c6e34ea refactor: removed sinon.js
    • f524a52 fix: yargs was incompatible with node 10
    • 7906fcf chore: updated dev dependencies
    • 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] 1
  • chore(deps): bump minimist from 1.2.5 to 1.2.8

    chore(deps): bump minimist from 1.2.5 to 1.2.8

    Bumps minimist from 1.2.5 to 1.2.8.

    Changelog

    Sourced from minimist's changelog.

    v1.2.8 - 2023-02-09

    Merged

    Fixed

    Commits

    • Merge tag 'v0.2.3' a026794
    • [eslint] fix indentation and whitespace 5368ca4
    • [eslint] fix indentation and whitespace e5f5067
    • [eslint] more cleanup 62fde7d
    • [eslint] more cleanup 36ac5d0
    • [meta] add auto-changelog 73923d2
    • [actions] add reusable workflows d80727d
    • [eslint] add eslint; rules to enable later are warnings 48bc06a
    • [eslint] fix indentation 34b0f1c
    • [readme] rename and add badges 5df0fe4
    • [Dev Deps] switch from covert to nyc a48b128
    • [Dev Deps] update covert, tape; remove unnecessary tap f0fb958
    • [meta] create FUNDING.yml; add funding in package.json 3639e0c
    • [meta] use npmignore to autogenerate an npmignore file be2e038
    • Only apps should have lockfiles 282b570
    • isConstructorOrProto adapted from PR ef9153f
    • [Dev Deps] update @ljharb/eslint-config, aud 098873c
    • [Dev Deps] update @ljharb/eslint-config, aud 3124ed3
    • [meta] add safe-publish-latest 4b927de
    • [Tests] add aud in posttest b32d9bd
    • [meta] update repo URLs f9fdfc0
    • [actions] Avoid 0.6 tests due to build failures ba92fe6
    • [Dev Deps] update tape 950eaa7
    • [Dev Deps] add missing npmignore dev dep 3226afa
    • Merge tag 'v0.2.2' 980d7ac

    v1.2.7 - 2022-10-10

    Commits

    ... (truncated)

    Commits
    • 6901ee2 v1.2.8
    • a026794 Merge tag 'v0.2.3'
    • c0b2661 v0.2.3
    • 63b8fee [Fix] Fix long option followed by single dash (#17)
    • 72239e6 [Tests] Remove duplicate test (#12)
    • 34b0f1c [eslint] fix indentation
    • 3226afa [Dev Deps] add missing npmignore dev dep
    • 098873c [Dev Deps] update @ljharb/eslint-config, aud
    • 9ec4d27 [Fix] Fix long option followed by single dash
    • ba92fe6 [actions] Avoid 0.6 tests due to build failures
    • Additional commits viewable in compare view
    Maintainer changes

    This version was pushed to npm by ljharb, a new releaser for minimist 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
  • chore(deps): bump @sideway/formula from 3.0.0 to 3.0.1 in /docs

    chore(deps): bump @sideway/formula from 3.0.0 to 3.0.1 in /docs

    Bumps @sideway/formula from 3.0.0 to 3.0.1.

    Commits
    Maintainer changes

    This version was pushed to npm by marsup, a new releaser for @​sideway/formula 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
  • chore(deps): bump http-cache-semantics from 4.1.0 to 4.1.1

    chore(deps): bump http-cache-semantics from 4.1.0 to 4.1.1

    Bumps http-cache-semantics from 4.1.0 to 4.1.1.

    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
  • chore(deps): bump http-cache-semantics from 4.1.0 to 4.1.1 in /docs

    chore(deps): bump http-cache-semantics from 4.1.0 to 4.1.1 in /docs

    Bumps http-cache-semantics from 4.1.0 to 4.1.1.

    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
  • chore(deps): bump ua-parser-js from 0.7.31 to 0.7.33 in /docs

    chore(deps): bump ua-parser-js from 0.7.31 to 0.7.33 in /docs

    Bumps ua-parser-js from 0.7.31 to 0.7.33.

    Changelog

    Sourced from ua-parser-js's changelog.

    Version 0.7.31 / 1.0.2

    • Fix OPPO Reno A5 incorrect detection
    • Fix TypeError Bug
    • Use AST to extract regexes and verify them with safe-regex

    Version 0.7.32 / 1.0.32

    • Add new browser : DuckDuckGo, Huawei Browser, LinkedIn
    • Add new OS : HarmonyOS
    • Add some Huawei models
    • Add Sharp Aquos TV
    • Improve detection Xiaomi Mi CC9
    • Fix Sony Xperia 1 III misidentified as Acer tablet
    • Fix Detect Sony BRAVIA as SmartTV
    • Fix Detect Xiaomi Mi TV as SmartTV
    • Fix Detect Galaxy Tab S8 as tablet
    • Fix WeGame mistakenly identified as WeChat
    • Fix included commas in Safari / Mobile Safari version
    • Increase UA_MAX_LENGTH to 350

    Version 0.7.33 / 1.0.33

    • Add new browser : Cobalt
    • Identify Macintosh as an Apple device
    • Fix ReDoS vulnerability

    Version 0.8

    Version 0.8 was created by accident. This version is now deprecated and no longer maintained, please update to version 0.7 / 1.0.

    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
Owner
Florian Spier
Angular. Svelte. RxJS. Creator of MiniRx Store.
Florian Spier
Binding Solutions for Vue & Redux

vuedeux Full Documentation https://vueduex.gitbooks.io/vuedeux-documentation/content/ Synopsis Vuedeux is a lightweight open-source utility layer for

null 70 Aug 28, 2022
Flexible binding between Vue and Redux

vuejs-redux Description Flexible binding between Vue and Redux, allowing use of multiple stores. It works, in the same way, like render props does in

Titouan CREACH 58 Nov 24, 2022
Vuex plugin for redux-saga

vuex-coolstory Use redux-saga with Vuex. Overview redux-saga is an awesome library that aims to make side effects (i.e. asynchronous things like data

Nikita Lvov 23 Apr 2, 2022
A tiny Vue plugin that connects components with Redux

redux-connect-vue **Note: redux-connect-vue v3 is compatible with Vue 3.x. If you are looking for a Vue 2.x compatible version, check out v2 A tiny Vu

Kai Johnson 3 May 23, 2022
A tiny Vue plugin that connects Vue Router with Redux

redux-first-vue-routing A tiny Vue plugin that connects Vue Router with Redux, an implementation of redux-first-routing. New to Redux? Start Here Achi

Kai Johnson 4 Apr 27, 2022
🏖 A concise & flexible state model for Redux/MobX/Vuex, etc.

USM USM is a universal state modular library, supports Redux(4.x), MobX(6.x), Vuex(4.x) and Angular(2.0+). Support Libraries/Frameworks None Redux Mob

Michael Lin 281 Dec 4, 2022
Redux bindings for VueJS inspired by Vuex.

redux-vuex Redux bindings for VueJS inspired by Vuex. ?? For the old Vue 2 version check out the legacy branch ?? First things first Why don't you use

Alexander Heimbuch 39 Dec 14, 2022
Redux hooks for Vue

vue-redux-hooks Install npm i redux vue-redux-hooks yarn add redux vue-redux-hooks API ReduxStore // store.ts import { createStore, AnyAction } from '

Patryk Wałach 7 Jan 25, 2023
Bryce Soghigian 1 May 18, 2021
Lightweight Vue 3 composition API-compatible store pattern library with built-in undo/redo functionality.

vue-store Lightweight Vue 3 composition API-compatible store pattern library. Offers a simple alternative that is on par with VueX in terms of feature

Korijn van Golen 23 Sep 27, 2022
Sync and store vue state with browser URL params

vue-sync NOTE: Check out nuxt-url-sync to use it with SSR Sync Vue Component state with browser URL params Makes for easy bookmarking and sharing of v

Stefan Buhrmester 66 Nov 8, 2022
Store Organizer To Simplify Your Stores

Vue Simple Store Vue Simple Store is a vue plugin which will simplify your App Store. It will combine your separated stores into one global store. let

Naufal Rabbani 67 Jul 15, 2021
The Vuex plugin to enable Object-Relational Mapping access to the Vuex Store.

Vuex ORM ?? HEADS UP! Currently, Vuex ORM Next project is on going, and we are hoping it is going to be the foundation of the version 1.0.0 release. W

Vuex ORM 2.4k Dec 29, 2022
A Vuex plugin to persist the store. (Fully Typescript enabled)

vuex-persist A Typescript-ready Vuex plugin that enables you to save the state of your app to a persisted storage like Cookies or localStorage. Info :

Arnav Gupta 1.6k Dec 30, 2022
Enable two-way data binding for form fields saved in a Vuex store

vuex-map-fields Enable two-way data binding for form fields saved in a Vuex store. Install npm install --save vuex-map-fields Basic example The follow

Markus Oberlehner 1.4k Dec 2, 2022
Use a JSONAPI api with a Vuex store, with data restructuring/normalization.

jsonapi-vuex A module to access JSONAPI data from an API, using a Vuex store, restructured to make life easier. Vue 3 - v5 and later supports only Vue

Matthew Richardson 145 Dec 22, 2022
A plugin for syncing Vuex store with js-data

vuex-jsdata-plugin A simple attempt to help using jsdata alongside Vue.js: This plugin syncing Vuex store with js-data After each injection made by js

Alexandre Bonaventure Geissmann 20 Jul 30, 2020
A Store Website Built with Vue.js and Laravel

✏ Frontend Store Sobre ?? Descrição Front-end com Vue.js para consumir API feita com Laravel 8. ?? Funcionalidades Sistema de login Sistema de pedidos

Matheus Manzoli 1 Nov 5, 2022
E-Store built with Vue's Composition api script setup, mocked a server, vuex, vue-router

Frontend Mentor - E-commerce product page solution This is a solution to the E-commerce product page challenge on Frontend Mentor. Frontend Mentor cha

_Chi_ 0 Apr 8, 2022