diff --git a/.eslintignore b/.eslintignore
index f9ed3183..6a10ab10 100644
--- a/.eslintignore
+++ b/.eslintignore
@@ -3,6 +3,12 @@
**/__fixtures__/**/*.js
**/coverage/**
**/flow-typed/**
-**/examples/**
**/__tests__/fixtures**
**/s2s-templates-redux/templates/**
+s2s.config.js
+**/examples/react-class-to-sfc/**
+**/examples/import-css/**
+**/examples/getting-started/**
+**/examples/**/registerServiceWorker.js
+**/examples/**/tempPolyfills.js
+**/examples/**/setupTests.js
diff --git a/examples/shopping-cart/.eslintrc.json b/examples/shopping-cart/.eslintrc.json
new file mode 100644
index 00000000..57b66fd9
--- /dev/null
+++ b/examples/shopping-cart/.eslintrc.json
@@ -0,0 +1,6 @@
+{
+ "extends": ["precure/react"],
+ "rules": {
+ "import/extensions": 0
+ }
+}
diff --git a/examples/shopping-cart/src/api/shop.js b/examples/shopping-cart/src/api/shop.js
index 2d1cb78d..157e595c 100644
--- a/examples/shopping-cart/src/api/shop.js
+++ b/examples/shopping-cart/src/api/shop.js
@@ -3,7 +3,7 @@ import _products from './products.json'
const TIMEOUT = 100
-export function getProducts(cb: Function, timeout: number = TIMEOUT) {
+export function getProducts(cb: (*) => void, timeout: number = TIMEOUT) {
setTimeout(() => {
cb(_products)
}, timeout)
@@ -11,7 +11,7 @@ export function getProducts(cb: Function, timeout: number = TIMEOUT) {
export function buyProducts(
payload: *,
- cb: Function,
+ cb: () => void,
timeout: number = TIMEOUT
) {
setTimeout(() => {
diff --git a/examples/shopping-cart/src/components/Cart/index.js b/examples/shopping-cart/src/components/Cart/index.js
index f08d7a17..bef71c55 100644
--- a/examples/shopping-cart/src/components/Cart/index.js
+++ b/examples/shopping-cart/src/components/Cart/index.js
@@ -6,7 +6,7 @@ import Product from '../Product'
type Props = {
products: ProductType[],
total: string,
- onCheckoutClicked: Function,
+ onCheckoutClicked: () => void,
}
const Cart = (props: Props) => {
diff --git a/examples/shopping-cart/src/components/Cart/index.test.js b/examples/shopping-cart/src/components/Cart/index.test.js
index 2ca112cf..b00e72d6 100644
--- a/examples/shopping-cart/src/components/Cart/index.test.js
+++ b/examples/shopping-cart/src/components/Cart/index.test.js
@@ -2,8 +2,8 @@
import * as React from 'react'
import { shallow } from 'enzyme'
import toJson from 'enzyme-to-json'
-import Comp from '.'
import Product from '../Product'
+import Comp from '.'
const setup = (total = '0', products = []) => {
const actions = {
@@ -13,7 +13,7 @@ const setup = (total = '0', products = []) => {
const comp = shallow()
return {
- comp: comp,
+ comp,
actions,
button: comp.find('button'),
products: comp.find(Product),
diff --git a/examples/shopping-cart/src/components/Product/index.test.js b/examples/shopping-cart/src/components/Product/index.test.js
index bd22ab00..3d31199e 100644
--- a/examples/shopping-cart/src/components/Product/index.test.js
+++ b/examples/shopping-cart/src/components/Product/index.test.js
@@ -8,7 +8,7 @@ const setup = props => {
const comp = shallow()
return {
- comp: comp,
+ comp,
}
}
diff --git a/examples/shopping-cart/src/components/ProductItem/index.js b/examples/shopping-cart/src/components/ProductItem/index.js
index c52a4c37..45e7934b 100644
--- a/examples/shopping-cart/src/components/ProductItem/index.js
+++ b/examples/shopping-cart/src/components/ProductItem/index.js
@@ -5,7 +5,7 @@ import Product from '../Product'
type Props = {
product: ProductType,
- onAddToCartClicked: Function,
+ onAddToCartClicked: () => void,
}
const ProductItem = ({ product, onAddToCartClicked }: Props) => (
diff --git a/examples/shopping-cart/src/components/ProductItem/index.test.js b/examples/shopping-cart/src/components/ProductItem/index.test.js
index 83eb00c2..e6f5b7d5 100644
--- a/examples/shopping-cart/src/components/ProductItem/index.test.js
+++ b/examples/shopping-cart/src/components/ProductItem/index.test.js
@@ -13,8 +13,8 @@ const setup = product => {
const component = shallow()
return {
- component: component,
- actions: actions,
+ component,
+ actions,
button: component.find('button'),
product: component.find(Product),
}
diff --git a/examples/shopping-cart/src/components/ProductList/index.test.js b/examples/shopping-cart/src/components/ProductList/index.test.js
index 4bc377b1..a892a255 100644
--- a/examples/shopping-cart/src/components/ProductList/index.test.js
+++ b/examples/shopping-cart/src/components/ProductList/index.test.js
@@ -8,7 +8,7 @@ const setup = (props: Props) => {
const comp = shallow({props.children})
return {
- comp: comp,
+ comp,
children: comp.children().at(1),
h3: comp.find('h3'),
}
diff --git a/examples/shopping-cart/src/containers/CartContainer/index.js b/examples/shopping-cart/src/containers/CartContainer/index.js
index 9b307aee..2803a19f 100644
--- a/examples/shopping-cart/src/containers/CartContainer/index.js
+++ b/examples/shopping-cart/src/containers/CartContainer/index.js
@@ -9,7 +9,7 @@ import { checkout } from './logic'
type Props = {
products: ProductInCart[],
total: string,
- checkout: Function,
+ checkout: () => void,
}
class CartContainer extends React.Component {
diff --git a/examples/shopping-cart/src/containers/CartContainer/reducer.js b/examples/shopping-cart/src/containers/CartContainer/reducer.js
index e1be6c2d..9c7d4992 100644
--- a/examples/shopping-cart/src/containers/CartContainer/reducer.js
+++ b/examples/shopping-cart/src/containers/CartContainer/reducer.js
@@ -20,12 +20,13 @@ function addedIds(state: S, action: Action): S {
function quantityById(state: S, action: Action): Exact {
switch (action.type) {
- case Actions.ADD_TO_CART:
+ case Actions.ADD_TO_CART: {
const { productId } = action
return {
...state,
[productId]: (state[productId] || 0) + 1,
}
+ }
default:
return state
}
diff --git a/examples/shopping-cart/src/containers/ProductById/reducer.test.js b/examples/shopping-cart/src/containers/ProductById/reducer.test.js
index 16857fd2..b27eb573 100644
--- a/examples/shopping-cart/src/containers/ProductById/reducer.test.js
+++ b/examples/shopping-cart/src/containers/ProductById/reducer.test.js
@@ -1,6 +1,6 @@
// @flow
-import reducer, { initialState } from './reducer'
import * as actions from '../ProductsContainer/actions'
+import reducer, { initialState } from './reducer'
test('provide the initial state', () => {
expect(reducer(undefined, { type: '@@INIT' })).toEqual(initialState)
diff --git a/examples/shopping-cart/src/containers/ProductsContainer/index.js b/examples/shopping-cart/src/containers/ProductsContainer/index.js
index 66cb02f6..5f4ce9e3 100644
--- a/examples/shopping-cart/src/containers/ProductsContainer/index.js
+++ b/examples/shopping-cart/src/containers/ProductsContainer/index.js
@@ -9,7 +9,7 @@ import * as selectors from './selectors'
type Props = {
products: Product[],
- addToCart: Function,
+ addToCart: number => void,
}
class ProductsContainer extends React.Component {
diff --git a/examples/shopping-cart/src/containers/ProductsContainer/selectors.test.js b/examples/shopping-cart/src/containers/ProductsContainer/selectors.test.js
index bd9f7f48..db8df1f7 100644
--- a/examples/shopping-cart/src/containers/ProductsContainer/selectors.test.js
+++ b/examples/shopping-cart/src/containers/ProductsContainer/selectors.test.js
@@ -1,9 +1,9 @@
// @flow
import type { State } from '../../types'
-import * as selectros from './selectors'
-import * as actions from './actions'
import reducer from '../../reducer'
import { addToCart } from '../CartContainer/actions'
+import * as selectros from './selectors'
+import * as actions from './actions'
let state: State
diff --git a/examples/shopping-cart/src/registerServiceWorker.js b/examples/shopping-cart/src/registerServiceWorker.js
index a7711e04..1a23c266 100644
--- a/examples/shopping-cart/src/registerServiceWorker.js
+++ b/examples/shopping-cart/src/registerServiceWorker.js
@@ -14,7 +14,7 @@ const isLocalhost = Boolean(
window.location.hostname === '[::1]' ||
// 127.0.0.1/8 is considered localhost for IPv4.
window.location.hostname.match(
- /^127(?:\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/
+ /^127(?:\.(?:25[0-5]|2[0-4]\d|[01]?\d\d?)){3}$/
)
)
diff --git a/examples/shopping-cart/src/types/index.js b/examples/shopping-cart/src/types/index.js
index a84e1988..e1974a14 100644
--- a/examples/shopping-cart/src/types/index.js
+++ b/examples/shopping-cart/src/types/index.js
@@ -9,7 +9,7 @@ export type Action = _Action
export type GetState = () => State
export type ThunkAction = (
- dispatch: Dispatch,
+ dispatch: Dispatch, // eslint-disable-line no-use-before-define
getState: GetState
) => void | Promise