Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Snyk] Upgrade redux from 0.0.0 to 0.12.0 #7

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

rolandhack
Copy link
Owner

snyk-top-banner

Snyk has created this PR to upgrade redux from 0.0.0 to 0.12.0.

ℹ️ Keep your dependencies up-to-date. This makes it easier to fix existing vulnerabilities and to more quickly identify and fix newly disclosed vulnerabilities when they affect your project.


  • The recommended version is 25 versions ahead of your current version.

  • The recommended version was released on 9 years ago.

Release notes
Package name: redux
  • 0.12.0 - 2015-06-19

    No breaking changes this time.

    • Classes returned by decorators now expose a static DecoratedComponent property for easier testing
    • Dependencies on lodash and babel-runtime are dropped
    • Now compatible with Babel loose mode
    • composeStore now ignores non-function values (useful in Babel loose mode)
    • A UMD build is added
    • The initial action dispatched to the stores now has a built-in @@ INIT type (might be useful to devtools)
  • 0.11.1 - 2015-06-16
    • Bugfix: when Connector select property changes, the state did not recalculate (#107)
  • 0.11.0 - 2015-06-14
    • Renames compose root export to composeMiddleware to clarify the intent
    • Fixes a bug with getState returning stale state after a hot reload (#90)
  • 0.10.1 - 2015-06-13

    Missing from the 0.10 release notes: React Native is now supported!
    (And that's actually a breaking change.)

    Now, to import React-specific parts (containers or decorators), you need to either import from redux/react or redux/react-native:

    // Import utilities and functions from redux
    import { createRedux, bindActionCreators } from 'redux';

    // Import components and decorators from redux/react
    import { provide, Connector } from 'redux/react';

    // React Native: Import components and decorators from redux/react-native
    import { provide, Connector } from 'redux/react-native';

    0.10 release also had a problem with ES6 code inside redux/react and redux/react-native entry points, which is now fixed. Please upgrade if you had problems with 0.10.

    Changes introduced in 0.10.1:

    • Connector now throws if select returns something other than a plain object (#85)
    • The custom dispatcher API is tweaked so setState now returns the state that was actually set. This makes custom dispatchers more composable. (#77)

    Happy reducing!

  • 0.10.0 - 2015-06-13

    Middleware

    Redux 1.0 is within striking distance! Can you believe how quickly Redux has matured? @ gaearon made the first commit only 14 days ago.

    The 0.10 release is a follow-up to 0.9, with a focus on what we're calling (at least for now) middleware.

    You can read all about middleware here. We plan to release some official middleware soon, but of course we'd also love to see middleware created by the community.

    Breaking changes

    Just a small one: Redux includes a feature that enables you to return a function from an action creator to perform asynchronous dispatches. The function receives a callback and getState() as parameters. This has behavior has been re-implemented as middleware and moved into a separate module called thunkMiddleware(). It is included automatically when using the createRedux(stores) shortcut, but not when using createDispatcher().

    Tests

    We have tests! Still need to improve coverage in a few areas, but we're currently at ~93%. Not bad! Big thanks to @ emmenko for setting these up.

  • 0.9.0 - 2015-06-09

    Internal Refactoring & Custom Dispatchers

    This release brings breaking changes necessary to start experimenting with middleware and extensibility (#6, #55). It does not bring any support for middleware per se, but it untangles “Dispatcher” (a function that tells how actions turn into state updates) from “Redux” (an instance holding the current state and managing subscriptions). It is now possible to specify your own Dispatcher if you want to experiment with ideas like middleware, time travel, action creators returning Promises or Observables, etc.

    • createDispatcher now returns a function you need to give to createRedux
    • createRedux is the primary API you'll use for initialization
    • Instead of dispatcher prop, a dispatch function prop is injected by the <Connector> and @ connect
    • Instead of dispatcher prop, <Provider> and @ provide accept a redux prop
    • Instead of dispatcher.getAtom(), use redux.getState()
    • Instead of dispatcher.setAtom(), you may pass a second initialState argument to createRedux
    • Instead of dispatcher.perfrorm() or dispatcher.dispatch(), use redux.dispatch()
    • bindActions is renamed to bindActionCreators and accepts dispatch as the second parameter
    • You may skip composeStores and createDispatcher completely and just use createRedux(stores) as a shortcut

    How It Looks Like Now

    Initialization

    Short Way

    This is a shortcut for the most common use case.

    import { createRedux, Provider } from 'redux';
    import * as stores from '../stores/index';

    const redux = createRedux(stores);

    export default class App {
    render() {
    return (
    <Provider redux={redux}>
    {() =>
    <CounterApp />
    }
    </Provider>
    );
    }
    }

    Long Way

    This way of writing lets you use compose Stores differently, or even pass a custom Dispatcher function. Its signature is (initialState, setState) => (action) => ().

    import { createRedux, createDispatcher, composeStores } from 'redux';
    import * as stores from '../stores/index';

    // Compose all your Stores into a single Store function with composeStores:
    const store = composeStores(stores);

    // Create a default Dispatcher function for your composite Store:
    const dispatcher = createDispatcher(store); // You may use your custom function here

    // Create a Redux instance using the dispatcher function:
    const redux = createRedux(dispatcher);

    export default class App {
    render() {
    return (
    <Provider redux={redux}>
    {() =>
    <CounterApp />
    }
    </Provider>
    );
    }
    }

    Hydration and dehydration

    // server
    const redux = createRedux(stores);
    redux.dispatch(MyActionCreators.doSomething()); // fire action creators to fill the state
    const state = redux.getState(); // somehow pass this state to the client

    // client
    const initialState = window.STATE_FROM_SERVER;
    const redux = createRedux(stores, initialState);

    Binding actions

    import React from 'react';
    import { connect, bindActionCreators } from 'redux';
    import Counter from '../components/Counter';
    import * as CounterActions from '../actions/CounterActions';

    @connect(state => ({
    counter: state.counter
    }))
    export default class CounterApp {
    render() {
    const { counter, dispatch } = this.props;
    return (
    <Counter counter={counter}
    {...bindActionCreators(CounterActions, dispatch)} />
    );
    }
    }




  • 0.8.1 - 2015-06-06

    • hydrate() and dehydrate() are gone, welcome getAtom() and setAtom() instead
    • initialize() and dispose() are added for advanced use cases
    • changing select function now updates the Connector state
    • the bug with action creators accepting dispatch instead of perform is fixed
  • 0.8.0 - 2015-06-06

    The Big Rewrite!

    This release wouldn't have happened without this @ acdlite's wonderful gist.

    New:

    • Now there is just one top Store, but you may compose your Stores using composeStores higher-order Store (seriously.)
    • Dispatcher is now part of the public API and offers (de)hydration for isomorphic apps.
    • Fine-grained subscriptions via the new <Connector select={fn}> prop
    • Less surprising, more consistent API

    Read the discussion: #46

  • 0.7.0 - 2015-06-05
    • Change second parameter in callback-style action creator from state to read: (Store) => state (#44)
    • Rename: Container -> Injector, @ container -> @ inject, Root -> Dispatcher, @ root -> @ dispatch (#20)
  • 0.6.2 - 2015-06-04
    • @ container's second parameter now also accepts the props passed to it (#36)
    • <Container /> and <Root /> invoke their this.props.children functions without this.props context
  • 0.6.1 - 2015-06-04
  • 0.6.0 - 2015-06-04
  • 0.5.1 - 2015-06-03
  • 0.5.0 - 2015-06-03
  • 0.4.0 - 2015-06-03
  • 0.3.1 - 2015-06-03
  • 0.3.0 - 2015-06-03
  • 0.2.2 - 2015-06-02
  • 0.2.1 - 2015-06-02
  • 0.2.0 - 2015-06-02
  • 0.1.0 - 2015-05-31
  • 0.0.4 - 2011-10-09
  • 0.0.3 - 2011-10-08
  • 0.0.2 - 2011-10-07
  • 0.0.1 - 2011-10-07
from redux GitHub release notes

Important

  • Check the changes in this PR to ensure they won't cause issues with your project.
  • This PR was automatically created by Snyk using the credentials of a real user.

Note: You are seeing this because you or someone else with access to this repository has authorized Snyk to open upgrade PRs.

For more information:

Snyk has created this PR to upgrade redux from 0.0.0 to 0.12.0.

See this package in npm:
redux

See this project in Snyk:
https://app.snyk.io/org/rolandhack/project/66536899-ea7c-4d67-9012-e1d0c12e517c?utm_source=github&utm_medium=referral&page=upgrade-pr
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants