Skip to content
This repository was archived by the owner on Jan 27, 2021. It is now read-only.

Commit d30ef10

Browse files
author
Jonathan Peyper
committed
Initial commit
0 parents  commit d30ef10

File tree

151 files changed

+73008
-0
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

151 files changed

+73008
-0
lines changed

.all-contributorsrc

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
{
2+
"projectName": "@redux-dynostore/core",
3+
"projectOwner": "ioof-holdings",
4+
"files": [
5+
"README.md"
6+
],
7+
"imageSize": 100,
8+
"commit": false,
9+
"contributors": [
10+
{
11+
"login": "mpeyper",
12+
"name": "Michael Peyper",
13+
"avatar_url": "https://avatars0.githubusercontent.com/u/23029903?v=4",
14+
"profile": "https://github.com/mpeyper",
15+
"contributions": [
16+
"question",
17+
"bug",
18+
"code",
19+
"doc",
20+
"example",
21+
"ideas",
22+
"infra",
23+
"review",
24+
"platform",
25+
"talk",
26+
"test",
27+
"tool"
28+
]
29+
},
30+
{
31+
"login": "jpeyper",
32+
"name": "Jonathan Peyper",
33+
"avatar_url": "https://avatars2.githubusercontent.com/u/6560018?v=4",
34+
"profile": "https://github.com/jpeyper",
35+
"contributions": [
36+
"question",
37+
"bug",
38+
"code",
39+
"ideas",
40+
"review",
41+
"test"
42+
]
43+
}
44+
]
45+
}

.gitignore

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
node_modules
2+
npm-debug.log
3+
lerna-debug.log
4+
.nyc_output
5+
coverage
6+
test-reports
7+
.vscode
8+
.idea
9+
lib/
10+
es/

.travis.yml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
language: node_js
2+
node_js:
3+
- "8"
4+
script:
5+
- npm run test

CODE_OF_CONDUCT.md

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
# Contributor Covenant Code of Conduct
2+
3+
## Our Pledge
4+
5+
In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to making participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity and expression, level of experience, nationality, personal appearance, race, religion, or sexual identity and orientation.
6+
7+
## Our Standards
8+
9+
Examples of behavior that contributes to creating a positive environment include:
10+
11+
* Using welcoming and inclusive language
12+
* Being respectful of differing viewpoints and experiences
13+
* Gracefully accepting constructive criticism
14+
* Focusing on what is best for the community
15+
* Showing empathy towards other community members
16+
17+
Examples of unacceptable behavior by participants include:
18+
19+
* The use of sexualized language or imagery and unwelcome sexual attention or advances
20+
* Trolling, insulting/derogatory comments, and personal or political attacks
21+
* Public or private harassment
22+
* Publishing others' private information, such as a physical or electronic address, without explicit permission
23+
* Other conduct which could reasonably be considered inappropriate in a professional setting
24+
25+
## Our Responsibilities
26+
27+
Project maintainers are responsible for clarifying the standards of acceptable behavior and are expected to take appropriate and fair corrective action in response to any instances of unacceptable behavior.
28+
29+
Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful.
30+
31+
## Scope
32+
33+
This Code of Conduct applies both within project spaces and in public spaces when an individual is representing the project or its community. Examples of representing a project or community include using an official project e-mail address, posting via an official social media account, or acting as an appointed representative at an online or offline event. Representation of a project may be further defined and clarified by project maintainers.
34+
35+
## Enforcement
36+
37+
Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team at michael.peyper@ioof.com.au. The project team will review and investigate all complaints, and will respond in a way that it deems appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately.
38+
39+
Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership.
40+
41+
## Attribution
42+
43+
This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, available at [http://contributor-covenant.org/version/1/4][version]
44+
45+
[homepage]: http://contributor-covenant.org
46+
[version]: http://contributor-covenant.org/version/1/4/

CONTRIBUTING.md

Lines changed: 75 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,75 @@
1+
# Contributing to redux-dynostore
2+
3+
The following is a set of guidelines for contributing to redux-dynostore, which are hosted in the [IOOF Holdings Limited Organization](https://github.com/ioof-holdings) on GitHub.
4+
These are just guidelines, not rules. Use your best judgment, and feel free to propose changes to this document in a [pull request](#pull-requests).
5+
6+
#### Table of Contents
7+
8+
* [How Can I Contribute?](#how-can-i-contribute)
9+
* [Reporting Bugs](#reporting-bugs)
10+
* [Suggesting Enhancements](#suggesting-enhancements)
11+
* [Pull Requests](#pull-requests)
12+
13+
## How Can I Contribute?
14+
15+
### Reporting Bugs
16+
17+
Bugs are tracked as [GitHub issues](https://github.com/ioof-holdings/redux-dynostore/issues). Please check to see if your issue has already been raised before submitting your bug report.
18+
19+
When submitting a bug report, please include as much information as possible to help contributors to identify the cause of the problem. The ideal bug report would include:
20+
21+
* **A clear and descriptive title** for the issue to identify the problem.
22+
* **A description of the exact scenario to reproduce the problem** in as much detail as possible.
23+
* **An explanation of the behaviour you expected to see instead and why.**
24+
* **An example to demonstrate the scenario** such as:
25+
* Include copy/pastable snippets (using markdown) in your bug report.
26+
* Links to files in GitHub or other public repository.
27+
* Submit a pull request with [an example](/examples) highlighting the issue.
28+
* **Environment details** such as:
29+
* Browser(s) you have seen the problem in.
30+
* Version of redux-dynostore you are using.
31+
* Which Redux middleware (including version numbers) are being used.
32+
* What other packages (including version numbers) are being used.
33+
34+
### Suggesting Enhancements
35+
36+
Enhancements are tracked as [GitHub issues](https://github.com/ioof-holdings/redux-dynostore/issues). Please check to see if your suggestion has already been made before submitting your suggestion.
37+
38+
When submitting an enhancement submission, please include as much information as possible to help contributors to understand an implement your idea. The ideal enhancement suggestion would include:
39+
40+
* **Use a clear and descriptive title** for the issue to identify the suggestion.
41+
* **A description of the specifics of your suggestion** in as much detail as possible.
42+
* **An explanation of the benefits implementing your enhancement would provide**
43+
* **An example to demonstrate the scenario** such as:
44+
* Include copy/pastable snippets (using markdown) in your enhancement submission.
45+
* Links to files in GitHub or other public repository.
46+
* Submit a pull request with [an example](/examples) showing how your enhancement would be used.
47+
48+
### Pull Requests
49+
50+
If you want to get your hands dirty, please take a look at the [open issues](https://github.com/ioof-holdings/redux-dynostore/issues?q=is%3Aissue%20is%3Aopen), create a fork to make the required changes and submit a pull request with your proposed solution, [referencing the issue](https://help.github.com/articles/closing-issues-via-commit-messages/) in the commit message.
51+
52+
Please keep our [key concepts](#key-concepts) in mind when implementing your changes.
53+
54+
In order to run locally, start with the following:
55+
56+
```console
57+
npm install
58+
```
59+
60+
This will install dependencies and bootstrap the packages for development using [lerna](https://lernajs.io/). If you need to recreate the package links, you can run the bootstrap command seperately using:
61+
62+
```console
63+
run run bootstrap
64+
```
65+
66+
### Add yourself as a contributor
67+
68+
This project follows the [all contributors](https://github.com/kentcdodds/all-contributors) specification. To add yourself to the table of contributors on the README.md, please use the automated script as part of your PR:
69+
70+
```console
71+
npm run contributors:add <YOUR_GITHUB_USERNAME>
72+
```
73+
74+
Follow the prompt. If you've already added yourself to the list and are making a new type of contribution, you can run
75+
it again and select the added contribution type.

ISSUE_TEMPLATE.md

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
<!---
2+
Thanks for contributing to this redux-dynostore! Before you submit, please read the following:
3+
4+
Search open/closed issues before submitting since someone might have asked the same thing before!
5+
-->
6+
7+
### Is it a bug, feature request or question?
8+
9+
<!--- Provide a general summary of the issue in the title above -->
10+
11+
### Which package(s) does this involve?
12+
13+
<!--- Please prefix the title above with packages like so: "[package-1, package-2] {TITLE}" -->
14+
15+
### Input Code
16+
17+
<!--- If you're describing a bug, please let us know which sample code reproduces your problem -->
18+
<!--- Links to standalone repos or code sandboxes (https://codesandbox.io/ is great for this) are also welcome -->
19+
20+
```js
21+
// your code here
22+
```
23+
24+
### Expected Behavior
25+
26+
<!--- If you're describing a bug, tell us what should happen -->
27+
<!--- If you're suggesting a change/improvement, tell us how it should work -->
28+
29+
### Current Behavior
30+
31+
<!--- If describing a bug, tell us what happens instead of the expected behavior -->
32+
<!--- If suggesting a change/improvement, explain the difference from current behavior -->
33+
34+
### Possible Solution
35+
36+
<!--- Not obligatory, but suggest a fix/reason for the bug, or ideas how to implement the addition or change -->
37+
38+
### Context
39+
40+
<!--- How has this issue affected you? What are you trying to accomplish? -->
41+
<!--- Providing context helps us come up with a solution that is most useful in the real world -->
42+
43+
### Your Setup
44+
45+
<!--- Include as many relevant details about the setup you're using -->
46+
<!--- How you setup the store, what middleware/enhancers you're using, which versions of packages are involved -->
47+
48+
| package | version(s)
49+
| --------------- | ----------
50+
| redux |
51+
| redux-dynostore |
52+
| etc. |

LICENSE.md

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
BSD 3-Clause License
2+
3+
Copyright (c) 2018, IOOF Holdings Limited
4+
All rights reserved.
5+
6+
Redistribution and use in source and binary forms, with or without
7+
modification, are permitted provided that the following conditions are met:
8+
9+
* Redistributions of source code must retain the above copyright notice, this
10+
list of conditions and the following disclaimer.
11+
12+
* Redistributions in binary form must reproduce the above copyright notice,
13+
this list of conditions and the following disclaimer in the documentation
14+
and/or other materials provided with the distribution.
15+
16+
* Neither the name IOOF nor the names of its contributors may be used to
17+
endorse or promote products derived from this software without specific
18+
prior written permission.
19+
20+
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
21+
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
22+
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
23+
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
24+
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
25+
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
26+
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
27+
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
28+
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
29+
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

PULL_REQUEST_TEMPLATE.md

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
<!--
2+
Thanks for contributing to redux-dynostore!
3+
4+
Before making a PR please make sure to read our contributing guidelines
5+
https://github.com/ioof-holdings/redux-dynostore/blob/master/CONTRIBUTING.md
6+
7+
For issue references: Add a comma-separated list of a [closing word](https://help.github.com/articles/closing-issues-via-commit-messages/) followed by the ticket number fixed by the PR. It should be underlined in the preview if done correctly.
8+
-->
9+
10+
| Q | A
11+
| ----------------------- | ---
12+
| Fixed Issues? | Fixes `#1`, Fixes `#2` <!-- remove the (`) quotes to link the issues -->
13+
| Documentation only PR | <!--(Can use an emoji 👍) -->
14+
| Patch: Bug Fix? | <!--(Can use an emoji 👍) -->
15+
| Minor: New Feature? | <!--(Can use an emoji 👍) -->
16+
| Major: Breaking Change? | <!--(Can use an emoji 👍) -->
17+
| Tests Added + Pass? | Yes
18+
19+
<!-- Describe your changes below in as much detail as possible -->

README.md

Lines changed: 74 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,74 @@
1+
# redux-dynostore
2+
3+
[![npm version](https://img.shields.io/npm/v/@redux-dynostore/core.svg?style=flat-square)](https://www.npmjs.com/package/@redux-dynostore/core)
4+
[![npm downloads](https://img.shields.io/npm/dm/@redux-dynostore/core.svg?style=flat-square)](https://www.npmjs.com/package/@redux-dynostore/core)
5+
[![License: BSD-3-Clause](https://img.shields.io/npm/l/@redux-dynostore/core.svg?style=flat-square)](/LICENSE.md)
6+
7+
[![All Contributors](https://img.shields.io/badge/all_contributors-2-orange.svg?style=flat-square)](#contributors)
8+
[![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat-square)](http://makeapullrequest.com)
9+
10+
[![Watch on GitHub](https://img.shields.io/github/watchers/ioof-holdings/redux-dynostore.svg?style=social)](https://github.com/ioof-holdings/redux-dynostore/watchers)
11+
[![Star on GitHub](https://img.shields.io/github/stars/ioof-holdings/redux-dynostore.svg?style=social)](https://github.com/ioof-holdings/redux-dynostore/stargazers)
12+
13+
These libraries provide tools for building dynamic [Redux](http://redux.js.org/) stores.
14+
15+
## Usage
16+
17+
Make a `dynostore`, including the dynamic enhancers you need:
18+
19+
```javascript
20+
import dynostore, { dynamicReducers } from '@redux-dynostore/core'
21+
import { dynamicSagas } from '@redux-dynostore/redux-saga'
22+
23+
const sagaMiddleware = createSagaMiddleware()
24+
25+
const store = createStore(reducer, compose(
26+
applyMiddleware(sagaMiddleware),
27+
dynostore(
28+
dynamicReducers(),
29+
dynamicSagas(sagaMiddleware)
30+
)
31+
))
32+
```
33+
34+
Make a dynamic component:
35+
36+
```javascript
37+
import dynamic from '@redux-dynostore/react-redux'
38+
import subspaced from '@redux-dynostore/react-redux-subspace'
39+
import { attachReducer } from '@redux-dynostore/redux-subspace'
40+
import runSaga from '@redux-dynostore/redux-subspace-saga'
41+
42+
export default dynamic('identifier', subspaced(), attachReducer(myReducer), runSaga(mySaga))(MyComponent)
43+
```
44+
45+
## Packages
46+
47+
* [`@redux-dynostore/core`](./packages/redux-dynostore-core): The core package for redux-dynostore
48+
* [`@redux-dynostore/react-redux`](./packages/redux-dynostore-react-redux): React bindings to simplify usage in react projects
49+
* [`@redux-dynostore/redux-saga`](./packages/redux-dynostore-redux-saga): Dynamic enhancer to run sagas
50+
* [`@redux-dynostore/redux-subspace`](./packages/redux-dynostore-redux-subspace): redux-subspace extensions
51+
* [`@redux-dynostore/react-redux-subspace`](./packages/redux-dynostore-react-redux-subspace): react-redux-subspace extentions
52+
* [`@redux-dynostore/redux-subspace-saga`](./packages/redux-dynostore-redux-subspace-saga): redux-subspace-saga extensions
53+
54+
## FAQ
55+
56+
_Whats with the name?_
57+
> It's about adding dynamic features to redux stores… And it sounds like dinosaur. Raaaawwwwwrrrrrr!
58+
59+
## Media
60+
61+
* [From Monolith to Micro-Frontends](https://mpeyper.github.io/from-monolith-to-micro-frontends-wd42/) - [Web Developer 42˚](http://web.dev42.co/) (Michael Peyper)
62+
63+
## Contributors
64+
65+
Thanks goes to these wonderful people ([emojis](https://github.com/kentcdodds/all-contributors#emoji-key)):
66+
67+
<!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section -->
68+
<!-- prettier-ignore -->
69+
| [<img src="https://avatars0.githubusercontent.com/u/23029903?v=4" width="100px;"/><br /><sub><b>Michael Peyper</b></sub>](https://github.com/mpeyper)<br />[💬](#question-mpeyper "Answering Questions") [🐛](https://github.com/ioof-holdings/redux-dynostore/issues?q=author%3Ampeyper "Bug reports") [💻](https://github.com/ioof-holdings/redux-dynostore/commits?author=mpeyper "Code") [📖](https://github.com/ioof-holdings/redux-dynostore/commits?author=mpeyper "Documentation") [💡](#example-mpeyper "Examples") [🤔](#ideas-mpeyper "Ideas, Planning, & Feedback") [🚇](#infra-mpeyper "Infrastructure (Hosting, Build-Tools, etc)") [👀](#review-mpeyper "Reviewed Pull Requests") [📦](#platform-mpeyper "Packaging/porting to new platform") [📢](#talk-mpeyper "Talks") [⚠️](https://github.com/ioof-holdings/redux-dynostore/commits?author=mpeyper "Tests") [🔧](#tool-mpeyper "Tools") | [<img src="https://avatars2.githubusercontent.com/u/6560018?v=4" width="100px;"/><br /><sub><b>Jonathan Peyper</b></sub>](https://github.com/jpeyper)<br />[💬](#question-jpeyper "Answering Questions") [🐛](https://github.com/ioof-holdings/redux-dynostore/issues?q=author%3Ajpeyper "Bug reports") [💻](https://github.com/ioof-holdings/redux-dynostore/commits?author=jpeyper "Code") [🤔](#ideas-jpeyper "Ideas, Planning, & Feedback") [👀](#review-jpeyper "Reviewed Pull Requests") [⚠️](https://github.com/ioof-holdings/redux-dynostore/commits?author=jpeyper "Tests") |
70+
| :---: | :---: |
71+
<!-- ALL-CONTRIBUTORS-LIST:END -->
72+
73+
This project follows the [all-contributors](https://github.com/kentcdodds/all-contributors) specification.
74+
Contributions of any kind are welcome!

examples/real-world/README.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
# Real World Example
2+
3+
This example extends [Redux's Real World example](https://github.com/reactjs/redux/tree/master/examples/real-world) to create many of the components as isolated redux component.

0 commit comments

Comments
 (0)