diff --git a/.all-contributorsrc b/.all-contributorsrc index e4b8bd889f..ebcaa432dd 100644 --- a/.all-contributorsrc +++ b/.all-contributorsrc @@ -307,6 +307,25 @@ "contributions": [ "bug" ] + }, + { + "login": "Shakthi", + "name": "Shakthi Prasad G S", + "avatar_url": "https://avatars.githubusercontent.com/u/1297378?v=4", + "profile": "https://github.com/Shakthi", + "contributions": [ + "bug", + "code" + ] + }, + { + "login": "Robsteranium", + "name": "Robin Gower", + "avatar_url": "https://avatars.githubusercontent.com/u/49654?v=4", + "profile": "http://infonomics.ltd.uk", + "contributions": [ + "bug" + ] } ], "contributorsPerLine": 7, diff --git a/.gitattributes b/.gitattributes index 9de645f634..88be73abd7 100644 --- a/.gitattributes +++ b/.gitattributes @@ -5,5 +5,5 @@ *.pdf -text *.png -text *.gz -text -tools/doc/typedoc-theme/* linguist-vendored +tools/doc/typedoc-theme/* -linguist-detectable yarn.lock -diff \ No newline at end of file diff --git a/README.md b/README.md index a04e491888..3987a54645 100644 --- a/README.md +++ b/README.md @@ -13,13 +13,13 @@ > the composer of. Geared towards versatility, not any specific type of music." > — [@loganpowell](https://twitter.com/logantpowell/status/1186334119812304901) via Twitter -Mono-repository for 148+ thi.ng TypeScript/ES6 projects, a wide -collection of largely data transformation oriented packages and building -blocks for (non-exhaustive list of topics): - **Please visit [thi.ng](https://thi.ng) for additional information & topic based search of packages relevant to your use cases...** +Mono-repository for 151+ thi.ng TypeScript/ES6 projects, a wide +collection of largely data transformation oriented packages and building +blocks for (non-exhaustive list of topics): + - Functional programming (composition, memoization, transducers, multi-methods) - Data structures & data transformations for wide range of use cases (list, sets, maps, joins, spatial indexing, clocks) @@ -81,7 +81,7 @@ Most packages: ## Examples -There's a steadily growing number (~100) of standalone examples +There's a steadily growing number (100+) of standalone examples (different complexities, often combining functionality from several packages) in the [**examples**](./examples/README.md) directory. @@ -132,17 +132,19 @@ for other project-wide information, tidbits, useful snippets etc. feature or `develop` branches) --> -### Latest additions / major updates (2021-02-20) +### Latest additions / updates (since 04/2021) -| Project | Version | Changelog | Description | -|---------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------|-------------------------------------------------------| -| [`@thi.ng/api`](./packages/api) | [![version](https://img.shields.io/npm/v/@thi.ng/api.svg)](https://www.npmjs.com/package/@thi.ng/api) | [changelog](./packages/api/CHANGELOG.md) | repo wide type alias replacements | -| [`@thi.ng/color`](./packages/color) | [![version](https://img.shields.io/npm/v/@thi.ng/color.svg)](https://www.npmjs.com/package/@thi.ng/color) | [changelog](./packages/color/CHANGELOG.md) | Complete refactor/overhaul/extension of color package | -| [`@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) | repo wide type alias replacements | -| [`@thi.ng/pixel-io-netpbm`](./packages/pixel-io-netpbm) | [![version](https://img.shields.io/npm/v/@thi.ng/pixel-io-netpbm.svg)](https://www.npmjs.com/package/@thi.ng/pixel-io-netpbm) | [changelog](./packages/pixel-io-netpbm/CHANGELOG.md) | 1/8/16/24bit NetPBM image format reader/writer | -| [`@thi.ng/vectors`](./packages/vectors) | [![version](https://img.shields.io/npm/v/@thi.ng/vectors.svg)](https://www.npmjs.com/package/@thi.ng/vectors) | [changelog](./packages/vectors/CHANGELOG.md) | repo wide type alias replacements | -| [`@thi.ng/vector-pools`](./packages/vector-pools) | [![version](https://img.shields.io/npm/v/@thi.ng/vector-pools.svg)](https://www.npmjs.com/package/@thi.ng/vector-pools) | [changelog](./packages/vector-pools/CHANGELOG.md) | repo wide type alias replacements | -| [`@thi.ng/webgl`](./packages/webgl) | [![version](https://img.shields.io/npm/v/@thi.ng/webgl.svg)](https://www.npmjs.com/package/@thi.ng/webgl) | [changelog](./packages/webgl/CHANGELOG.md) | repo wide type alias replacements | +| Project | Version | Changelog | Description | +|-------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------|--------------------------------------------------|------------------------------------------------| +| [`@thi.ng/date`](./packages/date) | [![version](https://img.shields.io/npm/v/@thi.ng/date.svg)](https://www.npmjs.com/package/@thi.ng/date) | [changelog](./packages/date/CHANGELOG.md) | Date/time iterators, formatters, rounding | +| [`@thi.ng/distance`](./packages/distance) | [![version](https://img.shields.io/npm/v/@thi.ng/distance.svg)](https://www.npmjs.com/package/@thi.ng/distance) | [changelog](./packages/distance/CHANGELOG.md) | n-D distance metrics & K-nearest neighborhoods | +| [`@thi.ng/k-means`](./packages/k-means) | [![version](https://img.shields.io/npm/v/@thi.ng/k-means.svg)](https://www.npmjs.com/package/@thi.ng/k-means) | [changelog](./packages/k-means/CHANGELOG.md) | K-means clustering of n-D data | +| [`@thi.ng/lowdisc`](./packages/lowdisc) | [![version](https://img.shields.io/npm/v/@thi.ng/lowdisc.svg)](https://www.npmjs.com/package/@thi.ng/lowdisc) | [changelog](./packages/lowdisc/CHANGELOG.md) | n-D Low discrepancy sequence generators | +| [`@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/mime`](./packages/mime) | [![version](https://img.shields.io/npm/v/@thi.ng/mime.svg)](https://www.npmjs.com/package/@thi.ng/mime) | [changelog](./packages/mime/CHANGELOG.md) | File extension to MIME type mappings | +| [`@thi.ng/pixel`](./packages/pixel) | [![version](https://img.shields.io/npm/v/@thi.ng/pixel.svg)](https://www.npmjs.com/package/@thi.ng/pixel) | [changelog](./packages/pixel/CHANGELOG.md) | Multi-format pixel buffers | +| [`@thi.ng/transducers`](./packages/transducers) | [![version](https://img.shields.io/npm/v/@thi.ng/transducers.svg)](https://www.npmjs.com/package/@thi.ng/transducers) | [changelog](./packages/transducers/CHANGELOG.md) | Composable data transformations | +| [`@thi.ng/vectors`](./packages/vectors) | [![version](https://img.shields.io/npm/v/@thi.ng/vectors.svg)](https://www.npmjs.com/package/@thi.ng/vectors) | [changelog](./packages/vectors/CHANGELOG.md) | Fixed & arbitrary-length vector ops | ### Fundamentals @@ -186,6 +188,7 @@ feature or `develop` branches) |-----------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------|----------------------------------------------------|----------------------------------------------------------| | [`@thi.ng/colored-noise`](./packages/colored-noise) | [![version](https://img.shields.io/npm/v/@thi.ng/colored-noise.svg)](https://www.npmjs.com/package/@thi.ng/colored-noise) | [changelog](./packages/colored-noise/CHANGELOG.md) | 1D colored noise generators | | [`@thi.ng/ksuid`](./packages/ksuid) | [![version](https://img.shields.io/npm/v/@thi.ng/ksuid.svg)](https://www.npmjs.com/package/@thi.ng/ksuid) | [changelog](./packages/ksuid/CHANGELOG.md) | K-sortable unique identifiers, binary & base-N encoded | +| [`@thi.ng/lowdisc`](./packages/lowdisc) | [![version](https://img.shields.io/npm/v/@thi.ng/lowdisc.svg)](https://www.npmjs.com/package/@thi.ng/lowdisc) | [changelog](./packages/lowdisc/CHANGELOG.md) | n-D Low discrepancy sequence generators | | [`@thi.ng/random`](./packages/random) | [![version](https://img.shields.io/npm/v/@thi.ng/random.svg)](https://www.npmjs.com/package/@thi.ng/random) | [changelog](./packages/random/CHANGELOG.md) | Seedable PRNG implementations, distributions & utilities | ### File format support @@ -236,7 +239,7 @@ feature or `develop` branches) | [`@thi.ng/rstream-log-file`](./packages/rstream-log-file) | [![version](https://img.shields.io/npm/v/@thi.ng/rstream-log-file.svg)](https://www.npmjs.com/package/@thi.ng/rstream-log-file) | [changelog](./packages/rstream-log-file/CHANGELOG.md) | Log-file output handler | | [`@thi.ng/rstream-query`](./packages/rstream-query) | [![version](https://img.shields.io/npm/v/@thi.ng/rstream-query.svg)](https://www.npmjs.com/package/@thi.ng/rstream-query) | [changelog](./packages/rstream-query/CHANGELOG.md) | Triple store & query engine | -### Data structures +### Algorithms & data structures | Project | Version | Changelog | Description | |-------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------|--------------------------------------------------|------------------------------------------| @@ -254,6 +257,7 @@ feature or `develop` branches) | [`@thi.ng/gp`](./packages/gp) | [![version](https://img.shields.io/npm/v/@thi.ng/gp.svg)](https://www.npmjs.com/package/@thi.ng/gp) | [changelog](./packages/gp/CHANGELOG.md) | Genetic programming helpers / AST gen | | [`@thi.ng/heaps`](./packages/heaps) | [![version](https://img.shields.io/npm/v/@thi.ng/heaps.svg)](https://www.npmjs.com/package/@thi.ng/heaps) | [changelog](./packages/heaps/CHANGELOG.md) | Binary & d-ary heap impls | | [`@thi.ng/idgen`](./packages/idgen) | [![version](https://img.shields.io/npm/v/@thi.ng/idgen.svg)](https://www.npmjs.com/package/@thi.ng/idgen) | [changelog](./packages/idgen/CHANGELOG.md) | Versioned ID generation / free-list | +| [`@thi.ng/k-means`](./packages/k-means) | [![version](https://img.shields.io/npm/v/@thi.ng/k-means.svg)](https://www.npmjs.com/package/@thi.ng/k-means) | [changelog](./packages/k-means/CHANGELOG.md) | K-means clustering of n-D data | | [`@thi.ng/ramp`](./packages/ramp) | [![version](https://img.shields.io/npm/v/@thi.ng/ramp.svg)](https://www.npmjs.com/package/@thi.ng/ramp) | [changelog](./packages/ramp/CHANGELOG.md) | Parametric, interpolated lookup tables | | [`@thi.ng/quad-edge`](./packages/quad-edge) | [![version](https://img.shields.io/npm/v/@thi.ng/quad-edge.svg)](https://www.npmjs.com/package/@thi.ng/quad-edge) | [changelog](./packages/quad-edge/CHANGELOG.md) | Quad-edge, dual-graph data structure | | [`@thi.ng/resolve-map`](./packages/resolve-map) | [![version](https://img.shields.io/npm/v/@thi.ng/resolve-map.svg)](https://www.npmjs.com/package/@thi.ng/resolve-map) | [changelog](./packages/resolve-map/CHANGELOG.md) | DAG computations & value resolution | @@ -461,6 +465,8 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d
d3v53c

🐛 🛡️
Jannis Pohlmann

🐛 +
Shakthi Prasad G S

🐛 💻 +
Robin Gower

🐛 diff --git a/assets/examples/dominant-colors.png b/assets/examples/dominant-colors.png new file mode 100644 index 0000000000..369425e293 Binary files /dev/null and b/assets/examples/dominant-colors.png differ diff --git a/assets/lowdisc/ld-halton-small.gif b/assets/lowdisc/ld-halton-small.gif new file mode 100644 index 0000000000..d050740519 Binary files /dev/null and b/assets/lowdisc/ld-halton-small.gif differ diff --git a/assets/lowdisc/ld-kronecker-small.gif b/assets/lowdisc/ld-kronecker-small.gif new file mode 100644 index 0000000000..1238ee1820 Binary files /dev/null and b/assets/lowdisc/ld-kronecker-small.gif differ diff --git a/assets/lowdisc/ld-plastic-small.gif b/assets/lowdisc/ld-plastic-small.gif new file mode 100644 index 0000000000..a2d5f2748c Binary files /dev/null and b/assets/lowdisc/ld-plastic-small.gif differ diff --git a/assets/pixel/dominant-colors-01.jpg b/assets/pixel/dominant-colors-01.jpg new file mode 100644 index 0000000000..4c84add2ed Binary files /dev/null and b/assets/pixel/dominant-colors-01.jpg differ diff --git a/examples/README.md b/examples/README.md index 3eee49e5c7..2895f6db07 100644 --- a/examples/README.md +++ b/examples/README.md @@ -1,7 +1,7 @@ # @thi.ng/umbrella examples -This directory contains a growing number (currently 101) of standalone +This directory contains a growing number (currently 102) of standalone example projects, including live online versions, build instructions and commented source code. @@ -20,95 +20,96 @@ in touch via PR, issue tracker, email or twitter! | 008 | | [commit-table-ssr](./commit-table-ssr/) | Filterable commit log UI w/ minimal server to provide commit history | | 009 | | [crypto-chart](./crypto-chart/) | Basic crypto-currency candle chart with multiple moving averages plots | | 010 | | [devcards](./devcards/) | BMI calculator in a devcards format | -| 011 | | [ellipse-proximity](./ellipse-proximity/) | Interactive visualization of closest points on ellipses | -| 012 | | [fft-synth](./fft-synth/) | Interactive inverse FFT toy synth | -| 013 | | [geom-convex-hull](./geom-convex-hull/) | Convex hull & shape clipping of 2D polygons | -| 014 | | [geom-fuzz-basics](./geom-fuzz-basics/) | geom-fuzz basic shape & fill examples | -| 015 | | [geom-knn](./geom-knn/) | Doodle w/ K-nearest neighbor search result visualization | -| 016 | | [geom-tessel](./geom-tessel/) | Animated, recursive polygon tessellations | -| 017 | | [geom-voronoi-mst](./geom-voronoi-mst/) | Poisson-disk shape-aware sampling, Voronoi & Minimum Spanning Tree visualization | -| 018 | | [gesture-analysis](./gesture-analysis/) | Mouse gesture / stroke analysis, simplification, corner detection | -| 019 | | [grid-iterators](./grid-iterators/) | Visualization of different grid iterator strategies | -| 020 | | [hdom-basics](./hdom-basics/) | Minimal hdom usage example | -| 021 | | [hdom-benchmark](./hdom-benchmark/) | hdom update performance benchmark (old version) | -| 022 | | [hdom-benchmark2](./hdom-benchmark2/) | hdom update performance benchmark w/ config options | -| 023 | | [hdom-canvas-clock](./hdom-canvas-clock/) | Realtime analog clock demo | -| 024 | | [hdom-canvas-draw](./hdom-canvas-draw/) | Interactive pattern drawing demo using transducers | -| 025 | | [hdom-canvas-particles](./hdom-canvas-particles/) | 2D Bezier curve-guided particle system | -| 026 | | [hdom-canvas-shapes](./hdom-canvas-shapes/) | Various hdom-canvas shape drawing examples & SVG conversion / export | -| 027 | | [hdom-dropdown](./hdom-dropdown/) | Custom dropdown UI component for hdom | -| 028 | | [hdom-dropdown-fuzzy](./hdom-dropdown-fuzzy/) | Custom dropdown UI component w/ fuzzy search | -| 029 | | [hdom-dyn-context](./hdom-dyn-context/) | Using custom hdom context for dynamic UI theming | -| 030 | | [hdom-elm](./hdom-elm/) | Using hdom in an Elm-like manner | -| 031 | | [hdom-inner-html](./hdom-inner-html/) | Higher-order component for rendering HTML strings | -| 032 | | [hdom-local-render](./hdom-local-render/) | Isolated, component-local DOM updates | -| 033 | | [hdom-localstate](./hdom-localstate/) | UI component w/ local state stored in hdom context | -| 034 | | [hdom-skip](./hdom-skip/) | Skipping UI updates for selected component(s) | -| 035 | | [hdom-skip-nested](./hdom-skip-nested/) | Skipping UI updates for nested component(s) | -| 036 | | [hdom-theme](./hdom-theme/) | Example for themed components proposal | -| 037 | | [hdom-toggle](./hdom-toggle/) | Customizable slide toggle component demo | -| 038 | | [hdom-vscroller](./hdom-vscroller/) | Virtual scroller component for large tables / lists | -| 039 | | [hiccup-canvas-arcs](./hiccup-canvas-arcs/) | Animated arcs & drawing using hiccup-canvas | -| 040 | | [hydrate-basics](./hydrate-basics/) | Hiccup / hdom DOM hydration example | -| 041 | | [imgui](./imgui/) | Canvas based Immediate Mode GUI components | -| 042 | | [imgui-basics](./imgui-basics/) | Minimal IMGUI usage example | -| 043 | | [interceptor-basics](./interceptor-basics/) | Event handling w/ interceptors and side effects | -| 044 | | [interceptor-basics2](./interceptor-basics2/) | Event handling w/ interceptors and side effects | -| 045 | | [iso-plasma](./iso-plasma/) | Animated sine plasma effect visualized using contour lines | -| 046 | | [json-components](./json-components/) | Transforming JSON into UI components | -| 047 | | [login-form](./login-form/) | Basic SPA example with atom-based UI router | -| 048 | | [mandelbrot](./mandelbrot/) | Worker based, interactive Mandelbrot visualization | -| 049 | | [markdown](./markdown/) | Minimal Markdown to Hiccup to HTML parser / transformer | -| 050 | | [multitouch](./multitouch/) | Basic rstream-gestures multi-touch demo | -| 051 | | [package-stats](./package-stats/) | CLI util to visualize umbrella pkg stats | -| 052 | | [parse-playground](./parse-playground/) | Parser grammar livecoding editor/playground & codegen | -| 053 | | [pixel-basics](./pixel-basics/) | Pixel buffer manipulations | -| 054 | | [pixel-sorting](./pixel-sorting/) | Interactive pixel sorting tool using thi.ng/color & thi.ng/pixel | -| 055 | | [pointfree-svg](./pointfree-svg/) | Generate SVG using pointfree DSL | -| 056 | | [poisson-circles](./poisson-circles/) | 2D Poisson-disc sampler with procedural gradient map | -| 057 | | [poly-spline](./poly-spline/) | Polygon to cubic curve conversion & visualization | -| 058 | | [porter-duff](./porter-duff/) | Port-Duff image compositing / alpha blending | -| 059 | | [ramp-synth](./ramp-synth/) | Unison wavetable synth with waveform editor | -| 060 | | [rdom-basics](./rdom-basics/) | Demonstates various rdom usage patterns | -| 061 | | [rdom-dnd](./rdom-dnd/) | rdom drag & drop example | -| 062 | | [rdom-lissajous](./rdom-lissajous/) | rdom & hiccup-canvas interop test | -| 063 | | [rdom-search-docs](./rdom-search-docs/) | Full umbrella repo doc string search w/ paginated results | -| 064 | | [rdom-svg-nodes](./rdom-svg-nodes/) | rdom powered SVG graph with draggable nodes | -| 065 | | [rotating-voronoi](./rotating-voronoi/) | Animated Voronoi diagram, cubic splines & SVG download | -| 066 | | [router-basics](./router-basics/) | Complete mini SPA app w/ router & async content loading | -| 067 | | [rstream-dataflow](./rstream-dataflow/) | Minimal rstream dataflow graph | -| 068 | | [rstream-event-loop](./rstream-event-loop/) | Minimal demo of using rstream constructs to form an interceptor-style event loop | -| 069 | | [rstream-grid](./rstream-grid/) | Interactive grid generator, SVG generation & export, undo/redo support | -| 070 | | [rstream-hdom](./rstream-hdom/) | rstream based UI updates & state handling | -| 071 | | [rstream-spreadsheet](./rstream-spreadsheet/) | rstream based spreadsheet w/ S-expression formula DSL | -| 072 | | [scenegraph](./scenegraph/) | 2D scenegraph & shape picking | -| 073 | | [scenegraph-image](./scenegraph-image/) | 2D scenegraph & image map based geometry manipulation | -| 074 | | [shader-ast-canvas2d](./shader-ast-canvas2d/) | 2D canvas shader emulation | -| 075 | | [shader-ast-evo](./shader-ast-evo/) | Evolutionary shader generation using genetic programming | -| 076 | | [shader-ast-noise](./shader-ast-noise/) | HOF shader procedural noise function composition | -| 077 | | [shader-ast-raymarch](./shader-ast-raymarch/) | WebGL & JS canvas2D raymarch shader cross-compilation | -| 078 | | [shader-ast-sdf2d](./shader-ast-sdf2d/) | WebGL & JS canvas 2D SDF | -| 079 | | [shader-ast-tunnel](./shader-ast-tunnel/) | WebGL & Canvas2D textured tunnel shader | -| 080 | | [shader-ast-workers](./shader-ast-workers/) | Fork-join worker-based raymarch renderer | -| 081 | | [shader-graph](./shader-graph/) | Minimal shader graph developed during livestream #2 | -| 082 | | [soa-ecs](./soa-ecs/) | Entity Component System w/ 100k 3D particles | -| 083 | | [stratified-grid](./stratified-grid/) | 2D Stratified grid sampling example | -| 084 | | [svg-barchart](./svg-barchart/) | Simplistic SVG bar chart component | -| 085 | | [svg-particles](./svg-particles/) | Basic 2D particle system w/ SVG shapes | -| 086 | | [svg-waveform](./svg-waveform/) | Additive waveform synthesis & SVG visualization with undo/redo | -| 087 | | [talk-slides](./talk-slides/) | hdom based slide deck viewer & slides from my ClojureX 2018 keynote | -| 088 | | [text-canvas](./text-canvas/) | 3D wireframe textmode demo | -| 089 | | [text-canvas-image](./text-canvas-image/) | Textmode image warping w/ 16bit color output | -| 090 | | [todo-list](./todo-list/) | Obligatory to-do list example with undo/redo | -| 091 | | [transducers-hdom](./transducers-hdom/) | Transducer & rstream based hdom UI updates | -| 092 | | [triple-query](./triple-query/) | Triple store query results & sortable table | -| 093 | | [webgl-cube](./webgl-cube/) | WebGL multi-colored cube mesh | -| 094 | | [webgl-cubemap](./webgl-cubemap/) | WebGL cube maps with async texture loading | -| 095 | | [webgl-grid](./webgl-grid/) | WebGL instancing, animated grid | -| 096 | | [webgl-msdf](./webgl-msdf/) | WebGL MSDF text rendering & particle system | -| 097 | | [webgl-multipass](./webgl-multipass/) | Minimal multi-pass / GPGPU example | -| 098 | | [webgl-shadertoy](./webgl-shadertoy/) | Shadertoy-like WebGL setup | -| 099 | | [webgl-ssao](./webgl-ssao/) | WebGL screenspace ambient occlusion | -| 100 | | [wolfram](./wolfram/) | 1D Wolfram automata with OBJ point cloud export | -| 101 | | [xml-converter](./xml-converter/) | XML/HTML/SVG to hiccup/JS conversion | +| 011 | | [dominant-colors](./dominant-colors/) | Color palette generation via dominant color extraction from uploaded images | +| 012 | | [ellipse-proximity](./ellipse-proximity/) | Interactive visualization of closest points on ellipses | +| 013 | | [fft-synth](./fft-synth/) | Interactive inverse FFT toy synth | +| 014 | | [geom-convex-hull](./geom-convex-hull/) | Convex hull & shape clipping of 2D polygons | +| 015 | | [geom-fuzz-basics](./geom-fuzz-basics/) | geom-fuzz basic shape & fill examples | +| 016 | | [geom-knn](./geom-knn/) | Doodle w/ K-nearest neighbor search result visualization | +| 017 | | [geom-tessel](./geom-tessel/) | Animated, recursive polygon tessellations | +| 018 | | [geom-voronoi-mst](./geom-voronoi-mst/) | Poisson-disk shape-aware sampling, Voronoi & Minimum Spanning Tree visualization | +| 019 | | [gesture-analysis](./gesture-analysis/) | Mouse gesture / stroke analysis, simplification, corner detection | +| 020 | | [grid-iterators](./grid-iterators/) | Visualization of different grid iterator strategies | +| 021 | | [hdom-basics](./hdom-basics/) | Minimal hdom usage example | +| 022 | | [hdom-benchmark](./hdom-benchmark/) | hdom update performance benchmark (old version) | +| 023 | | [hdom-benchmark2](./hdom-benchmark2/) | hdom update performance benchmark w/ config options | +| 024 | | [hdom-canvas-clock](./hdom-canvas-clock/) | Realtime analog clock demo | +| 025 | | [hdom-canvas-draw](./hdom-canvas-draw/) | Interactive pattern drawing demo using transducers | +| 026 | | [hdom-canvas-particles](./hdom-canvas-particles/) | 2D Bezier curve-guided particle system | +| 027 | | [hdom-canvas-shapes](./hdom-canvas-shapes/) | Various hdom-canvas shape drawing examples & SVG conversion / export | +| 028 | | [hdom-dropdown](./hdom-dropdown/) | Custom dropdown UI component for hdom | +| 029 | | [hdom-dropdown-fuzzy](./hdom-dropdown-fuzzy/) | Custom dropdown UI component w/ fuzzy search | +| 030 | | [hdom-dyn-context](./hdom-dyn-context/) | Using custom hdom context for dynamic UI theming | +| 031 | | [hdom-elm](./hdom-elm/) | Using hdom in an Elm-like manner | +| 032 | | [hdom-inner-html](./hdom-inner-html/) | Higher-order component for rendering HTML strings | +| 033 | | [hdom-local-render](./hdom-local-render/) | Isolated, component-local DOM updates | +| 034 | | [hdom-localstate](./hdom-localstate/) | UI component w/ local state stored in hdom context | +| 035 | | [hdom-skip](./hdom-skip/) | Skipping UI updates for selected component(s) | +| 036 | | [hdom-skip-nested](./hdom-skip-nested/) | Skipping UI updates for nested component(s) | +| 037 | | [hdom-theme](./hdom-theme/) | Example for themed components proposal | +| 038 | | [hdom-toggle](./hdom-toggle/) | Customizable slide toggle component demo | +| 039 | | [hdom-vscroller](./hdom-vscroller/) | Virtual scroller component for large tables / lists | +| 040 | | [hiccup-canvas-arcs](./hiccup-canvas-arcs/) | Animated arcs & drawing using hiccup-canvas | +| 041 | | [hydrate-basics](./hydrate-basics/) | Hiccup / hdom DOM hydration example | +| 042 | | [imgui](./imgui/) | Canvas based Immediate Mode GUI components | +| 043 | | [imgui-basics](./imgui-basics/) | Minimal IMGUI usage example | +| 044 | | [interceptor-basics](./interceptor-basics/) | Event handling w/ interceptors and side effects | +| 045 | | [interceptor-basics2](./interceptor-basics2/) | Event handling w/ interceptors and side effects | +| 046 | | [iso-plasma](./iso-plasma/) | Animated sine plasma effect visualized using contour lines | +| 047 | | [json-components](./json-components/) | Transforming JSON into UI components | +| 048 | | [login-form](./login-form/) | Basic SPA example with atom-based UI router | +| 049 | | [mandelbrot](./mandelbrot/) | Worker based, interactive Mandelbrot visualization | +| 050 | | [markdown](./markdown/) | Minimal Markdown to Hiccup to HTML parser / transformer | +| 051 | | [multitouch](./multitouch/) | Basic rstream-gestures multi-touch demo | +| 052 | | [package-stats](./package-stats/) | CLI util to visualize umbrella pkg stats | +| 053 | | [parse-playground](./parse-playground/) | Parser grammar livecoding editor/playground & codegen | +| 054 | | [pixel-basics](./pixel-basics/) | Pixel buffer manipulations | +| 055 | | [pixel-sorting](./pixel-sorting/) | Interactive pixel sorting tool using thi.ng/color & thi.ng/pixel | +| 056 | | [pointfree-svg](./pointfree-svg/) | Generate SVG using pointfree DSL | +| 057 | | [poisson-circles](./poisson-circles/) | 2D Poisson-disc sampler with procedural gradient map | +| 058 | | [poly-spline](./poly-spline/) | Polygon to cubic curve conversion & visualization | +| 059 | | [porter-duff](./porter-duff/) | Port-Duff image compositing / alpha blending | +| 060 | | [ramp-synth](./ramp-synth/) | Unison wavetable synth with waveform editor | +| 061 | | [rdom-basics](./rdom-basics/) | Demonstates various rdom usage patterns | +| 062 | | [rdom-dnd](./rdom-dnd/) | rdom drag & drop example | +| 063 | | [rdom-lissajous](./rdom-lissajous/) | rdom & hiccup-canvas interop test | +| 064 | | [rdom-search-docs](./rdom-search-docs/) | Full umbrella repo doc string search w/ paginated results | +| 065 | | [rdom-svg-nodes](./rdom-svg-nodes/) | rdom powered SVG graph with draggable nodes | +| 066 | | [rotating-voronoi](./rotating-voronoi/) | Animated Voronoi diagram, cubic splines & SVG download | +| 067 | | [router-basics](./router-basics/) | Complete mini SPA app w/ router & async content loading | +| 068 | | [rstream-dataflow](./rstream-dataflow/) | Minimal rstream dataflow graph | +| 069 | | [rstream-event-loop](./rstream-event-loop/) | Minimal demo of using rstream constructs to form an interceptor-style event loop | +| 070 | | [rstream-grid](./rstream-grid/) | Interactive grid generator, SVG generation & export, undo/redo support | +| 071 | | [rstream-hdom](./rstream-hdom/) | rstream based UI updates & state handling | +| 072 | | [rstream-spreadsheet](./rstream-spreadsheet/) | rstream based spreadsheet w/ S-expression formula DSL | +| 073 | | [scenegraph](./scenegraph/) | 2D scenegraph & shape picking | +| 074 | | [scenegraph-image](./scenegraph-image/) | 2D scenegraph & image map based geometry manipulation | +| 075 | | [shader-ast-canvas2d](./shader-ast-canvas2d/) | 2D canvas shader emulation | +| 076 | | [shader-ast-evo](./shader-ast-evo/) | Evolutionary shader generation using genetic programming | +| 077 | | [shader-ast-noise](./shader-ast-noise/) | HOF shader procedural noise function composition | +| 078 | | [shader-ast-raymarch](./shader-ast-raymarch/) | WebGL & JS canvas2D raymarch shader cross-compilation | +| 079 | | [shader-ast-sdf2d](./shader-ast-sdf2d/) | WebGL & JS canvas 2D SDF | +| 080 | | [shader-ast-tunnel](./shader-ast-tunnel/) | WebGL & Canvas2D textured tunnel shader | +| 081 | | [shader-ast-workers](./shader-ast-workers/) | Fork-join worker-based raymarch renderer | +| 082 | | [shader-graph](./shader-graph/) | Minimal shader graph developed during livestream #2 | +| 083 | | [soa-ecs](./soa-ecs/) | Entity Component System w/ 100k 3D particles | +| 084 | | [stratified-grid](./stratified-grid/) | 2D Stratified grid sampling example | +| 085 | | [svg-barchart](./svg-barchart/) | Simplistic SVG bar chart component | +| 086 | | [svg-particles](./svg-particles/) | Basic 2D particle system w/ SVG shapes | +| 087 | | [svg-waveform](./svg-waveform/) | Additive waveform synthesis & SVG visualization with undo/redo | +| 088 | | [talk-slides](./talk-slides/) | hdom based slide deck viewer & slides from my ClojureX 2018 keynote | +| 089 | | [text-canvas](./text-canvas/) | 3D wireframe textmode demo | +| 090 | | [text-canvas-image](./text-canvas-image/) | Textmode image warping w/ 16bit color output | +| 091 | | [todo-list](./todo-list/) | Obligatory to-do list example with undo/redo | +| 092 | | [transducers-hdom](./transducers-hdom/) | Transducer & rstream based hdom UI updates | +| 093 | | [triple-query](./triple-query/) | Triple store query results & sortable table | +| 094 | | [webgl-cube](./webgl-cube/) | WebGL multi-colored cube mesh | +| 095 | | [webgl-cubemap](./webgl-cubemap/) | WebGL cube maps with async texture loading | +| 096 | | [webgl-grid](./webgl-grid/) | WebGL instancing, animated grid | +| 097 | | [webgl-msdf](./webgl-msdf/) | WebGL MSDF text rendering & particle system | +| 098 | | [webgl-multipass](./webgl-multipass/) | Minimal multi-pass / GPGPU example | +| 099 | | [webgl-shadertoy](./webgl-shadertoy/) | Shadertoy-like WebGL setup | +| 100 | | [webgl-ssao](./webgl-ssao/) | WebGL screenspace ambient occlusion | +| 101 | | [wolfram](./wolfram/) | 1D Wolfram automata with OBJ point cloud export | +| 102 | | [xml-converter](./xml-converter/) | XML/HTML/SVG to hiccup/JS conversion | diff --git a/examples/adaptive-threshold/snowpack.config.js b/examples/adaptive-threshold/snowpack.config.js index bbc5467de8..d887f95f87 100644 --- a/examples/adaptive-threshold/snowpack.config.js +++ b/examples/adaptive-threshold/snowpack.config.js @@ -23,8 +23,10 @@ module.exports = { packageOptions: { source: "local", types: true, + knownEntrypoints: ["tslib"] }, buildOptions: { baseUrl: "/umbrella/adaptive-threshold", }, + workspaceRoot: "../..", }; diff --git a/examples/async-effect/snowpack.config.js b/examples/async-effect/snowpack.config.js index 250ea8fa33..78c1b97e6f 100644 --- a/examples/async-effect/snowpack.config.js +++ b/examples/async-effect/snowpack.config.js @@ -23,8 +23,10 @@ module.exports = { packageOptions: { source: "local", types: true, + knownEntrypoints: ["tslib"] }, buildOptions: { baseUrl: "/umbrella/async-effect", }, + workspaceRoot: "../..", }; diff --git a/examples/bitmap-font/snowpack.config.js b/examples/bitmap-font/snowpack.config.js index bf43f9c304..03aa70530c 100644 --- a/examples/bitmap-font/snowpack.config.js +++ b/examples/bitmap-font/snowpack.config.js @@ -23,8 +23,10 @@ module.exports = { packageOptions: { source: "local", types: true, + knownEntrypoints: ["tslib"] }, buildOptions: { baseUrl: "/umbrella/bitmap-font", }, + workspaceRoot: "../..", }; diff --git a/examples/canvas-dial/snowpack.config.js b/examples/canvas-dial/snowpack.config.js index 178361d176..8f55f82a64 100644 --- a/examples/canvas-dial/snowpack.config.js +++ b/examples/canvas-dial/snowpack.config.js @@ -23,8 +23,10 @@ module.exports = { packageOptions: { source: "local", types: true, + knownEntrypoints: ["tslib"] }, buildOptions: { baseUrl: "/umbrella/canvas-dial", }, + workspaceRoot: "../..", }; diff --git a/examples/cellular-automata/snowpack.config.js b/examples/cellular-automata/snowpack.config.js index 6c2d27ed8e..e8bd16d1b3 100644 --- a/examples/cellular-automata/snowpack.config.js +++ b/examples/cellular-automata/snowpack.config.js @@ -23,8 +23,10 @@ module.exports = { packageOptions: { source: "local", types: true, + knownEntrypoints: ["tslib"] }, buildOptions: { baseUrl: "/umbrella/cellular-automata", }, + workspaceRoot: "../..", }; diff --git a/examples/color-themes/snowpack.config.js b/examples/color-themes/snowpack.config.js index ba5a4c820b..e0e7fdbcf3 100644 --- a/examples/color-themes/snowpack.config.js +++ b/examples/color-themes/snowpack.config.js @@ -23,8 +23,10 @@ module.exports = { packageOptions: { source: "local", types: true, + knownEntrypoints: ["tslib"] }, buildOptions: { baseUrl: "/umbrella/color-themes", }, + workspaceRoot: "../..", }; diff --git a/examples/commit-table-ssr/package.json b/examples/commit-table-ssr/package.json index c00e986b69..0497b4efd8 100644 --- a/examples/commit-table-ssr/package.json +++ b/examples/commit-table-ssr/package.json @@ -12,8 +12,8 @@ "start": "../../node_modules/.bin/ts-node src/server/index.ts" }, "devDependencies": { - "ts-node": "^9.1.1", - "typescript": "^4.2.3" + "ts-node": "^10.0.0", + "typescript": "4.2.4" }, "dependencies": { "@thi.ng/api": "latest", diff --git a/examples/crypto-chart/snowpack.config.js b/examples/crypto-chart/snowpack.config.js index 618d07b441..204e7836e2 100644 --- a/examples/crypto-chart/snowpack.config.js +++ b/examples/crypto-chart/snowpack.config.js @@ -23,8 +23,10 @@ module.exports = { packageOptions: { source: "local", types: true, + knownEntrypoints: ["tslib"] }, buildOptions: { baseUrl: "/umbrella/crypto-chart", }, + workspaceRoot: "../..", }; diff --git a/examples/devcards/snowpack.config.js b/examples/devcards/snowpack.config.js index 1dfa079abe..b616272e15 100644 --- a/examples/devcards/snowpack.config.js +++ b/examples/devcards/snowpack.config.js @@ -23,8 +23,10 @@ module.exports = { packageOptions: { source: "local", types: true, + knownEntrypoints: ["tslib"] }, buildOptions: { baseUrl: "/umbrella/devcards", }, + workspaceRoot: "../..", }; diff --git a/examples/dominant-colors/.gitignore b/examples/dominant-colors/.gitignore new file mode 100644 index 0000000000..211b157174 --- /dev/null +++ b/examples/dominant-colors/.gitignore @@ -0,0 +1,6 @@ +build +dev +node_modules +yarn.lock +!snowpack.config.js +!*.d.ts diff --git a/examples/dominant-colors/README.md b/examples/dominant-colors/README.md new file mode 100644 index 0000000000..639f26ccff --- /dev/null +++ b/examples/dominant-colors/README.md @@ -0,0 +1,15 @@ +# dominant-colors + +![screenshot](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/dominant-colors.png) + +[Live demo](http://demo.thi.ng/umbrella/dominant-colors/) + +Please refer to the [example build instructions](https://github.com/thi-ng/umbrella/wiki/Example-build-instructions) on the wiki. + +## Authors + +- Karsten Schmidt + +## License + +© 2021 Karsten Schmidt // Apache Software License 2.0 diff --git a/examples/dominant-colors/package.json b/examples/dominant-colors/package.json new file mode 100644 index 0000000000..b92bedae88 --- /dev/null +++ b/examples/dominant-colors/package.json @@ -0,0 +1,45 @@ +{ + "name": "dominant-colors", + "version": "0.0.1", + "description": "Color palette generation via dominant color extraction from uploaded images", + "repository": "https://github.com/thi-ng/umbrella", + "author": "Karsten Schmidt ", + "license": "Apache-2.0", + "scripts": { + "clean": "../../node_modules/.bin/rimraf build node_modules/.cache", + "start": "../../node_modules/.bin/snowpack dev --reload", + "build": "../../node_modules/.bin/snowpack build" + }, + "devDependencies": { + "@thi.ng/snowpack-env": "^2.3.3" + }, + "dependencies": { + "@thi.ng/bench": "latest", + "@thi.ng/color": "latest", + "@thi.ng/dl-asset": "latest", + "@thi.ng/hiccup-html": "latest", + "@thi.ng/hiccup-svg": "latest", + "@thi.ng/pixel": "latest", + "@thi.ng/rdom": "latest", + "@thi.ng/rstream": "latest", + "@thi.ng/transducers": "latest" + }, + "browserslist": [ + "last 3 Chrome versions" + ], + "browser": { + "process": false + }, + "thi.ng": { + "readme": [ + "color", + "dl-asset", + "hiccup-svg", + "k-means", + "pixel", + "rdom", + "rstream" + ], + "screenshot": "examples/dominant-colors.png" + } +} diff --git a/examples/dominant-colors/public/index.html b/examples/dominant-colors/public/index.html new file mode 100644 index 0000000000..8ebccf1823 --- /dev/null +++ b/examples/dominant-colors/public/index.html @@ -0,0 +1,31 @@ + + + + + + + dominant-colors + + + + + +
+
+ Source code +
+ + + diff --git a/examples/dominant-colors/snowpack.config.js b/examples/dominant-colors/snowpack.config.js new file mode 100644 index 0000000000..87c7f0ed64 --- /dev/null +++ b/examples/dominant-colors/snowpack.config.js @@ -0,0 +1,32 @@ +/** @type {import("snowpack").SnowpackUserConfig } */ +module.exports = { + mount: { + public: "/", + src: "/_dist_", + }, + plugins: [ + "@snowpack/plugin-typescript", + [ + "@snowpack/plugin-webpack", + { + extendConfig: (config) => { + config.node = { + process: false, + setImmediate: false, + util: "empty", + }; + return config; + }, + }, + ], + ], + packageOptions: { + source: "local", + types: true, + knownEntrypoints: ["tslib"] + }, + buildOptions: { + baseUrl: "/umbrella/dominant-colors", + }, + workspaceRoot: "../..", +}; diff --git a/examples/dominant-colors/src/index.ts b/examples/dominant-colors/src/index.ts new file mode 100644 index 0000000000..a200a45dbe --- /dev/null +++ b/examples/dominant-colors/src/index.ts @@ -0,0 +1,147 @@ +import { timed } from "@thi.ng/bench"; +import { swatchesH } from "@thi.ng/color"; +import { button, div, h1, inputFile } from "@thi.ng/hiccup-html"; +import { svg } from "@thi.ng/hiccup-svg"; +import { + ABGR8888, + dominantColors, + floatBuffer, + FLOAT_RGB, + PackedBuffer, +} from "@thi.ng/pixel"; +import { + $compile, + $input, + $refresh, + Component, + NumOrElement, +} from "@thi.ng/rdom"; +import { reactive, stream, sync } from "@thi.ng/rstream"; +import { map } from "@thi.ng/transducers"; +import { downloadACT } from "./palette"; + +/** + * Converts image into pixel buffer, resizes it to max 256 pixels (longest side) + * and applies k-means clustering to obtain dominant colors and their coverage. + * Only colors with given `minArea` (normalized) are considered. + * + * @param img + * @param num + * @param minArea + */ +const processImage = (img: HTMLImageElement, num: number, minArea = 0.025) => + timed(() => { + let buf = PackedBuffer.fromImage(img, ABGR8888); + buf = buf.scale(256 / Math.max(buf.width, buf.height), "nearest"); + const colors = dominantColors(floatBuffer(buf, FLOAT_RGB), num).filter( + (c) => c.area >= minArea + ); + return { buf, colors }; + }); + +// images read from files +const image = stream(); +// number of dominant colors to extract +const num = reactive(5); +// dummy stream to retrigger updates +const update = reactive(""); + +// stream combinator & image processor +const result = sync({ + src: { + image, + num, + _: update, + }, + xform: map((params) => processImage(params.image, params.num)), +}); + +// stream of input files +const file = stream(); +// new values pushed into `file` will trigger reading file as an image +// once ready, puts image into `image` stream for further processing +file.subscribe({ + next(file) { + const url = URL.createObjectURL(file); + const img = new Image(); + img.onload = () => { + image.next(img); + URL.revokeObjectURL(url); // house keeping! + }; + img.src = url; + }, +}); + +// thi.ng/rdom UI component +// creates a canvas element and blits given pixel buffer into it +// when the component mounts +class PixelCanvas extends Component { + constructor(protected buffer: PackedBuffer) { + super(); + } + + async mount(parent: Element, index?: NumOrElement) { + const buf = this.buffer; + this.el = this.$el( + "canvas", + { width: buf.width, height: buf.height }, + null, + parent, + index + ); + buf.blitCanvas(this.el); + return this.el; + } +} + +// main UI +$compile( + div( + {}, + h1({}, "Dominant colors"), + inputFile(".db.mv3", { + accept: ["image/jpg", "image/png", "image/gif"], + multiple: false, + onchange: (e) => file.next((e.target).files![0]), + }), + button(".db.mv3", { onclick: $input(update) }, "update"), + div( + {}, + // this part of the UI will be replaced for each new processed image + $refresh>(result, async (res) => + div( + {}, + // resized image as canvas + new PixelCanvas(res.buf), + // swatches of dominant colors + div( + ".mv3", + {}, + svg( + { + width: res.colors.length * 50, + height: 50, + convert: true, + }, + swatchesH( + res.colors.map((c) => c.color), + 50, + 50, + { stroke: "black" } + ) + ) + ), + // download palette button + button( + ".db.mv3", + { + onclick: () => + downloadACT(res.colors.map((c) => c.color)), + }, + "download .act palette" + ) + ) + ) + ) + ) +).mount(document.getElementById("app")!); diff --git a/examples/dominant-colors/src/palette.ts b/examples/dominant-colors/src/palette.ts new file mode 100644 index 0000000000..8e8daa6ec1 --- /dev/null +++ b/examples/dominant-colors/src/palette.ts @@ -0,0 +1,21 @@ +import { ReadonlyColor, srgb, srgbIntArgb32 } from "@thi.ng/color"; +import { downloadWithMime } from "@thi.ng/dl-asset"; + +export const downloadACT = (colors: ReadonlyColor[]) => { + const num = colors.length; + const buf = new Uint8Array(772); + // http://www.selapa.net/swatches/colors/fileformats.php + // https://www.adobe.com/devnet-apps/photoshop/fileformatashtml/#50577411_pgfId-1070626 + buf[768] = num >> 8; + buf[769] = num & 0xff; + // palette index 0 reserved for transparent slot + for (let i = 0, j = 3; i < num; i++, j += 3) { + const rgb = srgbIntArgb32(srgb(colors[i])); + buf[j] = (rgb >> 16) & 0xff; + buf[j + 1] = (rgb >> 8) & 0xff; + buf[j + 2] = rgb & 0xff; + } + downloadWithMime("palette.act", buf, { + mime: "application/octet-stream", + }); +}; diff --git a/examples/dominant-colors/src/static.d.ts b/examples/dominant-colors/src/static.d.ts new file mode 100644 index 0000000000..67d9623753 --- /dev/null +++ b/examples/dominant-colors/src/static.d.ts @@ -0,0 +1,51 @@ +/* Use this file to declare any custom file extensions for importing */ +/* Use this folder to also add/extend a package d.ts file, if needed. */ + +/* CSS MODULES */ +declare module "*.module.css" { + const classes: { [key: string]: string }; + export default classes; +} +declare module "*.module.scss" { + const classes: { [key: string]: string }; + export default classes; +} +declare module "*.module.sass" { + const classes: { [key: string]: string }; + export default classes; +} +declare module "*.module.less" { + const classes: { [key: string]: string }; + export default classes; +} +declare module "*.module.styl" { + const classes: { [key: string]: string }; + export default classes; +} + +/* CSS */ +declare module "*.css"; +declare module "*.scss"; +declare module "*.sass"; +declare module "*.less"; +declare module "*.styl"; + +/* IMAGES */ +declare module "*.svg" { + const ref: string; + export default ref; +} +declare module "*.gif" { + const ref: string; + export default ref; +} +declare module "*.jpg" { + const ref: string; + export default ref; +} +declare module "*.png" { + const ref: string; + export default ref; +} + +/* CUSTOM: ADD YOUR OWN HERE */ diff --git a/examples/dominant-colors/tsconfig.json b/examples/dominant-colors/tsconfig.json new file mode 100644 index 0000000000..48d558b4f8 --- /dev/null +++ b/examples/dominant-colors/tsconfig.json @@ -0,0 +1,8 @@ +{ + "extends": "../tsconfig.json", + "include": ["src"], + "compilerOptions": { + "baseUrl": "./", + "paths": { "*": ["web_modules/.types/*"] } + } +} diff --git a/examples/ellipse-proximity/snowpack.config.js b/examples/ellipse-proximity/snowpack.config.js index 11ec9877a0..b1ea631321 100644 --- a/examples/ellipse-proximity/snowpack.config.js +++ b/examples/ellipse-proximity/snowpack.config.js @@ -23,8 +23,10 @@ module.exports = { packageOptions: { source: "local", types: true, + knownEntrypoints: ["tslib"] }, buildOptions: { baseUrl: "/umbrella/ellipse-proximity", }, + workspaceRoot: "../..", }; diff --git a/examples/fft-synth/snowpack.config.js b/examples/fft-synth/snowpack.config.js index cf65d6e536..ddad7825a7 100644 --- a/examples/fft-synth/snowpack.config.js +++ b/examples/fft-synth/snowpack.config.js @@ -23,8 +23,10 @@ module.exports = { packageOptions: { source: "local", types: true, + knownEntrypoints: ["tslib"] }, buildOptions: { baseUrl: "/umbrella/fft-synth", }, + workspaceRoot: "../..", }; diff --git a/examples/geom-convex-hull/snowpack.config.js b/examples/geom-convex-hull/snowpack.config.js index 6adead998b..efec4970fb 100644 --- a/examples/geom-convex-hull/snowpack.config.js +++ b/examples/geom-convex-hull/snowpack.config.js @@ -23,8 +23,10 @@ module.exports = { packageOptions: { source: "local", types: true, + knownEntrypoints: ["tslib"] }, buildOptions: { baseUrl: "/umbrella/geom-convex-hull", }, + workspaceRoot: "../..", }; diff --git a/examples/geom-fuzz-basics/snowpack.config.js b/examples/geom-fuzz-basics/snowpack.config.js index bb93b39c62..70e061db06 100644 --- a/examples/geom-fuzz-basics/snowpack.config.js +++ b/examples/geom-fuzz-basics/snowpack.config.js @@ -23,8 +23,10 @@ module.exports = { packageOptions: { source: "local", types: true, + knownEntrypoints: ["tslib"] }, buildOptions: { baseUrl: "/umbrella/geom-fuzz-basics", }, + workspaceRoot: "../..", }; diff --git a/examples/geom-knn/snowpack.config.js b/examples/geom-knn/snowpack.config.js index bbc72bda6e..32f3e94e15 100644 --- a/examples/geom-knn/snowpack.config.js +++ b/examples/geom-knn/snowpack.config.js @@ -23,8 +23,10 @@ module.exports = { packageOptions: { source: "local", types: true, + knownEntrypoints: ["tslib"] }, buildOptions: { baseUrl: "/umbrella/geom-knn", }, + workspaceRoot: "../..", }; diff --git a/examples/geom-tessel/snowpack.config.js b/examples/geom-tessel/snowpack.config.js index 598bd71842..b655ea2020 100644 --- a/examples/geom-tessel/snowpack.config.js +++ b/examples/geom-tessel/snowpack.config.js @@ -23,8 +23,10 @@ module.exports = { packageOptions: { source: "local", types: true, + knownEntrypoints: ["tslib"] }, buildOptions: { baseUrl: "/umbrella/geom-tessel", }, + workspaceRoot: "../..", }; diff --git a/examples/geom-voronoi-mst/snowpack.config.js b/examples/geom-voronoi-mst/snowpack.config.js index 5e27e78a52..ed61382992 100644 --- a/examples/geom-voronoi-mst/snowpack.config.js +++ b/examples/geom-voronoi-mst/snowpack.config.js @@ -23,8 +23,10 @@ module.exports = { packageOptions: { source: "local", types: true, + knownEntrypoints: ["tslib"] }, buildOptions: { baseUrl: "/umbrella/geom-voronoi-mst", }, + workspaceRoot: "../..", }; diff --git a/examples/gesture-analysis/snowpack.config.js b/examples/gesture-analysis/snowpack.config.js index 0b4d1e1c92..0b8ddd3915 100644 --- a/examples/gesture-analysis/snowpack.config.js +++ b/examples/gesture-analysis/snowpack.config.js @@ -23,8 +23,10 @@ module.exports = { packageOptions: { source: "local", types: true, + knownEntrypoints: ["tslib"] }, buildOptions: { baseUrl: "/umbrella/gesture-analysis", }, + workspaceRoot: "../..", }; diff --git a/examples/grid-iterators/snowpack.config.js b/examples/grid-iterators/snowpack.config.js index 94889ffafe..e670af9d39 100644 --- a/examples/grid-iterators/snowpack.config.js +++ b/examples/grid-iterators/snowpack.config.js @@ -23,8 +23,10 @@ module.exports = { packageOptions: { source: "local", types: true, + knownEntrypoints: ["tslib"] }, buildOptions: { baseUrl: "/umbrella/grid-iterators", }, + workspaceRoot: "../..", }; diff --git a/examples/hdom-basics/snowpack.config.js b/examples/hdom-basics/snowpack.config.js index c52a5c826a..d81206e248 100644 --- a/examples/hdom-basics/snowpack.config.js +++ b/examples/hdom-basics/snowpack.config.js @@ -23,8 +23,10 @@ module.exports = { packageOptions: { source: "local", types: true, + knownEntrypoints: ["tslib"] }, buildOptions: { baseUrl: "/umbrella/hdom-basics", }, + workspaceRoot: "../..", }; diff --git a/examples/hdom-benchmark/snowpack.config.js b/examples/hdom-benchmark/snowpack.config.js index 0317e841c5..b541a0e9fa 100644 --- a/examples/hdom-benchmark/snowpack.config.js +++ b/examples/hdom-benchmark/snowpack.config.js @@ -23,8 +23,10 @@ module.exports = { packageOptions: { source: "local", types: true, + knownEntrypoints: ["tslib"] }, buildOptions: { baseUrl: "/umbrella/hdom-benchmark", }, + workspaceRoot: "../..", }; diff --git a/examples/hdom-benchmark2/snowpack.config.js b/examples/hdom-benchmark2/snowpack.config.js index cf64cb4801..0c61b2f8f7 100644 --- a/examples/hdom-benchmark2/snowpack.config.js +++ b/examples/hdom-benchmark2/snowpack.config.js @@ -23,8 +23,10 @@ module.exports = { packageOptions: { source: "local", types: true, + knownEntrypoints: ["tslib"] }, buildOptions: { baseUrl: "/umbrella/hdom-benchmark2", }, + workspaceRoot: "../..", }; diff --git a/examples/hdom-canvas-clock/snowpack.config.js b/examples/hdom-canvas-clock/snowpack.config.js index 7bea9c5e4e..029529640a 100644 --- a/examples/hdom-canvas-clock/snowpack.config.js +++ b/examples/hdom-canvas-clock/snowpack.config.js @@ -23,8 +23,10 @@ module.exports = { packageOptions: { source: "local", types: true, + knownEntrypoints: ["tslib"] }, buildOptions: { baseUrl: "/umbrella/hdom-canvas-clock", }, + workspaceRoot: "../..", }; diff --git a/examples/hdom-canvas-draw/snowpack.config.js b/examples/hdom-canvas-draw/snowpack.config.js index 44f7b4b5db..9196c522bc 100644 --- a/examples/hdom-canvas-draw/snowpack.config.js +++ b/examples/hdom-canvas-draw/snowpack.config.js @@ -23,8 +23,10 @@ module.exports = { packageOptions: { source: "local", types: true, + knownEntrypoints: ["tslib"] }, buildOptions: { baseUrl: "/umbrella/hdom-canvas-draw", }, + workspaceRoot: "../..", }; diff --git a/examples/hdom-canvas-particles/snowpack.config.js b/examples/hdom-canvas-particles/snowpack.config.js index ed5e0ad633..e7ddde7138 100644 --- a/examples/hdom-canvas-particles/snowpack.config.js +++ b/examples/hdom-canvas-particles/snowpack.config.js @@ -23,8 +23,10 @@ module.exports = { packageOptions: { source: "local", types: true, + knownEntrypoints: ["tslib"] }, buildOptions: { baseUrl: "/umbrella/hdom-canvas-particles", }, + workspaceRoot: "../..", }; diff --git a/examples/hdom-canvas-shapes/snowpack.config.js b/examples/hdom-canvas-shapes/snowpack.config.js index 9a629a3b3a..91a6b9d7ec 100644 --- a/examples/hdom-canvas-shapes/snowpack.config.js +++ b/examples/hdom-canvas-shapes/snowpack.config.js @@ -23,8 +23,10 @@ module.exports = { packageOptions: { source: "local", types: true, + knownEntrypoints: ["tslib"] }, buildOptions: { baseUrl: "/umbrella/hdom-canvas-shapes", }, + workspaceRoot: "../..", }; diff --git a/examples/hdom-dropdown-fuzzy/snowpack.config.js b/examples/hdom-dropdown-fuzzy/snowpack.config.js index 5c776becc0..deb994eabc 100644 --- a/examples/hdom-dropdown-fuzzy/snowpack.config.js +++ b/examples/hdom-dropdown-fuzzy/snowpack.config.js @@ -23,8 +23,10 @@ module.exports = { packageOptions: { source: "local", types: true, + knownEntrypoints: ["tslib"] }, buildOptions: { baseUrl: "/umbrella/hdom-dropdown-fuzzy", }, + workspaceRoot: "../..", }; diff --git a/examples/hdom-dropdown/snowpack.config.js b/examples/hdom-dropdown/snowpack.config.js index 40c0b97743..1499954853 100644 --- a/examples/hdom-dropdown/snowpack.config.js +++ b/examples/hdom-dropdown/snowpack.config.js @@ -23,8 +23,10 @@ module.exports = { packageOptions: { source: "local", types: true, + knownEntrypoints: ["tslib"] }, buildOptions: { baseUrl: "/umbrella/hdom-dropdown", }, + workspaceRoot: "../..", }; diff --git a/examples/hdom-dyn-context/snowpack.config.js b/examples/hdom-dyn-context/snowpack.config.js index 2dda5ef3c3..4c67607c78 100644 --- a/examples/hdom-dyn-context/snowpack.config.js +++ b/examples/hdom-dyn-context/snowpack.config.js @@ -23,8 +23,10 @@ module.exports = { packageOptions: { source: "local", types: true, + knownEntrypoints: ["tslib"] }, buildOptions: { baseUrl: "/umbrella/hdom-dyn-context", }, + workspaceRoot: "../..", }; diff --git a/examples/hdom-elm/snowpack.config.js b/examples/hdom-elm/snowpack.config.js index 2996059b0d..6c0c940fc7 100644 --- a/examples/hdom-elm/snowpack.config.js +++ b/examples/hdom-elm/snowpack.config.js @@ -23,8 +23,10 @@ module.exports = { packageOptions: { source: "local", types: true, + knownEntrypoints: ["tslib"] }, buildOptions: { baseUrl: "/umbrella/hdom-elm", }, + workspaceRoot: "../..", }; diff --git a/examples/hdom-inner-html/snowpack.config.js b/examples/hdom-inner-html/snowpack.config.js index 89c187edae..bae31261e6 100644 --- a/examples/hdom-inner-html/snowpack.config.js +++ b/examples/hdom-inner-html/snowpack.config.js @@ -23,8 +23,10 @@ module.exports = { packageOptions: { source: "local", types: true, + knownEntrypoints: ["tslib"] }, buildOptions: { baseUrl: "/umbrella/hdom-inner-html", }, + workspaceRoot: "../..", }; diff --git a/examples/hdom-local-render/snowpack.config.js b/examples/hdom-local-render/snowpack.config.js index ec51f3c3ad..3719c21c26 100644 --- a/examples/hdom-local-render/snowpack.config.js +++ b/examples/hdom-local-render/snowpack.config.js @@ -23,8 +23,10 @@ module.exports = { packageOptions: { source: "local", types: true, + knownEntrypoints: ["tslib"] }, buildOptions: { baseUrl: "/umbrella/hdom-local-render", }, + workspaceRoot: "../..", }; diff --git a/examples/hdom-localstate/snowpack.config.js b/examples/hdom-localstate/snowpack.config.js index 1c3f4c3b7a..96d16d923c 100644 --- a/examples/hdom-localstate/snowpack.config.js +++ b/examples/hdom-localstate/snowpack.config.js @@ -23,8 +23,10 @@ module.exports = { packageOptions: { source: "local", types: true, + knownEntrypoints: ["tslib"] }, buildOptions: { baseUrl: "/umbrella/hdom-localstate", }, + workspaceRoot: "../..", }; diff --git a/examples/hdom-skip-nested/snowpack.config.js b/examples/hdom-skip-nested/snowpack.config.js index 0bbeec0168..10d3c550dd 100644 --- a/examples/hdom-skip-nested/snowpack.config.js +++ b/examples/hdom-skip-nested/snowpack.config.js @@ -23,8 +23,10 @@ module.exports = { packageOptions: { source: "local", types: true, + knownEntrypoints: ["tslib"] }, buildOptions: { baseUrl: "/umbrella/hdom-skip-nested", }, + workspaceRoot: "../..", }; diff --git a/examples/hdom-skip/snowpack.config.js b/examples/hdom-skip/snowpack.config.js index 21356b02f5..f52e5dd7ce 100644 --- a/examples/hdom-skip/snowpack.config.js +++ b/examples/hdom-skip/snowpack.config.js @@ -23,8 +23,10 @@ module.exports = { packageOptions: { source: "local", types: true, + knownEntrypoints: ["tslib"] }, buildOptions: { baseUrl: "/umbrella/hdom-skip", }, + workspaceRoot: "../..", }; diff --git a/examples/hdom-theme-adr-0003/snowpack.config.js b/examples/hdom-theme-adr-0003/snowpack.config.js index 3a88492394..6ff3f842f9 100644 --- a/examples/hdom-theme-adr-0003/snowpack.config.js +++ b/examples/hdom-theme-adr-0003/snowpack.config.js @@ -23,8 +23,10 @@ module.exports = { packageOptions: { source: "local", types: true, + knownEntrypoints: ["tslib"] }, buildOptions: { baseUrl: "/umbrella/hdom-theme-adr-0003", }, + workspaceRoot: "../..", }; diff --git a/examples/hdom-toggle/snowpack.config.js b/examples/hdom-toggle/snowpack.config.js index 158493ea30..1f6f4a4188 100644 --- a/examples/hdom-toggle/snowpack.config.js +++ b/examples/hdom-toggle/snowpack.config.js @@ -23,8 +23,10 @@ module.exports = { packageOptions: { source: "local", types: true, + knownEntrypoints: ["tslib"] }, buildOptions: { baseUrl: "/umbrella/hdom-toggle", }, + workspaceRoot: "../..", }; diff --git a/examples/hdom-vscroller/snowpack.config.js b/examples/hdom-vscroller/snowpack.config.js index d50dfdf384..1a874831c6 100644 --- a/examples/hdom-vscroller/snowpack.config.js +++ b/examples/hdom-vscroller/snowpack.config.js @@ -23,8 +23,10 @@ module.exports = { packageOptions: { source: "local", types: true, + knownEntrypoints: ["tslib"] }, buildOptions: { baseUrl: "/umbrella/hdom-vscroller", }, + workspaceRoot: "../..", }; diff --git a/examples/hiccup-canvas-arcs/snowpack.config.js b/examples/hiccup-canvas-arcs/snowpack.config.js index 9974281d92..560a417b9c 100644 --- a/examples/hiccup-canvas-arcs/snowpack.config.js +++ b/examples/hiccup-canvas-arcs/snowpack.config.js @@ -23,8 +23,10 @@ module.exports = { packageOptions: { source: "local", types: true, + knownEntrypoints: ["tslib"] }, buildOptions: { baseUrl: "/umbrella/hiccup-canvas-arcs", }, + workspaceRoot: "../..", }; diff --git a/examples/hydrate-basics/snowpack.config.js b/examples/hydrate-basics/snowpack.config.js index ab82557826..1247910c2f 100644 --- a/examples/hydrate-basics/snowpack.config.js +++ b/examples/hydrate-basics/snowpack.config.js @@ -23,8 +23,10 @@ module.exports = { packageOptions: { source: "local", types: true, + knownEntrypoints: ["tslib"] }, buildOptions: { baseUrl: "/umbrella/hydrate-basics", }, + workspaceRoot: "../..", }; diff --git a/examples/imgui-basics/snowpack.config.js b/examples/imgui-basics/snowpack.config.js index dfede29882..5eed73eda0 100644 --- a/examples/imgui-basics/snowpack.config.js +++ b/examples/imgui-basics/snowpack.config.js @@ -23,8 +23,10 @@ module.exports = { packageOptions: { source: "local", types: true, + knownEntrypoints: ["tslib"] }, buildOptions: { baseUrl: "/umbrella/imgui-basics", }, + workspaceRoot: "../..", }; diff --git a/examples/imgui/snowpack.config.js b/examples/imgui/snowpack.config.js index 46f2a31f08..df2640772e 100644 --- a/examples/imgui/snowpack.config.js +++ b/examples/imgui/snowpack.config.js @@ -23,8 +23,10 @@ module.exports = { packageOptions: { source: "local", types: true, + knownEntrypoints: ["tslib"] }, buildOptions: { baseUrl: "/umbrella/imgui", }, + workspaceRoot: "../..", }; diff --git a/examples/interceptor-basics/snowpack.config.js b/examples/interceptor-basics/snowpack.config.js index 82841ebe53..84072659f9 100644 --- a/examples/interceptor-basics/snowpack.config.js +++ b/examples/interceptor-basics/snowpack.config.js @@ -23,8 +23,10 @@ module.exports = { packageOptions: { source: "local", types: true, + knownEntrypoints: ["tslib"] }, buildOptions: { baseUrl: "/umbrella/interceptor-basics", }, + workspaceRoot: "../..", }; diff --git a/examples/interceptor-basics2/snowpack.config.js b/examples/interceptor-basics2/snowpack.config.js index d0bdf1d4b5..1db5bb79ac 100644 --- a/examples/interceptor-basics2/snowpack.config.js +++ b/examples/interceptor-basics2/snowpack.config.js @@ -23,8 +23,10 @@ module.exports = { packageOptions: { source: "local", types: true, + knownEntrypoints: ["tslib"] }, buildOptions: { baseUrl: "/umbrella/interceptor-basics2", }, + workspaceRoot: "../..", }; diff --git a/examples/iso-plasma/snowpack.config.js b/examples/iso-plasma/snowpack.config.js index 97eb00d427..1d25b48b10 100644 --- a/examples/iso-plasma/snowpack.config.js +++ b/examples/iso-plasma/snowpack.config.js @@ -23,8 +23,10 @@ module.exports = { packageOptions: { source: "local", types: true, + knownEntrypoints: ["tslib"] }, buildOptions: { baseUrl: "/umbrella/iso-plasma", }, + workspaceRoot: "../..", }; diff --git a/examples/json-components/snowpack.config.js b/examples/json-components/snowpack.config.js index 650503e326..dff3511b46 100644 --- a/examples/json-components/snowpack.config.js +++ b/examples/json-components/snowpack.config.js @@ -23,8 +23,10 @@ module.exports = { packageOptions: { source: "local", types: true, + knownEntrypoints: ["tslib"] }, buildOptions: { baseUrl: "/umbrella/json-components", }, + workspaceRoot: "../..", }; diff --git a/examples/login-form/snowpack.config.js b/examples/login-form/snowpack.config.js index 741d31fdfa..e1c4dddfc9 100644 --- a/examples/login-form/snowpack.config.js +++ b/examples/login-form/snowpack.config.js @@ -23,8 +23,10 @@ module.exports = { packageOptions: { source: "local", types: true, + knownEntrypoints: ["tslib"] }, buildOptions: { baseUrl: "/umbrella/login-form", }, + workspaceRoot: "../..", }; diff --git a/examples/mandelbrot/snowpack.config.js b/examples/mandelbrot/snowpack.config.js index d5ce4fe3c6..bb56bad87f 100644 --- a/examples/mandelbrot/snowpack.config.js +++ b/examples/mandelbrot/snowpack.config.js @@ -23,8 +23,10 @@ module.exports = { packageOptions: { source: "local", types: true, + knownEntrypoints: ["tslib"] }, buildOptions: { baseUrl: "/umbrella/mandelbrot", }, + workspaceRoot: "../..", }; diff --git a/examples/markdown/snowpack.config.js b/examples/markdown/snowpack.config.js index 139ff0124a..33dcdd5494 100644 --- a/examples/markdown/snowpack.config.js +++ b/examples/markdown/snowpack.config.js @@ -23,8 +23,10 @@ module.exports = { packageOptions: { source: "local", types: true, + knownEntrypoints: ["tslib"] }, buildOptions: { baseUrl: "/umbrella/markdown", }, + workspaceRoot: "../..", }; diff --git a/examples/multitouch/snowpack.config.js b/examples/multitouch/snowpack.config.js index b8882bd7e2..fa4b99fd7c 100644 --- a/examples/multitouch/snowpack.config.js +++ b/examples/multitouch/snowpack.config.js @@ -23,8 +23,10 @@ module.exports = { packageOptions: { source: "local", types: true, + knownEntrypoints: ["tslib"] }, buildOptions: { baseUrl: "/umbrella/multitouch", }, + workspaceRoot: "../..", }; diff --git a/examples/package-stats/package.json b/examples/package-stats/package.json index 54fa1769c1..f0e541d415 100644 --- a/examples/package-stats/package.json +++ b/examples/package-stats/package.json @@ -10,8 +10,8 @@ "build": "yarn clean && ../../node_modules/.bin/ts-node src/index.ts" }, "devDependencies": { - "ts-node": "^9.1.1", - "typescript": "^4.2.3" + "ts-node": "^10.0.0", + "typescript": "4.2.4" }, "dependencies": { "@thi.ng/checks": "latest", diff --git a/examples/parse-playground/snowpack.config.js b/examples/parse-playground/snowpack.config.js index eaa94031ce..ed8a05fcbb 100644 --- a/examples/parse-playground/snowpack.config.js +++ b/examples/parse-playground/snowpack.config.js @@ -23,8 +23,10 @@ module.exports = { packageOptions: { source: "local", types: true, + knownEntrypoints: ["tslib"] }, buildOptions: { baseUrl: "/umbrella/parse-playground", }, + workspaceRoot: "../..", }; diff --git a/examples/pixel-basics/snowpack.config.js b/examples/pixel-basics/snowpack.config.js index b6f0f5da88..ce5905ba94 100644 --- a/examples/pixel-basics/snowpack.config.js +++ b/examples/pixel-basics/snowpack.config.js @@ -23,8 +23,10 @@ module.exports = { packageOptions: { source: "local", types: true, + knownEntrypoints: ["tslib"] }, buildOptions: { baseUrl: "/umbrella/pixel-basics", }, + workspaceRoot: "../..", }; diff --git a/examples/pixel-sorting/snowpack.config.js b/examples/pixel-sorting/snowpack.config.js index e973fa35ec..1327308f55 100644 --- a/examples/pixel-sorting/snowpack.config.js +++ b/examples/pixel-sorting/snowpack.config.js @@ -23,8 +23,10 @@ module.exports = { packageOptions: { source: "local", types: true, + knownEntrypoints: ["tslib"] }, buildOptions: { baseUrl: "/umbrella/pixel-sorting", }, + workspaceRoot: "../..", }; diff --git a/examples/pointfree-svg/package.json b/examples/pointfree-svg/package.json index 836b7a2a09..a5945df662 100644 --- a/examples/pointfree-svg/package.json +++ b/examples/pointfree-svg/package.json @@ -16,8 +16,8 @@ "@thi.ng/pointfree-lang": "latest" }, "devDependencies": { - "ts-node": "^9.1.1", - "typescript": "^4.2.3" + "ts-node": "^10.0.0", + "typescript": "4.2.4" }, "thi.ng": { "online": false, diff --git a/examples/poisson-circles/snowpack.config.js b/examples/poisson-circles/snowpack.config.js index 129fc5eade..1a0f70c17b 100644 --- a/examples/poisson-circles/snowpack.config.js +++ b/examples/poisson-circles/snowpack.config.js @@ -23,8 +23,10 @@ module.exports = { packageOptions: { source: "local", types: true, + knownEntrypoints: ["tslib"] }, buildOptions: { baseUrl: "/umbrella/poisson-circles", }, + workspaceRoot: "../..", }; diff --git a/examples/poly-spline/snowpack.config.js b/examples/poly-spline/snowpack.config.js index 38aed7896a..d826e3c308 100644 --- a/examples/poly-spline/snowpack.config.js +++ b/examples/poly-spline/snowpack.config.js @@ -23,8 +23,10 @@ module.exports = { packageOptions: { source: "local", types: true, + knownEntrypoints: ["tslib"] }, buildOptions: { baseUrl: "/umbrella/poly-spline", }, + workspaceRoot: "../..", }; diff --git a/examples/porter-duff/snowpack.config.js b/examples/porter-duff/snowpack.config.js index f5e196dcd8..fdeef090a5 100644 --- a/examples/porter-duff/snowpack.config.js +++ b/examples/porter-duff/snowpack.config.js @@ -23,8 +23,10 @@ module.exports = { packageOptions: { source: "local", types: true, + knownEntrypoints: ["tslib"] }, buildOptions: { baseUrl: "/umbrella/porter-duff", }, + workspaceRoot: "../..", }; diff --git a/examples/ramp-synth/snowpack.config.js b/examples/ramp-synth/snowpack.config.js index c05fe9d941..4ee7678b60 100644 --- a/examples/ramp-synth/snowpack.config.js +++ b/examples/ramp-synth/snowpack.config.js @@ -23,8 +23,10 @@ module.exports = { packageOptions: { source: "local", types: true, + knownEntrypoints: ["tslib"] }, buildOptions: { baseUrl: "/umbrella/ramp-synth", }, + workspaceRoot: "../..", }; diff --git a/examples/rdom-basics/snowpack.config.js b/examples/rdom-basics/snowpack.config.js index a03b15b07b..3f3d549b4e 100644 --- a/examples/rdom-basics/snowpack.config.js +++ b/examples/rdom-basics/snowpack.config.js @@ -23,8 +23,10 @@ module.exports = { packageOptions: { source: "local", types: true, + knownEntrypoints: ["tslib"] }, buildOptions: { baseUrl: "/umbrella/rdom-basics", }, + workspaceRoot: "../..", }; diff --git a/examples/rdom-dnd/snowpack.config.js b/examples/rdom-dnd/snowpack.config.js index a8cee1ff68..11d1f18213 100644 --- a/examples/rdom-dnd/snowpack.config.js +++ b/examples/rdom-dnd/snowpack.config.js @@ -23,8 +23,10 @@ module.exports = { packageOptions: { source: "local", types: true, + knownEntrypoints: ["tslib"] }, buildOptions: { baseUrl: "/umbrella/rdom-dnd", }, + workspaceRoot: "../..", }; diff --git a/examples/rdom-lissajous/snowpack.config.js b/examples/rdom-lissajous/snowpack.config.js index 1c0ed1c67f..a1f171890d 100644 --- a/examples/rdom-lissajous/snowpack.config.js +++ b/examples/rdom-lissajous/snowpack.config.js @@ -23,8 +23,10 @@ module.exports = { packageOptions: { source: "local", types: true, + knownEntrypoints: ["tslib"] }, buildOptions: { baseUrl: "/umbrella/rdom-lissajous", }, + workspaceRoot: "../..", }; diff --git a/examples/rdom-search-docs/snowpack.config.js b/examples/rdom-search-docs/snowpack.config.js index 9bae7b986e..671acd7853 100644 --- a/examples/rdom-search-docs/snowpack.config.js +++ b/examples/rdom-search-docs/snowpack.config.js @@ -23,8 +23,10 @@ module.exports = { packageOptions: { source: "local", types: true, + knownEntrypoints: ["tslib"] }, buildOptions: { baseUrl: "/umbrella/rdom-search-docs", }, + workspaceRoot: "../..", }; diff --git a/examples/rdom-svg-nodes/snowpack.config.js b/examples/rdom-svg-nodes/snowpack.config.js index 0bf9000e0d..88365ddeb1 100644 --- a/examples/rdom-svg-nodes/snowpack.config.js +++ b/examples/rdom-svg-nodes/snowpack.config.js @@ -23,8 +23,10 @@ module.exports = { packageOptions: { source: "local", types: true, + knownEntrypoints: ["tslib"] }, buildOptions: { baseUrl: "/umbrella/rdom-svg-nodes", }, + workspaceRoot: "../..", }; diff --git a/examples/rotating-voronoi/snowpack.config.js b/examples/rotating-voronoi/snowpack.config.js index c9425f138b..f6e3a849f9 100644 --- a/examples/rotating-voronoi/snowpack.config.js +++ b/examples/rotating-voronoi/snowpack.config.js @@ -23,8 +23,10 @@ module.exports = { packageOptions: { source: "local", types: true, + knownEntrypoints: ["tslib"] }, buildOptions: { baseUrl: "/umbrella/rotating-voronoi", }, + workspaceRoot: "../..", }; diff --git a/examples/router-basics/snowpack.config.js b/examples/router-basics/snowpack.config.js index 642dca57a5..48018c8da1 100644 --- a/examples/router-basics/snowpack.config.js +++ b/examples/router-basics/snowpack.config.js @@ -23,8 +23,10 @@ module.exports = { packageOptions: { source: "local", types: true, + knownEntrypoints: ["tslib"] }, buildOptions: { baseUrl: "/umbrella/router-basics", }, + workspaceRoot: "../..", }; diff --git a/examples/rstream-dataflow/snowpack.config.js b/examples/rstream-dataflow/snowpack.config.js index 72df50691a..aec1867724 100644 --- a/examples/rstream-dataflow/snowpack.config.js +++ b/examples/rstream-dataflow/snowpack.config.js @@ -23,8 +23,10 @@ module.exports = { packageOptions: { source: "local", types: true, + knownEntrypoints: ["tslib"] }, buildOptions: { baseUrl: "/umbrella/rstream-dataflow", }, + workspaceRoot: "../..", }; diff --git a/examples/rstream-event-loop/snowpack.config.js b/examples/rstream-event-loop/snowpack.config.js index 5343f708d7..1773c240fc 100644 --- a/examples/rstream-event-loop/snowpack.config.js +++ b/examples/rstream-event-loop/snowpack.config.js @@ -23,8 +23,10 @@ module.exports = { packageOptions: { source: "local", types: true, + knownEntrypoints: ["tslib"] }, buildOptions: { baseUrl: "/umbrella/rstream-event-loop", }, + workspaceRoot: "../..", }; diff --git a/examples/rstream-grid/snowpack.config.js b/examples/rstream-grid/snowpack.config.js index eab4a4c099..77aa47749c 100644 --- a/examples/rstream-grid/snowpack.config.js +++ b/examples/rstream-grid/snowpack.config.js @@ -23,8 +23,10 @@ module.exports = { packageOptions: { source: "local", types: true, + knownEntrypoints: ["tslib"] }, buildOptions: { baseUrl: "/umbrella/rstream-grid", }, + workspaceRoot: "../..", }; diff --git a/examples/rstream-hdom/snowpack.config.js b/examples/rstream-hdom/snowpack.config.js index eb3280e329..f363e4beea 100644 --- a/examples/rstream-hdom/snowpack.config.js +++ b/examples/rstream-hdom/snowpack.config.js @@ -23,8 +23,10 @@ module.exports = { packageOptions: { source: "local", types: true, + knownEntrypoints: ["tslib"] }, buildOptions: { baseUrl: "/umbrella/rstream-hdom", }, + workspaceRoot: "../..", }; diff --git a/examples/rstream-spreadsheet/snowpack.config.js b/examples/rstream-spreadsheet/snowpack.config.js index 7b47b06f5f..38288ebd5e 100644 --- a/examples/rstream-spreadsheet/snowpack.config.js +++ b/examples/rstream-spreadsheet/snowpack.config.js @@ -23,8 +23,10 @@ module.exports = { packageOptions: { source: "local", types: true, + knownEntrypoints: ["tslib"] }, buildOptions: { baseUrl: "/umbrella/rstream-spreadsheet", }, + workspaceRoot: "../..", }; diff --git a/examples/scenegraph-image/snowpack.config.js b/examples/scenegraph-image/snowpack.config.js index 31e5d78f78..fb6b7c7d04 100644 --- a/examples/scenegraph-image/snowpack.config.js +++ b/examples/scenegraph-image/snowpack.config.js @@ -23,8 +23,10 @@ module.exports = { packageOptions: { source: "local", types: true, + knownEntrypoints: ["tslib"] }, buildOptions: { baseUrl: "/umbrella/scenegraph-image", }, + workspaceRoot: "../..", }; diff --git a/examples/scenegraph/snowpack.config.js b/examples/scenegraph/snowpack.config.js index de68ca0a15..de8b2a8287 100644 --- a/examples/scenegraph/snowpack.config.js +++ b/examples/scenegraph/snowpack.config.js @@ -23,8 +23,10 @@ module.exports = { packageOptions: { source: "local", types: true, + knownEntrypoints: ["tslib"] }, buildOptions: { baseUrl: "/umbrella/scenegraph", }, + workspaceRoot: "../..", }; diff --git a/examples/shader-ast-canvas2d/snowpack.config.js b/examples/shader-ast-canvas2d/snowpack.config.js index 053b20abd2..e97bbbdc0f 100644 --- a/examples/shader-ast-canvas2d/snowpack.config.js +++ b/examples/shader-ast-canvas2d/snowpack.config.js @@ -23,8 +23,10 @@ module.exports = { packageOptions: { source: "local", types: true, + knownEntrypoints: ["tslib"] }, buildOptions: { baseUrl: "/umbrella/shader-ast-canvas2d", }, + workspaceRoot: "../..", }; diff --git a/examples/shader-ast-evo/snowpack.config.js b/examples/shader-ast-evo/snowpack.config.js index 7d20bf1e2d..58e9631c77 100644 --- a/examples/shader-ast-evo/snowpack.config.js +++ b/examples/shader-ast-evo/snowpack.config.js @@ -23,8 +23,10 @@ module.exports = { packageOptions: { source: "local", types: true, + knownEntrypoints: ["tslib"] }, buildOptions: { baseUrl: "/umbrella/shader-ast-evo", }, + workspaceRoot: "../..", }; diff --git a/examples/shader-ast-noise/snowpack.config.js b/examples/shader-ast-noise/snowpack.config.js index db890a306e..d293a5bf66 100644 --- a/examples/shader-ast-noise/snowpack.config.js +++ b/examples/shader-ast-noise/snowpack.config.js @@ -23,8 +23,10 @@ module.exports = { packageOptions: { source: "local", types: true, + knownEntrypoints: ["tslib"] }, buildOptions: { baseUrl: "/umbrella/shader-ast-noise", }, + workspaceRoot: "../..", }; diff --git a/examples/shader-ast-raymarch/snowpack.config.js b/examples/shader-ast-raymarch/snowpack.config.js index dc7ceafa80..d7e204f0eb 100644 --- a/examples/shader-ast-raymarch/snowpack.config.js +++ b/examples/shader-ast-raymarch/snowpack.config.js @@ -23,8 +23,10 @@ module.exports = { packageOptions: { source: "local", types: true, + knownEntrypoints: ["tslib"] }, buildOptions: { baseUrl: "/umbrella/shader-ast-raymarch", }, + workspaceRoot: "../..", }; diff --git a/examples/shader-ast-sdf2d/snowpack.config.js b/examples/shader-ast-sdf2d/snowpack.config.js index 8e62930a9a..605dca5538 100644 --- a/examples/shader-ast-sdf2d/snowpack.config.js +++ b/examples/shader-ast-sdf2d/snowpack.config.js @@ -23,8 +23,10 @@ module.exports = { packageOptions: { source: "local", types: true, + knownEntrypoints: ["tslib"] }, buildOptions: { baseUrl: "/umbrella/shader-ast-sdf2d", }, + workspaceRoot: "../..", }; diff --git a/examples/shader-ast-tunnel/snowpack.config.js b/examples/shader-ast-tunnel/snowpack.config.js index 1cfc9e3cdc..bf9af47c85 100644 --- a/examples/shader-ast-tunnel/snowpack.config.js +++ b/examples/shader-ast-tunnel/snowpack.config.js @@ -23,8 +23,10 @@ module.exports = { packageOptions: { source: "local", types: true, + knownEntrypoints: ["tslib"] }, buildOptions: { baseUrl: "/umbrella/shader-ast-tunnel", }, + workspaceRoot: "../..", }; diff --git a/examples/shader-ast-workers/snowpack.config.js b/examples/shader-ast-workers/snowpack.config.js index c05db5669a..9655a4f052 100644 --- a/examples/shader-ast-workers/snowpack.config.js +++ b/examples/shader-ast-workers/snowpack.config.js @@ -23,8 +23,10 @@ module.exports = { packageOptions: { source: "local", types: true, + knownEntrypoints: ["tslib"] }, buildOptions: { baseUrl: "/umbrella/shader-ast-workers", }, + workspaceRoot: "../..", }; diff --git a/examples/shader-graph/snowpack.config.js b/examples/shader-graph/snowpack.config.js index da11271774..860f66b74d 100644 --- a/examples/shader-graph/snowpack.config.js +++ b/examples/shader-graph/snowpack.config.js @@ -23,8 +23,10 @@ module.exports = { packageOptions: { source: "local", types: true, + knownEntrypoints: ["tslib"] }, buildOptions: { baseUrl: "/umbrella/shader-graph", }, + workspaceRoot: "../..", }; diff --git a/examples/soa-ecs/snowpack.config.js b/examples/soa-ecs/snowpack.config.js index 578b437eca..c471df0143 100644 --- a/examples/soa-ecs/snowpack.config.js +++ b/examples/soa-ecs/snowpack.config.js @@ -23,8 +23,10 @@ module.exports = { packageOptions: { source: "local", types: true, + knownEntrypoints: ["tslib"] }, buildOptions: { baseUrl: "/umbrella/soa-ecs", }, + workspaceRoot: "../..", }; diff --git a/examples/stratified-grid/snowpack.config.js b/examples/stratified-grid/snowpack.config.js index 47f99fbf58..1d0bdb3699 100644 --- a/examples/stratified-grid/snowpack.config.js +++ b/examples/stratified-grid/snowpack.config.js @@ -23,8 +23,10 @@ module.exports = { packageOptions: { source: "local", types: true, + knownEntrypoints: ["tslib"] }, buildOptions: { baseUrl: "/umbrella/stratified-grid", }, + workspaceRoot: "../..", }; diff --git a/examples/svg-barchart/snowpack.config.js b/examples/svg-barchart/snowpack.config.js index b1087ea050..79869297f6 100644 --- a/examples/svg-barchart/snowpack.config.js +++ b/examples/svg-barchart/snowpack.config.js @@ -23,8 +23,10 @@ module.exports = { packageOptions: { source: "local", types: true, + knownEntrypoints: ["tslib"] }, buildOptions: { baseUrl: "/umbrella/svg-barchart", }, + workspaceRoot: "../..", }; diff --git a/examples/svg-particles/snowpack.config.js b/examples/svg-particles/snowpack.config.js index 882e90639e..03a956dbd2 100644 --- a/examples/svg-particles/snowpack.config.js +++ b/examples/svg-particles/snowpack.config.js @@ -23,8 +23,10 @@ module.exports = { packageOptions: { source: "local", types: true, + knownEntrypoints: ["tslib"] }, buildOptions: { baseUrl: "/umbrella/svg-particles", }, + workspaceRoot: "../..", }; diff --git a/examples/svg-waveform/snowpack.config.js b/examples/svg-waveform/snowpack.config.js index ab9e8e3297..cdd5bccae2 100644 --- a/examples/svg-waveform/snowpack.config.js +++ b/examples/svg-waveform/snowpack.config.js @@ -23,8 +23,10 @@ module.exports = { packageOptions: { source: "local", types: true, + knownEntrypoints: ["tslib"] }, buildOptions: { baseUrl: "/umbrella/svg-waveform", }, + workspaceRoot: "../..", }; diff --git a/examples/talk-slides/snowpack.config.js b/examples/talk-slides/snowpack.config.js index 287754320d..6645088bdd 100644 --- a/examples/talk-slides/snowpack.config.js +++ b/examples/talk-slides/snowpack.config.js @@ -23,8 +23,10 @@ module.exports = { packageOptions: { source: "local", types: true, + knownEntrypoints: ["tslib"] }, buildOptions: { baseUrl: "/umbrella/talk-slides", }, + workspaceRoot: "../..", }; diff --git a/examples/text-canvas-image/snowpack.config.js b/examples/text-canvas-image/snowpack.config.js index a54fa1e2fc..fa368ce565 100644 --- a/examples/text-canvas-image/snowpack.config.js +++ b/examples/text-canvas-image/snowpack.config.js @@ -23,8 +23,10 @@ module.exports = { packageOptions: { source: "local", types: true, + knownEntrypoints: ["tslib"] }, buildOptions: { baseUrl: "/umbrella/text-canvas-image", }, + workspaceRoot: "../..", }; diff --git a/examples/text-canvas/snowpack.config.js b/examples/text-canvas/snowpack.config.js index 7f18c42ba6..a7461f9f7b 100644 --- a/examples/text-canvas/snowpack.config.js +++ b/examples/text-canvas/snowpack.config.js @@ -23,8 +23,10 @@ module.exports = { packageOptions: { source: "local", types: true, + knownEntrypoints: ["tslib"] }, buildOptions: { baseUrl: "/umbrella/text-canvas", }, + workspaceRoot: "../..", }; diff --git a/examples/todo-list/snowpack.config.js b/examples/todo-list/snowpack.config.js index 2020808e18..c46afc9d5b 100644 --- a/examples/todo-list/snowpack.config.js +++ b/examples/todo-list/snowpack.config.js @@ -23,8 +23,10 @@ module.exports = { packageOptions: { source: "local", types: true, + knownEntrypoints: ["tslib"] }, buildOptions: { baseUrl: "/umbrella/todo-list", }, + workspaceRoot: "../..", }; diff --git a/examples/transducers-hdom/snowpack.config.js b/examples/transducers-hdom/snowpack.config.js index e2f9574f8b..6efc1ab7a5 100644 --- a/examples/transducers-hdom/snowpack.config.js +++ b/examples/transducers-hdom/snowpack.config.js @@ -23,8 +23,10 @@ module.exports = { packageOptions: { source: "local", types: true, + knownEntrypoints: ["tslib"] }, buildOptions: { baseUrl: "/umbrella/transducers-hdom", }, + workspaceRoot: "../..", }; diff --git a/examples/triple-query/snowpack.config.js b/examples/triple-query/snowpack.config.js index 7a80994f0a..0c97c0ead2 100644 --- a/examples/triple-query/snowpack.config.js +++ b/examples/triple-query/snowpack.config.js @@ -23,8 +23,10 @@ module.exports = { packageOptions: { source: "local", types: true, + knownEntrypoints: ["tslib"] }, buildOptions: { baseUrl: "/umbrella/triple-query", }, + workspaceRoot: "../..", }; diff --git a/examples/webgl-cube/snowpack.config.js b/examples/webgl-cube/snowpack.config.js index 0d285af7ae..2e06c9b724 100644 --- a/examples/webgl-cube/snowpack.config.js +++ b/examples/webgl-cube/snowpack.config.js @@ -23,8 +23,10 @@ module.exports = { packageOptions: { source: "local", types: true, + knownEntrypoints: ["tslib"] }, buildOptions: { baseUrl: "/umbrella/webgl-cube", }, + workspaceRoot: "../..", }; diff --git a/examples/webgl-cubemap/snowpack.config.js b/examples/webgl-cubemap/snowpack.config.js index 60f1577d33..264279a660 100644 --- a/examples/webgl-cubemap/snowpack.config.js +++ b/examples/webgl-cubemap/snowpack.config.js @@ -23,8 +23,10 @@ module.exports = { packageOptions: { source: "local", types: true, + knownEntrypoints: ["tslib"] }, buildOptions: { baseUrl: "/umbrella/webgl-cubemap", }, + workspaceRoot: "../..", }; diff --git a/examples/webgl-grid/snowpack.config.js b/examples/webgl-grid/snowpack.config.js index 30cc94e8e3..3c90fd13ea 100644 --- a/examples/webgl-grid/snowpack.config.js +++ b/examples/webgl-grid/snowpack.config.js @@ -23,8 +23,10 @@ module.exports = { packageOptions: { source: "local", types: true, + knownEntrypoints: ["tslib"] }, buildOptions: { baseUrl: "/umbrella/webgl-grid", }, + workspaceRoot: "../..", }; diff --git a/examples/webgl-msdf/snowpack.config.js b/examples/webgl-msdf/snowpack.config.js index 59c0ed76fe..c08c69d235 100644 --- a/examples/webgl-msdf/snowpack.config.js +++ b/examples/webgl-msdf/snowpack.config.js @@ -23,8 +23,10 @@ module.exports = { packageOptions: { source: "local", types: true, + knownEntrypoints: ["tslib"] }, buildOptions: { baseUrl: "/umbrella/webgl-msdf", }, + workspaceRoot: "../..", }; diff --git a/examples/webgl-multipass/snowpack.config.js b/examples/webgl-multipass/snowpack.config.js index 49f452fca3..d68a43b653 100644 --- a/examples/webgl-multipass/snowpack.config.js +++ b/examples/webgl-multipass/snowpack.config.js @@ -23,8 +23,10 @@ module.exports = { packageOptions: { source: "local", types: true, + knownEntrypoints: ["tslib"] }, buildOptions: { baseUrl: "/umbrella/webgl-multipass", }, + workspaceRoot: "../..", }; diff --git a/examples/webgl-multipass/src/index.ts b/examples/webgl-multipass/src/index.ts index c2deac1594..7b032c4c35 100644 --- a/examples/webgl-multipass/src/index.ts +++ b/examples/webgl-multipass/src/index.ts @@ -5,7 +5,6 @@ import { assign, defMain, fract, - index, length, mul, pow, @@ -84,9 +83,9 @@ const toy = defMultiPass({ outs.fragColor, vec4( mul( - $xyz(texture(index(unis.inputs, 0), uv)), + $xyz(texture(unis.input0, uv)), pow( - $x(texture(index(unis.inputs, 1), uv)), + $x(texture(unis.input1, uv)), fit1101(sin(unis.time)) ) ), diff --git a/examples/webgl-shadertoy/snowpack.config.js b/examples/webgl-shadertoy/snowpack.config.js index c8d6c68410..17ad35408c 100644 --- a/examples/webgl-shadertoy/snowpack.config.js +++ b/examples/webgl-shadertoy/snowpack.config.js @@ -23,8 +23,10 @@ module.exports = { packageOptions: { source: "local", types: true, + knownEntrypoints: ["tslib"] }, buildOptions: { baseUrl: "/umbrella/webgl-shadertoy", }, + workspaceRoot: "../..", }; diff --git a/examples/webgl-ssao/snowpack.config.js b/examples/webgl-ssao/snowpack.config.js index 26e45f1c75..661bd474cd 100644 --- a/examples/webgl-ssao/snowpack.config.js +++ b/examples/webgl-ssao/snowpack.config.js @@ -23,8 +23,10 @@ module.exports = { packageOptions: { source: "local", types: true, + knownEntrypoints: ["tslib"] }, buildOptions: { baseUrl: "/umbrella/webgl-ssao", }, + workspaceRoot: "../..", }; diff --git a/examples/wolfram/snowpack.config.js b/examples/wolfram/snowpack.config.js index ef6a1207e4..edaa748bac 100644 --- a/examples/wolfram/snowpack.config.js +++ b/examples/wolfram/snowpack.config.js @@ -23,8 +23,10 @@ module.exports = { packageOptions: { source: "local", types: true, + knownEntrypoints: ["tslib"] }, buildOptions: { baseUrl: "/umbrella/wolfram", }, + workspaceRoot: "../..", }; diff --git a/examples/xml-converter/snowpack.config.js b/examples/xml-converter/snowpack.config.js index b1309f5121..9f5df18af6 100644 --- a/examples/xml-converter/snowpack.config.js +++ b/examples/xml-converter/snowpack.config.js @@ -23,8 +23,10 @@ module.exports = { packageOptions: { source: "local", types: true, + knownEntrypoints: ["tslib"] }, buildOptions: { baseUrl: "/umbrella/xml-converter", }, + workspaceRoot: "../..", }; diff --git a/package.json b/package.json index fed7eb7f49..9377e52d6b 100644 --- a/package.json +++ b/package.json @@ -7,27 +7,29 @@ "@microsoft/api-documenter": "^7.12.8", "@microsoft/api-extractor": "^7.13.1", "@snowpack/plugin-typescript": "^1.2.1", - "@snowpack/plugin-webpack": "^2.3.0", + "@snowpack/plugin-webpack": "^2.3.1", "@types/snowpack-env": "^2.3.3", "benchmark": "^2.1.4", + "browserslist": "^4.16.6", "file-loader": "^6.2.0", "gzip-size": "^6.0.0", "html-minifier-terser": "^5.1.1", "lerna": "^4.0.0", - "mocha": "^8.3.0", + "mocha": "^9.0.0", "nyc": "^15.1.0", + "postcss": "^8.3.0", "rimraf": "^3.0.2", - "rollup": "^2.41.2", + "rollup": "^2.51.0", "rollup-plugin-cleanup": "^3.2.1", - "snowpack": "^3.0.13", - "terser": "^5.6.0", - "ts-loader": "^8.0.18", - "typescript": "^4.2.3", - "webpack": "^5.25.0", - "webpack-cli": "^4.5.0" + "snowpack": "^3.5.6", + "terser": "^5.7.0", + "ts-loader": "^9.2.3", + "typescript": "4.2.4", + "webpack": "^5.38.1", + "webpack-cli": "^4.7.2" }, "dependencies": { - "@ygoe/msgpack": "^1.0.2" + "@ygoe/msgpack": "^1.0.3" }, "scripts": { "bootstrap": "yarn install && lerna -v && lerna bootstrap", @@ -46,9 +48,10 @@ "test": "yarn build && yarn test:only", "test:only": "lerna run test", "tool:imports": "ts-node -P tools/tsconfig.json tools/src/check-imports.ts", + "tool:exports": "ts-node -P tools/tsconfig.json tools/src/check-exports.ts", "tool:searchindex": "ts-node -P tools/tsconfig.json tools/src/build-search-index.ts" }, "resolutions": { - "typescript": "^4.2.3" + "typescript": "4.2.4" } } diff --git a/packages/adapt-dpi/CHANGELOG.md b/packages/adapt-dpi/CHANGELOG.md index 80251452d7..71136ff1a1 100644 --- a/packages/adapt-dpi/CHANGELOG.md +++ b/packages/adapt-dpi/CHANGELOG.md @@ -3,7 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [1.0.19](https://github.com/thi-ng/umbrella/compare/@thi.ng/adapt-dpi@1.0.18...@thi.ng/adapt-dpi@1.0.19) (2021-03-12) +## [1.0.20](https://github.com/thi-ng/umbrella/compare/@thi.ng/adapt-dpi@1.0.19...@thi.ng/adapt-dpi@1.0.20) (2021-06-08) **Note:** Version bump only for package @thi.ng/adapt-dpi diff --git a/packages/adapt-dpi/package.json b/packages/adapt-dpi/package.json index a00f38006c..7788dbbd79 100644 --- a/packages/adapt-dpi/package.json +++ b/packages/adapt-dpi/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/adapt-dpi", - "version": "1.0.19", + "version": "1.0.20", "description": "HDPI canvas adapter / styling utility", "module": "./index.js", "main": "./lib/index.js", @@ -41,11 +41,11 @@ "@microsoft/api-extractor": "^7.13.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.3.0", + "mocha": "^9.0.0", "nyc": "^15.1.0", - "ts-node": "^9.1.1", + "ts-node": "^10.0.0", "typedoc": "^0.20.30", - "typescript": "^4.2.3" + "typescript": "4.2.4" }, "files": [ "*.js", diff --git a/packages/adjacency/CHANGELOG.md b/packages/adjacency/CHANGELOG.md index d07fa7f14c..3e0e893dc3 100644 --- a/packages/adjacency/CHANGELOG.md +++ b/packages/adjacency/CHANGELOG.md @@ -3,63 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [0.3.13](https://github.com/thi-ng/umbrella/compare/@thi.ng/adjacency@0.3.12...@thi.ng/adjacency@0.3.13) (2021-04-03) - -**Note:** Version bump only for package @thi.ng/adjacency - - - - - -## [0.3.12](https://github.com/thi-ng/umbrella/compare/@thi.ng/adjacency@0.3.11...@thi.ng/adjacency@0.3.12) (2021-03-30) - -**Note:** Version bump only for package @thi.ng/adjacency - - - - - -## [0.3.11](https://github.com/thi-ng/umbrella/compare/@thi.ng/adjacency@0.3.10...@thi.ng/adjacency@0.3.11) (2021-03-28) - -**Note:** Version bump only for package @thi.ng/adjacency - - - - - -## [0.3.10](https://github.com/thi-ng/umbrella/compare/@thi.ng/adjacency@0.3.9...@thi.ng/adjacency@0.3.10) (2021-03-27) - -**Note:** Version bump only for package @thi.ng/adjacency - - - - - -## [0.3.9](https://github.com/thi-ng/umbrella/compare/@thi.ng/adjacency@0.3.8...@thi.ng/adjacency@0.3.9) (2021-03-24) - -**Note:** Version bump only for package @thi.ng/adjacency - - - - - -## [0.3.8](https://github.com/thi-ng/umbrella/compare/@thi.ng/adjacency@0.3.7...@thi.ng/adjacency@0.3.8) (2021-03-24) - -**Note:** Version bump only for package @thi.ng/adjacency - - - - - -## [0.3.7](https://github.com/thi-ng/umbrella/compare/@thi.ng/adjacency@0.3.6...@thi.ng/adjacency@0.3.7) (2021-03-17) - -**Note:** Version bump only for package @thi.ng/adjacency - - - - - -## [0.3.6](https://github.com/thi-ng/umbrella/compare/@thi.ng/adjacency@0.3.5...@thi.ng/adjacency@0.3.6) (2021-03-12) +## [0.3.17](https://github.com/thi-ng/umbrella/compare/@thi.ng/adjacency@0.3.16...@thi.ng/adjacency@0.3.17) (2021-06-08) **Note:** Version bump only for package @thi.ng/adjacency diff --git a/packages/adjacency/package.json b/packages/adjacency/package.json index 0de0d5bfb2..b04f206302 100644 --- a/packages/adjacency/package.json +++ b/packages/adjacency/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/adjacency", - "version": "0.3.13", + "version": "0.3.17", "description": "Sparse & bitwise adjacency matrices and related functions for directed & undirected graphs", "module": "./index.js", "main": "./lib/index.js", @@ -40,22 +40,22 @@ "devDependencies": { "@istanbuljs/nyc-config-typescript": "^1.0.1", "@microsoft/api-extractor": "^7.13.1", - "@thi.ng/vectors": "^5.2.1", + "@thi.ng/vectors": "^6.0.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.3.0", + "mocha": "^9.0.0", "nyc": "^15.1.0", - "ts-node": "^9.1.1", + "ts-node": "^10.0.0", "typedoc": "^0.20.30", - "typescript": "^4.2.3" + "typescript": "4.2.4" }, "dependencies": { - "@thi.ng/api": "^7.1.4", - "@thi.ng/arrays": "^0.10.10", - "@thi.ng/bitfield": "^0.4.8", - "@thi.ng/dcons": "^2.3.20", - "@thi.ng/errors": "^1.3.0", - "@thi.ng/sparse": "^0.1.75" + "@thi.ng/api": "^7.1.5", + "@thi.ng/arrays": "^0.10.12", + "@thi.ng/bitfield": "^0.4.9", + "@thi.ng/dcons": "^2.3.24", + "@thi.ng/errors": "^1.3.1", + "@thi.ng/sparse": "^0.1.79" }, "files": [ "*.js", diff --git a/packages/api/CHANGELOG.md b/packages/api/CHANGELOG.md index b74a6c4b39..710f359063 100644 --- a/packages/api/CHANGELOG.md +++ b/packages/api/CHANGELOG.md @@ -3,7 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [7.1.4](https://github.com/thi-ng/umbrella/compare/@thi.ng/api@7.1.3...@thi.ng/api@7.1.4) (2021-03-12) +## [7.1.5](https://github.com/thi-ng/umbrella/compare/@thi.ng/api@7.1.4...@thi.ng/api@7.1.5) (2021-06-08) **Note:** Version bump only for package @thi.ng/api diff --git a/packages/api/package.json b/packages/api/package.json index a997af95d4..b01734a1f0 100644 --- a/packages/api/package.json +++ b/packages/api/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/api", - "version": "7.1.4", + "version": "7.1.5", "description": "Common, generic types, interfaces & mixins", "module": "./index.js", "main": "./lib/index.js", @@ -42,11 +42,11 @@ "@microsoft/api-extractor": "^7.13.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.3.0", + "mocha": "^9.0.0", "nyc": "^15.1.0", - "ts-node": "^9.1.1", + "ts-node": "^10.0.0", "typedoc": "^0.20.30", - "typescript": "^4.2.3" + "typescript": "4.2.4" }, "files": [ "*.js", diff --git a/packages/api/src/api/tuple.ts b/packages/api/src/api/tuple.ts index af6d6408da..b7e1ea3b49 100644 --- a/packages/api/src/api/tuple.ts +++ b/packages/api/src/api/tuple.ts @@ -1,15 +1,15 @@ /** * Returns an array's value type. */ -export type ArrayValue = T[0]; +export type ArrayValue = T[0]; /** * Defines a fixed sized, iterable tuple with elements of type `T` and * length `N`. */ -export type Tuple = [T, ...T[]] & { length: N } & Iterable< - T - >; +export type Tuple = [T, ...T[]] & { + length: N; +} & Iterable; /** * Extracts a tuple's length / size. @@ -24,34 +24,27 @@ export type IsEmpty = T extends [] ? 1 : 0; /** * Extracts the first element of a tuple. */ -export type Head = T extends Parameters< - (v: infer R, ...args: any[]) => any -> - ? R +export type Head = T extends [infer A, ...unknown[]] + ? A : never; /** * Extracts everything except the first element from a tuple. */ -export type Tail = ((...a: T) => void) extends ( - v: any, - ...args: infer R -) => void - ? R +export type Tail = T extends [unknown, ...infer A] + ? A : never; /** * Adds an element at the start of an tuple. */ -export type Prepend = Parameters< - (v: T, ...args: U) => void ->; +export type Prepend = [T, ...U]; /** * Internal version of {@link Reverse} accepting 1 extra argument for * the accumulated value. */ -type ReverseReducer = { +type ReverseReducer = { // case when we got 0 elements 0: C; @@ -67,7 +60,7 @@ type ReverseReducer = { /** * Reverses the order of elements from a tuple. */ -export type Reverse = ReverseReducer; +export type Reverse = ReverseReducer; /** * Extracts the last element from a tuple. diff --git a/packages/args/CHANGELOG.md b/packages/args/CHANGELOG.md index e490074d19..3e481a45fe 100644 --- a/packages/args/CHANGELOG.md +++ b/packages/args/CHANGELOG.md @@ -3,9 +3,12 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [0.5.1](https://github.com/thi-ng/umbrella/compare/@thi.ng/args@0.5.0...@thi.ng/args@0.5.1) (2021-04-03) +# [0.6.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/args@0.5.1...@thi.ng/args@0.6.0) (2021-06-08) -**Note:** Version bump only for package @thi.ng/args + +### Features + +* **args:** add kvPairsMulti(), update coerceKV() ([fd12f80](https://github.com/thi-ng/umbrella/commit/fd12f807dba2546133278a607c4b79dcf9a12b07)) @@ -23,22 +26,6 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline -## [0.4.2](https://github.com/thi-ng/umbrella/compare/@thi.ng/args@0.4.1...@thi.ng/args@0.4.2) (2021-03-24) - -**Note:** Version bump only for package @thi.ng/args - - - - - -## [0.4.1](https://github.com/thi-ng/umbrella/compare/@thi.ng/args@0.4.0...@thi.ng/args@0.4.1) (2021-03-24) - -**Note:** Version bump only for package @thi.ng/args - - - - - # [0.4.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/args@0.3.1...@thi.ng/args@0.4.0) (2021-03-22) @@ -73,22 +60,6 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline -## [0.2.7](https://github.com/thi-ng/umbrella/compare/@thi.ng/args@0.2.6...@thi.ng/args@0.2.7) (2021-03-17) - -**Note:** Version bump only for package @thi.ng/args - - - - - -## [0.2.6](https://github.com/thi-ng/umbrella/compare/@thi.ng/args@0.2.5...@thi.ng/args@0.2.6) (2021-03-12) - -**Note:** Version bump only for package @thi.ng/args - - - - - # [0.2.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/args@0.1.0...@thi.ng/args@0.2.0) (2021-01-13) diff --git a/packages/args/README.md b/packages/args/README.md index a39f15c448..326e529a5a 100644 --- a/packages/args/README.md +++ b/packages/args/README.md @@ -26,15 +26,16 @@ Declarative, functional & typechecked CLI argument/options parser, value coercio Includes built-in support for the following argument types (of course custom arg types are supported too): -| **Argument type** | **Multiple** | **Example** | **Result** | -|----------------------|--------------|----------------------------|-------------------------------| -| **Flag** | | `--force`, `-f` | `force: true` | -| **String** | ✅ | `--foo bar` | `foo: "bar"` | -| **Float/int/hex** | ✅ | `--bg ff997f` | `bg: 16750975` | -| **Enum** | ✅ | `--type png` | `type: "png"` | -| **KV pairs** | ✅ | `--define foo=bar` | `define: { foo: "bar" }` | -| **JSON** | | `--config '{"foo": [23]}'` | `config: { foo: [23] }` | -| **Fixed size tuple** | | `--size 640x480` | `size: { value: [640, 480] }` | +| **Argument type** | **Multiple** | **Example** | **Result** | +|----------------------|--------------|----------------------------|-----------------------------------| +| **Flag** | | `--force`, `-f` | `force: true` | +| **String** | ✅ | `--foo bar` | `foo: "bar"` | +| **Float/int/hex** | ✅ | `--bg ff997f` | `bg: 16750975` | +| **Enum** | ✅ | `--type png` | `type: "png"` | +| **KV pairs** | ✅ | `--define foo=bar` | `define: { foo: "bar" }` | +| **KV multi pairs** | ✅ | `-D foo=bar -D foo=baz` | `define: { foo: ["bar", "baz"] }` | +| **JSON** | | `--config '{"foo": [23]}'` | `config: { foo: [23] }` | +| **Fixed size tuple** | | `--size 640x480` | `size: { value: [640, 480] }` | If multiple values/repetitions are allowed for an argument, the values will be collected into an array (apart from KV pairs, which will yield an object). @@ -61,7 +62,7 @@ yarn add @thi.ng/args ``` -Package sizes (gzipped, pre-treeshake): ESM: 2.21 KB / CJS: 2.34 KB / UMD: 2.29 KB +Package sizes (gzipped, pre-treeshake): ESM: 2.28 KB / CJS: 2.41 KB / UMD: 2.35 KB ## Dependencies diff --git a/packages/args/package.json b/packages/args/package.json index f5f55e7363..e010f8bc99 100644 --- a/packages/args/package.json +++ b/packages/args/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/args", - "version": "0.5.1", + "version": "0.6.0", "description": "Declarative, functional & typechecked CLI argument/options parser, value coercions etc.", "module": "./index.js", "main": "./lib/index.js", @@ -42,17 +42,17 @@ "@microsoft/api-extractor": "^7.13.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.3.0", + "mocha": "^9.0.0", "nyc": "^15.1.0", - "ts-node": "^9.1.1", + "ts-node": "^10.0.0", "typedoc": "^0.20.30", - "typescript": "^4.2.3" + "typescript": "4.2.4" }, "dependencies": { - "@thi.ng/api": "^7.1.4", - "@thi.ng/checks": "^2.9.6", - "@thi.ng/errors": "^1.3.0", - "@thi.ng/strings": "^2.1.0" + "@thi.ng/api": "^7.1.5", + "@thi.ng/checks": "^2.9.7", + "@thi.ng/errors": "^1.3.1", + "@thi.ng/strings": "^2.1.1" }, "files": [ "*.js", diff --git a/packages/args/src/api.ts b/packages/args/src/api.ts index f5893ddbb2..4dc5cf239b 100644 --- a/packages/args/src/api.ts +++ b/packages/args/src/api.ts @@ -57,6 +57,11 @@ export type Args> = { delim?: string; } : KVDict extends T[id] + ? ArgSpec & { + coerce: Fn>; + multi: true; + } + : KVMultiDict extends T[id] ? ArgSpec & { coerce: Fn>; multi: true; @@ -67,6 +72,7 @@ export type Args> = { }; export type KVDict = IObjectOf; +export type KVMultiDict = IObjectOf; export interface ParseResult { result: T; diff --git a/packages/args/src/args.ts b/packages/args/src/args.ts index 6718f9b98d..01e61652df 100644 --- a/packages/args/src/args.ts +++ b/packages/args/src/args.ts @@ -1,6 +1,6 @@ import type { Fn } from "@thi.ng/api"; import { repeat } from "@thi.ng/strings"; -import type { ArgSpec, KVDict, Tuple } from "./api"; +import type { ArgSpec, KVDict, KVMultiDict, Tuple } from "./api"; import { coerceFloat, coerceFloats, @@ -14,33 +14,33 @@ import { coerceTuple, } from "./coerce"; -const $single = (coerce: Fn, hint: string) => < - S extends Partial> ->( - spec: S -): S & { coerce: Fn; hint: string; group: string } => ({ - coerce, - hint, - group: "main", - ...spec, -}); +const $single = + (coerce: Fn, hint: string) => + >>( + spec: S + ): S & { coerce: Fn; hint: string; group: string } => ({ + coerce, + hint, + group: "main", + ...spec, + }); -const $multi = (coerce: Fn, hint: string) => < - S extends Partial & { delim: string }> ->( - spec: S -): S & { - coerce: Fn; - hint: string; - multi: true; - group: string; -} => ({ - hint: $hint(hint, spec.delim), - multi: true, - coerce, - group: "main", - ...spec, -}); +const $multi = + (coerce: Fn, hint: string) => + & { delim: string }>>( + spec: S + ): S & { + coerce: Fn; + hint: string; + multi: true; + group: string; + } => ({ + hint: $hint(hint, spec.delim), + multi: true, + coerce, + group: "main", + ...spec, + }); const $hint = (hint: string, delim?: string) => hint + (delim ? `[${delim}..]` : ""); @@ -222,6 +222,32 @@ export const kvPairs = >>( ...spec, }); +/** + * Like {@link kvPairs}, but coerces KV pairs into a result {@link KVMultiDict} + * which supports multiple values per given key (each key's values are collected + * into arrays). + * + * @param spec + * @param delim + * @param strict + */ +export const kvPairsMulti = >>( + spec: S, + delim = "=", + strict?: boolean +): S & { + coerce: Fn; + hint: string; + multi: true; + group: string; +} => ({ + coerce: coerceKV(delim, strict, true), + hint: `key${delim}val(s)`, + multi: true, + group: "main", + ...spec, +}); + /** * Returns a full {@link ArgSpec} for a fixed `size` tuple extracted from a * single value string. The individual values are delimited by `delim` and will diff --git a/packages/args/src/coerce.ts b/packages/args/src/coerce.ts index ec363807c8..d6ec55ab5c 100644 --- a/packages/args/src/coerce.ts +++ b/packages/args/src/coerce.ts @@ -1,7 +1,7 @@ import type { Fn } from "@thi.ng/api"; import { isHex, isNumericFloat, isNumericInt } from "@thi.ng/checks"; import { illegalArgs } from "@thi.ng/errors"; -import { KVDict, Tuple } from "./api"; +import { KVDict, KVMultiDict, Tuple } from "./api"; export const coerceString = (x: string) => x; @@ -24,29 +24,50 @@ export const coerceInts = (xs: string[]) => xs.map(coerceInt); export const coerceJson = (x: string): T => JSON.parse(x); -export const coerceOneOf = (xs: readonly K[]) => ( - x: string -) => (xs.includes(x) ? x : illegalArgs(`invalid option: ${x}`)); - -export const coerceKV = (delim = "=", strict = false) => (pairs: string[]) => - pairs.reduce((acc, x) => { - const idx = x.indexOf(delim); - strict && - idx < 1 && - illegalArgs(`got '${x}', but expected a 'key${delim}value' pair`); - idx > 0 - ? (acc[x.substr(0, idx)] = x.substr(idx + 1)) - : (acc[x] = "true"); - return acc; - }, {}); - -export const coerceTuple = ( - coerce: Fn, - size: number, - delim = "," -) => (src: string) => { - const parts = src.split(delim); - parts.length !== size && - illegalArgs(`got '${src}', but expected a tuple of ${size} values`); - return new Tuple(parts.map(coerce)); -}; +export const coerceOneOf = + (xs: readonly K[]) => + (x: string) => + xs.includes(x) ? x : illegalArgs(`invalid option: ${x}`); + +export function coerceKV( + delim?: string, + strict?: boolean, + multi?: false +): Fn; +export function coerceKV( + delim?: string, + strict?: boolean, + multi?: true +): Fn; +export function coerceKV(delim = "=", strict = false, multi = false) { + return (pairs: string[]) => + pairs.reduce((acc, x) => { + const idx = x.indexOf(delim); + strict && + idx < 1 && + illegalArgs( + `got '${x}', but expected a 'key${delim}value' pair` + ); + if (idx > 0) { + const id = x.substr(0, idx); + const val = x.substr(idx + 1); + if (multi) { + acc[id] ? (acc[id]).push(val) : (acc[id] = [val]); + } else { + acc[id] = val; + } + } else { + acc[x] = multi ? ["true"] : "true"; + } + return acc; + }, {}); +} + +export const coerceTuple = + (coerce: Fn, size: number, delim = ",") => + (src: string) => { + const parts = src.split(delim); + parts.length !== size && + illegalArgs(`got '${src}', but expected a tuple of ${size} values`); + return new Tuple(parts.map(coerce)); + }; diff --git a/packages/args/test/index.ts b/packages/args/test/index.ts index b9926cb9b3..fb64bc3147 100644 --- a/packages/args/test/index.ts +++ b/packages/args/test/index.ts @@ -8,7 +8,9 @@ import { ints, json, KVDict, + KVMultiDict, kvPairs, + kvPairsMulti, oneOf, parse, size, @@ -147,6 +149,33 @@ describe("args", () => { ); }); + it("kvMulti", () => { + assert.deepStrictEqual( + parse<{ a?: KVMultiDict }>( + { a: kvPairsMulti({}) }, + [ + "--a", + "foo=aa", + "--a", + "bar=bb", + "--a", + "foo=cc", + "--a", + "debug", + ], + { start: 0 } + ), + { + result: { + a: { foo: ["aa", "cc"], bar: ["bb"], debug: ["true"] }, + }, + index: 8, + done: true, + rest: [], + } + ); + }); + it("json", () => { assert.deepStrictEqual( parse<{ a: any }>( diff --git a/packages/args/tpl.readme.md b/packages/args/tpl.readme.md index 93daa40252..3857052e84 100644 --- a/packages/args/tpl.readme.md +++ b/packages/args/tpl.readme.md @@ -15,15 +15,16 @@ ${pkg.description} Includes built-in support for the following argument types (of course custom arg types are supported too): -| **Argument type** | **Multiple** | **Example** | **Result** | -|----------------------|--------------|----------------------------|-------------------------------| -| **Flag** | | `--force`, `-f` | `force: true` | -| **String** | ✅ | `--foo bar` | `foo: "bar"` | -| **Float/int/hex** | ✅ | `--bg ff997f` | `bg: 16750975` | -| **Enum** | ✅ | `--type png` | `type: "png"` | -| **KV pairs** | ✅ | `--define foo=bar` | `define: { foo: "bar" }` | -| **JSON** | | `--config '{"foo": [23]}'` | `config: { foo: [23] }` | -| **Fixed size tuple** | | `--size 640x480` | `size: { value: [640, 480] }` | +| **Argument type** | **Multiple** | **Example** | **Result** | +|----------------------|--------------|----------------------------|-----------------------------------| +| **Flag** | | `--force`, `-f` | `force: true` | +| **String** | ✅ | `--foo bar` | `foo: "bar"` | +| **Float/int/hex** | ✅ | `--bg ff997f` | `bg: 16750975` | +| **Enum** | ✅ | `--type png` | `type: "png"` | +| **KV pairs** | ✅ | `--define foo=bar` | `define: { foo: "bar" }` | +| **KV multi pairs** | ✅ | `-D foo=bar -D foo=baz` | `define: { foo: ["bar", "baz"] }` | +| **JSON** | | `--config '{"foo": [23]}'` | `config: { foo: [23] }` | +| **Fixed size tuple** | | `--size 640x480` | `size: { value: [640, 480] }` | If multiple values/repetitions are allowed for an argument, the values will be collected into an array (apart from KV pairs, which will yield an object). diff --git a/packages/arrays/CHANGELOG.md b/packages/arrays/CHANGELOG.md index 97e0865d9e..1c0ed7afa7 100644 --- a/packages/arrays/CHANGELOG.md +++ b/packages/arrays/CHANGELOG.md @@ -3,23 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [0.10.10](https://github.com/thi-ng/umbrella/compare/@thi.ng/arrays@0.10.9...@thi.ng/arrays@0.10.10) (2021-04-03) - -**Note:** Version bump only for package @thi.ng/arrays - - - - - -## [0.10.9](https://github.com/thi-ng/umbrella/compare/@thi.ng/arrays@0.10.8...@thi.ng/arrays@0.10.9) (2021-03-17) - -**Note:** Version bump only for package @thi.ng/arrays - - - - - -## [0.10.8](https://github.com/thi-ng/umbrella/compare/@thi.ng/arrays@0.10.7...@thi.ng/arrays@0.10.8) (2021-03-12) +## [0.10.12](https://github.com/thi-ng/umbrella/compare/@thi.ng/arrays@0.10.11...@thi.ng/arrays@0.10.12) (2021-06-08) **Note:** Version bump only for package @thi.ng/arrays diff --git a/packages/arrays/package.json b/packages/arrays/package.json index e9da2c6307..3cfc7dcdf4 100644 --- a/packages/arrays/package.json +++ b/packages/arrays/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/arrays", - "version": "0.10.10", + "version": "0.10.12", "description": "Array / Arraylike utilities", "module": "./index.js", "main": "./lib/index.js", @@ -42,19 +42,19 @@ "@microsoft/api-extractor": "^7.13.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.3.0", + "mocha": "^9.0.0", "nyc": "^15.1.0", - "ts-node": "^9.1.1", + "ts-node": "^10.0.0", "typedoc": "^0.20.30", - "typescript": "^4.2.3" + "typescript": "4.2.4" }, "dependencies": { - "@thi.ng/api": "^7.1.4", - "@thi.ng/checks": "^2.9.6", - "@thi.ng/compare": "^1.3.28", - "@thi.ng/equiv": "^1.0.41", - "@thi.ng/errors": "^1.3.0", - "@thi.ng/random": "^2.3.7" + "@thi.ng/api": "^7.1.5", + "@thi.ng/checks": "^2.9.7", + "@thi.ng/compare": "^1.3.29", + "@thi.ng/equiv": "^1.0.42", + "@thi.ng/errors": "^1.3.1", + "@thi.ng/random": "^2.4.1" }, "files": [ "*.js", diff --git a/packages/associative/CHANGELOG.md b/packages/associative/CHANGELOG.md index 381ed2cd88..97a671ffc8 100644 --- a/packages/associative/CHANGELOG.md +++ b/packages/associative/CHANGELOG.md @@ -3,7 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [5.2.1](https://github.com/thi-ng/umbrella/compare/@thi.ng/associative@5.2.0...@thi.ng/associative@5.2.1) (2021-04-03) +## [5.2.5](https://github.com/thi-ng/umbrella/compare/@thi.ng/associative@5.2.4...@thi.ng/associative@5.2.5) (2021-06-08) **Note:** Version bump only for package @thi.ng/associative @@ -23,38 +23,6 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline -## [5.1.9](https://github.com/thi-ng/umbrella/compare/@thi.ng/associative@5.1.8...@thi.ng/associative@5.1.9) (2021-03-28) - -**Note:** Version bump only for package @thi.ng/associative - - - - - -## [5.1.8](https://github.com/thi-ng/umbrella/compare/@thi.ng/associative@5.1.7...@thi.ng/associative@5.1.8) (2021-03-27) - -**Note:** Version bump only for package @thi.ng/associative - - - - - -## [5.1.7](https://github.com/thi-ng/umbrella/compare/@thi.ng/associative@5.1.6...@thi.ng/associative@5.1.7) (2021-03-17) - -**Note:** Version bump only for package @thi.ng/associative - - - - - -## [5.1.6](https://github.com/thi-ng/umbrella/compare/@thi.ng/associative@5.1.5...@thi.ng/associative@5.1.6) (2021-03-12) - -**Note:** Version bump only for package @thi.ng/associative - - - - - # [5.1.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/associative@5.0.17...@thi.ng/associative@5.1.0) (2021-02-20) diff --git a/packages/associative/package.json b/packages/associative/package.json index eec92aa498..2ac6e7bd2f 100644 --- a/packages/associative/package.json +++ b/packages/associative/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/associative", - "version": "5.2.1", + "version": "5.2.5", "description": "Alternative Map and Set implementations with customizable equality semantics & supporting operations", "module": "./index.js", "main": "./lib/index.js", @@ -42,21 +42,21 @@ "@microsoft/api-extractor": "^7.13.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.3.0", + "mocha": "^9.0.0", "nyc": "^15.1.0", - "ts-node": "^9.1.1", + "ts-node": "^10.0.0", "typedoc": "^0.20.30", - "typescript": "^4.2.3" + "typescript": "4.2.4" }, "dependencies": { - "@thi.ng/api": "^7.1.4", - "@thi.ng/binary": "^2.2.4", - "@thi.ng/checks": "^2.9.6", - "@thi.ng/compare": "^1.3.28", - "@thi.ng/dcons": "^2.3.20", - "@thi.ng/equiv": "^1.0.41", - "@thi.ng/errors": "^1.3.0", - "@thi.ng/transducers": "^7.6.10", + "@thi.ng/api": "^7.1.5", + "@thi.ng/binary": "^2.2.5", + "@thi.ng/checks": "^2.9.7", + "@thi.ng/compare": "^1.3.29", + "@thi.ng/dcons": "^2.3.24", + "@thi.ng/equiv": "^1.0.42", + "@thi.ng/errors": "^1.3.1", + "@thi.ng/transducers": "^7.7.3", "tslib": "^2.1.0" }, "files": [ diff --git a/packages/atom/CHANGELOG.md b/packages/atom/CHANGELOG.md index ed9f1ceb77..28b287fff7 100644 --- a/packages/atom/CHANGELOG.md +++ b/packages/atom/CHANGELOG.md @@ -3,23 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [4.1.35](https://github.com/thi-ng/umbrella/compare/@thi.ng/atom@4.1.34...@thi.ng/atom@4.1.35) (2021-04-03) - -**Note:** Version bump only for package @thi.ng/atom - - - - - -## [4.1.34](https://github.com/thi-ng/umbrella/compare/@thi.ng/atom@4.1.33...@thi.ng/atom@4.1.34) (2021-03-17) - -**Note:** Version bump only for package @thi.ng/atom - - - - - -## [4.1.33](https://github.com/thi-ng/umbrella/compare/@thi.ng/atom@4.1.32...@thi.ng/atom@4.1.33) (2021-03-12) +## [4.1.36](https://github.com/thi-ng/umbrella/compare/@thi.ng/atom@4.1.35...@thi.ng/atom@4.1.36) (2021-06-08) **Note:** Version bump only for package @thi.ng/atom diff --git a/packages/atom/README.md b/packages/atom/README.md index d96e71c2cb..5aa23a7f5d 100644 --- a/packages/atom/README.md +++ b/packages/atom/README.md @@ -458,7 +458,7 @@ let x = 0; let a = defAtom({ value: 1 }) // create an eager view by passing `false` as last arg -view = defView(["value"], (y) => (x = y, y * 10), false); +view = defView(a, ["value"], (y) => (x = y, y * 10), false); // check `x` to verify that transformer already has run x === 1 diff --git a/packages/atom/package.json b/packages/atom/package.json index f1731bb39e..1dd0bb69c9 100644 --- a/packages/atom/package.json +++ b/packages/atom/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/atom", - "version": "4.1.35", + "version": "4.1.36", "description": "Mutable wrappers for nested immutable values with optional undo/redo history and transaction support", "module": "./index.js", "main": "./lib/index.js", @@ -42,17 +42,17 @@ "@microsoft/api-extractor": "^7.13.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.3.0", + "mocha": "^9.0.0", "nyc": "^15.1.0", - "ts-node": "^9.1.1", + "ts-node": "^10.0.0", "typedoc": "^0.20.30", - "typescript": "^4.2.3" + "typescript": "4.2.4" }, "dependencies": { - "@thi.ng/api": "^7.1.4", - "@thi.ng/equiv": "^1.0.41", - "@thi.ng/errors": "^1.3.0", - "@thi.ng/paths": "^4.2.7", + "@thi.ng/api": "^7.1.5", + "@thi.ng/equiv": "^1.0.42", + "@thi.ng/errors": "^1.3.1", + "@thi.ng/paths": "^4.2.8", "tslib": "^2.1.0" }, "files": [ diff --git a/packages/atom/src/history.ts b/packages/atom/src/history.ts index 991cf2ca37..a21256f77e 100644 --- a/packages/atom/src/history.ts +++ b/packages/atom/src/history.ts @@ -61,7 +61,7 @@ export class History implements IHistory { constructor(state: IAtom, maxLen = 100, changed?: Predicate2) { this.state = state; this.maxLen = maxLen; - this.changed = changed || ((a, b) => !equiv(a, b)); + this.changed = changed || ((a: T, b: T) => !equiv(a, b)); this.clear(); } diff --git a/packages/atom/tpl.readme.md b/packages/atom/tpl.readme.md index 9ad59576be..53606d68b4 100644 --- a/packages/atom/tpl.readme.md +++ b/packages/atom/tpl.readme.md @@ -397,7 +397,7 @@ let x = 0; let a = defAtom({ value: 1 }) // create an eager view by passing `false` as last arg -view = defView(["value"], (y) => (x = y, y * 10), false); +view = defView(a, ["value"], (y) => (x = y, y * 10), false); // check `x` to verify that transformer already has run x === 1 diff --git a/packages/base-n/CHANGELOG.md b/packages/base-n/CHANGELOG.md index 612403bd81..6cbe8692c4 100644 --- a/packages/base-n/CHANGELOG.md +++ b/packages/base-n/CHANGELOG.md @@ -3,7 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [0.1.6](https://github.com/thi-ng/umbrella/compare/@thi.ng/base-n@0.1.5...@thi.ng/base-n@0.1.6) (2021-03-12) +## [0.1.7](https://github.com/thi-ng/umbrella/compare/@thi.ng/base-n@0.1.6...@thi.ng/base-n@0.1.7) (2021-06-08) **Note:** Version bump only for package @thi.ng/base-n diff --git a/packages/base-n/package.json b/packages/base-n/package.json index 121395ad15..40af9432b2 100644 --- a/packages/base-n/package.json +++ b/packages/base-n/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/base-n", - "version": "0.1.6", + "version": "0.1.7", "description": "Arbitrary base-n conversions w/ presets for base16/32/36/58/62/64/85, support for arrays & bigints", "module": "./index.js", "main": "./lib/index.js", @@ -42,14 +42,14 @@ "@microsoft/api-extractor": "^7.13.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.3.0", + "mocha": "^9.0.0", "nyc": "^15.1.0", - "ts-node": "^9.1.1", + "ts-node": "^10.0.0", "typedoc": "^0.20.30", - "typescript": "^4.2.3" + "typescript": "4.2.4" }, "dependencies": { - "@thi.ng/hex": "^0.2.5" + "@thi.ng/hex": "^0.2.6" }, "files": [ "*.js", diff --git a/packages/bench/CHANGELOG.md b/packages/bench/CHANGELOG.md index fefce06164..23d139cbc6 100644 --- a/packages/bench/CHANGELOG.md +++ b/packages/bench/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.1](https://github.com/thi-ng/umbrella/compare/@thi.ng/bench@2.1.0...@thi.ng/bench@2.1.1) (2021-06-08) + +**Note:** Version bump only for package @thi.ng/bench + + + + + # [2.1.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/bench@2.0.31...@thi.ng/bench@2.1.0) (2021-03-12) diff --git a/packages/bench/package.json b/packages/bench/package.json index 494002c136..dc03d126eb 100644 --- a/packages/bench/package.json +++ b/packages/bench/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/bench", - "version": "2.1.0", + "version": "2.1.1", "description": "Benchmarking utilities w/ various statistics & formatters (CSV, Markdown etc.)", "module": "./index.js", "main": "./lib/index.js", @@ -42,14 +42,14 @@ "@microsoft/api-extractor": "^7.13.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.3.0", + "mocha": "^9.0.0", "nyc": "^15.1.0", - "ts-node": "^9.1.1", + "ts-node": "^10.0.0", "typedoc": "^0.20.30", - "typescript": "^4.2.3" + "typescript": "4.2.4" }, "dependencies": { - "@thi.ng/api": "^7.1.4" + "@thi.ng/api": "^7.1.5" }, "files": [ "*.js", diff --git a/packages/bencode/CHANGELOG.md b/packages/bencode/CHANGELOG.md index e1a88318dd..808916a72f 100644 --- a/packages/bencode/CHANGELOG.md +++ b/packages/bencode/CHANGELOG.md @@ -3,39 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [0.3.60](https://github.com/thi-ng/umbrella/compare/@thi.ng/bencode@0.3.59...@thi.ng/bencode@0.3.60) (2021-04-03) - -**Note:** Version bump only for package @thi.ng/bencode - - - - - -## [0.3.59](https://github.com/thi-ng/umbrella/compare/@thi.ng/bencode@0.3.58...@thi.ng/bencode@0.3.59) (2021-03-28) - -**Note:** Version bump only for package @thi.ng/bencode - - - - - -## [0.3.58](https://github.com/thi-ng/umbrella/compare/@thi.ng/bencode@0.3.57...@thi.ng/bencode@0.3.58) (2021-03-27) - -**Note:** Version bump only for package @thi.ng/bencode - - - - - -## [0.3.57](https://github.com/thi-ng/umbrella/compare/@thi.ng/bencode@0.3.56...@thi.ng/bencode@0.3.57) (2021-03-17) - -**Note:** Version bump only for package @thi.ng/bencode - - - - - -## [0.3.56](https://github.com/thi-ng/umbrella/compare/@thi.ng/bencode@0.3.55...@thi.ng/bencode@0.3.56) (2021-03-12) +## [0.3.64](https://github.com/thi-ng/umbrella/compare/@thi.ng/bencode@0.3.63...@thi.ng/bencode@0.3.64) (2021-06-08) **Note:** Version bump only for package @thi.ng/bencode diff --git a/packages/bencode/package.json b/packages/bencode/package.json index 7ff7e02330..98d39149b9 100644 --- a/packages/bencode/package.json +++ b/packages/bencode/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/bencode", - "version": "0.3.60", + "version": "0.3.64", "description": "Bencode binary encoder / decoder with optional UTF8 encoding & floating point support", "module": "./index.js", "main": "./lib/index.js", @@ -42,20 +42,20 @@ "@microsoft/api-extractor": "^7.13.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.3.0", + "mocha": "^9.0.0", "nyc": "^15.1.0", - "ts-node": "^9.1.1", + "ts-node": "^10.0.0", "typedoc": "^0.20.30", - "typescript": "^4.2.3" + "typescript": "4.2.4" }, "dependencies": { - "@thi.ng/api": "^7.1.4", - "@thi.ng/arrays": "^0.10.10", - "@thi.ng/checks": "^2.9.6", - "@thi.ng/defmulti": "^1.3.11", - "@thi.ng/errors": "^1.3.0", - "@thi.ng/transducers": "^7.6.10", - "@thi.ng/transducers-binary": "^0.6.16" + "@thi.ng/api": "^7.1.5", + "@thi.ng/arrays": "^0.10.12", + "@thi.ng/checks": "^2.9.7", + "@thi.ng/defmulti": "^1.3.12", + "@thi.ng/errors": "^1.3.1", + "@thi.ng/transducers": "^7.7.3", + "@thi.ng/transducers-binary": "^0.6.20" }, "files": [ "*.js", diff --git a/packages/binary/CHANGELOG.md b/packages/binary/CHANGELOG.md index 71e396ae5b..5c3514265d 100644 --- a/packages/binary/CHANGELOG.md +++ b/packages/binary/CHANGELOG.md @@ -3,7 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [2.2.4](https://github.com/thi-ng/umbrella/compare/@thi.ng/binary@2.2.3...@thi.ng/binary@2.2.4) (2021-03-12) +## [2.2.5](https://github.com/thi-ng/umbrella/compare/@thi.ng/binary@2.2.4...@thi.ng/binary@2.2.5) (2021-06-08) **Note:** Version bump only for package @thi.ng/binary diff --git a/packages/binary/package.json b/packages/binary/package.json index 276ecda394..e5a3b2ee13 100644 --- a/packages/binary/package.json +++ b/packages/binary/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/binary", - "version": "2.2.4", + "version": "2.2.5", "description": "100+ assorted binary / bitwise operations, conversions, utilities, lookup tables", "module": "./index.js", "main": "./lib/index.js", @@ -42,14 +42,14 @@ "@microsoft/api-extractor": "^7.13.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.3.0", + "mocha": "^9.0.0", "nyc": "^15.1.0", - "ts-node": "^9.1.1", + "ts-node": "^10.0.0", "typedoc": "^0.20.30", - "typescript": "^4.2.3" + "typescript": "4.2.4" }, "dependencies": { - "@thi.ng/api": "^7.1.4" + "@thi.ng/api": "^7.1.5" }, "files": [ "*.js", diff --git a/packages/bitfield/CHANGELOG.md b/packages/bitfield/CHANGELOG.md index c1c14b3fd3..28698c51a9 100644 --- a/packages/bitfield/CHANGELOG.md +++ b/packages/bitfield/CHANGELOG.md @@ -3,31 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [0.4.8](https://github.com/thi-ng/umbrella/compare/@thi.ng/bitfield@0.4.7...@thi.ng/bitfield@0.4.8) (2021-03-24) - -**Note:** Version bump only for package @thi.ng/bitfield - - - - - -## [0.4.7](https://github.com/thi-ng/umbrella/compare/@thi.ng/bitfield@0.4.6...@thi.ng/bitfield@0.4.7) (2021-03-24) - -**Note:** Version bump only for package @thi.ng/bitfield - - - - - -## [0.4.6](https://github.com/thi-ng/umbrella/compare/@thi.ng/bitfield@0.4.5...@thi.ng/bitfield@0.4.6) (2021-03-17) - -**Note:** Version bump only for package @thi.ng/bitfield - - - - - -## [0.4.5](https://github.com/thi-ng/umbrella/compare/@thi.ng/bitfield@0.4.4...@thi.ng/bitfield@0.4.5) (2021-03-12) +## [0.4.9](https://github.com/thi-ng/umbrella/compare/@thi.ng/bitfield@0.4.8...@thi.ng/bitfield@0.4.9) (2021-06-08) **Note:** Version bump only for package @thi.ng/bitfield diff --git a/packages/bitfield/package.json b/packages/bitfield/package.json index 5447f3bf6d..47a65e39eb 100644 --- a/packages/bitfield/package.json +++ b/packages/bitfield/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/bitfield", - "version": "0.4.8", + "version": "0.4.9", "description": "1D / 2D bit field implementations", "module": "./index.js", "main": "./lib/index.js", @@ -42,17 +42,17 @@ "@microsoft/api-extractor": "^7.13.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.3.0", + "mocha": "^9.0.0", "nyc": "^15.1.0", - "ts-node": "^9.1.1", + "ts-node": "^10.0.0", "typedoc": "^0.20.30", - "typescript": "^4.2.3" + "typescript": "4.2.4" }, "dependencies": { - "@thi.ng/api": "^7.1.4", - "@thi.ng/binary": "^2.2.4", - "@thi.ng/errors": "^1.3.0", - "@thi.ng/strings": "^2.1.0" + "@thi.ng/api": "^7.1.5", + "@thi.ng/binary": "^2.2.5", + "@thi.ng/errors": "^1.3.1", + "@thi.ng/strings": "^2.1.1" }, "files": [ "*.js", diff --git a/packages/bitstream/CHANGELOG.md b/packages/bitstream/CHANGELOG.md index 6470ac2e81..eaed9b3359 100644 --- a/packages/bitstream/CHANGELOG.md +++ b/packages/bitstream/CHANGELOG.md @@ -3,15 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [1.1.38](https://github.com/thi-ng/umbrella/compare/@thi.ng/bitstream@1.1.37...@thi.ng/bitstream@1.1.38) (2021-03-17) - -**Note:** Version bump only for package @thi.ng/bitstream - - - - - -## [1.1.37](https://github.com/thi-ng/umbrella/compare/@thi.ng/bitstream@1.1.36...@thi.ng/bitstream@1.1.37) (2021-03-12) +## [1.1.39](https://github.com/thi-ng/umbrella/compare/@thi.ng/bitstream@1.1.38...@thi.ng/bitstream@1.1.39) (2021-06-08) **Note:** Version bump only for package @thi.ng/bitstream diff --git a/packages/bitstream/package.json b/packages/bitstream/package.json index 63a795466b..0490bade64 100644 --- a/packages/bitstream/package.json +++ b/packages/bitstream/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/bitstream", - "version": "1.1.38", + "version": "1.1.39", "description": "ES6 iterator based read/write bit streams with support for variable word widths", "module": "./index.js", "main": "./lib/index.js", @@ -42,14 +42,14 @@ "@microsoft/api-extractor": "^7.13.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.3.0", + "mocha": "^9.0.0", "nyc": "^15.1.0", - "ts-node": "^9.1.1", + "ts-node": "^10.0.0", "typedoc": "^0.20.30", - "typescript": "^4.2.3" + "typescript": "4.2.4" }, "dependencies": { - "@thi.ng/errors": "^1.3.0" + "@thi.ng/errors": "^1.3.1" }, "files": [ "*.js", diff --git a/packages/cache/CHANGELOG.md b/packages/cache/CHANGELOG.md index bfcd513d84..aa4a8c1cb6 100644 --- a/packages/cache/CHANGELOG.md +++ b/packages/cache/CHANGELOG.md @@ -3,39 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [1.0.80](https://github.com/thi-ng/umbrella/compare/@thi.ng/cache@1.0.79...@thi.ng/cache@1.0.80) (2021-04-03) - -**Note:** Version bump only for package @thi.ng/cache - - - - - -## [1.0.79](https://github.com/thi-ng/umbrella/compare/@thi.ng/cache@1.0.78...@thi.ng/cache@1.0.79) (2021-03-28) - -**Note:** Version bump only for package @thi.ng/cache - - - - - -## [1.0.78](https://github.com/thi-ng/umbrella/compare/@thi.ng/cache@1.0.77...@thi.ng/cache@1.0.78) (2021-03-27) - -**Note:** Version bump only for package @thi.ng/cache - - - - - -## [1.0.77](https://github.com/thi-ng/umbrella/compare/@thi.ng/cache@1.0.76...@thi.ng/cache@1.0.77) (2021-03-17) - -**Note:** Version bump only for package @thi.ng/cache - - - - - -## [1.0.76](https://github.com/thi-ng/umbrella/compare/@thi.ng/cache@1.0.75...@thi.ng/cache@1.0.76) (2021-03-12) +## [1.0.84](https://github.com/thi-ng/umbrella/compare/@thi.ng/cache@1.0.83...@thi.ng/cache@1.0.84) (2021-06-08) **Note:** Version bump only for package @thi.ng/cache diff --git a/packages/cache/package.json b/packages/cache/package.json index 57d2165428..95be5b7477 100644 --- a/packages/cache/package.json +++ b/packages/cache/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/cache", - "version": "1.0.80", + "version": "1.0.84", "description": "In-memory cache implementations with ES6 Map-like API and different eviction strategies", "module": "./index.js", "main": "./lib/index.js", @@ -42,16 +42,16 @@ "@microsoft/api-extractor": "^7.13.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.3.0", + "mocha": "^9.0.0", "nyc": "^15.1.0", - "ts-node": "^9.1.1", + "ts-node": "^10.0.0", "typedoc": "^0.20.30", - "typescript": "^4.2.3" + "typescript": "4.2.4" }, "dependencies": { - "@thi.ng/api": "^7.1.4", - "@thi.ng/dcons": "^2.3.20", - "@thi.ng/transducers": "^7.6.10" + "@thi.ng/api": "^7.1.5", + "@thi.ng/dcons": "^2.3.24", + "@thi.ng/transducers": "^7.7.3" }, "files": [ "*.js", diff --git a/packages/checks/CHANGELOG.md b/packages/checks/CHANGELOG.md index 9cd3344537..4d205f366d 100644 --- a/packages/checks/CHANGELOG.md +++ b/packages/checks/CHANGELOG.md @@ -3,15 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [2.9.6](https://github.com/thi-ng/umbrella/compare/@thi.ng/checks@2.9.5...@thi.ng/checks@2.9.6) (2021-04-03) - -**Note:** Version bump only for package @thi.ng/checks - - - - - -## [2.9.5](https://github.com/thi-ng/umbrella/compare/@thi.ng/checks@2.9.4...@thi.ng/checks@2.9.5) (2021-03-12) +## [2.9.7](https://github.com/thi-ng/umbrella/compare/@thi.ng/checks@2.9.6...@thi.ng/checks@2.9.7) (2021-06-08) **Note:** Version bump only for package @thi.ng/checks diff --git a/packages/checks/package.json b/packages/checks/package.json index a3bd0ed8df..6a4ddce22d 100644 --- a/packages/checks/package.json +++ b/packages/checks/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/checks", - "version": "2.9.6", + "version": "2.9.7", "description": "Collection of 50+ type, feature & value checks", "module": "./index.js", "main": "./lib/index.js", @@ -42,11 +42,11 @@ "@microsoft/api-extractor": "^7.13.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.3.0", + "mocha": "^9.0.0", "nyc": "^15.1.0", - "ts-node": "^9.1.1", + "ts-node": "^10.0.0", "typedoc": "^0.20.30", - "typescript": "^4.2.3" + "typescript": "4.2.4" }, "dependencies": { "tslib": "^2.1.0" diff --git a/packages/color/CHANGELOG.md b/packages/color/CHANGELOG.md index 3a5a95bd55..d7ea7d4192 100644 --- a/packages/color/CHANGELOG.md +++ b/packages/color/CHANGELOG.md @@ -3,63 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [3.1.12](https://github.com/thi-ng/umbrella/compare/@thi.ng/color@3.1.11...@thi.ng/color@3.1.12) (2021-04-03) - -**Note:** Version bump only for package @thi.ng/color - - - - - -## [3.1.11](https://github.com/thi-ng/umbrella/compare/@thi.ng/color@3.1.10...@thi.ng/color@3.1.11) (2021-03-30) - -**Note:** Version bump only for package @thi.ng/color - - - - - -## [3.1.10](https://github.com/thi-ng/umbrella/compare/@thi.ng/color@3.1.9...@thi.ng/color@3.1.10) (2021-03-28) - -**Note:** Version bump only for package @thi.ng/color - - - - - -## [3.1.9](https://github.com/thi-ng/umbrella/compare/@thi.ng/color@3.1.8...@thi.ng/color@3.1.9) (2021-03-27) - -**Note:** Version bump only for package @thi.ng/color - - - - - -## [3.1.8](https://github.com/thi-ng/umbrella/compare/@thi.ng/color@3.1.7...@thi.ng/color@3.1.8) (2021-03-24) - -**Note:** Version bump only for package @thi.ng/color - - - - - -## [3.1.7](https://github.com/thi-ng/umbrella/compare/@thi.ng/color@3.1.6...@thi.ng/color@3.1.7) (2021-03-24) - -**Note:** Version bump only for package @thi.ng/color - - - - - -## [3.1.6](https://github.com/thi-ng/umbrella/compare/@thi.ng/color@3.1.5...@thi.ng/color@3.1.6) (2021-03-17) - -**Note:** Version bump only for package @thi.ng/color - - - - - -## [3.1.5](https://github.com/thi-ng/umbrella/compare/@thi.ng/color@3.1.4...@thi.ng/color@3.1.5) (2021-03-12) +## [3.1.16](https://github.com/thi-ng/umbrella/compare/@thi.ng/color@3.1.15...@thi.ng/color@3.1.16) (2021-06-08) **Note:** Version bump only for package @thi.ng/color diff --git a/packages/color/README.md b/packages/color/README.md index adafc04501..6e6e2e8ebe 100644 --- a/packages/color/README.md +++ b/packages/color/README.md @@ -613,13 +613,14 @@ directory are using this package. A selection: -| Screenshot | Description | Live demo | Source | -| ------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------- | -------------------------------------------------------- | ------------------------------------------------------------------------------------- | -| | Probabilistic color theme generator | [Demo](https://demo.thi.ng/umbrella/color-themes/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/color-themes) | -| | Heatmap visualization of this mono-repo's commits | | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/commit-heatmap) | -| | Visualization of different grid iterator strategies | [Demo](https://demo.thi.ng/umbrella/grid-iterators/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/grid-iterators) | -| | Interactive pixel sorting tool using thi.ng/color & thi.ng/pixel | [Demo](https://demo.thi.ng/umbrella/pixel-sorting/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/pixel-sorting) | -| | Fork-join worker-based raymarch renderer | [Demo](https://demo.thi.ng/umbrella/shader-ast-workers/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/shader-ast-workers) | +| Screenshot | Description | Live demo | Source | +| ------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------- | -------------------------------------------------------- | ------------------------------------------------------------------------------------- | +| | Probabilistic color theme generator | [Demo](https://demo.thi.ng/umbrella/color-themes/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/color-themes) | +| | Heatmap visualization of this mono-repo's commits | | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/commit-heatmap) | +| | Color palette generation via dominant color extraction from uploaded images | [Demo](https://demo.thi.ng/umbrella/dominant-colors/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/dominant-colors) | +| | Visualization of different grid iterator strategies | [Demo](https://demo.thi.ng/umbrella/grid-iterators/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/grid-iterators) | +| | Interactive pixel sorting tool using thi.ng/color & thi.ng/pixel | [Demo](https://demo.thi.ng/umbrella/pixel-sorting/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/pixel-sorting) | +| | Fork-join worker-based raymarch renderer | [Demo](https://demo.thi.ng/umbrella/shader-ast-workers/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/shader-ast-workers) | ## API diff --git a/packages/color/package.json b/packages/color/package.json index fa252bf007..73495fd04a 100644 --- a/packages/color/package.json +++ b/packages/color/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/color", - "version": "3.1.12", + "version": "3.1.16", "description": "Array-based color types, CSS parsing, conversions, transformations, declarative theme generation, gradients, presets", "module": "./index.js", "main": "./lib/index.js", @@ -43,26 +43,26 @@ "@microsoft/api-extractor": "^7.13.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.3.0", + "mocha": "^9.0.0", "nyc": "^15.1.0", - "ts-node": "^9.1.1", + "ts-node": "^10.0.0", "typedoc": "^0.20.30", - "typescript": "^4.2.3" + "typescript": "4.2.4" }, "dependencies": { - "@thi.ng/api": "^7.1.4", - "@thi.ng/arrays": "^0.10.10", - "@thi.ng/binary": "^2.2.4", - "@thi.ng/checks": "^2.9.6", - "@thi.ng/compare": "^1.3.28", - "@thi.ng/compose": "^1.4.30", - "@thi.ng/defmulti": "^1.3.11", - "@thi.ng/errors": "^1.3.0", - "@thi.ng/math": "^3.4.0", - "@thi.ng/random": "^2.3.7", - "@thi.ng/strings": "^2.1.0", - "@thi.ng/transducers": "^7.6.10", - "@thi.ng/vectors": "^5.2.1" + "@thi.ng/api": "^7.1.5", + "@thi.ng/arrays": "^0.10.12", + "@thi.ng/binary": "^2.2.5", + "@thi.ng/checks": "^2.9.7", + "@thi.ng/compare": "^1.3.29", + "@thi.ng/compose": "^1.4.31", + "@thi.ng/defmulti": "^1.3.12", + "@thi.ng/errors": "^1.3.1", + "@thi.ng/math": "^4.0.1", + "@thi.ng/random": "^2.4.1", + "@thi.ng/strings": "^2.1.1", + "@thi.ng/transducers": "^7.7.3", + "@thi.ng/vectors": "^6.0.1" }, "files": [ "*.js", diff --git a/packages/colored-noise/CHANGELOG.md b/packages/colored-noise/CHANGELOG.md index c729bc087f..52b8d66923 100644 --- a/packages/colored-noise/CHANGELOG.md +++ b/packages/colored-noise/CHANGELOG.md @@ -3,87 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [0.1.30](https://github.com/thi-ng/umbrella/compare/@thi.ng/colored-noise@0.1.29...@thi.ng/colored-noise@0.1.30) (2021-04-03) - -**Note:** Version bump only for package @thi.ng/colored-noise - - - - - -## [0.1.29](https://github.com/thi-ng/umbrella/compare/@thi.ng/colored-noise@0.1.28...@thi.ng/colored-noise@0.1.29) (2021-03-30) - -**Note:** Version bump only for package @thi.ng/colored-noise - - - - - -## [0.1.28](https://github.com/thi-ng/umbrella/compare/@thi.ng/colored-noise@0.1.27...@thi.ng/colored-noise@0.1.28) (2021-03-30) - -**Note:** Version bump only for package @thi.ng/colored-noise - - - - - -## [0.1.27](https://github.com/thi-ng/umbrella/compare/@thi.ng/colored-noise@0.1.26...@thi.ng/colored-noise@0.1.27) (2021-03-28) - -**Note:** Version bump only for package @thi.ng/colored-noise - - - - - -## [0.1.26](https://github.com/thi-ng/umbrella/compare/@thi.ng/colored-noise@0.1.25...@thi.ng/colored-noise@0.1.26) (2021-03-27) - -**Note:** Version bump only for package @thi.ng/colored-noise - - - - - -## [0.1.25](https://github.com/thi-ng/umbrella/compare/@thi.ng/colored-noise@0.1.24...@thi.ng/colored-noise@0.1.25) (2021-03-26) - -**Note:** Version bump only for package @thi.ng/colored-noise - - - - - -## [0.1.24](https://github.com/thi-ng/umbrella/compare/@thi.ng/colored-noise@0.1.23...@thi.ng/colored-noise@0.1.24) (2021-03-24) - -**Note:** Version bump only for package @thi.ng/colored-noise - - - - - -## [0.1.23](https://github.com/thi-ng/umbrella/compare/@thi.ng/colored-noise@0.1.22...@thi.ng/colored-noise@0.1.23) (2021-03-24) - -**Note:** Version bump only for package @thi.ng/colored-noise - - - - - -## [0.1.22](https://github.com/thi-ng/umbrella/compare/@thi.ng/colored-noise@0.1.21...@thi.ng/colored-noise@0.1.22) (2021-03-24) - -**Note:** Version bump only for package @thi.ng/colored-noise - - - - - -## [0.1.21](https://github.com/thi-ng/umbrella/compare/@thi.ng/colored-noise@0.1.20...@thi.ng/colored-noise@0.1.21) (2021-03-17) - -**Note:** Version bump only for package @thi.ng/colored-noise - - - - - -## [0.1.20](https://github.com/thi-ng/umbrella/compare/@thi.ng/colored-noise@0.1.19...@thi.ng/colored-noise@0.1.20) (2021-03-12) +## [0.1.34](https://github.com/thi-ng/umbrella/compare/@thi.ng/colored-noise@0.1.33...@thi.ng/colored-noise@0.1.34) (2021-06-08) **Note:** Version bump only for package @thi.ng/colored-noise diff --git a/packages/colored-noise/README.md b/packages/colored-noise/README.md index f8ed15e155..08620d78f5 100644 --- a/packages/colored-noise/README.md +++ b/packages/colored-noise/README.md @@ -348,6 +348,7 @@ white ### Related packages - [@thi.ng/dsp](https://github.com/thi-ng/umbrella/tree/develop/packages/dsp) - Composable signal generators, oscillators, filters, FFT, spectrum, windowing & related DSP utils +- [@thi.ng/lowdisc](https://github.com/thi-ng/umbrella/tree/develop/packages/lowdisc) - n-dimensional low-discrepancy sequence generators/iterators - [@thi.ng/random](https://github.com/thi-ng/umbrella/tree/develop/packages/random) - Pseudo-random number generators w/ unified API, distributions, weighted choices, ID generation ## Installation diff --git a/packages/colored-noise/package.json b/packages/colored-noise/package.json index d23c11f07c..a940fa102c 100644 --- a/packages/colored-noise/package.json +++ b/packages/colored-noise/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/colored-noise", - "version": "0.1.30", + "version": "0.1.34", "description": "Customizable O(1) ES6 generators for colored noise", "module": "./index.js", "main": "./lib/index.js", @@ -40,23 +40,23 @@ "devDependencies": { "@istanbuljs/nyc-config-typescript": "^1.0.1", "@microsoft/api-extractor": "^7.13.1", - "@thi.ng/api": "^7.1.4", - "@thi.ng/dsp": "^3.0.16", - "@thi.ng/dsp-io-wav": "^0.1.50", - "@thi.ng/text-canvas": "^0.7.5", - "@thi.ng/transducers": "^7.6.10", - "@thi.ng/vectors": "^5.2.1", + "@thi.ng/api": "^7.1.5", + "@thi.ng/dsp": "^3.0.20", + "@thi.ng/dsp-io-wav": "^0.1.54", + "@thi.ng/text-canvas": "^0.7.9", + "@thi.ng/transducers": "^7.7.3", + "@thi.ng/vectors": "^6.0.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.3.0", + "mocha": "^9.0.0", "nyc": "^15.1.0", - "ts-node": "^9.1.1", + "ts-node": "^10.0.0", "typedoc": "^0.20.30", - "typescript": "^4.2.3" + "typescript": "4.2.4" }, "dependencies": { - "@thi.ng/binary": "^2.2.4", - "@thi.ng/random": "^2.3.7" + "@thi.ng/binary": "^2.2.5", + "@thi.ng/random": "^2.4.1" }, "files": [ "*.js", @@ -74,6 +74,7 @@ "noise", "random", "red", + "sample", "spectrum", "typescript", "white" @@ -85,6 +86,7 @@ "thi.ng": { "related": [ "dsp", + "lowdisc", "random" ], "year": 2015 diff --git a/packages/compare/CHANGELOG.md b/packages/compare/CHANGELOG.md index 12e2440e72..9906910d13 100644 --- a/packages/compare/CHANGELOG.md +++ b/packages/compare/CHANGELOG.md @@ -3,7 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [1.3.28](https://github.com/thi-ng/umbrella/compare/@thi.ng/compare@1.3.27...@thi.ng/compare@1.3.28) (2021-03-12) +## [1.3.29](https://github.com/thi-ng/umbrella/compare/@thi.ng/compare@1.3.28...@thi.ng/compare@1.3.29) (2021-06-08) **Note:** Version bump only for package @thi.ng/compare diff --git a/packages/compare/package.json b/packages/compare/package.json index 72a228c668..f05e0640a7 100644 --- a/packages/compare/package.json +++ b/packages/compare/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/compare", - "version": "1.3.28", + "version": "1.3.29", "description": "Comparators with support for types implementing the @thi.ng/api/ICompare interface", "module": "./index.js", "main": "./lib/index.js", @@ -42,14 +42,14 @@ "@microsoft/api-extractor": "^7.13.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.3.0", + "mocha": "^9.0.0", "nyc": "^15.1.0", - "ts-node": "^9.1.1", + "ts-node": "^10.0.0", "typedoc": "^0.20.30", - "typescript": "^4.2.3" + "typescript": "4.2.4" }, "dependencies": { - "@thi.ng/api": "^7.1.4" + "@thi.ng/api": "^7.1.5" }, "files": [ "*.js", diff --git a/packages/compose/CHANGELOG.md b/packages/compose/CHANGELOG.md index f9f90755bb..d4caa0385a 100644 --- a/packages/compose/CHANGELOG.md +++ b/packages/compose/CHANGELOG.md @@ -3,15 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [1.4.30](https://github.com/thi-ng/umbrella/compare/@thi.ng/compose@1.4.29...@thi.ng/compose@1.4.30) (2021-03-17) - -**Note:** Version bump only for package @thi.ng/compose - - - - - -## [1.4.29](https://github.com/thi-ng/umbrella/compare/@thi.ng/compose@1.4.28...@thi.ng/compose@1.4.29) (2021-03-12) +## [1.4.31](https://github.com/thi-ng/umbrella/compare/@thi.ng/compose@1.4.30...@thi.ng/compose@1.4.31) (2021-06-08) **Note:** Version bump only for package @thi.ng/compose diff --git a/packages/compose/package.json b/packages/compose/package.json index f12ab53ef0..63c85962b2 100644 --- a/packages/compose/package.json +++ b/packages/compose/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/compose", - "version": "1.4.30", + "version": "1.4.31", "description": "Optimized functional composition helpers", "module": "./index.js", "main": "./lib/index.js", @@ -42,15 +42,15 @@ "@microsoft/api-extractor": "^7.13.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.3.0", + "mocha": "^9.0.0", "nyc": "^15.1.0", - "ts-node": "^9.1.1", + "ts-node": "^10.0.0", "typedoc": "^0.20.30", - "typescript": "^4.2.3" + "typescript": "4.2.4" }, "dependencies": { - "@thi.ng/api": "^7.1.4", - "@thi.ng/errors": "^1.3.0" + "@thi.ng/api": "^7.1.5", + "@thi.ng/errors": "^1.3.1" }, "files": [ "*.js", diff --git a/packages/csp/CHANGELOG.md b/packages/csp/CHANGELOG.md index 3eb25fae32..0b0b50c839 100644 --- a/packages/csp/CHANGELOG.md +++ b/packages/csp/CHANGELOG.md @@ -3,39 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [1.1.60](https://github.com/thi-ng/umbrella/compare/@thi.ng/csp@1.1.59...@thi.ng/csp@1.1.60) (2021-04-03) - -**Note:** Version bump only for package @thi.ng/csp - - - - - -## [1.1.59](https://github.com/thi-ng/umbrella/compare/@thi.ng/csp@1.1.58...@thi.ng/csp@1.1.59) (2021-03-28) - -**Note:** Version bump only for package @thi.ng/csp - - - - - -## [1.1.58](https://github.com/thi-ng/umbrella/compare/@thi.ng/csp@1.1.57...@thi.ng/csp@1.1.58) (2021-03-27) - -**Note:** Version bump only for package @thi.ng/csp - - - - - -## [1.1.57](https://github.com/thi-ng/umbrella/compare/@thi.ng/csp@1.1.56...@thi.ng/csp@1.1.57) (2021-03-17) - -**Note:** Version bump only for package @thi.ng/csp - - - - - -## [1.1.56](https://github.com/thi-ng/umbrella/compare/@thi.ng/csp@1.1.55...@thi.ng/csp@1.1.56) (2021-03-12) +## [1.1.64](https://github.com/thi-ng/umbrella/compare/@thi.ng/csp@1.1.63...@thi.ng/csp@1.1.64) (2021-06-08) **Note:** Version bump only for package @thi.ng/csp diff --git a/packages/csp/package.json b/packages/csp/package.json index f84d16e002..9fa98557fd 100644 --- a/packages/csp/package.json +++ b/packages/csp/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/csp", - "version": "1.1.60", + "version": "1.1.64", "description": "ES6 promise based CSP primitives & operations", "module": "./index.js", "main": "./lib/index.js", @@ -46,19 +46,19 @@ "@microsoft/api-extractor": "^7.13.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.3.0", + "mocha": "^9.0.0", "nyc": "^15.1.0", - "ts-node": "^9.1.1", + "ts-node": "^10.0.0", "typedoc": "^0.20.30", - "typescript": "^4.2.3" + "typescript": "4.2.4" }, "dependencies": { - "@thi.ng/api": "^7.1.4", - "@thi.ng/arrays": "^0.10.10", - "@thi.ng/checks": "^2.9.6", - "@thi.ng/dcons": "^2.3.20", - "@thi.ng/errors": "^1.3.0", - "@thi.ng/transducers": "^7.6.10" + "@thi.ng/api": "^7.1.5", + "@thi.ng/arrays": "^0.10.12", + "@thi.ng/checks": "^2.9.7", + "@thi.ng/dcons": "^2.3.24", + "@thi.ng/errors": "^1.3.1", + "@thi.ng/transducers": "^7.7.3" }, "files": [ "*.js", diff --git a/packages/csv/CHANGELOG.md b/packages/csv/CHANGELOG.md index 6b19e47b8b..702e948d39 100644 --- a/packages/csv/CHANGELOG.md +++ b/packages/csv/CHANGELOG.md @@ -3,55 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [0.1.22](https://github.com/thi-ng/umbrella/compare/@thi.ng/csv@0.1.21...@thi.ng/csv@0.1.22) (2021-04-03) - -**Note:** Version bump only for package @thi.ng/csv - - - - - -## [0.1.21](https://github.com/thi-ng/umbrella/compare/@thi.ng/csv@0.1.20...@thi.ng/csv@0.1.21) (2021-03-28) - -**Note:** Version bump only for package @thi.ng/csv - - - - - -## [0.1.20](https://github.com/thi-ng/umbrella/compare/@thi.ng/csv@0.1.19...@thi.ng/csv@0.1.20) (2021-03-27) - -**Note:** Version bump only for package @thi.ng/csv - - - - - -## [0.1.19](https://github.com/thi-ng/umbrella/compare/@thi.ng/csv@0.1.18...@thi.ng/csv@0.1.19) (2021-03-24) - -**Note:** Version bump only for package @thi.ng/csv - - - - - -## [0.1.18](https://github.com/thi-ng/umbrella/compare/@thi.ng/csv@0.1.17...@thi.ng/csv@0.1.18) (2021-03-24) - -**Note:** Version bump only for package @thi.ng/csv - - - - - -## [0.1.17](https://github.com/thi-ng/umbrella/compare/@thi.ng/csv@0.1.16...@thi.ng/csv@0.1.17) (2021-03-17) - -**Note:** Version bump only for package @thi.ng/csv - - - - - -## [0.1.16](https://github.com/thi-ng/umbrella/compare/@thi.ng/csv@0.1.15...@thi.ng/csv@0.1.16) (2021-03-12) +## [0.1.26](https://github.com/thi-ng/umbrella/compare/@thi.ng/csv@0.1.25...@thi.ng/csv@0.1.26) (2021-06-08) **Note:** Version bump only for package @thi.ng/csv diff --git a/packages/csv/package.json b/packages/csv/package.json index 250d6f22fd..0390832666 100644 --- a/packages/csv/package.json +++ b/packages/csv/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/csv", - "version": "0.1.22", + "version": "0.1.26", "description": "Customizable, transducer-based CSV parser/object mapper and transformer", "module": "./index.js", "main": "./lib/index.js", @@ -42,17 +42,17 @@ "@microsoft/api-extractor": "^7.13.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.3.0", + "mocha": "^9.0.0", "nyc": "^15.1.0", - "ts-node": "^9.1.1", + "ts-node": "^10.0.0", "typedoc": "^0.20.30", - "typescript": "^4.2.3" + "typescript": "4.2.4" }, "dependencies": { - "@thi.ng/api": "^7.1.4", - "@thi.ng/checks": "^2.9.6", - "@thi.ng/strings": "^2.1.0", - "@thi.ng/transducers": "^7.6.10" + "@thi.ng/api": "^7.1.5", + "@thi.ng/checks": "^2.9.7", + "@thi.ng/strings": "^2.1.1", + "@thi.ng/transducers": "^7.7.3" }, "files": [ "*.js", diff --git a/packages/date/CHANGELOG.md b/packages/date/CHANGELOG.md index f4e50c1c64..81029c04e2 100644 --- a/packages/date/CHANGELOG.md +++ b/packages/date/CHANGELOG.md @@ -3,6 +3,28 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [0.6.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/date@0.5.0...@thi.ng/date@0.6.0) (2021-06-08) + + +### Features + +* **date:** extend parseRelative() ([5764ff3](https://github.com/thi-ng/umbrella/commit/5764ff36b07a5e6565f747a40eb9825b4836bd82)) + + + + + +# [0.5.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/date@0.4.0...@thi.ng/date@0.5.0) (2021-04-20) + + +### Features + +* **date:** update relative date parsing ([2491668](https://github.com/thi-ng/umbrella/commit/2491668d877d837f3d5101de4730441db3cdbb1b)) + + + + + # [0.4.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/date@0.3.0...@thi.ng/date@0.4.0) (2021-03-21) @@ -29,14 +51,6 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline -## [0.2.11](https://github.com/thi-ng/umbrella/compare/@thi.ng/date@0.2.10...@thi.ng/date@0.2.11) (2021-03-12) - -**Note:** Version bump only for package @thi.ng/date - - - - - ## [0.2.1](https://github.com/thi-ng/umbrella/compare/@thi.ng/date@0.2.0...@thi.ng/date@0.2.1) (2020-11-24) diff --git a/packages/date/README.md b/packages/date/README.md index 9aef00dfca..0cb87c135c 100644 --- a/packages/date/README.md +++ b/packages/date/README.md @@ -46,7 +46,7 @@ yarn add @thi.ng/date ``` -Package sizes (gzipped, pre-treeshake): ESM: 2.45 KB / CJS: 2.63 KB / UMD: 2.58 KB +Package sizes (gzipped, pre-treeshake): ESM: 2.55 KB / CJS: 2.72 KB / UMD: 2.66 KB ## Dependencies @@ -136,6 +136,9 @@ parseRelative("an hour", now); parseRelative("tomorrow", now); // DateTime { y: 2021, M: 2, d: 22, h: 14, m: 26, s: 0, t: 661 } + +parseRelative("-1 month", now) +// DateTime { y: 2021, M: 1, d: 21, h: 14, m: 26, s: 0, t: 661 } ``` ### Formatters diff --git a/packages/date/package.json b/packages/date/package.json index e5cc2b319e..f27a9c7681 100644 --- a/packages/date/package.json +++ b/packages/date/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/date", - "version": "0.4.0", + "version": "0.6.0", "description": "Date/timestamp iterators, composable formatters, relative date parsing, rounding", "module": "./index.js", "main": "./lib/index.js", @@ -42,14 +42,14 @@ "@microsoft/api-extractor": "^7.13.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.3.0", + "mocha": "^9.0.0", "nyc": "^15.1.0", - "ts-node": "^9.1.1", + "ts-node": "^10.0.0", "typedoc": "^0.20.30", - "typescript": "^4.2.3" + "typescript": "4.2.4" }, "dependencies": { - "@thi.ng/api": "^7.1.4" + "@thi.ng/api": "^7.1.5" }, "files": [ "*.js", diff --git a/packages/date/src/relative.ts b/packages/date/src/relative.ts index c1985e804b..747a5a01cc 100644 --- a/packages/date/src/relative.ts +++ b/packages/date/src/relative.ts @@ -1,5 +1,6 @@ import type { Period } from "./api"; import { DateTime, dateTime } from "./datetime"; +import { EN_LONG, EN_SHORT } from "./i18n"; /** * Takes a relative time `offset` string in plain english and an optional `base` @@ -13,8 +14,13 @@ import { DateTime, dateTime } from "./datetime"; * The following input formats are supported: * * - `"tomorrow"` / `"yesterday"` - ±1 day - * - `"<" ago">?"` - ±num periods, if the `" ago"` suffix is given, - * the offset will be applied towards the past + * - any weekday names in {@link EN_SHORT} and {@link EN_LONG} (always in future) + * - `<"-"|"+">?<" ago">?"` - ±num periods (if prefixed with "-" or + * if the `" ago"` suffix is given, the offset will be applied towards the + * past) + * + * (Note: If both negative offset and "ago" is given, the suffix will, like a + * double-negative, flip the direction back towards the future). * * If using the latter form: * @@ -36,8 +42,11 @@ export const parseRelative = ( offset: string, base?: DateTime | Date | number ) => { + offset = offset.toLowerCase(); const epoch = dateTime(base); switch (offset) { + case "today": + return epoch; case "tomorrow": epoch.incDay(); return epoch; @@ -45,7 +54,17 @@ export const parseRelative = ( epoch.decDay(); return epoch; default: { - const match = /^(an? |next |\d+\s?)((ms|milli(?:(s?|seconds?)))|s(?:(ecs?|econds?))?|min(?:(s|utes?))?|h(?:ours?)?|d(?:ays?)?|w(?:eeks?)?|months?|y(?:ears?)?)(\s+ago)?$/.exec( + let idx = findIndex(EN_SHORT.days, offset); + if (idx < 0) { + idx = findIndex(EN_LONG.days, offset); + } + if (idx >= 0) { + do { + epoch.incDay(); + } while (epoch.toDate().getDay() != idx); + return epoch; + } + const match = /^(an? |next |[-+]?\d+\s?)((ms|milli(?:(s?|seconds?)))|s(?:(ecs?|econds?))?|min(?:(s|utes?))?|h(?:ours?)?|d(?:ays?)?|w(?:eeks?)?|months?|y(?:ears?)?)(\s+ago)?$/.exec( offset ); return match @@ -59,6 +78,9 @@ export const parseRelative = ( } }; +const findIndex = (items: string[], x: string) => + items.findIndex((y) => y.toLowerCase() === x); + const parseNum = (x: string, past: boolean) => (x === "next " || x === "a " || x === "an " ? 1 : Number(x)) * (past ? -1 : 1); diff --git a/packages/date/test/relative.ts b/packages/date/test/relative.ts index 8bc1c615a5..0fa00efc30 100644 --- a/packages/date/test/relative.ts +++ b/packages/date/test/relative.ts @@ -1,5 +1,16 @@ import * as assert from "assert"; -import { dateTime, parseRelative } from "../src"; +import { DateTime, dateTime, parseRelative } from "../src"; + +const checkDate = (offset: string, base: DateTime, expected: number) => { + const d = parseRelative(offset, base); + assert(!!d, `couldn't parse ${offset}`); + assert( + d.equiv(expected), + `no match (past): ${d.toISOString()} => ${dateTime( + expected + ).toISOString()} (${offset})` + ); +}; const check = ( period: string[], @@ -10,24 +21,11 @@ const check = ( ) => { const base = dateTime(ref); for (let p of period) { - let offset = `${num} ${p} ago`; - let d = parseRelative(offset, base); - assert(!!d, `couldn't parse ${offset}`); - assert( - d.equiv(past), - `no match (past): ${d.toISOString()} => ${dateTime( - past - ).toISOString()} (${offset})` - ); - offset = `${num} ${p}`; - d = parseRelative(offset, base); - assert(!!d, `couldn't parse ${offset}`); - assert( - d.equiv(future), - `no match (future): ${d.toISOString()} => ${dateTime( - future - ).toISOString()} (${offset})` - ); + checkDate(`-${num} ${p}`, base, past); + checkDate(`-${num} ${p} ago`, base, future); + checkDate(`${num} ${p} ago`, base, past); + checkDate(`${num} ${p}`, base, future); + checkDate(`+${num} ${p}`, base, future); } }; @@ -83,4 +81,15 @@ describe("relative", () => { Date.UTC(2026, 0, 1) ); }); + + it("parse (weekday)", () => { + const base = dateTime(Date.UTC(2021, 0, 1)); + checkDate("sat", base, Date.UTC(2021, 0, 2)); + checkDate("sunday", base, Date.UTC(2021, 0, 3)); + checkDate("thu", base, Date.UTC(2021, 0, 7)); + checkDate("friday", base, Date.UTC(2021, 0, 8)); + checkDate("today", base, Date.UTC(2021, 0, 1)); + checkDate("tomorrow", base, Date.UTC(2021, 0, 2)); + checkDate("yesterday", base, Date.UTC(2020, 11, 31)); + }); }); diff --git a/packages/date/tpl.readme.md b/packages/date/tpl.readme.md index 5d4853e0a9..56196b18a8 100644 --- a/packages/date/tpl.readme.md +++ b/packages/date/tpl.readme.md @@ -117,6 +117,9 @@ parseRelative("an hour", now); parseRelative("tomorrow", now); // DateTime { y: 2021, M: 2, d: 22, h: 14, m: 26, s: 0, t: 661 } + +parseRelative("-1 month", now) +// DateTime { y: 2021, M: 1, d: 21, h: 14, m: 26, s: 0, t: 661 } ``` ### Formatters diff --git a/packages/dcons/CHANGELOG.md b/packages/dcons/CHANGELOG.md index affa9a7f12..8df54370d0 100644 --- a/packages/dcons/CHANGELOG.md +++ b/packages/dcons/CHANGELOG.md @@ -3,39 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [2.3.20](https://github.com/thi-ng/umbrella/compare/@thi.ng/dcons@2.3.19...@thi.ng/dcons@2.3.20) (2021-04-03) - -**Note:** Version bump only for package @thi.ng/dcons - - - - - -## [2.3.19](https://github.com/thi-ng/umbrella/compare/@thi.ng/dcons@2.3.18...@thi.ng/dcons@2.3.19) (2021-03-28) - -**Note:** Version bump only for package @thi.ng/dcons - - - - - -## [2.3.18](https://github.com/thi-ng/umbrella/compare/@thi.ng/dcons@2.3.17...@thi.ng/dcons@2.3.18) (2021-03-27) - -**Note:** Version bump only for package @thi.ng/dcons - - - - - -## [2.3.17](https://github.com/thi-ng/umbrella/compare/@thi.ng/dcons@2.3.16...@thi.ng/dcons@2.3.17) (2021-03-17) - -**Note:** Version bump only for package @thi.ng/dcons - - - - - -## [2.3.16](https://github.com/thi-ng/umbrella/compare/@thi.ng/dcons@2.3.15...@thi.ng/dcons@2.3.16) (2021-03-12) +## [2.3.24](https://github.com/thi-ng/umbrella/compare/@thi.ng/dcons@2.3.23...@thi.ng/dcons@2.3.24) (2021-06-08) **Note:** Version bump only for package @thi.ng/dcons diff --git a/packages/dcons/package.json b/packages/dcons/package.json index 44fcd6fae1..18316aa8fe 100644 --- a/packages/dcons/package.json +++ b/packages/dcons/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/dcons", - "version": "2.3.20", + "version": "2.3.24", "description": "Double-linked lists with comprehensive set of operations (incl. optional self-organizing behaviors)", "module": "./index.js", "main": "./lib/index.js", @@ -42,20 +42,20 @@ "@microsoft/api-extractor": "^7.13.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.3.0", + "mocha": "^9.0.0", "nyc": "^15.1.0", - "ts-node": "^9.1.1", + "ts-node": "^10.0.0", "typedoc": "^0.20.30", - "typescript": "^4.2.3" + "typescript": "4.2.4" }, "dependencies": { - "@thi.ng/api": "^7.1.4", - "@thi.ng/checks": "^2.9.6", - "@thi.ng/compare": "^1.3.28", - "@thi.ng/equiv": "^1.0.41", - "@thi.ng/errors": "^1.3.0", - "@thi.ng/random": "^2.3.7", - "@thi.ng/transducers": "^7.6.10" + "@thi.ng/api": "^7.1.5", + "@thi.ng/checks": "^2.9.7", + "@thi.ng/compare": "^1.3.29", + "@thi.ng/equiv": "^1.0.42", + "@thi.ng/errors": "^1.3.1", + "@thi.ng/random": "^2.4.1", + "@thi.ng/transducers": "^7.7.3" }, "files": [ "*.js", diff --git a/packages/defmulti/CHANGELOG.md b/packages/defmulti/CHANGELOG.md index e1dffdb0eb..0904331e5f 100644 --- a/packages/defmulti/CHANGELOG.md +++ b/packages/defmulti/CHANGELOG.md @@ -3,15 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [1.3.11](https://github.com/thi-ng/umbrella/compare/@thi.ng/defmulti@1.3.10...@thi.ng/defmulti@1.3.11) (2021-03-17) - -**Note:** Version bump only for package @thi.ng/defmulti - - - - - -## [1.3.10](https://github.com/thi-ng/umbrella/compare/@thi.ng/defmulti@1.3.9...@thi.ng/defmulti@1.3.10) (2021-03-12) +## [1.3.12](https://github.com/thi-ng/umbrella/compare/@thi.ng/defmulti@1.3.11...@thi.ng/defmulti@1.3.12) (2021-06-08) **Note:** Version bump only for package @thi.ng/defmulti diff --git a/packages/defmulti/package.json b/packages/defmulti/package.json index df3ce7b394..08defc67aa 100644 --- a/packages/defmulti/package.json +++ b/packages/defmulti/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/defmulti", - "version": "1.3.11", + "version": "1.3.12", "description": "Dynamic, extensible multiple dispatch via user supplied dispatch function.", "module": "./index.js", "main": "./lib/index.js", @@ -42,15 +42,15 @@ "@microsoft/api-extractor": "^7.13.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.3.0", + "mocha": "^9.0.0", "nyc": "^15.1.0", - "ts-node": "^9.1.1", + "ts-node": "^10.0.0", "typedoc": "^0.20.30", - "typescript": "^4.2.3" + "typescript": "4.2.4" }, "dependencies": { - "@thi.ng/api": "^7.1.4", - "@thi.ng/errors": "^1.3.0" + "@thi.ng/api": "^7.1.5", + "@thi.ng/errors": "^1.3.1" }, "files": [ "*.js", diff --git a/packages/dgraph-dot/CHANGELOG.md b/packages/dgraph-dot/CHANGELOG.md index b30475c335..0308ec87e0 100644 --- a/packages/dgraph-dot/CHANGELOG.md +++ b/packages/dgraph-dot/CHANGELOG.md @@ -3,47 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [0.1.49](https://github.com/thi-ng/umbrella/compare/@thi.ng/dgraph-dot@0.1.48...@thi.ng/dgraph-dot@0.1.49) (2021-04-03) - -**Note:** Version bump only for package @thi.ng/dgraph-dot - - - - - -## [0.1.48](https://github.com/thi-ng/umbrella/compare/@thi.ng/dgraph-dot@0.1.47...@thi.ng/dgraph-dot@0.1.48) (2021-03-30) - -**Note:** Version bump only for package @thi.ng/dgraph-dot - - - - - -## [0.1.47](https://github.com/thi-ng/umbrella/compare/@thi.ng/dgraph-dot@0.1.46...@thi.ng/dgraph-dot@0.1.47) (2021-03-28) - -**Note:** Version bump only for package @thi.ng/dgraph-dot - - - - - -## [0.1.46](https://github.com/thi-ng/umbrella/compare/@thi.ng/dgraph-dot@0.1.45...@thi.ng/dgraph-dot@0.1.46) (2021-03-27) - -**Note:** Version bump only for package @thi.ng/dgraph-dot - - - - - -## [0.1.45](https://github.com/thi-ng/umbrella/compare/@thi.ng/dgraph-dot@0.1.44...@thi.ng/dgraph-dot@0.1.45) (2021-03-17) - -**Note:** Version bump only for package @thi.ng/dgraph-dot - - - - - -## [0.1.44](https://github.com/thi-ng/umbrella/compare/@thi.ng/dgraph-dot@0.1.43...@thi.ng/dgraph-dot@0.1.44) (2021-03-12) +## [0.1.53](https://github.com/thi-ng/umbrella/compare/@thi.ng/dgraph-dot@0.1.52...@thi.ng/dgraph-dot@0.1.53) (2021-06-08) **Note:** Version bump only for package @thi.ng/dgraph-dot diff --git a/packages/dgraph-dot/package.json b/packages/dgraph-dot/package.json index b011603176..5e30dbe842 100644 --- a/packages/dgraph-dot/package.json +++ b/packages/dgraph-dot/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/dgraph-dot", - "version": "0.1.49", + "version": "0.1.53", "description": "Customizable Graphviz DOT serialization for @thi.ng/dgraph", "module": "./index.js", "main": "./lib/index.js", @@ -42,16 +42,16 @@ "@microsoft/api-extractor": "^7.13.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.3.0", + "mocha": "^9.0.0", "nyc": "^15.1.0", - "ts-node": "^9.1.1", + "ts-node": "^10.0.0", "typedoc": "^0.20.30", - "typescript": "^4.2.3" + "typescript": "4.2.4" }, "dependencies": { - "@thi.ng/api": "^7.1.4", - "@thi.ng/dgraph": "^1.3.20", - "@thi.ng/dot": "^1.2.31" + "@thi.ng/api": "^7.1.5", + "@thi.ng/dgraph": "^1.3.24", + "@thi.ng/dot": "^1.2.32" }, "files": [ "*.js", diff --git a/packages/dgraph/CHANGELOG.md b/packages/dgraph/CHANGELOG.md index 902a38e904..d0b82c4194 100644 --- a/packages/dgraph/CHANGELOG.md +++ b/packages/dgraph/CHANGELOG.md @@ -3,47 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [1.3.20](https://github.com/thi-ng/umbrella/compare/@thi.ng/dgraph@1.3.19...@thi.ng/dgraph@1.3.20) (2021-04-03) - -**Note:** Version bump only for package @thi.ng/dgraph - - - - - -## [1.3.19](https://github.com/thi-ng/umbrella/compare/@thi.ng/dgraph@1.3.18...@thi.ng/dgraph@1.3.19) (2021-03-30) - -**Note:** Version bump only for package @thi.ng/dgraph - - - - - -## [1.3.18](https://github.com/thi-ng/umbrella/compare/@thi.ng/dgraph@1.3.17...@thi.ng/dgraph@1.3.18) (2021-03-28) - -**Note:** Version bump only for package @thi.ng/dgraph - - - - - -## [1.3.17](https://github.com/thi-ng/umbrella/compare/@thi.ng/dgraph@1.3.16...@thi.ng/dgraph@1.3.17) (2021-03-27) - -**Note:** Version bump only for package @thi.ng/dgraph - - - - - -## [1.3.16](https://github.com/thi-ng/umbrella/compare/@thi.ng/dgraph@1.3.15...@thi.ng/dgraph@1.3.16) (2021-03-17) - -**Note:** Version bump only for package @thi.ng/dgraph - - - - - -## [1.3.15](https://github.com/thi-ng/umbrella/compare/@thi.ng/dgraph@1.3.14...@thi.ng/dgraph@1.3.15) (2021-03-12) +## [1.3.24](https://github.com/thi-ng/umbrella/compare/@thi.ng/dgraph@1.3.23...@thi.ng/dgraph@1.3.24) (2021-06-08) **Note:** Version bump only for package @thi.ng/dgraph diff --git a/packages/dgraph/package.json b/packages/dgraph/package.json index 62b93bf957..fa6cfb7a24 100644 --- a/packages/dgraph/package.json +++ b/packages/dgraph/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/dgraph", - "version": "1.3.20", + "version": "1.3.24", "description": "Type-agnostic directed acyclic graph (DAG) & graph operations", "module": "./index.js", "main": "./lib/index.js", @@ -42,18 +42,18 @@ "@microsoft/api-extractor": "^7.13.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.3.0", + "mocha": "^9.0.0", "nyc": "^15.1.0", - "ts-node": "^9.1.1", + "ts-node": "^10.0.0", "typedoc": "^0.20.30", - "typescript": "^4.2.3" + "typescript": "4.2.4" }, "dependencies": { - "@thi.ng/api": "^7.1.4", - "@thi.ng/associative": "^5.2.1", - "@thi.ng/equiv": "^1.0.41", - "@thi.ng/errors": "^1.3.0", - "@thi.ng/transducers": "^7.6.10" + "@thi.ng/api": "^7.1.5", + "@thi.ng/associative": "^5.2.5", + "@thi.ng/equiv": "^1.0.42", + "@thi.ng/errors": "^1.3.1", + "@thi.ng/transducers": "^7.7.3" }, "files": [ "*.js", diff --git a/packages/diff/CHANGELOG.md b/packages/diff/CHANGELOG.md index 3b5e749c3c..1fd687968a 100644 --- a/packages/diff/CHANGELOG.md +++ b/packages/diff/CHANGELOG.md @@ -3,7 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [4.0.7](https://github.com/thi-ng/umbrella/compare/@thi.ng/diff@4.0.6...@thi.ng/diff@4.0.7) (2021-03-12) +## [4.0.8](https://github.com/thi-ng/umbrella/compare/@thi.ng/diff@4.0.7...@thi.ng/diff@4.0.8) (2021-06-08) **Note:** Version bump only for package @thi.ng/diff diff --git a/packages/diff/package.json b/packages/diff/package.json index 3b0966f6e4..e2087081c5 100644 --- a/packages/diff/package.json +++ b/packages/diff/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/diff", - "version": "4.0.7", + "version": "4.0.8", "description": "Customizable diff implementations for arrays (sequential) & objects (associative), with or without linear edit logs", "module": "./index.js", "main": "./lib/index.js", @@ -42,14 +42,14 @@ "@microsoft/api-extractor": "^7.13.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.3.0", - "ts-node": "^9.1.1", + "mocha": "^9.0.0", + "ts-node": "^10.0.0", "typedoc": "^0.20.30", - "typescript": "^4.2.3" + "typescript": "4.2.4" }, "dependencies": { - "@thi.ng/api": "^7.1.4", - "@thi.ng/equiv": "^1.0.41" + "@thi.ng/api": "^7.1.5", + "@thi.ng/equiv": "^1.0.42" }, "files": [ "*.js", diff --git a/packages/distance/CHANGELOG.md b/packages/distance/CHANGELOG.md index c5820f21ec..77dbc7c5a3 100644 --- a/packages/distance/CHANGELOG.md +++ b/packages/distance/CHANGELOG.md @@ -3,7 +3,7 @@ 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/distance@0.2.0...@thi.ng/distance@0.2.1) (2021-04-03) +## [0.3.2](https://github.com/thi-ng/umbrella/compare/@thi.ng/distance@0.3.1...@thi.ng/distance@0.3.2) (2021-06-08) **Note:** Version bump only for package @thi.ng/distance @@ -11,28 +11,24 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline -# [0.2.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/distance@0.1.11...@thi.ng/distance@0.2.0) (2021-03-30) +# [0.3.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/distance@0.2.2...@thi.ng/distance@0.3.0) (2021-04-19) ### Features -* **distance:** add HAVERSINE preset, update readme ([cfc771e](https://github.com/thi-ng/umbrella/commit/cfc771eb21cf2574eaa2476eaee7920674cae9c3)) - +* **distance:** add argmin*() fns ([72ed376](https://github.com/thi-ng/umbrella/commit/72ed3760c7a6982bcab7d94666957cad90f4f0ef)) +* **distance:** replace HAVERSINE w/ alts ([3a9a77a](https://github.com/thi-ng/umbrella/commit/3a9a77ab0fd06484f2fda5d67c7b151645436a32)) -## [0.1.11](https://github.com/thi-ng/umbrella/compare/@thi.ng/distance@0.1.10...@thi.ng/distance@0.1.11) (2021-03-28) - -**Note:** Version bump only for package @thi.ng/distance - - +# [0.2.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/distance@0.1.11...@thi.ng/distance@0.2.0) (2021-03-30) -## [0.1.10](https://github.com/thi-ng/umbrella/compare/@thi.ng/distance@0.1.9...@thi.ng/distance@0.1.10) (2021-03-27) +### Features -**Note:** Version bump only for package @thi.ng/distance +* **distance:** add HAVERSINE preset, update readme ([cfc771e](https://github.com/thi-ng/umbrella/commit/cfc771eb21cf2574eaa2476eaee7920674cae9c3)) @@ -49,14 +45,6 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline -## [0.1.8](https://github.com/thi-ng/umbrella/compare/@thi.ng/distance@0.1.7...@thi.ng/distance@0.1.8) (2021-03-12) - -**Note:** Version bump only for package @thi.ng/distance - - - - - # 0.1.0 (2021-01-21) diff --git a/packages/distance/README.md b/packages/distance/README.md index 3b6c088633..4dd789922e 100644 --- a/packages/distance/README.md +++ b/packages/distance/README.md @@ -33,20 +33,21 @@ The package provides the interface for custom distance metric implementations & conversions from/to raw distance values. The following preset metrics are provided too: -| **Preset** | **Number** | **n-D** | **2D** | **3D** | **Comments** | -|-------------------|------------|---------|--------|--------|----------------------------------------------------------------------| -| `EUCLEDIAN` | | ✅ | | | Eucledian distance | -| `EUCLEDIAN1` | ✅ | | | | | -| `EUCLEDIAN2` | | | ✅ | | | -| `EUCLEDIAN3` | | | | ✅ | | -| `HAVERSINE` | | | ✅ | | Great-circle distance for lon/lat geo locations | -| `DIST_SQ` | | ✅ | | | Squared dist (avoids `Math.sqrt`) | -| `DIST_SQ1` | ✅ | | | | | -| `DIST_SQ2` | | | ✅ | | | -| `DIST_SQ3` | | | | ✅ | | -| `defManhattan(n)` | | ✅ | | | [Manhattan distance](https://en.wikipedia.org/wiki/Taxicab_geometry) | -| `MANHATTAN2` | | | ✅ | | | -| `MANHATTAN3` | | | | ✅ | | +| **Preset** | **Number** | **nD** | **2D** | **3D** | **Comments** | +|--------------------|------------|--------|--------|--------|----------------------------------------------------------------------| +| `EUCLEDIAN` | | ✅ | | | Eucledian distance | +| `EUCLEDIAN1` | ✅ | | | | | +| `EUCLEDIAN2` | | | ✅ | | | +| `EUCLEDIAN3` | | | | ✅ | | +| `HAVERSINE_LATLON` | | | ✅ | | Great-circle distance for lat/lon geo locations | +| `HAVERSINE_LONLAT` | | | ✅ | | Great-circle distance for lon/lat geo locations | +| `DIST_SQ` | | ✅ | | | Squared dist (avoids `Math.sqrt`) | +| `DIST_SQ1` | ✅ | | | | | +| `DIST_SQ2` | | | ✅ | | | +| `DIST_SQ3` | | | | ✅ | | +| `defManhattan(n)` | | ✅ | | | [Manhattan distance](https://en.wikipedia.org/wiki/Taxicab_geometry) | +| `MANHATTAN2` | | | ✅ | | | +| `MANHATTAN3` | | | | ✅ | | ### Neighborhoods @@ -107,7 +108,7 @@ yarn add @thi.ng/distance ``` -Package sizes (gzipped, pre-treeshake): ESM: 887 bytes / CJS: 994 bytes / UMD: 1.01 KB +Package sizes (gzipped, pre-treeshake): ESM: 1.06 KB / CJS: 1.17 KB / UMD: 1.21 KB ## Dependencies diff --git a/packages/distance/package.json b/packages/distance/package.json index 772f4df371..8296f178ee 100644 --- a/packages/distance/package.json +++ b/packages/distance/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/distance", - "version": "0.2.1", + "version": "0.3.2", "description": "N-dimensional distance metrics & K-nearest neighborhoods for point queries", "module": "./index.js", "main": "./lib/index.js", @@ -42,17 +42,17 @@ "@microsoft/api-extractor": "^7.13.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.3.0", + "mocha": "^9.0.0", "nyc": "^15.1.0", - "ts-node": "^9.1.1", + "ts-node": "^10.0.0", "typedoc": "^0.20.30", - "typescript": "^4.2.3" + "typescript": "4.2.4" }, "dependencies": { - "@thi.ng/api": "^7.1.4", - "@thi.ng/heaps": "^1.2.38", - "@thi.ng/math": "^3.4.0", - "@thi.ng/vectors": "^5.2.1" + "@thi.ng/api": "^7.1.5", + "@thi.ng/heaps": "^1.2.39", + "@thi.ng/math": "^4.0.1", + "@thi.ng/vectors": "^6.0.1" }, "files": [ "*.js", diff --git a/packages/distance/src/argmin.ts b/packages/distance/src/argmin.ts new file mode 100644 index 0000000000..b6cfbdcbfc --- /dev/null +++ b/packages/distance/src/argmin.ts @@ -0,0 +1,94 @@ +import type { Fn } from "@thi.ng/api"; +import type { ReadonlyVec } from "@thi.ng/vectors"; +import type { IDistance } from "./api"; +import { knearest } from "./knearest"; +import { DIST_SQ } from "./squared"; + +/** + * Takes a vector `p`, array of `samples` and a `dist`ance function. Computes + * and returns index of the sample closest to `p` (according to `dist`, default: + * {@link DIST_SQ}). + * + * @reference + * Use {@link argminT} for non-vector inputs. + * + * https://en.wikipedia.org/wiki/Arg_max#Arg_min + * + * @param p + * @param samples + * @param dist + */ +export const argmin = ( + p: ReadonlyVec, + samples: ReadonlyVec[], + { metric: dist }: IDistance = DIST_SQ +) => { + let minD = Infinity; + let minArg = -1; + for (let i = 0, n = samples.length; i < n; i++) { + const d = dist(p, samples[i]); + if (d < minD) { + minD = d; + minArg = i; + } + } + return minArg; +}; + +/** + * Similar to {@link argmin}, but for non-vector inputs and taking an additional + * `key` function. Applies `key` to each item (incl. `p`) to obtain its vector + * representation, then computes and returns index of the sample closest to `p` + * (according to `dist`). + * + * @reference + * Use {@link argmin} if all items are vectors already. + * + * @param p + * @param samples + * @param key + * @param dist + */ +export const argminT = ( + p: T, + samples: T[], + key: Fn, + dist?: IDistance +) => argmin(key(p), samples.map(key), dist); + +/** + * Similar to {@link argmin}, but for k-nearest queries. + * + * @param k + * @param p + * @param samples + * @param dist + */ +export const argminK = ( + k: number, + p: ReadonlyVec, + samples: ReadonlyVec[], + dist: IDistance = DIST_SQ +) => { + const neighborhood = knearest(p, k, Infinity, dist); + for (let i = 0, n = samples.length; i < n; i++) { + neighborhood.consider(samples[i], i); + } + return neighborhood.values(); +}; + +/** + * Similar to {@link argminT}, but for k-nearest queries. + * + * @param k + * @param p + * @param samples + * @param dist + */ +export const argminKT = ( + k: number, + p: T, + samples: T[], + key: Fn, + dist?: IDistance +) => argminK(k, key(p), samples.map(key), dist); diff --git a/packages/distance/src/haversine.ts b/packages/distance/src/haversine.ts index ab185e3623..2110f5c9ee 100644 --- a/packages/distance/src/haversine.ts +++ b/packages/distance/src/haversine.ts @@ -1,7 +1,16 @@ -import { distHaversine, ReadonlyVec } from "@thi.ng/vectors"; +import { + distHaversineLatLon, + distHaversineLonLat, + ReadonlyVec, +} from "@thi.ng/vectors"; import { Eucledian } from "./eucledian"; +/** + * Distance metric for geo locations given as [lat,lon] vectors. + */ +export const HAVERSINE_LATLON = new Eucledian(distHaversineLatLon); + /** * Distance metric for geo locations given as [lon,lat] vectors. */ -export const HAVERSINE = new Eucledian(distHaversine); +export const HAVERSINE_LONLAT = new Eucledian(distHaversineLonLat); diff --git a/packages/distance/src/index.ts b/packages/distance/src/index.ts index 67644381de..958b7f9659 100644 --- a/packages/distance/src/index.ts +++ b/packages/distance/src/index.ts @@ -1,9 +1,8 @@ export * from "./api"; - +export * from "./argmin"; export * from "./eucledian"; export * from "./haversine"; -export * from "./manhattan"; -export * from "./squared"; - export * from "./knearest"; +export * from "./manhattan"; export * from "./nearest"; +export * from "./squared"; diff --git a/packages/distance/tpl.readme.md b/packages/distance/tpl.readme.md index 3531cfc2c0..2485e123c7 100644 --- a/packages/distance/tpl.readme.md +++ b/packages/distance/tpl.readme.md @@ -20,20 +20,21 @@ The package provides the interface for custom distance metric implementations & conversions from/to raw distance values. The following preset metrics are provided too: -| **Preset** | **Number** | **n-D** | **2D** | **3D** | **Comments** | -|-------------------|------------|---------|--------|--------|----------------------------------------------------------------------| -| `EUCLEDIAN` | | ✅ | | | Eucledian distance | -| `EUCLEDIAN1` | ✅ | | | | | -| `EUCLEDIAN2` | | | ✅ | | | -| `EUCLEDIAN3` | | | | ✅ | | -| `HAVERSINE` | | | ✅ | | Great-circle distance for lon/lat geo locations | -| `DIST_SQ` | | ✅ | | | Squared dist (avoids `Math.sqrt`) | -| `DIST_SQ1` | ✅ | | | | | -| `DIST_SQ2` | | | ✅ | | | -| `DIST_SQ3` | | | | ✅ | | -| `defManhattan(n)` | | ✅ | | | [Manhattan distance](https://en.wikipedia.org/wiki/Taxicab_geometry) | -| `MANHATTAN2` | | | ✅ | | | -| `MANHATTAN3` | | | | ✅ | | +| **Preset** | **Number** | **nD** | **2D** | **3D** | **Comments** | +|--------------------|------------|--------|--------|--------|----------------------------------------------------------------------| +| `EUCLEDIAN` | | ✅ | | | Eucledian distance | +| `EUCLEDIAN1` | ✅ | | | | | +| `EUCLEDIAN2` | | | ✅ | | | +| `EUCLEDIAN3` | | | | ✅ | | +| `HAVERSINE_LATLON` | | | ✅ | | Great-circle distance for lat/lon geo locations | +| `HAVERSINE_LONLAT` | | | ✅ | | Great-circle distance for lon/lat geo locations | +| `DIST_SQ` | | ✅ | | | Squared dist (avoids `Math.sqrt`) | +| `DIST_SQ1` | ✅ | | | | | +| `DIST_SQ2` | | | ✅ | | | +| `DIST_SQ3` | | | | ✅ | | +| `defManhattan(n)` | | ✅ | | | [Manhattan distance](https://en.wikipedia.org/wiki/Taxicab_geometry) | +| `MANHATTAN2` | | | ✅ | | | +| `MANHATTAN3` | | | | ✅ | | ### Neighborhoods diff --git a/packages/dl-asset/CHANGELOG.md b/packages/dl-asset/CHANGELOG.md index 3c7d4576c8..7ec48f5e73 100644 --- a/packages/dl-asset/CHANGELOG.md +++ b/packages/dl-asset/CHANGELOG.md @@ -3,39 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [0.4.22](https://github.com/thi-ng/umbrella/compare/@thi.ng/dl-asset@0.4.21...@thi.ng/dl-asset@0.4.22) (2021-04-03) - -**Note:** Version bump only for package @thi.ng/dl-asset - - - - - -## [0.4.21](https://github.com/thi-ng/umbrella/compare/@thi.ng/dl-asset@0.4.20...@thi.ng/dl-asset@0.4.21) (2021-03-28) - -**Note:** Version bump only for package @thi.ng/dl-asset - - - - - -## [0.4.20](https://github.com/thi-ng/umbrella/compare/@thi.ng/dl-asset@0.4.19...@thi.ng/dl-asset@0.4.20) (2021-03-27) - -**Note:** Version bump only for package @thi.ng/dl-asset - - - - - -## [0.4.19](https://github.com/thi-ng/umbrella/compare/@thi.ng/dl-asset@0.4.18...@thi.ng/dl-asset@0.4.19) (2021-03-26) - -**Note:** Version bump only for package @thi.ng/dl-asset - - - - - -## [0.4.18](https://github.com/thi-ng/umbrella/compare/@thi.ng/dl-asset@0.4.17...@thi.ng/dl-asset@0.4.18) (2021-03-12) +## [0.4.25](https://github.com/thi-ng/umbrella/compare/@thi.ng/dl-asset@0.4.24...@thi.ng/dl-asset@0.4.25) (2021-06-08) **Note:** Version bump only for package @thi.ng/dl-asset diff --git a/packages/dl-asset/README.md b/packages/dl-asset/README.md index 2e8f93269f..7517b75e49 100644 --- a/packages/dl-asset/README.md +++ b/packages/dl-asset/README.md @@ -58,13 +58,14 @@ directory are using this package. A selection: -| Screenshot | Description | Live demo | Source | -| ------------------------------------------------------------------------------------------------------------------------------------ | ---------------------------------------------------------------------- | -------------------------------------------------------- | ------------------------------------------------------------------------------------- | -| | Various hdom-canvas shape drawing examples & SVG conversion / export | [Demo](https://demo.thi.ng/umbrella/hdom-canvas-shapes/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/hdom-canvas-shapes) | -| | Parser grammar livecoding editor/playground & codegen | [Demo](https://demo.thi.ng/umbrella/parse-playground/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/parse-playground) | -| | Animated Voronoi diagram, cubic splines & SVG download | [Demo](https://demo.thi.ng/umbrella/rotating-voronoi/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/rotating-voronoi) | -| | Interactive grid generator, SVG generation & export, undo/redo support | [Demo](https://demo.thi.ng/umbrella/rstream-grid/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/rstream-grid) | -| | 1D Wolfram automata with OBJ point cloud export | [Demo](https://demo.thi.ng/umbrella/wolfram/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/wolfram) | +| Screenshot | Description | Live demo | Source | +| ------------------------------------------------------------------------------------------------------------------------------------ | --------------------------------------------------------------------------- | -------------------------------------------------------- | ------------------------------------------------------------------------------------- | +| | Color palette generation via dominant color extraction from uploaded images | [Demo](https://demo.thi.ng/umbrella/dominant-colors/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/dominant-colors) | +| | Various hdom-canvas shape drawing examples & SVG conversion / export | [Demo](https://demo.thi.ng/umbrella/hdom-canvas-shapes/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/hdom-canvas-shapes) | +| | Parser grammar livecoding editor/playground & codegen | [Demo](https://demo.thi.ng/umbrella/parse-playground/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/parse-playground) | +| | Animated Voronoi diagram, cubic splines & SVG download | [Demo](https://demo.thi.ng/umbrella/rotating-voronoi/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/rotating-voronoi) | +| | Interactive grid generator, SVG generation & export, undo/redo support | [Demo](https://demo.thi.ng/umbrella/rstream-grid/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/rstream-grid) | +| | 1D Wolfram automata with OBJ point cloud export | [Demo](https://demo.thi.ng/umbrella/wolfram/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/wolfram) | ## API diff --git a/packages/dl-asset/package.json b/packages/dl-asset/package.json index f0005f1847..38062031ec 100644 --- a/packages/dl-asset/package.json +++ b/packages/dl-asset/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/dl-asset", - "version": "0.4.22", + "version": "0.4.25", "description": "Local asset download for web apps, with automatic MIME type detection", "module": "./index.js", "main": "./lib/index.js", @@ -42,16 +42,16 @@ "@microsoft/api-extractor": "^7.13.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.3.0", + "mocha": "^9.0.0", "nyc": "^15.1.0", - "ts-node": "^9.1.1", + "ts-node": "^10.0.0", "typedoc": "^0.20.30", - "typescript": "^4.2.3" + "typescript": "4.2.4" }, "dependencies": { - "@thi.ng/api": "^7.1.4", - "@thi.ng/checks": "^2.9.6", - "@thi.ng/mime": "^0.4.0" + "@thi.ng/api": "^7.1.5", + "@thi.ng/checks": "^2.9.7", + "@thi.ng/mime": "^0.5.2" }, "files": [ "*.js", diff --git a/packages/dlogic/CHANGELOG.md b/packages/dlogic/CHANGELOG.md index 7f60d7f2fe..12d72b788d 100644 --- a/packages/dlogic/CHANGELOG.md +++ b/packages/dlogic/CHANGELOG.md @@ -3,7 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [1.0.43](https://github.com/thi-ng/umbrella/compare/@thi.ng/dlogic@1.0.42...@thi.ng/dlogic@1.0.43) (2021-03-12) +## [1.0.44](https://github.com/thi-ng/umbrella/compare/@thi.ng/dlogic@1.0.43...@thi.ng/dlogic@1.0.44) (2021-06-08) **Note:** Version bump only for package @thi.ng/dlogic diff --git a/packages/dlogic/package.json b/packages/dlogic/package.json index aca9e10925..4b2d10515e 100644 --- a/packages/dlogic/package.json +++ b/packages/dlogic/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/dlogic", - "version": "1.0.43", + "version": "1.0.44", "description": "Assorted digital logic ops / constructs", "module": "./index.js", "main": "./lib/index.js", @@ -42,14 +42,14 @@ "@microsoft/api-extractor": "^7.13.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.3.0", + "mocha": "^9.0.0", "nyc": "^15.1.0", - "ts-node": "^9.1.1", + "ts-node": "^10.0.0", "typedoc": "^0.20.30", - "typescript": "^4.2.3" + "typescript": "4.2.4" }, "dependencies": { - "@thi.ng/api": "^7.1.4" + "@thi.ng/api": "^7.1.5" }, "files": [ "*.js", diff --git a/packages/dot/CHANGELOG.md b/packages/dot/CHANGELOG.md index 47693c9a3f..9d88f80dc9 100644 --- a/packages/dot/CHANGELOG.md +++ b/packages/dot/CHANGELOG.md @@ -3,15 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [1.2.31](https://github.com/thi-ng/umbrella/compare/@thi.ng/dot@1.2.30...@thi.ng/dot@1.2.31) (2021-04-03) - -**Note:** Version bump only for package @thi.ng/dot - - - - - -## [1.2.30](https://github.com/thi-ng/umbrella/compare/@thi.ng/dot@1.2.29...@thi.ng/dot@1.2.30) (2021-03-12) +## [1.2.32](https://github.com/thi-ng/umbrella/compare/@thi.ng/dot@1.2.31...@thi.ng/dot@1.2.32) (2021-06-08) **Note:** Version bump only for package @thi.ng/dot diff --git a/packages/dot/package.json b/packages/dot/package.json index 1df38881b5..f188acec8c 100644 --- a/packages/dot/package.json +++ b/packages/dot/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/dot", - "version": "1.2.31", + "version": "1.2.32", "description": "Graphviz document abstraction & serialization to DOT format", "module": "./index.js", "main": "./lib/index.js", @@ -42,15 +42,15 @@ "@microsoft/api-extractor": "^7.13.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.3.0", + "mocha": "^9.0.0", "nyc": "^15.1.0", - "ts-node": "^9.1.1", + "ts-node": "^10.0.0", "typedoc": "^0.20.30", - "typescript": "^4.2.3" + "typescript": "4.2.4" }, "dependencies": { - "@thi.ng/api": "^7.1.4", - "@thi.ng/checks": "^2.9.6" + "@thi.ng/api": "^7.1.5", + "@thi.ng/checks": "^2.9.7" }, "files": [ "*.js", diff --git a/packages/dsp-io-wav/CHANGELOG.md b/packages/dsp-io-wav/CHANGELOG.md index ac64a7e217..aef1f15d56 100644 --- a/packages/dsp-io-wav/CHANGELOG.md +++ b/packages/dsp-io-wav/CHANGELOG.md @@ -3,39 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [0.1.50](https://github.com/thi-ng/umbrella/compare/@thi.ng/dsp-io-wav@0.1.49...@thi.ng/dsp-io-wav@0.1.50) (2021-04-03) - -**Note:** Version bump only for package @thi.ng/dsp-io-wav - - - - - -## [0.1.49](https://github.com/thi-ng/umbrella/compare/@thi.ng/dsp-io-wav@0.1.48...@thi.ng/dsp-io-wav@0.1.49) (2021-03-28) - -**Note:** Version bump only for package @thi.ng/dsp-io-wav - - - - - -## [0.1.48](https://github.com/thi-ng/umbrella/compare/@thi.ng/dsp-io-wav@0.1.47...@thi.ng/dsp-io-wav@0.1.48) (2021-03-27) - -**Note:** Version bump only for package @thi.ng/dsp-io-wav - - - - - -## [0.1.47](https://github.com/thi-ng/umbrella/compare/@thi.ng/dsp-io-wav@0.1.46...@thi.ng/dsp-io-wav@0.1.47) (2021-03-17) - -**Note:** Version bump only for package @thi.ng/dsp-io-wav - - - - - -## [0.1.46](https://github.com/thi-ng/umbrella/compare/@thi.ng/dsp-io-wav@0.1.45...@thi.ng/dsp-io-wav@0.1.46) (2021-03-12) +## [0.1.54](https://github.com/thi-ng/umbrella/compare/@thi.ng/dsp-io-wav@0.1.53...@thi.ng/dsp-io-wav@0.1.54) (2021-06-08) **Note:** Version bump only for package @thi.ng/dsp-io-wav diff --git a/packages/dsp-io-wav/package.json b/packages/dsp-io-wav/package.json index 1a3b402f17..c7fa65f63d 100644 --- a/packages/dsp-io-wav/package.json +++ b/packages/dsp-io-wav/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/dsp-io-wav", - "version": "0.1.50", + "version": "0.1.54", "description": "WAV file format generation", "module": "./index.js", "main": "./lib/index.js", @@ -42,17 +42,17 @@ "@microsoft/api-extractor": "^7.13.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.3.0", + "mocha": "^9.0.0", "nyc": "^15.1.0", - "ts-node": "^9.1.1", + "ts-node": "^10.0.0", "typedoc": "^0.20.30", - "typescript": "^4.2.3" + "typescript": "4.2.4" }, "dependencies": { - "@thi.ng/api": "^7.1.4", - "@thi.ng/binary": "^2.2.4", - "@thi.ng/transducers": "^7.6.10", - "@thi.ng/transducers-binary": "^0.6.16" + "@thi.ng/api": "^7.1.5", + "@thi.ng/binary": "^2.2.5", + "@thi.ng/transducers": "^7.7.3", + "@thi.ng/transducers-binary": "^0.6.20" }, "files": [ "*.js", diff --git a/packages/dsp/CHANGELOG.md b/packages/dsp/CHANGELOG.md index f33472276d..f28594cf73 100644 --- a/packages/dsp/CHANGELOG.md +++ b/packages/dsp/CHANGELOG.md @@ -3,39 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [3.0.16](https://github.com/thi-ng/umbrella/compare/@thi.ng/dsp@3.0.15...@thi.ng/dsp@3.0.16) (2021-04-03) - -**Note:** Version bump only for package @thi.ng/dsp - - - - - -## [3.0.15](https://github.com/thi-ng/umbrella/compare/@thi.ng/dsp@3.0.14...@thi.ng/dsp@3.0.15) (2021-03-28) - -**Note:** Version bump only for package @thi.ng/dsp - - - - - -## [3.0.14](https://github.com/thi-ng/umbrella/compare/@thi.ng/dsp@3.0.13...@thi.ng/dsp@3.0.14) (2021-03-27) - -**Note:** Version bump only for package @thi.ng/dsp - - - - - -## [3.0.13](https://github.com/thi-ng/umbrella/compare/@thi.ng/dsp@3.0.12...@thi.ng/dsp@3.0.13) (2021-03-17) - -**Note:** Version bump only for package @thi.ng/dsp - - - - - -## [3.0.12](https://github.com/thi-ng/umbrella/compare/@thi.ng/dsp@3.0.11...@thi.ng/dsp@3.0.12) (2021-03-12) +## [3.0.20](https://github.com/thi-ng/umbrella/compare/@thi.ng/dsp@3.0.19...@thi.ng/dsp@3.0.20) (2021-06-08) **Note:** Version bump only for package @thi.ng/dsp diff --git a/packages/dsp/package.json b/packages/dsp/package.json index 13f5509b4e..9cc9b26044 100644 --- a/packages/dsp/package.json +++ b/packages/dsp/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/dsp", - "version": "3.0.16", + "version": "3.0.20", "description": "Composable signal generators, oscillators, filters, FFT, spectrum, windowing & related DSP utils", "module": "./index.js", "main": "./lib/index.js", @@ -42,19 +42,19 @@ "@microsoft/api-extractor": "^7.13.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.3.0", + "mocha": "^9.0.0", "nyc": "^15.1.0", - "ts-node": "^9.1.1", + "ts-node": "^10.0.0", "typedoc": "^0.20.30", - "typescript": "^4.2.3" + "typescript": "4.2.4" }, "dependencies": { - "@thi.ng/api": "^7.1.4", - "@thi.ng/checks": "^2.9.6", - "@thi.ng/errors": "^1.3.0", - "@thi.ng/math": "^3.4.0", - "@thi.ng/random": "^2.3.7", - "@thi.ng/transducers": "^7.6.10" + "@thi.ng/api": "^7.1.5", + "@thi.ng/checks": "^2.9.7", + "@thi.ng/errors": "^1.3.1", + "@thi.ng/math": "^4.0.1", + "@thi.ng/random": "^2.4.1", + "@thi.ng/transducers": "^7.7.3" }, "files": [ "*.js", diff --git a/packages/dual-algebra/CHANGELOG.md b/packages/dual-algebra/CHANGELOG.md index 7c3c92a038..f411b484ea 100644 --- a/packages/dual-algebra/CHANGELOG.md +++ b/packages/dual-algebra/CHANGELOG.md @@ -3,7 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [0.1.12](https://github.com/thi-ng/umbrella/compare/@thi.ng/dual-algebra@0.1.11...@thi.ng/dual-algebra@0.1.12) (2021-03-12) +## [0.1.13](https://github.com/thi-ng/umbrella/compare/@thi.ng/dual-algebra@0.1.12...@thi.ng/dual-algebra@0.1.13) (2021-06-08) **Note:** Version bump only for package @thi.ng/dual-algebra diff --git a/packages/dual-algebra/package.json b/packages/dual-algebra/package.json index 256b27fdb4..111c7f0afa 100644 --- a/packages/dual-algebra/package.json +++ b/packages/dual-algebra/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/dual-algebra", - "version": "0.1.12", + "version": "0.1.13", "description": "Multivariate dual number algebra, automatic differentiation", "module": "./index.js", "main": "./lib/index.js", @@ -42,14 +42,14 @@ "@microsoft/api-extractor": "^7.13.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.3.0", + "mocha": "^9.0.0", "nyc": "^15.1.0", - "ts-node": "^9.1.1", + "ts-node": "^10.0.0", "typedoc": "^0.20.30", - "typescript": "^4.2.3" + "typescript": "4.2.4" }, "dependencies": { - "@thi.ng/api": "^7.1.4" + "@thi.ng/api": "^7.1.5" }, "files": [ "*.js", diff --git a/packages/dynvar/CHANGELOG.md b/packages/dynvar/CHANGELOG.md index 675090d7b8..7452bd62fd 100644 --- a/packages/dynvar/CHANGELOG.md +++ b/packages/dynvar/CHANGELOG.md @@ -3,7 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [0.1.35](https://github.com/thi-ng/umbrella/compare/@thi.ng/dynvar@0.1.34...@thi.ng/dynvar@0.1.35) (2021-03-12) +## [0.1.36](https://github.com/thi-ng/umbrella/compare/@thi.ng/dynvar@0.1.35...@thi.ng/dynvar@0.1.36) (2021-06-08) **Note:** Version bump only for package @thi.ng/dynvar diff --git a/packages/dynvar/package.json b/packages/dynvar/package.json index db259cbbb6..d0d20b16eb 100644 --- a/packages/dynvar/package.json +++ b/packages/dynvar/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/dynvar", - "version": "0.1.35", + "version": "0.1.36", "description": "Dynamically scoped variable bindings", "module": "./index.js", "main": "./lib/index.js", @@ -42,14 +42,14 @@ "@microsoft/api-extractor": "^7.13.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.3.0", + "mocha": "^9.0.0", "nyc": "^15.1.0", - "ts-node": "^9.1.1", + "ts-node": "^10.0.0", "typedoc": "^0.20.30", - "typescript": "^4.2.3" + "typescript": "4.2.4" }, "dependencies": { - "@thi.ng/api": "^7.1.4" + "@thi.ng/api": "^7.1.5" }, "files": [ "*.js", diff --git a/packages/ecs/CHANGELOG.md b/packages/ecs/CHANGELOG.md index 4c0dcd6a3e..3bdcba7572 100644 --- a/packages/ecs/CHANGELOG.md +++ b/packages/ecs/CHANGELOG.md @@ -3,47 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [0.5.11](https://github.com/thi-ng/umbrella/compare/@thi.ng/ecs@0.5.10...@thi.ng/ecs@0.5.11) (2021-04-03) - -**Note:** Version bump only for package @thi.ng/ecs - - - - - -## [0.5.10](https://github.com/thi-ng/umbrella/compare/@thi.ng/ecs@0.5.9...@thi.ng/ecs@0.5.10) (2021-03-30) - -**Note:** Version bump only for package @thi.ng/ecs - - - - - -## [0.5.9](https://github.com/thi-ng/umbrella/compare/@thi.ng/ecs@0.5.8...@thi.ng/ecs@0.5.9) (2021-03-28) - -**Note:** Version bump only for package @thi.ng/ecs - - - - - -## [0.5.8](https://github.com/thi-ng/umbrella/compare/@thi.ng/ecs@0.5.7...@thi.ng/ecs@0.5.8) (2021-03-27) - -**Note:** Version bump only for package @thi.ng/ecs - - - - - -## [0.5.7](https://github.com/thi-ng/umbrella/compare/@thi.ng/ecs@0.5.6...@thi.ng/ecs@0.5.7) (2021-03-17) - -**Note:** Version bump only for package @thi.ng/ecs - - - - - -## [0.5.6](https://github.com/thi-ng/umbrella/compare/@thi.ng/ecs@0.5.5...@thi.ng/ecs@0.5.6) (2021-03-12) +## [0.5.15](https://github.com/thi-ng/umbrella/compare/@thi.ng/ecs@0.5.14...@thi.ng/ecs@0.5.15) (2021-06-08) **Note:** Version bump only for package @thi.ng/ecs diff --git a/packages/ecs/package.json b/packages/ecs/package.json index 8024aa5b65..253a026b78 100644 --- a/packages/ecs/package.json +++ b/packages/ecs/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/ecs", - "version": "0.5.11", + "version": "0.5.15", "description": "Entity Component System based around typed arrays & sparse sets", "module": "./index.js", "main": "./lib/index.js", @@ -40,24 +40,24 @@ "devDependencies": { "@istanbuljs/nyc-config-typescript": "^1.0.1", "@microsoft/api-extractor": "^7.13.1", - "@thi.ng/equiv": "^1.0.41", + "@thi.ng/equiv": "^1.0.42", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.3.0", + "mocha": "^9.0.0", "nyc": "^15.1.0", - "ts-node": "^9.1.1", + "ts-node": "^10.0.0", "typedoc": "^0.20.30", - "typescript": "^4.2.3" + "typescript": "4.2.4" }, "dependencies": { - "@thi.ng/api": "^7.1.4", - "@thi.ng/associative": "^5.2.1", - "@thi.ng/binary": "^2.2.4", - "@thi.ng/checks": "^2.9.6", - "@thi.ng/dcons": "^2.3.20", - "@thi.ng/idgen": "^0.2.35", - "@thi.ng/malloc": "^5.0.7", - "@thi.ng/transducers": "^7.6.10", + "@thi.ng/api": "^7.1.5", + "@thi.ng/associative": "^5.2.5", + "@thi.ng/binary": "^2.2.5", + "@thi.ng/checks": "^2.9.7", + "@thi.ng/dcons": "^2.3.24", + "@thi.ng/idgen": "^0.2.36", + "@thi.ng/malloc": "^5.0.8", + "@thi.ng/transducers": "^7.7.3", "tslib": "^2.1.0" }, "files": [ diff --git a/packages/egf/CHANGELOG.md b/packages/egf/CHANGELOG.md index d3e07dce83..c0a84ecbdc 100644 --- a/packages/egf/CHANGELOG.md +++ b/packages/egf/CHANGELOG.md @@ -3,23 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [0.4.3](https://github.com/thi-ng/umbrella/compare/@thi.ng/egf@0.4.2...@thi.ng/egf@0.4.3) (2021-04-03) - -**Note:** Version bump only for package @thi.ng/egf - - - - - -## [0.4.2](https://github.com/thi-ng/umbrella/compare/@thi.ng/egf@0.4.1...@thi.ng/egf@0.4.2) (2021-03-30) - -**Note:** Version bump only for package @thi.ng/egf - - - - - -## [0.4.1](https://github.com/thi-ng/umbrella/compare/@thi.ng/egf@0.4.0...@thi.ng/egf@0.4.1) (2021-03-28) +## [0.4.7](https://github.com/thi-ng/umbrella/compare/@thi.ng/egf@0.4.6...@thi.ng/egf@0.4.7) (2021-06-08) **Note:** Version bump only for package @thi.ng/egf @@ -43,38 +27,6 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline -## [0.3.21](https://github.com/thi-ng/umbrella/compare/@thi.ng/egf@0.3.20...@thi.ng/egf@0.3.21) (2021-03-24) - -**Note:** Version bump only for package @thi.ng/egf - - - - - -## [0.3.20](https://github.com/thi-ng/umbrella/compare/@thi.ng/egf@0.3.19...@thi.ng/egf@0.3.20) (2021-03-24) - -**Note:** Version bump only for package @thi.ng/egf - - - - - -## [0.3.19](https://github.com/thi-ng/umbrella/compare/@thi.ng/egf@0.3.18...@thi.ng/egf@0.3.19) (2021-03-17) - -**Note:** Version bump only for package @thi.ng/egf - - - - - -## [0.3.18](https://github.com/thi-ng/umbrella/compare/@thi.ng/egf@0.3.17...@thi.ng/egf@0.3.18) (2021-03-12) - -**Note:** Version bump only for package @thi.ng/egf - - - - - # 0.3.0 (2020-09-22) diff --git a/packages/egf/package.json b/packages/egf/package.json index 818bd41d9e..b43d104cc6 100644 --- a/packages/egf/package.json +++ b/packages/egf/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/egf", - "version": "0.4.3", + "version": "0.4.7", "description": "Extensible Graph Format", "module": "./index.js", "main": "./lib/index.js", @@ -35,24 +35,24 @@ "devDependencies": { "@istanbuljs/nyc-config-typescript": "^1.0.1", "@microsoft/api-extractor": "^7.13.1", - "@thi.ng/equiv": "^1.0.41", + "@thi.ng/equiv": "^1.0.42", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.3.0", + "mocha": "^9.0.0", "nyc": "^15.1.0", - "ts-node": "^9.1.1", + "ts-node": "^10.0.0", "typedoc": "^0.20.30", - "typescript": "^4.2.3" + "typescript": "4.2.4" }, "dependencies": { - "@thi.ng/api": "^7.1.4", - "@thi.ng/associative": "^5.2.1", - "@thi.ng/checks": "^2.9.6", - "@thi.ng/dot": "^1.2.31", - "@thi.ng/errors": "^1.3.0", - "@thi.ng/prefixes": "^0.1.17", - "@thi.ng/strings": "^2.1.0", - "@thi.ng/transducers-binary": "^0.6.16" + "@thi.ng/api": "^7.1.5", + "@thi.ng/associative": "^5.2.5", + "@thi.ng/checks": "^2.9.7", + "@thi.ng/dot": "^1.2.32", + "@thi.ng/errors": "^1.3.1", + "@thi.ng/prefixes": "^0.1.18", + "@thi.ng/strings": "^2.1.1", + "@thi.ng/transducers-binary": "^0.6.20" }, "files": [ "*.js", diff --git a/packages/equiv/CHANGELOG.md b/packages/equiv/CHANGELOG.md index f78831e1c5..97789997d3 100644 --- a/packages/equiv/CHANGELOG.md +++ b/packages/equiv/CHANGELOG.md @@ -3,7 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [1.0.41](https://github.com/thi-ng/umbrella/compare/@thi.ng/equiv@1.0.40...@thi.ng/equiv@1.0.41) (2021-03-12) +## [1.0.42](https://github.com/thi-ng/umbrella/compare/@thi.ng/equiv@1.0.41...@thi.ng/equiv@1.0.42) (2021-06-08) **Note:** Version bump only for package @thi.ng/equiv diff --git a/packages/equiv/package.json b/packages/equiv/package.json index c125eb152e..2465f938db 100644 --- a/packages/equiv/package.json +++ b/packages/equiv/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/equiv", - "version": "1.0.41", + "version": "1.0.42", "description": "Extensible deep value equivalence checking for any data types", "module": "./index.js", "main": "./lib/index.js", @@ -43,11 +43,11 @@ "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", "benchmark": "^2.1.4", - "mocha": "^8.3.0", + "mocha": "^9.0.0", "nyc": "^15.1.0", - "ts-node": "^9.1.1", + "ts-node": "^10.0.0", "typedoc": "^0.20.30", - "typescript": "^4.2.3" + "typescript": "4.2.4" }, "files": [ "*.js", diff --git a/packages/errors/CHANGELOG.md b/packages/errors/CHANGELOG.md index f6d1a302ed..52808f2cea 100644 --- a/packages/errors/CHANGELOG.md +++ b/packages/errors/CHANGELOG.md @@ -3,21 +3,21 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -# [1.3.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/errors@1.2.32...@thi.ng/errors@1.3.0) (2021-03-17) +## [1.3.1](https://github.com/thi-ng/umbrella/compare/@thi.ng/errors@1.3.0...@thi.ng/errors@1.3.1) (2021-06-08) +**Note:** Version bump only for package @thi.ng/errors -### Features -* **errors:** add ensureIndex2(), update outOfBounds() arg type ([ab007d6](https://github.com/thi-ng/umbrella/commit/ab007d6b502c3d1650c7e9cf50da05f0ac042ef3)) -* **errors:** add outOfBounds(), ensureIndex() ([fb5ca0a](https://github.com/thi-ng/umbrella/commit/fb5ca0a7f8a4a6648d3c8485a9108e9154ee4400)) +# [1.3.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/errors@1.2.32...@thi.ng/errors@1.3.0) (2021-03-17) -## [1.2.32](https://github.com/thi-ng/umbrella/compare/@thi.ng/errors@1.2.31...@thi.ng/errors@1.2.32) (2021-03-12) +### Features -**Note:** Version bump only for package @thi.ng/errors +* **errors:** add ensureIndex2(), update outOfBounds() arg type ([ab007d6](https://github.com/thi-ng/umbrella/commit/ab007d6b502c3d1650c7e9cf50da05f0ac042ef3)) +* **errors:** add outOfBounds(), ensureIndex() ([fb5ca0a](https://github.com/thi-ng/umbrella/commit/fb5ca0a7f8a4a6648d3c8485a9108e9154ee4400)) diff --git a/packages/errors/package.json b/packages/errors/package.json index d6df3fc54d..2c43473e70 100644 --- a/packages/errors/package.json +++ b/packages/errors/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/errors", - "version": "1.3.0", + "version": "1.3.1", "description": "Custom error types and error factory functions", "module": "./index.js", "main": "./lib/index.js", @@ -42,11 +42,11 @@ "@microsoft/api-extractor": "^7.13.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.3.0", + "mocha": "^9.0.0", "nyc": "^15.1.0", - "ts-node": "^9.1.1", + "ts-node": "^10.0.0", "typedoc": "^0.20.30", - "typescript": "^4.2.3" + "typescript": "4.2.4" }, "files": [ "*.js", diff --git a/packages/fsm/CHANGELOG.md b/packages/fsm/CHANGELOG.md index 03cd66b3d1..88db348fc8 100644 --- a/packages/fsm/CHANGELOG.md +++ b/packages/fsm/CHANGELOG.md @@ -3,55 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [2.4.49](https://github.com/thi-ng/umbrella/compare/@thi.ng/fsm@2.4.48...@thi.ng/fsm@2.4.49) (2021-04-03) - -**Note:** Version bump only for package @thi.ng/fsm - - - - - -## [2.4.48](https://github.com/thi-ng/umbrella/compare/@thi.ng/fsm@2.4.47...@thi.ng/fsm@2.4.48) (2021-03-28) - -**Note:** Version bump only for package @thi.ng/fsm - - - - - -## [2.4.47](https://github.com/thi-ng/umbrella/compare/@thi.ng/fsm@2.4.46...@thi.ng/fsm@2.4.47) (2021-03-27) - -**Note:** Version bump only for package @thi.ng/fsm - - - - - -## [2.4.46](https://github.com/thi-ng/umbrella/compare/@thi.ng/fsm@2.4.45...@thi.ng/fsm@2.4.46) (2021-03-24) - -**Note:** Version bump only for package @thi.ng/fsm - - - - - -## [2.4.45](https://github.com/thi-ng/umbrella/compare/@thi.ng/fsm@2.4.44...@thi.ng/fsm@2.4.45) (2021-03-24) - -**Note:** Version bump only for package @thi.ng/fsm - - - - - -## [2.4.44](https://github.com/thi-ng/umbrella/compare/@thi.ng/fsm@2.4.43...@thi.ng/fsm@2.4.44) (2021-03-17) - -**Note:** Version bump only for package @thi.ng/fsm - - - - - -## [2.4.43](https://github.com/thi-ng/umbrella/compare/@thi.ng/fsm@2.4.42...@thi.ng/fsm@2.4.43) (2021-03-12) +## [2.4.53](https://github.com/thi-ng/umbrella/compare/@thi.ng/fsm@2.4.52...@thi.ng/fsm@2.4.53) (2021-06-08) **Note:** Version bump only for package @thi.ng/fsm diff --git a/packages/fsm/package.json b/packages/fsm/package.json index 76b7a9f0f6..307e735c4d 100644 --- a/packages/fsm/package.json +++ b/packages/fsm/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/fsm", - "version": "2.4.49", + "version": "2.4.53", "description": "Composable primitives for building declarative, transducer based Finite-State Machines & matchers for arbitrary data streams", "module": "./index.js", "main": "./lib/index.js", @@ -42,19 +42,19 @@ "@microsoft/api-extractor": "^7.13.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.3.0", + "mocha": "^9.0.0", "nyc": "^15.1.0", - "ts-node": "^9.1.1", + "ts-node": "^10.0.0", "typedoc": "^0.20.30", - "typescript": "^4.2.3" + "typescript": "4.2.4" }, "dependencies": { - "@thi.ng/api": "^7.1.4", - "@thi.ng/arrays": "^0.10.10", - "@thi.ng/equiv": "^1.0.41", - "@thi.ng/errors": "^1.3.0", - "@thi.ng/strings": "^2.1.0", - "@thi.ng/transducers": "^7.6.10" + "@thi.ng/api": "^7.1.5", + "@thi.ng/arrays": "^0.10.12", + "@thi.ng/equiv": "^1.0.42", + "@thi.ng/errors": "^1.3.1", + "@thi.ng/strings": "^2.1.1", + "@thi.ng/transducers": "^7.7.3" }, "files": [ "*.js", diff --git a/packages/fuzzy-viz/CHANGELOG.md b/packages/fuzzy-viz/CHANGELOG.md index ee6402244d..36d7f2b445 100644 --- a/packages/fuzzy-viz/CHANGELOG.md +++ b/packages/fuzzy-viz/CHANGELOG.md @@ -3,55 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [0.1.24](https://github.com/thi-ng/umbrella/compare/@thi.ng/fuzzy-viz@0.1.23...@thi.ng/fuzzy-viz@0.1.24) (2021-04-03) - -**Note:** Version bump only for package @thi.ng/fuzzy-viz - - - - - -## [0.1.23](https://github.com/thi-ng/umbrella/compare/@thi.ng/fuzzy-viz@0.1.22...@thi.ng/fuzzy-viz@0.1.23) (2021-03-30) - -**Note:** Version bump only for package @thi.ng/fuzzy-viz - - - - - -## [0.1.22](https://github.com/thi-ng/umbrella/compare/@thi.ng/fuzzy-viz@0.1.21...@thi.ng/fuzzy-viz@0.1.22) (2021-03-30) - -**Note:** Version bump only for package @thi.ng/fuzzy-viz - - - - - -## [0.1.21](https://github.com/thi-ng/umbrella/compare/@thi.ng/fuzzy-viz@0.1.20...@thi.ng/fuzzy-viz@0.1.21) (2021-03-28) - -**Note:** Version bump only for package @thi.ng/fuzzy-viz - - - - - -## [0.1.20](https://github.com/thi-ng/umbrella/compare/@thi.ng/fuzzy-viz@0.1.19...@thi.ng/fuzzy-viz@0.1.20) (2021-03-27) - -**Note:** Version bump only for package @thi.ng/fuzzy-viz - - - - - -## [0.1.19](https://github.com/thi-ng/umbrella/compare/@thi.ng/fuzzy-viz@0.1.18...@thi.ng/fuzzy-viz@0.1.19) (2021-03-26) - -**Note:** Version bump only for package @thi.ng/fuzzy-viz - - - - - -## [0.1.18](https://github.com/thi-ng/umbrella/compare/@thi.ng/fuzzy-viz@0.1.17...@thi.ng/fuzzy-viz@0.1.18) (2021-03-24) +## [0.1.28](https://github.com/thi-ng/umbrella/compare/@thi.ng/fuzzy-viz@0.1.27...@thi.ng/fuzzy-viz@0.1.28) (2021-06-08) **Note:** Version bump only for package @thi.ng/fuzzy-viz @@ -70,30 +22,6 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline -## [0.1.16](https://github.com/thi-ng/umbrella/compare/@thi.ng/fuzzy-viz@0.1.15...@thi.ng/fuzzy-viz@0.1.16) (2021-03-24) - -**Note:** Version bump only for package @thi.ng/fuzzy-viz - - - - - -## [0.1.15](https://github.com/thi-ng/umbrella/compare/@thi.ng/fuzzy-viz@0.1.14...@thi.ng/fuzzy-viz@0.1.15) (2021-03-17) - -**Note:** Version bump only for package @thi.ng/fuzzy-viz - - - - - -## [0.1.14](https://github.com/thi-ng/umbrella/compare/@thi.ng/fuzzy-viz@0.1.13...@thi.ng/fuzzy-viz@0.1.14) (2021-03-12) - -**Note:** Version bump only for package @thi.ng/fuzzy-viz - - - - - # 0.1.0 (2020-12-22) diff --git a/packages/fuzzy-viz/README.md b/packages/fuzzy-viz/README.md index 9e300940bc..5868b5937b 100644 --- a/packages/fuzzy-viz/README.md +++ b/packages/fuzzy-viz/README.md @@ -43,7 +43,7 @@ yarn add @thi.ng/fuzzy-viz ``` -Package sizes (gzipped, pre-treeshake): ESM: 1.04 KB / CJS: 1.12 KB / UMD: 1.23 KB +Package sizes (gzipped, pre-treeshake): ESM: 1.04 KB / CJS: 1.12 KB / UMD: 1.22 KB ## Dependencies diff --git a/packages/fuzzy-viz/package.json b/packages/fuzzy-viz/package.json index 568f9c549e..4d2c2626ca 100644 --- a/packages/fuzzy-viz/package.json +++ b/packages/fuzzy-viz/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/fuzzy-viz", - "version": "0.1.24", + "version": "0.1.28", "description": "Visualization, instrumentation & introspection utils for @thi.ng/fuzzy", "module": "./index.js", "main": "./lib/index.js", @@ -42,20 +42,20 @@ "@microsoft/api-extractor": "^7.13.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.3.0", + "mocha": "^9.0.0", "nyc": "^15.1.0", - "ts-node": "^9.1.1", + "ts-node": "^10.0.0", "typedoc": "^0.20.30", - "typescript": "^4.2.3" + "typescript": "4.2.4" }, "dependencies": { - "@thi.ng/api": "^7.1.4", - "@thi.ng/fuzzy": "^0.1.10", - "@thi.ng/hiccup": "^3.6.15", - "@thi.ng/hiccup-svg": "^3.7.20", - "@thi.ng/math": "^3.4.0", - "@thi.ng/strings": "^2.1.0", - "@thi.ng/text-canvas": "^0.7.5" + "@thi.ng/api": "^7.1.5", + "@thi.ng/fuzzy": "^0.1.12", + "@thi.ng/hiccup": "^3.6.16", + "@thi.ng/hiccup-svg": "^3.7.24", + "@thi.ng/math": "^4.0.1", + "@thi.ng/strings": "^2.1.1", + "@thi.ng/text-canvas": "^0.7.9" }, "files": [ "*.js", diff --git a/packages/fuzzy/CHANGELOG.md b/packages/fuzzy/CHANGELOG.md index a892670cfb..f4aaa106a9 100644 --- a/packages/fuzzy/CHANGELOG.md +++ b/packages/fuzzy/CHANGELOG.md @@ -3,23 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [0.1.10](https://github.com/thi-ng/umbrella/compare/@thi.ng/fuzzy@0.1.9...@thi.ng/fuzzy@0.1.10) (2021-04-03) - -**Note:** Version bump only for package @thi.ng/fuzzy - - - - - -## [0.1.9](https://github.com/thi-ng/umbrella/compare/@thi.ng/fuzzy@0.1.8...@thi.ng/fuzzy@0.1.9) (2021-03-17) - -**Note:** Version bump only for package @thi.ng/fuzzy - - - - - -## [0.1.8](https://github.com/thi-ng/umbrella/compare/@thi.ng/fuzzy@0.1.7...@thi.ng/fuzzy@0.1.8) (2021-03-12) +## [0.1.12](https://github.com/thi-ng/umbrella/compare/@thi.ng/fuzzy@0.1.11...@thi.ng/fuzzy@0.1.12) (2021-06-08) **Note:** Version bump only for package @thi.ng/fuzzy diff --git a/packages/fuzzy/package.json b/packages/fuzzy/package.json index 740cf2f0c2..d885558063 100644 --- a/packages/fuzzy/package.json +++ b/packages/fuzzy/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/fuzzy", - "version": "0.1.10", + "version": "0.1.12", "description": "Fuzzy logic operators & configurable rule inferencing engine", "module": "./index.js", "main": "./lib/index.js", @@ -42,15 +42,15 @@ "@microsoft/api-extractor": "^7.13.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.3.0", + "mocha": "^9.0.0", "nyc": "^15.1.0", - "ts-node": "^9.1.1", + "ts-node": "^10.0.0", "typedoc": "^0.20.30", - "typescript": "^4.2.3" + "typescript": "4.2.4" }, "dependencies": { - "@thi.ng/api": "^7.1.4", - "@thi.ng/math": "^3.4.0" + "@thi.ng/api": "^7.1.5", + "@thi.ng/math": "^4.0.1" }, "files": [ "*.js", diff --git a/packages/geom-accel/CHANGELOG.md b/packages/geom-accel/CHANGELOG.md index 43b4ae7624..0d2f8297be 100644 --- a/packages/geom-accel/CHANGELOG.md +++ b/packages/geom-accel/CHANGELOG.md @@ -3,47 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [2.1.46](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-accel@2.1.45...@thi.ng/geom-accel@2.1.46) (2021-04-03) - -**Note:** Version bump only for package @thi.ng/geom-accel - - - - - -## [2.1.45](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-accel@2.1.44...@thi.ng/geom-accel@2.1.45) (2021-03-30) - -**Note:** Version bump only for package @thi.ng/geom-accel - - - - - -## [2.1.44](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-accel@2.1.43...@thi.ng/geom-accel@2.1.44) (2021-03-28) - -**Note:** Version bump only for package @thi.ng/geom-accel - - - - - -## [2.1.43](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-accel@2.1.42...@thi.ng/geom-accel@2.1.43) (2021-03-27) - -**Note:** Version bump only for package @thi.ng/geom-accel - - - - - -## [2.1.42](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-accel@2.1.41...@thi.ng/geom-accel@2.1.42) (2021-03-17) - -**Note:** Version bump only for package @thi.ng/geom-accel - - - - - -## [2.1.41](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-accel@2.1.40...@thi.ng/geom-accel@2.1.41) (2021-03-12) +## [2.1.50](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-accel@2.1.49...@thi.ng/geom-accel@2.1.50) (2021-06-08) **Note:** Version bump only for package @thi.ng/geom-accel diff --git a/packages/geom-accel/package.json b/packages/geom-accel/package.json index bb435c2f07..69ad369b8b 100644 --- a/packages/geom-accel/package.json +++ b/packages/geom-accel/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/geom-accel", - "version": "2.1.46", + "version": "2.1.50", "description": "n-D spatial indexing data structures with a shared ES6 Map/Set-like API", "module": "./index.js", "main": "./lib/index.js", @@ -43,23 +43,23 @@ "@microsoft/api-extractor": "^7.13.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.3.0", + "mocha": "^9.0.0", "nyc": "^15.1.0", - "ts-node": "^9.1.1", + "ts-node": "^10.0.0", "typedoc": "^0.20.30", - "typescript": "^4.2.3" + "typescript": "4.2.4" }, "dependencies": { - "@thi.ng/api": "^7.1.4", - "@thi.ng/arrays": "^0.10.10", - "@thi.ng/checks": "^2.9.6", - "@thi.ng/equiv": "^1.0.41", - "@thi.ng/geom-api": "^2.0.17", - "@thi.ng/geom-isec": "^0.7.20", - "@thi.ng/heaps": "^1.2.38", - "@thi.ng/math": "^3.4.0", - "@thi.ng/transducers": "^7.6.10", - "@thi.ng/vectors": "^5.2.1" + "@thi.ng/api": "^7.1.5", + "@thi.ng/arrays": "^0.10.12", + "@thi.ng/checks": "^2.9.7", + "@thi.ng/equiv": "^1.0.42", + "@thi.ng/geom-api": "^2.0.21", + "@thi.ng/geom-isec": "^0.7.24", + "@thi.ng/heaps": "^1.2.39", + "@thi.ng/math": "^4.0.1", + "@thi.ng/transducers": "^7.7.3", + "@thi.ng/vectors": "^6.0.1" }, "files": [ "*.js", diff --git a/packages/geom-api/CHANGELOG.md b/packages/geom-api/CHANGELOG.md index f64fd23c65..4a9af07653 100644 --- a/packages/geom-api/CHANGELOG.md +++ b/packages/geom-api/CHANGELOG.md @@ -3,47 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [2.0.17](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-api@2.0.16...@thi.ng/geom-api@2.0.17) (2021-04-03) - -**Note:** Version bump only for package @thi.ng/geom-api - - - - - -## [2.0.16](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-api@2.0.15...@thi.ng/geom-api@2.0.16) (2021-03-30) - -**Note:** Version bump only for package @thi.ng/geom-api - - - - - -## [2.0.15](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-api@2.0.14...@thi.ng/geom-api@2.0.15) (2021-03-28) - -**Note:** Version bump only for package @thi.ng/geom-api - - - - - -## [2.0.14](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-api@2.0.13...@thi.ng/geom-api@2.0.14) (2021-03-27) - -**Note:** Version bump only for package @thi.ng/geom-api - - - - - -## [2.0.13](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-api@2.0.12...@thi.ng/geom-api@2.0.13) (2021-03-17) - -**Note:** Version bump only for package @thi.ng/geom-api - - - - - -## [2.0.12](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-api@2.0.11...@thi.ng/geom-api@2.0.12) (2021-03-12) +## [2.0.21](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-api@2.0.20...@thi.ng/geom-api@2.0.21) (2021-06-08) **Note:** Version bump only for package @thi.ng/geom-api diff --git a/packages/geom-api/package.json b/packages/geom-api/package.json index eb4b8b92dd..fb9075f2d8 100644 --- a/packages/geom-api/package.json +++ b/packages/geom-api/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/geom-api", - "version": "2.0.17", + "version": "2.0.21", "description": "Shared type & interface declarations for @thi.ng/geom packages", "module": "./index.js", "main": "./lib/index.js", @@ -42,15 +42,15 @@ "@microsoft/api-extractor": "^7.13.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.3.0", + "mocha": "^9.0.0", "nyc": "^15.1.0", - "ts-node": "^9.1.1", + "ts-node": "^10.0.0", "typedoc": "^0.20.30", - "typescript": "^4.2.3" + "typescript": "4.2.4" }, "dependencies": { - "@thi.ng/api": "^7.1.4", - "@thi.ng/vectors": "^5.2.1" + "@thi.ng/api": "^7.1.5", + "@thi.ng/vectors": "^6.0.1" }, "files": [ "*.js", diff --git a/packages/geom-arc/CHANGELOG.md b/packages/geom-arc/CHANGELOG.md index 24a1bbec61..42ec1f6e60 100644 --- a/packages/geom-arc/CHANGELOG.md +++ b/packages/geom-arc/CHANGELOG.md @@ -3,47 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [0.3.35](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-arc@0.3.34...@thi.ng/geom-arc@0.3.35) (2021-04-03) - -**Note:** Version bump only for package @thi.ng/geom-arc - - - - - -## [0.3.34](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-arc@0.3.33...@thi.ng/geom-arc@0.3.34) (2021-03-30) - -**Note:** Version bump only for package @thi.ng/geom-arc - - - - - -## [0.3.33](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-arc@0.3.32...@thi.ng/geom-arc@0.3.33) (2021-03-28) - -**Note:** Version bump only for package @thi.ng/geom-arc - - - - - -## [0.3.32](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-arc@0.3.31...@thi.ng/geom-arc@0.3.32) (2021-03-27) - -**Note:** Version bump only for package @thi.ng/geom-arc - - - - - -## [0.3.31](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-arc@0.3.30...@thi.ng/geom-arc@0.3.31) (2021-03-17) - -**Note:** Version bump only for package @thi.ng/geom-arc - - - - - -## [0.3.30](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-arc@0.3.29...@thi.ng/geom-arc@0.3.30) (2021-03-12) +## [0.3.39](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-arc@0.3.38...@thi.ng/geom-arc@0.3.39) (2021-06-08) **Note:** Version bump only for package @thi.ng/geom-arc diff --git a/packages/geom-arc/package.json b/packages/geom-arc/package.json index dc66dc3f59..c00810bcaf 100644 --- a/packages/geom-arc/package.json +++ b/packages/geom-arc/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/geom-arc", - "version": "0.3.35", + "version": "0.3.39", "description": "2D circular / elliptic arc operations", "module": "./index.js", "main": "./lib/index.js", @@ -42,18 +42,18 @@ "@microsoft/api-extractor": "^7.13.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.3.0", + "mocha": "^9.0.0", "nyc": "^15.1.0", - "ts-node": "^9.1.1", + "ts-node": "^10.0.0", "typedoc": "^0.20.30", - "typescript": "^4.2.3" + "typescript": "4.2.4" }, "dependencies": { - "@thi.ng/checks": "^2.9.6", - "@thi.ng/geom-api": "^2.0.17", - "@thi.ng/geom-resample": "^0.2.68", - "@thi.ng/math": "^3.4.0", - "@thi.ng/vectors": "^5.2.1" + "@thi.ng/checks": "^2.9.7", + "@thi.ng/geom-api": "^2.0.21", + "@thi.ng/geom-resample": "^0.2.72", + "@thi.ng/math": "^4.0.1", + "@thi.ng/vectors": "^6.0.1" }, "files": [ "*.js", diff --git a/packages/geom-clip-line/CHANGELOG.md b/packages/geom-clip-line/CHANGELOG.md index 6e65ede981..6f1a8355de 100644 --- a/packages/geom-clip-line/CHANGELOG.md +++ b/packages/geom-clip-line/CHANGELOG.md @@ -3,47 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [1.2.31](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-clip-line@1.2.30...@thi.ng/geom-clip-line@1.2.31) (2021-04-03) - -**Note:** Version bump only for package @thi.ng/geom-clip-line - - - - - -## [1.2.30](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-clip-line@1.2.29...@thi.ng/geom-clip-line@1.2.30) (2021-03-30) - -**Note:** Version bump only for package @thi.ng/geom-clip-line - - - - - -## [1.2.29](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-clip-line@1.2.28...@thi.ng/geom-clip-line@1.2.29) (2021-03-28) - -**Note:** Version bump only for package @thi.ng/geom-clip-line - - - - - -## [1.2.28](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-clip-line@1.2.27...@thi.ng/geom-clip-line@1.2.28) (2021-03-27) - -**Note:** Version bump only for package @thi.ng/geom-clip-line - - - - - -## [1.2.27](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-clip-line@1.2.26...@thi.ng/geom-clip-line@1.2.27) (2021-03-17) - -**Note:** Version bump only for package @thi.ng/geom-clip-line - - - - - -## [1.2.26](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-clip-line@1.2.25...@thi.ng/geom-clip-line@1.2.26) (2021-03-12) +## [1.2.35](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-clip-line@1.2.34...@thi.ng/geom-clip-line@1.2.35) (2021-06-08) **Note:** Version bump only for package @thi.ng/geom-clip-line diff --git a/packages/geom-clip-line/package.json b/packages/geom-clip-line/package.json index 3af9afee85..d21713c88c 100644 --- a/packages/geom-clip-line/package.json +++ b/packages/geom-clip-line/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/geom-clip-line", - "version": "1.2.31", + "version": "1.2.35", "description": "2D line clipping (Liang-Barsky)", "module": "./index.js", "main": "./lib/index.js", @@ -42,16 +42,16 @@ "@microsoft/api-extractor": "^7.13.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.3.0", + "mocha": "^9.0.0", "nyc": "^15.1.0", - "ts-node": "^9.1.1", + "ts-node": "^10.0.0", "typedoc": "^0.20.30", - "typescript": "^4.2.3" + "typescript": "4.2.4" }, "dependencies": { - "@thi.ng/api": "^7.1.4", - "@thi.ng/geom-isec": "^0.7.20", - "@thi.ng/vectors": "^5.2.1" + "@thi.ng/api": "^7.1.5", + "@thi.ng/geom-isec": "^0.7.24", + "@thi.ng/vectors": "^6.0.1" }, "files": [ "*.js", diff --git a/packages/geom-clip-poly/CHANGELOG.md b/packages/geom-clip-poly/CHANGELOG.md index c8e61e06f9..074d04c20a 100644 --- a/packages/geom-clip-poly/CHANGELOG.md +++ b/packages/geom-clip-poly/CHANGELOG.md @@ -3,47 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [1.0.56](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-clip-poly@1.0.55...@thi.ng/geom-clip-poly@1.0.56) (2021-04-03) - -**Note:** Version bump only for package @thi.ng/geom-clip-poly - - - - - -## [1.0.55](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-clip-poly@1.0.54...@thi.ng/geom-clip-poly@1.0.55) (2021-03-30) - -**Note:** Version bump only for package @thi.ng/geom-clip-poly - - - - - -## [1.0.54](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-clip-poly@1.0.53...@thi.ng/geom-clip-poly@1.0.54) (2021-03-28) - -**Note:** Version bump only for package @thi.ng/geom-clip-poly - - - - - -## [1.0.53](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-clip-poly@1.0.52...@thi.ng/geom-clip-poly@1.0.53) (2021-03-27) - -**Note:** Version bump only for package @thi.ng/geom-clip-poly - - - - - -## [1.0.52](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-clip-poly@1.0.51...@thi.ng/geom-clip-poly@1.0.52) (2021-03-17) - -**Note:** Version bump only for package @thi.ng/geom-clip-poly - - - - - -## [1.0.51](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-clip-poly@1.0.50...@thi.ng/geom-clip-poly@1.0.51) (2021-03-12) +## [1.0.60](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-clip-poly@1.0.59...@thi.ng/geom-clip-poly@1.0.60) (2021-06-08) **Note:** Version bump only for package @thi.ng/geom-clip-poly diff --git a/packages/geom-clip-poly/package.json b/packages/geom-clip-poly/package.json index 9fbc6069ab..40c9b0bc4b 100644 --- a/packages/geom-clip-poly/package.json +++ b/packages/geom-clip-poly/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/geom-clip-poly", - "version": "1.0.56", + "version": "1.0.60", "description": "2D convex polygon clipping (Sutherland-Hodgeman)", "module": "./index.js", "main": "./lib/index.js", @@ -42,17 +42,17 @@ "@microsoft/api-extractor": "^7.13.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.3.0", + "mocha": "^9.0.0", "nyc": "^15.1.0", - "ts-node": "^9.1.1", + "ts-node": "^10.0.0", "typedoc": "^0.20.30", - "typescript": "^4.2.3" + "typescript": "4.2.4" }, "dependencies": { - "@thi.ng/geom-isec": "^0.7.20", - "@thi.ng/geom-poly-utils": "^0.3.17", - "@thi.ng/math": "^3.4.0", - "@thi.ng/vectors": "^5.2.1" + "@thi.ng/geom-isec": "^0.7.24", + "@thi.ng/geom-poly-utils": "^0.3.21", + "@thi.ng/math": "^4.0.1", + "@thi.ng/vectors": "^6.0.1" }, "files": [ "*.js", diff --git a/packages/geom-closest-point/CHANGELOG.md b/packages/geom-closest-point/CHANGELOG.md index d659188e75..02a8054ba5 100644 --- a/packages/geom-closest-point/CHANGELOG.md +++ b/packages/geom-closest-point/CHANGELOG.md @@ -3,47 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [0.5.22](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-closest-point@0.5.21...@thi.ng/geom-closest-point@0.5.22) (2021-04-03) - -**Note:** Version bump only for package @thi.ng/geom-closest-point - - - - - -## [0.5.21](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-closest-point@0.5.20...@thi.ng/geom-closest-point@0.5.21) (2021-03-30) - -**Note:** Version bump only for package @thi.ng/geom-closest-point - - - - - -## [0.5.20](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-closest-point@0.5.19...@thi.ng/geom-closest-point@0.5.20) (2021-03-28) - -**Note:** Version bump only for package @thi.ng/geom-closest-point - - - - - -## [0.5.19](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-closest-point@0.5.18...@thi.ng/geom-closest-point@0.5.19) (2021-03-27) - -**Note:** Version bump only for package @thi.ng/geom-closest-point - - - - - -## [0.5.18](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-closest-point@0.5.17...@thi.ng/geom-closest-point@0.5.18) (2021-03-17) - -**Note:** Version bump only for package @thi.ng/geom-closest-point - - - - - -## [0.5.17](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-closest-point@0.5.16...@thi.ng/geom-closest-point@0.5.17) (2021-03-12) +## [0.5.26](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-closest-point@0.5.25...@thi.ng/geom-closest-point@0.5.26) (2021-06-08) **Note:** Version bump only for package @thi.ng/geom-closest-point diff --git a/packages/geom-closest-point/package.json b/packages/geom-closest-point/package.json index 2b4cb36b7c..857cec6217 100644 --- a/packages/geom-closest-point/package.json +++ b/packages/geom-closest-point/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/geom-closest-point", - "version": "0.5.22", + "version": "0.5.26", "description": "2D / 3D closest point / proximity helpers", "module": "./index.js", "main": "./lib/index.js", @@ -42,16 +42,16 @@ "@microsoft/api-extractor": "^7.13.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.3.0", + "mocha": "^9.0.0", "nyc": "^15.1.0", - "ts-node": "^9.1.1", + "ts-node": "^10.0.0", "typedoc": "^0.20.30", - "typescript": "^4.2.3" + "typescript": "4.2.4" }, "dependencies": { - "@thi.ng/api": "^7.1.4", - "@thi.ng/math": "^3.4.0", - "@thi.ng/vectors": "^5.2.1" + "@thi.ng/api": "^7.1.5", + "@thi.ng/math": "^4.0.1", + "@thi.ng/vectors": "^6.0.1" }, "files": [ "*.js", diff --git a/packages/geom-fuzz/CHANGELOG.md b/packages/geom-fuzz/CHANGELOG.md index 56aa122dbf..e5153a9555 100644 --- a/packages/geom-fuzz/CHANGELOG.md +++ b/packages/geom-fuzz/CHANGELOG.md @@ -3,63 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [0.1.47](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-fuzz@0.1.46...@thi.ng/geom-fuzz@0.1.47) (2021-04-03) - -**Note:** Version bump only for package @thi.ng/geom-fuzz - - - - - -## [0.1.46](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-fuzz@0.1.45...@thi.ng/geom-fuzz@0.1.46) (2021-03-30) - -**Note:** Version bump only for package @thi.ng/geom-fuzz - - - - - -## [0.1.45](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-fuzz@0.1.44...@thi.ng/geom-fuzz@0.1.45) (2021-03-28) - -**Note:** Version bump only for package @thi.ng/geom-fuzz - - - - - -## [0.1.44](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-fuzz@0.1.43...@thi.ng/geom-fuzz@0.1.44) (2021-03-27) - -**Note:** Version bump only for package @thi.ng/geom-fuzz - - - - - -## [0.1.43](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-fuzz@0.1.42...@thi.ng/geom-fuzz@0.1.43) (2021-03-24) - -**Note:** Version bump only for package @thi.ng/geom-fuzz - - - - - -## [0.1.42](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-fuzz@0.1.41...@thi.ng/geom-fuzz@0.1.42) (2021-03-24) - -**Note:** Version bump only for package @thi.ng/geom-fuzz - - - - - -## [0.1.41](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-fuzz@0.1.40...@thi.ng/geom-fuzz@0.1.41) (2021-03-17) - -**Note:** Version bump only for package @thi.ng/geom-fuzz - - - - - -## [0.1.40](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-fuzz@0.1.39...@thi.ng/geom-fuzz@0.1.40) (2021-03-12) +## [0.1.51](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-fuzz@0.1.50...@thi.ng/geom-fuzz@0.1.51) (2021-06-08) **Note:** Version bump only for package @thi.ng/geom-fuzz diff --git a/packages/geom-fuzz/package.json b/packages/geom-fuzz/package.json index 93dc8f4952..67ba610230 100644 --- a/packages/geom-fuzz/package.json +++ b/packages/geom-fuzz/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/geom-fuzz", - "version": "0.1.47", + "version": "0.1.51", "description": "Highly configurable, fuzzy line & polygon creation with presets and composable fill & stroke styles. Canvas & SVG support", "module": "./index.js", "main": "./lib/index.js", @@ -41,23 +41,23 @@ "@microsoft/api-extractor": "^7.13.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.3.0", + "mocha": "^9.0.0", "nyc": "^15.1.0", - "ts-node": "^9.1.1", + "ts-node": "^10.0.0", "typedoc": "^0.20.30", - "typescript": "^4.2.3" + "typescript": "4.2.4" }, "dependencies": { - "@thi.ng/api": "^7.1.4", - "@thi.ng/associative": "^5.2.1", - "@thi.ng/color": "^3.1.12", - "@thi.ng/geom": "^2.1.14", - "@thi.ng/geom-api": "^2.0.17", - "@thi.ng/geom-clip-line": "^1.2.31", - "@thi.ng/geom-resample": "^0.2.68", - "@thi.ng/grid-iterators": "^0.4.32", - "@thi.ng/transducers": "^7.6.10", - "@thi.ng/vectors": "^5.2.1" + "@thi.ng/api": "^7.1.5", + "@thi.ng/associative": "^5.2.5", + "@thi.ng/color": "^3.1.16", + "@thi.ng/geom": "^2.1.18", + "@thi.ng/geom-api": "^2.0.21", + "@thi.ng/geom-clip-line": "^1.2.35", + "@thi.ng/geom-resample": "^0.2.72", + "@thi.ng/grid-iterators": "^0.4.36", + "@thi.ng/transducers": "^7.7.3", + "@thi.ng/vectors": "^6.0.1" }, "files": [ "*.js", diff --git a/packages/geom-hull/CHANGELOG.md b/packages/geom-hull/CHANGELOG.md index c3ac3f0b1a..bcb0d10b54 100644 --- a/packages/geom-hull/CHANGELOG.md +++ b/packages/geom-hull/CHANGELOG.md @@ -3,47 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [0.0.88](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-hull@0.0.87...@thi.ng/geom-hull@0.0.88) (2021-04-03) - -**Note:** Version bump only for package @thi.ng/geom-hull - - - - - -## [0.0.87](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-hull@0.0.86...@thi.ng/geom-hull@0.0.87) (2021-03-30) - -**Note:** Version bump only for package @thi.ng/geom-hull - - - - - -## [0.0.86](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-hull@0.0.85...@thi.ng/geom-hull@0.0.86) (2021-03-28) - -**Note:** Version bump only for package @thi.ng/geom-hull - - - - - -## [0.0.85](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-hull@0.0.84...@thi.ng/geom-hull@0.0.85) (2021-03-27) - -**Note:** Version bump only for package @thi.ng/geom-hull - - - - - -## [0.0.84](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-hull@0.0.83...@thi.ng/geom-hull@0.0.84) (2021-03-17) - -**Note:** Version bump only for package @thi.ng/geom-hull - - - - - -## [0.0.83](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-hull@0.0.82...@thi.ng/geom-hull@0.0.83) (2021-03-12) +## [0.0.92](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-hull@0.0.91...@thi.ng/geom-hull@0.0.92) (2021-06-08) **Note:** Version bump only for package @thi.ng/geom-hull diff --git a/packages/geom-hull/package.json b/packages/geom-hull/package.json index 7dac45e142..6342a92873 100644 --- a/packages/geom-hull/package.json +++ b/packages/geom-hull/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/geom-hull", - "version": "0.0.88", + "version": "0.0.92", "description": "Fast 2D convex hull (Graham Scan)", "module": "./index.js", "main": "./lib/index.js", @@ -42,15 +42,15 @@ "@microsoft/api-extractor": "^7.13.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.3.0", + "mocha": "^9.0.0", "nyc": "^15.1.0", - "ts-node": "^9.1.1", + "ts-node": "^10.0.0", "typedoc": "^0.20.30", - "typescript": "^4.2.3" + "typescript": "4.2.4" }, "dependencies": { - "@thi.ng/math": "^3.4.0", - "@thi.ng/vectors": "^5.2.1" + "@thi.ng/math": "^4.0.1", + "@thi.ng/vectors": "^6.0.1" }, "files": [ "*.js", diff --git a/packages/geom-io-obj/CHANGELOG.md b/packages/geom-io-obj/CHANGELOG.md index 2ba8b19d48..8914d37ebe 100644 --- a/packages/geom-io-obj/CHANGELOG.md +++ b/packages/geom-io-obj/CHANGELOG.md @@ -3,47 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [0.1.46](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-io-obj@0.1.45...@thi.ng/geom-io-obj@0.1.46) (2021-04-03) - -**Note:** Version bump only for package @thi.ng/geom-io-obj - - - - - -## [0.1.45](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-io-obj@0.1.44...@thi.ng/geom-io-obj@0.1.45) (2021-03-30) - -**Note:** Version bump only for package @thi.ng/geom-io-obj - - - - - -## [0.1.44](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-io-obj@0.1.43...@thi.ng/geom-io-obj@0.1.44) (2021-03-28) - -**Note:** Version bump only for package @thi.ng/geom-io-obj - - - - - -## [0.1.43](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-io-obj@0.1.42...@thi.ng/geom-io-obj@0.1.43) (2021-03-27) - -**Note:** Version bump only for package @thi.ng/geom-io-obj - - - - - -## [0.1.42](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-io-obj@0.1.41...@thi.ng/geom-io-obj@0.1.42) (2021-03-17) - -**Note:** Version bump only for package @thi.ng/geom-io-obj - - - - - -## [0.1.41](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-io-obj@0.1.40...@thi.ng/geom-io-obj@0.1.41) (2021-03-12) +## [0.1.50](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-io-obj@0.1.49...@thi.ng/geom-io-obj@0.1.50) (2021-06-08) **Note:** Version bump only for package @thi.ng/geom-io-obj diff --git a/packages/geom-io-obj/package.json b/packages/geom-io-obj/package.json index bb7843f4f5..8d9aa93c63 100644 --- a/packages/geom-io-obj/package.json +++ b/packages/geom-io-obj/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/geom-io-obj", - "version": "0.1.46", + "version": "0.1.50", "description": "Wavefront OBJ parser (& exporter soon)", "module": "./index.js", "main": "./lib/index.js", @@ -42,15 +42,15 @@ "@microsoft/api-extractor": "^7.13.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.3.0", + "mocha": "^9.0.0", "nyc": "^15.1.0", - "ts-node": "^9.1.1", + "ts-node": "^10.0.0", "typedoc": "^0.20.30", - "typescript": "^4.2.3" + "typescript": "4.2.4" }, "dependencies": { - "@thi.ng/api": "^7.1.4", - "@thi.ng/vectors": "^5.2.1" + "@thi.ng/api": "^7.1.5", + "@thi.ng/vectors": "^6.0.1" }, "files": [ "*.js", diff --git a/packages/geom-isec/CHANGELOG.md b/packages/geom-isec/CHANGELOG.md index 9982717b90..03078d4bf3 100644 --- a/packages/geom-isec/CHANGELOG.md +++ b/packages/geom-isec/CHANGELOG.md @@ -3,47 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [0.7.20](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-isec@0.7.19...@thi.ng/geom-isec@0.7.20) (2021-04-03) - -**Note:** Version bump only for package @thi.ng/geom-isec - - - - - -## [0.7.19](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-isec@0.7.18...@thi.ng/geom-isec@0.7.19) (2021-03-30) - -**Note:** Version bump only for package @thi.ng/geom-isec - - - - - -## [0.7.18](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-isec@0.7.17...@thi.ng/geom-isec@0.7.18) (2021-03-28) - -**Note:** Version bump only for package @thi.ng/geom-isec - - - - - -## [0.7.17](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-isec@0.7.16...@thi.ng/geom-isec@0.7.17) (2021-03-27) - -**Note:** Version bump only for package @thi.ng/geom-isec - - - - - -## [0.7.16](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-isec@0.7.15...@thi.ng/geom-isec@0.7.16) (2021-03-17) - -**Note:** Version bump only for package @thi.ng/geom-isec - - - - - -## [0.7.15](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-isec@0.7.14...@thi.ng/geom-isec@0.7.15) (2021-03-12) +## [0.7.24](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-isec@0.7.23...@thi.ng/geom-isec@0.7.24) (2021-06-08) **Note:** Version bump only for package @thi.ng/geom-isec diff --git a/packages/geom-isec/package.json b/packages/geom-isec/package.json index 10a8024d71..c014609c7c 100644 --- a/packages/geom-isec/package.json +++ b/packages/geom-isec/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/geom-isec", - "version": "0.7.20", + "version": "0.7.24", "description": "2D/3D shape intersection checks", "module": "./index.js", "main": "./lib/index.js", @@ -42,18 +42,18 @@ "@microsoft/api-extractor": "^7.13.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.3.0", + "mocha": "^9.0.0", "nyc": "^15.1.0", - "ts-node": "^9.1.1", + "ts-node": "^10.0.0", "typedoc": "^0.20.30", - "typescript": "^4.2.3" + "typescript": "4.2.4" }, "dependencies": { - "@thi.ng/api": "^7.1.4", - "@thi.ng/geom-api": "^2.0.17", - "@thi.ng/geom-closest-point": "^0.5.22", - "@thi.ng/math": "^3.4.0", - "@thi.ng/vectors": "^5.2.1" + "@thi.ng/api": "^7.1.5", + "@thi.ng/geom-api": "^2.0.21", + "@thi.ng/geom-closest-point": "^0.5.26", + "@thi.ng/math": "^4.0.1", + "@thi.ng/vectors": "^6.0.1" }, "files": [ "*.js", diff --git a/packages/geom-isoline/CHANGELOG.md b/packages/geom-isoline/CHANGELOG.md index 9037172b42..d1fedc60ed 100644 --- a/packages/geom-isoline/CHANGELOG.md +++ b/packages/geom-isoline/CHANGELOG.md @@ -3,47 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [0.1.86](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-isoline@0.1.85...@thi.ng/geom-isoline@0.1.86) (2021-04-03) - -**Note:** Version bump only for package @thi.ng/geom-isoline - - - - - -## [0.1.85](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-isoline@0.1.84...@thi.ng/geom-isoline@0.1.85) (2021-03-30) - -**Note:** Version bump only for package @thi.ng/geom-isoline - - - - - -## [0.1.84](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-isoline@0.1.83...@thi.ng/geom-isoline@0.1.84) (2021-03-28) - -**Note:** Version bump only for package @thi.ng/geom-isoline - - - - - -## [0.1.83](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-isoline@0.1.82...@thi.ng/geom-isoline@0.1.83) (2021-03-27) - -**Note:** Version bump only for package @thi.ng/geom-isoline - - - - - -## [0.1.82](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-isoline@0.1.81...@thi.ng/geom-isoline@0.1.82) (2021-03-17) - -**Note:** Version bump only for package @thi.ng/geom-isoline - - - - - -## [0.1.81](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-isoline@0.1.80...@thi.ng/geom-isoline@0.1.81) (2021-03-12) +## [0.1.90](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-isoline@0.1.89...@thi.ng/geom-isoline@0.1.90) (2021-06-08) **Note:** Version bump only for package @thi.ng/geom-isoline diff --git a/packages/geom-isoline/package.json b/packages/geom-isoline/package.json index 1e4e7334c8..f6ab82a3c5 100644 --- a/packages/geom-isoline/package.json +++ b/packages/geom-isoline/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/geom-isoline", - "version": "0.1.86", + "version": "0.1.90", "description": "Fast 2D contour line extraction / generation", "module": "./index.js", "main": "./lib/index.js", @@ -42,16 +42,16 @@ "@microsoft/api-extractor": "^7.13.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.3.0", + "mocha": "^9.0.0", "nyc": "^15.1.0", - "ts-node": "^9.1.1", + "ts-node": "^10.0.0", "typedoc": "^0.20.30", - "typescript": "^4.2.3" + "typescript": "4.2.4" }, "dependencies": { - "@thi.ng/api": "^7.1.4", - "@thi.ng/transducers": "^7.6.10", - "@thi.ng/vectors": "^5.2.1" + "@thi.ng/api": "^7.1.5", + "@thi.ng/transducers": "^7.7.3", + "@thi.ng/vectors": "^6.0.1" }, "files": [ "*.js", diff --git a/packages/geom-poly-utils/CHANGELOG.md b/packages/geom-poly-utils/CHANGELOG.md index 8ef904dff9..9b0403a4b6 100644 --- a/packages/geom-poly-utils/CHANGELOG.md +++ b/packages/geom-poly-utils/CHANGELOG.md @@ -3,47 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [0.3.17](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-poly-utils@0.3.16...@thi.ng/geom-poly-utils@0.3.17) (2021-04-03) - -**Note:** Version bump only for package @thi.ng/geom-poly-utils - - - - - -## [0.3.16](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-poly-utils@0.3.15...@thi.ng/geom-poly-utils@0.3.16) (2021-03-30) - -**Note:** Version bump only for package @thi.ng/geom-poly-utils - - - - - -## [0.3.15](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-poly-utils@0.3.14...@thi.ng/geom-poly-utils@0.3.15) (2021-03-28) - -**Note:** Version bump only for package @thi.ng/geom-poly-utils - - - - - -## [0.3.14](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-poly-utils@0.3.13...@thi.ng/geom-poly-utils@0.3.14) (2021-03-27) - -**Note:** Version bump only for package @thi.ng/geom-poly-utils - - - - - -## [0.3.13](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-poly-utils@0.3.12...@thi.ng/geom-poly-utils@0.3.13) (2021-03-17) - -**Note:** Version bump only for package @thi.ng/geom-poly-utils - - - - - -## [0.3.12](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-poly-utils@0.3.11...@thi.ng/geom-poly-utils@0.3.12) (2021-03-12) +## [0.3.21](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-poly-utils@0.3.20...@thi.ng/geom-poly-utils@0.3.21) (2021-06-08) **Note:** Version bump only for package @thi.ng/geom-poly-utils diff --git a/packages/geom-poly-utils/package.json b/packages/geom-poly-utils/package.json index 95084f96ab..40a1c20d21 100644 --- a/packages/geom-poly-utils/package.json +++ b/packages/geom-poly-utils/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/geom-poly-utils", - "version": "0.3.17", + "version": "0.3.21", "description": "2D polygon/polyline analysis & processing utilities", "module": "./index.js", "main": "./lib/index.js", @@ -42,18 +42,18 @@ "@microsoft/api-extractor": "^7.13.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.3.0", + "mocha": "^9.0.0", "nyc": "^15.1.0", - "ts-node": "^9.1.1", + "ts-node": "^10.0.0", "typedoc": "^0.20.30", - "typescript": "^4.2.3" + "typescript": "4.2.4" }, "dependencies": { - "@thi.ng/api": "^7.1.4", - "@thi.ng/errors": "^1.3.0", - "@thi.ng/geom-api": "^2.0.17", - "@thi.ng/math": "^3.4.0", - "@thi.ng/vectors": "^5.2.1" + "@thi.ng/api": "^7.1.5", + "@thi.ng/errors": "^1.3.1", + "@thi.ng/geom-api": "^2.0.21", + "@thi.ng/math": "^4.0.1", + "@thi.ng/vectors": "^6.0.1" }, "files": [ "*.js", diff --git a/packages/geom-resample/CHANGELOG.md b/packages/geom-resample/CHANGELOG.md index d1ae49483b..0f0d08b496 100644 --- a/packages/geom-resample/CHANGELOG.md +++ b/packages/geom-resample/CHANGELOG.md @@ -3,47 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [0.2.68](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-resample@0.2.67...@thi.ng/geom-resample@0.2.68) (2021-04-03) - -**Note:** Version bump only for package @thi.ng/geom-resample - - - - - -## [0.2.67](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-resample@0.2.66...@thi.ng/geom-resample@0.2.67) (2021-03-30) - -**Note:** Version bump only for package @thi.ng/geom-resample - - - - - -## [0.2.66](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-resample@0.2.65...@thi.ng/geom-resample@0.2.66) (2021-03-28) - -**Note:** Version bump only for package @thi.ng/geom-resample - - - - - -## [0.2.65](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-resample@0.2.64...@thi.ng/geom-resample@0.2.65) (2021-03-27) - -**Note:** Version bump only for package @thi.ng/geom-resample - - - - - -## [0.2.64](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-resample@0.2.63...@thi.ng/geom-resample@0.2.64) (2021-03-17) - -**Note:** Version bump only for package @thi.ng/geom-resample - - - - - -## [0.2.63](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-resample@0.2.62...@thi.ng/geom-resample@0.2.63) (2021-03-12) +## [0.2.72](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-resample@0.2.71...@thi.ng/geom-resample@0.2.72) (2021-06-08) **Note:** Version bump only for package @thi.ng/geom-resample diff --git a/packages/geom-resample/package.json b/packages/geom-resample/package.json index f6d73e414c..f0a58cdadd 100644 --- a/packages/geom-resample/package.json +++ b/packages/geom-resample/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/geom-resample", - "version": "0.2.68", + "version": "0.2.72", "description": "Customizable nD polyline interpolation, re-sampling, splitting & nearest point computation", "module": "./index.js", "main": "./lib/index.js", @@ -42,18 +42,18 @@ "@microsoft/api-extractor": "^7.13.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.3.0", + "mocha": "^9.0.0", "nyc": "^15.1.0", - "ts-node": "^9.1.1", + "ts-node": "^10.0.0", "typedoc": "^0.20.30", - "typescript": "^4.2.3" + "typescript": "4.2.4" }, "dependencies": { - "@thi.ng/checks": "^2.9.6", - "@thi.ng/geom-api": "^2.0.17", - "@thi.ng/geom-closest-point": "^0.5.22", - "@thi.ng/math": "^3.4.0", - "@thi.ng/vectors": "^5.2.1" + "@thi.ng/checks": "^2.9.7", + "@thi.ng/geom-api": "^2.0.21", + "@thi.ng/geom-closest-point": "^0.5.26", + "@thi.ng/math": "^4.0.1", + "@thi.ng/vectors": "^6.0.1" }, "files": [ "*.js", diff --git a/packages/geom-splines/CHANGELOG.md b/packages/geom-splines/CHANGELOG.md index 63ec430451..442d8df4f8 100644 --- a/packages/geom-splines/CHANGELOG.md +++ b/packages/geom-splines/CHANGELOG.md @@ -3,47 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [0.5.55](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-splines@0.5.54...@thi.ng/geom-splines@0.5.55) (2021-04-03) - -**Note:** Version bump only for package @thi.ng/geom-splines - - - - - -## [0.5.54](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-splines@0.5.53...@thi.ng/geom-splines@0.5.54) (2021-03-30) - -**Note:** Version bump only for package @thi.ng/geom-splines - - - - - -## [0.5.53](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-splines@0.5.52...@thi.ng/geom-splines@0.5.53) (2021-03-28) - -**Note:** Version bump only for package @thi.ng/geom-splines - - - - - -## [0.5.52](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-splines@0.5.51...@thi.ng/geom-splines@0.5.52) (2021-03-27) - -**Note:** Version bump only for package @thi.ng/geom-splines - - - - - -## [0.5.51](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-splines@0.5.50...@thi.ng/geom-splines@0.5.51) (2021-03-17) - -**Note:** Version bump only for package @thi.ng/geom-splines - - - - - -## [0.5.50](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-splines@0.5.49...@thi.ng/geom-splines@0.5.50) (2021-03-12) +## [0.5.59](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-splines@0.5.58...@thi.ng/geom-splines@0.5.59) (2021-06-08) **Note:** Version bump only for package @thi.ng/geom-splines diff --git a/packages/geom-splines/package.json b/packages/geom-splines/package.json index 74882c8e64..af4c0dbb9e 100644 --- a/packages/geom-splines/package.json +++ b/packages/geom-splines/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/geom-splines", - "version": "0.5.55", + "version": "0.5.59", "description": "nD cubic & quadratic curve analysis, conversion, interpolation, splitting", "module": "./index.js", "main": "./lib/index.js", @@ -42,20 +42,20 @@ "@microsoft/api-extractor": "^7.13.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.3.0", + "mocha": "^9.0.0", "nyc": "^15.1.0", - "ts-node": "^9.1.1", + "ts-node": "^10.0.0", "typedoc": "^0.20.30", - "typescript": "^4.2.3" + "typescript": "4.2.4" }, "dependencies": { - "@thi.ng/api": "^7.1.4", - "@thi.ng/checks": "^2.9.6", - "@thi.ng/geom-api": "^2.0.17", - "@thi.ng/geom-arc": "^0.3.35", - "@thi.ng/geom-resample": "^0.2.68", - "@thi.ng/math": "^3.4.0", - "@thi.ng/vectors": "^5.2.1" + "@thi.ng/api": "^7.1.5", + "@thi.ng/checks": "^2.9.7", + "@thi.ng/geom-api": "^2.0.21", + "@thi.ng/geom-arc": "^0.3.39", + "@thi.ng/geom-resample": "^0.2.72", + "@thi.ng/math": "^4.0.1", + "@thi.ng/vectors": "^6.0.1" }, "files": [ "*.js", diff --git a/packages/geom-subdiv-curve/CHANGELOG.md b/packages/geom-subdiv-curve/CHANGELOG.md index b88cdcb10f..b541f6ac37 100644 --- a/packages/geom-subdiv-curve/CHANGELOG.md +++ b/packages/geom-subdiv-curve/CHANGELOG.md @@ -3,47 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [0.1.86](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-subdiv-curve@0.1.85...@thi.ng/geom-subdiv-curve@0.1.86) (2021-04-03) - -**Note:** Version bump only for package @thi.ng/geom-subdiv-curve - - - - - -## [0.1.85](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-subdiv-curve@0.1.84...@thi.ng/geom-subdiv-curve@0.1.85) (2021-03-30) - -**Note:** Version bump only for package @thi.ng/geom-subdiv-curve - - - - - -## [0.1.84](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-subdiv-curve@0.1.83...@thi.ng/geom-subdiv-curve@0.1.84) (2021-03-28) - -**Note:** Version bump only for package @thi.ng/geom-subdiv-curve - - - - - -## [0.1.83](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-subdiv-curve@0.1.82...@thi.ng/geom-subdiv-curve@0.1.83) (2021-03-27) - -**Note:** Version bump only for package @thi.ng/geom-subdiv-curve - - - - - -## [0.1.82](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-subdiv-curve@0.1.81...@thi.ng/geom-subdiv-curve@0.1.82) (2021-03-17) - -**Note:** Version bump only for package @thi.ng/geom-subdiv-curve - - - - - -## [0.1.81](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-subdiv-curve@0.1.80...@thi.ng/geom-subdiv-curve@0.1.81) (2021-03-12) +## [0.1.90](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-subdiv-curve@0.1.89...@thi.ng/geom-subdiv-curve@0.1.90) (2021-06-08) **Note:** Version bump only for package @thi.ng/geom-subdiv-curve diff --git a/packages/geom-subdiv-curve/package.json b/packages/geom-subdiv-curve/package.json index 374999a438..e36df7bfa2 100644 --- a/packages/geom-subdiv-curve/package.json +++ b/packages/geom-subdiv-curve/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/geom-subdiv-curve", - "version": "0.1.86", + "version": "0.1.90", "description": "Freely customizable, iterative nD subdivision curves for open / closed geometries", "module": "./index.js", "main": "./lib/index.js", @@ -42,17 +42,17 @@ "@microsoft/api-extractor": "^7.13.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.3.0", + "mocha": "^9.0.0", "nyc": "^15.1.0", - "ts-node": "^9.1.1", + "ts-node": "^10.0.0", "typedoc": "^0.20.30", - "typescript": "^4.2.3" + "typescript": "4.2.4" }, "dependencies": { - "@thi.ng/api": "^7.1.4", - "@thi.ng/geom-api": "^2.0.17", - "@thi.ng/transducers": "^7.6.10", - "@thi.ng/vectors": "^5.2.1" + "@thi.ng/api": "^7.1.5", + "@thi.ng/geom-api": "^2.0.21", + "@thi.ng/transducers": "^7.7.3", + "@thi.ng/vectors": "^6.0.1" }, "files": [ "*.js", diff --git a/packages/geom-tessellate/CHANGELOG.md b/packages/geom-tessellate/CHANGELOG.md index cba2a4aedc..ee0e2e1edb 100644 --- a/packages/geom-tessellate/CHANGELOG.md +++ b/packages/geom-tessellate/CHANGELOG.md @@ -3,47 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [0.2.69](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-tessellate@0.2.68...@thi.ng/geom-tessellate@0.2.69) (2021-04-03) - -**Note:** Version bump only for package @thi.ng/geom-tessellate - - - - - -## [0.2.68](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-tessellate@0.2.67...@thi.ng/geom-tessellate@0.2.68) (2021-03-30) - -**Note:** Version bump only for package @thi.ng/geom-tessellate - - - - - -## [0.2.67](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-tessellate@0.2.66...@thi.ng/geom-tessellate@0.2.67) (2021-03-28) - -**Note:** Version bump only for package @thi.ng/geom-tessellate - - - - - -## [0.2.66](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-tessellate@0.2.65...@thi.ng/geom-tessellate@0.2.66) (2021-03-27) - -**Note:** Version bump only for package @thi.ng/geom-tessellate - - - - - -## [0.2.65](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-tessellate@0.2.64...@thi.ng/geom-tessellate@0.2.65) (2021-03-17) - -**Note:** Version bump only for package @thi.ng/geom-tessellate - - - - - -## [0.2.64](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-tessellate@0.2.63...@thi.ng/geom-tessellate@0.2.64) (2021-03-12) +## [0.2.73](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-tessellate@0.2.72...@thi.ng/geom-tessellate@0.2.73) (2021-06-08) **Note:** Version bump only for package @thi.ng/geom-tessellate diff --git a/packages/geom-tessellate/package.json b/packages/geom-tessellate/package.json index 2880b59e8d..9049132662 100644 --- a/packages/geom-tessellate/package.json +++ b/packages/geom-tessellate/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/geom-tessellate", - "version": "0.2.69", + "version": "0.2.73", "description": "2D/3D convex polygon tessellators", "module": "./index.js", "main": "./lib/index.js", @@ -42,19 +42,19 @@ "@microsoft/api-extractor": "^7.13.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.3.0", + "mocha": "^9.0.0", "nyc": "^15.1.0", - "ts-node": "^9.1.1", + "ts-node": "^10.0.0", "typedoc": "^0.20.30", - "typescript": "^4.2.3" + "typescript": "4.2.4" }, "dependencies": { - "@thi.ng/checks": "^2.9.6", - "@thi.ng/geom-api": "^2.0.17", - "@thi.ng/geom-isec": "^0.7.20", - "@thi.ng/geom-poly-utils": "^0.3.17", - "@thi.ng/transducers": "^7.6.10", - "@thi.ng/vectors": "^5.2.1" + "@thi.ng/checks": "^2.9.7", + "@thi.ng/geom-api": "^2.0.21", + "@thi.ng/geom-isec": "^0.7.24", + "@thi.ng/geom-poly-utils": "^0.3.21", + "@thi.ng/transducers": "^7.7.3", + "@thi.ng/vectors": "^6.0.1" }, "files": [ "*.js", diff --git a/packages/geom-voronoi/CHANGELOG.md b/packages/geom-voronoi/CHANGELOG.md index a240480ba1..9a345e9209 100644 --- a/packages/geom-voronoi/CHANGELOG.md +++ b/packages/geom-voronoi/CHANGELOG.md @@ -3,47 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [0.2.31](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-voronoi@0.2.30...@thi.ng/geom-voronoi@0.2.31) (2021-04-03) - -**Note:** Version bump only for package @thi.ng/geom-voronoi - - - - - -## [0.2.30](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-voronoi@0.2.29...@thi.ng/geom-voronoi@0.2.30) (2021-03-30) - -**Note:** Version bump only for package @thi.ng/geom-voronoi - - - - - -## [0.2.29](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-voronoi@0.2.28...@thi.ng/geom-voronoi@0.2.29) (2021-03-28) - -**Note:** Version bump only for package @thi.ng/geom-voronoi - - - - - -## [0.2.28](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-voronoi@0.2.27...@thi.ng/geom-voronoi@0.2.28) (2021-03-27) - -**Note:** Version bump only for package @thi.ng/geom-voronoi - - - - - -## [0.2.27](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-voronoi@0.2.26...@thi.ng/geom-voronoi@0.2.27) (2021-03-17) - -**Note:** Version bump only for package @thi.ng/geom-voronoi - - - - - -## [0.2.26](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-voronoi@0.2.25...@thi.ng/geom-voronoi@0.2.26) (2021-03-12) +## [0.2.35](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom-voronoi@0.2.34...@thi.ng/geom-voronoi@0.2.35) (2021-06-08) **Note:** Version bump only for package @thi.ng/geom-voronoi diff --git a/packages/geom-voronoi/package.json b/packages/geom-voronoi/package.json index 20e25e6c7b..1469d80072 100644 --- a/packages/geom-voronoi/package.json +++ b/packages/geom-voronoi/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/geom-voronoi", - "version": "0.2.31", + "version": "0.2.35", "description": "Fast, incremental 2D Delaunay & Voronoi mesh implementation", "module": "./index.js", "main": "./lib/index.js", @@ -42,22 +42,22 @@ "@microsoft/api-extractor": "^7.13.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.3.0", + "mocha": "^9.0.0", "nyc": "^15.1.0", - "ts-node": "^9.1.1", + "ts-node": "^10.0.0", "typedoc": "^0.20.30", - "typescript": "^4.2.3" + "typescript": "4.2.4" }, "dependencies": { - "@thi.ng/api": "^7.1.4", - "@thi.ng/checks": "^2.9.6", - "@thi.ng/geom-clip-line": "^1.2.31", - "@thi.ng/geom-clip-poly": "^1.0.56", - "@thi.ng/geom-isec": "^0.7.20", - "@thi.ng/geom-poly-utils": "^0.3.17", - "@thi.ng/math": "^3.4.0", - "@thi.ng/quad-edge": "^0.2.34", - "@thi.ng/vectors": "^5.2.1" + "@thi.ng/api": "^7.1.5", + "@thi.ng/checks": "^2.9.7", + "@thi.ng/geom-clip-line": "^1.2.35", + "@thi.ng/geom-clip-poly": "^1.0.60", + "@thi.ng/geom-isec": "^0.7.24", + "@thi.ng/geom-poly-utils": "^0.3.21", + "@thi.ng/math": "^4.0.1", + "@thi.ng/quad-edge": "^0.2.35", + "@thi.ng/vectors": "^6.0.1" }, "files": [ "*.js", diff --git a/packages/geom/CHANGELOG.md b/packages/geom/CHANGELOG.md index eacde45221..a6961486d0 100644 --- a/packages/geom/CHANGELOG.md +++ b/packages/geom/CHANGELOG.md @@ -3,63 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [2.1.14](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom@2.1.13...@thi.ng/geom@2.1.14) (2021-04-03) - -**Note:** Version bump only for package @thi.ng/geom - - - - - -## [2.1.13](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom@2.1.12...@thi.ng/geom@2.1.13) (2021-03-30) - -**Note:** Version bump only for package @thi.ng/geom - - - - - -## [2.1.12](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom@2.1.11...@thi.ng/geom@2.1.12) (2021-03-28) - -**Note:** Version bump only for package @thi.ng/geom - - - - - -## [2.1.11](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom@2.1.10...@thi.ng/geom@2.1.11) (2021-03-27) - -**Note:** Version bump only for package @thi.ng/geom - - - - - -## [2.1.10](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom@2.1.9...@thi.ng/geom@2.1.10) (2021-03-24) - -**Note:** Version bump only for package @thi.ng/geom - - - - - -## [2.1.9](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom@2.1.8...@thi.ng/geom@2.1.9) (2021-03-24) - -**Note:** Version bump only for package @thi.ng/geom - - - - - -## [2.1.8](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom@2.1.7...@thi.ng/geom@2.1.8) (2021-03-17) - -**Note:** Version bump only for package @thi.ng/geom - - - - - -## [2.1.7](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom@2.1.6...@thi.ng/geom@2.1.7) (2021-03-12) +## [2.1.18](https://github.com/thi-ng/umbrella/compare/@thi.ng/geom@2.1.17...@thi.ng/geom@2.1.18) (2021-06-08) **Note:** Version bump only for package @thi.ng/geom diff --git a/packages/geom/package.json b/packages/geom/package.json index 699b70015f..5635a7e522 100644 --- a/packages/geom/package.json +++ b/packages/geom/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/geom", - "version": "2.1.14", + "version": "2.1.18", "description": "Functional, polymorphic API for 2D geometry types & SVG generation", "module": "./index.js", "main": "./lib/index.js", @@ -42,39 +42,39 @@ "@microsoft/api-extractor": "^7.13.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.3.0", + "mocha": "^9.0.0", "nyc": "^15.1.0", - "ts-node": "^9.1.1", + "ts-node": "^10.0.0", "typedoc": "^0.20.30", - "typescript": "^4.2.3" + "typescript": "4.2.4" }, "dependencies": { - "@thi.ng/api": "^7.1.4", - "@thi.ng/arrays": "^0.10.10", - "@thi.ng/checks": "^2.9.6", - "@thi.ng/defmulti": "^1.3.11", - "@thi.ng/equiv": "^1.0.41", - "@thi.ng/errors": "^1.3.0", - "@thi.ng/geom-api": "^2.0.17", - "@thi.ng/geom-arc": "^0.3.35", - "@thi.ng/geom-clip-line": "^1.2.31", - "@thi.ng/geom-clip-poly": "^1.0.56", - "@thi.ng/geom-closest-point": "^0.5.22", - "@thi.ng/geom-hull": "^0.0.88", - "@thi.ng/geom-isec": "^0.7.20", - "@thi.ng/geom-poly-utils": "^0.3.17", - "@thi.ng/geom-resample": "^0.2.68", - "@thi.ng/geom-splines": "^0.5.55", - "@thi.ng/geom-subdiv-curve": "^0.1.86", - "@thi.ng/geom-tessellate": "^0.2.69", - "@thi.ng/hiccup": "^3.6.15", - "@thi.ng/hiccup-svg": "^3.7.20", - "@thi.ng/math": "^3.4.0", - "@thi.ng/matrices": "^0.6.55", - "@thi.ng/random": "^2.3.7", - "@thi.ng/strings": "^2.1.0", - "@thi.ng/transducers": "^7.6.10", - "@thi.ng/vectors": "^5.2.1" + "@thi.ng/api": "^7.1.5", + "@thi.ng/arrays": "^0.10.12", + "@thi.ng/checks": "^2.9.7", + "@thi.ng/defmulti": "^1.3.12", + "@thi.ng/equiv": "^1.0.42", + "@thi.ng/errors": "^1.3.1", + "@thi.ng/geom-api": "^2.0.21", + "@thi.ng/geom-arc": "^0.3.39", + "@thi.ng/geom-clip-line": "^1.2.35", + "@thi.ng/geom-clip-poly": "^1.0.60", + "@thi.ng/geom-closest-point": "^0.5.26", + "@thi.ng/geom-hull": "^0.0.92", + "@thi.ng/geom-isec": "^0.7.24", + "@thi.ng/geom-poly-utils": "^0.3.21", + "@thi.ng/geom-resample": "^0.2.72", + "@thi.ng/geom-splines": "^0.5.59", + "@thi.ng/geom-subdiv-curve": "^0.1.90", + "@thi.ng/geom-tessellate": "^0.2.73", + "@thi.ng/hiccup": "^3.6.16", + "@thi.ng/hiccup-svg": "^3.7.24", + "@thi.ng/math": "^4.0.1", + "@thi.ng/matrices": "^0.6.59", + "@thi.ng/random": "^2.4.1", + "@thi.ng/strings": "^2.1.1", + "@thi.ng/transducers": "^7.7.3", + "@thi.ng/vectors": "^6.0.1" }, "files": [ "*.js", diff --git a/packages/gp/CHANGELOG.md b/packages/gp/CHANGELOG.md index 9cc0ae7726..0b0e64bc56 100644 --- a/packages/gp/CHANGELOG.md +++ b/packages/gp/CHANGELOG.md @@ -3,39 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [0.2.16](https://github.com/thi-ng/umbrella/compare/@thi.ng/gp@0.2.15...@thi.ng/gp@0.2.16) (2021-04-03) - -**Note:** Version bump only for package @thi.ng/gp - - - - - -## [0.2.15](https://github.com/thi-ng/umbrella/compare/@thi.ng/gp@0.2.14...@thi.ng/gp@0.2.15) (2021-03-28) - -**Note:** Version bump only for package @thi.ng/gp - - - - - -## [0.2.14](https://github.com/thi-ng/umbrella/compare/@thi.ng/gp@0.2.13...@thi.ng/gp@0.2.14) (2021-03-27) - -**Note:** Version bump only for package @thi.ng/gp - - - - - -## [0.2.13](https://github.com/thi-ng/umbrella/compare/@thi.ng/gp@0.2.12...@thi.ng/gp@0.2.13) (2021-03-17) - -**Note:** Version bump only for package @thi.ng/gp - - - - - -## [0.2.12](https://github.com/thi-ng/umbrella/compare/@thi.ng/gp@0.2.11...@thi.ng/gp@0.2.12) (2021-03-12) +## [0.2.20](https://github.com/thi-ng/umbrella/compare/@thi.ng/gp@0.2.19...@thi.ng/gp@0.2.20) (2021-06-08) **Note:** Version bump only for package @thi.ng/gp diff --git a/packages/gp/package.json b/packages/gp/package.json index ea9e5d84c4..cde5cf65a1 100644 --- a/packages/gp/package.json +++ b/packages/gp/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/gp", - "version": "0.2.16", + "version": "0.2.20", "description": "Genetic programming helpers & strategies (tree based & multi-expression programming)", "module": "./index.js", "main": "./lib/index.js", @@ -42,18 +42,18 @@ "@microsoft/api-extractor": "^7.13.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.3.0", + "mocha": "^9.0.0", "nyc": "^15.1.0", - "ts-node": "^9.1.1", + "ts-node": "^10.0.0", "typedoc": "^0.20.30", - "typescript": "^4.2.3" + "typescript": "4.2.4" }, "dependencies": { - "@thi.ng/api": "^7.1.4", - "@thi.ng/math": "^3.4.0", - "@thi.ng/random": "^2.3.7", - "@thi.ng/transducers": "^7.6.10", - "@thi.ng/zipper": "^0.1.44" + "@thi.ng/api": "^7.1.5", + "@thi.ng/math": "^4.0.1", + "@thi.ng/random": "^2.4.1", + "@thi.ng/transducers": "^7.7.3", + "@thi.ng/zipper": "^0.1.46" }, "files": [ "*.js", diff --git a/packages/grid-iterators/CHANGELOG.md b/packages/grid-iterators/CHANGELOG.md index 1ac4f38b3c..89fa22dd80 100644 --- a/packages/grid-iterators/CHANGELOG.md +++ b/packages/grid-iterators/CHANGELOG.md @@ -3,39 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [0.4.32](https://github.com/thi-ng/umbrella/compare/@thi.ng/grid-iterators@0.4.31...@thi.ng/grid-iterators@0.4.32) (2021-04-03) - -**Note:** Version bump only for package @thi.ng/grid-iterators - - - - - -## [0.4.31](https://github.com/thi-ng/umbrella/compare/@thi.ng/grid-iterators@0.4.30...@thi.ng/grid-iterators@0.4.31) (2021-03-28) - -**Note:** Version bump only for package @thi.ng/grid-iterators - - - - - -## [0.4.30](https://github.com/thi-ng/umbrella/compare/@thi.ng/grid-iterators@0.4.29...@thi.ng/grid-iterators@0.4.30) (2021-03-27) - -**Note:** Version bump only for package @thi.ng/grid-iterators - - - - - -## [0.4.29](https://github.com/thi-ng/umbrella/compare/@thi.ng/grid-iterators@0.4.28...@thi.ng/grid-iterators@0.4.29) (2021-03-17) - -**Note:** Version bump only for package @thi.ng/grid-iterators - - - - - -## [0.4.28](https://github.com/thi-ng/umbrella/compare/@thi.ng/grid-iterators@0.4.27...@thi.ng/grid-iterators@0.4.28) (2021-03-12) +## [0.4.36](https://github.com/thi-ng/umbrella/compare/@thi.ng/grid-iterators@0.4.35...@thi.ng/grid-iterators@0.4.36) (2021-06-08) **Note:** Version bump only for package @thi.ng/grid-iterators diff --git a/packages/grid-iterators/package.json b/packages/grid-iterators/package.json index d37e1d51c5..2186468538 100644 --- a/packages/grid-iterators/package.json +++ b/packages/grid-iterators/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/grid-iterators", - "version": "0.4.32", + "version": "0.4.36", "description": "2D grid iterators w/ multiple orderings", "module": "./index.js", "main": "./lib/index.js", @@ -43,18 +43,18 @@ "@microsoft/api-extractor": "^7.13.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.3.0", + "mocha": "^9.0.0", "nyc": "^15.1.0", - "ts-node": "^9.1.1", + "ts-node": "^10.0.0", "typedoc": "^0.20.30", - "typescript": "^4.2.3" + "typescript": "4.2.4" }, "dependencies": { - "@thi.ng/arrays": "^0.10.10", - "@thi.ng/binary": "^2.2.4", - "@thi.ng/morton": "^2.0.39", - "@thi.ng/random": "^2.3.7", - "@thi.ng/transducers": "^7.6.10" + "@thi.ng/arrays": "^0.10.12", + "@thi.ng/binary": "^2.2.5", + "@thi.ng/morton": "^2.0.41", + "@thi.ng/random": "^2.4.1", + "@thi.ng/transducers": "^7.7.3" }, "files": [ "*.js", diff --git a/packages/hdiff/CHANGELOG.md b/packages/hdiff/CHANGELOG.md index 2d521b0038..724e463f23 100644 --- a/packages/hdiff/CHANGELOG.md +++ b/packages/hdiff/CHANGELOG.md @@ -3,55 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [0.1.39](https://github.com/thi-ng/umbrella/compare/@thi.ng/hdiff@0.1.38...@thi.ng/hdiff@0.1.39) (2021-04-03) - -**Note:** Version bump only for package @thi.ng/hdiff - - - - - -## [0.1.38](https://github.com/thi-ng/umbrella/compare/@thi.ng/hdiff@0.1.37...@thi.ng/hdiff@0.1.38) (2021-03-28) - -**Note:** Version bump only for package @thi.ng/hdiff - - - - - -## [0.1.37](https://github.com/thi-ng/umbrella/compare/@thi.ng/hdiff@0.1.36...@thi.ng/hdiff@0.1.37) (2021-03-27) - -**Note:** Version bump only for package @thi.ng/hdiff - - - - - -## [0.1.36](https://github.com/thi-ng/umbrella/compare/@thi.ng/hdiff@0.1.35...@thi.ng/hdiff@0.1.36) (2021-03-24) - -**Note:** Version bump only for package @thi.ng/hdiff - - - - - -## [0.1.35](https://github.com/thi-ng/umbrella/compare/@thi.ng/hdiff@0.1.34...@thi.ng/hdiff@0.1.35) (2021-03-24) - -**Note:** Version bump only for package @thi.ng/hdiff - - - - - -## [0.1.34](https://github.com/thi-ng/umbrella/compare/@thi.ng/hdiff@0.1.33...@thi.ng/hdiff@0.1.34) (2021-03-17) - -**Note:** Version bump only for package @thi.ng/hdiff - - - - - -## [0.1.33](https://github.com/thi-ng/umbrella/compare/@thi.ng/hdiff@0.1.32...@thi.ng/hdiff@0.1.33) (2021-03-12) +## [0.1.43](https://github.com/thi-ng/umbrella/compare/@thi.ng/hdiff@0.1.42...@thi.ng/hdiff@0.1.43) (2021-06-08) **Note:** Version bump only for package @thi.ng/hdiff diff --git a/packages/hdiff/package.json b/packages/hdiff/package.json index c4926c95c6..9670a9e658 100644 --- a/packages/hdiff/package.json +++ b/packages/hdiff/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/hdiff", - "version": "0.1.39", + "version": "0.1.43", "description": "String diffing w/ hiccup output for further processing, e.g. with @thi.ng/hdom, @thi.ng/hiccup. Includes CLI util to generate HTML, with theme support and code folding", "module": "./index.js", "main": "./lib/index.js", @@ -44,18 +44,18 @@ "@microsoft/api-extractor": "^7.13.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.3.0", + "mocha": "^9.0.0", "nyc": "^15.1.0", - "ts-node": "^9.1.1", + "ts-node": "^10.0.0", "typedoc": "^0.20.30", - "typescript": "^4.2.3" + "typescript": "4.2.4" }, "dependencies": { - "@thi.ng/api": "^7.1.4", - "@thi.ng/diff": "^4.0.7", - "@thi.ng/hiccup": "^3.6.15", - "@thi.ng/hiccup-css": "^1.1.59", - "@thi.ng/strings": "^2.1.0" + "@thi.ng/api": "^7.1.5", + "@thi.ng/diff": "^4.0.8", + "@thi.ng/hiccup": "^3.6.16", + "@thi.ng/hiccup-css": "^1.1.63", + "@thi.ng/strings": "^2.1.1" }, "files": [ "*.js", diff --git a/packages/hdom-canvas/CHANGELOG.md b/packages/hdom-canvas/CHANGELOG.md index bfa4ac13a1..07d16caa67 100644 --- a/packages/hdom-canvas/CHANGELOG.md +++ b/packages/hdom-canvas/CHANGELOG.md @@ -3,63 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [3.0.45](https://github.com/thi-ng/umbrella/compare/@thi.ng/hdom-canvas@3.0.44...@thi.ng/hdom-canvas@3.0.45) (2021-04-03) - -**Note:** Version bump only for package @thi.ng/hdom-canvas - - - - - -## [3.0.44](https://github.com/thi-ng/umbrella/compare/@thi.ng/hdom-canvas@3.0.43...@thi.ng/hdom-canvas@3.0.44) (2021-03-30) - -**Note:** Version bump only for package @thi.ng/hdom-canvas - - - - - -## [3.0.43](https://github.com/thi-ng/umbrella/compare/@thi.ng/hdom-canvas@3.0.42...@thi.ng/hdom-canvas@3.0.43) (2021-03-28) - -**Note:** Version bump only for package @thi.ng/hdom-canvas - - - - - -## [3.0.42](https://github.com/thi-ng/umbrella/compare/@thi.ng/hdom-canvas@3.0.41...@thi.ng/hdom-canvas@3.0.42) (2021-03-27) - -**Note:** Version bump only for package @thi.ng/hdom-canvas - - - - - -## [3.0.41](https://github.com/thi-ng/umbrella/compare/@thi.ng/hdom-canvas@3.0.40...@thi.ng/hdom-canvas@3.0.41) (2021-03-24) - -**Note:** Version bump only for package @thi.ng/hdom-canvas - - - - - -## [3.0.40](https://github.com/thi-ng/umbrella/compare/@thi.ng/hdom-canvas@3.0.39...@thi.ng/hdom-canvas@3.0.40) (2021-03-24) - -**Note:** Version bump only for package @thi.ng/hdom-canvas - - - - - -## [3.0.39](https://github.com/thi-ng/umbrella/compare/@thi.ng/hdom-canvas@3.0.38...@thi.ng/hdom-canvas@3.0.39) (2021-03-17) - -**Note:** Version bump only for package @thi.ng/hdom-canvas - - - - - -## [3.0.38](https://github.com/thi-ng/umbrella/compare/@thi.ng/hdom-canvas@3.0.37...@thi.ng/hdom-canvas@3.0.38) (2021-03-12) +## [3.0.50](https://github.com/thi-ng/umbrella/compare/@thi.ng/hdom-canvas@3.0.49...@thi.ng/hdom-canvas@3.0.50) (2021-06-08) **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 55e4a33d07..b0d562c597 100644 --- a/packages/hdom-canvas/package.json +++ b/packages/hdom-canvas/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/hdom-canvas", - "version": "3.0.45", + "version": "3.0.50", "description": "@thi.ng/hdom component wrapper for declarative canvas scenegraphs", "module": "./index.js", "main": "./lib/index.js", @@ -42,18 +42,18 @@ "@microsoft/api-extractor": "^7.13.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.3.0", + "mocha": "^9.0.0", "nyc": "^15.1.0", - "ts-node": "^9.1.1", + "ts-node": "^10.0.0", "typedoc": "^0.20.30", - "typescript": "^4.2.3" + "typescript": "4.2.4" }, "dependencies": { - "@thi.ng/api": "^7.1.4", - "@thi.ng/checks": "^2.9.6", - "@thi.ng/diff": "^4.0.7", - "@thi.ng/hdom": "^8.2.25", - "@thi.ng/hiccup-canvas": "^1.2.0" + "@thi.ng/api": "^7.1.5", + "@thi.ng/checks": "^2.9.7", + "@thi.ng/diff": "^4.0.8", + "@thi.ng/hdom": "^8.2.26", + "@thi.ng/hiccup-canvas": "^1.2.5" }, "files": [ "*.js", diff --git a/packages/hdom-components/CHANGELOG.md b/packages/hdom-components/CHANGELOG.md index 60418a4e81..a17a439f40 100644 --- a/packages/hdom-components/CHANGELOG.md +++ b/packages/hdom-components/CHANGELOG.md @@ -3,39 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [4.0.34](https://github.com/thi-ng/umbrella/compare/@thi.ng/hdom-components@4.0.33...@thi.ng/hdom-components@4.0.34) (2021-04-03) - -**Note:** Version bump only for package @thi.ng/hdom-components - - - - - -## [4.0.33](https://github.com/thi-ng/umbrella/compare/@thi.ng/hdom-components@4.0.32...@thi.ng/hdom-components@4.0.33) (2021-03-28) - -**Note:** Version bump only for package @thi.ng/hdom-components - - - - - -## [4.0.32](https://github.com/thi-ng/umbrella/compare/@thi.ng/hdom-components@4.0.31...@thi.ng/hdom-components@4.0.32) (2021-03-27) - -**Note:** Version bump only for package @thi.ng/hdom-components - - - - - -## [4.0.31](https://github.com/thi-ng/umbrella/compare/@thi.ng/hdom-components@4.0.30...@thi.ng/hdom-components@4.0.31) (2021-03-17) - -**Note:** Version bump only for package @thi.ng/hdom-components - - - - - -## [4.0.30](https://github.com/thi-ng/umbrella/compare/@thi.ng/hdom-components@4.0.29...@thi.ng/hdom-components@4.0.30) (2021-03-12) +## [4.0.38](https://github.com/thi-ng/umbrella/compare/@thi.ng/hdom-components@4.0.37...@thi.ng/hdom-components@4.0.38) (2021-06-08) **Note:** Version bump only for package @thi.ng/hdom-components diff --git a/packages/hdom-components/package.json b/packages/hdom-components/package.json index 55ba54637f..7a219e1095 100644 --- a/packages/hdom-components/package.json +++ b/packages/hdom-components/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/hdom-components", - "version": "4.0.34", + "version": "4.0.38", "description": "Raw, skinnable UI & SVG components for @thi.ng/hdom", "module": "./index.js", "main": "./lib/index.js", @@ -42,19 +42,19 @@ "@microsoft/api-extractor": "^7.13.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.3.0", + "mocha": "^9.0.0", "nyc": "^15.1.0", - "ts-node": "^9.1.1", + "ts-node": "^10.0.0", "typedoc": "^0.20.30", - "typescript": "^4.2.3" + "typescript": "4.2.4" }, "dependencies": { - "@thi.ng/adapt-dpi": "^1.0.19", - "@thi.ng/api": "^7.1.4", - "@thi.ng/checks": "^2.9.6", - "@thi.ng/math": "^3.4.0", - "@thi.ng/transducers": "^7.6.10", - "@thi.ng/transducers-stats": "^1.1.60" + "@thi.ng/adapt-dpi": "^1.0.20", + "@thi.ng/api": "^7.1.5", + "@thi.ng/checks": "^2.9.7", + "@thi.ng/math": "^4.0.1", + "@thi.ng/transducers": "^7.7.3", + "@thi.ng/transducers-stats": "^1.1.64" }, "files": [ "*.js", diff --git a/packages/hdom-mock/CHANGELOG.md b/packages/hdom-mock/CHANGELOG.md index e971ba7ea5..7443265c2f 100644 --- a/packages/hdom-mock/CHANGELOG.md +++ b/packages/hdom-mock/CHANGELOG.md @@ -3,23 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [1.1.57](https://github.com/thi-ng/umbrella/compare/@thi.ng/hdom-mock@1.1.56...@thi.ng/hdom-mock@1.1.57) (2021-04-03) - -**Note:** Version bump only for package @thi.ng/hdom-mock - - - - - -## [1.1.56](https://github.com/thi-ng/umbrella/compare/@thi.ng/hdom-mock@1.1.55...@thi.ng/hdom-mock@1.1.56) (2021-03-17) - -**Note:** Version bump only for package @thi.ng/hdom-mock - - - - - -## [1.1.55](https://github.com/thi-ng/umbrella/compare/@thi.ng/hdom-mock@1.1.54...@thi.ng/hdom-mock@1.1.55) (2021-03-12) +## [1.1.58](https://github.com/thi-ng/umbrella/compare/@thi.ng/hdom-mock@1.1.57...@thi.ng/hdom-mock@1.1.58) (2021-06-08) **Note:** Version bump only for package @thi.ng/hdom-mock diff --git a/packages/hdom-mock/package.json b/packages/hdom-mock/package.json index a55df53330..6ff2af5404 100644 --- a/packages/hdom-mock/package.json +++ b/packages/hdom-mock/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/hdom-mock", - "version": "1.1.57", + "version": "1.1.58", "description": "Mock base implementation for @thi.ng/hdom API", "module": "./index.js", "main": "./lib/index.js", @@ -42,16 +42,16 @@ "@microsoft/api-extractor": "^7.13.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.3.0", + "mocha": "^9.0.0", "nyc": "^15.1.0", - "ts-node": "^9.1.1", + "ts-node": "^10.0.0", "typedoc": "^0.20.30", - "typescript": "^4.2.3" + "typescript": "4.2.4" }, "dependencies": { - "@thi.ng/api": "^7.1.4", - "@thi.ng/checks": "^2.9.6", - "@thi.ng/hdom": "^8.2.25" + "@thi.ng/api": "^7.1.5", + "@thi.ng/checks": "^2.9.7", + "@thi.ng/hdom": "^8.2.26" }, "files": [ "*.js", diff --git a/packages/hdom/CHANGELOG.md b/packages/hdom/CHANGELOG.md index 5825ed3e60..d6b2d889df 100644 --- a/packages/hdom/CHANGELOG.md +++ b/packages/hdom/CHANGELOG.md @@ -3,23 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [8.2.25](https://github.com/thi-ng/umbrella/compare/@thi.ng/hdom@8.2.24...@thi.ng/hdom@8.2.25) (2021-04-03) - -**Note:** Version bump only for package @thi.ng/hdom - - - - - -## [8.2.24](https://github.com/thi-ng/umbrella/compare/@thi.ng/hdom@8.2.23...@thi.ng/hdom@8.2.24) (2021-03-17) - -**Note:** Version bump only for package @thi.ng/hdom - - - - - -## [8.2.23](https://github.com/thi-ng/umbrella/compare/@thi.ng/hdom@8.2.22...@thi.ng/hdom@8.2.23) (2021-03-12) +## [8.2.26](https://github.com/thi-ng/umbrella/compare/@thi.ng/hdom@8.2.25...@thi.ng/hdom@8.2.26) (2021-06-08) **Note:** Version bump only for package @thi.ng/hdom diff --git a/packages/hdom/package.json b/packages/hdom/package.json index 173c4b12a8..03c8b3cf78 100644 --- a/packages/hdom/package.json +++ b/packages/hdom/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/hdom", - "version": "8.2.25", + "version": "8.2.26", "description": "Lightweight vanilla ES6 UI component trees with customizable branch-local behaviors", "module": "./index.js", "main": "./lib/index.js", @@ -40,23 +40,23 @@ "devDependencies": { "@istanbuljs/nyc-config-typescript": "^1.0.1", "@microsoft/api-extractor": "^7.13.1", - "@thi.ng/atom": "^4.1.35", + "@thi.ng/atom": "^4.1.36", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.3.0", + "mocha": "^9.0.0", "nyc": "^15.1.0", - "ts-node": "^9.1.1", + "ts-node": "^10.0.0", "typedoc": "^0.20.30", - "typescript": "^4.2.3" + "typescript": "4.2.4" }, "dependencies": { - "@thi.ng/api": "^7.1.4", - "@thi.ng/checks": "^2.9.6", - "@thi.ng/diff": "^4.0.7", - "@thi.ng/equiv": "^1.0.41", - "@thi.ng/errors": "^1.3.0", - "@thi.ng/hiccup": "^3.6.15", - "@thi.ng/prefixes": "^0.1.17" + "@thi.ng/api": "^7.1.5", + "@thi.ng/checks": "^2.9.7", + "@thi.ng/diff": "^4.0.8", + "@thi.ng/equiv": "^1.0.42", + "@thi.ng/errors": "^1.3.1", + "@thi.ng/hiccup": "^3.6.16", + "@thi.ng/prefixes": "^0.1.18" }, "files": [ "*.js", diff --git a/packages/heaps/CHANGELOG.md b/packages/heaps/CHANGELOG.md index 562ac89e37..3398ea3285 100644 --- a/packages/heaps/CHANGELOG.md +++ b/packages/heaps/CHANGELOG.md @@ -3,20 +3,20 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [1.2.38](https://github.com/thi-ng/umbrella/compare/@thi.ng/heaps@1.2.37...@thi.ng/heaps@1.2.38) (2021-03-17) +## [1.2.39](https://github.com/thi-ng/umbrella/compare/@thi.ng/heaps@1.2.38...@thi.ng/heaps@1.2.39) (2021-06-08) +**Note:** Version bump only for package @thi.ng/heaps -### Bug Fixes -* **heaps:** update return types ([#283](https://github.com/thi-ng/umbrella/issues/283)) ([f7eabec](https://github.com/thi-ng/umbrella/commit/f7eabec276a6a08b58d93512421bae1df1817f2d)) +## [1.2.38](https://github.com/thi-ng/umbrella/compare/@thi.ng/heaps@1.2.37...@thi.ng/heaps@1.2.38) (2021-03-17) -## [1.2.37](https://github.com/thi-ng/umbrella/compare/@thi.ng/heaps@1.2.36...@thi.ng/heaps@1.2.37) (2021-03-12) +### Bug Fixes -**Note:** Version bump only for package @thi.ng/heaps +* **heaps:** update return types ([#283](https://github.com/thi-ng/umbrella/issues/283)) ([f7eabec](https://github.com/thi-ng/umbrella/commit/f7eabec276a6a08b58d93512421bae1df1817f2d)) diff --git a/packages/heaps/package.json b/packages/heaps/package.json index 48879c7742..52dfd2618d 100644 --- a/packages/heaps/package.json +++ b/packages/heaps/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/heaps", - "version": "1.2.38", + "version": "1.2.39", "description": "Various heap implementations for arbitrary values and with customizable ordering", "module": "./index.js", "main": "./lib/index.js", @@ -43,15 +43,15 @@ "@microsoft/api-extractor": "^7.13.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.3.0", + "mocha": "^9.0.0", "nyc": "^15.1.0", - "ts-node": "^9.1.1", + "ts-node": "^10.0.0", "typedoc": "^0.20.30", - "typescript": "^4.2.3" + "typescript": "4.2.4" }, "dependencies": { - "@thi.ng/api": "^7.1.4", - "@thi.ng/compare": "^1.3.28" + "@thi.ng/api": "^7.1.5", + "@thi.ng/compare": "^1.3.29" }, "files": [ "*.js", diff --git a/packages/hex/CHANGELOG.md b/packages/hex/CHANGELOG.md index ab437d8206..14c2f51af7 100644 --- a/packages/hex/CHANGELOG.md +++ b/packages/hex/CHANGELOG.md @@ -3,7 +3,7 @@ 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/hex@0.2.4...@thi.ng/hex@0.2.5) (2021-03-12) +## [0.2.6](https://github.com/thi-ng/umbrella/compare/@thi.ng/hex@0.2.5...@thi.ng/hex@0.2.6) (2021-06-08) **Note:** Version bump only for package @thi.ng/hex diff --git a/packages/hex/package.json b/packages/hex/package.json index ed319abebc..bad49d285a 100644 --- a/packages/hex/package.json +++ b/packages/hex/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/hex", - "version": "0.2.5", + "version": "0.2.6", "description": "Hex string formatters for 4/8/16/24/32/48/64bit words", "module": "./index.js", "main": "./lib/index.js", @@ -42,11 +42,11 @@ "@microsoft/api-extractor": "^7.13.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.3.0", + "mocha": "^9.0.0", "nyc": "^15.1.0", - "ts-node": "^9.1.1", + "ts-node": "^10.0.0", "typedoc": "^0.20.30", - "typescript": "^4.2.3" + "typescript": "4.2.4" }, "files": [ "*.js", diff --git a/packages/hiccup-canvas/CHANGELOG.md b/packages/hiccup-canvas/CHANGELOG.md index 6d86f3f1c3..624e41a4d1 100644 --- a/packages/hiccup-canvas/CHANGELOG.md +++ b/packages/hiccup-canvas/CHANGELOG.md @@ -3,50 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -# [1.2.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup-canvas@1.1.34...@thi.ng/hiccup-canvas@1.2.0) (2021-04-03) - - -### Features - -* **hiccup-canvas:** add IToImageData support ([7cc4709](https://github.com/thi-ng/umbrella/commit/7cc4709386c99337702d5788b04d14d13618e56b)) - - - - - -## [1.1.34](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup-canvas@1.1.33...@thi.ng/hiccup-canvas@1.1.34) (2021-03-30) - -**Note:** Version bump only for package @thi.ng/hiccup-canvas - - - - - -## [1.1.33](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup-canvas@1.1.32...@thi.ng/hiccup-canvas@1.1.33) (2021-03-28) - -**Note:** Version bump only for package @thi.ng/hiccup-canvas - - - - - -## [1.1.32](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup-canvas@1.1.31...@thi.ng/hiccup-canvas@1.1.32) (2021-03-27) - -**Note:** Version bump only for package @thi.ng/hiccup-canvas - - - - - -## [1.1.31](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup-canvas@1.1.30...@thi.ng/hiccup-canvas@1.1.31) (2021-03-24) - -**Note:** Version bump only for package @thi.ng/hiccup-canvas - - - - - -## [1.1.30](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup-canvas@1.1.29...@thi.ng/hiccup-canvas@1.1.30) (2021-03-24) +## [1.2.5](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup-canvas@1.2.4...@thi.ng/hiccup-canvas@1.2.5) (2021-06-08) **Note:** Version bump only for package @thi.ng/hiccup-canvas @@ -54,17 +11,12 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline -## [1.1.29](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup-canvas@1.1.28...@thi.ng/hiccup-canvas@1.1.29) (2021-03-17) - -**Note:** Version bump only for package @thi.ng/hiccup-canvas - - - +# [1.2.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup-canvas@1.1.34...@thi.ng/hiccup-canvas@1.2.0) (2021-04-03) -## [1.1.28](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup-canvas@1.1.27...@thi.ng/hiccup-canvas@1.1.28) (2021-03-12) +### Features -**Note:** Version bump only for package @thi.ng/hiccup-canvas +* **hiccup-canvas:** add IToImageData support ([7cc4709](https://github.com/thi-ng/umbrella/commit/7cc4709386c99337702d5788b04d14d13618e56b)) diff --git a/packages/hiccup-canvas/README.md b/packages/hiccup-canvas/README.md index db0db73468..8e799566b8 100644 --- a/packages/hiccup-canvas/README.md +++ b/packages/hiccup-canvas/README.md @@ -86,7 +86,7 @@ yarn add @thi.ng/hiccup-canvas ``` -Package sizes (gzipped, pre-treeshake): ESM: 2.53 KB / CJS: 2.65 KB / UMD: 2.65 KB +Package sizes (gzipped, pre-treeshake): ESM: 2.57 KB / CJS: 2.69 KB / UMD: 2.69 KB ## Dependencies @@ -94,6 +94,7 @@ Package sizes (gzipped, pre-treeshake): ESM: 2.53 KB / CJS: 2.65 KB / UMD: 2.65 - [@thi.ng/checks](https://github.com/thi-ng/umbrella/tree/develop/packages/checks) - [@thi.ng/color](https://github.com/thi-ng/umbrella/tree/develop/packages/color) - [@thi.ng/math](https://github.com/thi-ng/umbrella/tree/develop/packages/math) +- [@thi.ng/pixel](https://github.com/thi-ng/umbrella/tree/develop/packages/pixel) - [@thi.ng/vectors](https://github.com/thi-ng/umbrella/tree/develop/packages/vectors) ## Usage examples diff --git a/packages/hiccup-canvas/package.json b/packages/hiccup-canvas/package.json index 3e3134208d..d359e85779 100644 --- a/packages/hiccup-canvas/package.json +++ b/packages/hiccup-canvas/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/hiccup-canvas", - "version": "1.2.0", + "version": "1.2.5", "description": "Hiccup shape tree renderer for vanilla Canvas 2D contexts", "module": "./index.js", "main": "./lib/index.js", @@ -42,18 +42,19 @@ "@thi.ng/pixel": "^0.9.0", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.3.0", + "mocha": "^9.0.0", "nyc": "^15.1.0", - "ts-node": "^9.1.1", + "ts-node": "^10.0.0", "typedoc": "^0.20.30", - "typescript": "^4.2.3" + "typescript": "4.2.4" }, "dependencies": { - "@thi.ng/api": "^7.1.4", - "@thi.ng/checks": "^2.9.6", - "@thi.ng/color": "^3.1.12", - "@thi.ng/math": "^3.4.0", - "@thi.ng/vectors": "^5.2.1" + "@thi.ng/api": "^7.1.5", + "@thi.ng/checks": "^2.9.7", + "@thi.ng/color": "^3.1.16", + "@thi.ng/math": "^4.0.1", + "@thi.ng/pixel": "^0.10.3", + "@thi.ng/vectors": "^6.0.1" }, "files": [ "*.js", diff --git a/packages/hiccup-carbon-icons/CHANGELOG.md b/packages/hiccup-carbon-icons/CHANGELOG.md index 40f723b84c..62a26a5188 100644 --- a/packages/hiccup-carbon-icons/CHANGELOG.md +++ b/packages/hiccup-carbon-icons/CHANGELOG.md @@ -3,23 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [2.0.18](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup-carbon-icons@2.0.17...@thi.ng/hiccup-carbon-icons@2.0.18) (2021-04-03) - -**Note:** Version bump only for package @thi.ng/hiccup-carbon-icons - - - - - -## [2.0.17](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup-carbon-icons@2.0.16...@thi.ng/hiccup-carbon-icons@2.0.17) (2021-03-17) - -**Note:** Version bump only for package @thi.ng/hiccup-carbon-icons - - - - - -## [2.0.16](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup-carbon-icons@2.0.15...@thi.ng/hiccup-carbon-icons@2.0.16) (2021-03-12) +## [2.0.19](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup-carbon-icons@2.0.18...@thi.ng/hiccup-carbon-icons@2.0.19) (2021-06-08) **Note:** Version bump only for package @thi.ng/hiccup-carbon-icons diff --git a/packages/hiccup-carbon-icons/package.json b/packages/hiccup-carbon-icons/package.json index 56142566a3..f32378b0cf 100644 --- a/packages/hiccup-carbon-icons/package.json +++ b/packages/hiccup-carbon-icons/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/hiccup-carbon-icons", - "version": "2.0.18", + "version": "2.0.19", "description": "Full set of IBM's Carbon icons in hiccup format", "module": "./index.js", "main": "./lib/index.js", @@ -42,14 +42,14 @@ "devDependencies": { "@istanbuljs/nyc-config-typescript": "^1.0.1", "@microsoft/api-extractor": "^7.13.1", - "@thi.ng/hiccup": "^3.6.15", + "@thi.ng/hiccup": "^3.6.16", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.3.0", + "mocha": "^9.0.0", "nyc": "^15.1.0", - "ts-node": "^9.1.1", + "ts-node": "^10.0.0", "typedoc": "^0.20.30", - "typescript": "^4.2.3" + "typescript": "4.2.4" }, "files": [ "*.js", diff --git a/packages/hiccup-css/CHANGELOG.md b/packages/hiccup-css/CHANGELOG.md index afac1eaf95..f321b7d157 100644 --- a/packages/hiccup-css/CHANGELOG.md +++ b/packages/hiccup-css/CHANGELOG.md @@ -3,39 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [1.1.59](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup-css@1.1.58...@thi.ng/hiccup-css@1.1.59) (2021-04-03) - -**Note:** Version bump only for package @thi.ng/hiccup-css - - - - - -## [1.1.58](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup-css@1.1.57...@thi.ng/hiccup-css@1.1.58) (2021-03-28) - -**Note:** Version bump only for package @thi.ng/hiccup-css - - - - - -## [1.1.57](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup-css@1.1.56...@thi.ng/hiccup-css@1.1.57) (2021-03-27) - -**Note:** Version bump only for package @thi.ng/hiccup-css - - - - - -## [1.1.56](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup-css@1.1.55...@thi.ng/hiccup-css@1.1.56) (2021-03-17) - -**Note:** Version bump only for package @thi.ng/hiccup-css - - - - - -## [1.1.55](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup-css@1.1.54...@thi.ng/hiccup-css@1.1.55) (2021-03-12) +## [1.1.63](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup-css@1.1.62...@thi.ng/hiccup-css@1.1.63) (2021-06-08) **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 05d3c5f75f..9695a7f27d 100644 --- a/packages/hiccup-css/package.json +++ b/packages/hiccup-css/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/hiccup-css", - "version": "1.1.59", + "version": "1.1.63", "description": "CSS from nested JS data structures", "module": "./index.js", "main": "./lib/index.js", @@ -42,17 +42,17 @@ "@microsoft/api-extractor": "^7.13.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.3.0", + "mocha": "^9.0.0", "nyc": "^15.1.0", - "ts-node": "^9.1.1", + "ts-node": "^10.0.0", "typedoc": "^0.20.30", - "typescript": "^4.2.3" + "typescript": "4.2.4" }, "dependencies": { - "@thi.ng/api": "^7.1.4", - "@thi.ng/checks": "^2.9.6", - "@thi.ng/errors": "^1.3.0", - "@thi.ng/transducers": "^7.6.10" + "@thi.ng/api": "^7.1.5", + "@thi.ng/checks": "^2.9.7", + "@thi.ng/errors": "^1.3.1", + "@thi.ng/transducers": "^7.7.3" }, "files": [ "*.js", diff --git a/packages/hiccup-html/CHANGELOG.md b/packages/hiccup-html/CHANGELOG.md index 547c505bcd..a1ed2bca76 100644 --- a/packages/hiccup-html/CHANGELOG.md +++ b/packages/hiccup-html/CHANGELOG.md @@ -3,7 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [0.3.17](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup-html@0.3.16...@thi.ng/hiccup-html@0.3.17) (2021-03-12) +## [0.3.18](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup-html@0.3.17...@thi.ng/hiccup-html@0.3.18) (2021-06-08) **Note:** Version bump only for package @thi.ng/hiccup-html diff --git a/packages/hiccup-html/package.json b/packages/hiccup-html/package.json index 3c27ffde1f..a5e9fcecbe 100644 --- a/packages/hiccup-html/package.json +++ b/packages/hiccup-html/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/hiccup-html", - "version": "0.3.17", + "version": "0.3.18", "description": "100+ type-checked HTML5 element functions for @thi.ng/hiccup related infrastructure", "module": "./index.js", "main": "./lib/index.js", @@ -41,14 +41,14 @@ "@microsoft/api-extractor": "^7.13.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.3.0", + "mocha": "^9.0.0", "nyc": "^15.1.0", - "ts-node": "^9.1.1", + "ts-node": "^10.0.0", "typedoc": "^0.20.30", - "typescript": "^4.2.3" + "typescript": "4.2.4" }, "dependencies": { - "@thi.ng/api": "^7.1.4" + "@thi.ng/api": "^7.1.5" }, "files": [ "*.js", diff --git a/packages/hiccup-markdown/CHANGELOG.md b/packages/hiccup-markdown/CHANGELOG.md index fc6bb1786b..6b8c7c98e3 100644 --- a/packages/hiccup-markdown/CHANGELOG.md +++ b/packages/hiccup-markdown/CHANGELOG.md @@ -3,87 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [1.3.17](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup-markdown@1.3.16...@thi.ng/hiccup-markdown@1.3.17) (2021-04-03) - -**Note:** Version bump only for package @thi.ng/hiccup-markdown - - - - - -## [1.3.16](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup-markdown@1.3.15...@thi.ng/hiccup-markdown@1.3.16) (2021-03-30) - -**Note:** Version bump only for package @thi.ng/hiccup-markdown - - - - - -## [1.3.15](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup-markdown@1.3.14...@thi.ng/hiccup-markdown@1.3.15) (2021-03-30) - -**Note:** Version bump only for package @thi.ng/hiccup-markdown - - - - - -## [1.3.14](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup-markdown@1.3.13...@thi.ng/hiccup-markdown@1.3.14) (2021-03-28) - -**Note:** Version bump only for package @thi.ng/hiccup-markdown - - - - - -## [1.3.13](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup-markdown@1.3.12...@thi.ng/hiccup-markdown@1.3.13) (2021-03-27) - -**Note:** Version bump only for package @thi.ng/hiccup-markdown - - - - - -## [1.3.12](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup-markdown@1.3.11...@thi.ng/hiccup-markdown@1.3.12) (2021-03-26) - -**Note:** Version bump only for package @thi.ng/hiccup-markdown - - - - - -## [1.3.11](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup-markdown@1.3.10...@thi.ng/hiccup-markdown@1.3.11) (2021-03-24) - -**Note:** Version bump only for package @thi.ng/hiccup-markdown - - - - - -## [1.3.10](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup-markdown@1.3.9...@thi.ng/hiccup-markdown@1.3.10) (2021-03-24) - -**Note:** Version bump only for package @thi.ng/hiccup-markdown - - - - - -## [1.3.9](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup-markdown@1.3.8...@thi.ng/hiccup-markdown@1.3.9) (2021-03-24) - -**Note:** Version bump only for package @thi.ng/hiccup-markdown - - - - - -## [1.3.8](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup-markdown@1.3.7...@thi.ng/hiccup-markdown@1.3.8) (2021-03-17) - -**Note:** Version bump only for package @thi.ng/hiccup-markdown - - - - - -## [1.3.7](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup-markdown@1.3.6...@thi.ng/hiccup-markdown@1.3.7) (2021-03-12) +## [1.3.21](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup-markdown@1.3.20...@thi.ng/hiccup-markdown@1.3.21) (2021-06-08) **Note:** Version bump only for package @thi.ng/hiccup-markdown diff --git a/packages/hiccup-markdown/package.json b/packages/hiccup-markdown/package.json index 8fbf051d12..26fcdcb0e3 100644 --- a/packages/hiccup-markdown/package.json +++ b/packages/hiccup-markdown/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/hiccup-markdown", - "version": "1.3.17", + "version": "1.3.21", "description": "Markdown parser & serializer from/to Hiccup format", "module": "./index.js", "main": "./lib/index.js", @@ -42,23 +42,23 @@ "@microsoft/api-extractor": "^7.13.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.3.0", + "mocha": "^9.0.0", "nyc": "^15.1.0", - "ts-node": "^9.1.1", + "ts-node": "^10.0.0", "typedoc": "^0.20.30", - "typescript": "^4.2.3" + "typescript": "4.2.4" }, "dependencies": { - "@thi.ng/api": "^7.1.4", - "@thi.ng/arrays": "^0.10.10", - "@thi.ng/checks": "^2.9.6", - "@thi.ng/defmulti": "^1.3.11", - "@thi.ng/errors": "^1.3.0", - "@thi.ng/fsm": "^2.4.49", - "@thi.ng/hiccup": "^3.6.15", - "@thi.ng/strings": "^2.1.0", - "@thi.ng/text-canvas": "^0.7.5", - "@thi.ng/transducers": "^7.6.10" + "@thi.ng/api": "^7.1.5", + "@thi.ng/arrays": "^0.10.12", + "@thi.ng/checks": "^2.9.7", + "@thi.ng/defmulti": "^1.3.12", + "@thi.ng/errors": "^1.3.1", + "@thi.ng/fsm": "^2.4.53", + "@thi.ng/hiccup": "^3.6.16", + "@thi.ng/strings": "^2.1.1", + "@thi.ng/text-canvas": "^0.7.9", + "@thi.ng/transducers": "^7.7.3" }, "files": [ "*.js", diff --git a/packages/hiccup-svg/CHANGELOG.md b/packages/hiccup-svg/CHANGELOG.md index 16f990c637..c0815eb052 100644 --- a/packages/hiccup-svg/CHANGELOG.md +++ b/packages/hiccup-svg/CHANGELOG.md @@ -3,63 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [3.7.20](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup-svg@3.7.19...@thi.ng/hiccup-svg@3.7.20) (2021-04-03) - -**Note:** Version bump only for package @thi.ng/hiccup-svg - - - - - -## [3.7.19](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup-svg@3.7.18...@thi.ng/hiccup-svg@3.7.19) (2021-03-30) - -**Note:** Version bump only for package @thi.ng/hiccup-svg - - - - - -## [3.7.18](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup-svg@3.7.17...@thi.ng/hiccup-svg@3.7.18) (2021-03-28) - -**Note:** Version bump only for package @thi.ng/hiccup-svg - - - - - -## [3.7.17](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup-svg@3.7.16...@thi.ng/hiccup-svg@3.7.17) (2021-03-27) - -**Note:** Version bump only for package @thi.ng/hiccup-svg - - - - - -## [3.7.16](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup-svg@3.7.15...@thi.ng/hiccup-svg@3.7.16) (2021-03-24) - -**Note:** Version bump only for package @thi.ng/hiccup-svg - - - - - -## [3.7.15](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup-svg@3.7.14...@thi.ng/hiccup-svg@3.7.15) (2021-03-24) - -**Note:** Version bump only for package @thi.ng/hiccup-svg - - - - - -## [3.7.14](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup-svg@3.7.13...@thi.ng/hiccup-svg@3.7.14) (2021-03-17) - -**Note:** Version bump only for package @thi.ng/hiccup-svg - - - - - -## [3.7.13](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup-svg@3.7.12...@thi.ng/hiccup-svg@3.7.13) (2021-03-12) +## [3.7.24](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup-svg@3.7.23...@thi.ng/hiccup-svg@3.7.24) (2021-06-08) **Note:** Version bump only for package @thi.ng/hiccup-svg diff --git a/packages/hiccup-svg/README.md b/packages/hiccup-svg/README.md index c70fe031af..d5bfe7b5d6 100644 --- a/packages/hiccup-svg/README.md +++ b/packages/hiccup-svg/README.md @@ -169,17 +169,18 @@ directory are using this package. A selection: -| Screenshot | Description | Live demo | Source | -| ------------------------------------------------------------------------------------------------------------------------------------ | ---------------------------------------------------------------------- | -------------------------------------------------------- | ------------------------------------------------------------------------------------- | -| | Probabilistic color theme generator | [Demo](https://demo.thi.ng/umbrella/color-themes/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/color-themes) | -| | Heatmap visualization of this mono-repo's commits | | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/commit-heatmap) | -| | Basic crypto-currency candle chart with multiple moving averages plots | [Demo](https://demo.thi.ng/umbrella/crypto-chart/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/crypto-chart) | -| | Various hdom-canvas shape drawing examples & SVG conversion / export | [Demo](https://demo.thi.ng/umbrella/hdom-canvas-shapes/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/hdom-canvas-shapes) | -| | CLI util to visualize umbrella pkg stats | | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/package-stats) | -| | Generate SVG using pointfree DSL | | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/pointfree-svg) | -| | Polygon to cubic curve conversion & visualization | [Demo](https://demo.thi.ng/umbrella/poly-spline/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/poly-spline) | -| | Interactive grid generator, SVG generation & export, undo/redo support | [Demo](https://demo.thi.ng/umbrella/rstream-grid/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/rstream-grid) | -| | Additive waveform synthesis & SVG visualization with undo/redo | [Demo](https://demo.thi.ng/umbrella/svg-waveform/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/svg-waveform) | +| Screenshot | Description | Live demo | Source | +| ------------------------------------------------------------------------------------------------------------------------------------ | --------------------------------------------------------------------------- | -------------------------------------------------------- | ------------------------------------------------------------------------------------- | +| | Probabilistic color theme generator | [Demo](https://demo.thi.ng/umbrella/color-themes/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/color-themes) | +| | Heatmap visualization of this mono-repo's commits | | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/commit-heatmap) | +| | Basic crypto-currency candle chart with multiple moving averages plots | [Demo](https://demo.thi.ng/umbrella/crypto-chart/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/crypto-chart) | +| | Color palette generation via dominant color extraction from uploaded images | [Demo](https://demo.thi.ng/umbrella/dominant-colors/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/dominant-colors) | +| | Various hdom-canvas shape drawing examples & SVG conversion / export | [Demo](https://demo.thi.ng/umbrella/hdom-canvas-shapes/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/hdom-canvas-shapes) | +| | CLI util to visualize umbrella pkg stats | | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/package-stats) | +| | Generate SVG using pointfree DSL | | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/pointfree-svg) | +| | Polygon to cubic curve conversion & visualization | [Demo](https://demo.thi.ng/umbrella/poly-spline/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/poly-spline) | +| | Interactive grid generator, SVG generation & export, undo/redo support | [Demo](https://demo.thi.ng/umbrella/rstream-grid/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/rstream-grid) | +| | Additive waveform synthesis & SVG visualization with undo/redo | [Demo](https://demo.thi.ng/umbrella/svg-waveform/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/svg-waveform) | ## API diff --git a/packages/hiccup-svg/package.json b/packages/hiccup-svg/package.json index 679865c488..2bcf1c7e13 100644 --- a/packages/hiccup-svg/package.json +++ b/packages/hiccup-svg/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/hiccup-svg", - "version": "3.7.20", + "version": "3.7.24", "description": "SVG element functions for @thi.ng/hiccup & @thi.ng/hdom", "module": "./index.js", "main": "./lib/index.js", @@ -42,16 +42,16 @@ "@microsoft/api-extractor": "^7.13.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.3.0", + "mocha": "^9.0.0", "nyc": "^15.1.0", - "ts-node": "^9.1.1", + "ts-node": "^10.0.0", "typedoc": "^0.20.30", - "typescript": "^4.2.3" + "typescript": "4.2.4" }, "dependencies": { - "@thi.ng/checks": "^2.9.6", - "@thi.ng/color": "^3.1.12", - "@thi.ng/prefixes": "^0.1.17" + "@thi.ng/checks": "^2.9.7", + "@thi.ng/color": "^3.1.16", + "@thi.ng/prefixes": "^0.1.18" }, "files": [ "*.js", diff --git a/packages/hiccup/CHANGELOG.md b/packages/hiccup/CHANGELOG.md index dc680e9871..ccc3a61025 100644 --- a/packages/hiccup/CHANGELOG.md +++ b/packages/hiccup/CHANGELOG.md @@ -3,23 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [3.6.15](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup@3.6.14...@thi.ng/hiccup@3.6.15) (2021-04-03) - -**Note:** Version bump only for package @thi.ng/hiccup - - - - - -## [3.6.14](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup@3.6.13...@thi.ng/hiccup@3.6.14) (2021-03-17) - -**Note:** Version bump only for package @thi.ng/hiccup - - - - - -## [3.6.13](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup@3.6.12...@thi.ng/hiccup@3.6.13) (2021-03-12) +## [3.6.16](https://github.com/thi-ng/umbrella/compare/@thi.ng/hiccup@3.6.15...@thi.ng/hiccup@3.6.16) (2021-06-08) **Note:** Version bump only for package @thi.ng/hiccup diff --git a/packages/hiccup/package.json b/packages/hiccup/package.json index 7ca9c0aaa2..b835fe6f30 100644 --- a/packages/hiccup/package.json +++ b/packages/hiccup/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/hiccup", - "version": "3.6.15", + "version": "3.6.16", "description": "HTML/SVG/XML serialization of nested data structures, iterables & closures", "module": "./index.js", "main": "./lib/index.js", @@ -40,19 +40,19 @@ "devDependencies": { "@istanbuljs/nyc-config-typescript": "^1.0.1", "@microsoft/api-extractor": "^7.13.1", - "@thi.ng/atom": "^4.1.35", + "@thi.ng/atom": "^4.1.36", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.3.0", + "mocha": "^9.0.0", "nyc": "^15.1.0", - "ts-node": "^9.1.1", + "ts-node": "^10.0.0", "typedoc": "^0.20.30", - "typescript": "^4.2.3" + "typescript": "4.2.4" }, "dependencies": { - "@thi.ng/api": "^7.1.4", - "@thi.ng/checks": "^2.9.6", - "@thi.ng/errors": "^1.3.0" + "@thi.ng/api": "^7.1.5", + "@thi.ng/checks": "^2.9.7", + "@thi.ng/errors": "^1.3.1" }, "files": [ "*.js", diff --git a/packages/idgen/CHANGELOG.md b/packages/idgen/CHANGELOG.md index 02b58d8233..a8a1fefe94 100644 --- a/packages/idgen/CHANGELOG.md +++ b/packages/idgen/CHANGELOG.md @@ -3,7 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [0.2.35](https://github.com/thi-ng/umbrella/compare/@thi.ng/idgen@0.2.34...@thi.ng/idgen@0.2.35) (2021-03-12) +## [0.2.36](https://github.com/thi-ng/umbrella/compare/@thi.ng/idgen@0.2.35...@thi.ng/idgen@0.2.36) (2021-06-08) **Note:** Version bump only for package @thi.ng/idgen diff --git a/packages/idgen/package.json b/packages/idgen/package.json index d19df234be..af51eb3626 100644 --- a/packages/idgen/package.json +++ b/packages/idgen/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/idgen", - "version": "0.2.35", + "version": "0.2.36", "description": "Generator of opaque numeric identifiers with optional support for ID versioning and efficient re-use", "module": "./index.js", "main": "./lib/index.js", @@ -42,14 +42,14 @@ "@microsoft/api-extractor": "^7.13.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.3.0", + "mocha": "^9.0.0", "nyc": "^15.1.0", - "ts-node": "^9.1.1", + "ts-node": "^10.0.0", "typedoc": "^0.20.30", - "typescript": "^4.2.3" + "typescript": "4.2.4" }, "dependencies": { - "@thi.ng/api": "^7.1.4", + "@thi.ng/api": "^7.1.5", "tslib": "^2.1.0" }, "files": [ diff --git a/packages/iges/CHANGELOG.md b/packages/iges/CHANGELOG.md index 4ee09968cd..f81b15fe57 100644 --- a/packages/iges/CHANGELOG.md +++ b/packages/iges/CHANGELOG.md @@ -3,63 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [1.1.73](https://github.com/thi-ng/umbrella/compare/@thi.ng/iges@1.1.72...@thi.ng/iges@1.1.73) (2021-04-03) - -**Note:** Version bump only for package @thi.ng/iges - - - - - -## [1.1.72](https://github.com/thi-ng/umbrella/compare/@thi.ng/iges@1.1.71...@thi.ng/iges@1.1.72) (2021-03-30) - -**Note:** Version bump only for package @thi.ng/iges - - - - - -## [1.1.71](https://github.com/thi-ng/umbrella/compare/@thi.ng/iges@1.1.70...@thi.ng/iges@1.1.71) (2021-03-28) - -**Note:** Version bump only for package @thi.ng/iges - - - - - -## [1.1.70](https://github.com/thi-ng/umbrella/compare/@thi.ng/iges@1.1.69...@thi.ng/iges@1.1.70) (2021-03-27) - -**Note:** Version bump only for package @thi.ng/iges - - - - - -## [1.1.69](https://github.com/thi-ng/umbrella/compare/@thi.ng/iges@1.1.68...@thi.ng/iges@1.1.69) (2021-03-24) - -**Note:** Version bump only for package @thi.ng/iges - - - - - -## [1.1.68](https://github.com/thi-ng/umbrella/compare/@thi.ng/iges@1.1.67...@thi.ng/iges@1.1.68) (2021-03-24) - -**Note:** Version bump only for package @thi.ng/iges - - - - - -## [1.1.67](https://github.com/thi-ng/umbrella/compare/@thi.ng/iges@1.1.66...@thi.ng/iges@1.1.67) (2021-03-17) - -**Note:** Version bump only for package @thi.ng/iges - - - - - -## [1.1.66](https://github.com/thi-ng/umbrella/compare/@thi.ng/iges@1.1.65...@thi.ng/iges@1.1.66) (2021-03-12) +## [1.1.77](https://github.com/thi-ng/umbrella/compare/@thi.ng/iges@1.1.76...@thi.ng/iges@1.1.77) (2021-06-08) **Note:** Version bump only for package @thi.ng/iges diff --git a/packages/iges/package.json b/packages/iges/package.json index ca3e28897d..8c25d5e81c 100644 --- a/packages/iges/package.json +++ b/packages/iges/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/iges", - "version": "1.1.73", + "version": "1.1.77", "description": "IGES 5.3 serializer for (currently only) polygonal geometry, both open & closed", "module": "./index.js", "main": "./lib/index.js", @@ -42,19 +42,19 @@ "@microsoft/api-extractor": "^7.13.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.3.0", + "mocha": "^9.0.0", "nyc": "^15.1.0", - "ts-node": "^9.1.1", + "ts-node": "^10.0.0", "typedoc": "^0.20.30", - "typescript": "^4.2.3" + "typescript": "4.2.4" }, "dependencies": { - "@thi.ng/api": "^7.1.4", - "@thi.ng/checks": "^2.9.6", - "@thi.ng/defmulti": "^1.3.11", - "@thi.ng/strings": "^2.1.0", - "@thi.ng/transducers": "^7.6.10", - "@thi.ng/vectors": "^5.2.1" + "@thi.ng/api": "^7.1.5", + "@thi.ng/checks": "^2.9.7", + "@thi.ng/defmulti": "^1.3.12", + "@thi.ng/strings": "^2.1.1", + "@thi.ng/transducers": "^7.7.3", + "@thi.ng/vectors": "^6.0.1" }, "files": [ "*.js", diff --git a/packages/imgui/CHANGELOG.md b/packages/imgui/CHANGELOG.md index a28caf4144..4a4db531ce 100644 --- a/packages/imgui/CHANGELOG.md +++ b/packages/imgui/CHANGELOG.md @@ -3,63 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [0.2.67](https://github.com/thi-ng/umbrella/compare/@thi.ng/imgui@0.2.66...@thi.ng/imgui@0.2.67) (2021-04-03) - -**Note:** Version bump only for package @thi.ng/imgui - - - - - -## [0.2.66](https://github.com/thi-ng/umbrella/compare/@thi.ng/imgui@0.2.65...@thi.ng/imgui@0.2.66) (2021-03-30) - -**Note:** Version bump only for package @thi.ng/imgui - - - - - -## [0.2.65](https://github.com/thi-ng/umbrella/compare/@thi.ng/imgui@0.2.64...@thi.ng/imgui@0.2.65) (2021-03-28) - -**Note:** Version bump only for package @thi.ng/imgui - - - - - -## [0.2.64](https://github.com/thi-ng/umbrella/compare/@thi.ng/imgui@0.2.63...@thi.ng/imgui@0.2.64) (2021-03-27) - -**Note:** Version bump only for package @thi.ng/imgui - - - - - -## [0.2.63](https://github.com/thi-ng/umbrella/compare/@thi.ng/imgui@0.2.62...@thi.ng/imgui@0.2.63) (2021-03-24) - -**Note:** Version bump only for package @thi.ng/imgui - - - - - -## [0.2.62](https://github.com/thi-ng/umbrella/compare/@thi.ng/imgui@0.2.61...@thi.ng/imgui@0.2.62) (2021-03-24) - -**Note:** Version bump only for package @thi.ng/imgui - - - - - -## [0.2.61](https://github.com/thi-ng/umbrella/compare/@thi.ng/imgui@0.2.60...@thi.ng/imgui@0.2.61) (2021-03-17) - -**Note:** Version bump only for package @thi.ng/imgui - - - - - -## [0.2.60](https://github.com/thi-ng/umbrella/compare/@thi.ng/imgui@0.2.59...@thi.ng/imgui@0.2.60) (2021-03-12) +## [0.2.71](https://github.com/thi-ng/umbrella/compare/@thi.ng/imgui@0.2.70...@thi.ng/imgui@0.2.71) (2021-06-08) **Note:** Version bump only for package @thi.ng/imgui diff --git a/packages/imgui/package.json b/packages/imgui/package.json index 2cdae169ed..32124f9778 100644 --- a/packages/imgui/package.json +++ b/packages/imgui/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/imgui", - "version": "0.2.67", + "version": "0.2.71", "description": "Immediate mode GUI with flexible state handling & data only shape output", "module": "./index.js", "main": "./lib/index.js", @@ -42,23 +42,23 @@ "@microsoft/api-extractor": "^7.13.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.3.0", + "mocha": "^9.0.0", "nyc": "^15.1.0", - "ts-node": "^9.1.1", + "ts-node": "^10.0.0", "typedoc": "^0.20.30", - "typescript": "^4.2.3" + "typescript": "4.2.4" }, "dependencies": { - "@thi.ng/api": "^7.1.4", - "@thi.ng/checks": "^2.9.6", - "@thi.ng/geom": "^2.1.14", - "@thi.ng/geom-api": "^2.0.17", - "@thi.ng/geom-isec": "^0.7.20", - "@thi.ng/geom-tessellate": "^0.2.69", - "@thi.ng/layout": "^0.1.35", - "@thi.ng/math": "^3.4.0", - "@thi.ng/transducers": "^7.6.10", - "@thi.ng/vectors": "^5.2.1" + "@thi.ng/api": "^7.1.5", + "@thi.ng/checks": "^2.9.7", + "@thi.ng/geom": "^2.1.18", + "@thi.ng/geom-api": "^2.0.21", + "@thi.ng/geom-isec": "^0.7.24", + "@thi.ng/geom-tessellate": "^0.2.73", + "@thi.ng/layout": "^0.1.36", + "@thi.ng/math": "^4.0.1", + "@thi.ng/transducers": "^7.7.3", + "@thi.ng/vectors": "^6.0.1" }, "files": [ "*.js", diff --git a/packages/imgui/src/components/radial-menu.ts b/packages/imgui/src/components/radial-menu.ts index ca380c92d8..a03b5995b1 100644 --- a/packages/imgui/src/components/radial-menu.ts +++ b/packages/imgui/src/components/radial-menu.ts @@ -1,6 +1,6 @@ import { centroid, circle, polygon, Polygon, vertices } from "@thi.ng/geom"; import { triFan } from "@thi.ng/geom-tessellate"; -import { fmod } from "@thi.ng/math"; +import { mod } from "@thi.ng/math"; import { mapIndexed } from "@thi.ng/transducers"; import { add2, hash } from "@thi.ng/vectors"; import { Hash, Key } from "../api"; @@ -49,11 +49,11 @@ export const radialMenu = ( switch (gui.key) { case Key.UP: case Key.RIGHT: - gui.focusID = id + fmod(sel + 1, n); + gui.focusID = id + mod(sel + 1, n); break; case Key.DOWN: case Key.LEFT: - gui.focusID = id + fmod(sel - 1, n); + gui.focusID = id + mod(sel - 1, n); default: } } diff --git a/packages/interceptors/CHANGELOG.md b/packages/interceptors/CHANGELOG.md index 81cb99ff2e..6557797e88 100644 --- a/packages/interceptors/CHANGELOG.md +++ b/packages/interceptors/CHANGELOG.md @@ -3,23 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [2.2.46](https://github.com/thi-ng/umbrella/compare/@thi.ng/interceptors@2.2.45...@thi.ng/interceptors@2.2.46) (2021-04-03) - -**Note:** Version bump only for package @thi.ng/interceptors - - - - - -## [2.2.45](https://github.com/thi-ng/umbrella/compare/@thi.ng/interceptors@2.2.44...@thi.ng/interceptors@2.2.45) (2021-03-17) - -**Note:** Version bump only for package @thi.ng/interceptors - - - - - -## [2.2.44](https://github.com/thi-ng/umbrella/compare/@thi.ng/interceptors@2.2.43...@thi.ng/interceptors@2.2.44) (2021-03-12) +## [2.2.47](https://github.com/thi-ng/umbrella/compare/@thi.ng/interceptors@2.2.46...@thi.ng/interceptors@2.2.47) (2021-06-08) **Note:** Version bump only for package @thi.ng/interceptors diff --git a/packages/interceptors/package.json b/packages/interceptors/package.json index 71a4df8a40..447fb3f9fd 100644 --- a/packages/interceptors/package.json +++ b/packages/interceptors/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/interceptors", - "version": "2.2.46", + "version": "2.2.47", "description": "Interceptor based event bus, side effect & immutable state handling", "module": "./index.js", "main": "./lib/index.js", @@ -42,18 +42,18 @@ "@microsoft/api-extractor": "^7.13.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.3.0", + "mocha": "^9.0.0", "nyc": "^15.1.0", - "ts-node": "^9.1.1", + "ts-node": "^10.0.0", "typedoc": "^0.20.30", - "typescript": "^4.2.3" + "typescript": "4.2.4" }, "dependencies": { - "@thi.ng/api": "^7.1.4", - "@thi.ng/atom": "^4.1.35", - "@thi.ng/checks": "^2.9.6", - "@thi.ng/errors": "^1.3.0", - "@thi.ng/paths": "^4.2.7" + "@thi.ng/api": "^7.1.5", + "@thi.ng/atom": "^4.1.36", + "@thi.ng/checks": "^2.9.7", + "@thi.ng/errors": "^1.3.1", + "@thi.ng/paths": "^4.2.8" }, "files": [ "*.js", diff --git a/packages/intervals/CHANGELOG.md b/packages/intervals/CHANGELOG.md index e3d88def06..0ad36dbc7d 100644 --- a/packages/intervals/CHANGELOG.md +++ b/packages/intervals/CHANGELOG.md @@ -3,23 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [3.0.7](https://github.com/thi-ng/umbrella/compare/@thi.ng/intervals@3.0.6...@thi.ng/intervals@3.0.7) (2021-04-03) - -**Note:** Version bump only for package @thi.ng/intervals - - - - - -## [3.0.6](https://github.com/thi-ng/umbrella/compare/@thi.ng/intervals@3.0.5...@thi.ng/intervals@3.0.6) (2021-03-17) - -**Note:** Version bump only for package @thi.ng/intervals - - - - - -## [3.0.5](https://github.com/thi-ng/umbrella/compare/@thi.ng/intervals@3.0.4...@thi.ng/intervals@3.0.5) (2021-03-12) +## [3.0.8](https://github.com/thi-ng/umbrella/compare/@thi.ng/intervals@3.0.7...@thi.ng/intervals@3.0.8) (2021-06-08) **Note:** Version bump only for package @thi.ng/intervals diff --git a/packages/intervals/package.json b/packages/intervals/package.json index 293d855e9c..a24454a782 100644 --- a/packages/intervals/package.json +++ b/packages/intervals/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/intervals", - "version": "3.0.7", + "version": "3.0.8", "description": "Closed/open/semi-open interval data type, queries & operations", "module": "./index.js", "main": "./lib/index.js", @@ -42,17 +42,17 @@ "@microsoft/api-extractor": "^7.13.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.3.0", + "mocha": "^9.0.0", "nyc": "^15.1.0", - "ts-node": "^9.1.1", + "ts-node": "^10.0.0", "typedoc": "^0.20.30", - "typescript": "^4.2.3" + "typescript": "4.2.4" }, "dependencies": { - "@thi.ng/api": "^7.1.4", - "@thi.ng/checks": "^2.9.6", - "@thi.ng/dlogic": "^1.0.43", - "@thi.ng/errors": "^1.3.0" + "@thi.ng/api": "^7.1.5", + "@thi.ng/checks": "^2.9.7", + "@thi.ng/dlogic": "^1.0.44", + "@thi.ng/errors": "^1.3.1" }, "files": [ "*.js", diff --git a/packages/iterators/CHANGELOG.md b/packages/iterators/CHANGELOG.md index ec9eab1d1e..8f80dc53c5 100644 --- a/packages/iterators/CHANGELOG.md +++ b/packages/iterators/CHANGELOG.md @@ -3,39 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [5.1.60](https://github.com/thi-ng/umbrella/compare/@thi.ng/iterators@5.1.59...@thi.ng/iterators@5.1.60) (2021-04-03) - -**Note:** Version bump only for package @thi.ng/iterators - - - - - -## [5.1.59](https://github.com/thi-ng/umbrella/compare/@thi.ng/iterators@5.1.58...@thi.ng/iterators@5.1.59) (2021-03-28) - -**Note:** Version bump only for package @thi.ng/iterators - - - - - -## [5.1.58](https://github.com/thi-ng/umbrella/compare/@thi.ng/iterators@5.1.57...@thi.ng/iterators@5.1.58) (2021-03-27) - -**Note:** Version bump only for package @thi.ng/iterators - - - - - -## [5.1.57](https://github.com/thi-ng/umbrella/compare/@thi.ng/iterators@5.1.56...@thi.ng/iterators@5.1.57) (2021-03-17) - -**Note:** Version bump only for package @thi.ng/iterators - - - - - -## [5.1.56](https://github.com/thi-ng/umbrella/compare/@thi.ng/iterators@5.1.55...@thi.ng/iterators@5.1.56) (2021-03-12) +## [5.1.64](https://github.com/thi-ng/umbrella/compare/@thi.ng/iterators@5.1.63...@thi.ng/iterators@5.1.64) (2021-06-08) **Note:** Version bump only for package @thi.ng/iterators diff --git a/packages/iterators/package.json b/packages/iterators/package.json index 2e83ad1ebc..4db52fc847 100644 --- a/packages/iterators/package.json +++ b/packages/iterators/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/iterators", - "version": "5.1.60", + "version": "5.1.64", "description": "Clojure inspired, composable ES6 iterators & generators", "module": "./index.js", "main": "./lib/index.js", @@ -42,16 +42,16 @@ "@microsoft/api-extractor": "^7.13.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.3.0", + "mocha": "^9.0.0", "nyc": "^15.1.0", - "ts-node": "^9.1.1", + "ts-node": "^10.0.0", "typedoc": "^0.20.30", - "typescript": "^4.2.3" + "typescript": "4.2.4" }, "dependencies": { - "@thi.ng/api": "^7.1.4", - "@thi.ng/dcons": "^2.3.20", - "@thi.ng/errors": "^1.3.0" + "@thi.ng/api": "^7.1.5", + "@thi.ng/dcons": "^2.3.24", + "@thi.ng/errors": "^1.3.1" }, "files": [ "*.js", diff --git a/packages/k-means/CHANGELOG.md b/packages/k-means/CHANGELOG.md new file mode 100644 index 0000000000..6ab0f4bddf --- /dev/null +++ b/packages/k-means/CHANGELOG.md @@ -0,0 +1,37 @@ +# Change Log + +All notable changes to this project will be documented in this file. +See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. + +## [0.2.2](https://github.com/thi-ng/umbrella/compare/@thi.ng/k-means@0.2.1...@thi.ng/k-means@0.2.2) (2021-06-08) + +**Note:** Version bump only for package @thi.ng/k-means + + + + + +# [0.2.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/k-means@0.1.0...@thi.ng/k-means@0.2.0) (2021-04-20) + + +### Features + +* **k-means:** add meansLatLon centroid strategy, docstrings ([269c11c](https://github.com/thi-ng/umbrella/commit/269c11c10907351d98acfb929af5036a23a2e5c3)) + + + + + +# 0.1.0 (2021-04-19) + + +### Bug Fixes + +* **k-means:** use dist metric in initKmeanspp() ([37bd6c6](https://github.com/thi-ng/umbrella/commit/37bd6c6ae062f903cea05bd6ce9d42e97aa5dbd9)) + + +### Features + +* **k-means:** add k-medians support ([6bc450b](https://github.com/thi-ng/umbrella/commit/6bc450b95e1ed93ab18a9045ce1d4ba324a61eb3)) +* **k-means:** add kmeans++ initialization, update opts ([fcc2dcc](https://github.com/thi-ng/umbrella/commit/fcc2dcc9624dc77e99dc69bd54c466ea0d1f3988)) +* **k-means:** import as new pkg ([a32aaf6](https://github.com/thi-ng/umbrella/commit/a32aaf63b703993adfb61766e36f9817aae1ed62)) diff --git a/packages/k-means/LICENSE b/packages/k-means/LICENSE new file mode 100644 index 0000000000..8dada3edaf --- /dev/null +++ b/packages/k-means/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/k-means/README.md b/packages/k-means/README.md new file mode 100644 index 0000000000..4b5c5d1a13 --- /dev/null +++ b/packages/k-means/README.md @@ -0,0 +1,131 @@ + + +# ![k-means](https://media.thi.ng/umbrella/banners/thing-k-means.svg?1146b8a7) + +[![npm version](https://img.shields.io/npm/v/@thi.ng/k-means.svg)](https://www.npmjs.com/package/@thi.ng/k-means) +![npm downloads](https://img.shields.io/npm/dm/@thi.ng/k-means.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) + - [Status](#status) +- [Installation](#installation) +- [Dependencies](#dependencies) +- [Usage examples](#usage-examples) +- [API](#api) +- [Authors](#authors) +- [License](#license) + +## About + +Configurable k-means & k-medians (with k-means++ initialization) for n-D vectors. + +### Status + +**ALPHA** - bleeding edge / work-in-progress + +[Search or submit any issues for this package](https://github.com/thi-ng/umbrella/issues?q=%5Bk-means%5D+in%3Atitle) + +## Installation + +```bash +yarn add @thi.ng/k-means +``` + +```html +// ES module + + +// UMD + +``` + +Package sizes (gzipped, pre-treeshake): ESM: 928 bytes / CJS: 987 bytes / UMD: 1.07 KB + +## Dependencies + +- [@thi.ng/api](https://github.com/thi-ng/umbrella/tree/develop/packages/api) +- [@thi.ng/distance](https://github.com/thi-ng/umbrella/tree/develop/packages/distance) +- [@thi.ng/random](https://github.com/thi-ng/umbrella/tree/develop/packages/random) +- [@thi.ng/vectors](https://github.com/thi-ng/umbrella/tree/develop/packages/vectors) + +## Usage examples + +Several demos in this repo's +[/examples](https://github.com/thi-ng/umbrella/tree/develop/examples) +directory are using this package. + +A selection: + +| Screenshot | Description | Live demo | Source | +| ---------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------- | ----------------------------------------------------- | ---------------------------------------------------------------------------------- | +| | Color palette generation via dominant color extraction from uploaded images | [Demo](https://demo.thi.ng/umbrella/dominant-colors/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/dominant-colors) | + +## API + +[Generated API docs](https://docs.thi.ng/umbrella/k-means/) + +Example usage: + +```ts +import { kmeans, meansLatLon } from "@thi.ng/k-means"; +import { HAVERSINE_LATLON } from "@thi.ng/distance"; + +// data from: https://simplemaps.com/data/world-cities +const items = [ + { id: "berlin", latlon: [52.5167, 13.3833] }, + { id: "boston", latlon: [42.3188, -71.0846] }, + { id: "detroit", latlon: [42.3834, -83.1024] }, + { id: "kyoto", latlon: [35.0111, 135.7669] }, + { id: "london", latlon: [51.5072, -0.1275] }, + { id: "new york", latlon: [40.6943, -73.9249] }, + { id: "osaka", latlon: [34.6936, 135.5019] }, + { id: "paris", latlon: [48.8566, 2.3522] }, + { id: "philadelphia", latlon: [40.0077, -75.1339] }, + { id: "tokyo", latlon: [35.6897, 139.6922] }, + { id: "vienna", latlon: [48.2083, 16.3731] }, +]; + +// cluster based on lat/lon +const clusters = kmeans( + 3, + items.map((x) => x.latlon), + { + // custom centroid calc for geo locations + // https://docs.thi.ng/umbrella/k-means/modules.html#meanslatlon + strategy: meansLatLon, + // custom distance function for geo location (default: DIST_SQ) + dist: HAVERSINE_LATLON + } +); + +// print each cluster +for (let c of clusters) { + console.log(c.items.map((i) => items[i].id)); +} + +// [ 'boston', 'detroit', 'new york', 'philadelphia' ] +// [ 'kyoto', 'osaka', 'tokyo' ] +// [ 'berlin', 'london', 'paris', 'vienna' ] +``` + +## Authors + +Karsten Schmidt + +If this project contributes to an academic publication, please cite it as: + +```bibtex +@misc{thing-k-means, + title = "@thi.ng/k-means", + author = "Karsten Schmidt", + note = "https://thi.ng/k-means", + year = 2021 +} +``` + +## License + +© 2021 Karsten Schmidt // Apache Software License 2.0 diff --git a/packages/k-means/api-extractor.json b/packages/k-means/api-extractor.json new file mode 100644 index 0000000000..94972e6bed --- /dev/null +++ b/packages/k-means/api-extractor.json @@ -0,0 +1,3 @@ +{ + "extends": "../../api-extractor.json" +} diff --git a/packages/k-means/package.json b/packages/k-means/package.json new file mode 100644 index 0000000000..ab06aa7a44 --- /dev/null +++ b/packages/k-means/package.json @@ -0,0 +1,79 @@ +{ + "name": "@thi.ng/k-means", + "version": "0.2.2", + "description": "Configurable k-means & k-medians (with k-means++ initialization) for n-D vectors", + "module": "./index.js", + "main": "./lib/index.js", + "umd:main": "./lib/index.umd.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/k-means#readme", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/postspectacular" + }, + { + "type": "patreon", + "url": "https://patreon.com/thing_umbrella" + } + ], + "author": "Karsten Schmidt ", + "license": "Apache-2.0", + "scripts": { + "build": "yarn clean && yarn build:es6 && node ../../scripts/bundle-module", + "build:release": "yarn clean && yarn build:es6 && node ../../scripts/bundle-module all", + "build:es6": "tsc --declaration", + "build:test": "rimraf build && tsc -p test/tsconfig.json", + "build:check": "tsc --isolatedModules --noEmit", + "test": "mocha test", + "cover": "nyc mocha test && nyc report --reporter=lcov", + "clean": "rimraf *.js *.d.ts *.map .nyc_output build coverage doc lib", + "doc:readme": "ts-node -P ../../tools/tsconfig.json ../../tools/src/readme.ts", + "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", + "doc": "node_modules/.bin/typedoc --out doc --theme ../../tools/doc/typedoc-theme src/index.ts", + "pub": "yarn build:release && yarn publish --access public" + }, + "devDependencies": { + "@istanbuljs/nyc-config-typescript": "^1.0.1", + "@microsoft/api-extractor": "^7.13.1", + "@types/mocha": "^8.2.0", + "@types/node": "^14.14.14", + "mocha": "^9.0.0", + "nyc": "^15.1.0", + "ts-node": "^10.0.0", + "typedoc": "^0.20.30", + "typescript": "4.2.4" + }, + "dependencies": { + "@thi.ng/api": "^7.1.5", + "@thi.ng/distance": "^0.3.2", + "@thi.ng/random": "^2.4.1", + "@thi.ng/vectors": "^6.0.1" + }, + "files": [ + "*.js", + "*.d.ts", + "lib" + ], + "keywords": [ + "cluster", + "distance", + "k-medians", + "k-means", + "k-means++", + "nd", + "typescript" + ], + "publishConfig": { + "access": "public" + }, + "sideEffects": false, + "thi.ng": { + "status": "alpha", + "year": 2021 + } +} diff --git a/packages/k-means/src/api.ts b/packages/k-means/src/api.ts new file mode 100644 index 0000000000..201068d654 --- /dev/null +++ b/packages/k-means/src/api.ts @@ -0,0 +1,51 @@ +import type { Fn, Fn0 } from "@thi.ng/api"; +import type { IDistance } from "@thi.ng/distance"; +import type { IRandom } from "@thi.ng/random"; +import type { ReadonlyVec, Vec } from "@thi.ng/vectors"; + +export interface KMeansOpts { + /** + * Array of initial centroids (i.e. indices of selected points in `samples` + * array given to {@link kmeans}). + */ + initial: number[]; + /** + * Distance function/metric to use for finding nearest centroid. + */ + dist: IDistance; + /** + * Max. iteration count + */ + maxIter: number; + /** + * PRNG instance to use for random centroid selection + */ + rnd: IRandom; + /** + * Centroid refinement strategy (default: {@link means}). + */ + strategy: CentroidStrategy; +} + +export type CentroidStrategy = Fn< + number, + { + update: Fn; + finish: Fn0; + } +>; + +export interface Cluster { + /** + * Cluster ID + */ + id: number; + /** + * Cluster centroid + */ + centroid: ReadonlyVec; + /** + * Indices of original `samples` array belonging to this cluster + */ + items: number[]; +} diff --git a/packages/k-means/src/index.ts b/packages/k-means/src/index.ts new file mode 100644 index 0000000000..be12a85d1a --- /dev/null +++ b/packages/k-means/src/index.ts @@ -0,0 +1,2 @@ +export * from "./api"; +export * from "./kmeans"; diff --git a/packages/k-means/src/kmeans.ts b/packages/k-means/src/kmeans.ts new file mode 100644 index 0000000000..f1bf9236ee --- /dev/null +++ b/packages/k-means/src/kmeans.ts @@ -0,0 +1,197 @@ +import { assert } from "@thi.ng/api"; +import { argmin, DIST_SQ, IDistance } from "@thi.ng/distance"; +import { SYSTEM, uniqueIndices, weightedRandom } from "@thi.ng/random"; +import { add, median, mulN, ReadonlyVec, Vec, zeroes } from "@thi.ng/vectors"; +import type { CentroidStrategy, Cluster, KMeansOpts } from "./api"; + +/** + * Takes an array of n-dimensional `samples` and attempts to assign them to `k` + * clusters, using the behavior defined by (optionally) given `opts`. + * + * @remarks + * https://en.wikipedia.org/wiki/K-medians_clustering + * + * @param k + * @param samples + * @param opts + * @returns + */ +export const kmeans = ( + k: number, + samples: T[], + opts?: Partial +) => { + let { dist, initial, maxIter, rnd, strategy } = { + dist: DIST_SQ, + maxIter: 32, + strategy: means, + ...opts, + }; + const num = samples.length; + const dim = samples[0].length; + const centroidIDs = initial || initKmeanspp(k, samples, dist, rnd); + assert(centroidIDs.length === k, `wrong number of initial centroids`); + const centroids: Vec[] = centroidIDs.map((i) => samples[i]); + const clusters: number[] = []; + let update = true; + outer: while (update && maxIter-- > 0) { + update = assign(samples, centroids, clusters, dist); + for (let i = 0; i < k; i++) { + const impl = strategy(dim); + for (let j = 0; j < num; j++) { + i === clusters[j] && impl.update(samples[j]); + } + const centroid = impl.finish(); + if (centroid) { + centroids[i] = centroid; + } else { + const numC = centroidIDs.length; + uniqueIndices(1, num, centroidIDs, undefined, rnd); + if (centroidIDs.length === numC) break outer; + centroids[i] = samples[centroidIDs[numC]]; + update = true; + } + } + } + return buildClusters(centroids, clusters); +}; + +/** + * k-means++ initialization / selection of initial cluster centroids. Default + * centroid initialization method for {@link kmeans}. + * + * @remarks + * References: + * - https://en.wikipedia.org/wiki/K-means%2B%2B + * - http://ilpubs.stanford.edu:8090/778/1/2006-13.pdf + * - http://vldb.org/pvldb/vol5/p622_bahmanbahmani_vldb2012.pdf (TODO) + * + * @param k + * @param samples + * @param dist + * @param rnd + */ +export const initKmeanspp = ( + k: number, + samples: T[], + dist: IDistance = DIST_SQ, + rnd = SYSTEM +) => { + const num = samples.length; + assert(num >= k, `insufficient samples for k=${k}`); + const centroidIDs = [rnd.int() % num]; + const centroids = [samples[centroidIDs[0]]]; + const indices = new Array(num).fill(0).map((_, i) => i); + const metric = dist.metric; + while (centroidIDs.length < k) { + let probs = samples.map( + (p) => dist.from(metric(p, centroids[argmin(p, centroids)!])) ** 2 + ); + let id: number; + do { + id = weightedRandom(indices, probs)(); + } while (centroidIDs.includes(id)); + centroidIDs.push(id); + centroids.push(samples[id]); + } + return centroidIDs; +}; + +const assign = ( + samples: T[], + centroids: ReadonlyVec[], + clusters: number[], + dist: IDistance +) => { + let update = false; + for (let i = 0, n = samples.length; i < n; i++) { + const id = argmin(samples[i], centroids, dist)!; + if (id !== clusters[i]) { + clusters[i] = id; + update = true; + } + } + return update; +}; + +const buildClusters = (centroids: ReadonlyVec[], clusters: number[]) => { + const indices: Cluster[] = []; + for (let i = 0, n = clusters.length; i < n; i++) { + const c = clusters[i]; + ( + indices[c] || + (indices[c] = { id: c, centroid: centroids[c], items: [] }) + ).items.push(i); + } + return indices; +}; + +/** + * Default centroid strategy forming new centroids by averaging the position of + * participating samples. + * + * @param dim + */ +export const means: CentroidStrategy = (dim) => { + const acc = zeroes(dim); + let n = 0; + return { + update: (p) => { + add(acc, acc, p); + n++; + }, + finish: () => (n ? mulN(acc, acc, 1 / n) : undefined), + }; +}; + +/** + * Centroid strategy forming new centroids via componentwise medians. + * + * @remarks + * https://en.wikipedia.org/wiki/K-medians_clustering + */ +export const medians: CentroidStrategy = () => { + const acc: ReadonlyVec[] = []; + return { + update: (p) => acc.push(p), + finish: () => (acc.length ? median([], acc) : undefined), + }; +}; + +/** + * Means centroid strategy for decimal degree lat/lon positions (e.g. WGS84). + * Unlike the default {@link means} strategy, this one treats latitude values + * correctly in terms of the ±180 deg boundary and ensures samples on either + * side of the Pacific are forming correct centroids. + * + * @remarks + * When using this strategy, you should also use the + * {@link @thi.ng/distance#HAVERSINE_LATLON} distance metric for + * {@link KMeansOpts.distance}. + * + * @example + * ```ts + * kmeans(3, [...], { strategy: meansLatLon, dist: HAVERSINE_LATLON }) + * ``` + * + * https://en.wikipedia.org/wiki/World_Geodetic_System + */ +export const meansLatLon: CentroidStrategy = () => { + let lat = 0; + let lon = 0; + let n = 0; + return { + update: ([$lat, $lon]) => { + lat += $lat < 0 ? $lat + 360 : $lat; + lon += $lon; + n++; + }, + finish: () => { + if (!n) return; + lat /= n; + if (lat > 180) lat -= 360; + lon /= n; + return [lat, lon]; + }, + }; +}; diff --git a/packages/k-means/test/index.ts b/packages/k-means/test/index.ts new file mode 100644 index 0000000000..d21d2988d2 --- /dev/null +++ b/packages/k-means/test/index.ts @@ -0,0 +1,6 @@ +// import * as assert from "assert"; +// import { } from "../src"; + +describe("k-means", () => { + it("tests pending"); +}); diff --git a/packages/k-means/test/tsconfig.json b/packages/k-means/test/tsconfig.json new file mode 100644 index 0000000000..f6e63560dd --- /dev/null +++ b/packages/k-means/test/tsconfig.json @@ -0,0 +1,11 @@ +{ + "extends": "../../../tsconfig.json", + "compilerOptions": { + "outDir": "../build", + "module": "commonjs" + }, + "include": [ + "./**/*.ts", + "../src/**/*.ts" + ] +} diff --git a/packages/k-means/tpl.readme.md b/packages/k-means/tpl.readme.md new file mode 100644 index 0000000000..43386f017f --- /dev/null +++ b/packages/k-means/tpl.readme.md @@ -0,0 +1,92 @@ +# ${pkg.banner} + +[![npm version](https://img.shields.io/npm/v/${pkg.name}.svg)](https://www.npmjs.com/package/${pkg.name}) +![npm downloads](https://img.shields.io/npm/dm/${pkg.name}.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 + +${pkg.description} + +${status} + +${supportPackages} + +${relatedPackages} + +${blogPosts} + +## Installation + +${pkg.install} + +${pkg.size} + +## Dependencies + +${pkg.deps} + +${examples} + +## API + +${docLink} + +Example usage: + +```ts +import { kmeans, meansLatLon } from "@thi.ng/k-means"; +import { HAVERSINE_LATLON } from "@thi.ng/distance"; + +// data from: https://simplemaps.com/data/world-cities +const items = [ + { id: "berlin", latlon: [52.5167, 13.3833] }, + { id: "boston", latlon: [42.3188, -71.0846] }, + { id: "detroit", latlon: [42.3834, -83.1024] }, + { id: "kyoto", latlon: [35.0111, 135.7669] }, + { id: "london", latlon: [51.5072, -0.1275] }, + { id: "new york", latlon: [40.6943, -73.9249] }, + { id: "osaka", latlon: [34.6936, 135.5019] }, + { id: "paris", latlon: [48.8566, 2.3522] }, + { id: "philadelphia", latlon: [40.0077, -75.1339] }, + { id: "tokyo", latlon: [35.6897, 139.6922] }, + { id: "vienna", latlon: [48.2083, 16.3731] }, +]; + +// cluster based on lat/lon +const clusters = kmeans( + 3, + items.map((x) => x.latlon), + { + // custom centroid calc for geo locations + // https://docs.thi.ng/umbrella/k-means/modules.html#meanslatlon + strategy: meansLatLon, + // custom distance function for geo location (default: DIST_SQ) + dist: HAVERSINE_LATLON + } +); + +// print each cluster +for (let c of clusters) { + console.log(c.items.map((i) => items[i].id)); +} + +// [ 'boston', 'detroit', 'new york', 'philadelphia' ] +// [ 'kyoto', 'osaka', 'tokyo' ] +// [ 'berlin', 'london', 'paris', 'vienna' ] +``` + +## Authors + +${authors} + +${pkg.cite} + +## License + +© ${copyright} // ${license} diff --git a/packages/k-means/tsconfig.json b/packages/k-means/tsconfig.json new file mode 100644 index 0000000000..bd6481a5a6 --- /dev/null +++ b/packages/k-means/tsconfig.json @@ -0,0 +1,9 @@ +{ + "extends": "../../tsconfig.json", + "compilerOptions": { + "outDir": "." + }, + "include": [ + "./src/**/*.ts" + ] +} diff --git a/packages/ksuid/CHANGELOG.md b/packages/ksuid/CHANGELOG.md index 123b95b26a..cc9d25c5f7 100644 --- a/packages/ksuid/CHANGELOG.md +++ b/packages/ksuid/CHANGELOG.md @@ -3,7 +3,7 @@ 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/ksuid@0.2.0...@thi.ng/ksuid@0.2.1) (2021-04-03) +## [0.2.3](https://github.com/thi-ng/umbrella/compare/@thi.ng/ksuid@0.2.2...@thi.ng/ksuid@0.2.3) (2021-06-08) **Note:** Version bump only for package @thi.ng/ksuid @@ -22,38 +22,6 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline -## [0.1.10](https://github.com/thi-ng/umbrella/compare/@thi.ng/ksuid@0.1.9...@thi.ng/ksuid@0.1.10) (2021-03-24) - -**Note:** Version bump only for package @thi.ng/ksuid - - - - - -## [0.1.9](https://github.com/thi-ng/umbrella/compare/@thi.ng/ksuid@0.1.8...@thi.ng/ksuid@0.1.9) (2021-03-24) - -**Note:** Version bump only for package @thi.ng/ksuid - - - - - -## [0.1.8](https://github.com/thi-ng/umbrella/compare/@thi.ng/ksuid@0.1.7...@thi.ng/ksuid@0.1.8) (2021-03-17) - -**Note:** Version bump only for package @thi.ng/ksuid - - - - - -## [0.1.7](https://github.com/thi-ng/umbrella/compare/@thi.ng/ksuid@0.1.6...@thi.ng/ksuid@0.1.7) (2021-03-12) - -**Note:** Version bump only for package @thi.ng/ksuid - - - - - # 0.1.0 (2021-01-13) diff --git a/packages/ksuid/package.json b/packages/ksuid/package.json index 492133a36b..8df097ab8c 100644 --- a/packages/ksuid/package.json +++ b/packages/ksuid/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/ksuid", - "version": "0.2.1", + "version": "0.2.3", "description": "Configurable K-sortable unique identifiers, binary & base-N encoded", "module": "./index.js", "main": "./lib/index.js", @@ -43,17 +43,17 @@ "@microsoft/api-extractor": "^7.13.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.3.0", + "mocha": "^9.0.0", "nyc": "^15.1.0", - "ts-node": "^9.1.1", + "ts-node": "^10.0.0", "typedoc": "^0.20.30", - "typescript": "^4.2.3" + "typescript": "4.2.4" }, "dependencies": { - "@thi.ng/api": "^7.1.4", - "@thi.ng/base-n": "^0.1.6", - "@thi.ng/random": "^2.3.7", - "@thi.ng/strings": "^2.1.0" + "@thi.ng/api": "^7.1.5", + "@thi.ng/base-n": "^0.1.7", + "@thi.ng/random": "^2.4.1", + "@thi.ng/strings": "^2.1.1" }, "files": [ "*.js", diff --git a/packages/layout/CHANGELOG.md b/packages/layout/CHANGELOG.md index 089708fb6f..2946f36cf8 100644 --- a/packages/layout/CHANGELOG.md +++ b/packages/layout/CHANGELOG.md @@ -3,15 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [0.1.35](https://github.com/thi-ng/umbrella/compare/@thi.ng/layout@0.1.34...@thi.ng/layout@0.1.35) (2021-04-03) - -**Note:** Version bump only for package @thi.ng/layout - - - - - -## [0.1.34](https://github.com/thi-ng/umbrella/compare/@thi.ng/layout@0.1.33...@thi.ng/layout@0.1.34) (2021-03-12) +## [0.1.36](https://github.com/thi-ng/umbrella/compare/@thi.ng/layout@0.1.35...@thi.ng/layout@0.1.36) (2021-06-08) **Note:** Version bump only for package @thi.ng/layout diff --git a/packages/layout/package.json b/packages/layout/package.json index af9a23f06d..94415e1134 100644 --- a/packages/layout/package.json +++ b/packages/layout/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/layout", - "version": "0.1.35", + "version": "0.1.36", "description": "Configurable nested 2D grid layout manager", "module": "./index.js", "main": "./lib/index.js", @@ -42,14 +42,14 @@ "@microsoft/api-extractor": "^7.13.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.3.0", + "mocha": "^9.0.0", "nyc": "^15.1.0", - "ts-node": "^9.1.1", + "ts-node": "^10.0.0", "typedoc": "^0.20.30", - "typescript": "^4.2.3" + "typescript": "4.2.4" }, "dependencies": { - "@thi.ng/checks": "^2.9.6" + "@thi.ng/checks": "^2.9.7" }, "files": [ "*.js", diff --git a/packages/leb128/CHANGELOG.md b/packages/leb128/CHANGELOG.md index 5121d6ab60..c14c5252ff 100644 --- a/packages/leb128/CHANGELOG.md +++ b/packages/leb128/CHANGELOG.md @@ -3,39 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [1.0.54](https://github.com/thi-ng/umbrella/compare/@thi.ng/leb128@1.0.53...@thi.ng/leb128@1.0.54) (2021-04-03) - -**Note:** Version bump only for package @thi.ng/leb128 - - - - - -## [1.0.53](https://github.com/thi-ng/umbrella/compare/@thi.ng/leb128@1.0.52...@thi.ng/leb128@1.0.53) (2021-03-28) - -**Note:** Version bump only for package @thi.ng/leb128 - - - - - -## [1.0.52](https://github.com/thi-ng/umbrella/compare/@thi.ng/leb128@1.0.51...@thi.ng/leb128@1.0.52) (2021-03-27) - -**Note:** Version bump only for package @thi.ng/leb128 - - - - - -## [1.0.51](https://github.com/thi-ng/umbrella/compare/@thi.ng/leb128@1.0.50...@thi.ng/leb128@1.0.51) (2021-03-17) - -**Note:** Version bump only for package @thi.ng/leb128 - - - - - -## [1.0.50](https://github.com/thi-ng/umbrella/compare/@thi.ng/leb128@1.0.49...@thi.ng/leb128@1.0.50) (2021-03-12) +## [1.0.58](https://github.com/thi-ng/umbrella/compare/@thi.ng/leb128@1.0.57...@thi.ng/leb128@1.0.58) (2021-06-08) **Note:** Version bump only for package @thi.ng/leb128 diff --git a/packages/leb128/README.md b/packages/leb128/README.md index d12863e778..15ed9ad82c 100644 --- a/packages/leb128/README.md +++ b/packages/leb128/README.md @@ -59,7 +59,7 @@ yarn add @thi.ng/leb128 ``` -Package sizes (gzipped, pre-treeshake): ESM: 988 bytes / CJS: 1.04 KB / UMD: 1.12 KB +Package sizes (gzipped, pre-treeshake): ESM: 988 bytes / CJS: 1.03 KB / UMD: 1.13 KB ## Dependencies diff --git a/packages/leb128/package.json b/packages/leb128/package.json index d6aa8d730e..3899dbc6c1 100644 --- a/packages/leb128/package.json +++ b/packages/leb128/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/leb128", - "version": "1.0.54", + "version": "1.0.58", "description": "WASM based LEB128 encoder / decoder (signed & unsigned)", "module": "./index.js", "main": "./lib/index.js", @@ -43,16 +43,16 @@ "@microsoft/api-extractor": "^7.13.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.3.0", + "mocha": "^9.0.0", "nyc": "^15.1.0", - "ts-node": "^9.1.1", + "ts-node": "^10.0.0", "typedoc": "^0.20.30", - "typescript": "^4.2.3" + "typescript": "4.2.4" }, "dependencies": { - "@thi.ng/checks": "^2.9.6", - "@thi.ng/errors": "^1.3.0", - "@thi.ng/transducers-binary": "^0.6.16" + "@thi.ng/checks": "^2.9.7", + "@thi.ng/errors": "^1.3.1", + "@thi.ng/transducers-binary": "^0.6.20" }, "files": [ "*.js", diff --git a/packages/leb128/src/index.ts b/packages/leb128/src/index.ts index 32520d1ece..790e501306 100644 --- a/packages/leb128/src/index.ts +++ b/packages/leb128/src/index.ts @@ -26,8 +26,21 @@ if (hasWASM()) { const ensureWASM = () => !wasm && unsupported("WASM module unavailable"); -const copy = (src: Uint8Array, idx: number) => +const encode = (op: "leb128_encode_s_js" | "leb128_encode_u_js") => ( + x: number +) => { + ensureWASM(); + return U8.slice(0, wasm[op](x)); +}; + +const decode = (op: "leb128_decode_s_js" | "leb128_decode_u_js") => ( + src: Uint8Array, + idx = 0 +) => { + ensureWASM(); U8.set(src.subarray(idx, Math.min(idx + 10, src.length)), 0); + return [wasm[op](0, 0), U8[0]]; +}; /** * Encodes signed integer `x` into LEB128 varint format and returns @@ -35,10 +48,7 @@ const copy = (src: Uint8Array, idx: number) => * * @param x - */ -export const encodeSLEB128 = (x: number) => { - ensureWASM(); - return U8.slice(0, wasm.leb128_encode_s_js(x)); -}; +export const encodeSLEB128 = encode("leb128_encode_s_js"); /** * Takes Uint8Array with LEB128 encoded signed varint and an optional @@ -48,11 +58,7 @@ export const encodeSLEB128 = (x: number) => { * @param src - * @param idx - */ -export const decodeSLEB128 = (src: Uint8Array, idx = 0) => { - ensureWASM(); - copy(src, idx); - return [wasm.leb128_decode_s_js(0, 0), U8[0]]; -}; +export const decodeSLEB128 = decode("leb128_decode_s_js"); /** * Encodes unsigned integer `x` into LEB128 varint format and returns @@ -60,10 +66,7 @@ export const decodeSLEB128 = (src: Uint8Array, idx = 0) => { * * @param x - */ -export const encodeULEB128 = (x: number) => { - ensureWASM(); - return U8.slice(0, wasm.leb128_encode_u_js(x)); -}; +export const encodeULEB128 = encode("leb128_encode_u_js"); /** * Takes Uint8Array with LEB128 encoded unsigned varint and an optional @@ -73,8 +76,4 @@ export const encodeULEB128 = (x: number) => { * @param src - * @param idx - */ -export const decodeULEB128 = (src: Uint8Array, idx = 0) => { - ensureWASM(); - copy(src, idx); - return [wasm.leb128_decode_u_js(0, 0), U8[0]]; -}; +export const decodeULEB128 = decode("leb128_decode_u_js"); diff --git a/packages/lowdisc/CHANGELOG.md b/packages/lowdisc/CHANGELOG.md new file mode 100644 index 0000000000..2ecb12efbf --- /dev/null +++ b/packages/lowdisc/CHANGELOG.md @@ -0,0 +1,19 @@ +# 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.2](https://github.com/thi-ng/umbrella/compare/@thi.ng/lowdisc@0.1.1...@thi.ng/lowdisc@0.1.2) (2021-06-08) + +**Note:** Version bump only for package @thi.ng/lowdisc + + + + + +# 0.1.0 (2021-04-19) + + +### Features + +* **lowdisc:** import as pkg, update assets/readme ([3ad6672](https://github.com/thi-ng/umbrella/commit/3ad66723a23561de5611a00fa9bf3a50032af079)) diff --git a/packages/lowdisc/LICENSE b/packages/lowdisc/LICENSE new file mode 100644 index 0000000000..8dada3edaf --- /dev/null +++ b/packages/lowdisc/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/lowdisc/README.md b/packages/lowdisc/README.md new file mode 100644 index 0000000000..b1fc12b1bd --- /dev/null +++ b/packages/lowdisc/README.md @@ -0,0 +1,113 @@ + + +# ![lowdisc](https://media.thi.ng/umbrella/banners/thing-lowdisc.svg?637bcba0) + +[![npm version](https://img.shields.io/npm/v/@thi.ng/lowdisc.svg)](https://www.npmjs.com/package/@thi.ng/lowdisc) +![npm downloads](https://img.shields.io/npm/dm/@thi.ng/lowdisc.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) + - [Halton](#halton) + - [Kronecker](#kronecker) + - [R2 recurrence](#rsub2sub-recurrence) + - [Status](#status) + - [Related packages](#related-packages) +- [Installation](#installation) +- [Dependencies](#dependencies) +- [API](#api) +- [Authors](#authors) +- [License](#license) + +## About + +n-dimensional low-discrepancy sequence generators/iterators. + +This package provides the following n-dimensional [low-discrepancy +sequence](https://en.wikipedia.org/wiki/Low-discrepancy_sequence) generators, +partially based on the article [The Unreasonable Effectiveness of Quasirandom +Sequences](http://extremelearning.com.au/unreasonable-effectiveness-of-quasirandom-sequences/) +by Martin Roberts. + +### Halton + +Configurable basis for each dimension: + +`haltonND([2,3])` + +![2D Halton(2,3) sequence](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/lowdisc/ld-halton-small.gif) + +### Kronecker + +Configurable basis for each dimension: + +`kroneckerND([1 / 2 ** 0.5, 1 / 5 ** 0.5])` + +![2D Kronecker sequence (Golden ratio)](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/lowdisc/ld-kronecker-small.gif) + +### R2 recurrence + +Based on Kronecker with each dimension's base automatically derived from the +[Plastic number](https://en.wikipedia.org/wiki/Plastic_number): + +`plasticND(2)` + +![2D R2 recurrence sequence](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/lowdisc/ld-plastic-small.gif) + +### Status + +**BETA** - possibly breaking changes forthcoming + +[Search or submit any issues for this package](https://github.com/thi-ng/umbrella/issues?q=%5Blowdisc%5D+in%3Atitle) + +### Related packages + +- [@thi.ng/poisson](https://github.com/thi-ng/umbrella/tree/develop/packages/poisson) - nD Stratified grid and Poisson-disc sampling w/ support for spatial density functions and custom PRNGs +- [@thi.ng/random](https://github.com/thi-ng/umbrella/tree/develop/packages/random) - Pseudo-random number generators w/ unified API, distributions, weighted choices, ID generation + +## Installation + +```bash +yarn add @thi.ng/lowdisc +``` + +```html +// ES module + + +// UMD + +``` + +Package sizes (gzipped, pre-treeshake): ESM: 499 bytes / CJS: 572 bytes / UMD: 653 bytes + +## Dependencies + +- [@thi.ng/api](https://github.com/thi-ng/umbrella/tree/develop/packages/api) + +## API + +[Generated API docs](https://docs.thi.ng/umbrella/lowdisc/) + +TODO + +## Authors + +Karsten Schmidt + +If this project contributes to an academic publication, please cite it as: + +```bibtex +@misc{thing-lowdisc, + title = "@thi.ng/lowdisc", + author = "Karsten Schmidt", + note = "https://thi.ng/lowdisc", + year = 2020 +} +``` + +## License + +© 2020 - 2021 Karsten Schmidt // Apache Software License 2.0 diff --git a/packages/lowdisc/api-extractor.json b/packages/lowdisc/api-extractor.json new file mode 100644 index 0000000000..94972e6bed --- /dev/null +++ b/packages/lowdisc/api-extractor.json @@ -0,0 +1,3 @@ +{ + "extends": "../../api-extractor.json" +} diff --git a/packages/lowdisc/package.json b/packages/lowdisc/package.json new file mode 100644 index 0000000000..370790cddc --- /dev/null +++ b/packages/lowdisc/package.json @@ -0,0 +1,85 @@ +{ + "name": "@thi.ng/lowdisc", + "version": "0.1.2", + "description": "n-dimensional low-discrepancy sequence generators/iterators", + "module": "./index.js", + "main": "./lib/index.js", + "umd:main": "./lib/index.umd.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/lowdisc#readme", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/postspectacular" + }, + { + "type": "patreon", + "url": "https://patreon.com/thing_umbrella" + } + ], + "author": "Karsten Schmidt ", + "license": "Apache-2.0", + "scripts": { + "build": "yarn clean && yarn build:es6 && node ../../scripts/bundle-module", + "build:release": "yarn clean && yarn build:es6 && node ../../scripts/bundle-module all", + "build:es6": "tsc --declaration", + "build:test": "rimraf build && tsc -p test/tsconfig.json", + "build:check": "tsc --isolatedModules --noEmit", + "test": "mocha test", + "cover": "nyc mocha test && nyc report --reporter=lcov", + "clean": "rimraf *.js *.d.ts *.map .nyc_output build coverage doc lib", + "doc:readme": "ts-node -P ../../tools/tsconfig.json ../../tools/src/readme.ts", + "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose", + "doc": "node_modules/.bin/typedoc --out doc --theme ../../tools/doc/typedoc-theme src/index.ts", + "pub": "yarn build:release && yarn publish --access public" + }, + "devDependencies": { + "@istanbuljs/nyc-config-typescript": "^1.0.1", + "@microsoft/api-extractor": "^7.13.1", + "@types/mocha": "^8.2.0", + "@types/node": "^14.14.14", + "mocha": "^9.0.0", + "nyc": "^15.1.0", + "ts-node": "^10.0.0", + "typedoc": "^0.20.30", + "typescript": "4.2.4" + }, + "dependencies": { + "@thi.ng/api": "^7.1.5" + }, + "files": [ + "*.js", + "*.d.ts", + "lib" + ], + "keywords": [ + "discrepancy", + "halton", + "golden-ratio", + "iterator", + "kronecker", + "monte-carlo", + "nd", + "plastic-number", + "random", + "sample", + "sequence", + "typescript" + ], + "publishConfig": { + "access": "public" + }, + "sideEffects": false, + "thi.ng": { + "related": [ + "poisson", + "random" + ], + "status": "beta", + "year": 2020 + } +} diff --git a/packages/lowdisc/src/halton.ts b/packages/lowdisc/src/halton.ts new file mode 100644 index 0000000000..f8c329b0eb --- /dev/null +++ b/packages/lowdisc/src/halton.ts @@ -0,0 +1,40 @@ +import { lowDiscrepancy } from "./lowdisc"; + +/** + * Iterator yielding 1D Halton sequence for given `base` (preferably a prime). + * + * @remarks + * Ported from Python version at: https://en.wikipedia.org/wiki/Halton_sequence + * + * @param base + */ +export function* halton(base: number) { + let n = 0; + let d = 1; + let invB = 1 / base; + while (true) { + let x = d - n; + if (x === 1) { + n = 1; + d *= base; + } else { + let y = (d * invB) | 0; + while (x <= y) { + y = (y * invB) | 0; + } + n = (base + 1) * y - x; + } + yield n / d; + } +} + +/** + * n-dimensional version of {@link halton}. Takes a vector of `bases` (one per + * dimension) and yields iterator of nD points. If `offset` > 0, the stated + * number of initial iterations will be skipped. + * + * @param bases + * @param offset + */ +export const haltonND = (bases: number[], offset = 0) => + lowDiscrepancy(bases.map(halton), offset); diff --git a/packages/lowdisc/src/index.ts b/packages/lowdisc/src/index.ts new file mode 100644 index 0000000000..4985f12c59 --- /dev/null +++ b/packages/lowdisc/src/index.ts @@ -0,0 +1,4 @@ +export * from "./halton"; +export * from "./kronecker"; +export * from "./lowdisc"; +export * from "./plastic"; diff --git a/packages/lowdisc/src/kronecker.ts b/packages/lowdisc/src/kronecker.ts new file mode 100644 index 0000000000..e07828cd08 --- /dev/null +++ b/packages/lowdisc/src/kronecker.ts @@ -0,0 +1,33 @@ +import { lowDiscrepancy } from "./lowdisc"; + +/** @internal */ +const fract = (x: number) => x - Math.floor(x); + +/** + * Iterator yielding 1D Kronecker Recurrence sequence for given `alpha` and + * `start` values, where `y(i) = fract(start + i * alpha)` and `i` is the + * iteration counter. The `alpha` param should be an irrational number in the + * `(0..1)` interval. + * + * @remarks + * Reference: + * - https://math.stackexchange.com/a/2848339 + * - http://extremelearning.com.au/unreasonable-effectiveness-of-quasirandom-sequences/ + * + * @param alpha + * @param start + */ +export function* kronecker(alpha: number, start = 0) { + while (true) yield (start = fract(start + alpha)); +} + +/** + * n-dimensional version of {@link kronecker}. Takes a vector of `alphas` (one + * per dimension) and yields iterator of nD points. If `offset` > 0, the stated + * number of initial iterations will be skipped. + * + * @param bases + * @param offset + */ +export const kroneckerND = (alphas: number[], offset = 0) => + lowDiscrepancy(alphas.map(kronecker), offset); diff --git a/packages/lowdisc/src/lowdisc.ts b/packages/lowdisc/src/lowdisc.ts new file mode 100644 index 0000000000..f94103246d --- /dev/null +++ b/packages/lowdisc/src/lowdisc.ts @@ -0,0 +1,43 @@ +import { assert } from "@thi.ng/api"; + +/** + * General purpose iterator yielding n-dimensional sequence values obtained from + * given per-dimension sequence generators. Omits `offset` (default: 0) initial + * values. + * + * @remarks + * This function acts as shared impl for all other sequence generators in this + * package. + * + * @param dims + * @param offset + */ +export const lowDiscrepancy = (dims: Iterator[], offset = 0) => { + const num = dims.length; + assert(num > 0, `invalid dimensions`); + const [x, y, z] = dims; + const iter = + num === 1 + ? (function* () { + while (true) yield [x.next().value]; + })() + : num === 2 + ? (function* () { + while (true) + yield [x.next().value, y.next().value]; + })() + : num === 3 + ? (function* () { + while (true) + yield [ + x.next().value, + y.next().value, + z.next().value, + ]; + })() + : (function* () { + while (true) yield dims.map((d) => d.next().value); + })(); + for (; --offset >= 0; ) iter.next(); + return iter; +}; diff --git a/packages/lowdisc/src/plastic.ts b/packages/lowdisc/src/plastic.ts new file mode 100644 index 0000000000..ea646509d7 --- /dev/null +++ b/packages/lowdisc/src/plastic.ts @@ -0,0 +1,46 @@ +import { assert } from "@thi.ng/api"; +import { kronecker } from "./kronecker"; +import { lowDiscrepancy } from "./lowdisc"; + +/** + * Computes the `d`-th Harmonious number, with: + * + * - d=1 : PHI (Golden ratio) + * - d=2 : PLASTIC (Plastic number) + * + * @remarks + * See {@link plasticND} for references. + * + * @param d + * @param i + */ +export const phi = (d: number, i = 18) => { + assert(d > 0, `d must be > 0`); + d = 1 / (d + 1); + let x = 2; + while (i-- > 0) x = (1 + x) ** d; + return x; +}; + +/** + * Additive Recurrence R2 sequence using n-dimensional {@link kronecker} + * configured with Harmonious Numbers (based on Plastic number). + * + * @remarks + * References: + * + * - http://extremelearning.com.au/unreasonable-effectiveness-of-quasirandom-sequences/ + * - https://en.wikipedia.org/wiki/Plastic_number + * - https://bib.irb.hr/datoteka/628836.Plastic_Number_-_Construct.pdf + * + * @param dim + */ +export const plasticND = (dim: number, offset = 0) => { + const g = phi(dim); + return lowDiscrepancy( + new Array(dim) + .fill(0) + .map((_, i) => kronecker(1 / Math.pow(g, i + 1), 0.5)), + offset + ); +}; diff --git a/packages/lowdisc/test/index.ts b/packages/lowdisc/test/index.ts new file mode 100644 index 0000000000..e3128422cd --- /dev/null +++ b/packages/lowdisc/test/index.ts @@ -0,0 +1,6 @@ +// import * as assert from "assert"; +// import { } from "../src"; + +describe("lowdisc", () => { + it("tests pending"); +}); diff --git a/packages/lowdisc/test/tsconfig.json b/packages/lowdisc/test/tsconfig.json new file mode 100644 index 0000000000..f6e63560dd --- /dev/null +++ b/packages/lowdisc/test/tsconfig.json @@ -0,0 +1,11 @@ +{ + "extends": "../../../tsconfig.json", + "compilerOptions": { + "outDir": "../build", + "module": "commonjs" + }, + "include": [ + "./**/*.ts", + "../src/**/*.ts" + ] +} diff --git a/packages/lowdisc/tools/index.ts b/packages/lowdisc/tools/index.ts new file mode 100644 index 0000000000..6c9d8e3018 --- /dev/null +++ b/packages/lowdisc/tools/index.ts @@ -0,0 +1,36 @@ +import { cosineGradient, COSINE_GRADIENTS } from "@thi.ng/color"; +import { asSvg, circle, svgDoc } from "@thi.ng/geom"; +import { setPrecision } from "@thi.ng/hiccup-svg"; +import { Z4 } from "@thi.ng/strings"; +import { mapIndexed, take } from "@thi.ng/transducers"; +import { writeFileSync } from "fs"; +import { plasticND } from "../src"; + +const W = 600; +const R = 0.005; +const NUM_COL = 256; + +const grad = cosineGradient(NUM_COL, COSINE_GRADIENTS["blue-magenta-orange"]); + +// hiccup-svg output precision +setPrecision(4); + +for (let i = 100, j = 0; i < 5000; i += 100, j++) { + writeFileSync( + `export/ld-${Z4(j)}.svg`, + asSvg( + svgDoc( + { + width: W, + height: W, + viewBox: "0 0 1 1", + }, + ...mapIndexed( + (k, p: number[]) => + circle(p, R, { fill: grad[k % NUM_COL] }), + take(i, plasticND(2)) + ) + ) + ) + ); +} diff --git a/packages/lowdisc/tools/tsconfig.json b/packages/lowdisc/tools/tsconfig.json new file mode 100644 index 0000000000..9655cbea10 --- /dev/null +++ b/packages/lowdisc/tools/tsconfig.json @@ -0,0 +1,10 @@ +{ + "extends": "../../../tsconfig.json", + "compilerOptions": { + "outDir": "../build", + "module": "commonjs", + "noUnusedLocals": false, + "noUnusedParameters": false + }, + "include": ["./**/*.ts", "../src/**/*.ts"] +} diff --git a/packages/lowdisc/tpl.readme.md b/packages/lowdisc/tpl.readme.md new file mode 100644 index 0000000000..c3f385e617 --- /dev/null +++ b/packages/lowdisc/tpl.readme.md @@ -0,0 +1,81 @@ +# ${pkg.banner} + +[![npm version](https://img.shields.io/npm/v/${pkg.name}.svg)](https://www.npmjs.com/package/${pkg.name}) +![npm downloads](https://img.shields.io/npm/dm/${pkg.name}.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 + +${pkg.description} + +This package provides the following n-dimensional [low-discrepancy +sequence](https://en.wikipedia.org/wiki/Low-discrepancy_sequence) generators, +partially based on the article [The Unreasonable Effectiveness of Quasirandom +Sequences](http://extremelearning.com.au/unreasonable-effectiveness-of-quasirandom-sequences/) +by Martin Roberts. + +### Halton + +Configurable basis for each dimension: + +`haltonND([2,3])` + +![2D Halton(2,3) sequence](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/lowdisc/ld-halton-small.gif) + +### Kronecker + +Configurable basis for each dimension: + +`kroneckerND([1 / 2 ** 0.5, 1 / 5 ** 0.5])` + +![2D Kronecker sequence (Golden ratio)](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/lowdisc/ld-kronecker-small.gif) + +### R2 recurrence + +Based on Kronecker with each dimension's base automatically derived from the +[Plastic number](https://en.wikipedia.org/wiki/Plastic_number): + +`plasticND(2)` + +![2D R2 recurrence sequence](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/lowdisc/ld-plastic-small.gif) + +${status} + +${supportPackages} + +${relatedPackages} + +${blogPosts} + +## Installation + +${pkg.install} + +${pkg.size} + +## Dependencies + +${pkg.deps} + +${examples} + +## API + +${docLink} + +TODO + +## Authors + +${authors} + +${pkg.cite} + +## License + +© ${copyright} // ${license} diff --git a/packages/lowdisc/tsconfig.json b/packages/lowdisc/tsconfig.json new file mode 100644 index 0000000000..bd6481a5a6 --- /dev/null +++ b/packages/lowdisc/tsconfig.json @@ -0,0 +1,9 @@ +{ + "extends": "../../tsconfig.json", + "compilerOptions": { + "outDir": "." + }, + "include": [ + "./src/**/*.ts" + ] +} diff --git a/packages/lsys/CHANGELOG.md b/packages/lsys/CHANGELOG.md index 20941f353a..14083d07a8 100644 --- a/packages/lsys/CHANGELOG.md +++ b/packages/lsys/CHANGELOG.md @@ -3,47 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [0.2.83](https://github.com/thi-ng/umbrella/compare/@thi.ng/lsys@0.2.82...@thi.ng/lsys@0.2.83) (2021-04-03) - -**Note:** Version bump only for package @thi.ng/lsys - - - - - -## [0.2.82](https://github.com/thi-ng/umbrella/compare/@thi.ng/lsys@0.2.81...@thi.ng/lsys@0.2.82) (2021-03-30) - -**Note:** Version bump only for package @thi.ng/lsys - - - - - -## [0.2.81](https://github.com/thi-ng/umbrella/compare/@thi.ng/lsys@0.2.80...@thi.ng/lsys@0.2.81) (2021-03-28) - -**Note:** Version bump only for package @thi.ng/lsys - - - - - -## [0.2.80](https://github.com/thi-ng/umbrella/compare/@thi.ng/lsys@0.2.79...@thi.ng/lsys@0.2.80) (2021-03-27) - -**Note:** Version bump only for package @thi.ng/lsys - - - - - -## [0.2.79](https://github.com/thi-ng/umbrella/compare/@thi.ng/lsys@0.2.78...@thi.ng/lsys@0.2.79) (2021-03-17) - -**Note:** Version bump only for package @thi.ng/lsys - - - - - -## [0.2.78](https://github.com/thi-ng/umbrella/compare/@thi.ng/lsys@0.2.77...@thi.ng/lsys@0.2.78) (2021-03-12) +## [0.2.87](https://github.com/thi-ng/umbrella/compare/@thi.ng/lsys@0.2.86...@thi.ng/lsys@0.2.87) (2021-06-08) **Note:** Version bump only for package @thi.ng/lsys diff --git a/packages/lsys/package.json b/packages/lsys/package.json index 4d9cb86ddd..473a81b591 100644 --- a/packages/lsys/package.json +++ b/packages/lsys/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/lsys", - "version": "0.2.83", + "version": "0.2.87", "description": "Functional, extensible L-System architecture w/ support for probabilistic rules", "module": "./index.js", "main": "./lib/index.js", @@ -42,20 +42,20 @@ "@microsoft/api-extractor": "^7.13.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.3.0", + "mocha": "^9.0.0", "nyc": "^15.1.0", - "ts-node": "^9.1.1", + "ts-node": "^10.0.0", "typedoc": "^0.20.30", - "typescript": "^4.2.3" + "typescript": "4.2.4" }, "dependencies": { - "@thi.ng/api": "^7.1.4", - "@thi.ng/compose": "^1.4.30", - "@thi.ng/errors": "^1.3.0", - "@thi.ng/math": "^3.4.0", - "@thi.ng/random": "^2.3.7", - "@thi.ng/transducers": "^7.6.10", - "@thi.ng/vectors": "^5.2.1" + "@thi.ng/api": "^7.1.5", + "@thi.ng/compose": "^1.4.31", + "@thi.ng/errors": "^1.3.1", + "@thi.ng/math": "^4.0.1", + "@thi.ng/random": "^2.4.1", + "@thi.ng/transducers": "^7.7.3", + "@thi.ng/vectors": "^6.0.1" }, "files": [ "*.js", diff --git a/packages/malloc/CHANGELOG.md b/packages/malloc/CHANGELOG.md index c98b607296..bb06daeadf 100644 --- a/packages/malloc/CHANGELOG.md +++ b/packages/malloc/CHANGELOG.md @@ -3,23 +3,7 @@ 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/malloc@5.0.6...@thi.ng/malloc@5.0.7) (2021-04-03) - -**Note:** Version bump only for package @thi.ng/malloc - - - - - -## [5.0.6](https://github.com/thi-ng/umbrella/compare/@thi.ng/malloc@5.0.5...@thi.ng/malloc@5.0.6) (2021-03-17) - -**Note:** Version bump only for package @thi.ng/malloc - - - - - -## [5.0.5](https://github.com/thi-ng/umbrella/compare/@thi.ng/malloc@5.0.4...@thi.ng/malloc@5.0.5) (2021-03-12) +## [5.0.8](https://github.com/thi-ng/umbrella/compare/@thi.ng/malloc@5.0.7...@thi.ng/malloc@5.0.8) (2021-06-08) **Note:** Version bump only for package @thi.ng/malloc diff --git a/packages/malloc/package.json b/packages/malloc/package.json index fd3c188416..3b566ed484 100644 --- a/packages/malloc/package.json +++ b/packages/malloc/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/malloc", - "version": "5.0.7", + "version": "5.0.8", "description": "ArrayBuffer based malloc() impl for hybrid JS/WASM use cases, based on thi.ng/tinyalloc", "module": "./index.js", "main": "./lib/index.js", @@ -42,17 +42,17 @@ "@microsoft/api-extractor": "^7.13.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.3.0", + "mocha": "^9.0.0", "nyc": "^15.1.0", - "ts-node": "^9.1.1", + "ts-node": "^10.0.0", "typedoc": "^0.20.30", - "typescript": "^4.2.3" + "typescript": "4.2.4" }, "dependencies": { - "@thi.ng/api": "^7.1.4", - "@thi.ng/binary": "^2.2.4", - "@thi.ng/checks": "^2.9.6", - "@thi.ng/errors": "^1.3.0" + "@thi.ng/api": "^7.1.5", + "@thi.ng/binary": "^2.2.5", + "@thi.ng/checks": "^2.9.7", + "@thi.ng/errors": "^1.3.1" }, "files": [ "*.js", diff --git a/packages/math/CHANGELOG.md b/packages/math/CHANGELOG.md index 977b6fe179..0f3ec5bbe7 100644 --- a/packages/math/CHANGELOG.md +++ b/packages/math/CHANGELOG.md @@ -3,6 +3,37 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [4.0.1](https://github.com/thi-ng/umbrella/compare/@thi.ng/math@4.0.0...@thi.ng/math@4.0.1) (2021-06-08) + +**Note:** Version bump only for package @thi.ng/math + + + + + +# [4.0.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/math@3.4.0...@thi.ng/math@4.0.0) (2021-04-24) + + +### Features + +* **math:** add libc math fns ([28b41a8](https://github.com/thi-ng/umbrella/commit/28b41a824758b83cea09c29f48e6f14f56368c40)) +* **math:** add/update modulo functions ([be7b02b](https://github.com/thi-ng/umbrella/commit/be7b02beaf4ab1ab1030597a5f4eb94d43e1469b)) + + +### BREAKING CHANGES + +* **math:** Introduction of standard libc math functions causes +behavior change of existing `fmod()` function... + +- rename `fmod()` => `mod()` to align w/ GLSL counterpart +- add new `fmod()` w/ standard libc behavior (same as JS % op) +- add `remainder()` w/ standard libc behavior +- update doc strings + + + + + # [3.4.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/math@3.3.0...@thi.ng/math@3.4.0) (2021-04-03) @@ -35,14 +66,6 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline -## [3.2.5](https://github.com/thi-ng/umbrella/compare/@thi.ng/math@3.2.4...@thi.ng/math@3.2.5) (2021-03-12) - -**Note:** Version bump only for package @thi.ng/math - - - - - # [3.2.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/math@3.1.0...@thi.ng/math@3.2.0) (2021-02-20) diff --git a/packages/math/README.md b/packages/math/README.md index 546597933c..01844cd9fa 100644 --- a/packages/math/README.md +++ b/packages/math/README.md @@ -13,6 +13,7 @@ For the Clojure version, please visit: [thi.ng/math-clj](https://thi.ng/math-clj - [About](#about) - [Status](#status) + - [Breaking changes in v4.0.0](#breaking-changes-in-v400) - [Installation](#installation) - [Dependencies](#dependencies) - [Usage examples](#usage-examples) @@ -37,6 +38,16 @@ Partially ported from Clojure version [Search or submit any issues for this package](https://github.com/thi-ng/umbrella/issues?q=%5Bmath%5D+in%3Atitle) +### Breaking changes in v4.0.0 + +The introduction of several [standard libc math +functions](https://www.cplusplus.com/reference/cmath/) causes a behavior change +of the existing `fmod()` function... + +- rename `fmod()` => `mod()` to align w/ GLSL counterpart +- add new `fmod()` w/ standard libc behavior (same as JS % op) +- add `remainder()` w/ standard libc behavior + ## Installation ```bash @@ -51,7 +62,7 @@ yarn add @thi.ng/math ``` -Package sizes (gzipped, pre-treeshake): ESM: 3.71 KB / CJS: 4.30 KB / UMD: 3.54 KB +Package sizes (gzipped, pre-treeshake): ESM: 3.94 KB / CJS: 4.55 KB / UMD: 3.75 KB ## Dependencies diff --git a/packages/math/package.json b/packages/math/package.json index bdff2ac824..f8b70a67b5 100644 --- a/packages/math/package.json +++ b/packages/math/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/math", - "version": "3.4.0", + "version": "4.0.1", "description": "Assorted common math functions & utilities", "module": "./index.js", "main": "./lib/index.js", @@ -42,14 +42,14 @@ "@microsoft/api-extractor": "^7.13.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.3.0", + "mocha": "^9.0.0", "nyc": "^15.1.0", - "ts-node": "^9.1.1", + "ts-node": "^10.0.0", "typedoc": "^0.20.30", - "typescript": "^4.2.3" + "typescript": "4.2.4" }, "dependencies": { - "@thi.ng/api": "^7.1.4" + "@thi.ng/api": "^7.1.5" }, "files": [ "*.js", diff --git a/packages/math/src/index.ts b/packages/math/src/index.ts index f1ae6da1f4..7dd652ea29 100644 --- a/packages/math/src/index.ts +++ b/packages/math/src/index.ts @@ -7,6 +7,7 @@ export * from "./extrema"; export * from "./fit"; export * from "./int"; export * from "./interval"; +export * from "./libc"; export * from "./min-error"; export * from "./mix"; export * from "./prec"; diff --git a/packages/math/src/libc.ts b/packages/math/src/libc.ts new file mode 100644 index 0000000000..23be1d2eb9 --- /dev/null +++ b/packages/math/src/libc.ts @@ -0,0 +1,105 @@ +import type { FnN, FnN2, FnN3 } from "@thi.ng/api"; + +/** + * Returns a value with the magnitude of `x` and the sign of `y`. + * + * @param x + * @param y + */ +export const copysign: FnN2 = (x, y) => Math.sign(y) * Math.abs(x); + +/** + * Returns `2^x`. + * + * @param x + */ +export const exp2: FnN = (x) => 2 ** x; + +/** + * Returns the positive difference between `x` and `y`, i.e. `x - y` iff `x > y`, + * otherwise zero. + * + * @param x + * @param y + */ +export const fdim: FnN2 = (x, y) => Math.max(x - y, 0); + +/** + * Returns `x * y + z`. + * + * @param x + * @param y + * @param z + */ +export const fma: FnN3 = (x, y, z) => x * y + z; + +/** + * Similar to {@link mod}, {@link remainder}. Returns `x - y * trunc(x / y)`, + * i.e. essentially the same as JS `%` operator. Result will always have the + * sign of `x`. + * + * @remarks + * **Caution:** Due to the introduction of libc math functions in v4.0.0 and the + * resulting name/behavior clashes between the modulo logic in JS, C & GLSL, the + * previous `fmod` function has been renamed to {@link mod} to align w/ its GLSL + * version and now exhibits a different behavior to this current {@link fmod} + * function. + * + * Reference: https://www.cplusplus.com/reference/cmath/fmod/ + * + * @param x + * @param y + */ +export const fmod: FnN2 = (x, y) => x % y; +//export const fmod: FnN2 = (x, y) => x - y * Math.trunc(x / y); + +/** + * Inverse op of {@link ldexp}. Breaks the number `x` into its binary + * significand (a floating point with an abs value in `[0.5,1.0)` interval and + * an integral exponent for 2, such that: `x = significand * 2^exp`. Returns + * tuple of `[sig, exp]`. + * + * @remarks + * - If `x` is zero, both parts (significand and exponent) are zero. + * - If `x` is negative, the significand returned by this function is negative. + * + * Based on: + * https://github.com/locutusjs/locutus/blob/master/src/c/math/frexp.js + * + * @param x + */ +export const frexp = (x: number) => { + if (x === 0 || !isFinite(x)) return [x, 0]; + + const abs = Math.abs(x); + let exp = Math.max(-1023, Math.floor(Math.log2(abs)) + 1); + let y = abs * 2 ** -exp; + while (y < 0.5) { + y *= 2; + exp--; + } + while (y >= 1) { + y *= 0.5; + exp++; + } + return [x < 0 ? -y : y, exp]; +}; + +/** + * Inverse op of {@link frexp}. Returns `x * 2^exp` + * + * @param x + * @param exp + */ +export const ldexp: FnN2 = (x, exp) => x * 2 ** exp; + +/** + * Similar to {@link fmod}, {@link mod}. Returns `x - y * round(x / y)`. + * + * @remarks + * https://www.cplusplus.com/reference/cmath/remainder/ + * + * @param x + * @param y + */ +export const remainder: FnN2 = (x, y) => x - y * Math.round(x / y); diff --git a/packages/math/src/prec.ts b/packages/math/src/prec.ts index bcd94d6aca..bf5d89999f 100644 --- a/packages/math/src/prec.ts +++ b/packages/math/src/prec.ts @@ -2,12 +2,22 @@ import type { FnN, FnN2 } from "@thi.ng/api"; import { EPS } from "./api"; /** - * Returns `a - b * floor(a/b)` + * Similar to {@link fmod}, {@link remainder}. Returns `a - b * floor(a / b)` + * (same as GLSL `mod(a, b)`) + * + * @remarks + * **Caution:** Due to the introduction of libc math functions in v4.0.0 and the + * resulting name/behavior clashes between the modulo logic in JS, C & GLSL, + * this function previously _was_ called `fmod`, but going forward has been + * renamed to align w/ its GLSL version and exhibits a different behavior to the + * current {@link fmod} function. + * + * https://www.khronos.org/registry/OpenGL-Refpages/gl4/html/mod.xhtml * * @param a - * @param b - */ -export const fmod: FnN2 = (a, b) => a - b * Math.floor(a / b); +export const mod: FnN2 = (a, b) => a - b * Math.floor(a / b); export const fract: FnN = (x) => x - Math.floor(x); diff --git a/packages/math/test/index.ts b/packages/math/test/index.ts index 73612f3881..14118f2146 100644 --- a/packages/math/test/index.ts +++ b/packages/math/test/index.ts @@ -1,6 +1,19 @@ -// import * as assert from "assert"; -// import * as m from "../src"; +import * as assert from "assert"; +import { fmod, mod, remainder } from "../src"; describe("math", () => { - it("tests pending"); + it("fmod", () => { + assert.strictEqual(fmod(3.75, 2), 1.75); + assert.strictEqual(fmod(-3.75, 2), -1.75); + assert.strictEqual(3.75 % 2, 1.75); + assert.strictEqual(-3.75 % 2, -1.75); + }); + it("mod", () => { + assert.strictEqual(mod(3.75, 2), 1.75); + assert.strictEqual(mod(-3.75, 2), 0.25); + }); + it("remainder", () => { + assert.strictEqual(remainder(3.75, 2), -0.25); + assert.strictEqual(remainder(-3.75, 2), 0.25); + }); }); diff --git a/packages/math/tpl.readme.md b/packages/math/tpl.readme.md index 01bf8d4541..05f962e5ee 100644 --- a/packages/math/tpl.readme.md +++ b/packages/math/tpl.readme.md @@ -22,6 +22,16 @@ Partially ported from Clojure version ${status} +### Breaking changes in v4.0.0 + +The introduction of several [standard libc math +functions](https://www.cplusplus.com/reference/cmath/) causes a behavior change +of the existing `fmod()` function... + +- rename `fmod()` => `mod()` to align w/ GLSL counterpart +- add new `fmod()` w/ standard libc behavior (same as JS % op) +- add `remainder()` w/ standard libc behavior + ${supportPackages} ${relatedPackages} diff --git a/packages/matrices/CHANGELOG.md b/packages/matrices/CHANGELOG.md index cfd98d10d5..a4741302b3 100644 --- a/packages/matrices/CHANGELOG.md +++ b/packages/matrices/CHANGELOG.md @@ -3,47 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [0.6.55](https://github.com/thi-ng/umbrella/compare/@thi.ng/matrices@0.6.54...@thi.ng/matrices@0.6.55) (2021-04-03) - -**Note:** Version bump only for package @thi.ng/matrices - - - - - -## [0.6.54](https://github.com/thi-ng/umbrella/compare/@thi.ng/matrices@0.6.53...@thi.ng/matrices@0.6.54) (2021-03-30) - -**Note:** Version bump only for package @thi.ng/matrices - - - - - -## [0.6.53](https://github.com/thi-ng/umbrella/compare/@thi.ng/matrices@0.6.52...@thi.ng/matrices@0.6.53) (2021-03-28) - -**Note:** Version bump only for package @thi.ng/matrices - - - - - -## [0.6.52](https://github.com/thi-ng/umbrella/compare/@thi.ng/matrices@0.6.51...@thi.ng/matrices@0.6.52) (2021-03-27) - -**Note:** Version bump only for package @thi.ng/matrices - - - - - -## [0.6.51](https://github.com/thi-ng/umbrella/compare/@thi.ng/matrices@0.6.50...@thi.ng/matrices@0.6.51) (2021-03-17) - -**Note:** Version bump only for package @thi.ng/matrices - - - - - -## [0.6.50](https://github.com/thi-ng/umbrella/compare/@thi.ng/matrices@0.6.49...@thi.ng/matrices@0.6.50) (2021-03-12) +## [0.6.59](https://github.com/thi-ng/umbrella/compare/@thi.ng/matrices@0.6.58...@thi.ng/matrices@0.6.59) (2021-06-08) **Note:** Version bump only for package @thi.ng/matrices diff --git a/packages/matrices/README.md b/packages/matrices/README.md index daf8634fbe..b7a7ba71ea 100644 --- a/packages/matrices/README.md +++ b/packages/matrices/README.md @@ -75,7 +75,7 @@ yarn add @thi.ng/matrices ``` -Package sizes (gzipped, pre-treeshake): ESM: 4.76 KB / CJS: 5.32 KB / UMD: 4.86 KB +Package sizes (gzipped, pre-treeshake): ESM: 4.76 KB / CJS: 5.31 KB / UMD: 4.86 KB ## Dependencies diff --git a/packages/matrices/package.json b/packages/matrices/package.json index 2f83abde9f..c781c38d03 100644 --- a/packages/matrices/package.json +++ b/packages/matrices/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/matrices", - "version": "0.6.55", + "version": "0.6.59", "description": "Matrix & quaternion operations for 2D/3D geometry processing", "module": "./index.js", "main": "./lib/index.js", @@ -42,17 +42,17 @@ "@microsoft/api-extractor": "^7.13.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.3.0", + "mocha": "^9.0.0", "nyc": "^15.1.0", - "ts-node": "^9.1.1", + "ts-node": "^10.0.0", "typedoc": "^0.20.30", - "typescript": "^4.2.3" + "typescript": "4.2.4" }, "dependencies": { - "@thi.ng/api": "^7.1.4", - "@thi.ng/checks": "^2.9.6", - "@thi.ng/math": "^3.4.0", - "@thi.ng/vectors": "^5.2.1" + "@thi.ng/api": "^7.1.5", + "@thi.ng/checks": "^2.9.7", + "@thi.ng/math": "^4.0.1", + "@thi.ng/vectors": "^6.0.1" }, "files": [ "*.js", diff --git a/packages/matrices/src/matn.ts b/packages/matrices/src/matn.ts index d0139f3941..2e7ac259dd 100644 --- a/packages/matrices/src/matn.ts +++ b/packages/matrices/src/matn.ts @@ -7,6 +7,5 @@ export const mat23n = (out: Mat | null, n: number) => scale23(out, n); export const mat33n = (out: Mat | null, n: number) => scale33(out, n); -export const mat44n = (out: Mat | null, n: number) => ( - (out = scale44(out, n)), (out[15] = n), out -); +export const mat44n = (out: Mat | null, n: number) => + scale44(out, [n, n, n, n]); diff --git a/packages/memoize/CHANGELOG.md b/packages/memoize/CHANGELOG.md index bdce7a0926..896b56488d 100644 --- a/packages/memoize/CHANGELOG.md +++ b/packages/memoize/CHANGELOG.md @@ -3,7 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [2.1.14](https://github.com/thi-ng/umbrella/compare/@thi.ng/memoize@2.1.13...@thi.ng/memoize@2.1.14) (2021-03-12) +## [2.1.15](https://github.com/thi-ng/umbrella/compare/@thi.ng/memoize@2.1.14...@thi.ng/memoize@2.1.15) (2021-06-08) **Note:** Version bump only for package @thi.ng/memoize diff --git a/packages/memoize/package.json b/packages/memoize/package.json index 714be83876..2081ae7bbf 100644 --- a/packages/memoize/package.json +++ b/packages/memoize/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/memoize", - "version": "2.1.14", + "version": "2.1.15", "description": "Function memoization with configurable caching", "module": "./index.js", "main": "./lib/index.js", @@ -42,14 +42,14 @@ "@microsoft/api-extractor": "^7.13.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.3.0", + "mocha": "^9.0.0", "nyc": "^15.1.0", - "ts-node": "^9.1.1", + "ts-node": "^10.0.0", "typedoc": "^0.20.30", - "typescript": "^4.2.3" + "typescript": "4.2.4" }, "dependencies": { - "@thi.ng/api": "^7.1.4" + "@thi.ng/api": "^7.1.5" }, "files": [ "*.js", diff --git a/packages/mime/CHANGELOG.md b/packages/mime/CHANGELOG.md index 7206d24232..87c34c8696 100644 --- a/packages/mime/CHANGELOG.md +++ b/packages/mime/CHANGELOG.md @@ -3,50 +3,64 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -# [0.4.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/mime@0.3.1...@thi.ng/mime@0.4.0) (2021-04-03) +## [0.5.2](https://github.com/thi-ng/umbrella/compare/@thi.ng/mime@0.5.1...@thi.ng/mime@0.5.2) (2021-06-08) +**Note:** Version bump only for package @thi.ng/mime -### Features -* **mime:** update tool, incl. more mime types ([df59d93](https://github.com/thi-ng/umbrella/commit/df59d930f6813781aada2c9d4b1d9a1d485b1dfb)) +## [0.5.1](https://github.com/thi-ng/umbrella/compare/@thi.ng/mime@0.5.0...@thi.ng/mime@0.5.1) (2021-04-10) -## [0.3.1](https://github.com/thi-ng/umbrella/compare/@thi.ng/mime@0.3.0...@thi.ng/mime@0.3.1) (2021-03-28) +### Bug Fixes -**Note:** Version bump only for package @thi.ng/mime +* **mime:** fix preferredExtension() ([2ebe6ed](https://github.com/thi-ng/umbrella/commit/2ebe6ed8d448eb35b42c6cc5c95094938a7d5a22)) -# [0.3.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/mime@0.2.0...@thi.ng/mime@0.3.0) (2021-03-27) +# [0.5.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/mime@0.4.0...@thi.ng/mime@0.5.0) (2021-04-04) ### Features -* **mime:** add preferredExtension(), update convert tool ([c3f5ec1](https://github.com/thi-ng/umbrella/commit/c3f5ec12f324a4e627b26dc45d480c0e761602ea)) +* **mime:** add MSFT & SideFX types ([58c247d](https://github.com/thi-ng/umbrella/commit/58c247de4c30528319ab274c2609487e5dd4df5f)) -# [0.2.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/mime@0.1.33...@thi.ng/mime@0.2.0) (2021-03-26) +# [0.4.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/mime@0.3.1...@thi.ng/mime@0.4.0) (2021-04-03) ### Features -* **mime:** update to latest mime-db release ([1010191](https://github.com/thi-ng/umbrella/commit/10101919d5dcfdb1477d54904a164c1d6e2e65e6)) +* **mime:** update tool, incl. more mime types ([df59d93](https://github.com/thi-ng/umbrella/commit/df59d930f6813781aada2c9d4b1d9a1d485b1dfb)) -## [0.1.33](https://github.com/thi-ng/umbrella/compare/@thi.ng/mime@0.1.32...@thi.ng/mime@0.1.33) (2021-03-12) +# [0.3.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/mime@0.2.0...@thi.ng/mime@0.3.0) (2021-03-27) -**Note:** Version bump only for package @thi.ng/mime + +### Features + +* **mime:** add preferredExtension(), update convert tool ([c3f5ec1](https://github.com/thi-ng/umbrella/commit/c3f5ec12f324a4e627b26dc45d480c0e761602ea)) + + + + + +# [0.2.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/mime@0.1.33...@thi.ng/mime@0.2.0) (2021-03-26) + + +### Features + +* **mime:** update to latest mime-db release ([1010191](https://github.com/thi-ng/umbrella/commit/10101919d5dcfdb1477d54904a164c1d6e2e65e6)) diff --git a/packages/mime/README.md b/packages/mime/README.md index 2193fefe58..7cd589cdfa 100644 --- a/packages/mime/README.md +++ b/packages/mime/README.md @@ -48,7 +48,7 @@ yarn add @thi.ng/mime ``` -Package sizes (gzipped, pre-treeshake): ESM: 4.79 KB / CJS: 4.85 KB / UMD: 4.95 KB +Package sizes (gzipped, pre-treeshake): ESM: 4.94 KB / CJS: 5.00 KB / UMD: 5.11 KB ## Dependencies diff --git a/packages/mime/package.json b/packages/mime/package.json index 1e68e5d241..70afa7f4c5 100644 --- a/packages/mime/package.json +++ b/packages/mime/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/mime", - "version": "0.4.0", + "version": "0.5.2", "description": "650+ file extension to MIME type mappings, based on mime-db", "module": "./index.js", "main": "./lib/index.js", @@ -43,14 +43,14 @@ "@microsoft/api-extractor": "^7.13.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.3.0", + "mocha": "^9.0.0", "nyc": "^15.1.0", - "ts-node": "^9.1.1", + "ts-node": "^10.0.0", "typedoc": "^0.20.30", - "typescript": "^4.2.3" + "typescript": "4.2.4" }, "dependencies": { - "@thi.ng/api": "^7.1.4" + "@thi.ng/api": "^7.1.5" }, "files": [ "*.js", diff --git a/packages/mime/src/generated.ts b/packages/mime/src/generated.ts index 5d4953411b..94ae2bcea8 100644 --- a/packages/mime/src/generated.ts +++ b/packages/mime/src/generated.ts @@ -1,5 +1,5 @@ /** - * generated @ 2021-04-03T11:47:03.364Z - DO NOT EDIT! + * generated @ 2021-04-10T11:16:38.116Z - DO NOT EDIT! * * @internal */ @@ -166,6 +166,13 @@ export const DB: Record> = { "vnd.ms-excel": "xls,xlm,xla,xlc,xlt,xlw", "vnd.ms-powerpoint": "ppt,pps,pot", "vnd.openstreetmap.data+xml": "osm", + "vnd.openxmlformats-officedocument.presentationml.presentation": "pptx", + "vnd.openxmlformats-officedocument.presentationml.slideshow": "ppsx", + "vnd.openxmlformats-officedocument.presentationml.template": "potx", + "vnd.openxmlformats-officedocument.spreadsheetml.sheet": "xlsx", + "vnd.openxmlformats-officedocument.spreadsheetml.template": "xltx", + "vnd.openxmlformats-officedocument.wordprocessingml.document": "docx", + "vnd.openxmlformats-officedocument.wordprocessingml.template": "dotx", "vnd.rar": "rar", "vnd.unity": "unityweb", "voicexml+xml": "vxml", @@ -267,6 +274,8 @@ export const DB: Record> = { "x-sh": "sh", "x-shar": "shar", "x-shockwave-flash": "swf", + "x-sidefx-houdini-asset": "hda", + "x-sidefx-houdini-project": "hip,hipnc,hiplc", "x-silverlight-app": "xap", "x-sql": "sql", "x-stuffit": "sit", @@ -451,8 +460,11 @@ export const DB: Record> = { mtl: "mtl", obj: "obj", stl: "stl", + "stl+binary": "bstl", "vnd.usdz+zip": "usdz", vrml: "wrl,vrml", + "x-sidefx-houdini": "geo", + "x-sidefx-houdini+binary": "bgeo", "x3d+binary": "*x3db,x3dbz", "x3d+fastinfoset": "x3db", "x3d+vrml": "*x3dv,x3dvz", @@ -469,7 +481,7 @@ export const DB: Record> = { jade: "jade", jsx: "jsx", less: "less", - markdown: "markdown,md", + markdown: "*markdown,md", mathml: "mml", mdx: "mdx", n3: "n3", diff --git a/packages/mime/src/index.ts b/packages/mime/src/index.ts index b7029629bc..c532b187fa 100644 --- a/packages/mime/src/index.ts +++ b/packages/mime/src/index.ts @@ -51,6 +51,6 @@ export const preferredType = (ext: string, fallback = MIME_TYPES.bin[0]) => { export const preferredExtension = (mime: string, fallback = "bin") => { const [prefix, suffix] = mime.split("/"); const group = DB[prefix]; - const ext = group ? group[suffix] : undefined; - return ext ? ext.split(",")[0] : fallback; + const ext = group ? group[suffix].split(",") : undefined; + return ext ? ext.find((x) => x[0] !== "*") || ext[0].substr(1) : fallback; }; diff --git a/packages/mime/tools/convert.ts b/packages/mime/tools/convert.ts index 87d10fd578..6bd52e2b70 100644 --- a/packages/mime/tools/convert.ts +++ b/packages/mime/tools/convert.ts @@ -19,6 +19,13 @@ const INCLUDE = new Set([ "application/vnd.ms-excel", "application/vnd.ms-powerpoint", "application/vnd.openstreetmap.data+xml", + "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", + "application/vnd.openxmlformats-officedocument.spreadsheetml.template", + "application/vnd.openxmlformats-officedocument.wordprocessingml.document", + "application/vnd.openxmlformats-officedocument.wordprocessingml.template", + "application/vnd.openxmlformats-officedocument.presentationml.presentation", + "application/vnd.openxmlformats-officedocument.presentationml.slideshow", + "application/vnd.openxmlformats-officedocument.presentationml.template", "application/vnd.rar", "application/vnd.unity", "image/vnd.adobe.photoshop", @@ -32,6 +39,7 @@ const INCLUDE = new Set([ const LO_PRIORITIES: IObjectOf = { "3gpp": "audio/3gpp", jpm: "video/jpm", + markdown: "text/markdown", mp3: "audio/mp3", rtf: "text/rtf", wav: "audio/wave", @@ -45,10 +53,22 @@ const src = JSON.parse(readFileSync("tools/mime-db.json", "utf-8")); // Destination index w/ prefilled types not included in mime-db const dest: IObjectOf> = { + // see: https://twitter.com/toxi/status/1378719456269058058 + application: { + "x-sidefx-houdini-project": "hip,hipnc,hiplc", + "x-sidefx-houdini-asset": "hda", + }, image: { // http://fileformats.archiveteam.org/wiki/Radiance_HDR "vnd.radiance": "hdr,*pic,rgbe,xyze", }, + model: { + // Houdini default extension for binary STL models + "stl+binary": "bstl", + // Houdini geometry formats + "x-sidefx-houdini": "geo", + "x-sidefx-houdini+binary": "bgeo", + }, }; // build index diff --git a/packages/morton/CHANGELOG.md b/packages/morton/CHANGELOG.md index 8d100221bb..37c68f07dc 100644 --- a/packages/morton/CHANGELOG.md +++ b/packages/morton/CHANGELOG.md @@ -3,23 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [2.0.39](https://github.com/thi-ng/umbrella/compare/@thi.ng/morton@2.0.38...@thi.ng/morton@2.0.39) (2021-04-03) - -**Note:** Version bump only for package @thi.ng/morton - - - - - -## [2.0.38](https://github.com/thi-ng/umbrella/compare/@thi.ng/morton@2.0.37...@thi.ng/morton@2.0.38) (2021-03-17) - -**Note:** Version bump only for package @thi.ng/morton - - - - - -## [2.0.37](https://github.com/thi-ng/umbrella/compare/@thi.ng/morton@2.0.36...@thi.ng/morton@2.0.37) (2021-03-12) +## [2.0.41](https://github.com/thi-ng/umbrella/compare/@thi.ng/morton@2.0.40...@thi.ng/morton@2.0.41) (2021-06-08) **Note:** Version bump only for package @thi.ng/morton diff --git a/packages/morton/package.json b/packages/morton/package.json index 24eb6b4ecc..4ce8f9cb44 100644 --- a/packages/morton/package.json +++ b/packages/morton/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/morton", - "version": "2.0.39", + "version": "2.0.41", "description": "Z-order curve / Morton encoding, decoding & range extraction for arbitrary dimensions", "module": "./index.js", "main": "./lib/index.js", @@ -42,16 +42,16 @@ "@microsoft/api-extractor": "^7.13.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.3.0", + "mocha": "^9.0.0", "nyc": "^15.1.0", - "ts-node": "^9.1.1", + "ts-node": "^10.0.0", "typedoc": "^0.20.30", - "typescript": "^4.2.3" + "typescript": "4.2.4" }, "dependencies": { - "@thi.ng/api": "^7.1.4", - "@thi.ng/binary": "^2.2.4", - "@thi.ng/math": "^3.4.0" + "@thi.ng/api": "^7.1.5", + "@thi.ng/binary": "^2.2.5", + "@thi.ng/math": "^4.0.1" }, "files": [ "*.js", diff --git a/packages/oquery/CHANGELOG.md b/packages/oquery/CHANGELOG.md index 4bae28281e..530ca96c8a 100644 --- a/packages/oquery/CHANGELOG.md +++ b/packages/oquery/CHANGELOG.md @@ -3,7 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [0.3.1](https://github.com/thi-ng/umbrella/compare/@thi.ng/oquery@0.3.0...@thi.ng/oquery@0.3.1) (2021-04-03) +## [0.3.2](https://github.com/thi-ng/umbrella/compare/@thi.ng/oquery@0.3.1...@thi.ng/oquery@0.3.2) (2021-06-08) **Note:** Version bump only for package @thi.ng/oquery @@ -22,22 +22,6 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline -## [0.2.11](https://github.com/thi-ng/umbrella/compare/@thi.ng/oquery@0.2.10...@thi.ng/oquery@0.2.11) (2021-03-17) - -**Note:** Version bump only for package @thi.ng/oquery - - - - - -## [0.2.10](https://github.com/thi-ng/umbrella/compare/@thi.ng/oquery@0.2.9...@thi.ng/oquery@0.2.10) (2021-03-12) - -**Note:** Version bump only for package @thi.ng/oquery - - - - - # [0.2.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/oquery@0.1.15...@thi.ng/oquery@0.2.0) (2020-12-07) diff --git a/packages/oquery/package.json b/packages/oquery/package.json index 0872a9b822..da9be5614b 100644 --- a/packages/oquery/package.json +++ b/packages/oquery/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/oquery", - "version": "0.3.1", + "version": "0.3.2", "description": "Datalog-inspired, optimized pattern/predicate query engine for JS objects & arrays", "module": "./index.js", "main": "./lib/index.js", @@ -41,17 +41,17 @@ "@microsoft/api-extractor": "^7.13.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.3.0", + "mocha": "^9.0.0", "nyc": "^15.1.0", - "ts-node": "^9.1.1", + "ts-node": "^10.0.0", "typedoc": "^0.20.30", - "typescript": "^4.2.3" + "typescript": "4.2.4" }, "dependencies": { - "@thi.ng/api": "^7.1.4", - "@thi.ng/checks": "^2.9.6", - "@thi.ng/defmulti": "^1.3.11", - "@thi.ng/equiv": "^1.0.41" + "@thi.ng/api": "^7.1.5", + "@thi.ng/checks": "^2.9.7", + "@thi.ng/defmulti": "^1.3.12", + "@thi.ng/equiv": "^1.0.42" }, "files": [ "*.js", diff --git a/packages/parse/CHANGELOG.md b/packages/parse/CHANGELOG.md index c62589d4e2..94df24b850 100644 --- a/packages/parse/CHANGELOG.md +++ b/packages/parse/CHANGELOG.md @@ -3,39 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [0.9.22](https://github.com/thi-ng/umbrella/compare/@thi.ng/parse@0.9.21...@thi.ng/parse@0.9.22) (2021-04-03) - -**Note:** Version bump only for package @thi.ng/parse - - - - - -## [0.9.21](https://github.com/thi-ng/umbrella/compare/@thi.ng/parse@0.9.20...@thi.ng/parse@0.9.21) (2021-03-24) - -**Note:** Version bump only for package @thi.ng/parse - - - - - -## [0.9.20](https://github.com/thi-ng/umbrella/compare/@thi.ng/parse@0.9.19...@thi.ng/parse@0.9.20) (2021-03-24) - -**Note:** Version bump only for package @thi.ng/parse - - - - - -## [0.9.19](https://github.com/thi-ng/umbrella/compare/@thi.ng/parse@0.9.18...@thi.ng/parse@0.9.19) (2021-03-17) - -**Note:** Version bump only for package @thi.ng/parse - - - - - -## [0.9.18](https://github.com/thi-ng/umbrella/compare/@thi.ng/parse@0.9.17...@thi.ng/parse@0.9.18) (2021-03-12) +## [0.9.23](https://github.com/thi-ng/umbrella/compare/@thi.ng/parse@0.9.22...@thi.ng/parse@0.9.23) (2021-06-08) **Note:** Version bump only for package @thi.ng/parse diff --git a/packages/parse/package.json b/packages/parse/package.json index 32c69692a0..32b52593a3 100644 --- a/packages/parse/package.json +++ b/packages/parse/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/parse", - "version": "0.9.22", + "version": "0.9.23", "description": "Purely functional parser combinators & AST generation for generic inputs", "module": "./index.js", "main": "./lib/index.js", @@ -42,18 +42,18 @@ "@microsoft/api-extractor": "^7.13.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.3.0", + "mocha": "^9.0.0", "nyc": "^15.1.0", - "ts-node": "^9.1.1", + "ts-node": "^10.0.0", "typedoc": "^0.20.30", - "typescript": "^4.2.3" + "typescript": "4.2.4" }, "dependencies": { - "@thi.ng/api": "^7.1.4", - "@thi.ng/checks": "^2.9.6", - "@thi.ng/defmulti": "^1.3.11", - "@thi.ng/errors": "^1.3.0", - "@thi.ng/strings": "^2.1.0" + "@thi.ng/api": "^7.1.5", + "@thi.ng/checks": "^2.9.7", + "@thi.ng/defmulti": "^1.3.12", + "@thi.ng/errors": "^1.3.1", + "@thi.ng/strings": "^2.1.1" }, "files": [ "*.js", diff --git a/packages/paths/CHANGELOG.md b/packages/paths/CHANGELOG.md index ed25154702..8ba2f07492 100644 --- a/packages/paths/CHANGELOG.md +++ b/packages/paths/CHANGELOG.md @@ -3,23 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [4.2.7](https://github.com/thi-ng/umbrella/compare/@thi.ng/paths@4.2.6...@thi.ng/paths@4.2.7) (2021-04-03) - -**Note:** Version bump only for package @thi.ng/paths - - - - - -## [4.2.6](https://github.com/thi-ng/umbrella/compare/@thi.ng/paths@4.2.5...@thi.ng/paths@4.2.6) (2021-03-17) - -**Note:** Version bump only for package @thi.ng/paths - - - - - -## [4.2.5](https://github.com/thi-ng/umbrella/compare/@thi.ng/paths@4.2.4...@thi.ng/paths@4.2.5) (2021-03-12) +## [4.2.8](https://github.com/thi-ng/umbrella/compare/@thi.ng/paths@4.2.7...@thi.ng/paths@4.2.8) (2021-06-08) **Note:** Version bump only for package @thi.ng/paths diff --git a/packages/paths/package.json b/packages/paths/package.json index d551dfa8e3..3acf139046 100644 --- a/packages/paths/package.json +++ b/packages/paths/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/paths", - "version": "4.2.7", + "version": "4.2.8", "description": "Immutable, optimized and optionally typed path-based object property / array accessors with structural sharing", "module": "./index.js", "main": "./lib/index.js", @@ -42,16 +42,16 @@ "@microsoft/api-extractor": "^7.13.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.3.0", + "mocha": "^9.0.0", "nyc": "^15.1.0", - "ts-node": "^9.1.1", + "ts-node": "^10.0.0", "typedoc": "^0.20.30", - "typescript": "^4.2.3" + "typescript": "4.2.4" }, "dependencies": { - "@thi.ng/api": "^7.1.4", - "@thi.ng/checks": "^2.9.6", - "@thi.ng/errors": "^1.3.0" + "@thi.ng/api": "^7.1.5", + "@thi.ng/checks": "^2.9.7", + "@thi.ng/errors": "^1.3.1" }, "files": [ "*.js", diff --git a/packages/pixel-io-netpbm/CHANGELOG.md b/packages/pixel-io-netpbm/CHANGELOG.md index 0e054b0df2..0ce24908da 100644 --- a/packages/pixel-io-netpbm/CHANGELOG.md +++ b/packages/pixel-io-netpbm/CHANGELOG.md @@ -3,31 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [0.1.8](https://github.com/thi-ng/umbrella/compare/@thi.ng/pixel-io-netpbm@0.1.7...@thi.ng/pixel-io-netpbm@0.1.8) (2021-04-03) - -**Note:** Version bump only for package @thi.ng/pixel-io-netpbm - - - - - -## [0.1.7](https://github.com/thi-ng/umbrella/compare/@thi.ng/pixel-io-netpbm@0.1.6...@thi.ng/pixel-io-netpbm@0.1.7) (2021-03-20) - -**Note:** Version bump only for package @thi.ng/pixel-io-netpbm - - - - - -## [0.1.6](https://github.com/thi-ng/umbrella/compare/@thi.ng/pixel-io-netpbm@0.1.5...@thi.ng/pixel-io-netpbm@0.1.6) (2021-03-17) - -**Note:** Version bump only for package @thi.ng/pixel-io-netpbm - - - - - -## [0.1.5](https://github.com/thi-ng/umbrella/compare/@thi.ng/pixel-io-netpbm@0.1.4...@thi.ng/pixel-io-netpbm@0.1.5) (2021-03-12) +## [0.1.12](https://github.com/thi-ng/umbrella/compare/@thi.ng/pixel-io-netpbm@0.1.11...@thi.ng/pixel-io-netpbm@0.1.12) (2021-06-08) **Note:** Version bump only for package @thi.ng/pixel-io-netpbm diff --git a/packages/pixel-io-netpbm/package.json b/packages/pixel-io-netpbm/package.json index 89b8a4e2a2..d203afe026 100644 --- a/packages/pixel-io-netpbm/package.json +++ b/packages/pixel-io-netpbm/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/pixel-io-netpbm", - "version": "0.1.8", + "version": "0.1.12", "description": "Multi-format NetPBM reader & writer support for @thi.ng/pixel", "module": "./index.js", "main": "./lib/index.js", @@ -42,16 +42,16 @@ "@microsoft/api-extractor": "^7.13.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.3.0", + "mocha": "^9.0.0", "nyc": "^15.1.0", - "ts-node": "^9.1.1", + "ts-node": "^10.0.0", "typedoc": "^0.20.30", - "typescript": "^4.2.3" + "typescript": "4.2.4" }, "dependencies": { - "@thi.ng/api": "^7.1.4", - "@thi.ng/errors": "^1.3.0", - "@thi.ng/pixel": "^0.9.0" + "@thi.ng/api": "^7.1.5", + "@thi.ng/errors": "^1.3.1", + "@thi.ng/pixel": "^0.10.3" }, "files": [ "*.js", diff --git a/packages/pixel/CHANGELOG.md b/packages/pixel/CHANGELOG.md index 9432c6f12e..2e6d35b7f6 100644 --- a/packages/pixel/CHANGELOG.md +++ b/packages/pixel/CHANGELOG.md @@ -3,6 +3,25 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.10.3](https://github.com/thi-ng/umbrella/compare/@thi.ng/pixel@0.10.2...@thi.ng/pixel@0.10.3) (2021-06-08) + +**Note:** Version bump only for package @thi.ng/pixel + + + + + +# [0.10.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/pixel@0.9.0...@thi.ng/pixel@0.10.0) (2021-04-19) + + +### Features + +* **pixel:** add dominantColors(), update deps ([ad0617e](https://github.com/thi-ng/umbrella/commit/ad0617e6ed3077d8d0c1549416afc27df261edc9)) + + + + + # [0.9.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/pixel@0.8.1...@thi.ng/pixel@0.9.0) (2021-04-03) @@ -42,14 +61,6 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline -## [0.7.4](https://github.com/thi-ng/umbrella/compare/@thi.ng/pixel@0.7.3...@thi.ng/pixel@0.7.4) (2021-03-12) - -**Note:** Version bump only for package @thi.ng/pixel - - - - - # [0.7.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/pixel@0.6.1...@thi.ng/pixel@0.7.0) (2021-03-03) diff --git a/packages/pixel/README.md b/packages/pixel/README.md index 727b7887f6..96a1654b5b 100644 --- a/packages/pixel/README.md +++ b/packages/pixel/README.md @@ -17,6 +17,7 @@ This project is part of the - [Wrap mode](#wrap-mode) - [Strided convolution & pooling](#strided-convolution--pooling) - [Normal map generation](#normal-map-generation) + - [Dominant color extraction](#dominant-color-extraction) - [Status](#status) - [Support packages](#support-packages) - [Related packages](#related-packages) @@ -42,6 +43,7 @@ Typedarray integer & float pixel buffers w/ customizable formats, blitting, dith - Pre/post-multiply alpha - Region / sub-image extraction - Single-channel manipulation / extraction / replacement / conversion +- k-means based dominant color extraction (float buffers only) - Accessors for normalized channel value - Image sampling, resizing, pooling - Filters: nearest neighbor, bilinear, bicubic @@ -245,6 +247,52 @@ nmap.getAt(10, 10); writeFileSync("noise-normal.ppm", asPPM(nmap.as(RGB888))); ``` +### Dominant color extraction + +The `dominantColors()` function applies [k-means +clustering](https://github.com/thi-ng/umbrella/tree/develop/packages/k-means) to +extract the dominant colors from the given image. The clustering can be +configured. The function returns an array of `{ color, area }` objects (sorted +by descending area), where `color` is a cluster's dominant color (in the format +of the source image) and `area` the normalized cluster size (number of selected +pixels over total number of pixels in the image). + +![Example image & extracted dominant colors](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/pixel/dominant-colors-01.jpg) + +Picture credit: [/u/kristophershinn](https://www.reddit.com/r/EarthPorn/comments/j3z0f6/fall_in_yosemite_valley_oc3186_3983/) + +```ts +// read test PPM image and convert into float RGB format +const img = floatBuffer(read(readFileSync(`test.ppm`)), FLOAT_RGB); + +// extract 5 dominant color clusters +const clusters = dominantColors(img, 5); + +console.log(clusters); +// [ +// { +// color: [ 0.4000000059604645, 0.30980393290519714, 0.21176470816135406 ], +// area: 0.3141084558823529 +// }, +// { +// color: [ 0.21960784494876862, 0.19607843458652496, 0.1411764770746231 ], +// area: 0.2780330882352941 +// }, +// { +// color: [ 0.4156862795352936, 0.4745098054409027, 0.5647059082984924 ], +// area: 0.16620710784313725 +// }, +// { +// color: [ 0.6666666865348816, 0.7568627595901489, 0.9254902005195618 ], +// area: 0.12385110294117647 +// }, +// { +// color: [ 0.7176470756530762, 0.4745098054409027, 0.12941177189350128 ], +// area: 0.11780024509803921 +// } +// ] +``` + ### Status **STABLE** - used in production @@ -273,13 +321,14 @@ yarn add @thi.ng/pixel ``` -Package sizes (gzipped, pre-treeshake): ESM: 9.07 KB / CJS: 9.35 KB / UMD: 9.07 KB +Package sizes (gzipped, pre-treeshake): ESM: 9.20 KB / CJS: 9.49 KB / UMD: 9.20 KB ## Dependencies - [@thi.ng/api](https://github.com/thi-ng/umbrella/tree/develop/packages/api) - [@thi.ng/binary](https://github.com/thi-ng/umbrella/tree/develop/packages/binary) - [@thi.ng/checks](https://github.com/thi-ng/umbrella/tree/develop/packages/checks) +- [@thi.ng/k-means](https://github.com/thi-ng/umbrella/tree/develop/packages/k-means) - [@thi.ng/math](https://github.com/thi-ng/umbrella/tree/develop/packages/math) - [@thi.ng/porter-duff](https://github.com/thi-ng/umbrella/tree/develop/packages/porter-duff) @@ -291,15 +340,16 @@ directory are using this package. A selection: -| Screenshot | Description | Live demo | Source | -| ------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------- | -------------------------------------------------------- | ------------------------------------------------------------------------------------- | -| | Interactive image processing (adaptive threshold) | [Demo](https://demo.thi.ng/umbrella/adaptive-threshold/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/adaptive-threshold) | -| | Pixel buffer manipulations | [Demo](https://demo.thi.ng/umbrella/pixel-basics/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/pixel-basics) | -| | Interactive pixel sorting tool using thi.ng/color & thi.ng/pixel | [Demo](https://demo.thi.ng/umbrella/pixel-sorting/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/pixel-sorting) | -| | Port-Duff image compositing / alpha blending | [Demo](https://demo.thi.ng/umbrella/porter-duff/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/porter-duff) | -| | Fork-join worker-based raymarch renderer | [Demo](https://demo.thi.ng/umbrella/shader-ast-workers/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/shader-ast-workers) | -| | Textmode image warping w/ 16bit color output | [Demo](https://demo.thi.ng/umbrella/text-canvas-image/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/text-canvas-image) | -| | Minimal multi-pass / GPGPU example | [Demo](https://demo.thi.ng/umbrella/webgl-multipass/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/webgl-multipass) | +| Screenshot | Description | Live demo | Source | +| ------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------- | -------------------------------------------------------- | ------------------------------------------------------------------------------------- | +| | Interactive image processing (adaptive threshold) | [Demo](https://demo.thi.ng/umbrella/adaptive-threshold/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/adaptive-threshold) | +| | Color palette generation via dominant color extraction from uploaded images | [Demo](https://demo.thi.ng/umbrella/dominant-colors/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/dominant-colors) | +| | Pixel buffer manipulations | [Demo](https://demo.thi.ng/umbrella/pixel-basics/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/pixel-basics) | +| | Interactive pixel sorting tool using thi.ng/color & thi.ng/pixel | [Demo](https://demo.thi.ng/umbrella/pixel-sorting/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/pixel-sorting) | +| | Port-Duff image compositing / alpha blending | [Demo](https://demo.thi.ng/umbrella/porter-duff/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/porter-duff) | +| | Fork-join worker-based raymarch renderer | [Demo](https://demo.thi.ng/umbrella/shader-ast-workers/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/shader-ast-workers) | +| | Textmode image warping w/ 16bit color output | [Demo](https://demo.thi.ng/umbrella/text-canvas-image/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/text-canvas-image) | +| | Minimal multi-pass / GPGPU example | [Demo](https://demo.thi.ng/umbrella/webgl-multipass/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/webgl-multipass) | ## API diff --git a/packages/pixel/package.json b/packages/pixel/package.json index cd436eeef9..0264c1aef4 100644 --- a/packages/pixel/package.json +++ b/packages/pixel/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/pixel", - "version": "0.9.0", + "version": "0.10.3", "description": "Typedarray integer & float pixel buffers w/ customizable formats, blitting, dithering, convolution", "module": "./index.js", "main": "./lib/index.js", @@ -42,18 +42,19 @@ "@microsoft/api-extractor": "^7.13.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.3.0", + "mocha": "^9.0.0", "nyc": "^15.1.0", - "ts-node": "^9.1.1", + "ts-node": "^10.0.0", "typedoc": "^0.20.30", - "typescript": "^4.2.3" + "typescript": "4.2.4" }, "dependencies": { - "@thi.ng/api": "^7.1.4", - "@thi.ng/binary": "^2.2.4", - "@thi.ng/checks": "^2.9.6", - "@thi.ng/math": "^3.4.0", - "@thi.ng/porter-duff": "^0.1.45" + "@thi.ng/api": "^7.1.5", + "@thi.ng/binary": "^2.2.5", + "@thi.ng/checks": "^2.9.7", + "@thi.ng/k-means": "^0.2.2", + "@thi.ng/math": "^4.0.1", + "@thi.ng/porter-duff": "^0.1.47" }, "files": [ "*.js", @@ -86,6 +87,7 @@ "grayscale", "image", "interval", + "k-means", "multiformat", "normal", "pixel", diff --git a/packages/pixel/src/convolve.ts b/packages/pixel/src/convolve.ts index e50cc55369..4ce8a6e049 100644 --- a/packages/pixel/src/convolve.ts +++ b/packages/pixel/src/convolve.ts @@ -142,6 +142,22 @@ const initConvolve = (src: FloatBuffer, opts: ConvolveOpts) => { }; }; +const declOffset = ( + idx: number, + i: number, + pre: string, + stride: string, + min: string, + max: string +) => + idx < 0 + ? `const ${pre}${i} = max(${pre}${ + idx < -1 ? idx + "*" : "-" + }${stride},${min});` + : `const ${pre}${i} = min(${pre}+${ + idx > 1 ? idx + "*" : "" + }${stride},${max});`; + /** * HOF convolution or pooling kernel code generator. Takes either a * {@link PoolTemplate} function or array of kernel coefficients and kernel @@ -187,27 +203,13 @@ export const defKernel = ( : (tpl)[i] !== 0 && row.push(`${kv}*pix[${idx}]`); if (y === 0 && xx !== 0) { prefix.push( - xx < 0 - ? `const x${x} = max(x${ - xx < -1 ? xx + "*" : "-" - }stride,channel);` - : `const x${x} = min(x+${ - xx > 1 ? xx + "*" : "" - }stride,maxX+channel);` + declOffset(xx, x, "x", "stride", "channel", "maxX+channel") ); } } row.length && body.push(...row); if (yy !== 0) { - prefix.push( - yy < 0 - ? `const y${y} = max(y${ - yy < -1 ? yy + "*" : "-" - }rowStride,0);` - : `const y${y} = min(y+${ - yy > 1 ? yy + "*" : "" - }rowStride,maxY);` - ); + prefix.push(declOffset(yy, y, "y", "rowStride", "0", "maxY")); } } const decls = isPool diff --git a/packages/pixel/src/dominant-colors.ts b/packages/pixel/src/dominant-colors.ts new file mode 100644 index 0000000000..cecc23431b --- /dev/null +++ b/packages/pixel/src/dominant-colors.ts @@ -0,0 +1,31 @@ +import { kmeans, KMeansOpts } from "@thi.ng/k-means"; +import type { FloatBuffer } from "./float"; + +/** + * Takes a {@link FloatBuffer} and applies k-means clustering to extract the + * `num` dominant colors from the given image. The clustering can be configured + * via optionally provided `opts`. Returns array of `{ color, area }` objects + * (sorted by descending area), where `color` is a cluster's dominant color and + * `area` the normalized cluster size. + * + * @remarks + * See thi.ng/k-means for details about clustering implementation & options. + * + * @param img + * @param num + * @param opts + */ +export const dominantColors = ( + img: FloatBuffer, + num: number, + opts?: Partial +) => { + const n = img.width * img.height; + const mapped: Float32Array[] = []; + for (let i = 0, j = 0, s = img.stride; i < n; i++, j += s) { + mapped.push(img.pixels.subarray(j, j + s)); + } + return kmeans(num, mapped, opts) + .sort((a, b) => b.items.length - a.items.length) + .map((c) => ({ color: [...c.centroid], area: c.items.length / n })); +}; diff --git a/packages/pixel/src/index.ts b/packages/pixel/src/index.ts index 70a0aaf384..ada25ddeb0 100644 --- a/packages/pixel/src/index.ts +++ b/packages/pixel/src/index.ts @@ -3,6 +3,7 @@ export * from "./canvas"; export * from "./codegen"; export * from "./convolve"; export * from "./dither"; +export * from "./dominant-colors"; export * from "./float"; export * from "./normal-map"; export * from "./packed"; diff --git a/packages/pixel/src/sample.ts b/packages/pixel/src/sample.ts index d53b9ae0b2..11c116e116 100644 --- a/packages/pixel/src/sample.ts +++ b/packages/pixel/src/sample.ts @@ -1,5 +1,5 @@ import { assert, Fn, IObjectOf, NumericArray } from "@thi.ng/api"; -import { clamp, fmod, fract, mixBicubic, mixBilinear } from "@thi.ng/math"; +import { clamp, fract, mixBicubic, mixBilinear, mod } from "@thi.ng/math"; import type { Filter, FloatSampler, @@ -84,7 +84,7 @@ const sampleINC = ({ pixels, width, height }: IPixelBuffer): IntSampler => ( const sampleINW = ({ pixels, width, height }: IPixelBuffer): IntSampler => ( x, y -) => pixels[fmod(y | 0, height) * width + fmod(x | 0, width)]; +) => pixels[mod(y | 0, height) * width + mod(x | 0, width)]; const sampleINR = ({ pixels, width, height }: IPixelBuffer): IntSampler => { const w1 = width - 1; @@ -113,7 +113,7 @@ const sampleFNW = ({ rowStride, stride, }: FloatBuffer): FloatSampler => (x, y) => { - let i = fmod(y | 0, height) * rowStride + fmod(x | 0, width) * stride; + let i = mod(y | 0, height) * rowStride + mod(x | 0, width) * stride; return pixels.slice(i, i + stride); }; diff --git a/packages/pixel/tpl.readme.md b/packages/pixel/tpl.readme.md index 0bdf79b2a8..3510e00815 100644 --- a/packages/pixel/tpl.readme.md +++ b/packages/pixel/tpl.readme.md @@ -24,6 +24,7 @@ ${pkg.description} - Pre/post-multiply alpha - Region / sub-image extraction - Single-channel manipulation / extraction / replacement / conversion +- k-means based dominant color extraction (float buffers only) - Accessors for normalized channel value - Image sampling, resizing, pooling - Filters: nearest neighbor, bilinear, bicubic @@ -227,6 +228,52 @@ nmap.getAt(10, 10); writeFileSync("noise-normal.ppm", asPPM(nmap.as(RGB888))); ``` +### Dominant color extraction + +The `dominantColors()` function applies [k-means +clustering](https://github.com/thi-ng/umbrella/tree/develop/packages/k-means) to +extract the dominant colors from the given image. The clustering can be +configured. The function returns an array of `{ color, area }` objects (sorted +by descending area), where `color` is a cluster's dominant color (in the format +of the source image) and `area` the normalized cluster size (number of selected +pixels over total number of pixels in the image). + +![Example image & extracted dominant colors](https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/pixel/dominant-colors-01.jpg) + +Picture credit: [/u/kristophershinn](https://www.reddit.com/r/EarthPorn/comments/j3z0f6/fall_in_yosemite_valley_oc3186_3983/) + +```ts +// read test PPM image and convert into float RGB format +const img = floatBuffer(read(readFileSync(`test.ppm`)), FLOAT_RGB); + +// extract 5 dominant color clusters +const clusters = dominantColors(img, 5); + +console.log(clusters); +// [ +// { +// color: [ 0.4000000059604645, 0.30980393290519714, 0.21176470816135406 ], +// area: 0.3141084558823529 +// }, +// { +// color: [ 0.21960784494876862, 0.19607843458652496, 0.1411764770746231 ], +// area: 0.2780330882352941 +// }, +// { +// color: [ 0.4156862795352936, 0.4745098054409027, 0.5647059082984924 ], +// area: 0.16620710784313725 +// }, +// { +// color: [ 0.6666666865348816, 0.7568627595901489, 0.9254902005195618 ], +// area: 0.12385110294117647 +// }, +// { +// color: [ 0.7176470756530762, 0.4745098054409027, 0.12941177189350128 ], +// area: 0.11780024509803921 +// } +// ] +``` + ${status} ${supportPackages} diff --git a/packages/pointfree-lang/CHANGELOG.md b/packages/pointfree-lang/CHANGELOG.md index a6f17abfe5..529061bb64 100644 --- a/packages/pointfree-lang/CHANGELOG.md +++ b/packages/pointfree-lang/CHANGELOG.md @@ -3,23 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [1.4.28](https://github.com/thi-ng/umbrella/compare/@thi.ng/pointfree-lang@1.4.27...@thi.ng/pointfree-lang@1.4.28) (2021-04-03) - -**Note:** Version bump only for package @thi.ng/pointfree-lang - - - - - -## [1.4.27](https://github.com/thi-ng/umbrella/compare/@thi.ng/pointfree-lang@1.4.26...@thi.ng/pointfree-lang@1.4.27) (2021-03-17) - -**Note:** Version bump only for package @thi.ng/pointfree-lang - - - - - -## [1.4.26](https://github.com/thi-ng/umbrella/compare/@thi.ng/pointfree-lang@1.4.25...@thi.ng/pointfree-lang@1.4.26) (2021-03-12) +## [1.4.29](https://github.com/thi-ng/umbrella/compare/@thi.ng/pointfree-lang@1.4.28...@thi.ng/pointfree-lang@1.4.29) (2021-06-08) **Note:** Version bump only for package @thi.ng/pointfree-lang diff --git a/packages/pointfree-lang/README.md b/packages/pointfree-lang/README.md index 4fc5d847e4..18997fa806 100644 --- a/packages/pointfree-lang/README.md +++ b/packages/pointfree-lang/README.md @@ -80,7 +80,7 @@ yarn add @thi.ng/pointfree-lang ``` -Package sizes (gzipped, pre-treeshake): ESM: 5.00 KB / CJS: 5.00 KB / UMD: 4.94 KB +Package sizes (gzipped, pre-treeshake): ESM: 4.91 KB / CJS: 5.00 KB / UMD: 4.94 KB ## Dependencies diff --git a/packages/pointfree-lang/package.json b/packages/pointfree-lang/package.json index eed9ca8a8a..b42239199a 100644 --- a/packages/pointfree-lang/package.json +++ b/packages/pointfree-lang/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/pointfree-lang", - "version": "1.4.28", + "version": "1.4.29", "description": "Forth style syntax layer/compiler & CLI for the @thi.ng/pointfree DSL", "module": "./index.js", "main": "./lib/index.js", @@ -46,17 +46,17 @@ "@microsoft/api-extractor": "^7.13.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.3.0", + "mocha": "^9.0.0", "pegjs": "0.11.0-master.b7b87ea", - "ts-node": "^9.1.1", + "ts-node": "^10.0.0", "typedoc": "^0.20.30", - "typescript": "^4.2.3" + "typescript": "4.2.4" }, "dependencies": { - "@thi.ng/api": "^7.1.4", - "@thi.ng/bench": "^2.1.0", - "@thi.ng/errors": "^1.3.0", - "@thi.ng/pointfree": "^2.0.29", + "@thi.ng/api": "^7.1.5", + "@thi.ng/bench": "^2.1.1", + "@thi.ng/errors": "^1.3.1", + "@thi.ng/pointfree": "^2.0.30", "commander": "^6.2.0" }, "files": [ diff --git a/packages/pointfree/CHANGELOG.md b/packages/pointfree/CHANGELOG.md index ad88435980..0fc6c84d90 100644 --- a/packages/pointfree/CHANGELOG.md +++ b/packages/pointfree/CHANGELOG.md @@ -3,23 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [2.0.29](https://github.com/thi-ng/umbrella/compare/@thi.ng/pointfree@2.0.28...@thi.ng/pointfree@2.0.29) (2021-04-03) - -**Note:** Version bump only for package @thi.ng/pointfree - - - - - -## [2.0.28](https://github.com/thi-ng/umbrella/compare/@thi.ng/pointfree@2.0.27...@thi.ng/pointfree@2.0.28) (2021-03-17) - -**Note:** Version bump only for package @thi.ng/pointfree - - - - - -## [2.0.27](https://github.com/thi-ng/umbrella/compare/@thi.ng/pointfree@2.0.26...@thi.ng/pointfree@2.0.27) (2021-03-12) +## [2.0.30](https://github.com/thi-ng/umbrella/compare/@thi.ng/pointfree@2.0.29...@thi.ng/pointfree@2.0.30) (2021-06-08) **Note:** Version bump only for package @thi.ng/pointfree diff --git a/packages/pointfree/package.json b/packages/pointfree/package.json index 02a6957eb4..6f4aaae557 100644 --- a/packages/pointfree/package.json +++ b/packages/pointfree/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/pointfree", - "version": "2.0.29", + "version": "2.0.30", "description": "Pointfree functional composition / Forth style stack execution engine", "module": "./index.js", "main": "./lib/index.js", @@ -42,18 +42,18 @@ "@microsoft/api-extractor": "^7.13.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.3.0", + "mocha": "^9.0.0", "nyc": "^15.1.0", - "ts-node": "^9.1.1", + "ts-node": "^10.0.0", "typedoc": "^0.20.30", - "typescript": "^4.2.3" + "typescript": "4.2.4" }, "dependencies": { - "@thi.ng/api": "^7.1.4", - "@thi.ng/checks": "^2.9.6", - "@thi.ng/compose": "^1.4.30", - "@thi.ng/equiv": "^1.0.41", - "@thi.ng/errors": "^1.3.0" + "@thi.ng/api": "^7.1.5", + "@thi.ng/checks": "^2.9.7", + "@thi.ng/compose": "^1.4.31", + "@thi.ng/equiv": "^1.0.42", + "@thi.ng/errors": "^1.3.1" }, "files": [ "*.js", diff --git a/packages/poisson/CHANGELOG.md b/packages/poisson/CHANGELOG.md index 49be3cf6f5..3a9aacddc3 100644 --- a/packages/poisson/CHANGELOG.md +++ b/packages/poisson/CHANGELOG.md @@ -3,47 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [1.1.39](https://github.com/thi-ng/umbrella/compare/@thi.ng/poisson@1.1.38...@thi.ng/poisson@1.1.39) (2021-04-03) - -**Note:** Version bump only for package @thi.ng/poisson - - - - - -## [1.1.38](https://github.com/thi-ng/umbrella/compare/@thi.ng/poisson@1.1.37...@thi.ng/poisson@1.1.38) (2021-03-30) - -**Note:** Version bump only for package @thi.ng/poisson - - - - - -## [1.1.37](https://github.com/thi-ng/umbrella/compare/@thi.ng/poisson@1.1.36...@thi.ng/poisson@1.1.37) (2021-03-28) - -**Note:** Version bump only for package @thi.ng/poisson - - - - - -## [1.1.36](https://github.com/thi-ng/umbrella/compare/@thi.ng/poisson@1.1.35...@thi.ng/poisson@1.1.36) (2021-03-27) - -**Note:** Version bump only for package @thi.ng/poisson - - - - - -## [1.1.35](https://github.com/thi-ng/umbrella/compare/@thi.ng/poisson@1.1.34...@thi.ng/poisson@1.1.35) (2021-03-17) - -**Note:** Version bump only for package @thi.ng/poisson - - - - - -## [1.1.34](https://github.com/thi-ng/umbrella/compare/@thi.ng/poisson@1.1.33...@thi.ng/poisson@1.1.34) (2021-03-12) +## [1.1.43](https://github.com/thi-ng/umbrella/compare/@thi.ng/poisson@1.1.42...@thi.ng/poisson@1.1.43) (2021-06-08) **Note:** Version bump only for package @thi.ng/poisson diff --git a/packages/poisson/package.json b/packages/poisson/package.json index a4fc9ca296..7e0695ddea 100644 --- a/packages/poisson/package.json +++ b/packages/poisson/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/poisson", - "version": "1.1.39", + "version": "1.1.43", "description": "nD Stratified grid and Poisson-disc sampling w/ support for spatial density functions and custom PRNGs", "module": "./index.js", "main": "./lib/index.js", @@ -42,19 +42,19 @@ "@microsoft/api-extractor": "^7.13.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.3.0", + "mocha": "^9.0.0", "nyc": "^15.1.0", - "ts-node": "^9.1.1", + "ts-node": "^10.0.0", "typedoc": "^0.20.30", - "typescript": "^4.2.3" + "typescript": "4.2.4" }, "dependencies": { - "@thi.ng/api": "^7.1.4", - "@thi.ng/checks": "^2.9.6", - "@thi.ng/geom-api": "^2.0.17", - "@thi.ng/random": "^2.3.7", - "@thi.ng/transducers": "^7.6.10", - "@thi.ng/vectors": "^5.2.1" + "@thi.ng/api": "^7.1.5", + "@thi.ng/checks": "^2.9.7", + "@thi.ng/geom-api": "^2.0.21", + "@thi.ng/random": "^2.4.1", + "@thi.ng/transducers": "^7.7.3", + "@thi.ng/vectors": "^6.0.1" }, "files": [ "*.js", diff --git a/packages/porter-duff/CHANGELOG.md b/packages/porter-duff/CHANGELOG.md index 651a239dcf..15715fe376 100644 --- a/packages/porter-duff/CHANGELOG.md +++ b/packages/porter-duff/CHANGELOG.md @@ -3,23 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [0.1.45](https://github.com/thi-ng/umbrella/compare/@thi.ng/porter-duff@0.1.44...@thi.ng/porter-duff@0.1.45) (2021-04-03) - -**Note:** Version bump only for package @thi.ng/porter-duff - - - - - -## [0.1.44](https://github.com/thi-ng/umbrella/compare/@thi.ng/porter-duff@0.1.43...@thi.ng/porter-duff@0.1.44) (2021-03-17) - -**Note:** Version bump only for package @thi.ng/porter-duff - - - - - -## [0.1.43](https://github.com/thi-ng/umbrella/compare/@thi.ng/porter-duff@0.1.42...@thi.ng/porter-duff@0.1.43) (2021-03-12) +## [0.1.47](https://github.com/thi-ng/umbrella/compare/@thi.ng/porter-duff@0.1.46...@thi.ng/porter-duff@0.1.47) (2021-06-08) **Note:** Version bump only for package @thi.ng/porter-duff diff --git a/packages/porter-duff/package.json b/packages/porter-duff/package.json index 665f8ad0c1..478cdb0f63 100644 --- a/packages/porter-duff/package.json +++ b/packages/porter-duff/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/porter-duff", - "version": "0.1.45", + "version": "0.1.47", "description": "Porter-Duff operators for packed ints & float-array alpha compositing", "module": "./index.js", "main": "./lib/index.js", @@ -42,15 +42,15 @@ "@microsoft/api-extractor": "^7.13.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.3.0", + "mocha": "^9.0.0", "nyc": "^15.1.0", - "ts-node": "^9.1.1", + "ts-node": "^10.0.0", "typedoc": "^0.20.30", - "typescript": "^4.2.3" + "typescript": "4.2.4" }, "dependencies": { - "@thi.ng/api": "^7.1.4", - "@thi.ng/math": "^3.4.0" + "@thi.ng/api": "^7.1.5", + "@thi.ng/math": "^4.0.1" }, "files": [ "*.js", diff --git a/packages/prefixes/CHANGELOG.md b/packages/prefixes/CHANGELOG.md index f0275229c1..8f58ff4082 100644 --- a/packages/prefixes/CHANGELOG.md +++ b/packages/prefixes/CHANGELOG.md @@ -3,7 +3,7 @@ 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/prefixes@0.1.16...@thi.ng/prefixes@0.1.17) (2021-03-12) +## [0.1.18](https://github.com/thi-ng/umbrella/compare/@thi.ng/prefixes@0.1.17...@thi.ng/prefixes@0.1.18) (2021-06-08) **Note:** Version bump only for package @thi.ng/prefixes diff --git a/packages/prefixes/package.json b/packages/prefixes/package.json index bba347e7cb..511366e388 100644 --- a/packages/prefixes/package.json +++ b/packages/prefixes/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/prefixes", - "version": "0.1.17", + "version": "0.1.18", "description": "50+ Linked Data vocabulary prefixes and their namespace URLs", "module": "./index.js", "main": "./lib/index.js", @@ -41,11 +41,11 @@ "@microsoft/api-extractor": "^7.13.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.3.0", + "mocha": "^9.0.0", "nyc": "^15.1.0", - "ts-node": "^9.1.1", + "ts-node": "^10.0.0", "typedoc": "^0.20.30", - "typescript": "^4.2.3" + "typescript": "4.2.4" }, "files": [ "*.js", diff --git a/packages/quad-edge/CHANGELOG.md b/packages/quad-edge/CHANGELOG.md index cb414d0dc4..eb97f16d75 100644 --- a/packages/quad-edge/CHANGELOG.md +++ b/packages/quad-edge/CHANGELOG.md @@ -3,7 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [0.2.34](https://github.com/thi-ng/umbrella/compare/@thi.ng/quad-edge@0.2.33...@thi.ng/quad-edge@0.2.34) (2021-03-12) +## [0.2.35](https://github.com/thi-ng/umbrella/compare/@thi.ng/quad-edge@0.2.34...@thi.ng/quad-edge@0.2.35) (2021-06-08) **Note:** Version bump only for package @thi.ng/quad-edge diff --git a/packages/quad-edge/package.json b/packages/quad-edge/package.json index 3069505f0a..d44b6bf51d 100644 --- a/packages/quad-edge/package.json +++ b/packages/quad-edge/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/quad-edge", - "version": "0.2.34", + "version": "0.2.35", "description": "Quadedge data structure after Guibas & Stolfi", "module": "./index.js", "main": "./lib/index.js", @@ -42,11 +42,11 @@ "@microsoft/api-extractor": "^7.13.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.3.0", + "mocha": "^9.0.0", "nyc": "^15.1.0", - "ts-node": "^9.1.1", + "ts-node": "^10.0.0", "typedoc": "^0.20.30", - "typescript": "^4.2.3" + "typescript": "4.2.4" }, "files": [ "*.js", diff --git a/packages/ramp/CHANGELOG.md b/packages/ramp/CHANGELOG.md index 263a8c704e..ea14a4b6b7 100644 --- a/packages/ramp/CHANGELOG.md +++ b/packages/ramp/CHANGELOG.md @@ -3,47 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [0.1.57](https://github.com/thi-ng/umbrella/compare/@thi.ng/ramp@0.1.56...@thi.ng/ramp@0.1.57) (2021-04-03) - -**Note:** Version bump only for package @thi.ng/ramp - - - - - -## [0.1.56](https://github.com/thi-ng/umbrella/compare/@thi.ng/ramp@0.1.55...@thi.ng/ramp@0.1.56) (2021-03-30) - -**Note:** Version bump only for package @thi.ng/ramp - - - - - -## [0.1.55](https://github.com/thi-ng/umbrella/compare/@thi.ng/ramp@0.1.54...@thi.ng/ramp@0.1.55) (2021-03-28) - -**Note:** Version bump only for package @thi.ng/ramp - - - - - -## [0.1.54](https://github.com/thi-ng/umbrella/compare/@thi.ng/ramp@0.1.53...@thi.ng/ramp@0.1.54) (2021-03-27) - -**Note:** Version bump only for package @thi.ng/ramp - - - - - -## [0.1.53](https://github.com/thi-ng/umbrella/compare/@thi.ng/ramp@0.1.52...@thi.ng/ramp@0.1.53) (2021-03-17) - -**Note:** Version bump only for package @thi.ng/ramp - - - - - -## [0.1.52](https://github.com/thi-ng/umbrella/compare/@thi.ng/ramp@0.1.51...@thi.ng/ramp@0.1.52) (2021-03-12) +## [0.1.61](https://github.com/thi-ng/umbrella/compare/@thi.ng/ramp@0.1.60...@thi.ng/ramp@0.1.61) (2021-06-08) **Note:** Version bump only for package @thi.ng/ramp diff --git a/packages/ramp/package.json b/packages/ramp/package.json index e7c5e00ed5..29659cc12c 100644 --- a/packages/ramp/package.json +++ b/packages/ramp/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/ramp", - "version": "0.1.57", + "version": "0.1.61", "description": "Parametric interpolated 1D lookup tables for remapping values", "module": "./index.js", "main": "./lib/index.js", @@ -42,18 +42,18 @@ "@microsoft/api-extractor": "^7.13.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.3.0", + "mocha": "^9.0.0", "nyc": "^15.1.0", - "ts-node": "^9.1.1", + "ts-node": "^10.0.0", "typedoc": "^0.20.30", - "typescript": "^4.2.3" + "typescript": "4.2.4" }, "dependencies": { - "@thi.ng/arrays": "^0.10.10", - "@thi.ng/compare": "^1.3.28", - "@thi.ng/math": "^3.4.0", - "@thi.ng/transducers": "^7.6.10", - "@thi.ng/vectors": "^5.2.1" + "@thi.ng/arrays": "^0.10.12", + "@thi.ng/compare": "^1.3.29", + "@thi.ng/math": "^4.0.1", + "@thi.ng/transducers": "^7.7.3", + "@thi.ng/vectors": "^6.0.1" }, "files": [ "*.js", diff --git a/packages/random/CHANGELOG.md b/packages/random/CHANGELOG.md index 08bea78abc..105b9db909 100644 --- a/packages/random/CHANGELOG.md +++ b/packages/random/CHANGELOG.md @@ -3,7 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [2.3.7](https://github.com/thi-ng/umbrella/compare/@thi.ng/random@2.3.6...@thi.ng/random@2.3.7) (2021-04-03) +## [2.4.1](https://github.com/thi-ng/umbrella/compare/@thi.ng/random@2.4.0...@thi.ng/random@2.4.1) (2021-06-08) **Note:** Version bump only for package @thi.ng/random @@ -11,9 +11,17 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline -## [2.3.6](https://github.com/thi-ng/umbrella/compare/@thi.ng/random@2.3.5...@thi.ng/random@2.3.6) (2021-03-12) +# [2.4.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/random@2.3.7...@thi.ng/random@2.4.0) (2021-04-19) -**Note:** Version bump only for package @thi.ng/random + +### Bug Fixes + +* **random:** HOF issue w/ exponential() ([12586b9](https://github.com/thi-ng/umbrella/commit/12586b9eda66ce3d741402cc9b802c0369f64d88)) + + +### Features + +* **random:** add uniqueValuesFrom/uniqueIndices() ([3b3b5d8](https://github.com/thi-ng/umbrella/commit/3b3b5d8d71d8c3019f84bae7a4791b12933720c4)) diff --git a/packages/random/README.md b/packages/random/README.md index 6b893579a0..05c1dbdb52 100644 --- a/packages/random/README.md +++ b/packages/random/README.md @@ -49,9 +49,11 @@ Partially ported from C implementations taken from [c.thi.ng](http://c.thi.ng). ### Other utilities -- [`randomBytes()`](https://github.com/thi-ng/umbrella/tree/develop/packages/random/src/random-bytes.ts) +- [`coin()` / `fairCoin()`](https://github.com/thi-ng/umbrella/tree/develop/packages/random/src/coin.ts) +- [`randomBytes()` / `randomBytesFrom()`](https://github.com/thi-ng/umbrella/tree/develop/packages/random/src/random-bytes.ts) - [`randomID()`](https://github.com/thi-ng/umbrella/tree/develop/packages/random/src/random-id.ts) -- [`weightedRandom()](https://github.com/thi-ng/umbrella/tree/develop/packages/random/src/weighted-random.ts) +- [`weightedRandom()`](https://github.com/thi-ng/umbrella/tree/develop/packages/random/src/weighted-random.ts) +- [`uniqueIndices()` / `uniqueValuesFrom()`](https://github.com/thi-ng/umbrella/tree/develop/packages/random/src/unique-indices.ts) - [`uuidv4Bytes()` / `uuid()`](https://github.com/thi-ng/umbrella/tree/develop/packages/random/src/uuid.ts) ### Status @@ -78,7 +80,7 @@ yarn add @thi.ng/random ``` -Package sizes (gzipped, pre-treeshake): ESM: 1.66 KB / CJS: 1.79 KB / UMD: 1.77 KB +Package sizes (gzipped, pre-treeshake): ESM: 1.81 KB / CJS: 1.94 KB / UMD: 1.91 KB ## Dependencies @@ -128,11 +130,6 @@ rnd.norm(100) // next float in given interval [min .. max) rnd.minmax(10, 20) // 15.295951807707537 - -// next gaussian (using iterative CLT approach) -// optional params: num samples, offset, scale -rnd.gaussian() -// 0.10632886109089679 ``` ## Authors diff --git a/packages/random/package.json b/packages/random/package.json index dd49fb792a..eb1fecbd55 100644 --- a/packages/random/package.json +++ b/packages/random/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/random", - "version": "2.3.7", + "version": "2.4.1", "description": "Pseudo-random number generators w/ unified API, distributions, weighted choices, ID generation", "module": "./index.js", "main": "./lib/index.js", @@ -42,16 +42,16 @@ "@microsoft/api-extractor": "^7.13.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.3.0", + "mocha": "^9.0.0", "nyc": "^15.1.0", - "ts-node": "^9.1.1", + "ts-node": "^10.0.0", "typedoc": "^0.20.30", - "typescript": "^4.2.3" + "typescript": "4.2.4" }, "dependencies": { - "@thi.ng/api": "^7.1.4", - "@thi.ng/checks": "^2.9.6", - "@thi.ng/hex": "^0.2.5" + "@thi.ng/api": "^7.1.5", + "@thi.ng/checks": "^2.9.7", + "@thi.ng/hex": "^0.2.6" }, "files": [ "*.js", diff --git a/packages/random/src/distributions/exponential.ts b/packages/random/src/distributions/exponential.ts index 3570a49da3..a99157fc75 100644 --- a/packages/random/src/distributions/exponential.ts +++ b/packages/random/src/distributions/exponential.ts @@ -11,5 +11,5 @@ import { SYSTEM } from "../system"; * @param rnd * @param lambda - event interval [0,Inf) */ -export const exponential = (rnd: IRandom = SYSTEM, lambda = 10) => () => - lambda === 0 ? () => Infinity : -Math.log(1 - rnd.float(1)) / lambda; +export const exponential = (rnd: IRandom = SYSTEM, lambda = 10) => + lambda === 0 ? () => Infinity : () => -Math.log(1 - rnd.float(1)) / lambda; diff --git a/packages/random/src/index.ts b/packages/random/src/index.ts index d9752cb2e5..140ce47e88 100644 --- a/packages/random/src/index.ts +++ b/packages/random/src/index.ts @@ -12,6 +12,7 @@ export * from "./xsadd"; export * from "./coin"; export * from "./random-bytes"; export * from "./random-id"; +export * from "./unique-indices"; export * from "./uuid"; export * from "./weighted-random"; diff --git a/packages/random/src/unique-indices.ts b/packages/random/src/unique-indices.ts new file mode 100644 index 0000000000..a640895d85 --- /dev/null +++ b/packages/random/src/unique-indices.ts @@ -0,0 +1,61 @@ +import { assert, Fn0 } from "@thi.ng/api"; +import type { IRandom } from "./api"; +import { SYSTEM } from "./system"; + +/** + * Attempts to draw `k` unique values from given zero-arg function `fn` + * (presumably a PRNG of sorts) and adds them to `existing` array of unique + * samples (or creates a new one). Returns the array. Gives up after + * `maxTrials`. + * + * @param k + * @param fn + * @param existing + * @param maxTrials + */ +export const uniqueValuesFrom = ( + k: number, + fn: Fn0, + existing: number[] = [], + maxTrials = 100 +) => { + let n = 0; + while (n < k) { + let i: number; + let trials = maxTrials; + do { + i = fn(); + } while (existing.includes(i) && --trials > 0); + if (trials <= 0) break; + existing.push(i); + n++; + } + return existing; +}; + +/** + * Similar to (and based o) {@link uniqueValuesFrom}. Attempts to add `k` unique + * integer indices in the `[0, max)` interval to the (optional) array of + * pre-`existing` indices (which will never be picked again and new indices will + * be added to). Returns updated array. + * + * @remarks + * Candidates are drawn from the provided `rnd` {@link IRandom} (default: + * {@link SYSTEM}) and only `maxTrials` are attempted before giving up. + * + * @param k + * @param max + * @param existing + * @param maxTrials + * @param rnd + */ +export const uniqueIndices = ( + k: number, + max: number, + existing?: number[], + maxTrials = max, + rnd: IRandom = SYSTEM +) => { + assert(k >= 0 && k <= max, `k must be in [0, ${max}] interval`); + return uniqueValuesFrom(k, () => rnd.int() % max, existing, maxTrials); +}; diff --git a/packages/random/src/weighted-random.ts b/packages/random/src/weighted-random.ts index 7143c17773..ae1ba20ca5 100644 --- a/packages/random/src/weighted-random.ts +++ b/packages/random/src/weighted-random.ts @@ -28,18 +28,18 @@ export const weightedRandom = ( assert(n > 0, "no choices given"); const opts = weights ? choices - .map((x, i) => <[T, number]>[x, weights[i]]) - .sort((a, b) => b[1] - a[1]) - : choices.map((x) => <[T, number]>[x, 1]); - const total = opts.reduce((acc, o) => acc + o[1], 0); + .map((x, i) => <[number, T]>[weights[i], x]) + .sort((a, b) => b[0] - a[0]) + : choices.map((x) => <[number, T]>[1, x]); + const total = opts.reduce((acc, o) => acc + o[0], 0); total <= 0 && console.warn("total weights <= 0"); return () => { const r = rnd.float(total); let sum = total; for (let i = 0; i < n; i++) { - sum -= opts[i][1]; + sum -= opts[i][0]; if (sum <= r) { - return opts[i][0]; + return opts[i][1]; } } return undefined; diff --git a/packages/random/tpl.readme.md b/packages/random/tpl.readme.md index bd482b6fef..e67f55757a 100644 --- a/packages/random/tpl.readme.md +++ b/packages/random/tpl.readme.md @@ -37,9 +37,11 @@ Partially ported from C implementations taken from [c.thi.ng](http://c.thi.ng). ### Other utilities -- [`randomBytes()`](https://github.com/thi-ng/umbrella/tree/develop/packages/random/src/random-bytes.ts) +- [`coin()` / `fairCoin()`](https://github.com/thi-ng/umbrella/tree/develop/packages/random/src/coin.ts) +- [`randomBytes()` / `randomBytesFrom()`](https://github.com/thi-ng/umbrella/tree/develop/packages/random/src/random-bytes.ts) - [`randomID()`](https://github.com/thi-ng/umbrella/tree/develop/packages/random/src/random-id.ts) -- [`weightedRandom()](https://github.com/thi-ng/umbrella/tree/develop/packages/random/src/weighted-random.ts) +- [`weightedRandom()`](https://github.com/thi-ng/umbrella/tree/develop/packages/random/src/weighted-random.ts) +- [`uniqueIndices()` / `uniqueValuesFrom()`](https://github.com/thi-ng/umbrella/tree/develop/packages/random/src/unique-indices.ts) - [`uuidv4Bytes()` / `uuid()`](https://github.com/thi-ng/umbrella/tree/develop/packages/random/src/uuid.ts) ${status} @@ -89,11 +91,6 @@ rnd.norm(100) // next float in given interval [min .. max) rnd.minmax(10, 20) // 15.295951807707537 - -// next gaussian (using iterative CLT approach) -// optional params: num samples, offset, scale -rnd.gaussian() -// 0.10632886109089679 ``` ## Authors diff --git a/packages/range-coder/CHANGELOG.md b/packages/range-coder/CHANGELOG.md index 209ad92ae2..3dbcb5a370 100644 --- a/packages/range-coder/CHANGELOG.md +++ b/packages/range-coder/CHANGELOG.md @@ -3,39 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [1.0.79](https://github.com/thi-ng/umbrella/compare/@thi.ng/range-coder@1.0.78...@thi.ng/range-coder@1.0.79) (2021-04-03) - -**Note:** Version bump only for package @thi.ng/range-coder - - - - - -## [1.0.78](https://github.com/thi-ng/umbrella/compare/@thi.ng/range-coder@1.0.77...@thi.ng/range-coder@1.0.78) (2021-03-28) - -**Note:** Version bump only for package @thi.ng/range-coder - - - - - -## [1.0.77](https://github.com/thi-ng/umbrella/compare/@thi.ng/range-coder@1.0.76...@thi.ng/range-coder@1.0.77) (2021-03-27) - -**Note:** Version bump only for package @thi.ng/range-coder - - - - - -## [1.0.76](https://github.com/thi-ng/umbrella/compare/@thi.ng/range-coder@1.0.75...@thi.ng/range-coder@1.0.76) (2021-03-17) - -**Note:** Version bump only for package @thi.ng/range-coder - - - - - -## [1.0.75](https://github.com/thi-ng/umbrella/compare/@thi.ng/range-coder@1.0.74...@thi.ng/range-coder@1.0.75) (2021-03-12) +## [1.0.83](https://github.com/thi-ng/umbrella/compare/@thi.ng/range-coder@1.0.82...@thi.ng/range-coder@1.0.83) (2021-06-08) **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 c0408761a7..b6b3a376f0 100644 --- a/packages/range-coder/package.json +++ b/packages/range-coder/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/range-coder", - "version": "1.0.79", + "version": "1.0.83", "description": "Binary data range encoder / decoder", "module": "./index.js", "main": "./lib/index.js", @@ -40,17 +40,17 @@ "devDependencies": { "@istanbuljs/nyc-config-typescript": "^1.0.1", "@microsoft/api-extractor": "^7.13.1", - "@thi.ng/transducers": "^7.6.10", + "@thi.ng/transducers": "^7.7.3", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.3.0", + "mocha": "^9.0.0", "nyc": "^15.1.0", - "ts-node": "^9.1.1", + "ts-node": "^10.0.0", "typedoc": "^0.20.30", - "typescript": "^4.2.3" + "typescript": "4.2.4" }, "dependencies": { - "@thi.ng/bitstream": "^1.1.38" + "@thi.ng/bitstream": "^1.1.39" }, "files": [ "*.js", diff --git a/packages/rdom-canvas/CHANGELOG.md b/packages/rdom-canvas/CHANGELOG.md index 94ffc09ee1..ea591181f5 100644 --- a/packages/rdom-canvas/CHANGELOG.md +++ b/packages/rdom-canvas/CHANGELOG.md @@ -3,63 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [0.1.43](https://github.com/thi-ng/umbrella/compare/@thi.ng/rdom-canvas@0.1.42...@thi.ng/rdom-canvas@0.1.43) (2021-04-03) - -**Note:** Version bump only for package @thi.ng/rdom-canvas - - - - - -## [0.1.42](https://github.com/thi-ng/umbrella/compare/@thi.ng/rdom-canvas@0.1.41...@thi.ng/rdom-canvas@0.1.42) (2021-03-30) - -**Note:** Version bump only for package @thi.ng/rdom-canvas - - - - - -## [0.1.41](https://github.com/thi-ng/umbrella/compare/@thi.ng/rdom-canvas@0.1.40...@thi.ng/rdom-canvas@0.1.41) (2021-03-28) - -**Note:** Version bump only for package @thi.ng/rdom-canvas - - - - - -## [0.1.40](https://github.com/thi-ng/umbrella/compare/@thi.ng/rdom-canvas@0.1.39...@thi.ng/rdom-canvas@0.1.40) (2021-03-27) - -**Note:** Version bump only for package @thi.ng/rdom-canvas - - - - - -## [0.1.39](https://github.com/thi-ng/umbrella/compare/@thi.ng/rdom-canvas@0.1.38...@thi.ng/rdom-canvas@0.1.39) (2021-03-24) - -**Note:** Version bump only for package @thi.ng/rdom-canvas - - - - - -## [0.1.38](https://github.com/thi-ng/umbrella/compare/@thi.ng/rdom-canvas@0.1.37...@thi.ng/rdom-canvas@0.1.38) (2021-03-24) - -**Note:** Version bump only for package @thi.ng/rdom-canvas - - - - - -## [0.1.37](https://github.com/thi-ng/umbrella/compare/@thi.ng/rdom-canvas@0.1.36...@thi.ng/rdom-canvas@0.1.37) (2021-03-17) - -**Note:** Version bump only for package @thi.ng/rdom-canvas - - - - - -## [0.1.36](https://github.com/thi-ng/umbrella/compare/@thi.ng/rdom-canvas@0.1.35...@thi.ng/rdom-canvas@0.1.36) (2021-03-12) +## [0.1.48](https://github.com/thi-ng/umbrella/compare/@thi.ng/rdom-canvas@0.1.47...@thi.ng/rdom-canvas@0.1.48) (2021-06-08) **Note:** Version bump only for package @thi.ng/rdom-canvas diff --git a/packages/rdom-canvas/package.json b/packages/rdom-canvas/package.json index 54aa3018f4..0e022702fb 100644 --- a/packages/rdom-canvas/package.json +++ b/packages/rdom-canvas/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/rdom-canvas", - "version": "0.1.43", + "version": "0.1.48", "description": "@thi.ng/rdom component wrapper for @thi.ng/hiccup-canvas and declarative canvas drawing", "module": "./index.js", "main": "./lib/index.js", @@ -41,20 +41,20 @@ "@microsoft/api-extractor": "^7.13.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.3.0", + "mocha": "^9.0.0", "nyc": "^15.1.0", - "ts-node": "^9.1.1", + "ts-node": "^10.0.0", "typedoc": "^0.20.30", - "typescript": "^4.2.3" + "typescript": "4.2.4" }, "dependencies": { - "@thi.ng/adapt-dpi": "^1.0.19", - "@thi.ng/api": "^7.1.4", - "@thi.ng/checks": "^2.9.6", - "@thi.ng/hiccup-canvas": "^1.2.0", - "@thi.ng/rdom": "^0.4.12", - "@thi.ng/rstream": "^6.0.5", - "@thi.ng/transducers": "^7.6.10" + "@thi.ng/adapt-dpi": "^1.0.20", + "@thi.ng/api": "^7.1.5", + "@thi.ng/checks": "^2.9.7", + "@thi.ng/hiccup-canvas": "^1.2.5", + "@thi.ng/rdom": "^0.4.16", + "@thi.ng/rstream": "^6.0.9", + "@thi.ng/transducers": "^7.7.3" }, "files": [ "*.js", diff --git a/packages/rdom-components/CHANGELOG.md b/packages/rdom-components/CHANGELOG.md index 7a37ccbf02..c98b5a7184 100644 --- a/packages/rdom-components/CHANGELOG.md +++ b/packages/rdom-components/CHANGELOG.md @@ -3,63 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [0.1.40](https://github.com/thi-ng/umbrella/compare/@thi.ng/rdom-components@0.1.39...@thi.ng/rdom-components@0.1.40) (2021-04-03) - -**Note:** Version bump only for package @thi.ng/rdom-components - - - - - -## [0.1.39](https://github.com/thi-ng/umbrella/compare/@thi.ng/rdom-components@0.1.38...@thi.ng/rdom-components@0.1.39) (2021-03-30) - -**Note:** Version bump only for package @thi.ng/rdom-components - - - - - -## [0.1.38](https://github.com/thi-ng/umbrella/compare/@thi.ng/rdom-components@0.1.37...@thi.ng/rdom-components@0.1.38) (2021-03-28) - -**Note:** Version bump only for package @thi.ng/rdom-components - - - - - -## [0.1.37](https://github.com/thi-ng/umbrella/compare/@thi.ng/rdom-components@0.1.36...@thi.ng/rdom-components@0.1.37) (2021-03-27) - -**Note:** Version bump only for package @thi.ng/rdom-components - - - - - -## [0.1.36](https://github.com/thi-ng/umbrella/compare/@thi.ng/rdom-components@0.1.35...@thi.ng/rdom-components@0.1.36) (2021-03-24) - -**Note:** Version bump only for package @thi.ng/rdom-components - - - - - -## [0.1.35](https://github.com/thi-ng/umbrella/compare/@thi.ng/rdom-components@0.1.34...@thi.ng/rdom-components@0.1.35) (2021-03-24) - -**Note:** Version bump only for package @thi.ng/rdom-components - - - - - -## [0.1.34](https://github.com/thi-ng/umbrella/compare/@thi.ng/rdom-components@0.1.33...@thi.ng/rdom-components@0.1.34) (2021-03-17) - -**Note:** Version bump only for package @thi.ng/rdom-components - - - - - -## [0.1.33](https://github.com/thi-ng/umbrella/compare/@thi.ng/rdom-components@0.1.32...@thi.ng/rdom-components@0.1.33) (2021-03-12) +## [0.1.44](https://github.com/thi-ng/umbrella/compare/@thi.ng/rdom-components@0.1.43...@thi.ng/rdom-components@0.1.44) (2021-06-08) **Note:** Version bump only for package @thi.ng/rdom-components diff --git a/packages/rdom-components/package.json b/packages/rdom-components/package.json index 03f1c4ca04..a852099c17 100644 --- a/packages/rdom-components/package.json +++ b/packages/rdom-components/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/rdom-components", - "version": "0.1.40", + "version": "0.1.44", "description": "Collection of unstyled, customizable components for @thi.ng/rdom", "module": "./index.js", "main": "./lib/index.js", @@ -41,20 +41,20 @@ "@microsoft/api-extractor": "^7.13.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.3.0", + "mocha": "^9.0.0", "nyc": "^15.1.0", - "ts-node": "^9.1.1", + "ts-node": "^10.0.0", "typedoc": "^0.20.30", - "typescript": "^4.2.3" + "typescript": "4.2.4" }, "dependencies": { - "@thi.ng/api": "^7.1.4", - "@thi.ng/associative": "^5.2.1", - "@thi.ng/hiccup-html": "^0.3.17", - "@thi.ng/rdom": "^0.4.12", - "@thi.ng/rstream": "^6.0.5", - "@thi.ng/strings": "^2.1.0", - "@thi.ng/transducers": "^7.6.10" + "@thi.ng/api": "^7.1.5", + "@thi.ng/associative": "^5.2.5", + "@thi.ng/hiccup-html": "^0.3.18", + "@thi.ng/rdom": "^0.4.16", + "@thi.ng/rstream": "^6.0.9", + "@thi.ng/strings": "^2.1.1", + "@thi.ng/transducers": "^7.7.3" }, "files": [ "*.js", diff --git a/packages/rdom/CHANGELOG.md b/packages/rdom/CHANGELOG.md index 14366cb598..d18b0d07cd 100644 --- a/packages/rdom/CHANGELOG.md +++ b/packages/rdom/CHANGELOG.md @@ -3,63 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [0.4.12](https://github.com/thi-ng/umbrella/compare/@thi.ng/rdom@0.4.11...@thi.ng/rdom@0.4.12) (2021-04-03) - -**Note:** Version bump only for package @thi.ng/rdom - - - - - -## [0.4.11](https://github.com/thi-ng/umbrella/compare/@thi.ng/rdom@0.4.10...@thi.ng/rdom@0.4.11) (2021-03-30) - -**Note:** Version bump only for package @thi.ng/rdom - - - - - -## [0.4.10](https://github.com/thi-ng/umbrella/compare/@thi.ng/rdom@0.4.9...@thi.ng/rdom@0.4.10) (2021-03-28) - -**Note:** Version bump only for package @thi.ng/rdom - - - - - -## [0.4.9](https://github.com/thi-ng/umbrella/compare/@thi.ng/rdom@0.4.8...@thi.ng/rdom@0.4.9) (2021-03-27) - -**Note:** Version bump only for package @thi.ng/rdom - - - - - -## [0.4.8](https://github.com/thi-ng/umbrella/compare/@thi.ng/rdom@0.4.7...@thi.ng/rdom@0.4.8) (2021-03-24) - -**Note:** Version bump only for package @thi.ng/rdom - - - - - -## [0.4.7](https://github.com/thi-ng/umbrella/compare/@thi.ng/rdom@0.4.6...@thi.ng/rdom@0.4.7) (2021-03-24) - -**Note:** Version bump only for package @thi.ng/rdom - - - - - -## [0.4.6](https://github.com/thi-ng/umbrella/compare/@thi.ng/rdom@0.4.5...@thi.ng/rdom@0.4.6) (2021-03-17) - -**Note:** Version bump only for package @thi.ng/rdom - - - - - -## [0.4.5](https://github.com/thi-ng/umbrella/compare/@thi.ng/rdom@0.4.4...@thi.ng/rdom@0.4.5) (2021-03-12) +## [0.4.16](https://github.com/thi-ng/umbrella/compare/@thi.ng/rdom@0.4.15...@thi.ng/rdom@0.4.16) (2021-06-08) **Note:** Version bump only for package @thi.ng/rdom diff --git a/packages/rdom/README.md b/packages/rdom/README.md index 716e05e1a9..a0750f55ae 100644 --- a/packages/rdom/README.md +++ b/packages/rdom/README.md @@ -95,17 +95,18 @@ directory are using this package. A selection: -| Screenshot | Description | Live demo | Source | -| ------------------------------------------------------------------------------------------------------------------------ | ---------------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------------------------------------ | -| | Probabilistic color theme generator | [Demo](https://demo.thi.ng/umbrella/color-themes/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/color-themes) | -| | Interactive visualization of closest points on ellipses | [Demo](https://demo.thi.ng/umbrella/ellipse-proximity/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/ellipse-proximity) | -| | Parser grammar livecoding editor/playground & codegen | [Demo](https://demo.thi.ng/umbrella/parse-playground/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/parse-playground) | -| | Interactive pixel sorting tool using thi.ng/color & thi.ng/pixel | [Demo](https://demo.thi.ng/umbrella/pixel-sorting/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/pixel-sorting) | -| | Demonstates various rdom usage patterns | [Demo](https://demo.thi.ng/umbrella/rdom-basics/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/rdom-basics) | -| | rdom drag & drop example | [Demo](https://demo.thi.ng/umbrella/rdom-dnd/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/rdom-dnd) | -| | rdom & hiccup-canvas interop test | [Demo](https://demo.thi.ng/umbrella/rdom-lissajous/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/rdom-lissajous) | -| | Full umbrella repo doc string search w/ paginated results | [Demo](https://demo.thi.ng/umbrella/rdom-search-docs/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/rdom-search-docs) | -| | rdom powered SVG graph with draggable nodes | [Demo](https://demo.thi.ng/umbrella/rdom-svg-nodes/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/rdom-svg-nodes) | +| Screenshot | Description | Live demo | Source | +| ------------------------------------------------------------------------------------------------------------------------ | --------------------------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------------------------------------ | +| | Probabilistic color theme generator | [Demo](https://demo.thi.ng/umbrella/color-themes/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/color-themes) | +| | Color palette generation via dominant color extraction from uploaded images | [Demo](https://demo.thi.ng/umbrella/dominant-colors/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/dominant-colors) | +| | Interactive visualization of closest points on ellipses | [Demo](https://demo.thi.ng/umbrella/ellipse-proximity/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/ellipse-proximity) | +| | Parser grammar livecoding editor/playground & codegen | [Demo](https://demo.thi.ng/umbrella/parse-playground/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/parse-playground) | +| | Interactive pixel sorting tool using thi.ng/color & thi.ng/pixel | [Demo](https://demo.thi.ng/umbrella/pixel-sorting/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/pixel-sorting) | +| | Demonstates various rdom usage patterns | [Demo](https://demo.thi.ng/umbrella/rdom-basics/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/rdom-basics) | +| | rdom drag & drop example | [Demo](https://demo.thi.ng/umbrella/rdom-dnd/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/rdom-dnd) | +| | rdom & hiccup-canvas interop test | [Demo](https://demo.thi.ng/umbrella/rdom-lissajous/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/rdom-lissajous) | +| | Full umbrella repo doc string search w/ paginated results | [Demo](https://demo.thi.ng/umbrella/rdom-search-docs/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/rdom-search-docs) | +| | rdom powered SVG graph with draggable nodes | [Demo](https://demo.thi.ng/umbrella/rdom-svg-nodes/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/rdom-svg-nodes) | ## API diff --git a/packages/rdom/package.json b/packages/rdom/package.json index 285765f7a2..cd2bf5ba27 100644 --- a/packages/rdom/package.json +++ b/packages/rdom/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/rdom", - "version": "0.4.12", + "version": "0.4.16", "description": "Lightweight, reactive, VDOM-less UI/DOM components with async lifecycle and @thi.ng/hiccup compatible", "module": "./index.js", "main": "./lib/index.js", @@ -42,21 +42,21 @@ "@microsoft/api-extractor": "^7.13.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.3.0", + "mocha": "^9.0.0", "nyc": "^15.1.0", - "ts-node": "^9.1.1", + "ts-node": "^10.0.0", "typedoc": "^0.20.30", - "typescript": "^4.2.3" + "typescript": "4.2.4" }, "dependencies": { - "@thi.ng/api": "^7.1.4", - "@thi.ng/checks": "^2.9.6", - "@thi.ng/errors": "^1.3.0", - "@thi.ng/hiccup": "^3.6.15", - "@thi.ng/paths": "^4.2.7", - "@thi.ng/prefixes": "^0.1.17", - "@thi.ng/rstream": "^6.0.5", - "@thi.ng/strings": "^2.1.0" + "@thi.ng/api": "^7.1.5", + "@thi.ng/checks": "^2.9.7", + "@thi.ng/errors": "^1.3.1", + "@thi.ng/hiccup": "^3.6.16", + "@thi.ng/paths": "^4.2.8", + "@thi.ng/prefixes": "^0.1.18", + "@thi.ng/rstream": "^6.0.9", + "@thi.ng/strings": "^2.1.1" }, "files": [ "*.js", diff --git a/packages/resolve-map/CHANGELOG.md b/packages/resolve-map/CHANGELOG.md index 8095518398..2a32f0eee7 100644 --- a/packages/resolve-map/CHANGELOG.md +++ b/packages/resolve-map/CHANGELOG.md @@ -3,23 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [4.2.20](https://github.com/thi-ng/umbrella/compare/@thi.ng/resolve-map@4.2.19...@thi.ng/resolve-map@4.2.20) (2021-04-03) - -**Note:** Version bump only for package @thi.ng/resolve-map - - - - - -## [4.2.19](https://github.com/thi-ng/umbrella/compare/@thi.ng/resolve-map@4.2.18...@thi.ng/resolve-map@4.2.19) (2021-03-17) - -**Note:** Version bump only for package @thi.ng/resolve-map - - - - - -## [4.2.18](https://github.com/thi-ng/umbrella/compare/@thi.ng/resolve-map@4.2.17...@thi.ng/resolve-map@4.2.18) (2021-03-12) +## [4.2.21](https://github.com/thi-ng/umbrella/compare/@thi.ng/resolve-map@4.2.20...@thi.ng/resolve-map@4.2.21) (2021-06-08) **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 798adcc16a..38e5e87ac7 100644 --- a/packages/resolve-map/package.json +++ b/packages/resolve-map/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/resolve-map", - "version": "4.2.20", + "version": "4.2.21", "description": "DAG resolution of vanilla objects & arrays with internally linked values", "module": "./index.js", "main": "./lib/index.js", @@ -42,16 +42,16 @@ "@microsoft/api-extractor": "^7.13.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.3.0", - "ts-node": "^9.1.1", + "mocha": "^9.0.0", + "ts-node": "^10.0.0", "typedoc": "^0.20.30", - "typescript": "^4.2.3" + "typescript": "4.2.4" }, "dependencies": { - "@thi.ng/api": "^7.1.4", - "@thi.ng/checks": "^2.9.6", - "@thi.ng/errors": "^1.3.0", - "@thi.ng/paths": "^4.2.7" + "@thi.ng/api": "^7.1.5", + "@thi.ng/checks": "^2.9.7", + "@thi.ng/errors": "^1.3.1", + "@thi.ng/paths": "^4.2.8" }, "files": [ "*.js", diff --git a/packages/rle-pack/CHANGELOG.md b/packages/rle-pack/CHANGELOG.md index bc71ff8f0f..d080c2a706 100644 --- a/packages/rle-pack/CHANGELOG.md +++ b/packages/rle-pack/CHANGELOG.md @@ -3,15 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [2.1.38](https://github.com/thi-ng/umbrella/compare/@thi.ng/rle-pack@2.1.37...@thi.ng/rle-pack@2.1.38) (2021-03-17) - -**Note:** Version bump only for package @thi.ng/rle-pack - - - - - -## [2.1.37](https://github.com/thi-ng/umbrella/compare/@thi.ng/rle-pack@2.1.36...@thi.ng/rle-pack@2.1.37) (2021-03-12) +## [2.1.39](https://github.com/thi-ng/umbrella/compare/@thi.ng/rle-pack@2.1.38...@thi.ng/rle-pack@2.1.39) (2021-06-08) **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 7ff5b4c942..0ee6a99bd1 100644 --- a/packages/rle-pack/package.json +++ b/packages/rle-pack/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/rle-pack", - "version": "2.1.38", + "version": "2.1.39", "description": "Binary run-length encoding packer w/ flexible repeat bit widths", "module": "./index.js", "main": "./lib/index.js", @@ -43,15 +43,15 @@ "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", "benchmark": "^2.1.4", - "mocha": "^8.3.0", + "mocha": "^9.0.0", "nyc": "^15.1.0", - "ts-node": "^9.1.1", + "ts-node": "^10.0.0", "typedoc": "^0.20.30", - "typescript": "^4.2.3" + "typescript": "4.2.4" }, "dependencies": { - "@thi.ng/bitstream": "^1.1.38", - "@thi.ng/errors": "^1.3.0" + "@thi.ng/bitstream": "^1.1.39", + "@thi.ng/errors": "^1.3.1" }, "files": [ "*.js", diff --git a/packages/router/CHANGELOG.md b/packages/router/CHANGELOG.md index 07f700c2a9..ca84834d8c 100644 --- a/packages/router/CHANGELOG.md +++ b/packages/router/CHANGELOG.md @@ -3,23 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [2.0.47](https://github.com/thi-ng/umbrella/compare/@thi.ng/router@2.0.46...@thi.ng/router@2.0.47) (2021-04-03) - -**Note:** Version bump only for package @thi.ng/router - - - - - -## [2.0.46](https://github.com/thi-ng/umbrella/compare/@thi.ng/router@2.0.45...@thi.ng/router@2.0.46) (2021-03-17) - -**Note:** Version bump only for package @thi.ng/router - - - - - -## [2.0.45](https://github.com/thi-ng/umbrella/compare/@thi.ng/router@2.0.44...@thi.ng/router@2.0.45) (2021-03-12) +## [2.0.48](https://github.com/thi-ng/umbrella/compare/@thi.ng/router@2.0.47...@thi.ng/router@2.0.48) (2021-06-08) **Note:** Version bump only for package @thi.ng/router diff --git a/packages/router/package.json b/packages/router/package.json index f41018bc64..f22e697bc8 100644 --- a/packages/router/package.json +++ b/packages/router/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/router", - "version": "2.0.47", + "version": "2.0.48", "description": "Generic router for browser & non-browser based applications", "module": "./index.js", "main": "./lib/index.js", @@ -42,17 +42,17 @@ "@microsoft/api-extractor": "^7.13.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.3.0", + "mocha": "^9.0.0", "nyc": "^15.1.0", - "ts-node": "^9.1.1", + "ts-node": "^10.0.0", "typedoc": "^0.20.30", - "typescript": "^4.2.3" + "typescript": "4.2.4" }, "dependencies": { - "@thi.ng/api": "^7.1.4", - "@thi.ng/checks": "^2.9.6", - "@thi.ng/equiv": "^1.0.41", - "@thi.ng/errors": "^1.3.0", + "@thi.ng/api": "^7.1.5", + "@thi.ng/checks": "^2.9.7", + "@thi.ng/equiv": "^1.0.42", + "@thi.ng/errors": "^1.3.1", "tslib": "^2.1.0" }, "files": [ diff --git a/packages/rstream-csp/CHANGELOG.md b/packages/rstream-csp/CHANGELOG.md index 62967c6658..6b01198850 100644 --- a/packages/rstream-csp/CHANGELOG.md +++ b/packages/rstream-csp/CHANGELOG.md @@ -3,47 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [2.0.64](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-csp@2.0.63...@thi.ng/rstream-csp@2.0.64) (2021-04-03) - -**Note:** Version bump only for package @thi.ng/rstream-csp - - - - - -## [2.0.63](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-csp@2.0.62...@thi.ng/rstream-csp@2.0.63) (2021-03-30) - -**Note:** Version bump only for package @thi.ng/rstream-csp - - - - - -## [2.0.62](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-csp@2.0.61...@thi.ng/rstream-csp@2.0.62) (2021-03-28) - -**Note:** Version bump only for package @thi.ng/rstream-csp - - - - - -## [2.0.61](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-csp@2.0.60...@thi.ng/rstream-csp@2.0.61) (2021-03-27) - -**Note:** Version bump only for package @thi.ng/rstream-csp - - - - - -## [2.0.60](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-csp@2.0.59...@thi.ng/rstream-csp@2.0.60) (2021-03-17) - -**Note:** Version bump only for package @thi.ng/rstream-csp - - - - - -## [2.0.59](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-csp@2.0.58...@thi.ng/rstream-csp@2.0.59) (2021-03-12) +## [2.0.68](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-csp@2.0.67...@thi.ng/rstream-csp@2.0.68) (2021-06-08) **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 0b7f2c9c39..fe3e64c6ff 100644 --- a/packages/rstream-csp/package.json +++ b/packages/rstream-csp/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/rstream-csp", - "version": "2.0.64", + "version": "2.0.68", "description": "@thi.ng/csp bridge module for @thi.ng/rstream", "module": "./index.js", "main": "./lib/index.js", @@ -42,15 +42,15 @@ "@microsoft/api-extractor": "^7.13.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.3.0", + "mocha": "^9.0.0", "nyc": "^15.1.0", - "ts-node": "^9.1.1", + "ts-node": "^10.0.0", "typedoc": "^0.20.30", - "typescript": "^4.2.3" + "typescript": "4.2.4" }, "dependencies": { - "@thi.ng/csp": "^1.1.60", - "@thi.ng/rstream": "^6.0.5" + "@thi.ng/csp": "^1.1.64", + "@thi.ng/rstream": "^6.0.9" }, "files": [ "*.js", diff --git a/packages/rstream-dot/CHANGELOG.md b/packages/rstream-dot/CHANGELOG.md index a2c33c7457..37bfa2b56c 100644 --- a/packages/rstream-dot/CHANGELOG.md +++ b/packages/rstream-dot/CHANGELOG.md @@ -3,63 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [1.2.13](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-dot@1.2.12...@thi.ng/rstream-dot@1.2.13) (2021-04-03) - -**Note:** Version bump only for package @thi.ng/rstream-dot - - - - - -## [1.2.12](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-dot@1.2.11...@thi.ng/rstream-dot@1.2.12) (2021-03-30) - -**Note:** Version bump only for package @thi.ng/rstream-dot - - - - - -## [1.2.11](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-dot@1.2.10...@thi.ng/rstream-dot@1.2.11) (2021-03-28) - -**Note:** Version bump only for package @thi.ng/rstream-dot - - - - - -## [1.2.10](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-dot@1.2.9...@thi.ng/rstream-dot@1.2.10) (2021-03-27) - -**Note:** Version bump only for package @thi.ng/rstream-dot - - - - - -## [1.2.9](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-dot@1.2.8...@thi.ng/rstream-dot@1.2.9) (2021-03-24) - -**Note:** Version bump only for package @thi.ng/rstream-dot - - - - - -## [1.2.8](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-dot@1.2.7...@thi.ng/rstream-dot@1.2.8) (2021-03-24) - -**Note:** Version bump only for package @thi.ng/rstream-dot - - - - - -## [1.2.7](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-dot@1.2.6...@thi.ng/rstream-dot@1.2.7) (2021-03-17) - -**Note:** Version bump only for package @thi.ng/rstream-dot - - - - - -## [1.2.6](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-dot@1.2.5...@thi.ng/rstream-dot@1.2.6) (2021-03-12) +## [1.2.17](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-dot@1.2.16...@thi.ng/rstream-dot@1.2.17) (2021-06-08) **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 6b4d4018e1..7a454c34a3 100644 --- a/packages/rstream-dot/package.json +++ b/packages/rstream-dot/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/rstream-dot", - "version": "1.2.13", + "version": "1.2.17", "description": "Graphviz DOT conversion of @thi.ng/rstream dataflow graph topologies", "module": "./index.js", "main": "./lib/index.js", @@ -42,16 +42,16 @@ "@microsoft/api-extractor": "^7.13.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.3.0", + "mocha": "^9.0.0", "nyc": "^15.1.0", - "ts-node": "^9.1.1", + "ts-node": "^10.0.0", "typedoc": "^0.20.30", - "typescript": "^4.2.3" + "typescript": "4.2.4" }, "dependencies": { - "@thi.ng/rstream": "^6.0.5", - "@thi.ng/strings": "^2.1.0", - "@thi.ng/transducers": "^7.6.10" + "@thi.ng/rstream": "^6.0.9", + "@thi.ng/strings": "^2.1.1", + "@thi.ng/transducers": "^7.7.3" }, "files": [ "*.js", diff --git a/packages/rstream-gestures/CHANGELOG.md b/packages/rstream-gestures/CHANGELOG.md index ecc6166d5d..4cb999f5aa 100644 --- a/packages/rstream-gestures/CHANGELOG.md +++ b/packages/rstream-gestures/CHANGELOG.md @@ -3,47 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [3.0.18](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-gestures@3.0.17...@thi.ng/rstream-gestures@3.0.18) (2021-04-03) - -**Note:** Version bump only for package @thi.ng/rstream-gestures - - - - - -## [3.0.17](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-gestures@3.0.16...@thi.ng/rstream-gestures@3.0.17) (2021-03-30) - -**Note:** Version bump only for package @thi.ng/rstream-gestures - - - - - -## [3.0.16](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-gestures@3.0.15...@thi.ng/rstream-gestures@3.0.16) (2021-03-28) - -**Note:** Version bump only for package @thi.ng/rstream-gestures - - - - - -## [3.0.15](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-gestures@3.0.14...@thi.ng/rstream-gestures@3.0.15) (2021-03-27) - -**Note:** Version bump only for package @thi.ng/rstream-gestures - - - - - -## [3.0.14](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-gestures@3.0.13...@thi.ng/rstream-gestures@3.0.14) (2021-03-17) - -**Note:** Version bump only for package @thi.ng/rstream-gestures - - - - - -## [3.0.13](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-gestures@3.0.12...@thi.ng/rstream-gestures@3.0.13) (2021-03-12) +## [3.0.22](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-gestures@3.0.21...@thi.ng/rstream-gestures@3.0.22) (2021-06-08) **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 9b3af6886e..88b5beb97a 100644 --- a/packages/rstream-gestures/package.json +++ b/packages/rstream-gestures/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/rstream-gestures", - "version": "3.0.18", + "version": "3.0.22", "description": "Unified mouse, mouse wheel & multi-touch event stream abstraction", "module": "./index.js", "main": "./lib/index.js", @@ -42,18 +42,18 @@ "@microsoft/api-extractor": "^7.13.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.3.0", + "mocha": "^9.0.0", "nyc": "^15.1.0", - "ts-node": "^9.1.1", + "ts-node": "^10.0.0", "typedoc": "^0.20.30", - "typescript": "^4.2.3" + "typescript": "4.2.4" }, "dependencies": { - "@thi.ng/api": "^7.1.4", - "@thi.ng/checks": "^2.9.6", - "@thi.ng/math": "^3.4.0", - "@thi.ng/rstream": "^6.0.5", - "@thi.ng/transducers": "^7.6.10" + "@thi.ng/api": "^7.1.5", + "@thi.ng/checks": "^2.9.7", + "@thi.ng/math": "^4.0.1", + "@thi.ng/rstream": "^6.0.9", + "@thi.ng/transducers": "^7.7.3" }, "files": [ "*.js", diff --git a/packages/rstream-graph/CHANGELOG.md b/packages/rstream-graph/CHANGELOG.md index 4d95e5e8af..9c68c57cea 100644 --- a/packages/rstream-graph/CHANGELOG.md +++ b/packages/rstream-graph/CHANGELOG.md @@ -3,47 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [3.2.65](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-graph@3.2.64...@thi.ng/rstream-graph@3.2.65) (2021-04-03) - -**Note:** Version bump only for package @thi.ng/rstream-graph - - - - - -## [3.2.64](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-graph@3.2.63...@thi.ng/rstream-graph@3.2.64) (2021-03-30) - -**Note:** Version bump only for package @thi.ng/rstream-graph - - - - - -## [3.2.63](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-graph@3.2.62...@thi.ng/rstream-graph@3.2.63) (2021-03-28) - -**Note:** Version bump only for package @thi.ng/rstream-graph - - - - - -## [3.2.62](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-graph@3.2.61...@thi.ng/rstream-graph@3.2.62) (2021-03-27) - -**Note:** Version bump only for package @thi.ng/rstream-graph - - - - - -## [3.2.61](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-graph@3.2.60...@thi.ng/rstream-graph@3.2.61) (2021-03-17) - -**Note:** Version bump only for package @thi.ng/rstream-graph - - - - - -## [3.2.60](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-graph@3.2.59...@thi.ng/rstream-graph@3.2.60) (2021-03-12) +## [3.2.69](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-graph@3.2.68...@thi.ng/rstream-graph@3.2.69) (2021-06-08) **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 2dc9afdca6..4c003b3272 100644 --- a/packages/rstream-graph/package.json +++ b/packages/rstream-graph/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/rstream-graph", - "version": "3.2.65", + "version": "3.2.69", "description": "Declarative dataflow graph construction for @thi.ng/rstream", "module": "./index.js", "main": "./lib/index.js", @@ -42,21 +42,21 @@ "@microsoft/api-extractor": "^7.13.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.3.0", + "mocha": "^9.0.0", "nyc": "^15.1.0", - "ts-node": "^9.1.1", + "ts-node": "^10.0.0", "typedoc": "^0.20.30", - "typescript": "^4.2.3" + "typescript": "4.2.4" }, "dependencies": { - "@thi.ng/api": "^7.1.4", - "@thi.ng/atom": "^4.1.35", - "@thi.ng/checks": "^2.9.6", - "@thi.ng/errors": "^1.3.0", - "@thi.ng/paths": "^4.2.7", - "@thi.ng/resolve-map": "^4.2.20", - "@thi.ng/rstream": "^6.0.5", - "@thi.ng/transducers": "^7.6.10" + "@thi.ng/api": "^7.1.5", + "@thi.ng/atom": "^4.1.36", + "@thi.ng/checks": "^2.9.7", + "@thi.ng/errors": "^1.3.1", + "@thi.ng/paths": "^4.2.8", + "@thi.ng/resolve-map": "^4.2.21", + "@thi.ng/rstream": "^6.0.9", + "@thi.ng/transducers": "^7.7.3" }, "files": [ "*.js", diff --git a/packages/rstream-log-file/CHANGELOG.md b/packages/rstream-log-file/CHANGELOG.md index c8bf1f4af6..fc3085dd4f 100644 --- a/packages/rstream-log-file/CHANGELOG.md +++ b/packages/rstream-log-file/CHANGELOG.md @@ -3,47 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [0.1.86](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-log-file@0.1.85...@thi.ng/rstream-log-file@0.1.86) (2021-04-03) - -**Note:** Version bump only for package @thi.ng/rstream-log-file - - - - - -## [0.1.85](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-log-file@0.1.84...@thi.ng/rstream-log-file@0.1.85) (2021-03-30) - -**Note:** Version bump only for package @thi.ng/rstream-log-file - - - - - -## [0.1.84](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-log-file@0.1.83...@thi.ng/rstream-log-file@0.1.84) (2021-03-28) - -**Note:** Version bump only for package @thi.ng/rstream-log-file - - - - - -## [0.1.83](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-log-file@0.1.82...@thi.ng/rstream-log-file@0.1.83) (2021-03-27) - -**Note:** Version bump only for package @thi.ng/rstream-log-file - - - - - -## [0.1.82](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-log-file@0.1.81...@thi.ng/rstream-log-file@0.1.82) (2021-03-17) - -**Note:** Version bump only for package @thi.ng/rstream-log-file - - - - - -## [0.1.81](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-log-file@0.1.80...@thi.ng/rstream-log-file@0.1.81) (2021-03-12) +## [0.1.90](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-log-file@0.1.89...@thi.ng/rstream-log-file@0.1.90) (2021-06-08) **Note:** Version bump only for package @thi.ng/rstream-log-file diff --git a/packages/rstream-log-file/package.json b/packages/rstream-log-file/package.json index d5186e691e..2ccc093e75 100644 --- a/packages/rstream-log-file/package.json +++ b/packages/rstream-log-file/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/rstream-log-file", - "version": "0.1.86", + "version": "0.1.90", "description": "File output handler for structured, multilevel & hierarchical loggers based on @thi.ng/rstream", "module": "./index.js", "main": "./lib/index.js", @@ -42,14 +42,14 @@ "@microsoft/api-extractor": "^7.13.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.3.0", + "mocha": "^9.0.0", "nyc": "^15.1.0", - "ts-node": "^9.1.1", + "ts-node": "^10.0.0", "typedoc": "^0.20.30", - "typescript": "^4.2.3" + "typescript": "4.2.4" }, "dependencies": { - "@thi.ng/rstream": "^6.0.5" + "@thi.ng/rstream": "^6.0.9" }, "files": [ "*.js", diff --git a/packages/rstream-log/CHANGELOG.md b/packages/rstream-log/CHANGELOG.md index 00a992f9d3..3007e3dad2 100644 --- a/packages/rstream-log/CHANGELOG.md +++ b/packages/rstream-log/CHANGELOG.md @@ -3,63 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [3.2.17](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-log@3.2.16...@thi.ng/rstream-log@3.2.17) (2021-04-03) - -**Note:** Version bump only for package @thi.ng/rstream-log - - - - - -## [3.2.16](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-log@3.2.15...@thi.ng/rstream-log@3.2.16) (2021-03-30) - -**Note:** Version bump only for package @thi.ng/rstream-log - - - - - -## [3.2.15](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-log@3.2.14...@thi.ng/rstream-log@3.2.15) (2021-03-28) - -**Note:** Version bump only for package @thi.ng/rstream-log - - - - - -## [3.2.14](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-log@3.2.13...@thi.ng/rstream-log@3.2.14) (2021-03-27) - -**Note:** Version bump only for package @thi.ng/rstream-log - - - - - -## [3.2.13](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-log@3.2.12...@thi.ng/rstream-log@3.2.13) (2021-03-24) - -**Note:** Version bump only for package @thi.ng/rstream-log - - - - - -## [3.2.12](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-log@3.2.11...@thi.ng/rstream-log@3.2.12) (2021-03-24) - -**Note:** Version bump only for package @thi.ng/rstream-log - - - - - -## [3.2.11](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-log@3.2.10...@thi.ng/rstream-log@3.2.11) (2021-03-17) - -**Note:** Version bump only for package @thi.ng/rstream-log - - - - - -## [3.2.10](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-log@3.2.9...@thi.ng/rstream-log@3.2.10) (2021-03-12) +## [3.2.21](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-log@3.2.20...@thi.ng/rstream-log@3.2.21) (2021-06-08) **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 be5bd85e77..eefe14194e 100644 --- a/packages/rstream-log/package.json +++ b/packages/rstream-log/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/rstream-log", - "version": "3.2.17", + "version": "3.2.21", "description": "Structured, multilevel & hierarchical loggers based on @thi.ng/rstream", "module": "./index.js", "main": "./lib/index.js", @@ -42,19 +42,19 @@ "@microsoft/api-extractor": "^7.13.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.3.0", + "mocha": "^9.0.0", "nyc": "^15.1.0", - "ts-node": "^9.1.1", + "ts-node": "^10.0.0", "typedoc": "^0.20.30", - "typescript": "^4.2.3" + "typescript": "4.2.4" }, "dependencies": { - "@thi.ng/api": "^7.1.4", - "@thi.ng/checks": "^2.9.6", - "@thi.ng/errors": "^1.3.0", - "@thi.ng/rstream": "^6.0.5", - "@thi.ng/strings": "^2.1.0", - "@thi.ng/transducers": "^7.6.10" + "@thi.ng/api": "^7.1.5", + "@thi.ng/checks": "^2.9.7", + "@thi.ng/errors": "^1.3.1", + "@thi.ng/rstream": "^6.0.9", + "@thi.ng/strings": "^2.1.1", + "@thi.ng/transducers": "^7.7.3" }, "files": [ "*.js", diff --git a/packages/rstream-query/CHANGELOG.md b/packages/rstream-query/CHANGELOG.md index 27463d8e54..093579663a 100644 --- a/packages/rstream-query/CHANGELOG.md +++ b/packages/rstream-query/CHANGELOG.md @@ -3,63 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [1.1.73](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-query@1.1.72...@thi.ng/rstream-query@1.1.73) (2021-04-03) - -**Note:** Version bump only for package @thi.ng/rstream-query - - - - - -## [1.1.72](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-query@1.1.71...@thi.ng/rstream-query@1.1.72) (2021-03-30) - -**Note:** Version bump only for package @thi.ng/rstream-query - - - - - -## [1.1.71](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-query@1.1.70...@thi.ng/rstream-query@1.1.71) (2021-03-28) - -**Note:** Version bump only for package @thi.ng/rstream-query - - - - - -## [1.1.70](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-query@1.1.69...@thi.ng/rstream-query@1.1.70) (2021-03-27) - -**Note:** Version bump only for package @thi.ng/rstream-query - - - - - -## [1.1.69](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-query@1.1.68...@thi.ng/rstream-query@1.1.69) (2021-03-24) - -**Note:** Version bump only for package @thi.ng/rstream-query - - - - - -## [1.1.68](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-query@1.1.67...@thi.ng/rstream-query@1.1.68) (2021-03-24) - -**Note:** Version bump only for package @thi.ng/rstream-query - - - - - -## [1.1.67](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-query@1.1.66...@thi.ng/rstream-query@1.1.67) (2021-03-17) - -**Note:** Version bump only for package @thi.ng/rstream-query - - - - - -## [1.1.66](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-query@1.1.65...@thi.ng/rstream-query@1.1.66) (2021-03-12) +## [1.1.77](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream-query@1.1.76...@thi.ng/rstream-query@1.1.77) (2021-06-08) **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 b28aa579b0..74e6a7eccb 100644 --- a/packages/rstream-query/package.json +++ b/packages/rstream-query/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/rstream-query", - "version": "1.1.73", + "version": "1.1.77", "description": "@thi.ng/rstream based triple store & reactive query engine", "module": "./index.js", "main": "./lib/index.js", @@ -42,22 +42,22 @@ "@microsoft/api-extractor": "^7.13.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.3.0", + "mocha": "^9.0.0", "nyc": "^15.1.0", - "ts-node": "^9.1.1", + "ts-node": "^10.0.0", "typedoc": "^0.20.30", - "typescript": "^4.2.3" + "typescript": "4.2.4" }, "dependencies": { - "@thi.ng/api": "^7.1.4", - "@thi.ng/associative": "^5.2.1", - "@thi.ng/checks": "^2.9.6", - "@thi.ng/equiv": "^1.0.41", - "@thi.ng/errors": "^1.3.0", - "@thi.ng/math": "^3.4.0", - "@thi.ng/rstream": "^6.0.5", - "@thi.ng/rstream-dot": "^1.2.13", - "@thi.ng/transducers": "^7.6.10" + "@thi.ng/api": "^7.1.5", + "@thi.ng/associative": "^5.2.5", + "@thi.ng/checks": "^2.9.7", + "@thi.ng/equiv": "^1.0.42", + "@thi.ng/errors": "^1.3.1", + "@thi.ng/math": "^4.0.1", + "@thi.ng/rstream": "^6.0.9", + "@thi.ng/rstream-dot": "^1.2.17", + "@thi.ng/transducers": "^7.7.3" }, "files": [ "*.js", diff --git a/packages/rstream/CHANGELOG.md b/packages/rstream/CHANGELOG.md index 66e8faf12d..aef37aeb84 100644 --- a/packages/rstream/CHANGELOG.md +++ b/packages/rstream/CHANGELOG.md @@ -3,39 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [6.0.5](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream@6.0.4...@thi.ng/rstream@6.0.5) (2021-04-03) - -**Note:** Version bump only for package @thi.ng/rstream - - - - - -## [6.0.4](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream@6.0.3...@thi.ng/rstream@6.0.4) (2021-03-30) - -**Note:** Version bump only for package @thi.ng/rstream - - - - - -## [6.0.3](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream@6.0.2...@thi.ng/rstream@6.0.3) (2021-03-28) - -**Note:** Version bump only for package @thi.ng/rstream - - - - - -## [6.0.2](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream@6.0.1...@thi.ng/rstream@6.0.2) (2021-03-27) - -**Note:** Version bump only for package @thi.ng/rstream - - - - - -## [6.0.1](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream@6.0.0...@thi.ng/rstream@6.0.1) (2021-03-17) +## [6.0.9](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream@6.0.8...@thi.ng/rstream@6.0.9) (2021-06-08) **Note:** Version bump only for package @thi.ng/rstream diff --git a/packages/rstream/README.md b/packages/rstream/README.md index 4a4583c635..949456e7fe 100644 --- a/packages/rstream/README.md +++ b/packages/rstream/README.md @@ -218,6 +218,7 @@ A selection: | | Figlet-style bitmap font creation with transducers | [Demo](https://demo.thi.ng/umbrella/bitmap-font/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/bitmap-font) | | | Probabilistic color theme generator | [Demo](https://demo.thi.ng/umbrella/color-themes/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/color-themes) | | | Basic crypto-currency candle chart with multiple moving averages plots | [Demo](https://demo.thi.ng/umbrella/crypto-chart/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/crypto-chart) | +| | Color palette generation via dominant color extraction from uploaded images | [Demo](https://demo.thi.ng/umbrella/dominant-colors/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/dominant-colors) | | | Interactive pattern drawing demo using transducers | [Demo](https://demo.thi.ng/umbrella/hdom-canvas-draw/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/hdom-canvas-draw) | | | Canvas based Immediate Mode GUI components | [Demo](https://demo.thi.ng/umbrella/imgui/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/imgui) | | | Worker based, interactive Mandelbrot visualization | [Demo](https://demo.thi.ng/umbrella/mandelbrot/) | [Source](https://github.com/thi-ng/umbrella/tree/develop/examples/mandelbrot) | diff --git a/packages/rstream/package.json b/packages/rstream/package.json index 298505f496..c1f08b0e75 100644 --- a/packages/rstream/package.json +++ b/packages/rstream/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/rstream", - "version": "6.0.5", + "version": "6.0.9", "description": "Reactive streams & subscription primitives for constructing dataflow graphs / pipelines", "module": "./index.js", "main": "./lib/index.js", @@ -42,20 +42,20 @@ "@microsoft/api-extractor": "^7.13.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.3.0", + "mocha": "^9.0.0", "nyc": "^15.1.0", - "ts-node": "^9.1.1", + "ts-node": "^10.0.0", "typedoc": "^0.20.30", - "typescript": "^4.2.3" + "typescript": "4.2.4" }, "dependencies": { - "@thi.ng/api": "^7.1.4", - "@thi.ng/arrays": "^0.10.10", - "@thi.ng/associative": "^5.2.1", - "@thi.ng/atom": "^4.1.35", - "@thi.ng/checks": "^2.9.6", - "@thi.ng/errors": "^1.3.0", - "@thi.ng/transducers": "^7.6.10" + "@thi.ng/api": "^7.1.5", + "@thi.ng/arrays": "^0.10.12", + "@thi.ng/associative": "^5.2.5", + "@thi.ng/atom": "^4.1.36", + "@thi.ng/checks": "^2.9.7", + "@thi.ng/errors": "^1.3.1", + "@thi.ng/transducers": "^7.7.3" }, "files": [ "*.js", diff --git a/packages/sax/CHANGELOG.md b/packages/sax/CHANGELOG.md index 87032c1b52..65ac2cfe8f 100644 --- a/packages/sax/CHANGELOG.md +++ b/packages/sax/CHANGELOG.md @@ -3,39 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [1.1.59](https://github.com/thi-ng/umbrella/compare/@thi.ng/sax@1.1.58...@thi.ng/sax@1.1.59) (2021-04-03) - -**Note:** Version bump only for package @thi.ng/sax - - - - - -## [1.1.58](https://github.com/thi-ng/umbrella/compare/@thi.ng/sax@1.1.57...@thi.ng/sax@1.1.58) (2021-03-28) - -**Note:** Version bump only for package @thi.ng/sax - - - - - -## [1.1.57](https://github.com/thi-ng/umbrella/compare/@thi.ng/sax@1.1.56...@thi.ng/sax@1.1.57) (2021-03-27) - -**Note:** Version bump only for package @thi.ng/sax - - - - - -## [1.1.56](https://github.com/thi-ng/umbrella/compare/@thi.ng/sax@1.1.55...@thi.ng/sax@1.1.56) (2021-03-17) - -**Note:** Version bump only for package @thi.ng/sax - - - - - -## [1.1.55](https://github.com/thi-ng/umbrella/compare/@thi.ng/sax@1.1.54...@thi.ng/sax@1.1.55) (2021-03-12) +## [1.1.63](https://github.com/thi-ng/umbrella/compare/@thi.ng/sax@1.1.62...@thi.ng/sax@1.1.63) (2021-06-08) **Note:** Version bump only for package @thi.ng/sax diff --git a/packages/sax/package.json b/packages/sax/package.json index 447ac66772..881ea68669 100644 --- a/packages/sax/package.json +++ b/packages/sax/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/sax", - "version": "1.1.59", + "version": "1.1.63", "description": "Transducer-based, SAX-like, non-validating, speedy & tiny XML parser", "module": "./index.js", "main": "./lib/index.js", @@ -42,16 +42,16 @@ "@microsoft/api-extractor": "^7.13.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.3.0", + "mocha": "^9.0.0", "nyc": "^15.1.0", - "ts-node": "^9.1.1", + "ts-node": "^10.0.0", "typedoc": "^0.20.30", - "typescript": "^4.2.3" + "typescript": "4.2.4" }, "dependencies": { - "@thi.ng/api": "^7.1.4", - "@thi.ng/transducers": "^7.6.10", - "@thi.ng/transducers-fsm": "^1.1.59" + "@thi.ng/api": "^7.1.5", + "@thi.ng/transducers": "^7.7.3", + "@thi.ng/transducers-fsm": "^1.1.63" }, "files": [ "*.js", diff --git a/packages/scenegraph/CHANGELOG.md b/packages/scenegraph/CHANGELOG.md index bfd336a614..625d24d9fc 100644 --- a/packages/scenegraph/CHANGELOG.md +++ b/packages/scenegraph/CHANGELOG.md @@ -3,47 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [0.3.29](https://github.com/thi-ng/umbrella/compare/@thi.ng/scenegraph@0.3.28...@thi.ng/scenegraph@0.3.29) (2021-04-03) - -**Note:** Version bump only for package @thi.ng/scenegraph - - - - - -## [0.3.28](https://github.com/thi-ng/umbrella/compare/@thi.ng/scenegraph@0.3.27...@thi.ng/scenegraph@0.3.28) (2021-03-30) - -**Note:** Version bump only for package @thi.ng/scenegraph - - - - - -## [0.3.27](https://github.com/thi-ng/umbrella/compare/@thi.ng/scenegraph@0.3.26...@thi.ng/scenegraph@0.3.27) (2021-03-28) - -**Note:** Version bump only for package @thi.ng/scenegraph - - - - - -## [0.3.26](https://github.com/thi-ng/umbrella/compare/@thi.ng/scenegraph@0.3.25...@thi.ng/scenegraph@0.3.26) (2021-03-27) - -**Note:** Version bump only for package @thi.ng/scenegraph - - - - - -## [0.3.25](https://github.com/thi-ng/umbrella/compare/@thi.ng/scenegraph@0.3.24...@thi.ng/scenegraph@0.3.25) (2021-03-17) - -**Note:** Version bump only for package @thi.ng/scenegraph - - - - - -## [0.3.24](https://github.com/thi-ng/umbrella/compare/@thi.ng/scenegraph@0.3.23...@thi.ng/scenegraph@0.3.24) (2021-03-12) +## [0.3.33](https://github.com/thi-ng/umbrella/compare/@thi.ng/scenegraph@0.3.32...@thi.ng/scenegraph@0.3.33) (2021-06-08) **Note:** Version bump only for package @thi.ng/scenegraph diff --git a/packages/scenegraph/package.json b/packages/scenegraph/package.json index 56b5cf0724..68e9040317 100644 --- a/packages/scenegraph/package.json +++ b/packages/scenegraph/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/scenegraph", - "version": "0.3.29", + "version": "0.3.33", "description": "Extensible 2D/3D scene graph with @thi.ng/hiccup-canvas support", "module": "./index.js", "main": "./lib/index.js", @@ -42,17 +42,17 @@ "@microsoft/api-extractor": "^7.13.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.3.0", + "mocha": "^9.0.0", "nyc": "^15.1.0", - "ts-node": "^9.1.1", + "ts-node": "^10.0.0", "typedoc": "^0.20.30", - "typescript": "^4.2.3" + "typescript": "4.2.4" }, "dependencies": { - "@thi.ng/api": "^7.1.4", - "@thi.ng/checks": "^2.9.6", - "@thi.ng/matrices": "^0.6.55", - "@thi.ng/vectors": "^5.2.1" + "@thi.ng/api": "^7.1.5", + "@thi.ng/checks": "^2.9.7", + "@thi.ng/matrices": "^0.6.59", + "@thi.ng/vectors": "^6.0.1" }, "files": [ "*.js", diff --git a/packages/seq/CHANGELOG.md b/packages/seq/CHANGELOG.md index 449729a884..eaa01639d5 100644 --- a/packages/seq/CHANGELOG.md +++ b/packages/seq/CHANGELOG.md @@ -3,15 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [0.2.37](https://github.com/thi-ng/umbrella/compare/@thi.ng/seq@0.2.36...@thi.ng/seq@0.2.37) (2021-04-03) - -**Note:** Version bump only for package @thi.ng/seq - - - - - -## [0.2.36](https://github.com/thi-ng/umbrella/compare/@thi.ng/seq@0.2.35...@thi.ng/seq@0.2.36) (2021-03-12) +## [0.2.38](https://github.com/thi-ng/umbrella/compare/@thi.ng/seq@0.2.37...@thi.ng/seq@0.2.38) (2021-06-08) **Note:** Version bump only for package @thi.ng/seq diff --git a/packages/seq/package.json b/packages/seq/package.json index e34c842897..da6f0b7114 100644 --- a/packages/seq/package.json +++ b/packages/seq/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/seq", - "version": "0.2.37", + "version": "0.2.38", "description": "Various implementations of the @thi.ng/api `ISeq` interface / sequence abstraction", "module": "./index.js", "main": "./lib/index.js", @@ -42,15 +42,15 @@ "@microsoft/api-extractor": "^7.13.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.3.0", + "mocha": "^9.0.0", "nyc": "^15.1.0", - "ts-node": "^9.1.1", + "ts-node": "^10.0.0", "typedoc": "^0.20.30", - "typescript": "^4.2.3" + "typescript": "4.2.4" }, "dependencies": { - "@thi.ng/api": "^7.1.4", - "@thi.ng/checks": "^2.9.6" + "@thi.ng/api": "^7.1.5", + "@thi.ng/checks": "^2.9.7" }, "files": [ "*.js", diff --git a/packages/sexpr/CHANGELOG.md b/packages/sexpr/CHANGELOG.md index d16ac8e489..07ce3bd41d 100644 --- a/packages/sexpr/CHANGELOG.md +++ b/packages/sexpr/CHANGELOG.md @@ -3,23 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [0.2.41](https://github.com/thi-ng/umbrella/compare/@thi.ng/sexpr@0.2.40...@thi.ng/sexpr@0.2.41) (2021-04-03) - -**Note:** Version bump only for package @thi.ng/sexpr - - - - - -## [0.2.40](https://github.com/thi-ng/umbrella/compare/@thi.ng/sexpr@0.2.39...@thi.ng/sexpr@0.2.40) (2021-03-17) - -**Note:** Version bump only for package @thi.ng/sexpr - - - - - -## [0.2.39](https://github.com/thi-ng/umbrella/compare/@thi.ng/sexpr@0.2.38...@thi.ng/sexpr@0.2.39) (2021-03-12) +## [0.2.42](https://github.com/thi-ng/umbrella/compare/@thi.ng/sexpr@0.2.41...@thi.ng/sexpr@0.2.42) (2021-06-08) **Note:** Version bump only for package @thi.ng/sexpr diff --git a/packages/sexpr/package.json b/packages/sexpr/package.json index 83846506b6..e77a808e9a 100644 --- a/packages/sexpr/package.json +++ b/packages/sexpr/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/sexpr", - "version": "0.2.41", + "version": "0.2.42", "description": "Extensible S-Expression parser & runtime infrastructure", "module": "./index.js", "main": "./lib/index.js", @@ -42,16 +42,16 @@ "@microsoft/api-extractor": "^7.13.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.3.0", + "mocha": "^9.0.0", "nyc": "^15.1.0", - "ts-node": "^9.1.1", + "ts-node": "^10.0.0", "typedoc": "^0.20.30", - "typescript": "^4.2.3" + "typescript": "4.2.4" }, "dependencies": { - "@thi.ng/api": "^7.1.4", - "@thi.ng/checks": "^2.9.6", - "@thi.ng/defmulti": "^1.3.11" + "@thi.ng/api": "^7.1.5", + "@thi.ng/checks": "^2.9.7", + "@thi.ng/defmulti": "^1.3.12" }, "files": [ "*.js", diff --git a/packages/shader-ast-glsl/CHANGELOG.md b/packages/shader-ast-glsl/CHANGELOG.md index acb626b624..8f1f94c383 100644 --- a/packages/shader-ast-glsl/CHANGELOG.md +++ b/packages/shader-ast-glsl/CHANGELOG.md @@ -3,47 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [0.2.32](https://github.com/thi-ng/umbrella/compare/@thi.ng/shader-ast-glsl@0.2.31...@thi.ng/shader-ast-glsl@0.2.32) (2021-04-03) - -**Note:** Version bump only for package @thi.ng/shader-ast-glsl - - - - - -## [0.2.31](https://github.com/thi-ng/umbrella/compare/@thi.ng/shader-ast-glsl@0.2.30...@thi.ng/shader-ast-glsl@0.2.31) (2021-03-30) - -**Note:** Version bump only for package @thi.ng/shader-ast-glsl - - - - - -## [0.2.30](https://github.com/thi-ng/umbrella/compare/@thi.ng/shader-ast-glsl@0.2.29...@thi.ng/shader-ast-glsl@0.2.30) (2021-03-28) - -**Note:** Version bump only for package @thi.ng/shader-ast-glsl - - - - - -## [0.2.29](https://github.com/thi-ng/umbrella/compare/@thi.ng/shader-ast-glsl@0.2.28...@thi.ng/shader-ast-glsl@0.2.29) (2021-03-27) - -**Note:** Version bump only for package @thi.ng/shader-ast-glsl - - - - - -## [0.2.28](https://github.com/thi-ng/umbrella/compare/@thi.ng/shader-ast-glsl@0.2.27...@thi.ng/shader-ast-glsl@0.2.28) (2021-03-17) - -**Note:** Version bump only for package @thi.ng/shader-ast-glsl - - - - - -## [0.2.27](https://github.com/thi-ng/umbrella/compare/@thi.ng/shader-ast-glsl@0.2.26...@thi.ng/shader-ast-glsl@0.2.27) (2021-03-12) +## [0.2.36](https://github.com/thi-ng/umbrella/compare/@thi.ng/shader-ast-glsl@0.2.35...@thi.ng/shader-ast-glsl@0.2.36) (2021-06-08) **Note:** Version bump only for package @thi.ng/shader-ast-glsl diff --git a/packages/shader-ast-glsl/package.json b/packages/shader-ast-glsl/package.json index 573eeab294..a1fb88d672 100644 --- a/packages/shader-ast-glsl/package.json +++ b/packages/shader-ast-glsl/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/shader-ast-glsl", - "version": "0.2.32", + "version": "0.2.36", "description": "Customizable GLSL codegen for @thi.ng/shader-ast", "module": "./index.js", "main": "./lib/index.js", @@ -42,17 +42,17 @@ "@microsoft/api-extractor": "^7.13.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.3.0", + "mocha": "^9.0.0", "nyc": "^15.1.0", - "ts-node": "^9.1.1", + "ts-node": "^10.0.0", "typedoc": "^0.20.30", - "typescript": "^4.2.3" + "typescript": "4.2.4" }, "dependencies": { - "@thi.ng/api": "^7.1.4", - "@thi.ng/checks": "^2.9.6", - "@thi.ng/errors": "^1.3.0", - "@thi.ng/shader-ast": "^0.8.10" + "@thi.ng/api": "^7.1.5", + "@thi.ng/checks": "^2.9.7", + "@thi.ng/errors": "^1.3.1", + "@thi.ng/shader-ast": "^0.8.14" }, "files": [ "*.js", diff --git a/packages/shader-ast-js/CHANGELOG.md b/packages/shader-ast-js/CHANGELOG.md index ca60b15299..7850b6de10 100644 --- a/packages/shader-ast-js/CHANGELOG.md +++ b/packages/shader-ast-js/CHANGELOG.md @@ -3,55 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [0.5.32](https://github.com/thi-ng/umbrella/compare/@thi.ng/shader-ast-js@0.5.31...@thi.ng/shader-ast-js@0.5.32) (2021-04-03) - -**Note:** Version bump only for package @thi.ng/shader-ast-js - - - - - -## [0.5.31](https://github.com/thi-ng/umbrella/compare/@thi.ng/shader-ast-js@0.5.30...@thi.ng/shader-ast-js@0.5.31) (2021-03-30) - -**Note:** Version bump only for package @thi.ng/shader-ast-js - - - - - -## [0.5.30](https://github.com/thi-ng/umbrella/compare/@thi.ng/shader-ast-js@0.5.29...@thi.ng/shader-ast-js@0.5.30) (2021-03-28) - -**Note:** Version bump only for package @thi.ng/shader-ast-js - - - - - -## [0.5.29](https://github.com/thi-ng/umbrella/compare/@thi.ng/shader-ast-js@0.5.28...@thi.ng/shader-ast-js@0.5.29) (2021-03-27) - -**Note:** Version bump only for package @thi.ng/shader-ast-js - - - - - -## [0.5.28](https://github.com/thi-ng/umbrella/compare/@thi.ng/shader-ast-js@0.5.27...@thi.ng/shader-ast-js@0.5.28) (2021-03-20) - -**Note:** Version bump only for package @thi.ng/shader-ast-js - - - - - -## [0.5.27](https://github.com/thi-ng/umbrella/compare/@thi.ng/shader-ast-js@0.5.26...@thi.ng/shader-ast-js@0.5.27) (2021-03-17) - -**Note:** Version bump only for package @thi.ng/shader-ast-js - - - - - -## [0.5.26](https://github.com/thi-ng/umbrella/compare/@thi.ng/shader-ast-js@0.5.25...@thi.ng/shader-ast-js@0.5.26) (2021-03-12) +## [0.5.37](https://github.com/thi-ng/umbrella/compare/@thi.ng/shader-ast-js@0.5.36...@thi.ng/shader-ast-js@0.5.37) (2021-06-08) **Note:** Version bump only for package @thi.ng/shader-ast-js diff --git a/packages/shader-ast-js/package.json b/packages/shader-ast-js/package.json index 3fa6d026fb..ad2d8864ed 100644 --- a/packages/shader-ast-js/package.json +++ b/packages/shader-ast-js/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/shader-ast-js", - "version": "0.5.32", + "version": "0.5.37", "description": "Customizable JS codegen, compiler & runtime for @thi.ng/shader-ast", "module": "./index.js", "main": "./lib/index.js", @@ -42,21 +42,21 @@ "@microsoft/api-extractor": "^7.13.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.3.0", + "mocha": "^9.0.0", "nyc": "^15.1.0", - "ts-node": "^9.1.1", + "ts-node": "^10.0.0", "typedoc": "^0.20.30", - "typescript": "^4.2.3" + "typescript": "4.2.4" }, "dependencies": { - "@thi.ng/api": "^7.1.4", - "@thi.ng/checks": "^2.9.6", - "@thi.ng/errors": "^1.3.0", - "@thi.ng/math": "^3.4.0", - "@thi.ng/matrices": "^0.6.55", - "@thi.ng/pixel": "^0.9.0", - "@thi.ng/shader-ast": "^0.8.10", - "@thi.ng/vectors": "^5.2.1" + "@thi.ng/api": "^7.1.5", + "@thi.ng/checks": "^2.9.7", + "@thi.ng/errors": "^1.3.1", + "@thi.ng/math": "^4.0.1", + "@thi.ng/matrices": "^0.6.59", + "@thi.ng/pixel": "^0.10.3", + "@thi.ng/shader-ast": "^0.8.14", + "@thi.ng/vectors": "^6.0.1" }, "files": [ "*.js", diff --git a/packages/shader-ast-js/src/env/float.ts b/packages/shader-ast-js/src/env/float.ts index 08f02ac9a6..0eeaabc8f6 100644 --- a/packages/shader-ast-js/src/env/float.ts +++ b/packages/shader-ast-js/src/env/float.ts @@ -1,9 +1,9 @@ import { clamp, deg, - fmod, fract, mix, + mod, rad, smoothStep, step, @@ -34,8 +34,8 @@ export const FLOAT: JSBuiltinsFloat = { min: Math.min, mix, mixn: mix, - mod: fmod, - modn: fmod, + mod, + modn: mod, pow: Math.pow, radians: rad, sign: Math.sign, diff --git a/packages/shader-ast-js/src/env/ivec2.ts b/packages/shader-ast-js/src/env/ivec2.ts index 298ee93142..d22335ce00 100644 --- a/packages/shader-ast-js/src/env/ivec2.ts +++ b/packages/shader-ast-js/src/env/ivec2.ts @@ -7,17 +7,17 @@ import { bitXorI2, divI2, divNI2, + fmod2, + fmodN2, lshiftI2, - mod2, - modN2, mulI2, mulNI2, rshiftI2, subI2, subNI2, } from "@thi.ng/vectors"; -import { VEC2 } from "./vec2"; import type { JSBuiltinsIntVec } from "../api"; +import { VEC2 } from "./vec2"; export const IVEC2: JSBuiltinsIntVec = { ...VEC2, @@ -27,9 +27,9 @@ export const IVEC2: JSBuiltinsIntVec = { div: (a, b) => divI2([], a, b), divvn: (a, b) => divNI2([], a, b), divnv: (a, b) => divI2(null, [a, a], b), - modi: (a, b) => mod2([], a, b), - modivn: (a, b) => modN2([], a, b), - modinv: (a, b) => mod2(null, [a, a], b), + modi: (a, b) => fmod2([], a, b), + modivn: (a, b) => fmodN2([], a, b), + modinv: (a, b) => fmod2(null, [a, a], b), mul: (a, b) => mulI2([], a, b), mulvn: (a, b) => mulNI2([], a, b), mulnv: (a, b) => mulNI2([], b, a), diff --git a/packages/shader-ast-js/src/env/ivec3.ts b/packages/shader-ast-js/src/env/ivec3.ts index 99319d848c..1a35012286 100644 --- a/packages/shader-ast-js/src/env/ivec3.ts +++ b/packages/shader-ast-js/src/env/ivec3.ts @@ -7,17 +7,17 @@ import { bitXorI3, divI3, divNI3, + fmod3, + fmodN3, lshiftI3, - mod3, - modN3, mulI3, mulNI3, rshiftI3, subI3, subNI3, } from "@thi.ng/vectors"; -import { VEC3 } from "./vec3"; import type { JSBuiltinsIntVec } from "../api"; +import { VEC3 } from "./vec3"; export const IVEC3: JSBuiltinsIntVec = { ...VEC3, @@ -27,9 +27,9 @@ export const IVEC3: JSBuiltinsIntVec = { div: (a, b) => divI3([], a, b), divvn: (a, b) => divNI3([], a, b), divnv: (a, b) => divI3(null, [a, a, a], b), - modi: (a, b) => mod3([], a, b), - modivn: (a, b) => modN3([], a, b), - modinv: (a, b) => mod3(null, [a, a, a], b), + modi: (a, b) => fmod3([], a, b), + modivn: (a, b) => fmodN3([], a, b), + modinv: (a, b) => fmod3(null, [a, a, a], b), mul: (a, b) => mulI3([], a, b), mulvn: (a, b) => mulNI3([], a, b), mulnv: (a, b) => mulNI3([], b, a), diff --git a/packages/shader-ast-js/src/env/ivec4.ts b/packages/shader-ast-js/src/env/ivec4.ts index 277c7e7085..406f505c94 100644 --- a/packages/shader-ast-js/src/env/ivec4.ts +++ b/packages/shader-ast-js/src/env/ivec4.ts @@ -7,17 +7,17 @@ import { bitXorI4, divI4, divNI4, + fmod4, + fmodN4, lshiftI4, - mod4, - modN4, mulI4, mulNI4, rshiftI4, subI4, subNI4, } from "@thi.ng/vectors"; -import { VEC4 } from "./vec4"; import type { JSBuiltinsIntVec } from "../api"; +import { VEC4 } from "./vec4"; export const IVEC4: JSBuiltinsIntVec = { ...VEC4, @@ -27,9 +27,9 @@ export const IVEC4: JSBuiltinsIntVec = { div: (a, b) => divI4([], a, b), divvn: (a, b) => divNI4([], a, b), divnv: (a, b) => divI4(null, [a, a, a, a], b), - modi: (a, b) => mod4([], a, b), - modivn: (a, b) => modN4([], a, b), - modinv: (a, b) => mod4(null, [a, a, a, a], b), + modi: (a, b) => fmod4([], a, b), + modivn: (a, b) => fmodN4([], a, b), + modinv: (a, b) => fmod4(null, [a, a, a, a], b), mul: (a, b) => mulI4([], a, b), mulvn: (a, b) => mulNI4([], a, b), mulnv: (a, b) => mulNI4([], b, a), diff --git a/packages/shader-ast-js/src/env/uvec2.ts b/packages/shader-ast-js/src/env/uvec2.ts index aafb0c4fcb..e18c2e1727 100644 --- a/packages/shader-ast-js/src/env/uvec2.ts +++ b/packages/shader-ast-js/src/env/uvec2.ts @@ -7,17 +7,17 @@ import { bitXorU2, divNU2, divU2, + fmod2, + fmodN2, lshiftU2, - mod2, - modN2, mulNU2, mulU2, rshiftU2, subNU2, subU2, } from "@thi.ng/vectors"; -import { VEC2 } from "./vec2"; import type { JSBuiltinsIntVec } from "../api"; +import { VEC2 } from "./vec2"; export const UVEC2: JSBuiltinsIntVec = { ...VEC2, @@ -27,9 +27,9 @@ export const UVEC2: JSBuiltinsIntVec = { div: (a, b) => divU2([], a, b), divvn: (a, b) => divNU2([], a, b), divnv: (a, b) => divU2(null, [a, a], b), - modi: (a, b) => mod2([], a, b), - modivn: (a, b) => modN2([], a, b), - modinv: (a, b) => mod2(null, [a, a], b), + modi: (a, b) => fmod2([], a, b), + modivn: (a, b) => fmodN2([], a, b), + modinv: (a, b) => fmod2(null, [a, a], b), mul: (a, b) => mulU2([], a, b), mulvn: (a, b) => mulNU2([], a, b), mulnv: (a, b) => mulNU2([], b, a), diff --git a/packages/shader-ast-js/src/env/uvec3.ts b/packages/shader-ast-js/src/env/uvec3.ts index 3cd091f44d..76df56106b 100644 --- a/packages/shader-ast-js/src/env/uvec3.ts +++ b/packages/shader-ast-js/src/env/uvec3.ts @@ -7,17 +7,17 @@ import { bitXorU3, divNU3, divU3, + fmod3, + fmodN3, lshiftU3, - mod3, - modN3, mulNU3, mulU3, rshiftU3, subNU3, subU3, } from "@thi.ng/vectors"; -import { VEC3 } from "./vec3"; import type { JSBuiltinsIntVec } from "../api"; +import { VEC3 } from "./vec3"; export const UVEC3: JSBuiltinsIntVec = { ...VEC3, @@ -27,9 +27,9 @@ export const UVEC3: JSBuiltinsIntVec = { div: (a, b) => divU3([], a, b), divvn: (a, b) => divNU3([], a, b), divnv: (a, b) => divU3(null, [a, a, a], b), - modi: (a, b) => mod3([], a, b), - modivn: (a, b) => modN3([], a, b), - modinv: (a, b) => mod3(null, [a, a, a], b), + modi: (a, b) => fmod3([], a, b), + modivn: (a, b) => fmodN3([], a, b), + modinv: (a, b) => fmod3(null, [a, a, a], b), mul: (a, b) => mulU3([], a, b), mulvn: (a, b) => mulNU3([], a, b), mulnv: (a, b) => mulNU3([], b, a), diff --git a/packages/shader-ast-js/src/env/uvec4.ts b/packages/shader-ast-js/src/env/uvec4.ts index 1d9f47ed1f..e17c550c7f 100644 --- a/packages/shader-ast-js/src/env/uvec4.ts +++ b/packages/shader-ast-js/src/env/uvec4.ts @@ -7,17 +7,17 @@ import { bitXorU4, divNU4, divU4, + fmod4, + fmodN4, lshiftU4, - mod4, - modN4, mulNU4, mulU4, rshiftU4, subNU4, subU4, } from "@thi.ng/vectors"; -import { VEC4 } from "./vec4"; import type { JSBuiltinsIntVec } from "../api"; +import { VEC4 } from "./vec4"; export const UVEC4: JSBuiltinsIntVec = { ...VEC4, @@ -27,9 +27,9 @@ export const UVEC4: JSBuiltinsIntVec = { div: (a, b) => divU4([], a, b), divvn: (a, b) => divNU4([], a, b), divnv: (a, b) => divU4(null, [a, a, a, a], b), - modi: (a, b) => mod4([], a, b), - modivn: (a, b) => modN4([], a, b), - modinv: (a, b) => mod4(null, [a, a, a, a], b), + modi: (a, b) => fmod4([], a, b), + modivn: (a, b) => fmodN4([], a, b), + modinv: (a, b) => fmod4(null, [a, a, a, a], b), mul: (a, b) => mulU4([], a, b), mulvn: (a, b) => mulNU4([], a, b), mulnv: (a, b) => mulNU4([], b, a), diff --git a/packages/shader-ast-js/src/env/vec2.ts b/packages/shader-ast-js/src/env/vec2.ts index 88830cfd95..4d49ef6cad 100644 --- a/packages/shader-ast-js/src/env/vec2.ts +++ b/packages/shader-ast-js/src/env/vec2.ts @@ -19,8 +19,6 @@ import { exp_22, faceForward, floor2, - fmod2, - fmodN2, fract2, gt2, gte2, @@ -34,6 +32,8 @@ import { min2, mix2, mixN2, + mod2, + modN2, mul2, mulN2, neg, @@ -91,8 +91,8 @@ export const VEC2: JSBuiltinsVec = { min: (a, b) => min2([], a, b), mix: (a, b, t) => mix2([], a, b, t), mixn: (a, b, t) => mixN2([], a, b, t), - mod: (a, b) => fmod2([], a, b), - modn: (a, b) => fmodN2([], a, b), + mod: (a, b) => mod2([], a, b), + modn: (a, b) => modN2([], a, b), mul: (a, b) => mul2([], a, b), mulnv: (a, b) => mulN2([], b, a), mulvn: (a, b) => mulN2([], a, b), diff --git a/packages/shader-ast-js/src/env/vec3.ts b/packages/shader-ast-js/src/env/vec3.ts index e80c781ab4..3245d3ee89 100644 --- a/packages/shader-ast-js/src/env/vec3.ts +++ b/packages/shader-ast-js/src/env/vec3.ts @@ -20,8 +20,6 @@ import { exp_23, faceForward, floor3, - fmod3, - fmodN3, fract3, gt3, gte3, @@ -35,6 +33,8 @@ import { min3, mix3, mixN3, + mod3, + modN3, mul3, mulN3, neg, @@ -93,8 +93,8 @@ export const VEC3: JSBuiltinsVec3 = { min: (a, b) => min3([], a, b), mix: (a, b, t) => mix3([], a, b, t), mixn: (a, b, t) => mixN3([], a, b, t), - mod: (a, b) => fmod3([], a, b), - modn: (a, b) => fmodN3([], a, b), + mod: (a, b) => mod3([], a, b), + modn: (a, b) => modN3([], a, b), mul: (a, b) => mul3([], a, b), mulnv: (a, b) => mulN3([], b, a), mulvn: (a, b) => mulN3([], a, b), diff --git a/packages/shader-ast-js/src/env/vec4.ts b/packages/shader-ast-js/src/env/vec4.ts index 3456814904..7955e81c25 100644 --- a/packages/shader-ast-js/src/env/vec4.ts +++ b/packages/shader-ast-js/src/env/vec4.ts @@ -19,8 +19,6 @@ import { exp_24, faceForward, floor4, - fmod4, - fmodN4, fract4, gt4, gte4, @@ -34,6 +32,8 @@ import { min4, mix4, mixN4, + mod4, + modN4, mul4, mulN4, neg, @@ -91,8 +91,8 @@ export const VEC4: JSBuiltinsVec = { min: (a, b) => min4([], a, b), mix: (a, b, t) => mix4([], a, b, t), mixn: (a, b, t) => mixN4([], a, b, t), - mod: (a, b) => fmod4([], a, b), - modn: (a, b) => fmodN4([], a, b), + mod: (a, b) => mod4([], a, b), + modn: (a, b) => modN4([], a, b), mul: (a, b) => mul4([], a, b), mulnv: (a, b) => mulN4([], b, a), mulvn: (a, b) => mulN4([], a, b), diff --git a/packages/shader-ast-stdlib/CHANGELOG.md b/packages/shader-ast-stdlib/CHANGELOG.md index 57119eae7f..519487eab8 100644 --- a/packages/shader-ast-stdlib/CHANGELOG.md +++ b/packages/shader-ast-stdlib/CHANGELOG.md @@ -3,7 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [0.5.24](https://github.com/thi-ng/umbrella/compare/@thi.ng/shader-ast-stdlib@0.5.23...@thi.ng/shader-ast-stdlib@0.5.24) (2021-04-03) +## [0.6.1](https://github.com/thi-ng/umbrella/compare/@thi.ng/shader-ast-stdlib@0.6.0...@thi.ng/shader-ast-stdlib@0.6.1) (2021-06-08) **Note:** Version bump only for package @thi.ng/shader-ast-stdlib @@ -11,41 +11,12 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline -## [0.5.23](https://github.com/thi-ng/umbrella/compare/@thi.ng/shader-ast-stdlib@0.5.22...@thi.ng/shader-ast-stdlib@0.5.23) (2021-03-30) - -**Note:** Version bump only for package @thi.ng/shader-ast-stdlib - - - - - -## [0.5.22](https://github.com/thi-ng/umbrella/compare/@thi.ng/shader-ast-stdlib@0.5.21...@thi.ng/shader-ast-stdlib@0.5.22) (2021-03-28) - -**Note:** Version bump only for package @thi.ng/shader-ast-stdlib - - - - - -## [0.5.21](https://github.com/thi-ng/umbrella/compare/@thi.ng/shader-ast-stdlib@0.5.20...@thi.ng/shader-ast-stdlib@0.5.21) (2021-03-27) - -**Note:** Version bump only for package @thi.ng/shader-ast-stdlib - - - - - -## [0.5.20](https://github.com/thi-ng/umbrella/compare/@thi.ng/shader-ast-stdlib@0.5.19...@thi.ng/shader-ast-stdlib@0.5.20) (2021-03-17) - -**Note:** Version bump only for package @thi.ng/shader-ast-stdlib - - +# [0.6.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/shader-ast-stdlib@0.5.26...@thi.ng/shader-ast-stdlib@0.6.0) (2021-04-24) +### Features -## [0.5.19](https://github.com/thi-ng/umbrella/compare/@thi.ng/shader-ast-stdlib@0.5.18...@thi.ng/shader-ast-stdlib@0.5.19) (2021-03-12) - -**Note:** Version bump only for package @thi.ng/shader-ast-stdlib +* **shader-ast-stdlib:** add decodeRGBE() ([f98c6a2](https://github.com/thi-ng/umbrella/commit/f98c6a26a072f63a2b14def005e81985379f0bff)) diff --git a/packages/shader-ast-stdlib/README.md b/packages/shader-ast-stdlib/README.md index 48489d5ba4..8598e1ba72 100644 --- a/packages/shader-ast-stdlib/README.md +++ b/packages/shader-ast-stdlib/README.md @@ -90,7 +90,7 @@ yarn add @thi.ng/shader-ast-stdlib ``` -Package sizes (gzipped, pre-treeshake): ESM: 6.15 KB / CJS: 6.97 KB / UMD: 6.38 KB +Package sizes (gzipped, pre-treeshake): ESM: 6.20 KB / CJS: 7.04 KB / UMD: 6.45 KB ## Dependencies @@ -318,6 +318,7 @@ TODO. For now, please see doc strings in source for details... - `toLinear` - `toSRGB` - `luminanceRGB` +- `decodeRGBE` ### Porter-Duff alpha blending diff --git a/packages/shader-ast-stdlib/package.json b/packages/shader-ast-stdlib/package.json index f39be95242..7fb95b8e2f 100644 --- a/packages/shader-ast-stdlib/package.json +++ b/packages/shader-ast-stdlib/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/shader-ast-stdlib", - "version": "0.5.24", + "version": "0.6.1", "description": "Function collection for modular GPGPU / shader programming with @thi.ng/shader-ast", "module": "./index.js", "main": "./lib/index.js", @@ -42,15 +42,15 @@ "@microsoft/api-extractor": "^7.13.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.3.0", + "mocha": "^9.0.0", "nyc": "^15.1.0", - "ts-node": "^9.1.1", + "ts-node": "^10.0.0", "typedoc": "^0.20.30", - "typescript": "^4.2.3" + "typescript": "4.2.4" }, "dependencies": { - "@thi.ng/api": "^7.1.4", - "@thi.ng/shader-ast": "^0.8.10" + "@thi.ng/api": "^7.1.5", + "@thi.ng/shader-ast": "^0.8.14" }, "files": [ "*.js", diff --git a/packages/shader-ast-stdlib/src/color/rgbe.ts b/packages/shader-ast-stdlib/src/color/rgbe.ts new file mode 100644 index 0000000000..b705d8c584 --- /dev/null +++ b/packages/shader-ast-stdlib/src/color/rgbe.ts @@ -0,0 +1,37 @@ +import { + $w, + $xyz, + defn, + exp2, + float, + gt, + INT0, + mul, + ret, + sub, + ternary, + vec3, +} from "@thi.ng/shader-ast"; + +/** + * RGBE (Radiance HDR) to linear float RGB conversion. The input vec is supposed + * to contain unsigned byte values, with the last component being the exponent. + * + * @remarks + * Reference: https://en.wikipedia.org/wiki/RGBE_image_format + * + * Code based on: + * https://github.com/box/hdrCompressor/blob/master/src/rgbe/rgbe.c + * + */ +export const decodeRGBE = defn("vec3", "decodeRGBE", ["ivec4"], (col) => { + return [ + ret( + ternary( + gt($w(col), INT0), + mul(vec3($xyz(col)), exp2(float(sub($w(col), 136)))), + vec3() + ) + ), + ]; +}); diff --git a/packages/shader-ast-stdlib/src/index.ts b/packages/shader-ast-stdlib/src/index.ts index 780c000a09..50033ea896 100644 --- a/packages/shader-ast-stdlib/src/index.ts +++ b/packages/shader-ast-stdlib/src/index.ts @@ -4,6 +4,7 @@ export * from "./color/aces-film"; export * from "./color/linear-srgb"; export * from "./color/luminance"; export * from "./color/porter-duff"; +export * from "./color/rgbe"; export * from "./fog/exp"; export * from "./fog/exp2"; diff --git a/packages/shader-ast-stdlib/tpl.readme.md b/packages/shader-ast-stdlib/tpl.readme.md index 99454204ce..76df158c22 100644 --- a/packages/shader-ast-stdlib/tpl.readme.md +++ b/packages/shader-ast-stdlib/tpl.readme.md @@ -258,6 +258,7 @@ TODO. For now, please see doc strings in source for details... - `toLinear` - `toSRGB` - `luminanceRGB` +- `decodeRGBE` ### Porter-Duff alpha blending diff --git a/packages/shader-ast/CHANGELOG.md b/packages/shader-ast/CHANGELOG.md index 51942248f2..ba31f37c4f 100644 --- a/packages/shader-ast/CHANGELOG.md +++ b/packages/shader-ast/CHANGELOG.md @@ -3,49 +3,23 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [0.8.10](https://github.com/thi-ng/umbrella/compare/@thi.ng/shader-ast@0.8.9...@thi.ng/shader-ast@0.8.10) (2021-04-03) - -**Note:** Version bump only for package @thi.ng/shader-ast - - - - - -## [0.8.9](https://github.com/thi-ng/umbrella/compare/@thi.ng/shader-ast@0.8.8...@thi.ng/shader-ast@0.8.9) (2021-03-30) - -**Note:** Version bump only for package @thi.ng/shader-ast - - - - - -## [0.8.8](https://github.com/thi-ng/umbrella/compare/@thi.ng/shader-ast@0.8.7...@thi.ng/shader-ast@0.8.8) (2021-03-28) - -**Note:** Version bump only for package @thi.ng/shader-ast - - - - - -## [0.8.7](https://github.com/thi-ng/umbrella/compare/@thi.ng/shader-ast@0.8.6...@thi.ng/shader-ast@0.8.7) (2021-03-27) - -**Note:** Version bump only for package @thi.ng/shader-ast - +## [0.8.14](https://github.com/thi-ng/umbrella/compare/@thi.ng/shader-ast@0.8.13...@thi.ng/shader-ast@0.8.14) (2021-06-08) +### Bug Fixes +* **shader-ast:** add missing vector coercions ([a84e053](https://github.com/thi-ng/umbrella/commit/a84e053191d41993137c15e23794c249150ef90c)) -## [0.8.6](https://github.com/thi-ng/umbrella/compare/@thi.ng/shader-ast@0.8.5...@thi.ng/shader-ast@0.8.6) (2021-03-17) -**Note:** Version bump only for package @thi.ng/shader-ast +## [0.8.13](https://github.com/thi-ng/umbrella/compare/@thi.ng/shader-ast@0.8.12...@thi.ng/shader-ast@0.8.13) (2021-04-24) -## [0.8.5](https://github.com/thi-ng/umbrella/compare/@thi.ng/shader-ast@0.8.4...@thi.ng/shader-ast@0.8.5) (2021-03-12) +### Bug Fixes -**Note:** Version bump only for package @thi.ng/shader-ast +* **shader-ast:** fix/extend vec coercions info ([6679b52](https://github.com/thi-ng/umbrella/commit/6679b52750fce95a3083e4a724bf7cf609c5afc8)) diff --git a/packages/shader-ast/README.md b/packages/shader-ast/README.md index 9b1d1c263f..42d1810760 100644 --- a/packages/shader-ast/README.md +++ b/packages/shader-ast/README.md @@ -186,7 +186,7 @@ yarn add @thi.ng/shader-ast ``` -Package sizes (gzipped, pre-treeshake): ESM: 4.82 KB / CJS: 5.37 KB / UMD: 4.78 KB +Package sizes (gzipped, pre-treeshake): ESM: 4.84 KB / CJS: 5.39 KB / UMD: 4.80 KB ## Dependencies diff --git a/packages/shader-ast/package.json b/packages/shader-ast/package.json index 8b31cc9971..251884d217 100644 --- a/packages/shader-ast/package.json +++ b/packages/shader-ast/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/shader-ast", - "version": "0.8.10", + "version": "0.8.14", "description": "DSL to define shader code in TypeScript and cross-compile to GLSL, JS and other targets", "module": "./index.js", "main": "./lib/index.js", @@ -42,18 +42,18 @@ "@microsoft/api-extractor": "^7.13.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.3.0", + "mocha": "^9.0.0", "nyc": "^15.1.0", - "ts-node": "^9.1.1", + "ts-node": "^10.0.0", "typedoc": "^0.20.30", - "typescript": "^4.2.3" + "typescript": "4.2.4" }, "dependencies": { - "@thi.ng/api": "^7.1.4", - "@thi.ng/checks": "^2.9.6", - "@thi.ng/defmulti": "^1.3.11", - "@thi.ng/dgraph": "^1.3.20", - "@thi.ng/errors": "^1.3.0" + "@thi.ng/api": "^7.1.5", + "@thi.ng/checks": "^2.9.7", + "@thi.ng/defmulti": "^1.3.12", + "@thi.ng/dgraph": "^1.3.24", + "@thi.ng/errors": "^1.3.1" }, "files": [ "*.js", diff --git a/packages/shader-ast/src/ast/lit.ts b/packages/shader-ast/src/ast/lit.ts index 5380090f06..d197efc209 100644 --- a/packages/shader-ast/src/ast/lit.ts +++ b/packages/shader-ast/src/ast/lit.ts @@ -115,8 +115,10 @@ const $uvec = $gvec(wrapUint, UINT0); const $bvec = $gvec(wrapBool, FALSE); +const $vinfo = (v: Type, info = "") => v[0] + info.substr(1); + const $info = (xs: any[], info: (string | undefined)[]) => - isVec(xs[0]) ? xs[0].type[0] : info[xs.length]; + isVec(xs[0]) ? $vinfo(xs[0].type, info[xs.length]) : info[xs.length]; const $gvec2 = ( type: T, @@ -128,7 +130,7 @@ const $gvec3 = ( type: T, ctor: Fn | undefined)[]>, xs: any[] -) => lit(type, (xs = ctor(xs)), xs.length === 2 ? "vn" : $info(xs, ["n", "n"])); +) => lit(type, (xs = ctor(xs)), $info(xs, ["n", "n", "vn"])); const $gvec4 = ( type: T, @@ -140,7 +142,7 @@ const $gvec4 = ( (xs = ctor(xs)), xs.length === 2 ? isVec(xs[1]) - ? "vv" + ? xs[0].type[0] + xs[1].type[0] : "vn" : $info(xs, ["n", "n", , "vnn"]) ); @@ -188,7 +190,8 @@ export function vec4(...xs: any[]): Lit<"vec4"> { } export function ivec2(): Lit<"ivec2">; -export function ivec2(x: NumericB): Lit<"ivec2">; +// prettier-ignore +export function ivec2(x: NumericB | Vec2Term | UVec2Term | BVec2Term): Lit<"ivec2">; // prettier-ignore export function ivec2(x: NumericB, y: NumericB): Lit<"ivec2">; // prettier-ignore @@ -197,7 +200,8 @@ export function ivec2(...xs: any[]): Lit<"ivec2"> { } export function ivec3(): Lit<"ivec3">; -export function ivec3(x: NumericB): Lit<"ivec3">; +// prettier-ignore +export function ivec3(x: NumericB | Vec3Term | UVec3Term | BVec3Term): Lit<"ivec3">; export function ivec3(xy: Vec2Term | BVec2Term, z: NumericB): Lit<"ivec3">; // prettier-ignore export function ivec3(x: NumericB, y: NumericB, z: NumericB): Lit<"ivec3">; @@ -206,7 +210,8 @@ export function ivec3(...xs: any[]): Lit<"ivec3"> { } export function ivec4(): Lit<"ivec4">; -export function ivec4(x: NumericB): Lit<"ivec4">; +// prettier-ignore +export function ivec4(x: NumericB | Vec4Term | UVec4Term | BVec4Term): Lit<"ivec4">; export function ivec4(x: Vec3Term | BVec3Term, y: NumericB): Lit<"ivec4">; // prettier-ignore export function ivec4(x: Vec2Term | BVec2Term, y: Vec2Term | BVec2Term): Lit<"ivec4">; @@ -219,7 +224,8 @@ export function ivec4(...xs: any[]): Lit<"ivec4"> { } export function uvec2(): Lit<"uvec2">; -export function uvec2(x: NumericB): Lit<"uvec2">; +// prettier-ignore +export function uvec2(x: NumericB | Vec2Term | IVec2Term | BVec2Term): Lit<"uvec2">; // prettier-ignore export function uvec2(x: NumericB, y: NumericB): Lit<"uvec2">; // prettier-ignore @@ -228,7 +234,8 @@ export function uvec2(...xs: any[]): Lit<"uvec2"> { } export function uvec3(): Lit<"uvec3">; -export function uvec3(x: NumericB): Lit<"uvec3">; +// prettier-ignore +export function uvec3(x: NumericB | Vec3Term | IVec3Term | BVec3Term): Lit<"uvec3">; // prettier-ignore export function uvec3(xy: Vec2Term | BVec2Term, z: NumericB): Lit<"uvec3">; // prettier-ignore @@ -238,7 +245,8 @@ export function uvec3(...xs: any[]): Lit<"uvec3"> { } export function uvec4(): Lit<"uvec4">; -export function uvec4(x: NumericB): Lit<"uvec4">; +// prettier-ignore +export function uvec4(x: NumericB | Vec4Term | IVec4Term | BVec4Term): Lit<"uvec4">; // prettier-ignore export function uvec4(xyz: Vec3Term | BVec3Term, w: NumericB): Lit<"uvec4">; // prettier-ignore @@ -252,7 +260,8 @@ export function uvec4(...xs: any[]): Lit<"uvec4"> { } export function bvec2(): Lit<"bvec2">; -export function bvec2(x: NumericB): Lit<"bvec2">; +// prettier-ignore +export function bvec2(x: NumericB | Vec2Term | IVec2Term | UVec2Term): Lit<"bvec2">; // prettier-ignore export function bvec2(x: NumericB, y: NumericB): Lit<"bvec2">; // prettier-ignore @@ -261,7 +270,8 @@ export function bvec2(...xs: any[]): Lit<"bvec2"> { } export function bvec3(): Lit<"bvec3">; -export function bvec3(x: NumericB): Lit<"bvec3">; +// prettier-ignore +export function bvec3(x: NumericB | Vec3Term | IVec3Term | UVec3Term): Lit<"bvec3">; // prettier-ignore export function bvec3(xy: Vec2Term | IVec2Term | UVec2Term | BVec2Term, z: NumericB): Lit<"bvec3">; // prettier-ignore @@ -271,7 +281,8 @@ export function bvec3(...xs: any[]): Lit<"bvec3"> { } export function bvec4(): Lit<"bvec4">; -export function bvec4(x: NumericB): Lit<"bvec4">; +// prettier-ignore +export function bvec4(x: NumericB | Vec4Term | IVec4Term | UVec4Term): Lit<"bvec4">; // prettier-ignore export function bvec4(xyz: Vec3Term | IVec3Term | UVec3Term | BVec3Term, w: NumericB): Lit<"bvec4">; // prettier-ignore diff --git a/packages/simd/CHANGELOG.md b/packages/simd/CHANGELOG.md index a512156b37..c87f83dcc2 100644 --- a/packages/simd/CHANGELOG.md +++ b/packages/simd/CHANGELOG.md @@ -3,39 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [0.4.27](https://github.com/thi-ng/umbrella/compare/@thi.ng/simd@0.4.26...@thi.ng/simd@0.4.27) (2021-04-03) - -**Note:** Version bump only for package @thi.ng/simd - - - - - -## [0.4.26](https://github.com/thi-ng/umbrella/compare/@thi.ng/simd@0.4.25...@thi.ng/simd@0.4.26) (2021-03-28) - -**Note:** Version bump only for package @thi.ng/simd - - - - - -## [0.4.25](https://github.com/thi-ng/umbrella/compare/@thi.ng/simd@0.4.24...@thi.ng/simd@0.4.25) (2021-03-27) - -**Note:** Version bump only for package @thi.ng/simd - - - - - -## [0.4.24](https://github.com/thi-ng/umbrella/compare/@thi.ng/simd@0.4.23...@thi.ng/simd@0.4.24) (2021-03-17) - -**Note:** Version bump only for package @thi.ng/simd - - - - - -## [0.4.23](https://github.com/thi-ng/umbrella/compare/@thi.ng/simd@0.4.22...@thi.ng/simd@0.4.23) (2021-03-12) +## [0.4.31](https://github.com/thi-ng/umbrella/compare/@thi.ng/simd@0.4.30...@thi.ng/simd@0.4.31) (2021-06-08) **Note:** Version bump only for package @thi.ng/simd diff --git a/packages/simd/package.json b/packages/simd/package.json index d7c783d18a..81d2aedb35 100644 --- a/packages/simd/package.json +++ b/packages/simd/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/simd", - "version": "0.4.27", + "version": "0.4.31", "description": "WASM based SIMD vector operations for batch processing", "module": "./index.js", "main": "./lib/index.js", @@ -45,14 +45,14 @@ "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", "assemblyscript": "0.17.14", - "mocha": "^8.3.0", + "mocha": "^9.0.0", "nyc": "^15.1.0", - "ts-node": "^9.1.1", + "ts-node": "^10.0.0", "typedoc": "^0.20.30", - "typescript": "^4.2.3" + "typescript": "4.2.4" }, "dependencies": { - "@thi.ng/transducers-binary": "^0.6.16" + "@thi.ng/transducers-binary": "^0.6.20" }, "files": [ "*.js", diff --git a/packages/soa/CHANGELOG.md b/packages/soa/CHANGELOG.md index 5026c63a38..b1c741d6da 100644 --- a/packages/soa/CHANGELOG.md +++ b/packages/soa/CHANGELOG.md @@ -3,47 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [0.2.11](https://github.com/thi-ng/umbrella/compare/@thi.ng/soa@0.2.10...@thi.ng/soa@0.2.11) (2021-04-03) - -**Note:** Version bump only for package @thi.ng/soa - - - - - -## [0.2.10](https://github.com/thi-ng/umbrella/compare/@thi.ng/soa@0.2.9...@thi.ng/soa@0.2.10) (2021-03-30) - -**Note:** Version bump only for package @thi.ng/soa - - - - - -## [0.2.9](https://github.com/thi-ng/umbrella/compare/@thi.ng/soa@0.2.8...@thi.ng/soa@0.2.9) (2021-03-28) - -**Note:** Version bump only for package @thi.ng/soa - - - - - -## [0.2.8](https://github.com/thi-ng/umbrella/compare/@thi.ng/soa@0.2.7...@thi.ng/soa@0.2.8) (2021-03-27) - -**Note:** Version bump only for package @thi.ng/soa - - - - - -## [0.2.7](https://github.com/thi-ng/umbrella/compare/@thi.ng/soa@0.2.6...@thi.ng/soa@0.2.7) (2021-03-17) - -**Note:** Version bump only for package @thi.ng/soa - - - - - -## [0.2.6](https://github.com/thi-ng/umbrella/compare/@thi.ng/soa@0.2.5...@thi.ng/soa@0.2.6) (2021-03-12) +## [0.2.15](https://github.com/thi-ng/umbrella/compare/@thi.ng/soa@0.2.14...@thi.ng/soa@0.2.15) (2021-06-08) **Note:** Version bump only for package @thi.ng/soa diff --git a/packages/soa/package.json b/packages/soa/package.json index fad268fe40..20dc5d723c 100644 --- a/packages/soa/package.json +++ b/packages/soa/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/soa", - "version": "0.2.11", + "version": "0.2.15", "description": "SOA & AOS memory mapped structured views with optional & extensible serialization", "module": "./index.js", "main": "./lib/index.js", @@ -40,21 +40,21 @@ "devDependencies": { "@istanbuljs/nyc-config-typescript": "^1.0.1", "@microsoft/api-extractor": "^7.13.1", - "@thi.ng/equiv": "^1.0.41", + "@thi.ng/equiv": "^1.0.42", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.3.0", + "mocha": "^9.0.0", "nyc": "^15.1.0", - "ts-node": "^9.1.1", + "ts-node": "^10.0.0", "typedoc": "^0.20.30", - "typescript": "^4.2.3" + "typescript": "4.2.4" }, "dependencies": { - "@thi.ng/api": "^7.1.4", - "@thi.ng/binary": "^2.2.4", - "@thi.ng/errors": "^1.3.0", - "@thi.ng/transducers-binary": "^0.6.16", - "@thi.ng/vectors": "^5.2.1" + "@thi.ng/api": "^7.1.5", + "@thi.ng/binary": "^2.2.5", + "@thi.ng/errors": "^1.3.1", + "@thi.ng/transducers-binary": "^0.6.20", + "@thi.ng/vectors": "^6.0.1" }, "files": [ "*.js", diff --git a/packages/sparse/CHANGELOG.md b/packages/sparse/CHANGELOG.md index 11df4e77a0..b6ea1948ee 100644 --- a/packages/sparse/CHANGELOG.md +++ b/packages/sparse/CHANGELOG.md @@ -3,39 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [0.1.75](https://github.com/thi-ng/umbrella/compare/@thi.ng/sparse@0.1.74...@thi.ng/sparse@0.1.75) (2021-04-03) - -**Note:** Version bump only for package @thi.ng/sparse - - - - - -## [0.1.74](https://github.com/thi-ng/umbrella/compare/@thi.ng/sparse@0.1.73...@thi.ng/sparse@0.1.74) (2021-03-28) - -**Note:** Version bump only for package @thi.ng/sparse - - - - - -## [0.1.73](https://github.com/thi-ng/umbrella/compare/@thi.ng/sparse@0.1.72...@thi.ng/sparse@0.1.73) (2021-03-27) - -**Note:** Version bump only for package @thi.ng/sparse - - - - - -## [0.1.72](https://github.com/thi-ng/umbrella/compare/@thi.ng/sparse@0.1.71...@thi.ng/sparse@0.1.72) (2021-03-17) - -**Note:** Version bump only for package @thi.ng/sparse - - - - - -## [0.1.71](https://github.com/thi-ng/umbrella/compare/@thi.ng/sparse@0.1.70...@thi.ng/sparse@0.1.71) (2021-03-12) +## [0.1.79](https://github.com/thi-ng/umbrella/compare/@thi.ng/sparse@0.1.78...@thi.ng/sparse@0.1.79) (2021-06-08) **Note:** Version bump only for package @thi.ng/sparse diff --git a/packages/sparse/package.json b/packages/sparse/package.json index fc29acfef5..f81c97c570 100644 --- a/packages/sparse/package.json +++ b/packages/sparse/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/sparse", - "version": "0.1.75", + "version": "0.1.79", "description": "Sparse vector & matrix implementations", "module": "./index.js", "main": "./lib/index.js", @@ -42,16 +42,16 @@ "@microsoft/api-extractor": "^7.13.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.3.0", + "mocha": "^9.0.0", "nyc": "^15.1.0", - "ts-node": "^9.1.1", + "ts-node": "^10.0.0", "typedoc": "^0.20.30", - "typescript": "^4.2.3" + "typescript": "4.2.4" }, "dependencies": { - "@thi.ng/api": "^7.1.4", - "@thi.ng/errors": "^1.3.0", - "@thi.ng/transducers": "^7.6.10" + "@thi.ng/api": "^7.1.5", + "@thi.ng/errors": "^1.3.1", + "@thi.ng/transducers": "^7.7.3" }, "files": [ "*.js", diff --git a/packages/strings/CHANGELOG.md b/packages/strings/CHANGELOG.md index 4165fc78d8..2ff9ab6871 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. +## [2.1.1](https://github.com/thi-ng/umbrella/compare/@thi.ng/strings@2.1.0...@thi.ng/strings@2.1.1) (2021-06-08) + +**Note:** Version bump only for package @thi.ng/strings + + + + + # [2.1.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/strings@2.0.0...@thi.ng/strings@2.1.0) (2021-03-24) @@ -37,22 +45,6 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline -## [1.15.6](https://github.com/thi-ng/umbrella/compare/@thi.ng/strings@1.15.5...@thi.ng/strings@1.15.6) (2021-03-17) - -**Note:** Version bump only for package @thi.ng/strings - - - - - -## [1.15.5](https://github.com/thi-ng/umbrella/compare/@thi.ng/strings@1.15.4...@thi.ng/strings@1.15.5) (2021-03-12) - -**Note:** Version bump only for package @thi.ng/strings - - - - - # [1.15.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/strings@1.14.0...@thi.ng/strings@1.15.0) (2021-02-20) diff --git a/packages/strings/package.json b/packages/strings/package.json index 77bfdb9401..b1ecaa2374 100644 --- a/packages/strings/package.json +++ b/packages/strings/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/strings", - "version": "2.1.0", + "version": "2.1.1", "description": "Various string formatting & utility functions", "module": "./index.js", "main": "./lib/index.js", @@ -42,17 +42,17 @@ "@microsoft/api-extractor": "^7.13.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.3.0", + "mocha": "^9.0.0", "nyc": "^15.1.0", - "ts-node": "^9.1.1", + "ts-node": "^10.0.0", "typedoc": "^0.20.30", - "typescript": "^4.2.3" + "typescript": "4.2.4" }, "dependencies": { - "@thi.ng/api": "^7.1.4", - "@thi.ng/errors": "^1.3.0", - "@thi.ng/hex": "^0.2.5", - "@thi.ng/memoize": "^2.1.14" + "@thi.ng/api": "^7.1.5", + "@thi.ng/errors": "^1.3.1", + "@thi.ng/hex": "^0.2.6", + "@thi.ng/memoize": "^2.1.15" }, "files": [ "*.js", diff --git a/packages/system/CHANGELOG.md b/packages/system/CHANGELOG.md index c8aa3c0a25..317c0ccf41 100644 --- a/packages/system/CHANGELOG.md +++ b/packages/system/CHANGELOG.md @@ -3,7 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [0.3.1](https://github.com/thi-ng/umbrella/compare/@thi.ng/system@0.3.0...@thi.ng/system@0.3.1) (2021-04-03) +## [0.3.5](https://github.com/thi-ng/umbrella/compare/@thi.ng/system@0.3.4...@thi.ng/system@0.3.5) (2021-06-08) **Note:** Version bump only for package @thi.ng/system @@ -22,46 +22,6 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline -## [0.2.48](https://github.com/thi-ng/umbrella/compare/@thi.ng/system@0.2.47...@thi.ng/system@0.2.48) (2021-03-30) - -**Note:** Version bump only for package @thi.ng/system - - - - - -## [0.2.47](https://github.com/thi-ng/umbrella/compare/@thi.ng/system@0.2.46...@thi.ng/system@0.2.47) (2021-03-28) - -**Note:** Version bump only for package @thi.ng/system - - - - - -## [0.2.46](https://github.com/thi-ng/umbrella/compare/@thi.ng/system@0.2.45...@thi.ng/system@0.2.46) (2021-03-27) - -**Note:** Version bump only for package @thi.ng/system - - - - - -## [0.2.45](https://github.com/thi-ng/umbrella/compare/@thi.ng/system@0.2.44...@thi.ng/system@0.2.45) (2021-03-17) - -**Note:** Version bump only for package @thi.ng/system - - - - - -## [0.2.44](https://github.com/thi-ng/umbrella/compare/@thi.ng/system@0.2.43...@thi.ng/system@0.2.44) (2021-03-12) - -**Note:** Version bump only for package @thi.ng/system - - - - - ## [0.2.26](https://github.com/thi-ng/umbrella/compare/@thi.ng/system@0.2.25...@thi.ng/system@0.2.26) (2020-09-13) diff --git a/packages/system/README.md b/packages/system/README.md index b71fe664d9..514db596e9 100644 --- a/packages/system/README.md +++ b/packages/system/README.md @@ -23,7 +23,7 @@ This project is part of the ## About -Minimal DI / life cycle container for stateful app components. +Minimal and explicit dependency-injection & lifecycle container for stateful app components. Inspired by Stuart Sierra's [component](https://github.com/stuartsierra/component) framework for @@ -77,17 +77,20 @@ interface FooSys { } // Step 2: Provide component implementations -// Components can be classes or any object implementing the +// Components can be classes or any object implementing the (fully optional) // `ILifecycle` interface... class Logger implements ILifecycle { + info(msg: string) { console.log(`[info] ${msg}`); } + async start() { this.info("start logger"); return true; } + async stop() { this.info("stop logger"); return true; @@ -97,12 +100,14 @@ class Logger implements ILifecycle { // DB requires a logger & cache class DB implements ILifecycle { + constructor(protected logger: Logger, protected cache: Cache) {} async start() { this.logger.info("start db"); return true; } + async stop() { this.logger.info("stop db"); return true; @@ -110,12 +115,14 @@ class DB implements ILifecycle { } class Cache implements ILifecycle { + constructor(protected logger: Logger) {} async start() { this.logger.info("start cache"); return true; } + async stop() { this.logger.info("stop cache"); return true; @@ -139,7 +146,6 @@ const FOO = defSystem({ factory: ({ logger }) => new Cache(logger), deps: ["logger"], }, - dummy: { factory: ({ logger }) => ({ async start() { @@ -175,12 +181,16 @@ FOO.reset(); ### System visualization -In order for a `System` to initialize its components in the correct order, an internal [dependency graph](https://github.com/thi-ng/umbrella/tree/develop/packages/dgraph) is constructed. This graph not required any further after system construction, however can be useful for debugging and documentation purposes. +For a `System` to initialize its components in the correct order, an internal +[dependency +graph](https://github.com/thi-ng/umbrella/tree/develop/packages/dgraph) is +constructed. This graph is not required any further after system construction, +though can be useful for debugging and documentation purposes. For example, we can utilize the [@thi.ng/dgraph-dot](https://github.com/thi-ng/umbrella/tree/develop/packages/dgraph-dot) -package to create [Graphviz](https://graphviz.org) source file to -visualize the dependencies between the system's components. +package to generate a [Graphviz](https://graphviz.org) source file to visualize +the dependencies between the system's components. ```ts import { toDot } from "@thi.ng/dgraph-dot"; diff --git a/packages/system/package.json b/packages/system/package.json index f026fd842d..0901c427c3 100644 --- a/packages/system/package.json +++ b/packages/system/package.json @@ -1,7 +1,7 @@ { "name": "@thi.ng/system", - "version": "0.3.1", - "description": "Minimal DI / life cycle container for stateful app components", + "version": "0.3.5", + "description": "Minimal and explicit dependency-injection & lifecycle container for stateful app components", "module": "./index.js", "main": "./lib/index.js", "umd:main": "./lib/index.umd.js", @@ -42,15 +42,15 @@ "@microsoft/api-extractor": "^7.13.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.3.0", + "mocha": "^9.0.0", "nyc": "^15.1.0", - "ts-node": "^9.1.1", + "ts-node": "^10.0.0", "typedoc": "^0.20.30", - "typescript": "^4.2.3" + "typescript": "4.2.4" }, "dependencies": { - "@thi.ng/api": "^7.1.4", - "@thi.ng/dgraph": "^1.3.20" + "@thi.ng/api": "^7.1.5", + "@thi.ng/dgraph": "^1.3.24" }, "files": [ "*.js", @@ -64,6 +64,7 @@ "dependency", "graph", "injection", + "sort", "topology", "typescript" ], diff --git a/packages/system/tpl.readme.md b/packages/system/tpl.readme.md index 94888c550b..5d012cffd5 100644 --- a/packages/system/tpl.readme.md +++ b/packages/system/tpl.readme.md @@ -58,17 +58,20 @@ interface FooSys { } // Step 2: Provide component implementations -// Components can be classes or any object implementing the +// Components can be classes or any object implementing the (fully optional) // `ILifecycle` interface... class Logger implements ILifecycle { + info(msg: string) { console.log(`[info] ${msg}`); } + async start() { this.info("start logger"); return true; } + async stop() { this.info("stop logger"); return true; @@ -78,12 +81,14 @@ class Logger implements ILifecycle { // DB requires a logger & cache class DB implements ILifecycle { + constructor(protected logger: Logger, protected cache: Cache) {} async start() { this.logger.info("start db"); return true; } + async stop() { this.logger.info("stop db"); return true; @@ -91,12 +96,14 @@ class DB implements ILifecycle { } class Cache implements ILifecycle { + constructor(protected logger: Logger) {} async start() { this.logger.info("start cache"); return true; } + async stop() { this.logger.info("stop cache"); return true; @@ -120,7 +127,6 @@ const FOO = defSystem({ factory: ({ logger }) => new Cache(logger), deps: ["logger"], }, - dummy: { factory: ({ logger }) => ({ async start() { @@ -156,12 +162,16 @@ FOO.reset(); ### System visualization -In order for a `System` to initialize its components in the correct order, an internal [dependency graph](https://github.com/thi-ng/umbrella/tree/develop/packages/dgraph) is constructed. This graph not required any further after system construction, however can be useful for debugging and documentation purposes. +For a `System` to initialize its components in the correct order, an internal +[dependency +graph](https://github.com/thi-ng/umbrella/tree/develop/packages/dgraph) is +constructed. This graph is not required any further after system construction, +though can be useful for debugging and documentation purposes. For example, we can utilize the [@thi.ng/dgraph-dot](https://github.com/thi-ng/umbrella/tree/develop/packages/dgraph-dot) -package to create [Graphviz](https://graphviz.org) source file to -visualize the dependencies between the system's components. +package to generate a [Graphviz](https://graphviz.org) source file to visualize +the dependencies between the system's components. ```ts import { toDot } from "@thi.ng/dgraph-dot"; diff --git a/packages/text-canvas/CHANGELOG.md b/packages/text-canvas/CHANGELOG.md index 28ac128453..4f7f1d06d1 100644 --- a/packages/text-canvas/CHANGELOG.md +++ b/packages/text-canvas/CHANGELOG.md @@ -3,7 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [0.7.5](https://github.com/thi-ng/umbrella/compare/@thi.ng/text-canvas@0.7.4...@thi.ng/text-canvas@0.7.5) (2021-04-03) +## [0.7.9](https://github.com/thi-ng/umbrella/compare/@thi.ng/text-canvas@0.7.8...@thi.ng/text-canvas@0.7.9) (2021-06-08) **Note:** Version bump only for package @thi.ng/text-canvas @@ -22,30 +22,6 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline -## [0.7.3](https://github.com/thi-ng/umbrella/compare/@thi.ng/text-canvas@0.7.2...@thi.ng/text-canvas@0.7.3) (2021-03-30) - -**Note:** Version bump only for package @thi.ng/text-canvas - - - - - -## [0.7.2](https://github.com/thi-ng/umbrella/compare/@thi.ng/text-canvas@0.7.1...@thi.ng/text-canvas@0.7.2) (2021-03-28) - -**Note:** Version bump only for package @thi.ng/text-canvas - - - - - -## [0.7.1](https://github.com/thi-ng/umbrella/compare/@thi.ng/text-canvas@0.7.0...@thi.ng/text-canvas@0.7.1) (2021-03-27) - -**Note:** Version bump only for package @thi.ng/text-canvas - - - - - # [0.7.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/text-canvas@0.6.0...@thi.ng/text-canvas@0.7.0) (2021-03-26) @@ -74,14 +50,6 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline -## [0.5.1](https://github.com/thi-ng/umbrella/compare/@thi.ng/text-canvas@0.5.0...@thi.ng/text-canvas@0.5.1) (2021-03-24) - -**Note:** Version bump only for package @thi.ng/text-canvas - - - - - # [0.5.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/text-canvas@0.4.12...@thi.ng/text-canvas@0.5.0) (2021-03-24) @@ -94,22 +62,6 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline -## [0.4.12](https://github.com/thi-ng/umbrella/compare/@thi.ng/text-canvas@0.4.11...@thi.ng/text-canvas@0.4.12) (2021-03-17) - -**Note:** Version bump only for package @thi.ng/text-canvas - - - - - -## [0.4.11](https://github.com/thi-ng/umbrella/compare/@thi.ng/text-canvas@0.4.10...@thi.ng/text-canvas@0.4.11) (2021-03-12) - -**Note:** Version bump only for package @thi.ng/text-canvas - - - - - ## [0.4.1](https://github.com/thi-ng/umbrella/compare/@thi.ng/text-canvas@0.4.0...@thi.ng/text-canvas@0.4.1) (2021-01-10) diff --git a/packages/text-canvas/package.json b/packages/text-canvas/package.json index 04e3268cfe..35b0bc4cb5 100644 --- a/packages/text-canvas/package.json +++ b/packages/text-canvas/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/text-canvas", - "version": "0.7.5", + "version": "0.7.9", "description": "Text based canvas, drawing, tables with arbitrary formatting (incl. ANSI/HTML)", "module": "./index.js", "main": "./lib/index.js", @@ -42,21 +42,21 @@ "@microsoft/api-extractor": "^7.13.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.3.0", + "mocha": "^9.0.0", "nyc": "^15.1.0", - "ts-node": "^9.1.1", + "ts-node": "^10.0.0", "typedoc": "^0.20.30", - "typescript": "^4.2.3" + "typescript": "4.2.4" }, "dependencies": { - "@thi.ng/api": "^7.1.4", - "@thi.ng/arrays": "^0.10.10", - "@thi.ng/checks": "^2.9.6", - "@thi.ng/geom-clip-line": "^1.2.31", - "@thi.ng/math": "^3.4.0", - "@thi.ng/memoize": "^2.1.14", - "@thi.ng/strings": "^2.1.0", - "@thi.ng/transducers": "^7.6.10" + "@thi.ng/api": "^7.1.5", + "@thi.ng/arrays": "^0.10.12", + "@thi.ng/checks": "^2.9.7", + "@thi.ng/geom-clip-line": "^1.2.35", + "@thi.ng/math": "^4.0.1", + "@thi.ng/memoize": "^2.1.15", + "@thi.ng/strings": "^2.1.1", + "@thi.ng/transducers": "^7.7.3" }, "files": [ "*.js", diff --git a/packages/transducers-binary/CHANGELOG.md b/packages/transducers-binary/CHANGELOG.md index d1e657b54c..3513cb41d0 100644 --- a/packages/transducers-binary/CHANGELOG.md +++ b/packages/transducers-binary/CHANGELOG.md @@ -3,39 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [0.6.16](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers-binary@0.6.15...@thi.ng/transducers-binary@0.6.16) (2021-04-03) - -**Note:** Version bump only for package @thi.ng/transducers-binary - - - - - -## [0.6.15](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers-binary@0.6.14...@thi.ng/transducers-binary@0.6.15) (2021-03-28) - -**Note:** Version bump only for package @thi.ng/transducers-binary - - - - - -## [0.6.14](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers-binary@0.6.13...@thi.ng/transducers-binary@0.6.14) (2021-03-27) - -**Note:** Version bump only for package @thi.ng/transducers-binary - - - - - -## [0.6.13](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers-binary@0.6.12...@thi.ng/transducers-binary@0.6.13) (2021-03-17) - -**Note:** Version bump only for package @thi.ng/transducers-binary - - - - - -## [0.6.12](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers-binary@0.6.11...@thi.ng/transducers-binary@0.6.12) (2021-03-12) +## [0.6.20](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers-binary@0.6.19...@thi.ng/transducers-binary@0.6.20) (2021-06-08) **Note:** Version bump only for package @thi.ng/transducers-binary diff --git a/packages/transducers-binary/package.json b/packages/transducers-binary/package.json index 32cf9e79c6..54f04d0c0e 100644 --- a/packages/transducers-binary/package.json +++ b/packages/transducers-binary/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/transducers-binary", - "version": "0.6.16", + "version": "0.6.20", "description": "Binary data related transducers & reducers", "module": "./index.js", "main": "./lib/index.js", @@ -42,19 +42,19 @@ "@microsoft/api-extractor": "^7.13.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.3.0", + "mocha": "^9.0.0", "nyc": "^15.1.0", - "ts-node": "^9.1.1", + "ts-node": "^10.0.0", "typedoc": "^0.20.30", - "typescript": "^4.2.3" + "typescript": "4.2.4" }, "dependencies": { - "@thi.ng/binary": "^2.2.4", - "@thi.ng/compose": "^1.4.30", - "@thi.ng/errors": "^1.3.0", - "@thi.ng/hex": "^0.2.5", - "@thi.ng/random": "^2.3.7", - "@thi.ng/transducers": "^7.6.10" + "@thi.ng/binary": "^2.2.5", + "@thi.ng/compose": "^1.4.31", + "@thi.ng/errors": "^1.3.1", + "@thi.ng/hex": "^0.2.6", + "@thi.ng/random": "^2.4.1", + "@thi.ng/transducers": "^7.7.3" }, "files": [ "*.js", diff --git a/packages/transducers-fsm/CHANGELOG.md b/packages/transducers-fsm/CHANGELOG.md index fe703237ad..ecf6f616a9 100644 --- a/packages/transducers-fsm/CHANGELOG.md +++ b/packages/transducers-fsm/CHANGELOG.md @@ -3,39 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [1.1.59](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers-fsm@1.1.58...@thi.ng/transducers-fsm@1.1.59) (2021-04-03) - -**Note:** Version bump only for package @thi.ng/transducers-fsm - - - - - -## [1.1.58](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers-fsm@1.1.57...@thi.ng/transducers-fsm@1.1.58) (2021-03-28) - -**Note:** Version bump only for package @thi.ng/transducers-fsm - - - - - -## [1.1.57](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers-fsm@1.1.56...@thi.ng/transducers-fsm@1.1.57) (2021-03-27) - -**Note:** Version bump only for package @thi.ng/transducers-fsm - - - - - -## [1.1.56](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers-fsm@1.1.55...@thi.ng/transducers-fsm@1.1.56) (2021-03-17) - -**Note:** Version bump only for package @thi.ng/transducers-fsm - - - - - -## [1.1.55](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers-fsm@1.1.54...@thi.ng/transducers-fsm@1.1.55) (2021-03-12) +## [1.1.63](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers-fsm@1.1.62...@thi.ng/transducers-fsm@1.1.63) (2021-06-08) **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 d76cb4fcd9..f91e38ff8b 100644 --- a/packages/transducers-fsm/package.json +++ b/packages/transducers-fsm/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/transducers-fsm", - "version": "1.1.59", + "version": "1.1.63", "description": "Transducer-based Finite State Machine transformer", "module": "./index.js", "main": "./lib/index.js", @@ -42,15 +42,15 @@ "@microsoft/api-extractor": "^7.13.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.3.0", + "mocha": "^9.0.0", "nyc": "^15.1.0", - "ts-node": "^9.1.1", + "ts-node": "^10.0.0", "typedoc": "^0.20.30", - "typescript": "^4.2.3" + "typescript": "4.2.4" }, "dependencies": { - "@thi.ng/api": "^7.1.4", - "@thi.ng/transducers": "^7.6.10" + "@thi.ng/api": "^7.1.5", + "@thi.ng/transducers": "^7.7.3" }, "files": [ "*.js", diff --git a/packages/transducers-hdom/CHANGELOG.md b/packages/transducers-hdom/CHANGELOG.md index 0403406edb..d1ea9a9f9a 100644 --- a/packages/transducers-hdom/CHANGELOG.md +++ b/packages/transducers-hdom/CHANGELOG.md @@ -3,39 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [2.0.91](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers-hdom@2.0.90...@thi.ng/transducers-hdom@2.0.91) (2021-04-03) - -**Note:** Version bump only for package @thi.ng/transducers-hdom - - - - - -## [2.0.90](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers-hdom@2.0.89...@thi.ng/transducers-hdom@2.0.90) (2021-03-28) - -**Note:** Version bump only for package @thi.ng/transducers-hdom - - - - - -## [2.0.89](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers-hdom@2.0.88...@thi.ng/transducers-hdom@2.0.89) (2021-03-27) - -**Note:** Version bump only for package @thi.ng/transducers-hdom - - - - - -## [2.0.88](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers-hdom@2.0.87...@thi.ng/transducers-hdom@2.0.88) (2021-03-17) - -**Note:** Version bump only for package @thi.ng/transducers-hdom - - - - - -## [2.0.87](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers-hdom@2.0.86...@thi.ng/transducers-hdom@2.0.87) (2021-03-12) +## [2.0.95](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers-hdom@2.0.94...@thi.ng/transducers-hdom@2.0.95) (2021-06-08) **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 6b07fbb108..116849f0c9 100644 --- a/packages/transducers-hdom/package.json +++ b/packages/transducers-hdom/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/transducers-hdom", - "version": "2.0.91", + "version": "2.0.95", "description": "Transducer based UI updater for @thi.ng/hdom", "module": "./index.js", "main": "./lib/index.js", @@ -42,16 +42,16 @@ "@microsoft/api-extractor": "^7.13.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.3.0", + "mocha": "^9.0.0", "nyc": "^15.1.0", - "ts-node": "^9.1.1", + "ts-node": "^10.0.0", "typedoc": "^0.20.30", - "typescript": "^4.2.3" + "typescript": "4.2.4" }, "dependencies": { - "@thi.ng/hdom": "^8.2.25", - "@thi.ng/hiccup": "^3.6.15", - "@thi.ng/transducers": "^7.6.10" + "@thi.ng/hdom": "^8.2.26", + "@thi.ng/hiccup": "^3.6.16", + "@thi.ng/transducers": "^7.7.3" }, "files": [ "*.js", diff --git a/packages/transducers-patch/CHANGELOG.md b/packages/transducers-patch/CHANGELOG.md index e05b718d37..71302b5eb7 100644 --- a/packages/transducers-patch/CHANGELOG.md +++ b/packages/transducers-patch/CHANGELOG.md @@ -3,39 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [0.2.16](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers-patch@0.2.15...@thi.ng/transducers-patch@0.2.16) (2021-04-03) - -**Note:** Version bump only for package @thi.ng/transducers-patch - - - - - -## [0.2.15](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers-patch@0.2.14...@thi.ng/transducers-patch@0.2.15) (2021-03-28) - -**Note:** Version bump only for package @thi.ng/transducers-patch - - - - - -## [0.2.14](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers-patch@0.2.13...@thi.ng/transducers-patch@0.2.14) (2021-03-27) - -**Note:** Version bump only for package @thi.ng/transducers-patch - - - - - -## [0.2.13](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers-patch@0.2.12...@thi.ng/transducers-patch@0.2.13) (2021-03-17) - -**Note:** Version bump only for package @thi.ng/transducers-patch - - - - - -## [0.2.12](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers-patch@0.2.11...@thi.ng/transducers-patch@0.2.12) (2021-03-12) +## [0.2.20](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers-patch@0.2.19...@thi.ng/transducers-patch@0.2.20) (2021-06-08) **Note:** Version bump only for package @thi.ng/transducers-patch diff --git a/packages/transducers-patch/package.json b/packages/transducers-patch/package.json index 422e61246b..0ab628d747 100644 --- a/packages/transducers-patch/package.json +++ b/packages/transducers-patch/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/transducers-patch", - "version": "0.2.16", + "version": "0.2.20", "description": "Reducers for patch-based, immutable-by-default array & object editing", "module": "./index.js", "main": "./lib/index.js", @@ -42,18 +42,18 @@ "@microsoft/api-extractor": "^7.13.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.3.0", + "mocha": "^9.0.0", "nyc": "^15.1.0", - "ts-node": "^9.1.1", + "ts-node": "^10.0.0", "typedoc": "^0.20.30", - "typescript": "^4.2.3" + "typescript": "4.2.4" }, "dependencies": { - "@thi.ng/api": "^7.1.4", - "@thi.ng/checks": "^2.9.6", - "@thi.ng/errors": "^1.3.0", - "@thi.ng/paths": "^4.2.7", - "@thi.ng/transducers": "^7.6.10" + "@thi.ng/api": "^7.1.5", + "@thi.ng/checks": "^2.9.7", + "@thi.ng/errors": "^1.3.1", + "@thi.ng/paths": "^4.2.8", + "@thi.ng/transducers": "^7.7.3" }, "files": [ "*.js", diff --git a/packages/transducers-stats/CHANGELOG.md b/packages/transducers-stats/CHANGELOG.md index 5b83938971..5c318f38a0 100644 --- a/packages/transducers-stats/CHANGELOG.md +++ b/packages/transducers-stats/CHANGELOG.md @@ -3,39 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [1.1.60](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers-stats@1.1.59...@thi.ng/transducers-stats@1.1.60) (2021-04-03) - -**Note:** Version bump only for package @thi.ng/transducers-stats - - - - - -## [1.1.59](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers-stats@1.1.58...@thi.ng/transducers-stats@1.1.59) (2021-03-28) - -**Note:** Version bump only for package @thi.ng/transducers-stats - - - - - -## [1.1.58](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers-stats@1.1.57...@thi.ng/transducers-stats@1.1.58) (2021-03-27) - -**Note:** Version bump only for package @thi.ng/transducers-stats - - - - - -## [1.1.57](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers-stats@1.1.56...@thi.ng/transducers-stats@1.1.57) (2021-03-17) - -**Note:** Version bump only for package @thi.ng/transducers-stats - - - - - -## [1.1.56](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers-stats@1.1.55...@thi.ng/transducers-stats@1.1.56) (2021-03-12) +## [1.1.64](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers-stats@1.1.63...@thi.ng/transducers-stats@1.1.64) (2021-06-08) **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 49ca3cd236..80bad43986 100644 --- a/packages/transducers-stats/package.json +++ b/packages/transducers-stats/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/transducers-stats", - "version": "1.1.60", + "version": "1.1.64", "description": "Transducers for statistical / technical analysis", "module": "./index.js", "main": "./lib/index.js", @@ -42,17 +42,17 @@ "@microsoft/api-extractor": "^7.13.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.3.0", + "mocha": "^9.0.0", "nyc": "^15.1.0", - "ts-node": "^9.1.1", + "ts-node": "^10.0.0", "typedoc": "^0.20.30", - "typescript": "^4.2.3" + "typescript": "4.2.4" }, "dependencies": { - "@thi.ng/checks": "^2.9.6", - "@thi.ng/dcons": "^2.3.20", - "@thi.ng/errors": "^1.3.0", - "@thi.ng/transducers": "^7.6.10" + "@thi.ng/checks": "^2.9.7", + "@thi.ng/dcons": "^2.3.24", + "@thi.ng/errors": "^1.3.1", + "@thi.ng/transducers": "^7.7.3" }, "files": [ "*.js", diff --git a/packages/transducers/CHANGELOG.md b/packages/transducers/CHANGELOG.md index 634d8da2d7..1369c7e60d 100644 --- a/packages/transducers/CHANGELOG.md +++ b/packages/transducers/CHANGELOG.md @@ -3,7 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [7.6.10](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers@7.6.9...@thi.ng/transducers@7.6.10) (2021-04-03) +## [7.7.3](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers@7.7.2...@thi.ng/transducers@7.7.3) (2021-06-08) **Note:** Version bump only for package @thi.ng/transducers @@ -11,33 +11,12 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline -## [7.6.9](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers@7.6.8...@thi.ng/transducers@7.6.9) (2021-03-28) - -**Note:** Version bump only for package @thi.ng/transducers - - - - - -## [7.6.8](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers@7.6.7...@thi.ng/transducers@7.6.8) (2021-03-27) - -**Note:** Version bump only for package @thi.ng/transducers - - +# [7.7.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers@7.6.10...@thi.ng/transducers@7.7.0) (2021-04-07) +### Features -## [7.6.7](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers@7.6.6...@thi.ng/transducers@7.6.7) (2021-03-17) - -**Note:** Version bump only for package @thi.ng/transducers - - - - - -## [7.6.6](https://github.com/thi-ng/umbrella/compare/@thi.ng/transducers@7.6.5...@thi.ng/transducers@7.6.6) (2021-03-12) - -**Note:** Version bump only for package @thi.ng/transducers +* **transducers:** add partitionWhen() xform ([d2dd4d9](https://github.com/thi-ng/umbrella/commit/d2dd4d92895622bfa38d8458472d86f9e89e8952)) diff --git a/packages/transducers/README.md b/packages/transducers/README.md index 69ed5f2031..809de5a1c9 100644 --- a/packages/transducers/README.md +++ b/packages/transducers/README.md @@ -169,7 +169,7 @@ yarn add @thi.ng/transducers ``` -Package sizes (gzipped, pre-treeshake): ESM: 8.37 KB / CJS: 8.93 KB / UMD: 8.08 KB +Package sizes (gzipped, pre-treeshake): ESM: 8.40 KB / CJS: 8.96 KB / UMD: 8.14 KB ## Dependencies @@ -879,6 +879,7 @@ tx.transduce(tx.map((x) => x*10), tx.push(), tx.range(4)) - [partitionSort](https://github.com/thi-ng/umbrella/tree/develop/packages/transducers/src/xform/partition-sort.ts) - [partitionSync](https://github.com/thi-ng/umbrella/tree/develop/packages/transducers/src/xform/partition-sync.ts) - [partitionTime](https://github.com/thi-ng/umbrella/tree/develop/packages/transducers/src/xform/partition-time.ts) +- [partitionWhen](https://github.com/thi-ng/umbrella/tree/develop/packages/transducers/src/xform/partition-when.ts) - [partition](https://github.com/thi-ng/umbrella/tree/develop/packages/transducers/src/xform/partition.ts) - [peek](https://github.com/thi-ng/umbrella/tree/develop/packages/transducers/src/xform/peek.ts) - [pluck](https://github.com/thi-ng/umbrella/tree/develop/packages/transducers/src/xform/pluck.ts) diff --git a/packages/transducers/package.json b/packages/transducers/package.json index a5aec4306e..3276229d88 100644 --- a/packages/transducers/package.json +++ b/packages/transducers/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/transducers", - "version": "7.6.10", + "version": "7.7.3", "description": "Lightweight transducer implementations for ES6 / TypeScript", "module": "./index.js", "main": "./lib/index.js", @@ -42,21 +42,21 @@ "@microsoft/api-extractor": "^7.13.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.3.0", + "mocha": "^9.0.0", "nyc": "^15.1.0", - "ts-node": "^9.1.1", + "ts-node": "^10.0.0", "typedoc": "^0.20.30", - "typescript": "^4.2.3" + "typescript": "4.2.4" }, "dependencies": { - "@thi.ng/api": "^7.1.4", - "@thi.ng/arrays": "^0.10.10", - "@thi.ng/checks": "^2.9.6", - "@thi.ng/compare": "^1.3.28", - "@thi.ng/compose": "^1.4.30", - "@thi.ng/errors": "^1.3.0", - "@thi.ng/math": "^3.4.0", - "@thi.ng/random": "^2.3.7" + "@thi.ng/api": "^7.1.5", + "@thi.ng/arrays": "^0.10.12", + "@thi.ng/checks": "^2.9.7", + "@thi.ng/compare": "^1.3.29", + "@thi.ng/compose": "^1.4.31", + "@thi.ng/errors": "^1.3.1", + "@thi.ng/math": "^4.0.1", + "@thi.ng/random": "^2.4.1" }, "files": [ "*.js", diff --git a/packages/transducers/src/index.ts b/packages/transducers/src/index.ts index d264a944ba..6dedbe216c 100644 --- a/packages/transducers/src/index.ts +++ b/packages/transducers/src/index.ts @@ -81,6 +81,7 @@ export * from "./xform/partition-of"; export * from "./xform/partition-sort"; export * from "./xform/partition-sync"; export * from "./xform/partition-time"; +export * from "./xform/partition-when"; export * from "./xform/partition"; export * from "./xform/peek"; export * from "./xform/pluck"; diff --git a/packages/transducers/src/xform/partition-when.ts b/packages/transducers/src/xform/partition-when.ts new file mode 100644 index 0000000000..e2e3acd4a9 --- /dev/null +++ b/packages/transducers/src/xform/partition-when.ts @@ -0,0 +1,61 @@ +import type { Predicate } from "@thi.ng/api"; +import type { Reducer, Transducer } from "../api"; +import { $iter, iterator } from "../iterator"; +import { isReduced } from "../reduced"; + +/** + * Transducer. Applies given predicate `pred` to each incoming value and + * collects values until the return value of the `fn` is truthy. Once this + * happens yields chunk of buffered values. + * + * @example + * ```ts + * [...partitionWhen((x) => !!x, [0, 1, 0, 0, 1, 1, 0, 1])] + * // [ [ 0 ], [ 1, 0, 0 ], [ 1 ], [ 1, 0 ], [ 1 ] ] + * ``` + * + * @param pred - + * @param stateful - + */ +export function partitionWhen( + pred: Predicate | (() => Predicate), + stateful?: boolean +): Transducer; +export function partitionWhen( + pred: Predicate | (() => Predicate), + src: Iterable +): IterableIterator; +export function partitionWhen( + pred: Predicate | (() => Predicate), + stateful: boolean, + src: Iterable +): IterableIterator; +export function partitionWhen(...args: any[]): any { + return ( + $iter(partitionWhen, args, iterator) || + (([init, complete, reduce]: Reducer) => { + const pred: Predicate | (() => Predicate) = args[0]; + const f = args[1] === true ? (<() => Predicate>pred)() : pred; + let chunk: T[] | null; + return >[ + init, + (acc) => { + if (chunk && chunk.length) { + acc = reduce(acc, chunk); + chunk = null; + } + return complete(acc); + }, + (acc, x) => { + if (f(x)) { + chunk && (acc = reduce(acc, chunk)); + chunk = isReduced(acc) ? null : [x]; + } else { + chunk ? chunk.push(x) : (chunk = [x]); + } + return acc; + }, + ]; + }) + ); +} diff --git a/packages/transducers/tpl.readme.md b/packages/transducers/tpl.readme.md index c26d456a23..decfe3dc11 100644 --- a/packages/transducers/tpl.readme.md +++ b/packages/transducers/tpl.readme.md @@ -751,6 +751,7 @@ tx.transduce(tx.map((x) => x*10), tx.push(), tx.range(4)) - [partitionSort](https://github.com/thi-ng/umbrella/tree/develop/packages/transducers/src/xform/partition-sort.ts) - [partitionSync](https://github.com/thi-ng/umbrella/tree/develop/packages/transducers/src/xform/partition-sync.ts) - [partitionTime](https://github.com/thi-ng/umbrella/tree/develop/packages/transducers/src/xform/partition-time.ts) +- [partitionWhen](https://github.com/thi-ng/umbrella/tree/develop/packages/transducers/src/xform/partition-when.ts) - [partition](https://github.com/thi-ng/umbrella/tree/develop/packages/transducers/src/xform/partition.ts) - [peek](https://github.com/thi-ng/umbrella/tree/develop/packages/transducers/src/xform/peek.ts) - [pluck](https://github.com/thi-ng/umbrella/tree/develop/packages/transducers/src/xform/pluck.ts) diff --git a/packages/unionstruct/CHANGELOG.md b/packages/unionstruct/CHANGELOG.md index 3ef38108bc..98975d9ed9 100644 --- a/packages/unionstruct/CHANGELOG.md +++ b/packages/unionstruct/CHANGELOG.md @@ -3,7 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [1.1.35](https://github.com/thi-ng/umbrella/compare/@thi.ng/unionstruct@1.1.34...@thi.ng/unionstruct@1.1.35) (2021-03-12) +## [1.1.36](https://github.com/thi-ng/umbrella/compare/@thi.ng/unionstruct@1.1.35...@thi.ng/unionstruct@1.1.36) (2021-06-08) **Note:** Version bump only for package @thi.ng/unionstruct diff --git a/packages/unionstruct/package.json b/packages/unionstruct/package.json index 329f4bb4ed..86eaa15506 100644 --- a/packages/unionstruct/package.json +++ b/packages/unionstruct/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/unionstruct", - "version": "1.1.35", + "version": "1.1.36", "description": "C-style struct, union and bitfield read/write views of ArrayBuffers", "module": "./index.js", "main": "./lib/index.js", @@ -42,11 +42,11 @@ "@microsoft/api-extractor": "^7.13.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.3.0", + "mocha": "^9.0.0", "nyc": "^15.1.0", - "ts-node": "^9.1.1", + "ts-node": "^10.0.0", "typedoc": "^0.20.30", - "typescript": "^4.2.3" + "typescript": "4.2.4" }, "files": [ "*.js", diff --git a/packages/vclock/CHANGELOG.md b/packages/vclock/CHANGELOG.md index 01bcc44ac7..19f11bf995 100644 --- a/packages/vclock/CHANGELOG.md +++ b/packages/vclock/CHANGELOG.md @@ -3,7 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [0.1.9](https://github.com/thi-ng/umbrella/compare/@thi.ng/vclock@0.1.8...@thi.ng/vclock@0.1.9) (2021-03-12) +## [0.1.10](https://github.com/thi-ng/umbrella/compare/@thi.ng/vclock@0.1.9...@thi.ng/vclock@0.1.10) (2021-06-08) **Note:** Version bump only for package @thi.ng/vclock diff --git a/packages/vclock/package.json b/packages/vclock/package.json index 9d5c31b9ff..c9b1973ae1 100644 --- a/packages/vclock/package.json +++ b/packages/vclock/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/vclock", - "version": "0.1.9", + "version": "0.1.10", "description": "Vector clock functions for synchronizing distributed states & processes", "module": "./index.js", "main": "./lib/index.js", @@ -42,14 +42,14 @@ "@microsoft/api-extractor": "^7.13.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.3.0", + "mocha": "^9.0.0", "nyc": "^15.1.0", - "ts-node": "^9.1.1", + "ts-node": "^10.0.0", "typedoc": "^0.20.30", - "typescript": "^4.2.3" + "typescript": "4.2.4" }, "dependencies": { - "@thi.ng/api": "^7.1.4" + "@thi.ng/api": "^7.1.5" }, "files": [ "*.js", diff --git a/packages/vector-pools/CHANGELOG.md b/packages/vector-pools/CHANGELOG.md index 434d69be3c..90727310b0 100644 --- a/packages/vector-pools/CHANGELOG.md +++ b/packages/vector-pools/CHANGELOG.md @@ -3,47 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [2.0.11](https://github.com/thi-ng/umbrella/compare/@thi.ng/vector-pools@2.0.10...@thi.ng/vector-pools@2.0.11) (2021-04-03) - -**Note:** Version bump only for package @thi.ng/vector-pools - - - - - -## [2.0.10](https://github.com/thi-ng/umbrella/compare/@thi.ng/vector-pools@2.0.9...@thi.ng/vector-pools@2.0.10) (2021-03-30) - -**Note:** Version bump only for package @thi.ng/vector-pools - - - - - -## [2.0.9](https://github.com/thi-ng/umbrella/compare/@thi.ng/vector-pools@2.0.8...@thi.ng/vector-pools@2.0.9) (2021-03-28) - -**Note:** Version bump only for package @thi.ng/vector-pools - - - - - -## [2.0.8](https://github.com/thi-ng/umbrella/compare/@thi.ng/vector-pools@2.0.7...@thi.ng/vector-pools@2.0.8) (2021-03-27) - -**Note:** Version bump only for package @thi.ng/vector-pools - - - - - -## [2.0.7](https://github.com/thi-ng/umbrella/compare/@thi.ng/vector-pools@2.0.6...@thi.ng/vector-pools@2.0.7) (2021-03-17) - -**Note:** Version bump only for package @thi.ng/vector-pools - - - - - -## [2.0.6](https://github.com/thi-ng/umbrella/compare/@thi.ng/vector-pools@2.0.5...@thi.ng/vector-pools@2.0.6) (2021-03-12) +## [2.0.15](https://github.com/thi-ng/umbrella/compare/@thi.ng/vector-pools@2.0.14...@thi.ng/vector-pools@2.0.15) (2021-06-08) **Note:** Version bump only for package @thi.ng/vector-pools diff --git a/packages/vector-pools/package.json b/packages/vector-pools/package.json index 338fee9c0b..8ec839d286 100644 --- a/packages/vector-pools/package.json +++ b/packages/vector-pools/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/vector-pools", - "version": "2.0.11", + "version": "2.0.15", "description": "Data structures for managing & working with strided, memory mapped vectors", "module": "./index.js", "main": "./lib/index.js", @@ -42,19 +42,19 @@ "@microsoft/api-extractor": "^7.13.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.3.0", + "mocha": "^9.0.0", "nyc": "^15.1.0", - "ts-node": "^9.1.1", + "ts-node": "^10.0.0", "typedoc": "^0.20.30", - "typescript": "^4.2.3" + "typescript": "4.2.4" }, "dependencies": { - "@thi.ng/api": "^7.1.4", - "@thi.ng/binary": "^2.2.4", - "@thi.ng/checks": "^2.9.6", - "@thi.ng/malloc": "^5.0.7", - "@thi.ng/transducers": "^7.6.10", - "@thi.ng/vectors": "^5.2.1" + "@thi.ng/api": "^7.1.5", + "@thi.ng/binary": "^2.2.5", + "@thi.ng/checks": "^2.9.7", + "@thi.ng/malloc": "^5.0.8", + "@thi.ng/transducers": "^7.7.3", + "@thi.ng/vectors": "^6.0.1" }, "files": [ "*.js", diff --git a/packages/vectors/CHANGELOG.md b/packages/vectors/CHANGELOG.md index 4e1caff50c..64e618d825 100644 --- a/packages/vectors/CHANGELOG.md +++ b/packages/vectors/CHANGELOG.md @@ -3,52 +3,57 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [5.2.1](https://github.com/thi-ng/umbrella/compare/@thi.ng/vectors@5.2.0...@thi.ng/vectors@5.2.1) (2021-04-03) - -**Note:** Version bump only for package @thi.ng/vectors - +## [6.0.1](https://github.com/thi-ng/umbrella/compare/@thi.ng/vectors@6.0.0...@thi.ng/vectors@6.0.1) (2021-06-08) +### Bug Fixes +* **vectors:** re-add missing randNorm2/3/4 fns ([0f0e270](https://github.com/thi-ng/umbrella/commit/0f0e270c6f552d66605396e66a967180cc42fdbb)) -# [5.2.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/vectors@5.1.7...@thi.ng/vectors@5.2.0) (2021-03-30) -### Features -* **vectors:** add distHaversine() ([4dcc9cf](https://github.com/thi-ng/umbrella/commit/4dcc9cf8205a4e97c2abf14c6d6cb40949532c94)) +# [6.0.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/vectors@5.3.0...@thi.ng/vectors@6.0.0) (2021-04-24) +### Features +* **vectors:** add/update modulo functions ([81d2e63](https://github.com/thi-ng/umbrella/commit/81d2e63f12f87893b9e53d070260bb6c9b9f0dcd)) -## [5.1.7](https://github.com/thi-ng/umbrella/compare/@thi.ng/vectors@5.1.6...@thi.ng/vectors@5.1.7) (2021-03-28) -**Note:** Version bump only for package @thi.ng/vectors +### BREAKING CHANGES +* **vectors:** Introduction of standard libc math functions in thi.ng/math +causes behavior change/flip of existing `fmod()` & `mod()` functions... +- swap `fmod()` <> `mod()` to align w/ their GLSL & libc counterparts +- same goes for `fmodN()` <> `modN()` +- add `remainder()`/ `remainderN()` w/ standard libc behavior +- update doc strings -## [5.1.6](https://github.com/thi-ng/umbrella/compare/@thi.ng/vectors@5.1.5...@thi.ng/vectors@5.1.6) (2021-03-27) -**Note:** Version bump only for package @thi.ng/vectors +# [5.3.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/vectors@5.2.2...@thi.ng/vectors@5.3.0) (2021-04-19) +### Features +* **vectors:** add componentwise median() ([39b5c55](https://github.com/thi-ng/umbrella/commit/39b5c5537f23bf9d9e59da725c89a22714cc0091)) +* **vectors:** replace distHaversine() ([9d9d4e8](https://github.com/thi-ng/umbrella/commit/9d9d4e8f1697ba96755e5fc2fe0cf898ff12b105)) -## [5.1.5](https://github.com/thi-ng/umbrella/compare/@thi.ng/vectors@5.1.4...@thi.ng/vectors@5.1.5) (2021-03-17) -**Note:** Version bump only for package @thi.ng/vectors +# [5.2.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/vectors@5.1.7...@thi.ng/vectors@5.2.0) (2021-03-30) -## [5.1.4](https://github.com/thi-ng/umbrella/compare/@thi.ng/vectors@5.1.3...@thi.ng/vectors@5.1.4) (2021-03-12) +### Features -**Note:** Version bump only for package @thi.ng/vectors +* **vectors:** add distHaversine() ([4dcc9cf](https://github.com/thi-ng/umbrella/commit/4dcc9cf8205a4e97c2abf14c6d6cb40949532c94)) diff --git a/packages/vectors/README.md b/packages/vectors/README.md index 1e9165d2df..5e76c20e49 100644 --- a/packages/vectors/README.md +++ b/packages/vectors/README.md @@ -12,6 +12,7 @@ This project is part of the - [About](#about) - [Features](#features) - [Status](#status) + - [Breaking changes in v6.0.0](#breaking-changes-in-v600) - [Breaking changes in v3.0.0](#breaking-changes-in-v300) - [Related packages](#related-packages) - [Installation](#installation) @@ -117,6 +118,18 @@ Partially ported from [thi.ng/geom-clj](http://thi.ng/geom-clj) (Clojure) and [Search or submit any issues for this package](https://github.com/thi-ng/umbrella/issues?q=%5Bvectors%5D+in%3Atitle) +### Breaking changes in v6.0.0 + +The introduction of seveveral standard [libc math +functions](https://www.cplusplus.com/reference/cmath/) to the +[@thi.ng/math](https://github.com/thi-ng/umbrella/tree/develop/packages/math) +package caused a behavior change of existing `fmod()` function. For symmetry +reasons the same changes have been applied to this package... + +- swap `fmod()` ⇄ `mod()`, to align the latter with its GLSL counterpart +- the new `fmod()` has standard libc behavior (same as JS `%` operator) +- add `remainder()` with standard libc behavior + ### Breaking changes in v3.0.0 - to avoid confusion, the arg order of `madd` and `maddN` functions have @@ -157,7 +170,7 @@ yarn add @thi.ng/vectors ``` -Package sizes (gzipped, pre-treeshake): ESM: 11.46 KB / CJS: 14.42 KB / UMD: 12.71 KB +Package sizes (gzipped, pre-treeshake): ESM: 11.64 KB / CJS: 14.63 KB / UMD: 12.91 KB ## Dependencies @@ -341,15 +354,16 @@ Vanilla vector (array) factories: Component wise op with 2 input vectors: -| Function | Generic | Fixed | Strided | Int | Comments | -|----------|---------|-------|---------|--------------|-----------------| -| `add` | ✓ | 2-4 | S2-S4 | I2-I4, U2-U4 | | -| `div` | ✓ | 2-4 | S2-S4 | I2-I4, U2-U4 | | -| `mul` | ✓ | 2-4 | S2-S4 | I2-I4, U2-U4 | | -| `sub` | ✓ | 2-4 | S2-S4 | I2-I4, U2-U4 | | -| `fmod` | ✓ | 2-4 | | | (GLSL behavior) | -| `mod` | ✓ | 2-4 | | | (JS behavior) | -| `pow` | ✓ | 2-4 | | | | +| Function | Generic | Fixed | Strided | Int | Comments | +|-------------|---------|-------|---------|--------------|-----------------| +| `add` | ✓ | 2-4 | S2-S4 | I2-I4, U2-U4 | | +| `div` | ✓ | 2-4 | S2-S4 | I2-I4, U2-U4 | | +| `mul` | ✓ | 2-4 | S2-S4 | I2-I4, U2-U4 | | +| `sub` | ✓ | 2-4 | S2-S4 | I2-I4, U2-U4 | | +| `fmod` | ✓ | 2-4 | | | (C/JS behavior) | +| `mod` | ✓ | 2-4 | | | (GLSL behavior) | +| `pow` | ✓ | 2-4 | | | | +| `remainder` | ✓ | 2-4 | | | (C behavior) | ```ts // generic @@ -373,17 +387,18 @@ addS2([], [1,0,2,0], [0,10,0,0,0,20], 0, 0, 1, 1, 2, 4) Component wise op with one input vector and single scalar: -| Function | Generic | Fixed | Strided | Int | Comments | -|----------|---------|-------|---------|--------------|----------------------------| -| `addN` | ✓ | 2-4 | S2-S4 | I2-I4, U2-U4 | | -| `divN` | ✓ | 2-4 | S2-S4 | I2-I4, U2-U4 | | -| `mulN` | ✓ | 2-4 | S2-S4 | I2-I4, U2-U4 | | -| `subN` | ✓ | 2-4 | S2-S4 | I2-I4, U2-U4 | | -| `neg` | ✓ | | | | same as `mulN(out, v, -1)` | -| `fmodN` | ✓ | 2-4 | | | (GLSL behavior) | -| `modN` | ✓ | 2-4 | | | (JS behavior) | -| `powN` | ✓ | 2-4 | | | | -| `roundN` | ✓ | 2-4 | | | | +| Function | Generic | Fixed | Strided | Int | Comments | +|--------------|---------|-------|---------|--------------|----------------------------| +| `addN` | ✓ | 2-4 | S2-S4 | I2-I4, U2-U4 | | +| `divN` | ✓ | 2-4 | S2-S4 | I2-I4, U2-U4 | | +| `mulN` | ✓ | 2-4 | S2-S4 | I2-I4, U2-U4 | | +| `subN` | ✓ | 2-4 | S2-S4 | I2-I4, U2-U4 | | +| `neg` | ✓ | | | | same as `mulN(out, v, -1)` | +| `fmodN` | ✓ | 2-4 | | | (C/JS behavior) | +| `modN` | ✓ | 2-4 | | | (GLSL behavior) | +| `powN` | ✓ | 2-4 | | | | +| `remainderN` | ✓ | 2-4 | | | (C behavior) | +| `roundN` | ✓ | 2-4 | | | | ### Combined operations @@ -449,14 +464,15 @@ Component wise op with one input vector and single scalar: ### Distances -| Function | Generic | Fixed | Strided | Int | Comments | -|-----------------|---------|-------|---------|-----|---------------------| -| `dist` | ✓ | | | | | -| `distSq` | ✓ | 2-4 | | | | -| `distChebyshev` | ✓ | 2-4 | | | | -| `distHaversine` | | 2 | | | lon/lat coordinates | -| `distManhattan` | ✓ | 2-4 | | | | -| `pointOnRay` | ✓ | 2-3 | | | point at distance | +| Function | Generic | Fixed | Strided | Int | Comments | +|-----------------------|---------|-------|---------|-----|---------------------| +| `dist` | ✓ | | | | | +| `distSq` | ✓ | 2-4 | | | | +| `distChebyshev` | ✓ | 2-4 | | | | +| `distHaversineLatLon` | | 2 | | | lat/lon coordinates | +| `distHaversineLonLat` | | 2 | | | lon/lat coordinates | +| `distManhattan` | ✓ | 2-4 | | | | +| `pointOnRay` | ✓ | 2-3 | | | point at distance | ### Orientation @@ -518,7 +534,7 @@ All ops support custom PRNG impls based on the |--------------|---------|-------|---------|-----|----------| | `jitter` | ✓ | | | | | | `randMinMax` | ✓ | 2-4 | S2-S4 | | | -| `randNorm` | ✓ | | S2-S4 | | | +| `randNorm` | ✓ | 2-4 | S2-S4 | | | | `random` | ✓ | 2-4 | S2-S4 | | | ### Unary vector math ops diff --git a/packages/vectors/package.json b/packages/vectors/package.json index 044e5d3ec6..df4ec1649e 100644 --- a/packages/vectors/package.json +++ b/packages/vectors/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/vectors", - "version": "5.2.1", + "version": "6.0.1", "description": "Optimized 2d/3d/4d and arbitrary length vector operations", "module": "./index.js", "main": "./lib/index.js", @@ -42,22 +42,22 @@ "@microsoft/api-extractor": "^7.13.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.3.0", + "mocha": "^9.0.0", "nyc": "^15.1.0", - "ts-node": "^9.1.1", + "ts-node": "^10.0.0", "typedoc": "^0.20.30", - "typescript": "^4.2.3" + "typescript": "4.2.4" }, "dependencies": { - "@thi.ng/api": "^7.1.4", - "@thi.ng/binary": "^2.2.4", - "@thi.ng/checks": "^2.9.6", - "@thi.ng/equiv": "^1.0.41", - "@thi.ng/errors": "^1.3.0", - "@thi.ng/math": "^3.4.0", - "@thi.ng/memoize": "^2.1.14", - "@thi.ng/random": "^2.3.7", - "@thi.ng/transducers": "^7.6.10" + "@thi.ng/api": "^7.1.5", + "@thi.ng/binary": "^2.2.5", + "@thi.ng/checks": "^2.9.7", + "@thi.ng/equiv": "^1.0.42", + "@thi.ng/errors": "^1.3.1", + "@thi.ng/math": "^4.0.1", + "@thi.ng/memoize": "^2.1.15", + "@thi.ng/random": "^2.4.1", + "@thi.ng/transducers": "^7.7.3" }, "files": [ "*.js", diff --git a/packages/vectors/src/dist-haversine.ts b/packages/vectors/src/dist-haversine.ts index b251a56a7b..7696498c2e 100644 --- a/packages/vectors/src/dist-haversine.ts +++ b/packages/vectors/src/dist-haversine.ts @@ -1,10 +1,11 @@ +import type { FnN5 } from "@thi.ng/api"; import type { ReadonlyVec } from "./api"; import { radians2 } from "./radians"; /** * Returns distance between 2 points along a great circle on a sphere, using the - * Haversine formula, with each point given as [lon, lat] (in degrees). Uses - * Earth's radius `r=6371` by default, therefore returns distance in km (by + * Haversine formula, with each point given as [lat, lon] (in WGS84 format). + * Uses Earth's radius `r=6371` by default, therefore returns distance in km (by * default). * * @remarks @@ -16,9 +17,41 @@ import { radians2 } from "./radians"; * @param b * @param r */ -export const distHaversine = (a: ReadonlyVec, b: ReadonlyVec, r = 6371) => { - const [lon1, lat1] = radians2([], a); - const [lon2, lat2] = radians2([], b); +export const distHaversineLatLon = ( + a: ReadonlyVec, + b: ReadonlyVec, + r = 6371 +) => { + a = radians2([], a); + b = radians2([], b); + return dist(a[0], a[1], b[0], b[1], r); +}; + +/** + * Same as {@link distHaversineLatLon}, only for coordinates defined in + * [lon,lat] order. + * + * @param a + * @param b + * @param r + * @returns + */ +export const distHaversineLonLat = ( + a: ReadonlyVec, + b: ReadonlyVec, + r = 6371 +) => { + a = radians2([], a); + b = radians2([], b); + return dist(a[1], a[0], b[1], b[0], r); +}; + +/** + * @deprecated use {@link distHaversineLonLat} instead + */ +export const distHaversine = distHaversineLonLat; + +const dist: FnN5 = (lat1, lon1, lat2, lon2, r) => { const dlat = 0.5 - Math.cos(lat2 - lat1) * 0.5; const dlon = (1 - Math.cos(lon2 - lon1)) * 0.5; const combined = dlat + Math.cos(lat1) * Math.cos(lat2) * dlon; diff --git a/packages/vectors/src/fmod.ts b/packages/vectors/src/fmod.ts index 1a1ec2443c..3d8622a9cf 100644 --- a/packages/vectors/src/fmod.ts +++ b/packages/vectors/src/fmod.ts @@ -1,18 +1,15 @@ -import { fmod as _fmod } from "@thi.ng/math"; -import type { MultiVecOpVV, VecOpVV } from "./api"; -import { ARGS_VV, defHofOp } from "./internal/codegen"; -import { FN2 } from "./internal/templates"; +import { defMathOp } from "./internal/codegen"; /** - * This version of mod uses the same logic as in GLSL, whereas {@link mod} - * merely uses JavaScript's `%` modulo operator, yielding different - * results for negative values, i.e. using the sign of the last arg. - * - * `a - b * floor(a/b)` + * Similar to {@link mod}, {@link remainder}. This version of modulo uses the + * same logic as the standard C function `fmod` and/or the JS `%` operator, + * yielding results with the same sign as `a`, i.e. computes `a-b*trunc(a/b)`. * + * @remarks + * **Caution:** Due to the introduction of libc math functions in thi.ng/math + * v4.0.0 and the resulting name/behavior clashes between the modulo logic in + * JS, C & GLSL, this function previously _was_ called `mod`, but going forward + * has been renamed/swapped to align w/ its C version and now exhibits a + * different behavior than the current {@link mod} function. */ -export const [fmod, fmod2, fmod3, fmod4] = defHofOp( - _fmod, - FN2("op"), - ARGS_VV -); +export const [fmod, fmod2, fmod3, fmod4] = defMathOp("%"); diff --git a/packages/vectors/src/fmodn.ts b/packages/vectors/src/fmodn.ts index c56e545e20..00c396f23f 100644 --- a/packages/vectors/src/fmodn.ts +++ b/packages/vectors/src/fmodn.ts @@ -1,15 +1,7 @@ -import { fmod as _fmod } from "@thi.ng/math"; -import type { MultiVecOpVN, VecOpVN } from "./api"; -import { ARGS_V, ARGS_VN, defHofOp } from "./internal/codegen"; -import { FN_N } from "./internal/templates"; +import { defMathOpN } from "./internal/codegen"; /** - * Same as {@link fmod}, but 2nd operand is a single scalar (uniform domain - * for all vector components). + * Same as {@link fmod}, but 2nd operand is a single scalar (uniform domain for + * all vector components). */ -export const [fmodN, fmodN2, fmodN3, fmodN4] = defHofOp( - _fmod, - FN_N("op"), - ARGS_VN, - ARGS_V -); +export const [fmodN, fmodN2, fmodN3, fmodN4] = defMathOpN("%"); diff --git a/packages/vectors/src/index.ts b/packages/vectors/src/index.ts index 428a191740..4893a4d314 100644 --- a/packages/vectors/src/index.ts +++ b/packages/vectors/src/index.ts @@ -101,6 +101,7 @@ export * from "./major"; export * from "./map"; export * from "./map-vectors"; export * from "./max"; +export * from "./median"; export * from "./min"; export * from "./minor"; export * from "./mix-bilinear"; @@ -139,6 +140,8 @@ export * from "./random"; export * from "./randoms"; export * from "./reflect"; export * from "./refract"; +export * from "./remainder"; +export * from "./remaindern"; export * from "./rotate-around-axis"; export * from "./rotate-around-point"; export * from "./rotate"; diff --git a/packages/vectors/src/median.ts b/packages/vectors/src/median.ts new file mode 100644 index 0000000000..cee83109c3 --- /dev/null +++ b/packages/vectors/src/median.ts @@ -0,0 +1,24 @@ +import type { ReadonlyVec, Vec } from "./api"; + +/** + * Takes an array of vectors (of uniform dimensions) and computes the + * componentwise medians (in accordance to the Manhattan-distance formulation of + * the k-medians problem). Writes result to `out` (or a new vector). + * + * @example + * ```ts + * median([], [[3, 10, 400], [4, 30, 100], [1, 40, 200], [2, 20, 300]]) + * // [ 3, 30, 300 ] + * ``` + * + * @param out + * @param src + */ +export const median = (out: Vec | null, src: ReadonlyVec[]) => { + out = out || []; + const m = src.length >> 1; + for (let i = src[0].length; --i >= 0; ) { + out[i] = src.map((x) => x[i]).sort((a, b) => a - b)[m]; + } + return out; +}; diff --git a/packages/vectors/src/mod.ts b/packages/vectors/src/mod.ts index 2909107024..f462ab4e37 100644 --- a/packages/vectors/src/mod.ts +++ b/packages/vectors/src/mod.ts @@ -1,3 +1,24 @@ -import { defMathOp } from "./internal/codegen"; +import { mod as _mod } from "@thi.ng/math"; +import type { MultiVecOpVV, VecOpVV } from "./api"; +import { ARGS_VV, defHofOp } from "./internal/codegen"; +import { FN2 } from "./internal/templates"; -export const [mod, mod2, mod3, mod4] = defMathOp("%"); +/** + * Similar to {@link fmod}, {@link remainder}. This version of modulo uses the + * same logic as in GLSL, yielding different results for negative values, i.e. + * computes `a - b * floor(a/b)` + * + * @remarks + * **Caution:** Due to the introduction of libc math functions in thi.ng/math + * v4.0.0 and the resulting name/behavior clashes between the modulo logic in + * JS, C & GLSL, this function previously _was_ called `fmod`, but going forward + * has been renamed/swapped to align w/ its GLSL version and now exhibits a + * different behavior than the current {@link fmod} function. + * + * https://www.khronos.org/registry/OpenGL-Refpages/gl4/html/mod.xhtml + */ +export const [mod, mod2, mod3, mod4] = defHofOp( + _mod, + FN2("op"), + ARGS_VV +); diff --git a/packages/vectors/src/modn.ts b/packages/vectors/src/modn.ts index 292c7ad803..32316c897e 100644 --- a/packages/vectors/src/modn.ts +++ b/packages/vectors/src/modn.ts @@ -1,3 +1,15 @@ -import { defMathOpN } from "./internal/codegen"; +import { mod as _mod } from "@thi.ng/math"; +import type { MultiVecOpVN, VecOpVN } from "./api"; +import { ARGS_V, ARGS_VN, defHofOp } from "./internal/codegen"; +import { FN_N } from "./internal/templates"; -export const [modN, modN2, modN3, modN4] = defMathOpN("%"); +/** + * Same as {@link mod}, but 2nd operand is a single scalar (uniform domain for + * all vector components). + */ +export const [modN, modN2, modN3, modN4] = defHofOp( + _mod, + FN_N("op"), + ARGS_VN, + ARGS_V +); diff --git a/packages/vectors/src/random.ts b/packages/vectors/src/random.ts index 5856df2bb8..f2e1839df3 100644 --- a/packages/vectors/src/random.ts +++ b/packages/vectors/src/random.ts @@ -27,8 +27,13 @@ export const [random, random2, random3, random4] = defHofOp< "!a && (a=[]);" ); +const $norm = + (random: VecOpOOO) => + (v: Vec | null, n = 1, rnd: IRandom = SYSTEM) => + normalize(random((v = v || []), -1, 1, rnd), v, n); + /** - * Sets `v` to random vector, normalized to length `n` (default: 1). If + * Sets `v` to a random vector, normalized to length `n` (default: 1). If * no `rnd` instance is given, uses {@link @thi.ng/random#SYSTEM}, i.e. * `Math.random`. * @@ -36,8 +41,10 @@ export const [random, random2, random3, random4] = defHofOp< * @param n - * @param rnd - */ -export const randNorm = (v: Vec | null, n = 1, rnd: IRandom = SYSTEM) => - normalize((v = random(v, -1, 1, rnd)), v, n); +export const randNorm = $norm(random); +export const randNorm2 = $norm(random2); +export const randNorm3 = $norm(random3); +export const randNorm4 = $norm(random4); /** * Sets `out` to random vector with each component in the semi-open diff --git a/packages/vectors/src/remainder.ts b/packages/vectors/src/remainder.ts new file mode 100644 index 0000000000..4f47f9a902 --- /dev/null +++ b/packages/vectors/src/remainder.ts @@ -0,0 +1,17 @@ +import { remainder as _remainder } from "@thi.ng/math"; +import type { MultiVecOpVV, VecOpVV } from "./api"; +import { ARGS_VV, defHofOp } from "./internal/codegen"; +import { FN2 } from "./internal/templates"; + +/** + * This version of mod uses the same logic as the standard C function + * `remainder()` (or its equivavalent in the thi.ng/maths package), i.e. + * componentwise `a - b * round(a / b)`. + * + * @remarks + * Also see {@link @thi.ng/math#remainder}. + */ +export const [remainder, remainder2, remainder3, remainder4] = defHofOp< + MultiVecOpVV, + VecOpVV +>(_remainder, FN2("op"), ARGS_VV); diff --git a/packages/vectors/src/remaindern.ts b/packages/vectors/src/remaindern.ts new file mode 100644 index 0000000000..ac53ca591c --- /dev/null +++ b/packages/vectors/src/remaindern.ts @@ -0,0 +1,13 @@ +import { remainder as _remainder } from "@thi.ng/math"; +import type { MultiVecOpVN, VecOpVN } from "./api"; +import { ARGS_V, ARGS_VN, defHofOp } from "./internal/codegen"; +import { FN_N } from "./internal/templates"; + +/** + * Same as {@link remainder}, but 2nd operand is a single scalar (uniform domain + * for all vector components). + */ +export const [remainderN, remainderN2, remainderN3, remainderN4] = defHofOp< + MultiVecOpVN, + VecOpVN +>(_remainder, FN_N("op"), ARGS_VN, ARGS_V); diff --git a/packages/vectors/tpl.readme.md b/packages/vectors/tpl.readme.md index 147a6d8d1a..399463bb34 100644 --- a/packages/vectors/tpl.readme.md +++ b/packages/vectors/tpl.readme.md @@ -73,6 +73,18 @@ Partially ported from [thi.ng/geom-clj](http://thi.ng/geom-clj) (Clojure) and ${status} +### Breaking changes in v6.0.0 + +The introduction of seveveral standard [libc math +functions](https://www.cplusplus.com/reference/cmath/) to the +[@thi.ng/math](https://github.com/thi-ng/umbrella/tree/develop/packages/math) +package caused a behavior change of existing `fmod()` function. For symmetry +reasons the same changes have been applied to this package... + +- swap `fmod()` ⇄ `mod()`, to align the latter with its GLSL counterpart +- the new `fmod()` has standard libc behavior (same as JS `%` operator) +- add `remainder()` with standard libc behavior + ### Breaking changes in v3.0.0 - to avoid confusion, the arg order of `madd` and `maddN` functions have @@ -243,15 +255,16 @@ Vanilla vector (array) factories: Component wise op with 2 input vectors: -| Function | Generic | Fixed | Strided | Int | Comments | -|----------|---------|-------|---------|--------------|-----------------| -| `add` | ✓ | 2-4 | S2-S4 | I2-I4, U2-U4 | | -| `div` | ✓ | 2-4 | S2-S4 | I2-I4, U2-U4 | | -| `mul` | ✓ | 2-4 | S2-S4 | I2-I4, U2-U4 | | -| `sub` | ✓ | 2-4 | S2-S4 | I2-I4, U2-U4 | | -| `fmod` | ✓ | 2-4 | | | (GLSL behavior) | -| `mod` | ✓ | 2-4 | | | (JS behavior) | -| `pow` | ✓ | 2-4 | | | | +| Function | Generic | Fixed | Strided | Int | Comments | +|-------------|---------|-------|---------|--------------|-----------------| +| `add` | ✓ | 2-4 | S2-S4 | I2-I4, U2-U4 | | +| `div` | ✓ | 2-4 | S2-S4 | I2-I4, U2-U4 | | +| `mul` | ✓ | 2-4 | S2-S4 | I2-I4, U2-U4 | | +| `sub` | ✓ | 2-4 | S2-S4 | I2-I4, U2-U4 | | +| `fmod` | ✓ | 2-4 | | | (C/JS behavior) | +| `mod` | ✓ | 2-4 | | | (GLSL behavior) | +| `pow` | ✓ | 2-4 | | | | +| `remainder` | ✓ | 2-4 | | | (C behavior) | ```ts // generic @@ -275,17 +288,18 @@ addS2([], [1,0,2,0], [0,10,0,0,0,20], 0, 0, 1, 1, 2, 4) Component wise op with one input vector and single scalar: -| Function | Generic | Fixed | Strided | Int | Comments | -|----------|---------|-------|---------|--------------|----------------------------| -| `addN` | ✓ | 2-4 | S2-S4 | I2-I4, U2-U4 | | -| `divN` | ✓ | 2-4 | S2-S4 | I2-I4, U2-U4 | | -| `mulN` | ✓ | 2-4 | S2-S4 | I2-I4, U2-U4 | | -| `subN` | ✓ | 2-4 | S2-S4 | I2-I4, U2-U4 | | -| `neg` | ✓ | | | | same as `mulN(out, v, -1)` | -| `fmodN` | ✓ | 2-4 | | | (GLSL behavior) | -| `modN` | ✓ | 2-4 | | | (JS behavior) | -| `powN` | ✓ | 2-4 | | | | -| `roundN` | ✓ | 2-4 | | | | +| Function | Generic | Fixed | Strided | Int | Comments | +|--------------|---------|-------|---------|--------------|----------------------------| +| `addN` | ✓ | 2-4 | S2-S4 | I2-I4, U2-U4 | | +| `divN` | ✓ | 2-4 | S2-S4 | I2-I4, U2-U4 | | +| `mulN` | ✓ | 2-4 | S2-S4 | I2-I4, U2-U4 | | +| `subN` | ✓ | 2-4 | S2-S4 | I2-I4, U2-U4 | | +| `neg` | ✓ | | | | same as `mulN(out, v, -1)` | +| `fmodN` | ✓ | 2-4 | | | (C/JS behavior) | +| `modN` | ✓ | 2-4 | | | (GLSL behavior) | +| `powN` | ✓ | 2-4 | | | | +| `remainderN` | ✓ | 2-4 | | | (C behavior) | +| `roundN` | ✓ | 2-4 | | | | ### Combined operations @@ -351,14 +365,15 @@ Component wise op with one input vector and single scalar: ### Distances -| Function | Generic | Fixed | Strided | Int | Comments | -|-----------------|---------|-------|---------|-----|---------------------| -| `dist` | ✓ | | | | | -| `distSq` | ✓ | 2-4 | | | | -| `distChebyshev` | ✓ | 2-4 | | | | -| `distHaversine` | | 2 | | | lon/lat coordinates | -| `distManhattan` | ✓ | 2-4 | | | | -| `pointOnRay` | ✓ | 2-3 | | | point at distance | +| Function | Generic | Fixed | Strided | Int | Comments | +|-----------------------|---------|-------|---------|-----|---------------------| +| `dist` | ✓ | | | | | +| `distSq` | ✓ | 2-4 | | | | +| `distChebyshev` | ✓ | 2-4 | | | | +| `distHaversineLatLon` | | 2 | | | lat/lon coordinates | +| `distHaversineLonLat` | | 2 | | | lon/lat coordinates | +| `distManhattan` | ✓ | 2-4 | | | | +| `pointOnRay` | ✓ | 2-3 | | | point at distance | ### Orientation @@ -420,7 +435,7 @@ All ops support custom PRNG impls based on the |--------------|---------|-------|---------|-----|----------| | `jitter` | ✓ | | | | | | `randMinMax` | ✓ | 2-4 | S2-S4 | | | -| `randNorm` | ✓ | | S2-S4 | | | +| `randNorm` | ✓ | 2-4 | S2-S4 | | | | `random` | ✓ | 2-4 | S2-S4 | | | ### Unary vector math ops diff --git a/packages/viz/CHANGELOG.md b/packages/viz/CHANGELOG.md index 0062be063d..9151b9ffd4 100644 --- a/packages/viz/CHANGELOG.md +++ b/packages/viz/CHANGELOG.md @@ -3,79 +3,7 @@ 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/viz@0.2.24...@thi.ng/viz@0.2.25) (2021-04-03) - -**Note:** Version bump only for package @thi.ng/viz - - - - - -## [0.2.24](https://github.com/thi-ng/umbrella/compare/@thi.ng/viz@0.2.23...@thi.ng/viz@0.2.24) (2021-03-30) - -**Note:** Version bump only for package @thi.ng/viz - - - - - -## [0.2.23](https://github.com/thi-ng/umbrella/compare/@thi.ng/viz@0.2.22...@thi.ng/viz@0.2.23) (2021-03-28) - -**Note:** Version bump only for package @thi.ng/viz - - - - - -## [0.2.22](https://github.com/thi-ng/umbrella/compare/@thi.ng/viz@0.2.21...@thi.ng/viz@0.2.22) (2021-03-27) - -**Note:** Version bump only for package @thi.ng/viz - - - - - -## [0.2.21](https://github.com/thi-ng/umbrella/compare/@thi.ng/viz@0.2.20...@thi.ng/viz@0.2.21) (2021-03-24) - -**Note:** Version bump only for package @thi.ng/viz - - - - - -## [0.2.20](https://github.com/thi-ng/umbrella/compare/@thi.ng/viz@0.2.19...@thi.ng/viz@0.2.20) (2021-03-24) - -**Note:** Version bump only for package @thi.ng/viz - - - - - -## [0.2.19](https://github.com/thi-ng/umbrella/compare/@thi.ng/viz@0.2.18...@thi.ng/viz@0.2.19) (2021-03-21) - -**Note:** Version bump only for package @thi.ng/viz - - - - - -## [0.2.18](https://github.com/thi-ng/umbrella/compare/@thi.ng/viz@0.2.17...@thi.ng/viz@0.2.18) (2021-03-21) - -**Note:** Version bump only for package @thi.ng/viz - - - - - -## [0.2.17](https://github.com/thi-ng/umbrella/compare/@thi.ng/viz@0.2.16...@thi.ng/viz@0.2.17) (2021-03-17) - -**Note:** Version bump only for package @thi.ng/viz - - - - - -## [0.2.16](https://github.com/thi-ng/umbrella/compare/@thi.ng/viz@0.2.15...@thi.ng/viz@0.2.16) (2021-03-12) +## [0.2.30](https://github.com/thi-ng/umbrella/compare/@thi.ng/viz@0.2.29...@thi.ng/viz@0.2.30) (2021-06-08) **Note:** Version bump only for package @thi.ng/viz diff --git a/packages/viz/README.md b/packages/viz/README.md index efa6b19255..3cb201a9bb 100644 --- a/packages/viz/README.md +++ b/packages/viz/README.md @@ -72,7 +72,7 @@ yarn add @thi.ng/viz ``` -Package sizes (gzipped, pre-treeshake): ESM: 2.49 KB / CJS: 2.65 KB / UMD: 2.56 KB +Package sizes (gzipped, pre-treeshake): ESM: 2.52 KB / CJS: 2.67 KB / UMD: 2.58 KB ## Dependencies diff --git a/packages/viz/package.json b/packages/viz/package.json index d26abf72df..f8e9afe099 100644 --- a/packages/viz/package.json +++ b/packages/viz/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/viz", - "version": "0.2.25", + "version": "0.2.30", "description": "Declarative, functional & multi-format data visualization toolkit based around @thi.ng/hiccup", "module": "./index.js", "main": "./lib/index.js", @@ -46,23 +46,23 @@ "devDependencies": { "@istanbuljs/nyc-config-typescript": "^1.0.1", "@microsoft/api-extractor": "^7.13.1", - "@thi.ng/date": "^0.4.0", + "@thi.ng/date": "^0.6.0", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.3.0", + "mocha": "^9.0.0", "nyc": "^15.1.0", - "ts-node": "^9.1.1", + "ts-node": "^10.0.0", "typedoc": "^0.20.30", - "typescript": "^4.2.3" + "typescript": "4.2.4" }, "dependencies": { - "@thi.ng/api": "^7.1.4", - "@thi.ng/arrays": "^0.10.10", - "@thi.ng/associative": "^5.2.1", - "@thi.ng/checks": "^2.9.6", - "@thi.ng/math": "^3.4.0", - "@thi.ng/strings": "^2.1.0", - "@thi.ng/transducers": "^7.6.10" + "@thi.ng/api": "^7.1.5", + "@thi.ng/arrays": "^0.10.12", + "@thi.ng/associative": "^5.2.5", + "@thi.ng/checks": "^2.9.7", + "@thi.ng/math": "^4.0.1", + "@thi.ng/strings": "^2.1.1", + "@thi.ng/transducers": "^7.7.3" }, "files": [ "*.js", diff --git a/packages/viz/src/plot/line.ts b/packages/viz/src/plot/line.ts index 8d09e18633..df40941dba 100644 --- a/packages/viz/src/plot/line.ts +++ b/packages/viz/src/plot/line.ts @@ -1,15 +1,7 @@ -import type { DomainValues, PlotFn } from "../api"; -import { processedPoints } from "./utils"; +import { defSimplePlotFn } from "./utils"; export interface LinePlotOpts { attribs: any; } -export const linePlot = ( - data: DomainValues, - opts: Partial = {} -): PlotFn => (spec) => [ - "polyline", - opts.attribs || {}, - [...processedPoints(spec, data, true)], -]; +export const linePlot = defSimplePlotFn("polyline"); diff --git a/packages/viz/src/plot/scatter.ts b/packages/viz/src/plot/scatter.ts index b3a4ce5535..35b8fc294c 100644 --- a/packages/viz/src/plot/scatter.ts +++ b/packages/viz/src/plot/scatter.ts @@ -1,15 +1,7 @@ -import type { DomainValues, PlotFn } from "../api"; -import { processedPoints } from "./utils"; +import { defSimplePlotFn } from "./utils"; export interface ScatterPlotOpts { attribs: any; } -export const scatterPlot = ( - data: DomainValues, - opts: Partial = {} -): PlotFn => (spec) => [ - "points", - opts.attribs || {}, - [...processedPoints(spec, data, true)], -]; +export const scatterPlot = defSimplePlotFn("points"); diff --git a/packages/viz/src/plot/utils.ts b/packages/viz/src/plot/utils.ts index 922f8fdac1..c44a0254a3 100644 --- a/packages/viz/src/plot/utils.ts +++ b/packages/viz/src/plot/utils.ts @@ -1,7 +1,7 @@ import type { Fn } from "@thi.ng/api"; import { isFunction } from "@thi.ng/checks"; import { clamp, inRange } from "@thi.ng/math"; -import type { AxisSpec, DomainValues, VizSpec } from "../api"; +import type { AxisSpec, DomainValues, PlotFn, VizSpec } from "../api"; /** @internal */ export const valueMapper = ( @@ -32,3 +32,20 @@ export function* processedPoints( yield pointOnly ? mapper(p) : [mapper(p), p]; } } + +/** + * Returns a simple {@link PlotFn} which uses a single `shape` element and + * produces its points via {@link processedPoints}. + * + * @param shape - + * + * @internal + */ +export const defSimplePlotFn = (shape: string) => ( + data: DomainValues, + opts: Partial = {} +): PlotFn => (spec) => [ + shape, + opts.attribs || {}, + [...processedPoints(spec, data, true)], +]; diff --git a/packages/webgl-msdf/CHANGELOG.md b/packages/webgl-msdf/CHANGELOG.md index c196125fd1..04fb03c3ab 100644 --- a/packages/webgl-msdf/CHANGELOG.md +++ b/packages/webgl-msdf/CHANGELOG.md @@ -3,55 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [0.1.85](https://github.com/thi-ng/umbrella/compare/@thi.ng/webgl-msdf@0.1.84...@thi.ng/webgl-msdf@0.1.85) (2021-04-03) - -**Note:** Version bump only for package @thi.ng/webgl-msdf - - - - - -## [0.1.84](https://github.com/thi-ng/umbrella/compare/@thi.ng/webgl-msdf@0.1.83...@thi.ng/webgl-msdf@0.1.84) (2021-03-30) - -**Note:** Version bump only for package @thi.ng/webgl-msdf - - - - - -## [0.1.83](https://github.com/thi-ng/umbrella/compare/@thi.ng/webgl-msdf@0.1.82...@thi.ng/webgl-msdf@0.1.83) (2021-03-28) - -**Note:** Version bump only for package @thi.ng/webgl-msdf - - - - - -## [0.1.82](https://github.com/thi-ng/umbrella/compare/@thi.ng/webgl-msdf@0.1.81...@thi.ng/webgl-msdf@0.1.82) (2021-03-27) - -**Note:** Version bump only for package @thi.ng/webgl-msdf - - - - - -## [0.1.81](https://github.com/thi-ng/umbrella/compare/@thi.ng/webgl-msdf@0.1.80...@thi.ng/webgl-msdf@0.1.81) (2021-03-20) - -**Note:** Version bump only for package @thi.ng/webgl-msdf - - - - - -## [0.1.80](https://github.com/thi-ng/umbrella/compare/@thi.ng/webgl-msdf@0.1.79...@thi.ng/webgl-msdf@0.1.80) (2021-03-17) - -**Note:** Version bump only for package @thi.ng/webgl-msdf - - - - - -## [0.1.79](https://github.com/thi-ng/umbrella/compare/@thi.ng/webgl-msdf@0.1.78...@thi.ng/webgl-msdf@0.1.79) (2021-03-12) +## [0.1.90](https://github.com/thi-ng/umbrella/compare/@thi.ng/webgl-msdf@0.1.89...@thi.ng/webgl-msdf@0.1.90) (2021-06-08) **Note:** Version bump only for package @thi.ng/webgl-msdf diff --git a/packages/webgl-msdf/package.json b/packages/webgl-msdf/package.json index a9bf53f839..014ca26468 100644 --- a/packages/webgl-msdf/package.json +++ b/packages/webgl-msdf/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/webgl-msdf", - "version": "0.1.85", + "version": "0.1.90", "description": "Multi-channel SDF font rendering & basic text layout for WebGL", "module": "./index.js", "main": "./lib/index.js", @@ -42,19 +42,19 @@ "@microsoft/api-extractor": "^7.13.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.3.0", + "mocha": "^9.0.0", "nyc": "^15.1.0", - "ts-node": "^9.1.1", + "ts-node": "^10.0.0", "typedoc": "^0.20.30", - "typescript": "^4.2.3" + "typescript": "4.2.4" }, "dependencies": { - "@thi.ng/api": "^7.1.4", - "@thi.ng/shader-ast": "^0.8.10", - "@thi.ng/transducers": "^7.6.10", - "@thi.ng/vector-pools": "^2.0.11", - "@thi.ng/vectors": "^5.2.1", - "@thi.ng/webgl": "^4.0.12" + "@thi.ng/api": "^7.1.5", + "@thi.ng/shader-ast": "^0.8.14", + "@thi.ng/transducers": "^7.7.3", + "@thi.ng/vector-pools": "^2.0.15", + "@thi.ng/vectors": "^6.0.1", + "@thi.ng/webgl": "^5.0.0" }, "files": [ "*.js", diff --git a/packages/webgl-shadertoy/CHANGELOG.md b/packages/webgl-shadertoy/CHANGELOG.md index cd33e4d567..f3d43906e4 100644 --- a/packages/webgl-shadertoy/CHANGELOG.md +++ b/packages/webgl-shadertoy/CHANGELOG.md @@ -3,55 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [0.2.72](https://github.com/thi-ng/umbrella/compare/@thi.ng/webgl-shadertoy@0.2.71...@thi.ng/webgl-shadertoy@0.2.72) (2021-04-03) - -**Note:** Version bump only for package @thi.ng/webgl-shadertoy - - - - - -## [0.2.71](https://github.com/thi-ng/umbrella/compare/@thi.ng/webgl-shadertoy@0.2.70...@thi.ng/webgl-shadertoy@0.2.71) (2021-03-30) - -**Note:** Version bump only for package @thi.ng/webgl-shadertoy - - - - - -## [0.2.70](https://github.com/thi-ng/umbrella/compare/@thi.ng/webgl-shadertoy@0.2.69...@thi.ng/webgl-shadertoy@0.2.70) (2021-03-28) - -**Note:** Version bump only for package @thi.ng/webgl-shadertoy - - - - - -## [0.2.69](https://github.com/thi-ng/umbrella/compare/@thi.ng/webgl-shadertoy@0.2.68...@thi.ng/webgl-shadertoy@0.2.69) (2021-03-27) - -**Note:** Version bump only for package @thi.ng/webgl-shadertoy - - - - - -## [0.2.68](https://github.com/thi-ng/umbrella/compare/@thi.ng/webgl-shadertoy@0.2.67...@thi.ng/webgl-shadertoy@0.2.68) (2021-03-20) - -**Note:** Version bump only for package @thi.ng/webgl-shadertoy - - - - - -## [0.2.67](https://github.com/thi-ng/umbrella/compare/@thi.ng/webgl-shadertoy@0.2.66...@thi.ng/webgl-shadertoy@0.2.67) (2021-03-17) - -**Note:** Version bump only for package @thi.ng/webgl-shadertoy - - - - - -## [0.2.66](https://github.com/thi-ng/umbrella/compare/@thi.ng/webgl-shadertoy@0.2.65...@thi.ng/webgl-shadertoy@0.2.66) (2021-03-12) +## [0.2.77](https://github.com/thi-ng/umbrella/compare/@thi.ng/webgl-shadertoy@0.2.76...@thi.ng/webgl-shadertoy@0.2.77) (2021-06-08) **Note:** Version bump only for package @thi.ng/webgl-shadertoy diff --git a/packages/webgl-shadertoy/package.json b/packages/webgl-shadertoy/package.json index 7b7586e0ad..d4fca5f0a7 100644 --- a/packages/webgl-shadertoy/package.json +++ b/packages/webgl-shadertoy/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/webgl-shadertoy", - "version": "0.2.72", + "version": "0.2.77", "description": "Basic WebGL scaffolding for running interactive fragment shaders via @thi.ng/shader-ast", "module": "./index.js", "main": "./lib/index.js", @@ -42,17 +42,17 @@ "@microsoft/api-extractor": "^7.13.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.3.0", + "mocha": "^9.0.0", "nyc": "^15.1.0", - "ts-node": "^9.1.1", + "ts-node": "^10.0.0", "typedoc": "^0.20.30", - "typescript": "^4.2.3" + "typescript": "4.2.4" }, "dependencies": { - "@thi.ng/api": "^7.1.4", - "@thi.ng/shader-ast": "^0.8.10", - "@thi.ng/shader-ast-glsl": "^0.2.32", - "@thi.ng/webgl": "^4.0.12" + "@thi.ng/api": "^7.1.5", + "@thi.ng/shader-ast": "^0.8.14", + "@thi.ng/shader-ast-glsl": "^0.2.36", + "@thi.ng/webgl": "^5.0.0" }, "files": [ "*.js", diff --git a/packages/webgl/CHANGELOG.md b/packages/webgl/CHANGELOG.md index 267ed0f495..a1d5a06f95 100644 --- a/packages/webgl/CHANGELOG.md +++ b/packages/webgl/CHANGELOG.md @@ -3,57 +3,26 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [4.0.12](https://github.com/thi-ng/umbrella/compare/@thi.ng/webgl@4.0.11...@thi.ng/webgl@4.0.12) (2021-04-03) - -**Note:** Version bump only for package @thi.ng/webgl - - - - - -## [4.0.11](https://github.com/thi-ng/umbrella/compare/@thi.ng/webgl@4.0.10...@thi.ng/webgl@4.0.11) (2021-03-30) - -**Note:** Version bump only for package @thi.ng/webgl - - - - - -## [4.0.10](https://github.com/thi-ng/umbrella/compare/@thi.ng/webgl@4.0.9...@thi.ng/webgl@4.0.10) (2021-03-28) - -**Note:** Version bump only for package @thi.ng/webgl - - - - - -## [4.0.9](https://github.com/thi-ng/umbrella/compare/@thi.ng/webgl@4.0.8...@thi.ng/webgl@4.0.9) (2021-03-27) - -**Note:** Version bump only for package @thi.ng/webgl - - - - - -## [4.0.8](https://github.com/thi-ng/umbrella/compare/@thi.ng/webgl@4.0.7...@thi.ng/webgl@4.0.8) (2021-03-20) - -**Note:** Version bump only for package @thi.ng/webgl - - +# [5.0.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/webgl@4.0.16...@thi.ng/webgl@5.0.0) (2021-06-08) +### Code Refactoring -## [4.0.7](https://github.com/thi-ng/umbrella/compare/@thi.ng/webgl@4.0.6...@thi.ng/webgl@4.0.7) (2021-03-17) +* **webgl:** update multipass texture uniforms ([86d363a](https://github.com/thi-ng/umbrella/commit/86d363aa80c1861388bccd9fb57000afd96e4257)) -**Note:** Version bump only for package @thi.ng/webgl +### Features +* **webgl:** add passCopy() HOF pass gen ([fb6b5b7](https://github.com/thi-ng/umbrella/commit/fb6b5b76d16a75d157499f7ccf46c777a063131e)) +### BREAKING CHANGES -## [4.0.6](https://github.com/thi-ng/umbrella/compare/@thi.ng/webgl@4.0.5...@thi.ng/webgl@4.0.6) (2021-03-12) +* **webgl:** replace input tex `sampler2D[]` array w/ named inputs -**Note:** Version bump only for package @thi.ng/webgl +- new unis: `input0`, `input1`, etc. to sync w/ same approach as + already used for outputs +- new approach also simplifies texture lookups in shader-ast code diff --git a/packages/webgl/README.md b/packages/webgl/README.md index 40655f25fd..1d199a0952 100644 --- a/packages/webgl/README.md +++ b/packages/webgl/README.md @@ -91,7 +91,7 @@ yarn add @thi.ng/webgl ``` -Package sizes (gzipped, pre-treeshake): ESM: 11.79 KB / CJS: 12.00 KB / UMD: 11.79 KB +Package sizes (gzipped, pre-treeshake): ESM: 11.90 KB / CJS: 12.10 KB / UMD: 11.88 KB ## Dependencies diff --git a/packages/webgl/package.json b/packages/webgl/package.json index f871621e9d..4436620def 100644 --- a/packages/webgl/package.json +++ b/packages/webgl/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/webgl", - "version": "4.0.12", + "version": "5.0.0", "description": "WebGL & GLSL abstraction layer", "module": "./index.js", "main": "./lib/index.js", @@ -42,28 +42,28 @@ "@microsoft/api-extractor": "^7.13.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.3.0", + "mocha": "^9.0.0", "nyc": "^15.1.0", - "ts-node": "^9.1.1", + "ts-node": "^10.0.0", "typedoc": "^0.20.30", - "typescript": "^4.2.3" + "typescript": "4.2.4" }, "dependencies": { - "@thi.ng/adapt-dpi": "^1.0.19", - "@thi.ng/api": "^7.1.4", - "@thi.ng/associative": "^5.2.1", - "@thi.ng/checks": "^2.9.6", - "@thi.ng/equiv": "^1.0.41", - "@thi.ng/errors": "^1.3.0", - "@thi.ng/matrices": "^0.6.55", - "@thi.ng/memoize": "^2.1.14", - "@thi.ng/pixel": "^0.9.0", - "@thi.ng/shader-ast": "^0.8.10", - "@thi.ng/shader-ast-glsl": "^0.2.32", - "@thi.ng/shader-ast-stdlib": "^0.5.24", - "@thi.ng/transducers": "^7.6.10", - "@thi.ng/vector-pools": "^2.0.11", - "@thi.ng/vectors": "^5.2.1" + "@thi.ng/adapt-dpi": "^1.0.20", + "@thi.ng/api": "^7.1.5", + "@thi.ng/associative": "^5.2.5", + "@thi.ng/checks": "^2.9.7", + "@thi.ng/equiv": "^1.0.42", + "@thi.ng/errors": "^1.3.1", + "@thi.ng/matrices": "^0.6.59", + "@thi.ng/memoize": "^2.1.15", + "@thi.ng/pixel": "^0.10.3", + "@thi.ng/shader-ast": "^0.8.14", + "@thi.ng/shader-ast-glsl": "^0.2.36", + "@thi.ng/shader-ast-stdlib": "^0.6.1", + "@thi.ng/transducers": "^7.7.3", + "@thi.ng/vector-pools": "^2.0.15", + "@thi.ng/vectors": "^6.0.1" }, "files": [ "*.js", diff --git a/packages/webgl/src/multipass.ts b/packages/webgl/src/multipass.ts index bba78e7800..ba9183843d 100644 --- a/packages/webgl/src/multipass.ts +++ b/packages/webgl/src/multipass.ts @@ -1,4 +1,12 @@ import { assert, IObjectOf } from "@thi.ng/api"; +import { + $xy, + assign, + defMain, + INT0, + ivec2, + texelFetch, +} from "@thi.ng/shader-ast"; import { assocObj, map, range, some, transduce } from "@thi.ng/transducers"; import type { ExtensionBehaviors } from "./api/ext"; import type { Multipass, MultipassOpts, PassOpts } from "./api/multipass"; @@ -6,6 +14,7 @@ import type { ShaderOutputSpec, ShaderSpec, ShaderUniformSpecs, + UniformDecl, } from "./api/shader"; import type { ITexture } from "./api/texture"; import { compileModel } from "./buffer"; @@ -113,18 +122,24 @@ const initShader = ( varying: pass.varying, uniforms: { ...pass.uniforms, - ...(numIns - ? { - inputs: ["sampler2D[]", numIns, [...range(numIns)]], - } - : null), + ...transduce( + map( + (i) => + <[string, UniformDecl]>[`input${i}`, ["sampler2D", i]] + ), + assocObj(), + range(numIns) + ), }, outputs: numOuts ? transduce( - map((i) => [ - `output${i}`, - ["vec4", i], - ]), + map( + (i) => + <[string, ShaderOutputSpec]>[ + `output${i}`, + ["vec4", i], + ] + ), assocObj(), range(numOuts) ) @@ -173,3 +188,44 @@ const initBuffers = ( ).map((pass) => defFBO(opts.gl, { tex: pass.outputs.map((id) => textures[id]) }) ); + +/** + * Returns a dynamically generated single pass spec ({@link PassOpts}) for use + * within a larger multipass pipeline spec, and which copies given `src` + * textures into their respective `dest` textures (e.g. for feedback purposes). + * + * @remarks + * Both arrays must have same length. The first `src` texture is written to the + * first `dest` tex, etc. + * + * WebGL2 only (uses `texelFetch()`) + * + * @param src + * @param dest + */ +export const passCopy = (src: string[], dest: string[]): PassOpts => { + assert( + src.length === dest.length, + `require same number of in/out textures` + ); + return { + fs: (gl, unis, _, outs) => [ + defMain(() => [ + ...map( + (i) => + assign( + outs[`output${i}`], + texelFetch( + unis[`input${i}`], + ivec2($xy(gl.gl_FragCoord)), + INT0 + ) + ), + range(src.length) + ), + ]), + ], + inputs: src, + outputs: dest, + }; +}; diff --git a/packages/zipper/CHANGELOG.md b/packages/zipper/CHANGELOG.md index e28569edd8..78af00f800 100644 --- a/packages/zipper/CHANGELOG.md +++ b/packages/zipper/CHANGELOG.md @@ -3,23 +3,7 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [0.1.44](https://github.com/thi-ng/umbrella/compare/@thi.ng/zipper@0.1.43...@thi.ng/zipper@0.1.44) (2021-04-03) - -**Note:** Version bump only for package @thi.ng/zipper - - - - - -## [0.1.43](https://github.com/thi-ng/umbrella/compare/@thi.ng/zipper@0.1.42...@thi.ng/zipper@0.1.43) (2021-03-17) - -**Note:** Version bump only for package @thi.ng/zipper - - - - - -## [0.1.42](https://github.com/thi-ng/umbrella/compare/@thi.ng/zipper@0.1.41...@thi.ng/zipper@0.1.42) (2021-03-12) +## [0.1.46](https://github.com/thi-ng/umbrella/compare/@thi.ng/zipper@0.1.45...@thi.ng/zipper@0.1.46) (2021-06-08) **Note:** Version bump only for package @thi.ng/zipper diff --git a/packages/zipper/package.json b/packages/zipper/package.json index 5dab99fc08..24d3755382 100644 --- a/packages/zipper/package.json +++ b/packages/zipper/package.json @@ -1,6 +1,6 @@ { "name": "@thi.ng/zipper", - "version": "0.1.44", + "version": "0.1.46", "description": "Functional tree editing, manipulation & navigation", "module": "./index.js", "main": "./lib/index.js", @@ -42,16 +42,16 @@ "@microsoft/api-extractor": "^7.13.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.3.0", + "mocha": "^9.0.0", "nyc": "^15.1.0", - "ts-node": "^9.1.1", + "ts-node": "^10.0.0", "typedoc": "^0.20.30", - "typescript": "^4.2.3" + "typescript": "4.2.4" }, "dependencies": { - "@thi.ng/api": "^7.1.4", - "@thi.ng/arrays": "^0.10.10", - "@thi.ng/checks": "^2.9.6" + "@thi.ng/api": "^7.1.5", + "@thi.ng/arrays": "^0.10.12", + "@thi.ng/checks": "^2.9.7" }, "files": [ "*.js", diff --git a/packages/zipper/src/zipper.ts b/packages/zipper/src/zipper.ts index dedddcf59e..6448a6a7a5 100644 --- a/packages/zipper/src/zipper.ts +++ b/packages/zipper/src/zipper.ts @@ -73,7 +73,7 @@ export class Location { return this._path ? this._path.r : undefined; } - get left() { + get left(): Location | undefined { const path = this._path; const lefts = path && path.l; return lefts && lefts.length @@ -91,7 +91,7 @@ export class Location { : undefined; } - get right() { + get right(): Location | undefined { const path = this._path; const rights = path && path.r; if (!rights) return; @@ -109,7 +109,7 @@ export class Location { ); } - get leftmost() { + get leftmost(): Location { const path = this._path; const lefts = path && path.l; return lefts && lefts.length @@ -127,7 +127,7 @@ export class Location { : this; } - get rightmost() { + get rightmost(): Location { const path = this._path; const rights = path && path.r; return rights @@ -148,7 +148,7 @@ export class Location { : this; } - get down() { + get down(): Location | undefined { if (!this.isBranch) return; const children = this.children; if (!children) return; @@ -166,7 +166,7 @@ export class Location { ); } - get up() { + get up(): Location | undefined { let path = this._path; const pnodes = path && path.nodes; if (!pnodes) return; @@ -190,19 +190,19 @@ export class Location { return parent ? parent.root : this._node; } - get prev() { + get prev(): Location | undefined { let node = this.left; if (!node) return this.up; while (true) { const child: Location | undefined = node!.isBranch - ? this.down + ? node.down : undefined; if (!child) return node; node = child.rightmost; } } - get next() { + get next(): Location | undefined { if (this.isBranch) return this.down; let right = this.right; if (right) return right; diff --git a/scripts/make-example b/scripts/make-example index 2d8397d48f..ec38a99742 100755 --- a/scripts/make-example +++ b/scripts/make-example @@ -143,10 +143,12 @@ module.exports = { packageOptions: { source: "local", types: true, + knownEntrypoints: ["tslib"], }, buildOptions: { baseUrl: "/umbrella/$1", }, + workspaceRoot: "../..", }; EOF diff --git a/scripts/make-module b/scripts/make-module index 7d771b307b..ebb54afcbe 100755 --- a/scripts/make-module +++ b/scripts/make-module @@ -87,11 +87,11 @@ cat << EOF > "$MODULE"/package.json "@microsoft/api-extractor": "^7.13.1", "@types/mocha": "^8.2.0", "@types/node": "^14.14.14", - "mocha": "^8.3.0", + "mocha": "^9.0.0", "nyc": "^15.1.0", - "ts-node": "^9.1.1", + "ts-node": "^10.0.0", "typedoc": "^0.20.30", - "typescript": "^4.2.3" + "typescript": "4.2.4" }, "dependencies": { "@thi.ng/api": "^7.1.4" diff --git a/yarn.lock b/yarn.lock index afc296a766..be38c285ef 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1948,10 +1948,10 @@ execa "^5.0.0" npm-run-path "^4.0.1" -"@snowpack/plugin-webpack@^2.3.0": - version "2.3.0" - resolved "https://registry.yarnpkg.com/@snowpack/plugin-webpack/-/plugin-webpack-2.3.0.tgz#5f4da0c4afbb8d0151cdd78bdbaf78074925ef08" - integrity sha512-x/U29rdYkqPQDHpkAMY+qBhLSOY79KzGPMxfwOv0VlWirYnkMSbRctQ8btZ9tfyUB85Or+wVY2TWj//E8Nf98A== +"@snowpack/plugin-webpack@^2.3.1": + version "2.3.1" + resolved "https://registry.yarnpkg.com/@snowpack/plugin-webpack/-/plugin-webpack-2.3.1.tgz#f32c5a11c0a5628414b7802c685fab2fda7687b9" + integrity sha512-CKB9l6GwXUeAbcxLHkoRW9J9CHCILH8tMsFA1Ed+tWybbgJmzM2EieblAyIcnyIJZ7BJHuYuhbGz+6wJbednQg== dependencies: "@babel/core" "^7.0.0" "@babel/preset-env" "^7.12.1" @@ -1973,6 +1973,26 @@ resolved "https://registry.yarnpkg.com/@tootallnate/once/-/once-1.1.2.tgz#ccb91445360179a04e7fe6aff78c00ffc1eeaf82" integrity sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw== +"@tsconfig/node10@^1.0.7": + version "1.0.7" + resolved "https://registry.yarnpkg.com/@tsconfig/node10/-/node10-1.0.7.tgz#1eb1de36c73478a2479cc661ef5af1c16d86d606" + integrity sha512-aBvUmXLQbayM4w3A8TrjwrXs4DZ8iduJnuJLLRGdkWlyakCf1q6uHZJBzXoRA/huAEknG5tcUyQxN3A+In5euQ== + +"@tsconfig/node12@^1.0.7": + version "1.0.7" + resolved "https://registry.yarnpkg.com/@tsconfig/node12/-/node12-1.0.7.tgz#677bd9117e8164dc319987dd6ff5fc1ba6fbf18b" + integrity sha512-dgasobK/Y0wVMswcipr3k0HpevxFJLijN03A8mYfEPvWvOs14v0ZlYTR4kIgMx8g4+fTyTFv8/jLCIfRqLDJ4A== + +"@tsconfig/node14@^1.0.0": + version "1.0.0" + resolved "https://registry.yarnpkg.com/@tsconfig/node14/-/node14-1.0.0.tgz#5bd046e508b1ee90bc091766758838741fdefd6e" + integrity sha512-RKkL8eTdPv6t5EHgFKIVQgsDapugbuOptNd9OOunN/HAkzmmTnZELx1kNCK0rSdUYGmiFMM3rRQMAWiyp023LQ== + +"@tsconfig/node16@^1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@tsconfig/node16/-/node16-1.0.1.tgz#a6ca6a9a0ff366af433f42f5f0e124794ff6b8f1" + integrity sha512-FTgBI767POY/lKNDNbIzgAX6miIDBs6NTCbdlDb8TrWovHsSvaVIZDlTqym29C6UqhzwcJx4CYr+AlrMywA0cA== + "@types/argparse@1.0.38": version "1.0.38" resolved "https://registry.yarnpkg.com/@types/argparse/-/argparse-1.0.38.tgz#a81fd8606d481f873a3800c6ebae4f1d768a56a9" @@ -2004,10 +2024,10 @@ resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.45.tgz#e9387572998e5ecdac221950dab3e8c3b16af884" integrity sha512-jnqIUKDUqJbDIUxm0Uj7bnlMnRm1T/eZ9N+AVMqhPgzrba2GhGG5o/jCTwmdPK709nEZsGoMzXEDUjcXHa3W0g== -"@types/estree@^0.0.46": - version "0.0.46" - resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.46.tgz#0fb6bfbbeabd7a30880504993369c4bf1deab1fe" - integrity sha512-laIjwTQaD+5DukBZaygQ79K1Z0jb1bPEMRrkXSLjtCcZm+abyp5YbrqpSLzD42FwWW6gK/aS4NYpJ804nG2brg== +"@types/estree@^0.0.47": + version "0.0.47" + resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.47.tgz#d7a51db20f0650efec24cd04994f523d93172ed4" + integrity sha512-c5ciR06jK8u9BstrmJyO97m+klJrrhCf9u3rLu3DEAJBirxRqSCvDQoYKmxuYwQI5SZChAWu+tq9oVlGRuzPAg== "@types/json-schema@*", "@types/json-schema@^7.0.5", "@types/json-schema@^7.0.6": version "7.0.6" @@ -2335,22 +2355,22 @@ "@webassemblyjs/wast-parser" "1.9.0" "@xtuc/long" "4.2.2" -"@webpack-cli/configtest@^1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@webpack-cli/configtest/-/configtest-1.0.1.tgz#241aecfbdc715eee96bed447ed402e12ec171935" - integrity sha512-B+4uBUYhpzDXmwuo3V9yBH6cISwxEI4J+NO5ggDaGEEHb0osY/R7MzeKc0bHURXQuZjMM4qD+bSJCKIuI3eNBQ== +"@webpack-cli/configtest@^1.0.4": + version "1.0.4" + resolved "https://registry.yarnpkg.com/@webpack-cli/configtest/-/configtest-1.0.4.tgz#f03ce6311c0883a83d04569e2c03c6238316d2aa" + integrity sha512-cs3XLy+UcxiP6bj0A6u7MLLuwdXJ1c3Dtc0RkKg+wiI1g/Ti1om8+/2hc2A2B60NbBNAbMgyBMHvyymWm/j4wQ== -"@webpack-cli/info@^1.2.2": - version "1.2.2" - resolved "https://registry.yarnpkg.com/@webpack-cli/info/-/info-1.2.2.tgz#ef3c0cd947a1fa083e174a59cb74e0b6195c236c" - integrity sha512-5U9kUJHnwU+FhKH4PWGZuBC1hTEPYyxGSL5jjoBI96Gx8qcYJGOikpiIpFoTq8mmgX3im2zAo2wanv/alD74KQ== +"@webpack-cli/info@^1.3.0": + version "1.3.0" + resolved "https://registry.yarnpkg.com/@webpack-cli/info/-/info-1.3.0.tgz#9d78a31101a960997a4acd41ffd9b9300627fe2b" + integrity sha512-ASiVB3t9LOKHs5DyVUcxpraBXDOKubYu/ihHhU+t1UPpxsivg6Od2E2qU4gJCekfEddzRBzHhzA/Acyw/mlK/w== dependencies: envinfo "^7.7.3" -"@webpack-cli/serve@^1.3.0": - version "1.3.0" - resolved "https://registry.yarnpkg.com/@webpack-cli/serve/-/serve-1.3.0.tgz#2730c770f5f1f132767c63dcaaa4ec28f8c56a6c" - integrity sha512-k2p2VrONcYVX1wRRrf0f3X2VGltLWcv+JzXRBDmvCxGlCeESx4OXw91TsWeKOkp784uNoVQo313vxJFHXPPwfw== +"@webpack-cli/serve@^1.5.1": + version "1.5.1" + resolved "https://registry.yarnpkg.com/@webpack-cli/serve/-/serve-1.5.1.tgz#b5fde2f0f79c1e120307c415a4c1d5eb15a6f278" + integrity sha512-4vSVUiOPJLmr45S8rMGy7WDvpWxfFxfP/Qx/cxZFCfvoypTYpPPL1X8VIZMe0WTA+Jr7blUxwUSEZNkjoMTgSw== "@xtuc/ieee754@^1.2.0": version "1.2.0" @@ -2362,10 +2382,10 @@ resolved "https://registry.yarnpkg.com/@xtuc/long/-/long-4.2.2.tgz#d291c6a4e97989b5c61d9acf396ae4fe133a718d" integrity sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ== -"@ygoe/msgpack@^1.0.2": - version "1.0.2" - resolved "https://registry.yarnpkg.com/@ygoe/msgpack/-/msgpack-1.0.2.tgz#7237b74179933bb9b73aa09d15d2a4414cfc7377" - integrity sha512-GXnUKo8aFiTE1RmhzGXzXNXoN500Zxe0FH62thZi18xI82N+Gcdw9MWjhV0SdTEfjHFwZiw0+ZJSE8sD02pRsQ== +"@ygoe/msgpack@^1.0.3": + version "1.0.3" + resolved "https://registry.yarnpkg.com/@ygoe/msgpack/-/msgpack-1.0.3.tgz#3889f4c0c2d68b2be83e1f6f4444efab02d6f257" + integrity sha512-Sjp0O/sNgOJxTOO1c2Zuu7nsHRIGu2iGPYyhUedKKbcHyUl73jbCaomEFJZHNb/6i94B+ZNZHVnFgpo0ENSXxQ== JSONStream@^1.0.4: version "1.3.5" @@ -2408,10 +2428,10 @@ acorn@^7.1.1: resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.0.tgz#e1ad486e6c54501634c6c397c5c121daa383607c" integrity sha512-+G7P8jJmCHr+S+cLfQxygbWhXy+8YTVGzAkpEbcLo2mLoL7tij/VG41QSHACSf5QgYRhMZYHuNc6drJaO0Da+w== -acorn@^8.0.4: - version "8.0.4" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.0.4.tgz#7a3ae4191466a6984eee0fe3407a4f3aa9db8354" - integrity sha512-XNP0PqF1XD19ZlLKvB7cMmnZswW4C/03pRHgirB30uSJTaS3A3V1/P4sS3HPvFmjoriPCJQs+JDSbm4bL1TxGQ== +acorn@^8.2.1: + version "8.3.0" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.3.0.tgz#1193f9b96c4e8232f00b11a9edff81b2c8b98b88" + integrity sha512-tqPKHZ5CaBJw0Xmy0ZZvLs1qTV+BNFSyvn77ASXkpBNfIRk8ev26fKrD9iLGwGA9zedPao52GSHzq8lyZG0NUw== add-stream@^1.0.0: version "1.0.0" @@ -2477,7 +2497,7 @@ alphanum-sort@^1.0.0: resolved "https://registry.yarnpkg.com/alphanum-sort/-/alphanum-sort-1.0.2.tgz#97a1119649b211ad33691d9f9f486a8ec9fbe0a3" integrity sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM= -ansi-colors@4.1.1, ansi-colors@^4.1.1: +ansi-colors@4.1.1: version "4.1.1" resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.1.tgz#cbb9ae256bf750af1eab344f229aa27fe94ba348" integrity sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA== @@ -2957,6 +2977,17 @@ browserslist@^4.14.5, browserslist@^4.14.7: escalade "^3.1.1" node-releases "^1.1.67" +browserslist@^4.16.6: + version "4.16.6" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.16.6.tgz#d7901277a5a88e554ed305b183ec9b0c08f66fa2" + integrity sha512-Wspk/PqO+4W9qp5iUTJsa1B/QrYn1keNCcEP5OvP7WBwT4KaDly0uONYmC6Xa3Z5IqnUgS0KcgLYu1l74x0ZXQ== + dependencies: + caniuse-lite "^1.0.30001219" + colorette "^1.2.2" + electron-to-chromium "^1.3.723" + escalade "^3.1.1" + node-releases "^1.1.71" + buffer-from@^1.0.0: version "1.1.1" resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.1.tgz#32713bc028f75c02fdb710d7c7bcec1f2c6070ef" @@ -3040,6 +3071,29 @@ cacache@^15.0.5: tar "^6.0.2" unique-filename "^1.1.1" +cacache@^15.2.0: + version "15.2.0" + resolved "https://registry.yarnpkg.com/cacache/-/cacache-15.2.0.tgz#73af75f77c58e72d8c630a7a2858cb18ef523389" + integrity sha512-uKoJSHmnrqXgthDFx/IU6ED/5xd+NNGe+Bb+kLZy7Ku4P+BaiWEUflAKPZ7eAzsYGcsAGASJZsybXp+quEcHTw== + dependencies: + "@npmcli/move-file" "^1.0.1" + chownr "^2.0.0" + fs-minipass "^2.0.0" + glob "^7.1.4" + infer-owner "^1.0.4" + lru-cache "^6.0.0" + minipass "^3.1.1" + minipass-collect "^1.0.2" + minipass-flush "^1.0.5" + minipass-pipeline "^1.2.2" + mkdirp "^1.0.3" + p-map "^4.0.0" + promise-inflight "^1.0.1" + rimraf "^3.0.2" + ssri "^8.0.1" + tar "^6.0.2" + unique-filename "^1.1.1" + cache-base@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/cache-base/-/cache-base-1.0.1.tgz#0a7f46416831c8b662ee36fe4e7c59d76f666ab2" @@ -3155,15 +3209,10 @@ caniuse-api@^3.0.0: lodash.memoize "^4.1.2" lodash.uniq "^4.5.0" -caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001111: - version "1.0.30001119" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001119.tgz#99185d04bc00e76a86c9ff731dc5ec8e53aefca1" - integrity sha512-Hpwa4obv7EGP+TjkCh/wVvbtNJewxmtg4yVJBLFnxo35vbPapBr138bUWENkb5j5L9JZJ9RXLn4OrXRG/cecPQ== - -caniuse-lite@^1.0.30001164: - version "1.0.30001165" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001165.tgz#32955490d2f60290bb186bb754f2981917fa744f" - integrity sha512-8cEsSMwXfx7lWSUMA2s08z9dIgsnR5NAqjXP23stdsU3AUWkCr/rr4s4OFtHXn5XXr6+7kam3QFVoYyXNPdJPA== +caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001111, caniuse-lite@^1.0.30001164, caniuse-lite@^1.0.30001219: + version "1.0.30001235" + resolved "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001235.tgz" + integrity sha512-zWEwIVqnzPkSAXOUlQnPW2oKoYb2aLQ4Q5ejdjBcnH63rfypaW34CxaeBn1VMya2XaEU3P/R2qHpWyj+l0BT1A== caseless@~0.12.0: version "0.12.0" @@ -3179,7 +3228,7 @@ chalk@^2.0.0, chalk@^2.4.1, chalk@^2.4.2: escape-string-regexp "^1.0.5" supports-color "^5.3.0" -chalk@^4.0.0, chalk@^4.1.0: +chalk@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.0.tgz#4e14870a618d9e2edd97dd8345fd9d9dc315646a" integrity sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A== @@ -3300,6 +3349,11 @@ cli-cursor@^3.1.0: dependencies: restore-cursor "^3.1.0" +cli-spinners@^2.5.0: + version "2.6.0" + resolved "https://registry.yarnpkg.com/cli-spinners/-/cli-spinners-2.6.0.tgz#36c7dc98fb6a9a76bd6238ec3f77e2425627e939" + integrity sha512-t+4/y50K/+4xcCRosKkA7W4gTr1MySvLV0q+PxmG7FJ5g+66ChKurYjxBCjHggHH3HA5Hh9cy+lcUGWDqVH+4Q== + cli-width@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-3.0.0.tgz#a2f48437a2caa9a22436e794bf071ec9e61cedf6" @@ -3411,6 +3465,11 @@ colorette@^1.2.1: resolved "https://registry.yarnpkg.com/colorette/-/colorette-1.2.1.tgz#4d0b921325c14faf92633086a536db6e89564b1b" integrity sha512-puCDz0CzydiSYOrnXpz/PKd69zRrribezjtE9yd4zvytoRc8+RY/KJPvtPFKZS3E3wP6neGyMe0vOTlHO5L3Pw== +colorette@^1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/colorette/-/colorette-1.2.2.tgz#cbcc79d5e99caea2dbf10eb3a26fd8b3e6acfa94" + integrity sha512-MKGMzyfeuutC/ZJ1cba9NqcNpfeqMUcYmyF1ZFY6/Cn7CNSAKx6a+s48sqLqyAiZuaP2TcqMhoo+dlwFnVxT9w== + colors@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/colors/-/colors-1.4.0.tgz#c50491479d4c1bdaed2c9ced32cf7c7dc2360f78" @@ -4215,6 +4274,11 @@ electron-to-chromium@^1.3.612: resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.616.tgz#de63d1c79bb8eb61168774df0c11c9e1af69f9e8" integrity sha512-CI8L38UN2BEnqXw3/oRIQTmde0LiSeqWSRlPA42ZTYgJQ8fYenzAM2Z3ni+jtILTcrs5aiXZCGJ96Pm+3/yGyQ== +electron-to-chromium@^1.3.723: + version "1.3.749" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.749.tgz#0ecebc529ceb49dd2a7c838ae425236644c3439a" + integrity sha512-F+v2zxZgw/fMwPz/VUGIggG4ZndDsYy0vlpthi3tjmDZlcfbhN5mYW0evXUsBr2sUtuDANFtle410A9u/sd/4A== + elliptic@^6.5.3: version "6.5.4" resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.4.tgz#da37cebd31e79a1367e941b592ed1fbebd58abbb" @@ -4252,7 +4316,7 @@ end-of-stream@^1.0.0, end-of-stream@^1.1.0: dependencies: once "^1.4.0" -enhanced-resolve@^4.0.0, enhanced-resolve@^4.3.0: +enhanced-resolve@^4.3.0: version "4.3.0" resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-4.3.0.tgz#3b806f3bfafc1ec7de69551ef93cca46c1704126" integrity sha512-3e87LvavsdxyoCfGusJnrZ5G8SLPOFeHSNpZI/ATL9a5leXo2k0w6MKnbqhdBad9qTobSfB20Ld7UmgoNbAZkQ== @@ -4261,21 +4325,14 @@ enhanced-resolve@^4.0.0, enhanced-resolve@^4.3.0: memory-fs "^0.5.0" tapable "^1.0.0" -enhanced-resolve@^5.7.0: - version "5.7.0" - resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.7.0.tgz#525c5d856680fbd5052de453ac83e32049958b5c" - integrity sha512-6njwt/NsZFUKhM6j9U8hzVyD4E4r0x7NQzhTCbcWOJ0IQjNSAoalWmb0AE51Wn+fwan5qVESWi7t2ToBxs9vrw== +enhanced-resolve@^5.0.0, enhanced-resolve@^5.8.0: + version "5.8.2" + resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.8.2.tgz#15ddc779345cbb73e97c611cd00c01c1e7bf4d8b" + integrity sha512-F27oB3WuHDzvR2DOGNTaYy0D5o0cnrv8TeI482VM4kYgQd/FT9lUQwuNsJ0oOHtBUq7eiW5ytqzp7nBFknL+GA== dependencies: graceful-fs "^4.2.4" tapable "^2.2.0" -enquirer@^2.3.6: - version "2.3.6" - resolved "https://registry.yarnpkg.com/enquirer/-/enquirer-2.3.6.tgz#2a7fe5dd634a1e4125a975ec994ff5456dc3734d" - integrity sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg== - dependencies: - ansi-colors "^4.1.1" - entities@^2.0.0: version "2.0.3" resolved "https://registry.yarnpkg.com/entities/-/entities-2.0.3.tgz#5c487e5742ab93c15abb5da22759b8590ec03b7f" @@ -4369,10 +4426,10 @@ es6-error@^4.0.1: resolved "https://registry.yarnpkg.com/es6-error/-/es6-error-4.1.1.tgz#9e3af407459deed47e9a91f9b885a84eb05c561d" integrity sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg== -esbuild@^0.8.7: - version "0.8.19" - resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.8.19.tgz#773a85175cc911a77d7edae5ebabb55f26a25c43" - integrity sha512-KeLnk6TA7yX+KEz9+eDUigJ6ZG5Z7P1pscYdBjlCMuiOFjtbm7/BCHLpLkxfaMT04KwXbS8Lovrzl9rA5xctQg== +esbuild@^0.9.3: + version "0.9.7" + resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.9.7.tgz#ea0d639cbe4b88ec25fbed4d6ff00c8d788ef70b" + integrity sha512-VtUf6aQ89VTmMLKrWHYG50uByMF4JQlVysb8dmg6cOgW8JnFCipmz7p+HNBl+RR3LLCuBxFGVauAe2wfnF9bLg== escalade@^3.0.2: version "3.0.2" @@ -4406,6 +4463,14 @@ escodegen@^1.14.1: optionalDependencies: source-map "~0.6.1" +eslint-scope@5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.1.1.tgz#e786e59a66cb92b3f6c1fb0d508aab174848f48c" + integrity sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw== + dependencies: + esrecurse "^4.3.0" + estraverse "^4.1.1" + eslint-scope@^4.0.3: version "4.0.3" resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-4.0.3.tgz#ca03833310f6889a3264781aa82e63eb9cfe7848" @@ -4414,14 +4479,6 @@ eslint-scope@^4.0.3: esrecurse "^4.1.0" estraverse "^4.1.1" -eslint-scope@^5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.1.1.tgz#e786e59a66cb92b3f6c1fb0d508aab174848f48c" - integrity sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw== - dependencies: - esrecurse "^4.3.0" - estraverse "^4.1.1" - esprima@^4.0.0, esprima@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" @@ -4599,6 +4656,11 @@ fastq@^1.6.0: dependencies: reusify "^1.0.4" +fdir@^5.0.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/fdir/-/fdir-5.1.0.tgz#973e4934e6a3666b59ebdfc56f60bb8e9b16acb8" + integrity sha512-IgTtZwL52tx2wqWeuGDzXYTnNsEjNLahZpJw30hCQDyVnoHXwY5acNDnjGImTTL1R0z1PCyLw20VAbE5qLic3Q== + figgy-pudding@^3.5.1: version "3.5.2" resolved "https://registry.yarnpkg.com/figgy-pudding/-/figgy-pudding-3.5.2.tgz#b4eee8148abb01dcf1d1ac34367d59e12fa61d6e" @@ -4973,7 +5035,19 @@ glob-to-regexp@^0.4.1: resolved "https://registry.yarnpkg.com/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz#c75297087c851b9a578bd217dd59a92f59fe546e" integrity sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw== -glob@7.1.6, glob@^7.0.0, glob@^7.1.1, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6: +glob@7.1.7: + version "7.1.7" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.7.tgz#3b193e9233f01d42d0b3f78294bbeeb418f94a90" + integrity sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ== + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^3.0.4" + once "^1.3.0" + path-is-absolute "^1.0.0" + +glob@^7.0.0, glob@^7.1.1, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6: version "7.1.6" resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6" integrity sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA== @@ -5754,6 +5828,11 @@ is-typedarray@^1.0.0, is-typedarray@~1.0.0: resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo= +is-unicode-supported@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz#3f26c76a809593b52bfa2ecb5710ed2779b522a7" + integrity sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw== + is-utf8@^0.2.0: version "0.2.1" resolved "https://registry.yarnpkg.com/is-utf8/-/is-utf8-0.2.1.tgz#4b0da1442104d1b336340e80797e865cf39f7d72" @@ -5892,10 +5971,10 @@ js-tokens@^4.0.0: resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== -js-yaml@4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.0.0.tgz#f426bc0ff4b4051926cd588c71113183409a121f" - integrity sha512-pqon0s+4ScYUvX30wxQi3PogGFAlUyH0awepWvwkj4jD4v+ova3RiYw8bmA6x2rDrEaj8i/oWKoRxpVNW+Re8Q== +js-yaml@4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.1.0.tgz#c1fb65f8f5017901cdd2c951864ba18458a10602" + integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA== dependencies: argparse "^2.0.1" @@ -6276,12 +6355,13 @@ lodash@^4.17.21: resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== -log-symbols@4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-4.0.0.tgz#69b3cc46d20f448eccdb75ea1fa733d9e821c920" - integrity sha512-FN8JBzLx6CzeMrB0tg6pqlGU1wCrXW+ZXGH481kfsBqer0hToTIiHdjH4Mq8xJUbvATujKCvaREGWpGUionraA== +log-symbols@4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-4.1.0.tgz#3fbdbb95b4683ac9fc785111e792e558d4abd503" + integrity sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg== dependencies: - chalk "^4.0.0" + chalk "^4.1.0" + is-unicode-supported "^0.1.0" long@^4.0.0: version "4.0.0" @@ -6375,6 +6455,28 @@ make-fetch-happen@^8.0.9: socks-proxy-agent "^5.0.0" ssri "^8.0.0" +make-fetch-happen@^9.0.1: + version "9.0.2" + resolved "https://registry.yarnpkg.com/make-fetch-happen/-/make-fetch-happen-9.0.2.tgz#aa8c0e4a5e3a5f2be86c54d3abed44fe5a32ad5d" + integrity sha512-UkAWAuXPXSSlVviTjH2We20mtj1NnZW2Qq/oTY2dyMbRQ5CR3Xed3akCDMnM7j6axrMY80lhgM7loNE132PfAw== + dependencies: + agentkeepalive "^4.1.3" + cacache "^15.2.0" + http-cache-semantics "^4.1.0" + http-proxy-agent "^4.0.1" + https-proxy-agent "^5.0.0" + is-lambda "^1.0.1" + lru-cache "^6.0.0" + minipass "^3.1.3" + minipass-collect "^1.0.2" + minipass-fetch "^1.3.2" + minipass-flush "^1.0.5" + minipass-pipeline "^1.2.4" + negotiator "^0.6.2" + promise-retry "^2.0.1" + socks-proxy-agent "^5.0.0" + ssri "^8.0.0" + map-cache@^0.2.2: version "0.2.2" resolved "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf" @@ -6699,10 +6801,10 @@ mkdirp@^1.0.3, mkdirp@^1.0.4: resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e" integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw== -mocha@^8.3.0: - version "8.3.0" - resolved "https://registry.yarnpkg.com/mocha/-/mocha-8.3.0.tgz#a83a7432d382ae1ca29686062d7fdc2c36f63fe5" - integrity sha512-TQqyC89V1J/Vxx0DhJIXlq9gbbL9XFNdeLQ1+JsnZsVaSOV1z3tWfw0qZmQJGQRIfkvZcs7snQnZnOCKoldq1Q== +mocha@^9.0.0: + version "9.0.0" + resolved "https://registry.yarnpkg.com/mocha/-/mocha-9.0.0.tgz#67ce848170cb6426f9e84c57e38376dc9017bab4" + integrity sha512-GRGG/q9bIaUkHJB9NL+KZNjDhMBHB30zW3bZW9qOiYr+QChyLjPzswaxFWkI1q6lGlSL28EQYzAi2vKWNkPx+g== dependencies: "@ungap/promise-all-settled" "1.1.2" ansi-colors "4.1.1" @@ -6712,20 +6814,20 @@ mocha@^8.3.0: diff "5.0.0" escape-string-regexp "4.0.0" find-up "5.0.0" - glob "7.1.6" + glob "7.1.7" growl "1.10.5" he "1.2.0" - js-yaml "4.0.0" - log-symbols "4.0.0" + js-yaml "4.1.0" + log-symbols "4.1.0" minimatch "3.0.4" ms "2.1.3" - nanoid "3.1.20" + nanoid "3.1.23" serialize-javascript "5.0.1" strip-json-comments "3.1.1" supports-color "8.1.1" which "2.0.2" wide-align "1.1.3" - workerpool "6.1.0" + workerpool "6.1.4" yargs "16.2.0" yargs-parser "20.2.4" yargs-unparser "2.0.0" @@ -6783,10 +6885,10 @@ nan@^2.12.1: resolved "https://registry.yarnpkg.com/nan/-/nan-2.14.1.tgz#d7be34dfa3105b91494c3147089315eff8874b01" integrity sha512-isWHgVjnFjh2x2yuJ/tj3JbwoHu3UC2dX5G/88Cm24yB6YopVgxvBObDY7n5xW6ExmFhJpSEQqFPvq9zaXc8Jw== -nanoid@3.1.20: - version "3.1.20" - resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.1.20.tgz#badc263c6b1dcf14b71efaa85f6ab4c1d6cfc788" - integrity sha512-a1cQNyczgKbLX9jwbS/+d7W8fX/RfgYR7lVWwWOGIPNgK2m0MWvrGF6/m4kk6U3QcFMnZf3RIhL0v2Jgh/0Uxw== +nanoid@3.1.23, nanoid@^3.1.23: + version "3.1.23" + resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.1.23.tgz#f744086ce7c2bc47ee0a8472574d5c78e4183a81" + integrity sha512-FiB0kzdP0FFVGDKlRLEQ1BgDzU87dy5NnzjeW9YZNt+/c3+q82EQDUwniSAUxp/F0gFNI1ZhKU1FqYsMuqZVnw== nanomatch@^1.2.9: version "1.2.13" @@ -6805,6 +6907,11 @@ nanomatch@^1.2.9: snapdragon "^0.8.1" to-regex "^3.0.1" +negotiator@^0.6.2: + version "0.6.2" + resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.2.tgz#feacf7ccf525a77ae9634436a64883ffeca346fb" + integrity sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw== + neo-async@^2.5.0, neo-async@^2.6.0, neo-async@^2.6.1, neo-async@^2.6.2: version "2.6.2" resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.2.tgz#b4aafb93e3aeb2d8174ca53cf163ab7d7308305f" @@ -6909,6 +7016,11 @@ node-releases@^1.1.67: resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.67.tgz#28ebfcccd0baa6aad8e8d4d8fe4cbc49ae239c12" integrity sha512-V5QF9noGFl3EymEwUYzO+3NTDpGfQB4ve6Qfnzf3UNydMhjQRVPR1DZTuvWiLzaFJYw2fmDwAfnRNEVb64hSIg== +node-releases@^1.1.71: + version "1.1.73" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.73.tgz#dd4e81ddd5277ff846b80b52bb40c49edf7a7b20" + integrity sha512-uW7fodD6pyW2FZNZnp/Z3hvWKeEW1Y8R1+1CnErE8cXFXzl5blBOoVB41CvMer6P6Q0S5FXDwcHgFd1Wj0U9zg== + nopt@^4.0.1: version "4.0.3" resolved "https://registry.yarnpkg.com/nopt/-/nopt-4.0.3.tgz#a375cad9d02fd921278d954c2254d5aa57e15e48" @@ -7022,6 +7134,18 @@ npm-pick-manifest@^6.0.0: npm-package-arg "^8.0.0" semver "^7.0.0" +npm-registry-fetch@^11.0.0: + version "11.0.0" + resolved "https://registry.yarnpkg.com/npm-registry-fetch/-/npm-registry-fetch-11.0.0.tgz#68c1bb810c46542760d62a6a965f85a702d43a76" + integrity sha512-jmlgSxoDNuhAtxUIG6pVwwtz840i994dL14FoNVZisrmZW5kWd63IUTNv1m/hyRSGSqWjCUp/YZlS1BJyNp9XA== + dependencies: + make-fetch-happen "^9.0.1" + minipass "^3.1.3" + minipass-fetch "^1.3.0" + minipass-json-stream "^1.0.1" + minizlib "^2.0.0" + npm-package-arg "^8.0.0" + npm-registry-fetch@^9.0.0: version "9.0.0" resolved "https://registry.yarnpkg.com/npm-registry-fetch/-/npm-registry-fetch-9.0.0.tgz#86f3feb4ce00313bc0b8f1f8f69daae6face1661" @@ -7428,6 +7552,31 @@ pacote@^11.2.6: ssri "^8.0.1" tar "^6.1.0" +pacote@^11.3.1: + version "11.3.4" + resolved "https://registry.yarnpkg.com/pacote/-/pacote-11.3.4.tgz#c290b790a5cee3082bb8fa223f3f3e2fdf3d0bfc" + integrity sha512-RfahPCunM9GI7ryJV/zY0bWQiokZyLqaSNHXtbNSoLb7bwTvBbJBEyCJ01KWs4j1Gj7GmX8crYXQ1sNX6P2VKA== + dependencies: + "@npmcli/git" "^2.0.1" + "@npmcli/installed-package-contents" "^1.0.6" + "@npmcli/promise-spawn" "^1.2.0" + "@npmcli/run-script" "^1.8.2" + cacache "^15.0.5" + chownr "^2.0.0" + fs-minipass "^2.1.0" + infer-owner "^1.0.4" + minipass "^3.1.3" + mkdirp "^1.0.3" + npm-package-arg "^8.0.1" + npm-packlist "^2.1.4" + npm-pick-manifest "^6.0.0" + npm-registry-fetch "^11.0.0" + promise-retry "^2.0.1" + read-package-json-fast "^2.0.1" + rimraf "^3.0.2" + ssri "^8.0.1" + tar "^6.1.0" + pako@~1.0.5: version "1.0.11" resolved "https://registry.yarnpkg.com/pako/-/pako-1.0.11.tgz#6c9599d340d54dfd3946380252a35705a6b992bf" @@ -7635,6 +7784,11 @@ picomatch@^2.0.4, picomatch@^2.0.5, picomatch@^2.2.1: resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.2.2.tgz#21f333e9b6b8eaff02468f5146ea406d345f4dad" integrity sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg== +picomatch@^2.2.2: + version "2.3.0" + resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.0.tgz#f1f061de8f6a4bf022892e2d128234fb98302972" + integrity sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw== + pify@^2.0.0, pify@^2.3.0: version "2.3.0" resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" @@ -8027,6 +8181,15 @@ postcss@^7.0.14, postcss@^7.0.32, postcss@^7.0.5, postcss@^7.0.6: source-map "^0.6.1" supports-color "^6.1.0" +postcss@^8.3.0: + version "8.3.0" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.3.0.tgz#b1a713f6172ca427e3f05ef1303de8b65683325f" + integrity sha512-+ogXpdAjWGa+fdYY5BQ96V/6tAo+TdSSIMP5huJBIygdWwKtVoB5JWZ7yUd4xZ8r+8Kvvx4nyg/PQ071H4UtcQ== + dependencies: + colorette "^1.2.2" + nanoid "^3.1.23" + source-map-js "^0.6.2" + prelude-ls@~1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" @@ -8657,19 +8820,19 @@ rollup-pluginutils@^2.8.2: dependencies: estree-walker "^0.6.1" -rollup@^2.34.0: - version "2.34.1" - resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.34.1.tgz#a387230df02c58b242794a213dfb68b42de2c8fb" - integrity sha512-tGveB6NU5x4MS/iXaIsjfUkEv4hxzJJ4o0FRy5LO62Ndx3R2cmE1qsLYlSfRkvHUUPqWiFoxEm8pRftzh1a5HA== +rollup@^2.51.0: + version "2.51.0" + resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.51.0.tgz#ffd847882283998fc8611cd57af917f173b4ab5c" + integrity sha512-ITLt9sScNCBVspSHauw/W49lEZ0vjN8LyCzSNsNaqT67vTss2lYEfOyxltX8hjrhr1l/rQwmZ2wazzEqhZ/fUg== optionalDependencies: - fsevents "~2.1.2" + fsevents "~2.3.1" -rollup@^2.41.2: - version "2.41.2" - resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.41.2.tgz#b7db5cb7c21c2d524e8b26ef39c7e9808a290c7e" - integrity sha512-6u8fJJXJx6fmvKrAC9DHYZgONvSkz8S9b/VFBjoQ6dkKdHyPpPbpqiNl2Bao9XBzDHpq672X6sGZ9G1ZBqAHMg== +rollup@~2.37.1: + version "2.37.1" + resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.37.1.tgz#aa7aadffd75c80393f9314f9857e851b0ffd34e7" + integrity sha512-V3ojEeyGeSdrMSuhP3diBb06P+qV4gKQeanbDv+Qh/BZbhdZ7kHV0xAt8Yjk4GFshq/WjO7R4c7DFM20AwTFVQ== optionalDependencies: - fsevents "~2.3.1" + fsevents "~2.1.2" run-async@^2.4.0: version "2.4.1" @@ -8925,16 +9088,20 @@ snapdragon@^0.8.1: source-map-resolve "^0.5.0" use "^3.1.0" -snowpack@^3.0.13: - version "3.0.13" - resolved "https://registry.yarnpkg.com/snowpack/-/snowpack-3.0.13.tgz#25e6434b186d916f69b0bae6325bda4f1451c035" - integrity sha512-USTcpfJ68rbuFvUygw+3n9qS1CC/tGsr/JNVc6FNk0ZRfGBE4OmB+Mmk5nWtdxi546GeCr/GvveJenYLen/WpA== +snowpack@^3.5.6: + version "3.5.6" + resolved "https://registry.yarnpkg.com/snowpack/-/snowpack-3.5.6.tgz#79f8699e4248e19f67ec50433e50072bb2e69e89" + integrity sha512-R9uqattPhS2j1zaOFgwl7i54rFTtxxk4kmKmqJBRwD+9YggUulGm7O7YRXaMMjtmi69czK7jxbtZs1Up/xA+1A== dependencies: + cli-spinners "^2.5.0" default-browser-id "^2.0.0" - esbuild "^0.8.7" + esbuild "^0.9.3" + fdir "^5.0.0" open "^7.0.4" + pacote "^11.3.1" + picomatch "^2.2.2" resolve "^1.20.0" - rollup "^2.34.0" + rollup "~2.37.1" optionalDependencies: fsevents "^2.2.0" @@ -8974,6 +9141,11 @@ source-list-map@^2.0.0, source-list-map@^2.0.1: resolved "https://registry.yarnpkg.com/source-list-map/-/source-list-map-2.0.1.tgz#3993bd873bfc48479cca9ea3a547835c7c154b34" integrity sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw== +source-map-js@^0.6.2: + version "0.6.2" + resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-0.6.2.tgz#0bb5de631b41cfbda6cfba8bd05a80efdfd2385e" + integrity sha512-/3GptzWzu0+0MBQFrDKzw/DvvMTUORvgY6k6jd/VS6iCR4RDTKWH6v6WPwQoUO8667uQEf9Oe38DxAYWY5F/Ug== + source-map-resolve@^0.5.0: version "0.5.3" resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.3.tgz#190866bece7553e1f8f267a2ee82c606b5509a1a" @@ -9484,7 +9656,7 @@ terser@^5.3.4: source-map "~0.7.2" source-map-support "~0.5.19" -terser@^5.5.1, terser@^5.6.0: +terser@^5.5.1: version "5.6.0" resolved "https://registry.yarnpkg.com/terser/-/terser-5.6.0.tgz#138cdf21c5e3100b1b3ddfddf720962f88badcd2" integrity sha512-vyqLMoqadC1uR0vywqOZzriDYzgEkNJFK4q9GeyOBHIbiECHiWLKcWfbQWAUaPfxkjDhapSlZB9f7fkMrvkVjA== @@ -9493,6 +9665,15 @@ terser@^5.5.1, terser@^5.6.0: source-map "~0.7.2" source-map-support "~0.5.19" +terser@^5.7.0: + version "5.7.0" + resolved "https://registry.yarnpkg.com/terser/-/terser-5.7.0.tgz#a761eeec206bc87b605ab13029876ead938ae693" + integrity sha512-HP5/9hp2UaZt5fYkuhNBR8YyRcT8juw8+uFbAme53iN9hblvKnLUTKkmwJG6ocWpIKf8UK4DoeWG4ty0J6S6/g== + dependencies: + commander "^2.20.0" + source-map "~0.7.2" + source-map-support "~0.5.19" + test-exclude@^6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/test-exclude/-/test-exclude-6.0.0.tgz#04a8698661d805ea6fa293b6cb9e63ac044ef15e" @@ -9627,22 +9808,25 @@ trim-off-newlines@^1.0.0: resolved "https://registry.yarnpkg.com/trim-off-newlines/-/trim-off-newlines-1.0.1.tgz#9f9ba9d9efa8764c387698bcbfeb2c848f11adb3" integrity sha1-n5up2e+odkw4dpi8v+sshI8RrbM= -ts-loader@^8.0.18: - version "8.0.18" - resolved "https://registry.yarnpkg.com/ts-loader/-/ts-loader-8.0.18.tgz#b2385cbe81c34ad9f997915129cdde3ad92a61ea" - integrity sha512-hRZzkydPX30XkLaQwJTDcWDoxZHK6IrEMDQpNd7tgcakFruFkeUp/aY+9hBb7BUGb+ZWKI0jiOGMo0MckwzdDQ== +ts-loader@^9.2.3: + version "9.2.3" + resolved "https://registry.yarnpkg.com/ts-loader/-/ts-loader-9.2.3.tgz#dc3b6362a4d4382493cd4f138d345f419656de68" + integrity sha512-sEyWiU3JMHBL55CIeC4iqJQadI0U70A5af0kvgbNLHVNz2ACztQg0j/9x10bjjIht8WfFYLKfn4L6tkZ+pu+8Q== dependencies: chalk "^4.1.0" - enhanced-resolve "^4.0.0" - loader-utils "^2.0.0" + enhanced-resolve "^5.0.0" micromatch "^4.0.0" semver "^7.3.4" -ts-node@^9.1.1: - version "9.1.1" - resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-9.1.1.tgz#51a9a450a3e959401bda5f004a72d54b936d376d" - integrity sha512-hPlt7ZACERQGf03M253ytLY3dHbGNGrAq9qIHWUY9XHYl1z7wYngSr3OQ5xmui8o2AaxsONxIzjafLUiWBo1Fg== +ts-node@^10.0.0: + version "10.0.0" + resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-10.0.0.tgz#05f10b9a716b0b624129ad44f0ea05dac84ba3be" + integrity sha512-ROWeOIUvfFbPZkoDis0L/55Fk+6gFQNZwwKPLinacRl6tsxstTF1DbAcLKkovwnpKMVvOMHP1TIbnwXwtLg1gg== dependencies: + "@tsconfig/node10" "^1.0.7" + "@tsconfig/node12" "^1.0.7" + "@tsconfig/node14" "^1.0.0" + "@tsconfig/node16" "^1.0.1" arg "^4.1.0" create-require "^1.1.0" diff "^4.0.1" @@ -9743,10 +9927,10 @@ typedoc@^0.20.30: shiki "^0.9.2" typedoc-default-themes "^0.12.8" -typescript@^4.2.3, typescript@~4.1.3: - version "4.2.3" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.2.3.tgz#39062d8019912d43726298f09493d598048c1ce3" - integrity sha512-qOcYwxaByStAWrBf4x0fibwZvMRG+r4cQoTjbPtUlrWjBHbmCAww1i448U0GJ+3cNNEtebDteo/cHOR3xJ4wEw== +typescript@4.2.4, typescript@~4.1.3: + version "4.2.4" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.2.4.tgz#8610b59747de028fda898a8aef0e103f156d0961" + integrity sha512-V+evlYHZnQkaz8TRBuxTA92yZBPotr5H+WhQ7bD3hZUndx5tGOa1fuCgeSjxAzM1RiN5IzvadIXTVefuuwZCRg== uglify-js@^3.1.4: version "3.10.2" @@ -10027,10 +10211,10 @@ watchpack@^1.7.4: chokidar "^3.4.1" watchpack-chokidar2 "^2.0.0" -watchpack@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-2.1.0.tgz#e63194736bf3aa22026f7b191cd57907b0f9f696" - integrity sha512-UjgD1mqjkG99+3lgG36at4wPnUXNvis2v1utwTgQ43C22c4LD71LsYMExdWXh4HZ+RmW+B0t1Vrg2GpXAkTOQw== +watchpack@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-2.2.0.tgz#47d78f5415fe550ecd740f99fe2882323a58b1ce" + integrity sha512-up4YAn/XHgZHIxFBVCdlMiWDj6WaLKpwVeGQk2I5thdYxF/KmF0aaz6TfJZ/hfl1h/XlcDr7k1KH7ThDagpFaA== dependencies: glob-to-regexp "^0.4.1" graceful-fs "^4.1.2" @@ -10052,18 +10236,17 @@ webidl-conversions@^6.1.0: resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-6.1.0.tgz#9111b4d7ea80acd40f5270d666621afa78b69514" integrity sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w== -webpack-cli@^4.5.0: - version "4.5.0" - resolved "https://registry.yarnpkg.com/webpack-cli/-/webpack-cli-4.5.0.tgz#b5213b84adf6e1f5de6391334c9fa53a48850466" - integrity sha512-wXg/ef6Ibstl2f50mnkcHblRPN/P9J4Nlod5Hg9HGFgSeF8rsqDGHJeVe4aR26q9l62TUJi6vmvC2Qz96YJw1Q== +webpack-cli@^4.7.2: + version "4.7.2" + resolved "https://registry.yarnpkg.com/webpack-cli/-/webpack-cli-4.7.2.tgz#a718db600de6d3906a4357e059ae584a89f4c1a5" + integrity sha512-mEoLmnmOIZQNiRl0ebnjzQ74Hk0iKS5SiEEnpq3dRezoyR3yPaeQZCMCe+db4524pj1Pd5ghZXjT41KLzIhSLw== dependencies: "@discoveryjs/json-ext" "^0.5.0" - "@webpack-cli/configtest" "^1.0.1" - "@webpack-cli/info" "^1.2.2" - "@webpack-cli/serve" "^1.3.0" + "@webpack-cli/configtest" "^1.0.4" + "@webpack-cli/info" "^1.3.0" + "@webpack-cli/serve" "^1.5.1" colorette "^1.2.1" commander "^7.0.0" - enquirer "^2.3.6" execa "^5.0.0" fastest-levenshtein "^1.0.12" import-local "^3.0.2" @@ -10098,10 +10281,10 @@ webpack-sources@^1.1.0, webpack-sources@^1.4.0, webpack-sources@^1.4.1, webpack- source-list-map "^2.0.0" source-map "~0.6.1" -webpack-sources@^2.1.1: - version "2.2.0" - resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-2.2.0.tgz#058926f39e3d443193b6c31547229806ffd02bac" - integrity sha512-bQsA24JLwcnWGArOKUxYKhX3Mz/nK1Xf6hxullKERyktjNMC4x8koOeaDNTA2fEJ09BdWLbM/iTW0ithREUP0w== +webpack-sources@^2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-2.3.0.tgz#9ed2de69b25143a4c18847586ad9eccb19278cfa" + integrity sha512-WyOdtwSvOML1kbgtXbTDnEW0jkJ7hZr/bDByIwszhWd/4XX1A3XMkrbFMsuH4+/MfLlZCUzlAdg4r7jaGKEIgQ== dependencies: source-list-map "^2.0.1" source-map "^0.6.1" @@ -10135,22 +10318,22 @@ webpack@^4.43.0: watchpack "^1.7.4" webpack-sources "^1.4.1" -webpack@^5.25.0: - version "5.25.0" - resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.25.0.tgz#f9409977f0f3b6d4b9c4f73adc7d7cb9603a09e9" - integrity sha512-jqQZopNCzt9c4K6Qa7j6kIhzHfR9wgF84go58VoNp4JbZrBr2D2l5lcv72CW80yc6NJl8CR6OY8xctnIs0r2uw== +webpack@^5.38.1: + version "5.38.1" + resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.38.1.tgz#5224c7f24c18e729268d3e3bc97240d6e880258e" + integrity sha512-OqRmYD1OJbHZph6RUMD93GcCZy4Z4wC0ele4FXyYF0J6AxO1vOSuIlU1hkS/lDlR9CDYBz64MZRmdbdnFFoT2g== dependencies: "@types/eslint-scope" "^3.7.0" - "@types/estree" "^0.0.46" + "@types/estree" "^0.0.47" "@webassemblyjs/ast" "1.11.0" "@webassemblyjs/wasm-edit" "1.11.0" "@webassemblyjs/wasm-parser" "1.11.0" - acorn "^8.0.4" + acorn "^8.2.1" browserslist "^4.14.5" chrome-trace-event "^1.0.2" - enhanced-resolve "^5.7.0" + enhanced-resolve "^5.8.0" es-module-lexer "^0.4.0" - eslint-scope "^5.1.1" + eslint-scope "5.1.1" events "^3.2.0" glob-to-regexp "^0.4.1" graceful-fs "^4.2.4" @@ -10161,8 +10344,8 @@ webpack@^5.25.0: schema-utils "^3.0.0" tapable "^2.1.1" terser-webpack-plugin "^5.1.1" - watchpack "^2.0.0" - webpack-sources "^2.1.1" + watchpack "^2.2.0" + webpack-sources "^2.3.0" whatwg-encoding@^1.0.5: version "1.0.5" @@ -10233,10 +10416,10 @@ worker-farm@^1.7.0: dependencies: errno "~0.1.7" -workerpool@6.1.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/workerpool/-/workerpool-6.1.0.tgz#a8e038b4c94569596852de7a8ea4228eefdeb37b" - integrity sha512-toV7q9rWNYha963Pl/qyeZ6wG+3nnsyvolaNUS8+R5Wtw6qJPTxIlOP1ZSvcGhEJw+l3HMMmtiNo9Gl61G4GVg== +workerpool@6.1.4: + version "6.1.4" + resolved "https://registry.yarnpkg.com/workerpool/-/workerpool-6.1.4.tgz#6a972b6df82e38d50248ee2820aa98e2d0ad3090" + integrity sha512-jGWPzsUqzkow8HoAvqaPWTUPCrlPJaJ5tY8Iz7n1uCz3tTp6s3CDG0FF1NsX42WNlkRSW6Mr+CDZGnNoSsKa7g== wrap-ansi@^6.2.0: version "6.2.0"