From cf2970aafd82d7351f76e6e3189ba9ed7de3d1d5 Mon Sep 17 00:00:00 2001 From: Karsten Schmidt Date: Wed, 17 Oct 2018 04:31:56 +0100 Subject: [PATCH 01/34] minor: update readme --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 10565be7f0..6c6f95ac57 100644 --- a/README.md +++ b/README.md @@ -58,7 +58,7 @@ packages) in the [examples](./examples) directory. | [`@thi.ng/dsp`](./packages/dsp) | [![version](https://img.shields.io/npm/v/@thi.ng/dsp.svg)](https://www.npmjs.com/package/@thi.ng/dsp) | [changelog](./packages/dsp/CHANGELOG.md) | DSP utils, oscillators | | [`@thi.ng/equiv`](./packages/equiv) | [![version](https://img.shields.io/npm/v/@thi.ng/equiv.svg)](https://www.npmjs.com/package/@thi.ng/equiv) | [changelog](./packages/equiv/CHANGELOG.md) | Deep value equivalence checking | | [`@thi.ng/errors`](./packages/errors) | [![version](https://img.shields.io/npm/v/@thi.ng/errors.svg)](https://www.npmjs.com/package/@thi.ng/errors) | [changelog](./packages/errors/CHANGELOG.md) | Custom error types | -| [`@thi.ng/geom`](./packages/geom) | [![version](https://img.shields.io/npm/v/@thi.ng/geom.svg)](https://www.npmjs.com/package/@thi.ng/geom) | [changelog](./packages/geom/CHANGELOG.md) | Hiccup based VDOM & diffing | +| [`@thi.ng/geom`](./packages/geom) | [![version](https://img.shields.io/npm/v/@thi.ng/geom.svg)](https://www.npmjs.com/package/@thi.ng/geom) | [changelog](./packages/geom/CHANGELOG.md) | 2D geometry types & operations | | [`@thi.ng/hdom`](./packages/hdom) | [![version](https://img.shields.io/npm/v/@thi.ng/hdom.svg)](https://www.npmjs.com/package/@thi.ng/hdom) | [changelog](./packages/hdom/CHANGELOG.md) | Hiccup based VDOM & diffing | | [`@thi.ng/hdom-canvas`](./packages/hdom-canvas) | [![version](https://img.shields.io/npm/v/@thi.ng/hdom-canvas.svg)](https://www.npmjs.com/package/@thi.ng/hdom-canvas) | [changelog](./packages/hdom-canvas/CHANGELOG.md) | hdom based declarative canvas drawing | | [`@thi.ng/hdom-components`](./packages/hdom-components) | [![version](https://img.shields.io/npm/v/@thi.ng/hdom-components.svg)](https://www.npmjs.com/package/@thi.ng/hdom-components) | [changelog](./packages/hdom-components/CHANGELOG.md) | hdom based UI components | From d4d44b32779764da093f5cae07a6664e8ee8dde4 Mon Sep 17 00:00:00 2001 From: Karsten Schmidt Date: Wed, 17 Oct 2018 13:48:46 +0100 Subject: [PATCH 02/34] fix(examples): update @thi.ng/math occurrences --- examples/canvas-dial/src/dial.ts | 6 +++--- examples/hdom-canvas-clock/src/index.ts | 2 +- examples/hdom-canvas-draw/src/index.ts | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/examples/canvas-dial/src/dial.ts b/examples/canvas-dial/src/dial.ts index 139f8e4d8d..36fa94ad35 100644 --- a/examples/canvas-dial/src/dial.ts +++ b/examples/canvas-dial/src/dial.ts @@ -4,7 +4,7 @@ import { canvas2D } from "@thi.ng/hdom-components/canvas"; import { GestureEvent, gestureStream, GestureType } from "@thi.ng/rstream-gestures"; import { Subscription } from "@thi.ng/rstream/subscription"; import { peek } from "@thi.ng/transducers/func/peek"; -import { fitClamped1 } from "@thi.ng/vectors/math"; +import { fitClamped } from "@thi.ng/math/fit"; import { heading2, sub2 } from "@thi.ng/vectors/vec2"; /** @@ -180,7 +180,7 @@ export const dial = (opts: Partial) => { theta %= TAU; opts.onchange.call( null, - fitClamped1(Math.min(theta / (TAU - opts.gap)), 0, 1, opts.min, opts.max) + fitClamped(Math.min(theta / (TAU - opts.gap)), 0, 1, opts.min, opts.max) ); } } @@ -199,7 +199,7 @@ export const dial = (opts: Partial) => { const val = peek(args); ctx.clearRect(0, 0, el.width, el.height); drawRing(ctx, 1, opts.bgColor); - drawRing(ctx, fitClamped1(val, opts.min, opts.max, 0.005, 1), opts.color); + drawRing(ctx, fitClamped(val, opts.min, opts.max, 0.005, 1), opts.color); if (opts.label) { ctx.fillStyle = opts.labelColor; ctx.fillText(opts.label(val), cx, cy + opts.labelYOffset); diff --git a/examples/hdom-canvas-clock/src/index.ts b/examples/hdom-canvas-clock/src/index.ts index e310879045..872c01b220 100644 --- a/examples/hdom-canvas-clock/src/index.ts +++ b/examples/hdom-canvas-clock/src/index.ts @@ -2,7 +2,7 @@ import { start } from "@thi.ng/hdom"; import { canvas } from "@thi.ng/hdom-canvas"; import { range } from "@thi.ng/transducers/iter/range"; import { mapcat } from "@thi.ng/transducers/xform/mapcat"; -import { HALF_PI, TAU } from "@thi.ng/vectors/math"; +import { HALF_PI, TAU } from "@thi.ng/math/api"; import { toCartesian2 } from "@thi.ng/vectors/vec2"; const WEEKDAYS = ["SUN", "MON", "TUE", "WED", "THU", "FRI", "SAT"]; diff --git a/examples/hdom-canvas-draw/src/index.ts b/examples/hdom-canvas-draw/src/index.ts index b26f773d3f..4ee1cbf5d6 100644 --- a/examples/hdom-canvas-draw/src/index.ts +++ b/examples/hdom-canvas-draw/src/index.ts @@ -10,7 +10,7 @@ import { filter } from "@thi.ng/transducers/xform/filter"; import { map } from "@thi.ng/transducers/xform/map"; import { mapcat } from "@thi.ng/transducers/xform/mapcat"; import { partition } from "@thi.ng/transducers/xform/partition"; -import { HALF_PI, PI } from "@thi.ng/vectors/math"; +import { HALF_PI, PI } from "@thi.ng/math/api"; import { dist2 } from "@thi.ng/vectors/vec2"; // canvas size From 3569d242f74e42c68cf03bdcbcee3cba08da60e4 Mon Sep 17 00:00:00 2001 From: Karsten Schmidt Date: Wed, 17 Oct 2018 13:53:25 +0100 Subject: [PATCH 03/34] feat(examples): add geom-tessel example --- examples/geom-tessel/.gitignore | 5 ++ examples/geom-tessel/README.md | 27 ++++++++++ examples/geom-tessel/index.html | 16 ++++++ examples/geom-tessel/package.json | 28 ++++++++++ examples/geom-tessel/src/index.ts | 86 ++++++++++++++++++++++++++++++ examples/geom-tessel/tsconfig.json | 11 ++++ 6 files changed, 173 insertions(+) create mode 100644 examples/geom-tessel/.gitignore create mode 100644 examples/geom-tessel/README.md create mode 100644 examples/geom-tessel/index.html create mode 100644 examples/geom-tessel/package.json create mode 100644 examples/geom-tessel/src/index.ts create mode 100644 examples/geom-tessel/tsconfig.json diff --git a/examples/geom-tessel/.gitignore b/examples/geom-tessel/.gitignore new file mode 100644 index 0000000000..0c5abcab62 --- /dev/null +++ b/examples/geom-tessel/.gitignore @@ -0,0 +1,5 @@ +.cache +out +node_modules +yarn.lock +*.js diff --git a/examples/geom-tessel/README.md b/examples/geom-tessel/README.md new file mode 100644 index 0000000000..f33a8c6287 --- /dev/null +++ b/examples/geom-tessel/README.md @@ -0,0 +1,27 @@ +# geom-tessel + +[Live demo](http://demo.thi.ng/umbrella/geom-tessel/) + +Test example of +[@thi.ng/geom](https://github.com/thi-ng/umbrella/tree/master/packages/geom)'s +tessellators and visualization via +[@thi.ng/hdom-canvas](https://github.com/thi-ng/umbrella/tree/master/packages/hdom-canvas). + +Note the lack of explicit hiccup shape defs in this example. All +@thi.ng/geom types support auto-conversion via the [`IToHiccup` +interface](https://github.com/thi-ng/umbrella/blob/master/packages/api/src/api.ts#L415). + +```bash +git clone https://github.com/thi-ng/umbrella.git +cd umbrella/examples/geom-tessel +yarn install +yarn start +``` + +## Authors + +- Karsten Schmidt + +## License + +© 2018 Karsten Schmidt // Apache Software License 2.0 diff --git a/examples/geom-tessel/index.html b/examples/geom-tessel/index.html new file mode 100644 index 0000000000..ded2f6ee63 --- /dev/null +++ b/examples/geom-tessel/index.html @@ -0,0 +1,16 @@ + + + + + + + geom-tessel + + + + +
+ + + diff --git a/examples/geom-tessel/package.json b/examples/geom-tessel/package.json new file mode 100644 index 0000000000..6bc9094ee3 --- /dev/null +++ b/examples/geom-tessel/package.json @@ -0,0 +1,28 @@ +{ + "name": "geom-tessel", + "version": "0.0.1", + "repository": "https://github.com/thi-ng/umbrella", + "author": "Karsten Schmidt ", + "license": "Apache-2.0", + "scripts": { + "clean": "rm -rf .cache build out", + "build": "yarn clean && parcel build index.html -d out --public-url ./ --no-source-maps --no-cache --detailed-report", + "start": "parcel index.html -p 8080 --open" + }, + "devDependencies": { + "parcel-bundler": "^1.9.7", + "terser": "^3.8.2", + "typescript": "^3.0.1" + }, + "dependencies": { + "@thi.ng/compose": "latest", + "@thi.ng/geom": "latest", + "@thi.ng/hdom-canvas": "latest" + }, + "browserslist": [ + "last 3 Chrome versions" + ], + "browser": { + "process": false + } +} \ No newline at end of file diff --git a/examples/geom-tessel/src/index.ts b/examples/geom-tessel/src/index.ts new file mode 100644 index 0000000000..3e11ac592c --- /dev/null +++ b/examples/geom-tessel/src/index.ts @@ -0,0 +1,86 @@ +import { partial } from "@thi.ng/compose/partial"; +import { IArcLength, ICentroid, Tessellator } from "@thi.ng/geom/api"; +import { circle2 } from "@thi.ng/geom/circle2"; +import { polygon2, Polygon2 } from "@thi.ng/geom/polygon2"; +import { edgeSplit, quadFan, triFan } from "@thi.ng/geom/tessellate"; +import { canvas } from "@thi.ng/hdom-canvas"; +import { start } from "@thi.ng/hdom/start"; +import { deg } from "@thi.ng/math/angle"; +import { TAU } from "@thi.ng/math/api"; +import { fit01 } from "@thi.ng/math/fit"; +import { Vec2 } from "@thi.ng/vectors/vec2"; + +type Tint = (p: Polygon2) => string; + +const W = 600; +const W2 = W / 2; + +/** + * Creates a color by mapping the centroid of given shape from cartesian + * space to HSL. + */ +const centroidToHSL = (p: ICentroid) => { + const c = p.centroid().toPolar(); + const h = deg(c.y); + const s = fit01(c.x / W2, 0, 100); + const l = fit01(c.x / W2, 100, 50); + return `hsl(${h},${s}%,${l}%)`; +}; + +/** + * Creates an HSL color from the arc length / circumference of the given + * shape. + */ +const arclengthToHSL = (max: number, p: IArcLength) => + `hsl(${fit01(p.arcLength() / max, 0, 360)},100%,50%)`; + +/** + * Converts given point array into a polygon and computes fill color + * with provided `tint` function. + */ +const tintedPoly = (tint: Tint, points: Vec2[]) => { + const p = polygon2(points); + p.attribs = { fill: tint(p) }; + return p; +}; + +/** + * Creates a regular polygon, then recursively subdivides it and tints + */ +const tessellation = (t: number, tessel: Tessellator[], tint: Tint) => { + return circle2(W2) + .toPolygon(Math.floor(12 + 9 * Math.sin(t))) + .tessellate(tessel) + .map(partial(tintedPoly, tint)); +}; + +const cancel = start(() => { + const t = Date.now() * 0.005; + // create tessellation + // resulting array contains Polygon2 values + // Polygon2 implements the .toHiccup() method for + // auto-conversion during hdom tree normalization + const cells = tessellation( + t, + [quadFan, triFan, edgeSplit, quadFan], + partial(arclengthToHSL, 250) + ); + return ["div.ma2.sans-serif", + ["div", `Cells: ${cells.length}`], + [canvas, + { width: 600, height: 600 }, + ["g", + { + translate: [300, 300], + rotate: (t / 10) % TAU, + stroke: "#000", + weight: 0.25 + }, + ...cells]]]; +}); + +// HMR handling +if (process.env.NODE_ENV !== "production") { + const hot = (module).hot; + hot && hot.dispose(cancel); +} diff --git a/examples/geom-tessel/tsconfig.json b/examples/geom-tessel/tsconfig.json new file mode 100644 index 0000000000..bbf112cc18 --- /dev/null +++ b/examples/geom-tessel/tsconfig.json @@ -0,0 +1,11 @@ +{ + "extends": "../../tsconfig.json", + "compilerOptions": { + "outDir": ".", + "target": "es6", + "sourceMap": true + }, + "include": [ + "./src/**/*.ts" + ] +} From 348cdd4efe78a5f1c25dfe994fdd02aa7e0da02a Mon Sep 17 00:00:00 2001 From: Karsten Schmidt Date: Wed, 17 Oct 2018 13:55:47 +0100 Subject: [PATCH 04/34] docs(examples): update table --- examples/README.md | 51 +++++++++++++++++++++++----------------------- 1 file changed, 26 insertions(+), 25 deletions(-) diff --git a/examples/README.md b/examples/README.md index 16dfc833c0..ae87992e94 100644 --- a/examples/README.md +++ b/examples/README.md @@ -13,28 +13,29 @@ If you want to [contribute](../CONTRIBUTING.md) an example, please get in touch | 5 | [crypto-chart](./crypto-chart) | Interactive rstream & transducer based SVG chart | hdom, hiccup-svg, rstream, transducers | advanced | | 6 | [dashboard](./dashboard) | Barebones components w/ local state | hdom, transducers | basic | | 7 | [devcards](./devcards) | Multiple app instances with/without shared state | atom, hdom | intermediate | -| 8 | [gesture-analysis](./gesture-analysis) | Mouse/touch gesture processing, analysis & visualization | rstream, rstream-gestures, transducers, hiccup-svg | intermediate | -| 9 | [hdom-basics](./hdom-basics) | Hello world | hdom, hiccup | basic | -| 10 | [hdom-benchmark](./hdom-benchmark) | hdom rendering perf / stress test, FPS counter | hdom, rstream, transducers | intermediate | -| 11 | [hdom-canvas-clock](./hdom-canvas-clock) | hdom-canvas rendered clock | hdom, hdom-canvas, transducers | basic | -| 12 | [hdom-canvas-draw](./hdom-canvas-draw) | hdom-canvas mouse / touch gesture drawing | hdom, hdom-canvas, transducers | intermediate | -| 13 | [hdom-canvas-shapes](./hdom-canvas-shapes) | various hdom-canvas shape tests | hdom, hdom-canvas, rstream, transducers | basic | -| 14 | [hdom-theme-adr-0003](./hdom-theme-adr-0003) | hdom themed components proposal | hdom | intermediate | -| 15 | [hmr-basics](./hmr-basics) | hdom & hot module replacement | hdom, memoize | basic | -| 16 | [hydrate-basics](./hydrate-basics) | hiccup / hdom DOM hydration | hiccup, hdom | intermediate | -| 17 | [interceptor-basics](./interceptor-basics) | Event handling w/ interceptors and side effects | atom, hdom, interceptors | intermediate | -| 18 | [json-components](./json-components) | JSON->component transformation, live editor | hdom, transducers | intermediate | -| 19 | [login-form](./login-form) | Basic SPA without router | atom, hdom | intermediate | -| 20 | [pointfree-svg](./pointfree-svg) | Generate SVG using pointfree DSL | hiccup, hiccup-svg, pointfree-lang | intermediate | -| 21 | [router-basics](./router-basics) | Complete mini SPA | atom, hdom, interceptors, router | advanced | -| 22 | [rstream-dataflow](./rstream-dataflow) | Dataflow graph | atom, hdom, rstream, rstream-gestures, rstream-graph, transducers | intermediate | -| 23 | [rstream-grid](./rstream-grid) | Dataflow graph SVG grid | atom, hdom, hiccup-svg, interceptors, rstream-graph, transducers | advanced | -| 24 | [rstream-hdom](./rstream-hdom) | rstream based UI updates & state handling | hdom, rstream, transducers | intermediate | -| 25 | [svg-barchart](./svg-barchart) | hdom SVG barchart component | hdom, transducers | basic | -| 26 | [svg-particles](./svg-particles) | hdom SVG generation / animation | hdom, transducers | basic | -| 27 | [svg-waveform](./svg-waveform) | hdom SVG generation / undo history | atom, hdom, hiccup-svg, interceptors, iterators | intermediate | -| 28 | [todo-list](./todo-list) | Canonical Todo list with undo/redo | atom, hdom, transducers | intermediate | -| 29 | [transducers-hdom](./transducers-hdom) | Transducer & rstream based hdom UI updates | hdom, rstream, transducers-hdom | basic | -| 30 | [triple-query](./triple-query) | Triple store query results & sortable table | atom, hdom, hdom-components, rstream-query, transducers | intermediate | -| 31 | [webgl](./webgl) | Canvas component handling | hdom, hdom-components | basic | -| 32 | [xml-converter](./xml-converter) | XML/HTML/SVG to hiccup conversion as you type | rstream, sax, transducers, transducers-hdom | advanced | +| 8 | [geom-tessel](./geom-tessel) | @thi.ng/geom shape tesselations & hdom-canvas drawing | geom, hdom-canvas, vectors | intermediate | +| 9 | [gesture-analysis](./gesture-analysis) | Mouse/touch gesture processing, analysis & visualization | rstream, rstream-gestures, transducers, hiccup-svg | intermediate | +| 10 | [hdom-basics](./hdom-basics) | Hello world | hdom, hiccup | basic | +| 11 | [hdom-benchmark](./hdom-benchmark) | hdom rendering perf / stress test, FPS counter | hdom, rstream, transducers | intermediate | +| 12 | [hdom-canvas-clock](./hdom-canvas-clock) | hdom-canvas rendered clock | hdom, hdom-canvas, transducers | basic | +| 13 | [hdom-canvas-draw](./hdom-canvas-draw) | hdom-canvas mouse / touch gesture drawing | hdom, hdom-canvas, transducers | intermediate | +| 14 | [hdom-canvas-shapes](./hdom-canvas-shapes) | various hdom-canvas shape tests | hdom, hdom-canvas, rstream, transducers | basic | +| 15 | [hdom-theme-adr-0003](./hdom-theme-adr-0003) | hdom themed components proposal | hdom | intermediate | +| 16 | [hmr-basics](./hmr-basics) | hdom & hot module replacement | hdom, memoize | basic | +| 17 | [hydrate-basics](./hydrate-basics) | hiccup / hdom DOM hydration | hiccup, hdom | intermediate | +| 18 | [interceptor-basics](./interceptor-basics) | Event handling w/ interceptors and side effects | atom, hdom, interceptors | intermediate | +| 19 | [json-components](./json-components) | JSON->component transformation, live editor | hdom, transducers | intermediate | +| 20 | [login-form](./login-form) | Basic SPA without router | atom, hdom | intermediate | +| 21 | [pointfree-svg](./pointfree-svg) | Generate SVG using pointfree DSL | hiccup, hiccup-svg, pointfree-lang | intermediate | +| 22 | [router-basics](./router-basics) | Complete mini SPA | atom, hdom, interceptors, router | advanced | +| 23 | [rstream-dataflow](./rstream-dataflow) | Dataflow graph | atom, hdom, rstream, rstream-gestures, rstream-graph, transducers | intermediate | +| 24 | [rstream-grid](./rstream-grid) | Dataflow graph SVG grid | atom, hdom, hiccup-svg, interceptors, rstream-graph, transducers | advanced | +| 25 | [rstream-hdom](./rstream-hdom) | rstream based UI updates & state handling | hdom, rstream, transducers | intermediate | +| 26 | [svg-barchart](./svg-barchart) | hdom SVG barchart component | hdom, transducers | basic | +| 27 | [svg-particles](./svg-particles) | hdom SVG generation / animation | hdom, transducers | basic | +| 28 | [svg-waveform](./svg-waveform) | hdom SVG generation / undo history | atom, hdom, hiccup-svg, interceptors, iterators | intermediate | +| 29 | [todo-list](./todo-list) | Canonical Todo list with undo/redo | atom, hdom, transducers | intermediate | +| 30 | [transducers-hdom](./transducers-hdom) | Transducer & rstream based hdom UI updates | hdom, rstream, transducers-hdom | basic | +| 31 | [triple-query](./triple-query) | Triple store query results & sortable table | atom, hdom, hdom-components, rstream-query, transducers | intermediate | +| 32 | [webgl](./webgl) | Canvas component handling | hdom, hdom-components | basic | +| 33 | [xml-converter](./xml-converter) | XML/HTML/SVG to hiccup conversion as you type | rstream, sax, transducers, transducers-hdom | advanced | From 1ebae9477234f34f3948f9d009585f2f7cbbb91a Mon Sep 17 00:00:00 2001 From: Karsten Schmidt Date: Wed, 17 Oct 2018 15:50:43 +0100 Subject: [PATCH 05/34] build: update dev deps (TS3.1, parcel etc.) --- package.json | 8 +++--- packages/api/package.json | 4 +-- packages/associative/package.json | 4 +-- packages/atom/package.json | 4 +-- packages/bench/package.json | 4 +-- packages/binary/package.json | 4 +-- packages/bitstream/package.json | 4 +-- packages/cache/package.json | 4 +-- packages/checks/package.json | 4 +-- packages/compare/package.json | 4 +-- packages/compose/package.json | 4 +-- packages/csp/package.json | 4 +-- packages/dcons/package.json | 4 +-- packages/defmulti/package.json | 4 +-- packages/dgraph/package.json | 4 +-- packages/diff/package.json | 4 +-- packages/dlogic/package.json | 4 +-- packages/dot/package.json | 4 +-- packages/dsp/package.json | 4 +-- packages/equiv/package.json | 4 +-- packages/errors/package.json | 4 +-- packages/geom/package.json | 4 +-- packages/hdom-canvas/package.json | 4 +-- packages/hdom-components/package.json | 4 +-- packages/hdom/package.json | 4 +-- packages/heaps/package.json | 4 +-- packages/hiccup-css/package.json | 4 +-- packages/hiccup-svg/package.json | 4 +-- packages/hiccup/package.json | 4 +-- packages/iges/package.json | 4 +-- packages/interceptors/package.json | 4 +-- packages/iterators/package.json | 4 +-- packages/math/package.json | 4 +-- packages/memoize/package.json | 4 +-- packages/morton/package.json | 4 +-- packages/paths/package.json | 4 +-- packages/pointfree-lang/package.json | 4 +-- packages/pointfree/package.json | 4 +-- packages/range-coder/package.json | 4 +-- packages/resolve-map/package.json | 4 +-- packages/rle-pack/package.json | 4 +-- packages/router/package.json | 4 +-- packages/rstream-csp/package.json | 4 +-- packages/rstream-dot/package.json | 4 +-- packages/rstream-gestures/package.json | 4 +-- packages/rstream-graph/package.json | 4 +-- packages/rstream-log/package.json | 4 +-- packages/rstream-query/package.json | 4 +-- packages/rstream/package.json | 4 +-- packages/sax/package.json | 4 +-- packages/strings/package.json | 4 +-- packages/transducers-fsm/package.json | 4 +-- packages/transducers-hdom/package.json | 4 +-- packages/transducers-stats/package.json | 4 +-- packages/transducers/package.json | 4 +-- packages/unionstruct/package.json | 4 +-- packages/vectors/package.json | 4 +-- yarn.lock | 37 ++++++++++--------------- 58 files changed, 131 insertions(+), 138 deletions(-) diff --git a/package.json b/package.json index 6507f79e1d..d88808b75e 100644 --- a/package.json +++ b/package.json @@ -5,13 +5,13 @@ ], "devDependencies": { "benchmark": "^2.1.4", - "lerna": "^3.3.0", + "lerna": "^3.4.3", "mocha": "^5.2.0", "nyc": "^12.0.2", "tslint": "^5.11.0", - "typescript": "^3.0.1", - "parcel-bundler": "^1.9.7", - "terser": "^3.8.2" + "typescript": "^3.1.3", + "parcel-bundler": "^1.10.3", + "terser": "^3.10.1" }, "scripts": { "bootstrap": "lerna bootstrap", diff --git a/packages/api/package.json b/packages/api/package.json index cdb59f021a..8a8997a5f7 100644 --- a/packages/api/package.json +++ b/packages/api/package.json @@ -25,7 +25,7 @@ "mocha": "^5.2.0", "nyc": "^12.0.2", "typedoc": "^0.12.0", - "typescript": "^3.0.1" + "typescript": "^3.1.3" }, "dependencies": { "@thi.ng/errors": "^0.1.10" @@ -43,4 +43,4 @@ "publishConfig": { "access": "public" } -} +} \ No newline at end of file diff --git a/packages/associative/package.json b/packages/associative/package.json index 2f1968782a..c61a733f16 100644 --- a/packages/associative/package.json +++ b/packages/associative/package.json @@ -25,7 +25,7 @@ "mocha": "^5.2.0", "nyc": "^12.0.2", "typedoc": "^0.12.0", - "typescript": "^3.0.1" + "typescript": "^3.1.3" }, "dependencies": { "@thi.ng/api": "^4.2.2", @@ -54,4 +54,4 @@ "publishConfig": { "access": "public" } -} +} \ No newline at end of file diff --git a/packages/atom/package.json b/packages/atom/package.json index d9b99bf035..2e425bcdb1 100644 --- a/packages/atom/package.json +++ b/packages/atom/package.json @@ -25,7 +25,7 @@ "mocha": "^5.2.0", "nyc": "^12.0.2", "typedoc": "^0.12.0", - "typescript": "^3.0.1" + "typescript": "^3.1.3" }, "dependencies": { "@thi.ng/api": "^4.2.2", @@ -46,4 +46,4 @@ "publishConfig": { "access": "public" } -} +} \ No newline at end of file diff --git a/packages/bench/package.json b/packages/bench/package.json index 4b201aa343..72d729cddb 100644 --- a/packages/bench/package.json +++ b/packages/bench/package.json @@ -25,7 +25,7 @@ "mocha": "^5.2.0", "nyc": "^12.0.2", "typedoc": "^0.12.0", - "typescript": "^3.0.1" + "typescript": "^3.1.3" }, "keywords": [ "benchmark", @@ -36,4 +36,4 @@ "publishConfig": { "access": "public" } -} +} \ No newline at end of file diff --git a/packages/binary/package.json b/packages/binary/package.json index 52326e6b4b..344c64e33e 100644 --- a/packages/binary/package.json +++ b/packages/binary/package.json @@ -25,7 +25,7 @@ "mocha": "^5.2.0", "nyc": "^12.0.2", "typedoc": "^0.11.1", - "typescript": "^3.0.1" + "typescript": "^3.1.3" }, "keywords": [ "alignment", @@ -43,4 +43,4 @@ "publishConfig": { "access": "public" } -} +} \ No newline at end of file diff --git a/packages/bitstream/package.json b/packages/bitstream/package.json index acfb75cff5..96534460d6 100644 --- a/packages/bitstream/package.json +++ b/packages/bitstream/package.json @@ -28,7 +28,7 @@ "mocha": "^5.2.0", "nyc": "^12.0.2", "typedoc": "^0.12.0", - "typescript": "^3.0.1" + "typescript": "^3.1.3" }, "keywords": [ "binary", @@ -42,4 +42,4 @@ "publishConfig": { "access": "public" } -} +} \ No newline at end of file diff --git a/packages/cache/package.json b/packages/cache/package.json index ed0722e992..63f0dcb253 100644 --- a/packages/cache/package.json +++ b/packages/cache/package.json @@ -25,7 +25,7 @@ "mocha": "^5.2.0", "nyc": "^12.0.2", "typedoc": "^0.12.0", - "typescript": "^3.0.1" + "typescript": "^3.1.3" }, "dependencies": { "@thi.ng/api": "^4.2.2", @@ -46,4 +46,4 @@ "publishConfig": { "access": "public" } -} +} \ No newline at end of file diff --git a/packages/checks/package.json b/packages/checks/package.json index 31843c17ae..206daee209 100644 --- a/packages/checks/package.json +++ b/packages/checks/package.json @@ -25,7 +25,7 @@ "mocha": "^5.2.0", "nyc": "^12.0.2", "typedoc": "^0.12.0", - "typescript": "^3.0.1" + "typescript": "^3.1.3" }, "keywords": [ "check", @@ -40,4 +40,4 @@ "publishConfig": { "access": "public" } -} +} \ No newline at end of file diff --git a/packages/compare/package.json b/packages/compare/package.json index 8f72bc4360..383209fc5b 100644 --- a/packages/compare/package.json +++ b/packages/compare/package.json @@ -25,7 +25,7 @@ "mocha": "^5.2.0", "nyc": "^12.0.2", "typedoc": "^0.12.0", - "typescript": "^3.0.1" + "typescript": "^3.1.3" }, "keywords": [ "comparator", @@ -35,4 +35,4 @@ "publishConfig": { "access": "public" } -} +} \ No newline at end of file diff --git a/packages/compose/package.json b/packages/compose/package.json index dc00447700..fde81a4f51 100644 --- a/packages/compose/package.json +++ b/packages/compose/package.json @@ -25,7 +25,7 @@ "mocha": "^5.2.0", "nyc": "^12.0.2", "typedoc": "^0.12.0", - "typescript": "^3.0.1" + "typescript": "^3.1.3" }, "dependencies": { "@thi.ng/api": "^4.2.2", @@ -40,4 +40,4 @@ "publishConfig": { "access": "public" } -} +} \ No newline at end of file diff --git a/packages/csp/package.json b/packages/csp/package.json index a38d0ade23..63bbf1095a 100644 --- a/packages/csp/package.json +++ b/packages/csp/package.json @@ -29,7 +29,7 @@ "mocha": "^5.2.0", "nyc": "^12.0.2", "typedoc": "^0.12.0", - "typescript": "^3.0.1" + "typescript": "^3.1.3" }, "dependencies": { "@thi.ng/api": "^4.2.2", @@ -54,4 +54,4 @@ "publishConfig": { "access": "public" } -} +} \ No newline at end of file diff --git a/packages/dcons/package.json b/packages/dcons/package.json index 360262dbf1..f583157612 100644 --- a/packages/dcons/package.json +++ b/packages/dcons/package.json @@ -25,7 +25,7 @@ "mocha": "^5.2.0", "nyc": "^12.0.2", "typedoc": "^0.12.0", - "typescript": "^3.0.1" + "typescript": "^3.1.3" }, "dependencies": { "@thi.ng/api": "^4.2.2", @@ -49,4 +49,4 @@ "publishConfig": { "access": "public" } -} +} \ No newline at end of file diff --git a/packages/defmulti/package.json b/packages/defmulti/package.json index 91f7cd4b63..817bfdbb36 100644 --- a/packages/defmulti/package.json +++ b/packages/defmulti/package.json @@ -25,7 +25,7 @@ "mocha": "^5.2.0", "nyc": "^12.0.2", "typedoc": "^0.12.0", - "typescript": "^3.0.1" + "typescript": "^3.1.3" }, "dependencies": { "@thi.ng/api": "^4.2.2", @@ -38,4 +38,4 @@ "publishConfig": { "access": "public" } -} +} \ No newline at end of file diff --git a/packages/dgraph/package.json b/packages/dgraph/package.json index bf0e7ccbd4..b4f45e001c 100644 --- a/packages/dgraph/package.json +++ b/packages/dgraph/package.json @@ -25,7 +25,7 @@ "mocha": "^5.2.0", "nyc": "^12.0.2", "typedoc": "^0.12.0", - "typescript": "^3.0.1" + "typescript": "^3.1.3" }, "dependencies": { "@thi.ng/api": "^4.2.2", @@ -45,4 +45,4 @@ "publishConfig": { "access": "public" } -} +} \ No newline at end of file diff --git a/packages/diff/package.json b/packages/diff/package.json index 6d41d53107..442b839c12 100644 --- a/packages/diff/package.json +++ b/packages/diff/package.json @@ -23,7 +23,7 @@ "@types/node": "^10.5.5", "mocha": "^5.2.0", "typedoc": "^0.12.0", - "typescript": "^3.0.1" + "typescript": "^3.1.3" }, "dependencies": { "@thi.ng/api": "^4.2.2", @@ -40,4 +40,4 @@ "publishConfig": { "access": "public" } -} +} \ No newline at end of file diff --git a/packages/dlogic/package.json b/packages/dlogic/package.json index ea5ee60083..75ba4429d4 100644 --- a/packages/dlogic/package.json +++ b/packages/dlogic/package.json @@ -25,7 +25,7 @@ "mocha": "^5.2.0", "nyc": "^12.0.2", "typedoc": "^0.11.1", - "typescript": "^3.0.1" + "typescript": "^3.1.3" }, "keywords": [ "boolean", @@ -40,4 +40,4 @@ "publishConfig": { "access": "public" } -} +} \ No newline at end of file diff --git a/packages/dot/package.json b/packages/dot/package.json index ec64aeae51..c62feb80ec 100644 --- a/packages/dot/package.json +++ b/packages/dot/package.json @@ -25,7 +25,7 @@ "mocha": "^5.2.0", "nyc": "^12.0.2", "typedoc": "^0.12.0", - "typescript": "^3.0.1" + "typescript": "^3.1.3" }, "dependencies": { "@thi.ng/api": "^4.2.2", @@ -38,4 +38,4 @@ "publishConfig": { "access": "public" } -} +} \ No newline at end of file diff --git a/packages/dsp/package.json b/packages/dsp/package.json index bed8f9d548..ee199b51fa 100644 --- a/packages/dsp/package.json +++ b/packages/dsp/package.json @@ -25,7 +25,7 @@ "mocha": "^5.2.0", "nyc": "^12.0.2", "typedoc": "^0.11.1", - "typescript": "^3.0.1" + "typescript": "^3.1.3" }, "dependencies": { "@thi.ng/math": "^0.1.0" @@ -45,4 +45,4 @@ "publishConfig": { "access": "public" } -} +} \ No newline at end of file diff --git a/packages/equiv/package.json b/packages/equiv/package.json index 686e6759c5..3b4a6b4f1e 100644 --- a/packages/equiv/package.json +++ b/packages/equiv/package.json @@ -26,7 +26,7 @@ "mocha": "^5.2.0", "nyc": "^12.0.2", "typedoc": "^0.12.0", - "typescript": "^3.0.1" + "typescript": "^3.1.3" }, "keywords": [ "deep", @@ -37,4 +37,4 @@ "publishConfig": { "access": "public" } -} +} \ No newline at end of file diff --git a/packages/errors/package.json b/packages/errors/package.json index d339952f10..3c4833e229 100644 --- a/packages/errors/package.json +++ b/packages/errors/package.json @@ -25,7 +25,7 @@ "mocha": "^5.2.0", "nyc": "^12.0.2", "typedoc": "^0.12.0", - "typescript": "^3.0.1" + "typescript": "^3.1.3" }, "keywords": [ "error", @@ -35,4 +35,4 @@ "publishConfig": { "access": "public" } -} +} \ No newline at end of file diff --git a/packages/geom/package.json b/packages/geom/package.json index 5402cc43ce..5b53c990f9 100644 --- a/packages/geom/package.json +++ b/packages/geom/package.json @@ -25,7 +25,7 @@ "mocha": "^5.2.0", "nyc": "^12.0.2", "typedoc": "^0.12.0", - "typescript": "^3.0.1" + "typescript": "^3.1.3" }, "dependencies": { "@thi.ng/api": "^4.2.2", @@ -46,4 +46,4 @@ "publishConfig": { "access": "public" } -} +} \ No newline at end of file diff --git a/packages/hdom-canvas/package.json b/packages/hdom-canvas/package.json index 4024e34d46..0294bf4f8c 100644 --- a/packages/hdom-canvas/package.json +++ b/packages/hdom-canvas/package.json @@ -25,7 +25,7 @@ "mocha": "^5.2.0", "nyc": "^12.0.2", "typedoc": "^0.12.0", - "typescript": "^3.0.1" + "typescript": "^3.1.3" }, "dependencies": { "@thi.ng/api": "^4.2.2", @@ -47,4 +47,4 @@ "publishConfig": { "access": "public" } -} +} \ No newline at end of file diff --git a/packages/hdom-components/package.json b/packages/hdom-components/package.json index 59604f4d9d..882d381fef 100644 --- a/packages/hdom-components/package.json +++ b/packages/hdom-components/package.json @@ -25,7 +25,7 @@ "mocha": "^5.2.0", "nyc": "^12.0.2", "typedoc": "^0.12.0", - "typescript": "^3.0.1" + "typescript": "^3.1.3" }, "dependencies": { "@thi.ng/api": "^4.2.2", @@ -40,4 +40,4 @@ "publishConfig": { "access": "public" } -} +} \ No newline at end of file diff --git a/packages/hdom/package.json b/packages/hdom/package.json index 98f2f2e3bc..de9abf0d47 100644 --- a/packages/hdom/package.json +++ b/packages/hdom/package.json @@ -26,7 +26,7 @@ "mocha": "^5.2.0", "nyc": "^12.0.2", "typedoc": "^0.12.0", - "typescript": "^3.0.1" + "typescript": "^3.1.3" }, "dependencies": { "@thi.ng/api": "^4.2.2", @@ -50,4 +50,4 @@ "publishConfig": { "access": "public" } -} +} \ No newline at end of file diff --git a/packages/heaps/package.json b/packages/heaps/package.json index 7a8cc8ec08..03ed445120 100644 --- a/packages/heaps/package.json +++ b/packages/heaps/package.json @@ -25,7 +25,7 @@ "mocha": "^5.2.0", "nyc": "^12.0.2", "typedoc": "^0.12.0", - "typescript": "^3.0.1" + "typescript": "^3.1.3" }, "dependencies": { "@thi.ng/api": "^4.2.2", @@ -43,4 +43,4 @@ "publishConfig": { "access": "public" } -} +} \ No newline at end of file diff --git a/packages/hiccup-css/package.json b/packages/hiccup-css/package.json index 34e05c836b..74bc4d13de 100644 --- a/packages/hiccup-css/package.json +++ b/packages/hiccup-css/package.json @@ -25,7 +25,7 @@ "mocha": "^5.2.0", "nyc": "^12.0.2", "typedoc": "^0.12.0", - "typescript": "^3.0.1" + "typescript": "^3.1.3" }, "dependencies": { "@thi.ng/api": "^4.2.2", @@ -50,4 +50,4 @@ "publishConfig": { "access": "public" } -} +} \ No newline at end of file diff --git a/packages/hiccup-svg/package.json b/packages/hiccup-svg/package.json index da2844e87f..4bc8becd80 100644 --- a/packages/hiccup-svg/package.json +++ b/packages/hiccup-svg/package.json @@ -25,7 +25,7 @@ "mocha": "^5.2.0", "nyc": "^12.0.2", "typedoc": "^0.12.0", - "typescript": "^3.0.1" + "typescript": "^3.1.3" }, "dependencies": { "@thi.ng/hiccup": "^2.4.2" @@ -43,4 +43,4 @@ "publishConfig": { "access": "public" } -} +} \ No newline at end of file diff --git a/packages/hiccup/package.json b/packages/hiccup/package.json index d07c40c49d..950b2a658b 100644 --- a/packages/hiccup/package.json +++ b/packages/hiccup/package.json @@ -26,7 +26,7 @@ "mocha": "^5.2.0", "nyc": "^12.0.2", "typedoc": "^0.12.0", - "typescript": "^3.0.1" + "typescript": "^3.1.3" }, "dependencies": { "@thi.ng/checks": "^1.5.12", @@ -49,4 +49,4 @@ "publishConfig": { "access": "public" } -} +} \ No newline at end of file diff --git a/packages/iges/package.json b/packages/iges/package.json index 8fea94ae7c..f3e413f2f3 100644 --- a/packages/iges/package.json +++ b/packages/iges/package.json @@ -25,7 +25,7 @@ "mocha": "^5.2.0", "nyc": "^12.0.2", "typedoc": "^0.12.0", - "typescript": "^3.0.1" + "typescript": "^3.1.3" }, "dependencies": { "@thi.ng/api": "^4.2.2", @@ -45,4 +45,4 @@ "publishConfig": { "access": "public" } -} +} \ No newline at end of file diff --git a/packages/interceptors/package.json b/packages/interceptors/package.json index d2b8778123..957b402594 100644 --- a/packages/interceptors/package.json +++ b/packages/interceptors/package.json @@ -25,7 +25,7 @@ "mocha": "^5.2.0", "nyc": "^12.0.2", "typedoc": "^0.12.0", - "typescript": "^3.0.1" + "typescript": "^3.1.3" }, "dependencies": { "@thi.ng/api": "^4.2.2", @@ -41,4 +41,4 @@ "publishConfig": { "access": "public" } -} +} \ No newline at end of file diff --git a/packages/iterators/package.json b/packages/iterators/package.json index e14f281a55..babf2eca14 100644 --- a/packages/iterators/package.json +++ b/packages/iterators/package.json @@ -25,7 +25,7 @@ "mocha": "^5.2.0", "nyc": "^12.0.2", "typedoc": "^0.12.0", - "typescript": "^3.0.1" + "typescript": "^3.1.3" }, "dependencies": { "@thi.ng/api": "^4.2.2", @@ -46,4 +46,4 @@ "publishConfig": { "access": "public" } -} +} \ No newline at end of file diff --git a/packages/math/package.json b/packages/math/package.json index 7c5f11b8c0..52994d49c7 100644 --- a/packages/math/package.json +++ b/packages/math/package.json @@ -25,7 +25,7 @@ "mocha": "^5.2.0", "nyc": "^12.0.2", "typedoc": "^0.11.1", - "typescript": "^3.0.1" + "typescript": "^3.1.3" }, "keywords": [ "ES6", @@ -39,4 +39,4 @@ "publishConfig": { "access": "public" } -} +} \ No newline at end of file diff --git a/packages/memoize/package.json b/packages/memoize/package.json index fd57a25bdf..9b6d318dae 100644 --- a/packages/memoize/package.json +++ b/packages/memoize/package.json @@ -25,7 +25,7 @@ "mocha": "^5.2.0", "nyc": "^12.0.2", "typedoc": "^0.12.0", - "typescript": "^3.0.1" + "typescript": "^3.1.3" }, "dependencies": { "@thi.ng/api": "^4.2.2" @@ -40,4 +40,4 @@ "publishConfig": { "access": "public" } -} +} \ No newline at end of file diff --git a/packages/morton/package.json b/packages/morton/package.json index 561a8dcc76..851046c6bb 100644 --- a/packages/morton/package.json +++ b/packages/morton/package.json @@ -25,7 +25,7 @@ "mocha": "^5.2.0", "nyc": "^12.0.2", "typedoc": "^0.11.1", - "typescript": "^3.0.1" + "typescript": "^3.1.3" }, "dependencies": { "@thi.ng/binary": "^0.1.0", @@ -43,4 +43,4 @@ "publishConfig": { "access": "public" } -} +} \ No newline at end of file diff --git a/packages/paths/package.json b/packages/paths/package.json index e32a3bbb92..6b2fa96ec4 100644 --- a/packages/paths/package.json +++ b/packages/paths/package.json @@ -25,7 +25,7 @@ "mocha": "^5.2.0", "nyc": "^12.0.2", "typedoc": "^0.12.0", - "typescript": "^3.0.1" + "typescript": "^3.1.3" }, "dependencies": { "@thi.ng/checks": "^1.5.12", @@ -47,4 +47,4 @@ "publishConfig": { "access": "public" } -} +} \ No newline at end of file diff --git a/packages/pointfree-lang/package.json b/packages/pointfree-lang/package.json index eb7c0a1de2..1f079d21d9 100644 --- a/packages/pointfree-lang/package.json +++ b/packages/pointfree-lang/package.json @@ -27,7 +27,7 @@ "mocha": "^5.2.0", "pegjs": "^0.10.0", "typedoc": "^0.12.0", - "typescript": "^3.0.1" + "typescript": "^3.1.3" }, "dependencies": { "@thi.ng/api": "^4.2.2", @@ -50,4 +50,4 @@ "publishConfig": { "access": "public" } -} +} \ No newline at end of file diff --git a/packages/pointfree/package.json b/packages/pointfree/package.json index fd747c9b8e..4e2ab528e3 100644 --- a/packages/pointfree/package.json +++ b/packages/pointfree/package.json @@ -25,7 +25,7 @@ "mocha": "^5.2.0", "nyc": "^12.0.2", "typedoc": "^0.12.0", - "typescript": "^3.0.1" + "typescript": "^3.1.3" }, "dependencies": { "@thi.ng/api": "^4.2.2", @@ -50,4 +50,4 @@ "publishConfig": { "access": "public" } -} +} \ No newline at end of file diff --git a/packages/range-coder/package.json b/packages/range-coder/package.json index 6b3170304e..c2d4131f6c 100644 --- a/packages/range-coder/package.json +++ b/packages/range-coder/package.json @@ -26,7 +26,7 @@ "mocha": "^5.2.0", "nyc": "^12.0.2", "typedoc": "^0.12.0", - "typescript": "^3.0.1" + "typescript": "^3.1.3" }, "dependencies": { "@thi.ng/bitstream": "^0.4.19" @@ -42,4 +42,4 @@ "publishConfig": { "access": "public" } -} +} \ No newline at end of file diff --git a/packages/resolve-map/package.json b/packages/resolve-map/package.json index fabe835df6..836684014d 100644 --- a/packages/resolve-map/package.json +++ b/packages/resolve-map/package.json @@ -23,7 +23,7 @@ "@types/node": "^10.5.5", "mocha": "^5.2.0", "typedoc": "^0.12.0", - "typescript": "^3.0.1" + "typescript": "^3.1.3" }, "dependencies": { "@thi.ng/checks": "^1.5.12", @@ -42,4 +42,4 @@ "publishConfig": { "access": "public" } -} +} \ No newline at end of file diff --git a/packages/rle-pack/package.json b/packages/rle-pack/package.json index cb1de650f2..432a8e9b4e 100644 --- a/packages/rle-pack/package.json +++ b/packages/rle-pack/package.json @@ -26,7 +26,7 @@ "mocha": "^5.2.0", "nyc": "^12.0.2", "typedoc": "^0.12.0", - "typescript": "^3.0.1" + "typescript": "^3.1.3" }, "dependencies": { "@thi.ng/bitstream": "^0.4.19", @@ -43,4 +43,4 @@ "publishConfig": { "access": "public" } -} +} \ No newline at end of file diff --git a/packages/router/package.json b/packages/router/package.json index c81bafafbf..63119f6d46 100644 --- a/packages/router/package.json +++ b/packages/router/package.json @@ -24,7 +24,7 @@ "mocha": "^5.2.0", "nyc": "^12.0.2", "typedoc": "^0.12.0", - "typescript": "^3.0.1" + "typescript": "^3.1.3" }, "dependencies": { "@thi.ng/api": "^4.2.2", @@ -45,4 +45,4 @@ "publishConfig": { "access": "public" } -} +} \ No newline at end of file diff --git a/packages/rstream-csp/package.json b/packages/rstream-csp/package.json index 21da7bf188..2f01fb74ef 100644 --- a/packages/rstream-csp/package.json +++ b/packages/rstream-csp/package.json @@ -25,7 +25,7 @@ "mocha": "^5.2.0", "nyc": "^12.0.2", "typedoc": "^0.12.0", - "typescript": "^3.0.1" + "typescript": "^3.1.3" }, "dependencies": { "@thi.ng/csp": "^0.3.68", @@ -42,4 +42,4 @@ "publishConfig": { "access": "public" } -} +} \ No newline at end of file diff --git a/packages/rstream-dot/package.json b/packages/rstream-dot/package.json index 3a0f04826d..e3fbe247ee 100644 --- a/packages/rstream-dot/package.json +++ b/packages/rstream-dot/package.json @@ -25,7 +25,7 @@ "mocha": "^5.2.0", "nyc": "^12.0.2", "typedoc": "^0.12.0", - "typescript": "^3.0.1" + "typescript": "^3.1.3" }, "dependencies": { "@thi.ng/rstream": "^1.13.6" @@ -45,4 +45,4 @@ "publishConfig": { "access": "public" } -} +} \ No newline at end of file diff --git a/packages/rstream-gestures/package.json b/packages/rstream-gestures/package.json index 7cf9c5d141..6e97daeaf0 100644 --- a/packages/rstream-gestures/package.json +++ b/packages/rstream-gestures/package.json @@ -25,7 +25,7 @@ "mocha": "^5.2.0", "nyc": "^12.0.2", "typedoc": "^0.12.0", - "typescript": "^3.0.1" + "typescript": "^3.1.3" }, "dependencies": { "@thi.ng/api": "^4.2.2", @@ -46,4 +46,4 @@ "publishConfig": { "access": "public" } -} +} \ No newline at end of file diff --git a/packages/rstream-graph/package.json b/packages/rstream-graph/package.json index 76761f03ff..f7818ec9b8 100644 --- a/packages/rstream-graph/package.json +++ b/packages/rstream-graph/package.json @@ -25,7 +25,7 @@ "mocha": "^5.2.0", "nyc": "^12.0.2", "typedoc": "^0.12.0", - "typescript": "^3.0.1" + "typescript": "^3.1.3" }, "dependencies": { "@thi.ng/api": "^4.2.2", @@ -48,4 +48,4 @@ "publishConfig": { "access": "public" } -} +} \ No newline at end of file diff --git a/packages/rstream-log/package.json b/packages/rstream-log/package.json index abc555eb25..4b7e36c17e 100644 --- a/packages/rstream-log/package.json +++ b/packages/rstream-log/package.json @@ -25,7 +25,7 @@ "mocha": "^5.2.0", "nyc": "^12.0.2", "typedoc": "^0.12.0", - "typescript": "^3.0.1" + "typescript": "^3.1.3" }, "dependencies": { "@thi.ng/api": "^4.2.2", @@ -48,4 +48,4 @@ "publishConfig": { "access": "public" } -} +} \ No newline at end of file diff --git a/packages/rstream-query/package.json b/packages/rstream-query/package.json index ea5ffba289..2a7ef44fe3 100644 --- a/packages/rstream-query/package.json +++ b/packages/rstream-query/package.json @@ -25,7 +25,7 @@ "mocha": "^5.2.0", "nyc": "^12.0.2", "typedoc": "^0.12.0", - "typescript": "^3.0.1" + "typescript": "^3.1.3" }, "dependencies": { "@thi.ng/api": "^4.2.2", @@ -54,4 +54,4 @@ "publishConfig": { "access": "public" } -} +} \ No newline at end of file diff --git a/packages/rstream/package.json b/packages/rstream/package.json index dd4f7cc4fb..68f52cf9b5 100644 --- a/packages/rstream/package.json +++ b/packages/rstream/package.json @@ -25,7 +25,7 @@ "mocha": "^5.2.0", "nyc": "^12.0.2", "typedoc": "^0.12.0", - "typescript": "^3.0.1" + "typescript": "^3.1.3" }, "dependencies": { "@thi.ng/api": "^4.2.2", @@ -51,4 +51,4 @@ "publishConfig": { "access": "public" } -} +} \ No newline at end of file diff --git a/packages/sax/package.json b/packages/sax/package.json index 0341ec21ff..21b7ff2c58 100644 --- a/packages/sax/package.json +++ b/packages/sax/package.json @@ -25,7 +25,7 @@ "mocha": "^5.2.0", "nyc": "^12.0.2", "typedoc": "^0.12.0", - "typescript": "^3.0.1" + "typescript": "^3.1.3" }, "dependencies": { "@thi.ng/api": "^4.2.2", @@ -44,4 +44,4 @@ "publishConfig": { "access": "public" } -} +} \ No newline at end of file diff --git a/packages/strings/package.json b/packages/strings/package.json index 8a25a8d5c8..db7a2c051c 100644 --- a/packages/strings/package.json +++ b/packages/strings/package.json @@ -25,7 +25,7 @@ "mocha": "^5.2.0", "nyc": "^12.0.2", "typedoc": "^0.12.0", - "typescript": "^3.0.1" + "typescript": "^3.1.3" }, "dependencies": { "@thi.ng/errors": "^0.1.10", @@ -44,4 +44,4 @@ "publishConfig": { "access": "public" } -} +} \ No newline at end of file diff --git a/packages/transducers-fsm/package.json b/packages/transducers-fsm/package.json index f937967790..97db80fc3a 100644 --- a/packages/transducers-fsm/package.json +++ b/packages/transducers-fsm/package.json @@ -25,7 +25,7 @@ "mocha": "^5.2.0", "nyc": "^12.0.2", "typedoc": "^0.12.0", - "typescript": "^3.0.1" + "typescript": "^3.1.3" }, "dependencies": { "@thi.ng/api": "^4.2.2", @@ -41,4 +41,4 @@ "publishConfig": { "access": "public" } -} +} \ No newline at end of file diff --git a/packages/transducers-hdom/package.json b/packages/transducers-hdom/package.json index 7e6048a3e1..60a1a26485 100644 --- a/packages/transducers-hdom/package.json +++ b/packages/transducers-hdom/package.json @@ -25,7 +25,7 @@ "mocha": "^5.2.0", "nyc": "^12.0.2", "typedoc": "^0.12.0", - "typescript": "^3.0.1" + "typescript": "^3.1.3" }, "dependencies": { "@thi.ng/checks": "^1.5.12", @@ -45,4 +45,4 @@ "publishConfig": { "access": "public" } -} +} \ No newline at end of file diff --git a/packages/transducers-stats/package.json b/packages/transducers-stats/package.json index 01764deedd..9c95005611 100644 --- a/packages/transducers-stats/package.json +++ b/packages/transducers-stats/package.json @@ -25,7 +25,7 @@ "mocha": "^5.2.0", "nyc": "^12.0.2", "typedoc": "^0.12.0", - "typescript": "^3.0.1" + "typescript": "^3.1.3" }, "dependencies": { "@thi.ng/dcons": "^1.1.12", @@ -39,4 +39,4 @@ "publishConfig": { "access": "public" } -} +} \ No newline at end of file diff --git a/packages/transducers/package.json b/packages/transducers/package.json index c370d24cef..32856ec49d 100644 --- a/packages/transducers/package.json +++ b/packages/transducers/package.json @@ -25,7 +25,7 @@ "mocha": "^5.2.0", "nyc": "^12.0.2", "typedoc": "^0.12.0", - "typescript": "^3.0.1" + "typescript": "^3.1.3" }, "dependencies": { "@thi.ng/api": "^4.2.2", @@ -50,4 +50,4 @@ "publishConfig": { "access": "public" } -} +} \ No newline at end of file diff --git a/packages/unionstruct/package.json b/packages/unionstruct/package.json index 5c38cd9fc7..2bc089970b 100644 --- a/packages/unionstruct/package.json +++ b/packages/unionstruct/package.json @@ -25,7 +25,7 @@ "mocha": "^5.2.0", "nyc": "^12.0.2", "typedoc": "^0.12.0", - "typescript": "^3.0.1" + "typescript": "^3.1.3" }, "keywords": [ "align", @@ -41,4 +41,4 @@ "publishConfig": { "access": "public" } -} +} \ No newline at end of file diff --git a/packages/vectors/package.json b/packages/vectors/package.json index e2910427f2..38707269d8 100644 --- a/packages/vectors/package.json +++ b/packages/vectors/package.json @@ -26,7 +26,7 @@ "mocha": "^5.2.0", "nyc": "^12.0.2", "typedoc": "^0.12.0", - "typescript": "^3.0.1" + "typescript": "^3.1.3" }, "dependencies": { "@thi.ng/api": "^4.2.2", @@ -47,4 +47,4 @@ "publishConfig": { "access": "public" } -} +} \ No newline at end of file diff --git a/yarn.lock b/yarn.lock index d97d9820b8..bbf5cade6f 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2309,14 +2309,7 @@ columnify@^1.5.4: strip-ansi "^3.0.0" wcwidth "^1.0.0" -combined-stream@1.0.6: - version "1.0.6" - resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.6.tgz#723e7df6e801ac5613113a7e445a9b69cb632818" - integrity sha1-cj599ugBrFYTETp+RFqbactjKBg= - dependencies: - delayed-stream "~1.0.0" - -combined-stream@~1.0.6: +combined-stream@^1.0.6, combined-stream@~1.0.6: version "1.0.7" resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.7.tgz#2d1d24317afb8abe95d6d2c0b07b57813539d828" integrity sha512-brWl9y6vOB1xYPZcpZde3N9zDByXTosAeMDo4p1wzo6UMOX4vumB+TP1RZ76sfE6Md68Q0NJSrE/gbezd4Ul+w== @@ -3567,12 +3560,12 @@ forever-agent@~0.6.1: integrity sha1-+8cfDEGt6zf5bFd60e1C2P2sypE= form-data@~2.3.2: - version "2.3.2" - resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.3.2.tgz#4970498be604c20c005d4f5c23aecd21d6b49099" - integrity sha1-SXBJi+YEwgwAXU9cI67NIda0kJk= + version "2.3.3" + resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.3.3.tgz#dcce52c05f644f298c6a7ab936bd724ceffbf3a6" + integrity sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ== dependencies: asynckit "^0.4.0" - combined-stream "1.0.6" + combined-stream "^1.0.6" mime-types "^2.1.12" fragment-cache@^0.2.1: @@ -3972,9 +3965,9 @@ hex-color-regex@^1.1.0: integrity sha512-l9sfDFsuqtOqKDsQdqrMRk0U85RZc0RtOR9yPI7mRVOa4FsR/BVnZ0shmQRM96Ji99kYZP/7hn1cedc1+ApsTQ== highlight.js@^9.0.0: - version "9.13.0" - resolved "https://registry.yarnpkg.com/highlight.js/-/highlight.js-9.13.0.tgz#ee96d5c5f4c456e440f2dbdb2752211dff56f671" - integrity sha512-2B90kcNnErqRTmzdZw6IPLEC9CdsiIMhj+r8L3LJKRCgtEJ+LY5yzWuQCVnADTI0wwocQinFzaaL/JjTQNqI/g== + version "9.13.1" + resolved "https://registry.yarnpkg.com/highlight.js/-/highlight.js-9.13.1.tgz#054586d53a6863311168488a0f58d6c505ce641e" + integrity sha512-Sc28JNQNDzaH6PORtRLMvif9RSn1mYuOoX3omVjnb0+HbpPygU2ALBI0R/wsiqCb4/fcp07Gdo8g+fhtFrQl6A== hmac-drbg@^1.0.0: version "1.0.1" @@ -4785,7 +4778,7 @@ lcid@^2.0.0: dependencies: invert-kv "^2.0.0" -lerna@^3.3.0: +lerna@^3.4.3: version "3.4.3" resolved "https://registry.yarnpkg.com/lerna/-/lerna-3.4.3.tgz#501454efb453c65c305802d370ee337f7298787e" integrity sha512-tWq1LvpHqkyB+FaJCmkEweivr88yShDMmauofPVdh0M5gU1cVucszYnIgWafulKYu2LMQ3IfUMUU5Pp3+MvADQ== @@ -5928,7 +5921,7 @@ parallel-transform@^1.1.0: inherits "^2.0.3" readable-stream "^2.1.5" -parcel-bundler@^1.9.7: +parcel-bundler@^1.10.3: version "1.10.3" resolved "https://registry.yarnpkg.com/parcel-bundler/-/parcel-bundler-1.10.3.tgz#8502b40d3f23139093b25e82658f6060f025c024" integrity sha512-Lj31fr5o2AZFbazghL/MrubzvJEXLwx24rd3MiR3lncmqCXbd5q0hgl1kpV6X+vRaN9/cSDR8G0lotmgl5OyZg== @@ -6743,9 +6736,9 @@ process@^0.11.10: integrity sha1-czIwDoQBYb2j5podHZGn1LwW8YI= progress@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.0.tgz#8a1be366bf8fc23db2bd23f10c6fe920b4389d1f" - integrity sha1-ihvjZr+Pwj2yvSPxDG/pILQ4nR8= + version "2.0.1" + resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.1.tgz#c9242169342b1c29d275889c95734621b1952e31" + integrity sha512-OE+a6vzqazc+K6LxJrX5UPyKFvGnL5CYmq2jFGNIBWHpc4QyE49/YOumcrpQFJpfejmvRtbJzgO1zPmMCqlbBg== promise-inflight@^1.0.1: version "1.0.1" @@ -7929,7 +7922,7 @@ temp-write@^3.4.0: temp-dir "^1.0.0" uuid "^3.0.1" -terser@^3.7.3, terser@^3.8.1, terser@^3.8.2: +terser@^3.10.1, terser@^3.7.3, terser@^3.8.1: version "3.10.1" resolved "https://registry.yarnpkg.com/terser/-/terser-3.10.1.tgz#59c8cf87262d59e018ded4df30f834b602b1e232" integrity sha512-GE0ShECt1/dZUZt9Kyr/IC6xXG46pTbm1C1WfzQbbnRB5LhdJlF8p5NBZ38RjspD7hEM9O5ud8aIcOFY6evl4A== @@ -8196,7 +8189,7 @@ typescript@3.0.x: resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.0.3.tgz#4853b3e275ecdaa27f78fda46dc273a7eb7fc1c8" integrity sha512-kk80vLW9iGtjMnIv11qyxLqZm20UklzuR2tL0QAnDIygIUIemcZMxlMWudl9OOt76H3ntVzcTiddQ1/pAAJMYg== -typescript@^3.0.1: +typescript@^3.1.3: version "3.1.3" resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.1.3.tgz#01b70247a6d3c2467f70c45795ef5ea18ce191d5" integrity sha512-+81MUSyX+BaSo+u2RbozuQk/UWx6hfG0a5gHu4ANEM4sU96XbuIyAB+rWBW1u70c6a5QuZfuYICn3s2UjuHUpA== From e6cef6b33b8812a3b19779218fc8445c653b19f0 Mon Sep 17 00:00:00 2001 From: Karsten Schmidt Date: Wed, 17 Oct 2018 15:52:31 +0100 Subject: [PATCH 06/34] build(examples): update dev deps --- examples/async-effect/package.json | 6 +++--- examples/canvas-dial/package.json | 6 +++--- examples/cellular-automata/package.json | 6 +++--- examples/commit-table-ssr/package.json | 6 +++--- examples/crypto-chart/package.json | 6 +++--- examples/dashboard/package.json | 6 +++--- examples/devcards/package.json | 6 +++--- examples/geom-tessel/package.json | 6 +++--- examples/gesture-analysis/package.json | 6 +++--- examples/hdom-basics/package.json | 6 +++--- examples/hdom-benchmark/package.json | 6 +++--- examples/hdom-canvas-clock/package.json | 6 +++--- examples/hdom-canvas-draw/package.json | 6 +++--- examples/hdom-canvas-shapes/package.json | 6 +++--- examples/hdom-dropdown-fuzzy/package.json | 6 +++--- examples/hdom-dropdown/package.json | 6 +++--- examples/hdom-theme-adr-0003/package.json | 6 +++--- examples/hmr-basics/package.json | 6 +++--- examples/hydrate-basics/package.json | 6 +++--- examples/interceptor-basics/package.json | 6 +++--- examples/interceptor-basics2/package.json | 6 +++--- examples/json-components/package.json | 6 +++--- examples/login-form/package.json | 6 +++--- examples/pointfree-svg/package.json | 2 +- examples/router-basics/package.json | 6 +++--- examples/rstream-dataflow/package.json | 6 +++--- examples/rstream-grid/package.json | 6 +++--- examples/rstream-hdom/package.json | 6 +++--- examples/svg-barchart/package.json | 8 ++++---- examples/svg-particles/package.json | 6 +++--- examples/svg-waveform/package.json | 6 +++--- examples/todo-list/package.json | 6 +++--- examples/transducers-hdom/package.json | 6 +++--- examples/triple-query/package.json | 6 +++--- examples/webgl/package.json | 6 +++--- examples/xml-converter/package.json | 6 +++--- 36 files changed, 107 insertions(+), 107 deletions(-) diff --git a/examples/async-effect/package.json b/examples/async-effect/package.json index 31052e68e8..e8354135f3 100644 --- a/examples/async-effect/package.json +++ b/examples/async-effect/package.json @@ -11,9 +11,9 @@ "start": "yarn prep && parcel index.html -p 8080 --open -d out" }, "devDependencies": { - "parcel-bundler": "^1.9.7", - "terser": "^3.8.2", - "typescript": "^3.0.1" + "parcel-bundler": "^1.10.3", + "terser": "^3.10.1", + "typescript": "^3.1.3" }, "dependencies": { "@thi.ng/api": "latest", diff --git a/examples/canvas-dial/package.json b/examples/canvas-dial/package.json index be616f6292..0e51c23e6a 100644 --- a/examples/canvas-dial/package.json +++ b/examples/canvas-dial/package.json @@ -10,9 +10,9 @@ "start": "parcel index.html -p 8080 --open" }, "devDependencies": { - "parcel-bundler": "^1.9.7", - "terser": "^3.8.2", - "typescript": "^3.0.1" + "parcel-bundler": "^1.10.3", + "terser": "^3.10.1", + "typescript": "^3.1.3" }, "dependencies": { "@thi.ng/api": "latest", diff --git a/examples/cellular-automata/package.json b/examples/cellular-automata/package.json index 5e02a14723..6155ffeb5b 100644 --- a/examples/cellular-automata/package.json +++ b/examples/cellular-automata/package.json @@ -10,9 +10,9 @@ "start": "parcel index.html -p 8080 --open" }, "devDependencies": { - "parcel-bundler": "^1.9.7", - "terser": "^3.8.2", - "typescript": "^3.0.1" + "parcel-bundler": "^1.10.3", + "terser": "^3.10.1", + "typescript": "^3.1.3" }, "dependencies": { "@thi.ng/api": "latest", diff --git a/examples/commit-table-ssr/package.json b/examples/commit-table-ssr/package.json index 7de550e95a..d1c4eb4b39 100644 --- a/examples/commit-table-ssr/package.json +++ b/examples/commit-table-ssr/package.json @@ -12,9 +12,9 @@ "start": "tsc && node build/server/index.js" }, "devDependencies": { - "parcel-bundler": "^1.9.7", - "terser": "^3.8.2", - "typescript": "^3.0.1" + "parcel-bundler": "^1.10.3", + "terser": "^3.10.1", + "typescript": "^3.1.3" }, "dependencies": { "express": "^4.16.3", diff --git a/examples/crypto-chart/package.json b/examples/crypto-chart/package.json index 57b9a3e6ed..f94555e4a6 100644 --- a/examples/crypto-chart/package.json +++ b/examples/crypto-chart/package.json @@ -10,9 +10,9 @@ "start": "parcel index.html -p 8080 --open" }, "devDependencies": { - "parcel-bundler": "^1.9.7", - "terser": "^3.8.2", - "typescript": "^3.0.1" + "parcel-bundler": "^1.10.3", + "terser": "^3.10.1", + "typescript": "^3.1.3" }, "dependencies": { "@thi.ng/api": "latest", diff --git a/examples/dashboard/package.json b/examples/dashboard/package.json index 322a34ab95..72e212bfa8 100644 --- a/examples/dashboard/package.json +++ b/examples/dashboard/package.json @@ -10,9 +10,9 @@ "start": "parcel index.html -p 8080 --open" }, "devDependencies": { - "parcel-bundler": "^1.9.7", - "terser": "^3.8.2", - "typescript": "^3.0.1" + "parcel-bundler": "^1.10.3", + "terser": "^3.10.1", + "typescript": "^3.1.3" }, "dependencies": { "@thi.ng/hdom": "latest" diff --git a/examples/devcards/package.json b/examples/devcards/package.json index 954172b0e2..4f503f0877 100644 --- a/examples/devcards/package.json +++ b/examples/devcards/package.json @@ -10,9 +10,9 @@ "start": "parcel index.html -p 8080 --open" }, "devDependencies": { - "parcel-bundler": "^1.9.7", - "terser": "^3.8.2", - "typescript": "^3.0.1" + "parcel-bundler": "^1.10.3", + "terser": "^3.10.1", + "typescript": "^3.1.3" }, "dependencies": { "@thi.ng/api": "latest", diff --git a/examples/geom-tessel/package.json b/examples/geom-tessel/package.json index 6bc9094ee3..bf1432d5d2 100644 --- a/examples/geom-tessel/package.json +++ b/examples/geom-tessel/package.json @@ -10,9 +10,9 @@ "start": "parcel index.html -p 8080 --open" }, "devDependencies": { - "parcel-bundler": "^1.9.7", - "terser": "^3.8.2", - "typescript": "^3.0.1" + "parcel-bundler": "^1.10.3", + "terser": "^3.10.1", + "typescript": "^3.1.3" }, "dependencies": { "@thi.ng/compose": "latest", diff --git a/examples/gesture-analysis/package.json b/examples/gesture-analysis/package.json index 0bc1934693..e6bbeb7a54 100644 --- a/examples/gesture-analysis/package.json +++ b/examples/gesture-analysis/package.json @@ -10,9 +10,9 @@ "start": "parcel index.html -p 8080 --open" }, "devDependencies": { - "parcel-bundler": "^1.9.7", - "terser": "^3.8.2", - "typescript": "^3.0.1" + "parcel-bundler": "^1.10.3", + "terser": "^3.10.1", + "typescript": "^3.1.3" }, "dependencies": { "@thi.ng/hiccup-svg": "latest", diff --git a/examples/hdom-basics/package.json b/examples/hdom-basics/package.json index c462f92b8d..efe504fa32 100644 --- a/examples/hdom-basics/package.json +++ b/examples/hdom-basics/package.json @@ -10,9 +10,9 @@ "start": "parcel index.html -p 8080 --open" }, "devDependencies": { - "parcel-bundler": "^1.9.7", - "terser": "^3.8.2", - "typescript": "^3.0.1" + "parcel-bundler": "^1.10.3", + "terser": "^3.10.1", + "typescript": "^3.1.3" }, "dependencies": { "@thi.ng/hdom": "latest" diff --git a/examples/hdom-benchmark/package.json b/examples/hdom-benchmark/package.json index ceb4964fd5..b75dcd3e7e 100644 --- a/examples/hdom-benchmark/package.json +++ b/examples/hdom-benchmark/package.json @@ -10,9 +10,9 @@ "start": "parcel index.html -p 8080 --open" }, "devDependencies": { - "parcel-bundler": "^1.9.7", - "terser": "^3.8.2", - "typescript": "^3.0.1" + "parcel-bundler": "^1.10.3", + "terser": "^3.10.1", + "typescript": "^3.1.3" }, "dependencies": { "@thi.ng/api": "latest", diff --git a/examples/hdom-canvas-clock/package.json b/examples/hdom-canvas-clock/package.json index 056802a80e..adc5df144f 100644 --- a/examples/hdom-canvas-clock/package.json +++ b/examples/hdom-canvas-clock/package.json @@ -10,9 +10,9 @@ "start": "parcel index.html -p 8080 --open" }, "devDependencies": { - "parcel-bundler": "^1.9.7", - "terser": "^3.8.2", - "typescript": "^3.0.1" + "parcel-bundler": "^1.10.3", + "terser": "^3.10.1", + "typescript": "^3.1.3" }, "dependencies": { "@thi.ng/api": "latest", diff --git a/examples/hdom-canvas-draw/package.json b/examples/hdom-canvas-draw/package.json index f456ec6f02..23c8327e69 100644 --- a/examples/hdom-canvas-draw/package.json +++ b/examples/hdom-canvas-draw/package.json @@ -10,9 +10,9 @@ "start": "parcel index.html -p 8080 --open" }, "devDependencies": { - "parcel-bundler": "^1.9.7", - "terser": "^3.8.2", - "typescript": "^3.0.1" + "parcel-bundler": "^1.10.3", + "terser": "^3.10.1", + "typescript": "^3.1.3" }, "dependencies": { "@thi.ng/hdom-canvas": "latest", diff --git a/examples/hdom-canvas-shapes/package.json b/examples/hdom-canvas-shapes/package.json index f8cb57e562..4c88d56e42 100644 --- a/examples/hdom-canvas-shapes/package.json +++ b/examples/hdom-canvas-shapes/package.json @@ -10,9 +10,9 @@ "start": "parcel index.html -p 8080 --open --no-cache" }, "devDependencies": { - "parcel-bundler": "^1.9.7", - "terser": "^3.8.2", - "typescript": "^3.0.1" + "parcel-bundler": "^1.10.3", + "terser": "^3.10.1", + "typescript": "^3.1.3" }, "dependencies": { "@thi.ng/hdom-canvas": "latest", diff --git a/examples/hdom-dropdown-fuzzy/package.json b/examples/hdom-dropdown-fuzzy/package.json index daf8a0cf02..796167fa8f 100644 --- a/examples/hdom-dropdown-fuzzy/package.json +++ b/examples/hdom-dropdown-fuzzy/package.json @@ -10,9 +10,9 @@ "start": "parcel index.html -p 8080 --open" }, "devDependencies": { - "parcel-bundler": "^1.9.7", - "terser": "^3.8.2", - "typescript": "^3.0.1" + "parcel-bundler": "^1.10.3", + "terser": "^3.10.1", + "typescript": "^3.1.3" }, "dependencies": { "@thi.ng/api": "latest", diff --git a/examples/hdom-dropdown/package.json b/examples/hdom-dropdown/package.json index 2038080090..fa68d58111 100644 --- a/examples/hdom-dropdown/package.json +++ b/examples/hdom-dropdown/package.json @@ -10,9 +10,9 @@ "start": "parcel index.html -p 8080 --open" }, "devDependencies": { - "parcel-bundler": "^1.9.7", - "terser": "^3.8.2", - "typescript": "^3.0.1" + "parcel-bundler": "^1.10.3", + "terser": "^3.10.1", + "typescript": "^3.1.3" }, "dependencies": { "@thi.ng/api": "latest", diff --git a/examples/hdom-theme-adr-0003/package.json b/examples/hdom-theme-adr-0003/package.json index f96eeb0a32..87288bd3ea 100644 --- a/examples/hdom-theme-adr-0003/package.json +++ b/examples/hdom-theme-adr-0003/package.json @@ -10,9 +10,9 @@ "start": "parcel index.html -p 8080 --open" }, "devDependencies": { - "parcel-bundler": "^1.9.7", - "terser": "^3.8.2", - "typescript": "^3.0.1" + "parcel-bundler": "^1.10.3", + "terser": "^3.10.1", + "typescript": "^3.1.3" }, "dependencies": { "@thi.ng/api": "latest", diff --git a/examples/hmr-basics/package.json b/examples/hmr-basics/package.json index 60d17697e2..f13bc92642 100644 --- a/examples/hmr-basics/package.json +++ b/examples/hmr-basics/package.json @@ -10,9 +10,9 @@ "start": "parcel index.html -p 8080 --open" }, "devDependencies": { - "parcel-bundler": "^1.9.7", - "terser": "^3.8.2", - "typescript": "^3.0.1" + "parcel-bundler": "^1.10.3", + "terser": "^3.10.1", + "typescript": "^3.1.3" }, "dependencies": { "@thi.ng/atom": "latest", diff --git a/examples/hydrate-basics/package.json b/examples/hydrate-basics/package.json index 85c6f882db..9dd4025ffd 100644 --- a/examples/hydrate-basics/package.json +++ b/examples/hydrate-basics/package.json @@ -10,9 +10,9 @@ "start": "parcel index.html -p 8080 --open" }, "devDependencies": { - "parcel-bundler": "^1.9.7", - "terser": "^3.8.2", - "typescript": "^3.0.1" + "parcel-bundler": "^1.10.3", + "terser": "^3.10.1", + "typescript": "^3.1.3" }, "dependencies": { "@thi.ng/api": "latest", diff --git a/examples/interceptor-basics/package.json b/examples/interceptor-basics/package.json index c97371bff5..ed7921575d 100644 --- a/examples/interceptor-basics/package.json +++ b/examples/interceptor-basics/package.json @@ -10,9 +10,9 @@ "start": "parcel index.html -p 8080 --open" }, "devDependencies": { - "parcel-bundler": "^1.9.7", - "terser": "^3.8.2", - "typescript": "^3.0.1" + "parcel-bundler": "^1.10.3", + "terser": "^3.10.1", + "typescript": "^3.1.3" }, "dependencies": { "@thi.ng/api": "latest", diff --git a/examples/interceptor-basics2/package.json b/examples/interceptor-basics2/package.json index bca3773470..45fb468992 100644 --- a/examples/interceptor-basics2/package.json +++ b/examples/interceptor-basics2/package.json @@ -10,9 +10,9 @@ "start": "parcel index.html -p 8080 --open" }, "devDependencies": { - "parcel-bundler": "^1.9.7", - "terser": "^3.8.2", - "typescript": "^3.0.1" + "parcel-bundler": "^1.10.3", + "terser": "^3.10.1", + "typescript": "^3.1.3" }, "dependencies": { "@thi.ng/api": "latest", diff --git a/examples/json-components/package.json b/examples/json-components/package.json index fb45923bdd..1a08432ca5 100644 --- a/examples/json-components/package.json +++ b/examples/json-components/package.json @@ -10,9 +10,9 @@ "start": "parcel index.html -p 8080 --open" }, "devDependencies": { - "parcel-bundler": "^1.9.7", - "terser": "^3.8.2", - "typescript": "^3.0.1" + "parcel-bundler": "^1.10.3", + "terser": "^3.10.1", + "typescript": "^3.1.3" }, "dependencies": { "@thi.ng/hdom": "latest", diff --git a/examples/login-form/package.json b/examples/login-form/package.json index edd5c6ed6d..3a36f96d32 100644 --- a/examples/login-form/package.json +++ b/examples/login-form/package.json @@ -10,9 +10,9 @@ "start": "parcel index.html -p 8080 --open" }, "devDependencies": { - "parcel-bundler": "^1.9.7", - "terser": "^3.8.2", - "typescript": "^3.0.1" + "parcel-bundler": "^1.10.3", + "terser": "^3.10.1", + "typescript": "^3.1.3" }, "dependencies": { "@thi.ng/atom": "latest", diff --git a/examples/pointfree-svg/package.json b/examples/pointfree-svg/package.json index 0ba4d62f0f..15df438bbb 100644 --- a/examples/pointfree-svg/package.json +++ b/examples/pointfree-svg/package.json @@ -15,6 +15,6 @@ "@thi.ng/pointfree-lang": "latest" }, "devDependencies": { - "typescript": "^3.0.1" + "typescript": "^3.1.3" } } \ No newline at end of file diff --git a/examples/router-basics/package.json b/examples/router-basics/package.json index c54772b5c2..2b42fe04db 100644 --- a/examples/router-basics/package.json +++ b/examples/router-basics/package.json @@ -18,9 +18,9 @@ "@thi.ng/router": "latest" }, "devDependencies": { - "parcel-bundler": "^1.9.7", - "terser": "^3.8.2", - "typescript": "^3.0.1" + "parcel-bundler": "^1.10.3", + "terser": "^3.10.1", + "typescript": "^3.1.3" }, "browserslist": [ "last 3 Chrome versions" diff --git a/examples/rstream-dataflow/package.json b/examples/rstream-dataflow/package.json index 5c89544f15..d5a5fa8bb8 100644 --- a/examples/rstream-dataflow/package.json +++ b/examples/rstream-dataflow/package.json @@ -10,9 +10,9 @@ "start": "parcel index.html -p 8080 --open" }, "devDependencies": { - "parcel-bundler": "^1.9.7", - "terser": "^3.8.2", - "typescript": "^3.0.1" + "parcel-bundler": "^1.10.3", + "terser": "^3.10.1", + "typescript": "^3.1.3" }, "dependencies": { "@thi.ng/api": "latest", diff --git a/examples/rstream-grid/package.json b/examples/rstream-grid/package.json index b351005a29..0c698cf5c9 100644 --- a/examples/rstream-grid/package.json +++ b/examples/rstream-grid/package.json @@ -20,9 +20,9 @@ }, "devDependencies": { "@types/node": "^9.6.2", - "parcel-bundler": "^1.9.7", - "terser": "^3.8.2", - "typescript": "^3.0.1" + "parcel-bundler": "^1.10.3", + "terser": "^3.10.1", + "typescript": "^3.1.3" }, "browserslist": [ "last 3 Chrome versions" diff --git a/examples/rstream-hdom/package.json b/examples/rstream-hdom/package.json index 1030a0bdda..c831f61793 100644 --- a/examples/rstream-hdom/package.json +++ b/examples/rstream-hdom/package.json @@ -10,9 +10,9 @@ "start": "parcel index.html -p 8080 --open" }, "devDependencies": { - "parcel-bundler": "^1.9.7", - "terser": "^3.8.2", - "typescript": "^3.0.1" + "parcel-bundler": "^1.10.3", + "terser": "^3.10.1", + "typescript": "^3.1.3" }, "dependencies": { "@thi.ng/api": "latest", diff --git a/examples/svg-barchart/package.json b/examples/svg-barchart/package.json index 744136aa03..e6f701d103 100644 --- a/examples/svg-barchart/package.json +++ b/examples/svg-barchart/package.json @@ -10,9 +10,9 @@ "start": "parcel index.html -p 8080 --open" }, "devDependencies": { - "parcel-bundler": "^1.9.7", - "terser": "^3.8.2", - "typescript": "^3.0.1" + "parcel-bundler": "^1.10.3", + "terser": "^3.10.1", + "typescript": "^3.1.3" }, "dependencies": { "@thi.ng/api": "latest", @@ -26,4 +26,4 @@ "browser": { "process": false } -} +} \ No newline at end of file diff --git a/examples/svg-particles/package.json b/examples/svg-particles/package.json index 37ea3e844e..eeeea72c0a 100644 --- a/examples/svg-particles/package.json +++ b/examples/svg-particles/package.json @@ -10,9 +10,9 @@ "start": "parcel index.html -p 8080 --open" }, "devDependencies": { - "parcel-bundler": "^1.9.7", - "terser": "^3.8.2", - "typescript": "^3.0.1" + "parcel-bundler": "^1.10.3", + "terser": "^3.10.1", + "typescript": "^3.1.3" }, "dependencies": { "@thi.ng/hdom": "latest", diff --git a/examples/svg-waveform/package.json b/examples/svg-waveform/package.json index 0bbc730228..cb4ee01dae 100644 --- a/examples/svg-waveform/package.json +++ b/examples/svg-waveform/package.json @@ -19,9 +19,9 @@ }, "devDependencies": { "@types/node": "^9.6.2", - "parcel-bundler": "^1.9.7", - "terser": "^3.8.2", - "typescript": "^3.0.1" + "parcel-bundler": "^1.10.3", + "terser": "^3.10.1", + "typescript": "^3.1.3" }, "browserslist": [ "last 3 Chrome versions" diff --git a/examples/todo-list/package.json b/examples/todo-list/package.json index 6cf6d8e295..33d006cbb2 100644 --- a/examples/todo-list/package.json +++ b/examples/todo-list/package.json @@ -10,9 +10,9 @@ "start": "parcel index.html -p 8080 --open" }, "devDependencies": { - "parcel-bundler": "^1.9.7", - "terser": "^3.8.2", - "typescript": "^3.0.1" + "parcel-bundler": "^1.10.3", + "terser": "^3.10.1", + "typescript": "^3.1.3" }, "dependencies": { "@thi.ng/atom": "latest", diff --git a/examples/transducers-hdom/package.json b/examples/transducers-hdom/package.json index 1e57752011..b382b31dee 100644 --- a/examples/transducers-hdom/package.json +++ b/examples/transducers-hdom/package.json @@ -10,9 +10,9 @@ "start": "parcel index.html -p 8080 --open" }, "devDependencies": { - "parcel-bundler": "^1.9.7", - "terser": "^3.8.2", - "typescript": "^3.0.1" + "parcel-bundler": "^1.10.3", + "terser": "^3.10.1", + "typescript": "^3.1.3" }, "dependencies": { "@thi.ng/rstream": "latest", diff --git a/examples/triple-query/package.json b/examples/triple-query/package.json index e347eb5c44..2882fdcada 100644 --- a/examples/triple-query/package.json +++ b/examples/triple-query/package.json @@ -10,9 +10,9 @@ "start": "parcel index.html -p 8080 --open" }, "devDependencies": { - "parcel-bundler": "^1.9.7", - "terser": "^3.8.2", - "typescript": "^3.0.1" + "parcel-bundler": "^1.10.3", + "terser": "^3.10.1", + "typescript": "^3.1.3" }, "dependencies": { "@thi.ng/api": "latest", diff --git a/examples/webgl/package.json b/examples/webgl/package.json index cf6087a050..3dabc4fda6 100644 --- a/examples/webgl/package.json +++ b/examples/webgl/package.json @@ -10,9 +10,9 @@ "start": "parcel index.html -p 8080 --open" }, "devDependencies": { - "parcel-bundler": "^1.9.7", - "terser": "^3.8.2", - "typescript": "^3.0.1" + "parcel-bundler": "^1.10.3", + "terser": "^3.10.1", + "typescript": "^3.1.3" }, "dependencies": { "@thi.ng/hdom": "latest", diff --git a/examples/xml-converter/package.json b/examples/xml-converter/package.json index 096c7a6f1c..693254cca9 100644 --- a/examples/xml-converter/package.json +++ b/examples/xml-converter/package.json @@ -11,9 +11,9 @@ "start": "parcel index.html -p 8080 --open" }, "devDependencies": { - "parcel-bundler": "^1.9.7", - "terser": "^3.8.2", - "typescript": "^3.0.1" + "parcel-bundler": "^1.10.3", + "terser": "^3.10.1", + "typescript": "^3.1.3" }, "dependencies": { "@thi.ng/rstream": "latest", From f01551ac50c9e6944793e2d4333a3b5fc1a43e48 Mon Sep 17 00:00:00 2001 From: Karsten Schmidt Date: Wed, 17 Oct 2018 16:03:07 +0100 Subject: [PATCH 07/34] build: update make-module/example scripts --- scripts/make-example | 6 +++--- scripts/make-module | 11 ++++++----- 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/scripts/make-example b/scripts/make-example index 3a9249c0e9..ac05da39c8 100755 --- a/scripts/make-example +++ b/scripts/make-example @@ -32,9 +32,9 @@ cat << EOF > $MODULE/package.json "start": "parcel index.html -p 8080 --open" }, "devDependencies": { - "parcel-bundler": "^1.9.7", - "terser": "^3.8.2", - "typescript": "^3.0.1" + "parcel-bundler": "^1.10.3", + "terser": "^3.10.1", + "typescript": "^3.1.3" }, "dependencies": { "@thi.ng/api": "latest", diff --git a/scripts/make-module b/scripts/make-module index b899a02ec9..45bc54ed9c 100755 --- a/scripts/make-module +++ b/scripts/make-module @@ -54,14 +54,14 @@ cat << EOF > $MODULE/package.json }, "devDependencies": { "@types/mocha": "^5.2.5", - "@types/node": "^10.5.5", + "@types/node": "^10.12.0", "mocha": "^5.2.0", - "nyc": "^12.0.2", - "typedoc": "^0.11.1", - "typescript": "^3.0.1" + "nyc": "^13.1.0", + "typedoc": "^0.13.0", + "typescript": "^3.1.3" }, "dependencies": { - "@thi.ng/api": "^4.1.0" + "@thi.ng/api": "^4.2.2" }, "keywords": [ "ES6", @@ -106,6 +106,7 @@ build coverage dev doc +export src* test .nyc_output From 6e0972e96008eeddeb7fe81704c9b3c00bd32230 Mon Sep 17 00:00:00 2001 From: Karsten Schmidt Date: Wed, 17 Oct 2018 16:03:50 +0100 Subject: [PATCH 08/34] build: further updates dev deps in all packages --- package.json | 2 +- packages/api/package.json | 6 +- packages/associative/package.json | 6 +- packages/atom/package.json | 6 +- packages/bench/package.json | 6 +- packages/binary/package.json | 6 +- packages/bitstream/package.json | 6 +- packages/cache/package.json | 6 +- packages/checks/package.json | 6 +- packages/compare/package.json | 6 +- packages/compose/package.json | 6 +- packages/csp/package.json | 6 +- packages/dcons/package.json | 6 +- packages/defmulti/package.json | 6 +- packages/dgraph/package.json | 6 +- packages/diff/package.json | 4 +- packages/dlogic/package.json | 6 +- packages/dot/package.json | 6 +- packages/dsp/package.json | 6 +- packages/equiv/package.json | 6 +- packages/errors/package.json | 6 +- packages/geom/package.json | 6 +- packages/hdom-canvas/package.json | 6 +- packages/hdom-components/package.json | 6 +- packages/hdom/package.json | 6 +- packages/heaps/package.json | 6 +- packages/hiccup-css/package.json | 6 +- packages/hiccup-svg/package.json | 6 +- packages/hiccup/package.json | 6 +- packages/iges/package.json | 6 +- packages/interceptors/package.json | 6 +- packages/iterators/package.json | 6 +- packages/math/package.json | 6 +- packages/memoize/package.json | 6 +- packages/morton/package.json | 6 +- packages/paths/package.json | 6 +- packages/pointfree-lang/package.json | 4 +- packages/pointfree/package.json | 6 +- packages/range-coder/package.json | 6 +- packages/resolve-map/package.json | 4 +- packages/rle-pack/package.json | 6 +- packages/router/package.json | 6 +- packages/rstream-csp/package.json | 6 +- packages/rstream-dot/package.json | 6 +- packages/rstream-gestures/package.json | 6 +- packages/rstream-graph/package.json | 6 +- packages/rstream-log/package.json | 6 +- packages/rstream-query/package.json | 6 +- packages/rstream/package.json | 6 +- packages/sax/package.json | 6 +- packages/strings/package.json | 6 +- packages/transducers-fsm/package.json | 6 +- packages/transducers-hdom/package.json | 6 +- packages/transducers-stats/package.json | 6 +- packages/transducers/package.json | 6 +- packages/unionstruct/package.json | 6 +- packages/vectors/package.json | 6 +- yarn.lock | 673 ++++++------------------ 58 files changed, 325 insertions(+), 680 deletions(-) diff --git a/package.json b/package.json index d88808b75e..5b97d75b20 100644 --- a/package.json +++ b/package.json @@ -7,7 +7,7 @@ "benchmark": "^2.1.4", "lerna": "^3.4.3", "mocha": "^5.2.0", - "nyc": "^12.0.2", + "nyc": "^13.1.0", "tslint": "^5.11.0", "typescript": "^3.1.3", "parcel-bundler": "^1.10.3", diff --git a/packages/api/package.json b/packages/api/package.json index 8a8997a5f7..dd02e08568 100644 --- a/packages/api/package.json +++ b/packages/api/package.json @@ -21,10 +21,10 @@ }, "devDependencies": { "@types/mocha": "^5.2.5", - "@types/node": "^10.5.5", + "@types/node": "^10.12.0", "mocha": "^5.2.0", - "nyc": "^12.0.2", - "typedoc": "^0.12.0", + "nyc": "^13.1.0", + "typedoc": "^0.13.0", "typescript": "^3.1.3" }, "dependencies": { diff --git a/packages/associative/package.json b/packages/associative/package.json index c61a733f16..f32bee17d3 100644 --- a/packages/associative/package.json +++ b/packages/associative/package.json @@ -21,10 +21,10 @@ }, "devDependencies": { "@types/mocha": "^5.2.5", - "@types/node": "^10.5.5", + "@types/node": "^10.12.0", "mocha": "^5.2.0", - "nyc": "^12.0.2", - "typedoc": "^0.12.0", + "nyc": "^13.1.0", + "typedoc": "^0.13.0", "typescript": "^3.1.3" }, "dependencies": { diff --git a/packages/atom/package.json b/packages/atom/package.json index 2e425bcdb1..32caa6f05a 100644 --- a/packages/atom/package.json +++ b/packages/atom/package.json @@ -21,10 +21,10 @@ }, "devDependencies": { "@types/mocha": "^5.2.5", - "@types/node": "^10.5.5", + "@types/node": "^10.12.0", "mocha": "^5.2.0", - "nyc": "^12.0.2", - "typedoc": "^0.12.0", + "nyc": "^13.1.0", + "typedoc": "^0.13.0", "typescript": "^3.1.3" }, "dependencies": { diff --git a/packages/bench/package.json b/packages/bench/package.json index 72d729cddb..496770aef6 100644 --- a/packages/bench/package.json +++ b/packages/bench/package.json @@ -21,10 +21,10 @@ }, "devDependencies": { "@types/mocha": "^5.2.5", - "@types/node": "^10.5.5", + "@types/node": "^10.12.0", "mocha": "^5.2.0", - "nyc": "^12.0.2", - "typedoc": "^0.12.0", + "nyc": "^13.1.0", + "typedoc": "^0.13.0", "typescript": "^3.1.3" }, "keywords": [ diff --git a/packages/binary/package.json b/packages/binary/package.json index 344c64e33e..b9a718c5b7 100644 --- a/packages/binary/package.json +++ b/packages/binary/package.json @@ -21,10 +21,10 @@ }, "devDependencies": { "@types/mocha": "^5.2.5", - "@types/node": "^10.5.5", + "@types/node": "^10.12.0", "mocha": "^5.2.0", - "nyc": "^12.0.2", - "typedoc": "^0.11.1", + "nyc": "^13.1.0", + "typedoc": "^0.13.0", "typescript": "^3.1.3" }, "keywords": [ diff --git a/packages/bitstream/package.json b/packages/bitstream/package.json index 96534460d6..f205134bbe 100644 --- a/packages/bitstream/package.json +++ b/packages/bitstream/package.json @@ -24,10 +24,10 @@ }, "devDependencies": { "@types/mocha": "^5.2.5", - "@types/node": "^10.5.5", + "@types/node": "^10.12.0", "mocha": "^5.2.0", - "nyc": "^12.0.2", - "typedoc": "^0.12.0", + "nyc": "^13.1.0", + "typedoc": "^0.13.0", "typescript": "^3.1.3" }, "keywords": [ diff --git a/packages/cache/package.json b/packages/cache/package.json index 63f0dcb253..d28d4918ab 100644 --- a/packages/cache/package.json +++ b/packages/cache/package.json @@ -21,10 +21,10 @@ }, "devDependencies": { "@types/mocha": "^5.2.5", - "@types/node": "^10.5.5", + "@types/node": "^10.12.0", "mocha": "^5.2.0", - "nyc": "^12.0.2", - "typedoc": "^0.12.0", + "nyc": "^13.1.0", + "typedoc": "^0.13.0", "typescript": "^3.1.3" }, "dependencies": { diff --git a/packages/checks/package.json b/packages/checks/package.json index 206daee209..c8c1b83139 100644 --- a/packages/checks/package.json +++ b/packages/checks/package.json @@ -21,10 +21,10 @@ }, "devDependencies": { "@types/mocha": "^5.2.5", - "@types/node": "^10.5.5", + "@types/node": "^10.12.0", "mocha": "^5.2.0", - "nyc": "^12.0.2", - "typedoc": "^0.12.0", + "nyc": "^13.1.0", + "typedoc": "^0.13.0", "typescript": "^3.1.3" }, "keywords": [ diff --git a/packages/compare/package.json b/packages/compare/package.json index 383209fc5b..75445cf418 100644 --- a/packages/compare/package.json +++ b/packages/compare/package.json @@ -21,10 +21,10 @@ }, "devDependencies": { "@types/mocha": "^5.2.5", - "@types/node": "^10.5.5", + "@types/node": "^10.12.0", "mocha": "^5.2.0", - "nyc": "^12.0.2", - "typedoc": "^0.12.0", + "nyc": "^13.1.0", + "typedoc": "^0.13.0", "typescript": "^3.1.3" }, "keywords": [ diff --git a/packages/compose/package.json b/packages/compose/package.json index fde81a4f51..c33b41ad94 100644 --- a/packages/compose/package.json +++ b/packages/compose/package.json @@ -21,10 +21,10 @@ }, "devDependencies": { "@types/mocha": "^5.2.5", - "@types/node": "^10.5.5", + "@types/node": "^10.12.0", "mocha": "^5.2.0", - "nyc": "^12.0.2", - "typedoc": "^0.12.0", + "nyc": "^13.1.0", + "typedoc": "^0.13.0", "typescript": "^3.1.3" }, "dependencies": { diff --git a/packages/csp/package.json b/packages/csp/package.json index 63bbf1095a..8fc017d8bb 100644 --- a/packages/csp/package.json +++ b/packages/csp/package.json @@ -25,10 +25,10 @@ }, "devDependencies": { "@types/mocha": "^5.2.5", - "@types/node": "^10.5.5", + "@types/node": "^10.12.0", "mocha": "^5.2.0", - "nyc": "^12.0.2", - "typedoc": "^0.12.0", + "nyc": "^13.1.0", + "typedoc": "^0.13.0", "typescript": "^3.1.3" }, "dependencies": { diff --git a/packages/dcons/package.json b/packages/dcons/package.json index f583157612..6e1ff4fe61 100644 --- a/packages/dcons/package.json +++ b/packages/dcons/package.json @@ -21,10 +21,10 @@ }, "devDependencies": { "@types/mocha": "^5.2.5", - "@types/node": "^10.5.5", + "@types/node": "^10.12.0", "mocha": "^5.2.0", - "nyc": "^12.0.2", - "typedoc": "^0.12.0", + "nyc": "^13.1.0", + "typedoc": "^0.13.0", "typescript": "^3.1.3" }, "dependencies": { diff --git a/packages/defmulti/package.json b/packages/defmulti/package.json index 817bfdbb36..e6116df7f2 100644 --- a/packages/defmulti/package.json +++ b/packages/defmulti/package.json @@ -21,10 +21,10 @@ }, "devDependencies": { "@types/mocha": "^5.2.5", - "@types/node": "^10.5.5", + "@types/node": "^10.12.0", "mocha": "^5.2.0", - "nyc": "^12.0.2", - "typedoc": "^0.12.0", + "nyc": "^13.1.0", + "typedoc": "^0.13.0", "typescript": "^3.1.3" }, "dependencies": { diff --git a/packages/dgraph/package.json b/packages/dgraph/package.json index b4f45e001c..1f33f28865 100644 --- a/packages/dgraph/package.json +++ b/packages/dgraph/package.json @@ -21,10 +21,10 @@ }, "devDependencies": { "@types/mocha": "^5.2.5", - "@types/node": "^10.5.5", + "@types/node": "^10.12.0", "mocha": "^5.2.0", - "nyc": "^12.0.2", - "typedoc": "^0.12.0", + "nyc": "^13.1.0", + "typedoc": "^0.13.0", "typescript": "^3.1.3" }, "dependencies": { diff --git a/packages/diff/package.json b/packages/diff/package.json index 442b839c12..9ae701d47d 100644 --- a/packages/diff/package.json +++ b/packages/diff/package.json @@ -20,9 +20,9 @@ }, "devDependencies": { "@types/mocha": "^5.2.5", - "@types/node": "^10.5.5", + "@types/node": "^10.12.0", "mocha": "^5.2.0", - "typedoc": "^0.12.0", + "typedoc": "^0.13.0", "typescript": "^3.1.3" }, "dependencies": { diff --git a/packages/dlogic/package.json b/packages/dlogic/package.json index 75ba4429d4..a342cfd694 100644 --- a/packages/dlogic/package.json +++ b/packages/dlogic/package.json @@ -21,10 +21,10 @@ }, "devDependencies": { "@types/mocha": "^5.2.5", - "@types/node": "^10.5.5", + "@types/node": "^10.12.0", "mocha": "^5.2.0", - "nyc": "^12.0.2", - "typedoc": "^0.11.1", + "nyc": "^13.1.0", + "typedoc": "^0.13.0", "typescript": "^3.1.3" }, "keywords": [ diff --git a/packages/dot/package.json b/packages/dot/package.json index c62feb80ec..1d53117ed1 100644 --- a/packages/dot/package.json +++ b/packages/dot/package.json @@ -21,10 +21,10 @@ }, "devDependencies": { "@types/mocha": "^5.2.5", - "@types/node": "^10.5.5", + "@types/node": "^10.12.0", "mocha": "^5.2.0", - "nyc": "^12.0.2", - "typedoc": "^0.12.0", + "nyc": "^13.1.0", + "typedoc": "^0.13.0", "typescript": "^3.1.3" }, "dependencies": { diff --git a/packages/dsp/package.json b/packages/dsp/package.json index ee199b51fa..4beeb127ee 100644 --- a/packages/dsp/package.json +++ b/packages/dsp/package.json @@ -21,10 +21,10 @@ }, "devDependencies": { "@types/mocha": "^5.2.5", - "@types/node": "^10.5.5", + "@types/node": "^10.12.0", "mocha": "^5.2.0", - "nyc": "^12.0.2", - "typedoc": "^0.11.1", + "nyc": "^13.1.0", + "typedoc": "^0.13.0", "typescript": "^3.1.3" }, "dependencies": { diff --git a/packages/equiv/package.json b/packages/equiv/package.json index 3b4a6b4f1e..8c09197451 100644 --- a/packages/equiv/package.json +++ b/packages/equiv/package.json @@ -21,11 +21,11 @@ }, "devDependencies": { "@types/mocha": "^5.2.5", - "@types/node": "^10.5.5", + "@types/node": "^10.12.0", "benchmark": "^2.1.4", "mocha": "^5.2.0", - "nyc": "^12.0.2", - "typedoc": "^0.12.0", + "nyc": "^13.1.0", + "typedoc": "^0.13.0", "typescript": "^3.1.3" }, "keywords": [ diff --git a/packages/errors/package.json b/packages/errors/package.json index 3c4833e229..b3bba72f79 100644 --- a/packages/errors/package.json +++ b/packages/errors/package.json @@ -21,10 +21,10 @@ }, "devDependencies": { "@types/mocha": "^5.2.5", - "@types/node": "^10.5.5", + "@types/node": "^10.12.0", "mocha": "^5.2.0", - "nyc": "^12.0.2", - "typedoc": "^0.12.0", + "nyc": "^13.1.0", + "typedoc": "^0.13.0", "typescript": "^3.1.3" }, "keywords": [ diff --git a/packages/geom/package.json b/packages/geom/package.json index 5b53c990f9..1fdff8a8c7 100644 --- a/packages/geom/package.json +++ b/packages/geom/package.json @@ -21,10 +21,10 @@ }, "devDependencies": { "@types/mocha": "^5.2.5", - "@types/node": "^10.5.5", + "@types/node": "^10.12.0", "mocha": "^5.2.0", - "nyc": "^12.0.2", - "typedoc": "^0.12.0", + "nyc": "^13.1.0", + "typedoc": "^0.13.0", "typescript": "^3.1.3" }, "dependencies": { diff --git a/packages/hdom-canvas/package.json b/packages/hdom-canvas/package.json index 0294bf4f8c..84166401ea 100644 --- a/packages/hdom-canvas/package.json +++ b/packages/hdom-canvas/package.json @@ -21,10 +21,10 @@ }, "devDependencies": { "@types/mocha": "^5.2.5", - "@types/node": "^10.5.5", + "@types/node": "^10.12.0", "mocha": "^5.2.0", - "nyc": "^12.0.2", - "typedoc": "^0.12.0", + "nyc": "^13.1.0", + "typedoc": "^0.13.0", "typescript": "^3.1.3" }, "dependencies": { diff --git a/packages/hdom-components/package.json b/packages/hdom-components/package.json index 882d381fef..56af20f6c1 100644 --- a/packages/hdom-components/package.json +++ b/packages/hdom-components/package.json @@ -21,10 +21,10 @@ }, "devDependencies": { "@types/mocha": "^5.2.5", - "@types/node": "^10.5.5", + "@types/node": "^10.12.0", "mocha": "^5.2.0", - "nyc": "^12.0.2", - "typedoc": "^0.12.0", + "nyc": "^13.1.0", + "typedoc": "^0.13.0", "typescript": "^3.1.3" }, "dependencies": { diff --git a/packages/hdom/package.json b/packages/hdom/package.json index de9abf0d47..b05c1c03ae 100644 --- a/packages/hdom/package.json +++ b/packages/hdom/package.json @@ -22,10 +22,10 @@ "devDependencies": { "@thi.ng/atom": "^1.5.5", "@types/mocha": "^5.2.5", - "@types/node": "^10.5.5", + "@types/node": "^10.12.0", "mocha": "^5.2.0", - "nyc": "^12.0.2", - "typedoc": "^0.12.0", + "nyc": "^13.1.0", + "typedoc": "^0.13.0", "typescript": "^3.1.3" }, "dependencies": { diff --git a/packages/heaps/package.json b/packages/heaps/package.json index 03ed445120..c6dabf4ba4 100644 --- a/packages/heaps/package.json +++ b/packages/heaps/package.json @@ -21,10 +21,10 @@ }, "devDependencies": { "@types/mocha": "^5.2.5", - "@types/node": "^10.5.5", + "@types/node": "^10.12.0", "mocha": "^5.2.0", - "nyc": "^12.0.2", - "typedoc": "^0.12.0", + "nyc": "^13.1.0", + "typedoc": "^0.13.0", "typescript": "^3.1.3" }, "dependencies": { diff --git a/packages/hiccup-css/package.json b/packages/hiccup-css/package.json index 74bc4d13de..6150b0793d 100644 --- a/packages/hiccup-css/package.json +++ b/packages/hiccup-css/package.json @@ -21,10 +21,10 @@ }, "devDependencies": { "@types/mocha": "^5.2.5", - "@types/node": "^10.5.5", + "@types/node": "^10.12.0", "mocha": "^5.2.0", - "nyc": "^12.0.2", - "typedoc": "^0.12.0", + "nyc": "^13.1.0", + "typedoc": "^0.13.0", "typescript": "^3.1.3" }, "dependencies": { diff --git a/packages/hiccup-svg/package.json b/packages/hiccup-svg/package.json index 4bc8becd80..fcb4858460 100644 --- a/packages/hiccup-svg/package.json +++ b/packages/hiccup-svg/package.json @@ -21,10 +21,10 @@ }, "devDependencies": { "@types/mocha": "^5.2.5", - "@types/node": "^10.5.5", + "@types/node": "^10.12.0", "mocha": "^5.2.0", - "nyc": "^12.0.2", - "typedoc": "^0.12.0", + "nyc": "^13.1.0", + "typedoc": "^0.13.0", "typescript": "^3.1.3" }, "dependencies": { diff --git a/packages/hiccup/package.json b/packages/hiccup/package.json index 950b2a658b..576bb1ee09 100644 --- a/packages/hiccup/package.json +++ b/packages/hiccup/package.json @@ -22,10 +22,10 @@ "devDependencies": { "@thi.ng/atom": "^1.5.5", "@types/mocha": "^5.2.5", - "@types/node": "^10.5.5", + "@types/node": "^10.12.0", "mocha": "^5.2.0", - "nyc": "^12.0.2", - "typedoc": "^0.12.0", + "nyc": "^13.1.0", + "typedoc": "^0.13.0", "typescript": "^3.1.3" }, "dependencies": { diff --git a/packages/iges/package.json b/packages/iges/package.json index f3e413f2f3..6c02fc0ff1 100644 --- a/packages/iges/package.json +++ b/packages/iges/package.json @@ -21,10 +21,10 @@ }, "devDependencies": { "@types/mocha": "^5.2.5", - "@types/node": "^10.5.5", + "@types/node": "^10.12.0", "mocha": "^5.2.0", - "nyc": "^12.0.2", - "typedoc": "^0.12.0", + "nyc": "^13.1.0", + "typedoc": "^0.13.0", "typescript": "^3.1.3" }, "dependencies": { diff --git a/packages/interceptors/package.json b/packages/interceptors/package.json index 957b402594..e8f56455ac 100644 --- a/packages/interceptors/package.json +++ b/packages/interceptors/package.json @@ -21,10 +21,10 @@ }, "devDependencies": { "@types/mocha": "^5.2.5", - "@types/node": "^10.5.5", + "@types/node": "^10.12.0", "mocha": "^5.2.0", - "nyc": "^12.0.2", - "typedoc": "^0.12.0", + "nyc": "^13.1.0", + "typedoc": "^0.13.0", "typescript": "^3.1.3" }, "dependencies": { diff --git a/packages/iterators/package.json b/packages/iterators/package.json index babf2eca14..6af6f0826a 100644 --- a/packages/iterators/package.json +++ b/packages/iterators/package.json @@ -21,10 +21,10 @@ }, "devDependencies": { "@types/mocha": "^5.2.5", - "@types/node": "^10.5.5", + "@types/node": "^10.12.0", "mocha": "^5.2.0", - "nyc": "^12.0.2", - "typedoc": "^0.12.0", + "nyc": "^13.1.0", + "typedoc": "^0.13.0", "typescript": "^3.1.3" }, "dependencies": { diff --git a/packages/math/package.json b/packages/math/package.json index 52994d49c7..d87d2736ff 100644 --- a/packages/math/package.json +++ b/packages/math/package.json @@ -21,10 +21,10 @@ }, "devDependencies": { "@types/mocha": "^5.2.5", - "@types/node": "^10.5.5", + "@types/node": "^10.12.0", "mocha": "^5.2.0", - "nyc": "^12.0.2", - "typedoc": "^0.11.1", + "nyc": "^13.1.0", + "typedoc": "^0.13.0", "typescript": "^3.1.3" }, "keywords": [ diff --git a/packages/memoize/package.json b/packages/memoize/package.json index 9b6d318dae..c6fa9d7971 100644 --- a/packages/memoize/package.json +++ b/packages/memoize/package.json @@ -21,10 +21,10 @@ }, "devDependencies": { "@types/mocha": "^5.2.5", - "@types/node": "^10.5.5", + "@types/node": "^10.12.0", "mocha": "^5.2.0", - "nyc": "^12.0.2", - "typedoc": "^0.12.0", + "nyc": "^13.1.0", + "typedoc": "^0.13.0", "typescript": "^3.1.3" }, "dependencies": { diff --git a/packages/morton/package.json b/packages/morton/package.json index 851046c6bb..5bd54e48e9 100644 --- a/packages/morton/package.json +++ b/packages/morton/package.json @@ -21,10 +21,10 @@ }, "devDependencies": { "@types/mocha": "^5.2.5", - "@types/node": "^10.5.5", + "@types/node": "^10.12.0", "mocha": "^5.2.0", - "nyc": "^12.0.2", - "typedoc": "^0.11.1", + "nyc": "^13.1.0", + "typedoc": "^0.13.0", "typescript": "^3.1.3" }, "dependencies": { diff --git a/packages/paths/package.json b/packages/paths/package.json index 6b2fa96ec4..6a700342c5 100644 --- a/packages/paths/package.json +++ b/packages/paths/package.json @@ -21,10 +21,10 @@ }, "devDependencies": { "@types/mocha": "^5.2.5", - "@types/node": "^10.5.5", + "@types/node": "^10.12.0", "mocha": "^5.2.0", - "nyc": "^12.0.2", - "typedoc": "^0.12.0", + "nyc": "^13.1.0", + "typedoc": "^0.13.0", "typescript": "^3.1.3" }, "dependencies": { diff --git a/packages/pointfree-lang/package.json b/packages/pointfree-lang/package.json index 1f079d21d9..4011286ca5 100644 --- a/packages/pointfree-lang/package.json +++ b/packages/pointfree-lang/package.json @@ -23,10 +23,10 @@ }, "devDependencies": { "@types/mocha": "^5.2.5", - "@types/node": "^10.5.5", + "@types/node": "^10.12.0", "mocha": "^5.2.0", "pegjs": "^0.10.0", - "typedoc": "^0.12.0", + "typedoc": "^0.13.0", "typescript": "^3.1.3" }, "dependencies": { diff --git a/packages/pointfree/package.json b/packages/pointfree/package.json index 4e2ab528e3..c88a00d4da 100644 --- a/packages/pointfree/package.json +++ b/packages/pointfree/package.json @@ -21,10 +21,10 @@ }, "devDependencies": { "@types/mocha": "^5.2.5", - "@types/node": "^10.5.5", + "@types/node": "^10.12.0", "mocha": "^5.2.0", - "nyc": "^12.0.2", - "typedoc": "^0.12.0", + "nyc": "^13.1.0", + "typedoc": "^0.13.0", "typescript": "^3.1.3" }, "dependencies": { diff --git a/packages/range-coder/package.json b/packages/range-coder/package.json index c2d4131f6c..40c8cf02f6 100644 --- a/packages/range-coder/package.json +++ b/packages/range-coder/package.json @@ -22,10 +22,10 @@ "devDependencies": { "@thi.ng/transducers": "^2.2.0", "@types/mocha": "^5.2.5", - "@types/node": "^10.5.5", + "@types/node": "^10.12.0", "mocha": "^5.2.0", - "nyc": "^12.0.2", - "typedoc": "^0.12.0", + "nyc": "^13.1.0", + "typedoc": "^0.13.0", "typescript": "^3.1.3" }, "dependencies": { diff --git a/packages/resolve-map/package.json b/packages/resolve-map/package.json index 836684014d..34242a47e0 100644 --- a/packages/resolve-map/package.json +++ b/packages/resolve-map/package.json @@ -20,9 +20,9 @@ }, "devDependencies": { "@types/mocha": "^5.2.5", - "@types/node": "^10.5.5", + "@types/node": "^10.12.0", "mocha": "^5.2.0", - "typedoc": "^0.12.0", + "typedoc": "^0.13.0", "typescript": "^3.1.3" }, "dependencies": { diff --git a/packages/rle-pack/package.json b/packages/rle-pack/package.json index 432a8e9b4e..d7359864dd 100644 --- a/packages/rle-pack/package.json +++ b/packages/rle-pack/package.json @@ -21,11 +21,11 @@ }, "devDependencies": { "@types/mocha": "^5.2.5", - "@types/node": "^10.5.5", + "@types/node": "^10.12.0", "benchmark": "^2.1.4", "mocha": "^5.2.0", - "nyc": "^12.0.2", - "typedoc": "^0.12.0", + "nyc": "^13.1.0", + "typedoc": "^0.13.0", "typescript": "^3.1.3" }, "dependencies": { diff --git a/packages/router/package.json b/packages/router/package.json index 63119f6d46..8ee1360c5e 100644 --- a/packages/router/package.json +++ b/packages/router/package.json @@ -20,10 +20,10 @@ }, "devDependencies": { "@types/mocha": "^5.2.5", - "@types/node": "^10.5.5", + "@types/node": "^10.12.0", "mocha": "^5.2.0", - "nyc": "^12.0.2", - "typedoc": "^0.12.0", + "nyc": "^13.1.0", + "typedoc": "^0.13.0", "typescript": "^3.1.3" }, "dependencies": { diff --git a/packages/rstream-csp/package.json b/packages/rstream-csp/package.json index 2f01fb74ef..1983b23f46 100644 --- a/packages/rstream-csp/package.json +++ b/packages/rstream-csp/package.json @@ -21,10 +21,10 @@ }, "devDependencies": { "@types/mocha": "^5.2.5", - "@types/node": "^10.5.5", + "@types/node": "^10.12.0", "mocha": "^5.2.0", - "nyc": "^12.0.2", - "typedoc": "^0.12.0", + "nyc": "^13.1.0", + "typedoc": "^0.13.0", "typescript": "^3.1.3" }, "dependencies": { diff --git a/packages/rstream-dot/package.json b/packages/rstream-dot/package.json index e3fbe247ee..5730c71caf 100644 --- a/packages/rstream-dot/package.json +++ b/packages/rstream-dot/package.json @@ -21,10 +21,10 @@ }, "devDependencies": { "@types/mocha": "^5.2.5", - "@types/node": "^10.5.5", + "@types/node": "^10.12.0", "mocha": "^5.2.0", - "nyc": "^12.0.2", - "typedoc": "^0.12.0", + "nyc": "^13.1.0", + "typedoc": "^0.13.0", "typescript": "^3.1.3" }, "dependencies": { diff --git a/packages/rstream-gestures/package.json b/packages/rstream-gestures/package.json index 6e97daeaf0..233d96ed42 100644 --- a/packages/rstream-gestures/package.json +++ b/packages/rstream-gestures/package.json @@ -21,10 +21,10 @@ }, "devDependencies": { "@types/mocha": "^5.2.5", - "@types/node": "^10.5.5", + "@types/node": "^10.12.0", "mocha": "^5.2.0", - "nyc": "^12.0.2", - "typedoc": "^0.12.0", + "nyc": "^13.1.0", + "typedoc": "^0.13.0", "typescript": "^3.1.3" }, "dependencies": { diff --git a/packages/rstream-graph/package.json b/packages/rstream-graph/package.json index f7818ec9b8..b2a1787336 100644 --- a/packages/rstream-graph/package.json +++ b/packages/rstream-graph/package.json @@ -21,10 +21,10 @@ }, "devDependencies": { "@types/mocha": "^5.2.5", - "@types/node": "^10.5.5", + "@types/node": "^10.12.0", "mocha": "^5.2.0", - "nyc": "^12.0.2", - "typedoc": "^0.12.0", + "nyc": "^13.1.0", + "typedoc": "^0.13.0", "typescript": "^3.1.3" }, "dependencies": { diff --git a/packages/rstream-log/package.json b/packages/rstream-log/package.json index 4b7e36c17e..528b7989cc 100644 --- a/packages/rstream-log/package.json +++ b/packages/rstream-log/package.json @@ -21,10 +21,10 @@ }, "devDependencies": { "@types/mocha": "^5.2.5", - "@types/node": "^10.5.5", + "@types/node": "^10.12.0", "mocha": "^5.2.0", - "nyc": "^12.0.2", - "typedoc": "^0.12.0", + "nyc": "^13.1.0", + "typedoc": "^0.13.0", "typescript": "^3.1.3" }, "dependencies": { diff --git a/packages/rstream-query/package.json b/packages/rstream-query/package.json index 2a7ef44fe3..5178d02b5c 100644 --- a/packages/rstream-query/package.json +++ b/packages/rstream-query/package.json @@ -21,10 +21,10 @@ }, "devDependencies": { "@types/mocha": "^5.2.5", - "@types/node": "^10.5.5", + "@types/node": "^10.12.0", "mocha": "^5.2.0", - "nyc": "^12.0.2", - "typedoc": "^0.12.0", + "nyc": "^13.1.0", + "typedoc": "^0.13.0", "typescript": "^3.1.3" }, "dependencies": { diff --git a/packages/rstream/package.json b/packages/rstream/package.json index 68f52cf9b5..45243d90ab 100644 --- a/packages/rstream/package.json +++ b/packages/rstream/package.json @@ -21,10 +21,10 @@ }, "devDependencies": { "@types/mocha": "^5.2.5", - "@types/node": "^10.5.5", + "@types/node": "^10.12.0", "mocha": "^5.2.0", - "nyc": "^12.0.2", - "typedoc": "^0.12.0", + "nyc": "^13.1.0", + "typedoc": "^0.13.0", "typescript": "^3.1.3" }, "dependencies": { diff --git a/packages/sax/package.json b/packages/sax/package.json index 21b7ff2c58..240afefc2b 100644 --- a/packages/sax/package.json +++ b/packages/sax/package.json @@ -21,10 +21,10 @@ }, "devDependencies": { "@types/mocha": "^5.2.5", - "@types/node": "^10.5.5", + "@types/node": "^10.12.0", "mocha": "^5.2.0", - "nyc": "^12.0.2", - "typedoc": "^0.12.0", + "nyc": "^13.1.0", + "typedoc": "^0.13.0", "typescript": "^3.1.3" }, "dependencies": { diff --git a/packages/strings/package.json b/packages/strings/package.json index db7a2c051c..3ea6fb1319 100644 --- a/packages/strings/package.json +++ b/packages/strings/package.json @@ -21,10 +21,10 @@ }, "devDependencies": { "@types/mocha": "^5.2.5", - "@types/node": "^10.5.5", + "@types/node": "^10.12.0", "mocha": "^5.2.0", - "nyc": "^12.0.2", - "typedoc": "^0.12.0", + "nyc": "^13.1.0", + "typedoc": "^0.13.0", "typescript": "^3.1.3" }, "dependencies": { diff --git a/packages/transducers-fsm/package.json b/packages/transducers-fsm/package.json index 97db80fc3a..f6664466bf 100644 --- a/packages/transducers-fsm/package.json +++ b/packages/transducers-fsm/package.json @@ -21,10 +21,10 @@ }, "devDependencies": { "@types/mocha": "^5.2.5", - "@types/node": "^10.5.5", + "@types/node": "^10.12.0", "mocha": "^5.2.0", - "nyc": "^12.0.2", - "typedoc": "^0.12.0", + "nyc": "^13.1.0", + "typedoc": "^0.13.0", "typescript": "^3.1.3" }, "dependencies": { diff --git a/packages/transducers-hdom/package.json b/packages/transducers-hdom/package.json index 60a1a26485..524810588d 100644 --- a/packages/transducers-hdom/package.json +++ b/packages/transducers-hdom/package.json @@ -21,10 +21,10 @@ }, "devDependencies": { "@types/mocha": "^5.2.5", - "@types/node": "^10.5.5", + "@types/node": "^10.12.0", "mocha": "^5.2.0", - "nyc": "^12.0.2", - "typedoc": "^0.12.0", + "nyc": "^13.1.0", + "typedoc": "^0.13.0", "typescript": "^3.1.3" }, "dependencies": { diff --git a/packages/transducers-stats/package.json b/packages/transducers-stats/package.json index 9c95005611..552561096e 100644 --- a/packages/transducers-stats/package.json +++ b/packages/transducers-stats/package.json @@ -21,10 +21,10 @@ }, "devDependencies": { "@types/mocha": "^5.2.5", - "@types/node": "^10.5.5", + "@types/node": "^10.12.0", "mocha": "^5.2.0", - "nyc": "^12.0.2", - "typedoc": "^0.12.0", + "nyc": "^13.1.0", + "typedoc": "^0.13.0", "typescript": "^3.1.3" }, "dependencies": { diff --git a/packages/transducers/package.json b/packages/transducers/package.json index 32856ec49d..b9b0990b90 100644 --- a/packages/transducers/package.json +++ b/packages/transducers/package.json @@ -21,10 +21,10 @@ }, "devDependencies": { "@types/mocha": "^5.2.5", - "@types/node": "^10.5.5", + "@types/node": "^10.12.0", "mocha": "^5.2.0", - "nyc": "^12.0.2", - "typedoc": "^0.12.0", + "nyc": "^13.1.0", + "typedoc": "^0.13.0", "typescript": "^3.1.3" }, "dependencies": { diff --git a/packages/unionstruct/package.json b/packages/unionstruct/package.json index 2bc089970b..e154720939 100644 --- a/packages/unionstruct/package.json +++ b/packages/unionstruct/package.json @@ -21,10 +21,10 @@ }, "devDependencies": { "@types/mocha": "^5.2.5", - "@types/node": "^10.5.5", + "@types/node": "^10.12.0", "mocha": "^5.2.0", - "nyc": "^12.0.2", - "typedoc": "^0.12.0", + "nyc": "^13.1.0", + "typedoc": "^0.13.0", "typescript": "^3.1.3" }, "keywords": [ diff --git a/packages/vectors/package.json b/packages/vectors/package.json index 38707269d8..285ca93401 100644 --- a/packages/vectors/package.json +++ b/packages/vectors/package.json @@ -21,11 +21,11 @@ }, "devDependencies": { "@types/mocha": "^5.2.5", - "@types/node": "^10.5.5", + "@types/node": "^10.12.0", "benchmark": "^2.1.4", "mocha": "^5.2.0", - "nyc": "^12.0.2", - "typedoc": "^0.12.0", + "nyc": "^13.1.0", + "typedoc": "^0.13.0", "typescript": "^3.1.3" }, "dependencies": { diff --git a/yarn.lock b/yarn.lock index bbf5cade6f..72d5216007 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2,13 +2,6 @@ # yarn lockfile v1 -"@babel/code-frame@7.0.0-beta.51": - version "7.0.0-beta.51" - resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.0.0-beta.51.tgz#bd71d9b192af978df915829d39d4094456439a0c" - integrity sha1-vXHZsZKvl435FYKdOdQJRFZDmgw= - dependencies: - "@babel/highlight" "7.0.0-beta.51" - "@babel/code-frame@^7.0.0": version "7.0.0" resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.0.0.tgz#06e2ab19bdb535385559aabb5ba59729482800f8" @@ -36,17 +29,6 @@ semver "^5.4.1" source-map "^0.5.0" -"@babel/generator@7.0.0-beta.51": - version "7.0.0-beta.51" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.0.0-beta.51.tgz#6c7575ffde761d07485e04baedc0392c6d9e30f6" - integrity sha1-bHV1/952HQdIXgS67cA5LG2eMPY= - dependencies: - "@babel/types" "7.0.0-beta.51" - jsesc "^2.5.1" - lodash "^4.17.5" - source-map "^0.5.0" - trim-right "^1.0.1" - "@babel/generator@^7.0.0", "@babel/generator@^7.1.2", "@babel/generator@^7.1.3": version "7.1.3" resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.1.3.tgz#2103ec9c42d9bdad9190a6ad5ff2d456fd7b8673" @@ -107,15 +89,6 @@ "@babel/traverse" "^7.1.0" "@babel/types" "^7.0.0" -"@babel/helper-function-name@7.0.0-beta.51": - version "7.0.0-beta.51" - resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.0.0-beta.51.tgz#21b4874a227cf99ecafcc30a90302da5a2640561" - integrity sha1-IbSHSiJ8+Z7K/MMKkDAtpaJkBWE= - dependencies: - "@babel/helper-get-function-arity" "7.0.0-beta.51" - "@babel/template" "7.0.0-beta.51" - "@babel/types" "7.0.0-beta.51" - "@babel/helper-function-name@^7.1.0": version "7.1.0" resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.1.0.tgz#a0ceb01685f73355d4360c1247f582bfafc8ff53" @@ -125,13 +98,6 @@ "@babel/template" "^7.1.0" "@babel/types" "^7.0.0" -"@babel/helper-get-function-arity@7.0.0-beta.51": - version "7.0.0-beta.51" - resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0-beta.51.tgz#3281b2d045af95c172ce91b20825d85ea4676411" - integrity sha1-MoGy0EWvlcFyzpGyCCXYXqRnZBE= - dependencies: - "@babel/types" "7.0.0-beta.51" - "@babel/helper-get-function-arity@^7.0.0": version "7.0.0" resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0.tgz#83572d4320e2a4657263734113c42868b64e49c3" @@ -220,13 +186,6 @@ "@babel/template" "^7.1.0" "@babel/types" "^7.0.0" -"@babel/helper-split-export-declaration@7.0.0-beta.51": - version "7.0.0-beta.51" - resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.0.0-beta.51.tgz#8a6c3f66c4d265352fc077484f9f6e80a51ab978" - integrity sha1-imw/ZsTSZTUvwHdIT59ugKUauXg= - dependencies: - "@babel/types" "7.0.0-beta.51" - "@babel/helper-split-export-declaration@^7.0.0": version "7.0.0" resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.0.0.tgz#3aae285c0311c2ab095d997b8c9a94cad547d813" @@ -253,15 +212,6 @@ "@babel/traverse" "^7.1.0" "@babel/types" "^7.1.2" -"@babel/highlight@7.0.0-beta.51": - version "7.0.0-beta.51" - resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.0.0-beta.51.tgz#e8844ae25a1595ccfd42b89623b4376ca06d225d" - integrity sha1-6IRK4loVlcz9QriWI7Q3bKBtIl0= - dependencies: - chalk "^2.0.0" - esutils "^2.0.2" - js-tokens "^3.0.0" - "@babel/highlight@^7.0.0": version "7.0.0" resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.0.0.tgz#f710c38c8d458e6dd9a201afb637fcb781ce99e4" @@ -271,11 +221,6 @@ esutils "^2.0.2" js-tokens "^4.0.0" -"@babel/parser@7.0.0-beta.51": - version "7.0.0-beta.51" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.0.0-beta.51.tgz#27cec2df409df60af58270ed8f6aa55409ea86f6" - integrity sha1-J87C30Cd9gr1gnDtj2qlVAnqhvY= - "@babel/parser@^7.0.0", "@babel/parser@^7.1.2", "@babel/parser@^7.1.3": version "7.1.3" resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.1.3.tgz#2c92469bac2b7fbff810b67fca07bd138b48af77" @@ -651,16 +596,6 @@ dependencies: regenerator-runtime "^0.12.0" -"@babel/template@7.0.0-beta.51": - version "7.0.0-beta.51" - resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.0.0-beta.51.tgz#9602a40aebcf357ae9677e2532ef5fc810f5fbff" - integrity sha1-lgKkCuvPNXrpZ34lMu9fyBD1+/8= - dependencies: - "@babel/code-frame" "7.0.0-beta.51" - "@babel/parser" "7.0.0-beta.51" - "@babel/types" "7.0.0-beta.51" - lodash "^4.17.5" - "@babel/template@^7.0.0", "@babel/template@^7.1.0", "@babel/template@^7.1.2": version "7.1.2" resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.1.2.tgz#090484a574fef5a2d2d7726a674eceda5c5b5644" @@ -670,22 +605,6 @@ "@babel/parser" "^7.1.2" "@babel/types" "^7.1.2" -"@babel/traverse@7.0.0-beta.51": - version "7.0.0-beta.51" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.0.0-beta.51.tgz#981daf2cec347a6231d3aa1d9e1803b03aaaa4a8" - integrity sha1-mB2vLOw0emIx06odnhgDsDqqpKg= - dependencies: - "@babel/code-frame" "7.0.0-beta.51" - "@babel/generator" "7.0.0-beta.51" - "@babel/helper-function-name" "7.0.0-beta.51" - "@babel/helper-split-export-declaration" "7.0.0-beta.51" - "@babel/parser" "7.0.0-beta.51" - "@babel/types" "7.0.0-beta.51" - debug "^3.1.0" - globals "^11.1.0" - invariant "^2.2.0" - lodash "^4.17.5" - "@babel/traverse@^7.0.0", "@babel/traverse@^7.1.0": version "7.1.4" resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.1.4.tgz#f4f83b93d649b4b2c91121a9087fa2fa949ec2b4" @@ -701,15 +620,6 @@ globals "^11.1.0" lodash "^4.17.10" -"@babel/types@7.0.0-beta.51": - version "7.0.0-beta.51" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.0.0-beta.51.tgz#d802b7b543b5836c778aa691797abf00f3d97ea9" - integrity sha1-2AK3tUO1g2x3iqaReXq/APPZfqk= - dependencies: - esutils "^2.0.2" - lodash "^4.17.5" - to-fast-properties "^2.0.0" - "@babel/types@^7.0.0", "@babel/types@^7.1.2", "@babel/types@^7.1.3": version "7.1.3" resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.1.3.tgz#3a767004567060c2f40fca49a304712c525ee37d" @@ -1296,13 +1206,6 @@ resolved "https://registry.yarnpkg.com/@types/events/-/events-1.2.0.tgz#81a6731ce4df43619e5c8c945383b3e62a89ea86" integrity sha512-KEIlhXnIutzKwRbQkGWb/I4HFqBuUykAdHgDED6xqwXJfONCjF5VoE0cXEiurh3XauygxzeDzgtXUqvLkxFzzA== -"@types/fs-extra@5.0.1": - version "5.0.1" - resolved "https://registry.yarnpkg.com/@types/fs-extra/-/fs-extra-5.0.1.tgz#cd856fbbdd6af2c11f26f8928fd8644c9e9616c9" - integrity sha512-h3wnflb+jMTipvbbZnClgA2BexrT4w0GcfoCz5qyxd0IRsbqhLSyesM6mqZTAnhbVmhyTm5tuxfRu9R+8l+lGw== - dependencies: - "@types/node" "*" - "@types/fs-extra@^5.0.3": version "5.0.4" resolved "https://registry.yarnpkg.com/@types/fs-extra/-/fs-extra-5.0.4.tgz#b971134d162cc0497d221adde3dbb67502225599" @@ -1319,41 +1222,21 @@ "@types/minimatch" "*" "@types/node" "*" -"@types/handlebars@4.0.36": - version "4.0.36" - resolved "https://registry.yarnpkg.com/@types/handlebars/-/handlebars-4.0.36.tgz#ff57c77fa1ab6713bb446534ddc4d979707a3a79" - integrity sha512-LjNiTX7TY7wtuC6y3QwC93hKMuqYhgV9A1uXBKNvZtVC8ZvyWAjZkJ5BvT0K7RKqORRYRLMrqCxpw5RgS+MdrQ== - "@types/handlebars@^4.0.38": version "4.0.39" resolved "https://registry.yarnpkg.com/@types/handlebars/-/handlebars-4.0.39.tgz#961fb54db68030890942e6aeffe9f93a957807bd" integrity sha512-vjaS7Q0dVqFp85QhyPSZqDKnTTCemcSHNHFvDdalO1s0Ifz5KuE64jQD5xoUkfdWwF4WpqdJEl7LsWH8rzhKJA== -"@types/highlight.js@9.12.2": - version "9.12.2" - resolved "https://registry.yarnpkg.com/@types/highlight.js/-/highlight.js-9.12.2.tgz#6ee7cd395effe5ec80b515d3ff1699068cd0cd1d" - integrity sha512-y5x0XD/WXDaGSyiTaTcKS4FurULJtSiYbGTeQd0m2LYZGBcZZ/7fM6t5H/DzeUF+kv8y6UfmF6yJABQsHcp9VQ== - "@types/highlight.js@^9.12.3": version "9.12.3" resolved "https://registry.yarnpkg.com/@types/highlight.js/-/highlight.js-9.12.3.tgz#b672cfaac25cbbc634a0fd92c515f66faa18dbca" integrity sha512-pGF/zvYOACZ/gLGWdQH8zSwteQS1epp68yRcVLJMgUck/MjEn/FBYmPub9pXT8C1e4a8YZfHo1CKyV8q1vKUnQ== -"@types/lodash@4.14.104": - version "4.14.104" - resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.104.tgz#53ee2357fa2e6e68379341d92eb2ecea4b11bb80" - integrity sha512-ufQcVg4daO8xQ5kopxRHanqFdL4AI7ondQkV+2f+7mz3gvp0LkBx2zBRC6hfs3T87mzQFmf5Fck7Fi145Ul6NQ== - "@types/lodash@^4.14.110": version "4.14.117" resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.117.tgz#695a7f514182771a1e0f4345d189052ee33c8778" integrity sha512-xyf2m6tRbz8qQKcxYZa7PA4SllYcay+eh25DN3jmNYY6gSTL7Htc/bttVdkqj2wfJGbeWlQiX8pIyJpKU+tubw== -"@types/marked@0.3.0": - version "0.3.0" - resolved "https://registry.yarnpkg.com/@types/marked/-/marked-0.3.0.tgz#583c223dd33385a1dda01aaf77b0cd0411c4b524" - integrity sha512-CSf9YWJdX1DkTNu9zcNtdCcn6hkRtB5ILjbhRId4ZOQqx30fXmdecuaXhugQL6eyrhuXtaHJ7PHI+Vm7k9ZJjg== - "@types/marked@^0.4.0": version "0.4.2" resolved "https://registry.yarnpkg.com/@types/marked/-/marked-0.4.2.tgz#64a89e53ea37f61cc0f3ee1732c555c2dbf6452f" @@ -1369,7 +1252,7 @@ resolved "https://registry.yarnpkg.com/@types/mocha/-/mocha-5.2.5.tgz#8a4accfc403c124a0bafe8a9fc61a05ec1032073" integrity sha512-lAVp+Kj54ui/vLUFxsJTMtWvZraZxum3w3Nwkble2dNuV5VnPA+Mi2oGX9XYJAaIvZi3tn3cbjS/qcJXRb6Bww== -"@types/node@*", "@types/node@^10.11.7", "@types/node@^10.5.5": +"@types/node@*", "@types/node@^10.11.7", "@types/node@^10.12.0": version "10.12.0" resolved "https://registry.yarnpkg.com/@types/node/-/node-10.12.0.tgz#ea6dcbddbc5b584c83f06c60e82736d8fbb0c235" integrity sha512-3TUHC3jsBAB7qVRGxT6lWyYo2v96BMmD2PTcl47H25Lu7UXtFH/2qqmKiVrnel6Ne//0TFYf6uvNX+HW2FRkLQ== @@ -1379,14 +1262,6 @@ resolved "https://registry.yarnpkg.com/@types/semver/-/semver-5.5.0.tgz#146c2a29ee7d3bae4bf2fcb274636e264c813c45" integrity sha512-41qEJgBH/TWgo5NFSvBCJ1qkoi3Q6ONSF2avrHq1LVEZfYpdHmj0y9SuTK+u9ZhG1sYQKBL1AWXKyLWP4RaUoQ== -"@types/shelljs@0.7.8": - version "0.7.8" - resolved "https://registry.yarnpkg.com/@types/shelljs/-/shelljs-0.7.8.tgz#4b4d6ee7926e58d7bca448a50ba442fd9f6715bd" - integrity sha512-M2giRw93PxKS7YjU6GZjtdV9HASdB7TWqizBXe4Ju7AqbKlWvTr0gNO92XH56D/gMxqD/jNHLNfC5hA34yGqrQ== - dependencies: - "@types/glob" "*" - "@types/node" "*" - "@types/shelljs@^0.8.0": version "0.8.0" resolved "https://registry.yarnpkg.com/@types/shelljs/-/shelljs-0.8.0.tgz#0caa56b68baae4f68f44e0dd666ab30b098e3632" @@ -1489,12 +1364,12 @@ anymatch@^2.0.0: micromatch "^3.1.4" normalize-path "^2.1.1" -append-transform@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/append-transform/-/append-transform-0.4.0.tgz#d76ebf8ca94d276e247a36bad44a4b74ab611991" - integrity sha1-126/jKlNJ24keja61EpLdKthGZE= +append-transform@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/append-transform/-/append-transform-1.0.0.tgz#046a52ae582a228bd72f58acfbe2967c678759ab" + integrity sha512-P009oYkeHyU742iSZJzZZywj4QRJdnTWffaKuJQLablCZ1uz6/cW4yaRgcDaoQ+uwOxxnt0gRUcwfsNP2ri0gw== dependencies: - default-require-extensions "^1.0.0" + default-require-extensions "^2.0.0" aproba@^1.0.3, aproba@^1.1.1: version "1.2.0" @@ -1526,19 +1401,12 @@ argparse@^1.0.7: dependencies: sprintf-js "~1.0.2" -arr-diff@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-2.0.0.tgz#8f3b827f955a8bd669697e4a4256ac3ceae356cf" - integrity sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8= - dependencies: - arr-flatten "^1.0.1" - arr-diff@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-4.0.0.tgz#d6461074febfec71e7e15235761a329a5dc7c520" integrity sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA= -arr-flatten@^1.0.1, arr-flatten@^1.1.0: +arr-flatten@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.1.0.tgz#36048bbff4e7b47e136644316c99669ea5ae91f1" integrity sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg== @@ -1575,11 +1443,6 @@ array-uniq@^1.0.1: resolved "https://registry.yarnpkg.com/array-uniq/-/array-uniq-1.0.3.tgz#af6ac877a25cc7f74e058894753858dfdb24fdb6" integrity sha1-r2rId6Jcx/dOBYiUdThY39sk/bY= -array-unique@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.2.1.tgz#a1d97ccafcbc2625cc70fadceb36a50c58b01a53" - integrity sha1-odl8yvy8JiXMcPrc6zalDFiwGlM= - array-unique@^0.3.2: version "0.3.2" resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428" @@ -1796,15 +1659,6 @@ brace-expansion@^1.1.7: balanced-match "^1.0.0" concat-map "0.0.1" -braces@^1.8.2: - version "1.8.5" - resolved "https://registry.yarnpkg.com/braces/-/braces-1.8.5.tgz#ba77962e12dff969d6b76711e914b737857bf6a7" - integrity sha1-uneWLhLf+WnWt2cR6RS3N4V79qc= - dependencies: - expand-range "^1.8.1" - preserve "^0.2.0" - repeat-element "^1.1.2" - braces@^2.3.0, braces@^2.3.1: version "2.3.2" resolved "https://registry.yarnpkg.com/braces/-/braces-2.3.2.tgz#5979fd3f14cd531565e5fa2df1abfff1dfaee729" @@ -2001,14 +1855,15 @@ cache-base@^1.0.1: union-value "^1.0.0" unset-value "^1.0.0" -caching-transform@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/caching-transform/-/caching-transform-1.0.1.tgz#6dbdb2f20f8d8fbce79f3e94e9d1742dcdf5c0a1" - integrity sha1-bb2y8g+Nj7znnz6U6dF0Lc31wKE= +caching-transform@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/caching-transform/-/caching-transform-2.0.0.tgz#e1292bd92d35b6e8b1ed7075726724b3bd64eea0" + integrity sha512-tTfemGmFWe7KZ3KN6VsSgQZbd9Bgo7A40wlp4PTsJJvFu4YAnEC5YnfdiKq6Vh2i9XJLnA9n8OXD46orVpnPMw== dependencies: - md5-hex "^1.2.0" - mkdirp "^0.5.1" - write-file-atomic "^1.1.4" + make-dir "^1.0.0" + md5-hex "^2.0.0" + package-hash "^2.0.0" + write-file-atomic "^2.0.0" call-me-maybe@^1.0.1: version "1.0.1" @@ -2477,7 +2332,7 @@ conventional-recommended-bump@^4.0.1: meow "^4.0.0" q "^1.5.1" -convert-source-map@^1.1.0, convert-source-map@^1.5.1: +convert-source-map@^1.1.0, convert-source-map@^1.5.1, convert-source-map@^1.6.0: version "1.6.0" resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.6.0.tgz#51b537a8c43e0f04dec1993bffcdd504e758ac20" integrity sha512-eFu7XigvxdZ1ETfbgPBohgyQ/Z++C0eEhTor0qRwBw9unw+L0/6V8wkSuGgzdThkiS5lSpdptOQPD8Ak40a+7A== @@ -2891,12 +2746,12 @@ deep-is@~0.1.3: resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34" integrity sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ= -default-require-extensions@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/default-require-extensions/-/default-require-extensions-1.0.0.tgz#f37ea15d3e13ffd9b437d33e1a75b5fb97874cb8" - integrity sha1-836hXT4T/9m0N9M+GnW1+5eHTLg= +default-require-extensions@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/default-require-extensions/-/default-require-extensions-2.0.0.tgz#f5f8fbb18a7d6d50b21f641f649ebb522cfe24f7" + integrity sha1-9fj7sYp9bVCyH2QfZJ67Uiz+JPc= dependencies: - strip-bom "^2.0.0" + strip-bom "^3.0.0" defaults@^1.0.3: version "1.0.3" @@ -3190,6 +3045,11 @@ es-to-primitive@^1.1.1: is-date-object "^1.0.1" is-symbol "^1.0.2" +es6-error@^4.0.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/es6-error/-/es6-error-4.1.1.tgz#9e3af407459deed47e9a91f9b885a84eb05c561d" + integrity sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg== + es6-promise@^4.0.3: version "4.2.5" resolved "https://registry.yarnpkg.com/es6-promise/-/es6-promise-4.2.5.tgz#da6d0d5692efb461e082c14817fe2427d8f5d054" @@ -3318,13 +3178,6 @@ execa@^1.0.0: signal-exit "^3.0.0" strip-eof "^1.0.0" -expand-brackets@^0.1.4: - version "0.1.5" - resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-0.1.5.tgz#df07284e342a807cd733ac5af72411e581d1177b" - integrity sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s= - dependencies: - is-posix-bracket "^0.1.0" - expand-brackets@^2.1.4: version "2.1.4" resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-2.1.4.tgz#b77735e315ce30f6b6eff0f83b04151a22449622" @@ -3338,13 +3191,6 @@ expand-brackets@^2.1.4: snapdragon "^0.8.1" to-regex "^3.0.1" -expand-range@^1.8.1: - version "1.8.2" - resolved "https://registry.yarnpkg.com/expand-range/-/expand-range-1.8.2.tgz#a299effd335fe2721ebae8e257ec79644fc85337" - integrity sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc= - dependencies: - fill-range "^2.1.0" - extend-shallow@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-2.0.1.tgz#51af7d614ad9a9f610ea1bafbb989d6b1c56890f" @@ -3374,13 +3220,6 @@ external-editor@^3.0.0: iconv-lite "^0.4.24" tmp "^0.0.33" -extglob@^0.3.1: - version "0.3.2" - resolved "https://registry.yarnpkg.com/extglob/-/extglob-0.3.2.tgz#2e18ff3d2f49ab2765cec9023f011daa8d8349a1" - integrity sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE= - dependencies: - is-extglob "^1.0.0" - extglob@^2.0.4: version "2.0.4" resolved "https://registry.yarnpkg.com/extglob/-/extglob-2.0.4.tgz#ad00fe4dc612a9232e8718711dc5cb5ab0285543" @@ -3454,27 +3293,11 @@ figures@^2.0.0: dependencies: escape-string-regexp "^1.0.5" -filename-regex@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/filename-regex/-/filename-regex-2.0.1.tgz#c1c4b9bee3e09725ddb106b75c1e301fe2f18b26" - integrity sha1-wcS5vuPglyXdsQa3XB4wH+LxiyY= - filesize@^3.6.0: version "3.6.1" resolved "https://registry.yarnpkg.com/filesize/-/filesize-3.6.1.tgz#090bb3ee01b6f801a8a8be99d31710b3422bb317" integrity sha512-7KjR1vv6qnicaPMi1iiTcI85CyYwRO/PSFCu6SvqL8jN2Wjt/NIYQTFtFs7fSDCYOstUkEWIQGFUg5YZQfjlcg== -fill-range@^2.1.0: - version "2.2.4" - resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-2.2.4.tgz#eb1e773abb056dcd8df2bfdf6af59b8b3a936565" - integrity sha512-cnrcCbj01+j2gTG921VZPnHbjmdAf8oQV/iGeV2kZxGSyfYjjTyY79ErsK1WJWMpw6DaApEX72binqJE+/d+5Q== - dependencies: - is-number "^2.1.0" - isobject "^2.0.0" - randomatic "^3.0.0" - repeat-element "^1.1.2" - repeat-string "^1.5.2" - fill-range@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-4.0.0.tgz#d544811d428f98eb06a63dc402d2403c328c38f7" @@ -3485,14 +3308,14 @@ fill-range@^4.0.0: repeat-string "^1.6.1" to-regex-range "^2.1.0" -find-cache-dir@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-0.1.1.tgz#c8defae57c8a52a8a784f9e31c57c742e993a0b9" - integrity sha1-yN765XyKUqinhPnjHFfHQumToLk= +find-cache-dir@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-2.0.0.tgz#4c1faed59f45184530fb9d7fa123a4d04a98472d" + integrity sha512-LDUY6V1Xs5eFskUVYtIwatojt6+9xC9Chnlk/jYOOvn3FAFfSaWddxahDGyNHh0b2dMXa6YW2m0tk8TdVaXHlA== dependencies: commondir "^1.0.1" - mkdirp "^0.5.1" - pkg-dir "^1.0.0" + make-dir "^1.0.0" + pkg-dir "^3.0.0" find-up@^1.0.0: version "1.1.2" @@ -3529,24 +3352,17 @@ flush-write-stream@^1.0.0: inherits "^2.0.1" readable-stream "^2.0.4" -for-in@^1.0.1, for-in@^1.0.2: +for-in@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80" integrity sha1-gQaNKVqBQuwKxybG4iAMMPttXoA= -for-own@^0.1.4: - version "0.1.5" - resolved "https://registry.yarnpkg.com/for-own/-/for-own-0.1.5.tgz#5265c681a4f294dabbf17c9509b6763aa84510ce" - integrity sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4= - dependencies: - for-in "^1.0.1" - foreach@^2.0.5: version "2.0.5" resolved "https://registry.yarnpkg.com/foreach/-/foreach-2.0.5.tgz#0bee005018aeb260d0a3af3ae658dd0136ec1b99" integrity sha1-C+4AUBiusmDQo6865ljdATbsG5k= -foreground-child@^1.5.3, foreground-child@^1.5.6: +foreground-child@^1.5.6: version "1.5.6" resolved "https://registry.yarnpkg.com/foreground-child/-/foreground-child-1.5.6.tgz#4fd71ad2dfde96789b980a5c0a295937cb2f5ce9" integrity sha1-T9ca0t/elnibmApcCilZN8svXOk= @@ -3588,15 +3404,6 @@ from2@^2.1.0: inherits "^2.0.1" readable-stream "^2.0.0" -fs-extra@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-5.0.0.tgz#414d0110cdd06705734d055652c5411260c31abd" - integrity sha512-66Pm4RYbjzdyeuqudYqhFiNBbCIuI9kgRqLPSHIlXHidW8NIQtVdkM1yeZ4lXwuhbTETv3EUGMNHAAw6hiundQ== - dependencies: - graceful-fs "^4.1.2" - jsonfile "^4.0.0" - universalify "^0.1.0" - fs-extra@^7.0.0: version "7.0.0" resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-7.0.0.tgz#8cc3f47ce07ef7b3593a11b9fb245f7e34c041d6" @@ -3761,21 +3568,6 @@ gitconfiglocal@^1.0.0: dependencies: ini "^1.3.2" -glob-base@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/glob-base/-/glob-base-0.3.0.tgz#dbb164f6221b1c0b1ccf82aea328b497df0ea3c4" - integrity sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q= - dependencies: - glob-parent "^2.0.0" - is-glob "^2.0.0" - -glob-parent@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-2.0.0.tgz#81383d72db054fcccf5336daa902f182f6edbb28" - integrity sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg= - dependencies: - is-glob "^2.0.0" - glob-parent@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-3.1.0.tgz#9e6af6299d8d3bd2bd40430832bd113df906c5ae" @@ -3801,7 +3593,7 @@ glob@7.1.2: once "^1.3.0" path-is-absolute "^1.0.0" -glob@^7.0.0, glob@^7.0.3, glob@^7.0.5, glob@^7.0.6, glob@^7.1.1, glob@^7.1.2: +glob@^7.0.0, glob@^7.0.3, glob@^7.0.5, glob@^7.1.1, glob@^7.1.2, glob@^7.1.3: version "7.1.3" resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.3.tgz#3960832d3f1574108342dafd3a67b332c0969df1" integrity sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ== @@ -3849,7 +3641,7 @@ growl@1.10.5: resolved "https://registry.yarnpkg.com/growl/-/growl-1.10.5.tgz#f2735dc2283674fa67478b10181059355c369e5e" integrity sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA== -handlebars@^4.0.2, handlebars@^4.0.3, handlebars@^4.0.6: +handlebars@^4.0.11, handlebars@^4.0.2, handlebars@^4.0.6: version "4.0.12" resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.0.12.tgz#2c15c8a96d46da5e266700518ba8cb8d919d5bc5" integrity sha512-RhmTekP+FZL+XNhwS1Wf+bTTZpdLougwt5pcgA1tuz6Jcx0fpH/7z0qd71RKnZHBCxIRBHfBOnio4gViPemNzA== @@ -4199,7 +3991,7 @@ interpret@^1.0.0: resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.1.0.tgz#7ed1b1410c6a0e0f78cf95d3b8440c63f78b8614" integrity sha1-ftGxQQxqDg94z5XTuEQMY/eLhhQ= -invariant@^2.2.0, invariant@^2.2.2: +invariant@^2.2.2: version "2.2.4" resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.4.tgz#610f3c92c9359ce1db616e538008d23ff35158e6" integrity sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA== @@ -4335,18 +4127,6 @@ is-directory@^0.3.1: resolved "https://registry.yarnpkg.com/is-directory/-/is-directory-0.3.1.tgz#61339b6f2475fc772fd9c9d83f5c8575dc154ae1" integrity sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE= -is-dotfile@^1.0.0: - version "1.0.3" - resolved "https://registry.yarnpkg.com/is-dotfile/-/is-dotfile-1.0.3.tgz#a6a2f32ffd2dfb04f5ca25ecd0f6b83cf798a1e1" - integrity sha1-pqLzL/0t+wT1yiXs0Pa4PPeYoeE= - -is-equal-shallow@^0.1.3: - version "0.1.3" - resolved "https://registry.yarnpkg.com/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz#2238098fc221de0bcfa5d9eac4c45d638aa1c534" - integrity sha1-IjgJj8Ih3gvPpdnqxMRdY4qhxTQ= - dependencies: - is-primitive "^2.0.0" - is-extendable@^0.1.0, is-extendable@^0.1.1: version "0.1.1" resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" @@ -4359,11 +4139,6 @@ is-extendable@^1.0.1: dependencies: is-plain-object "^2.0.4" -is-extglob@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-1.0.0.tgz#ac468177c4943405a092fc8f29760c6ffc6206c0" - integrity sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA= - is-extglob@^2.1.0, is-extglob@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" @@ -4388,13 +4163,6 @@ is-fullwidth-code-point@^2.0.0: resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" integrity sha1-o7MKXE8ZkYMWeqq5O+764937ZU8= -is-glob@^2.0.0, is-glob@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-2.0.1.tgz#d096f926a3ded5600f3fdfd91198cb0888c2d863" - integrity sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM= - dependencies: - is-extglob "^1.0.0" - is-glob@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-3.1.0.tgz#7ba5ae24217804ac70707b96922567486cc3e84a" @@ -4409,13 +4177,6 @@ is-glob@^4.0.0: dependencies: is-extglob "^2.1.1" -is-number@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/is-number/-/is-number-2.1.0.tgz#01fcbbb393463a548f2f466cce16dece49db908f" - integrity sha1-Afy7s5NGOlSPL0ZszhbezknbkI8= - dependencies: - kind-of "^3.0.2" - is-number@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195" @@ -4423,11 +4184,6 @@ is-number@^3.0.0: dependencies: kind-of "^3.0.2" -is-number@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/is-number/-/is-number-4.0.0.tgz#0026e37f5454d73e356dfe6564699867c6a7f0ff" - integrity sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ== - is-obj@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-1.0.1.tgz#3e4729ac1f5fde025cd7d83a896dab9f4f67db0f" @@ -4445,16 +4201,6 @@ is-plain-object@^2.0.1, is-plain-object@^2.0.3, is-plain-object@^2.0.4: dependencies: isobject "^3.0.1" -is-posix-bracket@^0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz#3334dc79774368e92f016e6fbc0a88f5cd6e6bc4" - integrity sha1-MzTceXdDaOkvAW5vvAqI9c1ua8Q= - -is-primitive@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/is-primitive/-/is-primitive-2.0.0.tgz#207bab91638499c07b2adf240a41a87210034575" - integrity sha1-IHurkWOEmcB7Kt8kCkGochADRXU= - is-promise@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/is-promise/-/is-promise-2.1.0.tgz#79a2a9ece7f096e80f36d2b2f3bc16c1ff4bf3fa" @@ -4567,63 +4313,57 @@ isstream@~0.1.2: resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" integrity sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo= -istanbul-lib-coverage@^1.2.0, istanbul-lib-coverage@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-1.2.1.tgz#ccf7edcd0a0bb9b8f729feeb0930470f9af664f0" - integrity sha512-PzITeunAgyGbtY1ibVIUiV679EFChHjoMNRibEIobvmrCRaIgwLxNucOSimtNWUhEib/oO7QY2imD75JVgCJWQ== - istanbul-lib-coverage@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.1.tgz#2aee0e073ad8c5f6a0b00e0dfbf52b4667472eda" integrity sha512-nPvSZsVlbG9aLhZYaC3Oi1gT/tpyo3Yt5fNyf6NmcKIayz4VV/txxJFFKAK/gU4dcNn8ehsanBbVHVl0+amOLA== -istanbul-lib-hook@^1.1.0: - version "1.2.2" - resolved "https://registry.yarnpkg.com/istanbul-lib-hook/-/istanbul-lib-hook-1.2.2.tgz#bc6bf07f12a641fbf1c85391d0daa8f0aea6bf86" - integrity sha512-/Jmq7Y1VeHnZEQ3TL10VHyb564mn6VrQXHchON9Jf/AEcmQ3ZIiyD1BVzNOKTZf/G3gE+kiGK6SmpF9y3qGPLw== +istanbul-lib-hook@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/istanbul-lib-hook/-/istanbul-lib-hook-2.0.1.tgz#918a57b75a0f951d552a08487ca1fa5336433d72" + integrity sha512-ufiZoiJ8CxY577JJWEeFuxXZoMqiKpq/RqZtOAYuQLvlkbJWscq9n3gc4xrCGH9n4pW0qnTxOz1oyMmVtk8E1w== dependencies: - append-transform "^0.4.0" + append-transform "^1.0.0" -istanbul-lib-instrument@^2.1.0: - version "2.3.2" - resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-2.3.2.tgz#b287cbae2b5f65f3567b05e2e29b275eaf92d25e" - integrity sha512-l7TD/VnBsIB2OJvSyxaLW/ab1+92dxZNH9wLH7uHPPioy3JZ8tnx2UXUdKmdkgmP2EFPzg64CToUP6dAS3U32Q== - dependencies: - "@babel/generator" "7.0.0-beta.51" - "@babel/parser" "7.0.0-beta.51" - "@babel/template" "7.0.0-beta.51" - "@babel/traverse" "7.0.0-beta.51" - "@babel/types" "7.0.0-beta.51" +istanbul-lib-instrument@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-3.0.0.tgz#b5f066b2a161f75788be17a9d556f40a0cf2afc9" + integrity sha512-eQY9vN9elYjdgN9Iv6NS/00bptm02EBBk70lRMaVjeA6QYocQgenVrSgC28TJurdnZa80AGO3ASdFN+w/njGiQ== + dependencies: + "@babel/generator" "^7.0.0" + "@babel/parser" "^7.0.0" + "@babel/template" "^7.0.0" + "@babel/traverse" "^7.0.0" + "@babel/types" "^7.0.0" istanbul-lib-coverage "^2.0.1" semver "^5.5.0" -istanbul-lib-report@^1.1.3: - version "1.1.5" - resolved "https://registry.yarnpkg.com/istanbul-lib-report/-/istanbul-lib-report-1.1.5.tgz#f2a657fc6282f96170aaf281eb30a458f7f4170c" - integrity sha512-UsYfRMoi6QO/doUshYNqcKJqVmFe9w51GZz8BS3WB0lYxAllQYklka2wP9+dGZeHYaWIdcXUx8JGdbqaoXRXzw== +istanbul-lib-report@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/istanbul-lib-report/-/istanbul-lib-report-2.0.2.tgz#430a2598519113e1da7af274ba861bd42dd97535" + integrity sha512-rJ8uR3peeIrwAxoDEbK4dJ7cqqtxBisZKCuwkMtMv0xYzaAnsAi3AHrHPAAtNXzG/bcCgZZ3OJVqm1DTi9ap2Q== dependencies: - istanbul-lib-coverage "^1.2.1" - mkdirp "^0.5.1" - path-parse "^1.0.5" - supports-color "^3.1.2" + istanbul-lib-coverage "^2.0.1" + make-dir "^1.3.0" + supports-color "^5.4.0" -istanbul-lib-source-maps@^1.2.5: - version "1.2.6" - resolved "https://registry.yarnpkg.com/istanbul-lib-source-maps/-/istanbul-lib-source-maps-1.2.6.tgz#37b9ff661580f8fca11232752ee42e08c6675d8f" - integrity sha512-TtbsY5GIHgbMsMiRw35YBHGpZ1DVFEO19vxxeiDMYaeOFOCzfnYVxvl6pOUIZR4dtPhAGpSMup8OyF8ubsaqEg== +istanbul-lib-source-maps@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/istanbul-lib-source-maps/-/istanbul-lib-source-maps-2.0.1.tgz#ce8b45131d8293fdeaa732f4faf1852d13d0a97e" + integrity sha512-30l40ySg+gvBLcxTrLzR4Z2XTRj3HgRCA/p2rnbs/3OiTaoj054gAbuP5DcLOtwqmy4XW8qXBHzrmP2/bQ9i3A== dependencies: debug "^3.1.0" - istanbul-lib-coverage "^1.2.1" - mkdirp "^0.5.1" - rimraf "^2.6.1" - source-map "^0.5.3" + istanbul-lib-coverage "^2.0.1" + make-dir "^1.3.0" + rimraf "^2.6.2" + source-map "^0.6.1" -istanbul-reports@^1.4.1: - version "1.5.1" - resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-1.5.1.tgz#97e4dbf3b515e8c484caea15d6524eebd3ff4e1a" - integrity sha512-+cfoZ0UXzWjhAdzosCPP3AN8vvef8XDkWtTfgaN+7L3YTpNYITnCaEkceo5SEYy644VkHka/P1FvkWvrG/rrJw== +istanbul-reports@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-2.0.1.tgz#fb8d6ea850701a3984350b977a969e9a556116a7" + integrity sha512-CT0QgMBJqs6NJLF678ZHcquUAZIoBIUNzdJrRJfpkI9OnzG6MkUfHxbJC3ln981dMswC7/B1mfX3LNkhgJxsuw== dependencies: - handlebars "^4.0.3" + handlebars "^4.0.11" js-base64@^2.1.9: version "2.4.9" @@ -4645,16 +4385,16 @@ js-levenshtein@^1.1.3: resolved "https://registry.yarnpkg.com/js-levenshtein/-/js-levenshtein-1.1.4.tgz#3a56e3cbf589ca0081eb22cd9ba0b1290a16d26e" integrity sha512-PxfGzSs0ztShKrUYPIn5r0MtyAhYcCwmndozzpz8YObbPnD1jFxzlBGbRnX2mIu6Z13xN6+PTu05TQFnZFlzow== -js-tokens@^3.0.0, js-tokens@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.2.tgz#9866df395102130e38f7f996bceb65443209c25b" - integrity sha1-mGbfOVECEw449/mWvOtlRDIJwls= - "js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== +js-tokens@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.2.tgz#9866df395102130e38f7f996bceb65443209c25b" + integrity sha1-mGbfOVECEw449/mWvOtlRDIJwls= + js-yaml@^3.10.0, js-yaml@^3.12.0, js-yaml@^3.7.0, js-yaml@^3.9.0: version "3.12.0" resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.12.0.tgz#eaed656ec8344f10f527c6bfa1b6e2244de167d1" @@ -4871,6 +4611,11 @@ lodash.debounce@^4.0.8: resolved "https://registry.yarnpkg.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz#82d79bff30a67c4005ffd5e2515300ad9ca4d7af" integrity sha1-gteb/zCmfEAF/9XiUVMArZyk168= +lodash.flattendeep@^4.4.0: + version "4.4.0" + resolved "https://registry.yarnpkg.com/lodash.flattendeep/-/lodash.flattendeep-4.4.0.tgz#fb030917f86a3134e5bc9bec0d69e0013ddfedb2" + integrity sha1-+wMJF/hqMTTlvJvsDWngAT3f7bI= + lodash.memoize@^4.1.2: version "4.1.2" resolved "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-4.1.2.tgz#bcc6c49a42a2840ed997f323eada5ecd182e0bfe" @@ -4943,7 +4688,7 @@ magic-string@^0.22.4: dependencies: vlq "^0.2.2" -make-dir@^1.0.0: +make-dir@^1.0.0, make-dir@^1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-1.3.0.tgz#79c1033b80515bd6d24ec9933e860ca75ee27f0c" integrity sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ== @@ -4996,11 +4741,6 @@ map-visit@^1.0.0: dependencies: object-visit "^1.0.0" -marked@^0.3.17: - version "0.3.19" - resolved "https://registry.yarnpkg.com/marked/-/marked-0.3.19.tgz#5d47f709c4c9fc3c216b6d46127280f40b39d790" - integrity sha512-ea2eGWOqNxPcXv8dyERdSr/6FmzvWwzjMxpfGB/sbMccXoct+xY+YukPD+QTUZwyvK7BZwcr4m21WBOW41pAkg== - marked@^0.4.0: version "0.4.0" resolved "https://registry.yarnpkg.com/marked/-/marked-0.4.0.tgz#9ad2c2a7a1791f10a852e0112f77b571dce10c66" @@ -5011,15 +4751,10 @@ math-expression-evaluator@^1.2.14: resolved "https://registry.yarnpkg.com/math-expression-evaluator/-/math-expression-evaluator-1.2.17.tgz#de819fdbcd84dccd8fae59c6aeb79615b9d266ac" integrity sha1-3oGf282E3M2PrlnGrreWFbnSZqw= -math-random@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/math-random/-/math-random-1.0.1.tgz#8b3aac588b8a66e4975e3cdea67f7bb329601fac" - integrity sha1-izqsWIuKZuSXXjzepn97sylgH6w= - -md5-hex@^1.2.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/md5-hex/-/md5-hex-1.3.0.tgz#d2c4afe983c4370662179b8cad145219135046c4" - integrity sha1-0sSv6YPENwZiF5uMrRRSGRNQRsQ= +md5-hex@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/md5-hex/-/md5-hex-2.0.0.tgz#d0588e9f1c74954492ecd24ac0ac6ce997d92e33" + integrity sha1-0FiOnxx0lUSS7NJKwKxs6ZfZLjM= dependencies: md5-o-matic "^0.1.1" @@ -5108,25 +4843,6 @@ merge2@^1.2.1: resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.2.3.tgz#7ee99dbd69bb6481689253f018488a1b902b0ed5" integrity sha512-gdUU1Fwj5ep4kplwcmftruWofEFt6lfpkkr3h860CXbAB9c3hGb55EOL2ali0Td5oebvW0E1+3Sr+Ur7XfKpRA== -micromatch@^2.3.11: - version "2.3.11" - resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-2.3.11.tgz#86677c97d1720b363431d04d0d15293bd38c1565" - integrity sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU= - dependencies: - arr-diff "^2.0.0" - array-unique "^0.2.1" - braces "^1.8.2" - expand-brackets "^0.1.4" - extglob "^0.3.1" - filename-regex "^2.0.0" - is-extglob "^1.0.0" - is-glob "^2.0.1" - kind-of "^3.0.2" - normalize-path "^2.0.1" - object.omit "^2.0.0" - parse-glob "^3.0.4" - regex-cache "^0.4.2" - micromatch@^3.0.4, micromatch@^3.1.10, micromatch@^3.1.4: version "3.1.10" resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.10.tgz#70859bc95c9840952f359a068a3fc49f9ecfac23" @@ -5466,7 +5182,7 @@ normalize-package-data@^2.0.0, normalize-package-data@^2.3.0, normalize-package- semver "2 || 3 || 4 || 5" validate-npm-package-license "^3.0.1" -normalize-path@^2.0.1, normalize-path@^2.1.1: +normalize-path@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9" integrity sha1-GrKLVW4Zg2Oowab35vogE3/mrtk= @@ -5584,38 +5300,36 @@ number-is-nan@^1.0.0: resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d" integrity sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0= -nyc@^12.0.2: - version "12.0.2" - resolved "https://registry.yarnpkg.com/nyc/-/nyc-12.0.2.tgz#8a4a4ed690966c11ec587ff87eea0c12c974ba99" - integrity sha1-ikpO1pCWbBHsWH/4fuoMEsl0upk= +nyc@^13.1.0: + version "13.1.0" + resolved "https://registry.yarnpkg.com/nyc/-/nyc-13.1.0.tgz#463665c7ff6b5798e322624a5eb449a678db90e3" + integrity sha512-3GyY6TpQ58z9Frpv4GMExE1SV2tAgYqC7HSy2omEhNiCT3mhT9NyiOvIE8zkbuJVFzmvvNTnE4h/7/wQae7xLg== dependencies: archy "^1.0.0" arrify "^1.0.1" - caching-transform "^1.0.0" - convert-source-map "^1.5.1" + caching-transform "^2.0.0" + convert-source-map "^1.6.0" debug-log "^1.0.1" - default-require-extensions "^1.0.0" - find-cache-dir "^0.1.1" - find-up "^2.1.0" - foreground-child "^1.5.3" - glob "^7.0.6" - istanbul-lib-coverage "^1.2.0" - istanbul-lib-hook "^1.1.0" - istanbul-lib-instrument "^2.1.0" - istanbul-lib-report "^1.1.3" - istanbul-lib-source-maps "^1.2.5" - istanbul-reports "^1.4.1" - md5-hex "^1.2.0" + find-cache-dir "^2.0.0" + find-up "^3.0.0" + foreground-child "^1.5.6" + glob "^7.1.3" + istanbul-lib-coverage "^2.0.1" + istanbul-lib-hook "^2.0.1" + istanbul-lib-instrument "^3.0.0" + istanbul-lib-report "^2.0.2" + istanbul-lib-source-maps "^2.0.1" + istanbul-reports "^2.0.1" + make-dir "^1.3.0" merge-source-map "^1.1.0" - micromatch "^3.1.10" - mkdirp "^0.5.0" - resolve-from "^2.0.0" + resolve-from "^4.0.0" rimraf "^2.6.2" - signal-exit "^3.0.1" + signal-exit "^3.0.2" spawn-wrap "^1.4.2" - test-exclude "^4.2.0" + test-exclude "^5.0.0" + uuid "^3.3.2" yargs "11.1.0" - yargs-parser "^8.0.0" + yargs-parser "^9.0.2" oauth-sign@~0.9.0: version "0.9.0" @@ -5661,14 +5375,6 @@ object.getownpropertydescriptors@^2.0.3: define-properties "^1.1.2" es-abstract "^1.5.1" -object.omit@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/object.omit/-/object.omit-2.0.1.tgz#1a9c744829f39dbb858c76ca3579ae2a54ebd1fa" - integrity sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo= - dependencies: - for-own "^0.1.4" - is-extendable "^0.1.1" - object.pick@^1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/object.pick/-/object.pick-1.3.0.tgz#87a10ac4c1694bd2e1cbf53591a66141fb5dd747" @@ -5869,6 +5575,16 @@ p-waterfall@^1.0.0: dependencies: p-reduce "^1.0.0" +package-hash@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/package-hash/-/package-hash-2.0.0.tgz#78ae326c89e05a4d813b68601977af05c00d2a0d" + integrity sha1-eK4ybIngWk2BO2hgGXevBcANKg0= + dependencies: + graceful-fs "^4.1.11" + lodash.flattendeep "^4.4.0" + md5-hex "^2.0.0" + release-zalgo "^1.0.0" + pacote@^9.1.0: version "9.1.0" resolved "https://registry.yarnpkg.com/pacote/-/pacote-9.1.0.tgz#59810859bbd72984dcb267269259375d32f391e5" @@ -6000,16 +5716,6 @@ parse-github-repo-url@^1.3.0: resolved "https://registry.yarnpkg.com/parse-github-repo-url/-/parse-github-repo-url-1.4.1.tgz#9e7d8bb252a6cb6ba42595060b7bf6df3dbc1f50" integrity sha1-nn2LslKmy2ukJZUGC3v23z28H1A= -parse-glob@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/parse-glob/-/parse-glob-3.0.4.tgz#b2c376cfb11f35513badd173ef0bb6e3a388391c" - integrity sha1-ssN2z7EfNVE7rdFz7wu246OIORw= - dependencies: - glob-base "^0.3.0" - is-dotfile "^1.0.0" - is-extglob "^1.0.0" - is-glob "^2.0.0" - parse-json@^2.2.0: version "2.2.0" resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-2.2.0.tgz#f480f40434ef80741f8469099f8dea18f55a4dc9" @@ -6136,13 +5842,6 @@ pinkie@^2.0.0: resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870" integrity sha1-clVrgM+g1IqXToDnckjoDtT3+HA= -pkg-dir@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-1.0.0.tgz#7a4b508a8d5bb2d629d447056ff4e9c9314cf3d4" - integrity sha1-ektQio1bstYp1EcFb/TpyTFM89Q= - dependencies: - find-up "^1.0.0" - pkg-dir@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-2.0.0.tgz#f6d5d1109e19d63edf428e0bd57e12777615334b" @@ -6150,6 +5849,13 @@ pkg-dir@^2.0.0: dependencies: find-up "^2.1.0" +pkg-dir@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-3.0.0.tgz#2749020f239ed990881b1f71210d51eb6523bea3" + integrity sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw== + dependencies: + find-up "^3.0.0" + platform@^1.3.3: version "1.3.5" resolved "https://registry.yarnpkg.com/platform/-/platform-1.3.5.tgz#fb6958c696e07e2918d2eeda0f0bc9448d733444" @@ -6715,11 +6421,6 @@ prepend-http@^1.0.0: resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-1.0.4.tgz#d4f4562b0ce3696e41ac52d0e002e57a635dc6dc" integrity sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw= -preserve@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/preserve/-/preserve-0.2.0.tgz#815ed1f6ebc65926f865b310c0713bcb3315ce4b" - integrity sha1-gV7R9uvGWSb4ZbMQwHE7yzMVzks= - private@^0.1.6: version "0.1.8" resolved "https://registry.yarnpkg.com/private/-/private-0.1.8.tgz#2381edb3689f7a53d653190060fcf822d2f368ff" @@ -6876,15 +6577,6 @@ quote-stream@^1.0.1, quote-stream@~1.0.2: minimist "^1.1.3" through2 "^2.0.0" -randomatic@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/randomatic/-/randomatic-3.1.0.tgz#36f2ca708e9e567f5ed2ec01949026d50aa10116" - integrity sha512-KnGPVE0lo2WoXxIZ7cPR8YBpiol4gsSuOwDSg410oHh80ZMp5EiypNqL2K4Z77vJn6lB5rap7IkAmcUlalcnBQ== - dependencies: - is-number "^4.0.0" - kind-of "^6.0.0" - math-random "^1.0.1" - randombytes@^2.0.0, randombytes@^2.0.1, randombytes@^2.0.5: version "2.0.6" resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.0.6.tgz#d302c522948588848a8d300c932b44c24231da80" @@ -6961,6 +6653,14 @@ read-pkg-up@^3.0.0: find-up "^2.0.0" read-pkg "^3.0.0" +read-pkg-up@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-4.0.0.tgz#1b221c6088ba7799601c808f91161c66e58f8978" + integrity sha512-6etQSH7nJGsK0RbG/2TeDzZFa8shjQ1um+SwQQ5cwKy0dhSXdOncEhb1CPpvQG4h7FyOV6EB6YlV0yJvZQNAkA== + dependencies: + find-up "^3.0.0" + read-pkg "^3.0.0" + read-pkg@^1.0.0, read-pkg@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-1.1.0.tgz#f5ffaa5ecd29cb31c0474bca7d756b6bb29e3f28" @@ -7094,13 +6794,6 @@ regenerator-transform@^0.13.3: dependencies: private "^0.1.6" -regex-cache@^0.4.2: - version "0.4.4" - resolved "https://registry.yarnpkg.com/regex-cache/-/regex-cache-0.4.4.tgz#75bdc58a2a1496cec48a12835bc54c8d562336dd" - integrity sha512-nVIZwtCjkC9YgvWkpM55B5rBhBYRZhAaJbgcFYXXsHnbZ9UZI9nnVWYZpBlCqv9ho2eZryPnWrZGsOdPwVWXWQ== - dependencies: - is-equal-shallow "^0.1.3" - regex-not@^1.0.0, regex-not@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/regex-not/-/regex-not-1.0.2.tgz#1f4ece27e00b0b65e0247a6810e6a85d83a5752c" @@ -7133,6 +6826,13 @@ regjsparser@^0.3.0: dependencies: jsesc "~0.5.0" +release-zalgo@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/release-zalgo/-/release-zalgo-1.0.0.tgz#09700b7e5074329739330e535c5a90fb67851730" + integrity sha1-CXALflB0Mpc5Mw5TXFqQ+2eFFzA= + dependencies: + es6-error "^4.0.1" + remove-trailing-separator@^1.0.1: version "1.1.0" resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef" @@ -7143,7 +6843,7 @@ repeat-element@^1.1.2: resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.3.tgz#782e0d825c0c5a3bb39731f84efee6b742e6b1ce" integrity sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g== -repeat-string@^1.5.2, repeat-string@^1.6.1: +repeat-string@^1.6.1: version "1.6.1" resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" integrity sha1-jcrkcOHIirwtYA//Sndihtp15jc= @@ -7198,11 +6898,6 @@ resolve-cwd@^2.0.0: dependencies: resolve-from "^3.0.0" -resolve-from@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-2.0.0.tgz#9480ab20e94ffa1d9e80a804c7ea147611966b57" - integrity sha1-lICrIOlP+h2egKgEx+oUdhGWa1c= - resolve-from@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-3.0.0.tgz#b22c7af7d9d6881bc8b6e653335eebcb0a188748" @@ -7425,7 +7120,7 @@ shebang-regex@^1.0.0: resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3" integrity sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM= -shelljs@^0.8.1, shelljs@^0.8.2: +shelljs@^0.8.2: version "0.8.2" resolved "https://registry.yarnpkg.com/shelljs/-/shelljs-0.8.2.tgz#345b7df7763f4c2340d584abb532c5f752ca9e35" integrity sha512-pRXeNrCA2Wd9itwhvLp5LZQvPJ0wU6bcjaTMywHHGX5XWhVN2nzSu7WV0q+oUY7mGK3mgSkDDzP3MgjqdyIgbQ== @@ -7439,7 +7134,7 @@ sigmund@^1.0.1: resolved "https://registry.yarnpkg.com/sigmund/-/sigmund-1.0.1.tgz#3ff21f198cad2175f9f3b781853fd94d0d19b590" integrity sha1-P/IfGYytIXX587eBhT/ZTQ0ZtZA= -signal-exit@^3.0.0, signal-exit@^3.0.1, signal-exit@^3.0.2: +signal-exit@^3.0.0, signal-exit@^3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d" integrity sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0= @@ -7456,7 +7151,7 @@ slash@^1.0.0: resolved "https://registry.yarnpkg.com/slash/-/slash-1.0.0.tgz#c41f2f6c39fc16d1cd17ad4b5d896114ae470d55" integrity sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU= -slide@^1.1.5, slide@^1.1.6: +slide@^1.1.6: version "1.1.6" resolved "https://registry.yarnpkg.com/slide/-/slide-1.1.6.tgz#56eb027d65b4d2dce6cb2e2d32c4d4afc9e1d707" integrity sha1-VusCfWW00tzmyy4tMsTUr8nh1wc= @@ -7836,7 +7531,7 @@ supports-color@^2.0.0: resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" integrity sha1-U10EXOa2Nj+kARcIRimZXp3zJMc= -supports-color@^3.1.2, supports-color@^3.2.3: +supports-color@^3.2.3: version "3.2.3" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-3.2.3.tgz#65ac0504b3954171d8a64946b2ae3cbb8a5f54f6" integrity sha1-ZawFBLOVQXHYpklGsq48u4pfVPY= @@ -7931,15 +7626,14 @@ terser@^3.10.1, terser@^3.7.3, terser@^3.8.1: source-map "~0.6.1" source-map-support "~0.5.6" -test-exclude@^4.2.0: - version "4.2.3" - resolved "https://registry.yarnpkg.com/test-exclude/-/test-exclude-4.2.3.tgz#a9a5e64474e4398339245a0a769ad7c2f4a97c20" - integrity sha512-SYbXgY64PT+4GAL2ocI3HwPa4Q4TBKm0cwAVeKOt/Aoc0gSpNRjJX8w0pA1LMKZ3LBmd8pYBqApFNQLII9kavA== +test-exclude@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/test-exclude/-/test-exclude-5.0.0.tgz#cdce7cece785e0e829cd5c2b27baf18bc583cfb7" + integrity sha512-bO3Lj5+qFa9YLfYW2ZcXMOV1pmQvw+KS/DpjqhyX6Y6UZ8zstpZJ+mA2ERkXfpOqhxsJlQiLeVXD3Smsrs6oLw== dependencies: arrify "^1.0.1" - micromatch "^2.3.11" - object-assign "^4.1.0" - read-pkg-up "^1.0.1" + minimatch "^3.0.4" + read-pkg-up "^4.0.0" require-main-filename "^1.0.1" text-extensions@^1.0.0: @@ -8133,33 +7827,10 @@ typedoc-default-themes@^0.5.0: resolved "https://registry.yarnpkg.com/typedoc-default-themes/-/typedoc-default-themes-0.5.0.tgz#6dc2433e78ed8bea8e887a3acde2f31785bd6227" integrity sha1-bcJDPnjti+qOiHo6zeLzF4W9Yic= -typedoc@^0.11.1: - version "0.11.1" - resolved "https://registry.yarnpkg.com/typedoc/-/typedoc-0.11.1.tgz#9f033887fd2218c769e1045feb88a1efed9f12c9" - integrity sha512-jdNIoHm5wkZqxQTe/g9AQ3LKnZyrzHXqu6A/c9GUOeJyBWLxNr7/Dm3rwFvLksuxRNwTvY/0HRDU9sJTa9WQSg== - dependencies: - "@types/fs-extra" "5.0.1" - "@types/handlebars" "4.0.36" - "@types/highlight.js" "9.12.2" - "@types/lodash" "4.14.104" - "@types/marked" "0.3.0" - "@types/minimatch" "3.0.3" - "@types/shelljs" "0.7.8" - fs-extra "^5.0.0" - handlebars "^4.0.6" - highlight.js "^9.0.0" - lodash "^4.17.5" - marked "^0.3.17" - minimatch "^3.0.0" - progress "^2.0.0" - shelljs "^0.8.1" - typedoc-default-themes "^0.5.0" - typescript "2.7.2" - -typedoc@^0.12.0: - version "0.12.0" - resolved "https://registry.yarnpkg.com/typedoc/-/typedoc-0.12.0.tgz#c5d606f52af29d841658e18d9faa1a72acf0e270" - integrity sha512-dsdlaYZ7Je8JC+jQ3j2Iroe4uyD0GhqzADNUVyBRgLuytQDP/g0dPkAw5PdM/4drnmmJjRzSWW97FkKo+ITqQg== +typedoc@^0.13.0: + version "0.13.0" + resolved "https://registry.yarnpkg.com/typedoc/-/typedoc-0.13.0.tgz#9efdf352bd54873955cd161bd4b75f24a8c59dde" + integrity sha512-jQWtvPcV+0fiLZAXFEe70v5gqjDO6pJYJz4mlTtmGJeW2KRoIU/BEfktma6Uj8Xii7UakuZjbxFewl3UYOkU/w== dependencies: "@types/fs-extra" "^5.0.3" "@types/handlebars" "^4.0.38" @@ -8177,19 +7848,9 @@ typedoc@^0.12.0: progress "^2.0.0" shelljs "^0.8.2" typedoc-default-themes "^0.5.0" - typescript "3.0.x" - -typescript@2.7.2: - version "2.7.2" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-2.7.2.tgz#2d615a1ef4aee4f574425cdff7026edf81919836" - integrity sha512-p5TCYZDAO0m4G344hD+wx/LATebLWZNkkh2asWUFqSsD2OrDNhbAHuSjobrmsUmdzjJjEeZVU9g1h3O6vpstnw== - -typescript@3.0.x: - version "3.0.3" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.0.3.tgz#4853b3e275ecdaa27f78fda46dc273a7eb7fc1c8" - integrity sha512-kk80vLW9iGtjMnIv11qyxLqZm20UklzuR2tL0QAnDIygIUIemcZMxlMWudl9OOt76H3ntVzcTiddQ1/pAAJMYg== + typescript "3.1.x" -typescript@^3.1.3: +typescript@3.1.x, typescript@^3.1.3: version "3.1.3" resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.1.3.tgz#01b70247a6d3c2467f70c45795ef5ea18ce191d5" integrity sha512-+81MUSyX+BaSo+u2RbozuQk/UWx6hfG0a5gHu4ANEM4sU96XbuIyAB+rWBW1u70c6a5QuZfuYICn3s2UjuHUpA== @@ -8464,15 +8125,6 @@ wrappy@1: resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= -write-file-atomic@^1.1.4: - version "1.3.4" - resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-1.3.4.tgz#f807a4f0b1d9e913ae7a48112e6cc3af1991b45f" - integrity sha1-+Aek8LHZ6ROuekgRLmzDrxmRtF8= - dependencies: - graceful-fs "^4.1.11" - imurmurhash "^0.1.4" - slide "^1.1.5" - write-file-atomic@^2.0.0, write-file-atomic@^2.3.0: version "2.3.0" resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-2.3.0.tgz#1ff61575c2e2a4e8e510d6fa4e243cce183999ab" @@ -8546,13 +8198,6 @@ yargs-parser@^10.1.0: dependencies: camelcase "^4.1.0" -yargs-parser@^8.0.0: - version "8.1.0" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-8.1.0.tgz#f1376a33b6629a5d063782944da732631e966950" - integrity sha512-yP+6QqN8BmrgW2ggLtTbdrOyBNSI7zBa4IykmiV5R1wl1JWNxQvWhMfMdmzIYtKU7oP3OOInY/tl2ov3BDjnJQ== - dependencies: - camelcase "^4.1.0" - yargs-parser@^9.0.2: version "9.0.2" resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-9.0.2.tgz#9ccf6a43460fe4ed40a9bb68f48d43b8a68cc077" From 0cf708f45271190cf0e8162c6bb88cf27a28c323 Mon Sep 17 00:00:00 2001 From: Karsten Schmidt Date: Thu, 18 Oct 2018 02:49:15 +0100 Subject: [PATCH 09/34] feat(bench): add timedResult() / benchResult() --- packages/bench/src/index.ts | 41 +++++++++++++++++++++++++++++++++---- 1 file changed, 37 insertions(+), 4 deletions(-) diff --git a/packages/bench/src/index.ts b/packages/bench/src/index.ts index 370d9109f4..793c9a0d4c 100644 --- a/packages/bench/src/index.ts +++ b/packages/bench/src/index.ts @@ -1,3 +1,5 @@ +export type TimingResult = [T, number]; + /** * Calls function `fn` without args, prints elapsed time and returns * fn's result. The optional `prefix` will be displayed with the output, @@ -6,12 +8,24 @@ * @param fn * @param prefix */ -export function timed(fn: () => T, prefix = "") { +export const timed = (fn: () => T, prefix = "") => { const t0 = Date.now(); const res = fn(); console.log(prefix + (Date.now() - t0) + "ms"); return res; -} +}; + +/** + * Similar to `timed()`, but produces no output and instead returns + * tuple of `fn`'s result and the time measurement. + * + * @param fn + */ +export const timedResult = (fn: () => T): TimingResult => { + const t0 = Date.now(); + const res = fn(); + return [res, Date.now() - t0]; +}; /** * Executes given function `n` times, prints elapsed time to console and @@ -21,7 +35,7 @@ export function timed(fn: () => T, prefix = "") { * @param fn * @param n */ -export function bench(fn: () => T, n = 1e6, prefix = "") { +export const bench = (fn: () => T, n = 1e6, prefix = "") => { let res: T; return timed( () => { @@ -32,4 +46,23 @@ export function bench(fn: () => T, n = 1e6, prefix = "") { }, prefix ); -} +}; + +/** + * Similar to `bench()`, but produces no output and instead returns + * tuple of `fn`'s last result and the grand total time measurement. + * + * @param fn + * @param n + */ +export const benchResult = (fn: () => T, n = 1e6): TimingResult => { + let res: T; + return timedResult( + () => { + while (n-- > 0) { + res = fn(); + } + return res; + } + ); +}; From f7bbfde4ad7a4c7bacf3c192e726425cd1b32298 Mon Sep 17 00:00:00 2001 From: Karsten Schmidt Date: Thu, 18 Oct 2018 02:49:50 +0100 Subject: [PATCH 10/34] refactor(heaps): public fields --- packages/heaps/src/heap.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/heaps/src/heap.ts b/packages/heaps/src/heap.ts index 8c8f08abf5..644961c731 100644 --- a/packages/heaps/src/heap.ts +++ b/packages/heaps/src/heap.ts @@ -37,8 +37,8 @@ export class Heap implements return idx >= 0 ? (idx << 1) + 1 : -1; } - protected values: T[]; - protected compare: Comparator; + values: T[]; + compare: Comparator; constructor(values?: Iterable, opts?: HeapOpts) { opts = Object.assign({ compare: compare }, opts); From e14ac8b1f855ce800396a544a93c850705911640 Mon Sep 17 00:00:00 2001 From: Karsten Schmidt Date: Thu, 18 Oct 2018 02:51:12 +0100 Subject: [PATCH 11/34] feat(geom-accel): re-import geom-accel skeleton (MBP2010) --- packages/geom-accel/.npmignore | 10 + packages/geom-accel/LICENSE | 201 +++++++++++++++++++ packages/geom-accel/README.md | 51 +++++ packages/geom-accel/package.json | 48 +++++ packages/geom-accel/src/index.ts | 1 + packages/geom-accel/src/kdtree.ts | 267 +++++++++++++++++++++++++ packages/geom-accel/test/index.ts | 6 + packages/geom-accel/test/tsconfig.json | 10 + packages/geom-accel/tsconfig.json | 9 + 9 files changed, 603 insertions(+) create mode 100644 packages/geom-accel/.npmignore create mode 100644 packages/geom-accel/LICENSE create mode 100644 packages/geom-accel/README.md create mode 100644 packages/geom-accel/package.json create mode 100644 packages/geom-accel/src/index.ts create mode 100644 packages/geom-accel/src/kdtree.ts create mode 100644 packages/geom-accel/test/index.ts create mode 100644 packages/geom-accel/test/tsconfig.json create mode 100644 packages/geom-accel/tsconfig.json diff --git a/packages/geom-accel/.npmignore b/packages/geom-accel/.npmignore new file mode 100644 index 0000000000..d703bda97a --- /dev/null +++ b/packages/geom-accel/.npmignore @@ -0,0 +1,10 @@ +build +coverage +dev +doc +src* +test +.nyc_output +tsconfig.json +*.tgz +*.html diff --git a/packages/geom-accel/LICENSE b/packages/geom-accel/LICENSE new file mode 100644 index 0000000000..8dada3edaf --- /dev/null +++ b/packages/geom-accel/LICENSE @@ -0,0 +1,201 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "{}" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright {yyyy} {name of copyright owner} + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/packages/geom-accel/README.md b/packages/geom-accel/README.md new file mode 100644 index 0000000000..c812d3989f --- /dev/null +++ b/packages/geom-accel/README.md @@ -0,0 +1,51 @@ +# @thi.ng/geom-accel + +[![npm (scoped)](https://img.shields.io/npm/v/@thi.ng/geom-accel.svg)](https://www.npmjs.com/package/@thi.ng/geom-accel) +![npm downloads](https://img.shields.io/npm/dm/@thi.ng/geom-accel.svg) +[![Twitter Follow](https://img.shields.io/twitter/follow/thing_umbrella.svg?style=flat-square&label=twitter)](https://twitter.com/thing_umbrella) + +This project is part of the +[@thi.ng/umbrella](https://github.com/thi-ng/umbrella/) monorepo. + + + +- [About](#about) +- [Installation](#installation) +- [Dependencies](#dependencies) +- [Usage examples](#usage-examples) +- [Authors](#authors) +- [License](#license) + + + +## About + +A selection of spatial indexing approaches... + +- [Grid](src/grid.ts) +- [k-D Tree](src/kdtree.ts) +- [Quadtree](src/quadtree.ts) + +## Installation + +```bash +yarn add @thi.ng/geom-accel +``` + +## Dependencies + +- TODO... + +## Usage examples + +```ts +import * as ga from "@thi.ng/geom-accel"; +``` + +## Authors + +- Karsten Schmidt + +## License + +© 2018 Karsten Schmidt // Apache Software License 2.0 diff --git a/packages/geom-accel/package.json b/packages/geom-accel/package.json new file mode 100644 index 0000000000..4b0d958f08 --- /dev/null +++ b/packages/geom-accel/package.json @@ -0,0 +1,48 @@ +{ + "name": "@thi.ng/geom-accel", + "version": "0.0.1", + "description": "TODO", + "main": "./index.js", + "typings": "./index.d.ts", + "repository": { + "type": "git", + "url": "https://github.com/thi-ng/umbrella.git" + }, + "homepage": "https://github.com/thi-ng/umbrella/tree/master/packages/geom-accel", + "author": "Karsten Schmidt ", + "license": "Apache-2.0", + "scripts": { + "build": "yarn run clean && tsc --declaration", + "clean": "rm -rf *.js *.d.ts .nyc_output build coverage doc", + "cover": "yarn test && nyc report --reporter=lcov", + "doc": "node_modules/.bin/typedoc --mode modules --out doc src", + "pub": "yarn run build && yarn publish --access public", + "test": "rm -rf build && tsc -p test && nyc mocha build/test/*.js" + }, + "devDependencies": { + "@types/mocha": "^5.2.5", + "@types/node": "^10.12.0", + "mocha": "^5.2.0", + "nyc": "^13.1.0", + "typedoc": "^0.13.0", + "typescript": "^3.1.3" + }, + "dependencies": { + "@thi.ng/heaps": "^0.2.20", + "@thi.ng/math": "^0.1.0", + "@thi.ng/vectors": "^1.4.0" + }, + "keywords": [ + "ES6", + "acceleration", + "kd-tree", + "octree", + "pointcloud", + "quadtree", + "spatial indexing", + "typescript" + ], + "publishConfig": { + "access": "public" + } +} \ No newline at end of file diff --git a/packages/geom-accel/src/index.ts b/packages/geom-accel/src/index.ts new file mode 100644 index 0000000000..bed6223d17 --- /dev/null +++ b/packages/geom-accel/src/index.ts @@ -0,0 +1 @@ +export * from "./kdtree"; diff --git a/packages/geom-accel/src/kdtree.ts b/packages/geom-accel/src/kdtree.ts new file mode 100644 index 0000000000..e7e316a689 --- /dev/null +++ b/packages/geom-accel/src/kdtree.ts @@ -0,0 +1,267 @@ +import { Heap } from "@thi.ng/heaps/heap"; +import { EPS } from "@thi.ng/math/api"; +import { ensureArray } from "@thi.ng/transducers/func/ensure-array"; +import { IDistance } from "@thi.ng/vectors/api"; +import { IEmpty } from "@thi.ng/api/api"; + +export type KdIndexable = IDistance & IEmpty; + +export class KdNode> { + + parent: KdNode; + l: KdNode; + r: KdNode; + d: number; + p: Readonly; + + constructor(parent: KdNode, dim: number, val: Readonly) { + this.parent = parent; + this.d = dim; + this.p = val; + this.l = this.r = null; + } + + height() { + return 1 + Math.max( + this.l ? this.l.height() : 0, + this.r ? this.r.height() : 0 + ); + } +} + +/** + * https://en.wikipedia.org/wiki/K-d_tree + * + * Partially based on: + * https://github.com/ubilabs/kd-tree-javascript + * + */ +export class KdTree> { + + root: KdNode; + dim: number; + + protected _length: number; + + constructor(dim: number, points?: Iterable) { + this.dim = dim; + this._length = 0; + this.root = points ? + this.build(ensureArray(points), 0, null) : + null; + } + + *[Symbol.iterator](): IterableIterator { + let queue: KdNode[] = [this.root]; + while (queue.length) { + const n = queue.pop(); + if (n) { + yield n.p; + queue.push(n.r, n.l); + } + } + } + + get length() { + return this._length; + } + + // TODO add value support (point = key) + add(p: Readonly, eps = EPS) { + eps *= eps; + const search = (node: KdNode, parent: KdNode): KdNode | false => + node ? + p.distSq(node.p) > eps ? + search( + p[node.d] < node.p[node.d] ? node.l : node.r, + node + ) : + false : + parent; + const parent = search(this.root, null); + if (parent === false) return false; + if (parent == null) { + this.root = new KdNode(null, 0, p); + } else { + const dim = parent.d; + parent[p[dim] < parent.p[dim] ? "l" : "r"] = + new KdNode(parent, (dim + 1) % this.dim, p); + } + this._length++; + return true; + } + + addAll(pts: Iterable) { + for (let p of pts) { + this.add(p); + } + return this; + } + + remove(p: Readonly) { + const node = find(p, this.root, 0); + if (node) { + remove(node) && (this.root = null); + this._length--; + return true; + } + return false; + } + + find(q: Readonly, eps = EPS): KdNode | undefined { + return find(q, this.root, eps * eps); + } + + select(q: Readonly, maxNum: number, maxDist?: number): T[] { + const res: T[] = []; + const nodes = new Heap<[number, KdNode]>( + null, + { compare: (a, b) => b[0] - a[0] } + ); + if (maxDist) { + maxDist *= maxDist; + const c: [number, KdNode] = [maxDist, null]; + for (let i = maxNum; --i >= 0;) { + nodes.push(c); + } + } + nearest(q, nodes, this.dim, maxNum, this.root); + for (let n of nodes) { + if (n[1]) { + n[1] && res.push(n[1].p); + } + } + return res; + } + + balanceRatio() { + return this._length ? + this.root.height() / (Math.log(this._length) / Math.LN2) : + 0; + } + + protected build(points: T[], depth: number, parent: KdNode) { + const n = points.length; + if (n === 0) { + return; + } + this._length++; + let dim = depth % this.dim; + if (n === 1) { + return new KdNode(parent, dim, points[0]); + } + points.sort((a, b) => a[dim] - b[dim]); + const med = n >>> 1; + const node = new KdNode(parent, dim, points[med]); + node.l = this.build(points.slice(0, med), depth + 1, node); + node.r = this.build(points.slice(med + 1), depth + 1, node); + return node; + } +} + +/** + * Returns node for point or `undefined` if none found. + * + * @param p + * @param node + * @param epsSq squared epsilon / tolerance + */ +const find = >(p: T, node: KdNode, epsSq: number) => { + if (!node) return; + return p.distSq(node.p) <= epsSq ? + node : + find(p, p[node.d] < node.p[node.d] ? node.l : node.r, epsSq); +}; + +const findMin = >(node: KdNode, dim: number): KdNode => { + if (!node) return; + if (node.d === dim) { + return node.l ? + findMin(node.l, dim) : + node; + } + const q = node.p[dim]; + const l = findMin(node.l, dim); + const r = findMin(node.r, dim); + let min = node; + if (l && l.p[dim] < q) { + min = l; + } + if (r && r.p[dim] < min.p[dim]) { + min = r; + } + return min; +}; + +/** + * Returns true if root is to be deleted. + * + * @param node + */ +const remove = >(node: KdNode) => { + if (!node.l && !node.r) { + if (!node.parent) { + return true; + } + const parent = node.parent; + const pdim = parent.d; + parent[node.p[pdim] < parent.p[pdim] ? "l" : "r"] = null; + return; + } + let next: KdNode; + let nextP: T; + if (node.r) { + next = findMin(node.r, node.d); + nextP = next.p; + remove(next); + node.p = nextP; + } else { + next = findMin(node.l, node.d); + nextP = next.p; + remove(next); + node.r = node.l; + node.l = null; + node.p = nextP; + } +}; + +const nearest = >(q: T, acc: Heap<[number, KdNode]>, dims: number, maxNum: number, node: KdNode) => { + const p = node.p; + const ndist = q.distSq(p); + if (!node.l && !node.r) { + if (ndist < acc.peek()[0]) { + if (acc.length >= maxNum) { + acc.pushPop([ndist, node]); + } else { + acc.push([ndist, node]); + } + } + return; + } + const ndim = node.d; + const tp: T = q.empty(); + for (let i = dims; --i >= 0;) { + tp[i] = i === ndim ? q[i] : p[i]; + } + const tdist = tp.distSq(p); + let best = + !node.r ? + node.l : + !node.l ? + node.r : + q[ndim] < p[ndim] ? + node.l : + node.r; + nearest(q, acc, dims, maxNum, best); + if (ndist < acc.peek()[0]) { + if (acc.length >= maxNum) { + acc.pushPop([ndist, node]); + } else { + acc.push([ndist, node]); + } + } + if (tdist < acc.peek()[0]) { + best = best === node.l ? node.r : node.l; + best && nearest(q, acc, dims, maxNum, best); + } +}; \ No newline at end of file diff --git a/packages/geom-accel/test/index.ts b/packages/geom-accel/test/index.ts new file mode 100644 index 0000000000..5ed0a5b820 --- /dev/null +++ b/packages/geom-accel/test/index.ts @@ -0,0 +1,6 @@ +// import * as assert from "assert"; +// import * as ga from "../src/index"; + +describe("geom-accel", () => { + it("tests pending"); +}); diff --git a/packages/geom-accel/test/tsconfig.json b/packages/geom-accel/test/tsconfig.json new file mode 100644 index 0000000000..bcf29ace54 --- /dev/null +++ b/packages/geom-accel/test/tsconfig.json @@ -0,0 +1,10 @@ +{ + "extends": "../../../tsconfig.json", + "compilerOptions": { + "outDir": "../build" + }, + "include": [ + "./**/*.ts", + "../src/**/*.ts" + ] +} diff --git a/packages/geom-accel/tsconfig.json b/packages/geom-accel/tsconfig.json new file mode 100644 index 0000000000..bd6481a5a6 --- /dev/null +++ b/packages/geom-accel/tsconfig.json @@ -0,0 +1,9 @@ +{ + "extends": "../../tsconfig.json", + "compilerOptions": { + "outDir": "." + }, + "include": [ + "./src/**/*.ts" + ] +} From f82c8b16c2e82eb6b318f12e11c53cc0603fcbd7 Mon Sep 17 00:00:00 2001 From: Karsten Schmidt Date: Thu, 18 Oct 2018 02:51:43 +0100 Subject: [PATCH 12/34] feat(examples): add geom-knn example --- examples/geom-knn/.gitignore | 5 ++ examples/geom-knn/README.md | 26 ++++++++++ examples/geom-knn/index.html | 16 ++++++ examples/geom-knn/package.json | 33 ++++++++++++ examples/geom-knn/src/index.ts | 90 +++++++++++++++++++++++++++++++++ examples/geom-knn/tsconfig.json | 11 ++++ 6 files changed, 181 insertions(+) create mode 100644 examples/geom-knn/.gitignore create mode 100644 examples/geom-knn/README.md create mode 100644 examples/geom-knn/index.html create mode 100644 examples/geom-knn/package.json create mode 100644 examples/geom-knn/src/index.ts create mode 100644 examples/geom-knn/tsconfig.json diff --git a/examples/geom-knn/.gitignore b/examples/geom-knn/.gitignore new file mode 100644 index 0000000000..0c5abcab62 --- /dev/null +++ b/examples/geom-knn/.gitignore @@ -0,0 +1,5 @@ +.cache +out +node_modules +yarn.lock +*.js diff --git a/examples/geom-knn/README.md b/examples/geom-knn/README.md new file mode 100644 index 0000000000..941f574ecb --- /dev/null +++ b/examples/geom-knn/README.md @@ -0,0 +1,26 @@ +# geom-knn + +[Live demo](http://demo.thi.ng/umbrella/geom-knn/) + +Drawing / debug toy based on 2x recursive KNN search using the k-D tree +implementation provided by +[@thi.ng/geom-accel](https://github.com/thi-ng/umbrella/tree/master/packages/geom-accel) +package. For each new mouse/touch movement the 1st search pass selects +up to 200 neighboring points. Those points are highlighted in blue. For +each of those a secondary KNN search is performed selecting up to 8 +neighbors. These matches are visualized as lines. + +```bash +git clone https://github.com/thi-ng/umbrella.git +cd umbrella/examples/geom-knn +yarn install +yarn start +``` + +## Authors + +- Karsten Schmidt + +## License + +© 2018 Karsten Schmidt // Apache Software License 2.0 diff --git a/examples/geom-knn/index.html b/examples/geom-knn/index.html new file mode 100644 index 0000000000..ebf5a28ba7 --- /dev/null +++ b/examples/geom-knn/index.html @@ -0,0 +1,16 @@ + + + + + + + geom-knn + + + + +
+ + + diff --git a/examples/geom-knn/package.json b/examples/geom-knn/package.json new file mode 100644 index 0000000000..4a3b1a6649 --- /dev/null +++ b/examples/geom-knn/package.json @@ -0,0 +1,33 @@ +{ + "name": "geom-knn", + "version": "0.0.1", + "repository": "https://github.com/thi-ng/umbrella", + "author": "Karsten Schmidt ", + "license": "Apache-2.0", + "scripts": { + "clean": "rm -rf .cache build out", + "build": "yarn clean && parcel build index.html -d out --public-url ./ --no-source-maps --no-cache --detailed-report", + "start": "parcel index.html -p 8080 --open" + }, + "devDependencies": { + "parcel-bundler": "^1.10.3", + "terser": "^3.10.1", + "typescript": "^3.1.3" + }, + "dependencies": { + "@thi.ng/bench": "latest", + "@thi.ng/geom-accel": "latest", + "@thi.ng/hdom-canvas": "latest", + "@thi.ng/rstream": "latest", + "@thi.ng/rstream-gestures": "latest", + "@thi.ng/transducers": "latest", + "@thi.ng/transducers-hdom": "latest", + "@thi.ng/vectors": "latest" + }, + "browserslist": [ + "last 3 Chrome versions" + ], + "browser": { + "process": false + } +} \ No newline at end of file diff --git a/examples/geom-knn/src/index.ts b/examples/geom-knn/src/index.ts new file mode 100644 index 0000000000..5c8d4c323b --- /dev/null +++ b/examples/geom-knn/src/index.ts @@ -0,0 +1,90 @@ +import { timedResult } from "@thi.ng/bench"; +import { KdTree } from "@thi.ng/geom-accel/kdtree"; +import { canvas } from "@thi.ng/hdom-canvas"; +import { gestureStream } from "@thi.ng/rstream-gestures"; +import { sync } from "@thi.ng/rstream/stream-sync"; +import { trigger } from "@thi.ng/rstream/trigger"; +import { updateDOM } from "@thi.ng/transducers-hdom"; +import { map } from "@thi.ng/transducers/xform/map"; +import { mapcat } from "@thi.ng/transducers/xform/mapcat"; +import { asVec2, Vec2 } from "@thi.ng/vectors/vec2"; + +const app = (main) => { + // augment hdom-canvas component w/ `init` lifecycle method: this is + // method is called when the canvas DOM element is first created and + // used to attach a mouse & touch event stream to it. this stream is + // then transformed using a transducer to only select the mouse + // position and then added as new input to the `main` stream + // combinator below... + const _canvas = { + ...canvas, + init: (el: HTMLCanvasElement) => + main.add(gestureStream(el).transform(map((g) => g[1].pos)), "mpos") + }; + // initialize 1st point & store in tree for fast KNN searches + const width = window.innerWidth; + const height = window.innerHeight; + const initial = new Vec2([width / 2, height / 2, 5]); + let tree = new KdTree(2, [initial]); + + // return root component function, triggered by each new mouse / touch event + return ({ mpos }) => { + // recreate tree every 500 points (in lieu of re-balancing) + if (!(tree.length % 500)) { + tree = new KdTree(2, tree); + } + mpos = mpos ? asVec2(mpos) : initial.copy(); + // record new pos in both tree + tree.add(mpos); + // even though we only create 2d vectors, we store a 3rd value + // in the backing array, which will be later used as radius when + // the point has been selected as part of a KNN query and is + // visualized as circle. + mpos.buf.push(1.5 + Math.random() * 5); + // select max. 200 neighbors for given mouse position, + // measure execution time... + let [selected, t1] = timedResult(() => + tree.select(mpos, 200, width / 4) + ); + // for each selected neighbor, perform another KNN search and + // create line segments to each of these secondary matches + // use `mapcat` to yield a flat array of lines + let [neighbors, t2] = timedResult(() => + [...mapcat((p: Vec2) => tree.select(p, 8, width / 4).map((q) => ["line", {}, p, q]), selected)] + ); + return ["div.overflow-hidden.sans-serif.f7", + // tree stats + ["div", + `Points: ${tree.length}, Sel: ${selected.length}, `, + `Neighbors: ${neighbors.length}, Q1: ${t1}ms, Q2: ${t2}ms, `, + `Height: ${tree.root.height()}, Ratio: ${tree.balanceRatio().toFixed(2)}`], + // visualize + [_canvas, { width, height, __diff: false }, + // point cloud + // TODO tree is iterable, but hdom-canvas currently expects arrays only + ["points", { fill: "black" }, [...tree]], + ["g", { fill: "rgba(0,192,255,0.5)" }, + ...selected.map((p) => ["circle", {}, p, p.buf[2]])], + ["g", { stroke: "rgba(0,0,0,0.25)" }, + ...neighbors]]]; + }; +}; + +// main stream combinator: initially only a single dummy `trigger` input +// is assigned to kick off rendering... in the 1st frame the canvas +// component's `init` method is called which attaches the above gesture +// stream dynamically. the entire UI then only updates when there are new +// user interactions... +const main = sync({ src: { trigger: trigger() } }); +// transform result stream using the +// root component fn and the hdom differential +// update transducer +main.transform( + map(app(main)), + updateDOM() +); + +if (process.env.NODE_ENV !== "production") { + const hot = (module).hot; + hot && hot.dispose(() => main.done()); +} diff --git a/examples/geom-knn/tsconfig.json b/examples/geom-knn/tsconfig.json new file mode 100644 index 0000000000..bbf112cc18 --- /dev/null +++ b/examples/geom-knn/tsconfig.json @@ -0,0 +1,11 @@ +{ + "extends": "../../tsconfig.json", + "compilerOptions": { + "outDir": ".", + "target": "es6", + "sourceMap": true + }, + "include": [ + "./src/**/*.ts" + ] +} From aa01a2deb6d5106950091d0d88807d6b841f7c39 Mon Sep 17 00:00:00 2001 From: Karsten Schmidt Date: Thu, 18 Oct 2018 02:52:04 +0100 Subject: [PATCH 13/34] build: update .gitignore --- .gitignore | 2 -- 1 file changed, 2 deletions(-) diff --git a/.gitignore b/.gitignore index 73fe25942e..4641eed96e 100644 --- a/.gitignore +++ b/.gitignore @@ -21,5 +21,3 @@ bundle.* *.bak* *.zip /.gtm/ - -packages/geom-accel From 0c76c024c1d3698688d53136359d7d878ee1b9d0 Mon Sep 17 00:00:00 2001 From: Karsten Schmidt Date: Thu, 18 Oct 2018 14:07:41 +0100 Subject: [PATCH 14/34] refactor(geom-accel): move iterator into KdNode --- packages/geom-accel/src/kdtree.ts | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/packages/geom-accel/src/kdtree.ts b/packages/geom-accel/src/kdtree.ts index e7e316a689..b5f4ff840a 100644 --- a/packages/geom-accel/src/kdtree.ts +++ b/packages/geom-accel/src/kdtree.ts @@ -21,6 +21,17 @@ export class KdNode> { this.l = this.r = null; } + *[Symbol.iterator](): IterableIterator { + let queue: KdNode[] = [this]; + while (queue.length) { + const n = queue.pop(); + if (n) { + yield n.p; + queue.push(n.r, n.l); + } + } + } + height() { return 1 + Math.max( this.l ? this.l.height() : 0, @@ -51,15 +62,8 @@ export class KdTree> { null; } - *[Symbol.iterator](): IterableIterator { - let queue: KdNode[] = [this.root]; - while (queue.length) { - const n = queue.pop(); - if (n) { - yield n.p; - queue.push(n.r, n.l); - } - } + [Symbol.iterator](): IterableIterator { + return (this.root || [])[Symbol.iterator](); } get length() { From b31b48071516035b4ceb61c7480452b441cdb3cc Mon Sep 17 00:00:00 2001 From: Karsten Schmidt Date: Thu, 18 Oct 2018 14:08:15 +0100 Subject: [PATCH 15/34] refactor(hdom-canvas): update points() to accept iterables --- packages/hdom-canvas/src/index.ts | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/packages/hdom-canvas/src/index.ts b/packages/hdom-canvas/src/index.ts index 016af633fd..856402d79f 100644 --- a/packages/hdom-canvas/src/index.ts +++ b/packages/hdom-canvas/src/index.ts @@ -600,36 +600,32 @@ const rect = (ctx: CanvasRenderingContext2D, const points = (ctx: CanvasRenderingContext2D, attribs: IObjectOf, opts: IObjectOf, - pts: ReadonlyVec[]) => { + pts: Iterable) => { const s = (opts && opts.size) || 1; let v: any; if ((v = attribs.fill) && v !== "none") { if (opts.shape === "circle") { - for (let i = pts.length - 1; i >= 0; i--) { - const p = pts[i]; + for (let p of pts) { ctx.beginPath(); ctx.arc(p[0], p[1], s, 0, TAU); ctx.fill(); } } else { - for (let i = pts.length - 1; i >= 0; i--) { - const p = pts[i]; + for (let p of pts) { ctx.fillRect(p[0], p[1], s, s); } } } if ((v = attribs.stroke) && v !== "none") { if (opts.shape === "circle") { - for (let i = pts.length - 1; i >= 0; i--) { - const p = pts[i]; + for (let p of pts) { ctx.beginPath(); ctx.arc(p[0], p[1], s, 0, TAU); ctx.stroke(); } } else { - for (let i = pts.length - 1; i >= 0; i--) { - const p = pts[i]; + for (let p of pts) { ctx.strokeRect(p[0], p[1], s, s); } } From f0deebb9a38bb03a545dc157bcaa99cad34deb62 Mon Sep 17 00:00:00 2001 From: Karsten Schmidt Date: Thu, 18 Oct 2018 14:24:19 +0100 Subject: [PATCH 16/34] minor(examples): update geom-knn --- examples/geom-knn/src/index.ts | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/examples/geom-knn/src/index.ts b/examples/geom-knn/src/index.ts index 5c8d4c323b..1bdac23bb3 100644 --- a/examples/geom-knn/src/index.ts +++ b/examples/geom-knn/src/index.ts @@ -25,7 +25,7 @@ const app = (main) => { const width = window.innerWidth; const height = window.innerHeight; const initial = new Vec2([width / 2, height / 2, 5]); - let tree = new KdTree(2, [initial]); + let tree = new KdTree(2); // return root component function, triggered by each new mouse / touch event return ({ mpos }) => { @@ -33,8 +33,10 @@ const app = (main) => { if (!(tree.length % 500)) { tree = new KdTree(2, tree); } - mpos = mpos ? asVec2(mpos) : initial.copy(); - // record new pos in both tree + // the 1st time this function is executed, there will be no valid `mpos` + // so we insert the initial default point instead + mpos = mpos ? asVec2(mpos) : initial; + // record new pos in tree tree.add(mpos); // even though we only create 2d vectors, we store a 3rd value // in the backing array, which will be later used as radius when @@ -59,9 +61,10 @@ const app = (main) => { `Neighbors: ${neighbors.length}, Q1: ${t1}ms, Q2: ${t2}ms, `, `Height: ${tree.root.height()}, Ratio: ${tree.balanceRatio().toFixed(2)}`], // visualize - [_canvas, { width, height, __diff: false }, + // the __diff & __normalize control attribs are used to optimize drawing perf + // see: https://github.com/thi-ng/umbrella/tree/master/packages/hdom#behavior-control-attributes + [_canvas, { width, height, __diff: false, __normalize: false }, // point cloud - // TODO tree is iterable, but hdom-canvas currently expects arrays only ["points", { fill: "black" }, [...tree]], ["g", { fill: "rgba(0,192,255,0.5)" }, ...selected.map((p) => ["circle", {}, p, p.buf[2]])], From 1063fea97b9c8c743b1bbd4a5f0a8a13f0be65f6 Mon Sep 17 00:00:00 2001 From: Karsten Schmidt Date: Thu, 18 Oct 2018 17:38:30 +0100 Subject: [PATCH 17/34] feat(heaps): add pushPopAll() --- packages/heaps/src/heap.ts | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/packages/heaps/src/heap.ts b/packages/heaps/src/heap.ts index 644961c731..a32d49cd46 100644 --- a/packages/heaps/src/heap.ts +++ b/packages/heaps/src/heap.ts @@ -112,6 +112,21 @@ export class Heap implements return this; } + /** + * Calls `pushPop()` for each given value in `vals` and returns last + * result (i.e. the smallest value in heap after processing all + * `vals`). + * + * @param vals + */ + pushPopAll(vals: Iterable) { + let res: T; + for (let v of vals) { + res = this.pushPop(v); + } + return res; + } + replaceHead(val: T) { const res = this.values[0]; this.values[0] = val; From b9cfb56f9d446ade7741a6873696d72b23ae44a8 Mon Sep 17 00:00:00 2001 From: Arthur Carabott Date: Thu, 18 Oct 2018 07:27:31 +0100 Subject: [PATCH 18/34] minor(hdom-canvas): add arc, hline, vline to readme --- packages/hdom-canvas/README.md | 80 ++++++++++++++++++++++------------ 1 file changed, 51 insertions(+), 29 deletions(-) diff --git a/packages/hdom-canvas/README.md b/packages/hdom-canvas/README.md index 1f5b81a003..f440410ece 100644 --- a/packages/hdom-canvas/README.md +++ b/packages/hdom-canvas/README.md @@ -9,35 +9,39 @@ This project is part of the -- [About](#about) - - [Status](#status) -- [Installation](#installation) -- [Dependencies](#dependencies) -- [Usage examples](#usage-examples) -- [How it works](#how-it-works) - - [Restrictions & behavior controls](#restrictions--behavior-controls) - - [HDPI support](#hdpi-support) -- [SVG conversion](#svg-conversion) -- [Supported shape types](#supported-shape-types) - - [Group](#group) - - [Definition group](#definition-group) - - [Circle](#circle) - - [Rect](#rect) - - [Line](#line) - - [Polyline / Polygon](#polyline--polygon) - - [Path](#path) - - [Points](#points) - - [Text](#text) - - [Image](#image) - - [Gradients](#gradients) -- [Attributes](#attributes) -- [Coordinate transformations](#coordinate-transformations) - - [Transform matrix](#transform-matrix) - - [Translation](#translation) - - [Scaling](#scaling) - - [Rotation](#rotation) -- [Authors](#authors) -- [License](#license) +- [@thi.ng/hdom-canvas](#thinghdom-canvas) + - [About](#about) + - [Status](#status) + - [Installation](#installation) + - [Dependencies](#dependencies) + - [Usage examples](#usage-examples) + - [How it works](#how-it-works) + - [Restrictions & behavior controls](#restrictions--behavior-controls) + - [HDPI support](#hdpi-support) + - [SVG conversion](#svg-conversion) + - [Supported shape types](#supported-shape-types) + - [Group](#group) + - [Definition group](#definition-group) + - [Circle](#circle) + - [Rect](#rect) + - [Arc](#arc) + - [Line](#line) + - [Horizontal Line](#horizontal-line) + - [Vertical Line](#vertical-line) + - [Polyline / Polygon](#polyline--polygon) + - [Path](#path) + - [Points](#points) + - [Text](#text) + - [Image](#image) + - [Gradients](#gradients) + - [Attributes](#attributes) + - [Coordinate transformations](#coordinate-transformations) + - [Transform matrix](#transform-matrix) + - [Translation](#translation) + - [Scaling](#scaling) + - [Rotation](#rotation) + - [Authors](#authors) + - [License](#license) @@ -241,12 +245,30 @@ used, should always come first in a scene tree. If `radius` is given, creates a rounded rectangle. `radius` will be clamped to `Math.min(w, h)/2`. +### Arc + +```ts +["arc", attribs, [x, y], radius, startAngle, endAngle, anticlockwise?] +``` + ### Line ```ts ["line", attribs, [x1, y1], [x2, y2]] ``` +### Horizontal Line + +```ts +["hline", attribs, y] +``` + +### Vertical Line + +```ts +["vline", attribs, x] +``` + ### Polyline / Polygon ```ts From ac2f3e8360b92991c2cf06f7b4f0b275307816f4 Mon Sep 17 00:00:00 2001 From: Karsten Schmidt Date: Thu, 18 Oct 2018 22:43:04 +0100 Subject: [PATCH 19/34] feat(morton): update/add muxScaled2/3 versions, add error handling - refactor encodeScaled*() fns, extract prescale() - add vector versions of muxScaled/demuxScaled2/3() --- packages/morton/package.json | 1 + packages/morton/src/index.ts | 57 +++++++++++++++++++++++++----------- 2 files changed, 41 insertions(+), 17 deletions(-) diff --git a/packages/morton/package.json b/packages/morton/package.json index 5bd54e48e9..00134ecaa6 100644 --- a/packages/morton/package.json +++ b/packages/morton/package.json @@ -29,6 +29,7 @@ }, "dependencies": { "@thi.ng/binary": "^0.1.0", + "@thi.ng/errors": "^0.1.10", "@thi.ng/math": "^0.1.0" }, "keywords": [ diff --git a/packages/morton/src/index.ts b/packages/morton/src/index.ts index 0a60330259..c368dea5b7 100644 --- a/packages/morton/src/index.ts +++ b/packages/morton/src/index.ts @@ -1,5 +1,11 @@ +import { MASKS } from "@thi.ng/binary/api"; import { ceilPow2 } from "@thi.ng/binary/pow"; +import { illegalArgs } from "@thi.ng/errors/illegal-arguments"; import { fit, fit01 } from "@thi.ng/math/fit"; +import { inRange } from "@thi.ng/math/interval"; + +const MIN = [0, 0, 0]; +const MAX = [1, 1, 1]; export const encode5 = (x: number) => { x &= 0x0000001f; @@ -52,14 +58,19 @@ export const decode16 = (x: number) => { return x; }; +const prescale = (x: number, min: number, max: number, bits: number) => + !inRange(x, min, max) ? + illegalArgs(`value ${x} not in range [${min}..${max}]`) : + Math.round(fit(x, min, max, 0, MASKS[bits])); + export const encodeScaled5 = (x: number, min = 0, max = 1) => - encode5(Math.round(fit(x, min, max, 0, 0x1f))); + encode5(prescale(x, min, max, 5)); export const encodeScaled10 = (x: number, min = 0, max = 1) => - encode10(Math.round(fit(x, min, max, 0, 0x3ff))); + encode10(prescale(x, min, max, 10)); export const encodeScaled16 = (x: number, min = 0, max = 1) => - encode16(Math.round(fit(x, min, max, 0, 0xffff))); + encode16(prescale(x, min, max, 16)); export const decodeScaled5 = (x: number, min = 0, max = 1) => fit01(decode5(x) / 0x1f, min, max); @@ -82,32 +93,44 @@ export const demux2 = (n: number) => export const demux3 = (n: number) => [decode10(n), decode10(n >>> 1), decode10(n >>> 2)]; -export const muxScaled2 = (x: number, y: number, min = 0, max = 1) => +export const muxScaled2 = (x: number, y: number, minx = 0, maxx = 1, miny = minx, maxy = maxx) => ( - encodeScaled16(x, min, max) | - encodeScaled16(y, min, max) << 1 + encodeScaled16(x, minx, maxx) | + encodeScaled16(y, miny, maxy) << 1 ) >>> 0; -export const muxScaled3 = (x: number, y: number, z: number, min = 0, max = 1) => +export const muxScaled3 = (x: number, y: number, z: number, minx = 0, maxx = 1, miny = minx, maxy = maxx, minz = minx, maxz = maxx) => ( - encodeScaled10(x, min, max) | - encodeScaled10(y, min, max) << 1 | - encodeScaled10(z, min, max) << 2 + encodeScaled10(x, minx, maxx) | + encodeScaled10(y, miny, maxy) << 1 | + encodeScaled10(z, minz, maxz) << 2 ) >>> 0; -export const demuxScaled2 = (n: number, min = 0, max = 1) => +export const demuxScaled2 = (n: number, minx = 0, maxx = 1, miny = minx, maxy = maxx) => [ - decodeScaled16(n, min, max), - decodeScaled16(n >>> 1, min, max) + decodeScaled16(n, minx, maxx), + decodeScaled16(n >>> 1, miny, maxy) ]; -export const demuxScaled3 = (n: number, min = 0, max = 1) => +export const demuxScaled3 = (n: number, minx = 0, maxx = 1, miny = minx, maxy = maxx, minz = minx, maxz = maxx) => [ - decodeScaled10(n, min, max), - decodeScaled10(n >>> 1, min, max), - decodeScaled10(n >>> 2, min, max) + decodeScaled10(n, minx, maxx), + decodeScaled10(n >>> 1, miny, maxy), + decodeScaled10(n >>> 2, minz, maxz) ]; +export const muxScaled2v = (v: ArrayLike, min: ArrayLike = MIN, max: ArrayLike = MAX) => + muxScaled2(v[0], v[1], min[0], max[0], min[1], max[1]); + +export const muxScaled3v = (v: ArrayLike, min: ArrayLike = MIN, max: ArrayLike = MAX) => + muxScaled3(v[0], v[1], v[2], min[0], max[0], min[1], max[1], min[2], max[2]); + +export const demuxScaled2v = (n: number, min: ArrayLike = MIN, max: ArrayLike = MAX) => + demuxScaled2(n, min[0], max[0], min[1], max[1]); + +export const demuxScaled3v = (n: number, min: ArrayLike = MIN, max: ArrayLike = MAX) => + demuxScaled3(n, min[0], max[0], min[1], max[1], min[2], max[2]); + export const treeToMorton = (t: number[], dim: number) => { let n = 0; let m = 0; From 2469992e10b35cbf00a7d2ce53e8a64a058d394e Mon Sep 17 00:00:00 2001 From: Karsten Schmidt Date: Thu, 18 Oct 2018 22:44:57 +0100 Subject: [PATCH 20/34] build(geom-accel): update deps (add morton) --- packages/geom-accel/package.json | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/geom-accel/package.json b/packages/geom-accel/package.json index 4b0d958f08..96315c6236 100644 --- a/packages/geom-accel/package.json +++ b/packages/geom-accel/package.json @@ -30,6 +30,7 @@ "dependencies": { "@thi.ng/heaps": "^0.2.20", "@thi.ng/math": "^0.1.0", + "@thi.ng/morton": "^0.1.0", "@thi.ng/vectors": "^1.4.0" }, "keywords": [ From f891c4195e12ade30398749252a7556def0f7175 Mon Sep 17 00:00:00 2001 From: Karsten Schmidt Date: Fri, 19 Oct 2018 23:18:26 +0100 Subject: [PATCH 21/34] feat(math): add sincos() & roundEps() --- packages/math/src/angle.ts | 3 +++ packages/math/src/prec.ts | 15 +++++++++++++++ 2 files changed, 18 insertions(+) diff --git a/packages/math/src/angle.ts b/packages/math/src/angle.ts index 3dce9aa26b..a2f4200922 100644 --- a/packages/math/src/angle.ts +++ b/packages/math/src/angle.ts @@ -6,6 +6,9 @@ import { TAU } from "./api"; +export const sincos = (theta: number) => + [Math.sin(theta), Math.cos(theta)]; + export const absTheta = (theta: number) => (theta %= TAU, theta < 0 ? TAU + theta : theta); diff --git a/packages/math/src/prec.ts b/packages/math/src/prec.ts index 9d05ccaf3a..a8ffd2f347 100644 --- a/packages/math/src/prec.ts +++ b/packages/math/src/prec.ts @@ -1,3 +1,5 @@ +import { EPS } from "./api"; + /** * Returns `a - b * floor(a/b)` * @@ -15,3 +17,16 @@ export const trunc = (x: number) => export const roundTo = (x: number, prec = 1) => Math.round(x / prec) * prec; + +/** + * Only rounds `x` to nearest int if `fract(x)` < `eps` or > `1-eps`. + * + * @param x + * @param eps + */ +export const roundEps = (x: number, eps = EPS) => { + const f = fract(x); + return f <= eps || f >= 1 - eps ? + Math.round(x) : + x; +}; From 85426d98dbb034065d700e15883ba3f8d5e7f6bf Mon Sep 17 00:00:00 2001 From: Karsten Schmidt Date: Fri, 19 Oct 2018 23:19:29 +0100 Subject: [PATCH 22/34] fix(hiccup-svg): fix arc segment handling --- packages/hiccup-svg/src/api.ts | 2 +- packages/hiccup-svg/src/convert.ts | 4 ---- packages/hiccup-svg/src/path.ts | 12 +++++++++--- 3 files changed, 10 insertions(+), 8 deletions(-) diff --git a/packages/hiccup-svg/src/api.ts b/packages/hiccup-svg/src/api.ts index b4222e8a74..a91ba0e406 100644 --- a/packages/hiccup-svg/src/api.ts +++ b/packages/hiccup-svg/src/api.ts @@ -11,7 +11,7 @@ export type PathSegmentCubic = ["C" | "c", Vec2Like, Vec2Like, Vec2Like]; export type PathSegmentQuadratic = ["Q" | "q", Vec2Like, Vec2Like]; export type PathSegmentCubicChain = ["S" | "s", Vec2Like, Vec2Like]; export type PathSegmentQuadraticChain = ["T" | "t", Vec2Like]; -export type PathSegmentArc = ["A" | "a", number, number, boolean, boolean, Vec2Like]; +export type PathSegmentArc = ["A" | "a", number, number, number, boolean, boolean, Vec2Like]; export type PathSegmentClose = ["Z" | "z"]; export type PathSegment = diff --git a/packages/hiccup-svg/src/convert.ts b/packages/hiccup-svg/src/convert.ts index 0640ed26bd..9b409f3ed9 100644 --- a/packages/hiccup-svg/src/convert.ts +++ b/packages/hiccup-svg/src/convert.ts @@ -100,10 +100,6 @@ export const convertTree = (tree: any[]): any[] => { let segments: PathSegment[] = []; for (let seg of tree[2]) { switch (seg[0].toLowerCase()) { - case "a": - // TODO convert arc format - // https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/d#Elliptical_Arc_Curve - break; case "s": case "t": // TODO compute reflected control point diff --git a/packages/hiccup-svg/src/path.ts b/packages/hiccup-svg/src/path.ts index 2798681c2f..daffdf041c 100644 --- a/packages/hiccup-svg/src/path.ts +++ b/packages/hiccup-svg/src/path.ts @@ -7,9 +7,15 @@ export const path = (segments: PathSegment[], attribs?: any): any[] => { res.push(seg[0]); switch (seg[0].toLowerCase()) { case "a": - res.push(ff(seg[1]), ff(seg[2])); - res.push(seg[3] ? 1 : 0, seg[4] ? 1 : 0); - res.push(fpoint(seg[5])); + res.push([ + ff(seg[1]), + ff(seg[2]), + ff(seg[3]), + seg[4] ? 1 : 0, + seg[5] ? 1 : 0, + ff(seg[6][0]), + ff(seg[6][1]), + ].join(",")); break; case "h": case "v": From 4a47daa4b9139e6a62d07e4598206d72db2a0062 Mon Sep 17 00:00:00 2001 From: Karsten Schmidt Date: Fri, 19 Oct 2018 23:28:36 +0100 Subject: [PATCH 23/34] feat(math): migrate mixCubic()/mixQuadratic() from geom package --- packages/math/src/mix.ts | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/packages/math/src/mix.ts b/packages/math/src/mix.ts index 2d2bf719de..4ee6ecd528 100644 --- a/packages/math/src/mix.ts +++ b/packages/math/src/mix.ts @@ -22,6 +22,18 @@ export const mix = (a: number, b: number, t: number) => export const mixBilinear = (a: number, b: number, c: number, d: number, u: number, v: number) => mix(mix(a, b, u), mix(c, d, u), v); +export const mixQuadratic = (a: number, b: number, c: number, t: number) => { + const s = 1 - t; + return a * s * s + b * 2 * s * t + c * t * t; +}; + +export const mixCubic = (a: number, b: number, c: number, d: number, t: number) => { + const t2 = t * t; + const s = 1 - t; + const s2 = s * s; + return a * s2 * s + b * 3 * s2 * t + c * 3 * t2 * s + d * t2 * t; +}; + export const tween = (f: (t: number) => number, from: number, to: number) => (t: number) => mix(from, to, f(t)); From ce131d48bdd5b9bdb03e0f841d241f0ac4c7b22c Mon Sep 17 00:00:00 2001 From: Karsten Schmidt Date: Fri, 19 Oct 2018 23:46:15 +0100 Subject: [PATCH 24/34] feat(geom): add IToCubic, add/update impls - add/update .toCubic() impls for Arc2, Line2, Polyline2 - add Path2.normalize() to convert all segments to cubics - remove mixCubic/mixQuadratic() --- packages/geom/src/api.ts | 6 +- packages/geom/src/arc2.ts | 100 ++++++++++++++++++++++++++------- packages/geom/src/bezier2.ts | 54 +++++++++--------- packages/geom/src/line2.ts | 15 ++++- packages/geom/src/path2.ts | 22 ++++++-- packages/geom/src/polyline2.ts | 12 ++++ 6 files changed, 153 insertions(+), 56 deletions(-) diff --git a/packages/geom/src/api.ts b/packages/geom/src/api.ts index 05e02f7306..333cf71b61 100644 --- a/packages/geom/src/api.ts +++ b/packages/geom/src/api.ts @@ -45,7 +45,7 @@ export interface LineIntersection { export interface PathSegment { type: SegmentType; point?: Vec2; - geo?: IBoundsRaw & IVertices & IHiccupPathSegment; + geo?: IBoundsRaw & IVertices & IHiccupPathSegment & IToCubic; } export interface SamplingOpts { @@ -181,6 +181,10 @@ export interface IPointMap { unmapPoint(p: Readonly, out?: A): A; } +export interface IToCubic { + toCubic(): Iterable; +} + export interface IToPolygon { // FIXME return type should be interface toPolygon(opts?: O): any; diff --git a/packages/geom/src/arc2.ts b/packages/geom/src/arc2.ts index 6622b9f0ba..2916ef26e9 100644 --- a/packages/geom/src/arc2.ts +++ b/packages/geom/src/arc2.ts @@ -1,9 +1,16 @@ import { ICopy } from "@thi.ng/api"; import { isNumber } from "@thi.ng/checks/is-number"; import { isPlainObject } from "@thi.ng/checks/is-plain-object"; -import { HALF_PI, PI, TAU } from "@thi.ng/math/api"; +import { sincos } from "@thi.ng/math/angle"; +import { + EPS, + HALF_PI, + PI, + TAU +} from "@thi.ng/math/api"; import { inRange } from "@thi.ng/math/interval"; import { mix } from "@thi.ng/math/mix"; +import { roundEps } from "@thi.ng/math/prec"; import { range } from "@thi.ng/transducers/iter/range"; import { push } from "@thi.ng/transducers/rfn/push"; import { transduce } from "@thi.ng/transducers/transduce"; @@ -28,6 +35,7 @@ import { JsonArc2, SamplingOpts } from "./api"; +import { Cubic2 } from "./bezier2"; import { bounds } from "./internal/bounds"; import { edges } from "./internal/edges"; import { Rect2 } from "./rect2"; @@ -78,28 +86,35 @@ export class Arc2 implements const co = Math.cos(axisTheta); const si = Math.sin(axisTheta); const m = a.subNew(b).mulN(0.5); - const p = new Vec2([co * m.x + si * m.y, -si * m.x + co * m.y]); - const px2 = p.x * p.x; - const py2 = p.y * p.y; + const px = co * m.x + si * m.y; + const py = -si * m.x + co * m.y; + const px2 = px * px; + const py2 = py * py; + const l = px2 / (r.x * r.x) + py2 / (r.y * r.y); l > 1 && r.mulN(Math.sqrt(l)); + const rx2 = r.x * r.x; const ry2 = r.y * r.y; const rxpy = rx2 * py2; const rypx = ry2 * px2; - const root = ((large === clockwise) ? -1 : 1) * - Math.sqrt(Math.abs((rx2 * ry2 - rxpy - rypx)) / (rxpy + rypx)); - const tc = new Vec2([r.x * p.y / r.y, -r.y * p.x / r.x]).mulN(root); - const c = new Vec2([co * tc.x - si * tc.y, si * tc.x + co * tc.y]).add(a.mixNewN(b)); - const d1 = new Vec2([(p.x - tc.x) / r.x, (p.y - tc.y) / r.y]); - const d2 = new Vec2([(-p.x - tc.x) / r.x, (-p.y - tc.y) / r.y]); + const rad = ((large === clockwise) ? -1 : 1) * + Math.sqrt(Math.max(0, rx2 * ry2 - rxpy - rypx) / (rxpy + rypx)); + + const tc = new Vec2([rad * r.x / r.y * py, rad * -r.y / r.x * px]); + const c = new Vec2([co * tc.x - si * tc.y + (a.x + b.x) / 2, si * tc.x + co * tc.y + (a.y + b.y) / 2]); + const d1 = new Vec2([(px - tc.x) / r.x, (py - tc.y) / r.y]); + const d2 = new Vec2([(-px - tc.x) / r.x, (-py - tc.y) / r.y]); + const theta = Vec2.X_AXIS.angleBetween(d1, true); let delta = d1.angleBetween(d2, true); + if (clockwise && delta < 0) { delta += TAU; } else if (!clockwise && delta > 0) { delta -= TAU; } + return new Arc2(c, r, axisTheta, theta, theta + delta, large, clockwise); } @@ -175,8 +190,9 @@ export class Arc2 implements return this.pointAtTheta(mix(this.start, this.end, t)); } - pointAtTheta(theta: number) { - return new Vec2([Math.cos(theta), Math.sin(theta)]) + pointAtTheta(theta: number, pos?: Vec2) { + return (pos || new Vec2()) + .setS(Math.cos(theta), Math.sin(theta)) .mul(this.r) .rotate(this.axis) .add(this.pos); @@ -211,21 +227,63 @@ export class Arc2 implements return Vec2.mapBuffer(pts, num); } + toCubic() { + const p = this.pointAtTheta(this.start); + const q = this.pointAtTheta(this.end); + const [rx, ry] = this.r; + const [sphi, cphi] = sincos(this.axis); + const dx = cphi * (p.x - q.x) / 2 + sphi * (p.y - q.y) / 2; + const dy = -sphi * (p.x - q.x) / 2 + cphi * (p.y - q.y) / 2; + if ((dx === 0 && dy === 0) || this.r.magSq() < EPS) { + return [Cubic2.fromLine(p, q, { ...this.attribs })]; + } + + const mapP = (x, y) => { + x *= rx; + y *= ry; + return new Vec2([ + cphi * x - sphi * y, + sphi * x + cphi * y + ]).add(this.pos); + }; + + const res: Cubic2[] = []; + const delta = this.end - this.start; + const n = Math.max(roundEps(Math.abs(delta) / HALF_PI), 1); + // https://github.com/chromium/chromium/blob/master/third_party/blink/renderer/core/svg/svg_path_parser.cc#L253 + const d = delta / n; + const t = 8 / 6 * Math.tan(0.25 * d); + if (!isFinite(t)) { + return [Cubic2.fromLine(p, q)]; + } + for (let i = n, theta = this.start; i > 0; i-- , theta += d) { + const [s1, c1] = sincos(theta); + const [s2, c2] = sincos(theta + d); + const curve = new Cubic2([ + mapP(c1, s1), + mapP(c1 - s1 * t, s1 + c1 * t), + mapP(c2 + s2 * t, s2 - c2 * t), + mapP(c2, s2), + ]); + res.push(curve); + } + return res; + } + toHiccup() { - return ["path", this.attribs, - [ - ["M", this.pointAtTheta(this.start)], - ...this.toHiccupPathSegments() - ] - ]; + return ["path", this.attribs, [ + ["M", this.pointAtTheta(this.start)], + ...this.toHiccupPathSegments() + ]]; } toHiccupPathSegments() { return [["A", - this.r, + this.r.x, + this.r.y, this.axis, - this.xl ? 1 : 0, - this.clockwise ? 1 : 0, + this.xl, + this.clockwise, this.pointAtTheta(this.end) ]]; } diff --git a/packages/geom/src/bezier2.ts b/packages/geom/src/bezier2.ts index 4af770b8ea..b3e6da3469 100644 --- a/packages/geom/src/bezier2.ts +++ b/packages/geom/src/bezier2.ts @@ -1,12 +1,14 @@ import { ICopy } from "@thi.ng/api"; import { isNumber } from "@thi.ng/checks/is-number"; import { isPlainObject } from "@thi.ng/checks/is-plain-object"; -import { IMath, ReadonlyVec, Vec } from "@thi.ng/vectors/api"; import { clamp01 } from "@thi.ng/math/interval"; +import { mixCubic as _mixC, mixQuadratic as _mixQ } from "@thi.ng/math/mix"; +import { IMath, ReadonlyVec, Vec } from "@thi.ng/vectors/api"; import { Vec2 } from "@thi.ng/vectors/vec2"; import { Attribs, DEFAULT_SAMPLES, + IToCubic, IVertices, JsonCubic2, JsonQuadratic2, @@ -16,18 +18,6 @@ import { PointContainer2 } from "./container2"; import { args3, args4 } from "./internal/args"; import { Sampler } from "./sampler"; -export const mixQuadratic1 = (a: number, b: number, c: number, t: number) => { - const s = 1 - t; - return a * s * s + b * 2 * s * t + c * t * t; -}; - -export const mixCubic1 = (a: number, b: number, c: number, d: number, t: number) => { - const t2 = t * t; - const s = 1 - t; - const s2 = s * s; - return a * s2 * s + b * 3 * s2 * t + c * 3 * t2 * s + d * t2 * t; -}; - export const mixQuadratic = & IMath>(a: T, b: T, c: T, t: number) => { const s = 1 - t; return a.mulNewN(s * s) @@ -55,7 +45,7 @@ const cubicAxisBounds = (pa: number, pb: number, pc: number, pd: number) => { const bounds = (t: number) => { if (t > 0 && t < 1) { - const x = mixCubic1(pa, pb, pc, pd, t); + const x = _mixC(pa, pb, pc, pd, t); x < l && (l = x); x > h && (h = x); } @@ -73,14 +63,15 @@ const cubicAxisBounds = (pa: number, pb: number, pc: number, pd: number) => { }; export class Cubic2 extends PointContainer2 implements + IToCubic, IVertices> { static fromJSON(spec: JsonCubic2) { return cubic2(spec.points, spec.attribs); } - static fromLine(a: Vec2, b: Vec2) { - return new Cubic2([a, a.mixNewN(b, 1 / 3), b.mixNewN(a, 1 / 3), b]); + static fromLine(a: Vec2, b: Vec2, attribs?: Attribs) { + return new Cubic2([a, a.mixNewN(b, 1 / 3), b.mixNewN(a, 1 / 3), b], attribs); } copy() { @@ -147,14 +138,18 @@ export class Cubic2 extends PointContainer2 implements const delta = 1 / opts.num; for (let t = 0; t < opts.num; t++) { res.push( - mixCubic1(a.x, b.x, c.x, d.x, t * delta), - mixCubic1(a.y, b.y, c.y, d.y, t * delta) + _mixC(a.x, b.x, c.x, d.x, t * delta), + _mixC(a.y, b.y, c.y, d.y, t * delta) ); } opts.last && res.push(d.x, d.y); return Vec2.mapBuffer(res); } + toCubic() { + return [this]; + } + toHiccup() { return ["path", this.attribs, [ @@ -175,14 +170,15 @@ export class Cubic2 extends PointContainer2 implements } export class Quadratic2 extends PointContainer2 implements + IToCubic, IVertices> { static fromJSON(spec: JsonQuadratic2) { return quadratic2(spec.points, spec.attribs); } - static fromLine(a: Vec2, b: Vec2) { - return new Quadratic2([a, a.mixNewN(b), b]); + static fromLine(a: Vec2, b: Vec2, attribs?: Attribs) { + return new Quadratic2([a, a.mixNewN(b), b], attribs); } copy() { @@ -263,8 +259,8 @@ export class Quadratic2 extends PointContainer2 implements const [a, b, c] = this.points; for (let t = 0; t < opts.num; t++) { res.push( - mixQuadratic1(a.x, b.x, c.x, t * delta), - mixQuadratic1(a.y, b.y, c.y, t * delta) + _mixQ(a.x, b.x, c.x, t * delta), + _mixQ(a.y, b.y, c.y, t * delta) ); } opts.last && res.push(c.x, c.y); @@ -273,12 +269,14 @@ export class Quadratic2 extends PointContainer2 implements toCubic() { const [a, b, c] = this.points; - return new Cubic2([ - a.copy(), - a.mulNewN(1 / 3).maddN(b, 2 / 3), - c.mulNewN(1 / 3).maddN(b, 2 / 3), - c.copy() - ]); + return [ + new Cubic2([ + a.copy(), + a.mulNewN(1 / 3).maddN(b, 2 / 3), + c.mulNewN(1 / 3).maddN(b, 2 / 3), + c.copy() + ]) + ]; } toHiccup() { diff --git a/packages/geom/src/line2.ts b/packages/geom/src/line2.ts index 4c90fac069..0b98609b26 100644 --- a/packages/geom/src/line2.ts +++ b/packages/geom/src/line2.ts @@ -3,14 +3,21 @@ import { isNumber } from "@thi.ng/checks/is-number"; import { isPlainObject } from "@thi.ng/checks/is-plain-object"; import { ReadonlyVec, Vec } from "@thi.ng/vectors/api"; import { asVec2, Vec2 } from "@thi.ng/vectors/vec2"; -import { Attribs, HiccupLine2, SamplingOpts } from "./api"; +import { + Attribs, + HiccupLine2, + IToCubic, + SamplingOpts +} from "./api"; +import { Cubic2 } from "./bezier2"; import { PointContainer2 } from "./container2"; import { liangBarsky2 } from "./internal/liang-barsky"; import { intersectLines2 } from "./internal/line-intersection"; import { Rect2 } from "./rect2"; import { Sampler } from "./sampler"; -export class Line2 extends PointContainer2 { +export class Line2 extends PointContainer2 implements + IToCubic { constructor(points: Vec2[], attribs?: Attribs) { if (points.length > 2) { @@ -63,6 +70,10 @@ export class Line2 extends PointContainer2 { } } + toCubic() { + return [Cubic2.fromLine(this.points[0], this.points[1], { ...this.attribs })]; + } + toHiccup(): HiccupLine2 { return ["line", this.attribs || {}, this.points[0], this.points[1]]; } diff --git a/packages/geom/src/path2.ts b/packages/geom/src/path2.ts index eedf1c3ab1..f826489522 100644 --- a/packages/geom/src/path2.ts +++ b/packages/geom/src/path2.ts @@ -1,4 +1,5 @@ import { isNumber } from "@thi.ng/checks/is-number"; +import { implementsFunction } from "@thi.ng/checks/implements-function"; import { rad } from "@thi.ng/math/angle"; import { eqDelta } from "@thi.ng/math/eqdelta"; import { ensureArray } from "@thi.ng/transducers/func/ensure-array"; @@ -21,6 +22,8 @@ import { Polygon2 } from "./polygon2"; import { Polyline2 } from "./polyline2"; import { Rect2 } from "./rect2"; import { simplifyPolyline } from "./internal/douglas–peucker"; +import { mapcat } from "@thi.ng/transducers/xform/mapcat"; +import { map } from "@thi.ng/transducers/xform/map"; export class Path2 implements Iterable, @@ -83,7 +86,7 @@ export class Path2 implements }); points = null; } else { - res.push(s); + res.push({ ...s }); } } if (points) { @@ -93,8 +96,7 @@ export class Path2 implements type: SegmentType.POLYLINE, }); } - this.segments = res; - return this; + return new Path2(res); } vertices(opts?: number | Partial) { @@ -104,13 +106,25 @@ export class Path2 implements const s = segs[i]; if (s.geo) { const v = ensureArray(s.geo.vertices({ ..._opts, last: i === n && !this.closed })); - // console.log(i, SegmentType[s.type], v.toString()); verts = verts.concat(v); } } return verts; } + normalize() { + return new Path2([...mapcat( + (s) => + implementsFunction(s.geo, "toCubic") ? + map( + (c) => ({ type: SegmentType.CUBIC, geo: c }), + s.geo.toCubic() + ) : + [s], + this.segments + )]); + } + toPolygon(opts?: number | Partial) { return new Polygon2(this.vertices(opts)); } diff --git a/packages/geom/src/polyline2.ts b/packages/geom/src/polyline2.ts index 4f9853c27c..37c159e4a1 100644 --- a/packages/geom/src/polyline2.ts +++ b/packages/geom/src/polyline2.ts @@ -1,5 +1,7 @@ import { ICopy, IToHiccup } from "@thi.ng/api/api"; import { isPlainObject } from "@thi.ng/checks/is-plain-object"; +import { map } from "@thi.ng/transducers/xform/map"; +import { partition } from "@thi.ng/transducers/xform/partition"; import { ReadonlyVec, Vec } from "@thi.ng/vectors/api"; import { Vec2 } from "@thi.ng/vectors/vec2"; import { @@ -7,10 +9,12 @@ import { IArcLength, IArea, IEdges, + IToCubic, IVertices, SamplingOpts, SubdivKernel } from "./api"; +import { Cubic2 } from "./bezier2"; import { PointContainer2 } from "./container2"; import { arcLength } from "./internal/arc-length"; import { argsN } from "./internal/args"; @@ -25,6 +29,7 @@ export class Polyline2 extends PointContainer2 implements ICopy, IEdges, IVertices>, + IToCubic, IToHiccup { copy() { @@ -65,6 +70,13 @@ export class Polyline2 extends PointContainer2 implements } } + toCubic() { + return map( + ([a, b]) => Cubic2.fromLine(a, b, { ...this.attribs }), + partition(2, 1, this.points) + ); + } + toHiccup() { return this._toHiccup("polyline"); } From 2cf20c907a7cefde995827044a23cd1f482dec26 Mon Sep 17 00:00:00 2001 From: Karsten Schmidt Date: Sun, 21 Oct 2018 02:33:48 +0100 Subject: [PATCH 25/34] feat(malloc): initial import @thi.ng/malloc package --- packages/malloc/.npmignore | 11 ++ packages/malloc/LICENSE | 201 +++++++++++++++++++++++++ packages/malloc/README.md | 40 +++++ packages/malloc/package.json | 42 ++++++ packages/malloc/src/index.ts | 230 +++++++++++++++++++++++++++++ packages/malloc/test/index.ts | 6 + packages/malloc/test/tsconfig.json | 10 ++ packages/malloc/tsconfig.json | 9 ++ 8 files changed, 549 insertions(+) create mode 100644 packages/malloc/.npmignore create mode 100644 packages/malloc/LICENSE create mode 100644 packages/malloc/README.md create mode 100644 packages/malloc/package.json create mode 100644 packages/malloc/src/index.ts create mode 100644 packages/malloc/test/index.ts create mode 100644 packages/malloc/test/tsconfig.json create mode 100644 packages/malloc/tsconfig.json diff --git a/packages/malloc/.npmignore b/packages/malloc/.npmignore new file mode 100644 index 0000000000..ec83d74c9d --- /dev/null +++ b/packages/malloc/.npmignore @@ -0,0 +1,11 @@ +build +coverage +dev +doc +export +src* +test +.nyc_output +tsconfig.json +*.tgz +*.html diff --git a/packages/malloc/LICENSE b/packages/malloc/LICENSE new file mode 100644 index 0000000000..8dada3edaf --- /dev/null +++ b/packages/malloc/LICENSE @@ -0,0 +1,201 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "{}" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright {yyyy} {name of copyright owner} + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/packages/malloc/README.md b/packages/malloc/README.md new file mode 100644 index 0000000000..313c82d317 --- /dev/null +++ b/packages/malloc/README.md @@ -0,0 +1,40 @@ +# @thi.ng/malloc + +[![npm (scoped)](https://img.shields.io/npm/v/@thi.ng/malloc.svg)](https://www.npmjs.com/package/@thi.ng/malloc) +![npm downloads](https://img.shields.io/npm/dm/@thi.ng/malloc.svg) +[![Twitter Follow](https://img.shields.io/twitter/follow/thing_umbrella.svg?style=flat-square&label=twitter)](https://twitter.com/thing_umbrella) + +This project is part of the +[@thi.ng/umbrella](https://github.com/thi-ng/umbrella/) monorepo. + + + + + +## About + +TODO... + +## Installation + +```bash +yarn add @thi.ng/malloc +``` + +## Dependencies + +- TODO... + +## Usage examples + +```ts +import * as g from "@thi.ng/malloc"; +``` + +## Authors + +- Karsten Schmidt + +## License + +© 2018 Karsten Schmidt // Apache Software License 2.0 diff --git a/packages/malloc/package.json b/packages/malloc/package.json new file mode 100644 index 0000000000..672c301a27 --- /dev/null +++ b/packages/malloc/package.json @@ -0,0 +1,42 @@ +{ + "name": "@thi.ng/malloc", + "version": "0.0.1", + "description": "ArrayBuffer based malloc() impl for hybrid JS/WASM use cases, based on thi.ng/tinyalloc", + "main": "./index.js", + "typings": "./index.d.ts", + "repository": { + "type": "git", + "url": "https://github.com/thi-ng/umbrella.git" + }, + "homepage": "https://github.com/thi-ng/umbrella/tree/master/packages/malloc", + "author": "Karsten Schmidt ", + "license": "Apache-2.0", + "scripts": { + "build": "yarn run clean && tsc --declaration", + "clean": "rm -rf *.js *.d.ts .nyc_output build coverage doc", + "cover": "yarn test && nyc report --reporter=lcov", + "doc": "node_modules/.bin/typedoc --mode modules --out doc src", + "pub": "yarn run build && yarn publish --access public", + "test": "rm -rf build && tsc -p test && nyc mocha build/test/*.js" + }, + "devDependencies": { + "@types/mocha": "^5.2.5", + "@types/node": "^10.12.0", + "mocha": "^5.2.0", + "nyc": "^13.1.0", + "typedoc": "^0.13.0", + "typescript": "^3.1.3" + }, + "dependencies": { + "@thi.ng/api": "^4.2.2", + "@thi.ng/binary": "^0.1.0", + "@thi.ng/checks": "^1.5.12" + }, + "keywords": [ + "ES6", + "typescript" + ], + "publishConfig": { + "access": "public" + } +} \ No newline at end of file diff --git a/packages/malloc/src/index.ts b/packages/malloc/src/index.ts new file mode 100644 index 0000000000..1a19e159dd --- /dev/null +++ b/packages/malloc/src/index.ts @@ -0,0 +1,230 @@ +import { IObjectOf, TypedArray } from "@thi.ng/api"; +import { align } from "@thi.ng/binary/align"; +import { isNumber } from "@thi.ng/checks/is-number"; + +export const enum Type { + U8, + I8, + U16, + I16, + U32, + I32, + F32, + F64 +}; + +type BlockCtor = (buf: ArrayBuffer, addr: number, num: number) => TypedArray; + +const CTORS: IObjectOf = { + [Type.U8]: (buf, addr, num) => new Uint8Array(buf, addr, num), + [Type.I8]: (buf, addr, num) => new Int8Array(buf, addr, num), + [Type.U16]: (buf, addr, num) => new Uint16Array(buf, addr, num), + [Type.I16]: (buf, addr, num) => new Int16Array(buf, addr, num), + [Type.U32]: (buf, addr, num) => new Uint32Array(buf, addr, num), + [Type.I32]: (buf, addr, num) => new Int32Array(buf, addr, num), + [Type.F32]: (buf, addr, num) => new Float32Array(buf, addr, num), + [Type.F64]: (buf, addr, num) => new Float64Array(buf, addr, num), +}; + +const SIZEOF = { + [Type.U8]: 1, + [Type.I8]: 1, + [Type.U16]: 2, + [Type.I16]: 2, + [Type.U32]: 4, + [Type.I32]: 4, + [Type.F32]: 4, + [Type.F64]: 8, +}; + +export interface MemBlock { + addr: number; + size: number; + next: MemBlock; +} + +export class MemPool { + buf: ArrayBuffer; + top: number; + end: number; + _free: MemBlock; + _used: MemBlock; + + private u8: Uint8Array; + + constructor(buf: ArrayBuffer, start = 8, end = buf.byteLength) { + this.buf = buf; + this.u8 = new Uint8Array(buf); + this.top = Math.max(start, 8); + this.end = end; + this._free = null; + this._used = null; + } + + stats() { + const listStats = (block: MemBlock) => { + let count = 0; + let size = 0; + while (block) { + count++; + size += block.size; + block = block.next; + } + return { count, size }; + }; + return { + free: listStats(this._free), + used: listStats(this._used), + top: this.top, + available: this.end - this.top, + total: this.buf.byteLength + }; + } + + callocAs(type: Type, num: number): TypedArray { + const block = this.mallocAs(type, num); + if (block) { + block.fill(0); + } + return block; + } + + mallocAs(type: Type, num: number): TypedArray { + const addr = this.malloc(num * SIZEOF[type]); + if (addr) { + return CTORS[type](this.buf, addr, num); + } + return null; + } + + calloc(size: number): number { + const addr = this.malloc(size); + if (addr) { + this.u8.fill(0, addr, align(addr + size, 8)); + } + return addr; + } + + malloc(size: number): number { + size = align(size, 8); + let block = this.findBlock(size); + if (!block) { + const addr = align(this.top, 8); + if (addr + size <= this.end) { + block = { + addr, + size, + next: this._used + }; + this._used = block; + this.top = addr + size; + } else { + return 0; + } + } + if (block) { + return block.addr; + } + return 0; + } + + free(ptr: number | TypedArray) { + let addr: number; + if (!isNumber(ptr)) { + if (ptr.buffer !== this.buf) { + return 0; + } + addr = ptr.byteOffset; + } else { + addr = ptr; + } + let block = this._used; + let prev: MemBlock = null; + while (block) { + if (block.addr === addr) { + if (prev) { + prev.next = block.next; + } else { + this._used = block.next; + } + this.insertBlock(block); + return 1; + } + prev = block; + block = block.next; + } + return 0; + } + + // compact() { + // let ptr = this._free; + // let prev: MemBlock; + // let scan: MemBlock; + // while (ptr) { + // prev = ptr; + // scan = ptr.next; + // while (scan && prev.addr + prev.size === scan.addr) { + // console.log("merge:", scan.addr, scan.size); + // prev = scan; + // scan = scan.next; + // } + // if (prev !== ptr) { + // const newSize = prev.addr - ptr.addr + prev.size; + // console.log("new size:", newSize); + // ptr.size = newSize; + // const next = prev.next; + // let tmp = ptr.next; + // while (tmp !== prev.next) { + // console.log("release:", tmp.addr); + // const tn = tmp.next; + // tmp.next = null; + // tmp = tn; + // } + // ptr.next = next; + // } + // ptr = ptr.next; + // } + // } + + protected findBlock(size: number) { + let block = this._free; + let prev: MemBlock = null; + while (block) { + if (block.size >= size) { + if (prev) { + prev.next = block.next; + } + block.next = this._used; + this._used = block; + return block; + } + prev = block; + block = block.next; + } + return block; + } + + protected insertBlock(free: MemBlock) { + let block = this._free; + let prev = null; + while (block) { + if (block.size >= free.size) { + free.next = block; + if (prev) { + prev.next = free; + } else { + this._free = free; + } + return; + } + prev = block; + block = block.next; + } + free.next = null; + if (prev) { + prev.next = free; + } else { + this._free = free; + } + } +} diff --git a/packages/malloc/test/index.ts b/packages/malloc/test/index.ts new file mode 100644 index 0000000000..6b3f287746 --- /dev/null +++ b/packages/malloc/test/index.ts @@ -0,0 +1,6 @@ +// import * as assert from "assert"; +// import { MemPool, Type } from "../src/index"; + +describe("malloc", () => { + it("tests pending"); +}); diff --git a/packages/malloc/test/tsconfig.json b/packages/malloc/test/tsconfig.json new file mode 100644 index 0000000000..bcf29ace54 --- /dev/null +++ b/packages/malloc/test/tsconfig.json @@ -0,0 +1,10 @@ +{ + "extends": "../../../tsconfig.json", + "compilerOptions": { + "outDir": "../build" + }, + "include": [ + "./**/*.ts", + "../src/**/*.ts" + ] +} diff --git a/packages/malloc/tsconfig.json b/packages/malloc/tsconfig.json new file mode 100644 index 0000000000..bd6481a5a6 --- /dev/null +++ b/packages/malloc/tsconfig.json @@ -0,0 +1,9 @@ +{ + "extends": "../../tsconfig.json", + "compilerOptions": { + "outDir": "." + }, + "include": [ + "./src/**/*.ts" + ] +} From 89f2bc28ea0f6e5915e79cab6009aab51878327c Mon Sep 17 00:00:00 2001 From: Karsten Schmidt Date: Sun, 21 Oct 2018 04:37:01 +0100 Subject: [PATCH 26/34] feat(malloc): re-add block compaction & splitting, update readme --- packages/malloc/README.md | 62 ++++++++++++- packages/malloc/src/index.ts | 175 ++++++++++++++++++----------------- 2 files changed, 147 insertions(+), 90 deletions(-) diff --git a/packages/malloc/README.md b/packages/malloc/README.md index 313c82d317..2957c91332 100644 --- a/packages/malloc/README.md +++ b/packages/malloc/README.md @@ -9,11 +9,22 @@ This project is part of the +- [About](#about) +- [Installation](#installation) +- [Dependencies](#dependencies) +- [Usage examples](#usage-examples) +- [Authors](#authors) +- [License](#license) + ## About -TODO... +A TypeScript port of +[thi.ng/tinyalloc](https://github.com/thi-ng/tinyalloc) for hybrid +JS/WASM use cases... + +See see thi.ng/tinyalloc for diagram and further details. ## Installation @@ -23,12 +34,55 @@ yarn add @thi.ng/malloc ## Dependencies -- TODO... +- [@thi.ng/api](https://github.com/thi-ng/umbrella/tree/master/packages/api) +- [@thi.ng/binary](https://github.com/thi-ng/umbrella/tree/master/packages/binary) +- [@thi.ng/checks](https://github.com/thi-ng/umbrella/tree/master/packages/checks) ## Usage examples ```ts -import * as g from "@thi.ng/malloc"; +import { MemPool, Type } from "@thi.ng/malloc"; + +// create memory w/ optional start allocation address +// (start address can't be zero, reserved for malloc/calloc failure) +const pool = new MemPool(new ArrayBuffer(0x1000), 8); + +// all memory blocks will be aligned to 8-byte boundaries +// size is given in bytes +ptr = pool.malloc(16); +// 8 + +// request memory and return as typed view +// in this case we use number of elements, NOT bytes +vec = pool.mallocAs(Type.F64, 4); +// Float64Array [ 0, 0, 0, 0 ] + +pool.stats(); +// { free: { count: 0, size: 0 }, +// used: { count: 2, size: 48 }, +// top: 56, +// available: 4040, +// total: 4096 } + +// release address or view back into pool / heap +pool.free(ptr); +// true +pool.free(vec); +// true + +// pointers / views can only be freed once +pool.free(vec); +// false + +// memory blocks are re-merged whenever possible +// likewise, available free blocks might be split +// if smaller size requested... +pool.stats(); +// { free: { count: 1, size: 48 }, +// used: { count: 0, size: 0 }, +// top: 56, +// available: 4040, +// total: 4096 } ``` ## Authors @@ -37,4 +91,4 @@ import * as g from "@thi.ng/malloc"; ## License -© 2018 Karsten Schmidt // Apache Software License 2.0 +© 2016 - 2018 Karsten Schmidt // Apache Software License 2.0 diff --git a/packages/malloc/src/index.ts b/packages/malloc/src/index.ts index 1a19e159dd..9e419c5fb6 100644 --- a/packages/malloc/src/index.ts +++ b/packages/malloc/src/index.ts @@ -44,13 +44,16 @@ export interface MemBlock { } export class MemPool { + + static MIN_SPLIT = 16; + buf: ArrayBuffer; top: number; end: number; _free: MemBlock; _used: MemBlock; - private u8: Uint8Array; + protected u8: Uint8Array; constructor(buf: ArrayBuffer, start = 8, end = buf.byteLength) { this.buf = buf; @@ -83,47 +86,69 @@ export class MemPool { callocAs(type: Type, num: number): TypedArray { const block = this.mallocAs(type, num); - if (block) { - block.fill(0); - } + block && block.fill(0); return block; } mallocAs(type: Type, num: number): TypedArray { const addr = this.malloc(num * SIZEOF[type]); - if (addr) { - return CTORS[type](this.buf, addr, num); - } - return null; + return addr ? + CTORS[type](this.buf, addr, num) : + null; } calloc(size: number): number { const addr = this.malloc(size); - if (addr) { - this.u8.fill(0, addr, align(addr + size, 8)); - } + addr && this.u8.fill(0, addr, align(addr + size, 8)); return addr; } malloc(size: number): number { size = align(size, 8); - let block = this.findBlock(size); - if (!block) { - const addr = align(this.top, 8); - if (addr + size <= this.end) { - block = { - addr, - size, - next: this._used - }; + let top = this.top; + let block = this._free; + let prev = null; + while (block) { + const isTop = block.addr + block.size >= top; + if (isTop || block.size >= size) { + if (prev) { + prev.next = block.next; + } else { + this._free = block.next; + } + block.next = this._used; this._used = block; - this.top = addr + size; - } else { - return 0; + if (isTop) { + block.size = size; + this.top = block.addr + size; + } else { + const excess = block.size - size; + if (excess >= MemPool.MIN_SPLIT) { + block.size = size; + this.insertBlock({ + addr: block.addr + size, + size: excess, + next: null + }); + this.compact(); + } + } + return block.addr; } + prev = block; + block = block.next; } - if (block) { - return block.addr; + const addr = align(this.top, 8); + top = addr + size; + if (top <= this.end) { + block = { + addr, + size, + next: this._used + }; + this._used = block; + this.top = top; + return addr; } return 0; } @@ -132,7 +157,7 @@ export class MemPool { let addr: number; if (!isNumber(ptr)) { if (ptr.buffer !== this.buf) { - return 0; + return false; } addr = ptr.byteOffset; } else { @@ -148,83 +173,61 @@ export class MemPool { this._used = block.next; } this.insertBlock(block); - return 1; + this.compact(); + return true; } prev = block; block = block.next; } - return 0; + return false; } - // compact() { - // let ptr = this._free; - // let prev: MemBlock; - // let scan: MemBlock; - // while (ptr) { - // prev = ptr; - // scan = ptr.next; - // while (scan && prev.addr + prev.size === scan.addr) { - // console.log("merge:", scan.addr, scan.size); - // prev = scan; - // scan = scan.next; - // } - // if (prev !== ptr) { - // const newSize = prev.addr - ptr.addr + prev.size; - // console.log("new size:", newSize); - // ptr.size = newSize; - // const next = prev.next; - // let tmp = ptr.next; - // while (tmp !== prev.next) { - // console.log("release:", tmp.addr); - // const tn = tmp.next; - // tmp.next = null; - // tmp = tn; - // } - // ptr.next = next; - // } - // ptr = ptr.next; - // } - // } - - protected findBlock(size: number) { + protected compact() { let block = this._free; - let prev: MemBlock = null; + let prev: MemBlock; + let scan: MemBlock; + let res = false; while (block) { - if (block.size >= size) { - if (prev) { - prev.next = block.next; + prev = block; + scan = block.next; + while (scan && prev.addr + prev.size === scan.addr) { + // console.log("merge:", scan.addr, scan.size); + prev = scan; + scan = scan.next; + } + if (prev !== block) { + const newSize = prev.addr - block.addr + prev.size; + // console.log("merged size:", newSize); + block.size = newSize; + const next = prev.next; + let tmp = block.next; + while (tmp !== prev.next) { + // console.log("release:", tmp.addr); + const tn = tmp.next; + tmp.next = null; + tmp = tn; } - block.next = this._used; - this._used = block; - return block; + block.next = next; + res = true; } - prev = block; block = block.next; } - return block; + return res; } - protected insertBlock(free: MemBlock) { - let block = this._free; - let prev = null; - while (block) { - if (block.size >= free.size) { - free.next = block; - if (prev) { - prev.next = free; - } else { - this._free = free; - } - return; - } - prev = block; - block = block.next; + protected insertBlock(block: MemBlock) { + let ptr = this._free; + let prev: MemBlock = null; + while (ptr) { + if (block.addr <= ptr.addr) break; + prev = ptr; + ptr = ptr.next; } - free.next = null; if (prev) { - prev.next = free; + prev.next = block; } else { - this._free = free; + this._free = block; } + block.next = ptr; } } From 787102a4fd33f900ccc73b798b9831daa2ea8818 Mon Sep 17 00:00:00 2001 From: Karsten Schmidt Date: Sun, 21 Oct 2018 14:05:13 +0100 Subject: [PATCH 27/34] fix(malloc): add size check, update readme --- packages/malloc/README.md | 10 +++++++--- packages/malloc/src/index.ts | 3 +++ 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/packages/malloc/README.md b/packages/malloc/README.md index 2957c91332..5b40ef379d 100644 --- a/packages/malloc/README.md +++ b/packages/malloc/README.md @@ -21,10 +21,13 @@ This project is part of the ## About A TypeScript port of -[thi.ng/tinyalloc](https://github.com/thi-ng/tinyalloc) for hybrid -JS/WASM use cases... +[thi.ng/tinyalloc](https://github.com/thi-ng/tinyalloc), for raw or +typed array memory pooling and/or hybrid JS/WASM use cases etc. -See see thi.ng/tinyalloc for diagram and further details. +For now see thi.ng/tinyalloc for allocation strategy, block splitting / +merging and further details. Unlike the original, this implementation +does not constrain the overall number of blocks in use and the only +imposed limit in that of the underlying array buffer. ## Installation @@ -49,6 +52,7 @@ const pool = new MemPool(new ArrayBuffer(0x1000), 8); // all memory blocks will be aligned to 8-byte boundaries // size is given in bytes +// returns pointer / index in array buffer ptr = pool.malloc(16); // 8 diff --git a/packages/malloc/src/index.ts b/packages/malloc/src/index.ts index 9e419c5fb6..f2045703b9 100644 --- a/packages/malloc/src/index.ts +++ b/packages/malloc/src/index.ts @@ -104,6 +104,9 @@ export class MemPool { } malloc(size: number): number { + if (size <= 0) { + return 0; + } size = align(size, 8); let top = this.top; let block = this._free; From 40f07876c6f5b1b6afb5560814e02e1cbab23756 Mon Sep 17 00:00:00 2001 From: Karsten Schmidt Date: Sun, 21 Oct 2018 14:45:42 +0100 Subject: [PATCH 28/34] docs(malloc): add docs to readme --- packages/malloc/README.md | 51 ++++++++++++++++++++++++++++++++++-- packages/malloc/src/index.ts | 9 ++++--- 2 files changed, 55 insertions(+), 5 deletions(-) diff --git a/packages/malloc/README.md b/packages/malloc/README.md index 5b40ef379d..fd8010d7a6 100644 --- a/packages/malloc/README.md +++ b/packages/malloc/README.md @@ -13,6 +13,13 @@ This project is part of the - [Installation](#installation) - [Dependencies](#dependencies) - [Usage examples](#usage-examples) +- [API](#api) + - [`malloc(size: number)`](#mallocsize-number) + - [`mallocAs(type: Type, num: number)`](#mallocastype-type-num-number) + - [`calloc(size: number)`](#callocsize-number) + - [`callocAs(type: Type, num: number)`](#callocastype-type-num-number) + - [`free(addr: number | TypedArray)`](#freeaddr-number--typedarray) + - [`stats()`](#stats) - [Authors](#authors) - [License](#license) @@ -20,11 +27,14 @@ This project is part of the ## About -A TypeScript port of +TypeScript port of [thi.ng/tinyalloc](https://github.com/thi-ng/tinyalloc), for raw or typed array memory pooling and/or hybrid JS/WASM use cases etc. -For now see thi.ng/tinyalloc for allocation strategy, block splitting / +Each `MemPool` instance operates on a single large `ArrayBuffer` used as +backing memory chunk, e.g. the same buffer used by a WASM module. + +For now see tinyalloc docs for allocation strategy, block splitting / merging and further details. Unlike the original, this implementation does not constrain the overall number of blocks in use and the only imposed limit in that of the underlying array buffer. @@ -89,6 +99,43 @@ pool.stats(); // total: 4096 } ``` +## API + +### `malloc(size: number)` + +Attempts to allocate a new block of memory of given byte size and +returns start address if successful, or zero (`0`) if unsuccessful. +Memory blocks always start at multiples of 8. + +### `mallocAs(type: Type, num: number)` + +Similar to `malloc()`, but returns a typed array view of desired `type` +and instead of byte size, expects number of elements. Returns `null`, if +allocation failed. + +Types are referred to via the `Type` enum, e.g. `Type.F64`: + +`U8`, `U8C`, `I8`, `U16`, `I16`, `U32`, `I32`, `F32`, `F64` + +### `calloc(size: number)` + +Like `malloc()` but zeroes allocated block before returning. + +### `callocAs(type: Type, num: number)` + +Like `mallocAs()` but zeroes allocated block before returning. + +### `free(addr: number | TypedArray)` + +Releases given address or array view back into the pool. Returns `true` +if successful. Only previously allocated addresses or views created by +this instance can be freed and its the user's responsibility to not use +the freed address or view after this call. + +### `stats()` + +Returns pool statistics (see above example). + ## Authors - Karsten Schmidt diff --git a/packages/malloc/src/index.ts b/packages/malloc/src/index.ts index f2045703b9..eacd0977a9 100644 --- a/packages/malloc/src/index.ts +++ b/packages/malloc/src/index.ts @@ -4,6 +4,7 @@ import { isNumber } from "@thi.ng/checks/is-number"; export const enum Type { U8, + U8C, I8, U16, I16, @@ -17,6 +18,7 @@ type BlockCtor = (buf: ArrayBuffer, addr: number, num: number) => TypedArray; const CTORS: IObjectOf = { [Type.U8]: (buf, addr, num) => new Uint8Array(buf, addr, num), + [Type.U8C]: (buf, addr, num) => new Uint8ClampedArray(buf, addr, num), [Type.I8]: (buf, addr, num) => new Int8Array(buf, addr, num), [Type.U16]: (buf, addr, num) => new Uint16Array(buf, addr, num), [Type.I16]: (buf, addr, num) => new Int16Array(buf, addr, num), @@ -28,6 +30,7 @@ const CTORS: IObjectOf = { const SIZEOF = { [Type.U8]: 1, + [Type.U8C]: 1, [Type.I8]: 1, [Type.U16]: 2, [Type.I16]: 2, @@ -128,7 +131,7 @@ export class MemPool { const excess = block.size - size; if (excess >= MemPool.MIN_SPLIT) { block.size = size; - this.insertBlock({ + this.insert({ addr: block.addr + size, size: excess, next: null @@ -175,7 +178,7 @@ export class MemPool { } else { this._used = block.next; } - this.insertBlock(block); + this.insert(block); this.compact(); return true; } @@ -218,7 +221,7 @@ export class MemPool { return res; } - protected insertBlock(block: MemBlock) { + protected insert(block: MemBlock) { let ptr = this._free; let prev: MemBlock = null; while (ptr) { From 4b72cda6beed9137255b2e091ed776c18f72ee7e Mon Sep 17 00:00:00 2001 From: Karsten Schmidt Date: Sun, 21 Oct 2018 19:43:39 +0100 Subject: [PATCH 29/34] feat(malloc): add freeAll(), release(), tests & benchmarks, update docs --- packages/malloc/README.md | 26 +++++ packages/malloc/bench/index.js | 58 ++++++++++++ packages/malloc/src/index.ts | 26 ++++- packages/malloc/test/index.ts | 168 ++++++++++++++++++++++++++++++++- 4 files changed, 272 insertions(+), 6 deletions(-) create mode 100644 packages/malloc/bench/index.js diff --git a/packages/malloc/README.md b/packages/malloc/README.md index fd8010d7a6..9ed480f542 100644 --- a/packages/malloc/README.md +++ b/packages/malloc/README.md @@ -14,12 +14,14 @@ This project is part of the - [Dependencies](#dependencies) - [Usage examples](#usage-examples) - [API](#api) + - [MemPool](#mempool) - [`malloc(size: number)`](#mallocsize-number) - [`mallocAs(type: Type, num: number)`](#mallocastype-type-num-number) - [`calloc(size: number)`](#callocsize-number) - [`callocAs(type: Type, num: number)`](#callocastype-type-num-number) - [`free(addr: number | TypedArray)`](#freeaddr-number--typedarray) - [`stats()`](#stats) +- [Benchmarks](#benchmarks) - [Authors](#authors) - [License](#license) @@ -34,6 +36,10 @@ typed array memory pooling and/or hybrid JS/WASM use cases etc. Each `MemPool` instance operates on a single large `ArrayBuffer` used as backing memory chunk, e.g. the same buffer used by a WASM module. +Even for non-WASM use cases, using this package can drastically speed up +allocation of typed arrays and reduce GC pressure. See +[benchmarks](#benchmarks) below. + For now see tinyalloc docs for allocation strategy, block splitting / merging and further details. Unlike the original, this implementation does not constrain the overall number of blocks in use and the only @@ -101,6 +107,12 @@ pool.stats(); ## API +### MemPool + +The `MemPool` constructor takes an `ArrayBuffer` and optional start and +end addresses (byte offsets) delineating the allocatable / managed +region. The default `start` address is 0x00000008 and end the length of the buffer. This start address is also the minimum supported address for memory blocks. Address 0x0 is reserved as return value for allocation errors. + ### `malloc(size: number)` Attempts to allocate a new block of memory of given byte size and @@ -136,6 +148,20 @@ the freed address or view after this call. Returns pool statistics (see above example). +## Benchmarks + +```bash +node bench/index.js +``` + +```text +1x f64x4 malloc x 8,712,284 ops/sec ±0.39% (92 runs sampled) mean: 0.00011ms +1x f64x4 vanilla x 1,714,557 ops/sec ±2.18% (82 runs sampled) mean: 0.00058ms + +6x f64 malloc x 704,920 ops/sec ±1.20% (91 runs sampled) mean: 0.00142ms +6x f64 vanilla x 251,799 ops/sec ±1.87% (84 runs sampled) mean: 0.00397ms +``` + ## Authors - Karsten Schmidt diff --git a/packages/malloc/bench/index.js b/packages/malloc/bench/index.js new file mode 100644 index 0000000000..407af966f4 --- /dev/null +++ b/packages/malloc/bench/index.js @@ -0,0 +1,58 @@ +"use strict"; + +const Benchmark = require("benchmark"); +const tx = require("@thi.ng/transducers"); +const m = require("../index"); + +const pool = new m.MemPool(new ArrayBuffer(1024)); +const Type = m.Type; + +const vals = [...tx.map((i) => [...tx.range(1 << i)], tx.range(6))]; + +const malloc4 = () => { + let a = pool.mallocAs(Type.F64, 4); + a.set(vals[2]); + pool.free(a); +}; + +const malloc6 = () => { + let a = pool.mallocAs(Type.F64, 8); a.set(vals[3]); + let b = pool.mallocAs(Type.F64, 16); b.set(vals[4]); + let c = pool.mallocAs(Type.F64, 1); c.set(vals[0]); + let d = pool.mallocAs(Type.F64, 32); d.set(vals[5]); + let e = pool.mallocAs(Type.F64, 2); e.set(vals[1]); + let f = pool.mallocAs(Type.F64, 4); f.set(vals[2]); + pool.free(a); + pool.free(b); + pool.free(c); + pool.free(d); + pool.free(e); + pool.free(f); +}; + +const malloc4vanilla = () => new Float64Array(vals[2]); + +const malloc6vanilla = () => { + let a = new Float64Array(vals[3]); + let b = new Float64Array(vals[4]); + let c = new Float64Array(vals[0]); + let d = new Float64Array(vals[5]); + let e = new Float64Array(vals[1]); + let f = new Float64Array(vals[2]); +}; + +new Benchmark.Suite() + .add({ name: "1x f64x4 malloc", fn: malloc4 }) + .add({ name: "1x f64x4 vanilla", fn: malloc4vanilla }) + .add({ name: "6x f64 malloc", fn: malloc6 }) + .add({ name: "6x f64 vanilla", fn: malloc6vanilla }) + .on("cycle", (event) => + console.log( + event.target.toString(), + `mean: ${(event.target.stats.mean * 1e3).toFixed(5)}ms` + ) + ) + .on("complete", function () { + console.log("Fastest is " + this.filter("fastest").map("name")); + }) + .run({ "async": false }); diff --git a/packages/malloc/src/index.ts b/packages/malloc/src/index.ts index eacd0977a9..8c8b74dd19 100644 --- a/packages/malloc/src/index.ts +++ b/packages/malloc/src/index.ts @@ -1,4 +1,4 @@ -import { IObjectOf, TypedArray } from "@thi.ng/api"; +import { IObjectOf, IRelease, TypedArray } from "@thi.ng/api"; import { align } from "@thi.ng/binary/align"; import { isNumber } from "@thi.ng/checks/is-number"; @@ -46,12 +46,14 @@ export interface MemBlock { next: MemBlock; } -export class MemPool { +export class MemPool implements + IRelease { static MIN_SPLIT = 16; buf: ArrayBuffer; top: number; + start: number; end: number; _free: MemBlock; _used: MemBlock; @@ -61,7 +63,8 @@ export class MemPool { constructor(buf: ArrayBuffer, start = 8, end = buf.byteLength) { this.buf = buf; this.u8 = new Uint8Array(buf); - this.top = Math.max(start, 8); + this.start = Math.max(start, 8); + this.top = this.start; this.end = end; this._free = null; this._used = null; @@ -188,6 +191,23 @@ export class MemPool { return false; } + freeAll() { + this._free = null; + this._used = null; + this.top = this.start; + } + + release() { + delete this._free; + delete this._used; + delete this.u8; + delete this.buf; + delete this.top; + delete this.start; + delete this.end; + return true; + } + protected compact() { let block = this._free; let prev: MemBlock; diff --git a/packages/malloc/test/index.ts b/packages/malloc/test/index.ts index 6b3f287746..f8e4c8f5f4 100644 --- a/packages/malloc/test/index.ts +++ b/packages/malloc/test/index.ts @@ -1,6 +1,168 @@ -// import * as assert from "assert"; -// import { MemPool, Type } from "../src/index"; +import * as assert from "assert"; +import { MemPool, Type } from "../src/index"; describe("malloc", () => { - it("tests pending"); + + let pool: MemPool; + + beforeEach(() => { + pool = new MemPool(new ArrayBuffer(0x100)); + }); + + it("malloc / free", () => { + assert(!pool.malloc(256), "insufficient mem"); + assert(!pool.malloc(-1), "neg size"); + assert(!pool.malloc(0), "zero size"); + + let a = pool.malloc(12); + let b = pool.malloc(31); + let c = pool.malloc(24); + assert.equal(a, 8, "a"); + assert.equal(b, a + 16, "b"); + assert.equal(c, b + 32, "c"); + assert.equal(pool.top, c + 24, "top"); + + // state check + let stats = pool.stats(); + assert.deepEqual(stats.free, { count: 0, size: 0 }); + assert.deepEqual(stats.used, { count: 3, size: 16 + 32 + 24 }); + + // free all + assert(pool.free(a), "free a"); + assert(pool.free(c), "free b"); + assert(pool.free(b), "free c"); + assert(!pool.free(b), "free b (repeat)"); + stats = pool.stats(); + assert.equal(pool.top, 8 + 16 + 32 + 24, "top2"); + assert.deepEqual(stats.free, { count: 1, size: 16 + 32 + 24 }); + assert.deepEqual(stats.used, { count: 0, size: 0 }); + + // alloc & split free block + a = pool.malloc(32); + assert.equal(a, 8, "a2"); + stats = pool.stats(); + assert.deepEqual(stats.free, { count: 0, size: 0 }); + assert.deepEqual(stats.used, { count: 1, size: 32 }); + assert.equal(pool.top, 40, "top3"); + // alloc next block & free prev + b = pool.malloc(12); + assert.equal(b, 40, "b2"); + assert(pool.free(a), "free a2"); + + // re-alloc from free & split + a = pool.malloc(8); + assert.equal(a, 8, "a3"); + stats = pool.stats(); + assert.deepEqual(stats.free, { count: 1, size: 24 }); + assert.deepEqual(stats.used, { count: 2, size: 24 }); + assert.equal(pool.top, 56, "top4"); + + // join both free blocks + assert(pool.free(b), "free b2"); + + // extend free block + top + b = pool.malloc(64); + assert.equal(b, 16, "b3"); + stats = pool.stats(); + assert.deepEqual(stats.free, { count: 0, size: 0 }); + assert.deepEqual(stats.used, { count: 2, size: 72 }); + assert.equal(pool.top, 80, "top5"); + + // alloc below min size + c = pool.malloc(1); + + // non-continous free chain + assert(pool.free(c), "free c2"); + assert(pool.free(a), "free a3"); + stats = pool.stats(); + assert.deepEqual(stats.free, { count: 2, size: 16 }); + assert.deepEqual(stats.used, { count: 1, size: 64 }); + assert.equal(pool.top, 88, "top6"); + + // alloc larger size to force walking free chain + // and then alloc @ top (reuse block @ 80) + a = pool.malloc(27); + assert.equal(a, 80, "a4"); + stats = pool.stats(); + assert.deepEqual(stats.free, { count: 1, size: 8 }); + assert.deepEqual(stats.used, { count: 2, size: 96 }); + assert.equal(pool.top, 80 + 32, "top7"); + + assert(pool.free(a), "free a4"); + assert(pool.free(b), "free b3"); + stats = pool.stats(); + assert.deepEqual(stats.free, { count: 1, size: 8 + 64 + 32 }); + assert.deepEqual(stats.used, { count: 0, size: 0 }); + assert.equal(pool.top, 8 + 8 + 64 + 32, "top8"); + + pool.freeAll(); + assert.deepEqual( + pool.stats(), + { + free: { count: 0, size: 0 }, + used: { count: 0, size: 0 }, + available: pool.buf.byteLength - 8, + total: pool.buf.byteLength, + top: 8, + } + ); + pool.release(); + }); + + it("mallocAs", () => { + assert.strictEqual(pool.mallocAs(Type.U8, 257), null); + assert.strictEqual(pool.mallocAs(Type.U16, 129), null); + assert.strictEqual(pool.mallocAs(Type.U32, 65), null); + assert.strictEqual(pool.mallocAs(Type.F64, 33), null); + assert.strictEqual(pool.mallocAs(Type.U8, -1), null); + + let a = pool.mallocAs(Type.F32, 3); + let b = pool.mallocAs(Type.F64, 3); + assert(a instanceof Float32Array, "a type"); + assert(b instanceof Float64Array, "b type"); + assert.equal(a.byteOffset, 8, "a addr"); + assert.equal(b.byteOffset, 24, "b addr"); + assert.equal(a.length, 3, "a.length"); + assert.equal(b.length, 3, "b.length"); + assert.equal(a.byteLength, 12, "a bytes"); + assert.equal(b.byteLength, 24, "b bytes"); + a.set([1, 2, 3]); + b.set([10, 20, 30]); + assert.deepEqual( + new Uint32Array(pool.buf, 8, 10), + [ + // a + 0x3f800000, + 0x40000000, + 0x40400000, + 0, + // b + 0, + 0x40240000, + 0, + 0x40340000, + 0, + 0x403e0000 + ] + ); + assert(pool.free(a), "free a"); + assert(pool.free(b), "free b"); + assert(!pool.free(a), "free a (repeat)"); + assert(!pool.free(b), "free b (repeat)"); + assert(!pool.free(new Uint16Array(1)), "free unmanaged"); + }); + + it("callocAs", () => { + let a = pool.callocAs(Type.F32, 3); + let b = pool.callocAs(Type.F64, 3); + a.set([1, 2, 3]); + b.set([10, 20, 30]); + assert(pool.free(a), "free a"); + assert(pool.free(b), "free b"); + // returned arrays are zeroed + a = pool.callocAs(Type.U32, 3); + b = pool.callocAs(Type.U32, 3); + assert.deepEqual(a, [0, 0, 0]); + assert.deepEqual(b, [0, 0, 0]); + }); }); From 6f8a896361a31ebc467c8f3ffa6202108a1eef64 Mon Sep 17 00:00:00 2001 From: Karsten Schmidt Date: Sun, 21 Oct 2018 19:50:46 +0100 Subject: [PATCH 30/34] docs: update package list --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 6c6f95ac57..72287b996f 100644 --- a/README.md +++ b/README.md @@ -69,6 +69,7 @@ packages) in the [examples](./examples) directory. | [`@thi.ng/iges`](./packages/iges) | [![version](https://img.shields.io/npm/v/@thi.ng/iges.svg)](https://www.npmjs.com/package/@thi.ng/iges) | [changelog](./packages/iges/CHANGELOG.md) | IGES format geometry serialization | | [`@thi.ng/interceptors`](./packages/interceptors) | [![version](https://img.shields.io/npm/v/@thi.ng/interceptors.svg)](https://www.npmjs.com/package/@thi.ng/interceptors) | [changelog](./packages/interceptors/CHANGELOG.md) | Composable event handlers & processor | | [`@thi.ng/iterators`](./packages/iterators) | [![version](https://img.shields.io/npm/v/@thi.ng/iterators.svg)](https://www.npmjs.com/package/@thi.ng/iterators) | [changelog](./packages/iterators/CHANGELOG.md) | ES6 generators / iterators | +| [`@thi.ng/malloc`](./packages/malloc) | [![version](https://img.shields.io/npm/v/@thi.ng/malloc.svg)](https://www.npmjs.com/package/@thi.ng/malloc) | [changelog](./packages/malloc/CHANGELOG.md) | Raw & typed array memory pool & allocator | | [`@thi.ng/math`](./packages/math) | [![version](https://img.shields.io/npm/v/@thi.ng/math.svg)](https://www.npmjs.com/package/@thi.ng/math) | [changelog](./packages/math/CHANGELOG.md) | Assorted common math functions & utilities | | [`@thi.ng/memoize`](./packages/memoize) | [![version](https://img.shields.io/npm/v/@thi.ng/memoize.svg)](https://www.npmjs.com/package/@thi.ng/memoize) | [changelog](./packages/memoize/CHANGELOG.md) | Function memoization w/ customizable caching | | [`@thi.ng/morton`](./packages/morton) | [![version](https://img.shields.io/npm/v/@thi.ng/morton.svg)](https://www.npmjs.com/package/@thi.ng/morton) | [changelog](./packages/morton/CHANGELOG.md) | Z-order-curve / Morton coding | From c387887d77b7b1f6fd1fae02413dba6d1797f58a Mon Sep 17 00:00:00 2001 From: Karsten Schmidt Date: Sun, 21 Oct 2018 20:50:17 +0100 Subject: [PATCH 31/34] docs: update package list --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 72287b996f..4acbabe383 100644 --- a/README.md +++ b/README.md @@ -59,6 +59,7 @@ packages) in the [examples](./examples) directory. | [`@thi.ng/equiv`](./packages/equiv) | [![version](https://img.shields.io/npm/v/@thi.ng/equiv.svg)](https://www.npmjs.com/package/@thi.ng/equiv) | [changelog](./packages/equiv/CHANGELOG.md) | Deep value equivalence checking | | [`@thi.ng/errors`](./packages/errors) | [![version](https://img.shields.io/npm/v/@thi.ng/errors.svg)](https://www.npmjs.com/package/@thi.ng/errors) | [changelog](./packages/errors/CHANGELOG.md) | Custom error types | | [`@thi.ng/geom`](./packages/geom) | [![version](https://img.shields.io/npm/v/@thi.ng/geom.svg)](https://www.npmjs.com/package/@thi.ng/geom) | [changelog](./packages/geom/CHANGELOG.md) | 2D geometry types & operations | +| [`@thi.ng/geom-accel`](./packages/geom-accel) | [![version](https://img.shields.io/npm/v/@thi.ng/geom-accel.svg)](https://www.npmjs.com/package/@thi.ng/geom-accel) | [changelog](./packages/geom-accel/CHANGELOG.md) | Spatial indexing data structures | | [`@thi.ng/hdom`](./packages/hdom) | [![version](https://img.shields.io/npm/v/@thi.ng/hdom.svg)](https://www.npmjs.com/package/@thi.ng/hdom) | [changelog](./packages/hdom/CHANGELOG.md) | Hiccup based VDOM & diffing | | [`@thi.ng/hdom-canvas`](./packages/hdom-canvas) | [![version](https://img.shields.io/npm/v/@thi.ng/hdom-canvas.svg)](https://www.npmjs.com/package/@thi.ng/hdom-canvas) | [changelog](./packages/hdom-canvas/CHANGELOG.md) | hdom based declarative canvas drawing | | [`@thi.ng/hdom-components`](./packages/hdom-components) | [![version](https://img.shields.io/npm/v/@thi.ng/hdom-components.svg)](https://www.npmjs.com/package/@thi.ng/hdom-components) | [changelog](./packages/hdom-components/CHANGELOG.md) | hdom based UI components | From b47e64134740e2e717bd8894d1ed69ade6101bfd Mon Sep 17 00:00:00 2001 From: Karsten Schmidt Date: Sun, 21 Oct 2018 22:14:32 +0100 Subject: [PATCH 32/34] feat(geom-accel): add KV support, update select/selectKeys() --- packages/geom-accel/README.md | 23 +++- packages/geom-accel/package.json | 2 +- packages/geom-accel/src/kdtree.ts | 189 +++++++++++++++++++----------- 3 files changed, 138 insertions(+), 76 deletions(-) diff --git a/packages/geom-accel/README.md b/packages/geom-accel/README.md index c812d3989f..dc04d2d372 100644 --- a/packages/geom-accel/README.md +++ b/packages/geom-accel/README.md @@ -20,11 +20,16 @@ This project is part of the ## About -A selection of spatial indexing approaches... +A selection of spatial indexing data structures... -- [Grid](src/grid.ts) - [k-D Tree](src/kdtree.ts) + +**TODO: reimport** + +- [Grid](src/grid.ts) - [Quadtree](src/quadtree.ts) +- [Octree](src/octree.ts) +- [Morton / Z-order](src/morton.ts) ## Installation @@ -34,12 +39,22 @@ yarn add @thi.ng/geom-accel ## Dependencies -- TODO... +- [@thi.ng/api](https://github.com/thi-ng/umbrella/tree/master/packages/api) +- [@thi.ng/heaps](https://github.com/thi-ng/umbrella/tree/master/packages/heaps) +- [@thi.ng/math](https://github.com/thi-ng/umbrella/tree/master/packages/math) +- [@thi.ng/vectors](https://github.com/thi-ng/umbrella/tree/master/packages/vectors) ## Usage examples +Please see the +[geom-knn](https://github.com/thi-ng/umbrella/tree/master/examples/geom-knn) +example for concrete usage & comments... + +[Live demo](https://demo.thi.ng/umbrella/geom-knn) | +[Source](https://github.com/thi-ng/umbrella/tree/master/examples/geom-knn) + ```ts -import * as ga from "@thi.ng/geom-accel"; +import { KdTree } from "@thi.ng/geom-accel"; ``` ## Authors diff --git a/packages/geom-accel/package.json b/packages/geom-accel/package.json index 96315c6236..1cf8ca9afd 100644 --- a/packages/geom-accel/package.json +++ b/packages/geom-accel/package.json @@ -28,9 +28,9 @@ "typescript": "^3.1.3" }, "dependencies": { + "@thi.ng/api": "^4.2.2", "@thi.ng/heaps": "^0.2.20", "@thi.ng/math": "^0.1.0", - "@thi.ng/morton": "^0.1.0", "@thi.ng/vectors": "^1.4.0" }, "keywords": [ diff --git a/packages/geom-accel/src/kdtree.ts b/packages/geom-accel/src/kdtree.ts index b5f4ff840a..5cd86491f3 100644 --- a/packages/geom-accel/src/kdtree.ts +++ b/packages/geom-accel/src/kdtree.ts @@ -1,32 +1,47 @@ +import { ICopy, IEmpty, Pair } from "@thi.ng/api/api"; import { Heap } from "@thi.ng/heaps/heap"; import { EPS } from "@thi.ng/math/api"; import { ensureArray } from "@thi.ng/transducers/func/ensure-array"; import { IDistance } from "@thi.ng/vectors/api"; -import { IEmpty } from "@thi.ng/api/api"; export type KdIndexable = IDistance & IEmpty; -export class KdNode> { +const CMP = (a, b) => b[0] - a[0]; - parent: KdNode; - l: KdNode; - r: KdNode; +export class KdNode, V> { + + parent: KdNode; + l: KdNode; + r: KdNode; d: number; - p: Readonly; + k: Readonly; + v: V; - constructor(parent: KdNode, dim: number, val: Readonly) { + constructor(parent: KdNode, dim: number, key: Readonly, val: V) { this.parent = parent; this.d = dim; - this.p = val; + this.k = key; + this.v = val; this.l = this.r = null; } - *[Symbol.iterator](): IterableIterator { - let queue: KdNode[] = [this]; + *[Symbol.iterator](): IterableIterator> { + let queue: KdNode[] = [this]; + while (queue.length) { + const n = queue.pop(); + if (n) { + yield [n.k, n.v]; + queue.push(n.r, n.l); + } + } + } + + *keys(): IterableIterator { + let queue: KdNode[] = [this]; while (queue.length) { const n = queue.pop(); if (n) { - yield n.p; + yield n.k; queue.push(n.r, n.l); } } @@ -47,37 +62,47 @@ export class KdNode> { * https://github.com/ubilabs/kd-tree-javascript * */ -export class KdTree> { +export class KdTree, V> + implements ICopy> { - root: KdNode; + root: KdNode; dim: number; protected _length: number; - constructor(dim: number, points?: Iterable) { + constructor(dim: number, pairs?: Iterable>) { this.dim = dim; this._length = 0; - this.root = points ? - this.build(ensureArray(points), 0, null) : + this.root = pairs ? + this.buildTree(ensureArray(pairs), 0, null) : null; } - [Symbol.iterator](): IterableIterator { + [Symbol.iterator](): IterableIterator> { return (this.root || [])[Symbol.iterator](); } + keys(): IterableIterator { + return this.root ? + this.root.keys() : + [][Symbol.iterator](); + } + get length() { return this._length; } - // TODO add value support (point = key) - add(p: Readonly, eps = EPS) { + copy() { + return new KdTree(this.dim, this); + } + + add(p: Readonly, v: V, eps = EPS) { eps *= eps; - const search = (node: KdNode, parent: KdNode): KdNode | false => + const search = (node: KdNode, parent: KdNode): KdNode | false => node ? - p.distSq(node.p) > eps ? + p.distSq(node.k) > eps ? search( - p[node.d] < node.p[node.d] ? node.l : node.r, + p[node.d] < node.k[node.d] ? node.l : node.r, node ) : false : @@ -85,24 +110,35 @@ export class KdTree> { const parent = search(this.root, null); if (parent === false) return false; if (parent == null) { - this.root = new KdNode(null, 0, p); + this.root = new KdNode(null, 0, p, v); } else { const dim = parent.d; - parent[p[dim] < parent.p[dim] ? "l" : "r"] = - new KdNode(parent, (dim + 1) % this.dim, p); + parent[p[dim] < parent.k[dim] ? "l" : "r"] = + new KdNode(parent, (dim + 1) % this.dim, p, v); } this._length++; return true; } - addAll(pts: Iterable) { - for (let p of pts) { - this.add(p); + addAll(pts: Iterable>, eps = EPS) { + for (let [k, v] of pts) { + this.add(k, v, eps); + } + return this; + } + + addKey(k: Readonly, eps = EPS) { + return this.add(k, null, eps); + } + + addKeys(ks: Iterable>, eps = EPS) { + for (let k of ks) { + this.add(k, null, eps); } return this; } - remove(p: Readonly) { + remove(p: Readonly) { const node = find(p, this.root, 0); if (node) { remove(node) && (this.root = null); @@ -112,28 +148,26 @@ export class KdTree> { return false; } - find(q: Readonly, eps = EPS): KdNode | undefined { + find(q: Readonly, eps = EPS): KdNode | undefined { return find(q, this.root, eps * eps); } - select(q: Readonly, maxNum: number, maxDist?: number): T[] { - const res: T[] = []; - const nodes = new Heap<[number, KdNode]>( - null, - { compare: (a, b) => b[0] - a[0] } - ); - if (maxDist) { - maxDist *= maxDist; - const c: [number, KdNode] = [maxDist, null]; - for (let i = maxNum; --i >= 0;) { - nodes.push(c); - } + select(q: Readonly, maxNum: number, maxDist?: number): Pair[] { + const res: Pair[] = []; + const src = this.buildSelection(q, maxNum, maxDist); + for (let n = src.length; --n >= 0;) { + const nn = src[n][1]; + nn && res.push([nn.k, nn.v]); } - nearest(q, nodes, this.dim, maxNum, this.root); - for (let n of nodes) { - if (n[1]) { - n[1] && res.push(n[1].p); - } + return res; + } + + selectKeys(q: Readonly, maxNum: number, maxDist?: number): K[] { + const res: K[] = []; + const src = this.buildSelection(q, maxNum, maxDist); + for (let n = src.length; --n >= 0;) { + const nn = src[n][1]; + nn && res.push(nn.k); } return res; } @@ -144,7 +178,20 @@ export class KdTree> { 0; } - protected build(points: T[], depth: number, parent: KdNode) { + protected buildSelection(q: Readonly, maxNum: number, maxDist?: number) { + const nodes = new Heap<[number, KdNode]>(null, { compare: CMP }); + if (maxDist) { + maxDist *= maxDist; + const c: [number, KdNode] = [maxDist, null]; + for (let i = maxNum; --i >= 0;) { + nodes.push(c); + } + } + nearest(q, nodes, this.dim, maxNum, this.root); + return nodes.values.sort(CMP); + } + + protected buildTree(points: Pair[], depth: number, parent: KdNode) { const n = points.length; if (n === 0) { return; @@ -152,13 +199,13 @@ export class KdTree> { this._length++; let dim = depth % this.dim; if (n === 1) { - return new KdNode(parent, dim, points[0]); + return new KdNode(parent, dim, ...points[0]); } - points.sort((a, b) => a[dim] - b[dim]); + points.sort((a, b) => a[0][dim] - b[0][dim]); const med = n >>> 1; - const node = new KdNode(parent, dim, points[med]); - node.l = this.build(points.slice(0, med), depth + 1, node); - node.r = this.build(points.slice(med + 1), depth + 1, node); + const node = new KdNode(parent, dim, ...points[med]); + node.l = this.buildTree(points.slice(0, med), depth + 1, node); + node.r = this.buildTree(points.slice(med + 1), depth + 1, node); return node; } } @@ -170,28 +217,28 @@ export class KdTree> { * @param node * @param epsSq squared epsilon / tolerance */ -const find = >(p: T, node: KdNode, epsSq: number) => { +const find = , V>(p: K, node: KdNode, epsSq: number) => { if (!node) return; - return p.distSq(node.p) <= epsSq ? + return p.distSq(node.k) <= epsSq ? node : - find(p, p[node.d] < node.p[node.d] ? node.l : node.r, epsSq); + find(p, p[node.d] < node.k[node.d] ? node.l : node.r, epsSq); }; -const findMin = >(node: KdNode, dim: number): KdNode => { +const findMin = , V>(node: KdNode, dim: number): KdNode => { if (!node) return; if (node.d === dim) { return node.l ? findMin(node.l, dim) : node; } - const q = node.p[dim]; + const q = node.k[dim]; const l = findMin(node.l, dim); const r = findMin(node.r, dim); let min = node; - if (l && l.p[dim] < q) { + if (l && l.k[dim] < q) { min = l; } - if (r && r.p[dim] < min.p[dim]) { + if (r && r.k[dim] < min.k[dim]) { min = r; } return min; @@ -202,35 +249,35 @@ const findMin = >(node: KdNode, dim: number): KdNode * * @param node */ -const remove = >(node: KdNode) => { +const remove = , V>(node: KdNode) => { if (!node.l && !node.r) { if (!node.parent) { return true; } const parent = node.parent; const pdim = parent.d; - parent[node.p[pdim] < parent.p[pdim] ? "l" : "r"] = null; + parent[node.k[pdim] < parent.k[pdim] ? "l" : "r"] = null; return; } - let next: KdNode; - let nextP: T; + let next: KdNode; + let nextP: K; if (node.r) { next = findMin(node.r, node.d); - nextP = next.p; + nextP = next.k; remove(next); - node.p = nextP; + node.k = nextP; } else { next = findMin(node.l, node.d); - nextP = next.p; + nextP = next.k; remove(next); node.r = node.l; node.l = null; - node.p = nextP; + node.k = nextP; } }; -const nearest = >(q: T, acc: Heap<[number, KdNode]>, dims: number, maxNum: number, node: KdNode) => { - const p = node.p; +const nearest = , V>(q: K, acc: Heap<[number, KdNode]>, dims: number, maxNum: number, node: KdNode) => { + const p = node.k; const ndist = q.distSq(p); if (!node.l && !node.r) { if (ndist < acc.peek()[0]) { @@ -243,7 +290,7 @@ const nearest = >(q: T, acc: Heap<[number, KdNode]>, return; } const ndim = node.d; - const tp: T = q.empty(); + const tp: K = q.empty(); for (let i = dims; --i >= 0;) { tp[i] = i === ndim ? q[i] : p[i]; } From be7acc331592ae5a2b1dc19a4b642da714790a82 Mon Sep 17 00:00:00 2001 From: Karsten Schmidt Date: Sun, 21 Oct 2018 22:21:10 +0100 Subject: [PATCH 33/34] refactor(examples): update geom-knn demo --- examples/geom-knn/src/index.ts | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/examples/geom-knn/src/index.ts b/examples/geom-knn/src/index.ts index 1bdac23bb3..44d45482ad 100644 --- a/examples/geom-knn/src/index.ts +++ b/examples/geom-knn/src/index.ts @@ -24,8 +24,7 @@ const app = (main) => { // initialize 1st point & store in tree for fast KNN searches const width = window.innerWidth; const height = window.innerHeight; - const initial = new Vec2([width / 2, height / 2, 5]); - let tree = new KdTree(2); + let tree = new KdTree(2); // return root component function, triggered by each new mouse / touch event return ({ mpos }) => { @@ -33,11 +32,13 @@ const app = (main) => { if (!(tree.length % 500)) { tree = new KdTree(2, tree); } - // the 1st time this function is executed, there will be no valid `mpos` - // so we insert the initial default point instead - mpos = mpos ? asVec2(mpos) : initial; + // the 1st invocation of this function will be via the + // `trigger()` stream defined further below. that means + // initially, there will be no valid `mpos` and so we insert a + // default point instead + mpos = mpos ? asVec2(mpos) : new Vec2([width / 2, height / 2, 5]); // record new pos in tree - tree.add(mpos); + tree.addKey(mpos); // even though we only create 2d vectors, we store a 3rd value // in the backing array, which will be later used as radius when // the point has been selected as part of a KNN query and is @@ -46,13 +47,13 @@ const app = (main) => { // select max. 200 neighbors for given mouse position, // measure execution time... let [selected, t1] = timedResult(() => - tree.select(mpos, 200, width / 4) + tree.selectKeys(mpos, 200, width / 4) ); // for each selected neighbor, perform another KNN search and // create line segments to each of these secondary matches // use `mapcat` to yield a flat array of lines let [neighbors, t2] = timedResult(() => - [...mapcat((p: Vec2) => tree.select(p, 8, width / 4).map((q) => ["line", {}, p, q]), selected)] + [...mapcat((p) => tree.selectKeys(p, 8, width / 4).map((q) => ["line", {}, p, q]), selected)] ); return ["div.overflow-hidden.sans-serif.f7", // tree stats @@ -65,9 +66,11 @@ const app = (main) => { // see: https://github.com/thi-ng/umbrella/tree/master/packages/hdom#behavior-control-attributes [_canvas, { width, height, __diff: false, __normalize: false }, // point cloud - ["points", { fill: "black" }, [...tree]], + ["points", { fill: "black" }, tree.keys()], + // selected points as circles (using 3rd array item as radius) ["g", { fill: "rgba(0,192,255,0.5)" }, ...selected.map((p) => ["circle", {}, p, p.buf[2]])], + // secondary neighbor connections ["g", { stroke: "rgba(0,0,0,0.25)" }, ...neighbors]]]; }; From 5bb513915cb3c533bd4278f6f365389b3664f4d1 Mon Sep 17 00:00:00 2001 From: Karsten Schmidt Date: Sun, 21 Oct 2018 22:38:50 +0100 Subject: [PATCH 34/34] Publish - @thi.ng/api@4.2.3 - @thi.ng/associative@0.6.13 - @thi.ng/atom@1.5.6 - @thi.ng/bench@0.3.0 - @thi.ng/binary@0.1.1 - @thi.ng/bitstream@0.4.20 - @thi.ng/cache@0.2.30 - @thi.ng/checks@1.5.13 - @thi.ng/compare@0.1.11 - @thi.ng/compose@0.2.1 - @thi.ng/csp@0.3.69 - @thi.ng/dcons@1.1.13 - @thi.ng/defmulti@0.4.1 - @thi.ng/dgraph@0.2.25 - @thi.ng/diff@1.1.4 - @thi.ng/dlogic@0.1.1 - @thi.ng/dot@0.1.17 - @thi.ng/dsp@0.1.1 - @thi.ng/equiv@0.1.13 - @thi.ng/errors@0.1.11 - @thi.ng/geom-accel@0.1.0 - @thi.ng/geom@0.2.0 - @thi.ng/hdom-canvas@0.1.7 - @thi.ng/hdom-components@2.2.12 - @thi.ng/hdom@5.0.7 - @thi.ng/heaps@0.3.0 - @thi.ng/hiccup-css@0.2.28 - @thi.ng/hiccup-svg@2.0.4 - @thi.ng/hiccup@2.4.3 - @thi.ng/iges@0.2.18 - @thi.ng/interceptors@1.8.17 - @thi.ng/iterators@4.1.34 - @thi.ng/malloc@0.1.0 - @thi.ng/math@0.2.0 - @thi.ng/memoize@0.2.5 - @thi.ng/morton@0.2.0 - @thi.ng/paths@1.6.5 - @thi.ng/pointfree-lang@0.2.24 - @thi.ng/pointfree@0.8.12 - @thi.ng/range-coder@0.1.18 - @thi.ng/resolve-map@3.0.15 - @thi.ng/rle-pack@1.0.7 - @thi.ng/router@0.1.27 - @thi.ng/rstream-csp@0.1.114 - @thi.ng/rstream-dot@0.2.53 - @thi.ng/rstream-gestures@0.5.15 - @thi.ng/rstream-graph@2.1.39 - @thi.ng/rstream-log@1.0.65 - @thi.ng/rstream-query@0.3.52 - @thi.ng/rstream@1.13.7 - @thi.ng/sax@0.5.3 - @thi.ng/strings@0.5.2 - @thi.ng/transducers-fsm@0.2.26 - @thi.ng/transducers-hdom@1.1.9 - @thi.ng/transducers-stats@0.4.13 - @thi.ng/transducers@2.2.1 - @thi.ng/unionstruct@0.1.18 - @thi.ng/vectors@1.4.1 --- packages/api/CHANGELOG.md | 8 ++++++++ packages/api/package.json | 6 +++--- packages/associative/CHANGELOG.md | 8 ++++++++ packages/associative/package.json | 18 +++++++++--------- packages/atom/CHANGELOG.md | 8 ++++++++ packages/atom/package.json | 14 +++++++------- packages/bench/CHANGELOG.md | 11 +++++++++++ packages/bench/package.json | 4 ++-- packages/binary/CHANGELOG.md | 8 ++++++++ packages/binary/package.json | 4 ++-- packages/bitstream/CHANGELOG.md | 8 ++++++++ packages/bitstream/package.json | 6 +++--- packages/cache/CHANGELOG.md | 8 ++++++++ packages/cache/package.json | 10 +++++----- packages/checks/CHANGELOG.md | 8 ++++++++ packages/checks/package.json | 4 ++-- packages/compare/CHANGELOG.md | 8 ++++++++ packages/compare/package.json | 4 ++-- packages/compose/CHANGELOG.md | 8 ++++++++ packages/compose/package.json | 8 ++++---- packages/csp/CHANGELOG.md | 8 ++++++++ packages/csp/package.json | 14 +++++++------- packages/dcons/CHANGELOG.md | 8 ++++++++ packages/dcons/package.json | 16 ++++++++-------- packages/defmulti/CHANGELOG.md | 8 ++++++++ packages/defmulti/package.json | 8 ++++---- packages/dgraph/CHANGELOG.md | 8 ++++++++ packages/dgraph/package.json | 14 +++++++------- packages/diff/CHANGELOG.md | 8 ++++++++ packages/diff/package.json | 8 ++++---- packages/dlogic/CHANGELOG.md | 8 ++++++++ packages/dlogic/package.json | 4 ++-- packages/dot/CHANGELOG.md | 8 ++++++++ packages/dot/package.json | 8 ++++---- packages/dsp/CHANGELOG.md | 8 ++++++++ packages/dsp/package.json | 6 +++--- packages/equiv/CHANGELOG.md | 8 ++++++++ packages/equiv/package.json | 4 ++-- packages/errors/CHANGELOG.md | 8 ++++++++ packages/errors/package.json | 4 ++-- packages/geom-accel/CHANGELOG.md | 12 ++++++++++++ packages/geom-accel/package.json | 12 ++++++------ packages/geom/CHANGELOG.md | 11 +++++++++++ packages/geom/package.json | 14 +++++++------- packages/hdom-canvas/CHANGELOG.md | 8 ++++++++ packages/hdom-canvas/package.json | 12 ++++++------ packages/hdom-components/CHANGELOG.md | 8 ++++++++ packages/hdom-components/package.json | 10 +++++----- packages/hdom/CHANGELOG.md | 8 ++++++++ packages/hdom/package.json | 16 ++++++++-------- packages/heaps/CHANGELOG.md | 11 +++++++++++ packages/heaps/package.json | 8 ++++---- packages/hiccup-css/CHANGELOG.md | 8 ++++++++ packages/hiccup-css/package.json | 12 ++++++------ packages/hiccup-svg/CHANGELOG.md | 11 +++++++++++ packages/hiccup-svg/package.json | 6 +++--- packages/hiccup/CHANGELOG.md | 8 ++++++++ packages/hiccup/package.json | 10 +++++----- packages/iges/CHANGELOG.md | 8 ++++++++ packages/iges/package.json | 12 ++++++------ packages/interceptors/CHANGELOG.md | 8 ++++++++ packages/interceptors/package.json | 14 +++++++------- packages/iterators/CHANGELOG.md | 8 ++++++++ packages/iterators/package.json | 10 +++++----- packages/malloc/CHANGELOG.md | 18 ++++++++++++++++++ packages/malloc/package.json | 10 +++++----- packages/math/CHANGELOG.md | 12 ++++++++++++ packages/math/package.json | 4 ++-- packages/memoize/CHANGELOG.md | 8 ++++++++ packages/memoize/package.json | 6 +++--- packages/morton/CHANGELOG.md | 11 +++++++++++ packages/morton/package.json | 10 +++++----- packages/paths/CHANGELOG.md | 8 ++++++++ packages/paths/package.json | 8 ++++---- packages/pointfree-lang/CHANGELOG.md | 8 ++++++++ packages/pointfree-lang/package.json | 10 +++++----- packages/pointfree/CHANGELOG.md | 8 ++++++++ packages/pointfree/package.json | 12 ++++++------ packages/range-coder/CHANGELOG.md | 8 ++++++++ packages/range-coder/package.json | 8 ++++---- packages/resolve-map/CHANGELOG.md | 8 ++++++++ packages/resolve-map/package.json | 10 +++++----- packages/rle-pack/CHANGELOG.md | 8 ++++++++ packages/rle-pack/package.json | 8 ++++---- packages/router/CHANGELOG.md | 8 ++++++++ packages/router/package.json | 12 ++++++------ packages/rstream-csp/CHANGELOG.md | 8 ++++++++ packages/rstream-csp/package.json | 8 ++++---- packages/rstream-dot/CHANGELOG.md | 8 ++++++++ packages/rstream-dot/package.json | 6 +++--- packages/rstream-gestures/CHANGELOG.md | 8 ++++++++ packages/rstream-gestures/package.json | 10 +++++----- packages/rstream-graph/CHANGELOG.md | 8 ++++++++ packages/rstream-graph/package.json | 18 +++++++++--------- packages/rstream-log/CHANGELOG.md | 8 ++++++++ packages/rstream-log/package.json | 14 +++++++------- packages/rstream-query/CHANGELOG.md | 8 ++++++++ packages/rstream-query/package.json | 20 ++++++++++---------- packages/rstream/CHANGELOG.md | 8 ++++++++ packages/rstream/package.json | 18 +++++++++--------- packages/sax/CHANGELOG.md | 8 ++++++++ packages/sax/package.json | 10 +++++----- packages/strings/CHANGELOG.md | 8 ++++++++ packages/strings/package.json | 8 ++++---- packages/transducers-fsm/CHANGELOG.md | 8 ++++++++ packages/transducers-fsm/package.json | 8 ++++---- packages/transducers-hdom/CHANGELOG.md | 8 ++++++++ packages/transducers-hdom/package.json | 10 +++++----- packages/transducers-stats/CHANGELOG.md | 8 ++++++++ packages/transducers-stats/package.json | 10 +++++----- packages/transducers/CHANGELOG.md | 8 ++++++++ packages/transducers/package.json | 18 +++++++++--------- packages/unionstruct/CHANGELOG.md | 8 ++++++++ packages/unionstruct/package.json | 4 ++-- packages/vectors/CHANGELOG.md | 8 ++++++++ packages/vectors/package.json | 14 +++++++------- 116 files changed, 784 insertions(+), 287 deletions(-) create mode 100644 packages/geom-accel/CHANGELOG.md create mode 100644 packages/malloc/CHANGELOG.md diff --git a/packages/api/CHANGELOG.md b/packages/api/CHANGELOG.md index e94e220a40..573994327c 100644 --- a/packages/api/CHANGELOG.md +++ b/packages/api/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [4.2.3](https://github.com/thi-ng/umbrella/compare/@thi.ng/api@4.2.2...@thi.ng/api@4.2.3) (2018-10-21) + +**Note:** Version bump only for package @thi.ng/api + + + + + ## [4.2.2](https://github.com/thi-ng/umbrella/compare/@thi.ng/api@4.2.1...@thi.ng/api@4.2.2) (2018-10-17) **Note:** Version bump only for package @thi.ng/api diff --git a/packages/api/package.json b/packages/api/package.json index dd02e08568..506ab642b8 100644 --- a/packages/api/package.json +++ b/packages/api/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/api", - "version": "4.2.2", + "version": "4.2.3", "description": "Common, generic types & interfaces for thi.ng projects", "main": "./index.js", "typings": "./index.d.ts", @@ -28,7 +28,7 @@ "typescript": "^3.1.3" }, "dependencies": { - "@thi.ng/errors": "^0.1.10" + "@thi.ng/errors": "^0.1.11" }, "keywords": [ "compare", @@ -43,4 +43,4 @@ "publishConfig": { "access": "public" } -} \ No newline at end of file +} diff --git a/packages/associative/CHANGELOG.md b/packages/associative/CHANGELOG.md index c16b614119..d0134a1e6d 100644 --- a/packages/associative/CHANGELOG.md +++ b/packages/associative/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.6.13](https://github.com/thi-ng/umbrella/compare/@thi.ng/associative@0.6.12...@thi.ng/associative@0.6.13) (2018-10-21) + +**Note:** Version bump only for package @thi.ng/associative + + + + + ## [0.6.12](https://github.com/thi-ng/umbrella/compare/@thi.ng/associative@0.6.11...@thi.ng/associative@0.6.12) (2018-10-17) **Note:** Version bump only for package @thi.ng/associative diff --git a/packages/associative/package.json b/packages/associative/package.json index f32bee17d3..48bedb4510 100644 --- a/packages/associative/package.json +++ b/packages/associative/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/associative", - "version": "0.6.12", + "version": "0.6.13", "description": "Alternative Set & Map data type implementations with customizable equality semantics & supporting operations", "main": "./index.js", "typings": "./index.d.ts", @@ -28,13 +28,13 @@ "typescript": "^3.1.3" }, "dependencies": { - "@thi.ng/api": "^4.2.2", - "@thi.ng/checks": "^1.5.12", - "@thi.ng/compare": "^0.1.10", - "@thi.ng/dcons": "^1.1.12", - "@thi.ng/equiv": "^0.1.12", - "@thi.ng/errors": "^0.1.10", - "@thi.ng/transducers": "^2.2.0" + "@thi.ng/api": "^4.2.3", + "@thi.ng/checks": "^1.5.13", + "@thi.ng/compare": "^0.1.11", + "@thi.ng/dcons": "^1.1.13", + "@thi.ng/equiv": "^0.1.13", + "@thi.ng/errors": "^0.1.11", + "@thi.ng/transducers": "^2.2.1" }, "keywords": [ "data structures", @@ -54,4 +54,4 @@ "publishConfig": { "access": "public" } -} \ No newline at end of file +} diff --git a/packages/atom/CHANGELOG.md b/packages/atom/CHANGELOG.md index 6e54d43fcc..896fed4490 100644 --- a/packages/atom/CHANGELOG.md +++ b/packages/atom/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.5.6](https://github.com/thi-ng/umbrella/compare/@thi.ng/atom@1.5.5...@thi.ng/atom@1.5.6) (2018-10-21) + +**Note:** Version bump only for package @thi.ng/atom + + + + + ## [1.5.5](https://github.com/thi-ng/umbrella/compare/@thi.ng/atom@1.5.4...@thi.ng/atom@1.5.5) (2018-10-17) **Note:** Version bump only for package @thi.ng/atom diff --git a/packages/atom/package.json b/packages/atom/package.json index 32caa6f05a..390d38064e 100644 --- a/packages/atom/package.json +++ b/packages/atom/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/atom", - "version": "1.5.5", + "version": "1.5.6", "description": "Mutable wrapper for immutable values", "main": "./index.js", "typings": "./index.d.ts", @@ -28,11 +28,11 @@ "typescript": "^3.1.3" }, "dependencies": { - "@thi.ng/api": "^4.2.2", - "@thi.ng/checks": "^1.5.12", - "@thi.ng/equiv": "^0.1.12", - "@thi.ng/errors": "^0.1.10", - "@thi.ng/paths": "^1.6.4" + "@thi.ng/api": "^4.2.3", + "@thi.ng/checks": "^1.5.13", + "@thi.ng/equiv": "^0.1.13", + "@thi.ng/errors": "^0.1.11", + "@thi.ng/paths": "^1.6.5" }, "keywords": [ "cursor", @@ -46,4 +46,4 @@ "publishConfig": { "access": "public" } -} \ No newline at end of file +} diff --git a/packages/bench/CHANGELOG.md b/packages/bench/CHANGELOG.md index d5fe017ad8..be49b4772a 100644 --- a/packages/bench/CHANGELOG.md +++ b/packages/bench/CHANGELOG.md @@ -3,6 +3,17 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [0.3.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/bench@0.2.4...@thi.ng/bench@0.3.0) (2018-10-21) + + +### Features + +* **bench:** add timedResult() / benchResult() ([0cf708f](https://github.com/thi-ng/umbrella/commit/0cf708f)) + + + + + ## [0.2.4](https://github.com/thi-ng/umbrella/compare/@thi.ng/bench@0.2.3...@thi.ng/bench@0.2.4) (2018-10-17) **Note:** Version bump only for package @thi.ng/bench diff --git a/packages/bench/package.json b/packages/bench/package.json index 496770aef6..3fb0a3e9fd 100644 --- a/packages/bench/package.json +++ b/packages/bench/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/bench", - "version": "0.2.4", + "version": "0.3.0", "description": "Basic benchmarking helpers", "main": "./index.js", "typings": "./index.d.ts", @@ -36,4 +36,4 @@ "publishConfig": { "access": "public" } -} \ No newline at end of file +} diff --git a/packages/binary/CHANGELOG.md b/packages/binary/CHANGELOG.md index 8176ab7399..8a89046570 100644 --- a/packages/binary/CHANGELOG.md +++ b/packages/binary/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.1.1](https://github.com/thi-ng/umbrella/compare/@thi.ng/binary@0.1.0...@thi.ng/binary@0.1.1) (2018-10-21) + +**Note:** Version bump only for package @thi.ng/binary + + + + + # 0.1.0 (2018-10-17) diff --git a/packages/binary/package.json b/packages/binary/package.json index b9a718c5b7..5a0524265f 100644 --- a/packages/binary/package.json +++ b/packages/binary/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/binary", - "version": "0.1.0", + "version": "0.1.1", "description": "Assorted binary / bitwise operations, conversions, utilities.", "main": "./index.js", "typings": "./index.d.ts", @@ -43,4 +43,4 @@ "publishConfig": { "access": "public" } -} \ No newline at end of file +} diff --git a/packages/bitstream/CHANGELOG.md b/packages/bitstream/CHANGELOG.md index 67c60cc29e..38789235f0 100644 --- a/packages/bitstream/CHANGELOG.md +++ b/packages/bitstream/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.4.20](https://github.com/thi-ng/umbrella/compare/@thi.ng/bitstream@0.4.19...@thi.ng/bitstream@0.4.20) (2018-10-21) + +**Note:** Version bump only for package @thi.ng/bitstream + + + + + ## [0.4.19](https://github.com/thi-ng/umbrella/compare/@thi.ng/bitstream@0.4.18...@thi.ng/bitstream@0.4.19) (2018-10-17) **Note:** Version bump only for package @thi.ng/bitstream diff --git a/packages/bitstream/package.json b/packages/bitstream/package.json index f205134bbe..3584febbe9 100644 --- a/packages/bitstream/package.json +++ b/packages/bitstream/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/bitstream", - "version": "0.4.19", + "version": "0.4.20", "description": "ES6 iterator based read/write bit streams & support for variable word widths", "main": "./index.js", "typings": "./index.d.ts", @@ -20,7 +20,7 @@ "test": "rm -rf build && tsc -p test && nyc mocha build/test/*.js" }, "dependencies": { - "@thi.ng/errors": "^0.1.10" + "@thi.ng/errors": "^0.1.11" }, "devDependencies": { "@types/mocha": "^5.2.5", @@ -42,4 +42,4 @@ "publishConfig": { "access": "public" } -} \ No newline at end of file +} diff --git a/packages/cache/CHANGELOG.md b/packages/cache/CHANGELOG.md index 40879ad787..030df75b83 100644 --- a/packages/cache/CHANGELOG.md +++ b/packages/cache/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.2.30](https://github.com/thi-ng/umbrella/compare/@thi.ng/cache@0.2.29...@thi.ng/cache@0.2.30) (2018-10-21) + +**Note:** Version bump only for package @thi.ng/cache + + + + + ## [0.2.29](https://github.com/thi-ng/umbrella/compare/@thi.ng/cache@0.2.28...@thi.ng/cache@0.2.29) (2018-10-17) **Note:** Version bump only for package @thi.ng/cache diff --git a/packages/cache/package.json b/packages/cache/package.json index d28d4918ab..a16b615e92 100644 --- a/packages/cache/package.json +++ b/packages/cache/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/cache", - "version": "0.2.29", + "version": "0.2.30", "description": "In-memory cache implementations with ES6 Map-like API and different eviction strategies", "main": "./index.js", "typings": "./index.d.ts", @@ -28,9 +28,9 @@ "typescript": "^3.1.3" }, "dependencies": { - "@thi.ng/api": "^4.2.2", - "@thi.ng/dcons": "^1.1.12", - "@thi.ng/transducers": "^2.2.0" + "@thi.ng/api": "^4.2.3", + "@thi.ng/dcons": "^1.1.13", + "@thi.ng/transducers": "^2.2.1" }, "keywords": [ "cache", @@ -46,4 +46,4 @@ "publishConfig": { "access": "public" } -} \ No newline at end of file +} diff --git a/packages/checks/CHANGELOG.md b/packages/checks/CHANGELOG.md index 473087d30b..8e71073cf2 100644 --- a/packages/checks/CHANGELOG.md +++ b/packages/checks/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.5.13](https://github.com/thi-ng/umbrella/compare/@thi.ng/checks@1.5.12...@thi.ng/checks@1.5.13) (2018-10-21) + +**Note:** Version bump only for package @thi.ng/checks + + + + + ## [1.5.12](https://github.com/thi-ng/umbrella/compare/@thi.ng/checks@1.5.11...@thi.ng/checks@1.5.12) (2018-10-17) **Note:** Version bump only for package @thi.ng/checks diff --git a/packages/checks/package.json b/packages/checks/package.json index c8c1b83139..3966750377 100644 --- a/packages/checks/package.json +++ b/packages/checks/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/checks", - "version": "1.5.12", + "version": "1.5.13", "description": "Single-function sub-modules for type, feature & value checks", "main": "./index.js", "typings": "./index.d.ts", @@ -40,4 +40,4 @@ "publishConfig": { "access": "public" } -} \ No newline at end of file +} diff --git a/packages/compare/CHANGELOG.md b/packages/compare/CHANGELOG.md index f59d04aa0c..7771f86491 100644 --- a/packages/compare/CHANGELOG.md +++ b/packages/compare/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.1.11](https://github.com/thi-ng/umbrella/compare/@thi.ng/compare@0.1.10...@thi.ng/compare@0.1.11) (2018-10-21) + +**Note:** Version bump only for package @thi.ng/compare + + + + + ## [0.1.10](https://github.com/thi-ng/umbrella/compare/@thi.ng/compare@0.1.9...@thi.ng/compare@0.1.10) (2018-10-17) **Note:** Version bump only for package @thi.ng/compare diff --git a/packages/compare/package.json b/packages/compare/package.json index 75445cf418..eb43e4a7f5 100644 --- a/packages/compare/package.json +++ b/packages/compare/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/compare", - "version": "0.1.10", + "version": "0.1.11", "description": "Comparator with optional delegation for types implementing @thi.ng/api/ICompare interface", "main": "./index.js", "typings": "./index.d.ts", @@ -35,4 +35,4 @@ "publishConfig": { "access": "public" } -} \ No newline at end of file +} diff --git a/packages/compose/CHANGELOG.md b/packages/compose/CHANGELOG.md index 84734f0523..fa7d2b7d44 100644 --- a/packages/compose/CHANGELOG.md +++ b/packages/compose/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.2.1](https://github.com/thi-ng/umbrella/compare/@thi.ng/compose@0.2.0...@thi.ng/compose@0.2.1) (2018-10-21) + +**Note:** Version bump only for package @thi.ng/compose + + + + + # [0.2.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/compose@0.1.4...@thi.ng/compose@0.2.0) (2018-10-17) diff --git a/packages/compose/package.json b/packages/compose/package.json index c33b41ad94..2072c9645e 100644 --- a/packages/compose/package.json +++ b/packages/compose/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/compose", - "version": "0.2.0", + "version": "0.2.1", "description": "Functional composition helpers", "main": "./index.js", "typings": "./index.d.ts", @@ -28,8 +28,8 @@ "typescript": "^3.1.3" }, "dependencies": { - "@thi.ng/api": "^4.2.2", - "@thi.ng/errors": "^0.1.10" + "@thi.ng/api": "^4.2.3", + "@thi.ng/errors": "^0.1.11" }, "keywords": [ "composition", @@ -40,4 +40,4 @@ "publishConfig": { "access": "public" } -} \ No newline at end of file +} diff --git a/packages/csp/CHANGELOG.md b/packages/csp/CHANGELOG.md index 386b5c7789..11af2af256 100644 --- a/packages/csp/CHANGELOG.md +++ b/packages/csp/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.3.69](https://github.com/thi-ng/umbrella/compare/@thi.ng/csp@0.3.68...@thi.ng/csp@0.3.69) (2018-10-21) + +**Note:** Version bump only for package @thi.ng/csp + + + + + ## [0.3.68](https://github.com/thi-ng/umbrella/compare/@thi.ng/csp@0.3.67...@thi.ng/csp@0.3.68) (2018-10-17) **Note:** Version bump only for package @thi.ng/csp diff --git a/packages/csp/package.json b/packages/csp/package.json index 8fc017d8bb..548cc2a05a 100644 --- a/packages/csp/package.json +++ b/packages/csp/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/csp", - "version": "0.3.68", + "version": "0.3.69", "description": "ES6 promise based CSP implementation", "main": "./index.js", "typings": "./index.d.ts", @@ -32,11 +32,11 @@ "typescript": "^3.1.3" }, "dependencies": { - "@thi.ng/api": "^4.2.2", - "@thi.ng/checks": "^1.5.12", - "@thi.ng/dcons": "^1.1.12", - "@thi.ng/errors": "^0.1.10", - "@thi.ng/transducers": "^2.2.0" + "@thi.ng/api": "^4.2.3", + "@thi.ng/checks": "^1.5.13", + "@thi.ng/dcons": "^1.1.13", + "@thi.ng/errors": "^0.1.11", + "@thi.ng/transducers": "^2.2.1" }, "keywords": [ "async", @@ -54,4 +54,4 @@ "publishConfig": { "access": "public" } -} \ No newline at end of file +} diff --git a/packages/dcons/CHANGELOG.md b/packages/dcons/CHANGELOG.md index 26b5c6d5d8..ed36394bf0 100644 --- a/packages/dcons/CHANGELOG.md +++ b/packages/dcons/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.1.13](https://github.com/thi-ng/umbrella/compare/@thi.ng/dcons@1.1.12...@thi.ng/dcons@1.1.13) (2018-10-21) + +**Note:** Version bump only for package @thi.ng/dcons + + + + + ## [1.1.12](https://github.com/thi-ng/umbrella/compare/@thi.ng/dcons@1.1.11...@thi.ng/dcons@1.1.12) (2018-10-17) **Note:** Version bump only for package @thi.ng/dcons diff --git a/packages/dcons/package.json b/packages/dcons/package.json index 6e1ff4fe61..44520ba6c8 100644 --- a/packages/dcons/package.json +++ b/packages/dcons/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/dcons", - "version": "1.1.12", + "version": "1.1.13", "description": "Comprehensive doubly linked list structure w/ iterator support", "main": "./index.js", "typings": "./index.d.ts", @@ -28,12 +28,12 @@ "typescript": "^3.1.3" }, "dependencies": { - "@thi.ng/api": "^4.2.2", - "@thi.ng/checks": "^1.5.12", - "@thi.ng/compare": "^0.1.10", - "@thi.ng/equiv": "^0.1.12", - "@thi.ng/errors": "^0.1.10", - "@thi.ng/transducers": "^2.2.0" + "@thi.ng/api": "^4.2.3", + "@thi.ng/checks": "^1.5.13", + "@thi.ng/compare": "^0.1.11", + "@thi.ng/equiv": "^0.1.13", + "@thi.ng/errors": "^0.1.11", + "@thi.ng/transducers": "^2.2.1" }, "keywords": [ "datastructure", @@ -49,4 +49,4 @@ "publishConfig": { "access": "public" } -} \ No newline at end of file +} diff --git a/packages/defmulti/CHANGELOG.md b/packages/defmulti/CHANGELOG.md index 85c23a7fed..8824c5493c 100644 --- a/packages/defmulti/CHANGELOG.md +++ b/packages/defmulti/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.4.1](https://github.com/thi-ng/umbrella/compare/@thi.ng/defmulti@0.4.0...@thi.ng/defmulti@0.4.1) (2018-10-21) + +**Note:** Version bump only for package @thi.ng/defmulti + + + + + # [0.4.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/defmulti@0.3.11...@thi.ng/defmulti@0.4.0) (2018-10-17) diff --git a/packages/defmulti/package.json b/packages/defmulti/package.json index e6116df7f2..03ee3475cd 100644 --- a/packages/defmulti/package.json +++ b/packages/defmulti/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/defmulti", - "version": "0.4.0", + "version": "0.4.1", "description": "Dynamically extensible multiple dispatch via user supplied dispatch function.", "main": "./index.js", "typings": "./index.d.ts", @@ -28,8 +28,8 @@ "typescript": "^3.1.3" }, "dependencies": { - "@thi.ng/api": "^4.2.2", - "@thi.ng/errors": "^0.1.10" + "@thi.ng/api": "^4.2.3", + "@thi.ng/errors": "^0.1.11" }, "keywords": [ "ES6", @@ -38,4 +38,4 @@ "publishConfig": { "access": "public" } -} \ No newline at end of file +} diff --git a/packages/dgraph/CHANGELOG.md b/packages/dgraph/CHANGELOG.md index 23d8d8675f..e0389faed4 100644 --- a/packages/dgraph/CHANGELOG.md +++ b/packages/dgraph/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.2.25](https://github.com/thi-ng/umbrella/compare/@thi.ng/dgraph@0.2.24...@thi.ng/dgraph@0.2.25) (2018-10-21) + +**Note:** Version bump only for package @thi.ng/dgraph + + + + + ## [0.2.24](https://github.com/thi-ng/umbrella/compare/@thi.ng/dgraph@0.2.23...@thi.ng/dgraph@0.2.24) (2018-10-17) **Note:** Version bump only for package @thi.ng/dgraph diff --git a/packages/dgraph/package.json b/packages/dgraph/package.json index 1f33f28865..c27aaf3089 100644 --- a/packages/dgraph/package.json +++ b/packages/dgraph/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/dgraph", - "version": "0.2.24", + "version": "0.2.25", "description": "Type-agnostic directed acyclic graph (DAG) & graph operations", "main": "./index.js", "typings": "./index.d.ts", @@ -28,11 +28,11 @@ "typescript": "^3.1.3" }, "dependencies": { - "@thi.ng/api": "^4.2.2", - "@thi.ng/associative": "^0.6.12", - "@thi.ng/equiv": "^0.1.12", - "@thi.ng/errors": "^0.1.10", - "@thi.ng/transducers": "^2.2.0" + "@thi.ng/api": "^4.2.3", + "@thi.ng/associative": "^0.6.13", + "@thi.ng/equiv": "^0.1.13", + "@thi.ng/errors": "^0.1.11", + "@thi.ng/transducers": "^2.2.1" }, "keywords": [ "data structure", @@ -45,4 +45,4 @@ "publishConfig": { "access": "public" } -} \ No newline at end of file +} diff --git a/packages/diff/CHANGELOG.md b/packages/diff/CHANGELOG.md index e516f9d532..5289fb7055 100644 --- a/packages/diff/CHANGELOG.md +++ b/packages/diff/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.1.4](https://github.com/thi-ng/umbrella/compare/@thi.ng/diff@1.1.3...@thi.ng/diff@1.1.4) (2018-10-21) + +**Note:** Version bump only for package @thi.ng/diff + + + + + ## [1.1.3](https://github.com/thi-ng/umbrella/compare/@thi.ng/diff@1.1.2...@thi.ng/diff@1.1.3) (2018-10-17) **Note:** Version bump only for package @thi.ng/diff diff --git a/packages/diff/package.json b/packages/diff/package.json index 9ae701d47d..e080eaba9d 100644 --- a/packages/diff/package.json +++ b/packages/diff/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/diff", - "version": "1.1.3", + "version": "1.1.4", "description": "Array & object Diff", "main": "./index.js", "typings": "./index.d.ts", @@ -26,8 +26,8 @@ "typescript": "^3.1.3" }, "dependencies": { - "@thi.ng/api": "^4.2.2", - "@thi.ng/equiv": "^0.1.12" + "@thi.ng/api": "^4.2.3", + "@thi.ng/equiv": "^0.1.13" }, "keywords": [ "array", @@ -40,4 +40,4 @@ "publishConfig": { "access": "public" } -} \ No newline at end of file +} diff --git a/packages/dlogic/CHANGELOG.md b/packages/dlogic/CHANGELOG.md index b10dc857d2..923df48794 100644 --- a/packages/dlogic/CHANGELOG.md +++ b/packages/dlogic/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.1.1](https://github.com/thi-ng/umbrella/compare/@thi.ng/dlogic@0.1.0...@thi.ng/dlogic@0.1.1) (2018-10-21) + +**Note:** Version bump only for package @thi.ng/dlogic + + + + + # 0.1.0 (2018-10-17) diff --git a/packages/dlogic/package.json b/packages/dlogic/package.json index a342cfd694..c92446e222 100644 --- a/packages/dlogic/package.json +++ b/packages/dlogic/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/dlogic", - "version": "0.1.0", + "version": "0.1.1", "description": "Assorted digital logic ops / constructs.", "main": "./index.js", "typings": "./index.d.ts", @@ -40,4 +40,4 @@ "publishConfig": { "access": "public" } -} \ No newline at end of file +} diff --git a/packages/dot/CHANGELOG.md b/packages/dot/CHANGELOG.md index f5bc07e7b0..2737f7d39d 100644 --- a/packages/dot/CHANGELOG.md +++ b/packages/dot/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.1.17](https://github.com/thi-ng/umbrella/compare/@thi.ng/dot@0.1.16...@thi.ng/dot@0.1.17) (2018-10-21) + +**Note:** Version bump only for package @thi.ng/dot + + + + + ## [0.1.16](https://github.com/thi-ng/umbrella/compare/@thi.ng/dot@0.1.15...@thi.ng/dot@0.1.16) (2018-10-17) **Note:** Version bump only for package @thi.ng/dot diff --git a/packages/dot/package.json b/packages/dot/package.json index 1d53117ed1..c42f15c29e 100644 --- a/packages/dot/package.json +++ b/packages/dot/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/dot", - "version": "0.1.16", + "version": "0.1.17", "description": "Graphviz DOM abstraction as vanilla JS objects & serialization to DOT format", "main": "./index.js", "typings": "./index.d.ts", @@ -28,8 +28,8 @@ "typescript": "^3.1.3" }, "dependencies": { - "@thi.ng/api": "^4.2.2", - "@thi.ng/checks": "^1.5.12" + "@thi.ng/api": "^4.2.3", + "@thi.ng/checks": "^1.5.13" }, "keywords": [ "ES6", @@ -38,4 +38,4 @@ "publishConfig": { "access": "public" } -} \ No newline at end of file +} diff --git a/packages/dsp/CHANGELOG.md b/packages/dsp/CHANGELOG.md index 16ca7b8dd5..780149f526 100644 --- a/packages/dsp/CHANGELOG.md +++ b/packages/dsp/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.1.1](https://github.com/thi-ng/umbrella/compare/@thi.ng/dsp@0.1.0...@thi.ng/dsp@0.1.1) (2018-10-21) + +**Note:** Version bump only for package @thi.ng/dsp + + + + + # 0.1.0 (2018-10-17) diff --git a/packages/dsp/package.json b/packages/dsp/package.json index 4beeb127ee..0db50b2640 100644 --- a/packages/dsp/package.json +++ b/packages/dsp/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/dsp", - "version": "0.1.0", + "version": "0.1.1", "description": "Assorted DSP utils, oscillators etc.", "main": "./index.js", "typings": "./index.d.ts", @@ -28,7 +28,7 @@ "typescript": "^3.1.3" }, "dependencies": { - "@thi.ng/math": "^0.1.0" + "@thi.ng/math": "^0.2.0" }, "keywords": [ "additive", @@ -45,4 +45,4 @@ "publishConfig": { "access": "public" } -} \ No newline at end of file +} diff --git a/packages/equiv/CHANGELOG.md b/packages/equiv/CHANGELOG.md index 7d6d945ab9..2ac683d986 100644 --- a/packages/equiv/CHANGELOG.md +++ b/packages/equiv/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.1.13](https://github.com/thi-ng/umbrella/compare/@thi.ng/equiv@0.1.12...@thi.ng/equiv@0.1.13) (2018-10-21) + +**Note:** Version bump only for package @thi.ng/equiv + + + + + ## [0.1.12](https://github.com/thi-ng/umbrella/compare/@thi.ng/equiv@0.1.11...@thi.ng/equiv@0.1.12) (2018-10-17) **Note:** Version bump only for package @thi.ng/equiv diff --git a/packages/equiv/package.json b/packages/equiv/package.json index 8c09197451..34d492c434 100644 --- a/packages/equiv/package.json +++ b/packages/equiv/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/equiv", - "version": "0.1.12", + "version": "0.1.13", "description": "Extensible deep equivalence checking for any data types", "main": "./index.js", "typings": "./index.d.ts", @@ -37,4 +37,4 @@ "publishConfig": { "access": "public" } -} \ No newline at end of file +} diff --git a/packages/errors/CHANGELOG.md b/packages/errors/CHANGELOG.md index 9d665c30b7..fa85522ed6 100644 --- a/packages/errors/CHANGELOG.md +++ b/packages/errors/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.1.11](https://github.com/thi-ng/umbrella/compare/@thi.ng/errors@0.1.10...@thi.ng/errors@0.1.11) (2018-10-21) + +**Note:** Version bump only for package @thi.ng/errors + + + + + ## [0.1.10](https://github.com/thi-ng/umbrella/compare/@thi.ng/errors@0.1.9...@thi.ng/errors@0.1.10) (2018-10-17) **Note:** Version bump only for package @thi.ng/errors diff --git a/packages/errors/package.json b/packages/errors/package.json index b3bba72f79..ff3ab9e8b3 100644 --- a/packages/errors/package.json +++ b/packages/errors/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/errors", - "version": "0.1.10", + "version": "0.1.11", "description": "Custom error types and helper fns.", "main": "./index.js", "typings": "./index.d.ts", @@ -35,4 +35,4 @@ "publishConfig": { "access": "public" } -} \ No newline at end of file +} diff --git a/packages/geom-accel/CHANGELOG.md b/packages/geom-accel/CHANGELOG.md new file mode 100644 index 0000000000..85c1ade95f --- /dev/null +++ b/packages/geom-accel/CHANGELOG.md @@ -0,0 +1,12 @@ +# Change Log + +All notable changes to this project will be documented in this file. +See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. + +# 0.1.0 (2018-10-21) + + +### Features + +* **geom-accel:** add KV support, update select/selectKeys() ([b47e641](https://github.com/thi-ng/umbrella/commit/b47e641)) +* **geom-accel:** re-import geom-accel skeleton (MBP2010) ([e14ac8b](https://github.com/thi-ng/umbrella/commit/e14ac8b)) diff --git a/packages/geom-accel/package.json b/packages/geom-accel/package.json index 1cf8ca9afd..dc5a81505c 100644 --- a/packages/geom-accel/package.json +++ b/packages/geom-accel/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/geom-accel", - "version": "0.0.1", + "version": "0.1.0", "description": "TODO", "main": "./index.js", "typings": "./index.d.ts", @@ -28,10 +28,10 @@ "typescript": "^3.1.3" }, "dependencies": { - "@thi.ng/api": "^4.2.2", - "@thi.ng/heaps": "^0.2.20", - "@thi.ng/math": "^0.1.0", - "@thi.ng/vectors": "^1.4.0" + "@thi.ng/api": "^4.2.3", + "@thi.ng/heaps": "^0.3.0", + "@thi.ng/math": "^0.2.0", + "@thi.ng/vectors": "^1.4.1" }, "keywords": [ "ES6", @@ -46,4 +46,4 @@ "publishConfig": { "access": "public" } -} \ No newline at end of file +} diff --git a/packages/geom/CHANGELOG.md b/packages/geom/CHANGELOG.md index dd6f46e729..42dc611b66 100644 --- a/packages/geom/CHANGELOG.md +++ b/packages/geom/CHANGELOG.md @@ -3,6 +3,17 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [0.2.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom@0.1.0...@thi.ng/geom@0.2.0) (2018-10-21) + + +### Features + +* **geom:** add IToCubic, add/update impls ([ce131d4](https://github.com/thi-ng/umbrella/commit/ce131d4)) + + + + + # 0.1.0 (2018-10-17) diff --git a/packages/geom/package.json b/packages/geom/package.json index 1fdff8a8c7..12befe2be2 100644 --- a/packages/geom/package.json +++ b/packages/geom/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/geom", - "version": "0.1.0", + "version": "0.2.0", "description": "2D/3D geometry primitives", "main": "./index.js", "typings": "./index.d.ts", @@ -28,11 +28,11 @@ "typescript": "^3.1.3" }, "dependencies": { - "@thi.ng/api": "^4.2.2", - "@thi.ng/checks": "^1.5.12", - "@thi.ng/math": "^0.1.0", - "@thi.ng/transducers": "^2.2.0", - "@thi.ng/vectors": "^1.4.0" + "@thi.ng/api": "^4.2.3", + "@thi.ng/checks": "^1.5.13", + "@thi.ng/math": "^0.2.0", + "@thi.ng/transducers": "^2.2.1", + "@thi.ng/vectors": "^1.4.1" }, "keywords": [ "ES6", @@ -46,4 +46,4 @@ "publishConfig": { "access": "public" } -} \ No newline at end of file +} diff --git a/packages/hdom-canvas/CHANGELOG.md b/packages/hdom-canvas/CHANGELOG.md index 9a215f3d09..9640fab2f7 100644 --- a/packages/hdom-canvas/CHANGELOG.md +++ b/packages/hdom-canvas/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.1.7](https://github.com/thi-ng/umbrella/compare/@thi.ng/hdom-canvas@0.1.6...@thi.ng/hdom-canvas@0.1.7) (2018-10-21) + +**Note:** Version bump only for package @thi.ng/hdom-canvas + + + + + ## [0.1.6](https://github.com/thi-ng/umbrella/compare/@thi.ng/hdom-canvas@0.1.5...@thi.ng/hdom-canvas@0.1.6) (2018-10-17) **Note:** Version bump only for package @thi.ng/hdom-canvas diff --git a/packages/hdom-canvas/package.json b/packages/hdom-canvas/package.json index 84166401ea..1798e2cdcf 100644 --- a/packages/hdom-canvas/package.json +++ b/packages/hdom-canvas/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/hdom-canvas", - "version": "0.1.6", + "version": "0.1.7", "description": "Declarative canvas scenegraph & visualization for @thi.ng/hdom", "main": "./index.js", "typings": "./index.d.ts", @@ -28,10 +28,10 @@ "typescript": "^3.1.3" }, "dependencies": { - "@thi.ng/api": "^4.2.2", - "@thi.ng/checks": "^1.5.12", - "@thi.ng/diff": "^1.1.3", - "@thi.ng/hdom": "^5.0.6" + "@thi.ng/api": "^4.2.3", + "@thi.ng/checks": "^1.5.13", + "@thi.ng/diff": "^1.1.4", + "@thi.ng/hdom": "^5.0.7" }, "keywords": [ "ES6", @@ -47,4 +47,4 @@ "publishConfig": { "access": "public" } -} \ No newline at end of file +} diff --git a/packages/hdom-components/CHANGELOG.md b/packages/hdom-components/CHANGELOG.md index 5b0505aabc..92ecdda33d 100644 --- a/packages/hdom-components/CHANGELOG.md +++ b/packages/hdom-components/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [2.2.12](https://github.com/thi-ng/umbrella/compare/@thi.ng/hdom-components@2.2.11...@thi.ng/hdom-components@2.2.12) (2018-10-21) + +**Note:** Version bump only for package @thi.ng/hdom-components + + + + + ## [2.2.11](https://github.com/thi-ng/umbrella/compare/@thi.ng/hdom-components@2.2.10...@thi.ng/hdom-components@2.2.11) (2018-10-17) diff --git a/packages/hdom-components/package.json b/packages/hdom-components/package.json index 56af20f6c1..390e35de3c 100644 --- a/packages/hdom-components/package.json +++ b/packages/hdom-components/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/hdom-components", - "version": "2.2.11", + "version": "2.2.12", "description": "Raw, skinnable UI & SVG components for @thi.ng/hdom", "main": "./index.js", "typings": "./index.d.ts", @@ -28,9 +28,9 @@ "typescript": "^3.1.3" }, "dependencies": { - "@thi.ng/api": "^4.2.2", - "@thi.ng/checks": "^1.5.12", - "@thi.ng/transducers": "^2.2.0", + "@thi.ng/api": "^4.2.3", + "@thi.ng/checks": "^1.5.13", + "@thi.ng/transducers": "^2.2.1", "@types/webgl2": "^0.0.4" }, "keywords": [ @@ -40,4 +40,4 @@ "publishConfig": { "access": "public" } -} \ No newline at end of file +} diff --git a/packages/hdom/CHANGELOG.md b/packages/hdom/CHANGELOG.md index 0231261b49..52285e47f4 100644 --- a/packages/hdom/CHANGELOG.md +++ b/packages/hdom/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [5.0.7](https://github.com/thi-ng/umbrella/compare/@thi.ng/hdom@5.0.6...@thi.ng/hdom@5.0.7) (2018-10-21) + +**Note:** Version bump only for package @thi.ng/hdom + + + + + ## [5.0.6](https://github.com/thi-ng/umbrella/compare/@thi.ng/hdom@5.0.5...@thi.ng/hdom@5.0.6) (2018-10-17) **Note:** Version bump only for package @thi.ng/hdom diff --git a/packages/hdom/package.json b/packages/hdom/package.json index b05c1c03ae..5b7b581a63 100644 --- a/packages/hdom/package.json +++ b/packages/hdom/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/hdom", - "version": "5.0.6", + "version": "5.0.7", "description": "Lightweight vanilla ES6 UI component trees with customizable branch-local behaviors", "main": "./index.js", "typings": "./index.d.ts", @@ -20,7 +20,7 @@ "test": "rm -rf build && tsc -p test && nyc mocha build/test/*.js" }, "devDependencies": { - "@thi.ng/atom": "^1.5.5", + "@thi.ng/atom": "^1.5.6", "@types/mocha": "^5.2.5", "@types/node": "^10.12.0", "mocha": "^5.2.0", @@ -29,11 +29,11 @@ "typescript": "^3.1.3" }, "dependencies": { - "@thi.ng/api": "^4.2.2", - "@thi.ng/checks": "^1.5.12", - "@thi.ng/diff": "^1.1.3", - "@thi.ng/equiv": "^0.1.12", - "@thi.ng/hiccup": "^2.4.2" + "@thi.ng/api": "^4.2.3", + "@thi.ng/checks": "^1.5.13", + "@thi.ng/diff": "^1.1.4", + "@thi.ng/equiv": "^0.1.13", + "@thi.ng/hiccup": "^2.4.3" }, "keywords": [ "browser", @@ -50,4 +50,4 @@ "publishConfig": { "access": "public" } -} \ No newline at end of file +} diff --git a/packages/heaps/CHANGELOG.md b/packages/heaps/CHANGELOG.md index 5c70162304..c08f1286f9 100644 --- a/packages/heaps/CHANGELOG.md +++ b/packages/heaps/CHANGELOG.md @@ -3,6 +3,17 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [0.3.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/heaps@0.2.20...@thi.ng/heaps@0.3.0) (2018-10-21) + + +### Features + +* **heaps:** add pushPopAll() ([1063fea](https://github.com/thi-ng/umbrella/commit/1063fea)) + + + + + ## [0.2.20](https://github.com/thi-ng/umbrella/compare/@thi.ng/heaps@0.2.19...@thi.ng/heaps@0.2.20) (2018-10-17) **Note:** Version bump only for package @thi.ng/heaps diff --git a/packages/heaps/package.json b/packages/heaps/package.json index c6dabf4ba4..6c552c6fa4 100644 --- a/packages/heaps/package.json +++ b/packages/heaps/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/heaps", - "version": "0.2.20", + "version": "0.3.0", "description": "Generic binary heap & d-ary heap implementations with customizable ordering", "main": "./index.js", "typings": "./index.d.ts", @@ -28,8 +28,8 @@ "typescript": "^3.1.3" }, "dependencies": { - "@thi.ng/api": "^4.2.2", - "@thi.ng/compare": "^0.1.10" + "@thi.ng/api": "^4.2.3", + "@thi.ng/compare": "^0.1.11" }, "keywords": [ "data structure", @@ -43,4 +43,4 @@ "publishConfig": { "access": "public" } -} \ No newline at end of file +} diff --git a/packages/hiccup-css/CHANGELOG.md b/packages/hiccup-css/CHANGELOG.md index 6a080a6a9a..8d07bcc652 100644 --- a/packages/hiccup-css/CHANGELOG.md +++ b/packages/hiccup-css/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.2.28](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup-css@0.2.27...@thi.ng/hiccup-css@0.2.28) (2018-10-21) + +**Note:** Version bump only for package @thi.ng/hiccup-css + + + + + ## [0.2.27](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup-css@0.2.26...@thi.ng/hiccup-css@0.2.27) (2018-10-17) **Note:** Version bump only for package @thi.ng/hiccup-css diff --git a/packages/hiccup-css/package.json b/packages/hiccup-css/package.json index 6150b0793d..e064545611 100644 --- a/packages/hiccup-css/package.json +++ b/packages/hiccup-css/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/hiccup-css", - "version": "0.2.27", + "version": "0.2.28", "description": "CSS from nested JS data structures", "main": "./index.js", "typings": "./index.d.ts", @@ -28,10 +28,10 @@ "typescript": "^3.1.3" }, "dependencies": { - "@thi.ng/api": "^4.2.2", - "@thi.ng/checks": "^1.5.12", - "@thi.ng/errors": "^0.1.10", - "@thi.ng/transducers": "^2.2.0" + "@thi.ng/api": "^4.2.3", + "@thi.ng/checks": "^1.5.13", + "@thi.ng/errors": "^0.1.11", + "@thi.ng/transducers": "^2.2.1" }, "keywords": [ "clojure", @@ -50,4 +50,4 @@ "publishConfig": { "access": "public" } -} \ No newline at end of file +} diff --git a/packages/hiccup-svg/CHANGELOG.md b/packages/hiccup-svg/CHANGELOG.md index dd5ced73fe..349530f975 100644 --- a/packages/hiccup-svg/CHANGELOG.md +++ b/packages/hiccup-svg/CHANGELOG.md @@ -3,6 +3,17 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [2.0.4](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup-svg@2.0.3...@thi.ng/hiccup-svg@2.0.4) (2018-10-21) + + +### Bug Fixes + +* **hiccup-svg:** fix arc segment handling ([85426d9](https://github.com/thi-ng/umbrella/commit/85426d9)) + + + + + ## [2.0.3](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup-svg@2.0.2...@thi.ng/hiccup-svg@2.0.3) (2018-10-17) **Note:** Version bump only for package @thi.ng/hiccup-svg diff --git a/packages/hiccup-svg/package.json b/packages/hiccup-svg/package.json index fcb4858460..e7f9bd421e 100644 --- a/packages/hiccup-svg/package.json +++ b/packages/hiccup-svg/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/hiccup-svg", - "version": "2.0.3", + "version": "2.0.4", "description": "SVG element functions for @thi.ng/hiccup & @thi.ng/hdom", "main": "./index.js", "typings": "./index.d.ts", @@ -28,7 +28,7 @@ "typescript": "^3.1.3" }, "dependencies": { - "@thi.ng/hiccup": "^2.4.2" + "@thi.ng/hiccup": "^2.4.3" }, "keywords": [ "components", @@ -43,4 +43,4 @@ "publishConfig": { "access": "public" } -} \ No newline at end of file +} diff --git a/packages/hiccup/CHANGELOG.md b/packages/hiccup/CHANGELOG.md index d52a49af91..fcd94c180a 100644 --- a/packages/hiccup/CHANGELOG.md +++ b/packages/hiccup/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [2.4.3](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup@2.4.2...@thi.ng/hiccup@2.4.3) (2018-10-21) + +**Note:** Version bump only for package @thi.ng/hiccup + + + + + ## [2.4.2](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup@2.4.1...@thi.ng/hiccup@2.4.2) (2018-10-17) **Note:** Version bump only for package @thi.ng/hiccup diff --git a/packages/hiccup/package.json b/packages/hiccup/package.json index 576bb1ee09..520e0e8848 100644 --- a/packages/hiccup/package.json +++ b/packages/hiccup/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/hiccup", - "version": "2.4.2", + "version": "2.4.3", "description": "HTML/SVG/XML serialization of nested data structures, iterables & closures", "main": "./index.js", "typings": "./index.d.ts", @@ -20,7 +20,7 @@ "test": "rm -rf build && tsc -p test && nyc mocha build/test/*.js" }, "devDependencies": { - "@thi.ng/atom": "^1.5.5", + "@thi.ng/atom": "^1.5.6", "@types/mocha": "^5.2.5", "@types/node": "^10.12.0", "mocha": "^5.2.0", @@ -29,8 +29,8 @@ "typescript": "^3.1.3" }, "dependencies": { - "@thi.ng/checks": "^1.5.12", - "@thi.ng/errors": "^0.1.10" + "@thi.ng/checks": "^1.5.13", + "@thi.ng/errors": "^0.1.11" }, "keywords": [ "clojure", @@ -49,4 +49,4 @@ "publishConfig": { "access": "public" } -} \ No newline at end of file +} diff --git a/packages/iges/CHANGELOG.md b/packages/iges/CHANGELOG.md index f0372997c8..ed78ca9029 100644 --- a/packages/iges/CHANGELOG.md +++ b/packages/iges/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.2.18](https://github.com/thi-ng/umbrella/compare/@thi.ng/iges@0.2.17...@thi.ng/iges@0.2.18) (2018-10-21) + +**Note:** Version bump only for package @thi.ng/iges + + + + + ## [0.2.17](https://github.com/thi-ng/umbrella/compare/@thi.ng/iges@0.2.16...@thi.ng/iges@0.2.17) (2018-10-17) **Note:** Version bump only for package @thi.ng/iges diff --git a/packages/iges/package.json b/packages/iges/package.json index 6c02fc0ff1..cdc70930bb 100644 --- a/packages/iges/package.json +++ b/packages/iges/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/iges", - "version": "0.2.17", + "version": "0.2.18", "description": "IGES 5.3 serializer for (currently only) polygonal geometry, both open & closed", "main": "./index.js", "typings": "./index.d.ts", @@ -28,10 +28,10 @@ "typescript": "^3.1.3" }, "dependencies": { - "@thi.ng/api": "^4.2.2", - "@thi.ng/defmulti": "^0.4.0", - "@thi.ng/strings": "^0.5.1", - "@thi.ng/transducers": "^2.2.0" + "@thi.ng/api": "^4.2.3", + "@thi.ng/defmulti": "^0.4.1", + "@thi.ng/strings": "^0.5.2", + "@thi.ng/transducers": "^2.2.1" }, "keywords": [ "CAD", @@ -45,4 +45,4 @@ "publishConfig": { "access": "public" } -} \ No newline at end of file +} diff --git a/packages/interceptors/CHANGELOG.md b/packages/interceptors/CHANGELOG.md index 25d6c8e6b7..a0aea3bf2f 100644 --- a/packages/interceptors/CHANGELOG.md +++ b/packages/interceptors/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.8.17](https://github.com/thi-ng/umbrella/compare/@thi.ng/interceptors@1.8.16...@thi.ng/interceptors@1.8.17) (2018-10-21) + +**Note:** Version bump only for package @thi.ng/interceptors + + + + + ## [1.8.16](https://github.com/thi-ng/umbrella/compare/@thi.ng/interceptors@1.8.15...@thi.ng/interceptors@1.8.16) (2018-10-17) **Note:** Version bump only for package @thi.ng/interceptors diff --git a/packages/interceptors/package.json b/packages/interceptors/package.json index e8f56455ac..239bff071f 100644 --- a/packages/interceptors/package.json +++ b/packages/interceptors/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/interceptors", - "version": "1.8.16", + "version": "1.8.17", "description": "Interceptor based event bus, side effect & immutable state handling", "main": "./index.js", "typings": "./index.d.ts", @@ -28,11 +28,11 @@ "typescript": "^3.1.3" }, "dependencies": { - "@thi.ng/api": "^4.2.2", - "@thi.ng/atom": "^1.5.5", - "@thi.ng/checks": "^1.5.12", - "@thi.ng/errors": "^0.1.10", - "@thi.ng/paths": "^1.6.4" + "@thi.ng/api": "^4.2.3", + "@thi.ng/atom": "^1.5.6", + "@thi.ng/checks": "^1.5.13", + "@thi.ng/errors": "^0.1.11", + "@thi.ng/paths": "^1.6.5" }, "keywords": [ "ES6", @@ -41,4 +41,4 @@ "publishConfig": { "access": "public" } -} \ No newline at end of file +} diff --git a/packages/iterators/CHANGELOG.md b/packages/iterators/CHANGELOG.md index 8534f87825..d5d3ed59c0 100644 --- a/packages/iterators/CHANGELOG.md +++ b/packages/iterators/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [4.1.34](https://github.com/thi-ng/umbrella/compare/@thi.ng/iterators@4.1.33...@thi.ng/iterators@4.1.34) (2018-10-21) + +**Note:** Version bump only for package @thi.ng/iterators + + + + + ## [4.1.33](https://github.com/thi-ng/umbrella/compare/@thi.ng/iterators@4.1.32...@thi.ng/iterators@4.1.33) (2018-10-17) **Note:** Version bump only for package @thi.ng/iterators diff --git a/packages/iterators/package.json b/packages/iterators/package.json index 6af6f0826a..214373056b 100644 --- a/packages/iterators/package.json +++ b/packages/iterators/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/iterators", - "version": "4.1.33", + "version": "4.1.34", "description": "clojure.core inspired, composable ES6 iterators & generators", "main": "./index.js", "typings": "./index.d.ts", @@ -28,9 +28,9 @@ "typescript": "^3.1.3" }, "dependencies": { - "@thi.ng/api": "^4.2.2", - "@thi.ng/dcons": "^1.1.12", - "@thi.ng/errors": "^0.1.10" + "@thi.ng/api": "^4.2.3", + "@thi.ng/dcons": "^1.1.13", + "@thi.ng/errors": "^0.1.11" }, "keywords": [ "clojure", @@ -46,4 +46,4 @@ "publishConfig": { "access": "public" } -} \ No newline at end of file +} diff --git a/packages/malloc/CHANGELOG.md b/packages/malloc/CHANGELOG.md new file mode 100644 index 0000000000..d39e0436a3 --- /dev/null +++ b/packages/malloc/CHANGELOG.md @@ -0,0 +1,18 @@ +# Change Log + +All notable changes to this project will be documented in this file. +See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. + +# 0.1.0 (2018-10-21) + + +### Bug Fixes + +* **malloc:** add size check, update readme ([787102a](https://github.com/thi-ng/umbrella/commit/787102a)) + + +### Features + +* **malloc:** add freeAll(), release(), tests & benchmarks, update docs ([4b72cda](https://github.com/thi-ng/umbrella/commit/4b72cda)) +* **malloc:** initial import [@thi](https://github.com/thi).ng/malloc package ([2cf20c9](https://github.com/thi-ng/umbrella/commit/2cf20c9)) +* **malloc:** re-add block compaction & splitting, update readme ([89f2bc2](https://github.com/thi-ng/umbrella/commit/89f2bc2)) diff --git a/packages/malloc/package.json b/packages/malloc/package.json index 672c301a27..9b780cd8d6 100644 --- a/packages/malloc/package.json +++ b/packages/malloc/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/malloc", - "version": "0.0.1", + "version": "0.1.0", "description": "ArrayBuffer based malloc() impl for hybrid JS/WASM use cases, based on thi.ng/tinyalloc", "main": "./index.js", "typings": "./index.d.ts", @@ -28,9 +28,9 @@ "typescript": "^3.1.3" }, "dependencies": { - "@thi.ng/api": "^4.2.2", - "@thi.ng/binary": "^0.1.0", - "@thi.ng/checks": "^1.5.12" + "@thi.ng/api": "^4.2.3", + "@thi.ng/binary": "^0.1.1", + "@thi.ng/checks": "^1.5.13" }, "keywords": [ "ES6", @@ -39,4 +39,4 @@ "publishConfig": { "access": "public" } -} \ No newline at end of file +} diff --git a/packages/math/CHANGELOG.md b/packages/math/CHANGELOG.md index f425c12867..52cc733865 100644 --- a/packages/math/CHANGELOG.md +++ b/packages/math/CHANGELOG.md @@ -3,6 +3,18 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [0.2.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/math@0.1.0...@thi.ng/math@0.2.0) (2018-10-21) + + +### Features + +* **math:** add sincos() & roundEps() ([f891c41](https://github.com/thi-ng/umbrella/commit/f891c41)) +* **math:** migrate mixCubic()/mixQuadratic() from geom package ([4a47daa](https://github.com/thi-ng/umbrella/commit/4a47daa)) + + + + + # 0.1.0 (2018-10-17) diff --git a/packages/math/package.json b/packages/math/package.json index d87d2736ff..42fcd5abc2 100644 --- a/packages/math/package.json +++ b/packages/math/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/math", - "version": "0.1.0", + "version": "0.2.0", "description": "Assorted common math functions & utilities", "main": "./index.js", "typings": "./index.d.ts", @@ -39,4 +39,4 @@ "publishConfig": { "access": "public" } -} \ No newline at end of file +} diff --git a/packages/memoize/CHANGELOG.md b/packages/memoize/CHANGELOG.md index 42dd65c985..b445b70389 100644 --- a/packages/memoize/CHANGELOG.md +++ b/packages/memoize/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.2.5](https://github.com/thi-ng/umbrella/compare/@thi.ng/memoize@0.2.4...@thi.ng/memoize@0.2.5) (2018-10-21) + +**Note:** Version bump only for package @thi.ng/memoize + + + + + ## [0.2.4](https://github.com/thi-ng/umbrella/compare/@thi.ng/memoize@0.2.3...@thi.ng/memoize@0.2.4) (2018-10-17) **Note:** Version bump only for package @thi.ng/memoize diff --git a/packages/memoize/package.json b/packages/memoize/package.json index c6fa9d7971..7111c3c356 100644 --- a/packages/memoize/package.json +++ b/packages/memoize/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/memoize", - "version": "0.2.4", + "version": "0.2.5", "description": "Function memoization with configurable caches", "main": "./index.js", "typings": "./index.d.ts", @@ -28,7 +28,7 @@ "typescript": "^3.1.3" }, "dependencies": { - "@thi.ng/api": "^4.2.2" + "@thi.ng/api": "^4.2.3" }, "keywords": [ "cache", @@ -40,4 +40,4 @@ "publishConfig": { "access": "public" } -} \ No newline at end of file +} diff --git a/packages/morton/CHANGELOG.md b/packages/morton/CHANGELOG.md index 5cb32bcb74..39177342ea 100644 --- a/packages/morton/CHANGELOG.md +++ b/packages/morton/CHANGELOG.md @@ -3,6 +3,17 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [0.2.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/morton@0.1.0...@thi.ng/morton@0.2.0) (2018-10-21) + + +### Features + +* **morton:** update/add muxScaled2/3 versions, add error handling ([ac2f3e8](https://github.com/thi-ng/umbrella/commit/ac2f3e8)) + + + + + # 0.1.0 (2018-10-17) diff --git a/packages/morton/package.json b/packages/morton/package.json index 00134ecaa6..48ed78764c 100644 --- a/packages/morton/package.json +++ b/packages/morton/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/morton", - "version": "0.1.0", + "version": "0.2.0", "description": "Z-order-curve / Morton encoding & decoding for 1D, 2D, 3D", "main": "./index.js", "typings": "./index.d.ts", @@ -28,9 +28,9 @@ "typescript": "^3.1.3" }, "dependencies": { - "@thi.ng/binary": "^0.1.0", - "@thi.ng/errors": "^0.1.10", - "@thi.ng/math": "^0.1.0" + "@thi.ng/binary": "^0.1.1", + "@thi.ng/errors": "^0.1.11", + "@thi.ng/math": "^0.2.0" }, "keywords": [ "binary", @@ -44,4 +44,4 @@ "publishConfig": { "access": "public" } -} \ No newline at end of file +} diff --git a/packages/paths/CHANGELOG.md b/packages/paths/CHANGELOG.md index d3df9264fb..a6a626a197 100644 --- a/packages/paths/CHANGELOG.md +++ b/packages/paths/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.6.5](https://github.com/thi-ng/umbrella/compare/@thi.ng/paths@1.6.4...@thi.ng/paths@1.6.5) (2018-10-21) + +**Note:** Version bump only for package @thi.ng/paths + + + + + ## [1.6.4](https://github.com/thi-ng/umbrella/compare/@thi.ng/paths@1.6.3...@thi.ng/paths@1.6.4) (2018-10-17) **Note:** Version bump only for package @thi.ng/paths diff --git a/packages/paths/package.json b/packages/paths/package.json index 6a700342c5..e6b29d1138 100644 --- a/packages/paths/package.json +++ b/packages/paths/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/paths", - "version": "1.6.4", + "version": "1.6.5", "description": "immutable, optimized path-based object property / array accessors", "main": "./index.js", "typings": "./index.d.ts", @@ -28,8 +28,8 @@ "typescript": "^3.1.3" }, "dependencies": { - "@thi.ng/checks": "^1.5.12", - "@thi.ng/errors": "^0.1.10" + "@thi.ng/checks": "^1.5.13", + "@thi.ng/errors": "^0.1.11" }, "keywords": [ "accessors", @@ -47,4 +47,4 @@ "publishConfig": { "access": "public" } -} \ No newline at end of file +} diff --git a/packages/pointfree-lang/CHANGELOG.md b/packages/pointfree-lang/CHANGELOG.md index 3a4574f8d2..4a902e4eaf 100644 --- a/packages/pointfree-lang/CHANGELOG.md +++ b/packages/pointfree-lang/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.2.24](https://github.com/thi-ng/umbrella/compare/@thi.ng/pointfree-lang@0.2.23...@thi.ng/pointfree-lang@0.2.24) (2018-10-21) + +**Note:** Version bump only for package @thi.ng/pointfree-lang + + + + + ## [0.2.23](https://github.com/thi-ng/umbrella/compare/@thi.ng/pointfree-lang@0.2.22...@thi.ng/pointfree-lang@0.2.23) (2018-10-17) **Note:** Version bump only for package @thi.ng/pointfree-lang diff --git a/packages/pointfree-lang/package.json b/packages/pointfree-lang/package.json index 4011286ca5..7733051fda 100644 --- a/packages/pointfree-lang/package.json +++ b/packages/pointfree-lang/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/pointfree-lang", - "version": "0.2.23", + "version": "0.2.24", "description": "Forth style syntax layer/compiler for the @thi.ng/pointfree DSL", "main": "./index.js", "typings": "./index.d.ts", @@ -30,9 +30,9 @@ "typescript": "^3.1.3" }, "dependencies": { - "@thi.ng/api": "^4.2.2", - "@thi.ng/errors": "^0.1.10", - "@thi.ng/pointfree": "^0.8.11" + "@thi.ng/api": "^4.2.3", + "@thi.ng/errors": "^0.1.11", + "@thi.ng/pointfree": "^0.8.12" }, "keywords": [ "concatenative", @@ -50,4 +50,4 @@ "publishConfig": { "access": "public" } -} \ No newline at end of file +} diff --git a/packages/pointfree/CHANGELOG.md b/packages/pointfree/CHANGELOG.md index b78f4c87f7..e592f17d76 100644 --- a/packages/pointfree/CHANGELOG.md +++ b/packages/pointfree/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.8.12](https://github.com/thi-ng/umbrella/compare/@thi.ng/pointfree@0.8.11...@thi.ng/pointfree@0.8.12) (2018-10-21) + +**Note:** Version bump only for package @thi.ng/pointfree + + + + + ## [0.8.11](https://github.com/thi-ng/umbrella/compare/@thi.ng/pointfree@0.8.10...@thi.ng/pointfree@0.8.11) (2018-10-17) **Note:** Version bump only for package @thi.ng/pointfree diff --git a/packages/pointfree/package.json b/packages/pointfree/package.json index c88a00d4da..c1a88a8bfc 100644 --- a/packages/pointfree/package.json +++ b/packages/pointfree/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/pointfree", - "version": "0.8.11", + "version": "0.8.12", "description": "Pointfree functional composition / Forth style stack execution engine", "main": "./index.js", "typings": "./index.d.ts", @@ -28,10 +28,10 @@ "typescript": "^3.1.3" }, "dependencies": { - "@thi.ng/api": "^4.2.2", - "@thi.ng/checks": "^1.5.12", - "@thi.ng/equiv": "^0.1.12", - "@thi.ng/errors": "^0.1.10" + "@thi.ng/api": "^4.2.3", + "@thi.ng/checks": "^1.5.13", + "@thi.ng/equiv": "^0.1.13", + "@thi.ng/errors": "^0.1.11" }, "keywords": [ "composition", @@ -50,4 +50,4 @@ "publishConfig": { "access": "public" } -} \ No newline at end of file +} diff --git a/packages/range-coder/CHANGELOG.md b/packages/range-coder/CHANGELOG.md index db968f650c..ec009a6bf9 100644 --- a/packages/range-coder/CHANGELOG.md +++ b/packages/range-coder/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.1.18](https://github.com/thi-ng/umbrella/compare/@thi.ng/range-coder@0.1.17...@thi.ng/range-coder@0.1.18) (2018-10-21) + +**Note:** Version bump only for package @thi.ng/range-coder + + + + + ## [0.1.17](https://github.com/thi-ng/umbrella/compare/@thi.ng/range-coder@0.1.16...@thi.ng/range-coder@0.1.17) (2018-10-17) **Note:** Version bump only for package @thi.ng/range-coder diff --git a/packages/range-coder/package.json b/packages/range-coder/package.json index 40c8cf02f6..8848ef8645 100644 --- a/packages/range-coder/package.json +++ b/packages/range-coder/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/range-coder", - "version": "0.1.17", + "version": "0.1.18", "description": "Binary data range encoder / decoder", "main": "./index.js", "typings": "./index.d.ts", @@ -20,7 +20,7 @@ "test": "rm -rf build && tsc -p test && nyc mocha build/test/*.js" }, "devDependencies": { - "@thi.ng/transducers": "^2.2.0", + "@thi.ng/transducers": "^2.2.1", "@types/mocha": "^5.2.5", "@types/node": "^10.12.0", "mocha": "^5.2.0", @@ -29,7 +29,7 @@ "typescript": "^3.1.3" }, "dependencies": { - "@thi.ng/bitstream": "^0.4.19" + "@thi.ng/bitstream": "^0.4.20" }, "keywords": [ "ES6", @@ -42,4 +42,4 @@ "publishConfig": { "access": "public" } -} \ No newline at end of file +} diff --git a/packages/resolve-map/CHANGELOG.md b/packages/resolve-map/CHANGELOG.md index edb6934536..a4cd45b00f 100644 --- a/packages/resolve-map/CHANGELOG.md +++ b/packages/resolve-map/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [3.0.15](https://github.com/thi-ng/umbrella/compare/@thi.ng/resolve-map@3.0.14...@thi.ng/resolve-map@3.0.15) (2018-10-21) + +**Note:** Version bump only for package @thi.ng/resolve-map + + + + + ## [3.0.14](https://github.com/thi-ng/umbrella/compare/@thi.ng/resolve-map@3.0.13...@thi.ng/resolve-map@3.0.14) (2018-10-17) **Note:** Version bump only for package @thi.ng/resolve-map diff --git a/packages/resolve-map/package.json b/packages/resolve-map/package.json index 34242a47e0..5f765881e9 100644 --- a/packages/resolve-map/package.json +++ b/packages/resolve-map/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/resolve-map", - "version": "3.0.14", + "version": "3.0.15", "description": "DAG resolution of vanilla objects & arrays with internally linked values", "main": "./index.js", "typings": "./index.d.ts", @@ -26,9 +26,9 @@ "typescript": "^3.1.3" }, "dependencies": { - "@thi.ng/checks": "^1.5.12", - "@thi.ng/errors": "^0.1.10", - "@thi.ng/paths": "^1.6.4" + "@thi.ng/checks": "^1.5.13", + "@thi.ng/errors": "^0.1.11", + "@thi.ng/paths": "^1.6.5" }, "keywords": [ "configuration", @@ -42,4 +42,4 @@ "publishConfig": { "access": "public" } -} \ No newline at end of file +} diff --git a/packages/rle-pack/CHANGELOG.md b/packages/rle-pack/CHANGELOG.md index 14b43cc688..5cb4f4f0e7 100644 --- a/packages/rle-pack/CHANGELOG.md +++ b/packages/rle-pack/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.0.7](https://github.com/thi-ng/umbrella/compare/@thi.ng/rle-pack@1.0.6...@thi.ng/rle-pack@1.0.7) (2018-10-21) + +**Note:** Version bump only for package @thi.ng/rle-pack + + + + + ## [1.0.6](https://github.com/thi-ng/umbrella/compare/@thi.ng/rle-pack@1.0.5...@thi.ng/rle-pack@1.0.6) (2018-10-17) **Note:** Version bump only for package @thi.ng/rle-pack diff --git a/packages/rle-pack/package.json b/packages/rle-pack/package.json index d7359864dd..855d6a610c 100644 --- a/packages/rle-pack/package.json +++ b/packages/rle-pack/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/rle-pack", - "version": "1.0.6", + "version": "1.0.7", "description": "Binary run-length encoding packer w/ flexible repeat bit widths", "main": "./index.js", "typings": "./index.d.ts", @@ -29,8 +29,8 @@ "typescript": "^3.1.3" }, "dependencies": { - "@thi.ng/bitstream": "^0.4.19", - "@thi.ng/errors": "^0.1.10" + "@thi.ng/bitstream": "^0.4.20", + "@thi.ng/errors": "^0.1.11" }, "keywords": [ "binary", @@ -43,4 +43,4 @@ "publishConfig": { "access": "public" } -} \ No newline at end of file +} diff --git a/packages/router/CHANGELOG.md b/packages/router/CHANGELOG.md index d73a2ca4dc..4d6cfa80e5 100644 --- a/packages/router/CHANGELOG.md +++ b/packages/router/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.1.27](https://github.com/thi-ng/umbrella/compare/@thi.ng/router@0.1.26...@thi.ng/router@0.1.27) (2018-10-21) + +**Note:** Version bump only for package @thi.ng/router + + + + + ## [0.1.26](https://github.com/thi-ng/umbrella/compare/@thi.ng/router@0.1.25...@thi.ng/router@0.1.26) (2018-10-17) **Note:** Version bump only for package @thi.ng/router diff --git a/packages/router/package.json b/packages/router/package.json index 8ee1360c5e..e0601034c2 100644 --- a/packages/router/package.json +++ b/packages/router/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/router", - "version": "0.1.26", + "version": "0.1.27", "description": "Generic router for browser & non-browser based applications", "main": "./index.js", "typings": "./index.d.ts", @@ -27,10 +27,10 @@ "typescript": "^3.1.3" }, "dependencies": { - "@thi.ng/api": "^4.2.2", - "@thi.ng/checks": "^1.5.12", - "@thi.ng/equiv": "^0.1.12", - "@thi.ng/errors": "^0.1.10" + "@thi.ng/api": "^4.2.3", + "@thi.ng/checks": "^1.5.13", + "@thi.ng/equiv": "^0.1.13", + "@thi.ng/errors": "^0.1.11" }, "keywords": [ "declarative", @@ -45,4 +45,4 @@ "publishConfig": { "access": "public" } -} \ No newline at end of file +} diff --git a/packages/rstream-csp/CHANGELOG.md b/packages/rstream-csp/CHANGELOG.md index 79a271cf09..8c8742621d 100644 --- a/packages/rstream-csp/CHANGELOG.md +++ b/packages/rstream-csp/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.1.114](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-csp@0.1.113...@thi.ng/rstream-csp@0.1.114) (2018-10-21) + +**Note:** Version bump only for package @thi.ng/rstream-csp + + + + + ## [0.1.113](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-csp@0.1.112...@thi.ng/rstream-csp@0.1.113) (2018-10-17) **Note:** Version bump only for package @thi.ng/rstream-csp diff --git a/packages/rstream-csp/package.json b/packages/rstream-csp/package.json index 1983b23f46..005862ead0 100644 --- a/packages/rstream-csp/package.json +++ b/packages/rstream-csp/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/rstream-csp", - "version": "0.1.113", + "version": "0.1.114", "description": "@thi.ng/csp bridge module for @thi.ng/rstream", "main": "./index.js", "typings": "./index.d.ts", @@ -28,8 +28,8 @@ "typescript": "^3.1.3" }, "dependencies": { - "@thi.ng/csp": "^0.3.68", - "@thi.ng/rstream": "^1.13.6" + "@thi.ng/csp": "^0.3.69", + "@thi.ng/rstream": "^1.13.7" }, "keywords": [ "bridge", @@ -42,4 +42,4 @@ "publishConfig": { "access": "public" } -} \ No newline at end of file +} diff --git a/packages/rstream-dot/CHANGELOG.md b/packages/rstream-dot/CHANGELOG.md index 47279dd95e..58ccd09c49 100644 --- a/packages/rstream-dot/CHANGELOG.md +++ b/packages/rstream-dot/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.2.53](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-dot@0.2.52...@thi.ng/rstream-dot@0.2.53) (2018-10-21) + +**Note:** Version bump only for package @thi.ng/rstream-dot + + + + + ## [0.2.52](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-dot@0.2.51...@thi.ng/rstream-dot@0.2.52) (2018-10-17) **Note:** Version bump only for package @thi.ng/rstream-dot diff --git a/packages/rstream-dot/package.json b/packages/rstream-dot/package.json index 5730c71caf..ea18f3cac5 100644 --- a/packages/rstream-dot/package.json +++ b/packages/rstream-dot/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/rstream-dot", - "version": "0.2.52", + "version": "0.2.53", "description": "Graphviz DOT conversion of @thi.ng/rstream dataflow graph topologies", "main": "./index.js", "typings": "./index.d.ts", @@ -28,7 +28,7 @@ "typescript": "^3.1.3" }, "dependencies": { - "@thi.ng/rstream": "^1.13.6" + "@thi.ng/rstream": "^1.13.7" }, "keywords": [ "conversion", @@ -45,4 +45,4 @@ "publishConfig": { "access": "public" } -} \ No newline at end of file +} diff --git a/packages/rstream-gestures/CHANGELOG.md b/packages/rstream-gestures/CHANGELOG.md index 310b2f1736..0c5a7857d9 100644 --- a/packages/rstream-gestures/CHANGELOG.md +++ b/packages/rstream-gestures/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.5.15](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-gestures@0.5.14...@thi.ng/rstream-gestures@0.5.15) (2018-10-21) + +**Note:** Version bump only for package @thi.ng/rstream-gestures + + + + + ## [0.5.14](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-gestures@0.5.13...@thi.ng/rstream-gestures@0.5.14) (2018-10-17) **Note:** Version bump only for package @thi.ng/rstream-gestures diff --git a/packages/rstream-gestures/package.json b/packages/rstream-gestures/package.json index 233d96ed42..91d7b0b311 100644 --- a/packages/rstream-gestures/package.json +++ b/packages/rstream-gestures/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/rstream-gestures", - "version": "0.5.14", + "version": "0.5.15", "description": "Unified mouse, mouse wheel & single-touch event stream abstraction", "main": "./index.js", "typings": "./index.d.ts", @@ -28,9 +28,9 @@ "typescript": "^3.1.3" }, "dependencies": { - "@thi.ng/api": "^4.2.2", - "@thi.ng/rstream": "^1.13.6", - "@thi.ng/transducers": "^2.2.0" + "@thi.ng/api": "^4.2.3", + "@thi.ng/rstream": "^1.13.7", + "@thi.ng/transducers": "^2.2.1" }, "keywords": [ "dataflow", @@ -46,4 +46,4 @@ "publishConfig": { "access": "public" } -} \ No newline at end of file +} diff --git a/packages/rstream-graph/CHANGELOG.md b/packages/rstream-graph/CHANGELOG.md index 38ff35453e..3b972fe67a 100644 --- a/packages/rstream-graph/CHANGELOG.md +++ b/packages/rstream-graph/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [2.1.39](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-graph@2.1.38...@thi.ng/rstream-graph@2.1.39) (2018-10-21) + +**Note:** Version bump only for package @thi.ng/rstream-graph + + + + + ## [2.1.38](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-graph@2.1.37...@thi.ng/rstream-graph@2.1.38) (2018-10-17) **Note:** Version bump only for package @thi.ng/rstream-graph diff --git a/packages/rstream-graph/package.json b/packages/rstream-graph/package.json index b2a1787336..ad8bfc9fb7 100644 --- a/packages/rstream-graph/package.json +++ b/packages/rstream-graph/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/rstream-graph", - "version": "2.1.38", + "version": "2.1.39", "description": "Declarative dataflow graph construction for @thi.ng/rstream", "main": "./index.js", "typings": "./index.d.ts", @@ -28,13 +28,13 @@ "typescript": "^3.1.3" }, "dependencies": { - "@thi.ng/api": "^4.2.2", - "@thi.ng/checks": "^1.5.12", - "@thi.ng/errors": "^0.1.10", - "@thi.ng/paths": "^1.6.4", - "@thi.ng/resolve-map": "^3.0.14", - "@thi.ng/rstream": "^1.13.6", - "@thi.ng/transducers": "^2.2.0" + "@thi.ng/api": "^4.2.3", + "@thi.ng/checks": "^1.5.13", + "@thi.ng/errors": "^0.1.11", + "@thi.ng/paths": "^1.6.5", + "@thi.ng/resolve-map": "^3.0.15", + "@thi.ng/rstream": "^1.13.7", + "@thi.ng/transducers": "^2.2.1" }, "keywords": [ "compute", @@ -48,4 +48,4 @@ "publishConfig": { "access": "public" } -} \ No newline at end of file +} diff --git a/packages/rstream-log/CHANGELOG.md b/packages/rstream-log/CHANGELOG.md index cd50df0b5b..8bad98feaa 100644 --- a/packages/rstream-log/CHANGELOG.md +++ b/packages/rstream-log/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.0.65](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-log@1.0.64...@thi.ng/rstream-log@1.0.65) (2018-10-21) + +**Note:** Version bump only for package @thi.ng/rstream-log + + + + + ## [1.0.64](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-log@1.0.63...@thi.ng/rstream-log@1.0.64) (2018-10-17) **Note:** Version bump only for package @thi.ng/rstream-log diff --git a/packages/rstream-log/package.json b/packages/rstream-log/package.json index 528b7989cc..b1b8b1ddfe 100644 --- a/packages/rstream-log/package.json +++ b/packages/rstream-log/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/rstream-log", - "version": "1.0.64", + "version": "1.0.65", "description": "Structured, multilevel & hierarchical loggers based on @thi.ng/rstream", "main": "./index.js", "typings": "./index.d.ts", @@ -28,11 +28,11 @@ "typescript": "^3.1.3" }, "dependencies": { - "@thi.ng/api": "^4.2.2", - "@thi.ng/checks": "^1.5.12", - "@thi.ng/errors": "^0.1.10", - "@thi.ng/rstream": "^1.13.6", - "@thi.ng/transducers": "^2.2.0" + "@thi.ng/api": "^4.2.3", + "@thi.ng/checks": "^1.5.13", + "@thi.ng/errors": "^0.1.11", + "@thi.ng/rstream": "^1.13.7", + "@thi.ng/transducers": "^2.2.1" }, "keywords": [ "ES6", @@ -48,4 +48,4 @@ "publishConfig": { "access": "public" } -} \ No newline at end of file +} diff --git a/packages/rstream-query/CHANGELOG.md b/packages/rstream-query/CHANGELOG.md index 69ad98ca37..c55b3b3a76 100644 --- a/packages/rstream-query/CHANGELOG.md +++ b/packages/rstream-query/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.3.52](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-query@0.3.51...@thi.ng/rstream-query@0.3.52) (2018-10-21) + +**Note:** Version bump only for package @thi.ng/rstream-query + + + + + ## [0.3.51](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-query@0.3.50...@thi.ng/rstream-query@0.3.51) (2018-10-17) **Note:** Version bump only for package @thi.ng/rstream-query diff --git a/packages/rstream-query/package.json b/packages/rstream-query/package.json index 5178d02b5c..56b88f9541 100644 --- a/packages/rstream-query/package.json +++ b/packages/rstream-query/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/rstream-query", - "version": "0.3.51", + "version": "0.3.52", "description": "@thi.ng/rstream based triple store & reactive query engine", "main": "./index.js", "typings": "./index.d.ts", @@ -28,14 +28,14 @@ "typescript": "^3.1.3" }, "dependencies": { - "@thi.ng/api": "^4.2.2", - "@thi.ng/associative": "^0.6.12", - "@thi.ng/checks": "^1.5.12", - "@thi.ng/equiv": "^0.1.12", - "@thi.ng/errors": "^0.1.10", - "@thi.ng/rstream": "^1.13.6", - "@thi.ng/rstream-dot": "^0.2.52", - "@thi.ng/transducers": "^2.2.0" + "@thi.ng/api": "^4.2.3", + "@thi.ng/associative": "^0.6.13", + "@thi.ng/checks": "^1.5.13", + "@thi.ng/equiv": "^0.1.13", + "@thi.ng/errors": "^0.1.11", + "@thi.ng/rstream": "^1.13.7", + "@thi.ng/rstream-dot": "^0.2.53", + "@thi.ng/transducers": "^2.2.1" }, "keywords": [ "dataflow", @@ -54,4 +54,4 @@ "publishConfig": { "access": "public" } -} \ No newline at end of file +} diff --git a/packages/rstream/CHANGELOG.md b/packages/rstream/CHANGELOG.md index 441c74ad8a..20bb5d2335 100644 --- a/packages/rstream/CHANGELOG.md +++ b/packages/rstream/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.13.7](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream@1.13.6...@thi.ng/rstream@1.13.7) (2018-10-21) + +**Note:** Version bump only for package @thi.ng/rstream + + + + + ## [1.13.6](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream@1.13.5...@thi.ng/rstream@1.13.6) (2018-10-17) **Note:** Version bump only for package @thi.ng/rstream diff --git a/packages/rstream/package.json b/packages/rstream/package.json index 45243d90ab..f12317bf21 100644 --- a/packages/rstream/package.json +++ b/packages/rstream/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/rstream", - "version": "1.13.6", + "version": "1.13.7", "description": "Reactive multi-tap streams, dataflow & transformation pipeline constructs", "main": "./index.js", "typings": "./index.d.ts", @@ -28,13 +28,13 @@ "typescript": "^3.1.3" }, "dependencies": { - "@thi.ng/api": "^4.2.2", - "@thi.ng/associative": "^0.6.12", - "@thi.ng/atom": "^1.5.5", - "@thi.ng/checks": "^1.5.12", - "@thi.ng/errors": "^0.1.10", - "@thi.ng/paths": "^1.6.4", - "@thi.ng/transducers": "^2.2.0" + "@thi.ng/api": "^4.2.3", + "@thi.ng/associative": "^0.6.13", + "@thi.ng/atom": "^1.5.6", + "@thi.ng/checks": "^1.5.13", + "@thi.ng/errors": "^0.1.11", + "@thi.ng/paths": "^1.6.5", + "@thi.ng/transducers": "^2.2.1" }, "keywords": [ "datastructure", @@ -51,4 +51,4 @@ "publishConfig": { "access": "public" } -} \ No newline at end of file +} diff --git a/packages/sax/CHANGELOG.md b/packages/sax/CHANGELOG.md index 73a2649a45..f57c585aa8 100644 --- a/packages/sax/CHANGELOG.md +++ b/packages/sax/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.5.3](https://github.com/thi-ng/umbrella/compare/@thi.ng/sax@0.5.2...@thi.ng/sax@0.5.3) (2018-10-21) + +**Note:** Version bump only for package @thi.ng/sax + + + + + ## [0.5.2](https://github.com/thi-ng/umbrella/compare/@thi.ng/sax@0.5.1...@thi.ng/sax@0.5.2) (2018-10-17) **Note:** Version bump only for package @thi.ng/sax diff --git a/packages/sax/package.json b/packages/sax/package.json index 240afefc2b..7bdaf643bb 100644 --- a/packages/sax/package.json +++ b/packages/sax/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/sax", - "version": "0.5.2", + "version": "0.5.3", "description": "Transducer-based, SAX-like, non-validating, speedy & tiny XML parser", "main": "./index.js", "typings": "./index.d.ts", @@ -28,9 +28,9 @@ "typescript": "^3.1.3" }, "dependencies": { - "@thi.ng/api": "^4.2.2", - "@thi.ng/transducers": "^2.2.0", - "@thi.ng/transducers-fsm": "^0.2.25" + "@thi.ng/api": "^4.2.3", + "@thi.ng/transducers": "^2.2.1", + "@thi.ng/transducers-fsm": "^0.2.26" }, "keywords": [ "ES6", @@ -44,4 +44,4 @@ "publishConfig": { "access": "public" } -} \ No newline at end of file +} diff --git a/packages/strings/CHANGELOG.md b/packages/strings/CHANGELOG.md index 903df26ca0..e72671dafe 100644 --- a/packages/strings/CHANGELOG.md +++ b/packages/strings/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.5.2](https://github.com/thi-ng/umbrella/compare/@thi.ng/strings@0.5.1...@thi.ng/strings@0.5.2) (2018-10-21) + +**Note:** Version bump only for package @thi.ng/strings + + + + + ## [0.5.1](https://github.com/thi-ng/umbrella/compare/@thi.ng/strings@0.5.0...@thi.ng/strings@0.5.1) (2018-10-17) **Note:** Version bump only for package @thi.ng/strings diff --git a/packages/strings/package.json b/packages/strings/package.json index 3ea6fb1319..683d83ae95 100644 --- a/packages/strings/package.json +++ b/packages/strings/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/strings", - "version": "0.5.1", + "version": "0.5.2", "description": "Various string formatting & utility functions", "main": "./index.js", "typings": "./index.d.ts", @@ -28,8 +28,8 @@ "typescript": "^3.1.3" }, "dependencies": { - "@thi.ng/errors": "^0.1.10", - "@thi.ng/memoize": "^0.2.4" + "@thi.ng/errors": "^0.1.11", + "@thi.ng/memoize": "^0.2.5" }, "keywords": [ "ES6", @@ -44,4 +44,4 @@ "publishConfig": { "access": "public" } -} \ No newline at end of file +} diff --git a/packages/transducers-fsm/CHANGELOG.md b/packages/transducers-fsm/CHANGELOG.md index 5f0a18c89b..e543894e07 100644 --- a/packages/transducers-fsm/CHANGELOG.md +++ b/packages/transducers-fsm/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.2.26](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers-fsm@0.2.25...@thi.ng/transducers-fsm@0.2.26) (2018-10-21) + +**Note:** Version bump only for package @thi.ng/transducers-fsm + + + + + ## [0.2.25](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers-fsm@0.2.24...@thi.ng/transducers-fsm@0.2.25) (2018-10-17) **Note:** Version bump only for package @thi.ng/transducers-fsm diff --git a/packages/transducers-fsm/package.json b/packages/transducers-fsm/package.json index f6664466bf..44ddce1ec4 100644 --- a/packages/transducers-fsm/package.json +++ b/packages/transducers-fsm/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/transducers-fsm", - "version": "0.2.25", + "version": "0.2.26", "description": "Transducer-based Finite State Machine transformer", "main": "./index.js", "typings": "./index.d.ts", @@ -28,8 +28,8 @@ "typescript": "^3.1.3" }, "dependencies": { - "@thi.ng/api": "^4.2.2", - "@thi.ng/transducers": "^2.2.0" + "@thi.ng/api": "^4.2.3", + "@thi.ng/transducers": "^2.2.1" }, "keywords": [ "ES6", @@ -41,4 +41,4 @@ "publishConfig": { "access": "public" } -} \ No newline at end of file +} diff --git a/packages/transducers-hdom/CHANGELOG.md b/packages/transducers-hdom/CHANGELOG.md index 93a537a140..2e71131eca 100644 --- a/packages/transducers-hdom/CHANGELOG.md +++ b/packages/transducers-hdom/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.1.9](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers-hdom@1.1.8...@thi.ng/transducers-hdom@1.1.9) (2018-10-21) + +**Note:** Version bump only for package @thi.ng/transducers-hdom + + + + + ## [1.1.8](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers-hdom@1.1.7...@thi.ng/transducers-hdom@1.1.8) (2018-10-17) **Note:** Version bump only for package @thi.ng/transducers-hdom diff --git a/packages/transducers-hdom/package.json b/packages/transducers-hdom/package.json index 524810588d..759af07a72 100644 --- a/packages/transducers-hdom/package.json +++ b/packages/transducers-hdom/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/transducers-hdom", - "version": "1.1.8", + "version": "1.1.9", "description": "Transducer based UI updater for @thi.ng/hdom", "main": "./index.js", "typings": "./index.d.ts", @@ -28,9 +28,9 @@ "typescript": "^3.1.3" }, "dependencies": { - "@thi.ng/checks": "^1.5.12", - "@thi.ng/hdom": "^5.0.6", - "@thi.ng/transducers": "^2.2.0" + "@thi.ng/checks": "^1.5.13", + "@thi.ng/hdom": "^5.0.7", + "@thi.ng/transducers": "^2.2.1" }, "keywords": [ "diff", @@ -45,4 +45,4 @@ "publishConfig": { "access": "public" } -} \ No newline at end of file +} diff --git a/packages/transducers-stats/CHANGELOG.md b/packages/transducers-stats/CHANGELOG.md index 19d46fc347..04a8ce1290 100644 --- a/packages/transducers-stats/CHANGELOG.md +++ b/packages/transducers-stats/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.4.13](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers-stats@0.4.12...@thi.ng/transducers-stats@0.4.13) (2018-10-21) + +**Note:** Version bump only for package @thi.ng/transducers-stats + + + + + ## [0.4.12](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers-stats@0.4.11...@thi.ng/transducers-stats@0.4.12) (2018-10-17) **Note:** Version bump only for package @thi.ng/transducers-stats diff --git a/packages/transducers-stats/package.json b/packages/transducers-stats/package.json index 552561096e..d96e5ee021 100644 --- a/packages/transducers-stats/package.json +++ b/packages/transducers-stats/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/transducers-stats", - "version": "0.4.12", + "version": "0.4.13", "description": "Transducers for statistical / technical analysis", "main": "./index.js", "typings": "./index.d.ts", @@ -28,9 +28,9 @@ "typescript": "^3.1.3" }, "dependencies": { - "@thi.ng/dcons": "^1.1.12", - "@thi.ng/errors": "^0.1.10", - "@thi.ng/transducers": "^2.2.0" + "@thi.ng/dcons": "^1.1.13", + "@thi.ng/errors": "^0.1.11", + "@thi.ng/transducers": "^2.2.1" }, "keywords": [ "ES6", @@ -39,4 +39,4 @@ "publishConfig": { "access": "public" } -} \ No newline at end of file +} diff --git a/packages/transducers/CHANGELOG.md b/packages/transducers/CHANGELOG.md index b58a8defce..8014ffe870 100644 --- a/packages/transducers/CHANGELOG.md +++ b/packages/transducers/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [2.2.1](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers@2.2.0...@thi.ng/transducers@2.2.1) (2018-10-21) + +**Note:** Version bump only for package @thi.ng/transducers + + + + + # [2.2.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers@2.1.6...@thi.ng/transducers@2.2.0) (2018-10-17) diff --git a/packages/transducers/package.json b/packages/transducers/package.json index b9b0990b90..3c9f631516 100644 --- a/packages/transducers/package.json +++ b/packages/transducers/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/transducers", - "version": "2.2.0", + "version": "2.2.1", "description": "Lightweight transducer implementations for ES6 / TypeScript", "main": "./index.js", "typings": "./index.d.ts", @@ -28,13 +28,13 @@ "typescript": "^3.1.3" }, "dependencies": { - "@thi.ng/api": "^4.2.2", - "@thi.ng/checks": "^1.5.12", - "@thi.ng/compare": "^0.1.10", - "@thi.ng/compose": "^0.2.0", - "@thi.ng/equiv": "^0.1.12", - "@thi.ng/errors": "^0.1.10", - "@thi.ng/strings": "^0.5.1" + "@thi.ng/api": "^4.2.3", + "@thi.ng/checks": "^1.5.13", + "@thi.ng/compare": "^0.1.11", + "@thi.ng/compose": "^0.2.1", + "@thi.ng/equiv": "^0.1.13", + "@thi.ng/errors": "^0.1.11", + "@thi.ng/strings": "^0.5.2" }, "keywords": [ "ES6", @@ -50,4 +50,4 @@ "publishConfig": { "access": "public" } -} \ No newline at end of file +} diff --git a/packages/unionstruct/CHANGELOG.md b/packages/unionstruct/CHANGELOG.md index 485e42cf47..7205752a26 100644 --- a/packages/unionstruct/CHANGELOG.md +++ b/packages/unionstruct/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.1.18](https://github.com/thi-ng/umbrella/compare/@thi.ng/unionstruct@0.1.17...@thi.ng/unionstruct@0.1.18) (2018-10-21) + +**Note:** Version bump only for package @thi.ng/unionstruct + + + + + ## [0.1.17](https://github.com/thi-ng/umbrella/compare/@thi.ng/unionstruct@0.1.16...@thi.ng/unionstruct@0.1.17) (2018-10-17) **Note:** Version bump only for package @thi.ng/unionstruct diff --git a/packages/unionstruct/package.json b/packages/unionstruct/package.json index e154720939..9025200e7e 100644 --- a/packages/unionstruct/package.json +++ b/packages/unionstruct/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/unionstruct", - "version": "0.1.17", + "version": "0.1.18", "description": "C-style struct, union and bitfield views of ArrayBuffers", "main": "./index.js", "typings": "./index.d.ts", @@ -41,4 +41,4 @@ "publishConfig": { "access": "public" } -} \ No newline at end of file +} diff --git a/packages/vectors/CHANGELOG.md b/packages/vectors/CHANGELOG.md index 820a915f40..94c5520f97 100644 --- a/packages/vectors/CHANGELOG.md +++ b/packages/vectors/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.4.1](https://github.com/thi-ng/umbrella/compare/@thi.ng/vectors@1.4.0...@thi.ng/vectors@1.4.1) (2018-10-21) + +**Note:** Version bump only for package @thi.ng/vectors + + + + + # [1.4.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/vectors@1.3.0...@thi.ng/vectors@1.4.0) (2018-10-17) diff --git a/packages/vectors/package.json b/packages/vectors/package.json index 285ca93401..5142898a6a 100644 --- a/packages/vectors/package.json +++ b/packages/vectors/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/vectors", - "version": "1.4.0", + "version": "1.4.1", "description": "Vector algebra for fixed & variable sizes, memory mapped, flexible layouts", "main": "./index.js", "typings": "./index.d.ts", @@ -29,11 +29,11 @@ "typescript": "^3.1.3" }, "dependencies": { - "@thi.ng/api": "^4.2.2", - "@thi.ng/checks": "^1.5.12", - "@thi.ng/errors": "^0.1.10", - "@thi.ng/math": "^0.1.0", - "@thi.ng/transducers": "^2.2.0" + "@thi.ng/api": "^4.2.3", + "@thi.ng/checks": "^1.5.13", + "@thi.ng/errors": "^0.1.11", + "@thi.ng/math": "^0.2.0", + "@thi.ng/transducers": "^2.2.1" }, "keywords": [ "ES6", @@ -47,4 +47,4 @@ "publishConfig": { "access": "public" } -} \ No newline at end of file +}