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