Mirror: 🎩 A tiny but capable push & pull stream library for TypeScript and Flow

Set up Sail CI and Codecov (#22)

+6
.codecov.yml
···
+
comment: off
+
coverage:
+
status:
+
project: yes
+
patch: no
+
changes: no
+47
.sail.yml
···
+
workflow:
+
- install
+
- build
+
- sail:parallel:
+
- test
+
- bundle
+
- flowgen
+
tasks:
+
install:
+
image: node:10
+
command:
+
- yarn
+
args:
+
- install
+
- --frozen-lockfile
+
build:
+
image: node:10
+
command:
+
- yarn
+
args:
+
- run
+
- build
+
bundle:
+
image: node:10
+
command:
+
- yarn
+
args:
+
- run
+
- bundle
+
test:
+
image: node:10
+
env:
+
- CODECOV_TOKEN
+
command:
+
- yarn
+
args:
+
- run
+
- run-s
+
- coverage
+
- codecov
+
flowgen:
+
image: node:10
+
command:
+
- yarn
+
args:
+
- run
+
- flowgen
-18
.travis.yml
···
-
dist: trusty
-
language: node_js
-
node_js:
-
- "10"
-
sudo: false
-
branches:
-
only:
-
- master
-
notifications:
-
email:
-
on_success: change
-
on_failure: always
-
cache: yarn
-
script:
-
- yarn run build
-
- yarn run bundle
-
- yarn run flowgen
-
- yarn run coverage
+14 -5
README.md
···
A fast push & pull stream library for Reason, loosely following the [callbag spec](https://github.com/callbag/callbag)
-
[![Build Status](https://travis-ci.org/kitten/wonka.svg?branch=master)](https://travis-ci.org/kitten/wonka)
-
[![Coverage Status](https://coveralls.io/repos/github/kitten/wonka/badge.svg?branch=master)](https://coveralls.io/github/kitten/wonka?branch=master)
-
[![npm](https://img.shields.io/npm/v/wonka.svg)](https://www.npmjs.com/package/wonka)
-
[![npm](https://img.shields.io/npm/l/wonka.svg)](https://www.npmjs.com/package/wonka)
+
<br>
+
<a href="https://npmjs.com/package/wonka">
+
<img alt="NPM Version" src="https://img.shields.io/npm/v/wonka.svg" />
+
</a>
+
<a href="https://npmjs.com/package/wonka">
+
<img alt="License" src="https://img.shields.io/npm/l/wonka.svg" />
+
</a>
+
<a href="https://codecov.io/gh/kitten/wonka">
+
<img alt="Test Coverage" src="https://codecov.io/gh/kitten/wonka/branch/master/graph/badge.svg" />
+
</a>
+
<a href="https://bundlephobia.com/result?p=wonka">
+
<img alt="Minified gzip size" src="https://img.shields.io/bundlephobia/minzip/wonka.svg?label=gzip%20size" />
+
</a>
+
<br>
> “There’s no earthly way of knowing<br>
> Which direction we are going<br>
···
- Usage Guides & Recipes
- Developer Guides (How to write a source/operator/sink)
- Modified Callbag spec
-
+3 -1
package.json
···
"refmt": "bsrefmt --in-place **/**/*.{re,rei}",
"flowgen": "./scripts/generate-flow-files.js",
"bundle": "rollup -c rollup.config.js",
-
"prepublishOnly": "run-s clean build bundle flowgen test"
+
"prepublishOnly": "run-s clean build bundle flowgen test",
+
"codecov": "codecov"
},
"keywords": [
"wonka",
···
"devDependencies": {
"@glennsl/bs-jest": "^0.4.8",
"bs-platform": "^5.0.4",
+
"codecov": "^3.5.0",
"flowgen": "^1.8.0",
"globby": "^9.2.0",
"husky": "^1.3.1",
+8
scripts/generate-flow-files.js
···
const preamble = '// @flow\n\n';
const genEntry = async () => {
+
try {
+
fs.mkdirSync(path.resolve(cwd, 'dist'));
+
} catch (err) {
+
if (err.code !== 'EEXIST') {
+
throw err;
+
}
+
}
+
let entry = await readFile(path.resolve(cwd, 'index.js.flow'), { encoding: 'utf8' });
entry = entry.replace(/.\/src/g, '../src');
+63 -1
yarn.lock
···
resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.1.1.tgz#7d25ae05bb8ad1f9b699108e1094ecd7884adc1f"
integrity sha512-jPTiwtOxaHNaAPg/dmrJ/beuzLRnXtB0kQPQ8JpotKJgTB6rX6c8mlf315941pyjBSaPg8NHXS9fhP4u17DpGA==
+
agent-base@^4.1.0:
+
version "4.3.0"
+
resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-4.3.0.tgz#8165f01c436009bccad0b1d122f05ed770efc6ee"
+
integrity sha512-salcGninV0nPrwpGNn4VTXBb1SOuXQBiqbrNXoeizJsHrsL6ERFM2Ne3JUSBWRE6aeNJI2ROP/WEEIDUiDe3cg==
+
dependencies:
+
es6-promisify "^5.0.0"
+
ajv@^6.5.5:
version "6.10.0"
resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.10.0.tgz#90d0d54439da587cd7e843bfb7045f50bd22bdf1"
···
integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==
dependencies:
sprintf-js "~1.0.2"
+
+
argv@^0.0.2:
+
version "0.0.2"
+
resolved "https://registry.yarnpkg.com/argv/-/argv-0.0.2.tgz#ecbd16f8949b157183711b1bda334f37840185ab"
+
integrity sha1-7L0W+JSbFXGDcRsb2jNPN4QBhas=
arr-diff@^4.0.0:
version "4.0.0"
···
resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77"
integrity sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=
+
codecov@^3.5.0:
+
version "3.5.0"
+
resolved "https://registry.yarnpkg.com/codecov/-/codecov-3.5.0.tgz#3d0748932f9cb41e1ad7f21fa346ef1b2b1bed47"
+
integrity sha512-/OsWOfIHaQIr7aeZ4pY0UC1PZT6kimoKFOFYFNb6wxo3iw12nRrh+mNGH72rnXxNsq6SGfesVPizm/6Q3XqcFQ==
+
dependencies:
+
argv "^0.0.2"
+
ignore-walk "^3.0.1"
+
js-yaml "^3.13.1"
+
teeny-request "^3.11.3"
+
urlgrey "^0.4.4"
+
collection-visit@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/collection-visit/-/collection-visit-1.0.0.tgz#4bc0373c164bc3291b4d368c829cf1a80a59dca0"
···
is-date-object "^1.0.1"
is-symbol "^1.0.2"
+
es6-promise@^4.0.3:
+
version "4.2.8"
+
resolved "https://registry.yarnpkg.com/es6-promise/-/es6-promise-4.2.8.tgz#4eb21594c972bc40553d276e510539143db53e0a"
+
integrity sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==
+
+
es6-promisify@^5.0.0:
+
version "5.0.0"
+
resolved "https://registry.yarnpkg.com/es6-promisify/-/es6-promisify-5.0.0.tgz#5109d62f3e56ea967c4b63505aef08291c8a5203"
+
integrity sha1-UQnWLz5W6pZ8S2NQWu8IKRyKUgM=
+
dependencies:
+
es6-promise "^4.0.3"
+
escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.4, escape-string-regexp@^1.0.5:
version "1.0.5"
resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4"
···
jsprim "^1.2.2"
sshpk "^1.7.0"
+
https-proxy-agent@^2.2.1:
+
version "2.2.1"
+
resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-2.2.1.tgz#51552970fa04d723e04c56d04178c3f92592bbc0"
+
integrity sha512-HPCTS1LW51bcyMYbxUIOO4HEOlQ1/1qRaFWcyxvwaqUS9TY88aoEuHUY33kuAh1YhVVaDQhLZsnPd+XNARWZlQ==
+
dependencies:
+
agent-base "^4.1.0"
+
debug "^3.1.0"
+
husky@^1.3.1:
version "1.3.1"
resolved "https://registry.yarnpkg.com/husky/-/husky-1.3.1.tgz#26823e399300388ca2afff11cfa8a86b0033fae0"
···
resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499"
integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==
-
js-yaml@^3.13.0:
+
js-yaml@^3.13.0, js-yaml@^3.13.1:
version "3.13.1"
resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.13.1.tgz#aff151b30bfdfa8e49e05da22e7415e9dfa37847"
integrity sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==
···
resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366"
integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==
+
node-fetch@^2.2.0:
+
version "2.6.0"
+
resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.0.tgz#e633456386d4aa55863f676a7ab0daa8fdecb0fd"
+
integrity sha512-8dG4H5ujfvFiqDmVu9fQ5bOHUC15JMjMY/Zumv26oOvvVJjM67KF8koCWIabKQ1GJIa9r2mMZscBq/TbdOcmNA==
+
node-int64@^0.4.0:
version "0.4.0"
resolved "https://registry.yarnpkg.com/node-int64/-/node-int64-0.4.0.tgz#87a9065cdb355d3182d8f94ce11188b825c68a3b"
···
safe-buffer "^5.1.2"
yallist "^3.0.2"
+
teeny-request@^3.11.3:
+
version "3.11.3"
+
resolved "https://registry.yarnpkg.com/teeny-request/-/teeny-request-3.11.3.tgz#335c629f7645e5d6599362df2f3230c4cbc23a55"
+
integrity sha512-CKncqSF7sH6p4rzCgkb/z/Pcos5efl0DmolzvlqRQUNcpRIruOhY9+T1FsIlyEbfWd7MsFpodROOwHYh2BaXzw==
+
dependencies:
+
https-proxy-agent "^2.2.1"
+
node-fetch "^2.2.0"
+
uuid "^3.3.2"
+
terser@^3.14.1:
version "3.17.0"
resolved "https://registry.yarnpkg.com/terser/-/terser-3.17.0.tgz#f88ffbeda0deb5637f9d24b0da66f4e15ab10cb2"
···
version "0.1.0"
resolved "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72"
integrity sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=
+
+
urlgrey@^0.4.4:
+
version "0.4.4"
+
resolved "https://registry.yarnpkg.com/urlgrey/-/urlgrey-0.4.4.tgz#892fe95960805e85519f1cd4389f2cb4cbb7652f"
+
integrity sha1-iS/pWWCAXoVRnxzUOJ8stMu3ZS8=
use@^3.1.0:
version "3.1.1"