Skip to content

Commit

Permalink
Merge pull request #4 from lsm/fix-ci
Browse files Browse the repository at this point in the history
Fix ci
  • Loading branch information
lsm committed Nov 14, 2018
2 parents 67812be + 48fba49 commit a60943f
Show file tree
Hide file tree
Showing 9 changed files with 495 additions and 550 deletions.
2 changes: 1 addition & 1 deletion .babelrc
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
"presets": [
["@babel/preset-env", {
"targets": {
"browsers": ["> 1%"]
"browsers": ["> 0.25%", "not dead"]
}
}],
"@babel/preset-react"
Expand Down
68 changes: 68 additions & 0 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
# Javascript Node CircleCI 2.0 configuration file
#
# Check https://circleci.com/docs/2.0/language-javascript/ for more details
#

workflows:
version: 2
multi-test:
jobs:
# - browser
- node-v6
- node-v8
- node-v10

version: 2
jobs:
node-base: &node-base
docker:
- image: circleci/node
working_directory: ~/repo
steps:
- run: node --version
- run: npm version
- checkout
# Download and cache dependencies
- restore_cache:
keys:
- v1-dependencies-{{ checksum "package.json" }}-{{ .Environment.CIRCLE_JOB }}
- run: npm install
- save_cache:
paths:
- node_modules
key: v1-dependencies-{{ checksum "package.json" }}-{{ .Environment.CIRCLE_JOB }}
# run tests!
- run: make unit
- run: make coveralls
node-v6:
<<: *node-base
docker:
- image: circleci/node:6
node-v8:
<<: *node-base
docker:
- image: circleci/node:8
node-v10:
<<: *node-base
docker:
- image: circleci/node:10

browser:
docker:
- image: circleci/node:10
working_directory: ~/repo
steps:
- run: node --version
- run: npm version
- checkout
# Download and cache dependencies
- restore_cache:
keys:
- v1-dependencies-{{ checksum "package.json" }}-{{ .Environment.CIRCLE_JOB }}
- run: npm install
- save_cache:
paths:
- node_modules
key: v1-dependencies-{{ checksum "package.json" }}-{{ .Environment.CIRCLE_JOB }}
# run tests!
- run: make browser
21 changes: 10 additions & 11 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,23 +4,22 @@ language: node_js
matrix:
fast_finish: true
include:
- node_js: "8"
- node_js: '10'
env: TASK=browser
- node_js: "8"
- node_js: '8'
env: TASK=coveralls
- node_js: "8"
- node_js: '10'
env: TASK=unit
cache:
directories:
- node_modules
- node_modules
script:
- make ${TASK}
env:
global:
- secure: D7TwkiKbaSeHWk7bUDA4aL1rYzQBrKjDdPgJYoV35km8KipPvujbWacpdREz4mgpXjtE01U1exLjQsTq2aoG576a/PArdQx+6Wfw7rTA18xRBBf6FovAw9y0i/6I6Y3Qhb2OevD/DfctEVuoQHK+IfEk1xHf3VtXJ2XXeN0VPqI=
- secure: FPMYWtm9QGNAQJ4zWT0e6vVwsvfeFe5xEBs4nv+XLd2RiKt+sa5eoVoOxqDl3h95MfTFngr+UylR7MKnwAgwrZzsDlMZrgDItObVgsVvEHBjCT185m9MyW7W0tPEHG3TFsuS71F6J+Qr2TiqUt3Y441A5Dp1Z74+dKkxTPp9go0=
# travis encrypt SAUCE_USERNAME=alfajs
- secure: "DAEtdjAZ4OgC2Wm2nJ9zY5LrnfGoYil2HkiZejnyhbDKjtViuwr4/fTHyHA4Whq2BOBhEsJLbQ+LLB717C/Dxii/lpSQm6mBPj10EtJMCoyZLwSjB9nhfKDxhG2jdv8nLHgAq1g86Gb6haenmlg24ue3X53OzmeC5+gQbU/VAU+EawFnVti7knB/olOGbHmBgKgBqtYuCBtKq4Hcav06qTChubrtL3O4a+Dk+YGpbIayMogUk71SxnL45f5My9n7HOE/VrTFZeoIw9h5LOw+pRbGuXdym/LHSqHPr0xdxB45G0ykC+ZYxNhpuiS72X3rGPwfUJHeSl63UdEXrjAgkk9GI8KB4ykuaysSdUka/kyBckkhvzlw+9tWhIsw9czeEdxGYhAh1DVrXCRBK2XxGKyqUi/eiT7I67qXG+Ym89yOPv7OF8iDNp9nwnrzATrrZy9SPxAP6J5MYit+gv1R8u4YDSYjWX/Tlydcu0ro/IksZFvyZ17CWoLoa7nZOEOWjiaB8+oUkgBQOG4gHqBciP/xmigyyZZ7bkyXP+J+iqc4VH3lbRAhE5emmNBJO7Aig5cJ5lXONduoxdpb925/UuREZ47iW5Bd8QS7ENJZKmRcsjCvpKUWkintxESzAmGlk+GFCoFDBiIzDK+szvp9WCQU3SGy5uYgdpDbOBy4OAo="
# travis encrypt SAUCE_ACCESS_KEY=
- secure: "cB/daEDTLSWDJv1ODONYJhTdxGUtIWtskOUyRoSOnPnyHIaVfL90Ny7dXrpwU1GS/ZWA5IHyId1joK4ida3JEtTqdftjOjVqt6w9Xv8UXPCXr0KAMB7sPCpwa3pS8s3pZEBmzqe1gjfhH2Mw6g6ZgNprDpWwWaiCAEO+NmMsQv4/34gEuDcAt+u18EZeiBMddlf6VsH5R8RfZdz8g/0LRWz7lw5sTC5k4ziM4D50PKgN1jpzV150WMo/xuYS//evBu7ScI33/PkGbtVgOokGoGkUaECEj/SmOQh0Hn7RbemKqyrvWAZyIKvFTECuus7cNJ1jPQukxrM7va/Gm9fEZFc0K+CMD0VEAzKELqY1UgKPXtIuCMs7VzM4d1IxY0HfIDExziPwkMWctD4lLDL7oGiSsrTXbmFJQNp407WDtFd+/Q29dtd1IoyOlJ5X8t8GnvtIWmtM0orf5TKOr2/0DMB9pGqyhglmiaM+qLOkRIqOs22h1QV+INlnyTr5FYcXogrRUTiqFgqgrjF+dhELi92loMOknFAmaRfiRjKv6ecDm/6aVUpNp3pbeft2l4frLdU3lkBhRyY4nt8U3ypVCMjEP3g/Qliw14Qn6aGMivU1IO1M53tfjDe9IDAzc4DG/7DsYPDl0jfc3eibrq2LCG4uiHxGa/T1KKAjq5Qh8i8="

- secure: D7TwkiKbaSeHWk7bUDA4aL1rYzQBrKjDdPgJYoV35km8KipPvujbWacpdREz4mgpXjtE01U1exLjQsTq2aoG576a/PArdQx+6Wfw7rTA18xRBBf6FovAw9y0i/6I6Y3Qhb2OevD/DfctEVuoQHK+IfEk1xHf3VtXJ2XXeN0VPqI=
- secure: FPMYWtm9QGNAQJ4zWT0e6vVwsvfeFe5xEBs4nv+XLd2RiKt+sa5eoVoOxqDl3h95MfTFngr+UylR7MKnwAgwrZzsDlMZrgDItObVgsVvEHBjCT185m9MyW7W0tPEHG3TFsuS71F6J+Qr2TiqUt3Y441A5Dp1Z74+dKkxTPp9go0=
# travis encrypt SAUCE_USERNAME=alfajs
- secure: 'DAEtdjAZ4OgC2Wm2nJ9zY5LrnfGoYil2HkiZejnyhbDKjtViuwr4/fTHyHA4Whq2BOBhEsJLbQ+LLB717C/Dxii/lpSQm6mBPj10EtJMCoyZLwSjB9nhfKDxhG2jdv8nLHgAq1g86Gb6haenmlg24ue3X53OzmeC5+gQbU/VAU+EawFnVti7knB/olOGbHmBgKgBqtYuCBtKq4Hcav06qTChubrtL3O4a+Dk+YGpbIayMogUk71SxnL45f5My9n7HOE/VrTFZeoIw9h5LOw+pRbGuXdym/LHSqHPr0xdxB45G0ykC+ZYxNhpuiS72X3rGPwfUJHeSl63UdEXrjAgkk9GI8KB4ykuaysSdUka/kyBckkhvzlw+9tWhIsw9czeEdxGYhAh1DVrXCRBK2XxGKyqUi/eiT7I67qXG+Ym89yOPv7OF8iDNp9nwnrzATrrZy9SPxAP6J5MYit+gv1R8u4YDSYjWX/Tlydcu0ro/IksZFvyZ17CWoLoa7nZOEOWjiaB8+oUkgBQOG4gHqBciP/xmigyyZZ7bkyXP+J+iqc4VH3lbRAhE5emmNBJO7Aig5cJ5lXONduoxdpb925/UuREZ47iW5Bd8QS7ENJZKmRcsjCvpKUWkintxESzAmGlk+GFCoFDBiIzDK+szvp9WCQU3SGy5uYgdpDbOBy4OAo='
# travis encrypt SAUCE_ACCESS_KEY=
- secure: 'cB/daEDTLSWDJv1ODONYJhTdxGUtIWtskOUyRoSOnPnyHIaVfL90Ny7dXrpwU1GS/ZWA5IHyId1joK4ida3JEtTqdftjOjVqt6w9Xv8UXPCXr0KAMB7sPCpwa3pS8s3pZEBmzqe1gjfhH2Mw6g6ZgNprDpWwWaiCAEO+NmMsQv4/34gEuDcAt+u18EZeiBMddlf6VsH5R8RfZdz8g/0LRWz7lw5sTC5k4ziM4D50PKgN1jpzV150WMo/xuYS//evBu7ScI33/PkGbtVgOokGoGkUaECEj/SmOQh0Hn7RbemKqyrvWAZyIKvFTECuus7cNJ1jPQukxrM7va/Gm9fEZFc0K+CMD0VEAzKELqY1UgKPXtIuCMs7VzM4d1IxY0HfIDExziPwkMWctD4lLDL7oGiSsrTXbmFJQNp407WDtFd+/Q29dtd1IoyOlJ5X8t8GnvtIWmtM0orf5TKOr2/0DMB9pGqyhglmiaM+qLOkRIqOs22h1QV+INlnyTr5FYcXogrRUTiqFgqgrjF+dhELi92loMOknFAmaRfiRjKv6ecDm/6aVUpNp3pbeft2l4frLdU3lkBhRyY4nt8U3ypVCMjEP3g/Qliw14Qn6aGMivU1IO1M53tfjDe9IDAzc4DG/7DsYPDl0jfc3eibrq2LCG4uiHxGa/T1KKAjq5Qh8i8='
32 changes: 16 additions & 16 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,18 +2,15 @@

> Effortless React State Management.
[![CI status][ci-img]][ci-url]
[![License MIT][license-img]][license-url]
[![NPM version][npm-img]][npm-url]
[![Downloads][down-img]][npm-url]
[![Dependencies][dep-image]][dep-url]
[![build status][travis-img]][travis-url]
[![Coverage Status][coverage-img]][coverage-url]
[![Code Climate][climate-img]][climate-url]

![Alfa - Effortless React State Management](docs/alfa.gif)

[![Sauce Test Status](https://saucelabs.com/browser-matrix/alfajs.svg)](https://saucelabs.com/u/alfajs)

## Why Alfa?

[React](https://facebook.github.io/react/) is an excellent library for creating interactive and stateful views. However, things become unclear when you need to `share & change data across components`.
Expand All @@ -22,21 +19,21 @@ Alfa offers an **intuitive and straightforward way** to manage React state. It c

Its **simple** design allows you to adopt it in a matter of minutes while at the same time provides your essential tools to keep your application code easy to change and understand. Here is a list of things why it is the perfect fit for your next React app:

* **Easy** &ndash; Only 4 functions/APIs to learn.
* **Fast** &ndash; Alfa wraps your components with a thin layer. It introduces little to no performance impacts.
* **Small** &ndash; ~190LOC & 3KB minified + gzipped.
* **Async** &ndash; Alfa supports asynchronous operations natively without additional packages.
* **Explicit** &ndash; Alfa lets you know what a component requires **(input)** and what it changes **(output)**.
* **Transparent** &ndash; You can use and unit test your components as they are without Alfa. Users of your lib/component could but don't have to use Alfa at all.
* **React Native** &ndash; Supports React Native out of the box.
* **Server Render** &ndash; Supports isomorphic apps out of the box.
* **Production Ready** &ndash; 100% test coverage and being used in productions.
- **Easy** &ndash; Only 4 functions/APIs to learn.
- **Fast** &ndash; Alfa wraps your components with a thin layer. It introduces little to no performance impacts.
- **Small** &ndash; ~190LOC & 3KB minified + gzipped.
- **Async** &ndash; Alfa supports asynchronous operations natively without additional packages.
- **Explicit** &ndash; Alfa lets you know what a component requires **(input)** and what it changes **(output)**.
- **Transparent** &ndash; You can use and unit test your components as they are without Alfa. Users of your lib/component could but don't have to use Alfa at all.
- **React Native** &ndash; Supports React Native out of the box.
- **Server Render** &ndash; Supports isomorphic apps out of the box.
- **Production Ready** &ndash; 100% test coverage and being used in productions.

## Links

* [Documentation](https://lsm.github.io/alfa)
* [Hello World Example](https://github.com/lsm/alfa/tree/master/examples/hello)
* [TodoMVC Example](https://github.com/lsm/alfa/tree/master/examples/todomvc)
- [Documentation](https://lsm.github.io/alfa)
- [Hello World Example](https://github.com/lsm/alfa/tree/master/examples/hello)
- [TodoMVC Example](https://github.com/lsm/alfa/tree/master/examples/todomvc)

## Quick Guide

Expand Down Expand Up @@ -189,9 +186,12 @@ MIT
[npm-img]: https://badge.fury.io/js/alfa.svg
[down-img]: https://img.shields.io/npm/dm/alfa.svg
[npm-url]: https://npmjs.org/package/alfa
[ci-img]: https://circleci.com/gh/lsm/alfa/tree/master.svg?style=shield
[ci-url]: https://circleci.com/gh/lsm/alfa/tree/master
[travis-img]: https://travis-ci.org/lsm/alfa.svg?branch=master
[travis-url]: http://travis-ci.org/lsm/alfa
[coverage-img]: https://coveralls.io/repos/github/lsm/alfa/badge.svg?branch=master
[coverage-url]: https://coveralls.io/github/lsm/alfa?branch=master
[climate-img]: https://codeclimate.com/github/lsm/alfa/badges/gpa.svg
[climate-url]: https://codeclimate.com/github/lsm/alfa
[saucelabs-url]: https://saucelabs.com/browser-matrix/alfajs.svg
122 changes: 10 additions & 112 deletions karma.conf.js
Original file line number Diff line number Diff line change
Expand Up @@ -124,42 +124,17 @@ var customLaunchers = {
deviceName: 'iPhone 6s Simulator',
deviceOrientation: 'portrait'
},
// sl_iphone_103: {
// base: 'SauceLabs',
// browserName: 'iphone',
// version: '10.3',
// deviceName: 'iPhone 7 Plus Simulator',
// deviceOrientation: 'portrait'
// },
// sl_iphone_112: {
// base: 'SauceLabs',
// browserName: 'iphone',
// version: '11.2',
// deviceName: 'iPhone X Simulator',
// deviceOrientation: 'portrait'
// },
sl_chrome_26: {
base: 'SauceLabs',
browserName: 'chrome',
version: '26'
},
sl_chrome_30: {
base: 'SauceLabs',
browserName: 'chrome',
platform: 'Linux',
version: '30'
},
sl_chrome_40: {
sl_iphone_120: {
base: 'SauceLabs',
browserName: 'chrome',
platform: 'Windows 8.1',
version: '40'
browserName: 'iphone',
version: '12.0',
deviceName: 'iPhone XS Simulator',
deviceOrientation: 'portrait'
},
sl_chrome_50: {
sl_chrome_26: {
base: 'SauceLabs',
browserName: 'chrome',
platform: 'Windows 10',
version: '50'
version: '26'
},
sl_chrome_latest: {
base: 'SauceLabs',
Expand All @@ -172,51 +147,12 @@ var customLaunchers = {
browserName: 'firefox',
version: '18'
},
sl_firefox_30: {
base: 'SauceLabs',
browserName: 'firefox',
platform: 'Linux',
version: '30'
},
sl_firefox_40: {
base: 'SauceLabs',
browserName: 'firefox',
platform: 'Windows 8.1',
version: '40'
},
sl_firefox_50: {
base: 'SauceLabs',
browserName: 'firefox',
platform: 'Windows 10',
version: '50'
},
sl_firefox_latest: {
base: 'SauceLabs',
browserName: 'firefox',
platform: 'OS X 10.12',
version: 'latest'
},
// sl_ipad_93: {
// base: 'SauceLabs',
// browserName: 'ipad',
// version: '9.3',
// deviceName: 'iPad Air Simulator',
// deviceOrientation: 'portrait'
// },
// sl_ipad_103: {
// base: 'SauceLabs',
// browserName: 'ipad',
// version: '10.3',
// deviceName: 'iPad Pro (9.7 inch) Simulator',
// deviceOrientation: 'portrait'
// },
// sl_ipad_112: {
// base: 'SauceLabs',
// browserName: 'ipad',
// version: '11.2',
// deviceName: 'iPad Pro (12.9 inch) (2nd generation) Simulator',
// deviceOrientation: 'portrait'
// },
sl_ie_10: {
base: 'SauceLabs',
browserName: 'internet explorer',
Expand All @@ -225,7 +161,7 @@ var customLaunchers = {
sl_ie_11: {
base: 'SauceLabs',
browserName: 'internet explorer',
platform: 'Windows 8.1',
platform: 'Windows 10',
version: '11'
},
sl_edge_13: {
Expand All @@ -234,39 +170,17 @@ var customLaunchers = {
platform: 'Windows 10',
version: '13'
},
sl_edge_14: {
sl_edge_17: {
base: 'SauceLabs',
browserName: 'microsoftedge',
platform: 'Windows 10',
version: '14'
},
sl_edge_15: {
base: 'SauceLabs',
browserName: 'microsoftedge',
platform: 'Windows 10',
version: '15'
},
sl_edge_16: {
base: 'SauceLabs',
browserName: 'microsoftedge',
platform: 'Windows 10',
version: '16'
version: 'latest'
},
sl_safari_8: {
base: 'SauceLabs',
browserName: 'safari',
version: '8'
},
sl_safari_9: {
base: 'SauceLabs',
browserName: 'safari',
version: '9'
},
sl_safari_10: {
base: 'SauceLabs',
browserName: 'safari',
version: '10'
},
sl_safari_latest: {
base: 'SauceLabs',
browserName: 'safari',
Expand All @@ -280,22 +194,6 @@ var customLaunchers = {
deviceType: 'phone',
deviceOrientation: 'portrait'
},
sl_android_51: {
base: 'SauceLabs',
browserName: 'android',
version: '5.1',
deviceName: 'Android GoogleAPI Emulator',
deviceType: 'phone',
deviceOrientation: 'portrait'
},
sl_android_60: {
base: 'SauceLabs',
browserName: 'android',
version: '6.0',
deviceName: 'Android GoogleAPI Emulator',
deviceType: 'phone',
deviceOrientation: 'portrait'
},
sl_android_71: {
base: 'SauceLabs',
browserName: 'android',
Expand Down
Loading

0 comments on commit a60943f

Please sign in to comment.