Repository: mostjs/core
Pull request #39 (2017-02-07 14:46:25)

chore(META): Refactor to lerna monorepo
🚨 POC lerna monorepo

Supersedes #38 


Patch:
diff --git a/.gitignore b/.gitignore
index e660139..decc335 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,6 +1,8 @@
-/node_modules/
+node_modules/
 /.idea/
 *.iml
 .DS_Store
 experiments/
 dist/
+lerna-debug.log
+npm-debug.log
diff --git a/.npmignore b/.npmignore
index 860b9e1..7bfe9c4 100644
--- a/.npmignore
+++ b/.npmignore
@@ -1,4 +1,3 @@
-/test/
 .jshintrc
 .jshintignore
 .editorconfig
@@ -7,3 +6,4 @@
 experiments/
 examples/
 bower_components/
+node_modules/
diff --git a/lerna.json b/lerna.json
new file mode 100644
index 0000000..ede9697
--- /dev/null
+++ b/lerna.json
@@ -0,0 +1,7 @@
+{
+  "lerna": "2.0.0-beta.37",
+  "packages": [
+    "packages/*"
+  ],
+  "version": "0.3.0"
+}
diff --git a/northbrook.js b/northbrook.js
deleted file mode 100644
index e4afcde..0000000
--- a/northbrook.js
+++ /dev/null
@@ -1,9 +0,0 @@
-module.exports = {
-  mocha: {
-    patterns: [
-      'test/**/*.js',
-      '!test/flow/**/*.*',
-      '!test/perf/**/*.*'
-    ]
-  }
-}
diff --git a/package.json b/package.json
index ad10dc8..3aff75e 100644
--- a/package.json
+++ b/package.json
@@ -1,66 +1,21 @@
 {
-  "name": "@most/core",
-  "version": "0.3.0",
+  "name": "@most/monorepo",
+  "private": true,
   "description": "Reactive programming with lean, functions-only, curried, tree-shakeable API",
-  "typings": "type-definitions/most.d.ts",
-  "main": "dist/mostCore.js",
-  "module": "dist/mostCore.es.js",
-  "jsnext:main": "dist/mostCore.es.js",
-  "files": [
-    "type-definitions",
-    "dist"
-  ],
   "scripts": {
-    "commit": "northbrook commit",
-    "test": "npm run test:lint && npm run test:unit && npm run test:flow",
-    "test:unit": "npm run test:unit-mocha && npm run test:unit-buster",
-    "test:unit-buster": "buster-test -c test-buster-old/buster.js",
-    "test:unit-mocha": "northbrook mocha",
-    "test:lint": "northbrook eslint",
-    "test:flow": "flow check",
-    "build": "npm run build:dist && npm run build:min && npm run build:flow",
-    "build:dist": "northbrook rollup",
-    "build:min": "uglifyjs dist/mostCore.js -m -o dist/mostCore.min.js",
-    "build:flow": "cpy src/index.js.flow dist --rename=mostCore.js.flow && cpy src/index.js.flow dist --rename=mostCore.es.js.flow",
-    "prepublish": "npm run build",
-    "release": "northbrook release"
+    "postinstall": "lerna bootstrap --hoist",
+    "test": "lerna run test",
+    "test:unit": "lerna run test:unit",
+    "test:lint": "lerna run test:lint",
+    "build": "lerna run build"
   },
   "repository": {
     "type": "git",
     "url": "https://github.com/mostjs/core"
   },
-  "keywords": [
-    "reactive",
-    "reactive programming",
-    "events",
-    "event stream",
-    "promise",
-    "promises",
-    "monad",
-    "monadic",
-    "functional",
-    "async"
-  ],
   "author": "brian@hovercraftstudios.com",
   "license": "MIT",
   "devDependencies": {
-    "@briancavalier/assert": "^3.2.0",
-    "@most/eslint-config-most": "^1.0.3",
-    "@northbrook/eslint": "^2.0.1",
-    "@northbrook/mocha": "^3.1.0",
-    "@northbrook/rollup": "^1.0.1",
-    "babel-eslint": "^7.1.1",
-    "buba": "^4.0.2",
-    "buster": "^0.7.18",
-    "cpy-cli": "^1.0.1",
-    "flow-bin": "^0.37.4",
-    "northbrook": "^4.5.1",
-    "rollup-plugin-buble": "^0.15.0",
-    "rollup-plugin-node-resolve": "^2.0.0",
-    "sinon": "^1.17.7",
-    "uglify-js": "^2.7.5"
-  },
-  "dependencies": {
-    "@most/prelude": "^1.4.0"
+    "lerna": "2.0.0-beta.37"
   }
 }
diff --git a/.eslintignore b/packages/core/.eslintignore
similarity index 100%
rename from .eslintignore
rename to packages/core/.eslintignore
diff --git a/.eslintrc b/packages/core/.eslintrc
similarity index 100%
rename from .eslintrc
rename to packages/core/.eslintrc
diff --git a/.flowconfig b/packages/core/.flowconfig
similarity index 100%
rename from .flowconfig
rename to packages/core/.flowconfig
diff --git a/packages/core/package.json b/packages/core/package.json
new file mode 100644
index 0000000..77aa2a1
--- /dev/null
+++ b/packages/core/package.json
@@ -0,0 +1,61 @@
+{
+  "name": "@most/core",
+  "version": "0.3.0",
+  "description": "Reactive programming with lean, functions-only, curried, tree-shakeable API",
+  "typings": "type-definitions/most.d.ts",
+  "main": "dist/mostCore.js",
+  "module": "dist/mostCore.es.js",
+  "jsnext:main": "dist/mostCore.es.js",
+  "files": [
+    "type-definitions",
+    "dist"
+  ],
+  "scripts": {
+    "test": "npm run test:lint && npm run test:unit && npm run test:flow",
+    "test:unit": "buster-test -c test-buster-old/buster.js && mocha -r buba/register --reporter dot --recursive 'test/**/*-test.js'",
+    "test:lint": "eslint src test",
+    "test:flow": "flow check",
+    "build": "npm run build:dist && npm run build:min && npm run build:flow",
+    "build:dist": "rollup -c",
+    "build:min": "uglifyjs dist/mostCore.js -m -o dist/mostCore.min.js",
+    "build:flow": "cpy src/index.js.flow dist --rename=mostCore.js.flow && cpy src/index.js.flow dist --rename=mostCore.es.js.flow",
+    "prepublish": "npm run build"
+  },
+  "repository": {
+    "type": "git",
+    "url": "https://github.com/mostjs/core"
+  },
+  "keywords": [
+    "reactive",
+    "reactive programming",
+    "events",
+    "event stream",
+    "promise",
+    "promises",
+    "monad",
+    "monadic",
+    "functional",
+    "async"
+  ],
+  "author": "brian@hovercraftstudios.com",
+  "license": "MIT",
+  "devDependencies": {
+    "@briancavalier/assert": "^3.2.0",
+    "@most/eslint-config-most": "^1.0.3",
+    "babel-eslint": "^7.1.1",
+    "buba": "^4.0.2",
+    "buster": "^0.8.0",
+    "cpy-cli": "^1.0.1",
+    "eslint": "^3.15.0",
+    "flow-bin": "^0.37.4",
+    "mocha": "^3.2.0",
+    "rollup": "^0.41.4",
+    "rollup-plugin-buble": "^0.15.0",
+    "rollup-plugin-node-resolve": "^2.0.0",
+    "sinon": "^1.17.7",
+    "uglify-js": "^2.7.5"
+  },
+  "dependencies": {
+    "@most/prelude": "^1.4.0"
+  }
+}


Test patch:
diff --git a/rollup.config.js b/packages/core/rollup.config.js
similarity index 100%
rename from rollup.config.js
rename to packages/core/rollup.config.js
diff --git a/src/LinkedList.js b/packages/core/src/LinkedList.js
similarity index 100%
rename from src/LinkedList.js
rename to packages/core/src/LinkedList.js
diff --git a/src/Promise.js b/packages/core/src/Promise.js
similarity index 100%
rename from src/Promise.js
rename to packages/core/src/Promise.js
diff --git a/src/Queue.js b/packages/core/src/Queue.js
similarity index 100%
rename from src/Queue.js
rename to packages/core/src/Queue.js
diff --git a/src/Stream.js b/packages/core/src/Stream.js
similarity index 100%
rename from src/Stream.js
rename to packages/core/src/Stream.js
diff --git a/src/combinator/applicative.js b/packages/core/src/combinator/applicative.js
similarity index 100%
rename from src/combinator/applicative.js
rename to packages/core/src/combinator/applicative.js
diff --git a/src/combinator/build.js b/packages/core/src/combinator/build.js
similarity index 100%
rename from src/combinator/build.js
rename to packages/core/src/combinator/build.js
diff --git a/src/combinator/chain.js b/packages/core/src/combinator/chain.js
similarity index 100%
rename from src/combinator/chain.js
rename to packages/core/src/combinator/chain.js
diff --git a/src/combinator/combine.js b/packages/core/src/combinator/combine.js
similarity index 100%
rename from src/combinator/combine.js
rename to packages/core/src/combinator/combine.js
diff --git a/src/combinator/concatMap.js b/packages/core/src/combinator/concatMap.js
similarity index 100%
rename from src/combinator/concatMap.js
rename to packages/core/src/combinator/concatMap.js
diff --git a/src/combinator/continueWith.js b/packages/core/src/combinator/continueWith.js
similarity index 100%
rename from src/combinator/continueWith.js
rename to packages/core/src/combinator/continueWith.js
diff --git a/src/combinator/delay.js b/packages/core/src/combinator/delay.js
similarity index 100%
rename from src/combinator/delay.js
rename to packages/core/src/combinator/delay.js
diff --git a/src/combinator/errors.js b/packages/core/src/combinator/errors.js
similarity index 100%
rename from src/combinator/errors.js
rename to packages/core/src/combinator/errors.js
diff --git a/src/combinator/filter.js b/packages/core/src/combinator/filter.js
similarity index 100%
rename from src/combinator/filter.js
rename to packages/core/src/combinator/filter.js
diff --git a/src/combinator/limit.js b/packages/core/src/combinator/limit.js
similarity index 100%
rename from src/combinator/limit.js
rename to packages/core/src/combinator/limit.js
diff --git a/src/combinator/loop.js b/packages/core/src/combinator/loop.js
similarity index 100%
rename from src/combinator/loop.js
rename to packages/core/src/combinator/loop.js
diff --git a/src/combinator/merge.js b/packages/core/src/combinator/merge.js
similarity index 100%
rename from src/combinator/merge.js
rename to packages/core/src/combinator/merge.js
diff --git a/src/combinator/mergeConcurrently.js b/packages/core/src/combinator/mergeConcurrently.js
similarity index 100%
rename from src/combinator/mergeConcurrently.js
rename to packages/core/src/combinator/mergeConcurrently.js
diff --git a/src/combinator/observe.js b/packages/core/src/combinator/observe.js
similarity index 100%
rename from src/combinator/observe.js
rename to packages/core/src/combinator/observe.js
diff --git a/src/combinator/promises.js b/packages/core/src/combinator/promises.js
similarity index 100%
rename from src/combinator/promises.js
rename to packages/core/src/combinator/promises.js
diff --git a/src/combinator/reduce.js b/packages/core/src/combinator/reduce.js
similarity index 100%
rename from src/combinator/reduce.js
rename to packages/core/src/combinator/reduce.js
diff --git a/src/combinator/sample.js b/packages/core/src/combinator/sample.js
similarity index 100%
rename from src/combinator/sample.js
rename to packages/core/src/combinator/sample.js
diff --git a/src/combinator/scan.js b/packages/core/src/combinator/scan.js
similarity index 100%
rename from src/combinator/scan.js
rename to packages/core/src/combinator/scan.js
diff --git a/src/combinator/slice.js b/packages/core/src/combinator/slice.js
similarity index 100%
rename from src/combinator/slice.js
rename to packages/core/src/combinator/slice.js
diff --git a/src/combinator/switch.js b/packages/core/src/combinator/switch.js
similarity index 100%
rename from src/combinator/switch.js
rename to packages/core/src/combinator/switch.js
diff --git a/src/combinator/timeslice.js b/packages/core/src/combinator/timeslice.js
similarity index 100%
rename from src/combinator/timeslice.js
rename to packages/core/src/combinator/timeslice.js
diff --git a/src/combinator/transform.js b/packages/core/src/combinator/transform.js
similarity index 100%
rename from src/combinator/transform.js
rename to packages/core/src/combinator/transform.js
diff --git a/src/combinator/zip.js b/packages/core/src/combinator/zip.js
similarity index 100%
rename from src/combinator/zip.js
rename to packages/core/src/combinator/zip.js
diff --git a/src/disposable/Disposable.js b/packages/core/src/disposable/Disposable.js
similarity index 100%
rename from src/disposable/Disposable.js
rename to packages/core/src/disposable/Disposable.js
diff --git a/src/disposable/MemoizedDisposable.js b/packages/core/src/disposable/MemoizedDisposable.js
similarity index 100%
rename from src/disposable/MemoizedDisposable.js
rename to packages/core/src/disposable/MemoizedDisposable.js
diff --git a/src/disposable/SettableDisposable.js b/packages/core/src/disposable/SettableDisposable.js
similarity index 100%
rename from src/disposable/SettableDisposable.js
rename to packages/core/src/disposable/SettableDisposable.js
diff --git a/src/disposable/dispose.js b/packages/core/src/disposable/dispose.js
similarity index 100%
rename from src/disposable/dispose.js
rename to packages/core/src/disposable/dispose.js
diff --git a/src/disposable/disposeSafely.js b/packages/core/src/disposable/disposeSafely.js
similarity index 100%
rename from src/disposable/disposeSafely.js
rename to packages/core/src/disposable/disposeSafely.js
diff --git a/src/fatalError.js b/packages/core/src/fatalError.js
similarity index 100%
rename from src/fatalError.js
rename to packages/core/src/fatalError.js
diff --git a/src/fusion/Filter.js b/packages/core/src/fusion/Filter.js
similarity index 100%
rename from src/fusion/Filter.js
rename to packages/core/src/fusion/Filter.js
diff --git a/src/fusion/FilterMap.js b/packages/core/src/fusion/FilterMap.js
similarity index 100%
rename from src/fusion/FilterMap.js
rename to packages/core/src/fusion/FilterMap.js
diff --git a/src/fusion/Map.js b/packages/core/src/fusion/Map.js
similarity index 100%
rename from src/fusion/Map.js
rename to packages/core/src/fusion/Map.js
diff --git a/src/index.js b/packages/core/src/index.js
similarity index 100%
rename from src/index.js
rename to packages/core/src/index.js
diff --git a/src/index.js.flow b/packages/core/src/index.js.flow
similarity index 100%
rename from src/index.js.flow
rename to packages/core/src/index.js.flow
diff --git a/src/invoke.js b/packages/core/src/invoke.js
similarity index 100%
rename from src/invoke.js
rename to packages/core/src/invoke.js
diff --git a/src/iterable.js b/packages/core/src/iterable.js
similarity index 100%
rename from src/iterable.js
rename to packages/core/src/iterable.js
diff --git a/src/runEffects.js b/packages/core/src/runEffects.js
similarity index 100%
rename from src/runEffects.js
rename to packages/core/src/runEffects.js
diff --git a/src/scheduler/ClockTimer.js b/packages/core/src/scheduler/ClockTimer.js
similarity index 100%
rename from src/scheduler/ClockTimer.js
rename to packages/core/src/scheduler/ClockTimer.js
diff --git a/src/scheduler/PropagateTask.js b/packages/core/src/scheduler/PropagateTask.js
similarity index 100%
rename from src/scheduler/PropagateTask.js
rename to packages/core/src/scheduler/PropagateTask.js
diff --git a/src/scheduler/ScheduledTask.js b/packages/core/src/scheduler/ScheduledTask.js
similarity index 100%
rename from src/scheduler/ScheduledTask.js
rename to packages/core/src/scheduler/ScheduledTask.js
diff --git a/src/scheduler/Scheduler.js b/packages/core/src/scheduler/Scheduler.js
similarity index 100%
rename from src/scheduler/Scheduler.js
rename to packages/core/src/scheduler/Scheduler.js
diff --git a/src/scheduler/Timeline.js b/packages/core/src/scheduler/Timeline.js
similarity index 100%
rename from src/scheduler/Timeline.js
rename to packages/core/src/scheduler/Timeline.js
diff --git a/src/scheduler/defaultScheduler.js b/packages/core/src/scheduler/defaultScheduler.js
similarity index 100%
rename from src/scheduler/defaultScheduler.js
rename to packages/core/src/scheduler/defaultScheduler.js
diff --git a/src/sink/DeferredSink.js b/packages/core/src/sink/DeferredSink.js
similarity index 100%
rename from src/sink/DeferredSink.js
rename to packages/core/src/sink/DeferredSink.js
diff --git a/src/sink/IndexSink.js b/packages/core/src/sink/IndexSink.js
similarity index 100%
rename from src/sink/IndexSink.js
rename to packages/core/src/sink/IndexSink.js
diff --git a/src/sink/Pipe.js b/packages/core/src/sink/Pipe.js
similarity index 100%
rename from src/sink/Pipe.js
rename to packages/core/src/sink/Pipe.js
diff --git a/src/sink/SafeSink.js b/packages/core/src/sink/SafeSink.js
similarity index 100%
rename from src/sink/SafeSink.js
rename to packages/core/src/sink/SafeSink.js
diff --git a/src/source/core.js b/packages/core/src/source/core.js
similarity index 100%
rename from src/source/core.js
rename to packages/core/src/source/core.js
diff --git a/src/source/from.js b/packages/core/src/source/from.js
similarity index 100%
rename from src/source/from.js
rename to packages/core/src/source/from.js
diff --git a/src/source/fromArray.js b/packages/core/src/source/fromArray.js
similarity index 100%
rename from src/source/fromArray.js
rename to packages/core/src/source/fromArray.js
diff --git a/src/source/fromIterable.js b/packages/core/src/source/fromIterable.js
similarity index 100%
rename from src/source/fromIterable.js
rename to packages/core/src/source/fromIterable.js
diff --git a/src/source/generate.js b/packages/core/src/source/generate.js
similarity index 100%
rename from src/source/generate.js
rename to packages/core/src/source/generate.js
diff --git a/src/source/iterate.js b/packages/core/src/source/iterate.js
similarity index 100%
rename from src/source/iterate.js
rename to packages/core/src/source/iterate.js
diff --git a/src/source/periodic.js b/packages/core/src/source/periodic.js
similarity index 100%
rename from src/source/periodic.js
rename to packages/core/src/source/periodic.js
diff --git a/src/source/tryEvent.js b/packages/core/src/source/tryEvent.js
similarity index 100%
rename from src/source/tryEvent.js
rename to packages/core/src/source/tryEvent.js
diff --git a/src/source/unfold.js b/packages/core/src/source/unfold.js
similarity index 100%
rename from src/source/unfold.js
rename to packages/core/src/source/unfold.js
diff --git a/src/task.js b/packages/core/src/task.js
similarity index 100%
rename from src/task.js
rename to packages/core/src/task.js
diff --git a/test-buster-old/.jshintrc b/packages/core/test-buster-old/.jshintrc
similarity index 100%
rename from test-buster-old/.jshintrc
rename to packages/core/test-buster-old/.jshintrc
diff --git a/test-buster-old/Stream-test.js b/packages/core/test-buster-old/Stream-test.js
similarity index 100%
rename from test-buster-old/Stream-test.js
rename to packages/core/test-buster-old/Stream-test.js
diff --git a/test-buster-old/build-test.js b/packages/core/test-buster-old/build-test.js
similarity index 100%
rename from test-buster-old/build-test.js
rename to packages/core/test-buster-old/build-test.js
diff --git a/test-buster-old/buster.js b/packages/core/test-buster-old/buster.js
similarity index 100%
rename from test-buster-old/buster.js
rename to packages/core/test-buster-old/buster.js
diff --git a/test-buster-old/combinator/applicative-test.js b/packages/core/test-buster-old/combinator/applicative-test.js
similarity index 100%
rename from test-buster-old/combinator/applicative-test.js
rename to packages/core/test-buster-old/combinator/applicative-test.js
diff --git a/test-buster-old/combinator/chain-test.js b/packages/core/test-buster-old/combinator/chain-test.js
similarity index 100%
rename from test-buster-old/combinator/chain-test.js
rename to packages/core/test-buster-old/combinator/chain-test.js
diff --git a/test-buster-old/combinator/concatMap-test.js b/packages/core/test-buster-old/combinator/concatMap-test.js
similarity index 100%
rename from test-buster-old/combinator/concatMap-test.js
rename to packages/core/test-buster-old/combinator/concatMap-test.js
diff --git a/test-buster-old/combinator/continueWith-test.js b/packages/core/test-buster-old/combinator/continueWith-test.js
similarity index 100%
rename from test-buster-old/combinator/continueWith-test.js
rename to packages/core/test-buster-old/combinator/continueWith-test.js
diff --git a/test-buster-old/combinator/errors-test.js b/packages/core/test-buster-old/combinator/errors-test.js
similarity index 100%
rename from test-buster-old/combinator/errors-test.js
rename to packages/core/test-buster-old/combinator/errors-test.js
diff --git a/test-buster-old/combinator/loop-test.js b/packages/core/test-buster-old/combinator/loop-test.js
similarity index 100%
rename from test-buster-old/combinator/loop-test.js
rename to packages/core/test-buster-old/combinator/loop-test.js
diff --git a/test-buster-old/combinator/merge-test.js b/packages/core/test-buster-old/combinator/merge-test.js
similarity index 100%
rename from test-buster-old/combinator/merge-test.js
rename to packages/core/test-buster-old/combinator/merge-test.js
diff --git a/test-buster-old/combinator/mergeConcurrently-test.js b/packages/core/test-buster-old/combinator/mergeConcurrently-test.js
similarity index 100%
rename from test-buster-old/combinator/mergeConcurrently-test.js
rename to packages/core/test-buster-old/combinator/mergeConcurrently-test.js
diff --git a/test-buster-old/combinator/promises-test.js b/packages/core/test-buster-old/combinator/promises-test.js
similarity index 100%
rename from test-buster-old/combinator/promises-test.js
rename to packages/core/test-buster-old/combinator/promises-test.js
diff --git a/test-buster-old/combinator/sample-test.js b/packages/core/test-buster-old/combinator/sample-test.js
similarity index 100%
rename from test-buster-old/combinator/sample-test.js
rename to packages/core/test-buster-old/combinator/sample-test.js
diff --git a/test-buster-old/combinator/scan-test.js b/packages/core/test-buster-old/combinator/scan-test.js
similarity index 100%
rename from test-buster-old/combinator/scan-test.js
rename to packages/core/test-buster-old/combinator/scan-test.js
diff --git a/test-buster-old/combine-test.js b/packages/core/test-buster-old/combine-test.js
similarity index 100%
rename from test-buster-old/combine-test.js
rename to packages/core/test-buster-old/combine-test.js
diff --git a/test-buster-old/delay-test.js b/packages/core/test-buster-old/delay-test.js
similarity index 100%
rename from test-buster-old/delay-test.js
rename to packages/core/test-buster-old/delay-test.js
diff --git a/test-buster-old/filter-test.js b/packages/core/test-buster-old/filter-test.js
similarity index 100%
rename from test-buster-old/filter-test.js
rename to packages/core/test-buster-old/filter-test.js
diff --git a/test-buster-old/helper/ArrayIterable.js b/packages/core/test-buster-old/helper/ArrayIterable.js
similarity index 100%
rename from test-buster-old/helper/ArrayIterable.js
rename to packages/core/test-buster-old/helper/ArrayIterable.js
diff --git a/test-buster-old/helper/FakeDisposeSource.js b/packages/core/test-buster-old/helper/FakeDisposeSource.js
similarity index 100%
rename from test-buster-old/helper/FakeDisposeSource.js
rename to packages/core/test-buster-old/helper/FakeDisposeSource.js
diff --git a/test-buster-old/helper/FakeEventEmitter.js b/packages/core/test-buster-old/helper/FakeEventEmitter.js
similarity index 100%
rename from test-buster-old/helper/FakeEventEmitter.js
rename to packages/core/test-buster-old/helper/FakeEventEmitter.js
diff --git a/test-buster-old/helper/FakeEventTarget.js b/packages/core/test-buster-old/helper/FakeEventTarget.js
similarity index 100%
rename from test-buster-old/helper/FakeEventTarget.js
rename to packages/core/test-buster-old/helper/FakeEventTarget.js
diff --git a/test-buster-old/helper/Iteration.js b/packages/core/test-buster-old/helper/Iteration.js
similarity index 100%
rename from test-buster-old/helper/Iteration.js
rename to packages/core/test-buster-old/helper/Iteration.js
diff --git a/test-buster-old/helper/VirtualTimer.js b/packages/core/test-buster-old/helper/VirtualTimer.js
similarity index 100%
rename from test-buster-old/helper/VirtualTimer.js
rename to packages/core/test-buster-old/helper/VirtualTimer.js
diff --git a/test-buster-old/helper/delayPromise.js b/packages/core/test-buster-old/helper/delayPromise.js
similarity index 100%
rename from test-buster-old/helper/delayPromise.js
rename to packages/core/test-buster-old/helper/delayPromise.js
diff --git a/test-buster-old/helper/endWith.js b/packages/core/test-buster-old/helper/endWith.js
similarity index 100%
rename from test-buster-old/helper/endWith.js
rename to packages/core/test-buster-old/helper/endWith.js
diff --git a/test-buster-old/helper/stream-helper.js b/packages/core/test-buster-old/helper/stream-helper.js
similarity index 100%
rename from test-buster-old/helper/stream-helper.js
rename to packages/core/test-buster-old/helper/stream-helper.js
diff --git a/test-buster-old/helper/testEnv.js b/packages/core/test-buster-old/helper/testEnv.js
similarity index 100%
rename from test-buster-old/helper/testEnv.js
rename to packages/core/test-buster-old/helper/testEnv.js
diff --git a/test-buster-old/limit-test.js b/packages/core/test-buster-old/limit-test.js
similarity index 100%
rename from test-buster-old/limit-test.js
rename to packages/core/test-buster-old/limit-test.js
diff --git a/test-buster-old/slice-test.js b/packages/core/test-buster-old/slice-test.js
similarity index 100%
rename from test-buster-old/slice-test.js
rename to packages/core/test-buster-old/slice-test.js
diff --git a/test-buster-old/switch-test.js b/packages/core/test-buster-old/switch-test.js
similarity index 100%
rename from test-buster-old/switch-test.js
rename to packages/core/test-buster-old/switch-test.js
diff --git a/test-buster-old/timeslice-test.js b/packages/core/test-buster-old/timeslice-test.js
similarity index 100%
rename from test-buster-old/timeslice-test.js
rename to packages/core/test-buster-old/timeslice-test.js
diff --git a/test-buster-old/transform-test.js b/packages/core/test-buster-old/transform-test.js
similarity index 100%
rename from test-buster-old/transform-test.js
rename to packages/core/test-buster-old/transform-test.js
diff --git a/test-buster-old/zip-test.js b/packages/core/test-buster-old/zip-test.js
similarity index 100%
rename from test-buster-old/zip-test.js
rename to packages/core/test-buster-old/zip-test.js
diff --git a/test/disposable/Disposable-test.js b/packages/core/test/disposable/Disposable-test.js
similarity index 100%
rename from test/disposable/Disposable-test.js
rename to packages/core/test/disposable/Disposable-test.js
diff --git a/test/disposable/SettableDisposable-test.js b/packages/core/test/disposable/SettableDisposable-test.js
similarity index 100%
rename from test/disposable/SettableDisposable-test.js
rename to packages/core/test/disposable/SettableDisposable-test.js
diff --git a/test/disposable/dispose-test.js b/packages/core/test/disposable/dispose-test.js
similarity index 100%
rename from test/disposable/dispose-test.js
rename to packages/core/test/disposable/dispose-test.js
diff --git a/test/flow/README.md b/packages/core/test/flow/README.md
similarity index 100%
rename from test/flow/README.md
rename to packages/core/test/flow/README.md
diff --git a/test/flow/index.js b/packages/core/test/flow/index.js
similarity index 100%
rename from test/flow/index.js
rename to packages/core/test/flow/index.js
diff --git a/test/observe-test.js b/packages/core/test/observe-test.js
similarity index 100%
rename from test/observe-test.js
rename to packages/core/test/observe-test.js
diff --git a/test/perf/.gitignore b/packages/core/test/perf/.gitignore
similarity index 100%
rename from test/perf/.gitignore
rename to packages/core/test/perf/.gitignore
diff --git a/test/perf/README.md b/packages/core/test/perf/README.md
similarity index 100%
rename from test/perf/README.md
rename to packages/core/test/perf/README.md
diff --git a/test/perf/chain.js b/packages/core/test/perf/chain.js
similarity index 95%
rename from test/perf/chain.js
rename to packages/core/test/perf/chain.js
index b91fb54..cd4494b 100644
--- a/test/perf/chain.js
+++ b/packages/core/test/perf/chain.js
@@ -1,7 +1,7 @@
 require('buba/register')
 const Benchmark = require('benchmark');
-const {chain, fromArray} = require('../../src/index');
-const {reduce} = require('../../src/combinator/reduce')
+const {chain, fromArray} = require('.././index');
+const {reduce} = require('.././combinator/reduce')
 const rx = require('rx');
 const rxjs = require('@reactivex/rxjs')
 const kefir = require('kefir');
diff --git a/test/perf/concatMap.js b/packages/core/test/perf/concatMap.js
similarity index 95%
rename from test/perf/concatMap.js
rename to packages/core/test/perf/concatMap.js
index 2dd3568..93fa146 100644
--- a/test/perf/concatMap.js
+++ b/packages/core/test/perf/concatMap.js
@@ -1,7 +1,7 @@
 require('buba/register')
 const Benchmark = require('benchmark');
-const {fromArray, concatMap} = require('../../src/index');
-const {reduce} = require('../../src/combinator/reduce')
+const {fromArray, concatMap} = require('.././index');
+const {reduce} = require('.././combinator/reduce')
 const rx = require('rx');
 const rxjs = require('@reactivex/rxjs');
 const kefir = require('kefir');
diff --git a/test/perf/filter-map-reduce.js b/packages/core/test/perf/filter-map-reduce.js
similarity index 94%
rename from test/perf/filter-map-reduce.js
rename to packages/core/test/perf/filter-map-reduce.js
index daef4e7..da1eba1 100644
--- a/test/perf/filter-map-reduce.js
+++ b/packages/core/test/perf/filter-map-reduce.js
@@ -1,7 +1,7 @@
 require('buba/register')
 const Benchmark = require('benchmark');
-const {map, filter, fromArray} = require('../../src/index');
-const {reduce} = require('../../src/combinator/reduce')
+const {map, filter, fromArray} = require('.././index');
+const {reduce} = require('.././combinator/reduce')
 const rx = require('rx');
 const rxjs = require('@reactivex/rxjs')
 const kefir = require('kefir');
diff --git a/test/perf/merge-nested.js b/packages/core/test/perf/merge-nested.js
similarity index 98%
rename from test/perf/merge-nested.js
rename to packages/core/test/perf/merge-nested.js
index 8b63d48..4115d97 100644
--- a/test/perf/merge-nested.js
+++ b/packages/core/test/perf/merge-nested.js
@@ -1,7 +1,7 @@
 require('buba/register')
 const Benchmark = require('benchmark');
-const {fromArray, merge: _merge} = require('../../src/index');
-const {reduce} = require('../../src/combinator/reduce')
+const {fromArray, merge: _merge} = require('.././index');
+const {reduce} = require('.././combinator/reduce')
 const rx = require('rx');
 const rxjs = require('@reactivex/rxjs')
 const kefir = require('kefir');
diff --git a/test/perf/merge.js b/packages/core/test/perf/merge.js
similarity index 95%
rename from test/perf/merge.js
rename to packages/core/test/perf/merge.js
index 3f485aa..d1c270d 100644
--- a/test/perf/merge.js
+++ b/packages/core/test/perf/merge.js
@@ -1,7 +1,7 @@
 require('buba/register')
 const Benchmark = require('benchmark');
-const {fromArray, mergeArray} = require('../../src/index');
-const {reduce} = require('../../src/combinator/reduce')
+const {fromArray, mergeArray} = require('.././index');
+const {reduce} = require('.././combinator/reduce')
 const rx = require('rx');
 const rxjs = require('@reactivex/rxjs')
 const kefir = require('kefir');
diff --git a/test/perf/package.json b/packages/core/test/perf/package.json
similarity index 100%
rename from test/perf/package.json
rename to packages/core/test/perf/package.json
diff --git a/test/perf/runners.js b/packages/core/test/perf/runners.js
similarity index 100%
rename from test/perf/runners.js
rename to packages/core/test/perf/runners.js
diff --git a/test/perf/scan.js b/packages/core/test/perf/scan.js
similarity index 94%
rename from test/perf/scan.js
rename to packages/core/test/perf/scan.js
index 2f6441b..6df946c 100644
--- a/test/perf/scan.js
+++ b/packages/core/test/perf/scan.js
@@ -1,7 +1,7 @@
 require('buba/register')
 const Benchmark = require('benchmark');
-const {fromArray, scan} = require('../../src/index');
-const {reduce} = require('../../src/combinator/reduce')
+const {fromArray, scan} = require('.././index');
+const {reduce} = require('.././combinator/reduce')
 const rx = require('rx');
 const rxjs = require('@reactivex/rxjs');
 const kefir = require('kefir');
diff --git a/test/perf/skipRepeats.js b/packages/core/test/perf/skipRepeats.js
similarity index 93%
rename from test/perf/skipRepeats.js
rename to packages/core/test/perf/skipRepeats.js
index b80fdf9..ae7c1e0 100644
--- a/test/perf/skipRepeats.js
+++ b/packages/core/test/perf/skipRepeats.js
@@ -1,7 +1,7 @@
 require('buba/register')
 const Benchmark = require('benchmark');
-const {fromArray, skipRepeats} = require('../../src/index');
-const {reduce} = require('../../src/combinator/reduce')
+const {fromArray, skipRepeats} = require('.././index');
+const {reduce} = require('.././combinator/reduce')
 const rx = require('rx');
 const rxjs = require('@reactivex/rxjs');
 const kefir = require('kefir');
diff --git a/test/perf/slice.js b/packages/core/test/perf/slice.js
similarity index 94%
rename from test/perf/slice.js
rename to packages/core/test/perf/slice.js
index 4960042..2fd0502 100644
--- a/test/perf/slice.js
+++ b/packages/core/test/perf/slice.js
@@ -1,7 +1,7 @@
 require('buba/register')
 const Benchmark = require('benchmark');
-const {fromArray, skip, take} = require('../../src/index');
-const {reduce} = require('../../src/combinator/reduce')
+const {fromArray, skip, take} = require('.././index');
+const {reduce} = require('.././combinator/reduce')
 const rx = require('rx');
 const rxjs = require('@reactivex/rxjs')
 const kefir = require('kefir');
diff --git a/test/perf/switch.js b/packages/core/test/perf/switch.js
similarity index 94%
rename from test/perf/switch.js
rename to packages/core/test/perf/switch.js
index 5fd5a61..10a6335 100644
--- a/test/perf/switch.js
+++ b/packages/core/test/perf/switch.js
@@ -1,7 +1,7 @@
 require('buba/register')
 const Benchmark = require('benchmark');
-const {fromArray, map, switchLatest} = require('../../src/index');
-const {reduce} = require('../../src/combinator/reduce')
+const {fromArray, map, switchLatest} = require('.././index');
+const {reduce} = require('.././combinator/reduce')
 const rx = require('rx');
 const rxjs = require('@reactivex/rxjs')
 const kefir = require('kefir');
diff --git a/test/perf/zip.js b/packages/core/test/perf/zip.js
similarity index 94%
rename from test/perf/zip.js
rename to packages/core/test/perf/zip.js
index 61b2afe..2e63cc0 100644
--- a/test/perf/zip.js
+++ b/packages/core/test/perf/zip.js
@@ -1,7 +1,7 @@
 require('buba/register')
 const Benchmark = require('benchmark');
-const {fromArray, zip} = require('../../src/index');
-const {reduce} = require('../../src/combinator/reduce')
+const {fromArray, zip} = require('.././index');
+const {reduce} = require('.././combinator/reduce')
 const rx = require('rx');
 const rxjs = require('@reactivex/rxjs');
 const kefir = require('kefir');
diff --git a/test/sink/SafeSink-test.js b/packages/core/test/sink/SafeSink-test.js
similarity index 100%
rename from test/sink/SafeSink-test.js
rename to packages/core/test/sink/SafeSink-test.js
diff --git a/test/source/core-test.js b/packages/core/test/source/core-test.js
similarity index 100%
rename from test/source/core-test.js
rename to packages/core/test/source/core-test.js
diff --git a/test/source/fromArray-test.js b/packages/core/test/source/fromArray-test.js
similarity index 100%
rename from test/source/fromArray-test.js
rename to packages/core/test/source/fromArray-test.js
diff --git a/test/source/fromIterable-test.js b/packages/core/test/source/fromIterable-test.js
similarity index 100%
rename from test/source/fromIterable-test.js
rename to packages/core/test/source/fromIterable-test.js
diff --git a/test/source/generate-test.js b/packages/core/test/source/generate-test.js
similarity index 100%
rename from test/source/generate-test.js
rename to packages/core/test/source/generate-test.js
diff --git a/test/source/iterate-test.js b/packages/core/test/source/iterate-test.js
similarity index 98%
rename from test/source/iterate-test.js
rename to packages/core/test/source/iterate-test.js
index 0aeb4f5..0555ca4 100644
--- a/test/source/iterate-test.js
+++ b/packages/core/test/source/iterate-test.js
@@ -37,7 +37,7 @@ describe('iterate', function () {
       { time: 0, value: 6 },
       { time: 0, value: 7 },
       { time: 0, value: 8 },
-      { time: 0, value: 9 },
+      { time: 0, value: 9 }
     ]
 
     const s = take(expected.length, iterate(x => x + 1, 0))
diff --git a/test/source/periodic-test.js b/packages/core/test/source/periodic-test.js
similarity index 83%
rename from test/source/periodic-test.js
rename to packages/core/test/source/periodic-test.js
index 63af7a6..c4964d6 100644
--- a/test/source/periodic-test.js
+++ b/packages/core/test/source/periodic-test.js
@@ -6,9 +6,6 @@ import { take } from '../../src/combinator/slice'
 
 import { collectEventsFor } from '../../test-buster-old/helper/testEnv'
 
-const hasTimeAndValue = ({ time, value }, i) =>
-  time === i && value === undefined
-
 describe('periodic', function () {
   it('should emit value at tick periods', function () {
     const n = 5
@@ -19,7 +16,7 @@ describe('periodic', function () {
       { time: 1, value: undefined },
       { time: 2, value: undefined },
       { time: 3, value: undefined },
-      { time: 4, value: undefined },
+      { time: 4, value: undefined }
     ]))
   })
 })
diff --git a/test/source/unfold-test.js b/packages/core/test/source/unfold-test.js
similarity index 98%
rename from test/source/unfold-test.js
rename to packages/core/test/source/unfold-test.js
index 4989bab..193b914 100644
--- a/test/source/unfold-test.js
+++ b/packages/core/test/source/unfold-test.js
@@ -29,7 +29,7 @@ describe('unfold', function () {
       { time: 0, value: 6 },
       { time: 0, value: 7 },
       { time: 0, value: 8 },
-      { time: 0, value: 9 },
+      { time: 0, value: 9 }
     ]
 
     const s = take(expected.length, unfold(x => ({ seed: x + 1, value: x }), 0))