Skip to content

Commit

Permalink
Initial commit
Browse files Browse the repository at this point in the history
  • Loading branch information
aleksandrenko committed Jun 12, 2016
0 parents commit 00e01a7
Show file tree
Hide file tree
Showing 13 changed files with 540 additions and 0 deletions.
2 changes: 2 additions & 0 deletions .eslintignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
node_modules/*
examples/*
220 changes: 220 additions & 0 deletions .eslintrc.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,220 @@
env:
browser: true
es6: true
node: true
jasmine: true
jest: true
extends:
- eslint:recommended
- plugin:react/recommended
parserOptions:
ecmaFeatures:
experimentalObjectRestSpread: true
jsx: true
sourceType: module
plugins:
- react
rules:
accessor-pairs: error
array-bracket-spacing:
- error
- never
array-callback-return: error
arrow-body-style: error
arrow-parens: error
arrow-spacing: error
block-scoped-var: error
block-spacing: error
brace-style: error
callback-return: error
camelcase: error
comma-spacing:
- error
- after: true
before: false
comma-style:
- error
- last
complexity: error
computed-property-spacing: error
consistent-return: error
consistent-this: error
curly: error
default-case: error
dot-location:
- error
- property
dot-notation: error
eol-last: error
eqeqeq: error
func-names: error
func-style: error
generator-star-spacing: error
global-require: error
guard-for-in: error
handle-callback-err: error
id-blacklist: error
id-length: error
id-match: error
indent: 'off'
init-declarations: error
jsx-quotes: error
key-spacing: error
keyword-spacing: error
linebreak-style:
- error
- unix
lines-around-comment: error
max-depth: error
max-len:
- error
- 120
- 2
max-nested-callbacks: error
max-params: error
max-statements: error
max-statements-per-line: error
new-cap: error
new-parens: error
newline-after-var:
- error
- always
newline-before-return: error
newline-per-chained-call: error
no-alert: 'off'
no-array-constructor: error
no-bitwise: error
no-caller: error
no-catch-shadow: error
no-confusing-arrow: error
no-continue: error
no-console:
- warn
-
allow:
- warn
- error
no-div-regex: error
no-duplicate-imports: error
no-debugger: warn
no-else-return: error
no-empty-function: error
no-eq-null: error
no-eval: error
no-extend-native: error
no-extra-bind: error
no-extra-label: error
no-extra-parens: 'off'
no-floating-decimal: error
no-implicit-coercion: error
no-implicit-globals: error
no-implied-eval: error
no-inline-comments: error
no-invalid-this: error
no-iterator: error
no-label-var: error
no-labels: error
no-lone-blocks: error
no-lonely-if: error
no-loop-func: error
no-magic-numbers:
- error
-
ignoreArrayIndexes: true
no-mixed-requires: error
no-multi-spaces: error
no-multi-str: error
no-multiple-empty-lines: error
no-native-reassign: error
no-negated-condition: error
no-nested-ternary: error
no-new: error
no-new-func: error
no-new-object: error
no-new-require: error
no-new-wrappers: error
no-octal-escape: error
no-param-reassign: error
no-path-concat: error
no-plusplus: error
no-process-env: error
no-process-exit: error
no-proto: error
no-restricted-globals: error
no-restricted-imports: error
no-restricted-modules: error
no-restricted-syntax: error
no-return-assign: error
no-script-url: error
no-self-compare: error
no-sequences: error
no-shadow: error
no-shadow-restricted-names: error
no-spaced-func: error
no-sync: error
no-ternary: off
no-throw-literal: error
no-trailing-spaces: error
no-undef-init: error
no-undefined: error
no-underscore-dangle: error
no-unmodified-loop-condition: error
no-unneeded-ternary: error
no-unused-expressions: error
no-unused-vars: warn
no-use-before-define: error
no-useless-call: error
no-useless-concat: error
no-useless-constructor: error
no-useless-escape: error
no-var: error
no-void: error
no-warning-comments: error
no-whitespace-before-property: error
no-with: error
object-curly-spacing:
- error
- 'always'
object-shorthand: error
one-var: 'off'
one-var-declaration-per-line: error
operator-assignment: error
operator-linebreak: error
padded-blocks: 'off'
prefer-arrow-callback: error
prefer-const: error
prefer-reflect: error
prefer-rest-params: error
prefer-spread: error
prefer-template: error
quote-props: 'off'
quotes:
- error
- single
radix: error
require-jsdoc: error
require-yield: error
semi: error
semi-spacing: error
sort-imports: 'off'
sort-vars: 'off'
space-before-blocks: error
space-before-function-paren:
- error
-
anonymous: always
named: never
space-in-parens:
- error
- never
space-infix-ops: error
space-unary-ops: error
spaced-comment: error
strict: error
template-curly-spacing: off
valid-jsdoc: error
vars-on-top: error
wrap-iife: error
wrap-regex: error
yield-star-spacing: error
yoda: error
15 changes: 15 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
# Build folder
dist

# IDE
.idea

# Module folder
node_modules

# Log files
*.log

# Tests coverage
coverage

23 changes: 23 additions & 0 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
sudo: false
language: node_js
cache:
directories:
- node_modules
branches:
only:
- master
notifications:
email: false
node_js:
- 4
before_install:
- npm i -g npm@^3.0.0
before_script:
- npm prune
script:
- npm run cover
- npm run check-coverage
- npm run build
after_success:
- npm run report-coverage
- npm run semantic-release
16 changes: 16 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
# Contributing

To contribute to the project, please follow these steps:

1. Get approval for the idea by filing an issue and talking with me about the changes.
2. Fork the repo
3. Make a branch for your change
4. Run `npm install`
5. Run `npm start`
6. Make your changes
7. Test your changes (we have a githook that disallows anything less than 100% code coverage)
8. Run `git add -A` to add your changes (please don't add any changes to the `dist` directory).
9. Run `npm run commit` (**Do not** use `git commit`) - follow the prompts to create your git message
10. Push your changes with `git push`
11. Create the Pull Request
12. Get merged and celebrate 🎉 🎊!
40 changes: 40 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
# redux-sugar-store
Redux store sprinkled with sugar.
redux-sugar-store will get all reducers and create a standart actions ({type ..., payload ...}) with the same name.
Also it will create methods in the store so actions can be dispatched directly.

(depending on redux)

#### Sample usage:
``` html
import rdxStore from './utils/rdxStore';

const initialState = {};
const reducers = [
{
exampleReducer: (state, action) => state
}, {
exampleReducer: (state, action) => state
}, {
anotherReducer: (state, action) => state
}
];

const store = rdxStore(initialState, reducers);
export default store;
```

#### Dispatching events

``` html
store.exampleReducer(payload);
```

### Using connect
mapStoreToProps - will get a store reference in the ListConnected component. So store.exampleReducer(payload); can be called in the component as it can be called outside.

``` html
const ListConnected = connect((store) => ({
user: store.users
}), store.mapStoreToProps)(List);
```
Loading

0 comments on commit 00e01a7

Please sign in to comment.